mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-06-20 01:29:36 +00:00
tfv: title menu sorta working
This commit is contained in:
parent
8001a35f5c
commit
65135b451a
|
@ -7,8 +7,8 @@ SDL_INCLUDE= `sdl-config --cflags`
|
||||||
GR_SIM = ../gr-sim.a
|
GR_SIM = ../gr-sim.a
|
||||||
|
|
||||||
PNG2RLE = ../../gr-utils/png2rle
|
PNG2RLE = ../../gr-utils/png2rle
|
||||||
ARTDIR = ../../tfv/art
|
ARTDIR = ../../tfv/graphics_map
|
||||||
|
TITLEDIR = ../../tfv/graphics_title
|
||||||
|
|
||||||
all: tfv
|
all: tfv
|
||||||
|
|
||||||
|
@ -25,7 +25,7 @@ $(PNG2RLE):
|
||||||
####
|
####
|
||||||
|
|
||||||
tfv_backgrounds.c: $(PNG2RLE) \
|
tfv_backgrounds.c: $(PNG2RLE) \
|
||||||
$(ARTDIR)/title.png \
|
$(TITLEDIR)/title.png \
|
||||||
$(ARTDIR)/map.png \
|
$(ARTDIR)/map.png \
|
||||||
$(ARTDIR)/landing.png \
|
$(ARTDIR)/landing.png \
|
||||||
$(ARTDIR)/harfco.png \
|
$(ARTDIR)/harfco.png \
|
||||||
|
@ -48,7 +48,7 @@ tfv_backgrounds.c: $(PNG2RLE) \
|
||||||
$(ARTDIR)/patriot_room.png \
|
$(ARTDIR)/patriot_room.png \
|
||||||
$(ARTDIR)/jc_office.png \
|
$(ARTDIR)/jc_office.png \
|
||||||
$(ARTDIR)/puzzle.png
|
$(ARTDIR)/puzzle.png
|
||||||
$(PNG2RLE) c $(ARTDIR)/title.png title_rle > tfv_backgrounds.c
|
$(PNG2RLE) c $(TITLEDIR)/title.png title_rle > tfv_backgrounds.c
|
||||||
$(PNG2RLE) c $(ARTDIR)/map.png map_rle >> tfv_backgrounds.c
|
$(PNG2RLE) c $(ARTDIR)/map.png map_rle >> tfv_backgrounds.c
|
||||||
$(PNG2RLE) c $(ARTDIR)/landing.png landing_rle >> tfv_backgrounds.c
|
$(PNG2RLE) c $(ARTDIR)/landing.png landing_rle >> tfv_backgrounds.c
|
||||||
$(PNG2RLE) c $(ARTDIR)/harfco.png harfco_rle >> tfv_backgrounds.c
|
$(PNG2RLE) c $(ARTDIR)/harfco.png harfco_rle >> tfv_backgrounds.c
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
unsigned char title_rle[]={
|
unsigned char title_rle[]={
|
||||||
0x28, /* ysize=40 */
|
0x28, /* ysize=48 */
|
||||||
0x00,0xA0,0x19,0x20,0xAF,0x00,0x22,0xA3,0x66,0x22,0x62,
|
0x00,0xA0,0x19,0x20,0xAF,0x00,0x22,0xA3,0x66,0x22,0x62,
|
||||||
0x66,0x62,0x22,0x66,0xA3,0x22,0x66,0x26,
|
0x66,0x62,0x22,0x66,0xA3,0x22,0x66,0x26,
|
||||||
0x62,0x22,0x62,0x26,0x62,0x22,0xA3,0x66,
|
0x62,0x22,0x62,0x26,0x62,0x22,0xA3,0x66,
|
||||||
|
@ -44,7 +44,7 @@ unsigned char title_rle[]={
|
||||||
0xBB,0x00,0x0D,0xA4,0x00,0xBB,0xBB,0xAC,0x00,0x0C,
|
0xBB,0x00,0x0D,0xA4,0x00,0xBB,0xBB,0xAC,0x00,0x0C,
|
||||||
0x4C,0x44,0x55,0xAC,0x00,0xBB,0xBB,0xA6,0x00,0x20,
|
0x4C,0x44,0x55,0xAC,0x00,0xBB,0xBB,0xA6,0x00,0x20,
|
||||||
0x22,0x2B,0x0B,0xAE,0x00,0x05,0x05,0xA9,0x00,0x20,
|
0x22,0x2B,0x0B,0xAE,0x00,0x05,0x05,0xA9,0x00,0x20,
|
||||||
0xA6,0x22,0xA3,0x20,0x22,0x22,0x02,0xA9,0x00,0xA1, };
|
0xA6,0x22,0xA3,0x20,0x22,0x22,0x02,0xA9,0x00,0xA0,0xA0,0xA0,0xA1, };
|
||||||
unsigned char map_rle[]={
|
unsigned char map_rle[]={
|
||||||
0x28, /* ysize=40 */
|
0x28, /* ysize=40 */
|
||||||
0xA0,0x23,0x66,0x46,0x06,0xA5,0x66,0x56,0xAE,0x66,0xE6,
|
0xA0,0x23,0x66,0x46,0x06,0xA5,0x66,0x56,0xAE,0x66,0xE6,
|
||||||
|
|
|
@ -51,3 +51,4 @@ demo_rle: .byte $28 ; ysize=40
|
||||||
.byte $0B, $A6,$00, $90, $A5,$99, $F9, $A7,$FF, $A5,$00
|
.byte $0B, $A6,$00, $90, $A5,$99, $F9, $A7,$FF, $A5,$00
|
||||||
.byte $20, $A6,$22, $A3,$20, $22,$22, $02, $A6,$00
|
.byte $20, $A6,$22, $A3,$20, $22,$22, $02, $A6,$00
|
||||||
.byte $A1
|
.byte $A1
|
||||||
|
; cycles=21582
|
||||||
|
|
|
@ -37,6 +37,7 @@ TFV_TITLE: tfv_title.o
|
||||||
|
|
||||||
tfv_title.o: tfv_title.s \
|
tfv_title.o: tfv_title.s \
|
||||||
gr_vlin.s tfv_opener.s \
|
gr_vlin.s tfv_opener.s \
|
||||||
|
draw_menu.s keyboard.s joystick.s \
|
||||||
graphics_title/tfv_title.inc
|
graphics_title/tfv_title.inc
|
||||||
ca65 -o tfv_title.o tfv_title.s -l tfv_title.lst
|
ca65 -o tfv_title.o tfv_title.s -l tfv_title.lst
|
||||||
|
|
||||||
|
|
14
tfv/TODO
14
tfv/TODO
|
@ -1,3 +1,17 @@
|
||||||
|
title:
|
||||||
|
timeout if no key pressed at splash/title screen
|
||||||
|
|
||||||
|
|
||||||
|
walking around:
|
||||||
|
separate background image that says when you can walk
|
||||||
|
different colors to indicate who you can talk to
|
||||||
|
|
||||||
|
battle:
|
||||||
|
spiral intro
|
||||||
|
animated intro
|
||||||
|
|
||||||
|
load game support
|
||||||
|
|
||||||
split title and flying off from map play
|
split title and flying off from map play
|
||||||
|
|
||||||
new or load game
|
new or load game
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
LOAD_TITLE = 0
|
LOAD_TITLE = 0
|
||||||
LOAD_TFV = 1
|
LOAD_TFV = 1
|
||||||
LOAD_FLYING = 2
|
LOAD_FLYING = 2
|
||||||
|
LOAD_CREDITS = 3
|
||||||
|
|
97
tfv/draw_menu.s
Normal file
97
tfv/draw_menu.s
Normal file
|
@ -0,0 +1,97 @@
|
||||||
|
; print menu selection, draw to draw page
|
||||||
|
|
||||||
|
; use arrow keys to scroll
|
||||||
|
; return/space selects
|
||||||
|
|
||||||
|
; X = num entries
|
||||||
|
; Y = start Y?
|
||||||
|
; OUTL/OUTH points to list to draw
|
||||||
|
|
||||||
|
; return number of response in A
|
||||||
|
; $FF = nothing
|
||||||
|
; 0..# is number of selection chosen
|
||||||
|
|
||||||
|
draw_menu:
|
||||||
|
|
||||||
|
; clear bottom
|
||||||
|
|
||||||
|
jsr clear_bottom
|
||||||
|
|
||||||
|
; make normal?
|
||||||
|
|
||||||
|
; draw list
|
||||||
|
|
||||||
|
jsr move_and_print_list
|
||||||
|
|
||||||
|
; draw arrow
|
||||||
|
|
||||||
|
lda menu_y
|
||||||
|
clc
|
||||||
|
adc menu_offset
|
||||||
|
asl
|
||||||
|
tay
|
||||||
|
lda gr_offsets+1,Y
|
||||||
|
clc
|
||||||
|
adc DRAW_PAGE
|
||||||
|
sta OUTH
|
||||||
|
clc
|
||||||
|
lda gr_offsets,Y
|
||||||
|
adc menu_x
|
||||||
|
sta OUTL
|
||||||
|
|
||||||
|
ldy #0
|
||||||
|
lda #'-'
|
||||||
|
sta (OUTL),Y
|
||||||
|
iny
|
||||||
|
sta (OUTL),Y
|
||||||
|
iny
|
||||||
|
lda #'>'
|
||||||
|
sta (OUTL),Y
|
||||||
|
|
||||||
|
; check keypress
|
||||||
|
jsr get_keypress
|
||||||
|
|
||||||
|
; keypress is in A
|
||||||
|
|
||||||
|
cmp #0
|
||||||
|
beq menu_nothing
|
||||||
|
cmp #'A'
|
||||||
|
beq dec_menu
|
||||||
|
cmp #'W'
|
||||||
|
beq dec_menu
|
||||||
|
cmp #'S'
|
||||||
|
beq inc_menu
|
||||||
|
cmp #'D'
|
||||||
|
beq inc_menu
|
||||||
|
cmp #' '
|
||||||
|
beq menu_select
|
||||||
|
bne menu_nothing
|
||||||
|
|
||||||
|
inc_menu:
|
||||||
|
lda menu_offset
|
||||||
|
cmp menu_max
|
||||||
|
bcs menu_nothing ; don't go above max
|
||||||
|
inc menu_offset
|
||||||
|
jmp menu_nothing
|
||||||
|
|
||||||
|
dec_menu:
|
||||||
|
lda menu_offset
|
||||||
|
beq menu_nothing ; can't go below 0
|
||||||
|
dec menu_offset
|
||||||
|
jmp menu_nothing
|
||||||
|
|
||||||
|
menu_select:
|
||||||
|
lda menu_offset
|
||||||
|
jmp done_menu
|
||||||
|
|
||||||
|
menu_nothing:
|
||||||
|
lda #$ff
|
||||||
|
done_menu:
|
||||||
|
sta MENU_RESULT
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
|
menu_x: .byte 12
|
||||||
|
menu_y: .byte 21
|
||||||
|
menu_max: .byte 2
|
||||||
|
menu_offset: .byte 0
|
46
tfv/joystick.s
Normal file
46
tfv/joystick.s
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
; Oliver Schmidt
|
||||||
|
; comp.sys.apple2.programmer
|
||||||
|
|
||||||
|
; Call with joystick number (0 or 1) in A.
|
||||||
|
; Results are stored in value0 and value1.
|
||||||
|
; UPPER_THRESHOLD is the paddle value you want to consider as "right enough" /
|
||||||
|
; "down enough".
|
||||||
|
|
||||||
|
UPPER_THRESHOLD = 128
|
||||||
|
|
||||||
|
;PTRIG = $c070
|
||||||
|
PADDL1 = $C065
|
||||||
|
|
||||||
|
handle_joystick:
|
||||||
|
lda #0
|
||||||
|
|
||||||
|
; Read both paddles simultaneously
|
||||||
|
asl ; Joystick number -> paddle number
|
||||||
|
tax
|
||||||
|
ldy #$00
|
||||||
|
sty value0
|
||||||
|
sty value1
|
||||||
|
lda PTRIG ; Trigger paddles
|
||||||
|
loop: lda PADDL0,x ; Read paddle (0 or 2)
|
||||||
|
bmi set0 ; Cycles: 2 3
|
||||||
|
nop ; Cycles: 2
|
||||||
|
bpl nop0 ; Cycles: 3
|
||||||
|
set0: sty value0 ; Cycles: 4
|
||||||
|
nop0: ; - -
|
||||||
|
; Cycles: 7 7
|
||||||
|
lda PADDL1,x ; Read paddle (1 or 3)
|
||||||
|
bmi set1 ; Cycles: 2 3
|
||||||
|
nop ; Cycles: 2
|
||||||
|
bpl nop1 ; Cycles: 3
|
||||||
|
set1: sty value1 ; Cycles: 4
|
||||||
|
nop1: ; - -
|
||||||
|
; Cycles: 7 7
|
||||||
|
iny
|
||||||
|
cpy #UPPER_THRESHOLD+1
|
||||||
|
bne loop
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
|
value0: .byte $00
|
||||||
|
value1: .byte $00
|
||||||
|
|
163
tfv/keyboard.s
Normal file
163
tfv/keyboard.s
Normal file
|
@ -0,0 +1,163 @@
|
||||||
|
|
||||||
|
;==============================
|
||||||
|
; Get Keypress
|
||||||
|
;==============================
|
||||||
|
; returns 0 if nothing pressed
|
||||||
|
get_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 ; only register on release
|
||||||
|
sta JS_BUTTON_STATE
|
||||||
|
lda #' '
|
||||||
|
jmp done_keypress
|
||||||
|
|
||||||
|
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'
|
||||||
|
jmp done_keypress
|
||||||
|
|
||||||
|
js_check_right:
|
||||||
|
cmp #$40
|
||||||
|
bcc js_check_up
|
||||||
|
lda #'D'
|
||||||
|
jmp done_keypress
|
||||||
|
|
||||||
|
js_check_up:
|
||||||
|
lda value1
|
||||||
|
cmp #$20
|
||||||
|
bcs js_check_down
|
||||||
|
lda #'W'
|
||||||
|
jmp done_keypress
|
||||||
|
|
||||||
|
js_check_down:
|
||||||
|
cmp #$40
|
||||||
|
bcc done_joystick
|
||||||
|
lda #'S'
|
||||||
|
jmp done_keypress
|
||||||
|
|
||||||
|
|
||||||
|
done_joystick:
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
actually_handle_keypress:
|
||||||
|
lda KEYPRESS
|
||||||
|
bmi keypress
|
||||||
|
|
||||||
|
jmp no_keypress
|
||||||
|
|
||||||
|
keypress:
|
||||||
|
and #$7f ; clear high bit
|
||||||
|
cmp #' '
|
||||||
|
beq check_sound ; make sure not to lose space
|
||||||
|
and #$df ; convert uppercase to lower case
|
||||||
|
|
||||||
|
check_sound:
|
||||||
|
cmp #$14 ; control-T
|
||||||
|
bne check_joystick
|
||||||
|
|
||||||
|
lda SOUND_STATUS
|
||||||
|
eor #SOUND_DISABLED
|
||||||
|
sta SOUND_STATUS
|
||||||
|
jmp no_keypress
|
||||||
|
|
||||||
|
; can't be ^J as that's the same as down
|
||||||
|
check_joystick:
|
||||||
|
cmp #'J' ; J
|
||||||
|
bne check_load
|
||||||
|
|
||||||
|
lda JOYSTICK_ENABLED
|
||||||
|
eor #1
|
||||||
|
sta JOYSTICK_ENABLED
|
||||||
|
jmp no_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 #'A'
|
||||||
|
jmp done_keypress
|
||||||
|
|
||||||
|
check_right:
|
||||||
|
cmp #'D'
|
||||||
|
beq right_pressed
|
||||||
|
cmp #$15 ; right key
|
||||||
|
bne check_up
|
||||||
|
right_pressed:
|
||||||
|
lda #'D'
|
||||||
|
jmp done_keypress
|
||||||
|
|
||||||
|
check_up:
|
||||||
|
cmp #'W'
|
||||||
|
beq up_pressed
|
||||||
|
cmp #$0B ; up key
|
||||||
|
bne check_down
|
||||||
|
up_pressed:
|
||||||
|
lda #'W'
|
||||||
|
jmp done_keypress
|
||||||
|
|
||||||
|
check_down:
|
||||||
|
cmp #'S'
|
||||||
|
beq down_pressed
|
||||||
|
cmp #$0A
|
||||||
|
bne check_return
|
||||||
|
down_pressed:
|
||||||
|
lda #'S'
|
||||||
|
jmp done_keypress
|
||||||
|
|
||||||
|
check_return:
|
||||||
|
cmp #' '
|
||||||
|
beq return_pressed
|
||||||
|
cmp #13
|
||||||
|
bne no_keypress
|
||||||
|
return_pressed:
|
||||||
|
|
||||||
|
lda #' '
|
||||||
|
jmp done_keypress
|
||||||
|
|
||||||
|
no_keypress:
|
||||||
|
lda #0
|
||||||
|
done_keypress:
|
||||||
|
|
||||||
|
bit KEYRESET
|
||||||
|
rts
|
|
@ -152,6 +152,7 @@ filenames:
|
||||||
.word intro_filename
|
.word intro_filename
|
||||||
.word flying_filename
|
.word flying_filename
|
||||||
.word duke2_filename
|
.word duke2_filename
|
||||||
|
.word credits_filename
|
||||||
|
|
||||||
intro_filename:
|
intro_filename:
|
||||||
.byte "TFV_TITLE",0
|
.byte "TFV_TITLE",0
|
||||||
|
@ -159,6 +160,8 @@ flying_filename:
|
||||||
.byte "TFV_FLYING",0
|
.byte "TFV_FLYING",0
|
||||||
duke2_filename:
|
duke2_filename:
|
||||||
.byte "DUKE_LEVEL2",0
|
.byte "DUKE_LEVEL2",0
|
||||||
|
credits_filename:
|
||||||
|
.byte "TFV_CREDITS",0
|
||||||
|
|
||||||
|
|
||||||
;===================================================
|
;===================================================
|
||||||
|
|
|
@ -69,7 +69,7 @@ exit:
|
||||||
.include "../asm_routines/keypress.s"
|
.include "../asm_routines/keypress.s"
|
||||||
.include "../asm_routines/gr_putsprite.s"
|
.include "../asm_routines/gr_putsprite.s"
|
||||||
.include "../asm_routines/text_print.s"
|
.include "../asm_routines/text_print.s"
|
||||||
.include "../asm_routines/memset.s"
|
;.include "../asm_routines/memset.s"
|
||||||
.include "../asm_routines/gr_vlin.s"
|
.include "../asm_routines/gr_vlin.s"
|
||||||
.include "../asm_routines/gr_copy.s"
|
.include "../asm_routines/gr_copy.s"
|
||||||
;.include "../asm_routines/gr_unrle.s"
|
;.include "../asm_routines/gr_unrle.s"
|
||||||
|
|
|
@ -11,16 +11,13 @@ enter_name:
|
||||||
jsr print_string
|
jsr print_string
|
||||||
|
|
||||||
; zero out name
|
; zero out name
|
||||||
|
ldx #0
|
||||||
lda #<(name)
|
|
||||||
sta MEMPTRL
|
|
||||||
sta NAMEL
|
|
||||||
lda #>(name)
|
|
||||||
sta MEMPTRH
|
|
||||||
sta NAMEH
|
|
||||||
lda #0
|
lda #0
|
||||||
ldx #8
|
zero_name_loop:
|
||||||
jsr memset
|
sta name,X
|
||||||
|
inx
|
||||||
|
cpx #8
|
||||||
|
bne zero_name_loop
|
||||||
|
|
||||||
name_loop:
|
name_loop:
|
||||||
|
|
||||||
|
|
|
@ -70,26 +70,84 @@ title_screen:
|
||||||
lda #20
|
lda #20
|
||||||
sta XPOS
|
sta XPOS
|
||||||
|
|
||||||
|
|
||||||
|
;=================================
|
||||||
|
; title menu loop
|
||||||
;=================================
|
;=================================
|
||||||
; wait for keypress
|
|
||||||
|
|
||||||
jsr wait_until_keypressed
|
lda #0
|
||||||
|
sta menu_offset
|
||||||
|
lda #2
|
||||||
|
sta menu_max
|
||||||
|
title_menu_loop:
|
||||||
|
lda #<title_menu
|
||||||
|
sta OUTL
|
||||||
|
lda #>title_menu
|
||||||
|
sta OUTH
|
||||||
|
|
||||||
|
jsr draw_menu
|
||||||
|
|
||||||
|
jsr page_flip
|
||||||
|
|
||||||
|
jsr increment_frame
|
||||||
|
|
||||||
|
lda MENU_RESULT
|
||||||
|
bmi title_menu_loop
|
||||||
|
|
||||||
|
; space was pressed!
|
||||||
|
|
||||||
|
beq title_new_game
|
||||||
|
cmp #1
|
||||||
|
beq title_load_game
|
||||||
|
bne title_load_credits
|
||||||
|
|
||||||
|
|
||||||
|
;=================================
|
||||||
|
; new game started!
|
||||||
|
;=================================
|
||||||
|
title_new_game:
|
||||||
|
|
||||||
;=================================
|
;=================================
|
||||||
; enter name
|
; enter name
|
||||||
|
|
||||||
; jsr enter_name
|
jsr enter_name
|
||||||
|
|
||||||
;=================================
|
; TODO: all rest
|
||||||
; move on to flying
|
|
||||||
|
|
||||||
lda #LOAD_FLYING
|
lda #LOAD_FLYING
|
||||||
sta WHICH_LOAD
|
sta WHICH_LOAD
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
;=================================
|
||||||
|
; load game! for now, debugging
|
||||||
|
;=================================
|
||||||
|
title_load_game:
|
||||||
|
lda #LOAD_FLYING
|
||||||
|
sta WHICH_LOAD
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
|
;=================================
|
||||||
|
; load credits!
|
||||||
|
;=================================
|
||||||
|
title_load_credits:
|
||||||
|
lda #LOAD_CREDITS
|
||||||
|
sta WHICH_LOAD
|
||||||
|
|
||||||
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;===============================
|
||||||
|
; increment frame
|
||||||
|
;===============================
|
||||||
|
increment_frame:
|
||||||
|
inc FRAMEL
|
||||||
|
bne done_increment_frame
|
||||||
|
inc FRAMEH
|
||||||
|
done_increment_frame:
|
||||||
|
rts
|
||||||
|
|
||||||
;===============================================
|
;===============================================
|
||||||
; External modules
|
; External modules
|
||||||
|
@ -105,11 +163,22 @@ title_screen:
|
||||||
.include "decompress_fast_v2.s"
|
.include "decompress_fast_v2.s"
|
||||||
.include "gr_offsets.s"
|
.include "gr_offsets.s"
|
||||||
.include "wait_keypressed.s"
|
.include "wait_keypressed.s"
|
||||||
|
.include "tfv_textentry.s"
|
||||||
|
|
||||||
|
.include "keyboard.s"
|
||||||
|
.include "joystick.s"
|
||||||
|
.include "draw_menu.s"
|
||||||
|
|
||||||
;===============================================
|
;===============================================
|
||||||
; Variables
|
; Data
|
||||||
;===============================================
|
;===============================================
|
||||||
|
|
||||||
|
title_menu:
|
||||||
|
.byte 16,21,"NEW GAME",0
|
||||||
|
.byte 16,22,"LOAD GAME",0
|
||||||
|
.byte 16,23,"CREDITS",0
|
||||||
|
.byte 255
|
||||||
|
|
||||||
enter_name_string:
|
enter_name_string:
|
||||||
.asciiz "PLEASE ENTER A NAME:"
|
.asciiz "PLEASE ENTER A NAME:"
|
||||||
|
|
||||||
|
|
10
tfv/zp.inc
10
tfv/zp.inc
|
@ -86,6 +86,12 @@ JOYSTICK_ENABLED= $A1
|
||||||
FRAMEL = $A2
|
FRAMEL = $A2
|
||||||
FRAMEH = $A3
|
FRAMEH = $A3
|
||||||
WHICH_LOAD = $A4
|
WHICH_LOAD = $A4
|
||||||
|
MENU_RESULT = $A5
|
||||||
|
SOUND_STATUS = $A6
|
||||||
|
SOUND_DISABLED = $80
|
||||||
|
SOUND_IN_LC = $01 ; $01 sound effects in language card
|
||||||
|
SOUND_MOCKINGBOARD = $02 ; mockingboard detected
|
||||||
|
JS_BUTTON_STATE = $A7
|
||||||
|
|
||||||
COLOR1 = $E0
|
COLOR1 = $E0
|
||||||
COLOR2 = $E1
|
COLOR2 = $E1
|
||||||
|
@ -95,8 +101,8 @@ YY = $E4
|
||||||
SHIPY = $E4
|
SHIPY = $E4
|
||||||
YADD = $E5
|
YADD = $E5
|
||||||
LOOP = $E6
|
LOOP = $E6
|
||||||
MEMPTRL = $E7
|
;MEMPTRL = $E7
|
||||||
MEMPTRH = $E8
|
;MEMPTRH = $E8
|
||||||
NAMEL = $E9
|
NAMEL = $E9
|
||||||
NAMEH = $EA
|
NAMEH = $EA
|
||||||
NAMEX = $EB
|
NAMEX = $EB
|
||||||
|
|
Loading…
Reference in New Issue
Block a user