| Known Errors | Bugfix provided by Battle Bunny:
<UL><LI> The game crashes frequently. Most of the errors are due to JPs being one or two bytes off their correct destination. The most significant error was the machine stack overflow, caused by indirect recursive sub-routine calls, which would cause the program to crash if Crusoe did a lot of moving back & forth between map sections and had to use his "Elyxr" frequently. There were some minor errors in the keyboard checking, command handler search and message display. Also the LLL option to load a saved game messed up the stack and the QQQ/TIUQ option to restart didn't work properly (although that was due to the stack being messed up by other things). Fixed using the following patch:
<PRE> org $6A9C ; patch indicator: stone head as prompt terminator
DEFB $A2 ; 6A9C A2
org $6BEC ; jump correction
JP $6A2D ; 6BEC C3 2D 6A
org $71DE ; typo correction
DEFM "A ladder " ; 71DE 41 20 6C 61 64 64 65 72 20 20 20 20
org $7AE8 ; jump correction
DJNZ $7AE7 ; 7AE8 10 FD
org $80E5 ; jump correction
JR $8149 ; 80E5 18 62
org $82BB ; jump correction
JP NZ, $82E2 ; 82BB C2 E2 82
org $8401 ; jump correction
JP NZ, $82CD ; 8401 C2 CD 82
org $8736 ; jump correction
JR $8706 ; 8736 18 CE
org $8F86 ; jump correction
JP $87CC ; 8F86 C3 CC 87
org $970C ; jump correction
JP NZ, $87CC ; 970C C2 CC 87
org $B6F8 ; jump correction
JR Z, $B71D ; B6F8 28 23
org $B705 ; jump correction
JR Z, $B71D ; B705 28 16
org $B70B ; jump correction
JR Z, $B71D ; B70B 28 10
org $A84D ; message address correction
LD A, $5D ; A84D 3E 5D
org $84F2 ; check RET address before JP back
JP PATCH ; 84F2 C3 F6 B8
org $B498
JP PATCH ; B498 C3 F6 B8
org $CA86
JP PATCH ; CA86 C3 F6 B8
org $B8F6 ; drop all except RET to BASIC
PATCH: POP BC ; B8F6 C1
LD HL, $2D2B ; B8F7 21 2B 2D
AND A ; B8FA A7
SBC HL, BC ; B8FB ED 42
JR NZ, PATCH ; B8FD 20 F7
PUSH BC ; B8FF C5
JP $61AE ; B900 C3 AE 61</PRE></UL>
Modified "BUGFIX" file provided by Einar Saukas. |