; Marchen Maze                             ; Obocchama Kun
	.code                                  	   .code
	.bank 0                                	   .bank 3
	.org $f71c                             	   .org $d3a1
lf71c_00: STZ     <$75                     ld3a1_00: STZ     <$0f
          STA     <$74                               STA     <$0e
          ASL     A                                  ASL     A
          ROL     <$75                               ROL     <$0f
          CLC                                        CLC     
          ADC     <$74                               ADC     <$0e
          STA     <$74                               STA     <$0e
          LDA     <$75                               LDA     <$0f
          ADC     #$00                               ADC     #$00
          STA     <$75                               STA     <$0f
          LDA     <$74                               LDA     <$0e
          ASL     A                                  ASL     A
          STA     <$74                               STA     <$0e
          ROL     <$75                               ROL     <$0f
          LDA     <$74                               LDA     <$0e
          CLC                                        CLC     
          ADC     #$c8                               ADC     #$82
          STA     <$74                               STA     <$0e
          LDA     <$75                               LDA     <$0f
          ADC     #$f8                               ADC     #$e9
          STA     <$75                               STA     <$0f
          CLY                                        CLY     
          LDA     [$74], Y                           LDA     [$0e], Y
          INY                                        INY     
          STA     <$78                               STA     <$00
          LDA     [$74], Y                           LDA     [$0e], Y
          INY                                        INY     
          STA     <$79                               STA     <$01
          LDA     #$00                               LDA     #$00
          STA     <$7c                               
          STA     $0000                              STA     $0000
          LDA     [$74], Y                           LDA     [$0e], Y
          INY                                        INY     
          STA     $0002                              STA     $0002
          LDA     [$74], Y                           LDA     [$0e], Y
          INY                                        INY     
          STA     $0003                              STA     $0003
          LDA     #$02                               LDA     #$02
          STA     <$7c                               
          STA     $0000                              STA     $0000
          LDA     [$74], Y                           LDA     [$0e], Y
                                                     
          JSR     lf8a6_00                           TAM     #$02
                                                     INC     A
                                                     TAM     #$03
                                                     
          STZ     $3700                              STZ     $3a20
          TII     $3700, $3701, $001f                TII     $3a20, $3a21, $001f
          LDY     #$02                               LDY     #$02
          LDA     [$78], Y                           LDA     [$00], Y
          STA     <$7d                               STA     $3a40
          INY                                        INY     
          LDA     [$78], Y                           LDA     [$00], Y
          STA     <$7e                               STA     $3a41
          INY                                        INY     
          LDA     [$78], Y                           LDA     [$00], Y
          CLC                                        CLC     
          ADC     <$78                               ADC     <$00
          STA     <$7a                               STA     <$02
          INY                                        INY     
          LDA     [$78], Y                           LDA     [$00], Y
          ADC     <$79                               ADC     <$01
          STA     <$7b                               STA     <$03
          INY                                        INY     
          JSR     lf7f6_00                           JSR     ld46e_00
          STZ     <$7f                               STZ     $3a42
lf796_00: LDA     <$7d                     ld41c_00: LDA     $3a40
          ORA     <$7e                               ORA     $3a41
          BEQ     lf7e1_00                           BEQ     ld46d_00
          JSR     lf888_00                           JSR     ld50c_00
          CMP     #$00                               CMP     #$00
          BNE     lf7ac_00                           BNE     ld434_00
          TIA     $3700, $0002, $0020                TIA     $3a20, $0002, $0020
          BRA     lf7d2_00                           BRA     ld45a_00
lf7ac_00: CMP     #$02                     ld434_00: CMP     #$02
          BNE     lf7bc_00                           BNE     ld444_00
          JSR     lf817_00                           JSR     ld48f_00
          TIA     $3740, $0002, $0020                TIA     $3a00, $0002, $0020
          BRA     lf7d2_00                           BRA     ld45a_00
lf7bc_00: CMP     #$03                     ld444_00: CMP     #$03
          BNE     lf7cf_00                           BNE     ld457_00
          JSR     lf817_00                           JSR     ld48f_00
          JSR     lf857_00                           JSR     ld4db_00
          TIA     $3740, $0002, $0020                TIA     $3a00, $0002, $0020
          BRA     lf7d2_00                           BRA     ld45a_00
lf7cf_00: JSR     lf803_00                 ld457_00: JSR     ld47b_00
lf7d2_00: LDA     <$7d                     ld45a_00: LDA     $3a40
          SEC                                        SEC     
          SBC     #$01                               SBC     #$01
          STA     <$7d                               STA     $3a40
          LDA     <$7e                               LDA     $3a41
          SBC     #$00                               SBC     #$00
          STA     <$7e                               STA     $3a41
          BRA     lf796_00                           BRA     ld41c_00
                                                     
lf7e1_00: LDA     $2100                              
          TAM     #$02                               
          LDA     $2101                              
          TAM     #$03                               
          LDA     $2102                              
          TAM     #$04                               
          LDA     $2103                              
          TAM     #$05                               
                                                     
          RTS                              ld46d_00: RTS

          
