From 20bd95c2e14465b669e05a459faf51905fcbf781 Mon Sep 17 00:00:00 2001 From: Joshua Bell Date: Sat, 2 Sep 2017 18:51:03 -0700 Subject: [PATCH] consts, comments --- desk.acc/show.text.file/a2d.inc | 24 +++++++++++++++-- desk.acc/show.text.file/stf.list | 45 ++++++++++++++++++++++++------- desk.acc/show.text.file/stf.o | Bin 21999 -> 22203 bytes desk.acc/show.text.file/stf.s | 21 ++++++++++----- 4 files changed, 71 insertions(+), 19 deletions(-) diff --git a/desk.acc/show.text.file/a2d.inc b/desk.acc/show.text.file/a2d.inc index dea7b72..807d1ba 100644 --- a/desk.acc/show.text.file/a2d.inc +++ b/desk.acc/show.text.file/a2d.inc @@ -23,6 +23,7 @@ JUMP_TABLE_13 := $4039 JUMP_TABLE_14 := $403C JUMP_TABLE_15 := $403F +A2D_UNK_03 := $03 ; Unknown - used in calculator after frame is drawn A2D_TEXT_BOX1 := $04 ; Not sure what BOX1 vs. BOX2 is for A2D_TEXT_BOX2 := $06 ; Not sure what BOX1 vs. BOX2 is for @@ -35,16 +36,22 @@ A2D_TEXT_BOX2 := $06 ; Not sure what BOX1 vs. BOX2 is for ;; .word width pixels ;; .word height +A2D_UNK_08 := $08 ; Unknown - used frequently + +A2D_UNK_0C := $0C ; Unknown - used in calculator + A2D_SET_TEXT_POS:= $0E ;; .word left ;; .word base -A2D_CLEAR_BOX := $11 +A2D_CLEAR_BOX := $11 ; To window background pattern ;; .word hoffset (includes scroll pos) ;; .word voffset ;; .word width pixels ;; .word height +A2D_UNK_14 := $14 ; Unknown - draws push button (calculator) +A2D_UNK_19 := $19 ; Unknown - draws button label (calculator) A2D_DRAW_TEXT := $19 ;; .addr data @@ -63,7 +70,20 @@ A2D_CREATE_WINDOW := $38 ;; bit 1: add close box ;; bit 2: add resize box ;; .addr title - ;; ... + ;; .byte ??? + ;; .byte ??? + ;; .byte ??? + ;; .byte ??? + ;; .byte ??? + ;; .byte vscroll_pos + ;; .byte ??? + ;; .byte ??? + ;; .byte ??? + ;; .byte ??? + ;; .byte ??? + ;; .byte ??? + ;; .word width + ;; .word height A2D_DESTROY_WINDOW := $39 ;; .byte id diff --git a/desk.acc/show.text.file/stf.list b/desk.acc/show.text.file/stf.list index 4d2932d..d3367f1 100644 --- a/desk.acc/show.text.file/stf.list +++ b/desk.acc/show.text.file/stf.list @@ -100,6 +100,7 @@ Current file: stf.s 000800 2 JUMP_TABLE_14 := $403C 000800 2 JUMP_TABLE_15 := $403F 000800 2 +000800 2 A2D_UNK_03 := $03 ; Unknown - used in calculator after frame is drawn 000800 2 000800 2 A2D_TEXT_BOX1 := $04 ; Not sure what BOX1 vs. BOX2 is for 000800 2 A2D_TEXT_BOX2 := $06 ; Not sure what BOX1 vs. BOX2 is for @@ -112,16 +113,22 @@ Current file: stf.s 000800 2 ;; .word width pixels 000800 2 ;; .word height 000800 2 +000800 2 A2D_UNK_08 := $08 ; Unknown - used frequently +000800 2 +000800 2 A2D_UNK_0C := $0C ; Unknown - used in calculator +000800 2 000800 2 A2D_SET_TEXT_POS:= $0E 000800 2 ;; .word left 000800 2 ;; .word base 000800 2 -000800 2 A2D_CLEAR_BOX := $11 +000800 2 A2D_CLEAR_BOX := $11 ; To window background pattern 000800 2 ;; .word hoffset (includes scroll pos) 000800 2 ;; .word voffset 000800 2 ;; .word width pixels 000800 2 ;; .word height 000800 2 +000800 2 A2D_UNK_14 := $14 ; Unknown - draws push button (calculator) +000800 2 A2D_UNK_19 := $19 ; Unknown - draws button label (calculator) 000800 2 000800 2 A2D_DRAW_TEXT := $19 000800 2 ;; .addr data @@ -140,7 +147,20 @@ Current file: stf.s 000800 2 ;; bit 1: add close box 000800 2 ;; bit 2: add resize box 000800 2 ;; .addr title -000800 2 ;; ... +000800 2 ;; .byte ??? +000800 2 ;; .byte ??? +000800 2 ;; .byte ??? +000800 2 ;; .byte ??? +000800 2 ;; .byte ??? +000800 2 ;; .byte vscroll_pos +000800 2 ;; .byte ??? +000800 2 ;; .byte ??? +000800 2 ;; .byte ??? +000800 2 ;; .byte ??? +000800 2 ;; .byte ??? +000800 2 ;; .byte ??? +000800 2 ;; .word width +000800 2 ;; .word height 000800 2 000800 2 A2D_DESTROY_WINDOW := $39 000800 2 ;; .byte id @@ -540,6 +560,9 @@ Current file: stf.s 000993 1 00 len: .byte 0 ; length 000994 1 .endproc 000994 1 +000994 1 default_width := 512 +000994 1 default_height := 150 +000994 1 000994 1 .proc window_params 000994 1 64 id: .byte window_id ; window identifier 000995 1 02 flags: .byte 2 ; window flags (2=include close box) @@ -553,9 +576,11 @@ Current file: stf.s 00099D 1 00 .byte 0 00099E 1 00099E 1 ;; unreferenced ? -00099E 1 00 00 C8 00 .byte $00,$00,$C8,$00,$33,$00,$00 ; ??? -0009A2 1 33 00 00 -0009A5 1 02 96 00 .byte $02,$96,$00 ; ??? +00099E 1 00 00 C8 00 .byte $00,$00,$C8,$00,$33,$00 +0009A2 1 33 00 +0009A4 1 +0009A4 1 00 02 width: .word default_width +0009A6 1 96 00 height: .word default_height 0009A8 1 .endproc 0009A8 1 0009A8 1 .proc text_box ; or whole window ?? @@ -565,8 +590,8 @@ Current file: stf.s 0009AE 1 80 00 .word $80 ; ??? never changed 0009B0 1 00 00 hoffset:.word 0 ; Also used for A2D_CLEAR_BOX 0009B2 1 00 00 voffset:.word 0 -0009B4 1 00 02 width: .word 512 -0009B6 1 96 00 height: .word 150 +0009B4 1 00 02 width: .word default_width +0009B6 1 96 00 height: .word default_height 0009B8 1 .endproc 0009B8 1 0009B8 1 ;; unused? @@ -585,8 +610,8 @@ Current file: stf.s 0009D4 1 80 00 .word $80 0009D6 1 00 00 hoffset:.word 0 0009D8 1 00 00 voffset:.word 0 -0009DA 1 00 02 width: .word 512 -0009DC 1 96 00 height: .word 150 +0009DA 1 00 02 width: .word default_width +0009DC 1 96 00 height: .word default_height 0009DE 1 .endproc 0009DE 1 0009DE 1 .proc init @@ -821,7 +846,7 @@ Current file: stf.s 000B42 1 20 FD 10 jsr L10FD ; call $4015 on main 000B45 1 20 88 10 jsr calc_window_size 000B48 1 -000B48 1 max_width := 512 +000B48 1 max_width := default_width 000B48 1 A9 02 lda #>max_width 000B4A 1 CD B5 09 cmp text_box::width+1 000B4D 1 D0 05 bne :+ diff --git a/desk.acc/show.text.file/stf.o b/desk.acc/show.text.file/stf.o index 6a8cbe7b0a997165581018af1418413e7d0bb22d..c653a273ae41e61c488aef3601bb6ef876175a1e 100644 GIT binary patch literal 22203 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 diff --git a/desk.acc/show.text.file/stf.s b/desk.acc/show.text.file/stf.s index 37c1abd..56e9686 100644 --- a/desk.acc/show.text.file/stf.s +++ b/desk.acc/show.text.file/stf.s @@ -299,6 +299,9 @@ addr: .addr 0 ; address len: .byte 0 ; length .endproc + default_width := 512 + default_height := 150 + .proc window_params id: .byte window_id ; window identifier flags: .byte 2 ; window flags (2=include close box) @@ -312,8 +315,10 @@ vscroll_pos: .byte 0 ;; unreferenced ? - .byte $00,$00,$C8,$00,$33,$00,$00 ; ??? - .byte $02,$96,$00 ; ??? + .byte $00,$00,$C8,$00,$33,$00 + +width: .word default_width +height: .word default_height .endproc .proc text_box ; or whole window ?? @@ -323,8 +328,8 @@ top: .word 28 .word $80 ; ??? never changed hoffset:.word 0 ; Also used for A2D_CLEAR_BOX voffset:.word 0 -width: .word 512 -height: .word 150 +width: .word default_width +height: .word default_height .endproc ;; unused? @@ -340,8 +345,8 @@ top: .word 28 .word $80 hoffset:.word 0 voffset:.word 0 -width: .word 512 -height: .word 150 +width: .word default_width +height: .word default_height .endproc .proc init @@ -349,6 +354,8 @@ height: .word 150 lda LCBANK1 lda LCBANK1 + ;; These are DeskTop internals, but it appears there is no + ;; API for getting the selected file. file_selected := $DF21 ; 0 if no selection, 1 otherwise path_index := $DF20 ; index of selected window (used to get prefix) path_table := $DFB3 ; window address table @@ -568,7 +575,7 @@ title: jsr on_title_bar_click jsr L10FD ; call $4015 on main jsr calc_window_size - max_width := 512 + max_width := default_width lda #>max_width cmp text_box::width+1 bne :+