![]() |
Routines |
Prev: 38098 | Up: Map |
Used by the routine at 35245.
|
|||||||
38137 | LD HL,(32983) | Pick up the address of the conveyor's location in the attribute buffer at 24064 from 32983 | |||||
38140 | LD A,H | Point DE and HL at the location of the left end of the conveyor in the screen buffer at 28672 | |||||
38141 | AND 1 | ||||||
38143 | RLCA | ||||||
38144 | RLCA | ||||||
38145 | RLCA | ||||||
38146 | ADD A,112 | ||||||
38148 | LD H,A | ||||||
38149 | LD E,L | ||||||
38150 | LD D,H | ||||||
38151 | LD A,(32985) | Pick up the length of the conveyor from 32985 | |||||
38154 | OR A | Is there a conveyor in the room? | |||||
38155 | RET Z | Return if not | |||||
38156 | LD B,A | B will count the conveyor tiles | |||||
38157 | LD A,(32982) | Pick up the direction of the conveyor from 32982 (0=left, 1=right) | |||||
38160 | OR A | Is the conveyor moving right? | |||||
38161 | JR NZ,38182 | Jump if so | |||||
The conveyor is moving left.
|
|||||||
38163 | LD A,(HL) | Copy the first pixel row of the conveyor tile to A | |||||
38164 | RLC A | Rotate it left twice | |||||
38166 | RLC A | ||||||
38168 | INC H | Point HL at the third pixel row of the conveyor tile | |||||
38169 | INC H | ||||||
38170 | LD C,(HL) | Copy this pixel row to C | |||||
38171 | RRC C | Rotate it right twice | |||||
38173 | RRC C | ||||||
38175 | LD (DE),A | Update the first and third pixel rows of every conveyor tile in the screen buffer at 28672 | |||||
38176 | LD (HL),C | ||||||
38177 | INC L | ||||||
38178 | INC E | ||||||
38179 | DJNZ 38175 | ||||||
38181 | RET | ||||||
The conveyor is moving right.
|
|||||||
38182 | LD A,(HL) | Copy the first pixel row of the conveyor tile to A | |||||
38183 | RRC A | Rotate it right twice | |||||
38185 | RRC A | ||||||
38187 | INC H | Point HL at the third pixel row of the conveyor tile | |||||
38188 | INC H | ||||||
38189 | LD C,(HL) | Copy this pixel row to C | |||||
38190 | RLC C | Rotate it left twice | |||||
38192 | RLC C | ||||||
38194 | JR 38175 | Jump back to update the first and third pixel rows of every conveyor tile |
Prev: 38098 | Up: Map |