diff --git a/desk.acc/show.text.file/a2d.inc b/desk.acc/show.text.file/a2d.inc index 2e62782..7cc04fc 100644 --- a/desk.acc/show.text.file/a2d.inc +++ b/desk.acc/show.text.file/a2d.inc @@ -7,21 +7,27 @@ A2D := $4000 UNKNOWN_CALL := $8E00 -JUMP_TABLE_01 := $4015 ; ??? -JUMP_TABLE_02 := $4018 -JUMP_TABLE_03 := $401E -JUMP_TABLE_04 := $4021 -JUMP_TABLE_05 := $4021 -JUMP_TABLE_06 := $4024 -JUMP_TABLE_07 := $4027 -JUMP_TABLE_08 := $402A -JUMP_TABLE_09 := $402D -JUMP_TABLE_10 := $4030 -JUMP_TABLE_11 := $4033 -JUMP_TABLE_12 := $4036 -JUMP_TABLE_13 := $4039 -JUMP_TABLE_14 := $403C -JUMP_TABLE_15 := $403F + ;; These must be called from main memory (RAMRDON/RAMWRTON) +JUMP_TABLE_03 := $4003 ; ??? +JUMP_TABLE_06 := $4006 ; ??? +JUMP_TABLE_09 := $4009 ; ??? +JUMP_TABLE_0C := $400C ; ??? (made "items/in disk/..." redraw oddly) +JUMP_TABLE_0F := $400F ; ??? +JUMP_TABLE_12 := $4012 ; ??? +JUMP_TABLE_15 := $4015 ; ??? +JUMP_TABLE_18 := $4018 ; ??? +JUMP_TABLE_CLEAR_SEL := $401E ; Clear DeskTop selection +JUMP_TABLE_21 := $4021 ; ??? +JUMP_TABLE_24 := $4024 ; ??? +JUMP_TABLE_27 := $4027 ; ??? +JUMP_TABLE_2A := $402A ; ??? +JUMP_TABLE_2D := $402D ; ??? +JUMP_TABLE_30 := $4030 ; ??? +JUMP_TABLE_33 := $4033 ; Shows "The syntax of the pathname is invalid.", hangs +JUMP_TABLE_36 := $4036 ; ditto +JUMP_TABLE_CUR_POINTER := $4039 ; Changes mouse cursor to pointer +JUMP_TABLE_CUR_WATCH := $403C ; Changes mouse cursor to watch +JUMP_TABLE_3F := $403F ; ??? A2D_UNK_03 := $03 ; Unknown - used in calculator after frame is drawn diff --git a/desk.acc/show.text.file/stf.list b/desk.acc/show.text.file/stf.list index 278d7f4..6c008bf 100644 --- a/desk.acc/show.text.file/stf.list +++ b/desk.acc/show.text.file/stf.list @@ -84,21 +84,27 @@ Current file: stf.s 000800 2 000800 2 UNKNOWN_CALL := $8E00 000800 2 -000800 2 JUMP_TABLE_01 := $4015 ; ??? -000800 2 JUMP_TABLE_02 := $4018 -000800 2 JUMP_TABLE_03 := $401E -000800 2 JUMP_TABLE_04 := $4021 -000800 2 JUMP_TABLE_05 := $4021 -000800 2 JUMP_TABLE_06 := $4024 -000800 2 JUMP_TABLE_07 := $4027 -000800 2 JUMP_TABLE_08 := $402A -000800 2 JUMP_TABLE_09 := $402D -000800 2 JUMP_TABLE_10 := $4030 -000800 2 JUMP_TABLE_11 := $4033 -000800 2 JUMP_TABLE_12 := $4036 -000800 2 JUMP_TABLE_13 := $4039 -000800 2 JUMP_TABLE_14 := $403C -000800 2 JUMP_TABLE_15 := $403F +000800 2 ;; These must be called from main memory (RAMRDON/RAMWRTON) +000800 2 JUMP_TABLE_03 := $4003 ; ??? +000800 2 JUMP_TABLE_06 := $4006 ; ??? +000800 2 JUMP_TABLE_09 := $4009 ; ??? +000800 2 JUMP_TABLE_0C := $400C ; ??? (made "items/in disk/..." redraw oddly) +000800 2 JUMP_TABLE_0F := $400F ; ??? +000800 2 JUMP_TABLE_12 := $4012 ; ??? +000800 2 JUMP_TABLE_15 := $4015 ; ??? +000800 2 JUMP_TABLE_18 := $4018 ; ??? +000800 2 JUMP_TABLE_CLEAR_SEL := $401E ; Clear DeskTop selection +000800 2 JUMP_TABLE_21 := $4021 ; ??? +000800 2 JUMP_TABLE_24 := $4024 ; ??? +000800 2 JUMP_TABLE_27 := $4027 ; ??? +000800 2 JUMP_TABLE_2A := $402A ; ??? +000800 2 JUMP_TABLE_2D := $402D ; ??? +000800 2 JUMP_TABLE_30 := $4030 ; ??? +000800 2 JUMP_TABLE_33 := $4033 ; Shows "The syntax of the pathname is invalid.", hangs +000800 2 JUMP_TABLE_36 := $4036 ; ditto +000800 2 JUMP_TABLE_CUR_POINTER := $4039 ; Changes mouse cursor to pointer +000800 2 JUMP_TABLE_CUR_WATCH := $403C ; Changes mouse cursor to watch +000800 2 JUMP_TABLE_3F := $403F ; ??? 000800 2 000800 2 A2D_UNK_03 := $03 ; Unknown - used in calculator after frame is drawn 000800 2 @@ -763,10 +769,10 @@ Current file: stf.s 000A5F 1 E6 07 inc src+1 000A61 1 20 72 0A : jsr copy_pathname ; copy x bytes (src) to (dst) 000A64 1 -000A64 1 ;; ??? -000A64 1 A9 1E lda #JUMP_TABLE_03 +000A68 1 A9 40 lda #>JUMP_TABLE_CLEAR_SEL 000A6A 1 85 28 sta call_main_addr+1 000A6C 1 20 20 00 jsr call_main_trampoline 000A6F 1 @@ -920,15 +926,15 @@ Current file: stf.s 000B73 1 AD 98 09 wider: lda window_params::hscroll 000B76 1 AE 61 09 ldx window_width 000B79 1 E0 00 cpx #max_width -000B82 1 D0 05 bne L0B89 -000B84 1 29 FE and #(A2D_CWS_SCROLL_TRACK ^ $FF) -000B86 1 4C 8B 0B jmp L0B8B +000B82 1 D0 05 bne enable +000B84 1 29 FE and #(A2D_CWS_SCROLL_TRACK ^ $FF) ; disable scroll +000B86 1 4C 8B 0B jmp skip 000B89 1 -000B89 1 09 01 L0B89: ora #A2D_CWS_SCROLL_TRACK -000B8B 1 8D 98 09 L0B8B: sta window_params::hscroll +000B89 1 09 01 enable: ora #A2D_CWS_SCROLL_TRACK ; enable scroll +000B8B 1 8D 98 09 skip: sta window_params::hscroll 000B8E 1 38 sec 000B8F 1 A9 00 lda #JUMP_TABLE_01 +001101 1 A9 40 lda #>JUMP_TABLE_15 001103 1 85 28 sta call_main_addr+1 001105 1 20 20 00 jsr call_main_trampoline 001108 1 60 rts diff --git a/desk.acc/show.text.file/stf.o b/desk.acc/show.text.file/stf.o index 2b2e85b..c6fb3c3 100644 Binary files a/desk.acc/show.text.file/stf.o and b/desk.acc/show.text.file/stf.o differ diff --git a/desk.acc/show.text.file/stf.s b/desk.acc/show.text.file/stf.s index 86136d1..ed901c7 100644 --- a/desk.acc/show.text.file/stf.s +++ b/desk.acc/show.text.file/stf.s @@ -462,10 +462,10 @@ abort: rts inc src+1 : jsr copy_pathname ; copy x bytes (src) to (dst) - ;; ??? - lda #JUMP_TABLE_03 + lda #>JUMP_TABLE_CLEAR_SEL sta call_main_addr+1 jsr call_main_trampoline @@ -611,15 +611,15 @@ title: jsr on_title_bar_click wider: lda window_params::hscroll ldx window_width cpx #max_width - bne L0B89 - and #(A2D_CWS_SCROLL_TRACK ^ $FF) - jmp L0B8B + bne enable + and #(A2D_CWS_SCROLL_TRACK ^ $FF) ; disable scroll + jmp skip -L0B89: ora #A2D_CWS_SCROLL_TRACK -L0B8B: sta window_params::hscroll +enable: ora #A2D_CWS_SCROLL_TRACK ; enable scroll +skip: sta window_params::hscroll sec lda #JUMP_TABLE_01 + lda #>JUMP_TABLE_15 sta call_main_addr+1 jsr call_main_trampoline rts