johanberntsson / ozmoo

A Z-machine interpreter for the Commodore 64 and similar computers
GNU General Public License v2.0
117 stars 19 forks source link

Feature request - Add 80-column C64 mode #60

Closed shanet72 closed 1 year ago

shanet72 commented 1 year ago

Would it be possible to add 80-column support on the C64 using software techniques similar to https://www.pagetable.com/?p=901 or detecting when such existing software or hardware (like https://biosrhythm.com/?p=1860) exists and taking advantage of it.

Of course, it may require an REU and may be too slow to make it worthwhile. But, I think it would be an interesting idea at least worth exploring.

fredrikr commented 1 year ago

Thanks for the suggestion.

We see this as more of a fun experiment than something that would truly add value to Ozmoo. Going from 40 to 80 columns means reducing the actual width of characters from seven to just three pixels, and we'd have to spend 8 KB of RAM for a bitmap screen, plus at least 1 KB for character data, and extra screen handling routines of 1-2 KB, and it would be quite slow.

A 56 column display is more meaningful (five bits per character instead of three), but this experiment has already been done in Zeugma. Zeugma can offset the problem of speed by requiring an REU, meaning the interpreter can use up many KB of RAM for lookup tables and other luxuries to gain performance. We could never do that with Ozmoo, as any game built with Ozmoo should also provide a great playing experience on vanilla hardware.

All in all, we don't think this aligns very well with our project goals.