![]() |
Routines |
Prev: 26414 | Up: Map | Next: 26537 |
Used by the routines at PrintScore, PrintHeader, Print_ControlMenu, Print_InstructionsMenu, 27886, 29385, 31154 and TitleScreen.
|
||||||||||||||
Configurable_PrintString | 26479 | LD IX,24915 | IX=24915. | |||||||||||
26483 | JR PrintString | Jump to PrintString. | ||||||||||||
This entry point is used by the routines at 26986, Print_ControlMenu, 31154 and TitleScreen.
|
||||||||||||||
SpectrumFont_PrintString | 26485 | LD IX,15360 | IX=15360. | |||||||||||
26489 | JR PrintString | Jump to PrintString. | ||||||||||||
CustomFont_PrintString | 26491 | LD IX,24915 | IX=24915. | |||||||||||
PrintString | 26495 | PUSH DE | Stash DE, BC, BC, DE and HL on the stack. | |||||||||||
26496 | PUSH BC | |||||||||||||
Configurable_PrintString_0 | 26497 | PUSH BC | ||||||||||||
26498 | PUSH DE | |||||||||||||
26499 | PUSH HL | |||||||||||||
26500 | LD L,(HL) | Store the offset for the UDG data look-up in HL. | ||||||||||||
26501 | LD H,0 | |||||||||||||
26503 | ADD HL,HL | Multiply HL by 8. | ||||||||||||
26504 | ADD HL,HL | |||||||||||||
26505 | ADD HL,HL | |||||||||||||
26506 | PUSH IX | BC=IX (using the stack). | ||||||||||||
26508 | POP BC | |||||||||||||
26509 | ADD HL,BC | Add BC to HL. | ||||||||||||
26510 | LD B,8 | Set a counter in B for 8 rows. | ||||||||||||
PrintString_Loop | 26512 | LD A,(HL) | Copy one row of graphics data to the screen buffer. | |||||||||||
26513 | LD (DE),A | |||||||||||||
26514 | INC HL | Move to the next byte of graphics data. | ||||||||||||
26515 | INC D | Move down one pixel row. | ||||||||||||
26516 | DJNZ PrintString_Loop | Decrease the row counter by one and loop back to PrintString_Loop until counter is zero. | ||||||||||||
26518 | POP HL | Restore HL and DE from the stack. | ||||||||||||
26519 | POP DE | |||||||||||||
26520 | INC DE | Increment DE by one. | ||||||||||||
26521 | INC HL | Increment HL by one. | ||||||||||||
26522 | POP BC | Restore BC from the stack. | ||||||||||||
26523 | DJNZ Configurable_PrintString_0 | Decrease counter by one and loop back to Configurable_PrintString_0 until counter is zero. | ||||||||||||
26525 | DEC DE | Decrease DE by one. | ||||||||||||
26526 | CALL ConvertScreenToAttributeBufferAddress | Call ConvertScreenToAttributeBufferAddress. | ||||||||||||
26529 | POP BC | Restore BC from the stack. | ||||||||||||
26530 | LD A,C | Fetch the attribute colour. | ||||||||||||
ColourPrintString_Loop | 26531 | LD (DE),A | Write A to the attribute buffer. | |||||||||||
26532 | DEC DE | Move backwards one attribute block. | ||||||||||||
26533 | DJNZ ColourPrintString_Loop | Decrease counter by one and loop back to ColourPrintString_Loop until counter is zero. | ||||||||||||
26535 | POP DE | Restore DE from the stack. | ||||||||||||
26536 | RET | Return. |
Prev: 26414 | Up: Map | Next: 26537 |