816563e2e3
This is done by adding a "C<* override" layer that is reset to 0 on ABORT. The problem was that when ABORT happened during a LOAD, we had a resetted RSP and started from a clean INTERPRET, but LOAD didn't have the opportunity to restore C<*, which caused it to continue interpreting from the faulty BLK. With a C<* override, we don't need to *restore* C<*, we just need to clear the override.
17 lines
488 B
Plaintext
17 lines
488 B
Plaintext
(cont.)
|
|
RAMSTART INITIAL_SP +53 readln's variables
|
|
+02 CURRENT +55 adev's variables
|
|
+04 HERE +57 blk's variables
|
|
+06 C<?* +59 z80a's variables
|
|
+08 C<* override +5b FUTURE USES
|
|
+0a PARSEPTR +70 DRIVERS
|
|
+0c C<* +80 RAMEND
|
|
+0e WORDBUF
|
|
+2e BOOT C< PTR
|
|
+4e INTJUMP
|
|
+51 CURRENTPTR
|
|
|
|
|
|
|
|
(cont.)
|