Page 1 of 1

Saving machine code games to DeltaDOS disk?

Posted: Tue Feb 25, 2014 3:28 pm
by zephyr
Most machine code programs (games) have an EXEC address which is different to the START address. A typical example is: START ADDRESS = $0C00, END ADDRESS = $7000, EXEC ADDRESS = $4000. The DeltaDOS manual states that the SAVEM command only accepts a START and END address (SAVEM"NAME",START,END). How do you save machine code programs (games) like this to DeltaDOS disk?

Re: Saving machine code games to DeltaDOS disk?

Posted: Tue Feb 25, 2014 5:35 pm
by robcfg
Maybe you could save the machine code with SAVEM "",START,END, and then run it with LOADM"":EXEC $4000.

Not ideal, but it may work.

Re: Saving machine code games to DeltaDOS disk?

Posted: Tue Feb 25, 2014 7:00 pm
by zephyr
I had already thought about that rather obvious method. But then I thought about having to remember/write down all of the the different EXEC addresses for programs on several floppy disks. :lol:

Re: Saving machine code games to DeltaDOS disk?

Posted: Wed Feb 26, 2014 8:25 am
by Sarah
Does the LOADM command update the EXEC vector ($009d:009e)?

If not, then I suppose there isn't much hope for a straightforward solution.

You could artificially make the files execute from their start address, if that would help.

Re: Saving machine code games to DeltaDOS disk?

Posted: Wed Feb 26, 2014 7:55 pm
by sixxie
The manual says it'll only start things from the beginning of the binary. Goes so far as to recommend putting a JMP in as the first instruction...

Re: Saving machine code games to DeltaDOS disk?

Posted: Thu Feb 27, 2014 1:27 pm
by zephyr
Sarah wrote:Does the LOADM command update the EXEC vector ($009d:009e)?
Yes.

Re: Saving machine code games to DeltaDOS disk?

Posted: Thu Feb 27, 2014 1:28 pm
by zephyr
sixxie wrote:The manual says it'll only start things from the beginning of the binary. Goes so far as to recommend putting a JMP in as the first instruction...
The JMP idea would be an acceptable compromise for most programs. :)