| 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 |