Advertisement
Guest User

4-Level Grey

a guest
Jan 20th, 2015
226
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ; Interrupt Code Start
  2.  
  3. Interrupt:
  4.     push af
  5.         exx
  6.         xor a
  7.         out (3),a ; ack interrupts
  8.         call Disp4Lvl
  9.         ld a,INTRPT_MASK
  10.         out (3),a ; reenable interrupts
  11.         exx
  12.         ei
  13.     pop af
  14.     ret
  15. Disp4Lvl:
  16.     ld    hl,frontBuffer2
  17.     ld    de,frontBuffer1
  18.     push  hl
  19.     ld    a,$07
  20.     out   ($10),a            ;?? cc into
  21.     ld    a,%11011011
  22.     or    a
  23.     ld    hl,flags+asm_flag2
  24.     inc   (hl)
  25.     jr    z,__Disp4Lvlskip
  26.     rra
  27.     ld    b,(hl)
  28.     inc   b
  29.     jr    z,__Disp4Lvlskip
  30.     rra
  31.     ld    (hl),-2
  32. __Disp4LvlSkip:
  33.     ex    af,af'
  34.     pop   hl
  35.     ld    a,$80
  36. __Disp4LvlEntry:
  37.     out   ($10),a            ;76+cc into, 71cc loop
  38.     push  af
  39.     ex    (sp),hl            ;waste
  40.     ex    (sp),hl            ;waste
  41.     nop            ;waste
  42.     ld    a,$20
  43.     out   ($10),a            ;71cc into
  44.     ld    b,12
  45. __Disp4LvlLoop:
  46.     ex    af,af'
  47.     rra
  48.     ld    c,a
  49.     ex    af,af'
  50.     ld    a,(de)
  51.     xor   (hl)
  52.     and   c
  53.     xor   (hl)
  54.     inc   de
  55.     inc   hl
  56.     out   ($11),a            ;71cc into, 77cc loop
  57.     djnz  __Disp4LvlLoop
  58.     inc   bc            ;waste
  59.     ex    af,af'
  60.     rra
  61.     ex    af,af'
  62.     pop   af
  63.     inc   a
  64.     bit   6,a
  65.     jr    z,__Disp4LvlEntry
  66. __Disp4LvlDone:
  67.     ld    a,$05
  68.     out   ($10),a            ;73cc into
  69.     ret
  70.  
  71. ; Interrupt Code End
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement