riven: add cyan intro

This commit is contained in:
Vince Weaver 2024-07-02 02:04:35 -04:00
parent 31ff3e158b
commit e0eb39cb28
23 changed files with 209 additions and 7 deletions

View File

@ -40,7 +40,8 @@ riven_hgr.po: disk01_files/LEVEL_ARRIVAL
riven_disk00.dsk: QBOOT QLOAD TITLE_00 \
disk00_files/DISK00 \
disk00_files/ATRUS
disk00_files/ATRUS \
disk00_files/CYAN
cp $(EMPTY_DISK)/empty.dsk riven_disk00.dsk
$(DOS33_RAW) riven_disk00.dsk 0 0 QBOOT 0 1
$(DOS33_RAW) riven_disk00.dsk 0 2 QBOOT 1 1
@ -48,7 +49,7 @@ riven_disk00.dsk: QBOOT QLOAD TITLE_00 \
$(DOS33_RAW) riven_disk00.dsk 0 8 disk00_files/DISK00 0 0
$(DOS33_RAW) riven_disk00.dsk 1 0 QLOAD 0 0
$(DOS33_RAW) riven_disk00.dsk 1 10 TITLE_00 0 0
# $(DOS33_RAW) riven_disk00.dsk 2 0 disk00_files/CYAN 0 0
$(DOS33_RAW) riven_disk00.dsk 2 0 disk00_files/CYAN 0 0
$(DOS33_RAW) riven_disk00.dsk 10 0 disk00_files/ATRUS 0 0

View File

@ -3,7 +3,7 @@ include ../../../Makefile.inc
LINKER_SCRIPTS = ../../../linker_scripts/
all: DISK00 ATRUS
all: DISK00 ATRUS CYAN
####
@ -23,21 +23,37 @@ atrus.o: atrus.s \
graphics_atrus/atrus_graphics.inc
ca65 -o atrus.o atrus.s -l atrus.lst
####
CYAN: cyan.o
ld65 -o CYAN cyan.o -C $(LINKER_SCRIPTS)/apple2_4000.inc
cyan.o: cyan.s \
../zp.inc ../hardware.inc ../qload.inc \
graphics_cyan/cyan_graphics.inc
ca65 -o cyan.o cyan.s -l cyan.lst
####
graphics_atrus/atrus_graphics.inc:
cd graphics_atrus && make
graphics_cyan/cyan_graphics.inc:
cd graphics_cyan && make
####
clean:
rm -f *~ *.o *.lst \
DISK00 ATRUS
DISK00 ATRUS CYAN
####
distclean:
rm -f *~ *.o *.lst \
DISK00 ATRUS
DISK00 ATRUS CYAN
cd graphics_atrus && make clean
cd graphics_cyan && make clean

View File

@ -0,0 +1,124 @@
; Cyan opener
; by deater (Vince Weaver) <vince@deater.net>
.include "../zp.inc"
.include "../hardware.inc"
.include "../qload.inc"
NUM_SCENES = 18
;===================
; notes for cyan opening
cyan_opener:
;===================
; Setup graphics
;===================
bit SET_GR
bit HIRES
bit FULLGR
bit PAGE1
lda #0
sta SCENE_COUNT
bit KEYRESET
;===============================
;===============================
; main loop
;===============================
;===============================
cyan_loop:
; clear bottom text
; jsr clear_bottom
; show full screen for last image (book)
; lda SCENE_COUNT
; cmp #10
; bne not_at_end
; bit FULLGR
;not_at_end:
; decompress graphics
ldx SCENE_COUNT
lda frames_l,X
sta ZX0_src
lda frames_h,X
sta ZX0_src+1
lda #$20 ; hgr page1
jsr full_decomp
wait_for_key:
lda KEYPRESS
bpl wait_for_key
bit KEYRESET
inc SCENE_COUNT
lda SCENE_COUNT
cmp #NUM_SCENES
bne cyan_loop
rts
frames_l:
.byte <cyan01_zx02 ; 9s 1
.byte <cyan02_zx02 ; 10.5s 2
.byte <cyan03_zx02 ; 12s 3
.byte <cyan04_zx02 ; 13 4
.byte <cyan05_zx02 ; 14.2 5
.byte <cyan06_zx02 ; 15 6
.byte <cyan07_zx02 ; 16 7
.byte <cyan08_zx02 ; 17 8
.byte <cyan09_zx02 ; 18.5 9
.byte <cyan10_zx02 ; 20.5 10
; 21.5? 11
.byte <cyan11_zx02 ; 22.5 12
.byte <cyan12_zx02 ; 24.5 13
.byte <cyan13_zx02 ; 26 14
.byte <cyan14_zx02 ; 28 15
; 28.5? 16
; 29? 17
.byte <cyan15_zx02 ; 29.5 18
.byte <cyan16_zx02 ; 30 19
.byte <cyan17_zx02 ; 30.5 20
.byte <cyan18_zx02 ; 32 21
frames_h:
.byte >cyan01_zx02
.byte >cyan02_zx02
.byte >cyan03_zx02
.byte >cyan04_zx02
.byte >cyan05_zx02
.byte >cyan06_zx02
.byte >cyan07_zx02
.byte >cyan08_zx02
.byte >cyan09_zx02
.byte >cyan10_zx02
.byte >cyan11_zx02
.byte >cyan12_zx02
.byte >cyan13_zx02
.byte >cyan14_zx02
.byte >cyan15_zx02
.byte >cyan16_zx02
.byte >cyan17_zx02
.byte >cyan18_zx02
cyan_graphics:
.include "graphics_cyan/cyan_graphics.inc"

