mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-09-10 23:54:33 +00:00
mode7: update demo
This commit is contained in:
parent
c3b4c297ec
commit
632fea463f
BIN
mode7/mode7.dsk
BIN
mode7/mode7.dsk
Binary file not shown.
@ -29,6 +29,11 @@ NUMSTARS EQU 16
|
|||||||
lda #0 ; 2
|
lda #0 ; 2
|
||||||
sta DRAW_PAGE ; 3
|
sta DRAW_PAGE ; 3
|
||||||
sta RANDOM_POINTER ; 3
|
sta RANDOM_POINTER ; 3
|
||||||
|
sta STATE
|
||||||
|
|
||||||
|
lda #5
|
||||||
|
sta SPEED
|
||||||
|
|
||||||
; always multiply with low byte as zero
|
; always multiply with low byte as zero
|
||||||
sta NUM2L ; 3
|
sta NUM2L ; 3
|
||||||
|
|
||||||
@ -50,12 +55,46 @@ starfield_loop:
|
|||||||
;===============
|
;===============
|
||||||
; clear screen
|
; clear screen
|
||||||
;===============
|
;===============
|
||||||
|
|
||||||
|
lda STATE
|
||||||
|
|
||||||
|
cmp #5
|
||||||
|
bne quick_skip
|
||||||
|
|
||||||
|
lda #0
|
||||||
|
sta STATE
|
||||||
|
|
||||||
|
lda #5
|
||||||
|
sta SPEED
|
||||||
|
|
||||||
|
quick_skip:
|
||||||
|
|
||||||
|
cmp #3
|
||||||
|
beq no_clear
|
||||||
|
|
||||||
|
cmp #1
|
||||||
|
bne black_back
|
||||||
|
|
||||||
|
dec SPEED
|
||||||
|
lda SPEED
|
||||||
|
bne not_done
|
||||||
|
|
||||||
|
inc STATE
|
||||||
|
not_done:
|
||||||
|
lda #COLOR_BOTH_LIGHTBLUE
|
||||||
|
jmp back_color
|
||||||
|
|
||||||
|
black_back:
|
||||||
|
lda #0
|
||||||
|
back_color:
|
||||||
|
sta clear_all_color+1
|
||||||
|
|
||||||
jsr clear_all ; 6+
|
jsr clear_all ; 6+
|
||||||
; 6047
|
; 6047
|
||||||
;===============
|
;===============
|
||||||
; draw stars
|
; draw stars
|
||||||
;===============
|
;===============
|
||||||
|
no_clear:
|
||||||
|
|
||||||
; start at 15 and count down (rather than 0 and count up)
|
; start at 15 and count down (rather than 0 and count up)
|
||||||
ldx #(NUMSTARS-1) ; 2
|
ldx #(NUMSTARS-1) ; 2
|
||||||
@ -211,17 +250,6 @@ move_loop_skip:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
starfield_keyboard:
|
|
||||||
|
|
||||||
; jsr get_key ; get keypress ; 6
|
|
||||||
|
|
||||||
; lda LASTKEY ; 3
|
|
||||||
|
|
||||||
; beq starfield_keyboard
|
|
||||||
|
|
||||||
; cmp #('Q') ; if quit, then return
|
|
||||||
; bne skipskip
|
|
||||||
; rts
|
|
||||||
|
|
||||||
skipskip:
|
skipskip:
|
||||||
|
|
||||||
@ -244,6 +272,34 @@ skipskip:
|
|||||||
|
|
||||||
jsr page_flip ; 6
|
jsr page_flip ; 6
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
starfield_keyboard:
|
||||||
|
|
||||||
|
lda STATE ; if 0, wait
|
||||||
|
bne check_keyboard
|
||||||
|
|
||||||
|
first_press:
|
||||||
|
jsr get_key ; get keypress ; 6
|
||||||
|
lda LASTKEY
|
||||||
|
|
||||||
|
beq first_press
|
||||||
|
|
||||||
|
inc STATE
|
||||||
|
|
||||||
|
jmp done_keyboard
|
||||||
|
|
||||||
|
check_keyboard:
|
||||||
|
|
||||||
|
jsr get_key ; get keypress ; 6
|
||||||
|
lda LASTKEY
|
||||||
|
beq done_keyboard
|
||||||
|
|
||||||
|
bit SPEAKER
|
||||||
|
inc STATE
|
||||||
|
|
||||||
|
done_keyboard:
|
||||||
|
|
||||||
;==================
|
;==================
|
||||||
; loop forever
|
; loop forever
|
||||||
;==================
|
;==================
|
||||||
|
@ -96,6 +96,7 @@ LAST_MAP_COLOR EQU $89
|
|||||||
DRAW_SKY EQU $8A
|
DRAW_SKY EQU $8A
|
||||||
COLOR_MASK EQU $8B
|
COLOR_MASK EQU $8B
|
||||||
RANDOM_POINTER EQU $8C
|
RANDOM_POINTER EQU $8C
|
||||||
|
STATE EQU $8D
|
||||||
|
|
||||||
SHIPY EQU $E4
|
SHIPY EQU $E4
|
||||||
|
|
||||||
@ -106,6 +107,9 @@ KEYRESET EQU $C010
|
|||||||
CLR80COL EQU $C000 ; PAGE0/PAGE1 normal
|
CLR80COL EQU $C000 ; PAGE0/PAGE1 normal
|
||||||
SET80COL EQU $C001 ; PAGE0/PAGE1 switches PAGE0 in Aux instead
|
SET80COL EQU $C001 ; PAGE0/PAGE1 switches PAGE0 in Aux instead
|
||||||
EIGHTYCOL EQU $C00D
|
EIGHTYCOL EQU $C00D
|
||||||
|
|
||||||
|
SPEAKER EQU $C030
|
||||||
|
|
||||||
SET_GR EQU $C050
|
SET_GR EQU $C050
|
||||||
SET_TEXT EQU $C051
|
SET_TEXT EQU $C051
|
||||||
FULLGR EQU $C052
|
FULLGR EQU $C052
|
||||||
|
Loading…
Reference in New Issue
Block a user