SimCity prototype found!

Discuss technical or other issues relating to programming the Nintendo Entertainment System, Famicom, or compatible systems.

Moderator: Moderators

User avatar
Yolt1
Posts: 9
Joined: Sun Dec 05, 2021 12:48 am
Location: Brussels, Belgium

Re: SimCity prototype found!

Post by Yolt1 »

zeroone wrote: Thu Jan 03, 2019 1:08 pm It looks like the SimCity prototype exposed some issues with Nintaco's MMC5 mapper. It works until you start playing. Then the displayed map area is garbled.
Does the prototype tap into some MMC5 feature not used by the other commercial games? Like the Wiki suggests, I probably just coded enough features to get the other MMC5 games working.
Hey there,

Sorry to dig up this thread but I am having this exact issue!

I've decided to make my own repro of SIM CITY to play on real hardware...

It is definitely not the first NES repro I am doing and not even the first MMC5 game.

My repro was based on a ET-ROM donor, which is the closest to the "official" PCB.
I used KOEI's Nobunagas ambition 2 which contains 2 x 8K = 16K of RAM

i made the rewiring for CHR and PRG correctly. The game is booting. The title graphics are fine and everything seemed to be working properly... until I reached the map and found out the graphics of the map were totally glitched.

So if I get it right, this would be a ROM issue and not something I messed up during the repro.
I used the SIM CITY prototype ROM "as it is"... and from what i've seen so far everybody who did this repro did the same. (So why was I having this issue!?)
Anyway, now I understand that the ROM should be somehow modified. Correct?

Thanks in advance for the confirmation.
User avatar
zeroone
Posts: 935
Joined: Mon Dec 29, 2014 1:46 pm
Location: New York, NY
Contact:

Re: SimCity prototype found!

Post by zeroone »

I don't remember how I fixed the problem, but I do remember it was an easy fix.
User avatar
Yolt1
Posts: 9
Joined: Sun Dec 05, 2021 12:48 am
Location: Brussels, Belgium

Re: SimCity prototype found!

Post by Yolt1 »

zeroone wrote: Sun Jul 31, 2022 2:31 pm I don't remember how I fixed the problem, but I do remember it was an easy fix.
Oh my... that is good news and at the same time so frustrating :-D

Would you mind sharing your ROM (if you still have it) with me? Or giving a try in refixing it?

I am not very confident in doing it my self.
My only experience in ROMhacking is changing some values in the hex code to make a game region-free...
User avatar
zeroone
Posts: 935
Joined: Mon Dec 29, 2014 1:46 pm
Location: New York, NY
Contact:

Re: SimCity prototype found!

Post by zeroone »

See this comment and the discussion that follows:

viewtopic.php?p=231548#p231548
User avatar
aquasnake
Posts: 365
Joined: Fri Sep 13, 2019 11:22 pm

Re: SimCity prototype found!

Post by aquasnake »

zeroone wrote: Sat Jan 05, 2019 1:09 pm
lidnariq wrote:It's the standard ETROM behavior. I forget whether that means bank 4 or bank 0 is the one that's nonvolatile, though.
I only see it reading and writing to banks 3 and 4 during gameplay and during save/load city. So, I'm leaning on bank 4. Is there a way to confirm this?

Edit: I see this note in the wiki:
Until November 2018, it was thought that the MMC5 supported up to 2 PRG RAM chips, each up to 32KB in length. However, recent research found that bits 2-3 control state of two unknown pins which acts like A15-A16, allowing up to 128KB RAM support. Either or both chips may be battery-backed; 11 of the 15 MMC5 games include a battery.
I'll check the headers of the known MMC5 ROMs to see if 11 of them really are marked as having nonvolatile RAM. And if that's really the case, then I'll just save the contents of all the PRG RAM chips. This may have been improved with the new NES 2.0 header, but currently, there is nothing to indicate which banks are nonvolatile.

Edit 2: By the way, which games support 128KB of RAM. My emulator is currently only allocating 64KB max.

Edit 3: There are indeed 11 MMC5 with nonvolatile RAM, plus a Rockman 4 hack I dug up:

Aoki Ookami to Shiroki Mejika - Genchou Hishi
Bandit Kings of Ancient China
Gemfire
Ishin no Arashi
Just Breed
L'Empereur
Rockman 4 - Minus Infinity (Hack)
Metal Slader Glory
Nobunaga no Yabou - Bushou Fuuun Roku
Nobunaga's Ambition 2
Romance of The Three Kingdoms II
Uncharted Waters

Here are the ones without a battery (most are homebrews):

2-Frame Flicker Palette Demo (br-gr) by strfr (2007) (PD)
AIR Demo for MMC5 by KZ-S (20051123) (PD)
AIR Opening for MMC5 by KZ-S (20060225) (PD)
BAPSACRSTRKCGTF (Demo Phase 1) (AKA B00daw's Folly) (PD)
Cat Pic Digitized (PD)
Colortest (PD)
Castlevania III - Dracula's Curse
Demo3 for Mapper 5 (PD)
Firefly Demo by Loopy (PD)
Laser Invasion
Life Force
Multi-Layered Scrolling Demo Choppy by strfr (2007) (PD)
Shin 4 Nin Uchi Mahjong - Yakuman Tengoku
Teenage Mutant Ninja Turtles DEMO (PD)
Uchuu Keibitai SDF

Castlevania III really needed one :(

Edit 4: For my emulator, when nonvolatile RAM is available per the file header (or cart DB), I'll make it save the standard battery backed memory region ($6000-$7FFF) and any extra PRG RAM chip data. Currently, it's just saving the former of those 2. If there is a better way, please let me know.
Metal Slader Glory does not need battery
Post Reply