![]() |
Routines |
Prev: 37098 | Up: Map |
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 |