DeskTop disasm: Overlay entry points

This commit is contained in:
Joshua Bell 2018-11-17 21:00:40 -08:00
parent 1bb2824ea5
commit 2b9bef5cbe
3 changed files with 60 additions and 24 deletions

View File

@ -11403,6 +11403,7 @@ do_on_line:
index_warning_dialog := $C index_warning_dialog := $C
launch_dialog: launch_dialog:
.assert * = $A500, error, "Entry point used by overlay"
jmp launch_dialog_impl jmp launch_dialog_impl
dialog_proc_table: dialog_proc_table:
@ -11457,6 +11458,7 @@ dialog_param_addr:
;;; Message handler for OK/Cancel dialog ;;; Message handler for OK/Cancel dialog
.proc prompt_input_loop .proc prompt_input_loop
.assert * = $A567, error, "Entry point used by overlay"
lda has_input_field_flag lda has_input_field_flag
beq :+ beq :+
@ -11803,6 +11805,7 @@ rts1:
rts rts
jump_relay: jump_relay:
.assert * = $A899, error, "Entry point used by overlay"
jmp dummy0000 jmp dummy0000
@ -11965,6 +11968,7 @@ LAAB1: jsr prompt_input_loop
;;; ============================================================ ;;; ============================================================
.proc bell .proc bell
.assert * = $AACE, error, "Entry point used by overlay"
sta ALTZPOFF sta ALTZPOFF
sta ROMIN2 sta ROMIN2
jsr BELL1 jsr BELL1
@ -12262,7 +12266,7 @@ LAE42: cmp #$40
LAE49: lda #$80 LAE49: lda #$80
sta has_input_field_flag sta has_input_field_flag
jsr LBD69 jsr clear_path_buf2
lda #$00 lda #$00
jsr LB509 jsr LB509
lda winfo_alert_dialog lda winfo_alert_dialog
@ -12276,7 +12280,7 @@ LAE70: lda #$80
sta has_input_field_flag sta has_input_field_flag
lda #$00 lda #$00
sta LD8E7 sta LD8E7
jsr LBD75 jsr clear_path_buf1
jsr copy_dialog_param_addr_to_ptr jsr copy_dialog_param_addr_to_ptr
ldy #$01 ldy #$01
copy16in ($06),y, $08 copy16in ($06),y, $08
@ -12624,11 +12628,11 @@ LB276: cmp #$40
bne LB27D bne LB27D
jmp LB313 jmp LB313
LB27D: jsr LBD75 LB27D: jsr clear_path_buf1
jsr copy_dialog_param_addr_to_ptr jsr copy_dialog_param_addr_to_ptr
lda #$80 lda #$80
sta has_input_field_flag sta has_input_field_flag
jsr LBD69 jsr clear_path_buf2
lda #$00 lda #$00
jsr LB509 jsr LB509
lda winfo_alert_dialog lda winfo_alert_dialog
@ -12794,30 +12798,40 @@ warning_message_table:
cursor_ip_flag: ; high bit set if IP, clear if pointer cursor_ip_flag: ; high bit set if IP, clear if pointer
.byte 0 .byte 0
set_cursor_watch: .proc set_cursor_watch
.assert * = $B3E7, error, "Entry point used by overlay"
MGTK_RELAY_CALL MGTK::HideCursor MGTK_RELAY_CALL MGTK::HideCursor
MGTK_RELAY_CALL MGTK::SetCursor, watch_cursor MGTK_RELAY_CALL MGTK::SetCursor, watch_cursor
MGTK_RELAY_CALL MGTK::ShowCursor MGTK_RELAY_CALL MGTK::ShowCursor
rts rts
.endproc
set_cursor_pointer: .proc set_cursor_pointer
.assert * = $B403, error, "Entry point used by overlay"
MGTK_RELAY_CALL MGTK::HideCursor MGTK_RELAY_CALL MGTK::HideCursor
MGTK_RELAY_CALL MGTK::SetCursor, pointer_cursor MGTK_RELAY_CALL MGTK::SetCursor, pointer_cursor
MGTK_RELAY_CALL MGTK::ShowCursor MGTK_RELAY_CALL MGTK::ShowCursor
rts rts
.endproc
set_cursor_insertion_point: .proc set_cursor_insertion_point
MGTK_RELAY_CALL MGTK::HideCursor MGTK_RELAY_CALL MGTK::HideCursor
MGTK_RELAY_CALL MGTK::SetCursor, insertion_point_cursor MGTK_RELAY_CALL MGTK::SetCursor, insertion_point_cursor
MGTK_RELAY_CALL MGTK::ShowCursor MGTK_RELAY_CALL MGTK::ShowCursor
rts rts
.endproc
set_penmode_xor2: set_penmode_xor2:
MGTK_RELAY_CALL MGTK::SetPenMode, penXOR MGTK_RELAY_CALL MGTK::SetPenMode, penXOR
rts rts
;; Another double-click timer? ;;; ============================================================
.proc LB554 ;;; Double Click Detection (#2 ???)
;;; Returns with A=0 if double click, A=$FF otherwise.
.proc detect_double_click2
.assert * = $B445, error, "Entry point used by overlay"
double_click_deltax := 5 double_click_deltax := 5
double_click_deltay := 4 double_click_deltay := 4
@ -12932,7 +12946,9 @@ unused: .byte 0 ; unused
;;; ============================================================ ;;; ============================================================
LB509: sta LD8E7 LB509:
.assert * = $B509, error, "Entry point used by overlay"
sta LD8E7
jsr open_dialog_window jsr open_dialog_window
bit LD8E7 bit LD8E7
bvc LB51A bvc LB51A
@ -12978,6 +12994,8 @@ LB537: jmp reset_grafport3a
DDL_CENTER := $80 DDL_CENTER := $80
.proc draw_dialog_label .proc draw_dialog_label
.assert * = $B590, error, "Entry point used by overlay"
textwidth_params := $8 textwidth_params := $8
textptr := $8 textptr := $8
textlen := $A textlen := $A
@ -13103,6 +13121,7 @@ erase_ok_button:
;;; ============================================================ ;;; ============================================================
.proc draw_text1 .proc draw_text1
.assert * = $B708, error, "Entry point used by overlay"
params := $6 params := $6
textptr := $6 textptr := $6
textlen := $8 textlen := $8
@ -13119,6 +13138,8 @@ done: rts
;;; ============================================================ ;;; ============================================================
.proc draw_dialog_title .proc draw_dialog_title
.assert * = $B723, error, "Entry point used by overlay"
str := $6 str := $6
str_data := $6 str_data := $6
str_len := $8 str_len := $8
@ -13164,6 +13185,8 @@ LB76C: stax $06
;;; Called from ovl2 ;;; Called from ovl2
.proc adjust_case .proc adjust_case
.assert * = $B781, error, "Entry point used by overlay"
ptr := $A ptr := $A
stx ptr+1 stx ptr+1
@ -13206,6 +13229,7 @@ check_alpha:
;;; ============================================================ ;;; ============================================================
.proc set_port_from_window_id .proc set_port_from_window_id
.assert * = $B7B9, error, "Entry point used by overlay"
sta getwinport_params2::window_id sta getwinport_params2::window_id
MGTK_RELAY_CALL MGTK::GetWinPort, getwinport_params2 MGTK_RELAY_CALL MGTK::GetWinPort, getwinport_params2
MGTK_RELAY_CALL MGTK::SetPort, grafport2 MGTK_RELAY_CALL MGTK::SetPort, grafport2
@ -13798,15 +13822,25 @@ LBD33: rts
;;; ============================================================ ;;; ============================================================
LBD69: lda #1 .proc clear_path_buf2
.assert * = $BD69, error, "Entry point used by overlay"
lda #1 ; length
sta path_buf2 sta path_buf2
lda str_insertion_point+1 lda str_insertion_point+1 ; IP character
sta path_buf2+1 sta path_buf2+1
rts rts
.endproc
LBD75: lda #$00 .proc clear_path_buf1
.assert * = $BD75, error, "Entry point used by overlay"
lda #0 ; length
sta path_buf1 sta path_buf1
rts rts
.endproc
;;; ============================================================
.proc load_aux_from_ptr .proc load_aux_from_ptr
target := $20 target := $20
@ -13992,6 +14026,8 @@ set_fill_white:
rts rts
reset_grafport3a: reset_grafport3a:
.assert * = $BEB1, error, "Entry point used by overlay"
MGTK_RELAY_CALL MGTK::InitPort, grafport3 MGTK_RELAY_CALL MGTK::InitPort, grafport3
MGTK_RELAY_CALL MGTK::SetPort, grafport3 MGTK_RELAY_CALL MGTK::SetPort, grafport3
rts rts

View File

@ -22,15 +22,15 @@ jump_relay := $A899
bell := $AACE bell := $AACE
set_cursor_watch := $B3E7 set_cursor_watch := $B3E7
set_cursor_pointer := $B403 set_cursor_pointer := $B403
LB445 := $B445 ; ??? detect_double_click2 := $B445
LB509 := $B509 ; ??? LB509 := $B509 ; ???
draw_dialog_label := $B590 draw_dialog_label := $B590
draw_text1 := $B708 draw_text1 := $B708
draw_dialog_title := $B723 draw_dialog_title := $B723
adjust_case := $B781 adjust_case := $B781
set_port_from_window_id := $B7B9 set_port_from_window_id := $B7B9
LBD69 := $BD69 ; ??? clear_path_buf2 := $BD69 ; ???
LBD75 := $BD75 ; ??? clear_path_buf1 := $BD75 ; ???
reset_state := $BEB1 reset_state := $BEB1
.endscope .endscope
@ -73,12 +73,12 @@ L085F: bit $D887
MGTK_RELAY_CALL MGTK::PaintRect, $AE6E MGTK_RELAY_CALL MGTK::PaintRect, $AE6E
MGTK_RELAY_CALL MGTK::SetPenMode, penXOR MGTK_RELAY_CALL MGTK::SetPenMode, penXOR
MGTK_RELAY_CALL MGTK::FrameRect, name_input_rect MGTK_RELAY_CALL MGTK::FrameRect, name_input_rect
jsr desktop_main::LBD75 jsr desktop_main::clear_path_buf1
lda #$80 lda #$80
sta $D8E8 sta $D8E8
lda #$00 lda #$00
sta $D8ED sta $D8ED
jsr desktop_main::LBD69 jsr desktop_main::clear_path_buf2
axy_call desktop_main::draw_dialog_label, $03, $B28D axy_call desktop_main::draw_dialog_label, $03, $B28D
L08A7: jsr desktop_main::prompt_input_loop L08A7: jsr desktop_main::prompt_input_loop
bmi L08A7 bmi L08A7
@ -211,12 +211,12 @@ L0A18: bit $D887
MGTK_RELAY_CALL MGTK::PaintRect, $AE6E MGTK_RELAY_CALL MGTK::PaintRect, $AE6E
MGTK_RELAY_CALL MGTK::SetPenMode, penXOR MGTK_RELAY_CALL MGTK::SetPenMode, penXOR
MGTK_RELAY_CALL MGTK::FrameRect, name_input_rect MGTK_RELAY_CALL MGTK::FrameRect, name_input_rect
jsr desktop_main::LBD75 jsr desktop_main::clear_path_buf1
lda #$80 lda #$80
sta $D8E8 sta $D8E8
lda #$00 lda #$00
sta $D8ED sta $D8ED
jsr desktop_main::LBD69 jsr desktop_main::clear_path_buf2
axy_call desktop_main::draw_dialog_label, $03, $B28D axy_call desktop_main::draw_dialog_label, $03, $B28D
L0A6A: jsr desktop_main::prompt_input_loop L0A6A: jsr desktop_main::prompt_input_loop
bmi L0A6A bmi L0A6A
@ -341,7 +341,7 @@ L0BD9: return #$FF
L0BDC: cmp $D887 L0BDC: cmp $D887
bne L0C04 bne L0C04
jsr desktop_main::LB445 jsr desktop_main::detect_double_click2
bmi L0C03 bmi L0C03
L0BE6: MGTK_RELAY_CALL MGTK::SetPenMode, penXOR ; flash the button L0BE6: MGTK_RELAY_CALL MGTK::SetPenMode, penXOR ; flash the button
MGTK_RELAY_CALL MGTK::PaintRect, $AE20 MGTK_RELAY_CALL MGTK::PaintRect, $AE20
@ -356,7 +356,7 @@ L0C04: sta L0C1E
L0C0F: lda L0C1E L0C0F: lda L0C1E
sta $D887 sta $D887
jsr L0C20 jsr L0C20
jsr desktop_main::LB445 jsr desktop_main::detect_double_click2
beq L0BE6 beq L0BE6
rts rts

View File

@ -13,7 +13,7 @@
launch_dialog := $A500 launch_dialog := $A500
set_cursor_watch := $B3E7 set_cursor_watch := $B3E7
set_cursor_pointer := $B403 set_cursor_pointer := $B403
LB445 := $B445 ; ??? detect_double_click2 := $B445
draw_text1 := $B708 draw_text1 := $B708
set_port_from_window_id := $B7B9 set_port_from_window_id := $B7B9
@ -717,7 +717,7 @@ L976A: cmp L938D
lda L979C lda L979C
sta L938D sta L938D
jsr L979D jsr L979D
L977E: jsr LB445 L977E: jsr detect_double_click2
rts rts
L9782: sec L9782: sec