	.code
	.bank 2
	.org $87d6
        LDA     #$08
        JSR     l_e150
        LDA     $2617
        CMP     #$00
        BEQ     l_87ed
        CMP     #$14
        BEQ     l_87ed
        AND     #$fe
        BEQ     l_87ed
        JMP     l_8cd2
l_87ed: LDA     $2701
        BNE     l_87f5
        JMP     l_8c5c
l_87f5: DEC     A
        BNE     l_87fb
        JMP     l_8b17
l_87fb: DEC     A
        BNE     l_8801
        JMP     l_8ab5
l_8801: DEC     A
        BNE     l_8807
        JMP     l_889c
l_8807: DEC     A
        BEQ     l_8856
        LDA     $2700
        BNE     l_882e
        LDA     $272c
        BEQ     l_8820
        LDA     $2608
        BIT     #$01
        BNE     l_882e
        STZ     $272c
        BRA     l_882e
l_8820: LDA     $2608
        BIT     #$01
        BEQ     l_882e
        LDA     #$01
        STA     $272c
        BRA     l_884b
l_882e: LDA     $2718
        INC     A
        STA     $2718
        BIT     #$01
        BNE     l_883c
        JMP     l_8cab
l_883c: LDA     $2717
        INC     A
        STA     $2717
        CMP     $2712
        BCS     l_884b
        JMP     l_8cab
l_884b: LDA     #$01
        STA     $2701
        INC     $2710
        JMP     l_8cab
l_8856: LDA     $2711
        BNE     l_8865
        LDA     #$01
        STA     <$2c
        LDA     #$8b
        STA     <$2d
        BRA     l_886d
l_8865: LDA     #$04
        STA     <$2c
        LDA     #$8b
        STA     <$2d
l_886d: LDA     $272b
        BEQ     l_8881
        DEC     A
        BNE     l_8878
        JMP     l_8b06
l_8878: STZ     $272b
        INC     $2701
        JMP     l_8cab
l_8881: STZ     $278e
        STZ     $2797
        LDA     #$08
        STA     $2795
        LDA     #$04
        STA     $2798
        INC     $272b
        LDA     #$01
        STA     $2799
        JMP     l_8cab
l_889c: LDA     $2711
        BEQ     l_88a4
        JMP     l_89b7
l_88a4: LDA     #$00
        STA     <$4a
        STA     $0000
        LDA     #$20
        STA     $0002
        LDA     #$72
        STA     $0003
        LDA     #$02
        STA     <$4a
        STA     $0000
        STZ     $271f
        LDA     <$54
        STA     <$62
        LDA     <$55
        STA     <$63
        LDA     <$5e
        STA     <$60
        LDA     <$5f
        STA     <$61
l_88cf: LDA     <$62
        STA     $0002
        LDA     <$63
        STA     $0003
        LDA     <$60
        STA     $0002
        LDA     <$61
        STA     $0003
        LDA     $271f
        ASL     A
        TAY     
        LDA     [$56], Y
        CMP     #$80
        BNE     l_88f7
        LDA     #$72
        STA     $0002
        LDA     #$02
        BRA     l_88fc
l_88f7: STA     $0002
        LDA     #$03
l_88fc: STA     $0003
        INY     
        LDA     #$8f
        STA     $0002
        LDA     [$56], Y
        STA     $0003
        CLC     
        LDA     <$60
        ADC     #$10
        STA     <$60
        LDA     <$61
        ADC     #$00
        STA     <$61
        INC     $271f
        LDA     $271f
        CMP     #$14
        BEQ     l_8946
        CMP     #$05
        BNE     l_893c
l_8925: CLC     
        LDA     <$62
        ADC     #$10
        STA     <$62
        LDA     <$63
        ADC     #$00
        STA     <$63
        LDA     <$5e
        STA     <$60
        LDA     <$5f
        STA     <$61
        BRA     l_88cf
l_893c: CMP     #$0a
        BEQ     l_8925
        CMP     #$0f
        BEQ     l_8925
        BRA     l_88cf
l_8946: LDA     #$00
        STA     <$4a
        STA     $0000
        LDA     #$00
        STA     $0002
        LDA     #$72
        STA     $0003
        LDA     #$02
        STA     <$4a
        STA     $0000
        CLY     
