mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-12-27 02:31:00 +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
|
||||
PNG2RLE = ../../utils/gr-utils/png2rle
|
||||
B2D = ../../utils/bmp2dhr/b2d
|
||||
EMPTY_DISK = ../../empty_disk/empty.dsk
|
||||
|
||||
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
|
||||
|
||||
mist_hgr.dsk: QBOOT TEXT_TITLE QLOAD \
|
||||
MIST_TITLE MIST OCTAGON VIEWER \
|
||||
DENTIST D\'NI SHIP GENERATOR \
|
||||
SAVE1 SAVE2 SAVE3 SAVE4 SAVE5
|
||||
cp extra_empty.dsk mist_hgr.dsk
|
||||
MIST_TITLE
|
||||
#MIST OCTAGON VIEWER \
|
||||
# DENTIST D\'NI SHIP GENERATOR \
|
||||
# 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 2 QBOOT 1 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 11 SAVE1 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 14 SAVE4 0 1
|
||||
$(DOS33_RAW) mist_hgr.dsk 0 15 SAVE5 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 13 SAVE3 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 1 0 QLOAD 0 14
|
||||
$(DOS33_RAW) mist_hgr.dsk 2 0 MIST_TITLE 0 0
|
||||
# 84
|
||||
@ -98,7 +100,7 @@ QLOAD: qload.o
|
||||
ld65 -o QLOAD qload.o -C ../../linker_scripts/apple2_1200.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 \
|
||||
keyboard.s audio.s loadstore.s \
|
||||
qkumba_popwr.s
|
||||
@ -505,20 +507,20 @@ clean:
|
||||
GENERATOR \
|
||||
generate_common
|
||||
cd graphics_title && make clean
|
||||
cd graphics_mist && make clean
|
||||
cd graphics_octagon && make clean
|
||||
cd books && make clean
|
||||
cd graphics_viewer && make clean
|
||||
cd graphics_meche && make clean
|
||||
cd graphics_selena && make clean
|
||||
cd graphics_cabin && make clean
|
||||
cd graphics_channel && make clean
|
||||
cd graphics_stoney && make clean
|
||||
cd graphics_dentist && make clean
|
||||
cd graphics_generator && make clean
|
||||
cd graphics_arbor && make clean
|
||||
cd graphics_nibel && make clean
|
||||
cd graphics_dni && make clean
|
||||
cd graphics_ship && make clean
|
||||
cd graphics_sub && make clean
|
||||
# cd graphics_mist && make clean
|
||||
# cd graphics_octagon && make clean
|
||||
# cd books && make clean
|
||||
# cd graphics_viewer && make clean
|
||||
# cd graphics_meche && make clean
|
||||
# cd graphics_selena && make clean
|
||||
# cd graphics_cabin && make clean
|
||||
# cd graphics_channel && make clean
|
||||
# cd graphics_stoney && make clean
|
||||
# cd graphics_dentist && make clean
|
||||
# cd graphics_generator && make clean
|
||||
# cd graphics_arbor && make clean
|
||||
# cd graphics_nibel && make clean
|
||||
# cd graphics_dni && make clean
|
||||
# cd graphics_ship && make clean
|
||||
# cd graphics_sub && make clean
|
||||
|
||||
|
@ -1,88 +1,862 @@
|
||||
finger_point_sprite:
|
||||
.byte 5,5
|
||||
.byte $AA,$BB,$AA,$AA,$AA
|
||||
.byte $AA,$BB,$AA,$AA,$AA
|
||||
.byte $BA,$BB,$BB,$BB,$BB
|
||||
.byte $AB,$BB,$BB,$BB,$BB
|
||||
.byte $AA,$BB,$BB,$BB,$AA
|
||||
|
||||
;===============
|
||||
; point sprite
|
||||
;===============
|
||||
|
||||
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:
|
||||
.byte 5,5
|
||||
.byte $AA,$AA,$BB,$AA,$AA
|
||||
.byte $BB,$AA,$BB,$AA,$BB
|
||||
.byte $BB,$BA,$BB,$BA,$BB
|
||||
.byte $AB,$BB,$BB,$BB,$BB
|
||||
.byte $AA,$BB,$BB,$BB,$AA
|
||||
;===============
|
||||
; grab sprite
|
||||
;===============
|
||||
|
||||
grab_sprite_l: ; X 654 3 210
|
||||
.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:
|
||||
.byte 6,4
|
||||
.byte $AA,$AA,$AA,$AB,$BA,$AA
|
||||
.byte $BB,$BB,$BB,$BB,$BB,$BB
|
||||
.byte $AA,$AA,$BB,$BB,$BB,$BB
|
||||
.byte $AA,$AA,$AB,$BB,$BB,$AB
|
||||
|
||||
finger_left_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
|
||||
|
||||
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:
|
||||
.byte 6,4
|
||||
.byte $AA,$BA,$AB,$AA,$AA,$AA
|
||||
.byte $BB,$BB,$BB,$BB,$BB,$BB
|
||||
.byte $BB,$BB,$BB,$BB,$AA,$AA
|
||||
.byte $AB,$BB,$BB,$AB,$AA,$AA
|
||||
finger_right_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
|
||||
|
||||
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:
|
||||
.byte 6,4
|
||||
.byte $aa,$aa,$ba,$bb,$aa,$aa
|
||||
.byte $ba,$bb,$bb,$bb,$bb,$ba
|
||||
.byte $aa,$ab,$bb,$bb,$ab,$bb
|
||||
.byte $aa,$aa,$aa,$ab,$aa,$ab
|
||||
|
||||
finger_turn_left_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
|
||||
|
||||
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:
|
||||
.byte 6,4
|
||||
.byte $aa,$aa,$bb,$ba,$aa,$aa
|
||||
.byte $ba,$bb,$bb,$bb,$bb,$ba
|
||||
.byte $bb,$ab,$bb,$bb,$ab,$aa
|
||||
.byte $ab,$aa,$ab,$aa,$aa,$aa
|
||||
|
||||
finger_turn_right_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
|
||||
|
||||
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:
|
||||
.byte 6,4
|
||||
.byte $aa,$aa,$aa,$aa,$ba,$ba
|
||||
.byte $1a,$da,$da,$db,$db,$db
|
||||
.byte $a1,$ad,$ad,$bd,$bd,$ad
|
||||
.byte $aa,$aa,$aa,$aa,$ab,$bb
|
||||
.if 0
|
||||
finger_match_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
|
||||
|
||||
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:
|
||||
.byte 6,4
|
||||
.byte $9a,$a9,$aa,$aa,$ba,$ba
|
||||
.byte $19,$da,$da,$db,$db,$db
|
||||
.byte $a9,$ad,$ad,$bd,$bd,$ad
|
||||
.byte $aa,$aa,$aa,$aa,$ab,$bb
|
||||
.if 0
|
||||
finger_match_lit_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
|
||||
|
||||
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:
|
||||
.byte 6,4
|
||||
.byte $aa,$aa,$aa,$aa,$aa,$bd
|
||||
.byte $dd,$dd,$dd,$dd,$db,$bb
|
||||
.byte $aa,$ad,$aa,$ab,$bd,$bb
|
||||
.byte $aa,$aa,$aa,$aa,$ab,$ab
|
||||
.if 0
|
||||
finger_key_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
|
||||
|
||||
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:
|
||||
.byte 5,5
|
||||
.byte $3a,$33,$33,$aa,$aa
|
||||
.byte $33,$33,$33,$ba,$aa
|
||||
.byte $33,$b3,$33,$bb,$ba
|
||||
.byte $33,$3b,$bb,$bb,$bb
|
||||
.byte $a3,$a3,$bb,$bb,$bb
|
||||
|
||||
finger_red_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
|
||||
|
||||
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:
|
||||
.byte 5,5
|
||||
.byte $6a,$66,$66,$aa,$aa
|
||||
.byte $66,$66,$66,$ba,$aa
|
||||
.byte $66,$b6,$66,$bb,$ba
|
||||
.byte $66,$6b,$bb,$bb,$bb
|
||||
.byte $a6,$a6,$bb,$bb,$bb
|
||||
|
||||
finger_blue_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
|
||||
|
||||
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:
|
||||
.byte 5,5
|
||||
.byte $fa,$ff,$ff,$aa,$aa
|
||||
.byte $ff,$ff,$ff,$ba,$aa
|
||||
.byte $ff,$bf,$ff,$bb,$ba
|
||||
.byte $ff,$fb,$bb,$bb,$bb
|
||||
.byte $af,$af,$bb,$bb,$bb
|
||||
|
||||
finger_white_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
|
||||
|
||||
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");
|
||||
printf("\n");
|
||||
|
||||
printf("; gr_putsprite_crop.s\n");
|
||||
find_address("put_sprite_crop");
|
||||
// printf("; gr_putsprite_crop.s\n");
|
||||
// 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_smc2");
|
||||
printf("\n");
|
||||
|
@ -44,4 +44,4 @@ title_graphics.inc: \
|
||||
####
|
||||
|
||||
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
|
||||
sta CURSOR_VISIBLE ; visible at first
|
||||
|
||||
|
||||
jsr save_bg_14x14 ; save initial bg
|
||||
|
||||
game_loop:
|
||||
;=================
|
||||
; reset things
|
||||
@ -560,13 +563,7 @@ nothing_special:
|
||||
; draw pointer
|
||||
;====================================
|
||||
|
||||
; jsr draw_pointer
|
||||
|
||||
;====================================
|
||||
; page flip
|
||||
;====================================
|
||||
|
||||
; jsr page_flip
|
||||
jsr draw_pointer ; draw pointer
|
||||
|
||||
;====================================
|
||||
; handle keypress/joystick
|
||||
@ -574,7 +571,6 @@ nothing_special:
|
||||
|
||||
jsr handle_keypress
|
||||
|
||||
|
||||
;====================================
|
||||
; inc frame count
|
||||
;====================================
|
||||
|
@ -224,13 +224,13 @@ length_array:
|
||||
.include "audio.s"
|
||||
.include "linking_noise.s"
|
||||
.include "decompress_fast_v2.s"
|
||||
; .include "draw_pointer.s"
|
||||
.include "draw_pointer.s"
|
||||
; .include "end_level.s"
|
||||
; .include "gr_copy.s"
|
||||
.include "gr_fast_clear.s"
|
||||
.include "gr_offsets.s"
|
||||
; .include "gr_pageflip.s"
|
||||
; .include "gr_putsprite_crop.s"
|
||||
.include "hgr_14x14_sprite.s"
|
||||
.include "keyboard.s"
|
||||
.include "text_print.s"
|
||||
.include "loadstore.s"
|
||||
@ -238,7 +238,7 @@ length_array:
|
||||
.include "log_table.s"
|
||||
|
||||
; .include "page_sprites.inc"
|
||||
; .include "common_sprites.inc"
|
||||
.include "common_sprites.inc"
|
||||
|
||||
.include "qkumba_popwr.s"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user