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 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
####

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 \
../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
###

View File

@ -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
sta INL
lda #>object_data
jmp done_pick_object
do_squashed:
lda #<squished
sta INL
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

View File

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

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
; run it
; run fake boot / fake bios
jsr $6000
; jsr $6000
;==================================
; load music into the language card