Funny stuff about Cybernoid (NTSC)

Discuss emulation of the Nintendo Entertainment System and Famicom.

Moderator: Moderators

Post Reply
User avatar
thefox
Posts: 3134
Joined: Mon Jan 03, 2005 10:36 am
Location: 🇫🇮
Contact:

Funny stuff about Cybernoid (NTSC)

Post by thefox »

I was toying around with Cybernoid yesterday and noticed some funny details. Some of this stuff might be of interest to emulator authors.

- The game doesn't initialize all of the RAM, in particular it doesn't initialize the music on/off flag ($5FB). So, Nintendulator and FCEUX don't play music by default (they init to 0) and Nestopia does (init to $FF I guess).

- Music can be turned on by pausing the game by pressing START, then pressing A. The game writes $F to $D418, which happens to be a C64 SID register. This hints that the games music was originally done on a C64, and they forgot to remove part of the SID initialization.

- That write to $D418 also causes a CHR-ROM bankswitch to occur (game uses CNROM), however since CNROM has bus conflicts and ROM at $D418 contains $50, it's unreliable (again hinting that it was left there by accident). In Nintendulator the write causes graphics to get corrupted (last bank is switched in). I don't really understand why that doesn't happen in FCEUX and Nestopia, although Nestopia might be emulating bus conflicts in a way that causes the PRG-ROM $50 to "win", switching in 8K CHR bank 0 instead of 3?
BootGod
Posts: 359
Joined: Wed Jul 13, 2005 3:14 pm

Post by BootGod »

Nestopia is aware of Cybernoid bus conflict issues and does actually emulate the bus conditions. Don't remember if it does this for all boards that have them or just special cases for games that need it.
Post Reply