Quite neat, though I must admit I faintly hoped to see someone having pulled some crazy stunt to give a higher apparent resolution (though I don't think it's possible).
It's worth mentioning that if you're first trying to maximise amount of text with things like the 80x33 mode suggested, you can "fake" even more space for text by opening the top/bottom borders and using sprites. You'd get at most 192 pixels wide if you use all 8 sprites, though, so it won't give full additional lines, but would be usable for things like status displays and the like.
There is a cool demo trick to raise the apparent resolution for scrolling 80 column text. Alternate between two 80 column displays each of which have 4 pixel columns per character as matches the hardware resolution. On even frames display the even number columns of an 8 column character set; on odd frames display the odd columns.
Without a scroll, that gives a flickering halftone image between the two halves of the character images. Old CRT's had slow phosphors so the flickering isn't so bad there, but still it doesn't give truly higher resolution.
Now introduce a one pixel per every two frames horizontal scroll. Your eyes track the moving text smoothly. Relative to that moving frame of reference, the odd frames are positioned half a pixel to the right of the corresponding even frames. So in that moving frame of reference you have a "true" interlaced 640 pixel column high resolution display.
It is possible to increase the resolution on the C64. Turning off the borders allows sprites to be seen in the border area.
Unfortunately you can't tell the c64 to turn off the border. You can just tell it to turn on at a time that is not now. Removing the top/bottom border is easy enough and some games did this (usually for showing the score/lives etc.) Side borders were a somewhat trickier to do while you did anything else.
It would be tough to add another 80 pixels though, which is what you'd need to significantly improve an 80 column text display giving each character another pixel.
I mentioned the top/bottom borders, but as I pointed out it only gives you at most 192 pixels wide so you don't get full extra lines.
The reason I didn't mention the side border is that it would eat up most of the available CPU time, since you'd need to spend most of it on timing the on/off switch. You'd basically be left with almost only the vertical blanking interval to do other processing.
I used an 80 column terminal on my old C64, the name of which escapes me, to call into PC BBSes when I was a kid. After I got a C128 that was no longer necessary as it had an 80 column mode, but I remember it pretty vividly because even my young eyes had a hard time reading 80 column text on the smallish color TV I used as a monitor. But, it was pretty exciting the first time I was able to see the BBS in the way it was meant to be seen (minus ANSI color/graphics, as that was a bridge too far, given the limitations imposed by the hardware).
If you are in the UK, it might have been my C64 Terminal program - it could render 80-col fonts in graphics mode. Then again, I expect other 80-col progs existed!
Sadly I lost the code years ago - it was hand-coded in assembler with just a BASIC menu wrapper.
There was also a 'mostly working' print routine that didn't block the serial comms stream (too much!).
I remember it being green, and the closest thing googling finds is VT100 by Louis Leff, which was, interestingly, written with Blazing Forth (I just learned this just now; I had no idea about Forth back then). I can't tell if VT100 actually had an 80 column mode, though...so it may have been another green-screened terminal program. I do remember it having an obscure (to me), technical-sounding name. It seemed like something out of Wargames.
The terminal program that came with the Avatar 1064 modem had an awesome 80-column mode. It had a feature that would sound the bell at the end of each line, like a typewriter, to let you know there was more content to read.
I can't remember the name of it, but it was very good.
Semi-related, I'm remember hearing an interview with Rich Pasco [1] on the ANTIC podcast. He was a former Xerox PARC researcher who ended up at Atari (which is in and of itself interesting). One of the projects he lead was trying to get an 80 column display running on the computer, but he couldn't get Atari executives buy in because it was common wisdom that you couldn't read high resolution character displays on TVs.
He rigged up a demo of a video camera pointed at a book with more than 80 characters per line and showed that it was legible. The story (as well as some of his others) are really interesting.
It became amazingly natural to read those 3x7 characters. For some reason I thought red (on black) was the best. It was the 300 baud modem I couldn't stand.
I'm stunned at how readable this is, especially the 80COLUMNS font. The 'm', 'n', and 'w' seems like they shouldn't be readable, yet my brain is tricked into recognizing them.
Had this been standard, or at least more easily accessible, it would have made the C64 a lot more useful to me.
I remember trying 80 column modes on my Commodore 64 many years ago. Unfortunately, on my PAL CRT TV in those days, the quality of the text wasn't good enough to make it a comfortable experience.
The experience might be different in today's LCD monitor world.
I suppose that would have been a 40 column screen, in software. There were 80 column hardware expansions that produced their own video signal independent of the VIC chip, but those cost nearly as much as the Vic-20 itself...
It takes a bit more than "a few changes". The C64 only has 16 address lines, and the 6510/8510's used only has 16 address lines. There's no physical way of putting more RAM on the board, and no physical way of letting the CPU address them even if you were to try abusing the IO lines etc.
To add more RAM you either need to add a second CPU (some cartridges add another CPU), replace the 6510 with a board with a 16bit CPU + RAM, address it via some form of bank switching, or copy to/from main memory (this is what Commodore's memory expansion cartridges did [1]). Commodore's own memory expansion cartridges even required a separate power supply to power it...
When I got back into tinkering with C64 hardware a few years ago, I thought, "Ooh, I can finally afford to buy an REU!" And, I could because I make more money than 12 year old me, but they're often as expensive today as they were when they were new!
Luckily, there's a small but thriving industry of hardware hackers making new C64 stuff...and you can get an entire computer (an FPGA) to stick on the back of your C64 which can act as a CPU accelerator, RAM expansion, fast/huge disk drive, VGA port, etc. Turbo Chameleon is maybe the most successful of them. It's a bit more expensive than a real REU on ebay, but it's probably all the hardware one would ever need for C64 expansion (and it's new hardware, so likely to hold up a lot better).
The Chameleon is fantastic, but as you point out, if you connect it to a C64, the C64 is basically reduced to an IO device... On the upside, you can also use it to run a bunch of other cores including Amiga cores.
Yeah, I haven't bought one yet. They've always been out of stock at times when I was actively doing C64 stuff. And, I mostly use mine for music, and I have a MSSIAH cartridge in the slot for that...so, no room (or need, really) for anything else. And, I just want it for the SID most of the time.
But, I have a dream that I'll someday have enough free time to actually dig in and do more than just occasionally tinker with my 64.
Also, I'm super excited for the MEGA 65. I'll make time to play with it when it becomes available.