
;; hudson hawk - hit squad
;;
;; pauses for a bit while decoding, then has multi-colour
;; and blue/black

a49e 06f6      ld      b,$f6
a4a0 af        xor     a
a4a1 ed79      out     (c),a
a4a3 dd7700    ld      (ix+$00),a
a4a6 dd2b      dec     ix
a4a8 18f9      jr      $a4a3            ; (-$07)

a4aa d1        pop     de
a4ab 08        ex      af,af'
a4ac fe01      cp      $01
a4ae 067f      ld      b,$7f
a4b0 3e10      ld      a,$10
a4b2 ed79      out     (c),a
a4b4 3e54      ld      a,$54
a4b6 ed79      out     (c),a
a4b8 d9        exx     
a4b9 e1        pop     hl
a4ba d9        exx     
a4bb d8        ret     c

a4bc d9        exx     
a4bd c30000    jp      $0000
a4c0 3d        dec     a
a4c1 20fd      jr      nz,$a4c0         ; (-$03)
a4c3 a7        and     a
a4c4 24        inc     h
a4c5 c8        ret     z

a4c6 06f5      ld      b,$f5
a4c8 ed78      in      a,(c)
a4ca a9        xor     c
a4cb e680      and     $80
a4cd 28f5      jr      z,$a4c4          ; (-$0b)
a4cf 067f      ld      b,$7f
a4d1 3e10      ld      a,$10
a4d3 ed79      out     (c),a
a4d5 79        ld      a,c
a4d6 2f        cpl     
a4d7 4f        ld      c,a
a4d8 d9        exx     
a4d9 7d        ld      a,l
a4da 3c        inc     a
a4db e60f      and     $0f
a4dd 6f        ld      l,a
a4de f620      or      $20
a4e0 d9        exx     
a4e1 17        rla     
a4e2 ed79      out     (c),a
a4e4 37        scf     
a4e5 c9        ret     

a4e6 3d        dec     a
a4e7 20fd      jr      nz,$a4e6         ; (-$03)
a4e9 a7        and     a
a4ea 24        inc     h
a4eb c8        ret     z

a4ec 06f5      ld      b,$f5
a4ee ed78      in      a,(c)
a4f0 a9        xor     c
a4f1 e680      and     $80
a4f3 28f5      jr      z,$a4ea          ; (-$0b)
a4f5 067f      ld      b,$7f
a4f7 3e10      ld      a,$10
a4f9 ed79      out     (c),a
a4fb 79        ld      a,c
a4fc 2f        cpl     
a4fd 4f        ld      c,a
a4fe 1f        rra     
a4ff 3e2a      ld      a,$2a
a501 17        rla     
a502 ed79      out     (c),a
a504 37        scf     
a505 c9        ret     

a506 06f6      ld      b,$f6
a508 3e10      ld      a,$10
a50a ed79      out     (c),a
a50c d9        exx     
a50d e5        push    hl
a50e 2e00      ld      l,$00
a510 d9        exx     
a511 21aea4    ld      hl,$a4ae
a514 e5        push    hl
a515 06f5      ld      b,$f5
a517 ed78      in      a,(c)
a519 e680      and     $80
a51b 4f        ld      c,a
a51c cdc0a4    call    $a4c0
a51f 30fb      jr      nc,$a51c         ; (-$05)
a521 211504    ld      hl,$0415
a524 10fe      djnz    $a524            ; (-$02)
a526 2b        dec     hl
a527 7c        ld      a,h
a528 b5        or      l
a529 20f9      jr      nz,$a524         ; (-$07)
a52b 3e0a      ld      a,$0a
a52d cdc0a4    call    $a4c0
a530 30ea      jr      nc,$a51c         ; (-$16)
a532 26c4      ld      h,$c4
a534 3e1c      ld      a,$1c
a536 cdc0a4    call    $a4c0
a539 30e1      jr      nc,$a51c         ; (-$1f)
a53b 3eda      ld      a,$da
a53d bc        cp      h
a53e 38f2      jr      c,$a532          ; (-$0e)
a540 26c4      ld      h,$c4
a542 3e1c      ld      a,$1c
a544 cdc0a4    call    $a4c0
a547 30d3      jr      nc,$a51c         ; (-$2d)
a549 3eda      ld      a,$da
a54b bc        cp      h
a54c 38e4      jr      c,$a532          ; (-$1c)
a54e fd21f1a6  ld      iy,$a6f1
a552 fd6e00    ld      l,(iy+$00)
a555 26c4      ld      h,$c4
a557 3e1c      ld      a,$1c
a559 cdc0a4    call    $a4c0
a55c 30be      jr      nc,$a51c         ; (-$42)
a55e 3ed7      ld      a,$d7
a560 bc        cp      h
a561 30dd      jr      nc,$a540         ; (-$23)
a563 2c        inc     l
a564 20ef      jr      nz,$a555         ; (-$11)
a566 2670      ld      h,$70
a568 3e1c      ld      a,$1c
a56a cdc0a4    call    $a4c0
a56d 30ad      jr      nc,$a51c         ; (-$53)
a56f 3e1c      ld      a,$1c
a571 cdc0a4    call    $a4c0
a574 30a6      jr      nc,$a51c         ; (-$5a)
a576 7c        ld      a,h
a577 fecd      cp      $cd
a579 300e      jr      nc,$a589         ; (+$0e)
a57b fe9c      cp      $9c
a57d 30cf      jr      nc,$a54e         ; (-$31)
a57f fd23      inc     iy
a581 fd7d      ld      a,iyl
a583 fef5      cp      $f5
a585 20cb      jr      nz,$a552         ; (-$35)
a587 18c5      jr      $a54e            ; (-$3b)
a589 3e0b      ld      a,$0b
a58b 2680      ld      h,$80
a58d 2e08      ld      l,$08
a58f 3e0b      ld      a,$0b
a591 1802      jr      $a595            ; (+$02)
a593 3e09      ld      a,$09
a595 cde6a4    call    $a4e6
a598 d0        ret     nc

