Routines |
Prev: ED4E | Up: Map | Next: EF6B |
Used by the routine at CDEF.
|
||||
EF2E | LD E,$A7 | X = A7 | ||
EF30 | LD D,$00 | Y = 0 | ||
EF32 | LD HL,$EA60 | EA60 is the screen offsets table. | ||
EF35 | ADD HL,DE | Get the correct screen address. | ||
EF36 | ADD HL,DE | |||
EF37 | LD ($EF7A),HL | Store this. (EF7A). | ||
EF3A | LD B,$18 | 12 characters to draw. | ||
Draw each character in the correct frame.
|
||||
EF3C | PUSH BC | Remember this. | ||
EF3D | LD A,(HL) | Put the screen address in HL. | ||
EF3E | INC HL | |||
EF3F | LD H,(HL) | |||
EF40 | LD L,A | |||
EF41 | LD DE,$0019 | Move down a row and store the result in DE. | ||
EF44 | ADD HL,DE | |||
EF45 | EX DE,HL | |||
EF46 | LD HL,($EF77) | Get the pointer to the graphic. | ||
EF49 | LD BC,$0005 | 5 bytes to copy to screen. | ||
EF4C | LDIR | Do the copy. | ||
EF4E | LD ($EF77),HL | Store the next address to copy. | ||
EF51 | LD HL,($EF7A) | Move back a screen address. | ||
EF54 | DEC HL | |||
EF55 | DEC HL | |||
EF56 | LD ($EF7A),HL | |||
EF59 | POP BC | Restore count of characters to draw. | ||
EF5A | DJNZ $EF3C | Loop back if there is more to do. | ||
All characters are now drawn.
|
||||
EF5C | LD A,($EF79) | Get the frame counter. | ||
EF5F | INC A | Move to the next counter. | ||
EF60 | CP $04 | Is this the last frame? | ||
EF62 | JR NZ,$EF67 | If not, jump forward. | ||
EF64 | CALL $EF6B | Otherwise reset back to the first frame. | ||
EF67 | LD ($EF79),A | Store the new frame and return. | ||
EF6A | RET |
Prev: ED4E | Up: Map | Next: EF6B |