View File

@ -0,0 +1,61 @@
include ../../../../Makefile.inc
ZX02 = ~/research/6502_compression/zx02.git/build/zx02
PNG_TO_HGR = ../../../../utils/hgr-utils/png2hgr
all: cyan_graphics.inc
cyan_graphics.inc: \
cyan01_iipix.hgr.zx02 \
cyan02_iipix.hgr.zx02 \
cyan03_iipix.hgr.zx02 \
cyan04_iipix.hgr.zx02 \
cyan05_iipix.hgr.zx02 \
cyan06_iipix.hgr.zx02 \
cyan07_iipix.hgr.zx02 \
cyan08_iipix.hgr.zx02 \
cyan09_iipix.hgr.zx02 \
cyan10_iipix.hgr.zx02 \
cyan11_iipix.hgr.zx02 \
cyan12_iipix.hgr.zx02 \
cyan13_iipix.hgr.zx02 \
cyan14_iipix.hgr.zx02 \
cyan15_iipix.hgr.zx02 \
cyan16_iipix.hgr.zx02 \
cyan17_iipix.hgr.zx02 \
cyan18_iipix.hgr.zx02
echo "cyan01_zx02: .incbin \"cyan01_iipix.hgr.zx02\"" > cyan_graphics.inc
echo "cyan02_zx02: .incbin \"cyan02_iipix.hgr.zx02\"" >> cyan_graphics.inc
echo "cyan03_zx02: .incbin \"cyan03_iipix.hgr.zx02\"" >> cyan_graphics.inc
echo "cyan04_zx02: .incbin \"cyan04_iipix.hgr.zx02\"" >> cyan_graphics.inc
echo "cyan05_zx02: .incbin \"cyan05_iipix.hgr.zx02\"" >> cyan_graphics.inc
echo "cyan06_zx02: .incbin \"cyan06_iipix.hgr.zx02\"" >> cyan_graphics.inc
echo "cyan07_zx02: .incbin \"cyan07_iipix.hgr.zx02\"" >> cyan_graphics.inc
echo "cyan08_zx02: .incbin \"cyan08_iipix.hgr.zx02\"" >> cyan_graphics.inc
echo "cyan09_zx02: .incbin \"cyan09_iipix.hgr.zx02\"" >> cyan_graphics.inc
echo "cyan10_zx02: .incbin \"cyan10_iipix.hgr.zx02\"" >> cyan_graphics.inc
echo "cyan11_zx02: .incbin \"cyan11_iipix.hgr.zx02\"" >> cyan_graphics.inc
echo "cyan12_zx02: .incbin \"cyan12_iipix.hgr.zx02\"" >> cyan_graphics.inc
echo "cyan13_zx02: .incbin \"cyan13_iipix.hgr.zx02\"" >> cyan_graphics.inc
echo "cyan14_zx02: .incbin \"cyan14_iipix.hgr.zx02\"" >> cyan_graphics.inc
echo "cyan15_zx02: .incbin \"cyan15_iipix.hgr.zx02\"" >> cyan_graphics.inc
echo "cyan16_zx02: .incbin \"cyan16_iipix.hgr.zx02\"" >> cyan_graphics.inc
echo "cyan17_zx02: .incbin \"cyan17_iipix.hgr.zx02\"" >> cyan_graphics.inc
echo "cyan18_zx02: .incbin \"cyan18_iipix.hgr.zx02\"" >> cyan_graphics.inc
####
%.hgr: %.png
$(PNG_TO_HGR) $< > $@
%.hgr.zx02: %.hgr
$(ZX02) -f $< $@
####
clean:
rm -f *~ *.o *.lst *.zx02 *.hgr cyan_graphics.inc

Binary file not shown.

After

Width:  |  Height:  |  Size: 322 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 377 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

View File

@ -332,8 +332,8 @@ done_setup_sound:
jsr wait_a_bit
.if DISK=00
lda #LOAD_ATRUS
sta WHICH_LOAD ; assume ATRUS talking for now
lda #LOAD_CYAN
sta WHICH_LOAD ; assume CYAN opener
lda #0 ; not needed...
sta LOCATION