;; freddy hardest - imagine - multi-colour stripes while decoding
;; then multi-colour and light-blue/black

a800 af        xor     a
a801 06f6      ld      b,$f6
a803 ed79      out     (c),a
a805 dd360000  ld      (ix+$00),$00
a809 dd2b      dec     ix
a80b 18f8      jr      $a805            ; (-$08)

a80d d1        pop     de
a80e 08        ex      af,af'
a80f fe01      cp      $01
a811 067f      ld      b,$7f
a813 3e10      ld      a,$10
a815 ed79      out     (c),a
a817 3e54      ld      a,$54
a819 ed79      out     (c),a
a81b d9        exx     
a81c e1        pop     hl
a81d d9        exx     
a81e d8        ret     c

a81f 18df      jr      $a800            ; (-$21)
a821 3d        dec     a
a822 20fd      jr      nz,$a821         ; (-$03)
a824 a7        and     a
a825 24        inc     h
a826 c8        ret     z

a827 06f5      ld      b,$f5
a829 ed78      in      a,(c)
a82b a9        xor     c
a82c e680      and     $80
a82e 28f5      jr      z,$a825          ; (-$0b)
a830 067f      ld      b,$7f
a832 3e10      ld      a,$10
a834 ed79      out     (c),a
a836 79        ld      a,c
a837 2f        cpl     
a838 4f        ld      c,a
a839 d9        exx     
a83a 7d        ld      a,l
a83b 3c        inc     a
a83c e60f      and     $0f
a83e 6f        ld      l,a
a83f f620      or      $20
a841 d9        exx     
a842 17        rla     
a843 ed79      out     (c),a
a845 37        scf     
a846 c9        ret     

a847 3d        dec     a
a848 20fd      jr      nz,$a847         ; (-$03)
a84a a7        and     a
a84b 24        inc     h
a84c c8        ret     z

a84d 06f5      ld      b,$f5
a84f ed78      in      a,(c)
a851 a9        xor     c
a852 e680      and     $80
a854 28f5      jr      z,$a84b          ; (-$0b)
a856 067f      ld      b,$7f
a858 3e10      ld      a,$10
a85a ed79      out     (c),a
a85c 79        ld      a,c
a85d 2f        cpl     
a85e 4f        ld      c,a
a85f 1f        rra     
a860 3e2a      ld      a,$2a
a862 17        rla     
a863 3d        dec     a
a864 ed79      out     (c),a
a866 37        scf     
a867 c9        ret     

a868 06f6      ld      b,$f6
a86a 3e10      ld      a,$10
a86c ed79      out     (c),a
a86e d9        exx     
a86f e5        push    hl
a870 2e00      ld      l,$00
a872 d9        exx     
a873 2111a8    ld      hl,$a811
a876 e5        push    hl
a877 06f5      ld      b,$f5
a879 ed78      in      a,(c)
a87b e680      and     $80
a87d 4f        ld      c,a
a87e cd21a8    call    $a821
a881 30fb      jr      nc,$a87e         ; (-$05)
a883 211504    ld      hl,$0415
a886 10fe      djnz    $a886            ; (-$02)
a888 2b        dec     hl
a889 7c        ld      a,h
a88a b5        or      l
a88b 20f9      jr      nz,$a886         ; (-$07)
a88d 3e0a      ld      a,$0a
a88f cd21a8    call    $a821
a892 30ea      jr      nc,$a87e         ; (-$16)
a894 26c4      ld      h,$c4
a896 3e1c      ld      a,$1c
a898 cd21a8    call    $a821
a89b 30e1      jr      nc,$a87e         ; (-$1f)
a89d 3eda      ld      a,$da
a89f bc        cp      h
a8a0 38f2      jr      c,$a894          ; (-$0e)
a8a2 26c4      ld      h,$c4
a8a4 3e1c      ld      a,$1c
a8a6 cd21a8    call    $a821
a8a9 30d3      jr      nc,$a87e         ; (-$2d)
a8ab 3eda      ld      a,$da
a8ad bc        cp      h
a8ae 38e4      jr      c,$a894          ; (-$1c)
a8b0 fd2157aa  ld      iy,$aa57
a8b4 fd6e00    ld      l,(iy+$00)
a8b7 26c4      ld      h,$c4
a8b9 3e1c      ld      a,$1c
a8bb cd21a8    call    $a821
a8be 30be      jr      nc,$a87e         ; (-$42)
a8c0 3ed7      ld      a,$d7
a8c2 bc        cp      h
a8c3 30dd      jr      nc,$a8a2         ; (-$23)
a8c5 2c        inc     l
a8c6 20ef      jr      nz,$a8b7         ; (-$11)
a8c8 2670      ld      h,$70
a8ca 3e1c      ld      a,$1c
a8cc cd21a8    call    $a821
a8cf 30ad      jr      nc,$a87e         ; (-$53)
a8d1 3e1c      ld      a,$1c
a8d3 cd21a8    call    $a821
a8d6 30a6      jr      nc,$a87e         ; (-$5a)
a8d8 7c        ld      a,h
a8d9 fecd      cp      $cd
a8db 300e      jr      nc,$a8eb         ; (+$0e)
a8dd fe9c      cp      $9c
a8df 30cf      jr      nc,$a8b0         ; (-$31)
a8e1 fd23      inc     iy
a8e3 fd7d      ld      a,iyl
a8e5 fe5b      cp      $5b
a8e7 20cb      jr      nz,$a8b4         ; (-$35)
a8e9 18c5      jr      $a8b0            ; (-$3b)
a8eb 3e0b      ld      a,$0b
a8ed 26b0      ld      h,$b0
a8ef 2e08      ld      l,$08
a8f1 3e0b      ld      a,$0b
a8f3 1802      jr      $a8f7            ; (+$02)
a8f5 3e0c      ld      a,$0c
a8f7 cd47a8    call    $a847
a8fa d0        ret     nc

