Routines |
Prev: D610 | Up: Map | Next: D664 |
Door frames 2 and 3 both contain a "section" of a game character. This is copied into a buffer by first drawing the game character fully to Door_Buffer. Then the door frame is drawn over the top (in the correct position).
|
||||
Draws the game character together with door frame 2.
|
||||
Character_Door_Frame_02 | D61E | CALL Character_Address | On entry A points to a character index. The call to Character_Address translates this to the memory location of the character frame data (held in HL) and then calls Door_Buffer_Copy. | |
D621 | CALL Door_Buffer_Copy | |||
Door_Frame_02_Copy | D624 | LD HL,$BCE8 | Copies Door_Frame_02 into the Door_Buffer (+2 bytes ~ $EA92). | |
D627 | LD DE,$EA92 | |||
D62A | LD B,$58 | |||
Door_Frame_02_Copy_Loop | D62C | PUSH BC | ||
D62D | LD BC,$0005 | |||
D630 | LDIR | |||
D632 | INC DE | |||
D633 | INC DE | |||
D634 | POP BC | |||
D635 | DJNZ Door_Frame_02_Copy_Loop | |||
D637 | RET | Return. | ||
Draws the game character together with door frame 3.
|
||||
Character_Door_Frame_03 | D638 | CALL Character_Address | On entry A points to a character index. The call to Character_Address translates this to the memory location of the character frame data (held in HL) and then calls Door_Buffer_Copy. | |
D63B | CALL Door_Buffer_Copy | |||
Door_Frame_03_Copy | D63E | LD HL,$BEA0 | Copies Door_Frame_03 into the Door_Buffer (+4 bytes ~ $EA94). | |
D641 | LD DE,$EA94 | |||
D644 | LD B,$58 | |||
Door_Frame_03_Copy_Loop | D646 | PUSH BC | ||
D647 | LD BC,$0003 | |||
D64A | LDIR | |||
D64C | INC DE | |||
D64D | INC DE | |||
D64E | INC DE | |||
D64F | INC DE | |||
D650 | POP BC | |||
D651 | DJNZ Door_Frame_03_Copy_Loop | |||
D653 | RET | Return. | ||
Draws the game character alone to the door frame buffer.
|
||||
Door_Buffer_Copy | D654 | LD DE,$EA90 | Draws a character into the Door_Buffer. | |
D657 | LD B,$58 | |||
Door_Buffer_Copy_Loop | D659 | PUSH BC | ||
D65A | LD BC,$0006 | |||
D65D | LDIR | |||
D65F | INC DE | |||
D660 | POP BC | |||
D661 | DJNZ Door_Buffer_Copy_Loop | |||
D663 | RET |
Prev: D610 | Up: Map | Next: D664 |