tschak909 / platoterm64

PLATOTerm for the Commodore 64
GNU General Public License v3.0
35 stars 11 forks source link

[C128] Support 640x200 graphics mode for machines with 16KB VDC RAM #36

Closed rhalkyard closed 4 years ago

rhalkyard commented 4 years ago

The 640x480 interlaced graphics mode (c128-vdc2.tgi) currently used by PlatoTerm on the C128 only works on late-model (or upgraded) C128s with 64k of VDC RAM. Earlier machines with 16k of VDC RAM are out of luck. Additionally, even if the machine supports it, some monitors don't handle the interlaced mode well (on my Sony PVM, I have to put it into underscan mode to see the full screen, and I could imagine LCD monitors not liking it at all).

The c128-vdc.tgi driver uses a 640x200 mode that works on all C128s; building a version of PlatoTerm with that driver (and appropriate scaling changes) would make it usable on all C128s.

Since TGI drivers can (I think) be dynamically loaded at runtime, it would also be possible to select the appropriate mode at startup, which would be pretty cool.

(Sorry about the issue-spam; I’ve been poking around at the codebase lately and wanted to get some of my ideas out there to see what others thought)

tschak909 commented 4 years ago

No, please look. At least you're looking.

The 640x200 codebase can be brought up handily by taking the font, scale, and terminal_char_load in the apple2enh, and folding it into the c128 target. That gives a centered 512x192 display.

rhalkyard commented 4 years ago

I've been exercising this feature fairly heavily over the last few days, both in emulation and on my real C128. Seems to work pretty well - it's significantly faster than the 640x480 display. Think it's fair to consider this issue closed.