mirror of
https://github.com/mi57730/a2d.git
synced 2025-02-19 09:31:41 +00:00
Macro tidying: use param blocks; dedupe macros that differ only by order
This commit is contained in:
parent
345f08a5ab
commit
1db820679c
@ -97,7 +97,7 @@ quit: MLI_CALL QUIT, quit_params
|
||||
jmp got_prefix
|
||||
|
||||
get_current_prefix:
|
||||
axy_call JUMP_TABLE_MLI, GET_PREFIX, get_prefix_params
|
||||
yax_call JUMP_TABLE_MLI, GET_PREFIX, get_prefix_params
|
||||
bne no_bs
|
||||
|
||||
got_prefix:
|
||||
@ -114,7 +114,7 @@ loop: ldx path_length
|
||||
bne :-
|
||||
stx bs_path
|
||||
|
||||
axy_call JUMP_TABLE_MLI, GET_FILE_INFO, get_file_info_params
|
||||
yax_call JUMP_TABLE_MLI, GET_FILE_INFO, get_file_info_params
|
||||
bne not_found
|
||||
rts
|
||||
|
||||
|
@ -2081,9 +2081,7 @@ done: rts
|
||||
;;; (selector/dispatch) handler, then does ProDOS QUIT.
|
||||
|
||||
str_quit_code: PASCAL_STRING "Quit.tmp"
|
||||
saved_org := *
|
||||
.proc quit_restore_proc
|
||||
.org $1000
|
||||
PROC_AT quit_restore_proc, $1000
|
||||
|
||||
lda LCBANK2
|
||||
lda LCBANK2
|
||||
@ -2102,9 +2100,8 @@ str_quit_code: PASCAL_STRING "Quit.tmp"
|
||||
DEFINE_QUIT_PARAMS quit_params
|
||||
|
||||
PAD_TO $1100
|
||||
.endproc
|
||||
END_PROC_AT
|
||||
.assert .sizeof(quit_restore_proc) = $100, error, "Proc length mismatch"
|
||||
.org (saved_org + .sizeof(quit_restore_proc))
|
||||
|
||||
.proc preserve_quit_code_impl
|
||||
quit_code_io := $800
|
||||
|
@ -1560,7 +1560,7 @@ nope: dex
|
||||
done: jsr set_pointer_cursor
|
||||
rts
|
||||
|
||||
open: yxa_call MLI_RELAY, OPEN, open_params
|
||||
open: yax_call MLI_RELAY, OPEN, open_params
|
||||
bne :+
|
||||
rts
|
||||
: lda #warning_msg_insert_system_disk
|
||||
@ -1568,9 +1568,9 @@ open: yxa_call MLI_RELAY, OPEN, open_params
|
||||
beq open ; ok, so try again
|
||||
return #$FF ; cancel, so fail
|
||||
|
||||
read: yxa_jump MLI_RELAY, READ, read_params
|
||||
read: yax_jump MLI_RELAY, READ, read_params
|
||||
|
||||
close: yxa_jump MLI_RELAY, CLOSE, close_params
|
||||
close: yax_jump MLI_RELAY, CLOSE, close_params
|
||||
|
||||
zp_use_flag1:
|
||||
.byte $80
|
||||
@ -13156,15 +13156,15 @@ jump_relay:
|
||||
MGTK_RELAY_CALL MGTK::FrameRect, desktop_aux::about_dialog_outer_rect
|
||||
MGTK_RELAY_CALL MGTK::FrameRect, desktop_aux::about_dialog_inner_rect
|
||||
addr_call draw_dialog_title, desktop_aux::str_about1
|
||||
axy_call draw_dialog_label, 1 | DDL_CENTER, desktop_aux::str_about2
|
||||
axy_call draw_dialog_label, 2 | DDL_CENTER, desktop_aux::str_about3
|
||||
axy_call draw_dialog_label, 3 | DDL_CENTER, desktop_aux::str_about4
|
||||
axy_call draw_dialog_label, 5, desktop_aux::str_about5
|
||||
axy_call draw_dialog_label, 6 | DDL_CENTER, desktop_aux::str_about6
|
||||
axy_call draw_dialog_label, 7, desktop_aux::str_about7
|
||||
axy_call draw_dialog_label, 9, desktop_aux::str_about8
|
||||
yax_call draw_dialog_label, 1 | DDL_CENTER, desktop_aux::str_about2
|
||||
yax_call draw_dialog_label, 2 | DDL_CENTER, desktop_aux::str_about3
|
||||
yax_call draw_dialog_label, 3 | DDL_CENTER, desktop_aux::str_about4
|
||||
yax_call draw_dialog_label, 5, desktop_aux::str_about5
|
||||
yax_call draw_dialog_label, 6 | DDL_CENTER, desktop_aux::str_about6
|
||||
yax_call draw_dialog_label, 7, desktop_aux::str_about7
|
||||
yax_call draw_dialog_label, 9, desktop_aux::str_about8
|
||||
copy16 #310 - (7 * .strlen(VERSION_SUFFIX)), dialog_label_pos
|
||||
axy_call draw_dialog_label, 9, desktop_aux::str_about9
|
||||
yax_call draw_dialog_label, 9, desktop_aux::str_about9
|
||||
copy16 #dialog_label_default_x, dialog_label_pos
|
||||
|
||||
: MGTK_RELAY_CALL MGTK::GetEvent, event_params
|
||||
@ -13216,17 +13216,17 @@ close: MGTK_RELAY_CALL MGTK::CloseWindow, winfo_about_dialog
|
||||
: copy #0, has_input_field_flag
|
||||
jsr open_dialog_window
|
||||
|
||||
axy_call draw_dialog_label, 2, desktop_aux::str_copy_from
|
||||
axy_call draw_dialog_label, 3, desktop_aux::str_copy_to
|
||||
yax_call draw_dialog_label, 2, desktop_aux::str_copy_from
|
||||
yax_call draw_dialog_label, 3, desktop_aux::str_copy_to
|
||||
bit move_flag
|
||||
bmi :+
|
||||
addr_call draw_dialog_title, desktop_aux::str_copy_title
|
||||
axy_call draw_dialog_label, 1, desktop_aux::str_copy_copying
|
||||
axy_call draw_dialog_label, 4, desktop_aux::str_copy_remaining
|
||||
yax_call draw_dialog_label, 1, desktop_aux::str_copy_copying
|
||||
yax_call draw_dialog_label, 4, desktop_aux::str_copy_remaining
|
||||
rts
|
||||
: addr_call draw_dialog_title, desktop_aux::str_move_title
|
||||
axy_call draw_dialog_label, 1, desktop_aux::str_move_moving
|
||||
axy_call draw_dialog_label, 4, desktop_aux::str_move_remaining
|
||||
yax_call draw_dialog_label, 1, desktop_aux::str_move_moving
|
||||
yax_call draw_dialog_label, 4, desktop_aux::str_move_remaining
|
||||
rts
|
||||
|
||||
;; CopyDialogLifecycle::populate
|
||||
@ -13286,7 +13286,7 @@ do5: jsr reset_grafport3a
|
||||
do3: jsr bell
|
||||
lda winfo_alert_dialog
|
||||
jsr set_port_from_window_id
|
||||
axy_call draw_dialog_label, 6, desktop_aux::str_exists_prompt
|
||||
yax_call draw_dialog_label, 6, desktop_aux::str_exists_prompt
|
||||
jsr draw_yes_no_all_cancel_buttons
|
||||
LAA7F: jsr prompt_input_loop
|
||||
bmi LAA7F
|
||||
@ -13301,7 +13301,7 @@ LAA7F: jsr prompt_input_loop
|
||||
do4: jsr bell
|
||||
lda winfo_alert_dialog
|
||||
jsr set_port_from_window_id
|
||||
axy_call draw_dialog_label, 6, desktop_aux::str_large_prompt
|
||||
yax_call draw_dialog_label, 6, desktop_aux::str_large_prompt
|
||||
jsr draw_ok_cancel_buttons
|
||||
: jsr prompt_input_loop
|
||||
bmi :-
|
||||
@ -13338,10 +13338,10 @@ do4: jsr bell
|
||||
else: copy #0, has_input_field_flag
|
||||
jsr open_dialog_window
|
||||
addr_call draw_dialog_title, desktop_aux::str_download
|
||||
axy_call draw_dialog_label, 1, desktop_aux::str_copy_copying
|
||||
axy_call draw_dialog_label, 2, desktop_aux::str_copy_from
|
||||
axy_call draw_dialog_label, 3, desktop_aux::str_copy_to
|
||||
axy_call draw_dialog_label, 4, desktop_aux::str_copy_remaining
|
||||
yax_call draw_dialog_label, 1, desktop_aux::str_copy_copying
|
||||
yax_call draw_dialog_label, 2, desktop_aux::str_copy_from
|
||||
yax_call draw_dialog_label, 3, desktop_aux::str_copy_to
|
||||
yax_call draw_dialog_label, 4, desktop_aux::str_copy_remaining
|
||||
rts
|
||||
|
||||
do1: ldy #1
|
||||
@ -13385,7 +13385,7 @@ do3: jsr reset_grafport3a
|
||||
do4: jsr bell
|
||||
lda winfo_alert_dialog
|
||||
jsr set_port_from_window_id
|
||||
axy_call draw_dialog_label, 6, desktop_aux::str_ramcard_full
|
||||
yax_call draw_dialog_label, 6, desktop_aux::str_ramcard_full
|
||||
jsr draw_ok_button
|
||||
: jsr prompt_input_loop
|
||||
bmi :-
|
||||
@ -13418,10 +13418,10 @@ do4: jsr bell
|
||||
|
||||
else: jsr open_dialog_window
|
||||
addr_call draw_dialog_title, desktop_aux::str_size_title
|
||||
axy_call draw_dialog_label, 1, desktop_aux::str_size_number
|
||||
yax_call draw_dialog_label, 1, desktop_aux::str_size_number
|
||||
ldy #1
|
||||
jsr draw_colon
|
||||
axy_call draw_dialog_label, 2, desktop_aux::str_size_blocks
|
||||
yax_call draw_dialog_label, 2, desktop_aux::str_size_blocks
|
||||
ldy #2
|
||||
jsr draw_colon
|
||||
rts
|
||||
@ -13503,11 +13503,11 @@ do2: lda winfo_alert_dialog
|
||||
addr_call draw_dialog_title, desktop_aux::str_delete_title
|
||||
lda LAD1F
|
||||
beq LAD20
|
||||
axy_call draw_dialog_label, 4, desktop_aux::str_ok_empty
|
||||
yax_call draw_dialog_label, 4, desktop_aux::str_ok_empty
|
||||
rts
|
||||
|
||||
LAD1F: .byte 0
|
||||
LAD20: axy_call draw_dialog_label, 4, desktop_aux::str_delete_ok
|
||||
LAD20: yax_call draw_dialog_label, 4, desktop_aux::str_delete_ok
|
||||
rts
|
||||
|
||||
;; DeleteDialogLifecycle::populate
|
||||
@ -13574,7 +13574,7 @@ do5: jsr reset_grafport3a
|
||||
;; DeleteDialogLifecycle::locked
|
||||
do4: lda winfo_alert_dialog
|
||||
jsr set_port_from_window_id
|
||||
axy_call draw_dialog_label, 6, desktop_aux::str_delete_locked_file
|
||||
yax_call draw_dialog_label, 6, desktop_aux::str_delete_locked_file
|
||||
jsr draw_yes_no_all_cancel_buttons
|
||||
LAE17: jsr prompt_input_loop
|
||||
bmi LAE17
|
||||
|
@ -22,7 +22,7 @@ L080C: copy #$00, has_input_field_flag
|
||||
lda winfo_alert_dialog
|
||||
jsr desktop_main::set_port_from_window_id
|
||||
addr_call desktop_main::draw_dialog_title, desktop_aux::str_format_disk
|
||||
axy_call desktop_main::draw_dialog_label, 1, desktop_aux::str_select_format
|
||||
yax_call desktop_main::draw_dialog_label, 1, desktop_aux::str_select_format
|
||||
jsr L0D31
|
||||
copy #$FF, LD887
|
||||
L0832: copy16 #L0B48, desktop_main::jump_relay+1
|
||||
@ -50,7 +50,7 @@ L085F: bit LD887
|
||||
copy #$80, has_input_field_flag
|
||||
copy #$00, format_erase_overlay_flag
|
||||
jsr desktop_main::clear_path_buf2
|
||||
axy_call desktop_main::draw_dialog_label, 3, desktop_aux::str_new_volume
|
||||
yax_call desktop_main::draw_dialog_label, 3, desktop_aux::str_new_volume
|
||||
L08A7: jsr desktop_main::prompt_input_loop
|
||||
bmi L08A7
|
||||
beq L08B7
|
||||
@ -74,7 +74,7 @@ L08B7: lda path_buf1
|
||||
sta L09D7
|
||||
lda #$00
|
||||
sta has_input_field_flag
|
||||
axy_call desktop_main::draw_dialog_label, 3, desktop_aux::str_confirm_format
|
||||
yax_call desktop_main::draw_dialog_label, 3, desktop_aux::str_confirm_format
|
||||
lda L09D7
|
||||
jsr L1A2D
|
||||
addr_call desktop_main::draw_text1, ovl2_path_buf
|
||||
@ -87,7 +87,7 @@ L090C: lda winfo_alert_dialog
|
||||
jsr desktop_main::set_port_from_window_id
|
||||
MGTK_RELAY_CALL MGTK::SetPenMode, pencopy
|
||||
MGTK_RELAY_CALL MGTK::PaintRect, desktop_aux::clear_dialog_labels_rect
|
||||
axy_call desktop_main::draw_dialog_label, 1, desktop_aux::str_formatting
|
||||
yax_call desktop_main::draw_dialog_label, 1, desktop_aux::str_formatting
|
||||
lda L09D7
|
||||
jsr L12C1
|
||||
and #$FF
|
||||
@ -100,7 +100,7 @@ L0942: lda winfo_alert_dialog
|
||||
jsr desktop_main::set_port_from_window_id
|
||||
MGTK_RELAY_CALL MGTK::SetPenMode, pencopy
|
||||
MGTK_RELAY_CALL MGTK::PaintRect, desktop_aux::clear_dialog_labels_rect
|
||||
axy_call desktop_main::draw_dialog_label, 1, desktop_aux::str_erasing
|
||||
yax_call desktop_main::draw_dialog_label, 1, desktop_aux::str_erasing
|
||||
addr_call upcase_string, path_buf1
|
||||
ldxy #path_buf1
|
||||
lda L09D7
|
||||
@ -119,7 +119,7 @@ L0980: cmp #$2B
|
||||
jmp L090C
|
||||
|
||||
L098C: jsr desktop_main::bell
|
||||
axy_call desktop_main::draw_dialog_label, 6, desktop_aux::str_erasing_error
|
||||
yax_call desktop_main::draw_dialog_label, 6, desktop_aux::str_erasing_error
|
||||
jmp L09B8
|
||||
|
||||
L099B: pha
|
||||
@ -132,7 +132,7 @@ L099B: pha
|
||||
jmp L090C
|
||||
|
||||
L09AC: jsr desktop_main::bell
|
||||
axy_call desktop_main::draw_dialog_label, 6, desktop_aux::str_formatting_error
|
||||
yax_call desktop_main::draw_dialog_label, 6, desktop_aux::str_formatting_error
|
||||
L09B8: jsr desktop_main::prompt_input_loop
|
||||
bmi L09B8
|
||||
bne L09C2
|
||||
@ -158,7 +158,7 @@ L09D9: lda #$00
|
||||
lda winfo_alert_dialog
|
||||
jsr desktop_main::set_port_from_window_id
|
||||
addr_call desktop_main::draw_dialog_title, desktop_aux::str_erase_disk
|
||||
axy_call desktop_main::draw_dialog_label, 1, desktop_aux::str_select_erase
|
||||
yax_call desktop_main::draw_dialog_label, 1, desktop_aux::str_select_erase
|
||||
jsr L0D31
|
||||
copy #$FF, LD887
|
||||
copy16 #L0B48, desktop_main::jump_relay+1
|
||||
@ -181,7 +181,7 @@ L0A18: bit LD887
|
||||
copy #$80, has_input_field_flag
|
||||
copy #$00, format_erase_overlay_flag
|
||||
jsr desktop_main::clear_path_buf2
|
||||
axy_call desktop_main::draw_dialog_label, 3, desktop_aux::str_new_volume
|
||||
yax_call desktop_main::draw_dialog_label, 3, desktop_aux::str_new_volume
|
||||
L0A6A: jsr desktop_main::prompt_input_loop
|
||||
bmi L0A6A
|
||||
beq L0A7A
|
||||
@ -204,7 +204,7 @@ L0A7A: lda path_buf1
|
||||
lda DEVLST,x
|
||||
sta L0B47
|
||||
sta L0B46
|
||||
axy_call desktop_main::draw_dialog_label, 3, desktop_aux::str_confirm_erase
|
||||
yax_call desktop_main::draw_dialog_label, 3, desktop_aux::str_confirm_erase
|
||||
lda L0B46
|
||||
and #$F0
|
||||
jsr L1A2D
|
||||
@ -218,7 +218,7 @@ L0AD1: lda winfo_alert_dialog
|
||||
jsr desktop_main::set_port_from_window_id
|
||||
MGTK_RELAY_CALL MGTK::SetPenMode, pencopy
|
||||
MGTK_RELAY_CALL MGTK::PaintRect, desktop_aux::clear_dialog_labels_rect
|
||||
axy_call desktop_main::draw_dialog_label, 1, desktop_aux::str_erasing
|
||||
yax_call desktop_main::draw_dialog_label, 1, desktop_aux::str_erasing
|
||||
addr_call upcase_string, path_buf1
|
||||
jsr desktop_main::set_cursor_watch
|
||||
ldxy #path_buf1
|
||||
@ -238,7 +238,7 @@ L0B12: cmp #$2B
|
||||
jmp L0AD1
|
||||
|
||||
L0B1E: jsr desktop_main::bell
|
||||
axy_call desktop_main::draw_dialog_label, 6, desktop_aux::str_erasing_error
|
||||
yax_call desktop_main::draw_dialog_label, 6, desktop_aux::str_erasing_error
|
||||
L0B2A: jsr desktop_main::prompt_input_loop
|
||||
bmi L0B2A
|
||||
beq L0AD1
|
||||
|
21
macros.inc
21
macros.inc
@ -108,14 +108,6 @@ end:
|
||||
|
||||
;;; ============================================================
|
||||
;;; Calls with two parameters (call # in y, address in A,X)
|
||||
;;; (various output orders to match original binary)
|
||||
|
||||
.macro axy_call target, yparam, addr
|
||||
lda #<addr
|
||||
ldx #>addr
|
||||
ldy #yparam
|
||||
jsr target
|
||||
.endmacro
|
||||
|
||||
.macro yax_call target, yparam, addr
|
||||
ldy #yparam
|
||||
@ -124,17 +116,10 @@ end:
|
||||
jsr target
|
||||
.endmacro
|
||||
|
||||
.macro yxa_call target, yparam, addr
|
||||
.macro yax_jump target, yparam, addr
|
||||
ldy #yparam
|
||||
ldx #>addr
|
||||
lda #<addr
|
||||
jsr target
|
||||
.endmacro
|
||||
|
||||
.macro yxa_jump target, yparam, addr
|
||||
ldy #yparam
|
||||
ldx #>addr
|
||||
lda #<addr
|
||||
jmp target
|
||||
.endmacro
|
||||
|
||||
@ -611,6 +596,10 @@ skip:
|
||||
skip: dec arg
|
||||
.endmacro
|
||||
|
||||
;;; ============================================================
|
||||
;;; Param Blocks
|
||||
;;; ============================================================
|
||||
|
||||
;;; Helper macros to set up a scoped block of parameters at a pre-determined
|
||||
;;; address.
|
||||
;;;
|
||||
|
Loading…
x
Reference in New Issue
Block a user