; SAVE#D3:WMIDAEND.M65
;   .OPT NO LIST
;
      .OPT NO EJECT
;
;   MIDAS MAZE WILLIAMS
STADD =   $640D
CTEND =   $C000
CTADD =   $BF00
CTDST = $0400
BUILD = $6000
OFFSET = CTADD-CTDST-BUILD
;
    .SET 6,$5B00
    *=  $0400
;
TIPTAB
    .BYTE $1F,$A0,$2F,$00
    .BYTE $17,$A0,$4E,$01
;
DO_OVER
    LDA TIPTAB,X
    STA $E4
    INX 
    LDA TIPTAB,X
    STA $E1
    INX 
    LDA TIPTAB,X
    STA $E3
    INX 
    LDA TIPTAB,X
    TAY 
    STA $D500,Y
    INX 
    LDY #$00
    STY $E0
    STY $E2
?3  LDA ($E0),Y
    STA ($E2),Y
    INY 
    BNE ?3
    INC $E1
    INC $E3
    DEC $E4
    BNE ?3
    RTS 
;
START2
    LDA #$02
    STA $E5
    LDX #$00
?4  JSR DO_OVER
    DEC $E5
    BNE ?4
    CLC 
    TYA 
    STY $D500
    STY $42
    RTS 
;
PLAY
    LDA $14
    CLC 
    ADC #$05
?5  CMP $14
    BNE ?5
    CLC 
    LDY #$00
    TYA 
    JMP STADD
;
    .SET 6,$A000
    *=  $BFFA-$3B
INIT STX $03E9  ;CKEY=0
    STX $03EA   ;CASSBT=0
    DEX 
    STX $D301   ;KILL BASIC HARD
    LDA #$01
    STA $09     ;SAY BOOTED
    STA $42
    STA $03F8   ;KILL BASIC SOFT
    LDA # <PLAY
    STA $0A     ;DOSVEC WITH
    LDA # >PLAY
    STA $0B     ;DOSVEC+1
    LDY #$00
    LDA # >CTADD
    STA $E1
    LDA # >CTDST
    STA $E3
    STY $E0
    STY $E2
?A  LDA ($E0),Y
    STA ($E2),Y
    INY 
    BNE ?A
    JMP START2
;
XTLEN = *-INIT
    *=  $BFFA
    .BYTE "FU"
    .BYTE $00   ;MUST BE 0
    .BYTE $00   ;DOS=5,NODOS=4
    .WORD INIT
;ORIGIN AT 150
