![]()  | 
Routines | 
| Prev: 47961 | Up: Map | Next: 48084 | 
| 
 
Used by the routine at Action_Load.
 
 | 
||||
| 
 
Print "LOADING. Start tape.".
 
 | 
||||
| LoadTape | 48020 | LD HL,48727 | HL=Messaging_LoadingStartTape. | |
| 48023 | CALL PrintStringAndNewline | Call PrintStringAndNewline. | ||
| 48026 | LD IX,48112 | Load the starting address into IX at Table_ItemLocations. | ||
| 48030 | LD DE,324 | Set the block length in DE to 324 bytes. | ||
| 48033 | LD A,255 | Set A to 255 which indicates this is a data block. | ||
| 48035 | SCF | Set the carry flag to indicate this is loading. | ||
| 48036 | CALL 1366 | Call LD_BYTES. | ||
| 48039 | JR C,LoadTape_Success | Jump to LoadTape_Success if the carry flag is not set. | ||
| 
 
Print "Tape error.".
 
 | 
||||
| 48041 | LD HL,48748 | HL=Messaging_TapeError. | ||
| 48044 | CALL PrintStringAndNewline | Call PrintStringAndNewline. | ||
| 48047 | RET | Return. | ||
| LoadTape_Success | 48048 | LD A,(48434) | A=*Count_ConfigurableExits. | |
| 48051 | OR A | Return if A is zero. | ||
| 48052 | RET Z | |||
| 48053 | LD B,A | B=A. | ||
| 48054 | LD IX,(48418) | IX=*Pointer_ConfigurableExits. | ||
| 48058 | LD DE,48281 | DE=48281. | ||
| 48061 | JR LoadTape_Write | Jump to LoadTape_Write. | ||
| LoadTape_WriteLoop | 48063 | INC IX | Increment IX by two. | |
| 48065 | INC IX | |||
| 48067 | INC DE | Increment DE by one. | ||
| LoadTape_Write | 48068 | LD L,(IX+0) | L=*IX+0. | |
| 48071 | LD H,(IX+1) | H=*IX+1. | ||
| 48074 | LD A,(DE) | A=*DE. | ||
| 48075 | LD (HL),A | Write A to *HL. | ||
| 48076 | DJNZ LoadTape_WriteLoop | Decrease counter by one and loop back to LoadTape_WriteLoop until counter is zero. | ||
| 48078 | LD E,0 | E=0. | ||
| 48080 | CALL Handler_DisplayRoomImage | Call Handler_DisplayRoomImage. | ||
| 48083 | RET | Return. | ||
| 
 
View the equivalent code in Warlord.
 
 | 
||||
| Prev: 47961 | Up: Map | Next: 48084 |