l_895f: LDA     [$58], Y
        CMP     #$ff
        BEQ     l_89b7
        STA     <$60
        STZ     <$61
        CLC     
        LDA     <$60
        ADC     <$54
        STA     <$60
        LDA     <$61
        ADC     <$55
        STA     <$61
        LDA     <$60
        STA     $0002
        LDA     <$61
        STA     $0003
        INY     
        LDA     [$58], Y
        STA     <$60
        STZ     <$61
        CLC     
        LDA     <$60
        ADC     <$5e
        STA     <$60
        LDA     <$61
        ADC     <$5f
        STA     <$61
        LDA     <$60
        STA     $0002
        LDA     <$61
        STA     $0003
        INY     
        LDA     [$58], Y
        STA     $0002
        LDA     #$03
        STA     $0003
        LDA     #$8f
        STA     $0002
        LDA     #$00
        STA     $0003
        INY     
        INY     
        BRA     l_895f
l_89b7: LDA     <$5a
        STA     $271d
        LDA     <$5b
        STA     $271e
        STZ     $2719
        STZ     $271a
        STZ     $271b
        LDA     #$00
        STA     <$4a
        STA     $0000
        LDA     <$5a
        STA     $0002
        LDA     <$5b
        STA     $0003
        LDA     #$02
        STA     <$4a
        STA     $0000
l_89e2: LDY     $271b
        LDA     [$5c], Y
        CMP     #$ff
        BNE     l_89ee
        JMP     l_8aaf
l_89ee: CMP     #$fc
        BNE     l_89f5
        JMP     l_8a7e
l_89f5: CMP     #$fe
        BEQ     l_8a14
        CMP     #$fb
        BEQ     l_8a49
        STA     $0002
        LDA     #$87
        STA     $0003
        INC     $2719
        LDA     $2719
        CMP     #$10
        BEQ     l_8a7e
        INC     $271b
        BRA     l_89e2
l_8a14: INC     $271b
        LDY     $271b
        LDA     [$5c], Y
        CMP     #$fd
        BEQ     l_8a7e
        STA     $271c
l_8a23: LDA     $2719
        CMP     $271c
        BEQ     l_8a3a
        LDA     #$9f
        STA     $0002
        LDA     #$87
        STA     $0003
        INC     $2719
        BRA     l_8a23
l_8a3a: LDA     #$6c
        STA     $0002
        LDA     #$87
        STA     $0003
        INC     $2719
        BRA     l_8a14
l_8a49: INC     $271b
        LDY     $271b
        LDA     [$5c], Y
        CMP     #$fd
        BEQ     l_8a14
        STA     $271c
l_8a58: LDA     $2719
        CMP     $271c
        BEQ     l_8a6f
        LDA     #$9f
        STA     $0002
        LDA     #$87
        STA     $0003
        INC     $2719
        BRA     l_8a58
l_8a6f: LDA     #$6d
        STA     $0002
        LDA     #$87
        STA     $0003
        INC     $2719
        BRA     l_8a49
l_8a7e: STZ     $2719
        INC     $271a
        INC     $271b
        CLC     
        LDA     <$5a
        ADC     #$80
        STA     <$5a
        LDA     <$5b
        ADC     #$00
        STA     <$5b
        LDA     #$00
        STA     <$4a
        STA     $0000
        LDA     <$5a
        STA     $0002
        LDA     <$5b
l_8aa2: STA     $0003
        LDA     #$02
        STA     <$4a
        STA     $0000
        JMP     l_89e2
l_8aaf: INC     $2701
        JMP     l_8cab
l_8ab5: LDA     $2711
        BNE     l_8ac4
        LDA     #$01
        STA     <$2c
        LDA     #$8b
        STA     <$2d
        BRA     l_8acc
l_8ac4: LDA     #$04
        STA     <$2c
        LDA     #$8b
        STA     <$2d
l_8acc: LDA     $272b
        BEQ     l_8ae8
        DEC     A
        BEQ     l_8b06
        STZ     $272b
        INC     $2701
        LDA     $2711
        BNE     l_8ae2
        JSR     l_e1a0
l_8ae2: JSR     l_e1cb
        JMP     l_8cab
l_8ae8: STZ     $278e
        STZ     $2797
        LDA     #$08
        STA     $2795
        LDA     #$04
        STA     $2798
        INC     $272b
        STZ     $2799
        JMP     l_8cab
        PHP     
        BBR1    <$ff, l_8b0d
l_8b06: BBS7    <$20, l_8b40
        BBS6    <$ad, l_8aa2
        RMB2    <$d0
l_8b0d: ST0     #$4c
        .db     $ab
        STY     $2bee
        RMB2    <$4c
        .db     $ab
l_8b17: STY     $00a9
        STA     <$64
        LDA     #$56
        STA     <$65
        LDA     $2700
        ASL     A
        TAY     
        LDA     [$64], Y
        STA     <$52
        INY     
        LDA     [$64], Y
        STA     <$53
        LDA     $2700
        BEQ     l_8b5f
        LDA     $2710
        CMP     #$09
        BNE     l_8b45
        LDA     #$0c
        STA     $3f55
        LDA     #$01
