diff --git a/games/sb/Makefile b/games/sb/Makefile index e560e2ef..b5b052c4 100644 --- a/games/sb/Makefile +++ b/games/sb/Makefile @@ -12,7 +12,7 @@ all: sb.dsk #### -sb.dsk: QBOOT QLOAD TITLE DUCK_POND ROOF RAT +sb.dsk: QBOOT QLOAD TITLE DUCK_POND ROOF TARGET CLIFF RAT cp $(EMPTY_DISK) sb.dsk $(DOS33_RAW) sb.dsk 0 0 QBOOT 0 1 $(DOS33_RAW) sb.dsk 0 2 QBOOT 1 1 @@ -20,8 +20,11 @@ sb.dsk: QBOOT QLOAD TITLE DUCK_POND ROOF RAT $(DOS33_RAW) sb.dsk 1 0 QLOAD 0 0 $(DOS33_RAW) sb.dsk 2 0 TITLE 0 0 $(DOS33_RAW) sb.dsk 5 0 DUCK_POND 0 0 - $(DOS33_RAW) sb.dsk 8 0 ROOF 0 0 - $(DOS33_RAW) sb.dsk 11 0 RAT 0 0 + $(DOS33_RAW) sb.dsk 10 0 ROOF 0 0 +# $(DOS33_RAW) sb.dsk 15 0 ASPLODE 0 0 + $(DOS33_RAW) sb.dsk 20 0 TARGET 0 0 + $(DOS33_RAW) sb.dsk 25 0 CLIFF 0 0 + $(DOS33_RAW) sb.dsk 30 0 RAT 0 0 #### @@ -41,7 +44,6 @@ qload.o: qload.s qboot.inc #### - ROOF: roof.o ld65 -o ROOF roof.o -C $(LINKER_SCRIPTS)/apple2_6000.inc @@ -50,6 +52,29 @@ roof.o: roof.s zx02_optim.s \ ca65 -o roof.o roof.s -l roof.lst +#### + +CLIFF: cliff.o + ld65 -o CLIFF cliff.o -C $(LINKER_SCRIPTS)/apple2_6000.inc + +cliff.o: cliff.s zx02_optim.s \ + cliff_graphics/cliff_base.hgr.zx02 \ + zp.inc hardware.inc + ca65 -o cliff.o cliff.s -l cliff.lst + +#### + +TARGET: target.o + ld65 -o TARGET target.o -C $(LINKER_SCRIPTS)/apple2_6000.inc + +target.o: target.s zx02_optim.s \ + target_graphics/target.hgr.zx02 \ + zp.inc hardware.inc + ca65 -o target.o target.s -l target.lst + + + + #### RAT: rat.o @@ -106,4 +131,4 @@ HELLO: hello.bas #### clean: - rm -f *.lst *.o TITLE ROOF RAT DUCK_POND *~ + rm -f *.lst *.o QBOOT QLOAD TITLE DUCK_POND ROOF TARGET CLIFF RAT *~ diff --git a/games/sb/cliff.s b/games/sb/cliff.s new file mode 100644 index 00000000..78330f69 --- /dev/null +++ b/games/sb/cliff.s @@ -0,0 +1,74 @@ +; Cliff climb minigame from Peasant's Quest +; +; Yet Another HR project +; +; by deater (Vince Weaver) + + +.include "zp.inc" +.include "hardware.inc" + + +hires_start: + + ;=================== + ; set graphics mode + ;=================== + jsr HOME + + bit HIRES + bit FULLGR + bit SET_GR + bit PAGE1 + + + ;=================== + ; Load graphics + ;=================== +load_loop: + + ;============================= + + + ;========================== + ; Load Image + ;=========================== + +load_image: + + ; size in ldsizeh:ldsizel (f1/f0) + + lda #comp_data + sta ZX0_src+1 + + + lda #$20 + + + jsr full_decomp + +; rts + + + +wait_until_keypress: + lda KEYPRESS ; 4 + bpl wait_until_keypress ; 3 + bit KEYRESET ; clear the keyboard buffer + +which_ok: + lda #0 + sta WHICH_LOAD + rts + + + + + + .include "zx02_optim.s" + + +comp_data: + .incbin "cliff_graphics/cliff_base.hgr.zx02" diff --git a/games/sb/cliff_graphics/Makefile b/games/sb/cliff_graphics/Makefile new file mode 100644 index 00000000..a1e21801 --- /dev/null +++ b/games/sb/cliff_graphics/Makefile @@ -0,0 +1,27 @@ +include ../../../Makefile.inc + +ZX02 = ~/research/6502_compression/zx02.git/build/zx02 -f +PNG_TO_HGR = ../../../utils/hgr-utils/png2hgr +LINKER_SCRIPTS = ../../../linker_scripts +DOS33 = ../../../utils/dos33fs-utils/dos33 +EMPTY_DISK = ../../../empty_disk/empty.dsk +TOKENIZE = ../../../utils/asoft_basic-utils/tokenize_asoft +PNG2GR = ../../../utils/gr-utils/png2gr +PNG2SPRITES = ../../../utils/gr-utils/png2sprites +HGR_SPRITE = ../../../utils/hgr-utils/hgr_make_sprite + +all: cliff_base.hgr.zx02 + +#### + +cliff_base.hgr.zx02: cliff_base.hgr + $(ZX02) cliff_base.hgr cliff_base.hgr.zx02 + +cliff_base.hgr: cliff_base.png + $(PNG_TO_HGR) cliff_base.png > cliff_base.hgr + +#### + +clean: + rm -f *~ *.o *.lst + diff --git a/games/sb/cliff_graphics/cliff_base.png b/games/sb/cliff_graphics/cliff_base.png new file mode 100644 index 00000000..96ae6df7 Binary files /dev/null and b/games/sb/cliff_graphics/cliff_base.png differ diff --git a/games/sb/qload.s b/games/sb/qload.s index 6c57b029..b1e12830 100644 --- a/games/sb/qload.s +++ b/games/sb/qload.s @@ -165,26 +165,26 @@ error_string: which_disk_array: .byte 1,1,1,1 ; TITLE, DUCK, ROOF, ASPLODE - .byte 1,1,1,1 ; TARGET, CLIFF, RAT + .byte 1,1,1 ; TARGET, CLIFF, RAT load_address_array: .byte $60,$60,$60,$60 ; TITLE, DUCK, ROOF, ASPLODE - .byte $60,$60,$60,$60 ; TARGET, CLIFF, RAT + .byte $60,$60,$60 ; TARGET, CLIFF, RAT track_array: - .byte 2, 5, 8,11 ; TITLE, DUCK, ROOF, ASPLODE - .byte 11,11,11,24 ; TARGET, CLIFF, RAT + .byte 2, 5,10,15 ; TITLE, DUCK, ROOF, ASPLODE + .byte 20,25,30 ; TARGET, CLIFF, RAT sector_array: .byte 0, 0, 0, 0 ; TITLE, DUCK, ROOF, ASPLODE - .byte 0, 0, 0, 0 ; TARGET, CLIFF, RAT + .byte 0, 0, 0 ; TARGET, CLIFF, RAT length_array: .byte 36, 16, 16, 32 ; TITLE, DUCK, ROOF, ASPLODE - .byte 32, 32, 32, 32 ; TARGET, CLIFF, RAT + .byte 32, 32, 32 ; TARGET, CLIFF, RAT qload_end: diff --git a/games/sb/target.s b/games/sb/target.s new file mode 100644 index 00000000..5abda880 --- /dev/null +++ b/games/sb/target.s @@ -0,0 +1,74 @@ +; Archery minigame from Peasant's Quest +; +; Yet Another HR project +; +; by deater (Vince Weaver) + + +.include "zp.inc" +.include "hardware.inc" + + +hires_start: + + ;=================== + ; set graphics mode + ;=================== + jsr HOME + + bit HIRES + bit FULLGR + bit SET_GR + bit PAGE1 + + + ;=================== + ; Load graphics + ;=================== +load_loop: + + ;============================= + + + ;========================== + ; Load Image + ;=========================== + +load_image: + + ; size in ldsizeh:ldsizel (f1/f0) + + lda #comp_data + sta ZX0_src+1 + + + lda #$20 + + + jsr full_decomp + +; rts + + + +wait_until_keypress: + lda KEYPRESS ; 4 + bpl wait_until_keypress ; 3 + bit KEYRESET ; clear the keyboard buffer + +which_ok: + lda #0 + sta WHICH_LOAD + rts + + + + + + .include "zx02_optim.s" + + +comp_data: + .incbin "target_graphics/target.hgr.zx02" diff --git a/games/sb/target_graphics/Makefile b/games/sb/target_graphics/Makefile new file mode 100644 index 00000000..e1f186ab --- /dev/null +++ b/games/sb/target_graphics/Makefile @@ -0,0 +1,27 @@ +include ../../../Makefile.inc + +ZX02 = ~/research/6502_compression/zx02.git/build/zx02 -f +PNG_TO_HGR = ../../../utils/hgr-utils/png2hgr +LINKER_SCRIPTS = ../../../linker_scripts +DOS33 = ../../../utils/dos33fs-utils/dos33 +EMPTY_DISK = ../../../empty_disk/empty.dsk +TOKENIZE = ../../../utils/asoft_basic-utils/tokenize_asoft +PNG2GR = ../../../utils/gr-utils/png2gr +PNG2SPRITES = ../../../utils/gr-utils/png2sprites +HGR_SPRITE = ../../../utils/hgr-utils/hgr_make_sprite + +all: target.hgr.zx02 + +#### + +target.hgr.zx02: target.hgr + $(ZX02) target.hgr target.hgr.zx02 + +target.hgr: target.png + $(PNG_TO_HGR) target.png > target.hgr + +#### + +clean: + rm -f *~ *.o *.lst + diff --git a/games/sb/target_graphics/target.png b/games/sb/target_graphics/target.png new file mode 100644 index 00000000..e26f576c Binary files /dev/null and b/games/sb/target_graphics/target.png differ