mirror of
https://github.com/mi57730/a2d.git
synced 2024-11-29 07:49:20 +00:00
Jump table identifications
This commit is contained in:
parent
454d2db7f6
commit
4e786a7ccf
@ -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
|
||||
|
||||
|
@ -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
|
||||
000A64 1 ;; Clear selection (why???)
|
||||
000A64 1 A9 1E lda #<JUMP_TABLE_CLEAR_SEL
|
||||
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
|
||||
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
|
||||
000B7B 1 D0 0C bne L0B89
|
||||
000B7B 1 D0 0C bne enable
|
||||
000B7D 1 AE 62 09 ldx window_width+1
|
||||
000B80 1 E0 02 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 #<max_width
|
||||
000B91 1 ED 61 09 sbc window_width
|
||||
@ -1657,9 +1663,9 @@ Current file: stf.s
|
||||
0010FD 1 .endproc
|
||||
0010FD 1
|
||||
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
|
||||
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
|
||||
001105 1 20 20 00 jsr call_main_trampoline
|
||||
001108 1 60 rts
|
||||
|
Binary file not shown.
@ -462,10 +462,10 @@ abort: rts
|
||||
inc src+1
|
||||
: jsr copy_pathname ; copy x bytes (src) to (dst)
|
||||
|
||||
;; ???
|
||||
lda #<JUMP_TABLE_03
|
||||
;; Clear selection (why???)
|
||||
lda #<JUMP_TABLE_CLEAR_SEL
|
||||
sta call_main_addr
|
||||
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
|
||||
bne enable
|
||||
ldx window_width+1
|
||||
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 #<max_width
|
||||
sbc window_width
|
||||
@ -1336,9 +1336,9 @@ loop: clc
|
||||
.endproc
|
||||
|
||||
.proc L10FD
|
||||
lda #<JUMP_TABLE_01
|
||||
lda #<JUMP_TABLE_15
|
||||
sta call_main_addr ; self-modified
|
||||
lda #>JUMP_TABLE_01
|
||||
lda #>JUMP_TABLE_15
|
||||
sta call_main_addr+1
|
||||
jsr call_main_trampoline
|
||||
rts
|
||||
|
Loading…
Reference in New Issue
Block a user