![]() |
Routines |
Prev: 42442 | Up: Map | Next: 42567 |
Used by the routine at 63634.
|
||||
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_ItemLocations. | ||
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 |