Jump to content
IGNORED

Cartridge formats with SRAM or equivalent? (for saving game config, high scores, etc.)


Recommended Posts

Hi everyone,

 

Do any of the known Atari8 cartridge formats support any sort of persistent storage (battery backed or otherwise) for storing small (<4KB or so) amounts of data, e.g. high scores, config, basic save games, ...?

The closest thing I could think of was the AtariMax cartridges, but 1) having to reflash a specific part of the cartridge seems a little complicated   2) I don't know how many flashes the carts can take before the flash memory loses writability.

 

Failing that, are there any special formats usable for Ultimate/Uno/etc. carts that have special modes that can leverage the fact that we have SD cards?

 

(yes, I know that Atari floppy disks exist too - I was trying to see if I could accomplish this without requiring the use of a disk drive, which then means needing disk loading routines, loading in dos.sys, etc...)

 

Thanks,

Link to comment
Share on other sites

SRam carts in the day were generally aimed at developing software, or pirating games where you had a protect switch and could write the 8 or 16K to it then protect it and have a persistent cart that survived powerdowns.

I'm not sure if any cart exists that is aimed at adhoc data storage using NVRAM like that - for something sharable among programs it'd need a filing system.

The SD types - I imagine it could probably be done but not a lot of people have them.

 

AtariMax - aside from the flash cycles the other problem is that you have to flash fairly large blocks so essentially you either read in the block then preserve the remainder or just flash a block without regard to what else is there.  In theory you could probably have a game that occupied an 8K slot then a data segment on another 8K then have a detection routine that walked through the cart and determined which block it had to flash (just have a signature series that tells you it's your data)

Edited by Rybags
Link to comment
Share on other sites

Take a look at A8PicoCart.

 

If pico version will have same firmware as original unocart, you could use built in function for virtual drive:
"The cartridge can also emulate a disk drive on an Atari with with at least 64k. It does this by installing a Soft OS into the Atari which then redirects D1: to the ATR file selected from the menu. Access for D2: upwards continue to be directed to the SIO port as normal. Many games will not work, due to the soft OS technique used. However it is possible to boot to a DOS 2.5 ATR file, do some programming in BASIC and save your program back to the ATR file. ATR files up to 16Meg in size are supported."

 

Or you can modify firmware and make your own custom "write state" functions I guess...

 

 

Link to comment
Share on other sites

Corina cart by GR8 had this option afaik, but was very expensive and therefore rare nowadays. 

There were also Megamax versions by mega-hz that had this option:  http://www.mega-hz.de/Angebote/MEGAMAX/en/MegaMAX Cart en V1.htm

 

tmp made this option available for Flob and the AVG cart, to save highscores and/or game-progress onto the AVG cart. Follow the discussion here:

 

and downloads/updates for Flob and AVG are there:

(Note: I never used this, since I bought the original Flob cartridge.)

 

  • Like 2
Link to comment
Share on other sites

3 hours ago, Bobo Cujo said:

(yes, I know that Atari floppy disks exist too - I was trying to see if I could accomplish this without requiring the use of a disk drive, which then means needing disk loading routines, loading in dos.sys, etc...)

I am not entirely sure what you mean by "use of a disk drive" here, but I recently also needed to have permanent storage for my high score data, and xdos became my friend here, it fits entirely into boot, and you can easily create the disk image with dir2atr on a PC. The limitation is that saved state needs to be one file, already existing on the disk, and fitting into one sector. For HS data that is more than plenty. 

 

Not to mention that with SIDE3 cartridge with enabled FATFMS support you can run your XEX stuff off the SD-card directly and read/write to the very same SD card with the standard Atari IOCB routines without "loading" anything and with no limits to speak of. 

  • Like 2
Link to comment
Share on other sites

19 minutes ago, woj said:

I am not entirely sure what you mean by "use of a disk drive" here, but I recently also needed to have permanent storage for my high score data, and xdos became my friend here, it fits entirely into boot, and you can easily create the disk image with dir2atr on a PC. The limitation is that saved state needs to be one file, already existing on the disk, and fitting into one sector. For HS data that is more than plenty. 

 

Not to mention that with SIDE3 cartridge with enabled FATFMS support you can run your XEX stuff off the SD-card directly and read/write to the very same SD card with the standard Atari IOCB routines without "loading" anything and with no limits to speak of. 

 

All A8 programming languages, several applications (e.g. Atari Artist, Atari Graphics, etc.) and even some games available on cartridge (Gato? Lode Runner? Rallye Speedway?) do allow the use of a disk drive - saving data (program data, source code, listings, pictures, music, high scores, game state, new levels, etc.) to diskette. Quoting from Jindroush's new ACDP page:

 

CARTFG $BFFD Cartridge flags:
  • D7 - if 1, it's a diagnostic cartridge that runs before the OS
  • D2 - if 0, only run init, if 1, run init and then start
  • D0 - if 0, do not boot disk, if 1, boot disk (think this allows to boot DOS and thus save to diskette)

 

 

 

 

(Besides, I think XDOS is a full DOS by Stefan Dorndorf, while you are speaking of a 3-sector DOS, named uDOS by Stefan Dorndorf or XBootDOS by XXL or FoxDOS by FoX or 3-Sector-DOS by Carsten Strotmann.)

Link to comment
Share on other sites

35 minutes ago, CharlieChaplin said:

(Besides, I think XDOS is a full DOS by Stefan Dorndorf, while you are speaking of a 3-sector DOS, named uDOS by Stefan Dorndorf or XBootDOS by XXL or FoxDOS by FoX or 3-Sector-DOS by Carsten Strotmann.)

I mean this "xdos": 

 

https://github.com/pfusik/numen/blob/master/dos.asx

 

which as I understand is slightly bigger but allowing write flavor of xbootdos by XXL.

 

OK, but now I see what you meant, you are essentially committed to using a cart, but looking for a way to save state data, which makes my answer more or less obsolete ;)

 

