Support and General Use > Plugins/Viewers
NES plugin - a proposal
Multimedia Mike:
I think you're more educated that you recognize, since you described the essential operation of an emulator. However, the ROM call thing is a bit advanced for this discussion; the NES doesn't have ROM calls.
Represent the original hardware-- example: The NES game program is going to write 2 consecutive values to a particular register mapped to a memory location (0x4016) to indicate that it wants to read the state of the controller #1 buttons. Then, the program will read that location 8 times to get 8 button states. So the emulator needs to notice the register write and be prepared to tell the program, via the next 8 reads from location 0x4016, what the controller button states are, abstracted to the iPod controls in this case.
Or perhaps I don't understand your question? Are you envisioning that the NES has a set of ROM BIOS calls like a PC? E.g., the BIOS call to switch video modes in MS-DOS. I ask for clarification because that's not how the NES works.
ComposerDude:
Oops. I was envisioning something like BIOS calls. I think I may have gotten a few things mixed up after reading about the Famicon Disk System and its operation with the NES/Famicon. Thanks for clearing up my confusion before going down a rabbit trail.
Multimedia Mike:
Yes, I see that the relevant TWiki page now mentions FDS stuff and how emulating it requires a BIOS image. The NES and SNES are somewhat unique among consoles for not using a BIOS. When you power on the system, the CPU loads the reset vector from the end of the cartridge ROM and it's off and running.
Are you really thinking about emulating the FDS? I would consider that to be somewhat outside the scope of this project. Your speculation about simulating the net effect of BIOS calls vs. using the official BIOS has some foundation in theory. However, things probably don't work out so sanely in practice. It would not be surprising to learn that particular BIOS calls leave registers in certain states that, while not documented, are still needed for one game or another to operate correctly. There's an interesting quirk about reading NES controllers along those same lines (hardware idiosyncrasies that programmers decided to count on).
ComposerDude:
I have spent a few hours looking into the possibility of emulating the FDS since LambdaCalculus379 mentioned it much earlier in the thread. Honestly, the only thing of interest to me for the FDS would be the Japanese release of Super Mario 2. Since it requires the use of the original system BIOS, we cannot include that with the emulator; and the rarity of the bios-rom would almost ensure that we would have to implement it somehow in order to avoid 'bug reports' of the plugin not working.
Considering the overall rarity of the FDS itself outside of Japan, it is probably not expedient to support it. I DID notice that FCEU does. TuxNES does not appear to have even anticipated support for FDS. Am I correct in that assumption?
Either way, ANY less coding is more time spent towards writing a mature emu plugin.
ComposerDude
Multimedia Mike:
--- Quote from: ComposerDude on August 04, 2007, 09:35:48 PM ---Considering the overall rarity of the FDS itself outside of Japan, it is probably not expedient to support it. I DID notice that FCEU does. TuxNES does not appear to have even anticipated support for FDS. Am I correct in that assumption?
--- End quote ---
I can guarantee that I personally have never cared about FDS emulation. I scarcely understand what the thing is. I don't remember it ever coming up on the TuxNES discussion list.
Another problem inherent in TuxNES was the fact that certain architectural limitations prevented it from supporting certain games. Most notably -- and I never quite got over this -- was Castlevania III: Dracula's Curse, one of my favorite NES titles.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version