From 0e21dc5121b91b842e2b2af7bce66b56553e1203 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Fri, 3 Nov 2023 00:19:32 -0400 Subject: [PATCH] second: make object actually bounce on chessboard --- demos/second/Makefile | 17 +++++++ demos/second/file_id.diz | 24 ++++++++++ demos/second/part04_chess_shapes/Makefile | 3 +- demos/second/part04_chess_shapes/chess.s | 43 ++++++++++-------- .../part04_chess_shapes/graphics/Makefile | 1 + .../part04_chess_shapes/graphics/chess3.png | Bin 14647 -> 15132 bytes demos/second/start.s | 4 +- 7 files changed, 71 insertions(+), 21 deletions(-) create mode 100644 demos/second/file_id.diz diff --git a/demos/second/Makefile b/demos/second/Makefile index d0fdc0ea..230051fd 100644 --- a/demos/second/Makefile +++ b/demos/second/Makefile @@ -339,3 +339,20 @@ clean: cd part18_3d && make clean cd part19_nuts && make clean cd part20_credits && make clean + + + +### + +submit: a2_reality.zip + +a2_reality.zip: second_d1.dsk second_d2.dsk file_id.diz ooze32.dsk + mkdir -p demosplash2023_a2r + cp file_id.diz ./demosplash2023_a2r + cp second_d1.dsk ./demosplash2023_a2r + cp second_d2.dsk ./demosplash2023_a2r +# cp a2r_720p.mp4 ./demosplash2023_a2r + cp a2r_screen.png ./demosplash2023_a2r + zip -r a2_reality.zip demosplash2023_a2r + +#### diff --git a/demos/second/file_id.diz b/demos/second/file_id.diz new file mode 100644 index 00000000..2922f137 --- /dev/null +++ b/demos/second/file_id.diz @@ -0,0 +1,24 @@ +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= +Apple ][ Reality +--------------------------------------- +by Deater / dSr + +Demosplash 2023 + +A version of Future Crew's "Second Reality" +after 30 years, but for a 45 year old +computer. + +For more info see here: + http://deater.net/weave/vmwprod/second/ + +Be sure you have both disk images ready to go. + +Currently requires an Apple IIe w/ 128k of RAM +and a Mockingboard sound card + +I do plan to release a final version that +is more complete and runs on a machine with +less RAM. + + diff --git a/demos/second/part04_chess_shapes/Makefile b/demos/second/part04_chess_shapes/Makefile index c1115913..efe4ee7a 100644 --- a/demos/second/part04_chess_shapes/Makefile +++ b/demos/second/part04_chess_shapes/Makefile @@ -23,7 +23,8 @@ chess.o: chess.s \ sierzoom.s \ ../irq_wait.s \ ../zp.inc ../hardware.inc ../qload.inc \ - graphics/chess_object2.hgr.zx02 + graphics/chess_object2.hgr.zx02 \ + graphics/object.inc ca65 -o chess.o chess.s -l chess.lst ### diff --git a/demos/second/part04_chess_shapes/chess.s b/demos/second/part04_chess_shapes/chess.s index 8c0e2025..7b35e36f 100644 --- a/demos/second/part04_chess_shapes/chess.s +++ b/demos/second/part04_chess_shapes/chess.s @@ -150,26 +150,32 @@ chess_bounce_loop: ldx COUNT - lda object_coords_x,X -; cmp #$FF -; beq done_orange_loop - + lda bounce_coords_x,X sta SPRITE_X - lda object_coords_y,X + lda bounce_coords_y,X sta SPRITE_Y + cmp #100 + bcs do_squashed lda #object_data + jmp done_pick_object +do_squashed: + lda #squished +done_pick_object: sta INH + jsr hgr_draw_sprite_big jsr hgr_page_flip inc COUNT lda COUNT - cmp #48 + cmp #36 bne no_chess_bounce_oflo lda #0 sta COUNT @@ -336,7 +342,7 @@ main_tunnel_done: sta BAR_X2 jsr falling_bars - lda #3 + lda #7 jsr wait_ticks ; middle @@ -347,7 +353,7 @@ main_tunnel_done: sta BAR_X2 jsr falling_bars - lda #3 + lda #7 jsr wait_ticks ; right @@ -358,7 +364,7 @@ main_tunnel_done: sta BAR_X2 jsr falling_bars - lda #5 + lda #7 jsr wait_ticks @@ -442,17 +448,18 @@ object_coords_y: - ; 12*4 = 48 + ; 9*4=36 bounce_coords_x: - .byte 13,12,11,10, 9, 8, 7, 6, 5, 4, 3, 2 - .byte 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12 - .byte 13,14,15,16,17,18,19,20,21,22,23,24 - .byte 25,24,23,22,21,20,19,18,17,16,15,14 + .byte 12, 12, 12, 12, 12, 12, 12, 10, 10 + .byte 10, 10, 12, 12, 12, 12, 12, 12, 12 + .byte 12, 12, 12, 12, 12, 12, 12, 10, 10 + .byte 10, 10, 12, 12, 12, 12, 12, 12, 12 bounce_coords_y: - .byte 5,10,16,23,30,36,43,49,55,62,68,75 - .byte 82,82,82,82,82,82,82,82,82,82,82,82 - .byte 82,82,82,82,82,82,82,82,82,82,82,82 - .byte 75,68,62,55,49,43,36,30,23,16,10, 5 + .byte 4, 20, 35, 45, 60, 70, 82, 102, 115 + .byte 115,102, 82, 70, 60, 45, 35, 20, 4 + .byte 4, 20, 35, 45, 60, 70, 82, 102, 115 + .byte 115,102, 82, 70, 60, 45, 35, 20, 4 + diff --git a/demos/second/part04_chess_shapes/graphics/Makefile b/demos/second/part04_chess_shapes/graphics/Makefile index 16ce0c17..d4388f66 100644 --- a/demos/second/part04_chess_shapes/graphics/Makefile +++ b/demos/second/part04_chess_shapes/graphics/Makefile @@ -16,6 +16,7 @@ all: chess_object.hgr.zx02 chess_object2.hgr.zx02 \ object.inc: chess3.png $(HGR_SPRITE) -s -l object chess3.png 84 11 188 118 > object.inc + $(HGR_SPRITE) -s -l squished chess3.png 70 120 195 190 >> object.inc #### diff --git a/demos/second/part04_chess_shapes/graphics/chess3.png b/demos/second/part04_chess_shapes/graphics/chess3.png index 3720d231f4e17780d93e135b590714ac6aae1bef..4a633346b82215e7c025ef2a172196fc213fd9f7 100644 GIT binary patch delta 11222 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

) z#~SR%D$ZiX;H}v$o8h~#7JXMySHF1liz@6dTd+tP7&Uvz6yTD&6oW`NAt+0fi$OdV&0ErGfQpglKjjx|P$8G|R9f12rar1WDU zRRcpZTbjuN;=VT<2KO~(I9jyGuc=riQ}!yR*n^oj*PkbYA@74EJ6p3~`%7%ARJnv|n%+ zGh0j=?kG_sy^ze3jG<}@e^+Y{G4(x4-LL7fX0G1he%)eWFrCF(HB7|}Pckf+_q(_B zWEL9MG90mmDI1z%8Mh6X`=OTb$?wnBFuX<9XxlL+%To;kn$Bp?F{5RDz7#C7M%^}J zN=DQmfcd|lVjlOCR54`>L%L;g%~t>(<*1B#(#USF8nI%^1I*$qJY%j&(SlMmPgY24 z$rO9Vh|iMioAk|BkE~`cVmU+k`#e5Es+k+}4;qDr0^kBQHvj+t07*qoM6N<$f{Pr@ Ap#T5? delta 10918 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

&*AI#OlLq*~UY>Fk)W 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 IM6N<$g3tRmqyPW_ diff --git a/demos/second/start.s b/demos/second/start.s index ac4d9f60..25000166 100644 --- a/demos/second/start.s +++ b/demos/second/start.s @@ -36,9 +36,9 @@ restart: jsr load_file - ; run it + ; run fake boot / fake bios - jsr $6000 +; jsr $6000 ;================================== ; load music into the language card