Merge remote-tracking branch 'origin/disasm'

This commit is contained in:
Joshua Bell 2019-01-19 09:43:57 -08:00
commit 1e80673273
4 changed files with 110 additions and 100 deletions

View File

@ -7,6 +7,7 @@
;;; ============================================================ ;;; ============================================================
;;; Segment loaded into AUX $8580-$BFFF (follows MGTK) ;;; Segment loaded into AUX $8580-$BFFF (follows MGTK)
;;; ============================================================ ;;; ============================================================
.proc desktop_aux .proc desktop_aux
.org $8580 .org $8580
@ -2593,20 +2594,26 @@ LA7C8: ldy #4
sta LA6B1 sta LA6B1
sub16 grafport4::viewloc::xcoord, #2, grafport4::viewloc::xcoord sub16 grafport4::viewloc::xcoord, #2, grafport4::viewloc::xcoord
sub16 grafport4::cliprect::x1, #2, grafport4::cliprect::x1 sub16 grafport4::cliprect::x1, #2, grafport4::cliprect::x1
bit LA6B2 bit LA6B2
bmi LA820 bmi LA820
lda grafport4::viewloc::ycoord lda grafport4::viewloc::ycoord
sec sec
sbc #14 sbc #14
sta grafport4::viewloc::ycoord sta grafport4::viewloc::ycoord
bcs LA812 bcs :+
dec grafport4::viewloc::ycoord+1 dec grafport4::viewloc::ycoord+1
LA812: lda grafport4::cliprect::y1 :
lda grafport4::cliprect::y1
sec sec
sbc #14 sbc #14
sta grafport4::cliprect::y1 sta grafport4::cliprect::y1
bcs LA820 bcs :+
dec grafport4::cliprect::y1+1 dec grafport4::cliprect::y1+1
:
LA820: bit LA6B1 LA820: bit LA6B1
bpl LA833 bpl LA833
lda grafport4::cliprect::y2 lda grafport4::cliprect::y2

View File

@ -24,7 +24,7 @@
;;; ============================================================ ;;; ============================================================
;;; MGTK call from main>aux, call in Y, params at (X,A) ;;; MGTK call from main>aux, call in Y, params at (X,A)
.proc MGTK_RELAY_IMPL .proc MGTKRelayImpl
.assert * = MGTK_RELAY, error, "Entry point mismatch" .assert * = MGTK_RELAY, error, "Entry point mismatch"
sty addr-1 sty addr-1
stax addr stax addr
@ -39,7 +39,7 @@
;;; ============================================================ ;;; ============================================================
;;; SET_POS with params at (X,A) followed by DRAW_TEXT call ;;; SET_POS with params at (X,A) followed by DRAW_TEXT call
.proc SETPOS_DRAWTEXT_RELAY .proc SetPosDrawText
stax addr stax addr
sta RAMRDON sta RAMRDON
sta RAMWRTON sta RAMWRTON
@ -55,7 +55,7 @@
;;; ============================================================ ;;; ============================================================
;;; DESKTOP call from main>aux, call in Y params at (X,A) ;;; DESKTOP call from main>aux, call in Y params at (X,A)
.proc DESKTOP_RELAY_IMPL .proc DTRelayImpl
.assert * = DESKTOP_RELAY, error, "Entry point mismatch" .assert * = DESKTOP_RELAY, error, "Entry point mismatch"
sty addr-1 sty addr-1
stax addr stax addr
@ -77,7 +77,7 @@
;;; Find first available free icon in the map; if ;;; Find first available free icon in the map; if
;;; available, mark it and return index+1. ;;; available, mark it and return index+1.
.proc DESKTOP_ALLOC_ICON .proc AllocateIcon
sta RAMRDON sta RAMRDON
sta RAMWRTON sta RAMWRTON
ldx #0 ldx #0
@ -102,7 +102,7 @@ loop: lda free_icon_map,x
;;; Mark the specified icon as free ;;; Mark the specified icon as free
.proc DESKTOP_FREE_ICON .proc FreeIcon
tay tay
sta RAMRDON sta RAMRDON
sta RAMWRTON sta RAMWRTON
@ -117,7 +117,7 @@ loop: lda free_icon_map,x
;;; ============================================================ ;;; ============================================================
;;; Copy data to/from buffers (see cached_window_id / cached_window_icon_list / window_icon_count_table/2) ??? ;;; Copy data to/from buffers (see cached_window_id / cached_window_icon_list / window_icon_count_table/2) ???
.proc DESKTOP_COPY_BUF_IMPL .proc XferWindowIconTable
ptr := $6 ptr := $6
from: from:
@ -184,13 +184,13 @@ done: sta RAMRDOFF
flag: .byte 0 flag: .byte 0
rts ; ??? rts ; ???
.endproc .endproc
DESKTOP_COPY_FROM_BUF := DESKTOP_COPY_BUF_IMPL::from StoreWindowIconTable := XferWindowIconTable::from
DESKTOP_COPY_TO_BUF := DESKTOP_COPY_BUF_IMPL::to LoadWindowIconTable := XferWindowIconTable::to
;;; ============================================================ ;;; ============================================================
;;; Assign active state to active_window_id window ;;; Assign active state to active_window_id window
.proc DESKTOP_ASSIGN_STATE .proc OverwriteWindowPort
src := $6 src := $6
dst := $8 dst := $8
@ -204,12 +204,12 @@ flag: .byte 0
copy16 win_table,x, dst copy16 win_table,x, dst
lda dst lda dst
clc clc
adc #20 ; add offset adc #MGTK::Winfo::port
sta dst sta dst
bcc :+ bcc :+
inc dst+1 inc dst+1
: ldy #35 ; copy 35 bytes into window state : ldy #.sizeof(MGTK::GrafPort)-1
loop: lda (src),y loop: lda (src),y
sta (dst),y sta (dst),y
dey dey
@ -223,7 +223,7 @@ loop: lda (src),y
;;; ============================================================ ;;; ============================================================
;;; From MAIN, load AUX (A,X) into A ;;; From MAIN, load AUX (A,X) into A
.proc DESKTOP_AUXLOAD .proc AuxLoad
stx op+2 stx op+2
sta op+1 sta op+1
sta RAMRDON sta RAMRDON
@ -238,13 +238,13 @@ op: lda dummy1234
;;; From MAIN, show alert ;;; From MAIN, show alert
;;; ...with prompt #0 ;;; ...with prompt #0
.proc DESKTOP_SHOW_ALERT0 .proc ShowAlert
ldx #$00 ldx #$00
;; fall through ;; fall through
.endproc .endproc
;;; ... with prompt # in X ;;; ... with prompt # in X
.proc DESKTOP_SHOW_ALERT .proc ShowAlertOption
sta RAMRDON sta RAMRDON
sta RAMWRTON sta RAMWRTON
jsr desktop_aux::show_alert_indirection jsr desktop_aux::show_alert_indirection

