sundae: add new videlectrix game prototype

This commit is contained in:
Vince Weaver 2024-11-24 16:21:48 -05:00
parent d4de6c9e7f
commit 81fe2196ef
8 changed files with 186 additions and 4 deletions

View File

@ -183,10 +183,10 @@ submit: driven.zip
driven.zip: driven.dsk file_id.diz
mkdir -p demosplash2024_driven
cp file_id.diz ./demosplash2024_driven
cp second_d1.dsk ./demosplash2024_driven
cp second_d2.dsk ./demosplash2024_driven
cp driven.dsk ./demosplash2024_driven
# cp second_d2.dsk ./demosplash2024_driven
# cp a2r_720p.mp4 ./demosplash2024_driven
cp a2r_screen.png ./demosplash2024_driven
zip -r a2_reality.zip demosplash2024_driven
cp driven_screenshot.png ./demosplash2024_driven
zip -r driven.zip demosplash2024_driven
####

42
games/sb/sundae/Makefile Normal file
View File

@ -0,0 +1,42 @@
include ../../../Makefile.inc
ZX02 = ~/research/6502_compression/zx02.git/build/zx02
PNG_TO_HGR = ../../../utils/hgr-utils/png2hgr
LINKER_SCRIPTS = ../../../linker_scripts
DOS33 = ../../../utils/dos33fs-utils/dos33
DOS33_RAW = ../../../utils/dos33fs-utils/dos33_raw
EMPTY_DISK = ../../../empty_disk/empty.dsk
TOKENIZE = ../../../utils/asoft_basic-utils/tokenize_asoft
all: sundae.dsk
####
sundae.dsk: HELLO SUNDAE
cp $(EMPTY_DISK) sundae.dsk
$(DOS33) -y sundae.dsk SAVE A HELLO
$(DOS33) -y sundae.dsk BSAVE -a 0x2000 SUNDAE
###
SUNDAE: sundae.o
ld65 -o SUNDAE sundae.o -C $(LINKER_SCRIPTS)/apple2_2000.inc
sundae.o: sundae.s ../zx02_optim.s \
../zp.inc ../hardware.inc
ca65 -o sundae.o sundae.s -l sundae.lst
duck_graphics/duck_sprites.inc:
cd duck_graphics && make
####
HELLO: hello.bas
$(TOKENIZE) < hello.bas > HELLO
####
clean:
rm -f *.lst *.o HELLO SUNDAE

View File

@ -0,0 +1,40 @@
include ../../../../Makefile.inc
ZX02 = ~/research/6502_compression/zx02.git/build/zx02 -f
PNG2GR = ../../../../utils/gr-utils/png2gr
PNG2SPRITES = ../../../../utils/gr-utils/png2sprites
all: a2_sundae_title.gr.zx02 \
a2_sundae_gameplay.gr.zx02 \
a2_sundae_james.gr.zx02
####
a2_sundae_title.gr.zx02: a2_sundae_title.gr
$(ZX02) a2_sundae_title.gr a2_sundae_title.gr.zx02
a2_sundae_title.gr: a2_sundae_title.png
$(PNG2GR) a2_sundae_title.png a2_sundae_title.gr
####
a2_sundae_gameplay.gr.zx02: a2_sundae_gameplay.gr
$(ZX02) a2_sundae_gameplay.gr a2_sundae_gameplay.gr.zx02
a2_sundae_gameplay.gr: a2_sundae_gameplay.png
$(PNG2GR) a2_sundae_gameplay.png a2_sundae_gameplay.gr
####
a2_sundae_james.gr.zx02: a2_sundae_james.gr
$(ZX02) a2_sundae_james.gr a2_sundae_james.gr.zx02
a2_sundae_james.gr: a2_sundae_james.png
$(PNG2GR) a2_sundae_james.png a2_sundae_james.gr
####
clean:
rm -f *~ *.o *.lst *.zx02 *.gr

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 776 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 933 B

View File

@ -0,0 +1,2 @@
5 HOME
10 PRINT CHR$(4);"CATALOG"

98
games/sb/sundae/sundae.s Normal file
View File

@ -0,0 +1,98 @@
; Sundae Driver
; more Videlectrix nonsense
;
; by deater (Vince Weaver) <vince@deater.net>
.include "../zp.inc"
.include "../hardware.inc"
sundae_driver:
;===================
; set graphics mode
;===================
jsr HOME
bit LORES
bit FULLGR
bit SET_GR
bit PAGE1
lda #$4
sta DRAW_PAGE
lda #$0
sta FRAME
sta FRAMEH
sta DISP_PAGE
;===================
; TITLE SCREEN
;===================
title_screen:
lda #<title_data
sta ZX0_src
lda #>title_data
sta ZX0_src+1
lda #$4 ; load at $400
jsr full_decomp
jsr wait_until_keypress
gameplay_screen:
lda #<gameplay_data
sta ZX0_src
lda #>gameplay_data
sta ZX0_src+1
lda #$4 ; load at $400
jsr full_decomp
jsr wait_until_keypress
james_screen:
lda #<james_data
sta ZX0_src
lda #>james_data
sta ZX0_src+1
lda #$4 ; load at $400
jsr full_decomp
jsr wait_until_keypress
done:
jmp done
wait_until_keypress:
lda KEYPRESS ; 4
bpl wait_until_keypress ; 3
bit KEYRESET ; clear the keyboard buffer
.include "../zx02_optim.s"
title_data:
.incbin "graphics/a2_sundae_title.gr.zx02"
gameplay_data:
.incbin "graphics/a2_sundae_gameplay.gr.zx02"
james_data:
.incbin "graphics/a2_sundae_james.gr.zx02"