User:Lidnariq/Discrete Logic Table: Difference between revisions
From NESdev Wiki
Jump to navigationJump to search
(disclaimer for m93) |
(incorporate some of the discrete logic pirate multicarts, and so denote mappers with h/v controlled mirroring) |
||
Line 8: | Line 8: | ||
|- | |- | ||
! colspan="1" rowspan="9"|32kB PRG bank bits !! 0 | ! colspan="1" rowspan="9"|32kB PRG bank bits !! 0 | ||
| [[NROM]] || [[iNES Mapper 099|Vs. System]] || [[CNROM]], [[iNES Mapper 087|87]], [[iNES Mapper 101|101]], [[CPROM]]† || || || || || || oversize [[CNROM]] | | [[NROM]] || [[iNES Mapper 099|Vs. System]] || [[CNROM]], [[iNES Mapper 087|87]], [[iNES Mapper 101|101]], [[CPROM]]† || || || || || || style="border-right:1px solid black; border-bottom:1px solid black;"| oversize [[CNROM]] | ||
|- | |- | ||
!1 | !1 | ||
| [[AxROM|AN1ROM]]¹ || || [[GxROM|MHROM]] || [[NINA-003-006|NINA-03/06]] || || || || | | [[AxROM|AN1ROM]]¹ || || [[GxROM|MHROM]] || [[NINA-003-006|NINA-03/06]] || || || || style="border-right:1px solid black; border-bottom:1px solid black;"| || | ||
|- | |- | ||
!2 | !2 | ||
| [[AxROM|ANROM]]¹, [[BNROM]] || || [[GxROM|GNROM]], [[iNES Mapper 038|38]] || [[iNES Mapper 086|86]], [[iNES Mapper 096|96]]† || [[iNES Mapper 011|11]], [[iNES Mapper 036|36]], [[iNES Mapper 140|140]] || || oversize [[iNES Mapper 038|38]] | | [[AxROM|ANROM]]¹, [[BNROM]] || || [[GxROM|GNROM]], [[iNES Mapper 038|38]] || [[iNES Mapper 058|58]]ʰ, [[iNES Mapper 086|86]], [[iNES Mapper 096|96]]†, [[iNES Mapper 174|174]]ʰ || [[iNES Mapper 011|11]], [[iNES Mapper 036|36]], [[iNES Mapper 057|57]]ʰ, [[iNES Mapper 140|140]] || || style="border-right:1px solid black; border-bottom:1px solid black;"| oversize [[iNES Mapper 038|38]] || || | ||
|- | |- | ||
!3 | !3 | ||
| [[AxROM|AOROM]]¹ || || || || [[iNES Mapper 113|113]] || | | [[AxROM|AOROM]]¹ || || || || [[iNES Mapper 113|113]] || style="border-right:1px solid black; border-bottom:1px solid black;"| || || || | ||
|- | |- | ||
!4 | !4 | ||
| oversize [[AxROM]]¹ || || || || oversize [[GxROM|GNROM]] | | oversize [[AxROM]]¹, [[iNES Mapper 231|231]]ʰ || || || || style="border-right:1px solid black; border-bottom:1px solid black;"| oversize [[GxROM|GNROM]] || || || || | ||
|- | |- | ||
!5 | !5 | ||
| || || || | | || || || style="border-right:1px solid black; border-bottom:1px solid black;"| || || || || [[iNES Mapper 046|46]]ʰ || | ||
|- | |- | ||
!6 | !6 | ||
| | | [[iNES Mapper 226|226]]ʰ || || style="border-right:1px solid black; border-bottom:1px solid black;"| || || || || || [[iNES Mapper 062|62]]ʰ || | ||
| || | |||
|- | |- | ||
!7 | !7 | ||
| || | | || style="border-right:1px solid black; border-bottom:1px solid black;"| || || || || || || || | ||
|- | |- | ||
!8 | !8 | ||
| oversize [[BNROM]] | |style="border-right:1px solid black; border-bottom:1px solid black;"| oversize [[BNROM]] || || || || || || || || | ||
|} | |} | ||
Line 47: | Line 46: | ||
|- | |- | ||
!3 | !3 | ||
| [[UxROM|UNROM]], [[iNES Mapper 094|94]], [[iNES Mapper 180|180]] || || || || [[iNES Mapper 072|72]], [[iNES Mapper 078|78]] | | [[UxROM|UNROM]], [[iNES Mapper 094|94]], [[iNES Mapper 180|180]] || || || || [[iNES Mapper 072|72]], [[iNES Mapper 078|78]]¹ʰ, [[iNES Mapper 089|89]]¹, [[iNES Mapper 093|93]]*, [[iNES Mapper 152|152]]¹ || | ||
|- | |- | ||
!4 | !4 | ||
Line 53: | Line 52: | ||
|- | |- | ||
!5 | !5 | ||
| || || || | | || || || | ||
|- | |- | ||
!6 | !6 | ||
Line 67: | Line 66: | ||
† 4F+4 or 4+4F CHR-RAM banking, not 8 CHR-ROM banking<br/> | † 4F+4 or 4+4F CHR-RAM banking, not 8 CHR-ROM banking<br/> | ||
¹ has mapper-controlled single-screen mirroring | ¹ has mapper-controlled single-screen mirroring<br/> | ||
ʰ has mapper-controlled H/V mirroring<br/> | |||
<nowiki>*</nowiki> Emulators commonly implement mapper 93 as a plain UNROM variant, not supporting CHR banking. But the hardware does support it. | <nowiki>*</nowiki> Emulators commonly implement mapper 93 as a plain UNROM variant, not supporting CHR banking. But the hardware does support it. | ||
Line 73: | Line 73: | ||
* [[NINA-001]] has 1 bit for 32 PRG and 8 bits for 4+4 CHR banking | * [[NINA-001]] has 1 bit for 32 PRG and 8 bits for 4+4 CHR banking | ||
* [[iNES Mapper 077|77]] has 4 bits for 2+6R CHR banking (plus 4 bits for 32 PRG banking) | * [[iNES Mapper 077|77]] has 4 bits for 2+6R CHR banking (plus 4 bits for 32 PRG banking) | ||
* [[iNES Mapper 060|60]] | * [[iNES Mapper 060|60]], [[iNES Mapper 107|107]], and [[iNES Mapper 201|201]] use the same bits to control both PRG and CHR banks | ||
* [[iNES Mapper 184|184]] has 5 bits for 4+4 CHR banking | * [[iNES Mapper 184|184]] has 5 bits for 4+4 CHR banking |
Revision as of 19:56, 13 May 2013
It appears that all discrete logic mappers either switch 32kB at a time with no fixed bank ("GxROM-like"), or have a 16kB fixed bank and can switch the other ("UxROM-like"). The tables below illustrate the tradeoffs between CHR, PRG, and banking style.
GxROM-like | 8kB CHR bank bits | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | ||
32kB PRG bank bits | 0 | NROM | Vs. System | CNROM, 87, 101, CPROM† | oversize CNROM | |||||
1 | AN1ROM¹ | MHROM | NINA-03/06 | |||||||
2 | ANROM¹, BNROM | GNROM, 38 | 58ʰ, 86, 96†, 174ʰ | 11, 36, 57ʰ, 140 | oversize 38 | |||||
3 | AOROM¹ | 113 | ||||||||
4 | oversize AxROM¹, 231ʰ | oversize GNROM | ||||||||
5 | 46ʰ | |||||||||
6 | 226ʰ | 62ʰ | ||||||||
7 | ||||||||||
8 | oversize BNROM |
UxROM-like | 8kB CHR bank bits | |||||||
---|---|---|---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 | 6 | ||
16kB PRG bank bits | 2 | 168† | ||||||
3 | UNROM, 94, 180 | 72, 78¹ʰ, 89¹, 93*, 152¹ | ||||||
4 | UOROM | 70, 92 | ||||||
5 | ||||||||
6 | oversize 94 | |||||||
7 | ||||||||
8 | oversize UxROM, oversize 180 |
† 4F+4 or 4+4F CHR-RAM banking, not 8 CHR-ROM banking
¹ has mapper-controlled single-screen mirroring
ʰ has mapper-controlled H/V mirroring
* Emulators commonly implement mapper 93 as a plain UNROM variant, not supporting CHR banking. But the hardware does support it.
Exceptions: