Save Game Manager for SEGA Saturn

RockinB

Established Member
Did you ever run out of backup memory?

Did your backup memory cartridge every died?

Have you ever wondered why some files are so big that you can't get them out of the backup memory cart :huh ?

Did you ever want to upgrade your Action Replay's firmware without burning a seperate CD-R for each type?

Did you ever think the Saturn built-in file manager is too slow in handling?

Did you ever want to load save games from CD?

Of course you did!



:banana Now here is your solution: the Save Game Manager for SEGA Saturn

will give you more backup memory FOR FREE!



What is the SGM?



- a full featured file browser

- a save game compressor (using BZip2 compression)

- an Action Replay reflash tool (using arflash by ExCyber)

- much more than any other similar tool on Saturn



A core feature is the usage of faster virtual drives which are not limited in number and size (only by Saturn RAM).

The very efficient compression BZip2 is used and because of it's memory requirement it's a little wonder to have it run on Saturn. It uses almost every byte of RAM available in the Saturn, even external RAM carts.

Have a look at bucanero's VMZip app for Dreamcast, which implements the save game compression idea, too.



Download the Saturn ISO: SaveGameManager_050901.rar

More info on www.rockin-b.de
 
Wow, I will have to try this out when I get home from vacation Friday afternoon.

Thanks for such a full featured very usefull program!
 
Really good job, I try to test it this week end, it definitively deserved to be added to the saturn dev section 🙂
 
This looks very cool indeed!

Excuse me for being thick, but how does it work and what hardware do I need to use it? I imagine an AR cart right?
 
Thanks guys!

I just spend 2 days of testing. I hope it's easy to use and I'm pretty sure it won't crash.

Originally posted by kahuna@Thu, 2005-09-01 @ 08:13 PM

This looks very cool indeed!

Excuse me for being thick, but how does it work and what hardware do I need to use it? I imagine an AR cart right?

[post=139027]Quoted post[/post]​


You don't need additional hardware to use it, as Saturn got internal backup memory.

You run the CD on Saturn like any other CD-R (modchip, swap-trick).

But if you have a backup cart, you can plug it in.

And if you got a RAM cart, you are unlikely to run out of memory using the SGM (BZip2 takes a lot of RAM), in case of a 4MB cart, you can even set better compression ratio.

The virtual drive approach really let's you do cool things. On Dreamcast, I was getting crazy swapping saves from one VMU to another, in a very special order needed to get it done.

Here you just use one or more virtual drives.

Now I can afford to have all ghost car files on one backup cartidge. It's been a pain to delete STC ghosts one by one...
 
Does this allow you to compress game saves on the AR too? I know games can't read/write to it, but would be nice to have even more storage space on it. Or at least maybe I could compress the save on the internal memory then transfer to the AR like I normally do.
 
Originally posted by AmyGrrl@Fri, 2005-09-02 @ 02:38 AM

Does this allow you to compress game saves on the AR too? I know games can't read/write to it, but would be nice to have even more storage space on it. Or at least maybe I could compress the save on the internal memory then transfer to the AR like I normally do.

[post=139049]Quoted post[/post]​


Unfortunately, direct access to AR is not in yet. But every compressed storage device is just like any other save game. So you can transfer it to AR with the AR boot program, that's right.

If someone wants to support direct access to AR, send me save games and memory dumps made through a commslink setup (to determine the AR save game format).
 
Some new features I'm thinking about:

- dumping the firmware of the AR

(allows saving as compressed backug file)

-> reduce the risc flashing the AR with the supplied firmwares,

as you could reflash with the original one

- allow flashing with custom firmwares

-> homebrew devvers could make a

bootable cartridge of their games

- allow flashing the cartridge with the SGM

-> no swap trick needed anymore

(It wouldn't have a cheat function,

but if we could read/write the AR save game format with SGM,

it would be a cool replacement)

What ya think?
 
That would be awsome, Hopefully you can find a way to write directly to it. Is not being able to write directly to the AR a hardware issue or software issue. Maybe with a new firmware we can correct it to work the way it should.
 
let me get this straight....with this, i can compress game saves from the cart down to the system memory size, right?

only question i have then is...how is the best way to use this tool to transfer my saved game for FirePro 6men scramble to my buddy via the net? am i still stuck using the netlink or the comms link?
 
Originally posted by A Murder of Crows@Fri, 2005-09-02 @ 03:58 PM

let me get this straight....with this, i can compress game saves from the cart down to the system memory size, right?

only question i have then is...how is the best way to use this tool to transfer my saved game for FirePro 6men scramble to my buddy via the net? am i still stuck using the netlink or the comms link?

[post=139085]Quoted post[/post]​


Well, if you can get your Saturn to burn data back to cd, please tell us 😉
 
