Changed baud rate to 211000 bps (NTSC Sega Saturn)
much faster now
Added memory dump/memory write/load and run/jump
//dump 256kb cartridge rom
sloader.py d cart_rom_cs0.bin 0x02000000 0x40000
//dump Internal Battery backup RAM (saves)
sloader.py d bkram.bin 0x00180000...
- Few cleanups
- Changed baud rate to 211000 bps (NTSC Sega Saturn). Works much faster now
Connect Master TX, Master RX, GND from Saturn Communication Connector to RX, TX, GND of any USB UART TTL adapter (if it have jumper to select 3.3v/5v mode - use 5v...
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.
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...
tzmwx, thank you! Im glad that it increasing speed even by small steps, that means, those optimizations are worth it.
Here is current build v0.218c, few more optimization affecting write speed (to sdcard).
In next step, i want to add backup ram cart vendor id /device id reading. So would be...
Thank you! 99Kb/sec seems real.
Also, for new test version v0.218a, tried to inline some critical asm code into sd card block transfers functions. After some polishing, it get overhead little lower, and saves few more instructions per byte transfered.
v0.218b - more polishing, few more...
- use part of sh2 cpu cache to store frequently accesed fat driver structures and buffers
Thank you, braza!
You may get new v0.216, it have little more speed comparing to 0.215 (648kb in 7.8s, so, transfer speed is around 83kb/sec).
Sorry, and thank you for info! There was bug, and now its fixed.
- cleanup and experimental tweaks (tested ok)
- fix and speedup
Now 648kb binary loads and executes in 8s (so, transfer is around 80kb/sec)
Just created blank empty 1mb file cart.bin and set it in Yabause as 4Mbit cart. After power/bios memory manager/power off cycle, the file have 512b header block. Never got inside of bios bup routines, but using infromation you give, probably it set block size by reading vendor/device id of...
By the way, great idea and realization. And not depends on cart port connector quality (condition).
From view on dump, thats why it use 256b block (as "BackupRam Format" placed from 0x00 to 0xFF in ssmemorytzmwxdump.BIN ) on your cart.
I see, thank you.
But still interesting, if dump is 1:1 why it processed ok on real hw, and not on emulators. I still suspect some tricks from cart logic :) Anyway, what is it. this cart? According to Yabause wiki 4Mbit backup ram cart id is 0x21 (i think its true for 1st party carts), but this...
But still, there is a possibility, that this cart somehow alters bup library when do bup_init at boot (when it copy some bios bup code to ram). So, may you, please, confirm if this cart have some boot rom with boot code (0x22000000).
I suspect it, because, according to this thread, second block...
I see. First idea to check, what if it mapped not to 0x24000000, but with -0x200 offset (to 0x23FFFE00), thats why its header looks halved. Please, may you check with memory viewer this adress 0x23FFFE00 and up to 0x24000000 to see if it have backup ram header signatures there ("Backup Ram...
Updated SDLoader to 0.211:
- removed aligned access to ext backup ram
- added more output info about ext backup ram
I see. I will take a look at it and will try to find one of my backup ram carts to debug.
First. May you, please, use Charles MacDonald's Sega Saturn Memory Map Viewer...
v0.21 - added aligned access to external ram cart (tzmwx, check this build too)
Please, try this build (sdloader_test) with external cart backup ram viewer (UP/DOWN to scroll) and tell if its show header and saves ok or same as in your dumps? Because, on Yabause it works without errors...