Technician Ted | Routines |
Prev: 5FA8 | Up: Map | Next: 8029 |
This block is loaded immediately after the screen is drawn and the banner messages scrolled on screen. Once loaded, control passes immediately into it
|
||||
8000 | JP NC,$0000 | Reset if previous block didn't load | ||
8003 | LD A,$08 | Make the border black | ||
8005 | OUT ($FE),A | |||
8007 | EXX | Set "animation hash change" value. This is used to determine when a character needs to be redrawn. For now, don't do anything. | ||
8008 | LD C,$00 | |||
800A | EXX | |||
800B | LD H,$00 | |||
800D | LD B,$80 | Initial timing constant | ||
800F | LD IX,$8C1C | Start of next block | ||
The main block does not have a usual loading tone, so just ensure the tape is in sync
|
||||
8013 | LD D,$05 | Number of attempts | ||
8015 | CALL $8341 | Look for a bit on tape | ||
8018 | JP NC,$0000 | Reset if we couldn't find one | ||
801B | LD B,$B1 | New timing constant | ||
801D | DEC D | Reduce number of attempts | ||
801E | JR NZ,$8015 | Try again if we didn't find an edge change within the right time | ||
8020 | LD DE,$72D8 | Length of next block | ||
8023 | EXX | |||
8024 | INC C | Set "hash change" flag to 1 - equivalent to reading bit 0 from tape | ||
8025 | EXX | |||
8026 | JP $837D | Onto the next part |
Prev: 5FA8 | Up: Map | Next: 8029 |