Re: A86: saving hiscores and other data


[Prev][Next][Index][Thread]

Re: A86: saving hiscores and other data




> I am having trouble saving data in my ASM program. At the end, I have the 
> line
> HiScore:	.dw $0000  This is the high score. I use ld hl,(HighScore) to
> retrieve the data, and it displays the right value And I use ld hl,(score) \
> ld (HiScore),hl to save the current score as the high score. However, when I
> exit and re-enter the program, the high score is always 0! (or whatever is
> after .dw) Please help!
> 
> P.S. The current score is a 2-byte value stored in (score)

Whoever maintans the ticalc.org faq (Bryan?), if you're on this list,
could you add this question?  I don't know about everyone else but
I'm getting kinda tired of answering it.

Here's a copy of a letter I sent to this list just over a week ago:

> When you run an
> assembly program, it is copied to _asm_exec_ram, a portion of
> memory dedicated to running assembly programs, and run there.
> All of the .db's and such are copied with the program.  When you
> change the values in those .db's, it changes them in the current
> program, which is the copy in _asm_exec_ram, not the actual
> program.  When the program finishes, it is NOT copied back,
> meaning any changes made to the copy in _asm_exec_ram
> are lost.  To have working high scores, you have to write a
> routine that changes the .db's in the actual program instead
> of the copy in _asm_exec_ram.  This is harder to do and does
> use a bit more code.


Follow-Ups: