; SAVE#D:WNINJA.M65 ; .OPT NO LIST ; .OPT NO EJECT ; ; WNINJA.M65 ; NINJA WILLIAMS STADD = GOPLAY CTEND = $C000 CTADD = $BF00 CTDST = $0600 BUILD = $6000 OFFSET = CTADD-CTDST-BUILD ; .SET 6,$5900 *= $0600 ; TIPTAB .BYTE $1F,$A0,$08,$00 .BYTE $20,$A0,$27,$01 .BYTE $20,$60,$A0,$08 .BYTE $20,$A0,$47,$02 .BYTE $20,$A0,$67,$03 .BYTE $20,$A0,$87,$04 .BYTE $19,$A0,$A7,$05 ; 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 $02C6 STX $02C8 LDA #$0A STA $0230 LDA #$08 STA $0231 LDA #$01 JSR ?2 LDA #$22 STA $D400 STY $42 LDA $14 INC $14 ?4 CMP $14 BNE ?4 JMP $1000 ; START2 LDX #$00 STX $E6 LDA #$06 ?2 STA $E5 ?5 JSR DO_OVER DEC $E5 BNE ?5 LDA #$C0 STA $02E4 STA $02E6 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 $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