second: make object actually bounce on chessboard

This commit is contained in:
Vince Weaver 2023-11-03 00:19:32 -04:00
parent 2426cba389
commit 0e21dc5121
7 changed files with 71 additions and 21 deletions

View File

@ -339,3 +339,20 @@ clean:
cd part18_3d && make clean cd part18_3d && make clean
cd part19_nuts && make clean cd part19_nuts && make clean
cd part20_credits && 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
####

24
demos/second/file_id.diz Normal file
View File

@ -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.

View File

@ -23,7 +23,8 @@ chess.o: chess.s \
sierzoom.s \ sierzoom.s \
../irq_wait.s \ ../irq_wait.s \
../zp.inc ../hardware.inc ../qload.inc \ ../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 ca65 -o chess.o chess.s -l chess.lst
### ###

View File

@ -150,26 +150,32 @@ chess_bounce_loop:
ldx COUNT ldx COUNT
lda object_coords_x,X lda bounce_coords_x,X
; cmp #$FF
; beq done_orange_loop
sta SPRITE_X sta SPRITE_X
lda object_coords_y,X lda bounce_coords_y,X
sta SPRITE_Y sta SPRITE_Y
cmp #100
bcs do_squashed
lda #<object_data lda #<object_data
sta INL sta INL
lda #>object_data lda #>object_data
jmp done_pick_object
do_squashed:
lda #<squished
sta INL
lda #>squished
done_pick_object:
sta INH sta INH
jsr hgr_draw_sprite_big jsr hgr_draw_sprite_big
jsr hgr_page_flip jsr hgr_page_flip
inc COUNT inc COUNT
lda COUNT lda COUNT
cmp #48 cmp #36
bne no_chess_bounce_oflo bne no_chess_bounce_oflo
lda #0 lda #0
sta COUNT sta COUNT
@ -336,7 +342,7 @@ main_tunnel_done:
sta BAR_X2 sta BAR_X2
jsr falling_bars jsr falling_bars
lda #3 lda #7
jsr wait_ticks jsr wait_ticks
; middle ; middle
@ -347,7 +353,7 @@ main_tunnel_done:
sta BAR_X2 sta BAR_X2
jsr falling_bars jsr falling_bars
lda #3 lda #7
jsr wait_ticks jsr wait_ticks
; right ; right
@ -358,7 +364,7 @@ main_tunnel_done:
sta BAR_X2 sta BAR_X2
jsr falling_bars jsr falling_bars
lda #5 lda #7
jsr wait_ticks jsr wait_ticks
@ -442,17 +448,18 @@ object_coords_y:
; 12*4 = 48 ; 9*4=36
bounce_coords_x: bounce_coords_x:
.byte 13,12,11,10, 9, 8, 7, 6, 5, 4, 3, 2 .byte 12, 12, 12, 12, 12, 12, 12, 10, 10
.byte 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12 .byte 10, 10, 12, 12, 12, 12, 12, 12, 12
.byte 13,14,15,16,17,18,19,20,21,22,23,24 .byte 12, 12, 12, 12, 12, 12, 12, 10, 10
.byte 25,24,23,22,21,20,19,18,17,16,15,14 .byte 10, 10, 12, 12, 12, 12, 12, 12, 12
bounce_coords_y: bounce_coords_y:
.byte 5,10,16,23,30,36,43,49,55,62,68,75 .byte 4, 20, 35, 45, 60, 70, 82, 102, 115
.byte 82,82,82,82,82,82,82,82,82,82,82,82 .byte 115,102, 82, 70, 60, 45, 35, 20, 4
.byte 82,82,82,82,82,82,82,82,82,82,82,82 .byte 4, 20, 35, 45, 60, 70, 82, 102, 115
.byte 75,68,62,55,49,43,36,30,23,16,10, 5 .byte 115,102, 82, 70, 60, 45, 35, 20, 4

View File

@ -16,6 +16,7 @@ all: chess_object.hgr.zx02 chess_object2.hgr.zx02 \
object.inc: chess3.png object.inc: chess3.png
$(HGR_SPRITE) -s -l object chess3.png 84 11 188 118 > object.inc $(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
#### ####

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -36,9 +36,9 @@ restart:
jsr load_file jsr load_file
; run it ; run fake boot / fake bios
jsr $6000 ; jsr $6000
;================================== ;==================================
; load music into the language card ; load music into the language card