a599 3e0b      ld      a,$0b
a59b cde6a4    call    $a4e6
a59e d0        ret     nc

a59f 3e9f      ld      a,$9f		;; 1 + 1/4
									;; ((9f-80) - ((9f-80)*1/4)*64 = ~ TStates
a5a1 bc        cp      h
a5a2 cb15      rl      l
a5a4 2680      ld      h,$80
a5a6 d293a5    jp      nc,$a593
a5a9 3e1d      ld      a,$1d
a5ab bd        cp      l
a5ac c29ea4    jp      nz,$a49e
a5af 00        nop     
a5b0 af        xor     a
a5b1 08        ex      af,af'
a5b2 26a1      ld      h,$a1
a5b4 2e01      ld      l,$01
a5b6 fd2100ac  ld      iy,$ac00
a5ba 3e04      ld      a,$04
a5bc 1817      jr      $a5d5            ; (+$17)
a5be 3e50      ld      a,$50
a5c0 ad        xor     l
a5c1 c6e0      add     a,$e0
a5c3 dd7700    ld      (ix+$00),a
a5c6 dd23      inc     ix
a5c8 1b        dec     de
a5c9 26a1      ld      h,$a1
a5cb 2e01      ld      l,$01
a5cd 2e01      ld      l,$01
a5cf 3e01      ld      a,$01
a5d1 1802      jr      $a5d5            ; (+$02)
a5d3 3e09      ld      a,$09
a5d5 cde6a4    call    $a4e6
a5d8 d0        ret     nc

a5d9 3e0b      ld      a,$0b
a5db cde6a4    call    $a4e6
a5de d0        ret     nc

a5df 3ec0      ld      a,$c0
a5e1 bc        cp      h
a5e2 cb15      rl      l
a5e4 26a1      ld      h,$a1			;; 1f
a5e6 d2d3a5    jp      nc,$a5d3
a5e9 08        ex      af,af'
a5ea ad        xor     l
a5eb 08        ex      af,af'
a5ec 7a        ld      a,d
a5ed b3        or      e
a5ee 20ce      jr      nz,$a5be         ; (-$32)
a5f0 c3aaa4    jp      $a4aa
a5f3 3e50      ld      a,$50
a5f5 ad        xor     l
a5f6 c6e0      add     a,$e0
a5f8 dd7700    ld      (ix+$00),a
a5fb dd23      inc     ix
a5fd 1b        dec     de
a5fe 2e02      ld      l,$02
a600 3e04      ld      a,$04
a602 26b3      ld      h,$b3
a604 cd70a6    call    $a670
a607 d0        ret     nc

a608 fd7e04    ld      a,(iy+$04)
a60b b7        or      a
a60c 285a      jr      z,$a668          ; (+$5a)
a60e 69        ld      l,c
a60f 01007f    ld      bc,$7f00
a612 00        nop     
a613 00        nop     
a614 00        nop     
a615 fd4e00    ld      c,(iy+$00)
a618 fd4601    ld      b,(iy+$01)
a61b dd210000  ld      ix,$0000
a61f dd09      add     ix,bc
a621 4d        ld      c,l
a622 3e01      ld      a,$01
a624 2e02      ld      l,$02
a626 26b3      ld      h,$b3
a628 cd70a6    call    $a670
a62b d0        ret     nc

a62c 3e7f      ld      a,$7f
a62e bd        cp      l
a62f 2803      jr      z,$a634          ; (+$03)
a631 32f0a6    ld      ($a6f0),a
a634 2e02      ld      l,$02
a636 3e08      ld      a,$08
a638 26b3      ld      h,$b3
a63a cd70a6    call    $a670
a63d d0        ret     nc

a63e fd5e02    ld      e,(iy+$02)
a641 fd5603    ld      d,(iy+$03)
a644 69        ld      l,c
a645 010500    ld      bc,$0005
a648 fd09      add     iy,bc
a64a 4d        ld      c,l
a64b 7b        ld      a,e
a64c b2        or      d
a64d 26a1      ld      h,$a1
a64f 2e01      ld      l,$01
a651 3e01      ld      a,$01
a653 c2d5a5    jp      nz,$a5d5
a656 11aaa4    ld      de,$a4aa
a659 ed53f1a5  ld      ($a5f1),de
a65d 11d8a5    ld      de,$a5d8
a660 d5        push    de
a661 ed5b22a7  ld      de,($a722)
a665 c3eaa4    jp      $a4ea
a668 3e06      ld      a,$06
a66a 00        nop     
a66b 00        nop     
a66c 18b6      jr      $a624            ; (-$4a)
a66e 3e0d      ld      a,$0d
a670 cde6a4    call    $a4e6
a673 3e10      ld      a,$10
a675 cde6a4    call    $a4e6
a678 d0        ret     nc

a679 3edb      ld      a,$db
a67b bc        cp      h
a67c cb15      rl      l
a67e 26b3      ld      h,$b3
a680 d26ea6    jp      nc,$a66e
a683 c9        ret     

a684 cd06a5    call    $a506
a687 210080    ld      hl,$8000
a68a 06ff      ld      b,$ff
a68c c5        push    bc
a68d 1e00      ld      e,$00
a68f 4b        ld      c,e
a690 16ff      ld      d,$ff
a692 06f5      ld      b,$f5
a694 ed78      in      a,(c)
a696 e680      and     $80
a698 a9        xor     c
a699 2850      jr      z,$a6eb          ; (+$50)
a69b 1c        inc     e
a69c 79        ld      a,c
a69d 2f        cpl     
a69e e680      and     $80
a6a0 4f        ld      c,a
a6a1 15        dec     d
a6a2 c292a6    jp      nz,$a692
a6a5 73        ld      (hl),e
a6a6 23        inc     hl
a6a7 c1        pop     bc
a6a8 10e2      djnz    $a68c            ; (-$1e)
a6aa 210000    ld      hl,$0000
a6ad 113280    ld      de,$8032
a6b0 0632      ld      b,$32
a6b2 c5        push    bc
a6b3 1a        ld      a,(de)
a6b4 0600      ld      b,$00
a6b6 4f        ld      c,a
a6b7 09        add     hl,bc
a6b8 13        inc     de
a6b9 c1        pop     bc
a6ba 10f6      djnz    $a6b2            ; (-$0a)
a6bc e5        push    hl
a6bd 210000    ld      hl,$0000
a6c0 11cd80    ld      de,$80cd
a6c3 0632      ld      b,$32
a6c5 c5        push    bc
a6c6 1a        ld      a,(de)
a6c7 0600      ld      b,$00
a6c9 4f        ld      c,a
a6ca 09        add     hl,bc
a6cb 13        inc     de
a6cc c1        pop     bc
a6cd 10f6      djnz    $a6c5            ; (-$0a)
a6cf c1        pop     bc
a6d0 7c        ld      a,h
a6d1 b7        or      a
a6d2 2013      jr      nz,$a6e7         ; (+$13)
a6d4 a7        and     a
a6d5 ed42      sbc     hl,bc
a6d7 013200    ld      bc,$0032
a6da a7        and     a
a6db ed42      sbc     hl,bc
a6dd d8        ret     c

a6de 09        add     hl,bc
a6df 01cdff    ld      bc,$ffcd
a6e2 a7        and     a
a6e3 ed42      sbc     hl,bc
a6e5 d0        ret     nc

a6e6 3c        inc     a
a6e7 32f0a6    ld      ($a6f0),a
a6ea c9        ret     

a6eb 00        nop     
a6ec 00        nop     
a6ed c3a1a6    jp      $a6a1
a6f0 00        nop     
a6f1 1e2a      ld      e,$2a
a6f3 2822      jr      z,$a717          ; (+$22)
a6f5 00        nop     
a6f6 00        nop     
a6f7 00        nop     
a6f8 00        nop     
a6f9 00        nop     
a6fa 00        nop     
a6fb 00        nop     
a6fc 00        nop     
a6fd 00        nop     
a6fe 00        nop     
a6ff 00        nop     
a700 00        nop     
a701 00        nop     
a702 00        nop     
a703 00        nop     
a704 00        nop     
a705 00        nop     
a706 00        nop     
a707 00        nop     
a708 00        nop     
a709 00        nop     
a70a 00        nop     
a70b 00        nop     
a70c 00        nop     
a70d 00        nop     
a70e 00        nop     
a70f 00        nop     
a710 00        nop     
a711 00        nop     
a712 00        nop     
a713 00        nop     
a714 00        nop     
a715 00        nop     
a716 00        nop     
a717 00        nop     
a718 00        nop     
a719 00        nop     
a71a 00        nop     
a71b 00        nop     
a71c 00        nop     
a71d 00        nop     
a71e 00        nop     
a71f 00        nop     
a720 00        nop     
a721 00        nop     
a722 00        nop     
a723 00        nop     
a724 dd21f5a6  ld      ix,$a6f5
a728 11bb00    ld      de,$00bb
a72b cd84a6    call    $a684
a72e 00        nop     
a72f 00        nop     
