.const scr = 2 .const bgcol = 3 .var music = LoadSid("Echoing.sid") .pc = $0801 :BasicUpstart(start) .pc = $0810 "program" start: lda #0 sta $d020 sta $d021 sta scr jsr music.init ldx #0 clear: lda #$20 sta $0400,x sta $0500,x sta $0600,x sta $06e8,x lda #YELLOW sta $d800,x dex bne clear // lda #'x' // sta $0400 + 39 lda #'8' sta $0700 lda #$c7 sta $d016 jsr setirq main: lda #140 wait1: cmp $d012 bne wait1 clc adc #2 wait2: cmp $d012 bne wait2 dec $d020 jsr pixels dec $d020 jsr music.play inc $d020 inc $d020 jmp main setirq: sei lda #irq1 sta $0315 lda #$7f sta $dc0d sta $dd0d and $d011 sta $d011 lda $dc0d lda $dd0d lda #1 sta $d01a lda #42 sta $d012 cli rts irq1: lsr $d019 lda #irq2 sta $0315 lda #58 sta $d012 inc $d020 jmp $ea81 irq2: lsr $d019 lda #irq1 sta $0315 lda #42 sta $d012 dec $d020 jmp $ea81 pixels: lda $d016 and #7 sec sbc #1 bpl skip pha ldx #0 cpyloop: lda $0401,x sta $0400,x inx cpx #39 bne cpyloop repeat: ldx scr lda scrolltext,x bne common sta scr beq repeat common: sta $0400 + 39 inc scr pla skip: and #7 ora #$c0 sta $d016 ldx #39 dec bgcol lda bgcol and #15 sta bgcol tay !loop: lda bgcolors,y sta $d800,x dex bmi pixdone dey bpl !loop- ldy #15 bne !loop- // jmp !loop- pixdone: rts bgcolors: .byte DARK_GRAY,DARK_GRAY, GRAY, GRAY, LIGHT_GRAY,LIGHT_GRAY, YELLOW, YELLOW .byte WHITE, WHITE, YELLOW, YELLOW, LIGHT_GRAY, LIGHT_GRAY, GRAY, GRAY .align 256 scrolltext: .text "hej hopp alla som kodar c64" .text " " .byte 0 // sprite 0 / singlecolor / color: $06 .align 64 sprite_0: .byte $00,$7e,$00,$01,$c1,$80,$03,$f0 .byte $40,$06,$5c,$20,$0c,$2e,$90,$08 .byte $1f,$40,$18,$0e,$a8,$10,$1f,$c0 .byte $18,$0f,$a8,$10,$1f,$d8,$18,$2f .byte $68,$15,$5a,$f8,$0a,$bf,$f0,$09 .byte $55,$70,$04,$a8,$e0,$02,$01,$40 .byte $01,$00,$80,$00,$42,$00,$00,$3c .byte $00,$00,$00,$00,$00,$00,$00,$06 .print "end of code: $"+toHexString(*) *=music.location "Music" .fill music.size, music.getData(i) // *=$6000 "graphics" //.import binary "scr_wolves.data"