Prev: 32114 Up: Map Next: 32154
32138: Write Menu Line
Used by the routine at GameMenu.
Prints one line of text for the game selection menu. The screen address of the line is worked out in one register set and the attribute address in the other, using the attribute held in Current_MenuAttribute, and then the text is printed by PrintString_Loop.
Before After
menu-line-before menu-line-after
Input
HL The Y position (in H) and X position (in L)
DE The address of the text
MenuWriteText 32138 PUSH HL Stash the co-ordinates of the line on the stack.
32139 CALL ScreenAddress Call ScreenAddress to convert the co-ordinates to a screen address.
32142 LD A,(24098) Fetch the attribute of the line and keep it in AF'.
32145 EX AF,AF'
32146 EXX Switch to the shadow registers.
32147 POP HL Restore the co-ordinates of the line from the stack.
32148 CALL AttributeAddress Call AttributeAddress to convert the co-ordinates to an attribute address.
32151 JP PrintString_Loop Jump to PrintString_Loop to print the menu line.
View the equivalent code in;
Prev: 32114 Up: Map Next: 32154