lf7f6_00: TYA                              ld46e_00: TYA     
          CLC                                        CLC     
          ADC     <$78                               ADC     <$00
          STA     <$78                               STA     <$00
          CLA                                        CLA     
          ADC     <$79                               ADC     <$01
          STA     <$79                               STA     <$01
          CLY                                        CLY     
          RTS                                        RTS

          
lf803_00: CLY                              ld47b_00: CLY     
lf804_00: LDA     [$78], Y                 ld47c_00: LDA     [$00], Y
          STA     $0002                              STA     $0002
          INY                                        INY     
          LDA     [$78], Y                           LDA     [$00], Y
          STA     $0003                              STA     $0003
          INY                                        INY     
          CPY     #$20                               CPY     #$20
          BNE     lf804_00                           BNE     ld47c_00
          JMP     lf7f6_00                           JMP     ld46e_00
lf817_00: LDA     [$78]                    ld48f_00: LDA     [$00]
          STA     <$83                               STA     $3a46
          LDY     #$04                               LDY     #$04
          LDA     #$09                               LDA     #$09
          STA     <$81                               STA     $3a44
          STZ     <$80                               STZ     $3a43
          CLX                                        CLX     
          LDA     #$20                               LDA     #$20
          STA     <$82                               STA     $3a45
lf828_00: DEC     <$81                     ld4a4_00: DEC     $3a44
          BNE     lf83a_00                           BNE     ld4bb_00
          PHY                                        PHY     
          LDA     #$08                               LDA     #$08
          STA     <$81                               STA     $3a44
          INC     <$80                               INC     $3a43
          LDY     <$80                               LDY     $3a43
          LDA     [$78], Y                           LDA     [$00], Y
          STA     <$83                               STA     $3a46
          PLY                                        PLY     
lf83a_00: ROR     <$83                     ld4bb_00: ROR     $3a46
          BCS     lf849_00                           BCS     ld4cc_00
          STZ     $3740, X                           STZ     $3a00, X
          INX                                        INX     
          DEC     <$82                               DEC     $3a45
          BNE     lf828_00                           BNE     ld4a4_00
          JMP     lf7f6_00                           JMP     ld46e_00
lf849_00: LDA     [$78], Y                 ld4cc_00: LDA     [$00], Y
          STA     $3740, X                           STA     $3a00, X
          INY                                        INY     
          INX                                        INX     
          DEC     <$82                               DEC     $3a45
          BNE     lf828_00                           BNE     ld4a4_00
          JMP     lf7f6_00                           JMP     ld46e_00
lf857_00: PHX                              ld4db_00: PHX     
          PHY                                        PHY     
          LDY     #$07                               LDY     #$07
          CLX                                        CLX     
lf85c_00: LDA     $3740, X                 ld4e0_00: LDA     $3a00, X
          EOR     $3742, X                           EOR     $3a02, X
          STA     $3742, X                           STA     $3a02, X
          LDA     $3741, X                           LDA     $3a01, X
          EOR     $3743, X                           EOR     $3a03, X
          STA     $3743, X                           STA     $3a03, X
          LDA     $3750, X                           LDA     $3a10, X
          EOR     $3752, X                           EOR     $3a12, X
          STA     $3752, X                           STA     $3a12, X
          LDA     $3751, X                           LDA     $3a11, X
          EOR     $3753, X                           EOR     $3a13, X
          STA     $3753, X                           STA     $3a13, X
          INX                                        INX     
          INX                                        INX     
          DEY                                        DEY     
          BNE     lf85c_00                           BNE     ld4e0_00
          PLY                                        PLY     
          PLX                                        PLX     
          RTS                                        RTS   

          
lf888_00: LDX     <$7f                     ld50c_00: LDX     $3a42
          CPX     #$04                               CPX     #$04
          BNE     lf897_00                           BNE     ld51d_00
          INC     <$7a                               INC     <$02
          BNE     lf894_00                           BNE     ld519_00
          INC     <$7b                               INC     <$03
lf894_00: STZ     <$7f                     ld519_00: STZ     $3a42
          CLX                                        CLX     
lf897_00: LDA     [$7a]                    ld51d_00: LDA     [$02]
lf899_00: DEX                              ld51f_00: DEX     
          BMI     lf8a1_00                           BMI     ld527_00
          ROR     A                                  ROR     A
          ROR     A                                  ROR     A
          JMP     lf899_00                           JMP     ld51f_00
lf8a1_00: AND     #$03                     ld527_00: AND     #$03
          INC     <$7f                               INC     $3a42
          RTS                                        RTS     

          
lf8a6_00: TAY     
          TMA     #$02
          STA     $2100
          TMA     #$03
          STA     $2101
          TMA     #$04
          STA     $2102
          TMA     #$05
          STA     $2103
          TYA     
          TAM     #$02
          INC     A
          TAM     #$03
          INC     A
          TAM     #$04
          INC     A
          TAM     #$05
          RTS     
