.C:1059 A6 F7 LDX $F7 .C:105b E0 04 CPX #$04 .C:105d F0 EF BEQ $104E .C:105f AD 00 DD LDA $DD00 .C:1062 29 FC AND #$FC .C:1064 1D 7B 10 ORA $107B,X .C:1067 8D 00 DD STA $DD00
!to "movingpicture.prg",cbm * = $0801 !byte $0b, $08, $00, $00, $9e, $32, $30, $36, $31, $00, $00, $00 PICTURE = $2000 BITMAP = PICTURE VIDEO = PICTURE+$1f40 COLOR = PICTURE+$2328 BACKGROUND = PICTURE+$2710 * = $080d sei lda #$00 sta $d020 ; Border Color lda BACKGROUND sta $d021 ; Screen Color ; Transfer Video and Color ldx #$00 .LOOPA ; Transfers video data lda VIDEO,x sta $0400,x lda VIDEO+$100,x sta $0500,x lda VIDEO+$200,x sta $0600,x lda VIDEO+$2e8,x sta $06e8,x ; Transfers color data lda COLOR,x sta $d800,x lda COLOR+$100,x sta $d900,x lda COLOR+$200,x sta $da00,x lda COLOR+$2e8,x sta $dae8,x inx bne .LOOPA ; ; Bitmap Mode On ; lda #$3b sta $d011 ; ; MultiColor On ; lda #$d8 sta $d016 ; ; When bitmap adress is $2000 ; Screen at $0400 ; Value of $d018 is $18 ; lda #$18 sta $d018 ldx #20*1 lda #128 loop1 cmp $d012 ;check if the raster has reached line 128 bne loop1 ;no, so keep checking loop2 cmp $d012 ;if it has you want to make sure you dont catch it more than once per frame beq loop2 ;so wait till it isn't 0 any more dex bne loop1 ; Transfer Video and Color ldx #$00 .LOOPB ; Transfers video data lda VIDEO+$3000,x sta $0400,x lda VIDEO+$100+$3000,x sta $0500,x lda VIDEO+$200+$3000,x sta $0600,x lda VIDEO+$2e8+$3000,x sta $06e8,x ; Transfers color data lda COLOR+$3000,x sta $d800,x lda COLOR+$100+$3000,x sta $d900,x lda COLOR+$200+$3000,x sta $da00,x lda COLOR+$2e8+$3000,x sta $dae8,x inx bne .LOOPB ; ; Bitmap Mode On ; lda #$3b sta $d011 ; ; MultiColor On ; lda #$d8 sta $d016 ; ; When bitmap adress is $2000 ; Screen at $0400 ; Value of $d018 is $18 ; lda #$28 sta $d018 ldx #20*1 lda #128 loop3 cmp $d012 ;check if the raster has reached line 128 bne loop3 ;no, so keep checking loop4 cmp $d012 ;if it has you want to make sure you dont catch it more than once per frame beq loop4 ;so wait till it isn't 0 any more dex bne loop3 jmp $080d ;File must be at same directory ofcourse * = PICTURE !binary "picturea.koa",,2 * = PICTURE+$3000 !binary "pictureb.koa",,2
!to "movingpicture.prg",cbm * = $0801 !byte $0b, $08, $00, $00, $9e, $32, $30, $36, $31, $00, $00, $00 PICTUREA = $2000 BITMAPA = PICTUREA VIDEOA = PICTUREA+$1f40 COLORA = PICTUREA+$2328 BACKGROUNDA = PICTUREA+$2710 PICTUREB = $A000 BITMAPB = PICTUREB VIDEOB = PICTUREB+$1f40 COLORB = PICTUREB+$2328 BACKGROUNDB = PICTUREB+$2710 * = $080d sei lda #$00 sta $d020 ; Border Color lda BACKGROUNDA sta $d021 ; Screen Color ; Transfer Video and Color ldx #$00 .LOOPA ; Transfers video data lda VIDEOA,x sta $0400,x lda VIDEOA+$100,x sta $0500,x lda VIDEOA+$200,x sta $0600,x lda VIDEOA+$2e8,x sta $06e8,x ; Transfers color data lda COLORA,x sta $d800,x lda COLORA+$100,x sta $d900,x lda COLORA+$200,x sta $da00,x lda COLORA+$2e8,x sta $dae8,x inx bne .LOOPA ; ; Bitmap Mode On ; lda #$3b sta $d011 ; ; MultiColor On ; lda #$d8 sta $d016 ; ; When bitmap adress is $2000 ; Screen at $0400 ; Value of $d018 is $18 ; ;lda #$18 lda #%00011000 sta $d018 ldx #20*1 lda #128 loop1 cmp $d012 ;check if the raster has reached line 128 bne loop1 ;no, so keep checking loop2 cmp $d012 ;if it has you want to make sure you dont catch it more than once per frame beq loop2 ;so wait till it isn't 0 any more dex bne loop1 sei lda #$00 sta $d020 ; Border Color lda BACKGROUNDB sta $d021 ; Screen Color ; Transfer Video and Color ldx #$00 .LOOPB ; Transfers video data lda VIDEOB,x sta $8400,x lda VIDEOB+$100,x sta $8500,x lda VIDEOB+$200,x sta $8600,x lda VIDEOB+$2e8,x sta $86e8,x ; Transfers color data lda COLORB,x sta $d800,x lda COLORB+$100,x sta $d900,x lda COLORB+$200,x sta $da00,x lda COLORB+$2e8,x sta $dae8,x inx bne .LOOPB ; ; Bitmap Mode On ; lda #$3b sta $d011 ; ; MultiColor On ; lda #$d8 sta $d016 ; ; When bitmap adress is $A000 ; Screen at $0400 ; Value of $d018 is $18 ; lda #%00011000 sta $d018 lda $DD00 and #%11111100 ora #%00000001 ;<- your desired VIC bank value, see above sta $DD00 ldx #20*1 lda #128 loop3 cmp $d012 ;check if the raster has reached line 128 bne loop3 ;no, so keep checking loop4 cmp $d012 ;if it has you want to make sure you dont catch it more than once per frame beq loop4 ;so wait till it isn't 0 any more dex bne loop3 lda $DD00 and #%11111100 ora #%00000011 ;<- your desired VIC bank value, see above sta $DD00 jmp $080d ;File must be at same directory ofcourse * = PICTUREA !binary "picturea.koa",,2 * = PICTUREB !binary "pictureb.koa",,2