Disk Copy Overlay disasm

This commit is contained in:
Joshua Bell 2018-11-22 16:53:50 -08:00
parent 014ac606b9
commit 08bcffad5c

View File

@ -59,7 +59,7 @@ notpenOR: .byte 5
notpenXOR: .byte 6 notpenXOR: .byte 6
notpenBIC: .byte 7 notpenBIC: .byte 7
LD00B: .byte 0 stack_stash: .byte 0
.proc hilitemenu_params .proc hilitemenu_params
menu_id := * + 0 menu_id := * + 0
@ -839,40 +839,46 @@ LD9BA: cmp #MGTK::EventKind::key_down
bne LD998 bne LD998
jmp LD9D5 jmp LD9D5
LD9C1: .addr disk_copy_overlay4::just_rts menu_command_table:
;; Apple menu
.addr disk_copy_overlay4::just_rts .addr disk_copy_overlay4::just_rts
.addr disk_copy_overlay4::just_rts .addr disk_copy_overlay4::just_rts
.addr disk_copy_overlay4::just_rts .addr disk_copy_overlay4::just_rts
.addr disk_copy_overlay4::just_rts .addr disk_copy_overlay4::just_rts
.addr disk_copy_overlay4::just_rts
;; File menu
.addr disk_copy_overlay4::quit .addr disk_copy_overlay4::quit
.addr LDA3C ;; Facilities menu
.addr LDA77 .addr cmd_quick_copy
.addr cmd_disk_copy
LD9D1: .byte 0, $A, $C, $10 menu_offset_table:
.byte 0, 5*2, 6*2, 8*2
LD9D5: lda event_modifiers LD9D5: lda event_modifiers
bne LD9E6 bne :+
lda event_key lda event_key
and #CHAR_MASK and #CHAR_MASK
cmp #CHAR_ESCAPE cmp #CHAR_ESCAPE
beq LD9E6 beq :+
jmp LDBFC jmp LDBFC
;; Keyboard-based menu selection
LD9E6: lda #$01 : lda #1
sta LD12F sta LD12F
lda event_key lda event_key
sta menukey_params::which_key sta menukey_params::which_key
lda event_modifiers lda event_modifiers
sta menukey_params::key_mods sta menukey_params::key_mods
MGTK_RELAY_CALL2 MGTK::MenuKey, menukey_params MGTK_RELAY_CALL2 MGTK::MenuKey, menukey_params
handle_menu_selection: ldx menukey_params::menu_id handle_menu_selection:
bne LDA06 ldx menuselect_params::menu_id
bne :+
rts rts
;; Compute offset into command table - menu offset + item offset
LDA06: dex : dex
lda LD9D1,x lda menu_offset_table,x
tax tax
ldy $D00D ldy menuselect_params::menu_item
dey dey
tya tya
asl a asl a
@ -881,17 +887,19 @@ LDA06: dex
clc clc
adc jump_addr adc jump_addr
tax tax
copy16 LD9C1,x, jump_addr copy16 menu_command_table,x, jump_addr
jsr LDA35 jsr do_jump
MGTK_RELAY_CALL2 MGTK::HiliteMenu, hilitemenu_params MGTK_RELAY_CALL2 MGTK::HiliteMenu, hilitemenu_params
jmp LD986 jmp LD986
LDA35: tsx do_jump:
stx LD00B tsx
stx stack_stash
jump_addr := *+1 jump_addr := *+1
jmp dummy1234 jmp dummy1234
LDA3C: lda quick_copy_flag cmd_quick_copy:
lda quick_copy_flag
bne LDA42 bne LDA42
rts rts
@ -910,7 +918,8 @@ LDA42: lda #$00
addr_call draw_title_text, str_quick_copy_padded addr_call draw_title_text, str_quick_copy_padded
rts rts
LDA77: lda quick_copy_flag cmd_disk_copy:
lda quick_copy_flag
beq LDA7D beq LDA7D
rts rts