diff --git a/desk.acc/a2d.inc b/desk.acc/a2d.inc index 3de9158..e96430e 100644 --- a/desk.acc/a2d.inc +++ b/desk.acc/a2d.inc @@ -303,10 +303,11 @@ A2D_QUERY_CLIENT:= $48 ;; .byte part (0 = client, 1 = vscroll, 2 = hscroll) ;; .byte scroll (1 = up/left, 2 = down/right, 3 = above/before, 4 = below/after, 5 = thumb) -A2D_RESIZE_WINDOW := $49 +A2D_RESIZE_WINDOW := $49 ; ??? ;; (input length 3 bytes) - ;; .byte ?? - ;; .byte ?? + ;; .byte ??? maybe part (i.e. HSCROLL or VSCROLL) ??? + ;; .byte ??? width fraction ?? + ;; .byte ??? A2D_DRAG_SCROLL := $4A ;; (input length 5 bytes) @@ -475,3 +476,9 @@ end: ;; $0D = return (MT:M) $1D = check (MT:D) ;; $0E = (C) $1E = solid apple (MT:@) ;; $0F = (R) $1F = open apple (MT:A) + + A2D_GLYPH_LARROW := $09 + A2D_GLYPH_RARROW := $15 + A2D_GLYPH_UARROW := $0B + A2D_GLYPH_DARROW := $0A + A2D_GLYPH_RETURN := $0D diff --git a/desk.acc/date.s b/desk.acc/date.s index 87bf8f3..86e333b 100644 --- a/desk.acc/date.s +++ b/desk.acc/date.s @@ -753,13 +753,13 @@ date_rect: .word $20,$0F,$9A,$23 label_ok: - A2D_DEFSTRING {"OK ",$0D} ; ends with newline + A2D_DEFSTRING {"OK ",A2D_GLYPH_RETURN} ; label_cancel: A2D_DEFSTRING "Cancel ESC" label_uparrow: - A2D_DEFSTRING $0B ; up arrow + A2D_DEFSTRING A2D_GLYPH_UARROW label_downarrow: - A2D_DEFSTRING $0A ; down arrow + A2D_DEFSTRING A2D_GLYPH_DARROW label_cancel_pos: .word $15,$38 diff --git a/desk.acc/show_text_file.s b/desk.acc/show_text_file.s index 1c16e69..43a0688 100644 --- a/desk.acc/show_text_file.s +++ b/desk.acc/show_text_file.s @@ -269,8 +269,9 @@ scroll: .byte 0 ; 1 = up, 2 = down, 3 = above, 4 = below, 5 = th ;; param block used in dead code (resize?) .proc resize_window_params -L0986: .byte 0 +part: .byte 0 L0987: .byte 0 + ;; needs one more byte? .endproc .proc update_scroll_params ; called to update scroll bar position @@ -590,11 +591,12 @@ wider: lda window_params::hscroll ldx window_width+1 cpx #>max_width bne enable - and #(A2D_CWS_SCROLL_TRACK ^ $FF) ; disable scroll - jmp skip + and #(<~A2D_CWS_SCROLL_TRACK) ; disable scroll + jmp :+ enable: ora #A2D_CWS_SCROLL_TRACK ; enable scroll -skip: sta window_params::hscroll + +: sta window_params::hscroll sec lda #default_buffer? beq L102B @@ -1215,31 +1220,35 @@ loop: lda $1300,y sta $07 L102B: lda #0 sta L0945 - jsr L103E + jsr read_file_page lda read_params::buffer+1 - cmp #$12 ; #>default_buffer? - bne L103D + cmp #>default_buffer + bne :+ inc read_params::buffer+1 -L103D: rts +: rts +.endproc ;;; ================================================== -.proc L103E +.proc read_file_page lda read_params::buffer sta store+1 lda read_params::buffer+1 sta store+2 - lda #$20 - ldx #$00 + + lda #' ' ; fill buffer with spaces + ldx #0 sta RAMWRTOFF store: sta default_buffer,x ; self-modified inx bne store - sta RAMWRTON + + sta RAMWRTON ; read file chunk lda #$00 sta L0947 jsr read_file - pha + + pha ; copy read buffer main>aux lda #$00 sta STARTLO sta DESTINATIONLO @@ -1252,8 +1261,9 @@ store: sta default_buffer,x ; self-modified sec ; main>aux jsr AUXMOVE pla + beq end - cmp #$4C + cmp #$4C ; ??? beq done brk ; ???? done: lda #$01