![]()  | 
Routines | 
| Prev: 42442 | Up: Map | Next: 42567 | 
| 
 
Used by the routine at Action_Load.
 
 | 
||||
| 
 
Print "LOADING. Press PLAY.".
 
 | 
||||
| LoadTape | 42501 | LD HL,43285 | HL=Messaging_LoadingPressPlay. | |
| 42504 | CALL PrintStringAndNewline | Call PrintStringAndNewline. | ||
| 42507 | LD IX,42604 | Load the starting address into IX at Table_ItemEventLocations. | ||
| 42511 | LD DE,390 | Set the block length in DE to 390 bytes. | ||
| 42514 | LD A,255 | Set A to 255 which indicates this is a data block. | ||
| 42516 | SCF | Set the carry flag to indicate this is loading. | ||
| 42517 | CALL 1366 | Call LD_BYTES. | ||
| 42520 | JR C,LoadTape_Success | Jump to LoadTape_Success if the carry flag is not set. | ||
| 
 
Print "Tape error.
Press any key to restart.".
 
 | 
||||
| 42522 | LD HL,43306 | HL=Messaging_TapeError. | ||
| 42525 | CALL PrintStringAndNewline | Call PrintStringAndNewline. | ||
| 42528 | SCF | |||
| 42529 | RET | Return. | ||
| LoadTape_Success | 42530 | LD A,(42992) | A=*Count_ConfigurableExits. | |
| 42533 | OR A | Return if A is zero. | ||
| 42534 | RET Z | |||
| 42535 | LD B,A | B=A. | ||
| 42536 | LD IX,(42972) | IX=*Pointer_ConfigurableExits. | ||
| 42540 | LD DE,42897 | DE=42897. | ||
| 42543 | JR LoadTape_Write | Jump to LoadTape_Write. | ||
| LoadTape_WriteLoop | 42545 | INC IX | Increment IX by two. | |
| 42547 | INC IX | |||
| 42549 | INC DE | Increment DE by one. | ||
| LoadTape_Write | 42550 | LD L,(IX+0) | L=*IX+0. | |
| 42553 | LD H,(IX+1) | H=*IX+1. | ||
| 42556 | LD A,(DE) | A=*DE. | ||
| 42557 | LD (HL),A | Write A to *HL. | ||
| 42558 | DJNZ LoadTape_WriteLoop | Decrease counter by one and loop back to LoadTape_WriteLoop until counter is zero. | ||
| 42560 | LD E,0 | E=0. | ||
| 42562 | CALL Handler_DisplayRoomImage | Call Handler_DisplayRoomImage. | ||
| 42565 | AND A | Set flags. | ||
| 42566 | RET | Return. | ||
| 
 
View the equivalent code in The Jewels Of Babylon.
 
 | 
||||
| Prev: 42442 | Up: Map | Next: 42567 |