mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-12-27 17:29:49 +00:00
mist_hgr: initial sprite pointer support
still needs work, also is too big
This commit is contained in:
parent
67c80ee430
commit
45ec8a3fe0
@ -6,6 +6,7 @@ PNG_TO_40x96 = ../../utils/gr-utils/png_to_40x96
|
|||||||
PNG_TO_40x48D = ../../utils/gr-utils/png_to_40x48d
|
PNG_TO_40x48D = ../../utils/gr-utils/png_to_40x48d
|
||||||
PNG2RLE = ../../utils/gr-utils/png2rle
|
PNG2RLE = ../../utils/gr-utils/png2rle
|
||||||
B2D = ../../utils/bmp2dhr/b2d
|
B2D = ../../utils/bmp2dhr/b2d
|
||||||
|
EMPTY_DISK = ../../empty_disk/empty.dsk
|
||||||
|
|
||||||
TOKENIZE = ../../utils/asoft_basic-utils/tokenize_asoft
|
TOKENIZE = ../../utils/asoft_basic-utils/tokenize_asoft
|
||||||
|
|
||||||
@ -17,19 +18,20 @@ all: mist_hgr.dsk
|
|||||||
# zip mist.zip mist_hgr.dsk mist_side2.dsk mist_side3.dsk
|
# zip mist.zip mist_hgr.dsk mist_side2.dsk mist_side3.dsk
|
||||||
|
|
||||||
mist_hgr.dsk: QBOOT TEXT_TITLE QLOAD \
|
mist_hgr.dsk: QBOOT TEXT_TITLE QLOAD \
|
||||||
MIST_TITLE MIST OCTAGON VIEWER \
|
MIST_TITLE
|
||||||
DENTIST D\'NI SHIP GENERATOR \
|
#MIST OCTAGON VIEWER \
|
||||||
SAVE1 SAVE2 SAVE3 SAVE4 SAVE5
|
# DENTIST D\'NI SHIP GENERATOR \
|
||||||
cp extra_empty.dsk mist_hgr.dsk
|
# SAVE1 SAVE2 SAVE3 SAVE4 SAVE5
|
||||||
|
cp $(EMPTY_DISK) mist_hgr.dsk
|
||||||
$(DOS33_RAW) mist_hgr.dsk 0 0 QBOOT 0 1
|
$(DOS33_RAW) mist_hgr.dsk 0 0 QBOOT 0 1
|
||||||
$(DOS33_RAW) mist_hgr.dsk 0 2 QBOOT 1 1
|
$(DOS33_RAW) mist_hgr.dsk 0 2 QBOOT 1 1
|
||||||
$(DOS33_RAW) mist_hgr.dsk 0 4 QBOOT 2 1
|
$(DOS33_RAW) mist_hgr.dsk 0 4 QBOOT 2 1
|
||||||
$(DOS33_RAW) mist_hgr.dsk 0 6 TEXT_TITLE 0 3
|
$(DOS33_RAW) mist_hgr.dsk 0 6 TEXT_TITLE 0 3
|
||||||
$(DOS33_RAW) mist_hgr.dsk 0 11 SAVE1 0 1
|
# $(DOS33_RAW) mist_hgr.dsk 0 11 SAVE1 0 1
|
||||||
$(DOS33_RAW) mist_hgr.dsk 0 12 SAVE2 0 1
|
# $(DOS33_RAW) mist_hgr.dsk 0 12 SAVE2 0 1
|
||||||
$(DOS33_RAW) mist_hgr.dsk 0 13 SAVE3 0 1
|
# $(DOS33_RAW) mist_hgr.dsk 0 13 SAVE3 0 1
|
||||||
$(DOS33_RAW) mist_hgr.dsk 0 14 SAVE4 0 1
|
# $(DOS33_RAW) mist_hgr.dsk 0 14 SAVE4 0 1
|
||||||
$(DOS33_RAW) mist_hgr.dsk 0 15 SAVE5 0 1
|
# $(DOS33_RAW) mist_hgr.dsk 0 15 SAVE5 0 1
|
||||||
$(DOS33_RAW) mist_hgr.dsk 1 0 QLOAD 0 14
|
$(DOS33_RAW) mist_hgr.dsk 1 0 QLOAD 0 14
|
||||||
$(DOS33_RAW) mist_hgr.dsk 2 0 MIST_TITLE 0 0
|
$(DOS33_RAW) mist_hgr.dsk 2 0 MIST_TITLE 0 0
|
||||||
# 84
|
# 84
|
||||||
@ -98,7 +100,7 @@ QLOAD: qload.o
|
|||||||
ld65 -o QLOAD qload.o -C ../../linker_scripts/apple2_1200.inc
|
ld65 -o QLOAD qload.o -C ../../linker_scripts/apple2_1200.inc
|
||||||
|
|
||||||
qload.o: qload.s qboot.inc \
|
qload.o: qload.s qboot.inc \
|
||||||
gr_offsets.s \
|
gr_offsets.s hgr_14x14_sprite.s common_sprites.inc \
|
||||||
text_print.s gr_fast_clear.s decompress_fast_v2.s \
|
text_print.s gr_fast_clear.s decompress_fast_v2.s \
|
||||||
keyboard.s audio.s loadstore.s \
|
keyboard.s audio.s loadstore.s \
|
||||||
qkumba_popwr.s
|
qkumba_popwr.s
|
||||||
@ -505,20 +507,20 @@ clean:
|
|||||||
GENERATOR \
|
GENERATOR \
|
||||||
generate_common
|
generate_common
|
||||||
cd graphics_title && make clean
|
cd graphics_title && make clean
|
||||||
cd graphics_mist && make clean
|
# cd graphics_mist && make clean
|
||||||
cd graphics_octagon && make clean
|
# cd graphics_octagon && make clean
|
||||||
cd books && make clean
|
# cd books && make clean
|
||||||
cd graphics_viewer && make clean
|
# cd graphics_viewer && make clean
|
||||||
cd graphics_meche && make clean
|
# cd graphics_meche && make clean
|
||||||
cd graphics_selena && make clean
|
# cd graphics_selena && make clean
|
||||||
cd graphics_cabin && make clean
|
# cd graphics_cabin && make clean
|
||||||
cd graphics_channel && make clean
|
# cd graphics_channel && make clean
|
||||||
cd graphics_stoney && make clean
|
# cd graphics_stoney && make clean
|
||||||
cd graphics_dentist && make clean
|
# cd graphics_dentist && make clean
|
||||||
cd graphics_generator && make clean
|
# cd graphics_generator && make clean
|
||||||
cd graphics_arbor && make clean
|
# cd graphics_arbor && make clean
|
||||||
cd graphics_nibel && make clean
|
# cd graphics_nibel && make clean
|
||||||
cd graphics_dni && make clean
|
# cd graphics_dni && make clean
|
||||||
cd graphics_ship && make clean
|
# cd graphics_ship && make clean
|
||||||
cd graphics_sub && make clean
|
# cd graphics_sub && make clean
|
||||||
|
|
||||||
|
@ -1,88 +1,862 @@
|
|||||||
finger_point_sprite:
|
finger_point_sprite:
|
||||||
.byte 5,5
|
|
||||||
.byte $AA,$BB,$AA,$AA,$AA
|
;===============
|
||||||
.byte $AA,$BB,$AA,$AA,$AA
|
; point sprite
|
||||||
.byte $BA,$BB,$BB,$BB,$BB
|
;===============
|
||||||
.byte $AB,$BB,$BB,$BB,$BB
|
|
||||||
.byte $AA,$BB,$BB,$BB,$AA
|
point_sprite_l: ; X 654 3 210
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $63 ; 0 110 0 011
|
||||||
|
.byte $66 ; 0 110 0 110
|
||||||
|
.byte $2c ; 0 010 1 100
|
||||||
|
.byte $6c ; 0 110 1 100
|
||||||
|
.byte $78 ; 0 111 1 000
|
||||||
|
.byte $70 ; 0 111 0 000
|
||||||
|
.byte $70 ; 0 111 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
|
||||||
|
point_sprite_r: ; X 654 3 210
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $0A ; 0 000 1 010
|
||||||
|
.byte $2A ; 0 010 1 010
|
||||||
|
.byte $2D ; 0 010 1 101
|
||||||
|
.byte $37 ; 0 011 0 111
|
||||||
|
.byte $3F ; 0 011 1 111
|
||||||
|
.byte $3F ; 0 011 1 111
|
||||||
|
.byte $1F ; 0 001 1 111
|
||||||
|
.byte $1F ; 0 001 1 111
|
||||||
|
.byte $1F ; 0 001 1 111
|
||||||
|
|
||||||
|
point_mask_l: ; X 654 3 210
|
||||||
|
.byte $9f ; 1 001 1 111
|
||||||
|
.byte $8f ; 1 000 1 111
|
||||||
|
.byte $8f ; 1 000 1 111
|
||||||
|
.byte $8f ; 1 000 1 111
|
||||||
|
.byte $88 ; 1 000 1 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $81 ; 1 000 0 001
|
||||||
|
.byte $81 ; 1 000 0 001
|
||||||
|
.byte $83 ; 1 000 0 011
|
||||||
|
.byte $87 ; 1 000 0 111
|
||||||
|
.byte $8f ; 1 000 1 111
|
||||||
|
.byte $8f ; 1 000 1 111
|
||||||
|
|
||||||
|
point_mask_r: ; X 654 3 210
|
||||||
|
.byte $ff ; 1 111 1 111
|
||||||
|
.byte $fe ; 1 111 1 110
|
||||||
|
.byte $fe ; 1 111 1 110
|
||||||
|
.byte $fe ; 1 111 1 110
|
||||||
|
.byte $e0 ; 1 110 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $c0 ; 1 100 0 000
|
||||||
|
.byte $c0 ; 1 100 0 000
|
||||||
|
|
||||||
|
|
||||||
finger_grab_sprite:
|
finger_grab_sprite:
|
||||||
.byte 5,5
|
;===============
|
||||||
.byte $AA,$AA,$BB,$AA,$AA
|
; grab sprite
|
||||||
.byte $BB,$AA,$BB,$AA,$BB
|
;===============
|
||||||
.byte $BB,$BA,$BB,$BA,$BB
|
|
||||||
.byte $AB,$BB,$BB,$BB,$BB
|
grab_sprite_l: ; X 654 3 210
|
||||||
.byte $AA,$BB,$BB,$BB,$AA
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $4c ; 0 100 1 100
|
||||||
|
.byte $4c ; 0 100 1 100
|
||||||
|
.byte $58 ; 0 101 1 000
|
||||||
|
.byte $58 ; 0 101 1 000
|
||||||
|
.byte $70 ; 0 111 0 000
|
||||||
|
.byte $73 ; 0 111 0 011
|
||||||
|
.byte $77 ; 0 111 0 111
|
||||||
|
.byte $7e ; 0 111 1 110
|
||||||
|
.byte $7c ; 0 111 1 100
|
||||||
|
.byte $7c ; 0 111 1 100
|
||||||
|
.byte $78 ; 0 111 1 000
|
||||||
|
.byte $70 ; 0 111 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
|
||||||
|
grab_sprite_r: ; X 654 3 210
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $0d ; 0 000 1 101
|
||||||
|
.byte $0d ; 0 000 1 101
|
||||||
|
.byte $0d ; 0 000 1 101
|
||||||
|
.byte $6d ; 0 110 1 101
|
||||||
|
.byte $6f ; 0 110 1 111
|
||||||
|
.byte $7f ; 0 111 1 111
|
||||||
|
.byte $3f ; 0 011 1 111
|
||||||
|
.byte $3f ; 0 011 1 111
|
||||||
|
.byte $3f ; 0 011 1 111
|
||||||
|
.byte $1f ; 0 001 1 111
|
||||||
|
.byte $1f ; 0 001 1 111
|
||||||
|
.byte $0f ; 0 000 1 111
|
||||||
|
.byte $0f ; 0 000 1 111
|
||||||
|
|
||||||
|
grab_mask_l: ; X 654 3 210
|
||||||
|
.byte $b3 ; 1 011 0 011
|
||||||
|
.byte $81 ; 1 000 0 001
|
||||||
|
.byte $81 ; 1 000 0 001
|
||||||
|
.byte $83 ; 1 000 0 011
|
||||||
|
.byte $83 ; 1 000 0 011
|
||||||
|
.byte $84 ; 1 000 0 100
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $81 ; 1 000 0 001
|
||||||
|
.byte $81 ; 1 000 0 001
|
||||||
|
.byte $83 ; 1 000 0 011
|
||||||
|
.byte $c7 ; 1 100 0 111
|
||||||
|
.byte $c7 ; 1 100 1 111
|
||||||
|
|
||||||
|
grab_mask_r: ; X 654 3 210
|
||||||
|
.byte $f2 ; 1 111 0 010
|
||||||
|
.byte $e0 ; 1 110 0 000
|
||||||
|
.byte $e0 ; 1 110 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 100 0 000
|
||||||
|
.byte $c0 ; 1 100 0 000
|
||||||
|
.byte $e0 ; 1 110 0 000
|
||||||
|
.byte $e0 ; 1 110 0 000
|
||||||
|
|
||||||
|
|
||||||
|
;======================
|
||||||
|
; finger left
|
||||||
|
;======================
|
||||||
|
; TODO
|
||||||
|
|
||||||
finger_left_sprite:
|
finger_left_sprite:
|
||||||
.byte 6,4
|
|
||||||
.byte $AA,$AA,$AA,$AB,$BA,$AA
|
finger_left_sprite_l: ; X 654 3 210
|
||||||
.byte $BB,$BB,$BB,$BB,$BB,$BB
|
.byte $00 ; 0 000 0 000
|
||||||
.byte $AA,$AA,$BB,$BB,$BB,$BB
|
.byte $60 ; 0 110 0 000
|
||||||
.byte $AA,$AA,$AB,$BB,$BB,$AB
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $63 ; 0 110 0 011
|
||||||
|
.byte $66 ; 0 110 0 110
|
||||||
|
.byte $2c ; 0 010 1 100
|
||||||
|
.byte $6c ; 0 110 1 100
|
||||||
|
.byte $78 ; 0 111 1 000
|
||||||
|
.byte $70 ; 0 111 0 000
|
||||||
|
.byte $70 ; 0 111 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
|
||||||
|
finger_left_sprite_r: ; X 654 3 210
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $0A ; 0 000 1 010
|
||||||
|
.byte $2A ; 0 010 1 010
|
||||||
|
.byte $2D ; 0 010 1 101
|
||||||
|
.byte $37 ; 0 011 0 111
|
||||||
|
.byte $3F ; 0 011 1 111
|
||||||
|
.byte $3F ; 0 011 1 111
|
||||||
|
.byte $1F ; 0 001 1 111
|
||||||
|
.byte $1F ; 0 001 1 111
|
||||||
|
.byte $1F ; 0 001 1 111
|
||||||
|
|
||||||
|
finger_left_mask_l: ; X 654 3 210
|
||||||
|
.byte $ff ; 1 001 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 000
|
||||||
|
.byte $ff ; 1 000 0 000
|
||||||
|
.byte $ff ; 1 000 0 000
|
||||||
|
.byte $ff ; 1 000 0 000
|
||||||
|
.byte $ff ; 1 000 0 001
|
||||||
|
.byte $ff ; 1 000 0 001
|
||||||
|
.byte $ff ; 1 000 0 011
|
||||||
|
.byte $ff ; 1 000 0 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
|
||||||
|
finger_left_mask_r: ; X 654 3 210
|
||||||
|
.byte $ff ; 1 111 1 111
|
||||||
|
.byte $fe ; 1 111 1 110
|
||||||
|
.byte $fe ; 1 111 1 110
|
||||||
|
.byte $fe ; 1 111 1 110
|
||||||
|
.byte $e0 ; 1 110 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $c0 ; 1 100 0 000
|
||||||
|
.byte $c0 ; 1 100 0 000
|
||||||
|
|
||||||
|
|
||||||
|
;====================
|
||||||
|
; finger right
|
||||||
|
;====================
|
||||||
|
; TODO
|
||||||
|
|
||||||
finger_right_sprite:
|
finger_right_sprite:
|
||||||
.byte 6,4
|
finger_right_sprite_l: ; X 654 3 210
|
||||||
.byte $AA,$BA,$AB,$AA,$AA,$AA
|
.byte $00 ; 0 000 0 000
|
||||||
.byte $BB,$BB,$BB,$BB,$BB,$BB
|
.byte $60 ; 0 110 0 000
|
||||||
.byte $BB,$BB,$BB,$BB,$AA,$AA
|
.byte $60 ; 0 110 0 000
|
||||||
.byte $AB,$BB,$BB,$AB,$AA,$AA
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $63 ; 0 110 0 011
|
||||||
|
.byte $66 ; 0 110 0 110
|
||||||
|
.byte $2c ; 0 010 1 100
|
||||||
|
.byte $6c ; 0 110 1 100
|
||||||
|
.byte $78 ; 0 111 1 000
|
||||||
|
.byte $70 ; 0 111 0 000
|
||||||
|
.byte $70 ; 0 111 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
|
||||||
|
finger_right_sprite_r: ; X 654 3 210
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $0A ; 0 000 1 010
|
||||||
|
.byte $2A ; 0 010 1 010
|
||||||
|
.byte $2D ; 0 010 1 101
|
||||||
|
.byte $37 ; 0 011 0 111
|
||||||
|
.byte $3F ; 0 011 1 111
|
||||||
|
.byte $3F ; 0 011 1 111
|
||||||
|
.byte $1F ; 0 001 1 111
|
||||||
|
.byte $1F ; 0 001 1 111
|
||||||
|
.byte $1F ; 0 001 1 111
|
||||||
|
|
||||||
|
finger_right_mask_l: ; X 654 3 210
|
||||||
|
.byte $ff ; 1 001 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 000
|
||||||
|
.byte $ff ; 1 000 0 000
|
||||||
|
.byte $ff ; 1 000 0 000
|
||||||
|
.byte $ff ; 1 000 0 000
|
||||||
|
.byte $ff ; 1 000 0 001
|
||||||
|
.byte $ff ; 1 000 0 001
|
||||||
|
.byte $ff ; 1 000 0 011
|
||||||
|
.byte $ff ; 1 000 0 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
|
||||||
|
finger_right_mask_r: ; X 654 3 210
|
||||||
|
.byte $ff ; 1 111 1 111
|
||||||
|
.byte $fe ; 1 111 1 110
|
||||||
|
.byte $fe ; 1 111 1 110
|
||||||
|
.byte $fe ; 1 111 1 110
|
||||||
|
.byte $e0 ; 1 110 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $c0 ; 1 100 0 000
|
||||||
|
.byte $c0 ; 1 100 0 000
|
||||||
|
|
||||||
|
|
||||||
|
;====================
|
||||||
|
; Finger turn left
|
||||||
|
;====================
|
||||||
finger_turn_left_sprite:
|
finger_turn_left_sprite:
|
||||||
.byte 6,4
|
|
||||||
.byte $aa,$aa,$ba,$bb,$aa,$aa
|
finger_turn_left_sprite_l: ; X 654 3 210
|
||||||
.byte $ba,$bb,$bb,$bb,$bb,$ba
|
.byte $00 ; 0 000 0 000
|
||||||
.byte $aa,$ab,$bb,$bb,$ab,$bb
|
.byte $60 ; 0 110 0 000
|
||||||
.byte $aa,$aa,$aa,$ab,$aa,$ab
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $63 ; 0 110 0 011
|
||||||
|
.byte $66 ; 0 110 0 110
|
||||||
|
.byte $2c ; 0 010 1 100
|
||||||
|
.byte $6c ; 0 110 1 100
|
||||||
|
.byte $78 ; 0 111 1 000
|
||||||
|
.byte $70 ; 0 111 0 000
|
||||||
|
.byte $70 ; 0 111 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
|
||||||
|
finger_turn_left_sprite_r: ; X 654 3 210
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $0A ; 0 000 1 010
|
||||||
|
.byte $2A ; 0 010 1 010
|
||||||
|
.byte $2D ; 0 010 1 101
|
||||||
|
.byte $37 ; 0 011 0 111
|
||||||
|
.byte $3F ; 0 011 1 111
|
||||||
|
.byte $3F ; 0 011 1 111
|
||||||
|
.byte $1F ; 0 001 1 111
|
||||||
|
.byte $1F ; 0 001 1 111
|
||||||
|
.byte $1F ; 0 001 1 111
|
||||||
|
|
||||||
|
finger_turn_left_mask_l: ; X 654 3 210
|
||||||
|
.byte $ff ; 1 001 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 000
|
||||||
|
.byte $ff ; 1 000 0 000
|
||||||
|
.byte $ff ; 1 000 0 000
|
||||||
|
.byte $ff ; 1 000 0 000
|
||||||
|
.byte $ff ; 1 000 0 001
|
||||||
|
.byte $ff ; 1 000 0 001
|
||||||
|
.byte $ff ; 1 000 0 011
|
||||||
|
.byte $ff ; 1 000 0 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
|
||||||
|
finger_turn_left_mask_r: ; X 654 3 210
|
||||||
|
.byte $ff ; 1 111 1 111
|
||||||
|
.byte $fe ; 1 111 1 110
|
||||||
|
.byte $fe ; 1 111 1 110
|
||||||
|
.byte $fe ; 1 111 1 110
|
||||||
|
.byte $e0 ; 1 110 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $c0 ; 1 100 0 000
|
||||||
|
.byte $c0 ; 1 100 0 000
|
||||||
|
|
||||||
|
;=====================
|
||||||
|
; Finger turn right
|
||||||
|
;=====================
|
||||||
|
; TODO
|
||||||
|
|
||||||
finger_turn_right_sprite:
|
finger_turn_right_sprite:
|
||||||
.byte 6,4
|
|
||||||
.byte $aa,$aa,$bb,$ba,$aa,$aa
|
finger_turn_right_sprite_l: ; X 654 3 210
|
||||||
.byte $ba,$bb,$bb,$bb,$bb,$ba
|
.byte $00 ; 0 000 0 000
|
||||||
.byte $bb,$ab,$bb,$bb,$ab,$aa
|
.byte $60 ; 0 110 0 000
|
||||||
.byte $ab,$aa,$ab,$aa,$aa,$aa
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $63 ; 0 110 0 011
|
||||||
|
.byte $66 ; 0 110 0 110
|
||||||
|
.byte $2c ; 0 010 1 100
|
||||||
|
.byte $6c ; 0 110 1 100
|
||||||
|
.byte $78 ; 0 111 1 000
|
||||||
|
.byte $70 ; 0 111 0 000
|
||||||
|
.byte $70 ; 0 111 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
|
||||||
|
finger_turn_right_sprite_r: ; X 654 3 210
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $0A ; 0 000 1 010
|
||||||
|
.byte $2A ; 0 010 1 010
|
||||||
|
.byte $2D ; 0 010 1 101
|
||||||
|
.byte $37 ; 0 011 0 111
|
||||||
|
.byte $3F ; 0 011 1 111
|
||||||
|
.byte $3F ; 0 011 1 111
|
||||||
|
.byte $1F ; 0 001 1 111
|
||||||
|
.byte $1F ; 0 001 1 111
|
||||||
|
.byte $1F ; 0 001 1 111
|
||||||
|
|
||||||
|
finger_turn_right_mask_l: ; X 654 3 210
|
||||||
|
.byte $ff ; 1 001 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 000
|
||||||
|
.byte $ff ; 1 000 0 000
|
||||||
|
.byte $ff ; 1 000 0 000
|
||||||
|
.byte $ff ; 1 000 0 000
|
||||||
|
.byte $ff ; 1 000 0 001
|
||||||
|
.byte $ff ; 1 000 0 001
|
||||||
|
.byte $ff ; 1 000 0 011
|
||||||
|
.byte $ff ; 1 000 0 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
|
||||||
|
finger_turn_right_mask_r: ; X 654 3 210
|
||||||
|
.byte $ff ; 1 111 1 111
|
||||||
|
.byte $fe ; 1 111 1 110
|
||||||
|
.byte $fe ; 1 111 1 110
|
||||||
|
.byte $fe ; 1 111 1 110
|
||||||
|
.byte $e0 ; 1 110 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $c0 ; 1 100 0 000
|
||||||
|
.byte $c0 ; 1 100 0 000
|
||||||
|
|
||||||
|
|
||||||
|
;=====================
|
||||||
|
; finger match
|
||||||
|
;=====================
|
||||||
|
; TODO
|
||||||
|
|
||||||
finger_match_sprite:
|
finger_match_sprite:
|
||||||
.byte 6,4
|
.if 0
|
||||||
.byte $aa,$aa,$aa,$aa,$ba,$ba
|
finger_match_sprite_l: ; X 654 3 210
|
||||||
.byte $1a,$da,$da,$db,$db,$db
|
.byte $00 ; 0 000 0 000
|
||||||
.byte $a1,$ad,$ad,$bd,$bd,$ad
|
.byte $60 ; 0 110 0 000
|
||||||
.byte $aa,$aa,$aa,$aa,$ab,$bb
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $63 ; 0 110 0 011
|
||||||
|
.byte $66 ; 0 110 0 110
|
||||||
|
.byte $2c ; 0 010 1 100
|
||||||
|
.byte $6c ; 0 110 1 100
|
||||||
|
.byte $78 ; 0 111 1 000
|
||||||
|
.byte $70 ; 0 111 0 000
|
||||||
|
.byte $70 ; 0 111 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
|
||||||
|
finger_match_sprite_r: ; X 654 3 210
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $0A ; 0 000 1 010
|
||||||
|
.byte $2A ; 0 010 1 010
|
||||||
|
.byte $2D ; 0 010 1 101
|
||||||
|
.byte $37 ; 0 011 0 111
|
||||||
|
.byte $3F ; 0 011 1 111
|
||||||
|
.byte $3F ; 0 011 1 111
|
||||||
|
.byte $1F ; 0 001 1 111
|
||||||
|
.byte $1F ; 0 001 1 111
|
||||||
|
.byte $1F ; 0 001 1 111
|
||||||
|
|
||||||
|
finger_match_mask_l: ; X 654 3 210
|
||||||
|
.byte $ff ; 1 001 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 000
|
||||||
|
.byte $ff ; 1 000 0 000
|
||||||
|
.byte $ff ; 1 000 0 000
|
||||||
|
.byte $ff ; 1 000 0 000
|
||||||
|
.byte $ff ; 1 000 0 001
|
||||||
|
.byte $ff ; 1 000 0 001
|
||||||
|
.byte $ff ; 1 000 0 011
|
||||||
|
.byte $ff ; 1 000 0 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
|
||||||
|
finger_match_mask_r: ; X 654 3 210
|
||||||
|
.byte $ff ; 1 111 1 111
|
||||||
|
.byte $fe ; 1 111 1 110
|
||||||
|
.byte $fe ; 1 111 1 110
|
||||||
|
.byte $fe ; 1 111 1 110
|
||||||
|
.byte $e0 ; 1 110 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $c0 ; 1 100 0 000
|
||||||
|
.byte $c0 ; 1 100 0 000
|
||||||
|
.endif
|
||||||
|
|
||||||
|
;======================
|
||||||
|
; finger match lit
|
||||||
|
;======================
|
||||||
|
; TODO
|
||||||
|
|
||||||
finger_match_lit_sprite:
|
finger_match_lit_sprite:
|
||||||
.byte 6,4
|
.if 0
|
||||||
.byte $9a,$a9,$aa,$aa,$ba,$ba
|
finger_match_lit_sprite_l: ; X 654 3 210
|
||||||
.byte $19,$da,$da,$db,$db,$db
|
.byte $00 ; 0 000 0 000
|
||||||
.byte $a9,$ad,$ad,$bd,$bd,$ad
|
.byte $60 ; 0 110 0 000
|
||||||
.byte $aa,$aa,$aa,$aa,$ab,$bb
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $63 ; 0 110 0 011
|
||||||
|
.byte $66 ; 0 110 0 110
|
||||||
|
.byte $2c ; 0 010 1 100
|
||||||
|
.byte $6c ; 0 110 1 100
|
||||||
|
.byte $78 ; 0 111 1 000
|
||||||
|
.byte $70 ; 0 111 0 000
|
||||||
|
.byte $70 ; 0 111 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
|
||||||
|
finger_match_lit_sprite_r: ; X 654 3 210
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $0A ; 0 000 1 010
|
||||||
|
.byte $2A ; 0 010 1 010
|
||||||
|
.byte $2D ; 0 010 1 101
|
||||||
|
.byte $37 ; 0 011 0 111
|
||||||
|
.byte $3F ; 0 011 1 111
|
||||||
|
.byte $3F ; 0 011 1 111
|
||||||
|
.byte $1F ; 0 001 1 111
|
||||||
|
.byte $1F ; 0 001 1 111
|
||||||
|
.byte $1F ; 0 001 1 111
|
||||||
|
|
||||||
|
finger_match_lit_mask_l: ; X 654 3 210
|
||||||
|
.byte $ff ; 1 001 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 000
|
||||||
|
.byte $ff ; 1 000 0 000
|
||||||
|
.byte $ff ; 1 000 0 000
|
||||||
|
.byte $ff ; 1 000 0 000
|
||||||
|
.byte $ff ; 1 000 0 001
|
||||||
|
.byte $ff ; 1 000 0 001
|
||||||
|
.byte $ff ; 1 000 0 011
|
||||||
|
.byte $ff ; 1 000 0 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
|
||||||
|
finger_match_lit_mask_r: ; X 654 3 210
|
||||||
|
.byte $ff ; 1 111 1 111
|
||||||
|
.byte $fe ; 1 111 1 110
|
||||||
|
.byte $fe ; 1 111 1 110
|
||||||
|
.byte $fe ; 1 111 1 110
|
||||||
|
.byte $e0 ; 1 110 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $c0 ; 1 100 0 000
|
||||||
|
.byte $c0 ; 1 100 0 000
|
||||||
|
.endif
|
||||||
|
|
||||||
|
;=========================
|
||||||
|
; finger key sprite
|
||||||
|
;=========================
|
||||||
|
; TODO
|
||||||
|
|
||||||
finger_key_sprite:
|
finger_key_sprite:
|
||||||
.byte 6,4
|
.if 0
|
||||||
.byte $aa,$aa,$aa,$aa,$aa,$bd
|
finger_key_sprite_l: ; X 654 3 210
|
||||||
.byte $dd,$dd,$dd,$dd,$db,$bb
|
.byte $00 ; 0 000 0 000
|
||||||
.byte $aa,$ad,$aa,$ab,$bd,$bb
|
.byte $60 ; 0 110 0 000
|
||||||
.byte $aa,$aa,$aa,$aa,$ab,$ab
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $63 ; 0 110 0 011
|
||||||
|
.byte $66 ; 0 110 0 110
|
||||||
|
.byte $2c ; 0 010 1 100
|
||||||
|
.byte $6c ; 0 110 1 100
|
||||||
|
.byte $78 ; 0 111 1 000
|
||||||
|
.byte $70 ; 0 111 0 000
|
||||||
|
.byte $70 ; 0 111 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
|
||||||
|
finger_key_sprite_r: ; X 654 3 210
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $0A ; 0 000 1 010
|
||||||
|
.byte $2A ; 0 010 1 010
|
||||||
|
.byte $2D ; 0 010 1 101
|
||||||
|
.byte $37 ; 0 011 0 111
|
||||||
|
.byte $3F ; 0 011 1 111
|
||||||
|
.byte $3F ; 0 011 1 111
|
||||||
|
.byte $1F ; 0 001 1 111
|
||||||
|
.byte $1F ; 0 001 1 111
|
||||||
|
.byte $1F ; 0 001 1 111
|
||||||
|
|
||||||
|
finger_key_mask_l: ; X 654 3 210
|
||||||
|
.byte $ff ; 1 001 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 000
|
||||||
|
.byte $ff ; 1 000 0 000
|
||||||
|
.byte $ff ; 1 000 0 000
|
||||||
|
.byte $ff ; 1 000 0 000
|
||||||
|
.byte $ff ; 1 000 0 001
|
||||||
|
.byte $ff ; 1 000 0 001
|
||||||
|
.byte $ff ; 1 000 0 011
|
||||||
|
.byte $ff ; 1 000 0 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
|
||||||
|
finger_key_mask_r: ; X 654 3 210
|
||||||
|
.byte $ff ; 1 111 1 111
|
||||||
|
.byte $fe ; 1 111 1 110
|
||||||
|
.byte $fe ; 1 111 1 110
|
||||||
|
.byte $fe ; 1 111 1 110
|
||||||
|
.byte $e0 ; 1 110 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $c0 ; 1 100 0 000
|
||||||
|
.byte $c0 ; 1 100 0 000
|
||||||
|
.endif
|
||||||
|
|
||||||
|
;===========================
|
||||||
|
; finger red sprite
|
||||||
|
;===========================
|
||||||
|
; TODO
|
||||||
|
|
||||||
finger_red_page_sprite:
|
finger_red_page_sprite:
|
||||||
.byte 5,5
|
|
||||||
.byte $3a,$33,$33,$aa,$aa
|
finger_red_sprite_l: ; X 654 3 210
|
||||||
.byte $33,$33,$33,$ba,$aa
|
.byte $00 ; 0 000 0 000
|
||||||
.byte $33,$b3,$33,$bb,$ba
|
.byte $60 ; 0 110 0 000
|
||||||
.byte $33,$3b,$bb,$bb,$bb
|
.byte $60 ; 0 110 0 000
|
||||||
.byte $a3,$a3,$bb,$bb,$bb
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $63 ; 0 110 0 011
|
||||||
|
.byte $66 ; 0 110 0 110
|
||||||
|
.byte $2c ; 0 010 1 100
|
||||||
|
.byte $6c ; 0 110 1 100
|
||||||
|
.byte $78 ; 0 111 1 000
|
||||||
|
.byte $70 ; 0 111 0 000
|
||||||
|
.byte $70 ; 0 111 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
|
||||||
|
finger_red_sprite_r: ; X 654 3 210
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $0A ; 0 000 1 010
|
||||||
|
.byte $2A ; 0 010 1 010
|
||||||
|
.byte $2D ; 0 010 1 101
|
||||||
|
.byte $37 ; 0 011 0 111
|
||||||
|
.byte $3F ; 0 011 1 111
|
||||||
|
.byte $3F ; 0 011 1 111
|
||||||
|
.byte $1F ; 0 001 1 111
|
||||||
|
.byte $1F ; 0 001 1 111
|
||||||
|
.byte $1F ; 0 001 1 111
|
||||||
|
|
||||||
|
finger_red_mask_l: ; X 654 3 210
|
||||||
|
.byte $ff ; 1 001 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 000
|
||||||
|
.byte $ff ; 1 000 0 000
|
||||||
|
.byte $ff ; 1 000 0 000
|
||||||
|
.byte $ff ; 1 000 0 000
|
||||||
|
.byte $ff ; 1 000 0 001
|
||||||
|
.byte $ff ; 1 000 0 001
|
||||||
|
.byte $ff ; 1 000 0 011
|
||||||
|
.byte $ff ; 1 000 0 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
|
||||||
|
finger_red_mask_r: ; X 654 3 210
|
||||||
|
.byte $ff ; 1 111 1 111
|
||||||
|
.byte $fe ; 1 111 1 110
|
||||||
|
.byte $fe ; 1 111 1 110
|
||||||
|
.byte $fe ; 1 111 1 110
|
||||||
|
.byte $e0 ; 1 110 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $c0 ; 1 100 0 000
|
||||||
|
.byte $c0 ; 1 100 0 000
|
||||||
|
|
||||||
|
;=====================
|
||||||
|
; finger blue sprite
|
||||||
|
;=====================
|
||||||
|
; TODO
|
||||||
|
|
||||||
finger_blue_page_sprite:
|
finger_blue_page_sprite:
|
||||||
.byte 5,5
|
|
||||||
.byte $6a,$66,$66,$aa,$aa
|
finger_blue_sprite_l: ; X 654 3 210
|
||||||
.byte $66,$66,$66,$ba,$aa
|
.byte $00 ; 0 000 0 000
|
||||||
.byte $66,$b6,$66,$bb,$ba
|
.byte $60 ; 0 110 0 000
|
||||||
.byte $66,$6b,$bb,$bb,$bb
|
.byte $60 ; 0 110 0 000
|
||||||
.byte $a6,$a6,$bb,$bb,$bb
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $63 ; 0 110 0 011
|
||||||
|
.byte $66 ; 0 110 0 110
|
||||||
|
.byte $2c ; 0 010 1 100
|
||||||
|
.byte $6c ; 0 110 1 100
|
||||||
|
.byte $78 ; 0 111 1 000
|
||||||
|
.byte $70 ; 0 111 0 000
|
||||||
|
.byte $70 ; 0 111 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
|
||||||
|
finger_blue_sprite_r: ; X 654 3 210
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $0A ; 0 000 1 010
|
||||||
|
.byte $2A ; 0 010 1 010
|
||||||
|
.byte $2D ; 0 010 1 101
|
||||||
|
.byte $37 ; 0 011 0 111
|
||||||
|
.byte $3F ; 0 011 1 111
|
||||||
|
.byte $3F ; 0 011 1 111
|
||||||
|
.byte $1F ; 0 001 1 111
|
||||||
|
.byte $1F ; 0 001 1 111
|
||||||
|
.byte $1F ; 0 001 1 111
|
||||||
|
|
||||||
|
finger_blue_mask_l: ; X 654 3 210
|
||||||
|
.byte $ff ; 1 001 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 000
|
||||||
|
.byte $ff ; 1 000 0 000
|
||||||
|
.byte $ff ; 1 000 0 000
|
||||||
|
.byte $ff ; 1 000 0 000
|
||||||
|
.byte $ff ; 1 000 0 001
|
||||||
|
.byte $ff ; 1 000 0 001
|
||||||
|
.byte $ff ; 1 000 0 011
|
||||||
|
.byte $ff ; 1 000 0 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
|
||||||
|
finger_blue_mask_r: ; X 654 3 210
|
||||||
|
.byte $ff ; 1 111 1 111
|
||||||
|
.byte $fe ; 1 111 1 110
|
||||||
|
.byte $fe ; 1 111 1 110
|
||||||
|
.byte $fe ; 1 111 1 110
|
||||||
|
.byte $e0 ; 1 110 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $c0 ; 1 100 0 000
|
||||||
|
.byte $c0 ; 1 100 0 000
|
||||||
|
|
||||||
|
|
||||||
|
;========================
|
||||||
|
; finger white page
|
||||||
|
;========================
|
||||||
|
; TODO
|
||||||
|
|
||||||
finger_white_page_sprite:
|
finger_white_page_sprite:
|
||||||
.byte 5,5
|
|
||||||
.byte $fa,$ff,$ff,$aa,$aa
|
finger_white_sprite_l: ; X 654 3 210
|
||||||
.byte $ff,$ff,$ff,$ba,$aa
|
.byte $00 ; 0 000 0 000
|
||||||
.byte $ff,$bf,$ff,$bb,$ba
|
.byte $60 ; 0 110 0 000
|
||||||
.byte $ff,$fb,$bb,$bb,$bb
|
.byte $60 ; 0 110 0 000
|
||||||
.byte $af,$af,$bb,$bb,$bb
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $63 ; 0 110 0 011
|
||||||
|
.byte $66 ; 0 110 0 110
|
||||||
|
.byte $2c ; 0 010 1 100
|
||||||
|
.byte $6c ; 0 110 1 100
|
||||||
|
.byte $78 ; 0 111 1 000
|
||||||
|
.byte $70 ; 0 111 0 000
|
||||||
|
.byte $70 ; 0 111 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
.byte $60 ; 0 110 0 000
|
||||||
|
|
||||||
|
finger_white_sprite_r: ; X 654 3 210
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $00 ; 0 000 0 000
|
||||||
|
.byte $0A ; 0 000 1 010
|
||||||
|
.byte $2A ; 0 010 1 010
|
||||||
|
.byte $2D ; 0 010 1 101
|
||||||
|
.byte $37 ; 0 011 0 111
|
||||||
|
.byte $3F ; 0 011 1 111
|
||||||
|
.byte $3F ; 0 011 1 111
|
||||||
|
.byte $1F ; 0 001 1 111
|
||||||
|
.byte $1F ; 0 001 1 111
|
||||||
|
.byte $1F ; 0 001 1 111
|
||||||
|
|
||||||
|
finger_white_mask_l: ; X 654 3 210
|
||||||
|
.byte $ff ; 1 001 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 000
|
||||||
|
.byte $ff ; 1 000 0 000
|
||||||
|
.byte $ff ; 1 000 0 000
|
||||||
|
.byte $ff ; 1 000 0 000
|
||||||
|
.byte $ff ; 1 000 0 001
|
||||||
|
.byte $ff ; 1 000 0 001
|
||||||
|
.byte $ff ; 1 000 0 011
|
||||||
|
.byte $ff ; 1 000 0 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
.byte $ff ; 1 000 1 111
|
||||||
|
|
||||||
|
finger_white_mask_r: ; X 654 3 210
|
||||||
|
.byte $ff ; 1 111 1 111
|
||||||
|
.byte $fe ; 1 111 1 110
|
||||||
|
.byte $fe ; 1 111 1 110
|
||||||
|
.byte $fe ; 1 111 1 110
|
||||||
|
.byte $e0 ; 1 110 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $80 ; 1 000 0 000
|
||||||
|
.byte $c0 ; 1 100 0 000
|
||||||
|
.byte $c0 ; 1 100 0 000
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
266
games/mist_hgr/draw_pointer.s
Normal file
266
games/mist_hgr/draw_pointer.s
Normal file
@ -0,0 +1,266 @@
|
|||||||
|
;====================================
|
||||||
|
; draw pointer
|
||||||
|
;====================================
|
||||||
|
|
||||||
|
|
||||||
|
draw_pointer:
|
||||||
|
|
||||||
|
; for now assume the only 14x14 sprites are the pointers
|
||||||
|
|
||||||
|
lda CURSOR_X
|
||||||
|
sta XPOS
|
||||||
|
lda CURSOR_Y
|
||||||
|
sta YPOS
|
||||||
|
|
||||||
|
; see if inside special region
|
||||||
|
ldy #LOCATION_SPECIAL_EXIT
|
||||||
|
lda (LOCATION_STRUCT_L),Y
|
||||||
|
cmp #$ff
|
||||||
|
beq finger_not_special ; if $ff not special
|
||||||
|
|
||||||
|
; lda (LOCATION_STRUCT_L),Y
|
||||||
|
; cmp #DIRECTION_ANY
|
||||||
|
; beq was_any
|
||||||
|
|
||||||
|
lda DIRECTION
|
||||||
|
and #$f
|
||||||
|
|
||||||
|
and (LOCATION_STRUCT_L),Y
|
||||||
|
beq finger_not_special ; only special if facing right way
|
||||||
|
|
||||||
|
;was_any:
|
||||||
|
|
||||||
|
; see if X1 < X < X2
|
||||||
|
lda CURSOR_X
|
||||||
|
ldy #LOCATION_SPECIAL_X1
|
||||||
|
cmp (LOCATION_STRUCT_L),Y
|
||||||
|
bcc finger_not_special ; blt
|
||||||
|
|
||||||
|
ldy #LOCATION_SPECIAL_X2
|
||||||
|
cmp (LOCATION_STRUCT_L),Y
|
||||||
|
bcs finger_not_special ; bge
|
||||||
|
|
||||||
|
; see if Y1 < Y < Y2
|
||||||
|
lda CURSOR_Y
|
||||||
|
ldy #LOCATION_SPECIAL_Y1
|
||||||
|
cmp (LOCATION_STRUCT_L),Y
|
||||||
|
bcc finger_not_special ; blt
|
||||||
|
|
||||||
|
ldy #LOCATION_SPECIAL_Y2
|
||||||
|
cmp (LOCATION_STRUCT_L),Y
|
||||||
|
bcs finger_not_special ; bge
|
||||||
|
|
||||||
|
; we made it this far, we are special
|
||||||
|
|
||||||
|
finger_grab:
|
||||||
|
lda #1
|
||||||
|
sta IN_SPECIAL
|
||||||
|
|
||||||
|
lda CURSOR_VISIBLE ; if not visible skip
|
||||||
|
bne really_draw_grab
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
|
really_draw_grab:
|
||||||
|
|
||||||
|
lda DIRECTION
|
||||||
|
and #DIRECTION_ONLY_POINT
|
||||||
|
bne special_but_point
|
||||||
|
|
||||||
|
lda #<finger_grab_sprite
|
||||||
|
sta INL
|
||||||
|
lda #>finger_grab_sprite
|
||||||
|
jmp finger_draw
|
||||||
|
|
||||||
|
special_but_point:
|
||||||
|
jmp finger_point
|
||||||
|
|
||||||
|
finger_not_special:
|
||||||
|
|
||||||
|
lda CURSOR_VISIBLE ; if not visible skip
|
||||||
|
bne really_not_special
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
|
really_not_special:
|
||||||
|
|
||||||
|
; check for left/right
|
||||||
|
|
||||||
|
lda CURSOR_X
|
||||||
|
cmp #7
|
||||||
|
bcc check_cursor_left ; blt
|
||||||
|
cmp #$f0 ; check if off left side of screen
|
||||||
|
bcs check_cursor_left ; bge
|
||||||
|
|
||||||
|
cmp #33
|
||||||
|
bcs check_cursor_right ; bge
|
||||||
|
|
||||||
|
; otherwise, finger_point
|
||||||
|
|
||||||
|
finger_point:
|
||||||
|
; holding item takes precednce
|
||||||
|
lda HOLDING_ITEM
|
||||||
|
cmp #HOLDING_MATCH
|
||||||
|
beq match_finger
|
||||||
|
cmp #HOLDING_LIT_MATCH
|
||||||
|
beq match_lit_finger
|
||||||
|
cmp #HOLDING_KEY
|
||||||
|
beq key_finger
|
||||||
|
|
||||||
|
lda HOLDING_PAGE
|
||||||
|
and #$c0
|
||||||
|
beq real_finger_point
|
||||||
|
cmp #HOLDING_BLUE_PAGE
|
||||||
|
beq blue_finger
|
||||||
|
cmp #HOLDING_WHITE_PAGE
|
||||||
|
beq white_finger
|
||||||
|
cmp #HOLDING_RED_PAGE
|
||||||
|
; beq red_finger
|
||||||
|
|
||||||
|
red_finger:
|
||||||
|
lda #<finger_red_page_sprite
|
||||||
|
sta INL
|
||||||
|
lda #>finger_red_page_sprite
|
||||||
|
jmp finger_draw
|
||||||
|
|
||||||
|
; all that's left is key
|
||||||
|
key_finger:
|
||||||
|
lda #<finger_key_sprite
|
||||||
|
sta INL
|
||||||
|
lda #>finger_key_sprite
|
||||||
|
jmp finger_draw
|
||||||
|
|
||||||
|
match_finger:
|
||||||
|
lda #<finger_match_sprite
|
||||||
|
sta INL
|
||||||
|
lda #>finger_match_sprite
|
||||||
|
jmp finger_draw
|
||||||
|
|
||||||
|
match_lit_finger:
|
||||||
|
lda #<finger_match_lit_sprite
|
||||||
|
sta INL
|
||||||
|
lda #>finger_match_lit_sprite
|
||||||
|
jmp finger_draw
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
blue_finger:
|
||||||
|
lda #<finger_blue_page_sprite
|
||||||
|
sta INL
|
||||||
|
lda #>finger_blue_page_sprite
|
||||||
|
jmp finger_draw
|
||||||
|
|
||||||
|
white_finger:
|
||||||
|
lda #<finger_white_page_sprite
|
||||||
|
sta INL
|
||||||
|
lda #>finger_white_page_sprite
|
||||||
|
jmp finger_draw
|
||||||
|
|
||||||
|
real_finger_point:
|
||||||
|
lda #<finger_point_sprite
|
||||||
|
sta INL
|
||||||
|
lda #>finger_point_sprite
|
||||||
|
jmp finger_draw
|
||||||
|
|
||||||
|
check_cursor_left:
|
||||||
|
jsr lookup_direction
|
||||||
|
|
||||||
|
and #$f
|
||||||
|
beq finger_point
|
||||||
|
cmp #$1
|
||||||
|
beq finger_left
|
||||||
|
bne finger_uturn_left
|
||||||
|
|
||||||
|
check_cursor_right:
|
||||||
|
|
||||||
|
jsr lookup_direction
|
||||||
|
|
||||||
|
and #$f0
|
||||||
|
|
||||||
|
beq finger_point
|
||||||
|
cmp #$10
|
||||||
|
beq finger_right
|
||||||
|
bne finger_uturn_right
|
||||||
|
|
||||||
|
lookup_direction:
|
||||||
|
lda DIRECTION
|
||||||
|
and #$f
|
||||||
|
tay
|
||||||
|
lda log2_table,Y
|
||||||
|
asl
|
||||||
|
asl
|
||||||
|
asl
|
||||||
|
asl
|
||||||
|
clc
|
||||||
|
ldy #LOCATION_BGS
|
||||||
|
adc (LOCATION_STRUCT_L),Y
|
||||||
|
tay
|
||||||
|
|
||||||
|
lda direction_lookup,Y
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
|
finger_left:
|
||||||
|
lda #1
|
||||||
|
sta IN_LEFT
|
||||||
|
|
||||||
|
lda #<finger_left_sprite
|
||||||
|
sta INL
|
||||||
|
lda #>finger_left_sprite
|
||||||
|
jmp finger_draw
|
||||||
|
|
||||||
|
finger_right:
|
||||||
|
lda #1
|
||||||
|
sta IN_RIGHT
|
||||||
|
lda #<finger_right_sprite
|
||||||
|
sta INL
|
||||||
|
lda #>finger_right_sprite
|
||||||
|
jmp finger_draw
|
||||||
|
|
||||||
|
finger_uturn_left:
|
||||||
|
|
||||||
|
lda #2
|
||||||
|
sta IN_LEFT
|
||||||
|
|
||||||
|
lda #<finger_turn_left_sprite
|
||||||
|
sta INL
|
||||||
|
lda #>finger_turn_left_sprite
|
||||||
|
jmp finger_draw
|
||||||
|
|
||||||
|
finger_uturn_right:
|
||||||
|
|
||||||
|
lda #2
|
||||||
|
sta IN_RIGHT
|
||||||
|
|
||||||
|
lda #<finger_turn_right_sprite
|
||||||
|
sta INL
|
||||||
|
lda #>finger_turn_right_sprite
|
||||||
|
jmp finger_draw
|
||||||
|
|
||||||
|
finger_draw:
|
||||||
|
sta INH
|
||||||
|
jsr hgr_draw_sprite_14x14
|
||||||
|
|
||||||
|
no_draw_pointer:
|
||||||
|
rts
|
||||||
|
|
||||||
|
; 0 = point
|
||||||
|
; 1 = left
|
||||||
|
; 2 = left u-turn
|
||||||
|
; R/L EWSN 0010
|
||||||
|
|
||||||
|
; 1010
|
||||||
|
|
||||||
|
direction_lookup:
|
||||||
|
direction_lookup_n:
|
||||||
|
.byte $00,$00,$22,$22,$01,$01,$21,$21,$10,$10,$12,$12,$11,$11,$11,$11
|
||||||
|
direction_lookup_s:
|
||||||
|
; N S SN W WN WS WSN
|
||||||
|
.byte $00, $22,$00,$22,$10,$12,$10,$12
|
||||||
|
; E EN ES ESN EW EWN EWS EWSN
|
||||||
|
.byte $01,$02,$01,$21,$11,$11,$11,$11
|
||||||
|
direction_lookup_e:
|
||||||
|
.byte $00,$01,$10,$11,$22,$21,$12,$11,$00,$01,$10,$11,$22,$21,$12,$11
|
||||||
|
direction_lookup_w:
|
||||||
|
.byte $00,$10,$01,$11,$00,$10,$01,$11,$22,$12,$21,$11,$22,$12,$21,$11
|
||||||
|
|
@ -97,8 +97,16 @@ int main(int argc, char **argv) {
|
|||||||
find_address("page_flip");
|
find_address("page_flip");
|
||||||
printf("\n");
|
printf("\n");
|
||||||
|
|
||||||
printf("; gr_putsprite_crop.s\n");
|
// printf("; gr_putsprite_crop.s\n");
|
||||||
find_address("put_sprite_crop");
|
// find_address("put_sprite_crop");
|
||||||
|
// find_address("psc_smc1");
|
||||||
|
// find_address("psc_smc2");
|
||||||
|
// printf("\n");
|
||||||
|
|
||||||
|
printf("; hgr_14x14_sprite.s\n");
|
||||||
|
find_address("hgr_draw_sprite_14x14");
|
||||||
|
find_address("save_bg_14x14");
|
||||||
|
find_address("restore_bg_14x14");
|
||||||
find_address("psc_smc1");
|
find_address("psc_smc1");
|
||||||
find_address("psc_smc2");
|
find_address("psc_smc2");
|
||||||
printf("\n");
|
printf("\n");
|
||||||
|
@ -44,4 +44,4 @@ title_graphics.inc: \
|
|||||||
####
|
####
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
rm -f *~ *.o *.lst *.data *.lzsa
|
rm -f *~ *.o *.lst *.data *.lzsa title_graphics.inc
|
||||||
|
177
games/mist_hgr/hgr_14x14_sprite.s
Normal file
177
games/mist_hgr/hgr_14x14_sprite.s
Normal file
@ -0,0 +1,177 @@
|
|||||||
|
|
||||||
|
;======================
|
||||||
|
; hgr 14x14 draw sprite
|
||||||
|
;======================
|
||||||
|
; SPRITE in INL/INH
|
||||||
|
; Location at CURSOR_X CURSOR_Y
|
||||||
|
|
||||||
|
; left sprite AT INL/INH
|
||||||
|
; right sprite at INL/INH + 14
|
||||||
|
; left mask at INL/INH + 28
|
||||||
|
; right mask at INL/INH + 42
|
||||||
|
|
||||||
|
hgr_draw_sprite_14x14:
|
||||||
|
|
||||||
|
; set up pointers
|
||||||
|
lda INL
|
||||||
|
sta hds_smc1+1
|
||||||
|
lda INH
|
||||||
|
sta hds_smc1+2
|
||||||
|
|
||||||
|
clc
|
||||||
|
lda INL
|
||||||
|
adc #14
|
||||||
|
sta hds_smc2+1
|
||||||
|
lda INH
|
||||||
|
adc #0
|
||||||
|
sta hds_smc2+2
|
||||||
|
|
||||||
|
clc
|
||||||
|
lda INL
|
||||||
|
adc #28
|
||||||
|
sta hds_smc3+1
|
||||||
|
lda INH
|
||||||
|
adc #0
|
||||||
|
sta hds_smc3+2
|
||||||
|
|
||||||
|
clc
|
||||||
|
lda INL
|
||||||
|
adc #42
|
||||||
|
sta hds_smc4+1
|
||||||
|
lda INH
|
||||||
|
adc #0
|
||||||
|
sta hds_smc4+2
|
||||||
|
|
||||||
|
|
||||||
|
ldx #0
|
||||||
|
hgr_14x14_sprite_yloop:
|
||||||
|
txa
|
||||||
|
pha
|
||||||
|
|
||||||
|
clc
|
||||||
|
adc CURSOR_Y
|
||||||
|
|
||||||
|
ldx #0
|
||||||
|
ldy #0
|
||||||
|
|
||||||
|
; calc GBASL/GBASH
|
||||||
|
jsr HPOSN ; (Y,X),(A) (values stored in HGRX,XH,Y)
|
||||||
|
|
||||||
|
pla
|
||||||
|
tax
|
||||||
|
|
||||||
|
ldy CURSOR_X
|
||||||
|
|
||||||
|
lda (GBASL),Y
|
||||||
|
hds_smc3:
|
||||||
|
and point_mask_l,X
|
||||||
|
hds_smc1:
|
||||||
|
ora point_sprite_l,X
|
||||||
|
sta (GBASL),Y
|
||||||
|
|
||||||
|
iny
|
||||||
|
|
||||||
|
lda (GBASL),Y
|
||||||
|
hds_smc4:
|
||||||
|
and point_mask_r,X
|
||||||
|
hds_smc2:
|
||||||
|
ora point_sprite_r,X
|
||||||
|
sta (GBASL),Y
|
||||||
|
|
||||||
|
inx
|
||||||
|
cpx #14
|
||||||
|
bne hgr_14x14_sprite_yloop
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;======================
|
||||||
|
; save bg 14x14
|
||||||
|
;======================
|
||||||
|
|
||||||
|
save_bg_14x14:
|
||||||
|
|
||||||
|
ldx #0
|
||||||
|
save_yloop:
|
||||||
|
txa
|
||||||
|
pha
|
||||||
|
|
||||||
|
clc
|
||||||
|
adc CURSOR_Y
|
||||||
|
|
||||||
|
ldx #0
|
||||||
|
ldy #0
|
||||||
|
|
||||||
|
; calc GBASL/GBASH
|
||||||
|
jsr HPOSN ; (Y,X),(A) (values stored in HGRX,XH,Y)
|
||||||
|
|
||||||
|
pla
|
||||||
|
tax
|
||||||
|
|
||||||
|
ldy CURSOR_X
|
||||||
|
|
||||||
|
lda (GBASL),Y
|
||||||
|
sta save_left_14x14,X
|
||||||
|
|
||||||
|
iny
|
||||||
|
|
||||||
|
lda (GBASL),Y
|
||||||
|
sta save_right_14x14,X
|
||||||
|
|
||||||
|
inx
|
||||||
|
cpx #14
|
||||||
|
bne save_yloop
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
|
;======================
|
||||||
|
; restore bg 14x14
|
||||||
|
;======================
|
||||||
|
|
||||||
|
restore_bg_14x14:
|
||||||
|
|
||||||
|
ldx #0
|
||||||
|
restore_yloop:
|
||||||
|
txa
|
||||||
|
pha
|
||||||
|
|
||||||
|
clc
|
||||||
|
adc CURSOR_Y
|
||||||
|
|
||||||
|
ldx #0
|
||||||
|
ldy #0
|
||||||
|
|
||||||
|
; calc GBASL/GBASH
|
||||||
|
jsr HPOSN ; (Y,X),(A) (values stored in HGRX,XH,Y)
|
||||||
|
|
||||||
|
pla
|
||||||
|
tax
|
||||||
|
|
||||||
|
ldy CURSOR_X
|
||||||
|
|
||||||
|
lda save_left_14x14,X
|
||||||
|
sta (GBASL),Y
|
||||||
|
|
||||||
|
iny
|
||||||
|
|
||||||
|
lda save_right_14x14,X
|
||||||
|
sta (GBASL),Y
|
||||||
|
|
||||||
|
|
||||||
|
inx
|
||||||
|
cpx #14
|
||||||
|
bne restore_yloop
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
;====================
|
||||||
|
; save area
|
||||||
|
;====================
|
||||||
|
|
||||||
|
save_right_14x14:
|
||||||
|
.byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
||||||
|
|
||||||
|
save_left_14x14:
|
||||||
|
.byte $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00
|
@ -472,6 +472,9 @@ done_intro:
|
|||||||
lda #1
|
lda #1
|
||||||
sta CURSOR_VISIBLE ; visible at first
|
sta CURSOR_VISIBLE ; visible at first
|
||||||
|
|
||||||
|
|
||||||
|
jsr save_bg_14x14 ; save initial bg
|
||||||
|
|
||||||
game_loop:
|
game_loop:
|
||||||
;=================
|
;=================
|
||||||
; reset things
|
; reset things
|
||||||
@ -560,13 +563,7 @@ nothing_special:
|
|||||||
; draw pointer
|
; draw pointer
|
||||||
;====================================
|
;====================================
|
||||||
|
|
||||||
; jsr draw_pointer
|
jsr draw_pointer ; draw pointer
|
||||||
|
|
||||||
;====================================
|
|
||||||
; page flip
|
|
||||||
;====================================
|
|
||||||
|
|
||||||
; jsr page_flip
|
|
||||||
|
|
||||||
;====================================
|
;====================================
|
||||||
; handle keypress/joystick
|
; handle keypress/joystick
|
||||||
@ -574,7 +571,6 @@ nothing_special:
|
|||||||
|
|
||||||
jsr handle_keypress
|
jsr handle_keypress
|
||||||
|
|
||||||
|
|
||||||
;====================================
|
;====================================
|
||||||
; inc frame count
|
; inc frame count
|
||||||
;====================================
|
;====================================
|
||||||
|
@ -224,13 +224,13 @@ length_array:
|
|||||||
.include "audio.s"
|
.include "audio.s"
|
||||||
.include "linking_noise.s"
|
.include "linking_noise.s"
|
||||||
.include "decompress_fast_v2.s"
|
.include "decompress_fast_v2.s"
|
||||||
; .include "draw_pointer.s"
|
.include "draw_pointer.s"
|
||||||
; .include "end_level.s"
|
; .include "end_level.s"
|
||||||
; .include "gr_copy.s"
|
; .include "gr_copy.s"
|
||||||
.include "gr_fast_clear.s"
|
.include "gr_fast_clear.s"
|
||||||
.include "gr_offsets.s"
|
.include "gr_offsets.s"
|
||||||
; .include "gr_pageflip.s"
|
; .include "gr_pageflip.s"
|
||||||
; .include "gr_putsprite_crop.s"
|
.include "hgr_14x14_sprite.s"
|
||||||
.include "keyboard.s"
|
.include "keyboard.s"
|
||||||
.include "text_print.s"
|
.include "text_print.s"
|
||||||
.include "loadstore.s"
|
.include "loadstore.s"
|
||||||
@ -238,7 +238,7 @@ length_array:
|
|||||||
.include "log_table.s"
|
.include "log_table.s"
|
||||||
|
|
||||||
; .include "page_sprites.inc"
|
; .include "page_sprites.inc"
|
||||||
; .include "common_sprites.inc"
|
.include "common_sprites.inc"
|
||||||
|
|
||||||
.include "qkumba_popwr.s"
|
.include "qkumba_popwr.s"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user