Prev: E9BF Up: Map Next: EA00
E9DA: Routine at E9DA
Used by the routines at D352, D894 and F39E.
E9DA LD A,R A=the contents of the Memory Refresh Register.
E9DC PUSH AF Stash AF on the stack.
E9DD DI Disable interrupts.
E9DE LD B,$02 B=02.
E9E0 PUSH BC Stash BC on the stack.
E9E1 LD BC,$1388 BC=1388.
E9E4 DEC BC Decrease BC by one.
E9E5 LD A,B Jump to E9E4 if BC is not zero.
E9E6 OR C
E9E7 JR NZ,$E9E4
E9E9 LD HL,$5800 HL=5800 (screen buffer location).
E9EC LD BC,$0300 BC=0300.
E9EF LD A,(HL) A=*HL.
E9F0 XOR %01111111 Flip bits 0-6.
E9F2 LD (HL),A Write A to *HL.
E9F3 INC HL Increment HL by one.
E9F4 DEC BC Decrease BC by one.
E9F5 LD A,B Jump to E9EF if BC is not zero.
E9F6 OR C
E9F7 JR NZ,$E9EF
E9F9 POP BC Restore BC from the stack.
E9FA DJNZ $E9E0 Decrease counter by one and loop back to E9E0 until counter is zero.
E9FC POP AF Restore AF from the stack.
E9FD RET PO Return if BC is odd.
E9FE EI Enable interrupts.
E9FF RET Return.
Prev: E9BF Up: Map Next: EA00