![]() |
Routines |
| Prev: 37098 | Up: Map | Next: 37173 |
|
Used by the routine at 34574.
|
||||
| 37125 | LD HL,(32880) | Pick up the address of the conveyor's location in the screen buffer at 28672 from 32880 | ||
| 37128 | LD E,L | Copy this address to DE | ||
| 37129 | LD D,H | |||
| 37130 | LD A,(32882) | Pick up the length of the conveyor from 32882 | ||
| 37133 | LD B,A | B will count the conveyor tiles | ||
| 37134 | LD A,(32879) | Pick up the direction of the conveyor from 32879 | ||
| 37137 | OR A | Is the conveyor moving right? | ||
| 37138 | JR NZ,37159 | Jump if so | ||
|
The conveyor is moving left.
|
||||
| 37140 | LD A,(HL) | Copy the first pixel row of the conveyor tile to A | ||
| 37141 | RLC A | Rotate it left twice | ||
| 37143 | RLC A | |||
| 37145 | INC H | Point HL at the third pixel row of the conveyor tile | ||
| 37146 | INC H | |||
| 37147 | LD C,(HL) | Copy this pixel row to C | ||
| 37148 | RRC C | Rotate it right twice | ||
| 37150 | RRC C | |||
| 37152 | LD (DE),A | Update the first and third pixel rows of every conveyor tile in the screen buffer at 28672 | ||
| 37153 | LD (HL),C | |||
| 37154 | INC L | |||
| 37155 | INC E | |||
| 37156 | DJNZ 37152 | |||
| 37158 | RET | |||
|
The conveyor is moving right.
|
||||
| 37159 | LD A,(HL) | Copy the first pixel row of the conveyor tile to A | ||
| 37160 | RRC A | Rotate it right twice | ||
| 37162 | RRC A | |||
| 37164 | INC H | Point HL at the third pixel row of the conveyor tile | ||
| 37165 | INC H | |||
| 37166 | LD C,(HL) | Copy this pixel row to C | ||
| 37167 | RLC C | Rotate it left twice | ||
| 37169 | RLC C | |||
| 37171 | JR 37152 | Jump back to update the first and third pixel rows of every conveyor tile | ||
| Prev: 37098 | Up: Map | Next: 37173 |