mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-08-14 10:29:46 +00:00
105 lines
1.1 KiB
ArmAsm
105 lines
1.1 KiB
ArmAsm
GBASL = $26
|
|
GBASH = $27
|
|
HGRPAGE = $E6
|
|
YPOS = $FD
|
|
LINE = $FE
|
|
COLOR = $FF
|
|
|
|
HGR = $F3E2
|
|
HGR2 = $F3D8
|
|
HPOSN = $F411
|
|
|
|
raster:
|
|
jsr HGR
|
|
jsr HGR2
|
|
; sta $C050 ; set graphics
|
|
; sta $C057 ; set hires
|
|
; sta $C052 ; set fullscreen
|
|
sta $C05E ; set double hires
|
|
sta $C00D ; 80 column
|
|
sta $C001 ; 80 store
|
|
|
|
sta $C055 ; set page2
|
|
|
|
lda #$20
|
|
sta HGRPAGE
|
|
|
|
bit_rain:
|
|
; blue
|
|
|
|
lda #$0
|
|
sta COLOR
|
|
bit_rain_smc:
|
|
lda #100
|
|
sta YPOS
|
|
jsr draw_raster_bit
|
|
|
|
; red
|
|
|
|
lda #$8
|
|
sta COLOR
|
|
bit_rain2_smc:
|
|
lda #50
|
|
sta YPOS
|
|
jsr draw_raster_bit
|
|
|
|
|
|
lda bit_rain_smc+1
|
|
clc
|
|
adc #1
|
|
and #$7f
|
|
sta bit_rain_smc+1
|
|
|
|
lda bit_rain2_smc+1
|
|
clc
|
|
adc #1
|
|
and #$7f
|
|
sta bit_rain2_smc+1
|
|
|
|
jmp bit_rain
|
|
|
|
|
|
;=========================
|
|
; draw line of color in COLOR
|
|
;=========================
|
|
draw_raster_bit:
|
|
|
|
ldx #0
|
|
stx LINE
|
|
|
|
draw_raster_bit_loop:
|
|
|
|
ldx #0
|
|
ldy #0
|
|
lda YPOS
|
|
jsr HPOSN
|
|
|
|
clc
|
|
lda LINE
|
|
adc COLOR
|
|
tax
|
|
lda color_table,X
|
|
|
|
ldy #0
|
|
inside_loop:
|
|
sta (GBASL),Y
|
|
iny
|
|
iny
|
|
cpy #40
|
|
bne inside_loop
|
|
|
|
inc YPOS
|
|
|
|
inc LINE
|
|
ldx LINE
|
|
cpx #9
|
|
bne draw_raster_bit_loop
|
|
|
|
rts
|
|
|
|
color_table:
|
|
.byte $0
|
|
.byte $1,$3,$B,$F,$B,$3,$1,$0
|
|
.byte $8,$9,$D,$F,$D,$9,$8,$0
|
|
|