View File

@ -46,19 +46,19 @@ JT_MGTK_RELAY: jmp MGTK_RELAY
JT_SIZE_STRING: jmp compose_blocks_string JT_SIZE_STRING: jmp compose_blocks_string
JT_DATE_STRING: jmp compose_date_string JT_DATE_STRING: jmp compose_date_string
JT_SELECT_WINDOW: jmp select_and_refresh_window JT_SELECT_WINDOW: jmp select_and_refresh_window
JT_AUXLOAD: jmp DESKTOP_AUXLOAD JT_AUXLOAD: jmp AuxLoad
JT_EJECT: jmp cmd_eject JT_EJECT: jmp cmd_eject
JT_REDRAW_ALL: jmp redraw_windows ; * JT_REDRAW_ALL: jmp redraw_windows ; *
JT_DESKTOP_RELAY: jmp DESKTOP_RELAY JT_DESKTOP_RELAY: jmp DESKTOP_RELAY
JT_LOAD_OVL: jmp load_dynamic_routine JT_LOAD_OVL: jmp load_dynamic_routine
JT_CLEAR_SELECTION: jmp clear_selection ; * JT_CLEAR_SELECTION: jmp clear_selection ; *
JT_MLI_RELAY: jmp MLI_RELAY ; * JT_MLI_RELAY: jmp MLI_RELAY ; *
JT_COPY_TO_BUF: jmp DESKTOP_COPY_TO_BUF JT_COPY_TO_BUF: jmp LoadWindowIconTable
JT_COPY_FROM_BUF: jmp DESKTOP_COPY_FROM_BUF JT_COPY_FROM_BUF: jmp StoreWindowIconTable
JT_NOOP: jmp cmd_noop JT_NOOP: jmp cmd_noop
JT_FILE_TYPE_STRING: jmp compose_file_type_string JT_FILE_TYPE_STRING: jmp compose_file_type_string
JT_SHOW_ALERT0: jmp DESKTOP_SHOW_ALERT0 JT_SHOW_ALERT0: jmp ShowAlert
JT_SHOW_ALERT: jmp DESKTOP_SHOW_ALERT JT_SHOW_ALERT: jmp ShowAlertOption
JT_LAUNCH_FILE: jmp launch_file JT_LAUNCH_FILE: jmp launch_file
JT_CUR_POINTER: jmp set_pointer_cursor ; * JT_CUR_POINTER: jmp set_pointer_cursor ; *
JT_CUR_WATCH: jmp set_watch_cursor JT_CUR_WATCH: jmp set_watch_cursor
@ -95,7 +95,7 @@ iloop: cpx cached_window_icon_count
jmp iloop jmp iloop
skip: copy #0, cached_window_id skip: copy #0, cached_window_id
jsr DESKTOP_COPY_FROM_BUF jsr StoreWindowIconTable
;; Clear various flags ;; Clear various flags
lda #0 lda #0
@ -108,7 +108,7 @@ skip: copy #0, cached_window_id
lda pending_alert lda pending_alert
beq main_loop beq main_loop
tay tay
jsr DESKTOP_SHOW_ALERT0 jsr ShowAlert
;; Main loop ;; Main loop
main_loop: main_loop:
@ -191,7 +191,7 @@ L4113: MGTK_RELAY_CALL MGTK::BeginUpdate, event_window_id
rts rts
L412B: copy #0, cached_window_id L412B: copy #0, cached_window_id
jsr DESKTOP_COPY_TO_BUF jsr LoadWindowIconTable
lda L40F0 lda L40F0
sta active_window_id sta active_window_id
beq L4143 beq L4143
@ -221,14 +221,14 @@ draw_window_header_flag: .byte 0
L415B: sta active_window_id L415B: sta active_window_id
sta cached_window_id sta cached_window_id
jsr DESKTOP_COPY_TO_BUF jsr LoadWindowIconTable
copy #$80, draw_window_header_flag copy #$80, draw_window_header_flag
copy cached_window_id, getwinport_params2::window_id copy cached_window_id, getwinport_params2::window_id
jsr get_port2 jsr get_port2
jsr draw_window_header jsr draw_window_header
lda active_window_id lda active_window_id
jsr copy_window_portbits jsr copy_window_portbits
jsr DESKTOP_ASSIGN_STATE jsr OverwriteWindowPort
lda active_window_id lda active_window_id
jsr window_lookup jsr window_lookup
stax $06 stax $06
@ -606,10 +606,10 @@ start: jsr clear_selection
L44A6: MGTK_RELAY_CALL MGTK::SelectWindow, findwindow_window_id L44A6: MGTK_RELAY_CALL MGTK::SelectWindow, findwindow_window_id
copy findwindow_window_id, active_window_id copy findwindow_window_id, active_window_id
sta cached_window_id sta cached_window_id
jsr DESKTOP_COPY_TO_BUF jsr LoadWindowIconTable
jsr L6C19 jsr L6C19
copy #0, cached_window_id copy #0, cached_window_id
jsr DESKTOP_COPY_TO_BUF jsr LoadWindowIconTable
copy #MGTK::checkitem_uncheck, checkitem_params::check copy #MGTK::checkitem_uncheck, checkitem_params::check
MGTK_RELAY_CALL MGTK::CheckItem, checkitem_params MGTK_RELAY_CALL MGTK::CheckItem, checkitem_params
ldx active_window_id ldx active_window_id
@ -916,7 +916,7 @@ begin:
;; Get the file info to determine type. ;; Get the file info to determine type.
MLI_RELAY_CALL GET_FILE_INFO, get_file_info_params MLI_RELAY_CALL GET_FILE_INFO, get_file_info_params
beq :+ beq :+
jsr DESKTOP_SHOW_ALERT0 jsr ShowAlert
rts rts
;; Check file type. ;; Check file type.
@ -1001,7 +1001,7 @@ not_found:
no_bs: lda #ERR_BASIC_SYS_NOT_FOUND no_bs: lda #ERR_BASIC_SYS_NOT_FOUND
show_alert_and_fail: show_alert_and_fail:
jsr DESKTOP_SHOW_ALERT0 jsr ShowAlert
pla ; pop caller address, return to its caller pla ; pop caller address, return to its caller
pla pla
rts rts
@ -1909,7 +1909,7 @@ L4E78: jsr clear_selection
dec LEC2E dec LEC2E
lda active_window_id lda active_window_id
sta cached_window_id sta cached_window_id
jsr DESKTOP_COPY_TO_BUF jsr LoadWindowIconTable
ldx active_window_id ldx active_window_id
dex dex
lda win_view_by_table,x lda win_view_by_table,x
@ -1923,7 +1923,7 @@ L4E78: jsr clear_selection
L4EA5: cpx cached_window_icon_count L4EA5: cpx cached_window_icon_count
beq L4EB4 beq L4EB4
lda cached_window_icon_list,x lda cached_window_icon_list,x
jsr DESKTOP_FREE_ICON jsr FreeIcon
inx inx
jmp L4EA5 jmp L4EA5
@ -1936,9 +1936,9 @@ L4EB7: sta cached_window_icon_list,x
jmp L4EB7 jmp L4EB7
L4EC3: sta cached_window_icon_count L4EC3: sta cached_window_icon_count
jsr DESKTOP_COPY_FROM_BUF jsr StoreWindowIconTable
copy #0, cached_window_id copy #0, cached_window_id
jsr DESKTOP_COPY_TO_BUF jsr LoadWindowIconTable
MGTK_RELAY_CALL MGTK::CloseWindow, active_window_id MGTK_RELAY_CALL MGTK::CloseWindow, active_window_id
ldx active_window_id ldx active_window_id
dex dex
@ -2046,7 +2046,7 @@ L4FD4: copy #$80, new_folder_dialog_params::phase
beq success beq success
;; Failure ;; Failure
jsr DESKTOP_SHOW_ALERT0 jsr ShowAlert
copy16 L504E, new_folder_dialog_params::win_path_ptr copy16 L504E, new_folder_dialog_params::win_path_ptr
jmp L4FC6 jmp L4FC6
@ -2166,7 +2166,7 @@ start:
quit: jmp quit_code_addr quit: jmp quit_code_addr
fail: jsr DESKTOP_SHOW_ALERT fail: jsr ShowAlert
rts rts
.endproc .endproc
@ -2187,7 +2187,7 @@ fail: jsr DESKTOP_SHOW_ALERT
entry: entry:
: lda active_window_id : lda active_window_id
sta cached_window_id sta cached_window_id
jsr DESKTOP_COPY_TO_BUF jsr LoadWindowIconTable
ldx #$00 ldx #$00
txa txa
: cpx cached_window_icon_count : cpx cached_window_icon_count
@ -2250,7 +2250,7 @@ L518D: lda L51EF
L51A7: jsr reset_grafport3 L51A7: jsr reset_grafport3
jsr cached_icons_screen_to_window jsr cached_icons_screen_to_window
jsr DESKTOP_COPY_FROM_BUF jsr StoreWindowIconTable
jsr update_scrollbars jsr update_scrollbars
lda selected_window_index lda selected_window_index
beq L51E3 beq L51E3
@ -2268,7 +2268,7 @@ L51C0: ldx L51EF
dec L51EF dec L51EF
bne L51C0 bne L51C0
L51E3: copy #0, cached_window_id L51E3: copy #0, cached_window_id
jmp DESKTOP_COPY_TO_BUF jmp LoadWindowIconTable
L51EB: .word 0 L51EB: .word 0
L51ED: .byte 0 L51ED: .byte 0
@ -2284,9 +2284,9 @@ L51EF: .byte 0
sta win_view_by_table,x sta win_view_by_table,x
lda active_window_id lda active_window_id
sta cached_window_id sta cached_window_id
jsr DESKTOP_COPY_TO_BUF jsr LoadWindowIconTable
jsr sort_records jsr sort_records
jsr DESKTOP_COPY_FROM_BUF jsr StoreWindowIconTable
lda active_window_id lda active_window_id
sta getwinport_params2::window_id sta getwinport_params2::window_id
jsr get_port2 jsr get_port2
@ -2435,7 +2435,7 @@ L5265: .byte 0
DESKTOP_RELAY_CALL DT_CLOSE_WINDOW, active_window_id DESKTOP_RELAY_CALL DT_CLOSE_WINDOW, active_window_id
lda active_window_id lda active_window_id
sta cached_window_id sta cached_window_id
jsr DESKTOP_COPY_TO_BUF jsr LoadWindowIconTable
lda icon_count lda icon_count
sec sec
sbc cached_window_icon_count sbc cached_window_icon_count
@ -2444,14 +2444,14 @@ L5265: .byte 0
loop: cpx cached_window_icon_count loop: cpx cached_window_icon_count
beq done beq done
lda cached_window_icon_list,x lda cached_window_icon_list,x
jsr DESKTOP_FREE_ICON jsr FreeIcon
copy #0, cached_window_icon_list,x copy #0, cached_window_icon_list,x
inx inx
jmp loop jmp loop
done: jsr DESKTOP_COPY_FROM_BUF done: jsr StoreWindowIconTable
copy #0, cached_window_id copy #0, cached_window_id
jmp DESKTOP_COPY_TO_BUF jmp LoadWindowIconTable
.endproc .endproc
;;; ============================================================ ;;; ============================================================
@ -2658,7 +2658,7 @@ L545A: tax
L5464: lda active_window_id L5464: lda active_window_id
sta cached_window_id sta cached_window_id
jsr DESKTOP_COPY_TO_BUF jsr LoadWindowIconTable
lda active_window_id lda active_window_id
jsr window_lookup jsr window_lookup
stax $06 stax $06
@ -2695,7 +2695,7 @@ L54B7: pla
jmp L5485 jmp L5485
L54BD: copy #0, cached_window_id L54BD: copy #0, cached_window_id
jsr DESKTOP_COPY_TO_BUF jsr LoadWindowIconTable
L54C5: ldx $1800 L54C5: ldx $1800
ldy #$00 ldy #$00
L54CA: lda cached_window_icon_list,y L54CA: lda cached_window_icon_list,y
@ -2880,7 +2880,7 @@ L566A: ldx active_window_id
rts rts
L5676: copy active_window_id, cached_window_id L5676: copy active_window_id, cached_window_id
jsr DESKTOP_COPY_TO_BUF jsr LoadWindowIconTable
lda cached_window_icon_count lda cached_window_icon_count
bne L5687 bne L5687
jmp L56F0 jmp L56F0
@ -2917,7 +2917,7 @@ L56E3: dec L56F8
beq L56F0 beq L56F0
jsr reset_grafport3 jsr reset_grafport3
L56F0: copy #0, cached_window_id L56F0: copy #0, cached_window_id
jmp DESKTOP_COPY_TO_BUF jmp LoadWindowIconTable
L56F8: .byte 0 L56F8: .byte 0
.endproc .endproc
@ -3040,7 +3040,7 @@ loop: jsr get_event
bne :+ bne :+
done: copy #0, cached_window_id done: copy #0, cached_window_id
jsr DESKTOP_COPY_TO_BUF jsr LoadWindowIconTable
rts rts
;; Horizontal ok? ;; Horizontal ok?
@ -3080,7 +3080,7 @@ vertical:
.proc L5803 .proc L5803
lda active_window_id lda active_window_id
sta cached_window_id sta cached_window_id
jsr DESKTOP_COPY_TO_BUF jsr LoadWindowIconTable
ldx active_window_id ldx active_window_id
dex dex
lda win_view_by_table,x lda win_view_by_table,x
@ -3229,7 +3229,7 @@ L58AD: .byte 0
sta pending_alert sta pending_alert
sta cached_window_id sta cached_window_id
jsr DESKTOP_COPY_TO_BUF jsr LoadWindowIconTable
jsr cmd_close_all jsr cmd_close_all
jsr clear_selection jsr clear_selection
ldx cached_window_icon_count ldx cached_window_icon_count
@ -3244,7 +3244,7 @@ L5916: lda cached_window_icon_list,x
copy #0, cached_window_icon_list,x copy #0, cached_window_icon_list,x
DESKTOP_RELAY_CALL DT_REMOVE_ICON, icon_param DESKTOP_RELAY_CALL DT_REMOVE_ICON, icon_param
lda icon_param lda icon_param
jsr DESKTOP_FREE_ICON jsr FreeIcon
dec cached_window_icon_count dec cached_window_icon_count
dec icon_count dec icon_count
pla pla
@ -3276,8 +3276,8 @@ L5976: cpx cached_window_icon_count
bne L5986 bne L5986
lda pending_alert lda pending_alert
beq L5983 beq L5983
jsr DESKTOP_SHOW_ALERT0 jsr ShowAlert
L5983: jmp DESKTOP_COPY_FROM_BUF L5983: jmp StoreWindowIconTable
L5986: txa L5986: txa
pha pha
@ -3327,7 +3327,7 @@ by_icon_number:
start: sta check_drive_flags start: sta check_drive_flags
copy #0, cached_window_id copy #0, cached_window_id
jsr DESKTOP_COPY_TO_BUF jsr LoadWindowIconTable
bit check_drive_flags bit check_drive_flags
bpl explicit_command bpl explicit_command
bvc after_format_erase bvc after_format_erase
@ -3429,7 +3429,7 @@ not_in_map:
jsr redraw_windows_and_desktop jsr redraw_windows_and_desktop
jsr clear_selection jsr clear_selection
copy #0, cached_window_id copy #0, cached_window_id
jsr DESKTOP_COPY_TO_BUF jsr LoadWindowIconTable
lda devlst_index lda devlst_index
tay tay
@ -3441,7 +3441,7 @@ not_in_map:
jsr remove_icon_from_window jsr remove_icon_from_window
dec icon_count dec icon_count
lda icon_param lda icon_param
jsr DESKTOP_FREE_ICON jsr FreeIcon
jsr reset_grafport3 jsr reset_grafport3
DESKTOP_RELAY_CALL DT_REMOVE_ICON, icon_param DESKTOP_RELAY_CALL DT_REMOVE_ICON, icon_param
@ -3465,9 +3465,9 @@ not_in_map:
cmp #$2F ; there was an error ($2F = ???) cmp #$2F ; there was an error ($2F = ???)
beq add_icon beq add_icon
pha pha
jsr DESKTOP_COPY_FROM_BUF jsr StoreWindowIconTable
pla pla
jsr DESKTOP_SHOW_ALERT0 jsr ShowAlert
rts rts
add_icon: add_icon:
@ -3483,7 +3483,7 @@ add_icon:
ldy #DT_ADD_ICON ldy #DT_ADD_ICON
jsr DESKTOP_RELAY ; icon entry addr in A,X jsr DESKTOP_RELAY ; icon entry addr in A,X
: jsr DESKTOP_COPY_FROM_BUF : jsr StoreWindowIconTable
jmp redraw_windows_and_desktop jmp redraw_windows_and_desktop
previous_icon_count: previous_icon_count:
@ -3552,7 +3552,7 @@ active_window_view_by:
.proc handle_client_click .proc handle_client_click
lda active_window_id lda active_window_id
sta cached_window_id sta cached_window_id
jsr DESKTOP_COPY_TO_BUF jsr LoadWindowIconTable
ldx active_window_id ldx active_window_id
dex dex
lda win_view_by_table,x lda win_view_by_table,x
@ -3667,9 +3667,9 @@ pgrt: jsr L64B0
jmp done_client_click jmp done_client_click
done_client_click: done_client_click:
jsr DESKTOP_COPY_FROM_BUF jsr StoreWindowIconTable
copy #0, cached_window_id copy #0, cached_window_id
jmp DESKTOP_COPY_TO_BUF jmp LoadWindowIconTable
.endproc .endproc
;;; ============================================================ ;;; ============================================================
@ -3682,9 +3682,9 @@ done_client_click:
bne :+ bne :+
rts rts
: jsr L5C54 : jsr L5C54
jsr DESKTOP_COPY_FROM_BUF jsr StoreWindowIconTable
copy #0, cached_window_id copy #0, cached_window_id
jmp DESKTOP_COPY_TO_BUF jmp LoadWindowIconTable
.endproc .endproc
;;; ============================================================ ;;; ============================================================
@ -3860,9 +3860,9 @@ L5DC4: txa
jsr update_scrollbars jsr update_scrollbars
jsr cached_icons_screen_to_window jsr cached_icons_screen_to_window
jsr reset_grafport3 jsr reset_grafport3
L5DEC: jsr DESKTOP_COPY_FROM_BUF L5DEC: jsr StoreWindowIconTable
copy #0, cached_window_id copy #0, cached_window_id
jmp DESKTOP_COPY_TO_BUF jmp LoadWindowIconTable
L5DF7: ldx saved_stack L5DF7: ldx saved_stack
txs txs
@ -3978,10 +3978,10 @@ L5E77: .byte 0
pla pla
jsr open_directory jsr open_directory
jsr cmd_view_by_icon::entry jsr cmd_view_by_icon::entry
jsr DESKTOP_COPY_FROM_BUF jsr StoreWindowIconTable
lda active_window_id lda active_window_id
sta cached_window_id sta cached_window_id
jsr DESKTOP_COPY_TO_BUF jsr LoadWindowIconTable
copy active_window_id, getwinport_params2::window_id copy active_window_id, getwinport_params2::window_id
jsr get_port2 jsr get_port2
jsr draw_window_header jsr draw_window_header
@ -3992,7 +3992,7 @@ L5E77: .byte 0
copy #1, menu_click_params::item_num copy #1, menu_click_params::item_num
jsr update_view_menu_check jsr update_view_menu_check
copy #0, cached_window_id copy #0, cached_window_id
jmp DESKTOP_COPY_TO_BUF jmp LoadWindowIconTable
window_id: window_id:
.byte 0 .byte 0
@ -4172,13 +4172,13 @@ L6112: ldy #$14
L6143: lda active_window_id L6143: lda active_window_id
sta cached_window_id sta cached_window_id
jsr DESKTOP_COPY_TO_BUF jsr LoadWindowIconTable
ldx #$00 ldx #$00
L614E: cpx cached_window_icon_count L614E: cpx cached_window_icon_count
bne L6161 bne L6161
jsr DESKTOP_COPY_FROM_BUF jsr StoreWindowIconTable
copy #0, cached_window_id copy #0, cached_window_id
jsr DESKTOP_COPY_TO_BUF jsr LoadWindowIconTable
jmp L6196 jmp L6196
L6161: txa L6161: txa
@ -4211,12 +4211,12 @@ L6199: .word 0
jsr redraw_windows_and_desktop jsr redraw_windows_and_desktop
lda active_window_id lda active_window_id
sta cached_window_id sta cached_window_id
jsr DESKTOP_COPY_TO_BUF jsr LoadWindowIconTable
jsr cached_icons_window_to_screen jsr cached_icons_window_to_screen
jsr update_scrollbars jsr update_scrollbars
jsr cached_icons_screen_to_window jsr cached_icons_screen_to_window
copy #0, cached_window_id copy #0, cached_window_id
jsr DESKTOP_COPY_TO_BUF jsr LoadWindowIconTable
jmp reset_grafport3 jmp reset_grafport3
.endproc .endproc
@ -4232,7 +4232,7 @@ handle_close_click:
.proc close_window .proc close_window
lda active_window_id lda active_window_id
sta cached_window_id sta cached_window_id
jsr DESKTOP_COPY_TO_BUF jsr LoadWindowIconTable
jsr clear_selection jsr clear_selection
ldx active_window_id ldx active_window_id
dex dex
@ -4247,7 +4247,7 @@ handle_close_click:
L6206: cpx cached_window_icon_count L6206: cpx cached_window_icon_count
beq L6215 beq L6215
lda cached_window_icon_list,x lda cached_window_icon_list,x
jsr DESKTOP_FREE_ICON jsr FreeIcon
inx inx
jmp L6206 jmp L6206
@ -4261,7 +4261,7 @@ L621B: sta cached_window_icon_list,x
jmp L621B jmp L621B
L6227: sta cached_window_icon_count L6227: sta cached_window_icon_count
jsr DESKTOP_COPY_FROM_BUF jsr StoreWindowIconTable
MGTK_RELAY_CALL MGTK::CloseWindow, active_window_id MGTK_RELAY_CALL MGTK::CloseWindow, active_window_id
ldx active_window_id ldx active_window_id
dex dex
@ -4300,7 +4300,7 @@ L6276: ldx active_window_id
sta win_view_by_table,x sta win_view_by_table,x
MGTK_RELAY_CALL MGTK::FrontWindow, active_window_id MGTK_RELAY_CALL MGTK::FrontWindow, active_window_id
copy #0, cached_window_id copy #0, cached_window_id
jsr DESKTOP_COPY_TO_BUF jsr LoadWindowIconTable
lda #MGTK::checkitem_uncheck lda #MGTK::checkitem_uncheck
sta checkitem_params::check sta checkitem_params::check
MGTK_RELAY_CALL MGTK::CheckItem, checkitem_params MGTK_RELAY_CALL MGTK::CheckItem, checkitem_params
@ -4848,7 +4848,7 @@ L6880: lda findicon_which_icon
cmp trash_icon_num cmp trash_icon_num
beq L688E beq L688E
jsr open_folder_or_volume_icon jsr open_folder_or_volume_icon
jsr DESKTOP_COPY_FROM_BUF jsr StoreWindowIconTable
L688E: rts L688E: rts
L688F: ldx selected_icon_count L688F: ldx selected_icon_count
@ -5021,7 +5021,7 @@ L6A80: inx
.proc open_folder_or_volume_icon .proc open_folder_or_volume_icon
sta icon_params2 sta icon_params2
jsr DESKTOP_COPY_FROM_BUF jsr StoreWindowIconTable
lda icon_params2 lda icon_params2
ldx #$07 ldx #$07
L6A95: cmp window_to_dir_icon_table,x L6A95: cmp window_to_dir_icon_table,x
@ -5036,7 +5036,7 @@ L6AA0: inx
rts rts
L6AA7: stx cached_window_id L6AA7: stx cached_window_id
jsr DESKTOP_COPY_TO_BUF jsr LoadWindowIconTable
lda icon_params2 lda icon_params2
jsr icon_entry_lookup jsr icon_entry_lookup
stax $06 stax $06
@ -5074,7 +5074,7 @@ L6B01: MGTK_RELAY_CALL MGTK::SelectWindow, cached_window_id
jsr L6C19 jsr L6C19
jsr redraw_windows jsr redraw_windows
copy #0, cached_window_id copy #0, cached_window_id
jmp DESKTOP_COPY_TO_BUF jmp LoadWindowIconTable
L6B1E: lda LEC2E L6B1E: lda LEC2E
cmp #$08 cmp #$08
@ -5095,7 +5095,7 @@ L6B3A: lda icon_params2
sta window_to_dir_icon_table,x sta window_to_dir_icon_table,x
inx inx
stx cached_window_id stx cached_window_id
jsr DESKTOP_COPY_TO_BUF jsr LoadWindowIconTable
inc LEC2E inc LEC2E
ldx cached_window_id ldx cached_window_id
dex dex
@ -5164,9 +5164,9 @@ L6BF4: lda cached_window_id
sta active_window_id sta active_window_id
jsr update_scrollbars jsr update_scrollbars
jsr cached_icons_screen_to_window jsr cached_icons_screen_to_window
jsr DESKTOP_COPY_FROM_BUF jsr StoreWindowIconTable
copy #0, cached_window_id copy #0, cached_window_id
jsr DESKTOP_COPY_TO_BUF jsr LoadWindowIconTable
jmp reset_grafport3 jmp reset_grafport3
L6C0E: .byte 0 L6C0E: .byte 0
@ -5955,7 +5955,7 @@ L72A8: .word 0
.proc do_open .proc do_open
MLI_RELAY_CALL OPEN, open_params MLI_RELAY_CALL OPEN, open_params
beq done beq done
jsr DESKTOP_SHOW_ALERT0 jsr ShowAlert
jsr mark_icons_not_opened_2 jsr mark_icons_not_opened_2
lda selected_window_index lda selected_window_index
bne :+ bne :+
@ -6183,7 +6183,7 @@ L74D3: tay
cmp #$43 cmp #$43
bcc L750D bcc L750D
lda #ERR_INVALID_PATHNAME lda #ERR_INVALID_PATHNAME
jsr DESKTOP_SHOW_ALERT0 jsr ShowAlert
jsr mark_icons_not_opened_2 jsr mark_icons_not_opened_2
dec LEC2E dec LEC2E
ldx saved_stack ldx saved_stack
@ -6474,7 +6474,7 @@ L7767: .byte $14
name_tmp := $1800 name_tmp := $1800
inc icon_count inc icon_count
jsr DESKTOP_ALLOC_ICON jsr AllocateIcon
ldx cached_window_icon_count ldx cached_window_icon_count
inc cached_window_icon_count inc cached_window_icon_count
sta cached_window_icon_list,x sta cached_window_icon_list,x
@ -7771,13 +7771,13 @@ L81E8: cmp16 pos_col_name::ycoord, grafport2::cliprect::y1
rts rts
L81F7: jsr prepare_col_name L81F7: jsr prepare_col_name
addr_call SETPOS_DRAWTEXT_RELAY, pos_col_name addr_call SetPosDrawText, pos_col_name
jsr prepare_col_type jsr prepare_col_type
addr_call SETPOS_DRAWTEXT_RELAY, pos_col_type addr_call SetPosDrawText, pos_col_type
jsr prepare_col_size jsr prepare_col_size
addr_call SETPOS_DRAWTEXT_RELAY, pos_col_size addr_call SetPosDrawText, pos_col_size
jsr compose_date_string jsr compose_date_string
addr_jump SETPOS_DRAWTEXT_RELAY, pos_col_date addr_jump SetPosDrawText, pos_col_date
.endproc .endproc
L813F := L813F_impl::start L813F := L813F_impl::start
@ -8723,7 +8723,7 @@ create_icon:
icon_defn_ptr := $8 icon_defn_ptr := $8
jsr push_pointers jsr push_pointers
jsr DESKTOP_ALLOC_ICON jsr AllocateIcon
ldy devlst_index ldy devlst_index
sta device_to_icon_map,y sta device_to_icon_map,y
jsr icon_entry_lookup jsr icon_entry_lookup
@ -15200,7 +15200,7 @@ trash_name: PASCAL_STRING " Trash "
lda #1 lda #1
sta cached_window_icon_count sta cached_window_icon_count
sta icon_count sta icon_count
jsr DESKTOP_ALLOC_ICON jsr AllocateIcon
sta trash_icon_num sta trash_icon_num
sta cached_window_icon_list sta cached_window_icon_list
jsr desktop_main::icon_entry_lookup jsr desktop_main::icon_entry_lookup

View File

@ -2,9 +2,10 @@
;;; DeskTop - Resources ;;; DeskTop - Resources
;;; ;;;
;;; Compiled as part of desktop.s via desktop_lc.s ;;; Compiled as part of desktop.s via desktop_lc.s
;;; ;;; ============================================================
;;; Also compiled via desktop_res_builder.s to extract
;;; addresses and build desktop_res.inc used by overlays ;;; ============================================================
;;; Segment loaded into AUX $D200-$ECFF
;;; ============================================================ ;;; ============================================================
.assert * = $D200, error, "Addr mismatch" .assert * = $D200, error, "Addr mismatch"
@ -1379,6 +1380,8 @@ date: .word 0
icon_entries: icon_entries:
.assert ($FB00 - *) >= 127 * .sizeof(IconEntry), error, "Not enough room for icons" .assert ($FB00 - *) >= 127 * .sizeof(IconEntry), error, "Not enough room for icons"
;;; ============================================================
;;; Segment loaded into AUX $FB00-$FFFF
;;; ============================================================ ;;; ============================================================
.org $FB00 .org $FB00