Il 19/05/22 20:55, S P Dixon ha scritto:
> As you've rightly discovered, 'not wrapping' is deliberate and
> discussed at the time of writing that code. The problem with having
> the wrapping is that cpm (and I believe RomWBW) add returns after 80
> characters. Some applications that run under those systems will also
> have wrapping, if they use the bdos rather than sending characters to
> the port directly. So in those cases you get double-spacing. it
> isn't very desirable to have the double line spacing when, for
> example, you're listing the contents of a directory or whatever.
Had a quick look at your code, I'm not sure if this apply to this case,
but having some experience with terminal software, one "trick" to avoid
the double-spacing, is to delay the cursor wrap when reaching the
rightmost column and wrap only if another printable character is received.
So, if you send exactly 80 characters, the cursor "sits" at the end of
the line over the last character, then if you send a printable character
it wraps and display the new character at the beginning of the next
line, if a control character is sent instead, it works as usual, so CR
goes to the beginning the current line and LF to the next line, without
adding the unwanted blank.
This should also avoid the screen scroll when sending 80 characters to
the last line.
Hope this helps.
Best regards,
Marco