EDIT: It seems that the most recent xbootdos can also write, I must have been looking at some older version. 

Edited by woj
Link to comment
Share on other sites

I didn't know the TeleLink II cart had static NVRAM in it! That's exactly the kind of cart format I was looking for - does anyone know if there are any others (that are supported as part of the .car format) with NVRAM?

 

As for using disk drives:

I do know about/have worked with SIO - the main reason I wanted to avoid it was that I wanted to be able to have the program and saved data be on the same multicart/SD card.

On numerous A8 multicarts (or at least, my Ultimate/UNO carts), it's possible to mount a cartridge/binary executable or a disk drive - but *not* both at the same time, meaning a second device (real disk drive, SIO2SD, SIO2USB, etc.) would be required. 😞  I do realize that supporting this case is a good idea anyway, but it'd be nice to have a solution that required less connected hardware.

 

Link to comment
Share on other sites

The!Cart has EEPROM, but not sure if it's available for user programs.
Corina has EEPROM.
Pronto/Telelink II had 256x4 bits of NVRAM, but they're not common/available.

BTW: Do you really need lots of memory to save or just few bytes? Because the later could be easily implemented with some 'output code' or QR code or something like that.

Link to comment
Share on other sites

I was thinking about this issue more generally, but for my own purposes, 128 bytes-ish would probably be fine.

 

Given the limited amount of nvram cart options (even virtual ones for flash carts), using passwords/QR codes/etc. may not be a bad idea either (and wouldn't require a disk drive).

Link to comment
Share on other sites

Now that I see this, I, too, am interested in using flash storage.  In my case, it's for my AdvSkelVic65 program, as it supports an Atari8 cartridge, but in my case, I need to save whole program states.  Basically, it would include the player's score, current room, inventory, room inventories and tasks done, so I might at times need 512 bytes or even 1k for saved data and even eight slots of saved games.  Currently, I have 8k and 16k cartridges for the Atari8 support and am planning 32k support.  However, in my case, I can use SIO and a real disk or disk image for my saved games.  Where can I find info on SIO?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...