andwn / cave-story-md

A fan port of Cave Story for the Sega Mega Drive
571 stars 34 forks source link

Is The Rom Itself Disabling The Saving When Detecting An Atgames Console Or Is It The Console Doing That? #380

Open EmeraldTuxedo56 opened 1 year ago

EmeraldTuxedo56 commented 1 year ago

Hello! I Have An Atgames 2015? I Think Genesis And When I Use My Mega Everdrive X3 With It The Save Icons Don't Appear Now Thats To Be Expected However I'm Curious About How That Works And If I Would Be Able To Disable It Because As Of Now Currently The Only Genesis I Have Access To Is The Aforementioned Atgames Console. Best Regards.

andwn commented 1 year ago

The game at start up does a test to see if it is able to write to SRAM and disables saves if it does not work.

EmeraldTuxedo56 commented 1 year ago

Would It Be Possible To Disable It?

andwn commented 1 year ago

I can make a build that disables the check, in case there may be a bug, but what I expect to happen is you will "save" the game, and once you restart/die it's gone. The point of hiding the save disks is to tell you saving is borked up front rather than you finding out halfway into the game which would be far more frustrating.

What language should I build?

EmeraldTuxedo56 commented 1 year ago

Whichever Is Most Convenient For You, I Don't Want To Inconvenience You More Than I Already Have.

andwn commented 1 year ago

Well make translate just builds them all so

doukutsu-all.zip

EmeraldTuxedo56 commented 1 year ago

Alright, So I Tested It And You Were Right But My Question Now Is Why Does Saving Work Like That? Why Can't It Act Like A Checkpoint That You Return To On Death? And Thanks For Making This Custom Build For Me Too.

andwn commented 1 year ago

Because your console's saving functionality does not work. The game attempted to save but it could not read anything back. I can't change how your console works.

andwn commented 1 year ago

Actually, thought about this in the shower. For restoring the state after dying at least, I might be able to store the most recent save in system RAM. Would only need to use 500 bytes. You would still lose that after reset/power off though.

EmeraldTuxedo56 commented 1 year ago

Its Better Than Losing It All And Going Back To The Start In My Opinion At Least

JoshuaPettus commented 1 year ago

I suspect it's an issue with the Mega Drive x3 cart. Can it save with other games? I think I remember reading that saving requires a reset with that cart. In which case I'm not sure the game code doesn't know how to work with that.

32JP commented 1 year ago

I have chinese everdrive clone which is based off the old version of the MD everdrive, and it also requires reset in order to save, but it works just fine with this and saves properly. How it works is that it saves to battery-backed up chip, and then when you reset it back ups the save to sd slot, and when you load your game it moves the save from sd card to the chip etc. Im using legit PAL mega drive 2 (50/60hz switch + region switch modded).

I think the real problem is the shitty clone console hes using(atgames has never made proper, functional mega drive clone ever), combined with flash card its just disaster and no wonder it just barely works.

andwn commented 1 year ago

I think it's just the Atgames clone doesn't support the SRAM mapper that games >2MB have to use, but even on real consoles carts could have dead SRAM batteries too so it wouldn't hurt to cache the last save in RAM if there is enough space.

EmeraldTuxedo56 commented 1 year ago

The Mega Everdrive x3 Can Save In Other Games With A Reset Although Since I Have An Aforementioned Very Bad Atgames Sega Genesis Clone When I Try To Reset It Opens Virtua Fighter 2 Instead Of Going Back To The Menu. And I Think This Is An Issue Specifically With The Atgames Clones Since My Portable One Cant Save Either Despite Using The Custom Firmware That Should Enable That

mastercheff commented 1 year ago

I recently played the build uploaded within this topic. Decided to not open new issue this time. I started from last save when I couldn't progress further.

On my VA6.5 intro sequence has some garbled sprites

IMG_0280

Ironhead - bossfight background does not animate (or is it deliberate choice?)

I made all the way up to last cave (hidden) and when exiting the maze the next map failed to load (I got black screen and last cave music was still playing)

Will attempt next fresh runs in the coming week cheers Boss

andwn commented 1 year ago

That's just unaligned DMA I haven't had time to deal with in a proper way yet. Commenting out the SRAM check code moved the Balrog bubble into an unaligned section of ROM. This won't be an issue after the new sprite handling code is finished, but it might be a while, at least for the next 6 months IRL will be pretty busy