mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-06-27 07:29:29 +00:00
riven_hgr: add pointer code from mist_hgr
This commit is contained in:
parent
064fd3bf10
commit
fb54ea2c6e
|
@ -39,6 +39,8 @@ MAIN: main.o
|
||||||
main.o: main.s zp.inc hardware.inc \
|
main.o: main.s zp.inc hardware.inc \
|
||||||
zx02_optim.s \
|
zx02_optim.s \
|
||||||
hgr_sprite.s hgr_tables.s \
|
hgr_sprite.s hgr_tables.s \
|
||||||
|
keyboard.s \
|
||||||
|
hgr_14x14_sprite.s \
|
||||||
graphics/maglev1.hgr.zx02
|
graphics/maglev1.hgr.zx02
|
||||||
ca65 -o main.o main.s -l main.lst
|
ca65 -o main.o main.s -l main.lst
|
||||||
|
|
||||||
|
|
862
games/riven_hgr/common_sprites.inc
Normal file
862
games/riven_hgr/common_sprites.inc
Normal file
|
@ -0,0 +1,862 @@
|
||||||
|
finger_point_sprite:
|
||||||
|
|
||||||
|
;===============
|
||||||
|
; 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:
|
||||||
|
;===============
|
||||||
|
; 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:
|
||||||
|
|
||||||
|
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:
|
||||||
|
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:
|
||||||
|
|
||||||
|
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:
|
||||||
|
|
||||||
|
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:
|
||||||
|
.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:
|
||||||
|
.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:
|
||||||
|
.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:
|
||||||
|
|
||||||
|
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:
|
||||||
|
|
||||||
|
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:
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
5 HOME
|
5 HOME
|
||||||
10 PRINT "LOADING KEEN V0.08"
|
10 PRINT "LOADING RIVEN SUBSET V0.01"
|
||||||
20 PRINT " KEEN1 PROOF-OF-CONCEPT DEMAKE"
|
20 PRINT " RIVEN SCENES"
|
||||||
30 PRINT:PRINT
|
30 PRINT:PRINT
|
||||||
70 PRINT "BASED ON KEEN1 BY ID"
|
70 PRINT "BASED ON RIVEN BY CYAN"
|
||||||
75 PRINT:PRINT
|
75 PRINT:PRINT
|
||||||
80 PRINT "APPLE II PORT: VINCE WEAVER"
|
80 PRINT "APPLE II PORT: VINCE WEAVER"
|
||||||
90 PRINT "DISK CODE : QKUMBA"
|
90 PRINT "DISK CODE : QKUMBA"
|
||||||
|
|
195
games/riven_hgr/hgr_14x14_sprite.s
Normal file
195
games/riven_hgr/hgr_14x14_sprite.s
Normal file
|
@ -0,0 +1,195 @@
|
||||||
|
|
||||||
|
;======================
|
||||||
|
; 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
|
||||||
|
|
||||||
|
tax
|
||||||
|
lda hposn_high,X
|
||||||
|
sta GBASH
|
||||||
|
lda hposn_low,X
|
||||||
|
sta GBASL
|
||||||
|
|
||||||
|
; 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
|
||||||
|
|
||||||
|
tax
|
||||||
|
lda hposn_high,X
|
||||||
|
sta GBASH
|
||||||
|
lda hposn_low,X
|
||||||
|
sta GBASL
|
||||||
|
|
||||||
|
; 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
|
||||||
|
|
||||||
|
tax
|
||||||
|
lda hposn_high,X
|
||||||
|
sta GBASH
|
||||||
|
lda hposn_low,X
|
||||||
|
sta GBASL
|
||||||
|
|
||||||
|
; 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
|
241
games/riven_hgr/keyboard.s
Normal file
241
games/riven_hgr/keyboard.s
Normal file
|
@ -0,0 +1,241 @@
|
||||||
|
|
||||||
|
;==============================
|
||||||
|
; Handle Keypress
|
||||||
|
;==============================
|
||||||
|
handle_keypress:
|
||||||
|
|
||||||
|
; first handle joystick
|
||||||
|
lda JOYSTICK_ENABLED
|
||||||
|
beq actually_handle_keypress
|
||||||
|
|
||||||
|
; only check joystick every-other frame
|
||||||
|
lda FRAMEL
|
||||||
|
and #$1
|
||||||
|
beq actually_handle_keypress
|
||||||
|
|
||||||
|
check_button:
|
||||||
|
lda PADDLE_BUTTON0
|
||||||
|
bpl button_clear
|
||||||
|
|
||||||
|
lda JS_BUTTON_STATE
|
||||||
|
bne js_check
|
||||||
|
|
||||||
|
lda #1
|
||||||
|
sta JS_BUTTON_STATE
|
||||||
|
lda #' '
|
||||||
|
jmp handle_input
|
||||||
|
|
||||||
|
button_clear:
|
||||||
|
lda #0
|
||||||
|
sta JS_BUTTON_STATE
|
||||||
|
|
||||||
|
js_check:
|
||||||
|
; jsr handle_joystick
|
||||||
|
|
||||||
|
js_check_left:
|
||||||
|
; lda value0
|
||||||
|
; cmp #$20
|
||||||
|
; bcs js_check_right ; if less than 32, left
|
||||||
|
; lda #'A'
|
||||||
|
; bne handle_input
|
||||||
|
|
||||||
|
js_check_right:
|
||||||
|
cmp #$40
|
||||||
|
bcc js_check_up
|
||||||
|
lda #'D'
|
||||||
|
bne handle_input
|
||||||
|
|
||||||
|
js_check_up:
|
||||||
|
; lda value1
|
||||||
|
; cmp #$20
|
||||||
|
; bcs js_check_down
|
||||||
|
; lda #'W'
|
||||||
|
|
||||||
|
bne handle_input
|
||||||
|
|
||||||
|
js_check_down:
|
||||||
|
cmp #$40
|
||||||
|
bcc done_joystick
|
||||||
|
lda #'S'
|
||||||
|
bne handle_input
|
||||||
|
|
||||||
|
|
||||||
|
done_joystick:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
actually_handle_keypress:
|
||||||
|
lda KEYPRESS
|
||||||
|
bmi keypress
|
||||||
|
|
||||||
|
jmp no_keypress
|
||||||
|
|
||||||
|
keypress:
|
||||||
|
and #$7f ; clear high bit
|
||||||
|
cmp #' '
|
||||||
|
beq handle_input ; make sure not to lose space
|
||||||
|
and #$df ; convert uppercase to lower case
|
||||||
|
|
||||||
|
|
||||||
|
handle_input:
|
||||||
|
|
||||||
|
pha
|
||||||
|
jsr restore_bg_14x14 ; restore old background
|
||||||
|
inc UPDATE_POINTER
|
||||||
|
pla
|
||||||
|
|
||||||
|
;check_sound:
|
||||||
|
; cmp #$14 ; control-T
|
||||||
|
; bne check_joystick
|
||||||
|
;
|
||||||
|
; lda SOUND_STATUS
|
||||||
|
; eor #SOUND_DISABLED
|
||||||
|
; sta SOUND_STATUS
|
||||||
|
; jmp done_keypress
|
||||||
|
|
||||||
|
; can't be ^J as that's the same as down
|
||||||
|
;check_joystick:
|
||||||
|
; cmp #$10 ; control-P
|
||||||
|
; cmp #'J'
|
||||||
|
; bne check_load
|
||||||
|
|
||||||
|
; lda JOYSTICK_ENABLED
|
||||||
|
; eor #1
|
||||||
|
; sta JOYSTICK_ENABLED
|
||||||
|
; jmp done_keypress
|
||||||
|
|
||||||
|
;check_load:
|
||||||
|
; cmp #$C ; control-L
|
||||||
|
; bne check_save
|
||||||
|
|
||||||
|
; jsr load_game
|
||||||
|
; jmp done_keypress
|
||||||
|
|
||||||
|
;check_save:
|
||||||
|
; cmp #$13 ; control-S
|
||||||
|
; bne check_left
|
||||||
|
|
||||||
|
; jsr save_game
|
||||||
|
; jmp done_keypress
|
||||||
|
|
||||||
|
check_left:
|
||||||
|
cmp #'A'
|
||||||
|
beq left_pressed
|
||||||
|
cmp #8 ; left key
|
||||||
|
bne check_right
|
||||||
|
left_pressed:
|
||||||
|
lda CURSOR_X ; if 41<x<$FE don't decrement
|
||||||
|
cmp #41
|
||||||
|
bcc do_dec_cursor_x
|
||||||
|
cmp #$FE
|
||||||
|
bcc done_left_pressed
|
||||||
|
do_dec_cursor_x:
|
||||||
|
dec CURSOR_X
|
||||||
|
done_left_pressed:
|
||||||
|
jmp done_keypress
|
||||||
|
|
||||||
|
check_right:
|
||||||
|
cmp #'D'
|
||||||
|
beq right_pressed
|
||||||
|
cmp #$15 ; right key
|
||||||
|
bne check_up
|
||||||
|
right_pressed:
|
||||||
|
lda CURSOR_X ; if 40<x<$FE don't increment
|
||||||
|
cmp #40
|
||||||
|
bcc do_inc_cursor_x
|
||||||
|
cmp #$FE
|
||||||
|
bcc done_right_pressed
|
||||||
|
do_inc_cursor_x:
|
||||||
|
inc CURSOR_X
|
||||||
|
done_right_pressed:
|
||||||
|
jmp done_keypress
|
||||||
|
|
||||||
|
check_up:
|
||||||
|
cmp #'W'
|
||||||
|
beq up_pressed
|
||||||
|
cmp #$0B ; up key
|
||||||
|
bne check_down
|
||||||
|
up_pressed:
|
||||||
|
lda CURSOR_Y ; if 191<y<$F0 don't decrement
|
||||||
|
cmp #191
|
||||||
|
bcc do_dec_cursor_y
|
||||||
|
cmp #$F0
|
||||||
|
bcc done_up_pressed
|
||||||
|
do_dec_cursor_y:
|
||||||
|
dec CURSOR_Y
|
||||||
|
dec CURSOR_Y
|
||||||
|
dec CURSOR_Y
|
||||||
|
dec CURSOR_Y
|
||||||
|
|
||||||
|
done_up_pressed:
|
||||||
|
jmp done_keypress
|
||||||
|
|
||||||
|
check_down:
|
||||||
|
cmp #'S'
|
||||||
|
beq down_pressed
|
||||||
|
cmp #$0A
|
||||||
|
bne check_return
|
||||||
|
down_pressed:
|
||||||
|
lda CURSOR_Y ; if 191<y<$EE don't decrement
|
||||||
|
cmp #191
|
||||||
|
bcc do_inc_cursor_y
|
||||||
|
cmp #$EE
|
||||||
|
bcc done_down_pressed
|
||||||
|
do_inc_cursor_y:
|
||||||
|
inc CURSOR_Y
|
||||||
|
inc CURSOR_Y
|
||||||
|
inc CURSOR_Y
|
||||||
|
inc CURSOR_Y
|
||||||
|
done_down_pressed:
|
||||||
|
jmp done_keypress
|
||||||
|
|
||||||
|
;check_escape:
|
||||||
|
; cmp #27
|
||||||
|
; bne check_return
|
||||||
|
;escape_pressed:
|
||||||
|
; inc ESCAPE_PRESSED
|
||||||
|
|
||||||
|
; jmp done_keypress
|
||||||
|
|
||||||
|
check_return:
|
||||||
|
cmp #' '
|
||||||
|
beq return_pressed
|
||||||
|
cmp #13
|
||||||
|
bne done_keypress
|
||||||
|
|
||||||
|
return_pressed:
|
||||||
|
|
||||||
|
; lda IN_SPECIAL
|
||||||
|
; beq not_special_return
|
||||||
|
|
||||||
|
;special_return:
|
||||||
|
; jsr handle_special
|
||||||
|
|
||||||
|
; special case, don't make cursor visible
|
||||||
|
; jmp no_keypress
|
||||||
|
|
||||||
|
;not_special_return:
|
||||||
|
|
||||||
|
; lda IN_RIGHT
|
||||||
|
; beq not_right_return
|
||||||
|
|
||||||
|
; cmp #1
|
||||||
|
; beq right_return
|
||||||
|
|
||||||
|
;right_uturn:
|
||||||
|
; jsr uturn
|
||||||
|
; jmp no_keypress
|
||||||
|
|
||||||
|
;right_return:
|
||||||
|
; jsr turn_right
|
||||||
|
jmp no_keypress
|
||||||
|
|
||||||
|
done_keypress:
|
||||||
|
lda #1 ; make cursor visible
|
||||||
|
sta CURSOR_VISIBLE
|
||||||
|
|
||||||
|
no_keypress:
|
||||||
|
bit KEYRESET
|
||||||
|
rts
|
||||||
|
|
||||||
|
|
|
@ -166,11 +166,41 @@ done_setup_sound:
|
||||||
; init
|
; init
|
||||||
;===================================
|
;===================================
|
||||||
|
|
||||||
lda #$0
|
lda #$20
|
||||||
sta HGR_PAGE
|
sta HGR_PAGE
|
||||||
jsr hgr_make_tables
|
jsr hgr_make_tables
|
||||||
|
|
||||||
|
lda #0
|
||||||
|
sta JOYSTICK_ENABLED
|
||||||
|
sta UPDATE_POINTER
|
||||||
|
|
||||||
|
lda #20
|
||||||
|
sta CURSOR_X
|
||||||
|
sta CURSOR_Y
|
||||||
|
|
||||||
|
jsr save_bg_14x14 ; save old bg
|
||||||
|
|
||||||
blah:
|
blah:
|
||||||
|
|
||||||
|
jsr handle_keypress
|
||||||
|
|
||||||
|
lda UPDATE_POINTER
|
||||||
|
beq no_draw_pointer
|
||||||
|
|
||||||
|
lda #0
|
||||||
|
sta UPDATE_POINTER
|
||||||
|
|
||||||
|
jsr save_bg_14x14 ; save old bg
|
||||||
|
|
||||||
|
|
||||||
|
lda #<finger_point_sprite
|
||||||
|
sta INL
|
||||||
|
lda #>finger_point_sprite
|
||||||
|
sta INH
|
||||||
|
jsr hgr_draw_sprite_14x14
|
||||||
|
|
||||||
|
no_draw_pointer:
|
||||||
|
|
||||||
jmp blah
|
jmp blah
|
||||||
|
|
||||||
.if 0
|
.if 0
|
||||||
|
@ -397,11 +427,15 @@ init_vars:
|
||||||
|
|
||||||
; .include "lc_detect.s"
|
; .include "lc_detect.s"
|
||||||
|
|
||||||
|
.include "keyboard.s"
|
||||||
|
|
||||||
|
.include "hgr_14x14_sprite.s"
|
||||||
|
|
||||||
new_title:
|
new_title:
|
||||||
.incbin "graphics/maglev1.hgr.zx02"
|
.incbin "graphics/maglev1.hgr.zx02"
|
||||||
|
|
||||||
|
.include "common_sprites.inc"
|
||||||
|
|
||||||
.if 0
|
.if 0
|
||||||
|
|
||||||
.include "graphics/title_sprites.inc"
|
.include "graphics/title_sprites.inc"
|
||||||
|
|
|
@ -165,6 +165,9 @@ SPRITE_X = $B8 ; title
|
||||||
HGR_PAGE = $B9 ; title
|
HGR_PAGE = $B9 ; title
|
||||||
MENU_OPTION = $BA ; title
|
MENU_OPTION = $BA ; title
|
||||||
WHICH_CURSOR = $BB ; title
|
WHICH_CURSOR = $BB ; title
|
||||||
|
CURSOR_X = $BC
|
||||||
|
CURSOR_Y = $BD
|
||||||
|
UPDATE_POINTER = $BE
|
||||||
|
|
||||||
WHICH_SLOT = $DA
|
WHICH_SLOT = $DA
|
||||||
JS_BUTTON_STATE = $DB
|
JS_BUTTON_STATE = $DB
|
||||||
|
|
Loading…
Reference in New Issue
Block a user