Routines |
Prev: FDD5 | Up: Map | Next: FE41 |
Used by the routine at FDD5.
|
|||||||||||||||||||||||||||||||
The characters are a series of 3-bit numbers (0-7) packed contiguously into bytes. To extract the relevant character, the appropriate bits need to be taken from every 3 byte sequence, which contains 8 characters.
|
|||||||||||||||||||||||||||||||
FDEA | LD B,$04 | Four sets of 3-byte sequences for each line. | |||||||||||||||||||||||||||||
FDEC | LD A,(IX+$00) | Get the first byte. | |||||||||||||||||||||||||||||
FDEF | RLCA | Put the top three bits in the bottom. | |||||||||||||||||||||||||||||
FDF0 | RLCA | ||||||||||||||||||||||||||||||
FDF1 | RLCA | ||||||||||||||||||||||||||||||
FDF2 | CALL $FE41 | Print the character. | |||||||||||||||||||||||||||||
FDF5 | LD A,(IX+$00) | Get the first byte. | |||||||||||||||||||||||||||||
FDF8 | RRCA | Put bits 2-4 in the bottom. | |||||||||||||||||||||||||||||
FDF9 | RRCA | ||||||||||||||||||||||||||||||
FDFA | CALL $FE41 | Print the character. | |||||||||||||||||||||||||||||
FDFD | LD A,(IX+$00) | Put the first byte in A and the second in C. | |||||||||||||||||||||||||||||
FE00 | LD C,(IX+$01) | ||||||||||||||||||||||||||||||
FE03 | RL C | Get the top bit of the second byte and the bottom two bits of the first. | |||||||||||||||||||||||||||||
FE05 | RLA | ||||||||||||||||||||||||||||||
FE06 | CALL $FE41 | Print the character. | |||||||||||||||||||||||||||||
FE09 | LD A,(IX+$01) | Get the second byte. | |||||||||||||||||||||||||||||
FE0C | RRCA | Put bits 4-6 in the bottom. | |||||||||||||||||||||||||||||
FE0D | RRCA | ||||||||||||||||||||||||||||||
FE0E | RRCA | ||||||||||||||||||||||||||||||
FE0F | RRCA | ||||||||||||||||||||||||||||||
FE10 | CALL $FE41 | Print the character. | |||||||||||||||||||||||||||||
FE13 | LD A,(IX+$01) | Get the second byte. | |||||||||||||||||||||||||||||
FE16 | RRCA | Put bits 1-3 in the bottom. | |||||||||||||||||||||||||||||
FE17 | CALL $FE41 | Print the character. | |||||||||||||||||||||||||||||
FE1A | LD A,(IX+$01) | Put the first byte in A and the second in C. | |||||||||||||||||||||||||||||
FE1D | LD C,(IX+$02) | ||||||||||||||||||||||||||||||
FE20 | RL C | Get the top two bit of the third byte and the bottom bit of the second. | |||||||||||||||||||||||||||||
FE22 | RLA | ||||||||||||||||||||||||||||||
FE23 | RL C | ||||||||||||||||||||||||||||||
FE25 | RLA | ||||||||||||||||||||||||||||||
FE26 | CALL $FE41 | Print the character. | |||||||||||||||||||||||||||||
FE29 | LD A,(IX+$02) | Get the third byte. | |||||||||||||||||||||||||||||
FE2C | RRCA | Put bits 3-5 in the bottom. | |||||||||||||||||||||||||||||
FE2D | RRCA | ||||||||||||||||||||||||||||||
FE2E | RRCA | ||||||||||||||||||||||||||||||
FE2F | CALL $FE41 | Print the character. | |||||||||||||||||||||||||||||
FE32 | LD A,(IX+$02) | Get the byte byte; the bottom 3 bits will have the last character. | |||||||||||||||||||||||||||||
FE35 | CALL $FE41 | Print the character. | |||||||||||||||||||||||||||||
FE38 | INC IX | Move to the next block. | |||||||||||||||||||||||||||||
FE3A | INC IX | ||||||||||||||||||||||||||||||
FE3C | INC IX | ||||||||||||||||||||||||||||||
FE3E | DJNZ $FDEC | Repeat until all characters in the line are printed. | |||||||||||||||||||||||||||||
FE40 | RET |
Prev: FDD5 | Up: Map | Next: FE41 |