![]() |
Routines |
| Prev: 51043 | Up: Map | Next: 51141 |
|
|
||||
|
This routine is triggered if the player presses 'S' while the game is paused, in the previous routine keyboard check at 51053.
Data block 1:
|
||||
| 51098 | LD A,255 | Indicates this is a data block to save | ||
| 51100 | LD IX,60064 | Start address of data block to save | ||
| 51104 | LD HL,60577 | End address of data block | ||
| 51107 | LD DE,60064 | Start address of data block | ||
| 51110 | SCF | Set the carry flag | ||
| 51111 | CCF | Then toggle it, to clear it | ||
| 51112 | SBC HL,DE | Subtract data start address from end address | ||
| 51114 | INC HL | |||
| 51115 | EX DE,HL | ...DE now contains the number of bytes in this data block = 514 bytes | ||
| 51116 | CALL 1218 | Call the ROM routine to save this data block to tape | ||
|
Data block 2:
|
||||
| 51119 | LD A,255 | Indicates this is a data block to save | ||
| 51121 | LD IX,(56053) | Start address of data block to save (26512) | ||
| 51125 | LD HL,(60257) | End address of data block (32851) | ||
| 51128 | LD DE,(56053) | Start address of data block | ||
| 51132 | SCF | Set the carry flag | ||
| 51133 | CCF | Then toggle it, to clear it | ||
| 51134 | SBC HL,DE | Subtract data start address from end address | ||
| 51136 | INC HL | |||
| 51137 | EX DE,HL | ...DE now contains the number of bytes in this data block = 6340 bytes | ||
| 51138 | CALL 1218 | Call the ROM routine to save this data block to tape | ||
|
The game is now saved - continue to the next routine (pause game), and the game will resume once the player presses 'resume'.
|
||||
| Prev: 51043 | Up: Map | Next: 51141 |