From 454d2db7f68fb94505e085b9a58071082daf5954 Mon Sep 17 00:00:00 2001 From: Joshua Bell Date: Sun, 3 Sep 2017 10:44:42 -0700 Subject: [PATCH] Window params includes text box params, which defines initial window bounds --- desk.acc/show.text.file/a2d.inc | 37 +++++++++++++++++++++----- desk.acc/show.text.file/stf.list | 43 ++++++++++++++++++++++++++----- desk.acc/show.text.file/stf.o | Bin 22493 -> 22618 bytes desk.acc/show.text.file/stf.s | 5 ++-- 4 files changed, 69 insertions(+), 16 deletions(-) diff --git a/desk.acc/show.text.file/a2d.inc b/desk.acc/show.text.file/a2d.inc index 26413d5..2e62782 100644 --- a/desk.acc/show.text.file/a2d.inc +++ b/desk.acc/show.text.file/a2d.inc @@ -36,6 +36,8 @@ A2D_TEXT_BOX2 := $06 ; Not sure what BOX1 vs. BOX2 is for ;; .word width pixels ;; .word height +A2D_UNK_07 := $07 ; Unknown - used in calculator + A2D_SET_PATTERN := $08 ;; .byte r0...r7 8x8 pixel pattern for A2D_CLEAR_BOX calls @@ -52,15 +54,23 @@ A2D_CLEAR_BOX := $11 ; To window background pattern ;; .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 ;; .byte length +A2D_UNK_1A := $1A ; Unknown - used in calculator before window creation + +A2D_UNK_24 := $24 ; Unknown - used in calculator + A2D_GET_BUTTON := $2A ;; .byte state (0=up, 1=pressed, 2=held???) +A2D_UNK_2B := $2B ; Unknown + ;; no parameters (pass $0000 as address) + +A2D_UNK_2D := $2D ; Unknown - used in calculator + A2D_CREATE_WINDOW := $38 ;; .byte id ;; 0 = desktop @@ -79,16 +89,27 @@ A2D_CREATE_WINDOW := $38 ;; .byte vscroll_pos ;; .byte ??? ;; .byte ??? - ;; .byte ??? - ;; .byte ??? - ;; .byte ??? - ;; .byte ??? - ;; .word width + ;; .word width_a ??? + ;; .word height_a ??? + ;; .word width_b (of scroll area?) + ;; .word height_b (of scroll area?) + ;; - next section is identical to that for TEXT_BOX + ;; .word left pixels from screen edge + ;; .word top + ;; .word $2000 ??? + ;; .word $80 ??? + ;; .word hoffset pixels scrolled + ;; .word voffset + ;; .word width pixels ;; .word height + + A2D_DESTROY_WINDOW := $39 ;; pass the same block as passed to A2D_CREATE_WINDOW +A2D_UNK_3C := $3C ; Unknown, used in calculator + A2D_GET_MOUSE := $40 ;; .word x ;; .word y @@ -112,6 +133,10 @@ A2D_DRAG_RESIZE := $45 ;; .word ycoord of mouse ;; .byte ?? (likely: moved? 0 = no change, 1 = moved) +A2D_UNK_44 := $44 ; Unknown - used in calculator + +A2D_UNK_46 := $46 ; Unknown - used in calculator + A2D_QUERY_CLIENT:= $48 ;; .word xcoord of query ;; .word ycoord of query diff --git a/desk.acc/show.text.file/stf.list b/desk.acc/show.text.file/stf.list index f9eebe6..278d7f4 100644 --- a/desk.acc/show.text.file/stf.list +++ b/desk.acc/show.text.file/stf.list @@ -113,6 +113,8 @@ Current file: stf.s 000800 2 ;; .word width pixels 000800 2 ;; .word height 000800 2 +000800 2 A2D_UNK_07 := $07 ; Unknown - used in calculator +000800 2 000800 2 A2D_SET_PATTERN := $08 000800 2 ;; .byte r0...r7 8x8 pixel pattern for A2D_CLEAR_BOX calls 000800 2 @@ -129,15 +131,23 @@ Current file: stf.s 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 000800 2 ;; .byte length 000800 2 +000800 2 A2D_UNK_1A := $1A ; Unknown - used in calculator before window creation +000800 2 +000800 2 A2D_UNK_24 := $24 ; Unknown - used in calculator +000800 2 000800 2 A2D_GET_BUTTON := $2A 000800 2 ;; .byte state (0=up, 1=pressed, 2=held???) 000800 2 +000800 2 A2D_UNK_2B := $2B ; Unknown +000800 2 ;; no parameters (pass $0000 as address) +000800 2 +000800 2 A2D_UNK_2D := $2D ; Unknown - used in calculator +000800 2 000800 2 A2D_CREATE_WINDOW := $38 000800 2 ;; .byte id 000800 2 ;; 0 = desktop @@ -156,16 +166,27 @@ Current file: stf.s 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 width_a ??? +000800 2 ;; .word height_a ??? +000800 2 ;; .word width_b (of scroll area?) +000800 2 ;; .word height_b (of scroll area?) +000800 2 ;; - next section is identical to that for TEXT_BOX +000800 2 ;; .word left pixels from screen edge +000800 2 ;; .word top +000800 2 ;; .word $2000 ??? +000800 2 ;; .word $80 ??? +000800 2 ;; .word hoffset pixels scrolled +000800 2 ;; .word voffset +000800 2 ;; .word width pixels 000800 2 ;; .word height 000800 2 +000800 2 +000800 2 000800 2 A2D_DESTROY_WINDOW := $39 000800 2 ;; pass the same block as passed to A2D_CREATE_WINDOW 000800 2 +000800 2 A2D_UNK_3C := $3C ; Unknown, used in calculator +000800 2 000800 2 A2D_GET_MOUSE := $40 000800 2 ;; .word x 000800 2 ;; .word y @@ -189,6 +210,10 @@ Current file: stf.s 000800 2 ;; .word ycoord of mouse 000800 2 ;; .byte ?? (likely: moved? 0 = no change, 1 = moved) 000800 2 +000800 2 A2D_UNK_44 := $44 ; Unknown - used in calculator +000800 2 +000800 2 A2D_UNK_46 := $46 ; Unknown - used in calculator +000800 2 000800 2 A2D_QUERY_CLIENT:= $48 000800 2 ;; .word xcoord of query 000800 2 ;; .word ycoord of query @@ -262,6 +287,10 @@ Current file: stf.s 000800 2 .endmacro 000800 2 000800 1 +000800 1 ;; Big questions: +000800 1 ;; * How can we hide/show the cursor on demand? +000800 1 ;; * Can we trigger menu redraw? (if not, need to preserve for fullscreen) +000800 1 000800 1 4C 04 08 start: jmp copy2aux 000803 1 000803 1 00 save_stack:.byte 0 @@ -596,7 +625,7 @@ Current file: stf.s 0009A4 1 00 02 width: .word default_width 0009A6 1 96 00 height: .word default_height 0009A8 1 .endproc -0009A8 1 +0009A8 1 ;; window_params continues into text_box 0009A8 1 .proc text_box ; or whole window ?? 0009A8 1 0A 00 left: .word 10 0009AA 1 1C 00 top: .word 28 diff --git a/desk.acc/show.text.file/stf.o b/desk.acc/show.text.file/stf.o index eab01df94ed0a79ca6379463e13ba13c793952dc..2b2e85b1e03fa5773e732c5ebf72e9b387e64c75 100644 GIT binary patch literal 22618 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 literal 22493 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 Y@J`BaGCO3q&-g`VLc7jcSwZlB0VzYm#{d8T diff --git a/desk.acc/show.text.file/stf.s b/desk.acc/show.text.file/stf.s index 1104622..86136d1 100644 --- a/desk.acc/show.text.file/stf.s +++ b/desk.acc/show.text.file/stf.s @@ -6,9 +6,8 @@ .include "a2d.inc" ;; Big questions: - ;; * How is initial window position specified? ;; * How can we hide/show the cursor on demand? - ;; * Can we trigger menu redraw? + ;; * Can we trigger menu redraw? (if not, need to preserve for fullscreen) start: jmp copy2aux @@ -328,7 +327,7 @@ vscroll_pos: width: .word default_width height: .word default_height .endproc - + ;; window_params continues into text_box .proc text_box ; or whole window ?? left: .word 10 top: .word 28