a8fb 00        nop     
a8fc 00        nop     
a8fd 3e0e      ld      a,$0e
a8ff cd47a8    call    $a847
a902 d0        ret     nc

a903 3ec5      ld      a,$c5
a905 bc        cp      h
a906 cb15      rl      l
a908 26b0      ld      h,$b0
a90a d2f5a8    jp      nc,$a8f5
a90d 3e1d      ld      a,$1d
a90f bd        cp      l
a910 c200a8    jp      nz,$a800
a913 00        nop     
a914 af        xor     a
a915 08        ex      af,af'
a916 26c4      ld      h,$c4
a918 2e01      ld      l,$01
a91a fd2100ac  ld      iy,$ac00
a91e 3e07      ld      a,$07
a920 1817      jr      $a939            ; (+$17)
a922 3ef9      ld      a,$f9
a924 ad        xor     l
a925 c64b      add     a,$4b
a927 dd7700    ld      (ix+$00),a
a92a dd23      inc     ix
a92c 1b        dec     de
a92d 26c4      ld      h,$c4
a92f 2e01      ld      l,$01
a931 2e01      ld      l,$01
a933 3e04      ld      a,$04
a935 1802      jr      $a939            ; (+$02)
a937 3e0c      ld      a,$0c
a939 cd47a8    call    $a847
a93c d0        ret     nc

a93d 00        nop     
a93e 00        nop     
a93f 3e0e      ld      a,$0e
a941 cd47a8    call    $a847
a944 d0        ret     nc

a945 3ed9      ld      a,$d9
a947 bc        cp      h
a948 cb15      rl      l
a94a 26c4      ld      h,$c4
a94c d237a9    jp      nc,$a937
a94f 08        ex      af,af'
a950 ad        xor     l
a951 08        ex      af,af'
a952 7a        ld      a,d
a953 b3        or      e
a954 20cc      jr      nz,$a922         ; (-$34)
a956 c30da8    jp      $a80d
a959 3ef9      ld      a,$f9
a95b ad        xor     l
a95c c64b      add     a,$4b
a95e dd7700    ld      (ix+$00),a
a961 dd23      inc     ix
a963 1b        dec     de
a964 2e02      ld      l,$02
a966 3e04      ld      a,$04
a968 26b3      ld      h,$b3
a96a cdd6a9    call    $a9d6
a96d d0        ret     nc

a96e fd7e04    ld      a,(iy+$04)
a971 b7        or      a
a972 285a      jr      z,$a9ce          ; (+$5a)
a974 69        ld      l,c
a975 01007f    ld      bc,$7f00
a978 00        nop     
a979 00        nop     
a97a 00        nop     
a97b fd4e00    ld      c,(iy+$00)
a97e fd4601    ld      b,(iy+$01)
a981 dd210000  ld      ix,$0000
a985 dd09      add     ix,bc
a987 4d        ld      c,l
a988 3e01      ld      a,$01
a98a 2e02      ld      l,$02
a98c 26b3      ld      h,$b3
a98e cdd6a9    call    $a9d6
a991 d0        ret     nc

a992 3e7f      ld      a,$7f
a994 bd        cp      l
a995 2803      jr      z,$a99a          ; (+$03)
a997 3256aa    ld      ($aa56),a
a99a 2e02      ld      l,$02
a99c 3e08      ld      a,$08
a99e 26b3      ld      h,$b3
a9a0 cdd6a9    call    $a9d6
a9a3 d0        ret     nc

