Prev: 59839 Up: Map Next: 59904
59866: Routine at E9DA
Used by the routines at 54098, 55444 and 62366.
59866 LD A,R A=the contents of the Memory Refresh Register.
59868 PUSH AF Stash AF on the stack.
59869 DI Disable interrupts.
59870 LD B,2 B=2.
59872 PUSH BC Stash BC on the stack.
59873 LD BC,5000 BC=5000.
59876 DEC BC Decrease BC by one.
59877 LD A,B Jump to 59876 if BC is not zero.
59878 OR C
59879 JR NZ,59876
59881 LD HL,22528 HL=22528 (screen buffer location).
59884 LD BC,768 BC=0768.
59887 LD A,(HL) A=*HL.
59888 XOR %01111111 Flip bits 0-6.
59890 LD (HL),A Write A to *HL.
59891 INC HL Increment HL by one.
59892 DEC BC Decrease BC by one.
59893 LD A,B Jump to 59887 if BC is not zero.
59894 OR C
59895 JR NZ,59887
59897 POP BC Restore BC from the stack.
59898 DJNZ 59872 Decrease counter by one and loop back to 59872 until counter is zero.
59900 POP AF Restore AF from the stack.
59901 RET PO Return if BC is odd.
59902 EI Enable interrupts.
59903 RET Return.
Prev: 59839 Up: Map Next: 59904