| Routines

24972: Collect one byte from a command list

Used by the routines at 25126, 25303, 25534, 27453, 27480, 31834 and 32167. Collects a byte from a character's current command list and returns it in A.
Input
H | Character number (152-169)
24972 | PUSH HL | Save the character number temporarily
24973 | LD L,117 | Bytes 117 and 118 of the character's buffer hold the address reached in the command list
24975 | LD A,(HL) | Pick up the LSB of this address
24976 | INC (HL) | Move along one byte in the command list
24977 | JR NZ,24989 | Jump unless the LSB flipped over to zero
24979 | NOP |
24980 | NOP |
24981 | INC L | L=118
24982 | INC (HL) | Increment the MSB
24983 | LD H,(HL) | Set H to the old MSB
24984 | DEC H
24985 | LD L,A | HL=address of the byte to be picked up from the command list
24986 | LD A,(HL) | Pick up the byte in A
24987 | POP HL | Restore the character number to H
24988 | RET |
24989 | INC L | L=118
24990 | LD H,(HL) | HL=address of the byte to be picked up from the command list
24991 | JR 24985 | Jump back to pick up the byte in A