SDLoader v0.12: run binaries from SD Card and backup/restore saves

Hello,check zip file !The file(Bksv4m.bin)cannot be used by yabasanshiro & SSF through your converter.
About half of the items have been lost.

Another file(Bksv4m256to512.bin)can be used by yabasanshiro & SSF after being converted to 512 through SS RAM Backup parser0.9.9.the items have not been lost.
I took a look at your files. The data behind it seems odd.


Your first block of data is correct where the first 0x100 bytes are filled with the term Backup Format. But your second block seems to have data in it when it should be completely empty. Then your third block does not begin with a save file, although this could be due to constant erasing and saving.


May I ask, how did these save files get generated? What version of Yabasanshiro?
 

Attachments

  • 24D65FCD-A4E2-4681-BD42-CF8ED668B3F6.jpeg
    24D65FCD-A4E2-4681-BD42-CF8ED668B3F6.jpeg
    863.4 KB · Views: 194
I took a look at your files. The data behind it seems odd.


Your first block of data is correct where the first 0x100 bytes are filled with the term Backup Format. But your second block seems to have data in it when it should be completely empty. Then your third block does not begin with a save file, although this could be due to constant erasing and saving.


May I ask, how did these save files get generated? What version of Yabasanshiro?
yabasanshiro V 3.4.2
SSF PreviewVer R28

BKSV4M.bin generated by SDloader(Real hardware).
BKSV4M256to512.bin generated by SS RAM Backup parser 0.9.9.Open“BKSV4M.bin” - OK - change cluster size - select 512 - OK - Save“BKSV4M256to512”
 

Attachments

  • 34E5C3B4-8284-42B4-ADDD-2C73CC17FA6C.jpeg
    34E5C3B4-8284-42B4-ADDD-2C73CC17FA6C.jpeg
    103 KB · Views: 186
  • 6084BDB2-BF42-4A32-BD89-A6A32E6ADEF7.png
    6084BDB2-BF42-4A32-BD89-A6A32E6ADEF7.png
    327.1 KB · Views: 200
tzmwx, thank you. I will try to add soon restoring support for at29c040a based backup ram carts.

v0.3 - added simple file browser for loading files. (dindt tested on real hw yet)
 

Attachments

  • sdloader03.zip
    sdloader03.zip
    158.3 KB · Views: 165
  • screen00.jpg
    screen00.jpg
    73.5 KB · Views: 179
Last edited:
ok, I think the problem is you are on an old version of Yaba sanshiro.

The newer versions work with your 256 save file after converted.

You need to pick External/yabashiro_<filename>

1663624532732.png

@Murzik If you have time, check the second block of your save files. This block should be all zeroes.
 
tzmwx, thank you. I will try to add soon restoring support for at29c040a based backup ram carts.

v0.3 - added simple file browser for loading files. (dindt tested on real hw yet)
Real hardware
 

Attachments

  • 582A190F-DBA0-4A13-B4D4-784490C7AD50.jpeg
    582A190F-DBA0-4A13-B4D4-784490C7AD50.jpeg
    486.9 KB · Views: 162
ok, I think the problem is you are on an old version of Yaba sanshiro.

The newer versions work with your 256 save file after converted.

You need to pick External/yabashiro_<filename>

View attachment 7670
@Murzik If you have time, check the second block of your save files. This block should be all zeroes.
1.items lost
2.different memory available
 

Attachments

  • 0F79BCB2-4F98-4A7A-A67B-B282E569D4C7.jpeg
    0F79BCB2-4F98-4A7A-A67B-B282E569D4C7.jpeg
    547 KB · Views: 173
v0.302

tzmwx, i enabled restore function for your backup ram cart in v0.302. You may try it at your own risk 🙂 As i not tested it on real hw (dont have at29c040a based backup ram cart). Only one thing will not fail for sure, restoring speed will be very slow, as i currently not implemented data polling for checking succesfull sector writes, and just use blocking delays equal to Twc. But I added simple progress counter just before build (but it will begin to iterate only after first 32k buffer readout, will fix in next release, so you will need to wait even for progress counter to appear 🙂 ). Any way, please dont interrupt it in restoring process. And also, i get as an assumption, that your flash dont have SDP enabled (probably it is what if unchecking option "Protect" in programmer soft do). So, every sector write will be without leading SDP disable commands.
I may only suggest, if you will decide to test it - just get backup first, then, maybe try to delete one save (or copy any additional save to it), and try to restore backup, to see if it reverts to original state.
And may the force be with you.