a9a4 fd5e02    ld      e,(iy+$02)
a9a7 fd5603    ld      d,(iy+$03)
a9aa 69        ld      l,c
a9ab 010500    ld      bc,$0005
a9ae fd09      add     iy,bc
a9b0 4d        ld      c,l
a9b1 7b        ld      a,e
a9b2 b2        or      d
a9b3 26c4      ld      h,$c4
a9b5 2e01      ld      l,$01
a9b7 3e04      ld      a,$04
a9b9 c239a9    jp      nz,$a939
a9bc 110da8    ld      de,$a80d
a9bf ed5357a9  ld      ($a957),de
a9c3 113ca9    ld      de,$a93c
a9c6 d5        push    de
a9c7 ed5b79aa  ld      de,($aa79)
a9cb c34ba8    jp      $a84b
a9ce 3e06      ld      a,$06
a9d0 00        nop     
a9d1 00        nop     
a9d2 18b6      jr      $a98a            ; (-$4a)
a9d4 3e0d      ld      a,$0d
a9d6 cd47a8    call    $a847
a9d9 3e10      ld      a,$10
a9db cd47a8    call    $a847
a9de d0        ret     nc

a9df 3edb      ld      a,$db
a9e1 bc        cp      h
a9e2 cb15      rl      l
a9e4 26b3      ld      h,$b3
a9e6 d2d4a9    jp      nc,$a9d4
a9e9 c9        ret     

a9ea cd68a8    call    $a868
a9ed 210080    ld      hl,$8000
a9f0 06ff      ld      b,$ff
a9f2 c5        push    bc
a9f3 1e00      ld      e,$00
a9f5 4b        ld      c,e
a9f6 16ff      ld      d,$ff
a9f8 06f5      ld      b,$f5
a9fa ed78      in      a,(c)
a9fc e680      and     $80
a9fe a9        xor     c
a9ff 2850      jr      z,$aa51          ; (+$50)
aa01 1c        inc     e
aa02 79        ld      a,c
aa03 2f        cpl     
aa04 e680      and     $80
aa06 4f        ld      c,a
aa07 15        dec     d
aa08 c2f8a9    jp      nz,$a9f8
aa0b 73        ld      (hl),e
aa0c 23        inc     hl
aa0d c1        pop     bc
aa0e 10e2      djnz    $a9f2            ; (-$1e)
aa10 210000    ld      hl,$0000
aa13 113280    ld      de,$8032
aa16 0632      ld      b,$32
aa18 c5        push    bc
aa19 1a        ld      a,(de)
aa1a 0600      ld      b,$00
aa1c 4f        ld      c,a
aa1d 09        add     hl,bc
aa1e 13        inc     de
aa1f c1        pop     bc
aa20 10f6      djnz    $aa18            ; (-$0a)
aa22 e5        push    hl
aa23 210000    ld      hl,$0000
aa26 11cd80    ld      de,$80cd
aa29 0632      ld      b,$32
aa2b c5        push    bc
aa2c 1a        ld      a,(de)
aa2d 0600      ld      b,$00
aa2f 4f        ld      c,a
aa30 09        add     hl,bc
aa31 13        inc     de
aa32 c1        pop     bc
aa33 10f6      djnz    $aa2b            ; (-$0a)
aa35 c1        pop     bc
aa36 7c        ld      a,h
aa37 b7        or      a
aa38 2013      jr      nz,$aa4d         ; (+$13)
aa3a a7        and     a
aa3b ed42      sbc     hl,bc
aa3d 013200    ld      bc,$0032
aa40 a7        and     a
aa41 ed42      sbc     hl,bc
aa43 d8        ret     c

aa44 09        add     hl,bc
aa45 01cdff    ld      bc,$ffcd
aa48 a7        and     a
aa49 ed42      sbc     hl,bc
aa4b d0        ret     nc

aa4c 3c        inc     a
aa4d 3256aa    ld      ($aa56),a
aa50 c9        ret     

aa51 00        nop     
aa52 00        nop     
aa53 c307aa    jp      $aa07
aa56 00        nop     
aa57 1e2a      ld      e,$2a
aa59 2822      jr      z,$aa7d          ; (+$22)
aa5b 00        nop     
aa5c 00        nop     
aa5d 00        nop     
aa5e 00        nop     
aa5f 00        nop     
aa60 00        nop     
aa61 00        nop     
aa62 00        nop     
aa63 00        nop     
aa64 00        nop     
aa65 00        nop     
aa66 00        nop     
aa67 00        nop     
aa68 00        nop     
aa69 00        nop     
aa6a 00        nop     
aa6b 00        nop     
aa6c 00        nop     
aa6d 00        nop     
aa6e 00        nop     
aa6f 00        nop     
aa70 00        nop     
aa71 00        nop     
aa72 00        nop     
aa73 00        nop     
aa74 00        nop     
aa75 00        nop     
aa76 00        nop     
aa77 00        nop     
aa78 00        nop     
aa79 00        nop     
aa7a 00        nop     
aa7b dd215baa  ld      ix,$aa5b
aa7f 110001    ld      de,$0100
aa82 cdeaa9    call    $a9ea

