diff --git a/games/riven_hgr/Makefile b/games/riven_hgr/Makefile index 5ebf4767..46caab55 100644 --- a/games/riven_hgr/Makefile +++ b/games/riven_hgr/Makefile @@ -8,7 +8,8 @@ LINKER_SCRIPTS = ../../linker_scripts/ all: riven_disk01.dsk \ - riven_disk39.dsk riven_disk40.dsk riven_disk43.dsk + riven_disk39.dsk riven_disk40.dsk riven_disk41.dsk \ + riven_disk43.dsk ### @@ -66,6 +67,18 @@ riven_disk40.dsk: QBOOT QLOAD TITLE_40 \ $(DOS33_RAW) riven_disk40.dsk 15 0 disk40_files/LEVEL_TUNNEL 0 0 $(DOS33_RAW) riven_disk40.dsk 21 0 disk40_files/LEVEL_ORB 0 0 +riven_disk41.dsk: QBOOT QLOAD TITLE_41 \ + disk41_files/DISK41 \ + disk41_files/LEVEL_TUNNEL + 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 + $(DOS33_RAW) riven_disk41.dsk 0 4 QBOOT 2 1 + $(DOS33_RAW) riven_disk41.dsk 0 8 disk41_files/DISK41 0 0 + $(DOS33_RAW) riven_disk41.dsk 1 0 QLOAD 0 0 + $(DOS33_RAW) riven_disk41.dsk 1 9 TITLE_41 0 0 + $(DOS33_RAW) riven_disk41.dsk 2 0 disk41_files/LEVEL_TUNNEL 0 0 + riven_disk43.dsk: QBOOT QLOAD TITLE_43 \ disk43_files/DISK43 \ disk43_files/LEVEL_CART @@ -134,6 +147,18 @@ title_40.o: title.s zp.inc hardware.inc \ graphics_title/riven_title.hgr.zx02 ca65 -o title_40.o title.s -DDISK=40 -l title_40.lst +#### + +TITLE_41: title_41.o + ld65 -o TITLE_41 title_41.o -C $(LINKER_SCRIPTS)/apple2_4000.inc + +title_41.o: title.s zp.inc hardware.inc \ + qload.inc wait_a_bit.s \ + hgr_tables.s \ + graphics_title/riven_title.hgr.zx02 + ca65 -o title_41.o title.s -DDISK=41 -l title_41.lst + + #### @@ -154,6 +179,23 @@ disk01_files/LEVEL_ARRIVAL: #### +disk01_files/DISK01: + cd disk01_files && make + +disk39_files/DISK39: + cd disk39_files && make + +disk40_files/DISK40: + cd disk40_files && make + +disk41_files/DISK41: + cd disk41_files && make + +disk43_files/DISK43: + cd disk43_files && make + +#### + disk39_files/LEVEL_OUTSIDE: cd disk39_files && make diff --git a/games/riven_hgr/NOTES b/games/riven_hgr/NOTES index 186b995c..5537206c 100644 --- a/games/riven_hgr/NOTES +++ b/games/riven_hgr/NOTES @@ -65,6 +65,13 @@ T 21 = ORB 13710 bytes 54S= 3T6S (16384) 3k free T 25 = MOVIE_FLIP 7680 bytes 32S = 2T0S (8192) 500B free T 27 = MOVIE_MAG 32275 bytes 128S = 8T0S (32768)500B free +Disk41 Map (disk has 35 tracks, each 4k in size) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +T 0 = Qboot +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 + Disk43 Map (disk has 35 tracks, each 4k in size) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/games/riven_hgr/disk39_files/disk39.s b/games/riven_hgr/disk39_files/disk39.s index 502b4bf6..7b892958 100644 --- a/games/riven_hgr/disk39_files/disk39.s +++ b/games/riven_hgr/disk39_files/disk39.s @@ -20,14 +20,14 @@ length_array: .byte 64, 32, 128, 0 ; MAGLEV, MOVIE1, MOVIE2 disk_exit_disk: ; note: BCD (yes I'm lazy) - .byte 0,0,0,0 + .byte $40,0,0,0 disk_exit_dni_h: - .byte 0,0,0,0 + .byte $01,0,0,0 ; 1*25+3*5+0*1 disk_exit_dni_l: - .byte 0,0,0,0 -disk_exit_load: - .byte 0,0,0,0 + .byte $30,0,0,0 +disk_exit_load: ; disk40, LOAD_MAGLEV, INSEAT, W + .byte 1,0,0,0 ; LOAD_MAGLEV disk_exit_level: - .byte 0,0,0,0 + .byte 1,0,0,0 ; riven INSEAT disk_exit_direction: - .byte 0,0,0,0 + .byte DIRECTION_W,0,0,0 diff --git a/games/riven_hgr/disk40_files/Makefile b/games/riven_hgr/disk40_files/Makefile index 91cc35db..bc6672ae 100644 --- a/games/riven_hgr/disk40_files/Makefile +++ b/games/riven_hgr/disk40_files/Makefile @@ -81,16 +81,17 @@ graphics_tunnel/tunnel_graphics.inc: #### clean: - rm -f *~ *.o *.lst \ + rm -f *~ *.o *.lst DISK40 \ LEVEL_MAGLEV LEVEL_OUTSIDE LEVEL_ORB LEVEL_TUNNEL #### distclean: - rm -f *~ *.o *.lst \ - LEVEL_MAGLEV LEVEL_OUTSIDE + rm -f *~ *.o *.lst DISK40 \ + LEVEL_MAGLEV LEVEL_OUTSIDE LEVEL_ORB LEVEL_TUNNEL cd graphics_maglev && make clean cd graphics_outside && make clean - + cd graphics_orb1 && make clean + cd graphics_tunnel && make clean diff --git a/games/riven_hgr/disk40_files/disk40.s b/games/riven_hgr/disk40_files/disk40.s index bb21fcc0..449275c2 100644 --- a/games/riven_hgr/disk40_files/disk40.s +++ b/games/riven_hgr/disk40_files/disk40.s @@ -20,39 +20,38 @@ length_array: .byte 64,0,0,0 ; ORB disk_exit_disk: ; note: BCD (yes I'm lazy) - .byte $43 ; CART (DISK43) + .byte $41 ; Tunnel (DISK41) .byte $00 .byte $00 .byte $00 disk_exit_dni_h: - .byte $01 ; 43 = 25 + 15 + 3 + .byte $01 ; 41 = 1*25 + 3*5 + 1 .byte $00 .byte $00 .byte $00 disk_exit_dni_l: - .byte $33 + .byte $31 .byte $00 .byte $00 .byte $00 - ; load_cart / outside_cart / s + ; load_tunnel / tunnel5 / s disk_exit_load: - .byte 1 ; LOAD_CART - .byte 0 + .byte 1 ; LOAD_TUNNEL .byte 0 .byte 0 .byte 0 disk_exit_level: - .byte $00 ; OUTSIDE_CART + .byte $00 ; Tunnel 5 .byte $00 .byte $00 .byte $00 disk_exit_direction: - .byte DIRECTION_S ; CART + .byte DIRECTION_S ; facing south .byte $00 .byte $00 .byte $00 diff --git a/games/riven_hgr/disk41_files/Makefile b/games/riven_hgr/disk41_files/Makefile new file mode 100644 index 00000000..fd041a96 --- /dev/null +++ b/games/riven_hgr/disk41_files/Makefile @@ -0,0 +1,45 @@ +include ../../../Makefile.inc + +LINKER_SCRIPTS = ../../../linker_scripts/ + + +all: DISK41 LEVEL_TUNNEL + +### + +DISK41: disk41.o + ld65 -o DISK41 disk41.o -C $(LINKER_SCRIPTS)/apple2_4000.inc + +disk41.o: disk41.s ../zp.inc + ca65 -o disk41.o disk41.s -l disk41.lst + +#### + +LEVEL_TUNNEL: level_tunnel.o + ld65 -o LEVEL_TUNNEL level_tunnel.o -C $(LINKER_SCRIPTS)/apple2_4000.inc + +level_tunnel.o: level_tunnel.s \ + ../zp.inc ../hardware.inc ../qload.inc \ + ../common_defines.inc disk41_defines.inc \ + leveldata_tunnel.inc \ + graphics_tunnel/tunnel_graphics.inc + ca65 -o level_tunnel.o level_tunnel.s -l level_tunnel.lst + +#### + +graphics_tunnel/tunnel_graphics.inc: + cd graphics_tunnel && make +#### + +clean: + rm -f *~ *.o *.lst \ + DISK41 LEVEL_TUNNEL + + +#### + +distclean: + rm -f *~ *.o *.lst \ + DISK41 LEVEL_TUNNEL + cd graphics_tunnel && make clean + diff --git a/games/riven_hgr/disk41_files/graphics_tunnel/Makefile b/games/riven_hgr/disk41_files/graphics_tunnel/Makefile new file mode 100644 index 00000000..288b2336 --- /dev/null +++ b/games/riven_hgr/disk41_files/graphics_tunnel/Makefile @@ -0,0 +1,36 @@ +include ../../../../Makefile.inc + +ZX02 = ~/research/6502_compression/zx02.git/build/zx02 -f +PNG_TO_HGR = ../../../../utils/hgr-utils/png2hgr + +all: tunnel_graphics.inc + +tunnel_graphics.inc: \ + tunnel5_s.hgr.zx02 tunnel5_n.hgr.zx02 \ + tunnel6_s.hgr.zx02 tunnel6_n.hgr.zx02 \ + tunnel7_s.hgr.zx02 tunnel7_n.hgr.zx02 \ + tunnel8_s.hgr.zx02 tunnel8_n.hgr.zx02 + echo "tunnel5_s_zx02: .incbin \"tunnel5_s.hgr.zx02\"" > tunnel_graphics.inc + echo "tunnel5_n_zx02: .incbin \"tunnel5_n.hgr.zx02\"" >> tunnel_graphics.inc + echo "tunnel6_s_zx02: .incbin \"tunnel6_s.hgr.zx02\"" >> tunnel_graphics.inc + echo "tunnel6_n_zx02: .incbin \"tunnel6_n.hgr.zx02\"" >> tunnel_graphics.inc + echo "tunnel7_s_zx02: .incbin \"tunnel7_s.hgr.zx02\"" >> tunnel_graphics.inc + echo "tunnel7_n_zx02: .incbin \"tunnel7_n.hgr.zx02\"" >> tunnel_graphics.inc + echo "tunnel8_s_zx02: .incbin \"tunnel8_s.hgr.zx02\"" >> tunnel_graphics.inc + echo "tunnel8_n_zx02: .incbin \"tunnel8_n.hgr.zx02\"" >> tunnel_graphics.inc + + + +#### + +%.hgr: %.png + $(PNG_TO_HGR) $< > $@ + +%.hgr.zx02: %.hgr + $(ZX02) -f $< $@ + +#### + +clean: + rm -f *~ *.o *.lst *.zx02 *.hgr tunnel_graphics.inc + diff --git a/games/riven_hgr/disk41_files/graphics_tunnel/tunnel5_n.png b/games/riven_hgr/disk41_files/graphics_tunnel/tunnel5_n.png new file mode 100644 index 00000000..d3c47e06 Binary files /dev/null and b/games/riven_hgr/disk41_files/graphics_tunnel/tunnel5_n.png differ diff --git a/games/riven_hgr/disk41_files/graphics_tunnel/tunnel5_s.png b/games/riven_hgr/disk41_files/graphics_tunnel/tunnel5_s.png new file mode 100644 index 00000000..de739181 Binary files /dev/null and b/games/riven_hgr/disk41_files/graphics_tunnel/tunnel5_s.png differ diff --git a/games/riven_hgr/disk41_files/graphics_tunnel/tunnel6_n.png b/games/riven_hgr/disk41_files/graphics_tunnel/tunnel6_n.png new file mode 100644 index 00000000..063c369c Binary files /dev/null and b/games/riven_hgr/disk41_files/graphics_tunnel/tunnel6_n.png differ diff --git a/games/riven_hgr/disk41_files/graphics_tunnel/tunnel6_s.png b/games/riven_hgr/disk41_files/graphics_tunnel/tunnel6_s.png new file mode 100644 index 00000000..dd1a5b4a Binary files /dev/null and b/games/riven_hgr/disk41_files/graphics_tunnel/tunnel6_s.png differ diff --git a/games/riven_hgr/disk41_files/graphics_tunnel/tunnel7_n.png b/games/riven_hgr/disk41_files/graphics_tunnel/tunnel7_n.png new file mode 100644 index 00000000..06f9719b Binary files /dev/null and b/games/riven_hgr/disk41_files/graphics_tunnel/tunnel7_n.png differ diff --git a/games/riven_hgr/disk41_files/graphics_tunnel/tunnel7_s.png b/games/riven_hgr/disk41_files/graphics_tunnel/tunnel7_s.png new file mode 100644 index 00000000..cd6bf781 Binary files /dev/null and b/games/riven_hgr/disk41_files/graphics_tunnel/tunnel7_s.png differ diff --git a/games/riven_hgr/disk41_files/graphics_tunnel/tunnel8_n.png b/games/riven_hgr/disk41_files/graphics_tunnel/tunnel8_n.png new file mode 100644 index 00000000..80737690 Binary files /dev/null and b/games/riven_hgr/disk41_files/graphics_tunnel/tunnel8_n.png differ diff --git a/games/riven_hgr/disk41_files/graphics_tunnel/tunnel8_s.png b/games/riven_hgr/disk41_files/graphics_tunnel/tunnel8_s.png new file mode 100644 index 00000000..8a8594f0 Binary files /dev/null and b/games/riven_hgr/disk41_files/graphics_tunnel/tunnel8_s.png differ diff --git a/games/riven_hgr/title.s b/games/riven_hgr/title.s index ca8ca36a..896c157c 100644 --- a/games/riven_hgr/title.s +++ b/games/riven_hgr/title.s @@ -20,6 +20,10 @@ .include "disk40_files/disk40_defines.inc" .endif +.if DISK=41 + .include "disk41_files/disk41_defines.inc" +.endif + .if DISK=43 .include "disk43_files/disk43_defines.inc" .endif @@ -341,6 +345,18 @@ done_setup_sound: sta DIRECTION .endif +.if DISK=41 + lda #LOAD_TUNNEL2 + sta WHICH_LOAD ; south in tunnel + + lda #RIVEN_TUNNEL5 + sta LOCATION + + lda #DIRECTION_S + sta DIRECTION +.endif + + .if DISK=43 lda #LOAD_CART sta WHICH_LOAD