@Murzik If you have time, check the second block of your save files. This block should be all zeroes.
SDLoader have nothing to do with it, as it just reading memory regions and dump them as they are. If there is something in flash, it will be in the dump. We already confirmed it with tzmwx, using memory viewers (in SDLoader and with Charles MacDonald's memory viewer) on his saturn to check second block of flash.


Btw, tried to patch Yabause for 256b sector, here is screenshots of Yabause with your BKSV4M.BIN (256 sector not converted) in attachment

Technical details:
In real hw, bios reading cartid, and if there is unknown bup cart id (as in case of tzmwx bup cart, where it is "0x1"), it issuing read vid/did commands to detect flash and set sector size. And in Yabause, flash commands only decoded for cs0 region, and for cs1 region every command will just be written as is into memory. And, as you select 4Mbit bup cart option in Yabause, it sets cartid to standard 4Mbit id (0x21), and bios use it to set 512b sector.
 

Attachments

  • sdloader0302.zip
    sdloader0302.zip
    159.1 KB · Views: 151
  • screen04.jpg
    screen04.jpg
    120.5 KB · Views: 156
  • screen05.jpg
    screen05.jpg
    118.9 KB · Views: 161
Last edited:
GREAT JOB

Restore about 78s,the item can be deleted and copied normally.


0x1 is Official backup cart ID.not unknow cart ID.
 

Attachments

  • 7696C087-54AF-46CF-8772-F4F3E4313BE9.jpeg
    7696C087-54AF-46CF-8772-F4F3E4313BE9.jpeg
    798.8 KB · Views: 174
  • 1D5C4680-E415-4FDD-BED0-47D4B7F599A5.jpeg
    1D5C4680-E415-4FDD-BED0-47D4B7F599A5.jpeg
    1.2 MB · Views: 175
  • C878E636-9CD0-439A-B76C-2224B8F3A753.jpeg
    C878E636-9CD0-439A-B76C-2224B8F3A753.jpeg
    118.3 KB · Views: 185
Last edited:
Thank you!
Here is v0.31
Added data polling to check sector write status, and use frt to timeout it if something goes wrong. And traditionally - didnt tested on real hw yet. Hope it works and 4m cart restoring became little faster.
 

Attachments

Thank you!
Here is v0.31
Added data polling to check sector write status, and use frt to timeout it if something goes wrong. And traditionally - didnt tested on real hw yet. Hope it works and 4m cart restoring became little faster.
Error:Write check failed
 

Attachments

  • F5EDDF5A-A524-414E-B419-8C46622F68D6.jpeg
    F5EDDF5A-A524-414E-B419-8C46622F68D6.jpeg
    466.7 KB · Views: 148
Quick question, does this boot without a modchip or boot disc? Can it boot off a stock Saturn? From the videos I have seen from @tzmwx it looks like he goes into the memory menu then exits out and it boots the SD Loader software. I made my own adapter and it is not doing anything like I have seen in the videos nor is it explained in the initial post. Thanks for any info regarding this.
 
Quick question, does this boot without a modchip or boot disc? Can it boot off a stock Saturn? From the videos I have seen from @tzmwx it looks like he goes into the memory menu then exits out and it boots the SD Loader software. I made my own adapter and it is not doing anything like I have seen in the videos nor is it explained in the initial post. Thanks for any info regarding this.
This is not an ODE. need a modchip and boot disc(burn SDLoader.iso to the disc)
 
v0.302

tzmwx, i enabled restore function for your backup ram cart in v0.302. You may try it at your own risk 🙂 As i not tested it on real hw (dont have at29c040a based backup ram cart). Only one thing will not fail for sure, restoring speed will be very slow, as i currently not implemented data polling for checking succesfull sector writes, and just use blocking delays equal to Twc. But I added simple progress counter just before build (but it will begin to iterate only after first 32k buffer readout, will fix in next release, so you will need to wait even for progress counter to appear 🙂 ). Any way, please dont interrupt it in restoring process. And also, i get as an assumption, that your flash dont have SDP enabled (probably it is what if unchecking option "Protect" in programmer soft do). So, every sector write will be without leading SDP disable commands.
I may only suggest, if you will decide to test it - just get backup first, then, maybe try to delete one save (or copy any additional save to it), and try to restore backup, to see if it reverts to original state.
And may the force be with you.


SDLoader have nothing to do with it, as it just reading memory regions and dump them as they are. If there is something in flash, it will be in the dump. We already confirmed it with tzmwx, using memory viewers (in SDLoader and with Charles MacDonald's memory viewer) on his saturn to check second block of flash.


Btw, tried to patch Yabause for 256b sector, here is screenshots of Yabause with your BKSV4M.BIN (256 sector not converted) in attachment

Technical details:
In real hw, bios reading cartid, and if there is unknown bup cart id (as in case of tzmwx bup cart, where it is "0x1"), it issuing read vid/did commands to detect flash and set sector size. And in Yabause, flash commands only decoded for cs0 region, and for cs1 region every command will just be written as is into memory. And, as you select 4Mbit bup cart option in Yabause, it sets cartid to standard 4Mbit id (0x21), and bios use it to set 512b sector.

How to make yaba use 256b sector files? I tested version pro 1.9.2 and still can't use it directly.
 

Attachments

  • 706C39CF-4E04-4266-8744-E4E897DBD2E5.jpeg
    706C39CF-4E04-4266-8744-E4E897DBD2E5.jpeg
    471 KB · Views: 134
How to make yaba use 256b sector files? I tested version pro 1.9.2 and still can't use it directly.
You need to patch and rebuild yabause from sources. It requires to replace cart id for 4mb backup to 0x01 and set device id for it as 0xa4, and add FlashCs1writes/reads for bup4mb (look at how it is done for FlashCs0), so, bios, when it get cartid 0x01 will start to probe rom at cs1 and when it get 0xa4 it will set sector to 256b. Files to modify: bios.c and cs0.c. I still have modified source, if you will plan to rebuild, i may provide diff patch

Or you may use unpatched yabause, load your 256 block dump, and set bp at 0x60F0092, and launch it. Tap shift button to go to memory manager and when it breaks, change r8 from 0x400 to 0x800 and r10 from 0x200 to 0x100
 
Back
Top