| Routines

25188: Copy two bytes from a command list into a character's buffer

Used by the routines at 25080, 25296, 25700, 29052, 31969 and 63447. Copies a routine address or pair of parameters from a character's current command list into his buffer.
Input
H | Character number (183-214)
L | Destination for the copied bytes
25188 | PUSH DE | Save DE
25189 | PUSH HL | Save the pointer to the character's buffer
25190 | LD L,25 | Collect into DE the address of the point reached in the command list (stored in bytes 25 and 26 of the character's buffer)
25192 | LD E,(HL)
25193 | INC L
25194 | LD D,(HL)
25195 | POP HL | Restore the pointer to the character's buffer
25196 | LD A,(DE) | Collect the first byte from the command list and copy it to the character's buffer
25197 | INC DE
25198 | LD (HL),A
25199 | INC L | Move along one byte in the character's buffer
25200 | LD A,(DE) | Collect the second byte from the command list and copy it to the character's buffer
25201 | INC DE
25202 | LD (HL),A
25203 | DEC L | Move back again in the character's buffer
25204 | LD A,L | Save L temporarily
25205 | LD L,25 | Update the address reached in the command list (stored in bytes 25 and 26 of the character's buffer)
25207 | LD (HL),E
25208 | INC L
25209 | LD (HL),D
25210 | POP DE | Restore DE
25211 | LD L,A | Restore L
25212 | RET |