| Routines

61791: Collect one byte from a command list

Used by the routine at 61809. Collects a byte from a character's current command list and returns it in A.
Input
H | Character number (215-229)
61791 | PUSH HL | Save the character number
61792 | PUSH DE |
61793 | LD L,22 | Byte 22 of the character's buffer holds the offset of the point reached in the command list (relative to the start)
61795 | LD E,(HL) | Pick up this offset in E
61796 | INC (HL) | Increment the offset
61797 | INC L | Collect the start address of the command list from bytes 23 and 24 of the character's buffer into HL
61798 | LD A,(HL)
61799 | INC L
61800 | LD H,(HL)
61801 | LD L,A
61802 | LD D,0 | DE=offset
61804 | ADD HL,DE | Point HL at the byte to collect from the command list
61805 | LD A,(HL) | Pick up the byte
61806 | POP DE |
61807 | POP HL | Restore the character number to H
61808 | RET |