Prev: 26414 Up: Map Next: 26537
26479: Print String
Input
B String length
C Attribute value of string
DE Screen buffer address
HL Pointer to string data
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.
This entry point is used by the routines at 26986, 27171 and 31154.
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