![]() |
Routines |
| Prev: DA23 | Up: Map | Next: DA5B |
|
Used by the routine at Continue_Bad_Tempered_Thing_Dialogue.
Draw one ROM/charset glyph for Bad Tempered Thing dialogue. HL is the destination attribute-file address; E holds the character code Thickens the bitmap (byte OR byte>>01) and points Boney's graphic layout at GraphicLayoutScript_BoneyActions while the line is shown.
|
||||||||||
|
Stash callers' registers and paint the glyph attribute.
|
||||||||||
| Draw_DialogueCharacter | DA2D | PUSH DE | Stash DE, HL and BC on the stack. | |||||||
| DA2E | PUSH HL | |||||||||
| DA2F | PUSH BC | |||||||||
| DA30 | LD A,$47 | Set the dialogue glyph attribute to bright white on black (47). | ||||||||
| DA32 | LD (HL),A | |||||||||
|
Convert the attribute address into a screen-bitmap address and locate the glyph.
|
||||||||||
| DA33 | LD A,H | Multiply the attribute address high byte by 08. | ||||||||
| DA34 | ADD A,A | |||||||||
| DA35 | ADD A,A | |||||||||
| DA36 | ADD A,A | |||||||||
| DA37 | AND %01011011 | Keep only the screen-bitmap high bits (mask 5B). | ||||||||
| DA39 | LD H,A | Write the result back to H. | ||||||||
| DA3A | PUSH HL | Stash HL on the stack. | ||||||||
| DA3B | EX DE,HL | Swap the character code into HL, multiply it by 08, and add the character-set base at Pointer_CurrentCharacterSet to get the glyph address. | ||||||||
| DA3C | ADD HL,HL | |||||||||
| DA3D | ADD HL,HL | |||||||||
| DA3E | ADD HL,HL | |||||||||
| DA3F | LD DE,($72F9) | |||||||||
| DA43 | ADD HL,DE | |||||||||
| DA44 | POP DE | Restore DE from the stack. | ||||||||
|
Copy eight thickened glyph rows to the screen.
|
||||||||||
| DA45 | LD B,$08 | There are 08 pixel rows in a character. | ||||||||
|
Copy one thickened glyph row (byte OR byte>>01) and point Berk at talking layout GraphicLayoutScript_BoneyActions.
|
||||||||||
| Draw_DialogueCharacter_CopyThickRow | DA47 | LD A,(HL) | Copy one thickened glyph row (byte OR byte>>01) to the screen and advance. | |||||||
| DA48 | LD C,A | |||||||||
| DA49 | SRL C | |||||||||
| DA4B | OR C | |||||||||
| DA4C | LD (DE),A | |||||||||
| DA4D | INC D | |||||||||
| DA4E | INC HL | |||||||||
| DA4F | DJNZ Draw_DialogueCharacter_CopyThickRow | |||||||||
| DA51 | LD HL,$9C8A | Point Boney's graphic layout pointer (Pointer_BoneyGraphicLayout) at GraphicLayoutScript_BoneyActions. | ||||||||
| DA54 | LD ($8EF3),HL | |||||||||
| DA57 | POP BC | Restore BC, HL and DE from the stack. | ||||||||
| DA58 | POP HL | |||||||||
| DA59 | POP DE | |||||||||
| DA5A | RET | Return. | ||||||||
| Prev: DA23 | Up: Map | Next: DA5B |