Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ClearBuffer:
- xor a
- FillBuffer:
- push de
- push bc
- ld d,a
- ld e,a
- call SafeInterruptDI
- push af
- ld (saveSP),sp
- ld sp,LCDBuffer+768
- ld b,32
- _ push de
- push de
- push de
- push de
- push de
- push de
- push de
- push de
- push de
- push de
- push de
- push de
- djnz -_
- ld sp,(saveSP)
- pop af
- pop bc
- pop de
- ret c
- ei
- ret
- SafeInterruptDI:
- xor a ;Set nc (interrupts)
- out ($20),a ;Set speed to slow
- push af ;Check interrupts
- pop af
- ld a,i ;pe if interrupt
- di
- ret pe ;Return if interrupts on
- dec sp ;Otherwise, robust test
- dec sp
- pop af
- or a ;Set nc (interrupts)
- ret nz ;Return if interrupts on
- scf ;Set c (no interrupts)
- ret ;Return
- ; safely returns interrupt
- ; inputs af = state flags
- SafeInterruptEI:
- ret c
- ei
- ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement