mirror of
https://github.com/mi57730/a2d.git
synced 2025-02-18 02:30:50 +00:00
icon bits
This commit is contained in:
parent
87866b36ea
commit
a6836af691
34
desktop.inc
34
desktop.inc
@ -59,19 +59,19 @@ DT_ICON_IN_RECT := $0D ; { .byte icon, rect bounds }
|
|||||||
;;; DESKTOP_CALL n, params_addr
|
;;; DESKTOP_CALL n, params_addr
|
||||||
;;; DESKTOP_CALL m, params_addr, label - params_addr is labeled for modifying
|
;;; DESKTOP_CALL m, params_addr, label - params_addr is labeled for modifying
|
||||||
|
|
||||||
.macro DESKTOP_CALL op, addr, label
|
.macro DESKTOP_CALL op, addr, label
|
||||||
jsr DESKTOP
|
jsr DESKTOP
|
||||||
.byte op
|
.byte op
|
||||||
|
|
||||||
.if .paramcount > 2
|
.if .paramcount > 2
|
||||||
label := *
|
label := *
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
.if .paramcount > 1
|
.if .paramcount > 1
|
||||||
.addr addr
|
.addr addr
|
||||||
.else
|
.else
|
||||||
.addr 0
|
.addr 0
|
||||||
.endif
|
.endif
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
|
|
||||||
@ -83,21 +83,23 @@ DT_ICON_IN_RECT := $0D ; { .byte icon, rect bounds }
|
|||||||
;; These are DeskTop internals, but it appears there is no
|
;; These are DeskTop internals, but it appears there is no
|
||||||
;; API for getting the selected file.
|
;; API for getting the selected file.
|
||||||
file_selected := $DF21 ; 0 if no selection, 1 otherwise
|
file_selected := $DF21 ; 0 if no selection, 1 otherwise
|
||||||
|
|
||||||
path_index := $DF20 ; index of selected window (used to get prefix)
|
path_index := $DF20 ; index of selected window (used to get prefix)
|
||||||
path_table := $DFB3 ; window address table
|
path_table := $DFB3 ; window address table
|
||||||
;; each entry is 65 bytes long
|
;; each entry is 65 bytes long
|
||||||
;; length-prefixed path string (no trailing /)
|
;; length-prefixed path string (no trailing /)
|
||||||
|
|
||||||
file_index := $DF22 ; index of selected file (global, not w/in window)
|
file_index := $DF22 ; index of selected file (global, not w/in window)
|
||||||
file_table := $DD9F ; file address table
|
file_table := $DD9F ; file address table
|
||||||
;; each entry is 27 bytes long
|
;; each entry is 27 bytes long
|
||||||
|
;; .byte icon icon index
|
||||||
;; .byte ??
|
;; .byte ??
|
||||||
;; .byte ??
|
;; .byte type/icon (bits 4,5,6 clear = directory; $70=trash, $80=profile, $01=folder, $11=sys, $21=bin, ???)
|
||||||
;; .byte type/icon (bits 4,5,6 clear = directory)
|
|
||||||
;; .word iconx (pixels)
|
;; .word iconx (pixels)
|
||||||
;; .word icony (pixels)
|
;; .word icony (pixels)
|
||||||
;; .byte ??
|
;; .addr iconbits (addr of {mapbits, mapwidth, reserved, maprect})
|
||||||
;; .byte ??
|
;; .byte len (name length + 2)
|
||||||
;; .byte len, name (length-prefixed, spaces before/after; 17 byte buffer)
|
;; .res 17 name (name, with a space before and after)
|
||||||
|
|
||||||
|
|
||||||
;;; ==================================================
|
;;; ==================================================
|
||||||
|
@ -26,10 +26,6 @@ INVOKER_FILENAME := $280 ; File to invoke (PREFIX must be set)
|
|||||||
.endif
|
.endif
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
.macro PAD_TO addr
|
|
||||||
.res addr - *, 0
|
|
||||||
.endmacro
|
|
||||||
|
|
||||||
;;; ==================================================
|
;;; ==================================================
|
||||||
;;; Segment loaded into AUX $851F-$BFFF (follows MGTK)
|
;;; Segment loaded into AUX $851F-$BFFF (follows MGTK)
|
||||||
;;; ==================================================
|
;;; ==================================================
|
||||||
@ -380,7 +376,6 @@ L8C83: .byte $00,$00,$00,$00,$77,$30,$01
|
|||||||
|
|
||||||
;;; ==================================================
|
;;; ==================================================
|
||||||
|
|
||||||
|
|
||||||
.macro MGTK_RELAY2_CALL call, addr
|
.macro MGTK_RELAY2_CALL call, addr
|
||||||
.if .paramcount > 1
|
.if .paramcount > 1
|
||||||
yax_call MGTK_RELAY2, (call), (addr)
|
yax_call MGTK_RELAY2, (call), (addr)
|
||||||
@ -730,7 +725,7 @@ L945E: cmp icon_table,x
|
|||||||
dex
|
dex
|
||||||
bpl L945E
|
bpl L945E
|
||||||
|
|
||||||
bail1: lda #$01
|
bail1: lda #1
|
||||||
rts
|
rts
|
||||||
|
|
||||||
L9469: asl a
|
L9469: asl a
|
||||||
@ -832,67 +827,75 @@ done: jsr L9F98
|
|||||||
;;; DESKTOP $04 IMPL
|
;;; DESKTOP $04 IMPL
|
||||||
|
|
||||||
.proc L9508
|
.proc L9508
|
||||||
ldy #$00
|
ptr := $6
|
||||||
|
|
||||||
|
;; Search for passed icon
|
||||||
|
ldy #0
|
||||||
ldx num_icons
|
ldx num_icons
|
||||||
beq L951A
|
beq bail1
|
||||||
dex
|
dex
|
||||||
lda ($06),y
|
lda (ptr),y
|
||||||
L9512: cmp icon_table,x
|
: cmp icon_table,x
|
||||||
beq L951D
|
beq found
|
||||||
dex
|
dex
|
||||||
bpl L9512
|
bpl :-
|
||||||
L951A: lda #$01
|
bail1: lda #1
|
||||||
rts
|
rts
|
||||||
|
|
||||||
L951D: asl a
|
;; Pointer to icon details
|
||||||
|
found: asl a
|
||||||
tax
|
tax
|
||||||
lda icon_ptrs,x
|
lda icon_ptrs,x
|
||||||
sta $06
|
sta ptr
|
||||||
lda icon_ptrs+1,x
|
lda icon_ptrs+1,x
|
||||||
sta $06+1
|
sta ptr+1
|
||||||
ldy #$01
|
ldy #1 ; offset 1 is ... ???
|
||||||
lda ($06),y
|
lda (ptr),y
|
||||||
bne L9532
|
bne :+
|
||||||
lda #$02
|
|
||||||
|
lda #2
|
||||||
rts
|
rts
|
||||||
|
|
||||||
L9532: jsr calc_icon_poly
|
: jsr calc_icon_poly
|
||||||
MGTK_CALL MGTK::SetPenMode, pencopy_2
|
MGTK_CALL MGTK::SetPenMode, pencopy_2
|
||||||
jsr LA39D
|
jsr LA39D
|
||||||
ldy #$00
|
ldy #0
|
||||||
lda ($06),y
|
lda (ptr),y
|
||||||
ldx num_icons
|
ldx num_icons
|
||||||
jsr LA2E3
|
jsr LA2E3
|
||||||
dec num_icons
|
dec num_icons
|
||||||
lda #$00
|
lda #0
|
||||||
ldx num_icons
|
ldx num_icons
|
||||||
sta icon_table,x
|
sta icon_table,x
|
||||||
ldy #$01
|
ldy #1
|
||||||
lda #$00
|
lda #0
|
||||||
sta ($06),y
|
sta (ptr),y
|
||||||
lda has_highlight
|
lda has_highlight
|
||||||
beq L958C
|
beq done
|
||||||
|
|
||||||
ldx highlight_count
|
ldx highlight_count
|
||||||
dex
|
dex
|
||||||
ldy #$00
|
ldy #0
|
||||||
lda ($06),y
|
lda (ptr),y
|
||||||
L9566: cmp highlight_list,x
|
L9566: cmp highlight_list,x
|
||||||
beq L9571
|
beq L9571
|
||||||
dex
|
dex
|
||||||
bpl L9566
|
bpl L9566
|
||||||
jmp L958C
|
|
||||||
|
jmp done
|
||||||
|
|
||||||
L9571: ldx highlight_count
|
L9571: ldx highlight_count
|
||||||
jsr LA324
|
jsr LA324
|
||||||
dec highlight_count
|
dec highlight_count
|
||||||
lda highlight_count
|
lda highlight_count
|
||||||
bne L9584
|
bne L9584
|
||||||
lda #$00
|
lda #0
|
||||||
sta has_highlight
|
sta has_highlight
|
||||||
L9584: lda #$00
|
L9584: lda #0
|
||||||
ldx highlight_count
|
ldx highlight_count
|
||||||
sta highlight_list,x
|
sta highlight_list,x
|
||||||
L958C: lda #$00
|
|
||||||
|
done: lda #0
|
||||||
rts
|
rts
|
||||||
.endproc
|
.endproc
|
||||||
|
|
||||||
@ -1204,7 +1207,7 @@ L9803: lda ($06),y
|
|||||||
dey
|
dey
|
||||||
cpy #0
|
cpy #0
|
||||||
bne L9803
|
bne L9803
|
||||||
jsr LA365
|
jsr push_zp_addrs
|
||||||
lda L982A
|
lda L982A
|
||||||
jsr L9EB4
|
jsr L9EB4
|
||||||
stax $06
|
stax $06
|
||||||
@ -1310,7 +1313,7 @@ L9909: sta L9834
|
|||||||
lda L9C74
|
lda L9C74
|
||||||
cmp highlight_count
|
cmp highlight_count
|
||||||
beq L9936
|
beq L9936
|
||||||
jsr LA365
|
jsr push_zp_addrs
|
||||||
lda $08
|
lda $08
|
||||||
sec
|
sec
|
||||||
sbc #$22
|
sbc #$22
|
||||||
@ -1320,7 +1323,7 @@ L9909: sta L9834
|
|||||||
L992D: ldy #$01
|
L992D: ldy #$01
|
||||||
lda #$80
|
lda #$80
|
||||||
sta ($08),y
|
sta ($08),y
|
||||||
jsr LA382
|
jsr pop_zp_addrs
|
||||||
L9936: ldx #$21
|
L9936: ldx #$21
|
||||||
ldy #$21
|
ldy #$21
|
||||||
L993A: lda poly,x
|
L993A: lda poly,x
|
||||||
@ -1590,7 +1593,7 @@ L9BD4: ora #$80
|
|||||||
|
|
||||||
L9BDC: lda L9832
|
L9BDC: lda L9832
|
||||||
beq L9BD1
|
beq L9BD1
|
||||||
L9BE1: jsr LA365
|
L9BE1: jsr push_zp_addrs
|
||||||
MGTK_CALL MGTK::InitPort, grafport
|
MGTK_CALL MGTK::InitPort, grafport
|
||||||
MGTK_CALL MGTK::SetPort, grafport
|
MGTK_CALL MGTK::SetPort, grafport
|
||||||
ldx highlight_count
|
ldx highlight_count
|
||||||
@ -1612,7 +1615,7 @@ L9BF3: dex
|
|||||||
tax
|
tax
|
||||||
jmp L9BF3
|
jmp L9BF3
|
||||||
|
|
||||||
L9C18: jsr LA382
|
L9C18: jsr pop_zp_addrs
|
||||||
ldx highlight_count
|
ldx highlight_count
|
||||||
dex
|
dex
|
||||||
txa
|
txa
|
||||||
@ -1657,7 +1660,7 @@ L9C60: jmp L9C29
|
|||||||
|
|
||||||
L9C63: lda #$00
|
L9C63: lda #$00
|
||||||
L9C65: tay
|
L9C65: tay
|
||||||
jsr LA382
|
jsr pop_zp_addrs
|
||||||
tya
|
tya
|
||||||
tax
|
tax
|
||||||
ldy #$00
|
ldy #$00
|
||||||
@ -1830,7 +1833,7 @@ L9E14: bit L9833
|
|||||||
bpl L9E1A
|
bpl L9E1A
|
||||||
rts
|
rts
|
||||||
|
|
||||||
L9E1A: jsr LA365
|
L9E1A: jsr push_zp_addrs
|
||||||
MGTK_CALL MGTK::FindWindow, findwindow_params2
|
MGTK_CALL MGTK::FindWindow, findwindow_params2
|
||||||
lda findwindow_params2::which_area
|
lda findwindow_params2::which_area
|
||||||
bne L9E2B
|
bne L9E2B
|
||||||
@ -1875,7 +1878,7 @@ L9E97: MGTK_CALL MGTK::InitPort, grafport
|
|||||||
MGTK_CALL MGTK::SetPort, grafport
|
MGTK_CALL MGTK::SetPort, grafport
|
||||||
MGTK_CALL MGTK::SetPattern, checkerboard_pattern2
|
MGTK_CALL MGTK::SetPattern, checkerboard_pattern2
|
||||||
MGTK_CALL MGTK::SetPenMode, penXOR_2
|
MGTK_CALL MGTK::SetPenMode, penXOR_2
|
||||||
jsr LA382
|
jsr pop_zp_addrs
|
||||||
rts
|
rts
|
||||||
|
|
||||||
L9EB3: .byte 0
|
L9EB3: .byte 0
|
||||||
@ -2031,7 +2034,7 @@ L9FB6: lda ($06),y
|
|||||||
iny
|
iny
|
||||||
cpy #$09
|
cpy #$09
|
||||||
bne L9FB6
|
bne L9FB6
|
||||||
jsr LA365
|
jsr push_zp_addrs
|
||||||
lda paintbits_params2::mapbits
|
lda paintbits_params2::mapbits
|
||||||
sta $08
|
sta $08
|
||||||
lda paintbits_params2::mapbits+1
|
lda paintbits_params2::mapbits+1
|
||||||
@ -2044,7 +2047,7 @@ L9FCF: lda ($08),y
|
|||||||
bit L9F92
|
bit L9F92
|
||||||
bpl L9FDF
|
bpl L9FDF
|
||||||
jsr LA12C
|
jsr LA12C
|
||||||
L9FDF: jsr LA382
|
L9FDF: jsr pop_zp_addrs
|
||||||
ldy #$09
|
ldy #$09
|
||||||
L9FE4: lda ($06),y
|
L9FE4: lda ($06),y
|
||||||
sta paintrect_params6::bottom,y
|
sta paintrect_params6::bottom,y
|
||||||
@ -2188,7 +2191,7 @@ LA189: rts
|
|||||||
;;; ==================================================
|
;;; ==================================================
|
||||||
|
|
||||||
.proc calc_icon_poly
|
.proc calc_icon_poly
|
||||||
jsr LA365
|
jsr push_zp_addrs
|
||||||
ldy #$06
|
ldy #$06
|
||||||
ldx #$03
|
ldx #$03
|
||||||
LA191: lda ($06),y
|
LA191: lda ($06),y
|
||||||
@ -2301,7 +2304,7 @@ LA256: lsr a
|
|||||||
adc #$00
|
adc #$00
|
||||||
sta poly::v3::xcoord+1
|
sta poly::v3::xcoord+1
|
||||||
sta poly::v4::xcoord+1
|
sta poly::v4::xcoord+1
|
||||||
jsr LA382
|
jsr pop_zp_addrs
|
||||||
rts
|
rts
|
||||||
|
|
||||||
LA2A4: .byte 0
|
LA2A4: .byte 0
|
||||||
@ -2318,10 +2321,10 @@ REDRAW_ICONS_IMPL:
|
|||||||
;; DT_UNHIGHLIGHT_ICON params
|
;; DT_UNHIGHLIGHT_ICON params
|
||||||
LA2A9: .byte 0
|
LA2A9: .byte 0
|
||||||
|
|
||||||
LA2AA: jsr LA382
|
LA2AA: jsr pop_zp_addrs
|
||||||
rts
|
rts
|
||||||
|
|
||||||
LA2AE: jsr LA365
|
LA2AE: jsr push_zp_addrs
|
||||||
ldx num_icons
|
ldx num_icons
|
||||||
dex
|
dex
|
||||||
LA2B5: bmi LA2AA
|
LA2B5: bmi LA2AA
|
||||||
@ -2397,12 +2400,12 @@ LA33B: lda highlight_list+1,x
|
|||||||
cpx highlight_count
|
cpx highlight_count
|
||||||
bne LA33B
|
bne LA33B
|
||||||
ldx highlight_count
|
ldx highlight_count
|
||||||
LA34A: cpx LA363
|
: cpx LA363
|
||||||
beq LA359
|
beq LA359
|
||||||
lda has_highlight,x
|
lda has_highlight,x
|
||||||
sta highlight_count,x
|
sta highlight_count,x
|
||||||
dex
|
dex
|
||||||
jmp LA34A
|
jmp :-
|
||||||
|
|
||||||
LA359: ldx LA363
|
LA359: ldx LA363
|
||||||
lda LA364
|
lda LA364
|
||||||
@ -2413,42 +2416,57 @@ LA364: .byte 0
|
|||||||
|
|
||||||
;;; ==================================================
|
;;; ==================================================
|
||||||
|
|
||||||
LA365: pla
|
.proc push_zp_addrs
|
||||||
sta LA380
|
;; save return addr
|
||||||
pla
|
pla
|
||||||
sta LA381
|
sta stash
|
||||||
ldx #$00
|
pla
|
||||||
LA36F: lda $06,x
|
sta stash+1
|
||||||
|
|
||||||
|
;; push $06...$09 to stack
|
||||||
|
ldx #0
|
||||||
|
: lda $06,x
|
||||||
pha
|
pha
|
||||||
inx
|
inx
|
||||||
cpx #$04
|
cpx #4
|
||||||
bne LA36F
|
bne :-
|
||||||
lda LA381
|
|
||||||
|
;; restore return addr
|
||||||
|
lda stash+1
|
||||||
pha
|
pha
|
||||||
lda LA380
|
lda stash
|
||||||
pha
|
pha
|
||||||
rts
|
rts
|
||||||
LA380: .byte 0
|
|
||||||
LA381: .byte 0
|
stash: .word 0
|
||||||
|
.endproc
|
||||||
|
|
||||||
;;; ==================================================
|
;;; ==================================================
|
||||||
|
|
||||||
LA382: pla
|
.proc pop_zp_addrs
|
||||||
sta LA39B
|
;; save return addr
|
||||||
pla
|
pla
|
||||||
sta LA39C
|
sta stash
|
||||||
ldx #$03
|
pla
|
||||||
LA38C: pla
|
sta stash+1
|
||||||
|
|
||||||
|
;; pull $06...$09 to stack
|
||||||
|
ldx #3
|
||||||
|
: pla
|
||||||
sta $06,x
|
sta $06,x
|
||||||
dex
|
dex
|
||||||
bpl LA38C
|
bpl :-
|
||||||
lda LA39C
|
|
||||||
|
;; restore return addr
|
||||||
|
lda stash+1
|
||||||
pha
|
pha
|
||||||
lda LA39B
|
lda stash
|
||||||
pha
|
pha
|
||||||
rts
|
rts
|
||||||
LA39B: .byte 0
|
|
||||||
LA39C: .byte 0
|
stash: .word 0
|
||||||
|
|
||||||
|
.endproc
|
||||||
|
|
||||||
;;; ==================================================
|
;;; ==================================================
|
||||||
|
|
||||||
@ -2541,7 +2559,7 @@ volume:
|
|||||||
|
|
||||||
;;; ==================================================
|
;;; ==================================================
|
||||||
|
|
||||||
LA446: jsr LA365
|
LA446: jsr push_zp_addrs
|
||||||
ldx num_icons
|
ldx num_icons
|
||||||
dex
|
dex
|
||||||
LA44D: cpx #$FF
|
LA44D: cpx #$FF
|
||||||
@ -2550,7 +2568,7 @@ LA44D: cpx #$FF
|
|||||||
bpl LA462
|
bpl LA462
|
||||||
MGTK_CALL MGTK::InitPort, grafport
|
MGTK_CALL MGTK::InitPort, grafport
|
||||||
MGTK_CALL MGTK::SetPort, grafport4
|
MGTK_CALL MGTK::SetPort, grafport4
|
||||||
LA462: jsr LA382
|
LA462: jsr pop_zp_addrs
|
||||||
rts
|
rts
|
||||||
|
|
||||||
;;; ==================================================
|
;;; ==================================================
|
||||||
@ -2685,7 +2703,7 @@ LA56D: .byte 0
|
|||||||
LA56E: .byte 0
|
LA56E: .byte 0
|
||||||
LA56F: pla
|
LA56F: pla
|
||||||
tay
|
tay
|
||||||
jsr LA365
|
jsr push_zp_addrs
|
||||||
tya
|
tya
|
||||||
asl a
|
asl a
|
||||||
tax
|
tax
|
||||||
@ -2729,12 +2747,12 @@ LA56F: pla
|
|||||||
lda ($06),y
|
lda ($06),y
|
||||||
sbc LA56E
|
sbc LA56E
|
||||||
sta ($06),y
|
sta ($06),y
|
||||||
jsr LA382
|
jsr pop_zp_addrs
|
||||||
rts
|
rts
|
||||||
|
|
||||||
LA5CB: pla
|
LA5CB: pla
|
||||||
tay
|
tay
|
||||||
jsr LA365
|
jsr push_zp_addrs
|
||||||
tya
|
tya
|
||||||
asl a
|
asl a
|
||||||
tax
|
tax
|
||||||
@ -2778,7 +2796,7 @@ LA5CB: pla
|
|||||||
lda ($06),y
|
lda ($06),y
|
||||||
adc LA56E
|
adc LA56E
|
||||||
sta ($06),y
|
sta ($06),y
|
||||||
jsr LA382
|
jsr pop_zp_addrs
|
||||||
rts
|
rts
|
||||||
|
|
||||||
;;; ==================================================
|
;;; ==================================================
|
||||||
@ -2840,8 +2858,8 @@ LA6A3: lda #$00
|
|||||||
.proc findwindow_params
|
.proc findwindow_params
|
||||||
mousex: .word 0
|
mousex: .word 0
|
||||||
mousey: .word 0
|
mousey: .word 0
|
||||||
which_area:.byte 0
|
which_area: .byte 0
|
||||||
window_id: .byte 0
|
window_id: .byte 0
|
||||||
.endproc
|
.endproc
|
||||||
|
|
||||||
LA6AE: .byte $00
|
LA6AE: .byte $00
|
||||||
@ -2953,7 +2971,7 @@ LA77D: lda LA6B3,x
|
|||||||
lda findwindow_params::window_id
|
lda findwindow_params::window_id
|
||||||
sta getwinport_params
|
sta getwinport_params
|
||||||
MGTK_CALL MGTK::GetWinPort, getwinport_params
|
MGTK_CALL MGTK::GetWinPort, getwinport_params
|
||||||
jsr LA365
|
jsr push_zp_addrs
|
||||||
MGTK_CALL MGTK::GetWinPtr, findwindow_params::window_id
|
MGTK_CALL MGTK::GetWinPtr, findwindow_params::window_id
|
||||||
lda LA6AE
|
lda LA6AE
|
||||||
sta $06
|
sta $06
|
||||||
@ -3009,7 +3027,7 @@ LA833: bit LA6B1
|
|||||||
sta grafport4::cliprect::x2
|
sta grafport4::cliprect::x2
|
||||||
bcc LA846
|
bcc LA846
|
||||||
inc grafport4::cliprect::x2+1
|
inc grafport4::cliprect::x2+1
|
||||||
LA846: jsr LA382
|
LA846: jsr pop_zp_addrs
|
||||||
sub16 grafport4::cliprect::x2, grafport4::cliprect::x1, LA6C3
|
sub16 grafport4::cliprect::x2, grafport4::cliprect::x1, LA6C3
|
||||||
sub16 grafport4::cliprect::y2, grafport4::cliprect::y1, LA6C5
|
sub16 grafport4::cliprect::y2, grafport4::cliprect::y1, LA6C5
|
||||||
lda LA6C3
|
lda LA6C3
|
||||||
@ -3766,11 +3784,6 @@ LBAEF: tya
|
|||||||
sta alert_action
|
sta alert_action
|
||||||
jmp LBB14
|
jmp LBB14
|
||||||
|
|
||||||
.macro DRAW_PASCAL_STRING addr
|
|
||||||
ldax #(addr)
|
|
||||||
jsr draw_pascal_string
|
|
||||||
.endmacro
|
|
||||||
|
|
||||||
LBB0B: tya
|
LBB0B: tya
|
||||||
lsr a
|
lsr a
|
||||||
tay
|
tay
|
||||||
@ -3781,17 +3794,17 @@ LBB14: MGTK_RELAY2_CALL MGTK::SetPenMode, penXOR
|
|||||||
bpl LBB5C
|
bpl LBB5C
|
||||||
MGTK_RELAY2_CALL MGTK::FrameRect, cancel_rect
|
MGTK_RELAY2_CALL MGTK::FrameRect, cancel_rect
|
||||||
MGTK_RELAY2_CALL MGTK::MoveTo, cancel_pos
|
MGTK_RELAY2_CALL MGTK::MoveTo, cancel_pos
|
||||||
DRAW_PASCAL_STRING cancel_label
|
addr_call draw_pascal_string, cancel_label
|
||||||
bit alert_action
|
bit alert_action
|
||||||
bvs LBB5C
|
bvs LBB5C
|
||||||
MGTK_RELAY2_CALL MGTK::FrameRect, try_again_rect
|
MGTK_RELAY2_CALL MGTK::FrameRect, try_again_rect
|
||||||
MGTK_RELAY2_CALL MGTK::MoveTo, try_again_pos
|
MGTK_RELAY2_CALL MGTK::MoveTo, try_again_pos
|
||||||
DRAW_PASCAL_STRING try_again_label
|
addr_call draw_pascal_string, try_again_label
|
||||||
jmp LBB75
|
jmp LBB75
|
||||||
|
|
||||||
LBB5C: MGTK_RELAY2_CALL MGTK::FrameRect, try_again_rect
|
LBB5C: MGTK_RELAY2_CALL MGTK::FrameRect, try_again_rect
|
||||||
MGTK_RELAY2_CALL MGTK::MoveTo, try_again_pos
|
MGTK_RELAY2_CALL MGTK::MoveTo, try_again_pos
|
||||||
DRAW_PASCAL_STRING ok_label
|
addr_call draw_pascal_string, ok_label
|
||||||
LBB75: MGTK_RELAY2_CALL MGTK::MoveTo, point8
|
LBB75: MGTK_RELAY2_CALL MGTK::MoveTo, point8
|
||||||
ldax prompt_addr
|
ldax prompt_addr
|
||||||
jsr draw_pascal_string
|
jsr draw_pascal_string
|
||||||
@ -4304,11 +4317,11 @@ addr: .addr 0
|
|||||||
|
|
||||||
.macro DESKTOP_RELAY_CALL call, addr
|
.macro DESKTOP_RELAY_CALL call, addr
|
||||||
ldy #(call)
|
ldy #(call)
|
||||||
.if .paramcount > 1
|
.if .paramcount > 1
|
||||||
ldax #(addr)
|
ldax #(addr)
|
||||||
.else
|
.else
|
||||||
ldax #0
|
ldax #0
|
||||||
.endif
|
.endif
|
||||||
jsr DESKTOP_RELAY
|
jsr DESKTOP_RELAY
|
||||||
.endmacro
|
.endmacro
|
||||||
|
|
||||||
@ -5139,7 +5152,7 @@ LDD9E: .byte 0
|
|||||||
;; Icon to File mapping table
|
;; Icon to File mapping table
|
||||||
;;
|
;;
|
||||||
;; each entry is 27 bytes long
|
;; each entry is 27 bytes long
|
||||||
;; .byte ??
|
;; .byte icon index
|
||||||
;; .byte ??
|
;; .byte ??
|
||||||
;; .byte type/icon (bits 4,5,6 are type)
|
;; .byte type/icon (bits 4,5,6 are type)
|
||||||
;; $00 = directory
|
;; $00 = directory
|
||||||
@ -5149,9 +5162,9 @@ LDD9E: .byte 0
|
|||||||
;; $50 = text, generic
|
;; $50 = text, generic
|
||||||
;; .word iconx (pixels)
|
;; .word iconx (pixels)
|
||||||
;; .word icony (pixels)
|
;; .word icony (pixels)
|
||||||
;; .byte ??
|
;; .addr iconbits (addr of {mapbits, mapwidth, reserved, maprect})
|
||||||
;; .byte ??
|
;; .byte len (name length + 2)
|
||||||
;; .byte len, name (length-prefixed, spaces before/after; 17 byte buffer)
|
;; .res 17 name (name, with a space before and after)
|
||||||
;;
|
;;
|
||||||
;; (likely point into buffer at $ED00, which has room for 127*27)
|
;; (likely point into buffer at $ED00, which has room for 127*27)
|
||||||
file_address_table:
|
file_address_table:
|
||||||
|
@ -2,6 +2,12 @@
|
|||||||
;;; Generic Macros
|
;;; Generic Macros
|
||||||
;;; ==================================================
|
;;; ==================================================
|
||||||
|
|
||||||
|
;;; ==================================================
|
||||||
|
;;; Pad with zeros to the given address
|
||||||
|
|
||||||
|
.macro PAD_TO addr
|
||||||
|
.res addr - *, 0
|
||||||
|
.endmacro
|
||||||
|
|
||||||
;;; ==================================================
|
;;; ==================================================
|
||||||
;;; Calls with one parameter (address in A,X)
|
;;; Calls with one parameter (address in A,X)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user