mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-06-26 15:29:55 +00:00
starfield: more opt
This commit is contained in:
parent
0fa717f912
commit
01aa12e0f1
|
@ -9,6 +9,8 @@
|
||||||
; 173 bytes - move variables to 0 page. limits to 16 stars but that's fine?
|
; 173 bytes - move variables to 0 page. limits to 16 stars but that's fine?
|
||||||
; 171 bytes - adjust random # generator
|
; 171 bytes - adjust random # generator
|
||||||
; 170 bytes - can do sty zp,x
|
; 170 bytes - can do sty zp,x
|
||||||
|
; 163 bytes - lose the cool HGR intro
|
||||||
|
; 161 bytes - re-arrange RNG location
|
||||||
|
|
||||||
COLOR = $30
|
COLOR = $30
|
||||||
|
|
||||||
|
@ -44,7 +46,7 @@ small_starfield:
|
||||||
|
|
||||||
;0GR:DIMV(64,48):FORZ=1TO48:FORX=0TO64:V(X,Z)=(X*4-128)/Z+20:NEXTX,Z
|
;0GR:DIMV(64,48):FORZ=1TO48:FORX=0TO64:V(X,Z)=(X*4-128)/Z+20:NEXTX,Z
|
||||||
|
|
||||||
jsr HGR
|
jsr SETGR
|
||||||
|
|
||||||
; init the X/Z tables
|
; init the X/Z tables
|
||||||
|
|
||||||
|
@ -102,8 +104,8 @@ to2_smc:
|
||||||
; draw the stars
|
; draw the stars
|
||||||
;===================================
|
;===================================
|
||||||
|
|
||||||
bit LORES
|
; bit LORES
|
||||||
jsr SETGR
|
; jsr SETGR
|
||||||
|
|
||||||
;===================================
|
;===================================
|
||||||
; starloop
|
; starloop
|
||||||
|
@ -151,30 +153,9 @@ xload2_smc:
|
||||||
|
|
||||||
;Z(P)=Z(P)-1
|
;Z(P)=Z(P)-1
|
||||||
dec star_z,X
|
dec star_z,X
|
||||||
bne draw_star ; if Z!=0, draw star
|
beq new_star ; if Z=0 new star
|
||||||
|
|
||||||
new_star:
|
; draw the star
|
||||||
;IFX<0ORX>39ORY<0ORY>39ORZ(P)<1THEN
|
|
||||||
; A(P)=RND(1)*64
|
|
||||||
; B(P)=RND(1)*64
|
|
||||||
; Z(P)=RND(1)*48+1:GOTO7
|
|
||||||
|
|
||||||
ldy FRAME
|
|
||||||
lda $F000,Y
|
|
||||||
sta star_x,X ; random XX
|
|
||||||
|
|
||||||
lda $F001,Y
|
|
||||||
sta star_y,X ; random YY
|
|
||||||
|
|
||||||
lda $F002,Y
|
|
||||||
and #$3f ; random ZZ 0..63
|
|
||||||
ora #$1 ; avoid 0
|
|
||||||
sta star_z,X
|
|
||||||
|
|
||||||
iny
|
|
||||||
sty FRAME
|
|
||||||
|
|
||||||
jmp done_star
|
|
||||||
|
|
||||||
draw_star:
|
draw_star:
|
||||||
|
|
||||||
|
@ -201,6 +182,29 @@ draw_star:
|
||||||
sta oldy,X
|
sta oldy,X
|
||||||
jsr PLOT ; PLOT AT Y,A
|
jsr PLOT ; PLOT AT Y,A
|
||||||
|
|
||||||
|
; a should be F0 or 0F here?
|
||||||
|
bne done_star
|
||||||
|
|
||||||
|
new_star:
|
||||||
|
;IFX<0ORX>39ORY<0ORY>39ORZ(P)<1THEN
|
||||||
|
; A(P)=RND(1)*64
|
||||||
|
; B(P)=RND(1)*64
|
||||||
|
; Z(P)=RND(1)*48+1:GOTO7
|
||||||
|
|
||||||
|
ldy FRAME
|
||||||
|
lda $F000,Y
|
||||||
|
sta star_x,X ; random XX
|
||||||
|
|
||||||
|
lda $F001,Y
|
||||||
|
sta star_y,X ; random YY
|
||||||
|
|
||||||
|
lda $F002,Y
|
||||||
|
and #$3f ; random ZZ 0..63
|
||||||
|
ora #$1 ; avoid 0
|
||||||
|
sta star_z,X
|
||||||
|
|
||||||
|
inc FRAME
|
||||||
|
|
||||||
|
|
||||||
done_star:
|
done_star:
|
||||||
;7NEXT
|
;7NEXT
|
||||||
|
@ -209,11 +213,13 @@ done_star:
|
||||||
bpl star_loop
|
bpl star_loop
|
||||||
|
|
||||||
lda #100
|
lda #100
|
||||||
jsr WAIT
|
jsr WAIT ; A is 0 after
|
||||||
|
|
||||||
; GOTO2
|
; GOTO2
|
||||||
jmp big_loop
|
beq big_loop ; bra
|
||||||
|
|
||||||
; for BASIC bot load
|
; for BASIC bot load
|
||||||
|
|
||||||
|
; need this to be at $3F5
|
||||||
|
|
||||||
jmp small_starfield
|
jmp small_starfield
|
||||||
|
|
Loading…
Reference in New Issue
Block a user