User:Lidnariq/Discrete Logic Table: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(m63 is oversize BNROM also)
(GTROM should be on the list)
 
(3 intermediate revisions by the same user not shown)
Line 11: Line 11:
|-
|-
!1  
!1  
| [[AxROM|AN1ROM]]¹ ||  || [[GxROM|MHROM]], [[iNES Mapper 132|132]], [[iNES Mapper 133|133]] || [[NINA-003-006|NINA-03/06]]=[[iNES Mapper 146|146]], [[iNES Mapper 148|148]] ||  ||  ||  || style="border-right:1px solid black; border-bottom:1px solid black;"| ||
| [[AxROM|AN1ROM]]¹ ||  || [[GxROM|MHROM]], [[iNES Mapper 132|132]], [[iNES Mapper 133|133]], [[iNES Mapper 203|203]] || [[NINA-003-006|NINA-03/06]]=[[iNES Mapper 146|146]], [[iNES Mapper 148|148]] ||  ||  ||  || style="border-right:1px solid black; border-bottom:1px solid black;"| ||
|-
|-
!2  
!2  
| [[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]]ʰ || [[Color Dreams]], [[iNES Mapper 036|36]], [[iNES Mapper 057|57]]ʰ, [[iNES Mapper 140|140]], [[iNES Mapper 147|147]] ||  || style="border-right:1px solid black; border-bottom:1px solid black;"| oversize [[iNES Mapper 038|38]] || ||
| [[AxROM|ANROM]]¹, [[BNROM]] ||  || [[GxROM|GNROM]], [[iNES Mapper 038|38]], [[NES 2.0 Mapper 299|299]]ʰ, [[NES 2.0 Mapper 379|379]] || [[iNES Mapper 058|58]]ʰ=[[iNES Mapper 213|213]], [[iNES Mapper 059|59]]ʰ, [[iNES Mapper 086|86]], [[iNES Mapper 096|96]]†, [[iNES Mapper 174|174]]ʰ, [[NES 2.0 Mapper 288|288]] || [[Color Dreams]], [[iNES Mapper 036|36]], [[iNES Mapper 057|57]]ʰ, [[iNES Mapper 140|140]], [[iNES Mapper 147|147]], [[NES 2.0 Mapper 319|319]]ʰ, [[NES 2.0 Mapper 332|332]]ʰ ||  || style="border-right:1px solid black; border-bottom:1px solid black;"| oversize [[iNES Mapper 038|38]] || ||
|-
|-
!3  
!3  
| [[AxROM|AOROM]]¹ ||  ||  ||  || [[iNES Mapper 113|113]]ʰ || style="border-right:1px solid black; border-bottom:1px solid black;"| || || ||
| [[AxROM|AOROM]]¹, [[NES 2.0 Mapper 283|283]] ||  ||  ||  || [[iNES Mapper 041|41]]ʰ, [[iNES Mapper 113|113]]ʰ, [[NES 2.0 Mapper 261|261]]ʰ, [[NES 2.0 Mapper 335|335]]ʰ || style="border-right:1px solid black; border-bottom:1px solid black;"| || || ||
|-
|-
!4  
!4  
| oversize [[AxROM]]¹, [[iNES Mapper 231|231]]ʰ || ||  ||  || style="border-right:1px solid black; border-bottom:1px solid black;"| oversize [[GxROM|GNROM]] || || || ||
| oversize [[AxROM]]¹, [[iNES Mapper 231|231]]ʰ, [[NES 2.0 Mapper 285|285]]ʰ¹, [[NES 2.0 Mapper 337|337]]ʰ || [[GTROM]]⁴ ||  ||  || style="border-right:1px solid black; border-bottom:1px solid black;"| oversize [[GxROM|GNROM]] || [[NES 2.0 Mapper 290|290]]ʰ, [[NES 2.0 Mapper 389|389]]ʰ || || ||
|-
|-
!5  
!5  
| [[iNES Mapper 227|227]]ʰ ||  ||  || style="border-right:1px solid black; border-bottom:1px solid black;"| ||  ||  || || [[iNES Mapper 046|46]] ||
| [[iNES Mapper 015|15]]ʰ, [[iNES Mapper 227|227]]ʰ, [[NES 2.0 Mapper 349|349]]ʰ, [[NES 2.0 Mapper 541|541]]ʰ ||  ||  || style="border-right:1px solid black; border-bottom:1px solid black;"| ||  ||  || [[iNES Mapper 225|225]]ʰ=[[iNES Mapper 255|255]]ʰ || [[iNES Mapper 046|46]] ||
|-
|-
!6  
!6  
| [[iNES Mapper 226|226]]ʰ ||  || style="border-right:1px solid black; border-bottom:1px solid black;"| ||  ||  ||  || [[iNES Mapper 228|228]]ʰ || [[iNES Mapper 062|62]]ʰ ||
| [[iNES Mapper 226|226]]ʰ ||  || style="border-right:1px solid black; border-bottom:1px solid black;"| ||  ||  ||  || [[iNES Mapper 228|228]]ʰ, [[NES 2.0 Mapper 314|314]]ʰ || [[iNES Mapper 062|62]]ʰ, [[NES 2.0 Mapper 519|519]]ʰ ||
|-
|-
!7  
!7  
| [[iNES Mapper 063|063]]ʰ, [[iNES Mapper 235|235]]ʰ¹ || style="border-right:1px solid black; border-bottom:1px solid black;"| || || || || || || ||
| [[iNES Mapper 063|63]]ʰ, [[iNES Mapper 235|235]]ʰ¹ || style="border-right:1px solid black; border-bottom:1px solid black;"| || || || || || || ||
|-
|-
!8  
!8  

Latest revision as of 19:00, 8 July 2022

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, 143, 185 Vs. System, 145, 149 CNROM, 87=101, CPROM†, 173 oversize CNROM
1 AN1ROM¹ MHROM, 132, 133, 203 NINA-03/06=146, 148
2 ANROM¹, BNROM GNROM, 38, 299ʰ, 379 58ʰ=213, 59ʰ, 86, 96†, 174ʰ, 288 Color Dreams, 36, 57ʰ, 140, 147, 319ʰ, 332ʰ oversize 38
3 AOROM¹, 283 41ʰ, 113ʰ, 261ʰ, 335ʰ
4 oversize AxROM¹, 231ʰ, 285ʰ¹, 337ʰ GTROM oversize GNROM 290ʰ, 389ʰ
5 15ʰ, 227ʰ, 349ʰ, 541ʰ 225ʰ=255ʰ 46
6 226ʰ 228ʰ, 314ʰ 62ʰ, 519ʰ
7 63ʰ, 235ʰ¹
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 29 72, 78¹­ʰ, 89¹, 93*, 152¹
4 UOROM 70, 92
5 Sealie UNROM 512¹
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.

Non-standard CHR banking:

  • NINA-001 has 1 bit for 32 PRG and 8 bits for 4+4 CHR banking
  • 77 has 4 bits for 2+6RAM CHR banking (plus 4 bits for 32 PRG banking)
  • 60, 107, and 201 use the same bits to control both PRG and CHR banks
  • 184 has 5 bits for 4+4 CHR banking

Exceptions:

  • 40 and 50 have 24F+8+8F banking.