Routines |
Prev: 36472 | Up: Map | Next: 36510 |
|
||||||||
36475 | PUSH HL | Store HL | ||||||
36476 | LD DE,63732 | Point to graphic (Magic Knight, frame 1, facing left) | ||||||
36479 | ADD A,A | Load index of character into HL and multiply by 8... | ||||||
36480 | LD H,0 | ... | ||||||
36482 | LD L,A | ... | ||||||
36483 | ADD HL,HL | ... | ||||||
36484 | ADD HL,HL | ... | ||||||
36485 | ADD HL,DE | ...and add to DE to obtain memory location of required character in the character set | ||||||
36486 | EX DE,HL | Swap values (DE now holds memory location of character to print and HL holds 63732) | ||||||
The operand of the instruction at 36487 represents the display file address to print to. This is modified by the instructions at 28272 and 36551.
|
||||||||
36487 | LD HL,0 | Load HL with the display file address to print character to | ||||||
36490 | LD B,8 | For eight bytes (i.e. full height of character)... | ||||||
36492 | LD A,(DE) | ...get graphic data from character set... | ||||||
36493 | LD (HL),A | ...and load into display file... | ||||||
36494 | INC DE | ...move to next pixel row in character set... | ||||||
36495 | INC H | ...and move to next pixel row in display file | ||||||
36496 | DJNZ 36492 | Loop back to 36492 if there are more rows to draw | ||||||
36498 | CALL 36709 | Load memory location 23487 (and HL) with memory location of attribute data (attribute file) for character just printed | ||||||
36501 | LD A,(23695) | Load A with attribute stored at 23695 (71 = white INK, black PAPER, BRIGHT) | ||||||
36504 | LD (HL),A | Apply attribute to character just printed | ||||||
36505 | CALL 36606 | Advance display file pointer to next location (for printing room name) | ||||||
36508 | POP HL | Restore HL | ||||||
36509 | RET | Return |
Prev: 36472 | Up: Map | Next: 36510 |