![]() |
Routines |
| Prev: 94D2 | Up: Map | Next: 9534 |
|
Used by the routine at 89AD.
|
||||
| 94F9 | LD HL,($80D7) | Pick up the address of the conveyor's location in the attribute buffer at 5E00 from 80D7 | ||
| 94FC | LD A,H | Point DE and HL at the location of the left end of the conveyor in the screen buffer at 7000 | ||
| 94FD | AND $01 | |||
| 94FF | RLCA | |||
| 9500 | RLCA | |||
| 9501 | RLCA | |||
| 9502 | ADD A,$70 | |||
| 9504 | LD H,A | |||
| 9505 | LD E,L | |||
| 9506 | LD D,H | |||
| 9507 | LD A,($80D9) | Pick up the length of the conveyor from 80D9 | ||
| 950A | OR A | Is there a conveyor in the room? | ||
| 950B | RET Z | Return if not | ||
| 950C | LD B,A | B will count the conveyor tiles | ||
| 950D | LD A,($80D6) | Pick up the direction of the conveyor from 80D6 (0=left, 1=right) | ||
| 9510 | OR A | Is the conveyor moving right? | ||
| 9511 | JR NZ,$9526 | Jump if so | ||
|
The conveyor is moving left.
|
||||
| 9513 | LD A,(HL) | Copy the first pixel row of the conveyor tile to A | ||
| 9514 | RLC A | Rotate it left twice | ||
| 9516 | RLC A | |||
| 9518 | INC H | Point HL at the third pixel row of the conveyor tile | ||
| 9519 | INC H | |||
| 951A | LD C,(HL) | Copy this pixel row to C | ||
| 951B | RRC C | Rotate it right twice | ||
| 951D | RRC C | |||
| 951F | LD (DE),A | Update the first and third pixel rows of every conveyor tile in the screen buffer at 7000 | ||
| 9520 | LD (HL),C | |||
| 9521 | INC L | |||
| 9522 | INC E | |||
| 9523 | DJNZ $951F | |||
| 9525 | RET | |||
|
The conveyor is moving right.
|
||||
| 9526 | LD A,(HL) | Copy the first pixel row of the conveyor tile to A | ||
| 9527 | RRC A | Rotate it right twice | ||
| 9529 | RRC A | |||
| 952B | INC H | Point HL at the third pixel row of the conveyor tile | ||
| 952C | INC H | |||
| 952D | LD C,(HL) | Copy this pixel row to C | ||
| 952E | RLC C | Rotate it left twice | ||
| 9530 | RLC C | |||
| 9532 | JR $951F | Jump back to update the first and third pixel rows of every conveyor tile | ||
| Prev: 94D2 | Up: Map | Next: 9534 |