l_8b40: STA     $3f54
        BRA     l_8b7a
l_8b45: CMP     #$07
        BNE     l_8b5f
        LDA     #$00
        STA     $3f56
        LDA     #$02
        STA     $3f54
        LDA     #$3f
        STA     $3f51
        LDA     #$03
        STA     $3f54
        BRA     l_8b7a
l_8b5f: LDA     $2710
        CMP     #$09
        BNE     l_8b7a
        LDA     #$00
        STA     $3f56
        LDA     #$02
        STA     $3f54
        LDA     #$28
        STA     $3f51
        LDA     #$03
        STA     $3f54
l_8b7a: LDA     $2710
        ASL     A
        ASL     A
        ASL     A
        TAY     
        LDA     [$52], Y
        CMP     #$ff
        BNE     l_8b8a
        JMP     l_8cbc
l_8b8a: STA     $2711
        INY     
        LDA     [$52], Y
        STA     $2712
        INY     
        LDA     [$52], Y
        STA     $2713
        INY     
        LDA     [$52], Y
        STA     $2714
        INY     
        LDA     [$52], Y
        STA     $2715
        INY     
        LDA     [$52], Y
        STA     $2716
        LDA     #$00
        STA     <$64
        LDA     #$56
        STA     <$65
        LDY     #$04
        LDA     [$64], Y
        STA     <$52
        INY     
        LDA     [$64], Y
        STA     <$53
        LDA     $2713
        ASL     A
        TAY     
        LDA     [$52], Y
        STA     <$54
        STZ     <$55
        INY     
        LDA     [$52], Y
        STA     <$5e
        STZ     <$5f
        LDA     #$00
        STA     <$64
        LDA     #$56
        STA     <$65
        LDY     #$06
        LDA     [$64], Y
        STA     <$52
        INY     
        LDA     [$64], Y
        STA     <$53
        LDA     $2714
        ASL     A
        TAY     
        LDA     [$52], Y
        STA     <$56
        INY     
        LDA     [$52], Y
        STA     <$57
        LDA     #$00
        STA     <$64
        LDA     #$56
        STA     <$65
        LDY     #$08
        LDA     [$64], Y
        STA     <$52
        INY     
        LDA     [$64], Y
        STA     <$53
        LDA     $2714
        ASL     A
        TAY     
        LDA     [$52], Y
        STA     <$58
        INY     
        LDA     [$52], Y
        STA     <$59
        LDA     #$00
        STA     <$64
        LDA     #$56
        STA     <$65
        LDY     #$0a
        LDA     [$64], Y
        STA     <$52
        INY     
        LDA     [$64], Y
        STA     <$53
        LDA     $2715
        ASL     A
        TAY     
        LDA     [$52], Y
        STA     <$5a
        INY     
        LDA     [$52], Y
        STA     <$5b
        LDA     #$00
        STA     <$64
        LDA     #$56
        STA     <$65
        LDY     #$0c
        LDA     [$64], Y
        STA     <$52
        INY     
        LDA     [$64], Y
        STA     <$53
        LDA     $2716
        ASL     A
        TAY     
        LDA     [$52], Y
        STA     <$5c
        INY     
        LDA     [$52], Y
        STA     <$5d
        STZ     $2717
        INC     $2701
        BRA     l_8cab
l_8c5c: LDA     $2700
        BEQ     l_8c6d
        LDA     #$0b
        STA     $3f55
        LDA     #$01
        STA     $3f54
        BRA     l_8c77
l_8c6d: LDA     #$10
        STA     $3f55
        LDA     #$01
        STA     $3f54
l_8c77: JSR     l_e167
        JSR     l_e1a0
        JSR     l_e1cb
        JSR     l_ef03
        JSR     l_ef22
        LDA     #$20
        JSR     l_f71c
        LDA     #$21
        JSR     l_f71c
        JSR     l_e266
        JSR     l_ee1b
        JSR     l_e156
        LDA     $2608
        BIT     #$08
        BEQ     l_8ca5
        LDA     #$01
        STA     $272d
l_8ca5: STZ     $2710
        INC     $2701
l_8cab: LDA     $2700
        BNE     l_8cd8
        LDA     $272d
        BNE     l_8cd9
        LDA     $2608
        BIT     #$08
        BEQ     l_8cd8
l_8cbc: LDA     $2700
        BEQ     l_8cc7
        STZ     $272b
        JMP     l_960f
l_8cc7: JSR     l_e1a0
        JSR     l_e1cb
        LDA     #$01
        STA     $279a
l_8cd2: STZ     $2704
        INC     $261d
l_8cd8: RTS     
