davidgiven / cpm65

CP/M for the 6502
BSD 2-Clause "Simplified" License
270 stars 24 forks source link

Screen related fixes #88

Closed ivop closed 10 months ago

ivop commented 10 months ago

Hi,

This fixes the Atari 40 column SCREEN driver's scrolldown function (tty80drv was already correct).

It also fixes life.com and scrntest.com to work with the PET, Oric and Atari drivers. SCREEN does not know about terminal characters, but TTY does.

All three (PET, Oric and Atari) stop at the right margin when screen_putchar is used. IMHO this is correct. They also advance the cursor by one horizontally, except when they bump against the right margin.

screen_putstring on the other hand behaves differently. PET and Oric write beyond the margin, and even beyond the end of screen memory when on the last line. This could be problematic if there's code or important data after the screen memory. I think this should be corrected. Atari does not write beyond the right margin, similar to putchar.

The PET and Oric port do not advance the cursor position. It stays at the beginning of the string that was written. The Atari port does advance the cursor.

Regards, Ivo

davidgiven commented 10 months ago

Merged; thanks.