Re: one or two lines scrolling

From: silverdr_at_wfmh.org.pl
Date: Sat, 19 Oct 2019 18:16:57 +0200
Message-Id: <E7DDBE9B-F388-4D29-9C10-B7321984D0D2_at_wfmh.org.pl>
> On 2019-10-18, at 15:50, Spiro Trikaliotis <ml-cbmhackers_at_trikaliotis.net> wrote:
> 
>> Anders, thanks for good hint! The routine at $E8EA checks there "if
>> the top logical line is two physical lines long" and all lines are
>> moved up two lines if true. Which means it should suffice to check the
>> MSB of second line to determine how many lines long the scroll will
>> be. And to set MSB on the second line to ensure single-line scroll.
> 
> I know, you asked specifically for the C64.
> 
> Note, however, that the VIC20 is a little bit different, although the
> code is almost identical: It can link up to 4 lines together, yielding
> to a maximum input line length of 4*22=88 characters. That's where the
> ominous 88 byte input buffer of the C64 comes from ($0200-$0257).

That explains! :-D BTW, AFAIR it's actually even 89 bytes $0200-$0258 as null-terminator byte comes on top of what the sum of line lengths is. I recall using those extra bytes for non-preserved temporary storage sometimes as overwriting those does no harm[*].


* - I am one of those strange ones who care about clean exiting w/o resetting/power-cycling.
-- 
SD! 
Received on 2020-05-29 23:16:07

Archive generated by hypermail 2.3.0.