Prev: 8E59 Up: Map Next: 8EE2
8E5A: Draw User Interface
Used by the routine at PlayGame.
user-interface
DrawUserInterface 8E5A LD HL,$5620 HL=5620 (screen buffer location).
8E5D LD E,$02 E=02.
DrawUserInterface_0 8E5F LD D,$02 D=02.
DrawUserInterface_1 8E61 PUSH HL Stash HL on the stack.
8E62 LD C,$03 C=03.
DrawUserInterface_2 8E64 LD (HL),$03 Write 03 to *HL.
8E66 INC HL Increment HL by one.
8E67 LD B,$1E B=1E.
DrawUserInterface_3 8E69 LD (HL),$FF Write FF to *HL.
8E6B INC HL Increment HL by one.
8E6C DJNZ DrawUserInterface_3 Decrease counter by one and loop back to DrawUserInterface_3 until counter is zero.
8E6E LD (HL),$C0 Write C0 to *HL.
8E70 PUSH DE Stash DE on the stack.
8E71 LD DE,$0021 HL+=0021.
8E74 ADD HL,DE
8E75 POP DE Restore DE from the stack.
8E76 DEC C Decrease C by one.
8E77 JR NZ,DrawUserInterface_2 Jump to DrawUserInterface_2 until C is zero.
8E79 POP HL Restore HL from the stack.
8E7A INC H Increment H by one.
8E7B DEC D Decrease D by one.
8E7C JR NZ,DrawUserInterface_1 Jump to DrawUserInterface_1 until D is zero.
8E7E PUSH DE Temporarily stash DE on the stack.
8E7F LD DE,$07C0 HL-=07C0.
8E82 SBC HL,DE
8E84 POP DE Restore DE from the stack.
8E85 DEC E Decrease E by one.
8E86 JR NZ,DrawUserInterface_0 Jump to DrawUserInterface_0 until E is zero.
8E88 LD HL,$5040 HL=5040 (screen buffer location).
8E8B LD C,$08 C=08.
DrawUserInterface_4 8E8D PUSH HL Stash HL on the stack.
8E8E LD B,$03 B=03.
DrawUserInterface_5 8E90 LD (HL),$03 Write 03 to *HL.
8E92 LD DE,$001F HL+=001F.
8E95 ADD HL,DE
8E96 LD (HL),$C0 Write C0 to *HL.
8E98 LD DE,$0021 HL+=0021.
8E9B ADD HL,DE
8E9C DJNZ DrawUserInterface_5 Decrease counter by one and loop back to DrawUserInterface_5 until counter is zero.
8E9E POP HL Restore HL from the stack.
8E9F INC H Increment H by one.
8EA0 DEC C Decrease C by one.
8EA1 JR NZ,DrawUserInterface_4 Jump to DrawUserInterface_4 until C is zero.
8EA3 LD HL,$504F HL=504F (screen buffer location).
8EA6 LD C,$01 C=01.
8EA8 CALL DrawUserInterface_9 Call DrawUserInterface_9.
8EAB LD HL,$508A HL=508A (screen buffer location).
8EAE CALL DrawUserInterface_8 Call DrawUserInterface_8.
8EB1 LD HL,$5094 HL=5094 (screen buffer location).
8EB4 CALL DrawUserInterface_8 Call DrawUserInterface_8.
8EB7 LD HL,$5A41 HL=5A41 (attribute buffer location).
8EBA LD C,$03 C=03.
DrawUserInterface_6 8EBC LD B,$1E B=1E.
DrawUserInterface_7 8EBE LD (HL),$78 Write INK: BLACK, PAPER: WHITE (BRIGHT) to *HL.
8EC0 INC HL Increment HL by one.
8EC1 DJNZ DrawUserInterface_7 Decrease counter by one and loop back to DrawUserInterface_7 until counter is zero.
8EC3 LD DE,$0022 HL+=0022.
8EC6 ADD HL,DE
8EC7 DEC C Decrease C by one.
8EC8 JR NZ,DrawUserInterface_6 Jump to DrawUserInterface_6 until C is zero.
8ECA RET Return.
DrawUserInterface_8 8ECB LD C,$02 C=02.
DrawUserInterface_9 8ECD PUSH HL Stash HL on the stack.
8ECE LD B,$08 B=08.
DrawUserInterface_10 8ED0 LD (HL),$01 Write 01 to *HL.
8ED2 INC HL Increment HL by one.
8ED3 LD (HL),$80 Write 80 to *HL.
8ED5 DEC HL Decrease HL by one.
8ED6 INC H Increment H by one.
8ED7 DJNZ DrawUserInterface_10 Decrease counter by one and loop back to DrawUserInterface_10 until counter is zero.
8ED9 POP HL Restore HL from the stack.
8EDA LD DE,$0040 DE=0040.
8EDD ADD HL,DE HL+=DE.
8EDE DEC C Decrease C by one.
8EDF JR NZ,DrawUserInterface_9 Jump to DrawUserInterface_9 until C is zero.
8EE1 RET Return.
Prev: 8E59 Up: Map Next: 8EE2