Prev: 85EB Up: Map Next: 8753
8679: Print Menu Items
Used by the routines at GameStart and DA24.
PrintMenuItems 8679 PUSH IX Stash IX and HL on the stack.
867B PUSH HL
867C CALL RestoreDefaultFont Call RestoreDefaultFont.
867F LD IX,$87E0 IX=87E0.
8683 LD IY,$8785 IY=8785.
8687 LD A,($85EA) Load E with SelectedLanguage.
868A LD E,A
PrintMenuItems_0 868B SRL E
868D JR C,PrintMenuItems_1
868F LD A,$0D A=0D.
8691 JR PrintMenuItems_2 Jump to PrintMenuItems_2.
PrintMenuItems_1 8693 LD A,$0E A=0E.
PrintMenuItems_2 8695 LD L,(IX+$00)
8698 INC IX
869A LD H,(IX+$00)
869D INC IX
869F PUSH DE
86A0 CALL PrintMessage Call PrintMessage.
86A3 POP DE
86A4 INC IY
86A6 LD A,(IY+$00)
86A9 CP $5D
86AB JR Z,PrintMenuItems_3
86AD CP $78
86AF JR NZ,PrintMenuItems_0
86B1 INC IY
86B3 LD HL,$875D Write 875D to *DAF2.
86B6 LD ($DAF2),HL
86B9 JR PrintMenuItems_0 Jump to PrintMenuItems_0.
PrintMenuItems_3 86BB CALL RestoreDefaultFont Call RestoreDefaultFont.
86BE LD HL,$59BB HL=59BB.
86C1 LD IY,$6DE0 IY=6DE0.
Print the "TOTAL" and "HiScore" values.
86C5 LD B,$02 B=02.
PrintTotalHiScoreValues_Loop 86C7 PUSH BC Stash the counter on the stack.
86C8 LD A,$47 A=INK: WHITE, PAPER: BLACK (BRIGHT) .
86CA CALL PrintMessage Call PrintMessage.
86CD INC IY
86CF LD BC,$005C
86D2 ADD HL,BC
86D3 POP BC Restore the counter from the stack.
86D4 DJNZ PrintTotalHiScoreValues_Loop Decrease the counter by one and loop back to PrintTotalHiScoreValues_Loop until the counter is zero.
86D6 LD HL,$875D Write 875D to *DAF2.
86D9 LD ($DAF2),HL
86DC LD IX,$87E0 IX=87E0.
86E0 LD IY,$85EB IY=85EB.
86E4 LD B,$08 B=08.
PrintMenuItems_4 86E6 PUSH BC Stash BC on the stack.
86E7 LD L,(IX+$00) L=*IX+00.
86EA INC IX Increment IX by one.
86EC LD H,(IX+$00) H=*IX+00.
86EF INC IX Increment IX by one.
86F1 DEC HL Decrease HL by two.
86F2 DEC HL
86F3 LD D,$00 D=00.
86F5 RRC (IY+$00)
86F9 JR C,PrintMenuItems_5
86FB LD E,$04 E=04.
86FD LD A,$09 A=09.
86FF JR PrintMenuItems_6
PrintMenuItems_5 8701 LD E,D
8702 LD A,$4F
PrintMenuItems_6 8704 LD ($6D96),A
8707 CALL PrintDoubleHeightCharacter Call PrintDoubleHeightCharacter.
870A POP BC
870B DJNZ PrintMenuItems_4
870D CALL RestoreDefaultFont Call RestoreDefaultFont.
8710 LD IX,$8753
8714 LD IY,$D9B6
8718 LD B,$05
PrintMenuItems_7 871A PUSH BC
871B LD L,(IX+$00)
871E INC IX
8720 LD H,(IX+$00)
8723 INC IX
8725 LD A,(IY+$00)
8728 INC IY
872A LD E,A
872B LD D,$00
872D CP $3F
872F JR NZ,PrintMenuItems_8
8731 LD A,$F8
8733 JR PrintMenuItems_9 Jump to PrintMenuItems_9.
PrintMenuItems_8 8735 LD A,$0E
PrintMenuItems_9 8737 LD ($6D96),A
873A CALL PrintDoubleHeightCharacter Call PrintDoubleHeightCharacter.
873D POP BC
873E DJNZ PrintMenuItems_7
8740 LD A,$08
8742 CALL $D899
8745 CALL $D956
8748 POP HL
8749 POP IX
874B RET Return.
RestoreDefaultFont 874C LD HL,$3C00 Write 3C00 (CHARSET-0100) to *DAF2.
874F LD ($DAF2),HL
8752 RET Return.
Prev: 85EB Up: Map Next: 8753