Post subject: Why do we need seperate ROMs for SNES but not Genesis?
Editor
Joined: 3/31/2010
Posts: 1466
Location: Not playing Puyo Tetris
I wanted to ask, why does Bizhawk and other more accurate emulators, require the enhancement chip ROM files for running those enhanced games (Mega Man X 2/3, Pilotwings, Super Mario Kart, ect.) while the only real "enhancement" chip for the Genesis (per say) was the SVP chip (Virtua Racing) but there is no requirement for an SVP ROM file. What is the difference here? I am NOT asking for ROMs. I am asking, Why these ROMs must be used. It's from a legal and technical standpoint, I am looking for.
When TAS does Quake 1, SDA will declare war. The Prince doth arrive he doth please.
Warepire
He/Him
Editor
Joined: 3/2/2010
Posts: 2178
Location: A little to the left of nowhere (Sweden)
I will assume that in the Genesis case, the SVP chip is emulated on a high-level. While in the SNES case the chips are emulated on a low-level. The difference here is that high-level simulates the chips operations as a black box. Data X goes in, therefor we should give back result Y. The results are usually correct, but the timing may be completely wrong. Low-level on the other hand actually simulates the tiny computation unit inside the chip, and executes the instructions from the ROM, to yield the result instead, while doing it in the amount of time it was supposed to.
Editor, Emulator Coder, Site Developer
Joined: 5/11/2011
Posts: 1108
Location: Murka
genplus-gx is a decent emulator, but it's nowhere near the level of exacting accuracy that bsnes is.
Pokota
He/Him
Joined: 2/5/2014
Posts: 779
Warepire wrote:
I will assume that in the Genesis case, the SVP chip is emulated on a high-level. While in the SNES case the chips are emulated on a low-level. The difference here is that high-level simulates the chips operations as a black box. Data X goes in, therefor we should give back result Y. The results are usually correct, but the timing may be completely wrong. Low-level on the other hand actually simulates the tiny computation unit inside the chip, and executes the instructions from the ROM, to yield the result instead, while doing it in the amount of time it was supposed to.
In other words, there's no BSNES equivalent of Gens. I wish Genesis emulation was a bit more geared to faithful recreation of the system rather than the quick-and-dirty let's go now that it is now.
Adventures in Lua When did I get a vest?
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
Well there's Exodus, but afaik it's not really complete yet (i.e. stable).
Editor
Joined: 3/31/2010
Posts: 1466
Location: Not playing Puyo Tetris
So BSNES and BizHawk do this: Mega Man X2/3 requests that special function (Trigonometry?) The Emulator, then passes that function to the Enhancement ROM file. The Enhancement ROM does it's thing The Emulator takes the output from the Enhancement ROM file and passes it back to Mega Man X2/3 and then keeps going doing it's thing. Does that sound right? I think it does sound about right to me at least.
Pokota wrote:
Warepire wrote:
I will assume that in the Genesis case, the SVP chip is emulated on a high-level. While in the SNES case the chips are emulated on a low-level. The difference here is that high-level simulates the chips operations as a black box. Data X goes in, therefor we should give back result Y. The results are usually correct, but the timing may be completely wrong. Low-level on the other hand actually simulates the tiny computation unit inside the chip, and executes the instructions from the ROM, to yield the result instead, while doing it in the amount of time it was supposed to.
In other words, there's no BSNES equivalent of Gens. I wish Genesis emulation was a bit more geared to faithful recreation of the system rather than the quick-and-dirty let's go now that it is now.
I wish Genesis emulation was more accurate as well.
When TAS does Quake 1, SDA will declare war. The Prince doth arrive he doth please.
Warepire
He/Him
Editor
Joined: 3/2/2010
Posts: 2178
Location: A little to the left of nowhere (Sweden)
hegyak wrote:
So BSNES and BizHawk do this: Mega Man X2/3 requests that special function (Trigonometry?) The Emulator, then passes that function to the Enhancement ROM file. The Enhancement ROM does it's thing The Emulator takes the output from the Enhancement ROM file and passes it back to Mega Man X2/3 and then keeps going doing it's thing. Does that sound right? I think it does sound about right to me at least.
Almost correct, it passes the function to the simulated computation unit of the chip, which in turn executes the enhancement ROM binary to do the necessary operations.
Editor, Player (69)
Joined: 1/18/2008
Posts: 663
There's (roughly?) timing-accurate emulation of various things going on: - SNES CPU - SNES APU - SNES PPU - Bus clock delays With another chip, it emulates that too. The ROM is just code that runs in that chip, as Warepire said. If the chip had no ROM / execution unit for a ROM, then it would still need to be emulated. Because there is no ROM in this case you just don't see it. A good example of this is NES mappers. It has little to do with SNES vs Genesis and more to do with time and interest spent developing accurate emulators
true on twitch - lsnes windows builds 20230425 - the date this site is buried