Jump table identifications

This commit is contained in:
Joshua Bell 2017-09-03 20:07:05 -07:00
parent 454d2db7f6
commit 4e786a7ccf
4 changed files with 64 additions and 52 deletions

View File

@ -7,21 +7,27 @@ A2D := $4000
UNKNOWN_CALL := $8E00 UNKNOWN_CALL := $8E00
JUMP_TABLE_01 := $4015 ; ??? ;; These must be called from main memory (RAMRDON/RAMWRTON)
JUMP_TABLE_02 := $4018 JUMP_TABLE_03 := $4003 ; ???
JUMP_TABLE_03 := $401E JUMP_TABLE_06 := $4006 ; ???
JUMP_TABLE_04 := $4021 JUMP_TABLE_09 := $4009 ; ???
JUMP_TABLE_05 := $4021 JUMP_TABLE_0C := $400C ; ??? (made "items/in disk/..." redraw oddly)
JUMP_TABLE_06 := $4024 JUMP_TABLE_0F := $400F ; ???
JUMP_TABLE_07 := $4027 JUMP_TABLE_12 := $4012 ; ???
JUMP_TABLE_08 := $402A JUMP_TABLE_15 := $4015 ; ???
JUMP_TABLE_09 := $402D JUMP_TABLE_18 := $4018 ; ???
JUMP_TABLE_10 := $4030 JUMP_TABLE_CLEAR_SEL := $401E ; Clear DeskTop selection
JUMP_TABLE_11 := $4033 JUMP_TABLE_21 := $4021 ; ???
JUMP_TABLE_12 := $4036 JUMP_TABLE_24 := $4024 ; ???
JUMP_TABLE_13 := $4039 JUMP_TABLE_27 := $4027 ; ???
JUMP_TABLE_14 := $403C JUMP_TABLE_2A := $402A ; ???
JUMP_TABLE_15 := $403F 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 A2D_UNK_03 := $03 ; Unknown - used in calculator after frame is drawn

View File

@ -84,21 +84,27 @@ Current file: stf.s
000800 2 000800 2
000800 2 UNKNOWN_CALL := $8E00 000800 2 UNKNOWN_CALL := $8E00
000800 2 000800 2
000800 2 JUMP_TABLE_01 := $4015 ; ??? 000800 2 ;; These must be called from main memory (RAMRDON/RAMWRTON)
000800 2 JUMP_TABLE_02 := $4018 000800 2 JUMP_TABLE_03 := $4003 ; ???
000800 2 JUMP_TABLE_03 := $401E 000800 2 JUMP_TABLE_06 := $4006 ; ???
000800 2 JUMP_TABLE_04 := $4021 000800 2 JUMP_TABLE_09 := $4009 ; ???
000800 2 JUMP_TABLE_05 := $4021 000800 2 JUMP_TABLE_0C := $400C ; ??? (made "items/in disk/..." redraw oddly)
000800 2 JUMP_TABLE_06 := $4024 000800 2 JUMP_TABLE_0F := $400F ; ???
000800 2 JUMP_TABLE_07 := $4027 000800 2 JUMP_TABLE_12 := $4012 ; ???
000800 2 JUMP_TABLE_08 := $402A 000800 2 JUMP_TABLE_15 := $4015 ; ???
000800 2 JUMP_TABLE_09 := $402D 000800 2 JUMP_TABLE_18 := $4018 ; ???
000800 2 JUMP_TABLE_10 := $4030 000800 2 JUMP_TABLE_CLEAR_SEL := $401E ; Clear DeskTop selection
000800 2 JUMP_TABLE_11 := $4033 000800 2 JUMP_TABLE_21 := $4021 ; ???
000800 2 JUMP_TABLE_12 := $4036 000800 2 JUMP_TABLE_24 := $4024 ; ???
000800 2 JUMP_TABLE_13 := $4039 000800 2 JUMP_TABLE_27 := $4027 ; ???
000800 2 JUMP_TABLE_14 := $403C 000800 2 JUMP_TABLE_2A := $402A ; ???
000800 2 JUMP_TABLE_15 := $403F 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
000800 2 A2D_UNK_03 := $03 ; Unknown - used in calculator after frame is drawn 000800 2 A2D_UNK_03 := $03 ; Unknown - used in calculator after frame is drawn
000800 2 000800 2
@ -763,10 +769,10 @@ Current file: stf.s
000A5F 1 E6 07 inc src+1 000A5F 1 E6 07 inc src+1
000A61 1 20 72 0A : jsr copy_pathname ; copy x bytes (src) to (dst) 000A61 1 20 72 0A : jsr copy_pathname ; copy x bytes (src) to (dst)
000A64 1 000A64 1
000A64 1 ;; ??? 000A64 1 ;; Clear selection (why???)
000A64 1 A9 1E lda #<JUMP_TABLE_03 000A64 1 A9 1E lda #<JUMP_TABLE_CLEAR_SEL
000A66 1 85 27 sta call_main_addr 000A66 1 85 27 sta call_main_addr
000A68 1 A9 40 lda #>JUMP_TABLE_03 000A68 1 A9 40 lda #>JUMP_TABLE_CLEAR_SEL
000A6A 1 85 28 sta call_main_addr+1 000A6A 1 85 28 sta call_main_addr+1
000A6C 1 20 20 00 jsr call_main_trampoline 000A6C 1 20 20 00 jsr call_main_trampoline
000A6F 1 000A6F 1
@ -920,15 +926,15 @@ Current file: stf.s
000B73 1 AD 98 09 wider: lda window_params::hscroll 000B73 1 AD 98 09 wider: lda window_params::hscroll
000B76 1 AE 61 09 ldx window_width 000B76 1 AE 61 09 ldx window_width
000B79 1 E0 00 cpx #<max_width 000B79 1 E0 00 cpx #<max_width
000B7B 1 D0 0C bne L0B89 000B7B 1 D0 0C bne enable
000B7D 1 AE 62 09 ldx window_width+1 000B7D 1 AE 62 09 ldx window_width+1
000B80 1 E0 02 cpx #>max_width 000B80 1 E0 02 cpx #>max_width
000B82 1 D0 05 bne L0B89 000B82 1 D0 05 bne enable
000B84 1 29 FE and #(A2D_CWS_SCROLL_TRACK ^ $FF) 000B84 1 29 FE and #(A2D_CWS_SCROLL_TRACK ^ $FF) ; disable scroll
000B86 1 4C 8B 0B jmp L0B8B 000B86 1 4C 8B 0B jmp skip
000B89 1 000B89 1
000B89 1 09 01 L0B89: ora #A2D_CWS_SCROLL_TRACK 000B89 1 09 01 enable: ora #A2D_CWS_SCROLL_TRACK ; enable scroll
000B8B 1 8D 98 09 L0B8B: sta window_params::hscroll 000B8B 1 8D 98 09 skip: sta window_params::hscroll
000B8E 1 38 sec 000B8E 1 38 sec
000B8F 1 A9 00 lda #<max_width 000B8F 1 A9 00 lda #<max_width
000B91 1 ED 61 09 sbc window_width 000B91 1 ED 61 09 sbc window_width
@ -1657,9 +1663,9 @@ Current file: stf.s
0010FD 1 .endproc 0010FD 1 .endproc
0010FD 1 0010FD 1
0010FD 1 .proc L10FD 0010FD 1 .proc L10FD
0010FD 1 A9 15 lda #<JUMP_TABLE_01 0010FD 1 A9 15 lda #<JUMP_TABLE_15
0010FF 1 85 27 sta call_main_addr ; self-modified 0010FF 1 85 27 sta call_main_addr ; self-modified
001101 1 A9 40 lda #>JUMP_TABLE_01 001101 1 A9 40 lda #>JUMP_TABLE_15
001103 1 85 28 sta call_main_addr+1 001103 1 85 28 sta call_main_addr+1
001105 1 20 20 00 jsr call_main_trampoline 001105 1 20 20 00 jsr call_main_trampoline
001108 1 60 rts 001108 1 60 rts

