![]() |
Routines |
| Prev: 83EF | Up: Map | Next: 84B3 |
|
|
||||
| LoadGame | 8451 | PUSH IX | Stash IX and DE on the stack. | |
| 8453 | PUSH DE | |||
|
Load "flags".
|
||||
| 8454 | LD A,$FF | Set the load as a "data block". | ||
| 8456 | SCF | Set the carry flag. | ||
| 8457 | LD IX,$B6EB | Set the start address to; B6EB. | ||
| 845B | LD DE,$001D | Set the block length to; $001D bytes. | ||
| 845E | CALL LoadBlock | Call LoadBlock. | ||
|
Load "objects".
|
||||
| 8461 | LD A,$FF | Set the load as a "data block". | ||
| 8463 | SCF | Set the carry flag. | ||
| 8464 | LD IX,$C11B | Set the start address to; Objects. | ||
| 8468 | LD DE,$0615 | Set the block length to; $0615 bytes. | ||
| 846B | CALL LoadBlock | Call LoadBlock. | ||
|
Load...
|
||||
| 846E | LD A,$FF | Set the load as a "data block". | ||
| 8470 | SCF | Set the carry flag. | ||
| 8471 | LD IX,$CA84 | Set the start address to; CA84. | ||
| 8475 | LD DE,$00BF | Set the block length to; $00BF bytes. | ||
| 8478 | CALL LoadBlock | Call LoadBlock. | ||
|
Load "locations".
|
||||
| 847B | LD A,$FF | Set the load as a "data block". | ||
| 847D | SCF | Set the carry flag. | ||
| 847E | LD IX,$BA8A | Set the start address to; Locations. | ||
| 8482 | LD DE,$05D9 | Set the block length to; $05D9 bytes. | ||
| 8485 | CALL LoadBlock | Call LoadBlock. | ||
|
Success!
|
||||
| 8488 | DI | Disable interrupts. | ||
| 8489 | LD HL,$B6EB | Call ThreeByteCopy using HL=B6EB and DE=$C9E2. | ||
| 848C | LD DE,$C9E2 | |||
| 848F | CALL ThreeByteCopy | |||
| 8492 | POP DE | Restore DE and IX from the stack. | ||
| 8493 | POP IX | |||
| 8495 | JP $82B3 | Jump to 82B3. | ||
|
Load Block
|
||||
| LoadBlock | 8498 | CALL $0556 | Call LD_BYTES. | |
| 849B | RET C | Return if the carry flag is set. | ||
| 849C | LD A,$01 | Write $01 to WaitCoutdown. | ||
| 849E | LD ($B701),A | |||
| 84A1 | LD HL,$B357 | HL="tape error - hit any key to restart program[0x15]" | ||
| 84A4 | CALL PrintMsg | Call PrintMsg. | ||
| LoadBlock_Loop | 84A7 | XOR A | Read from the keyboard port. | |
| 84A8 | IN A,($FE) | |||
| 84AA | AND %00011111 | A pressed key from any line will set its respective bit; bit 0 (outer key) to bit 4 (inner key). Hence keep only bits 0-4 for the check. | ||
| 84AC | CP $1F | Loop back to LoadBlock_Loop until any key has been pressed. | ||
| 84AE | JR Z,LoadBlock_Loop | |||
| 84B0 | JP ReStart | Jump to ReStart. | ||
| Prev: 83EF | Up: Map | Next: 84B3 |