> 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.