From f19fff59d227e044edc8ffea2704e1853cdf834a Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Fri, 23 Aug 2024 01:28:34 -0400 Subject: [PATCH] riven: hook up more of rotating room --- games/riven_hgr/Makefile | 7 + games/riven_hgr/disk10_files/Makefile | 23 ++- .../disk10_files/graphics_21/Makefile | 25 +++ .../graphics_21/pillars_21_in.png | Bin 0 -> 4877 bytes .../graphics_21/pillars_21_out.png | Bin 0 -> 8108 bytes games/riven_hgr/disk10_files/level_21.s | 156 ++++++++++++++++++ games/riven_hgr/disk10_files/level_center.s | 19 +-- games/riven_hgr/disk10_files/leveldata_21.inc | 27 +++ 8 files changed, 244 insertions(+), 13 deletions(-) create mode 100644 games/riven_hgr/disk10_files/graphics_21/Makefile create mode 100644 games/riven_hgr/disk10_files/graphics_21/pillars_21_in.png create mode 100644 games/riven_hgr/disk10_files/graphics_21/pillars_21_out.png create mode 100644 games/riven_hgr/disk10_files/level_21.s create mode 100644 games/riven_hgr/disk10_files/leveldata_21.inc diff --git a/games/riven_hgr/Makefile b/games/riven_hgr/Makefile index a0d7ee26..993c1b73 100644 --- a/games/riven_hgr/Makefile +++ b/games/riven_hgr/Makefile @@ -159,6 +159,7 @@ riven_disk10.dsk: QBOOT QLOAD TITLE_10 \ disk10_files/LEVEL_CENTER \ disk10_files/LEVEL_PILLARS \ disk10_files/LEVEL_15 \ + disk10_files/LEVEL_21 \ disk10_files/LEVEL_32 cp $(EMPTY_DISK)/empty.dsk riven_disk10.dsk $(DOS33_RAW) riven_disk10.dsk 0 0 QBOOT 0 1 @@ -169,6 +170,7 @@ riven_disk10.dsk: QBOOT QLOAD TITLE_10 \ $(DOS33_RAW) riven_disk10.dsk 1 0 QLOAD 0 0 $(DOS33_RAW) riven_disk10.dsk 2 0 disk10_files/LEVEL_CENTER 0 0 $(DOS33_RAW) riven_disk10.dsk 8 0 disk10_files/LEVEL_15 0 0 + $(DOS33_RAW) riven_disk10.dsk 11 0 disk10_files/LEVEL_21 0 0 $(DOS33_RAW) riven_disk10.dsk 14 0 disk10_files/LEVEL_32 0 0 $(DOS33_RAW) riven_disk10.dsk 23 0 disk10_files/LEVEL_PILLARS 0 0 @@ -647,6 +649,9 @@ disk10_files/LEVEL_PILLARS: disk10_files/LEVEL_15: cd disk10_files && make +disk10_files/LEVEL_21: + cd disk10_files && make + disk10_files/LEVEL_32: cd disk10_files && make @@ -877,6 +882,7 @@ riven_hgr.2mg: dts_block PROBOOTHD QLOAD_HD \ disk10_files/LEVEL_CENTER \ disk10_files/LEVEL_PILLARS \ disk10_files/LEVEL_15 \ + disk10_files/LEVEL_21 \ disk10_files/LEVEL_32 \ disk38_files/DISK38 \ disk38_files/LEVEL_PROJECTOR \ @@ -958,6 +964,7 @@ riven_hgr.2mg: dts_block PROBOOTHD QLOAD_HD \ $(PRODOS_RAW) riven_hgr.2mg `./dts_block 10 0 2` disk10_files/DISK10 0 0 $(PRODOS_RAW) riven_hgr.2mg `./dts_block 10 2 0` disk10_files/LEVEL_CENTER 0 0 $(PRODOS_RAW) riven_hgr.2mg `./dts_block 10 8 0` disk10_files/LEVEL_15 0 0 + $(PRODOS_RAW) riven_hgr.2mg `./dts_block 10 11 0` disk10_files/LEVEL_21 0 0 $(PRODOS_RAW) riven_hgr.2mg `./dts_block 10 14 0` disk10_files/LEVEL_32 0 0 $(PRODOS_RAW) riven_hgr.2mg `./dts_block 10 23 0` disk10_files/LEVEL_PILLARS 0 0 $(PRODOS_RAW) riven_hgr.2mg `./dts_block 38 0 2` disk38_files/DISK38 0 0 diff --git a/games/riven_hgr/disk10_files/Makefile b/games/riven_hgr/disk10_files/Makefile index 8f6f375c..61f3290f 100644 --- a/games/riven_hgr/disk10_files/Makefile +++ b/games/riven_hgr/disk10_files/Makefile @@ -4,7 +4,7 @@ LINKER_SCRIPTS = ../../../linker_scripts/ all: DISK10 LEVEL_CENTER LEVEL_PILLARS \ - LEVEL_15 LEVEL_32 + LEVEL_15 LEVEL_21 LEVEL_32 #### @@ -41,6 +41,19 @@ level_15.o: level_15.s \ #### +LEVEL_21: level_21.o + ld65 -o LEVEL_21 level_21.o -C $(LINKER_SCRIPTS)/apple2_4000.inc + +level_21.o: level_21.s \ + ../zp.inc ../hardware.inc ../qload.inc \ + ../common_defines.inc disk10_defines.inc \ + leveldata_21.inc \ + graphics_21/21_graphics.inc + ca65 -o level_21.o level_21.s -l level_21.lst + + +#### + LEVEL_32: level_32.o ld65 -o LEVEL_32 level_32.o -C $(LINKER_SCRIPTS)/apple2_4000.inc @@ -76,6 +89,9 @@ graphics_pillars/pillars_graphics.inc: graphics_15/15_graphics.inc: cd graphics_15 && make +graphics_21/21_graphics.inc: + cd graphics_21 && make + graphics_32/32_graphics.inc: cd graphics_32 && make @@ -84,7 +100,7 @@ graphics_32/32_graphics.inc: clean: rm -f *~ *.o *.lst DISK10 \ LEVEL_CENTER LEVEL_PILLARS \ - LEVEL_15 LEVEL_32 + LEVEL_15 LEVEL_21 LEVEL_32 #### @@ -92,10 +108,11 @@ clean: distclean: rm -f *~ *.o *.lst DISK10 \ LEVEL_CENTER LEVEL_PILLARS \ - LEVEL_15 LEVEL_32 + LEVEL_15 LEVEL_21 LEVEL_32 cd graphics_center && make clean cd graphics_pillars && make clean cd graphics_15 && make clean + cd graphics_21 && make clean cd graphics_32 && make clean diff --git a/games/riven_hgr/disk10_files/graphics_21/Makefile b/games/riven_hgr/disk10_files/graphics_21/Makefile new file mode 100644 index 00000000..57413853 --- /dev/null +++ b/games/riven_hgr/disk10_files/graphics_21/Makefile @@ -0,0 +1,25 @@ +include ../../../../Makefile.inc + +ZX02 = ~/research/6502_compression/zx02.git/build/zx02 -f +PNG_TO_HGR = ../../../../utils/hgr-utils/png2hgr + +all: 21_graphics.inc + +21_graphics.inc: \ + pillars_21_in.hgr.zx02 pillars_21_out.hgr.zx02 + echo "pillars_21_in_zx02: .incbin \"pillars_21_in.hgr.zx02\"" > 21_graphics.inc + echo "pillars_21_out_zx02: .incbin \"pillars_21_out.hgr.zx02\"" >> 21_graphics.inc + +#### + +%.hgr: %.png + $(PNG_TO_HGR) $< > $@ + +%.hgr.zx02: %.hgr + $(ZX02) -f $< $@ + +#### + +clean: + rm -f *~ *.o *.lst *.zx02 *.hgr 21_graphics.inc + diff --git a/games/riven_hgr/disk10_files/graphics_21/pillars_21_in.png b/games/riven_hgr/disk10_files/graphics_21/pillars_21_in.png new file mode 100644 index 0000000000000000000000000000000000000000..8be2531c5d49f472c330a1a395199cfbc511758b GIT binary patch literal 4877 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 literal 0 HcmV?d00001 diff --git a/games/riven_hgr/disk10_files/graphics_21/pillars_21_out.png b/games/riven_hgr/disk10_files/graphics_21/pillars_21_out.png new file mode 100644 index 0000000000000000000000000000000000000000..a31577c110262fced713eec4befcdf6b5a389316 GIT binary patch literal 8108 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 literal 0 HcmV?d00001 diff --git a/games/riven_hgr/disk10_files/level_21.s b/games/riven_hgr/disk10_files/level_21.s new file mode 100644 index 00000000..330decb8 --- /dev/null +++ b/games/riven_hgr/disk10_files/level_21.s @@ -0,0 +1,156 @@ +; Riven -- Inside Rotate room, area 21 + +; by deater (Vince Weaver) + +; Zero Page + .include "../zp.inc" + .include "../hardware.inc" + .include "../common_defines.inc" + .include "../qload.inc" + .include "disk10_defines.inc" + +room_21_start: + + ;=================== + ; init screen + ;=================== + +; jsr TEXT +; jsr HOME + bit KEYRESET + + bit SET_GR + bit PAGE1 + bit HIRES + bit FULLGR + + ;======================== + ; set up location + ;======================== + + lda #locations + sta LOCATIONS_H + + lda #0 + sta DRAW_PAGE + sta LEVEL_OVER + + lda #0 + sta JOYSTICK_ENABLED + sta UPDATE_POINTER + + lda #1 + sta CURSOR_VISIBLE + + lda #20 + sta CURSOR_X + sta CURSOR_Y + + + + + ;=================================== + ; init + ;=================================== + +; done in title + +; lda #$20 +; sta HGR_PAGE +; jsr hgr_make_tables + + jsr change_location + + jsr save_bg_14x14 ; save old bg + +game_loop: + + ;=================================== + ; draw pointer + ;=================================== + + jsr draw_pointer + + ;=================================== + ; handle keypress/joystick + ;=================================== + + jsr handle_keypress + + ;=================================== + ; increment frame count + ;=================================== + + inc FRAMEL + bne frame_no_oflo + + inc FRAMEH +frame_no_oflo: + + ;==================================== + ; check level over + ;==================================== + + lda LEVEL_OVER + bne really_exit + + jmp game_loop + +really_exit: + + rts + + ;========================== + ; move to center + ;========================== +move_to_center: + + ; if 17 or less, go to center_34 + ; if 23 or more, go to center_45 + ; otherwise, go directly to pillar 4(?) + + lda CURSOR_X + cmp #18 + bcc go_center_34 ; blt + + cmp #23 + bcs go_center_45 ; bge + + ; do nothing + + rts + +go_center_34: + lda #LOAD_CENTER + sta WHICH_LOAD + + lda #RIVEN_CENTER_34 + sta LOCATION + + jmp done_dir + +go_center_45: + lda #LOAD_CENTER + sta WHICH_LOAD + + lda #RIVEN_CENTER_45 + sta LOCATION + +done_dir: + lda #DIRECTION_N + sta DIRECTION + + lda #1 + sta LEVEL_OVER + rts + + ;========================== + ; includes + ;========================== + + +.include "graphics_21/21_graphics.inc" + +.include "leveldata_21.inc" diff --git a/games/riven_hgr/disk10_files/level_center.s b/games/riven_hgr/disk10_files/level_center.s index ef82958a..2ce65649 100644 --- a/games/riven_hgr/disk10_files/level_center.s +++ b/games/riven_hgr/disk10_files/level_center.s @@ -160,9 +160,7 @@ move_51: ; go to level_15 - lda #LOAD_15 - sta WHICH_LOAD - + ldx #LOAD_15 lda #RIVEN_15 jmp go_edge @@ -225,7 +223,7 @@ move_23: ; if 12 or less, go to pillar 2 ; if 28 or more, go to pillar 3 ; if 34 or more, go to center 34 - ; otherwise, go directly to level 23 + ; otherwise, go directly to level 32 lda CURSOR_X cmp #6 @@ -240,9 +238,7 @@ move_23: ; go to level_32 - lda #LOAD_32 - sta WHICH_LOAD - + ldx #LOAD_32 lda #RIVEN_32 jmp go_edge @@ -254,7 +250,7 @@ move_12: ; if 12 or less, go to pillar 1 ; if 28 or more, go to pillar 2 ; if 34 or more, go to center 23 - ; otherwise, go directly to level 12 + ; otherwise, go directly to level 21 lda CURSOR_X cmp #6 @@ -267,9 +263,11 @@ move_12: cmp #28 bcs go_pillar_2 ; bge - ; go to level_12 + ; go to level_21 - rts + ldx #LOAD_21 + lda #RIVEN_21 + jmp go_edge ;============================ ; go to next center location @@ -304,6 +302,7 @@ done_center: ;====================== go_edge: + stx WHICH_LOAD sta LOCATION lda #DIRECTION_S diff --git a/games/riven_hgr/disk10_files/leveldata_21.inc b/games/riven_hgr/disk10_files/leveldata_21.inc new file mode 100644 index 00000000..e466f724 --- /dev/null +++ b/games/riven_hgr/disk10_files/leveldata_21.inc @@ -0,0 +1,27 @@ +;=============================================== +; level data -- rotate room, between pillars 2+1 +;=============================================== + +locations: + .word location0 + +; RIVEN_21 -- + +location0: + .byte $ff ; north exit + .byte $ff ; south exit + .byte $FF ; east exit + .byte $FF ; west exit + .byte $FF ; north exit_dir + .byte DIRECTION_E ; south exit_dir + .byte $FF ; east exit_dir + .byte $FF ; west exit_dir + .word pillars_21_in_zx02 ; north bg + .word pillars_21_out_zx02 ; south bg + .word $0000 ; east bg + .word $0000 ; west bg + .byte BG_NORTH|BG_SOUTH + .byte DIRECTION_N|DIRECTION_ONLY_POINT ; special exit + .byte 7,33 + .byte 0,180 + .word move_to_center-1