FamicomBox BIOS running on real hardware?

Started by togemet2, February 18, 2018, 02:36:09 am

Previous topic - Next topic

togemet2

Greetings.

Fairly recently I got my hands on the original BIOS for the rare hotel unit, the FamicomBox. I was wondering if it was at all possible to get it running on actual hardware or even emulators. So far I've only managed to get games which were specifically released for the FamicomBox to work (Donkey Kong, Mahjong, etc) by compiling the .prg and .chr files into a .nes format with USB CopyNES. Those are working completely fine. However, I can't seem to get the actual bios splash screen menu itself up and running. I've only gotten it to work on MAME. When converted to .nes, it just completely hangs on a black screen.

I spoke with a couple of people on #nesdev and I found that the FamicomBox expects 8K of RAM at values 0000-1fff, and the NES usually has 2k of RAM at those certain values. The bios also uses RAM above 07ffh because it gives the game 0000-07ffh (the usual RAM range). this way the bios can keep bookkeeping and stuff in the RAM without it getting erased by a game.

Would it be possible to modify the emulator itself? Or perhaps hack the BIOS in such a way where they can be displayed?
Thanks!  ;D

P

The question is how much different the Famicom Box is from a normal Famicom/NES, is the bookkeeping done by some additional hardware or by the games themselves? For example the extra stuff in the PlayChoice arcade cabinet, including the instructions screen and watchdog timer, is done by a Z80 processor. So these features only works in an emulator that emulates the extra hardware and it wouldn't work on a normal Famicom or NES.

After compiling the .nes ROM files are there any different between them and the normal ROM files dumped from Famicom/NES cartridges? I use a program like VBinDiff to compare two files byte by byte.

Does Mame emulate the FamicomBox hardware or how did you get the BIOS to work in there?

Can you tell if the BIOS is 6502 code or something else?

togemet2

Quote from: P on February 18, 2018, 04:01:36 am
The question is how much different the Famicom Box is from a normal Famicom/NES, is the bookkeeping done by some additional hardware or by the games themselves? For example the extra stuff in the PlayChoice arcade cabinet, including the instructions screen and watchdog timer, is done by a Z80 processor. So these features only works in an emulator that emulates the extra hardware and it wouldn't work on a normal Famicom or NES.

After compiling the .nes ROM files are there any different between them and the normal ROM files dumped from Famicom/NES cartridges? I use a program like VBinDiff to compare two files byte by byte.

Does Mame emulate the FamicomBox hardware or how did you get the BIOS to work in there?

Can you tell if the BIOS is 6502 code or something else?


It's all done by the ROM. The FC BOX has an 8K RAM chip mapped in at 0000-1fff (the NES only has 2K here) and it uses the extra 6K for book keeping functions and RAM variables for the menu. When a game runs there's hardware to restrict the CPU so it cannot read/write the other 6K. The boot ROM currently does not run on an NES because it does a bunch of hardware tests and uses RAM outside the usual area the NES has RAM at. I was wondering if it was possible to extensively hack the BIOS and get it up and running.

As for MAME, yes, it does emulate the FamicomBox hardware. I currently have not checked the game roms that came with the system. Those work completely fine. Mainly all I want running is the bios screen itself.

P

If it's 6502 code it's probably possible to hack it to work by changing it to bypass all the FamicomBox-specific checks. The RAM area 0000h-07FFh is mirrored in 0800h-1FFFh on the Famicom/NES so it's possible nothing needs to be changed for the menu variables unless two different variables mirrors to the same one (which I guess it don't because the menu probably doesn't need that many variables).

I'm still curious if the game ROM files are changed anything from the normal cartridge ROMs. Maybe some other hardware in the FamicomBox is doing the book keeping and BIOS calls when the games are running.

togemet2

Sent you a PM with the BIOS. Hopefully you will be able to do something.  ???