Topic: Create a Save Game in ESXDOS


I want to make my game able to create saves for ESXDOS users, but there is little information on how to call the API functions.

A bit of hacking suggests I can point address $5c59 to a $0d terminated text, eg .tapeout save.tap($0d) and then call the command interpreter in rom (assume address $1b17).  Or do I need to read where $5c59 is already pointing (top of BASIC program?) and copy text string before calling interpreter.  My problem is that (assuming this will work) I don't know if $5c59 will always be the right address to check in future version of ESXDOS, so is there a better way of doing this?

I'm assuming once I've run the tapeout command successful I can just call that standard ROM save routine to save the actual game.

Also, what is the best way to check whether we are running ESXDOS?  Can it be done without calling OUT ($e3),a by checking certain bytes of the main ROM?

Many thanks



Re: Create a Save Game in ESXDOS

Hi Dave,

if you have enough spare BASIC memory, I recommend to use BASIC for LOAD and SAVE, this would be the easiest way even to bring your program to other Spectrum disk-systems like "Plus D".




Re: Create a Save Game in ESXDOS

Thanks for the answer.

My game trashes BASIC memory and steals every last byte.  Even if I did use the BASIC save command I would still need to have called .tapeout from ESXDOS so I am trying to find the appropriate way to do so.