![]() |
Routines |
| Prev: 90EA | Up: Map | Next: 9135 |
|
Used by the routine at 870E.
|
||||
| 9105 | LD HL,($8070) | Pick up the address of the conveyor's location in the screen buffer at 7000 from 8070 | ||
| 9108 | LD E,L | Copy this address to DE | ||
| 9109 | LD D,H | |||
| 910A | LD A,($8072) | Pick up the length of the conveyor from 8072 | ||
| 910D | LD B,A | B will count the conveyor tiles | ||
| 910E | LD A,($806F) | Pick up the direction of the conveyor from 806F | ||
| 9111 | OR A | Is the conveyor moving right? | ||
| 9112 | JR NZ,$9127 | Jump if so | ||
|
The conveyor is moving left.
|
||||
| 9114 | LD A,(HL) | Copy the first pixel row of the conveyor tile to A | ||
| 9115 | RLC A | Rotate it left twice | ||
| 9117 | RLC A | |||
| 9119 | INC H | Point HL at the third pixel row of the conveyor tile | ||
| 911A | INC H | |||
| 911B | LD C,(HL) | Copy this pixel row to C | ||
| 911C | RRC C | Rotate it right twice | ||
| 911E | RRC C | |||
| 9120 | LD (DE),A | Update the first and third pixel rows of every conveyor tile in the screen buffer at 7000 | ||
| 9121 | LD (HL),C | |||
| 9122 | INC L | |||
| 9123 | INC E | |||
| 9124 | DJNZ $9120 | |||
| 9126 | RET | |||
|
The conveyor is moving right.
|
||||
| 9127 | LD A,(HL) | Copy the first pixel row of the conveyor tile to A | ||
| 9128 | RRC A | Rotate it right twice | ||
| 912A | RRC A | |||
| 912C | INC H | Point HL at the third pixel row of the conveyor tile | ||
| 912D | INC H | |||
| 912E | LD C,(HL) | Copy this pixel row to C | ||
| 912F | RLC C | Rotate it left twice | ||
| 9131 | RLC C | |||
| 9133 | JR $9120 | Jump back to update the first and third pixel rows of every conveyor tile | ||
| Prev: 90EA | Up: Map | Next: 9135 |