Prev: 00056 Up: Map Next: 00461
00427: Print Banner
Used by the routine at HandleInterrupt.
Copy the "speech system © CURRAH 1983" bitmaps into the display file, using BannerAddresses.
Input
HL Workspace flags pointer
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