![]() |
Routines |
Prev: 42438 | Up: Map | Next: 42501 |
Used by the routines at 63649 and Action_Quit.
|
||||
SaveGame | 42442 | LD A,(42992) | A=*Count_ConfigurableExits. | |
42445 | OR A | Jump to SaveGame_2 if A is zero. | ||
42446 | JR Z,SaveGame_2 | |||
42448 | LD B,A | B=A. | ||
42449 | LD IX,(42972) | IX=*42972. | ||
42453 | LD DE,42897 | DE=42897. | ||
42456 | JR SaveGame_1 | Jump to SaveGame_1. | ||
SaveGame_0 | 42458 | INC IX | Increment IX by two. | |
42460 | INC IX | |||
42462 | INC DE | Increment DE by one. | ||
SaveGame_1 | 42463 | LD L,(IX+0) | L=*IX+0. | |
42466 | LD H,(IX+1) | H=*IX+1. | ||
42469 | LD A,(HL) | Write *HL to *DE. | ||
42470 | LD (DE),A | |||
42471 | DJNZ SaveGame_0 | Decrease counter by one and loop back to SaveGame_0 until counter is zero. | ||
Print "SAVING. Position tape.
Press REC & PLAY,then any key.".
|
||||
SaveGame_2 | 42473 | LD HL,43344 | HL=Messaging_Saving. | |
42476 | CALL PrintStringAndNewline | Call PrintStringAndNewline. | ||
42479 | CALL GetUserInput | Call GetUserInput. | ||
42482 | LD IX,42604 | IX=42604. | ||
42486 | LD DE,390 | DE=390. | ||
42489 | LD A,255 | Set A to 255 which indicates this is a data block. | ||
42491 | CALL 1218 | Call SA_BYTES. | ||
Print "Stop tape.Saving complete.".
|
||||
42494 | LD HL,43398 | HL=Messaging_StopTapeSavingComplete. | ||
42497 | CALL PrintStringAndNewline | Call PrintStringAndNewline. | ||
42500 | RET | Return. | ||
View the equivalent code in The Jewels Of Babylon.
|
Prev: 42438 | Up: Map | Next: 42501 |