All pastes #926645 Raw Edit

Miscellany

public text v1 · immutable
·published 2008-03-03 20:01 UTC
rendered paste body
!to "minimal.prg", cbm

					*= $0800
!byte $00,$0c,$08,$0a,$00,$9e,$32,$30,$36,$34,$00,$00,$00,$00



					*=$0810
			
					sei
			
					lda #$16
					sta $d018			;switch to normal charset.
			
					jsr clearscreen
			
;--------------------------------------------------
			
	         	lda #$00
	           	sta $d020   
      	     	sta $d021    ; set border and screen colour to black

           		tax
copyloop
	           	lda $3f40,x  ; copy colours to screen RAM
	           	sta $0400,x
           		lda $4040,x
 	          	sta $0500,x
           		lda $4328,x  ; copy colours to colour RAM
      	     	sta $d800,x
	           	lda $4428,x
  	         	sta $d900,x
      	     	dex
	           	bne copyloop           
           	
  	         	lda #$3b     ; bitmap mode
  	         	ldx #$18     ; multi-colour mode
  	         	ldy #$18     ; screen at $0400, bitmap at $2000
  	         	sta $d011
  	         	stx $d016 
  	         	sty $d018
  
  					lda #$06
					jsr charcolour


mainloop		
			
					lda store01+0
					ldx store01+1
					ldy store01+2
			
					jsr bars01
			
					sty store01+2
					stx store01+1
					sta store01+0

;--------------------------------------------------
			
					lda store02+0
					ldx store02+1
					ldy store02+2
			
					jsr scroll
			
					sty store02+2
					stx store02+1
					sta store02+0
			
;--------------------------------------------------
			
					lda store03+0
					ldx store03+1
					ldy store03+2
			
					jsr bars02
			
					sty store03+2
					stx store03+1
					sta store03+0
			
;--------------------------------------------------
			
					jmp mainloop
			
;--------------------------------------------------

scroll

moveloop			lda $0401+600,x
					sta $0400+600,x
					inx			
					cpx #$28
					bne moveloop
readtext			lda $5000,y				;read text
					sta $0428+600
					iny
					bne dontadd
					inc readtext+2
			
dontadd			rts
			
;--------------------------------------------------

bars01		
					lda #$05
					ldy #$4c
					cpy $d012
					bne *-3
					sta $d020
			
					lda #$00
					ldy #$54
					cpy $d012
					bne *-3
					sta $d020
					
					ldx #$00
					ldy #$7c
raster01			lda colour01,x
					cpy $d012
					bne *-3
					sta $d020
					sta $d021
					inx
					iny
					cpx #$04
					bne raster01
			
					rts

;--------------------------------------------------

bars02			ldx #$00
					ldy #$ff
raster02			lda colour02,x
					cpy $d012
					bne *-3
					sta $d020
					sta $d021
					inx
					iny
					cpx #$04
					bne raster02

					rts

;-----------------------------------------------------

clearscreen		ldx #$00
					lda #$20				;blank space
clearloop		sta $0400,x
					sta $0500,x
					sta $0600,x
					sta $0700,x
					inx
					bne clearloop
					rts
						
;--------------------------------------------------

charcolour		ldx #$01
chrcolloop		sta $da00,x
					sta $db00,x
					inx
					bne chrcolloop							
					rts

;--------------------------------------------------

colour01			!byte $0b,$0c,$0f,$0f

colour02			!byte $0c,$0b,$00,$00

;--------------------------------------------------

store01			!byte 0,0,0
store02			!byte 0,0,0
store03			!byte 0,0,0

;--------------------------------------------------


			*=$2000
!bin "C:\relaunch64\asm\DSS02.prg",,2

			*=$5000
			
!text "lalalalalalaaaaaaaaaaaaaaaaaalalalalalaaaaaaaaaaaa test test test "