mirror of
https://github.com/mi57730/a2d.git
synced 2025-02-08 13:30:31 +00:00
DeskTop: More overlay noodling
This commit is contained in:
parent
afb769020c
commit
ecb94d43a5
216
desktop/ovl4.s
216
desktop/ovl4.s
@ -47,8 +47,8 @@ routine_table: .addr $7000, $7000, $7000
|
||||
sta L5104
|
||||
sta L5103
|
||||
sta L5105
|
||||
lda #$14
|
||||
sta $D8E9
|
||||
lda #prompt_insertion_point_blink_count
|
||||
sta prompt_ip_counter
|
||||
lda #$FF
|
||||
sta $D920
|
||||
pla
|
||||
@ -66,20 +66,21 @@ stash_y: .byte 0
|
||||
.endproc
|
||||
|
||||
;;; ============================================================
|
||||
;;; Flags set by invoker to alter behavior
|
||||
|
||||
L5103: .byte 0
|
||||
L5104: .byte 0
|
||||
L5105: .byte 0
|
||||
L5103: .byte 0 ; ??? something before jt_13 invoked
|
||||
L5104: .byte 0 ; ??? something about inputs
|
||||
L5105: .byte 0 ; ??? something about the picker
|
||||
|
||||
;;; ============================================================
|
||||
|
||||
L5106: bit LD8EC
|
||||
bpl :+
|
||||
dec $D8E9
|
||||
dec prompt_ip_counter
|
||||
bne :+
|
||||
jsr jt_02
|
||||
lda #$14
|
||||
sta $D8E9
|
||||
lda #prompt_insertion_point_blink_count
|
||||
sta prompt_ip_counter
|
||||
: MGTK_RELAY_CALL MGTK::GetEvent, event_params
|
||||
lda event_kind
|
||||
cmp #MGTK::event_kind_button_down
|
||||
@ -123,17 +124,17 @@ L5199: MGTK_RELAY_CALL MGTK::InitPort, grafport3
|
||||
jmp L5106
|
||||
|
||||
L51AE: .byte 0
|
||||
|
||||
;;; ============================================================
|
||||
|
||||
L51AF: MGTK_RELAY_CALL MGTK::FindWindow, findwindow_params
|
||||
lda findwindow_which_area
|
||||
bne L51BE
|
||||
bne :+
|
||||
rts
|
||||
|
||||
L51BE: cmp #MGTK::area_content
|
||||
: cmp #MGTK::area_content
|
||||
bne :+
|
||||
jmp L51C7
|
||||
|
||||
rts ; ???
|
||||
|
||||
: rts
|
||||
|
||||
L51C7: lda findwindow_window_id
|
||||
@ -147,21 +148,25 @@ L51D2: lda winfo_entrydlg
|
||||
sta screentowindow_window_id
|
||||
MGTK_RELAY_CALL MGTK::ScreenToWindow, screentowindow_params
|
||||
MGTK_RELAY_CALL MGTK::MoveTo, screentowindow_windowx
|
||||
|
||||
;; In open button?
|
||||
.proc check_open_button
|
||||
MGTK_RELAY_CALL MGTK::InRect, common_open_button_rect
|
||||
cmp #MGTK::inrect_inside
|
||||
beq L5200
|
||||
jmp L5239
|
||||
beq clicked
|
||||
jmp check_change_drive_button
|
||||
|
||||
L5200: bit L5105
|
||||
clicked:
|
||||
bit L5105
|
||||
bmi L520A
|
||||
lda $D920
|
||||
bpl L520D
|
||||
L520A: jmp L5308
|
||||
L520A: jmp set_up_ports
|
||||
|
||||
L520D: tax
|
||||
lda $1780,x
|
||||
bmi L5216
|
||||
L5213: jmp L5308
|
||||
L5213: jmp set_up_ports
|
||||
|
||||
L5216: lda winfo_entrydlg
|
||||
jsr set_port_for_window
|
||||
@ -170,69 +175,77 @@ L5216: lda winfo_entrydlg
|
||||
jsr track_open_button_click
|
||||
bmi L5213
|
||||
jsr L5607
|
||||
jmp L5308
|
||||
jmp set_up_ports
|
||||
.endproc
|
||||
|
||||
L5239: MGTK_RELAY_CALL MGTK::InRect, common_change_drive_button_rect
|
||||
.proc check_change_drive_button
|
||||
MGTK_RELAY_CALL MGTK::InRect, common_change_drive_button_rect
|
||||
cmp #MGTK::inrect_inside
|
||||
beq L5249
|
||||
jmp L526B
|
||||
|
||||
L5249: bit L5105
|
||||
beq :+
|
||||
jmp check_close_button
|
||||
: bit L5105
|
||||
bmi L5268
|
||||
MGTK_RELAY_CALL MGTK::SetPenMode, penXOR
|
||||
MGTK_RELAY_CALL MGTK::PaintRect, common_change_drive_button_rect
|
||||
jsr track_change_drive_button_click
|
||||
bmi L5268
|
||||
jsr L565C
|
||||
L5268: jmp L5308
|
||||
L5268: jmp set_up_ports
|
||||
.endproc
|
||||
|
||||
L526B: MGTK_RELAY_CALL MGTK::InRect, common_close_button_rect
|
||||
.proc check_close_button
|
||||
MGTK_RELAY_CALL MGTK::InRect, common_close_button_rect
|
||||
cmp #MGTK::inrect_inside
|
||||
beq L527B
|
||||
jmp L529D
|
||||
|
||||
L527B: bit L5105
|
||||
beq :+
|
||||
jmp check_ok_button
|
||||
: bit L5105
|
||||
bmi L529A
|
||||
MGTK_RELAY_CALL MGTK::SetPenMode, penXOR
|
||||
MGTK_RELAY_CALL MGTK::PaintRect, common_close_button_rect
|
||||
jsr track_close_button_click
|
||||
bmi L529A
|
||||
jsr L567F
|
||||
L529A: jmp L5308
|
||||
L529A: jmp set_up_ports
|
||||
.endproc
|
||||
|
||||
L529D: MGTK_RELAY_CALL MGTK::InRect, common_ok_button_rect
|
||||
.proc check_ok_button
|
||||
MGTK_RELAY_CALL MGTK::InRect, common_ok_button_rect
|
||||
cmp #MGTK::inrect_inside
|
||||
beq L52AD
|
||||
jmp L52CD
|
||||
|
||||
L52AD: MGTK_RELAY_CALL MGTK::SetPenMode, penXOR
|
||||
beq :+
|
||||
jmp check_cancel_button
|
||||
: MGTK_RELAY_CALL MGTK::SetPenMode, penXOR
|
||||
MGTK_RELAY_CALL MGTK::PaintRect, common_ok_button_rect
|
||||
jsr track_ok_button_click
|
||||
bmi L52CA
|
||||
jsr jt_12
|
||||
jsr jt_00
|
||||
L52CA: jmp L5308
|
||||
L52CA: jmp set_up_ports
|
||||
.endproc
|
||||
|
||||
L52CD: MGTK_RELAY_CALL MGTK::InRect, common_cancel_button_rect
|
||||
.proc check_cancel_button
|
||||
MGTK_RELAY_CALL MGTK::InRect, common_cancel_button_rect
|
||||
cmp #MGTK::inrect_inside
|
||||
beq L52DD
|
||||
jmp L52FA
|
||||
|
||||
L52DD: MGTK_RELAY_CALL MGTK::SetPenMode, penXOR
|
||||
beq :+
|
||||
jmp check_other_click
|
||||
: MGTK_RELAY_CALL MGTK::SetPenMode, penXOR
|
||||
MGTK_RELAY_CALL MGTK::PaintRect, common_cancel_button_rect
|
||||
jsr track_cancel_button_click
|
||||
bmi L52F7
|
||||
jsr jt_01
|
||||
L52F7: jmp L5308
|
||||
L52F7: jmp set_up_ports
|
||||
.endproc
|
||||
|
||||
L52FA: bit L5103
|
||||
bpl L5304
|
||||
.proc check_other_click
|
||||
bit L5103
|
||||
bpl :+
|
||||
jsr L531B
|
||||
bmi L5308
|
||||
L5304: jsr jt_13
|
||||
bmi set_up_ports
|
||||
: jsr jt_13
|
||||
rts
|
||||
.endproc
|
||||
|
||||
L5308: MGTK_RELAY_CALL MGTK::InitPort, grafport3
|
||||
set_up_ports:
|
||||
MGTK_RELAY_CALL MGTK::InitPort, grafport3
|
||||
MGTK_RELAY_CALL MGTK::SetPort, grafport2
|
||||
rts
|
||||
|
||||
@ -571,7 +584,7 @@ L567F: lda #$00
|
||||
|
||||
L568C: lda path_buf,x
|
||||
and #$7F
|
||||
cmp #$2F
|
||||
cmp #'/'
|
||||
beq L569B
|
||||
dex
|
||||
bpl L568C
|
||||
@ -1468,7 +1481,7 @@ L5F49: ldx path_buf
|
||||
beq L5F5A
|
||||
dec path_buf
|
||||
lda path_buf,x
|
||||
cmp #$2F
|
||||
cmp #'/'
|
||||
bne L5F49
|
||||
L5F5A: rts
|
||||
|
||||
@ -1652,40 +1665,41 @@ L6128: .byte 0
|
||||
|
||||
;;; ============================================================
|
||||
|
||||
L6129: stx $0B
|
||||
.proc adjust_filename_case
|
||||
stx $0A+1
|
||||
sta $0A
|
||||
ldy #$00
|
||||
ldy #0
|
||||
lda ($0A),y
|
||||
tay
|
||||
bne L6135
|
||||
bne loop
|
||||
rts
|
||||
|
||||
L6135: dey
|
||||
beq L613A
|
||||
bpl L613B
|
||||
L613A: rts
|
||||
loop: dey
|
||||
beq done
|
||||
bpl :+
|
||||
done: rts
|
||||
: lda ($0A),y
|
||||
and #$7F ; convert to ASCII
|
||||
cmp #'/'
|
||||
beq next
|
||||
cmp #'.'
|
||||
bne check
|
||||
next: dey
|
||||
jmp loop
|
||||
|
||||
L613B: lda ($0A),y
|
||||
and #$7F
|
||||
cmp #$2F
|
||||
beq L6147
|
||||
cmp #$2E
|
||||
bne L614B
|
||||
L6147: dey
|
||||
jmp L6135
|
||||
|
||||
L614B: iny
|
||||
check: iny
|
||||
lda ($0A),y
|
||||
and #$7F
|
||||
cmp #$41
|
||||
cmp #'A'
|
||||
bcc L615D
|
||||
cmp #$5B
|
||||
cmp #'Z'+1
|
||||
bcs L615D
|
||||
clc
|
||||
adc #$20
|
||||
adc #$20 ; convert to lower case
|
||||
sta ($0A),y
|
||||
L615D: dey
|
||||
jmp L6135
|
||||
jmp loop
|
||||
.endproc
|
||||
|
||||
;;; ============================================================
|
||||
|
||||
@ -1730,7 +1744,7 @@ L61B1: lda winfo_entrydlg
|
||||
iny
|
||||
L61D0: iny
|
||||
lda ($06),y
|
||||
cmp #$2F
|
||||
cmp #'/'
|
||||
beq L61DE
|
||||
cpy L6226
|
||||
bne L61D0
|
||||
@ -1746,7 +1760,7 @@ L61E6: inx
|
||||
cpy L6226
|
||||
bne L61E6
|
||||
stx $0220
|
||||
addr_call L6129, $0220
|
||||
addr_call adjust_filename_case, $0220
|
||||
MGTK_RELAY_CALL MGTK::MoveTo, disk_label_pos
|
||||
addr_call draw_string, disk_label
|
||||
addr_call draw_string, $0220
|
||||
@ -1971,7 +1985,7 @@ L647B: .byte 0
|
||||
L647C: stax $06
|
||||
ldy #$01
|
||||
lda ($06),y
|
||||
cmp #$2F
|
||||
cmp #'/'
|
||||
bne L64DE
|
||||
dey
|
||||
lda ($06),y
|
||||
@ -1979,12 +1993,12 @@ L647C: stax $06
|
||||
bcc L64DE
|
||||
tay
|
||||
lda ($06),y
|
||||
cmp #$2F
|
||||
cmp #'/'
|
||||
beq L64DE
|
||||
ldx #$00
|
||||
stx L64E1
|
||||
L649B: lda ($06),y
|
||||
cmp #$2F
|
||||
cmp #'/'
|
||||
beq L64AB
|
||||
inx
|
||||
cpx #$10
|
||||
@ -2001,19 +2015,19 @@ L64B3: ldy #$00
|
||||
tay
|
||||
L64B8: lda ($06),y
|
||||
and #$7F
|
||||
cmp #$2E
|
||||
cmp #'.'
|
||||
beq L64D8
|
||||
cmp #$2F
|
||||
cmp #'/'
|
||||
bcc L64DE
|
||||
cmp #$3A
|
||||
cmp #'9'+1
|
||||
bcc L64D8
|
||||
cmp #$41
|
||||
cmp #'A'
|
||||
bcc L64DE
|
||||
cmp #$5B
|
||||
cmp #'Z'+1
|
||||
bcc L64D8
|
||||
cmp #$61
|
||||
cmp #'a'
|
||||
bcc L64DE
|
||||
cmp #$7B
|
||||
cmp #'z'+1
|
||||
bcs L64DE
|
||||
L64D8: dey
|
||||
bne L64B8
|
||||
@ -2034,7 +2048,7 @@ L64F5: lda L6515
|
||||
beq L64E7
|
||||
lda $06
|
||||
ldx $07
|
||||
jsr L6129
|
||||
jsr adjust_filename_case
|
||||
inc L6515
|
||||
lda $06
|
||||
clc
|
||||
@ -2737,24 +2751,24 @@ L6CFD: inx
|
||||
rts
|
||||
|
||||
jump_table:
|
||||
jt_00: jmp 0
|
||||
jt_01: jmp 0
|
||||
jt_02: jmp 0
|
||||
jt_00: jmp 0 ; ok button ???
|
||||
jt_01: jmp 0 ; cancel button ???
|
||||
jt_02: jmp 0 ; input loop
|
||||
jt_03: jmp 0
|
||||
jt_04: jmp 0
|
||||
jt_05: jmp 0
|
||||
jt_06: jmp 0
|
||||
jt_07: jmp 0
|
||||
jt_08: jmp 0
|
||||
jt_09: jmp 0
|
||||
jt_10: jmp 0
|
||||
jt_11: jmp 0
|
||||
jt_12: jmp 0
|
||||
jt_13: jmp 0
|
||||
jt_08: jmp 0 ; delete key ???
|
||||
jt_09: jmp 0 ; left key ???
|
||||
jt_10: jmp 0 ; right key ???
|
||||
jt_11: jmp 0 ; meta-left key ???
|
||||
jt_12: jmp 0 ; meta-right key ???
|
||||
jt_13: jmp 0 ; click handler ???
|
||||
|
||||
L6D48: stax $06
|
||||
ldx path_buf0
|
||||
lda #$2F
|
||||
lda #'/'
|
||||
sta path_buf0+1,x
|
||||
inc path_buf0
|
||||
ldy #$00
|
||||
@ -2776,7 +2790,7 @@ L6D62: lda ($06),y
|
||||
|
||||
L6D73: stax $06
|
||||
ldx path_buf1
|
||||
lda #$2F
|
||||
lda #'/'
|
||||
sta path_buf1+1,x
|
||||
inc path_buf1
|
||||
ldy #$00
|
||||
@ -2801,7 +2815,7 @@ L6D9E: ldx path_buf0
|
||||
beq L6DAF
|
||||
dec path_buf0
|
||||
lda path_buf0,x
|
||||
cmp #$2F
|
||||
cmp #'/'
|
||||
bne L6D9E
|
||||
L6DAF: rts
|
||||
|
||||
@ -2810,7 +2824,7 @@ L6DB0: ldx path_buf1
|
||||
beq L6DC1
|
||||
dec path_buf1
|
||||
lda path_buf1,x
|
||||
cmp #$2F
|
||||
cmp #'/'
|
||||
bne L6DB0
|
||||
L6DC1: rts
|
||||
|
||||
@ -2863,7 +2877,7 @@ L6E20: lda path_buf,x
|
||||
sta path_buf0,x
|
||||
dex
|
||||
bpl L6E20
|
||||
addr_call L6129, path_buf0
|
||||
addr_call adjust_filename_case, path_buf0
|
||||
rts
|
||||
|
||||
ldx path_buf
|
||||
@ -2871,7 +2885,7 @@ L6E34: lda path_buf,x
|
||||
sta path_buf1,x
|
||||
dex
|
||||
bpl L6E34
|
||||
addr_call L6129, path_buf1
|
||||
addr_call adjust_filename_case, path_buf1
|
||||
rts
|
||||
|
||||
L6E45: lda #$00
|
||||
@ -2954,8 +2968,8 @@ L6EC2: lda $D920
|
||||
tax
|
||||
tya
|
||||
jsr L5F0D
|
||||
L6EFB: addr_call L6129, $D3C1
|
||||
addr_call L6129, path_buf
|
||||
L6EFB: addr_call adjust_filename_case, $D3C1
|
||||
addr_call adjust_filename_case, path_buf
|
||||
lda $D3C1
|
||||
cmp path_buf
|
||||
bne L6F26
|
||||
|
@ -125,7 +125,7 @@ L7137: lda $5028,x
|
||||
sta path_buf1,x
|
||||
dex
|
||||
bpl L7137
|
||||
addr_call common_overlay::L6129, path_buf1 ; path_buf1
|
||||
addr_call common_overlay::adjust_filename_case, path_buf1 ; path_buf1
|
||||
lda #$01
|
||||
sta path_buf2 ; path_buf2
|
||||
lda #$06
|
||||
|
@ -17,7 +17,7 @@ L7000: stx L73A9
|
||||
jsr common_overlay::device_on_line
|
||||
lda path_buf0
|
||||
beq L7056
|
||||
addr_call common_overlay::L6129, path_buf0
|
||||
addr_call common_overlay::adjust_filename_case, path_buf0
|
||||
ldy path_buf0
|
||||
L7021: lda path_buf0,y
|
||||
sta $5028,y
|
||||
|
Loading…
x
Reference in New Issue
Block a user