| Routines

F15F: Collect one byte from a command list

Used by the routine at F171. Collects a byte from a character's current command list and returns it in A.
Input
H | Character number (0xD7-0xE5)
F15F | PUSH HL | Save the character number
F160 | PUSH DE |
F161 | LD L,$16 | Byte 0x16 of the character's buffer holds the offset of the point reached in the command list (relative to the start)
F163 | LD E,(HL) | Pick up this offset in E
F164 | INC (HL) | Increment the offset
F165 | INC L | Collect the start address of the command list from bytes 0x17 and 0x18 of the character's buffer into HL
F166 | LD A,(HL)
F167 | INC L
F168 | LD H,(HL)
F169 | LD L,A
F16A | LD D,$00 | DE=offset
F16C | ADD HL,DE | Point HL at the byte to collect from the command list
F16D | LD A,(HL) | Pick up the byte
F16E | POP DE |
F16F | POP HL | Restore the character number to H
F170 | RET |