From 2eb641c8aa823177c7bb35813b8dc3a4f7f75e21 Mon Sep 17 00:00:00 2001 From: Joshua Bell Date: Wed, 30 Aug 2017 21:13:25 -0700 Subject: [PATCH] More scroll labels --- desk.acc/show.text.file/stf.list | 29 ++++++++++++++++------------- desk.acc/show.text.file/stf.o | Bin 19867 -> 19914 bytes desk.acc/show.text.file/stf.s | 31 +++++++++++++++++-------------- 3 files changed, 33 insertions(+), 27 deletions(-) diff --git a/desk.acc/show.text.file/stf.list b/desk.acc/show.text.file/stf.list index c4639be..8ae1635 100644 --- a/desk.acc/show.text.file/stf.list +++ b/desk.acc/show.text.file/stf.list @@ -343,7 +343,9 @@ Current file: stf.s 00096B 1 00 L096B: .byte $00 00096C 1 00 L096C: .byte $00 00096D 1 00 L096D: .byte $00 -00096E 1 00 L096E: .byte $00 +00096E 1 +00096E 1 track_scroll_delta: +00096E 1 00 .byte $00 00096F 1 00096F 1 fixed_mode_flag: 00096F 1 00 .byte $00 ; 0 = proportional, otherwise = fixed @@ -696,10 +698,10 @@ Current file: stf.s 000C11 1 .proc on_vscroll_above_click 000C11 1 AD 9D 09 loop: lda vscroll_pos 000C14 1 F0 16 beq end -000C16 1 20 84 0C jsr L0C84 +000C16 1 20 84 0C jsr calc_track_scroll_delta 000C19 1 38 sec 000C1A 1 AD 9D 09 lda vscroll_pos -000C1D 1 ED 6E 09 sbc L096E +000C1D 1 ED 6E 09 sbc track_scroll_delta 000C20 1 B0 02 bcs :+ 000C22 1 A9 00 lda #$00 000C24 1 8D 89 09 : sta L0989 @@ -725,10 +727,10 @@ Current file: stf.s 000C3E 1 AD 9D 09 loop: lda vscroll_pos 000C41 1 C9 FA cmp #vscroll_max ; pos == max ? 000C43 1 F0 1A beq end -000C45 1 20 84 0C jsr L0C84 +000C45 1 20 84 0C jsr calc_track_scroll_delta 000C48 1 18 clc 000C49 1 AD 9D 09 lda vscroll_pos -000C4C 1 6D 6E 09 adc L096E ; pos + delta +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 ? 000C53 1 90 02 bcc store ; nope, it's good @@ -752,8 +754,7 @@ Current file: stf.s 000C72 1 60 end: rts 000C73 1 .endproc 000C73 1 -000C73 1 ;;; Returns with carry set if mouse released -000C73 1 .proc update_scroll_pos +000C73 1 .proc update_scroll_pos ; Returns with carry set if mouse released 000C73 1 20 7C 0D jsr L0D7C 000C76 1 20 ED 0D jsr L0DED 000C79 1 20 30 0E jsr L0E30 @@ -764,15 +765,17 @@ Current file: stf.s 000C83 1 60 end: rts 000C84 1 .endproc 000C84 1 -000C84 1 AD 63 09 L0C84: lda L0963 +000C84 1 .proc calc_track_scroll_delta +000C84 1 AD 63 09 lda L0963 000C87 1 A2 00 ldx #$00 -000C89 1 E8 L0C89: inx +000C89 1 E8 loop: inx 000C8A 1 38 sec -000C8B 1 E9 32 sbc #$32 -000C8D 1 C9 32 cmp #$32 -000C8F 1 B0 F8 bcs L0C89 -000C91 1 8E 6E 09 stx L096E +000C8B 1 E9 32 sbc #50 +000C8D 1 C9 32 cmp #50 +000C8F 1 B0 F8 bcs loop +000C91 1 8E 6E 09 stx track_scroll_delta 000C94 1 60 rts +000C95 1 .endproc 000C95 1 000C95 1 ;;; Haven't been able to trigger this yet - click on ??? 000C95 1 ;;; Possibly horizontal scroll bar? (unused in this DA - generic code?) diff --git a/desk.acc/show.text.file/stf.o b/desk.acc/show.text.file/stf.o index 7937a352e2aac5b3c0b7c53c5dac6147f2520168..450b52ae573a128f854e4883cdacac188913570c 100644 GIT binary patch literal 19914 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 LYVu58UJ(2rO{y48 diff --git a/desk.acc/show.text.file/stf.s b/desk.acc/show.text.file/stf.s index dda79ad..be942f0 100644 --- a/desk.acc/show.text.file/stf.s +++ b/desk.acc/show.text.file/stf.s @@ -210,7 +210,9 @@ L096A: .byte $00 L096B: .byte $00 L096C: .byte $00 L096D: .byte $00 -L096E: .byte $00 + +track_scroll_delta: + .byte $00 fixed_mode_flag: .byte $00 ; 0 = proportional, otherwise = fixed @@ -546,10 +548,10 @@ end: rts .proc on_vscroll_above_click loop: lda vscroll_pos beq end - jsr L0C84 + jsr calc_track_scroll_delta sec lda vscroll_pos - sbc L096E + sbc track_scroll_delta bcs :+ lda #$00 : sta L0989 @@ -575,10 +577,10 @@ vscroll_max := $FA loop: lda vscroll_pos cmp #vscroll_max ; pos == max ? beq end - jsr L0C84 + jsr calc_track_scroll_delta clc lda vscroll_pos - adc L096E ; pos + delta + adc track_scroll_delta ; pos + delta bcs overflow cmp #vscroll_max+1 ; > max ? bcc store ; nope, it's good @@ -602,8 +604,7 @@ loop: lda vscroll_pos end: rts .endproc -;;; Returns with carry set if mouse released -.proc update_scroll_pos +.proc update_scroll_pos ; Returns with carry set if mouse released jsr L0D7C jsr L0DED jsr L0E30 @@ -614,15 +615,17 @@ end: rts end: rts .endproc -L0C84: lda L0963 - ldx #$00 -L0C89: inx +.proc calc_track_scroll_delta + lda L0963 ; ceil(??? / 50) + ldx #0 +loop: inx sec - sbc #$32 - cmp #$32 - bcs L0C89 - stx L096E + sbc #50 + cmp #50 + bcs loop + stx track_scroll_delta rts +.endproc ;;; Haven't been able to trigger this yet - click on ??? ;;; Possibly horizontal scroll bar? (unused in this DA - generic code?)