17 comments

[ 3.6 ms ] story [ 41.9 ms ] thread
It's incredible the amount of research and brainstorming it took to develop this solution. Does anyone know more about the author? Is this a hobby project? Either way, these optimizations [system design] are super impressive.
C64os is by Greg Nacu from the Toronto area. It's a hobby project along with a portable c64 he's built that's more portable than an SX-64 and much more versatile due to modern components.
Having architect elegant solutions, and watched much of the nuance of the elegance languish in the ecosystem, I can't help but wonder: Did the original creators have exactly this in mind, and it's only just now being capitalized upon?
I think the general idea that the VICII could use a range of addresses for one thing while the CPU used it for another was understood from the start.

But I would guess the sheer inventiveness & range of things people put the C64 to was/is astonishing, even to the wildest thinker on the development team.

Complete side note: The brain is a very strange thing. I read this post earlier and then started to so some work. I repeatedly found myself trying to type a double quote using SHIFT-2, which is the key combo for the PET and C64 (my first computers). Actually on the PET, it's not the 2 key, but the key where the 2 would be on a modern keyboard.

Weird the way 30+ year old muscle memory is invoked.

That really was weird. I just read the post and this comment and couldn't figure out what the point was. I used an Atari that also had the double quote on the 2 and completely forgot that's not where I type them now.
Color computer had it there too.

When I use or read about these old machines, that memory comes out.

Brains are weird.

I am pretty sure you can find similar tales of squeezing every single available byte out of the c64 in programmer diaries from the eighties. Bank-switching the VIC and SID out and dumping rarely-changing data like character sets into the space normally used for their I/O registers was not uncommon back then.
Perhaps, but it is more likely they provided many options, hoping it worked out.

Sometimes it did not. We look back, and some machines were almost there, like the Apple GS. Still great, but with just a bit more thought, could have been amazing.

Many of the better effects on C64, and other computers, were actually exploits. Bugs in the logic were found, then abused, then perfected.

Most of the better titles on the old 2600 (VCS), for example, exceeded engineering specs. A bit of flexibility left in turned out to make all the difference in the world.

Older machines used a combination of software and hardware. That combination turns out to be quite potent over time as people continue to explore what may be possible.

Some have coaxed better color, interlaced video, and more out of a C64, despite that not being intended.

The memory map options were likely flexible, "just in case", and where that was the thinking back then, it often became the max potential case.

"Older machines used a combination of software and hardware. That combination turns out to be quite potent over time as people continue to explore what may be possible."

Makes me wonder what undiscovered things are possible with say, a SPARCStation 1+, or an Indigo2 R10000 when bit-banging the hardware directly.

I have wondered that about SGI machines too.

One guy did explore the largely unused, shared memory graphics system that was used on the O2 and NT workstations SGI made.

He made a very precise compositor. Was capable of many real time effects and sub pixel accuracy. The thing could take huge images and do real time transforms, effects at a couple hundred MHZ clock.

I ran it once, in the very early 00's. Can't for the life of me seem to remember enough to get a URL.

A more recent example is the Parallax Propeller chip. A bunch of us pushed it's video sub-system well beyond the design spec.

It could make all kinds of signals. Too fun.

I think the Apple II GS didn't work out mainly for political reasons. Apple (or rather the Mac parts of Apple) didn't want it to. They artificially crippled its hardware so as not to compete against the higher-margins Macs.
True. But, I think most of that came down to clock speed.
Zooming into the grid representation of 64KB of memory reveals some fun artifacts. Tiny o’s appear kind of regularly. I don’t know what kind of resampling would account for that... maybe a mistake or a counterintuitive way to shift error among the cells?
The minor gridlines are dotted. The "tiny o's" appear where the spaces of two lines are aligned, so four dots appear around the crossing point.
It's great to see someone putting so much thought into this. I've been coding heavily in hires (320x200) mode the last few weeks on this platform.

Having the memory banks swappable has all kinds of fun quirks. For example, although the VIC-II could address many different 8K memory locations for the hi-res screen, only four are okay, because others would be the character ROM ($1000 and $9000). Therefore, people tend to put the music code at $1000.

Also there's only one color memory for all the character mode pages and character memory is the color memory for hires mode!

What I love about all this is we managed to get networked together in time to enjoy the roots of computing together.

I had no idea the fun 8 bit, and older machines would still see development and innovation.

Makes me happy, and I know there is fun to be had when I get old.