Originally posted by A Murder of Crows+Fri, 2005-09-02 @ 03:58 PM--><div class='quotetop'>QUOTE(A Murder of Crows @ Fri, 2005-09-02 @ 03:58 PM)</div><div class='quotemain'>let me get this straight....with this, i can compress game saves from the cart down to the system memory size, right?

[post=139085]Quoted post[/post]​

[/b]


Yes, you can compress save games whether they are on backup cartridge, system memory, CD or floppy. The compressed file can be put to wherever you want (except CD, hehe).

<!--QuoteBegin-A Murder of Crows
@Fri, 2005-09-02 @ 03:58 PM

only question i have then is...how is the best way to use this tool to transfer my saved game for FirePro 6men scramble to my buddy via the net? am i still stuck using the netlink or the comms link?

[post=139085]Quoted post[/post]​

[/quote]

Yes, the only way to get saves out of Saturn is either NetLink or the commslink setup. Don't know if MasterOfDestiny will do a 3rd connection option.
 
Originally posted by AmyGrrl

Is not being able to write directly to the AR a hardware issue or software issue.
It's a software issue. More specifically, it's not supported by Sega's "backup library" (the lib used to manage saves). I wrote some code to write the entire flash memory of the carts, but to actually write saves to it would require support for whatever filesystem it uses to keep track of the saves, plus whatever compression scheme it uses. In case you couldn't tell from the previous sentence, I haven't looked at those parts of the AR firmware at all. <_<

Still, if there's interest I can probably dig out the old sh2d and see if I can figure out what's going on. Personally I'd still like to see a full AR firmware replacement with features like having the firmware compressed into modules, ability to run (small!) programs from the flash memory, advanced code list and save compression, game autodetection (i.e. put in a game, it hashes the header and brings up the code list automatically instead of selecting from a list), in-game direct save support (this may or may not be possible, though my early findings looking into this were hopeful) and maybe even something akin to the "UMCDR" format on PS2, but I won't have much time to work on hobby projects since I've started college, so for now that's just a dream...
 
That would be awsome, AR firmware updates sounds great. Adding compression of saves right too the software, and direct writing. This is all possible now that we can easily update the AR now that we don't need a PC COMMSLINK anymore.
 
In-game save to the AR is not something trivial, basically the AR would have to contain a replacement backup library (at a minimum, a BUP wrapper that swaps stuff in and out of SRAM). The backup library is compressed in the BIOS, and as far as I know all system calls are done through a jump table in RAM. Basically, this should mean that we can overwrite the BUP_Init entry to point to our own BUP_Init (located in AR flash) that unpacks a jump table for some flash-resident routines that save to the AR instead of system RAM (probably emulating SRAM in partitions similar to the principle used by SGM).

Yes, the only way to get saves out of Saturn is either NetLink or the commslink setup. Don't know if MasterOfDestiny will do a 3rd connection option.
Here's a silly idea: could we dump small saves to the screen in base64 (maybe with per-line hashes to avoid hair-pulling over typos)? I know most Saturn saves aren't really that huge (the internal SRAM is only 32KB). This post up through this sentence is roughly 1KB; here's what it looks like in base64:

Code:
SW4tZ2FtZSBzYXZlIHRvIHRoZSBBUiBpcyBub3Qgc29tZXRoaW5nIHRyaXZpYWws

IGJhc2ljYWxseSB0aGUgQVIgd291bGQgaGF2ZSB0byBjb250YWluIGEgcmVwbGFj

ZW1lbnQgYmFja3VwIGxpYnJhcnkgKGF0IGEgbWluaW11bSwgYSBCVVAgd3JhcHBl

ciB0aGF0IHN3YXBzIHN0dWZmIGluIGFuZCBvdXQgb2YgU1JBTSkuIFRoZSBiYWNr

dXAgbGlicmFyeSBpcyBjb21wcmVzc2VkIGluIHRoZSBCSU9TLCBhbmQgYXMgZmFy

IGFzIEkga25vdyBhbGwgc3lzdGVtIGNhbGxzIGFyZSBkb25lIHRocm91Z2ggYSBq

dW1wIHRhYmxlIGluIFJBTS4gQmFzaWNhbGx5LCB0aGlzIFtiXXNob3VsZFsvYl0g

bWVhbiB0aGF0IHdlIGNhbiBvdmVyd3JpdGUgdGhlIEJVUF9Jbml0IGVudHJ5IHRv

IHBvaW50IHRvIG91ciBvd24gQlVQX0luaXQgKGxvY2F0ZWQgaW4gQVIgZmxhc2gp

IHRoYXQgdW5wYWNrcyBhIGp1bXAgdGFibGUgZm9yIHNvbWUgZmxhc2gtcmVzaWRl