Binary file not shown.

View File

@ -462,10 +462,10 @@ abort: rts
inc src+1 inc src+1
: jsr copy_pathname ; copy x bytes (src) to (dst) : jsr copy_pathname ; copy x bytes (src) to (dst)
;; ??? ;; Clear selection (why???)
lda #<JUMP_TABLE_03 lda #<JUMP_TABLE_CLEAR_SEL
sta call_main_addr sta call_main_addr
lda #>JUMP_TABLE_03 lda #>JUMP_TABLE_CLEAR_SEL
sta call_main_addr+1 sta call_main_addr+1
jsr call_main_trampoline jsr call_main_trampoline
@ -611,15 +611,15 @@ title: jsr on_title_bar_click
wider: lda window_params::hscroll wider: lda window_params::hscroll
ldx window_width ldx window_width
cpx #<max_width cpx #<max_width
bne L0B89 bne enable
ldx window_width+1 ldx window_width+1
cpx #>max_width cpx #>max_width
bne L0B89 bne enable
and #(A2D_CWS_SCROLL_TRACK ^ $FF) and #(A2D_CWS_SCROLL_TRACK ^ $FF) ; disable scroll
jmp L0B8B jmp skip
L0B89: ora #A2D_CWS_SCROLL_TRACK enable: ora #A2D_CWS_SCROLL_TRACK ; enable scroll
L0B8B: sta window_params::hscroll skip: sta window_params::hscroll
sec sec
lda #<max_width lda #<max_width
sbc window_width sbc window_width
@ -1336,9 +1336,9 @@ loop: clc
.endproc .endproc
.proc L10FD .proc L10FD
lda #<JUMP_TABLE_01 lda #<JUMP_TABLE_15
sta call_main_addr ; self-modified sta call_main_addr ; self-modified
lda #>JUMP_TABLE_01 lda #>JUMP_TABLE_15
sta call_main_addr+1 sta call_main_addr+1
jsr call_main_trampoline jsr call_main_trampoline
rts rts