diff --git a/desk.acc/run.basic.here.s b/desk.acc/run.basic.here.s index 2e51009..4dd7966 100644 --- a/desk.acc/run.basic.here.s +++ b/desk.acc/run.basic.here.s @@ -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 diff --git a/desktop.system/desktop.system.s b/desktop.system/desktop.system.s index ec8d3fb..422dcb8 100644 --- a/desktop.system/desktop.system.s +++ b/desktop.system/desktop.system.s @@ -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 diff --git a/desktop/desktop_main.s b/desktop/desktop_main.s index 63e80ef..2b08061 100644 --- a/desktop/desktop_main.s +++ b/desktop/desktop_main.s @@ -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 diff --git a/desktop/ovl2.s b/desktop/ovl2.s index 758ebd9..0379973 100644 --- a/desktop/ovl2.s +++ b/desktop/ovl2.s @@ -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 diff --git a/macros.inc b/macros.inc index cfb3c55..d375486 100644 --- a/macros.inc +++ b/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 - 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 - lda #