mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-04-02 15:30:05 +00:00
mode7: work on 6502 version of starfield
This commit is contained in:
parent
83090145de
commit
78b9ee1e50
@ -10,12 +10,14 @@ $(DOS33):
|
||||
cd ../dos33fs-utils && make
|
||||
|
||||
mode7.dsk: $(DOS33) MODE7_ISLAND MODE7_CHECKERBOARD MODE7_RAINBOW \
|
||||
SCROLL_DEMO SKY_DEMO
|
||||
SCROLL_DEMO SKY_DEMO STARFIELD_DEMO
|
||||
$(DOS33) -y mode7.dsk BSAVE -a 0x1000 MODE7_ISLAND
|
||||
$(DOS33) -y mode7.dsk BSAVE -a 0x1000 MODE7_CHECKERBOARD
|
||||
$(DOS33) -y mode7.dsk BSAVE -a 0x1000 MODE7_RAINBOW
|
||||
$(DOS33) -y mode7.dsk BSAVE -a 0x1000 SCROLL_DEMO
|
||||
$(DOS33) -y mode7.dsk BSAVE -a 0x1000 SKY_DEMO
|
||||
$(DOS33) -y mode7.dsk BSAVE -a 0x1000 STARFIELD_DEMO
|
||||
|
||||
|
||||
|
||||
###
|
||||
@ -86,6 +88,16 @@ sky_demo.o: sky_demo.s \
|
||||
../asm_routines/gr_setpage.s
|
||||
ca65 -o sky_demo.o sky_demo.s -l sky_demo.lst
|
||||
|
||||
STARFIELD_DEMO: starfield_demo.o
|
||||
ld65 -o STARFIELD_DEMO starfield_demo.o -C ./apple2_1000.inc
|
||||
|
||||
starfield_demo.o: starfield_demo.s \
|
||||
../asm_routines/hlin_clearscreen.s \
|
||||
../asm_routines/gr_scroll.s \
|
||||
../asm_routines/pageflip.s \
|
||||
../asm_routines/gr_setpage.s
|
||||
ca65 -o starfield_demo.o starfield_demo.s -l starfield_demo.lst
|
||||
|
||||
scroller: scroller.o
|
||||
$(CC) $(LFLAGS) -o scroller scroller.o
|
||||
|
||||
|
72
mode7/starfield_demo.s
Normal file
72
mode7/starfield_demo.s
Normal file
@ -0,0 +1,72 @@
|
||||
.include "zp.inc"
|
||||
|
||||
;===========
|
||||
; CONSTANTS
|
||||
;===========
|
||||
|
||||
;=====================
|
||||
; Starfield
|
||||
;=====================
|
||||
|
||||
;================================
|
||||
; Clear screen and setup graphics
|
||||
;================================
|
||||
|
||||
jsr clear_screens ; clear top/bottom of page 0/1
|
||||
jsr set_gr_page0
|
||||
|
||||
; Initialize the 2kB of multiply lookup tables
|
||||
jsr init_multiply_tables
|
||||
|
||||
|
||||
;===============
|
||||
; Init Variables
|
||||
;===============
|
||||
lda #0
|
||||
|
||||
starfield_loop:
|
||||
|
||||
starfield_keyboard:
|
||||
|
||||
jsr get_key ; get keypress ; 6
|
||||
|
||||
lda LASTKEY ; 3
|
||||
|
||||
cmp #('Q') ; if quit, then return
|
||||
bne skipskip
|
||||
rts
|
||||
|
||||
skipskip:
|
||||
|
||||
;==================
|
||||
; flip pages
|
||||
;==================
|
||||
|
||||
jsr page_flip ; 6
|
||||
|
||||
;==================
|
||||
; loop forever
|
||||
;==================
|
||||
|
||||
jmp starfield_loop ; 3
|
||||
|
||||
|
||||
;===============================================
|
||||
; External modules
|
||||
;===============================================
|
||||
|
||||
.include "../asm_routines/hlin_clearscreen.s"
|
||||
.include "../asm_routines/pageflip.s"
|
||||
.include "../asm_routines/gr_setpage.s"
|
||||
.include "../asm_routines/keypress.s"
|
||||
.include "../asm_routines/gr_putsprite.s"
|
||||
.include "../asm_routines/text_print.s"
|
||||
|
||||
;===============================================
|
||||
; Variables
|
||||
;===============================================
|
||||
|
||||
|
||||
.include "../asm_routines/multiply_fast.s"
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user