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 |