From 90baca5d796ba05b3dace8de276d4bd3e0f56578 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Mon, 30 Sep 2024 00:13:51 -0400 Subject: [PATCH] sb: update to load 7th game --- games/sb/Makefile | 9 ++++++++- games/sb/NOTES | 13 +++++++++++++ games/sb/asplode.s | 2 +- games/sb/qload.s | 19 ++++++++++--------- games/sb/title.s | 8 ++++---- 5 files changed, 36 insertions(+), 15 deletions(-) diff --git a/games/sb/Makefile b/games/sb/Makefile index 902f07fc..91e5bbbc 100644 --- a/games/sb/Makefile +++ b/games/sb/Makefile @@ -13,7 +13,7 @@ all: sb.dsk #### sb.dsk: QBOOT QLOAD TITLE DUCK_POND ROOF ASPLODE BACK_OFF \ - ./fish/FISH RAT + ./fish/FISH RAT ./dating/DATING_XR cp $(EMPTY_DISK) sb.dsk $(DOS33_RAW) sb.dsk 0 0 QBOOT 0 1 $(DOS33_RAW) sb.dsk 0 2 QBOOT 1 1 @@ -28,6 +28,7 @@ sb.dsk: QBOOT QLOAD TITLE DUCK_POND ROOF ASPLODE BACK_OFF \ $(DOS33_RAW) sb.dsk 22 0 RAT 0 0 $(DOS33_RAW) sb.dsk 24 0 BACK_OFF 0 0 $(DOS33_RAW) sb.dsk 26 0 ../peasant_mini/cliff/CLIMB 0 0 + $(DOS33_RAW) sb.dsk 30 0 ./dating/DATING_XR 0 0 #### @@ -107,6 +108,11 @@ back_off.o: back_off.s zx02_optim.s \ ./fish/FISH: cd fish && make +#### + +./dating/DATING_XR: + cd dating && make + #CLIFF: cliff.o # ld65 -o CLIFF cliff.o -C $(LINKER_SCRIPTS)/apple2_6000.inc @@ -205,6 +211,7 @@ HELLO: hello.bas clean: rm -f *.lst *.o QBOOT QLOAD TITLE DUCK_POND ROOF ASPLODE TARGET CLIFF RAT *~ cd asplode_sound && make clean + cd dating && make clean cd rat_sound && make clean cd title_sound && make clean cd asplode_graphics && make clean diff --git a/games/sb/NOTES b/games/sb/NOTES index dd1f6dc9..6e12f3d1 100644 --- a/games/sb/NOTES +++ b/games/sb/NOTES @@ -12,12 +12,25 @@ T 16 = FISH 23287 bytes = 6T (24576) 1k free T 22 = RAT 7581 bytes = 2T ( 8192) 1k free T 24 = BACK_OFF 6072 bytes = 2T ( 8192) 2k free T 26 = CLIMB 13013 bytes = 4T (16384) 3k free +T 30 = DATING = 4T (16384) ?k free memory map +to enable returning back, shouldn't over-write low-level code if we +can avoid it + +QBOOT loaded at $800-?? +QLOAD loaded at $1200, only 100 bytes? + + + + + + + 6000 code A000 background diff --git a/games/sb/asplode.s b/games/sb/asplode.s index 2c7b1b83..834b0424 100644 --- a/games/sb/asplode.s +++ b/games/sb/asplode.s @@ -686,7 +686,7 @@ asplode_asplode: back_off: - lda #7 + lda #8 bne really_done_game ; bra ;========================== diff --git a/games/sb/qload.s b/games/sb/qload.s index 9ca98622..3d2e4dcb 100644 --- a/games/sb/qload.s +++ b/games/sb/qload.s @@ -167,27 +167,28 @@ error_string: which_disk_array: .byte 1,1,1,1 ; TITLE, DUCK, ROOF, ASPLODE - .byte 1,1,1,1 ; CLIMB, FISH, RAT, BACK_OFF + .byte 1,1,1,1 ; CLIMB, FISH, RAT, DATING + .byte 1 ; BACK_OFF load_address_array: .byte $60,$60,$60,$40 ; TITLE, DUCK, ROOF, ASPLODE - .byte $60,$40,$60,$60 ; CLIMB, FISH, RAT, BACK_OFF - + .byte $60,$40,$60,$40 ; CLIMB, FISH, RAT, DATING + .byte $60 ; BACK_OFF track_array: .byte 2, 5, 8,11 ; TITLE, DUCK, ROOF, ASPLODE - .byte 26,16,22,24 ; CLIMB, FISH, RAT, BACK_OFF - + .byte 26,16,22,30 ; CLIMB, FISH, RAT, DATING + .byte 24 ; BACK_OFF sector_array: .byte 0, 0, 0, 0 ; TITLE, DUCK, ROOF, ASPLODE - .byte 0, 0, 0, 0 ; CLIMB, FISH, RAT, BACK_OFF - + .byte 0, 0, 0, 0 ; CLIMB, FISH, RAT, DATING + .byte 0 ; BACK_OFF length_array: .byte 40, 16, 16, 70 ; TITLE, DUCK, ROOF, ASPLODE - .byte 64, 92, 32, 32 ; CLIMB, FISH, RAT, BACK_OFF - + .byte 64, 92, 32, 64 ; CLIMB, FISH, RAT, DATING + .byte 32 ; BACK_OFF qload_end: diff --git a/games/sb/title.s b/games/sb/title.s index 0202d9c5..0a8160ac 100644 --- a/games/sb/title.s +++ b/games/sb/title.s @@ -196,12 +196,12 @@ wait_until_keypress: cmp #27 beq load_loop - cmp #'7' + cmp #'8' beq draw_edga_jr cmp #'1' bcc done_check_number ; blt - cmp #'7' + cmp #'8' bcs done_check_number ; bge @@ -242,7 +242,7 @@ arrow_up: arrow_down: lda MENU_ITEM - cmp #5 ; 0 indexed + cmp #6 ; 0 indexed bcs done_arrow inc MENU_ITEM @@ -318,4 +318,4 @@ purple_data: ; offsets of arrow arrow_y: - .byte 111,121,131,141,151,161 + .byte 111,121,131,141,151,161,171