;*****************************************
;*                                       *
;*         ByteRun1 Decompactor          *
;*                                       *
;*          by Holger Gehrmann           *
;*                                       *
;*****************************************

org     =$60118
dest    =$70000

run:    jmp init


coptab: dc.w $0100,$0000,$3001,$ff00,$0100,$4000
hict:   dc.w $00e0,$0007,$00e4,$0007,$00e8,$0007,$00ec,$0007
loct:   dc.w $00e2,$0000,$00e6,$0050,$00ea,$00a0,$00ee,$00f0
        dc.w $0108,$0116,$010a,$0116
        dc.w $0120,$0000,$0122,$0,$0124,$0,$0126,$0,$0128,$0,$012a
        dc.w $0,$012c,$0,$012e,$0,$0130,$0,$0132,$0,$0134,$0,$0136
        dc.w $0,$0138,$0,$013a,$0,$013c,$0,$013e,$0  
        dc.w $f701,$ff00,$0100,$4000,$ff01,$ff00,$0088,$ffff


init:   move.l #coptab,$dff080
        move.l #$dff180,a0
        move.l #$60030,a1
        move.b #32,d7
i1:     clr.w d5
        move.b (a1),d5
        asl.w #4,d5
        move.b 2(a1),d5
        lsr.b #4,d5
        or.b 1(a1),d5
        move.w d5,(a0)
        addq.l #3,a1
        addq.l #2,a0
        subq.b #2,d7
        tst.b d7
        bne i1
        move.w #$0020,$dff002
        move.w #2,$dff088

jy0:    move.w #800,d7
jyh:    subq.w #1,d7
        tst.w d7
        bne jyh
        move.w $dff00c,d0
        lsr.w #1,d0
        move.w $dff00c,d2
        eor.w d2,d0
        move.w d0,d1
        btst #8,d1
        beq jy1
        sub.w #$140,loct+2
        cmp.w #-$140,loct+2
        bne j1
        subq.w #1,hict+2
        subq.w #1,hict+6
        subq.w #1,hict+10
        subq.w #1,hict+14
j1:     sub.w #$140,loct+6
        sub.w #$140,loct+10
        sub.w #$140,loct+14
        jmp jy0
jy1:    btst #0,d1
        beq jy0
        add.w #$140,loct+2
        add.w #$140,loct+6
        add.w #$140,loct+10
        add.w #$140,loct+14
        bcc j2
        addq.w #1,hict+2
        addq.w #1,hict+6
        addq.w #1,hict+10
(A0,D0.L)
 ADDI.L #$10,D0
 CMPI.L #$400,D0
 BNE L05CBBE
 CLR.W L05EDFB
 JSR L05E652
 RTS
L05CBE0:LEA L05EC98,A1
 CLR.L D0
L05CBE8:MOVE.L 0(A0,D0.L),(A1)+
 ADDI.L #$10,D0
 CMPI.L #$400,D0
 BNE L05CBE8
 CLR.W L05EDFB
 RTS
L05CC04:LEA L05EC98,A1
 CLR.L D0
L05CC0C:MOVE.L (A1)+,0(A0,D0.L)
 ADDI.L #$10,D0
 CMPI.L #$400,D0
 BNE L05CC0C
 CLR.W L05EDFB
 JSR L05E652
 RTS
L05CC2E:CMPI.W #$50,L05EDFB
 BEQ L05CC48
 CMPI.W #$51,L05EDFB
 BEQ L05CC64
 RTS
L05CC48:MOVE.L #F_TAB1,L05EDEC
 MOVE.L #text_notes1,L05EDF0
 CLR.W L05EDFB
 RTS
L05CC64:MOVE.L #F_TAB2,L05EDEC
 MOVE.L #text_notes2,L05EDF0
 CLR.W L05EDFB
 RTS
L05CC80:MOVE.W L05EE1E,D0
 SUBQ.L #4,D0
 MOVE.W L05EE20,D1
 MOVE.L #$10,D2
 MOVE.L #spr_data0,A0
 JSR L05EB52
 RTS
L05CCA2:CMPI.L #'edit',L05EDC8
 BEQ L05CCB2
 RTS
L05CCB2:LEA L05FCC0,A0
 CLR.L D0
 CLR.L D1
 MOVE.W L05EDFB,D0
L05CCC2:CMP.W (A0)+,D0
 BEQ L05CCDA
 ADDQ.