mirror of
https://github.com/mi57730/a2d.git
synced 2024-06-25 21:29:30 +00:00
Merge remote-tracking branch 'origin/disasm'
This commit is contained in:
commit
c81191651b
|
@ -263,6 +263,7 @@ L41CB: ldx cached_window_id
|
||||||
by_icon:
|
by_icon:
|
||||||
copy cached_window_id, getwinport_params2::window_id
|
copy cached_window_id, getwinport_params2::window_id
|
||||||
jsr get_set_port2
|
jsr get_set_port2
|
||||||
|
|
||||||
jsr cached_icons_window_to_screen
|
jsr cached_icons_window_to_screen
|
||||||
|
|
||||||
COPY_BLOCK grafport2::cliprect, tmp_rect
|
COPY_BLOCK grafport2::cliprect, tmp_rect
|
||||||
|
@ -279,9 +280,11 @@ L41FE: lda L4241
|
||||||
: inc L4241
|
: inc L4241
|
||||||
jmp L41FE
|
jmp L41FE
|
||||||
|
|
||||||
L4227: copy #$00, draw_window_header_flag
|
L4227: copy #0, draw_window_header_flag
|
||||||
|
|
||||||
copy cached_window_id, getwinport_params2::window_id
|
copy cached_window_id, getwinport_params2::window_id
|
||||||
jsr get_set_port2
|
jsr get_set_port2
|
||||||
|
|
||||||
jsr cached_icons_screen_to_window
|
jsr cached_icons_screen_to_window
|
||||||
lda active_window_id
|
lda active_window_id
|
||||||
jsr assign_window_portbits
|
jsr assign_window_portbits
|
||||||
|
@ -2293,8 +2296,10 @@ L516D: lda L51EB,x
|
||||||
|
|
||||||
lda active_window_id
|
lda active_window_id
|
||||||
jsr create_file_icon_ep2
|
jsr create_file_icon_ep2
|
||||||
|
|
||||||
copy active_window_id, getwinport_params2::window_id
|
copy active_window_id, getwinport_params2::window_id
|
||||||
jsr get_set_port2
|
jsr get_set_port2
|
||||||
|
|
||||||
jsr cached_icons_window_to_screen
|
jsr cached_icons_window_to_screen
|
||||||
copy #0, L51EF
|
copy #0, L51EF
|
||||||
L518D: lda L51EF
|
L518D: lda L51EF
|
||||||
|
@ -3076,7 +3081,7 @@ L578D: .byte 0
|
||||||
;;; Keyboard-based scrolling of window contents
|
;;; Keyboard-based scrolling of window contents
|
||||||
|
|
||||||
.proc cmd_scroll
|
.proc cmd_scroll
|
||||||
jsr L5803
|
jsr get_active_window_scroll_info
|
||||||
loop: jsr get_event
|
loop: jsr get_event
|
||||||
lda event_kind
|
lda event_kind
|
||||||
cmp #MGTK::EventKind::button_down
|
cmp #MGTK::EventKind::button_down
|
||||||
|
@ -3125,17 +3130,19 @@ vertical:
|
||||||
|
|
||||||
;;; ============================================================
|
;;; ============================================================
|
||||||
|
|
||||||
.proc L5803
|
.proc get_active_window_scroll_info
|
||||||
jsr LoadActiveWindowIconTable
|
jsr LoadActiveWindowIconTable
|
||||||
ldx active_window_id
|
ldx active_window_id
|
||||||
dex
|
dex
|
||||||
lda win_view_by_table,x
|
lda win_view_by_table,x
|
||||||
sta active_window_view_by
|
sta active_window_view_by
|
||||||
jsr L58C3
|
jsr get_active_window_hscroll_info
|
||||||
stax L585F
|
sta horiz_scroll_pos
|
||||||
|
stx horiz_scroll_max
|
||||||
sty horiz_scroll_flag
|
sty horiz_scroll_flag
|
||||||
jsr L58E2
|
jsr get_active_window_vscroll_info
|
||||||
stax L5861
|
sta vert_scroll_pos
|
||||||
|
stx vert_scroll_max
|
||||||
sty vert_scroll_flag
|
sty vert_scroll_flag
|
||||||
rts
|
rts
|
||||||
.endproc
|
.endproc
|
||||||
|
@ -3143,126 +3150,132 @@ vertical:
|
||||||
;;; ============================================================
|
;;; ============================================================
|
||||||
|
|
||||||
scroll_right: ; elevator right / contents left
|
scroll_right: ; elevator right / contents left
|
||||||
ldax L585F
|
lda horiz_scroll_pos
|
||||||
jsr L5863
|
ldx horiz_scroll_max
|
||||||
sta L585F
|
jsr do_scroll_right
|
||||||
|
sta horiz_scroll_pos
|
||||||
rts
|
rts
|
||||||
|
|
||||||
scroll_left: ; elevator left / contents right
|
scroll_left: ; elevator left / contents right
|
||||||
lda L585F
|
lda horiz_scroll_pos
|
||||||
jsr L587E
|
jsr do_scroll_left
|
||||||
sta L585F
|
sta horiz_scroll_pos
|
||||||
rts
|
rts
|
||||||
|
|
||||||
scroll_down: ; elevator down / contents up
|
scroll_down: ; elevator down / contents up
|
||||||
ldax L5861
|
lda vert_scroll_pos
|
||||||
jsr L5893
|
ldx vert_scroll_max
|
||||||
sta L5861
|
jsr do_scroll_down
|
||||||
|
sta vert_scroll_pos
|
||||||
rts
|
rts
|
||||||
|
|
||||||
scroll_up: ; elevator up / contents down
|
scroll_up: ; elevator up / contents down
|
||||||
lda L5861
|
lda vert_scroll_pos
|
||||||
jsr L58AE
|
jsr do_scroll_up
|
||||||
sta L5861
|
sta vert_scroll_pos
|
||||||
rts
|
rts
|
||||||
|
|
||||||
horiz_scroll_flag: .byte 0 ; can scroll horiz?
|
horiz_scroll_flag: .byte 0 ; can scroll horiz?
|
||||||
vert_scroll_flag: .byte 0 ; can scroll vert?
|
vert_scroll_flag: .byte 0 ; can scroll vert?
|
||||||
L585F: .word 0
|
horiz_scroll_pos: .byte 0
|
||||||
L5861: .word 0
|
horiz_scroll_max: .byte 0
|
||||||
|
vert_scroll_pos: .byte 0
|
||||||
|
vert_scroll_max: .byte 0
|
||||||
|
|
||||||
.proc L5863
|
.proc do_scroll_right
|
||||||
stx L587D
|
stx max
|
||||||
cmp L587D
|
cmp max
|
||||||
beq :+
|
beq :+
|
||||||
sta updatethumb_stash
|
sta updatethumb_stash
|
||||||
inc updatethumb_stash
|
inc updatethumb_stash
|
||||||
lda #MGTK::Ctl::horizontal_scroll_bar
|
copy #MGTK::Ctl::horizontal_scroll_bar, updatethumb_which_ctl
|
||||||
sta updatethumb_which_ctl
|
jsr update_scroll_thumb
|
||||||
jsr L5C54
|
|
||||||
lda updatethumb_stash
|
lda updatethumb_stash
|
||||||
: rts
|
: rts
|
||||||
|
|
||||||
L587D: .byte 0
|
max: .byte 0
|
||||||
.endproc
|
.endproc
|
||||||
|
|
||||||
.proc L587E
|
.proc do_scroll_left
|
||||||
beq :+
|
beq :+
|
||||||
sta updatethumb_stash
|
sta updatethumb_stash
|
||||||
dec updatethumb_stash
|
dec updatethumb_stash
|
||||||
lda #MGTK::Ctl::horizontal_scroll_bar
|
copy #MGTK::Ctl::horizontal_scroll_bar, updatethumb_which_ctl
|
||||||
sta updatethumb_which_ctl
|
jsr update_scroll_thumb
|
||||||
jsr L5C54
|
|
||||||
lda updatethumb_stash
|
lda updatethumb_stash
|
||||||
: rts
|
: rts
|
||||||
.byte 0
|
.byte 0
|
||||||
.endproc
|
.endproc
|
||||||
|
|
||||||
.proc L5893
|
.proc do_scroll_down
|
||||||
stx L58AD
|
stx max
|
||||||
cmp L58AD
|
cmp max
|
||||||
beq :+
|
beq :+
|
||||||
sta updatethumb_stash
|
sta updatethumb_stash
|
||||||
inc updatethumb_stash
|
inc updatethumb_stash
|
||||||
lda #MGTK::Ctl::vertical_scroll_bar
|
copy #MGTK::Ctl::vertical_scroll_bar, updatethumb_which_ctl
|
||||||
sta updatethumb_which_ctl
|
jsr update_scroll_thumb
|
||||||
jsr L5C54
|
|
||||||
lda updatethumb_stash
|
lda updatethumb_stash
|
||||||
: rts
|
: rts
|
||||||
|
|
||||||
L58AD: .byte 0
|
max: .byte 0
|
||||||
.endproc
|
.endproc
|
||||||
|
|
||||||
.proc L58AE
|
.proc do_scroll_up
|
||||||
beq :+
|
beq :+
|
||||||
sta updatethumb_stash
|
sta updatethumb_stash
|
||||||
dec updatethumb_stash
|
dec updatethumb_stash
|
||||||
lda #MGTK::Ctl::vertical_scroll_bar
|
copy #MGTK::Ctl::vertical_scroll_bar, updatethumb_which_ctl
|
||||||
sta updatethumb_which_ctl
|
jsr update_scroll_thumb
|
||||||
jsr L5C54
|
|
||||||
lda updatethumb_stash
|
lda updatethumb_stash
|
||||||
: rts
|
: rts
|
||||||
|
|
||||||
.byte 0
|
.byte 0
|
||||||
.endproc
|
.endproc
|
||||||
|
|
||||||
.proc L58C3
|
;;; Output: A = hscroll pos, X = hscroll max, Y = hscroll active flag (high bit)
|
||||||
|
.proc get_active_window_hscroll_info
|
||||||
|
ptr := $06
|
||||||
|
|
||||||
lda active_window_id
|
lda active_window_id
|
||||||
jsr window_lookup
|
jsr window_lookup
|
||||||
stax $06
|
stax ptr
|
||||||
ldy #$06
|
ldy #MGTK::Winfo::hthumbmax
|
||||||
lda ($06),y
|
lda (ptr),y
|
||||||
tax
|
tax
|
||||||
iny
|
iny ; hthumbpos
|
||||||
lda ($06),y
|
lda (ptr),y
|
||||||
pha
|
pha
|
||||||
ldy #$04
|
ldy #MGTK::Winfo::hscroll
|
||||||
lda ($06),y
|
lda (ptr),y
|
||||||
and #$01
|
and #$01 ; active flag
|
||||||
clc
|
clc
|
||||||
ror a
|
ror a
|
||||||
ror a
|
ror a ; shift to high bit
|
||||||
tay
|
tay
|
||||||
pla
|
pla
|
||||||
rts
|
rts
|
||||||
.endproc
|
.endproc
|
||||||
|
|
||||||
.proc L58E2
|
;;; Output: A = vscroll pos, X = vscroll max, Y = vscroll active flag (high bit)
|
||||||
|
.proc get_active_window_vscroll_info
|
||||||
|
ptr := $06
|
||||||
|
|
||||||
lda active_window_id
|
lda active_window_id
|
||||||
jsr window_lookup
|
jsr window_lookup
|
||||||
stax $06
|
stax ptr
|
||||||
ldy #$08
|
ldy #MGTK::Winfo::vthumbmax
|
||||||
lda ($06),y
|
lda (ptr),y
|
||||||
tax
|
tax
|
||||||
iny
|
iny
|
||||||
lda ($06),y
|
lda (ptr),y
|
||||||
pha
|
pha
|
||||||
ldy #$05
|
ldy #MGTK::Winfo::vscroll
|
||||||
lda ($06),y
|
lda (ptr),y
|
||||||
and #$01
|
and #$01 ; active flag
|
||||||
clc
|
clc
|
||||||
ror a
|
ror a
|
||||||
ror a
|
ror a ; shift to high bit
|
||||||
tay
|
tay
|
||||||
pla
|
pla
|
||||||
rts
|
rts
|
||||||
|
@ -3612,7 +3625,7 @@ active_window_view_by:
|
||||||
and #$01
|
and #$01
|
||||||
bne :+
|
bne :+
|
||||||
jmp done_client_click
|
jmp done_client_click
|
||||||
: jsr L5803
|
: jsr get_active_window_scroll_info
|
||||||
lda findcontrol_which_part
|
lda findcontrol_which_part
|
||||||
cmp #MGTK::Part::thumb
|
cmp #MGTK::Part::thumb
|
||||||
bne :+
|
bne :+
|
||||||
|
@ -3658,7 +3671,7 @@ horiz: lda active_window_id
|
||||||
and #$01
|
and #$01
|
||||||
bne :+
|
bne :+
|
||||||
jmp done_client_click
|
jmp done_client_click
|
||||||
: jsr L5803
|
: jsr get_active_window_scroll_info
|
||||||
lda findcontrol_which_part
|
lda findcontrol_which_part
|
||||||
cmp #MGTK::Part::thumb
|
cmp #MGTK::Part::thumb
|
||||||
bne :+
|
bne :+
|
||||||
|
@ -3709,24 +3722,25 @@ done_client_click:
|
||||||
lda trackthumb_thumbmoved
|
lda trackthumb_thumbmoved
|
||||||
bne :+
|
bne :+
|
||||||
rts
|
rts
|
||||||
: jsr L5C54
|
: jsr update_scroll_thumb
|
||||||
jsr StoreWindowIconTable
|
jsr StoreWindowIconTable
|
||||||
jmp LoadDesktopIconTable
|
jmp LoadDesktopIconTable
|
||||||
.endproc
|
.endproc
|
||||||
|
|
||||||
;;; ============================================================
|
;;; ============================================================
|
||||||
|
|
||||||
.proc L5C54
|
.proc update_scroll_thumb
|
||||||
lda updatethumb_stash
|
copy updatethumb_stash, updatethumb_thumbpos
|
||||||
sta updatethumb_thumbpos
|
|
||||||
MGTK_RELAY_CALL MGTK::UpdateThumb, updatethumb_params
|
MGTK_RELAY_CALL MGTK::UpdateThumb, updatethumb_params
|
||||||
jsr L6523
|
jsr L6523
|
||||||
jsr L84D1
|
jsr L84D1
|
||||||
bit active_window_view_by
|
bit active_window_view_by
|
||||||
bmi :+
|
bmi :+ ; list view, no icons
|
||||||
jsr cached_icons_screen_to_window
|
jsr cached_icons_screen_to_window
|
||||||
|
|
||||||
: copy active_window_id, getwinport_params2::window_id
|
: copy active_window_id, getwinport_params2::window_id
|
||||||
jsr get_set_port2
|
jsr get_set_port2
|
||||||
|
|
||||||
MGTK_RELAY_CALL MGTK::PaintRect, grafport2::cliprect
|
MGTK_RELAY_CALL MGTK::PaintRect, grafport2::cliprect
|
||||||
jsr reset_grafport3
|
jsr reset_grafport3
|
||||||
jmp L6C19
|
jmp L6C19
|
||||||
|
@ -3807,15 +3821,18 @@ replace:
|
||||||
inc selected_icon_count
|
inc selected_icon_count
|
||||||
|
|
||||||
copy active_window_id, selected_window_index
|
copy active_window_id, selected_window_index
|
||||||
copy active_window_id, getwinport_params2::window_id
|
|
||||||
|
|
||||||
|
copy active_window_id, getwinport_params2::window_id
|
||||||
jsr get_set_port2
|
jsr get_set_port2
|
||||||
|
|
||||||
copy icon_num, icon_param
|
copy icon_num, icon_param
|
||||||
jsr icon_window_to_screen
|
jsr icon_window_to_screen
|
||||||
jsr offset_grafport2_and_set
|
jsr offset_grafport2_and_set
|
||||||
DESKTOP_RELAY_CALL DT_HIGHLIGHT_ICON, icon_param
|
DESKTOP_RELAY_CALL DT_HIGHLIGHT_ICON, icon_param
|
||||||
|
|
||||||
copy active_window_id, getwinport_params2::window_id
|
copy active_window_id, getwinport_params2::window_id
|
||||||
jsr get_set_port2
|
jsr get_set_port2
|
||||||
|
|
||||||
lda icon_num
|
lda icon_num
|
||||||
jsr icon_screen_to_window
|
jsr icon_screen_to_window
|
||||||
jsr reset_grafport3
|
jsr reset_grafport3
|
||||||
|
@ -3879,8 +3896,10 @@ desktop:
|
||||||
|
|
||||||
: cpx #$FF
|
: cpx #$FF
|
||||||
beq L5DF7
|
beq L5DF7
|
||||||
|
|
||||||
copy active_window_id, getwinport_params2::window_id
|
copy active_window_id, getwinport_params2::window_id
|
||||||
jsr get_set_port2
|
jsr get_set_port2
|
||||||
|
|
||||||
jsr cached_icons_window_to_screen
|
jsr cached_icons_window_to_screen
|
||||||
jsr offset_grafport2_and_set
|
jsr offset_grafport2_and_set
|
||||||
|
|
||||||
|
@ -3898,6 +3917,7 @@ desktop:
|
||||||
|
|
||||||
copy active_window_id, getwinport_params2::window_id
|
copy active_window_id, getwinport_params2::window_id
|
||||||
jsr get_set_port2
|
jsr get_set_port2
|
||||||
|
|
||||||
jsr update_scrollbars
|
jsr update_scrollbars
|
||||||
jsr cached_icons_screen_to_window
|
jsr cached_icons_screen_to_window
|
||||||
jsr reset_grafport3
|
jsr reset_grafport3
|
||||||
|
@ -3998,6 +4018,7 @@ L5E77: .byte 0
|
||||||
|
|
||||||
: copy active_window_id, getwinport_params2::window_id
|
: copy active_window_id, getwinport_params2::window_id
|
||||||
jsr get_set_port2
|
jsr get_set_port2
|
||||||
|
|
||||||
jsr set_penmode_copy
|
jsr set_penmode_copy
|
||||||
MGTK_RELAY_CALL MGTK::PaintRect, grafport2::cliprect
|
MGTK_RELAY_CALL MGTK::PaintRect, grafport2::cliprect
|
||||||
ldx active_window_id
|
ldx active_window_id
|
||||||
|
@ -5179,6 +5200,7 @@ L6BB8: jsr L744B
|
||||||
|
|
||||||
copy active_window_id, getwinport_params2::window_id
|
copy active_window_id, getwinport_params2::window_id
|
||||||
jsr get_set_port2
|
jsr get_set_port2
|
||||||
|
|
||||||
jsr draw_window_header
|
jsr draw_window_header
|
||||||
jsr cached_icons_window_to_screen
|
jsr cached_icons_window_to_screen
|
||||||
copy #0, L6C0E
|
copy #0, L6C0E
|
||||||
|
@ -5220,9 +5242,10 @@ L6C0E: .byte 0
|
||||||
jmp L6CCD
|
jmp L6CCD
|
||||||
|
|
||||||
L6C25: jsr push_pointers
|
L6C25: jsr push_pointers
|
||||||
lda cached_window_id
|
|
||||||
sta getwinport_params2::window_id
|
copy cached_window_id, getwinport_params2::window_id
|
||||||
jsr get_set_port2
|
jsr get_set_port2
|
||||||
|
|
||||||
bit draw_window_header_flag
|
bit draw_window_header_flag
|
||||||
bmi :+
|
bmi :+
|
||||||
jsr draw_window_header
|
jsr draw_window_header
|
||||||
|
@ -5296,9 +5319,9 @@ rows_done:
|
||||||
.byte 0
|
.byte 0
|
||||||
.endproc
|
.endproc
|
||||||
|
|
||||||
L6CCD: lda cached_window_id
|
L6CCD: copy cached_window_id, getwinport_params2::window_id
|
||||||
sta getwinport_params2::window_id
|
|
||||||
jsr get_set_port2
|
jsr get_set_port2
|
||||||
|
|
||||||
bit draw_window_header_flag
|
bit draw_window_header_flag
|
||||||
bmi :+
|
bmi :+
|
||||||
jsr draw_window_header
|
jsr draw_window_header
|
||||||
|
@ -5314,9 +5337,10 @@ L6CF3: cpx cached_window_icon_count
|
||||||
bne L6D09
|
bne L6D09
|
||||||
pla
|
pla
|
||||||
jsr reset_grafport3
|
jsr reset_grafport3
|
||||||
lda cached_window_id
|
|
||||||
sta getwinport_params2::window_id
|
copy cached_window_id, getwinport_params2::window_id
|
||||||
jsr get_set_port2
|
jsr get_set_port2
|
||||||
|
|
||||||
jsr cached_icons_screen_to_window
|
jsr cached_icons_screen_to_window
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
6
mgtk.inc
6
mgtk.inc
|
@ -376,10 +376,10 @@ SetMark = $37
|
||||||
|
|
||||||
.struct Winfo
|
.struct Winfo
|
||||||
window_id .byte
|
window_id .byte
|
||||||
options .byte ; option_*
|
options .byte ; Option::*
|
||||||
title .addr
|
title .addr
|
||||||
hscroll .byte ; scroll_option_*
|
hscroll .byte ; Scroll::option_*
|
||||||
vscroll .byte ; scroll_option_*
|
vscroll .byte ; Scroll::option_*
|
||||||
hthumbmax .byte
|
hthumbmax .byte
|
||||||
hthumbpos .byte
|
hthumbpos .byte
|
||||||
vthumbmax .byte
|
vthumbmax .byte
|
||||||
|
|
Loading…
Reference in New Issue
Block a user