Prev: 9218 Up: Map Next: 92E2
9253: Routine at 9253
Used by the routine at MainMenu.
9253 DEC E Decrease E by one.
9254 LD ($9AB9),DE Write DE to *9AB9.
9258 INC D Increment D by one.
9259 LD ($9ABB),DE Write DE to *9ABB.
925D LD DE,($9AB9) DE=*9AB9.
9261 LD A,E Jump to 92A6 if E is less than 00.
9262 AND A
9263 JP M,$92A6
9266 PUSH DE Stash DE on the stack.
9267 LD A,D Jump to 927C if D is less than 00.
9268 AND A
9269 JP M,$927C
926C LD HL,$92C7 Write FF to *92C7.
926F LD (HL),$FF
9271 LD HL,$92CD Write SRL C (CB+39) to *92CD.
9274 LD (HL),$CB
9276 INC HL
9277 LD (HL),$39
9279 CALL $92A7 Call 92A7.
927C POP DE Restore DE from the stack.
927D DEC D Decrease D by one.
927E DEC E Decrease E by one.
927F LD ($9AB9),DE Write DE to *9AB9.
9283 LD DE,($9ABB) DE=*9ABB.
9287 LD A,D Jump to 92A6 if D is greater than or equal to 18.
9288 CP $18
928A JR NC,$92A6
928C PUSH DE Stash DE on the stack.
928D LD HL,$92C7 Write 01 to *92C7.
9290 LD (HL),$01
9292 LD HL,$92CD Write SLL C (CB+31) to *92CD.
9295 LD (HL),$CB
9297 INC HL
9298 LD (HL),$31
929A CALL $92A7 Call 92A7.
929D POP DE Restore DE from the stack.
929E INC D Increment D by one.
929F DEC E Decrease E by one.
92A0 LD ($9ABB),DE Write DE to *9ABB.
92A4 JR $925D Jump to 925D.
92A6 RET Return.
92A7 PUSH DE Stash DE on the stack.
92A8 DEC E Decrease E by one.
92A9 LD A,E Jump to 92B5 if E is greater than or equal to 20.
92AA CP $20
92AC JR NC,$92B5
92AE AND A Jump to 92B5 if E is less than 20.
92AF JP M,$92B5
92B2 CALL $92E2 Call 92E2.
92B5 POP DE Restore DE from the stack.
92B6 LD A,E Return if E is greater than 20.
92B7 CP $20
92B9 RET NC
92BA PUSH DE Stash DE on the stack.
92BB CALL CalculateDartBoardAddress Call CalculateDartBoardAddress.
92BE LD D,H D=H.
92BF LD E,L E=L.
92C0 LD A,H H-=20.
92C1 SUB $20
92C3 LD H,A
92C4 LD B,$08 B=08.
92C6 LD C,$FF C=FF.
92C8 LD A,(DE) A=*DE.
92C9 OR C Set the bits from C.
92CA LD (HL),A Write A to *HL.
92CB INC H Increment H by one.
92CC INC D Increment D by one.
92CD SRL C Shift C right.
92CF DJNZ $92C8 Decrease counter by one and loop back to 92C8 until counter is zero.
92D1 POP HL Restore HL from the stack.
92D2 LD A,L Compare L with 08.
92D3 CP $08
92D5 LD A,$70 A=INK: BLACK, PAPER: YELLOW (BRIGHT) .
92D7 JR NC,$92DB Jump to 92DB if L was greater than or equal to 70.
92D9 LD A,$00 A=INK: BLACK, PAPER: BLACK .
92DB EX AF,AF' Exchange the AF register with the shadow AF register.
92DC CALL CalculateAttributeBuffer Call CalculateAttributeBuffer.
92DF EX AF,AF' Exchange the shadow AF register with the AF register.
92E0 LD (HL),A Write A to *HL.
92E1 RET Return.
Prev: 9218 Up: Map Next: 92E2