Convert Dragon Warrior IV (PCB: SUROM) to MMC3?

Discuss technical or other issues relating to programming the Nintendo Entertainment System, Famicom, or compatible systems. See the NESdev wiki for more information.
abooge
Posts: 12
Joined: Tue Aug 22, 2023 11:05 am

Convert Dragon Warrior IV (PCB: SUROM) to MMC3?

Post by abooge »

Dragon Warrior IV uses 512KiB SUROM of MMC1 mapper. It uses a CHR bank switch bit as the highest PRG bank switch bit, so this bit serves as a 256KiB select bit. Because of this, PRG bank 0f and 1f are both "fixed prg bank".

I checked PRG bank 0f and 1f and saw there are a lot of different code between them, while the rest code are same. Obviously, the size of the combined different code of bank 0f and 1f must be >= 16KiB, which is larger than the size of a MMC3 fixed bank (max 16KiB).

So how can I convert this game from SUROM to a MMC3 based mapper?
tepples
Posts: 22993
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)

Re: Convert Dragon Warrior IV (PCB: SUROM) to MMC3?

Post by tepples »

You would need a multicart mapper. It'd be similar to mapper 47 used for Nintendo World Cup/Super Spike V'Ball, except it'd switch 256 KiB chunks instead of 128 KiB chunks, and it'd need to somehow coexist with MMC3 SRAM.
abooge
Posts: 12
Joined: Tue Aug 22, 2023 11:05 am

Re: Convert Dragon Warrior IV (PCB: SUROM) to MMC3?

Post by abooge »

Thank you tepples, I just found a similar multicart mapper - mapper 245, which seems to be designed exactly for Chinese version of Dragon Warrior IV and is based on MMC3: https://www.nesdev.org/wiki/INES_Mapper_245

But, is there any way to convert it to a standard - or not multicart - MMC3? As there is only one 16KiB fixed prg bank in standard MMC3, what I can think of is moving a lot of code out of bank 0f and 1f, but if it can't... then it will be extremely difficult to convert.