nukeykt / Nuked-SC55

Roland SC-55 series emulation
Other
383 stars 40 forks source link

[Suggestion] Attempt to “emulate” installed battery by saving and loading on exit and load, if possible #23

Open lunathir opened 6 months ago

lunathir commented 6 months ago

I figure that, if it’s somehow possible to make the emulator see there’s a battery installed, as well as saving and loading the emulated SC-55’s RAM on program exit and program load respectively, maybe that would get rid of the whole “you need to reset the MIDI module” thing as is the case right now, where it always boots into a buggy state if it hasn’t loaded yet, plus it might get rid of the “no battery” warning that pops up when it loads. It may just be saving and loading emu state that would be the fixer for that.

johnnovak commented 6 months ago

Starting with a known-good-state restored by default at startup seems sensible. That would be the state of the SC-55 after a GS reset SysEx.

Emulating the janky authentic behaviour could be then an option I guess, but not many people would desire such randomness.

This is just something that would throw off young players a lot and would generate lots of support tickets as many DOS games don't send a GS reset at the start.

lunathir commented 6 months ago

The "janky authentic behavior" actually stems from the battery being dead/nonexistent, which clears RAM if it's unplugged, which currently the emulator acts like. I figured the emulator saving a 32k file when it quits and reading it when it loads would make the SC55 act like it's plugged in/has a battery.

johnnovak commented 6 months ago

The "janky authentic behavior" actually stems from the battery being dead/nonexistent, which clears RAM if it's unplugged, which currently the emulator acts like. I figured the emulator saving a 32k file when it quits and reading it when it loads would make the SC55 act like it's plugged in/has a battery.

Yeah, although that could still result in surprising results (e.g., play a game that reprogrammed the state, then next time start a game that doesn't use a GS reset at startup). Hence I was effectively suggesting to save the state after turning on followed by a GS reset into a 32k file, then just always use that.

But I guess preserving the RAM could be an option too.

lunathir commented 6 months ago

I get that, and I get it would probably be what some others would do. Not my particular sort of preference as I'd just like it to work like it does with a battery, but I can understand some other people would want it to reset by default to just make sure everything works as it should.

johnnovak commented 6 months ago

Yeah just make it configurable.

HeyItsLollie commented 5 months ago

Anything that would save me from having to perform an INIT ALL every time I boot Nuked-SC55 (Q >> Hold Y+U then Q >> W), just to fix the SC-55mkII starting with its key transposition in an "off by one" state.