From 5e793406f1342eb4a2abce1f86c3fbc21c14474c Mon Sep 17 00:00:00 2001 From: Joshua Bell Date: Fri, 1 Sep 2017 09:16:12 -0700 Subject: [PATCH] window params --- desk.acc/show.text.file/a2d.inc | 5 ++- desk.acc/show.text.file/stf.list | 52 +++++++++++++++-------------- desk.acc/show.text.file/stf.o | Bin 21409 -> 21318 bytes desk.acc/show.text.file/stf.s | 54 +++++++++++++++---------------- 4 files changed, 59 insertions(+), 52 deletions(-) diff --git a/desk.acc/show.text.file/a2d.inc b/desk.acc/show.text.file/a2d.inc index ea1fe5e..170e04f 100644 --- a/desk.acc/show.text.file/a2d.inc +++ b/desk.acc/show.text.file/a2d.inc @@ -22,7 +22,10 @@ A2D_CREATE_WINDOW := $38 ;; 0 = desktop ;; 1, 2, ... = file windows ;; 100 = DA (for example) - ;; .byte ??? + ;; .byte flags + ;; bit 0: remove title bar + ;; bit 1: add close box + ;; bit 2: add resize box 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 dcf0cf6..ee8b8ab 100644 --- a/desk.acc/show.text.file/stf.list +++ b/desk.acc/show.text.file/stf.list @@ -99,7 +99,10 @@ Current file: stf.s 000800 2 ;; 0 = desktop 000800 2 ;; 1, 2, ... = file windows 000800 2 ;; 100 = DA (for example) -000800 2 ;; .byte ??? +000800 2 ;; .byte flags +000800 2 ;; bit 0: remove title bar +000800 2 ;; bit 1: add close box +000800 2 ;; bit 2: add resize box 000800 2 000800 2 A2D_DESTROY_WINDOW := $39 000800 2 ;; .byte id @@ -478,8 +481,7 @@ Current file: stf.s 000994 1 window_id := $64 000994 1 .proc window_params 000994 1 64 id: .byte window_id ; window identifier -000995 1 02 unk: .byte 2 ; unknown - window flags? -000996 1 .endproc +000995 1 02 flags: .byte 2 ; window flags (2=include close box) 000996 1 000996 1 ;; possibly additional window params - size? 000996 1 00 10 L0996: .word $1000 ; ??? @@ -487,13 +489,15 @@ Current file: stf.s 00099A 1 20 L099A: .byte $20 00099B 1 00 FF L099B: .byte $00,$FF 00099D 1 +00099D 1 ;; part of window params 00099D 1 vscroll_pos: 00099D 1 00 .byte 0 00099E 1 -00099E 1 ;; unused? +00099E 1 ;; more window params (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 ; ??? +0009A8 1 .endproc 0009A8 1 0009A8 1 .proc text_box ; or whole window ?? 0009A8 1 0A 00 left: .word 10 @@ -578,10 +582,10 @@ Current file: stf.s 000A40 1 18 L0A40: clc 000A41 1 A5 06 lda $06 000A43 1 69 09 adc #$09 -000A45 1 8D 96 09 sta L0996 +000A45 1 8D 96 09 sta window_params::L0996 000A48 1 A5 07 lda $07 000A4A 1 69 00 adc #$00 -000A4C 1 8D 97 09 sta L0996+1 +000A4C 1 8D 97 09 sta window_params::L0996+1 000A4F 1 A0 09 ldy #$09 000A51 1 B1 06 lda ($06),y 000A53 1 AA tax @@ -728,7 +732,7 @@ Current file: stf.s 000B6A 1 AD B5 09 lda text_box::width+1 000B6D 1 ED 62 09 sbc window_width+1 000B70 1 8D B1 09 sta text_box::unk1+1 -000B73 1 AD 98 09 L0B73: lda L0998 +000B73 1 AD 98 09 L0B73: lda window_params::L0998 000B76 1 AE 61 09 ldx window_width 000B79 1 E0 00 cpx #$00 000B7B 1 D0 0C bne L0B89 @@ -739,7 +743,7 @@ Current file: stf.s 000B86 1 4C 8B 0B jmp L0B8B 000B89 1 000B89 1 09 01 L0B89: ora #$01 -000B8B 1 8D 98 09 L0B8B: sta L0998 +000B8B 1 8D 98 09 L0B8B: sta window_params::L0998 000B8E 1 38 sec 000B8F 1 A9 00 lda #$00 000B91 1 ED 61 09 sbc window_width @@ -807,11 +811,11 @@ Current file: stf.s 000C11 1 .endproc 000C11 1 000C11 1 .proc on_vscroll_above_click -000C11 1 AD 9D 09 loop: lda vscroll_pos +000C11 1 AD 9D 09 loop: lda window_params::vscroll_pos 000C14 1 F0 16 beq end 000C16 1 20 84 0C jsr calc_track_scroll_delta 000C19 1 38 sec -000C1A 1 AD 9D 09 lda vscroll_pos +000C1A 1 AD 9D 09 lda window_params::vscroll_pos 000C1D 1 ED 6E 09 sbc track_scroll_delta 000C20 1 B0 02 bcs store 000C22 1 A9 00 lda #$00 ; underflow @@ -822,7 +826,7 @@ Current file: stf.s 000C2D 1 .endproc 000C2D 1 000C2D 1 .proc on_vscroll_up_click -000C2D 1 AD 9D 09 loop : lda vscroll_pos +000C2D 1 AD 9D 09 loop : lda window_params::vscroll_pos 000C30 1 F0 0B beq end 000C32 1 38 sec 000C33 1 E9 01 sbc #1 @@ -835,12 +839,12 @@ Current file: stf.s 000C3E 1 vscroll_max := $FA 000C3E 1 000C3E 1 .proc on_vscroll_below_click -000C3E 1 AD 9D 09 loop: lda vscroll_pos +000C3E 1 AD 9D 09 loop: lda window_params::vscroll_pos 000C41 1 C9 FA cmp #vscroll_max ; pos == max ? 000C43 1 F0 1A beq end 000C45 1 20 84 0C jsr calc_track_scroll_delta 000C48 1 18 clc -000C49 1 AD 9D 09 lda vscroll_pos +000C49 1 AD 9D 09 lda window_params::vscroll_pos 000C4C 1 6D 6E 09 adc track_scroll_delta ; pos + delta 000C4F 1 B0 04 bcs overflow 000C51 1 C9 FB cmp #vscroll_max+1 ; > max ? @@ -854,7 +858,7 @@ Current file: stf.s 000C60 1 .endproc 000C60 1 000C60 1 .proc on_vscroll_down_click -000C60 1 AD 9D 09 loop: lda vscroll_pos +000C60 1 AD 9D 09 loop: lda window_params::vscroll_pos 000C63 1 C9 FA cmp #vscroll_max 000C65 1 F0 0B beq end 000C67 1 18 clc @@ -931,7 +935,7 @@ Current file: stf.s 000CE7 1 000CE7 1 .proc on_hscroll_after_click 000CE7 1 A2 02 ldx #2 -000CE9 1 AD 9A 09 lda L099A +000CE9 1 AD 9A 09 lda window_params::L099A 000CEC 1 4C 02 0D jmp hscroll_common 000CEF 1 .endproc 000CEF 1 @@ -943,7 +947,7 @@ Current file: stf.s 000CF6 1 000CF6 1 .proc on_hscroll_right_click 000CF6 1 A2 01 ldx #1 -000CF8 1 AD 9A 09 lda L099A +000CF8 1 AD 9A 09 lda window_params::L099A 000CFB 1 4C 02 0D jmp hscroll_common 000CFE 1 .endproc 000CFE 1 @@ -956,26 +960,26 @@ Current file: stf.s 000D02 1 .proc hscroll_common 000D02 1 8D 0C 0D sta compare+1 000D05 1 8E 15 0D stx delta+1 -000D08 1 AD 9B 09 loop: lda L099B +000D08 1 AD 9B 09 loop: lda window_params::L099B 000D0B 1 C9 0A compare:cmp #$0A ; self-modified 000D0D 1 D0 01 bne continue 000D0F 1 60 rts 000D10 1 000D10 1 continue: 000D10 1 18 clc -000D11 1 AD 9B 09 lda L099B +000D11 1 AD 9B 09 lda window_params::L099B 000D14 1 69 01 delta: adc #1 ; self-modified 000D16 1 30 0D bmi overflow -000D18 1 CD 9A 09 cmp L099A +000D18 1 CD 9A 09 cmp window_params::L099A 000D1B 1 F0 0A beq store 000D1D 1 90 08 bcc store -000D1F 1 AD 9A 09 lda L099A +000D1F 1 AD 9A 09 lda window_params::L099A 000D22 1 4C 27 0D jmp store 000D25 1 000D25 1 overflow: 000D25 1 A9 00 lda #0 000D27 1 -000D27 1 8D 9B 09 store: sta L099B +000D27 1 8D 9B 09 store: sta window_params::L099B 000D2A 1 20 5E 0D jsr L0D5E 000D2D 1 20 D1 0D jsr L0DD1 000D30 1 20 30 0E jsr draw_content @@ -1008,7 +1012,7 @@ Current file: stf.s 000D5E 1 000D5E 1 ;;; only used from hscroll code? 000D5E 1 .proc L0D5E -000D5E 1 AD 9B 09 lda L099B +000D5E 1 AD 9B 09 lda window_params::L099B 000D61 1 20 EC 10 jsr L10EC 000D64 1 18 clc 000D65 1 A5 06 lda $06 @@ -1089,11 +1093,11 @@ Current file: stf.s 000DFD 1 00 00 .addr 0 000DFF 1 20 00 40 04 A2D_CALL $04, text_box 000E03 1 A8 09 -000E05 1 AD 98 09 lda L0998 +000E05 1 AD 98 09 lda window_params::L0998 000E08 1 6A ror a 000E09 1 90 03 bcc skip 000E0B 1 20 D1 0D jsr L0DD1 -000E0E 1 AD 9D 09 skip: lda vscroll_pos +000E0E 1 AD 9D 09 skip: lda window_params::vscroll_pos 000E11 1 8D 89 09 sta update_scroll_params::pos 000E14 1 20 ED 0D jsr update_vscroll 000E17 1 20 30 0E jsr draw_content diff --git a/desk.acc/show.text.file/stf.o b/desk.acc/show.text.file/stf.o index 128e48335126b185c05b0f639805f86a12ffa887..8dd9f28753ccfbaabac3cb4f304308b8d233eb1f 100644 GIT binary patch literal 21318 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 max ? @@ -652,7 +652,7 @@ end: rts .endproc .proc on_vscroll_down_click -loop: lda vscroll_pos +loop: lda window_params::vscroll_pos cmp #vscroll_max beq end clc @@ -729,7 +729,7 @@ end: rts .proc on_hscroll_after_click ldx #2 - lda L099A + lda window_params::L099A jmp hscroll_common .endproc @@ -741,7 +741,7 @@ end: rts .proc on_hscroll_right_click ldx #1 - lda L099A + lda window_params::L099A jmp hscroll_common .endproc @@ -754,26 +754,26 @@ end: rts .proc hscroll_common sta compare+1 stx delta+1 -loop: lda L099B +loop: lda window_params::L099B compare:cmp #$0A ; self-modified bne continue rts continue: clc - lda L099B + lda window_params::L099B delta: adc #1 ; self-modified bmi overflow - cmp L099A + cmp window_params::L099A beq store bcc store - lda L099A + lda window_params::L099A jmp store overflow: lda #0 -store: sta L099B +store: sta window_params::L099B jsr L0D5E jsr L0DD1 jsr draw_content @@ -804,7 +804,7 @@ store: sta L099B ;;; only used from hscroll code? .proc L0D5E - lda L099B + lda window_params::L099B jsr L10EC clc lda $06 @@ -882,11 +882,11 @@ L0DD1: lda #2 .byte $0C .addr 0 A2D_CALL $04, text_box - lda L0998 + lda window_params::L0998 ror a bcc skip jsr L0DD1 -skip: lda vscroll_pos +skip: lda window_params::vscroll_pos sta update_scroll_params::pos jsr update_vscroll jsr draw_content