Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; Interrupt Code Start
- Interrupt:
- push af
- exx
- xor a
- out (3),a ; ack interrupts
- call Disp4Lvl
- ld a,INTRPT_MASK
- out (3),a ; reenable interrupts
- exx
- ei
- pop af
- ret
- Disp4Lvl:
- ld hl,frontBuffer2
- ld de,frontBuffer1
- push hl
- ld a,$07
- out ($10),a ;?? cc into
- ld a,%11011011
- or a
- ld hl,flags+asm_flag2
- inc (hl)
- jr z,__Disp4Lvlskip
- rra
- ld b,(hl)
- inc b
- jr z,__Disp4Lvlskip
- rra
- ld (hl),-2
- __Disp4LvlSkip:
- ex af,af'
- pop hl
- ld a,$80
- __Disp4LvlEntry:
- out ($10),a ;76+cc into, 71cc loop
- push af
- ex (sp),hl ;waste
- ex (sp),hl ;waste
- nop ;waste
- ld a,$20
- out ($10),a ;71cc into
- ld b,12
- __Disp4LvlLoop:
- ex af,af'
- rra
- ld c,a
- ex af,af'
- ld a,(de)
- xor (hl)
- and c
- xor (hl)
- inc de
- inc hl
- out ($11),a ;71cc into, 77cc loop
- djnz __Disp4LvlLoop
- inc bc ;waste
- ex af,af'
- rra
- ex af,af'
- pop af
- inc a
- bit 6,a
- jr z,__Disp4LvlEntry
- __Disp4LvlDone:
- ld a,$05
- out ($10),a ;73cc into
- ret
- ; Interrupt Code End
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement