![]()  | 
Routines | 
| Prev: BB59 | Up: Map | Next: BBD4 | 
| 
 
Used by the routine at Action_Load.
 
 | 
||||
| 
 
Print "LOADING. Start tape.".
 
 | 
||||
| LoadTape | BB94 | LD HL,$BE57 | HL=Messaging_LoadingStartTape. | |
| BB97 | CALL PrintStringAndNewline | Call PrintStringAndNewline. | ||
| BB9A | LD IX,$BBF0 | Load the starting address into IX at Table_ItemLocations. | ||
| BB9E | LD DE,$0144 | Set the block length in DE to 0144 bytes. | ||
| BBA1 | LD A,$FF | Set A to FF which indicates this is a data block. | ||
| BBA3 | SCF | Set the carry flag to indicate this is loading. | ||
| BBA4 | CALL $0556 | Call LD_BYTES. | ||
| BBA7 | JR C,LoadTape_Success | Jump to LoadTape_Success if the carry flag is not set. | ||
| 
 
Print "Tape error.".
 
 | 
||||
| BBA9 | LD HL,$BE6C | HL=Messaging_TapeError. | ||
| BBAC | CALL PrintStringAndNewline | Call PrintStringAndNewline. | ||
| BBAF | RET | Return. | ||
| LoadTape_Success | BBB0 | LD A,($BD32) | A=*Count_ConfigurableExits. | |
| BBB3 | OR A | Return if A is zero. | ||
| BBB4 | RET Z | |||
| BBB5 | LD B,A | B=A. | ||
| BBB6 | LD IX,($BD22) | IX=*Pointer_ConfigurableExits. | ||
| BBBA | LD DE,$BC99 | DE=BC99. | ||
| BBBD | JR LoadTape_Write | Jump to LoadTape_Write. | ||
| LoadTape_WriteLoop | BBBF | INC IX | Increment IX by two. | |
| BBC1 | INC IX | |||
| BBC3 | INC DE | Increment DE by one. | ||
| LoadTape_Write | BBC4 | LD L,(IX+$00) | L=*IX+00. | |
| BBC7 | LD H,(IX+$01) | H=*IX+01. | ||
| BBCA | LD A,(DE) | A=*DE. | ||
| BBCB | LD (HL),A | Write A to *HL. | ||
| BBCC | DJNZ LoadTape_WriteLoop | Decrease counter by one and loop back to LoadTape_WriteLoop until counter is zero. | ||
| BBCE | LD E,$00 | E=00. | ||
| BBD0 | CALL Handler_DisplayRoomImage | Call Handler_DisplayRoomImage. | ||
| BBD3 | RET | Return. | ||
| 
 
View the equivalent code in Warlord.
 
 | 
||||
| Prev: BB59 | Up: Map | Next: BBD4 |