Title : Crusoe

Also Known As: The Life and Adventures of Crusoe

Publisher : Automata UK Ltd

Release Year: 1984

No. Players: 1

Entry Type: Adventure: Graphic

Machine Type: ZX-Spectrum 48K

Availability: Available

Updated On : May 25, 2020

Roles :
Known Errors: Bugfix provided by Battle Bunny:#
  • 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:#
            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
#Modified "BUGFIX" file provided by Einar Saukas.