mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-06-09 07:29:32 +00:00
second: try to make dots more interesting
This commit is contained in:
parent
38a56a4686
commit
1d54bddcb6
|
@ -24,6 +24,11 @@ dots_start:
|
||||||
; initializations
|
; initializations
|
||||||
;=====================
|
;=====================
|
||||||
|
|
||||||
|
lda #0
|
||||||
|
sta MAX_DOTS
|
||||||
|
sta FRAME
|
||||||
|
sta Y_OFFSET
|
||||||
|
|
||||||
;===================
|
;===================
|
||||||
; Load graphics
|
; Load graphics
|
||||||
;===================
|
;===================
|
||||||
|
@ -40,8 +45,11 @@ dots_start:
|
||||||
|
|
||||||
dots_loop:
|
dots_loop:
|
||||||
jsr clear_top
|
jsr clear_top
|
||||||
jsr clear_bottom
|
jsr clear_bottom ; not necessary as we over-write?
|
||||||
|
|
||||||
|
;============================
|
||||||
|
; draw the grey background
|
||||||
|
;============================
|
||||||
|
|
||||||
ldx #12
|
ldx #12
|
||||||
horizon_loop:
|
horizon_loop:
|
||||||
|
@ -63,16 +71,34 @@ horizon_inner:
|
||||||
cpx #24
|
cpx #24
|
||||||
bne horizon_loop
|
bne horizon_loop
|
||||||
|
|
||||||
lda #15
|
|
||||||
|
;==========================
|
||||||
|
; draw the dots
|
||||||
|
;==========================
|
||||||
|
|
||||||
|
|
||||||
|
lda MAX_DOTS
|
||||||
sta COUNT
|
sta COUNT
|
||||||
dot_loop:
|
dot_loop:
|
||||||
; Xcoord in XPOS
|
; Xcoord in XPOS
|
||||||
; Ycoord in YPOS
|
; Ycoord in YPOS
|
||||||
; color in COLOR
|
; color in COLOR
|
||||||
|
|
||||||
ldx COUNT
|
lda COUNT
|
||||||
|
clc
|
||||||
|
adc Y_OFFSET
|
||||||
|
and #31
|
||||||
|
tax
|
||||||
|
; ldx COUNT
|
||||||
lda wide_points_x,X
|
lda wide_points_x,X
|
||||||
sta XPOS
|
sta XPOS
|
||||||
|
|
||||||
|
; lda COUNT
|
||||||
|
; clc
|
||||||
|
; adc Y_OFFSET
|
||||||
|
; and #31
|
||||||
|
; tax
|
||||||
|
ldx COUNT
|
||||||
lda wide_points_y,X
|
lda wide_points_y,X
|
||||||
sta YPOS
|
sta YPOS
|
||||||
lda #$66 ; light blue
|
lda #$66 ; light blue
|
||||||
|
@ -86,9 +112,10 @@ dot_loop:
|
||||||
jsr page_flip
|
jsr page_flip
|
||||||
|
|
||||||
|
|
||||||
|
;============================
|
||||||
; move dots
|
; move dots
|
||||||
|
|
||||||
ldx #15
|
ldx MAX_DOTS
|
||||||
move_dot_loop:
|
move_dot_loop:
|
||||||
lda wide_points_y,X
|
lda wide_points_y,X
|
||||||
clc
|
clc
|
||||||
|
@ -109,6 +136,63 @@ dot_good:
|
||||||
dex
|
dex
|
||||||
bpl move_dot_loop
|
bpl move_dot_loop
|
||||||
|
|
||||||
|
;============================
|
||||||
|
; see if hit end
|
||||||
|
;============================
|
||||||
|
; runs from #60-68
|
||||||
|
|
||||||
|
;=============================
|
||||||
|
; let dots out one by one
|
||||||
|
inc FRAME
|
||||||
|
|
||||||
|
lda FRAME
|
||||||
|
and #$7
|
||||||
|
bne dots_good
|
||||||
|
|
||||||
|
lda MAX_DOTS
|
||||||
|
cmp #15
|
||||||
|
bcs dots_good
|
||||||
|
|
||||||
|
inc MAX_DOTS
|
||||||
|
|
||||||
|
dots_good:
|
||||||
|
|
||||||
|
;=======================
|
||||||
|
; increase dots at 64
|
||||||
|
|
||||||
|
lda #64
|
||||||
|
cmp current_pattern_smc+1
|
||||||
|
bne dot_count_good64
|
||||||
|
|
||||||
|
lda #23
|
||||||
|
sta MAX_DOTS
|
||||||
|
|
||||||
|
dot_count_good64:
|
||||||
|
|
||||||
|
;=======================
|
||||||
|
; increase dots at 66
|
||||||
|
|
||||||
|
lda #66
|
||||||
|
cmp current_pattern_smc+1
|
||||||
|
bne dot_count_good66
|
||||||
|
|
||||||
|
lda #31
|
||||||
|
sta MAX_DOTS
|
||||||
|
|
||||||
|
dot_count_good66:
|
||||||
|
|
||||||
|
lda #31
|
||||||
|
cmp MAX_DOTS
|
||||||
|
bne not_31
|
||||||
|
|
||||||
|
lda FRAME
|
||||||
|
and #$f
|
||||||
|
bne not_31
|
||||||
|
inc Y_OFFSET
|
||||||
|
|
||||||
|
not_31:
|
||||||
|
;======================
|
||||||
|
; check for end
|
||||||
|
|
||||||
lda #68
|
lda #68
|
||||||
jsr wait_for_pattern
|
jsr wait_for_pattern
|
||||||
|
@ -117,6 +201,12 @@ dot_good:
|
||||||
jmp dots_loop
|
jmp dots_loop
|
||||||
|
|
||||||
dots_done:
|
dots_done:
|
||||||
|
jsr clear_top
|
||||||
|
jsr clear_bottom
|
||||||
|
|
||||||
|
; lda #50
|
||||||
|
; jsr wait
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
@ -135,15 +225,22 @@ dots_done:
|
||||||
|
|
||||||
|
|
||||||
wide_points_x:
|
wide_points_x:
|
||||||
.byte 8,11,17,25,30,28,20,13
|
.byte 8,11,17,25,30,28,20,13
|
||||||
.byte 9,14,21,28,30,24,17,11
|
.byte 9,14,21,28,30,24,17,11
|
||||||
|
.byte 14,16,19,22,25,24,20,17
|
||||||
|
.byte 15,17,20,21,24,23,20,18
|
||||||
|
|
||||||
wide_points_y:
|
wide_points_y:
|
||||||
; .byte 19,16,12,11,14,18,20,21
|
; .byte 19,16,12,11,14,18,20,21
|
||||||
; .byte 18,13,11,12,16,19,20,20
|
; .byte 18,13,11,12,16,19,20,20
|
||||||
|
|
||||||
.byte 9, 6 ,2,1,4,8,10,11
|
.byte 9, 6 ,2,1,4,8,10,11
|
||||||
.byte 15,12, 8,7,10,14,16,17
|
.byte 15,12, 8,7,10,14,16,17
|
||||||
|
.byte 1, 3 ,5,7,9,11,13,15
|
||||||
|
.byte 2, 6,10,14,14,10,6,2
|
||||||
|
|
||||||
dot_direction:
|
dot_direction:
|
||||||
.byte 1, 1, 1, 1, 1, 1, 1, 1
|
.byte 1, 1, 1, 1, 1, 1, 1, 1
|
||||||
.byte 1, 1, 1, 1, 1, 1, 1, 1
|
.byte 1, 1, 1, 1, 1, 1, 1, 1
|
||||||
|
.byte 1, 1, 1, 1, 1, 1, 1, 1
|
||||||
|
.byte 1, 1, 1, 1, 1, 1, 1, 1
|
||||||
|
|
|
@ -238,6 +238,10 @@ FAKE_KEY_COUNT = $F5
|
||||||
TICKER = $F1
|
TICKER = $F1
|
||||||
P2_OFFSET = $F2
|
P2_OFFSET = $F2
|
||||||
|
|
||||||
|
; dots
|
||||||
|
MAX_DOTS = $F1
|
||||||
|
Y_OFFSET = $F2
|
||||||
|
|
||||||
;==============================================
|
;==============================================
|
||||||
; $FC-$FF we use for in/out pointers
|
; $FC-$FF we use for in/out pointers
|
||||||
;==============================================
|
;==============================================
|
||||||
|
|
Loading…
Reference in New Issue
Block a user