NES 2.0 Mapper 446: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(Category)
(Correct H3001 link)
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{DEFAULTSORT:446}}[[Category:Multicart mappers]][[Category:Mappers with scanline IRQs]][[Category:Multi-ASIC mappers]]
{{DEFAULTSORT:446}}[[Category:Multicart mappers]][[Category:Mappers with scanline IRQs]][[Category:Multi-ASIC mappers]][[Category:Mappers with flash save]]
'''NES 2.0 Mapper 446''' denotes Mindkids' '''SMD172B_FPGA''' circuit board. It is used for some large multicarts from ''Pixel Games'' as well as for homebrew games such as:
'''NES 2.0 Mapper 446''' denotes Mindkids' '''SMD172B_FPGA''' circuit board. It is used for some large multicarts from ''Pixel Games'' as well as for homebrew games such as:
* ''Jay and Silent Bob Mall Brawl''
* ''Jay and Silent Bob Mall Brawl''
* ''Blazing Rangers''/''炎のRangerman''
* ''Blazing Rangers''/''炎のRangerman''
=Supervisor Registers=
==Mapper Selection ($5000, write)==
D~[L..M MMMM]
    |  +-++++-- Mapper for the FPGA to emulate
    +---------- 1=Lock supervisor registers until reset
The set of mappers that the FPGA can emulate differs across cartridges and is selected by the NES 2.0 Submapper.
{| class="wikitable sortable"
! NES 2.0 Submapper !! $5000.0-4 !! Mapper
|-
| 0 || 01 || [[SKROM]]
|-
| 1 || 00 || [[UNROM]]
|-
| 1 || 01 || [[TKROM]]
|-
| 1 || 02 || [[BNROM]]
|-
| 1 || 03 || [[CNROM]]
|-
| 1 || 04 || [[ANROM]]
|-
| 1 || 05 || [[SKROM]]
|-
| 1 || 06 || [[SNROM]]
|-
| 1 || 07 || [[SUROM]]
|-
| 1 || 08 || [[GNROM]]
|-
| 1 || 09 || [[PNROM]]
|-
| 1 || 0A || [[HKROM]]
|-
| 1 || 0B || [[INES Mapper 152]]
|-
| 1 || 0E || [[TKSROM]]
|-
| 1 || 0F || [[INES Mapper 189]]
|-
| 1 || 10 || [[INES Mapper 026]]
|-
| 1 || 12 || [[INES Mapper 022]]
|-
| 1 || 15 || [[INES Mapper 025]]
|-
| 1 || 18 || [[INES Mapper 023]]
|-
| 1 || 1A || [[VRC1]]
|-
| 2 || 00 || [[UNROM]]
|-
| 2 || 01 || [[TKROM]]
|-
| 2 || 02 || [[BNROM]]
|-
| 2 || 03 || [[CNROM]]
|-
| 2 || 04 || [[ANROM]]
|-
| 2 || 05 || [[SKROM]]
|-
| 2 || 06 || [[SNROM]]
|-
| 2 || 07 || [[SUROM]]
|-
| 2 || 08 || [[GNROM]]
|-
| 2 || 09 || [[TLROM]]
|-
| 2 || 0A || [[HKROM]]
|-
| 2 || 0B || [[INES Mapper 152]]
|-
| 2 || 0D || [[TKROM]]
|-
| 2 || 0E || [[TKSROM]]
|-
| 2 || 0F || [[INES Mapper 189]]
|-
| 2 || 10 || [[INES Mapper 026]]
|-
| 2 || 12 || [[INES Mapper 022]]
|-
| 2 || 15 || [[INES Mapper 025]]
|-
| 2 || 18 || [[INES Mapper 023]]
|-
| 2 || 1A || [[VRC1]]
|-
| 3 || 01 || [[INES_Mapper_065|H3001]]
|-
|}
==Outer 8 KiB PRG-ROM Bank LSB ($5001, write)==
D~[BBBB BBBB]
    ++++-++++- PRG A20..A13
==Outer 8 KiB PRG-ROM Bank MSB ($5002, write)==
D~[BBBB BBBB]
    ++++-++++- PRG A28..A21
==Inner 8 KiB PRG-ROM Bank Mask ($5003, write)==
D~[MMMM MMMM]
    ++++-++++- PRG A20..A13 mask
The register has an inverted meaning in Submapper 2 vs. Submappers 0-1. In Submappers 0-1, an "1" bit means that the Outer Bank bit is used. In Submapper 2, an "1" bit means that the Inner Bank bit is used.
==Flags ($5004, write)==
D~[..CC ...M]
      ||    +- Mirroring (V=1)
      ++------ Inner CHR-RAM address mask
              0x: 256 KiB
              10: 128 KiB
              11: 32 KiB
The mirroring bit has no effect when selecting an FPGA mapper with software-selectable mirroring.
==CHR RAM protect ($5005, write)==
D~[.... .P..]
          +- 1: Write-protect CHR-RAM
==Outer 8 KiB CHR-RAM Bank ($5006, write)==
D~[...B BBBB]
      +-++++- CHR A17..A13

Latest revision as of 21:01, 6 July 2024

NES 2.0 Mapper 446 denotes Mindkids' SMD172B_FPGA circuit board. It is used for some large multicarts from Pixel Games as well as for homebrew games such as:

  • Jay and Silent Bob Mall Brawl
  • Blazing Rangers/炎のRangerman

Supervisor Registers

Mapper Selection ($5000, write)

D~[L..M MMMM]
   |  +-++++-- Mapper for the FPGA to emulate
   +---------- 1=Lock supervisor registers until reset

The set of mappers that the FPGA can emulate differs across cartridges and is selected by the NES 2.0 Submapper.

NES 2.0 Submapper $5000.0-4 Mapper
0 01 SKROM
1 00 UNROM
1 01 TKROM
1 02 BNROM
1 03 CNROM
1 04 ANROM
1 05 SKROM
1 06 SNROM
1 07 SUROM
1 08 GNROM
1 09 PNROM
1 0A HKROM
1 0B INES Mapper 152
1 0E TKSROM
1 0F INES Mapper 189
1 10 INES Mapper 026
1 12 INES Mapper 022
1 15 INES Mapper 025
1 18 INES Mapper 023
1 1A VRC1
2 00 UNROM
2 01 TKROM
2 02 BNROM
2 03 CNROM
2 04 ANROM
2 05 SKROM
2 06 SNROM
2 07 SUROM
2 08 GNROM
2 09 TLROM
2 0A HKROM
2 0B INES Mapper 152
2 0D TKROM
2 0E TKSROM
2 0F INES Mapper 189
2 10 INES Mapper 026
2 12 INES Mapper 022
2 15 INES Mapper 025
2 18 INES Mapper 023
2 1A VRC1
3 01 H3001

Outer 8 KiB PRG-ROM Bank LSB ($5001, write)

D~[BBBB BBBB]
   ++++-++++- PRG A20..A13

Outer 8 KiB PRG-ROM Bank MSB ($5002, write)

D~[BBBB BBBB]
   ++++-++++- PRG A28..A21

Inner 8 KiB PRG-ROM Bank Mask ($5003, write)

D~[MMMM MMMM]
   ++++-++++- PRG A20..A13 mask

The register has an inverted meaning in Submapper 2 vs. Submappers 0-1. In Submappers 0-1, an "1" bit means that the Outer Bank bit is used. In Submapper 2, an "1" bit means that the Inner Bank bit is used.

Flags ($5004, write)

D~[..CC ...M]
     ||    +- Mirroring (V=1)
     ++------ Inner CHR-RAM address mask
              0x: 256 KiB
              10: 128 KiB
              11: 32 KiB

The mirroring bit has no effect when selecting an FPGA mapper with software-selectable mirroring.

CHR RAM protect ($5005, write)

D~[.... .P..]
         +- 1: Write-protect CHR-RAM

Outer 8 KiB CHR-RAM Bank ($5006, write)

D~[...B BBBB]
      +-++++- CHR A17..A13