| Currah μSpeech | Routines |
| Prev: 00056 | Up: Map | Next: 00461 |
|
Used by the routine at HandleInterrupt.
Copy the "speech system © CURRAH 1983" bitmaps into the display file, using BannerAddresses.
|
||||||||
| PrintBanner | 00427 | LD DE,16384 | Start at the top of the display file. | |||||
| 00430 | LD BC,1883 | Use the banner address list. | ||||||
| 00433 | RES 7,(HL) | Mark the banner as drawn. | ||||||
| PrintBanner_Loop | 00435 | LD A,(BC) | Fetch the next bitmap address. | |||||
| 00436 | LD L,A | |||||||
| 00437 | INC BC | |||||||
| 00438 | LD A,(BC) | Return if the list has ended. | ||||||
| 00439 | CP 255 | |||||||
| 00441 | RET Z | |||||||
| 00442 | LD H,A | Complete the bitmap pointer. | ||||||
| 00443 | PUSH BC | Stash the list pointer on the stack. | ||||||
| 00444 | LD B,8 | Set the row counter to 8. | ||||||
| PrintBanner_Column | 00446 | LD A,(HL) | Write one pixel row to the display file. | |||||
| 00447 | LD (DE),A | |||||||
| 00448 | INC HL | Move to the next pixel row. | ||||||
| 00449 | INC D | |||||||
| 00450 | DJNZ PrintBanner_Column | Decrease the row counter and loop back to PrintBanner_Column until the character is done. | ||||||
| 00452 | LD A,D | Return to the top of the character cell. | ||||||
| 00453 | SUB 8 | |||||||
| 00455 | LD D,A | |||||||
| 00456 | INC DE | Move to the next character column. | ||||||
| 00457 | POP BC | Restore the list pointer from the stack. | ||||||
| 00458 | INC BC | Move to the next address. | ||||||
| 00459 | JR PrintBanner_Loop | Jump to PrintBanner_Loop. | ||||||
| Prev: 00056 | Up: Map | Next: 00461 |