bnQgcm91dGluZXMgdGhhdCBzYXZlIHRvIHRoZSBBUiBpbnN0ZWFkIG9mIHN5c3Rl

bSBSQU0gKHByb2JhYmx5IGVtdWxhdGluZyBTUkFNIGluIHBhcnRpdGlvbnMgc2lt

aWxhciB0byB0aGUgcHJpbmNpcGxlIHVzZWQgYnkgU0dNKS4NCg0KW3F1b3RlXVll

cywgdGhlIG9ubHkgd2F5IHRvIGdldCBzYXZlcyBvdXQgb2YgU2F0dXJuIGlzIGVp

dGhlciBOZXRMaW5rIG9yIHRoZSBjb21tc2xpbmsgc2V0dXAuIERvbid0IGtub3cg

aWYgTWFzdGVyT2ZEZXN0aW55IHdpbGwgZG8gYSAzcmQgY29ubmVjdGlvbiBvcHRp

b24uWy9xdW90ZV1IZXJlJ3MgYSBzaWxseSBpZGVhOiBjb3VsZCB3ZSBkdW1wIHNt

YWxsIHNhdmVzIHRvIHRoZSBzY3JlZW4gaW4gYmFzZTY0IChtYXliZSB3aXRoIHBl

ci1saW5lIGhhc2hlcyB0byBhdm9pZCBoYWlyLXB1bGxpbmcgb3ZlciB0eXBvcyk/

IEkga25vdyBtb3N0IFNhdHVybiBzYXZlcyBhcmVuJ3QgcmVhbGx5IHRoYXQgaHVn

ZSAoU1JBTSBpcyBvbmx5IDMyS0IpLCBhbmQgMUtCIGlzIG9ubHkgYWJvdXQgMTMw

MCBjaGFyYWN0ZXJzIHdoZW4gYmFzZTY0LWVuY29kZWQuIFRoaXMgcG9zdCB1cCB0

byB0aGlzIHBvaW50IGlzIHJvdWdobHkgMUtCOyBoZXJlJ3Mgd2hhdCBpdCBsb29r

cyBsaWtlIGluIGJhc2U2NDo=

Now, I'm not going to claim that's a piece of cake, but if you really want to trade saves, it doesn't strike me as being that much to enter, particularly if it were sanely separated into groups. That should be equivalent to about 16 "blocks" of save space. Also, it would look a lot less messy if it was monospaced (is there a BBcode tag that will do that? I thought code would do it but it doesn't look like it) ...
 
Originally posted by ExCyber@Fri, 2005-09-02 @ 09:12 PM

In-game save to the AR is not something trivial, basically the AR would have to contain a replacement backup library (at a minimum, a BUP wrapper that swaps stuff in and out of SRAM). The backup library is compressed in the BIOS, and as far as I know all system calls are done through a jump table in RAM. Basically, this should mean that we can overwrite the BUP_Init entry to point to our own BUP_Init (located in AR flash) that unpacks a jump table for some flash-resident routines that save to the AR instead of system RAM (probably emulating SRAM in partitions similar to the principle used by SGM).

Here's a silly idea: could we dump small saves to the screen in base64 (maybe with per-line hashes to avoid hair-pulling over typos)? I know most Saturn saves aren't really that huge (the internal SRAM is only 32KB). This post up through this sentence is roughly 1KB; here's what it looks like in base64:

Now, I'm not going to claim that's a piece of cake, but if you really want to trade saves, it doesn't strike me as being that much to enter, particularly if it were sanely separated into groups. That should be equivalent to about 16 "blocks" of save space. Also, it would look a lot less messy if it was monospaced (is there a BBcode tag that will do that? I thought code would do it but it doesn't look like it) ...

[post=139104]Quoted post[/post]​


that would be cool for pretty much anything but fire pro, i think 🙂

i wish there was an easier way to trade game saves on saturn. i only ever really liked FirePro on saturn anyway. and i REALLY wish there was still a translation project in the works for that game.
 
A full AR firmware replacement is unlikely to happen(who?).

I'm very interested in being able to access the save games inside the AR cart from my SGM. The base64 idea is a goodie I'd like to put in, too. The bzip2 compression reduces the size, too. Aside from base64, I've read about a more efficient textual encoding method years ago. It's been mentioned to reduce mail attachments significantly, but I can't remember it's name.

The sh2d is shit. The disassemblers in Saturn emus like Saturnin seem to be better.

About making a BUP library wrapper for AR save game access: you mean to use it's cheat function to manipulate the BUP calls from inside Saturn games? Why can't the AR just say "I'm a backup cartridge".
 
If there are anyother cheapskates like me trying to run this off CDRW and not getting it to work , try adding a dummy file to the iso and it will work , worked for me but i donno it might just have been my ancient RW🙂
 
Back
Top