![]() |
Routines |
| Prev: 7557 | Up: Map | Next: 758D |
|
||||||||||
| 755A | XOR A | Clear the buffer ready for writing | ||||||||
| 755B | LD B,$40 | |||||||||
| 755D | LD (DE),A | |||||||||
| 755E | INC DE | |||||||||
| 755F | DJNZ $755D | |||||||||
| 7561 | DEC DE | Point DE at the last byte of the buffer | ||||||||
| 7562 | LD C,$3E | There are 62 pixel columns available for writing in | ||||||||
| 7564 | LD A,(HL) | Pick up a character from the message in A | ||||||||
| 7565 | INC HL | Move to the next character in the message | ||||||||
| 7566 | AND A | Have we reached the end of the message? | ||||||||
| 7567 | JR Z,$757F | Jump if so | ||||||||
| 7569 | PUSH HL | Save the message pointer | ||||||||
| 756A | LD L,A | Point HL at the pixel width of the bitmap for the character in A | ||||||||
| 756B | LD H,$D9 | |||||||||
| 756D | LD A,(HL) | Pick up the width in A | ||||||||
| 756E | LD B,A | Transfer the width to B | ||||||||
| 756F | INC H | Point HL at the next font character bitmap byte | ||||||||
| 7570 | LD A,(HL) | Pick this up in A | ||||||||
| 7571 | CALL $7591 | Insert the font character bitmap byte into the buffer | ||||||||
| 7574 | DEC C | Decrease the pixel column count | ||||||||
| 7575 | DJNZ $756F | Jump back until all pixel columns for this letter are done | ||||||||
| 7577 | XOR A | A=0 (empty vertical pixel column, i.e. space) | ||||||||
| 7578 | DEC C | Decrease the pixel column count | ||||||||
| 7579 | CALL $7591 | Insert the space into the buffer | ||||||||
| 757C | POP HL | Restore the message pointer to HL | ||||||||
| 757D | JR $7564 | Jump back to write the next letter from the message | ||||||||
|
We've finished writing the message. Now centre it.
|
||||||||||
| 757F | BIT 7,C | Did we use more than 62 pixel columns? | ||||||||
| 7581 | RET NZ | Return if so | ||||||||
| 7582 | RR C | C holds the number of unused pixel columns; halve this and add one to get the padding | ||||||||
| 7584 | INC C | |||||||||
| 7585 | XOR A | Insert an empty pixel column (space) | ||||||||
| 7586 | CALL $7591 | |||||||||
| 7589 | DEC C | Next column of padding | ||||||||
| 758A | JR NZ,$7585 | Jump back until the text has been centred | ||||||||
| 758C | RET | |||||||||
| Prev: 7557 | Up: Map | Next: 758D |