![]() |
Routines |
| Prev: 8822 | Up: Map | Next: 8B78 |
|
Used by the routine at STORY_CHAR.
Only while PRINT is on. The eight pixel rows of character row 17 go out through port $FB a pixel at a time, as the ROM's COPY does; a printer that stops, or is not there, ends it.
|
||||
| LINE_TO_PRINTER | 8B22 | LD A,(TO_PRINTER) | ||
| 8B25 | AND A | |||
| 8B26 | RET Z | |||
| 8B27 | PUSH HL | |||
| 8B28 | PUSH DE | |||
| 8B29 | PUSH BC | |||
| 8B2A | LD D,$01 | |||
| 8B2C | LD HL,$5020 | |||
| 8B2F | XOR A | |||
| 8B30 | LD E,A | |||
| LINE_TO_PRINTER_0 | 8B31 | OUT ($FB),A | ||
| LINE_TO_PRINTER_1 | 8B33 | IN A,($FB) | ||
| 8B35 | ADD A,A | |||
| 8B36 | JP M,LINE_TO_PRINTER_6 | |||
| 8B39 | JR NC,LINE_TO_PRINTER_1 | |||
| 8B3B | PUSH HL | |||
| 8B3C | PUSH DE | |||
| 8B3D | LD A,D | |||
| 8B3E | CP $02 | |||
| 8B40 | SBC A,A | |||
| 8B41 | AND E | |||
| 8B42 | RLCA | |||
| 8B43 | AND E | |||
| 8B44 | LD D,A | |||
| LINE_TO_PRINTER_2 | 8B45 | LD C,(HL) | ||
| 8B46 | PUSH HL | |||
| 8B47 | LD B,$08 | |||
| LINE_TO_PRINTER_3 | 8B49 | LD A,D | ||
| 8B4A | RLC C | |||
| 8B4C | RRA | |||
| 8B4D | LD H,A | |||
| LINE_TO_PRINTER_4 | 8B4E | IN A,($FB) | ||
| 8B50 | RRA | |||
| 8B51 | JR NC,LINE_TO_PRINTER_4 | |||
| 8B53 | LD A,H | |||
| 8B54 | OUT ($FB),A | |||
| 8B56 | DJNZ LINE_TO_PRINTER_3 | |||
| 8B58 | POP HL | |||
| 8B59 | INC HL | |||
| 8B5A | LD A,L | |||
| 8B5B | AND $1F | |||
| 8B5D | JR NZ,LINE_TO_PRINTER_2 | |||
| LINE_TO_PRINTER_5 | 8B5F | IN A,($FB) | ||
| 8B61 | RRA | |||
| 8B62 | JR NC,LINE_TO_PRINTER_5 | |||
| 8B64 | LD A,D | |||
| 8B65 | RRCA | |||
| 8B66 | OUT ($FB),A | |||
| 8B68 | POP DE | |||
| 8B69 | POP HL | |||
| 8B6A | INC H | |||
| 8B6B | INC E | |||
| 8B6C | BIT 3,E | |||
| 8B6E | JR Z,LINE_TO_PRINTER_0 | |||
| 8B70 | LD A,$04 | |||
| 8B72 | OUT ($FB),A | |||
| LINE_TO_PRINTER_6 | 8B74 | POP BC | ||
| 8B75 | POP DE | |||
| 8B76 | POP HL | |||
| 8B77 | RET | |||
| Prev: 8822 | Up: Map | Next: 8B78 |