stella-emu / stella

A multi-platform Atari 2600 Emulator
https://stella-emu.github.io
GNU General Public License v2.0
617 stars 112 forks source link

Add a "Load ROM over another ROM already running" option #893

Open convencional opened 2 years ago

convencional commented 2 years ago

I asked @sa666666 by email and he guided me to ask a request here...

It's a option that allow you to load a ROM over another already running (like to load a rom over another without "powering off" Stella). It's an effect like when we use a multigame cartridge by key/dipswitch and switch over another game while the console is still powered on, It's similar to the effect of frying, but it has its peculiarity. for example, a longer/alternate version of "I want my mommy" song is hidden and accesible by loading firstly Stampede and swithching then to IWMM. (I discover that when I had a Dactar 4in1 multigame cartridge in the past).

The Javatari emulator has this feature when pressing ALT+F5 instead F5 only (looks like they stupdly removed... ): ) That was the only reason I used to play sometimes.

thrust26 commented 2 years ago

This sounds a lot like freezing. Which is already implemented in Stella.

@convencional Have you tried to replicate this effect with freezing?

convencional commented 2 years ago

This sounds a lot like freezing. Which is already implemented in Stella.

@convencional Have you tried to replicate this effect with freezing?

And how I can do this "freezing"??

thrust26 commented 2 years ago

Sorry, I meant "frying" (Shift+Backspace).

convencional commented 2 years ago

Sorry, I meant "frying" (Shift+Backspace).

No, it´s slightly different from "frying". Roughly speaking, frying is the effect of quickly turning the console on/off and leaving only the contents of the game loaded data messed up in memory. The effect I mentioned and that existed in Javatari (Unfortunately) is exactly the same when using a multigame cartridge (like from the image), you switch from one game to another with the console still on. In this case, despite the similarity with "fry", now you are messing up the console's memory/cpu with the game content already loaded with the other that you switched, bringing results that are often quite different from "frying".

image

convencional commented 2 years ago

After contacting the Javatari author, he told me that the last version still have this function, however due from a bug is "hidden" I made a video of the "I want my mommy" longer song issue. Only with "fry" it's impossbile (at least I've tried for a long period unsuccessfully) 2022-06-25 13-17-46.zip .

thrust26 commented 2 years ago

Interesting. To be honest, I have no idea how to reproduce this faithfully. The question is, when does the button switch trigger. Is that completely random? Or somehow depending on the electronics? There are so many unknown parameters, that I wonder how it got implemented correctly by Javatari.

convencional commented 2 years ago

Interesting. To be honest, I have no idea how to reproduce this faithfully. The question is, when does the button switch trigger. Is that completely random? Or somehow depending on the electronics? There are so many unknown parameters, that I wonder how it got implemented correctly by Javatari.

Yes, it's random. In the case of the video, imagine a 2 in 1 cartridge (Adventure / IWMM) with a switch to select. Then you start a gameplay in Adventure and soon after you change the position of the cartridge switch to IWMM (without powering off the console). It doesn't always work the first time, sometimes it crashes everything (just like when "frying")

In the case doing this in Stella, it would be like loading firstly Adventure ROM and then a way to load IWMM ROM without "powering off" Stella emulation.