27

In order to emulate some home consoles (Playstation 1/2, Sega Saturn/CD/32x, etc.) a dump of the system's BIOS is required to emulate the console. Out of the Nintendo 64 emulators I have found online, none require the BIOS for ROM playback. How can N64 emulators work without the system BIOS? Is this because of the way the Nintendo 64 system was architected, or choices made by the author of the emulator?

Actually, I should note that CEN64 emulator requires the pifdata.bin BIOS file, but this is the first that I've ever heard of something like this.

31

The Nintendo 64 ROM is only 2KB in size and apparently easy to emulate. It seems to only check the validity of the inserted cartridge's ROM and set up a limited environment.

Nintendo 64 cartridges are self-sufficient; they don't need any services provided by a common “BIOS”. In fact they even contain the code used to drive the audio and graphics co-processors! Because the games are provided as ROMs on the cartridges, the console needs very little initialisation code — in the same way as its cartridge-based predecessors, and unlike CD or DVD based systems which need a system ROM to load the games off the medium (with a filesystem, encryption etc.).

CEN64's use of the system ROM is in keeping with its accuracy: it aims to emulate all aspects of the hardware, down to the use of the original ROM instead of a high-level emulation.

  • 3
    AFAIK the same was true for most older consoles. With lower resources meaning it was necessary to work 'closer to the metal', it was better to let programmers do what they needed, specifically, with the available processors and peripherals, rather than tying them into some paradigm of 'one size fits all... barely'. For example, the Sega Saturn only required a BIOS for emulation if you wanted to use the build-in CD player, heh; certainly the emulator, SSF, didn't need one. And companies programmed their own graphics and sound engines, trackers, etc all the time, e.g. for the Sega Mega Drive – underscore_d Aug 12 '16 at 9:48
  • @underscore_d: The Atari 2600 had zero internal ROM; the Atari 7800 had a ROM that would examine what was in the cartridge port, switch hardware to 2600 if it wasn't a valid 7800 cartridge, and then bank itself out until the next power cycle. – supercat Aug 12 '16 at 17:50
  • And the Vectrex had a 8KB ROM with a complete game in it and many services and routines to perform common tasks, such as draw a N vertex polygon (or even rotate it), draw text using a kind of real-time rasterizer, etc. – mcleod_ideafix Aug 12 '16 at 17:52
  • point taken: "most" was probably very imprecise and/or tied to the decade I was thinking about when writing that. but for the significant number that didn't have any essential firmware embedded, it looks fairly clear why: the low chance of any wide-ranging library being able to meet the needs of a significant proportion of games/publishers, when the kind of broad applicability it'd need would be limited by what's available in the hardware. – underscore_d Aug 12 '16 at 18:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.