; SAVE#D3:WDYNAK.M65
;   .OPT NO LIST
;
      .OPT NO EJECT
;
;     WDYNAK.M65
;    DYNAKILL WILLIAMS
STADD =   GOPLAY
CTEND =   $C000
CTADD = $BF00
CTDST = $0600
BUILD = $6000
OFFSET = CTADD-CTDST-BUILD
;
    .SET 6,$5900
    *=  $0600
;
TIPTAB
    .BYTE $10,$A0,$C0,$07
    .BYTE $04,$B0,$D8,$07
    .BYTE $0C,$B4,$E0,$07
    .BYTE $14,$A0,$EC,$00
    .BYTE $20,$60,$A0,$08
    .BYTE $1D,$A3,$07,$01
    .BYTE $20,$A0,$24,$02
    .BYTE $20,$A0,$44,$03
    .BYTE $1A,$A0,$64,$04
    .BYTE $1E,$A0,$7E,$05
    .BYTE $02,$BE,$9C,$05
    .BYTE $02,$B4,$BE,$00
    .BYTE $20,$A0,$9E,$06
;
;
DO_UNDER
    LDA #$00
    STA $D40E
    SEI 
    LDA #$FE
    STA $D301
    JSR DO_OVER
    LDA #$FF
    STA $D301
    LDA #$C0
    STA $D40E
    CLI 
    RTS 
;
DO_OVER
    LDX $E6
    LDA TIPTAB,X
    STA $E4
    INX 
    LDA TIPTAB,X
    STA $E1
    INX 
    LDA TIPTAB,X
    STA $E3
    INX 
    LDA TIPTAB,X
    INX 
    STX $E6
    LDY #$00
    STY $E0
    STY $E2
    TAX 
?3  STA $D500,X
    LDA ($E0),Y
    STA $D508
    STA ($E2),Y
    INY 
    BNE ?3
    INC $E1
    INC $E3
    DEC $E4
    BNE ?3
    RTS 
;
GOPLAY
    INC $42
    LDX #$00
    STX $D400
    STX $0230
    DEX 
    STX $0150
    LDA #$93
    STA $0231
    LDA #$02
    JSR ?2
    JMP $9000
;
START2
    LDX #$00
    LDA #$04
    STA $E5
    STX $E6
?4  JSR DO_UNDER
    DEC $E5
    BNE ?4
    LDA #$07
?2  STA $E5
?5  JSR DO_OVER
    DEC $E5
    BNE ?5
    LDA #$C0
    STA $02E4
    STA $6A
    STY $D508
    STY $03FA
    STY $42
    RTS 
;
    .SET 6,$A000
    *=  $BFFA-$2F
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 # <STADD ;LOAD
    STA $0A     ;DOSVEC WITH
    LDA # >STADD ;LOAD
    STA $0B     ;DOSVEC+1
    LDY #$00
    LDA # >CTADD
    STA $E1
    LDA # >CTDST
    STA $E3
?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
