riven: add cove
@ -72,7 +72,8 @@ riven_disk41.dsk: QBOOT QLOAD TITLE_41 \
|
||||
disk41_files/LEVEL_TUNNEL \
|
||||
disk41_files/LEVEL_STAIRS \
|
||||
disk41_files/LEVEL_COVE \
|
||||
disk41_files/LEVEL_STAIRS2
|
||||
disk41_files/LEVEL_STAIRS2 \
|
||||
disk41_files/MOVIE_COVE
|
||||
cp $(EMPTY_DISK)/empty.dsk riven_disk41.dsk
|
||||
$(DOS33_RAW) riven_disk41.dsk 0 0 QBOOT 0 1
|
||||
$(DOS33_RAW) riven_disk41.dsk 0 2 QBOOT 1 1
|
||||
@ -84,7 +85,7 @@ riven_disk41.dsk: QBOOT QLOAD TITLE_41 \
|
||||
$(DOS33_RAW) riven_disk41.dsk 10 0 disk41_files/LEVEL_STAIRS 0 0
|
||||
$(DOS33_RAW) riven_disk41.dsk 17 0 disk41_files/LEVEL_COVE 0 0
|
||||
$(DOS33_RAW) riven_disk41.dsk 25 0 disk41_files/LEVEL_STAIRS2 0 0
|
||||
|
||||
$(DOS33_RAW) riven_disk41.dsk 32 0 disk41_files/MOVIE_COVE 0 0
|
||||
|
||||
riven_disk43.dsk: QBOOT QLOAD TITLE_43 \
|
||||
disk43_files/DISK43 \
|
||||
|
@ -72,8 +72,15 @@ T 1 = QLOAD 1762 bytes 8S = 0T8S (2048) 300B free
|
||||
T 1.5 = TITLE 1531 bytes 8S = 0T8S (2048) 500B free
|
||||
T 2 = TUNNEL 30609 bytes = 8T (32768) 2k free
|
||||
T 10 = STAIRS 25533 100S= 6T4S (28672) 3k free
|
||||
T 17 = COVE 18337 = 8T (32768)
|
||||
T 17 = COVE 18337 = 5T (20480) 2k free
|
||||
T 25 = STAIRS2 24965 = 7T (28672)
|
||||
T 32 = MOVIE_COVE 1272 = 2T (8192)
|
||||
|
||||
3400 4300
|
||||
3600 5200 = 16500
|
||||
|
||||
3500 4500 = 17900
|
||||
4800 5100
|
||||
|
||||
Disk43 Map (disk has 35 tracks, each 4k in size)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
@ -3,7 +3,8 @@ include ../../../Makefile.inc
|
||||
LINKER_SCRIPTS = ../../../linker_scripts/
|
||||
|
||||
|
||||
all: DISK41 LEVEL_TUNNEL LEVEL_STAIRS LEVEL_COVE LEVEL_STAIRS2
|
||||
all: DISK41 LEVEL_TUNNEL LEVEL_STAIRS LEVEL_COVE LEVEL_STAIRS2 \
|
||||
MOVIE_COVE
|
||||
|
||||
###
|
||||
|
||||
@ -63,6 +64,19 @@ level_cove.o: level_cove.s \
|
||||
ca65 -o level_cove.o level_cove.s -l level_cove.lst
|
||||
|
||||
|
||||
####
|
||||
|
||||
####
|
||||
|
||||
MOVIE_COVE: movie_cove.o
|
||||
ld65 -o MOVIE_COVE movie_cove.o -C $(LINKER_SCRIPTS)/apple2_2000.inc
|
||||
|
||||
movie_cove.o: movie_cove.s \
|
||||
../zp.inc ../hardware.inc ../qload.inc \
|
||||
../common_defines.inc disk41_defines.inc \
|
||||
movie_cove/combined_cove.zx02
|
||||
ca65 -o movie_cove.o movie_cove.s -l movie_cove.lst
|
||||
|
||||
|
||||
####
|
||||
|
||||
@ -78,19 +92,25 @@ graphics_stairs2/stairs2_graphics.inc:
|
||||
graphics_cove/cove_graphics.inc:
|
||||
cd graphics_cove && make
|
||||
|
||||
movie_cove/combined_cove.zx02:
|
||||
cd movie_cove && make
|
||||
|
||||
####
|
||||
|
||||
clean:
|
||||
rm -f *~ *.o *.lst \
|
||||
DISK41 LEVEL_TUNNEL LEVEL_STAIRS LEVEL_COVE LEVEL_STAIRS2
|
||||
DISK41 LEVEL_TUNNEL LEVEL_STAIRS LEVEL_COVE \
|
||||
MOVIE_COVE LEVEL_STAIRS2
|
||||
|
||||
|
||||
####
|
||||
|
||||
distclean:
|
||||
rm -f *~ *.o *.lst \
|
||||
DISK41 LEVEL_TUNNEL LEVEL_STAIRS LEVEL_COVE LEVEL_STAIRS2
|
||||
DISK41 LEVEL_TUNNEL LEVEL_STAIRS LEVEL_COVE \
|
||||
MOVIE_COVE LEVEL_STAIRS2
|
||||
cd graphics_tunnel && make clean
|
||||
cd graphics_stairs && make clean
|
||||
cd graphics_cove && make clean
|
||||
cd graphics_stairs2 && make clean
|
||||
cd movie_cove && make clean
|
||||
|
9
games/riven_hgr/disk41_files/audio/Makefile
Normal file
@ -0,0 +1,9 @@
|
||||
ZX02 = ~/research/6502_compression/zx02.git/build/zx02 -f
|
||||
|
||||
all: cove.btc.zx02
|
||||
|
||||
cove.btc.zx02: cove.btc
|
||||
$(ZX02) cove.btc cove.btc.zx02
|
||||
|
||||
clean:
|
||||
rm -f *.zx02
|
BIN
games/riven_hgr/disk41_files/audio/cove.btc
Normal file
@ -8,13 +8,17 @@ all: stairs2_graphics.inc
|
||||
stairs2_graphics.inc: \
|
||||
stairs_up1_e.hgr.zx02 stairs_up1_w.hgr.zx02 \
|
||||
stairs_up2_e.hgr.zx02 stairs_up2_w.hgr.zx02 \
|
||||
stairs_up3_e.hgr.zx02 stairs_up3_w.hgr.zx02
|
||||
stairs_up3_e.hgr.zx02 stairs_up3_w.hgr.zx02 \
|
||||
stairs_up4_e.hgr.zx02 stairs_up4_w.hgr.zx02
|
||||
echo "stairs_up1_e_zx02: .incbin \"stairs_up1_e.hgr.zx02\"" > stairs2_graphics.inc
|
||||
echo "stairs_up1_w_zx02: .incbin \"stairs_up1_w.hgr.zx02\"" >> stairs2_graphics.inc
|
||||
echo "stairs_up2_e_zx02: .incbin \"stairs_up2_e.hgr.zx02\"" >> stairs2_graphics.inc
|
||||
echo "stairs_up2_w_zx02: .incbin \"stairs_up2_w.hgr.zx02\"" >> stairs2_graphics.inc
|
||||
echo "stairs_up3_e_zx02: .incbin \"stairs_up3_e.hgr.zx02\"" >> stairs2_graphics.inc
|
||||
echo "stairs_up3_w_zx02: .incbin \"stairs_up3_w.hgr.zx02\"" >> stairs2_graphics.inc
|
||||
# echo "stairs_up4_e_zx02: .incbin \"stairs_up4_e.hgr.zx02\"" >> stairs2_graphics.inc
|
||||
# echo "stairs_up4_w_zx02: .incbin \"stairs_up4_w.hgr.zx02\"" >> stairs2_graphics.inc
|
||||
|
||||
|
||||
####
|
||||
|
||||
|
@ -26,7 +26,8 @@ location0:
|
||||
location1:
|
||||
.byte $ff ; north exit
|
||||
.byte $ff ; south exit
|
||||
.byte LOAD_COVE<<4|RIVEN_DOWN2 ; east exit
|
||||
.byte LOAD_MOVIE_COVE<<4
|
||||
; .byte LOAD_COVE<<4|RIVEN_DOWN2 ; east exit
|
||||
.byte RIVEN_STAIRS ; west exit
|
||||
.byte $ff ; north exit_dir
|
||||
.byte $ff ; south exit_dir
|
||||
|
212
games/riven_hgr/disk41_files/movie_cove.s
Normal file
@ -0,0 +1,212 @@
|
||||
; Lo-res movie player of sorts
|
||||
|
||||
; this is the least efficient way of doing things but on time crunch
|
||||
; should just be drawing sprites or something
|
||||
|
||||
; by deater (Vince Weaver) <vince@deater.net>
|
||||
|
||||
.include "../zp.inc"
|
||||
.include "../hardware.inc"
|
||||
.include "../common_defines.inc"
|
||||
.include "../qload.inc"
|
||||
.include "disk41_defines.inc"
|
||||
|
||||
;=================================
|
||||
; so, movie. each frame is 1/2 second (500ms)
|
||||
|
||||
movie_cove_start:
|
||||
|
||||
|
||||
;===================
|
||||
; Setup graphics
|
||||
;===================
|
||||
|
||||
bit SET_GR
|
||||
bit LORES
|
||||
bit FULLGR
|
||||
bit PAGE1
|
||||
|
||||
lda #0
|
||||
sta SCENE_COUNT
|
||||
|
||||
lda #4
|
||||
sta DRAW_PAGE
|
||||
|
||||
bit KEYRESET
|
||||
|
||||
;===============================
|
||||
;===============================
|
||||
; set up graphics
|
||||
;===============================
|
||||
;===============================
|
||||
|
||||
;=============================
|
||||
; load huge blob to $4000
|
||||
;=============================
|
||||
|
||||
lda #<movie_data_zx02
|
||||
sta ZX0_src
|
||||
lda #>movie_data_zx02
|
||||
sta ZX0_src+1
|
||||
|
||||
lda #$40
|
||||
|
||||
jsr full_decomp
|
||||
|
||||
;===============================
|
||||
; initial screen
|
||||
;===============================
|
||||
|
||||
lda #0
|
||||
sta SCENE_COUNT
|
||||
|
||||
jsr draw_scene
|
||||
|
||||
jsr flip_pages
|
||||
|
||||
lda #0
|
||||
sta SCENE_COUNT
|
||||
|
||||
jsr draw_scene
|
||||
|
||||
jsr flip_pages
|
||||
|
||||
|
||||
;===============================
|
||||
; TODO: play audio
|
||||
;===============================
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;===============================
|
||||
;===============================
|
||||
; play the movie
|
||||
;===============================
|
||||
;===============================
|
||||
|
||||
lda #00
|
||||
sta SCENE_COUNT
|
||||
|
||||
play_movie_loop:
|
||||
|
||||
jsr draw_scene
|
||||
|
||||
jsr flip_pages
|
||||
|
||||
inc SCENE_COUNT
|
||||
lda SCENE_COUNT
|
||||
cmp #29
|
||||
beq done_movie
|
||||
|
||||
ldx #10
|
||||
jsr wait_50xms
|
||||
|
||||
jmp play_movie_loop
|
||||
|
||||
;===============================
|
||||
; wait .5s
|
||||
|
||||
done_movie:
|
||||
ldx #10
|
||||
jsr wait_50xms
|
||||
|
||||
|
||||
bit KEYRESET
|
||||
|
||||
|
||||
;=============================
|
||||
; return back to game
|
||||
|
||||
lda #LOAD_COVE
|
||||
sta WHICH_LOAD
|
||||
|
||||
lda #DIRECTION_E
|
||||
sta DIRECTION
|
||||
|
||||
lda #RIVEN_COVE
|
||||
sta LOCATION
|
||||
|
||||
; needed?
|
||||
|
||||
lda #1
|
||||
sta LEVEL_OVER
|
||||
|
||||
rts
|
||||
|
||||
|
||||
;===============================
|
||||
;===============================
|
||||
; draw_scene
|
||||
;===============================
|
||||
;===============================
|
||||
|
||||
draw_scene:
|
||||
|
||||
lda #0
|
||||
sta INL
|
||||
sta OUTL
|
||||
|
||||
; load from $40 + 4*SCENE
|
||||
; copy 1k to draw page
|
||||
|
||||
lda SCENE_COUNT
|
||||
asl
|
||||
asl
|
||||
clc
|
||||
adc #$40
|
||||
|
||||
sta INH
|
||||
|
||||
lda DRAW_PAGE
|
||||
clc
|
||||
adc #$04
|
||||
sta OUTH
|
||||
|
||||
|
||||
ldx #4
|
||||
ldy #0
|
||||
copy_loop:
|
||||
lda (INL),Y
|
||||
sta (OUTL),Y
|
||||
dey
|
||||
bne copy_loop
|
||||
|
||||
inc INH
|
||||
inc OUTH
|
||||
|
||||
dex
|
||||
bne copy_loop
|
||||
|
||||
rts
|
||||
|
||||
|
||||
|
||||
;============================
|
||||
; flip pages
|
||||
;============================
|
||||
flip_pages:
|
||||
lda DRAW_PAGE ; 3
|
||||
beq was_page1 ; 2/3
|
||||
was_page2:
|
||||
bit PAGE2 ; 4
|
||||
lda #$0 ; 2
|
||||
beq done_pageflip ; 2/3
|
||||
was_page1:
|
||||
bit PAGE1 ; 4
|
||||
lda #$4 ; 2
|
||||
done_pageflip:
|
||||
sta DRAW_PAGE ; 3
|
||||
|
||||
rts
|
||||
|
||||
|
||||
|
||||
;===================================
|
||||
|
||||
movie_data_zx02:
|
||||
.incbin "movie_cove/combined_cove.zx02"
|
||||
|
||||
|
||||
|
90
games/riven_hgr/disk41_files/movie_cove/Makefile
Normal file
@ -0,0 +1,90 @@
|
||||
include ../../../../Makefile.inc
|
||||
|
||||
ZX02 = ~/research/6502_compression/zx02.git/build/zx02
|
||||
PNG2GR = ../../../../utils/gr-utils/png2gr
|
||||
|
||||
all: combined_cove.zx02
|
||||
|
||||
combined_cove.zx02: combined_cove
|
||||
$(ZX02) -f combined_cove combined_cove.zx02
|
||||
|
||||
combined_cove: \
|
||||
cove_bg_040.gr \
|
||||
cove_bg_045.gr \
|
||||
cove_bg_050.gr \
|
||||
cove_bg_055.gr \
|
||||
cove_bg_060.gr \
|
||||
cove_bg_065.gr \
|
||||
cove_bg_070.gr \
|
||||
cove_bg_075.gr \
|
||||
cove_bg_080.gr \
|
||||
cove_bg_085.gr \
|
||||
cove_bg_090.gr \
|
||||
cove_bg_095.gr \
|
||||
cove_bg_100.gr \
|
||||
cove_bg_105.gr \
|
||||
cove_bg_110.gr \
|
||||
cove_bg_115.gr \
|
||||
cove_bg_120.gr \
|
||||
cove_bg_125.gr \
|
||||
cove_bg_130.gr \
|
||||
cove_bg_135.gr \
|
||||
cove_bg_140.gr \
|
||||
cove_bg_145.gr \
|
||||
cove_bg_150.gr \
|
||||
cove_bg_155.gr \
|
||||
cove_bg_160.gr \
|
||||
cove_bg_165.gr \
|
||||
cove_bg_170.gr \
|
||||
cove_bg_175.gr \
|
||||
cove_bg_180.gr
|
||||
cat cove_bg_040.gr > combined_cove
|
||||
cat cove_bg_045.gr >> combined_cove
|
||||
cat cove_bg_050.gr >> combined_cove
|
||||
cat cove_bg_055.gr >> combined_cove
|
||||
cat cove_bg_060.gr >> combined_cove
|
||||
cat cove_bg_065.gr >> combined_cove
|
||||
cat cove_bg_070.gr >> combined_cove
|
||||
cat cove_bg_075.gr >> combined_cove
|
||||
cat cove_bg_080.gr >> combined_cove
|
||||
cat cove_bg_085.gr >> combined_cove
|
||||
cat cove_bg_090.gr >> combined_cove
|
||||
cat cove_bg_095.gr >> combined_cove
|
||||
cat cove_bg_100.gr >> combined_cove
|
||||
cat cove_bg_105.gr >> combined_cove
|
||||
cat cove_bg_110.gr >> combined_cove
|
||||
cat cove_bg_115.gr >> combined_cove
|
||||
cat cove_bg_120.gr >> combined_cove
|
||||
cat cove_bg_125.gr >> combined_cove
|
||||
cat cove_bg_130.gr >> combined_cove
|
||||
cat cove_bg_135.gr >> combined_cove
|
||||
cat cove_bg_140.gr >> combined_cove
|
||||
cat cove_bg_145.gr >> combined_cove
|
||||
cat cove_bg_150.gr >> combined_cove
|
||||
cat cove_bg_155.gr >> combined_cove
|
||||
cat cove_bg_160.gr >> combined_cove
|
||||
cat cove_bg_165.gr >> combined_cove
|
||||
cat cove_bg_170.gr >> combined_cove
|
||||
cat cove_bg_175.gr >> combined_cove
|
||||
cat cove_bg_180.gr >> combined_cove
|
||||
|
||||
#movie_cove.inc: \
|
||||
# cove_bg.gr.zx02
|
||||
# echo "cove_bg_zx02: .incbin \"cove_bg.gr.zx02\"" > movie_cove.inc
|
||||
|
||||
####
|
||||
|
||||
%.gr: %.png
|
||||
$(PNG2GR) $< $@
|
||||
|
||||
%.gr.zx02: %.gr
|
||||
$(ZX02) -f $< $@
|
||||
|
||||
####
|
||||
|
||||
clean:
|
||||
rm -f *~ *.o *.lst *.zx02 *.gr movie_cove.inc
|
||||
|
||||
distclean:
|
||||
rm -f *~ *.o *.lst *.zx02 *.gr movie_cove.inc
|
||||
cd overlays && make clean
|
BIN
games/riven_hgr/disk41_files/movie_cove/cove_bg.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
games/riven_hgr/disk41_files/movie_cove/cove_bg_040.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
games/riven_hgr/disk41_files/movie_cove/cove_bg_045.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
games/riven_hgr/disk41_files/movie_cove/cove_bg_050.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
games/riven_hgr/disk41_files/movie_cove/cove_bg_055.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
games/riven_hgr/disk41_files/movie_cove/cove_bg_060.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
games/riven_hgr/disk41_files/movie_cove/cove_bg_065.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
games/riven_hgr/disk41_files/movie_cove/cove_bg_070.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
games/riven_hgr/disk41_files/movie_cove/cove_bg_075.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
games/riven_hgr/disk41_files/movie_cove/cove_bg_080.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
games/riven_hgr/disk41_files/movie_cove/cove_bg_085.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
games/riven_hgr/disk41_files/movie_cove/cove_bg_090.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
games/riven_hgr/disk41_files/movie_cove/cove_bg_095.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
games/riven_hgr/disk41_files/movie_cove/cove_bg_100.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
games/riven_hgr/disk41_files/movie_cove/cove_bg_105.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
games/riven_hgr/disk41_files/movie_cove/cove_bg_110.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
games/riven_hgr/disk41_files/movie_cove/cove_bg_115.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
games/riven_hgr/disk41_files/movie_cove/cove_bg_120.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
games/riven_hgr/disk41_files/movie_cove/cove_bg_125.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
games/riven_hgr/disk41_files/movie_cove/cove_bg_130.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
games/riven_hgr/disk41_files/movie_cove/cove_bg_135.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
games/riven_hgr/disk41_files/movie_cove/cove_bg_140.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
games/riven_hgr/disk41_files/movie_cove/cove_bg_145.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
games/riven_hgr/disk41_files/movie_cove/cove_bg_150.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
games/riven_hgr/disk41_files/movie_cove/cove_bg_155.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
games/riven_hgr/disk41_files/movie_cove/cove_bg_160.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
games/riven_hgr/disk41_files/movie_cove/cove_bg_165.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
games/riven_hgr/disk41_files/movie_cove/cove_bg_170.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
games/riven_hgr/disk41_files/movie_cove/cove_bg_175.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
games/riven_hgr/disk41_files/movie_cove/cove_bg_180.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
@ -64,6 +64,7 @@ qload_start:
|
||||
main_game_loop:
|
||||
jsr load_file
|
||||
|
||||
entry_smc:
|
||||
jsr $4000 ; all entry points currently $4000
|
||||
|
||||
; CHECK LEVEL_OVER
|
||||
@ -84,6 +85,7 @@ load_file:
|
||||
|
||||
lda LOAD_ADDRESS_ARRAY,X
|
||||
sta load_address
|
||||
sta entry_smc+2
|
||||
|
||||
lda TRACK_ARRAY,X
|
||||
sta load_track
|
||||
|