NEWS, EDITORIALS, REFERENCE
World of Commodore '18
Happy holidays Commodore 8-Bit, Amiga and Retro Computer fans!
It's become something of a tradition now for me to write a review of the World of Commodore Expo put on every year in Canada by the Toronto Pet User's Group, TPUG. My first review was of WoC 2016, the year I came back to the scene after a lengthy hiatus. At the time, I was just excited and it felt like something meaningful to review. Last year I wrote an even longer review of WoC 2017. I wasn't sure if I'd keep it up and turn it into a tradition, but, I guess I have, so here we go.
The Road Trip
Every year is a negotiation with my wife, how much time do I get to myself, how much time should I be devoting to my family. My first year back I was only able to go for the Saturday, and last year, I was unfortunately only able to make it for the Sunday.
This year was my time. I had stuff to show, parties to attend, people to drink booze with and computer games to play! I said,
Honey. I've been blowin' money left, right and center on parts for this black wooden box for nearly two years. Now I can either hole up in our basement for another year, or I can go show it off in a basement 200 miles away to the only people who care. Who would you rather be married to? Greg Nacu
She saw the wisdom. But I'll need a new plan for next year.
Last year, the show was anomalously not on the first weekend, which caused it to collide with a family christmas gathering. This year, it was back to the usual, first weekend of December. So this was the first year (since my return) that I was able to stay in the hotel and be there for the full show.
When I was a kid, I was only person I knew who had a Commodore computer. One kid I knew had an Atari 400. Another had an Apple IIc, and another had a Coleco Adam. I participated in an early start educational program, when I was in elementary school, for kids who showed an aptitude for computers and programming. We were asked to bring with us a sample of some software we'd written on our own. I brought with me a 1541 disk with some of my early BASIC programs I'm now too embarrassed to even look at. I was only one with a 1541 disk, and was told it was "incompatible." That dread word we all remember from the 80s. My isolation as a Commodore user was painfully obvious to me. Before I got online, my only knowledge of the community was through a couple of old LoadStar issues, and the cracked intros to some pirated games that came with the machine my parents bought for me. Wicked graphics, bouncing raster bars, pumpin' tunes and those greetz. Greetings to people, somewhere, out there, who used Commodore computers. I didn't know who they were, but I knew I wanted to be part of their world.
Eventually I got a modem, and was able to talk to Commodore users. And then later still I was able to go to my first Commodore Expo. Where I could meet other people, in the flesh, who actually had Commodore computers and peripherals and enthusiasm, right there in front of me. I was finally able to participate in a community I had previously only imagined.
I've been using Twitter the last couple of years, meeting and sharing news and updates with Commodore fans and other electronics and retro computer nerds from around the world. Someone, not sure who now, said, "Hey, you're from Kingston, Ontario? Do you know @retroredrum ? He lives in Kingston too."
ASTONISHED LOOK IN MY FACE. Really? There is another Commodore fan, who lives in my city?! Indeed there is, and we'll talk more about what he's up to a bit later. In the meantime, @MindFlareRetro recommended we car pool to World of Commodore. Jérémie would be traveling with Francis from Montréal and there was a good chance his daughter would be going too. Four people, plus gear and luggage, it was going to be a tight squeeze. Up to the very last minute, I was prepared to make the trip on my own. But through some miracle of packing mastery, or perhaps years of Tetris playing, we managed to get everything packed into a 4-door Honda Civic. The C64 Luggable ended up in the middle of the back seat like a 5th passenger, but we did it. A two and a half hour trip in both directions meant I got to spend an additional 5 hours in nerdy conversation.
All that I brought, packed into the smallest area possible
We arrived sometime close to 9pm Friday evening. But before we got to the hotel, a bunch of people were at a nearby East Side Marios for dinner, so we went there first before checking in. There were probably 13 or 14 of us around the table.
We made it safe and sound. And this year, the Commodore Camaraderie started early.
After checking in late Friday evening, we had a chance to pop down to the showroom and set up our gear the night before. Technically, we'd have time to do setup Saturday morning, between 8am and the 10am official opening. I took a few shots of the lobby without any people in it. It's a comfortable sitting area where weary show-goers can take a break without having to go too far from the action.
The middle shot shows the entrance to the show floor. The tables outside the room were previously used as the registration and sign in table. This year those stations were moved to just inside the showroom. I believe that change was so the people manning the registration table would not need to feel left on the outside.
The image on the right shows the doors to the presentation room. Starting last year, the main showroom floor was opened up to the full room, and the presentations got their own room. That worked out well last year and was continued this year.
In the two weeks leading up to the show I was getting my things together and preparing some things to show off. I worked on some firmware fixes and improvements to the C=Key PS/2 keyboard adapter. This is used in C64 Luggable, and I wanted the keyboard to behave in the best possible way before I would be at the show with it. I installed (and purchased) multiplayer games that use the Protovision 4-player joystick adapter. I bought Tanks 3000 from Protovision, which turned out to be a pretty big hit, more on that a bit later. I also tested out all of my NES controller mods, installed a stable build of C64 OS on an SD-Card, and moved the uIEC/SD from the C128 where it normally lives to inside C64 Luggable.
Everything was tested and ready for the show. Including a printed table display, and a stack of C64 OS Business Cards. I even got a chance to install the volume knob, and prepare an SD Card full of the High Voltage SID Collection.
I'm not sure if it was just luck, or if someone was looking out for me, but my presentation table was the first one inside the main doors. So a lot of through traffic got a good look at what I've been working on.
The main showroom was laid out exactly like last year. The partition in the middle of the room was tucked away, such that the room is rectangular in shape, with the main doors coming in the middle of one of the long sides.
There are tables that run all the way around the outside of the room, and back to the main doors again. And inside each half of the room is a ring of tables mostly for vendors, and this year also for the registration desk.
When you come in the main doors, if you take a turn towards the left, to circle the room clockwise, my table was the first you'd encounter.
Of course, my humble efforts, a luggable computer built from a painted wood chassis and populated with commercially available parts, looked like a child's finger painting next to the table that followed me.
Every year I try to reduce and distill the highlights and the general feeling of the show down to just a word or two. This year, there seemed to be two main themes. Games and High Tech. And by high tech, I mean there was a feeling in the air that put to bed old worries about the gradual death of our computers, due to the inevitable failure of old and irreplaceable components. Examples of both themes abound about the room. While my table was in part an example of the games theme, the table next to mine was unquestionably an example of startlingly high tech.
The guy at the table next to mine is working on the C74 Project. An ambitious project to build a complete and working C64 entirely from 7400 series discrete components. Here's the description of the project in their words from c74project.com.
The C74 Project aims to build a Commodore C64 using only 7400 Series discrete components. The C74-6502 CPU is the first step in this larger effort, and it took over three years to complete. Other ICs in the C64 include the notoriously complex VIC and SID chips, among others, and these are easily as difficult to render in discrete logic as the CPU itself. This project is certain to be a long road. Drass — 2017, c74project.com
Difficult, yes. But if anyone can do it, Drass can. His demo was actually of the CPU component of the project. Using only 7400 series components, across 3 double-sided PCBs, joined together by a dizzying array of wires that looked like a corpus callosum, the damn thing actually works! He had a C64 running and working, for which only his custom CPU was slotted into the 6510's socket. We'll return to this project below, in the hardware section.
At the table next to him was his partner in crime. A slightly older man, with white hair, whom Drass credits as his mentor. And no doubt. His table displayed a working computer he build by hand in the 80s. The specifications were laid out on the table, along with the circuit boards which were assembled by hand with wire-wrapped interconnects between a myriad of chips, so tightly packed together that the board could not be seen between them.
It's a rare delight to be in the presence of people who actually understand computers so deeply that they can build novel ones from rudimentary components. And it's an even greater pleasure to know, that in 2018 they are dedicating so much of their love, time and effort into the retro computer world, and even the Commodore world specifically. We are truly fortunate to have people of their calibre at our events.
Around the corner from the homebrew computer club was probably the biggest assortment of VIC-20 games and books I've ever seen piled up in one place. I believe these belonged to Leif Bloomquist, and I'm not sure what his intention was for them. Whether he was selling them, or showing them off. I spotted a few classics from my absolute earliest memories, like Voodoo Castle, and Kids and the VIC. Try to find them, it's like Where's Waldo. I still have a copy of Voodoo Castle and its paper manual. Although the original box has long since disappeared from this earth.
SYS 32592 What Shall I Do Now?
Leif also had the next table for two C64cs, a laptop (running some server software and support hardware), and it looks like he might also have a raspberry pi in the middle. Not sure about that one.
He loves zany projects, and usually has something fun and clever to show off each year. This year was not a let down. In the past he demonstrated a wireless joystick adapter, one which embeds a small wifi unit, much like those found in the now ubiquitous Commodore Wifi modems. Only, this adapter allows the joystick signals to be sent over a wireless network connection. As he says, it's like the doors are blown wide open for creating wireless input devices. Although, I should have pressed him for the details on latency.
He had a Microsoft XBox Kinect sensor bar on top of a 1702 CRT monitor. The Kinect was hooked up to the laptop, running some custom software that tracks the movement of your head, waist and both hands. The movement of your hands (or at least one of your hands) was mapped to the joystick directions and fire button. The C64 was running a space shooter game, which you could control by making a fool of yourself in public, frantically swinging your hands around and cursing. I managed to catch some funny shots that we'll come back to in the Games section below, along with what the other C64 was up to.
My old friend, from some of my earliest Commodore Expos in Chicago, Dave Ross, was back this year. I was totally stoked to see him last year after many years. It was great to see him return. It's also nice to know that people are willing to make long pilgrimages, and go to other countries to participate in Commodore events. He flew in from Boston, MA.
I'd say his machine fell into the category of high tech that puts to bed old worries. It's not quite a custom built 6502 clone, but back when the possibility of new mainboards was becoming a reality, I remember lamenting that there could come a day when the part that's most difficult to come by is our keyboards. But in this day, of easier design and manufacturing, even the C64's keyboard has been recreated anew.
Dave brought with him a new MechBoard64. It's a full keyboard relacement, with a brand new PCB, a custom molded metal frame, and Cherry mx switches. The original keycaps are attached to the new Cherry switches via a set of 3D printed adapters. The result feels amazing to type on. Each key clacks away with a very satisfying tactile response. The MechBoard64 has only recently become available for purchase, and it's not exactly cheap, but it is super cool.
I took the opportunity to give it a try, and type away on it. It really feels great. It would be an excellent addition to, say, an Ultimate 64 with a new C64c case, for an almost entirely new machine.
Speaking of all new. Dave's machine was also powered by a new Atom PSU from Commodore4Ever. It's much like the other new PSU's on the market, from Commodore4Ever and others, but this one is quite tiny. And its black metal case gives it a high quality feel.
There were two other points of interest to Dave's setup. One, he's using an SD2IEC LCD card reader. It's hard to distinguish this one by name alone from the many others. However, this one is manufactured, I believe, in Spain, and comes in a beautiful injection molded case. It's listed in the Commodore 8-Bit Buyer's Guide, but this is the first time I've had an opportunity to see one in the flesh. It's a bit larger than I expected, but that's likely due to the LCD display on the top. The only downside I see to this, over say, the uIEC/SD's deluxe daughter card, is that it does not include a passthrough IEC port. If you have other drives on the bus, this drive will have to be the last one. But it's a very polished device with its professional enclosure.
Second, is the almost comically tiny screen. This screen is intended to be used in a car. It's tiny, but it's very portable and easy to bring with you if you're traveling to a Commodore Expo on a plane. I feel like I might have him beat though, I had the idea of buying a tiny car-based LCD display in 2016 when I was first dipping my toe into returning to the Commodore scene. These things were so cheap, I bought 6 (!) of them. Still not sure what I'm going to do with all of them. But at least one is earmarked for the C64 DTV.
On the next table over were two of the new C64 minis on display. Each was connected to a large vibrantly colorful HDMI display. These clearly fall into the games theme of the show. This table was hosted by Golan Klinger and Ian Colquhoun.
Golan and Ian, along with Leif Bloomquist are the three primary organizers who bring us World of Commodore every year.
In addition to the C64 minis, they were also demonstrating VICE, the Versatile Commodore Emulator. This is an emulator for more or less all of the Commodore 8-Bit line, with vast support for expanded hardware options including the SuperCPU. VICE runs on many different host platforms and OSes, including Amiga.
They were also demonstrating FS-UAE, which stands for something something - something Amiga Emulator. Maybe the U is for Universal? At the moment, I don't know anything about the Amiga. But, you never know, I might look into it one of these years.
Golan describes himself as TPUG's "emulation nut." Seems fitting that he should be running this table.
Okay, let's round the corner again. We're now at the first table along the back wall of the room, opposite the main entrance doors.
Here we find Francis Bernier from Montréal. This station is a combination of hardware display, commercial product vendor, and tantalizing high tech previews. This is the Francis with whom I had the privilege of carpooling. By day, he's a professional industrial designer, but by night he works on circuit design. Many of the circuits he works on are open source projects that he modifies, produces and sells. He isn't an engineer per se, but is an electrical engineer amateur. He's very proficient and productive, in my opinion, and takes on many interesting and creative projects.
At his table, he was selling:
- Pi1541io board, with or without an OLED display.
- LumaFix and new LumaTOLB.
- PLAnkton, universal PLA chip replacement for C64.
- Power Saver, internally installed overvoltage protector.
- Behr Bonz, VIC-20 games multi-cartridge.
The Pi1541 is a Raspberry Pi add-on board to turn the Pi into a cycle-exact 1541 drive. LumaFix removes the jailbar pattern produced by the VIC-II and cleans up other noise that interferes with image quality. LumaTOLB is a newer version of LumaFix that does a better job, and also embeds a replacement for the 8701 timing chip. Unfortunately, as we discovered shortly after the show, the LumaTOLB is not compatible with the C64 Reloaded MK2 (although the original LumaFix is compatible with the Reloaded MK2.) Something about the Reloaded's ability to detect chips and autoconfigure itself for PAL or NTSC doesn't agree with the way LumaTOLB works.
Besides these products for sale, he also had several examples of other projects he's working on. He had with him modifications of Henning Bekel's open source MixSID Stereo SID Board. Francis updated part of the amplifier circuit in one corner with a newer surface mount version. These were not for yet for sale as they hadn't been properly tested. He also had produced, but wasn't ready to sell, two of Bekel's other projects: Keyman64 and Reprom64.
There are two other tasty little treats that Francis Bernier had at his table. Before getting too deep in the weeds, though, let's continue our tour around the showroom floor. And we'll return to these other projects in the hardware section below.
Next up was Jérémie Marsin, a C64, Amiga and retro computer and gaming fanatic originally from France. He moved to Canada 8 years ago with his family, and is now a resident of my home city, Kingston, Ontario.
Jérémie is starting up a retro games publishing house called, Double Sided Games. I'll give you some more details about his plans in the presentations section below. But, in a nutshell, Double Sided Games currently has three new games in the hopper being prepared for physical release. The first, and closest to completion is L'Abbaye des Morts, a platformer with a cool theme for C64. The next closest to completion is Realms of Quest V, an RPG for ram-expanded VIC-20. And a third, which has only recently begun development and will likely be out next year, is a dungeon crawler for the Amiga (OCS): The Shadows of Sergoth.
His presentation table had playable versions of the C64 and VIC-20 games on original hardware. He also had some very beautiful promotional material, stickers, etc. You can follow Double Sided Games on Twitter (@DSidedGames).
We've covered about half the showroom. Here's a look back towards the main vendor, JP-PBM (Products By Mail). He sells books, disks, cartridges and boxed software with manuals, monitors, printer adapters, cables, sometimes disk drives, and occasionally (if you get them early) fully working systems, C64s and Amigas. He even had some newer games by Psytronik for sale.
On the far side of his tables you can see this year's registration desk. TPUG itself also had a table where it was selling older Commodore hardware adapters and new old-stock but still shrink-wrapped games.
Around the next couple of sides of the room is commonly where Amigas are set up for display. That practice was continued this year.
A lonesome looking Amiga 1200 hung out on one table, I'm not sure who owned this machine. But on the table beside it was an Amiga 600. This display was a bit more interesting. The A600 had installed in it a new Cherry MX internal keyboard. This clearly reminds me of the MechBoard64 we passed by a bit earlier.
There were also new keycaps on this keyboard, and even a few different styles to show what might be possible. Surrounding the machine were several keyboard support plates for these new keyboards. They came in configurations intended for the Amiga 500, 1200 and 600. Along with some colorful promotional brochures.
Damn I love that A600 form factor. It's so svelt and sexy.
In the Amiga corner, the next table had an Amiga One in a standard PC Tower case with a transparent side plate so we could see its glowing LED, computer nerd-porn innards. It's a new Amiga mainboard that first came into production around 2010. It was hooked up to a wireless keyboard and a projector in place of a display. I never actually got to see it powered on during the show.
If you're into the Amiga, and you don't want to live in a post-Amiga world, then this is probably the bomb. It is perhaps the Amiga world's equivalent of us 8-bitters drooling over a brand-new Ultimate64 mainboard. It's new hardware, that implements and continues the legacy of our beloved hardware line. Who could ask for more?
The next table was Jim Mazurek's. He brought with him an interesting cartridge I've never seen before. He set up a pretty standard C64c, with a 1902A display on a stand, a joystick and a small drive stack: 1541II and 1581. The cartridge is Multimax 1.0. Prior to the release of the C64, Commodore released a simpler machine called the Commodore MAX Machine. The MAX Machine was sold in Japan, primarily as a gaming machine. It housed a 6510 CPU, a VIC-II and a single SID. Sounds like a C64, right? But it had only a single CIA chip. It had no IEC port and no User Port, both of which would require the second CIA chip. Instead it had just the cassette port for loading from external media, or the expansion port for game cartridges. It also, notoriously, had a very inexpensive membrane keyboard.
There was one other pretty big difference. The MAX Machine had just 2 kilobytes of ram. All of these omissions, relative to a standard C64, were to cut costs. Games were primarily meant to be run from rom on the cartridge, with only a bit of ram for variable information. Additionally up to 2 more kilobytes of ram could be supplied inside the game cartridge if necessary. One result of this smaller address footprint of ram is that the core memory map of the ram, rom and I/O chips is different than a standard C64. When the C64 came out, though, Commodore wanted it to be backwards compatible with the MAX Machine's software. This was accomplished via the PLA, and, interestingly enough, has enabled many hardware tricks and hacks that are exploited today, among others, by the 1541 Ultimate.
In any case, the Multimax cartridge is a package of 24 games for the Commodore MAX Machine. It is every title ever released for the MAX by Commodore. And, as promised, the C64 can run all of it. More on the titles in the games section below.
Around the next corner were setup two PETs. These belong to Steve Gray. These machines were also on display last year, showing off his numerous internal ROM expansions.
One thing that he had on display last year, but that I failed to mention, or even to notice, is the petSD, SD Card reader for PET over the IEEE-488 bus connector.
The hardware is based on an Atmel AVR ATmega 1284P microcontroller with 128 KB Flash and 16 KB RAM which connects to the IEEE-488-bus using dedicated bus drivers (75160/ 75161) to ensure proper operation when multiple devices are connected. https://petsd.net
Steve's petSD, to me, looks like an original. But there is a newer version out, petSD+. The firmware is a derivative of the SD2IEC firmware, and the entire design is 100% open source. The schematics, gerber files, and firmware are all available for download. With a bit of skill with a soldering iron you can build one of these for yourself and your PET.
Next up were a set of three machines owned by Dave Kovacs. An Amiga 500 with a Vampire accelerator, a breadbin 64 with a red 1541 Ultimate II+, and a mostly original Amiga 1200 but updated to have some modernized SD based storage, and mouse adapter for use with a USB/PS2 mouse.
Dave gave me a quick demo of the Amiga 1200 during the after show to talk a bit about the design philosophy of the Amiga OS. He characterized it as being very user friendly, and showed off a few cool features, like multiple applications running in different screen resolutions, and the Workbench's spatial metaphor. I'm going to have to get an Amiga one of these years.
I think what I found most impressive was how modern the Amiga 500 could be made via the Vampire accelerator. Not only are the CPU and RAM upgraded, but the accelerator board has an HDMI port built in. Thus, the graphics are also accelerated, and the machine can be connected directly to a modern display. This is pretty cool. The Amiga 500 was the most affordable Amiga in its day, but today that means it is much easier to come by than any other model. And yet, with an accelerator it can be boosted up to become far more powerful than even the best original Amiga. This makes the A500 an ideal purchase option for someone who wants to get into the Amiga today.
The last machines on display in the room belonged to John Hammarberg, aka CRT. This guy is so great. He is the living embodiment of the european PAL demo scene, right here at World of Commodore. Everything he shows is stuff I've never seen before, mostly because it doesn't run on NTSC hardware. But it is also always completely mind bending. I'll return to this in the Demo Scene section below.
On the hardware front, he also doesn't disappoint. CRT had a brand new Ultimate 64, mounted in a new, vibrantly blue, C64c case. The top case was left off so we could all get a close look at the new mainboard. This board has the 1541 Ultimate II functionality built in, so it can run REU demos without needing anything hanging off the expansion port. It also, reminding me of the Vampire accelerator, has an HDMI port mounted inside the old User Port opening. This allows the C64 to be connected directly to a new flat screen display, and has an incredibly sharp and crisp output.
Next to the Ultimate 64, he also had on display a Breadbin 64 with a relatively rare light beige case. The case is colored similarly to a C64c, but with the form of a breadbin. He used a 1541 Ultimate II on this machine for its storage and REU features, but also to quickly transfer demos downloaded from CSDB on his laptop over to the C64 via USB stick.
Update: I almost missed it, he also has a C64 DTV sitting there between the two monitors. At first glance, I just thought it was a competition pro joystick.
I shouldn't fail to mention the quality speakers and display used for this machine. The speakers are Harmon Kardon sound sticks, with a subwoofer on the floor. I use a set just like this on my main C128 machine at home. They are amazing speakers for their size and price range. The display is a SONY Trinitron PVM. I had seen him use this display before, in 2016, but I failed to appreciate just how great it is. PVM stands for Professional Video Monitor. They were (are?) used primiarly in television production studios. They are boxy with perfectly squared off sides which allows them to be stacked. They have handles on the sides for easily moving them. They come with a plethora of input types on the back and many output controls and options on the front. The Trinitron display tube and decoding hardware inside are very high quality, producing what many consider to be the best possible visual quality that can be obtained from an S-Video connection.
And if this was not enough, these displays handle 60Hz and 50Hz making them ideal for displaying PAL C64s right here in North America. On top of the display he also has a nice quality sound mixing board. When it comes to showing off the quality of PAL C64 demos, he pulls no punches.
But wait, there's more. What is that gem sitting beside the breadbin? It is a very rare Amiga 3400 prototype. I can't recall now exactly where he placed it in the hierarchy of Amiga machines but it is similar in vintage and ability to an Amiga 4000. Unfortunately, the motherboard of this particular speciman has suffered from substantial degradation and many of the traces are seriously corroded. As a result of the state of the motherboard he said he doesn't dare try turning it on at risk of damaging the ICs. However, he did express some hope that it would be able to be restored by more capable hands.
Perhaps this is something we can look forward to seeing alive and well again at a future World of Commodore.
Lastly, leading back towards the main entrance doors is the free table. An assortment of magazines, old issues of Loadstar on 1541, some cartridges and cables. A word of warning to anyone who comes to the show: This table is picked over very early. If you want to get anything of any value from it, you have to arrive early and pay attention.
The middle of the second half of the room was used for a few purposes. A raffle table, a vendor of retro computer cookie cutters, a VIC-20 display. Unfortunately, I didn't capture any photos of this.
Presentations at World of Commodore are scheduled throughout the day on Saturday and the morning of Sunday. I went to only two of these presentations this year. I don't think it was because of a lack of presenters, but this year I had my own table in the showroom. And with people walking the showroom floor I felt compelled to spend a lot of time at my own table to talk to people and tell them about what I was showing.
Numerous people expressed surprise that I wasn't giving an official presentation, but I just didn't feel ready. Bringing something to show, at a presentation table in the showroom, is an important first step. And hopefully by next year I'll have many more user-facing features of C64 OS completed and ready to present to a crowd. In the meantime, let's look at the presentations that I attended.
Double Sided Games
I've had the pleasure of getting to know Jérémie Marsin a bit in the last few months. It turns out we not only live in the same city, and not only work for the same University, but we are literally in the same building, just two floors apart and down a hall.
Many computer people are known for their introverted nerdy nature. I can certainly hole up in my basement night after night like the best of them, coding away to nothing but the buzz of an old SCSI harddisk and a blue glow softly radiating into the quiet dark of the night. But Jérémie brings with him something the Commodore scene needs. A social, community-building instinct, and a desire to make things happen.
That is why he has founded a new games publishing house. He is not the graphic artist, the mucisian, nor the developer, but rather the glue that pulls these parts together to produce a high-quality, marketed, saleable product. Double Sided Games works with game developers and artists who produce the content, but it does everything else to convert that content into a finished product. He has the game boxes produced, the marketing material, the inserts, user manual, physical disk and cartridge media (maybe tape in the future?), as well as extras such as printed maps, cards and plastic toys. Double Sided Games then handles all of the orders, the payments, and the global shipping logistics, and pays the content creators according to the contractual agreement that they work out.
Double Side Games joins a few others who are already in this space, such as Protovision, Psytronik, and Pond. However, in my opinion, the more the merrier. Who would ever have guessed that the Commodore 8-bit and Amiga communities could support multiple games publishing houses in the year 2018? It's a wonderful world.
Jérémie spent a bit of time talking specifically about Double Sided Games, but spent most of the presentation showing off the first games that are set to be published. In the roster are: L'Abbaye des Morts, a C64 platformer with a medieval theme, Realms of Quest V, an advanced graphical RPG for the ram expanded VIC-20, and The Shadows of Sergoth for Amiga. They are set to be released in that order, with L'Abbaye des Morts much closer to completion than the other two.
L'Abbaye des Morts is based upon an earlier PC game, although the C64 version looks much better, in my opinion. It is about a Cathar from the 12th century who is persecuted by the Catholic church. He has to make his way through the many rooms under the cathedral, collecting scrolls, and eventually confronting Satan himself. The game code is by Antonio Savona, with graphics and music by Saul Cross.
Here's a look at an early build of the game. A few things in this video, I notice, have changed in the version I played at the show.
The next game Jérémie discussed is Realms of Quest V. An RPG for expandeded VIC-20, which is being developed by a French Canadian who lives in Alberta. Follow @hitfan2000 on Twitter, for updates on his progress.
I didn't get to see a demo of this game, as he didn't have a VIC-20 setup in the presentation room. But he showed many screenshots, which look totally amazing for a VIC-20. It is due for release in approximately 6 months.
Some highlights of the game include:
- 32K RAM expansion required (lesser expansion modes will not be supported this time around)
- multiple disk sides (will play on a single disk drive, but to avoid excessive disk swapping the game works best on an SD card reader or 2 disk drives)
- hundreds of monster, character and scenery portraits (44*88 multicolor pixels)
- 16 player races and 16 player classes
- A party can have up to 10 player characters (I think this would be a record for 8 bit RPGs)
- printed game manual and box
- game music
- possibly and overland map that exceeds the Ultima IV world in terms of size
- cities to explore and townspeople to talk to (possibly).
For more information about this game, besides the author's Twitter account, there is also this blog.
The Shadows of Sergoth, for Amiga, is still a year away. It's a project that has just started. But more is coming from Double Sided Games.
The second and only other presentation I attended was intriguing.
If it seems obvious that Double Sided Games fit the games theme of this year's show, then it should be even more obvious that the C256 Foenix project fits the high tech theme. When I stepped back from the scene 10 years ago, it seemed like the age of new high tech products in the Commodore world was over. CMD had gone out of business. Its assets, the most high tech on the market at the time (CMD HD, RamLink, FD2000, Turbo232, and SuperCPU), were completely mismanaged and availability quickly evaporated. It was a dark time.
Today, I just received email notification that my brand new Ultimate 64 has shipped and will arrive in a couple of weeks. The 1541 Ultimate II+ is an amazing piece of high tech wizardry. And yet, new and ambitious projects seem to be coming out faster than I can keep up. The C64 Reloaded, the C128 Remastered, and mysterious C64 Replica Board, are all new mainboards for the C64 and 128. Things I never thought anyone would ever do are real.
In steps C256 Foenix. Foenix, because it rises reborn anew. What would a Commodore computer have looked like that succeeded the C128, had Commodore pursued that line of computers rather than pursuing the Amiga line? From 64 to 128 to... 256 naturally. Here's what the C256 is, in the words of the official website, c256foenix.com.
The C256 Foenix is a "new" retro computer based on the WDC 65C816 running @ 14Mhz. The idea behind this creation is to come up with a computer that could have possibly followed the Commodore 128 if things would have been different at Commodore at the time. I set out to create this machine as much as I could with the limitation of the time (circa 1987). I am using 3 small FPGAs that could be considered as new custom chips design by the MOS team. Aside of certain anachronisms, which I could not go without, I have tried relentlessly to keep the feel of the epoch. Stefany Allaire — c256foenix.com, 2018
The presentation was done over skype, because Stefany, the designer of the C256, was unable to come all the way from Vancouver to Toronto for the show. She began by showing us the Revision A mainboard, inside a small black case. It had two DB9 joystick ports, and PS/2 mouse and keyboard ports plus power and the on/off switch along the right hand side. Very reminiscent of a Commodore computer. On the back it had an expantion port, serial, video (DVI and Analog) and stereo audio ports, as well as an edge-connector-style user port.
After this, she talked a bit about the progress she has made on the project, and then showed us the newest Revision B mainboard. It is quite a bit different than the first board. In my opinion it is somewhat less inspired by original Commodore 8-bit hardware, though certainly no less cool.
The front now has four DB9 joystick ports, along with a built-in SD card slot, and front audio ports, both RCA and minijack. On the back of the machine, the narrow expansion port is not there. The userport edge connector is also gone but in its place is a DB25 parellel port. The PS/2 keyboard and mouse ports, power port and switch have also been migrated to the back, along with the serial, audio and video ports. For the video ports, the analog Commodore DIN video port is gone, and has been replaced by a VGA port. The expansion port has been made much wider, perhaps with extra lines for greater flexibility in expansion hardware, and has been moved to the now vacant right hand side.
Here is a comparison of the two revisions. A on the left, B on the right.
The fact that someone is working on this is exciting. I'm glad that our world contains these projects, and I hope that it does well. However, I have a few reservations. I remember the days of crazy excitement when Jeri Ellsworth showed up to the Chicago SWRAP expo in the early 2000s. Initially she talked about creating an advanced graphics card for the C64. It would output to VGA, support 256 colors from a customizable palette. It would support blitter for moving blocks of image data very quickly, which is effectively like having huge, super detailed sprites, and more. It was, in many ways, inspired by the Amiga, but she was going to bring it to the C64. I couldn't believe our luck.
But the following year, the advanced VGA card project had been abandoned or sidelined for a new project. A complete Commodore 64 recreation, that would embed the new video capabilities, but you'd put the new board in a standard (read, boring and ugly) PC mini ATX case, and hook up a PC display, mouse and keyboard. But the year after that, she realized, why stop at a Commodore 64 recreation? She could turn it into a fully configurable, multi-retro-machine replication. With programmable cores it could be able to pretend to be any of many different machines from the past. I know what design creep is when I see it. Years after the excitement of improved C64 graphics, the latest idea was nothing like what many in the Commodore community were hoping for.
Soon after that, it was announced that she would have to take a break from the C-One project to work on the C64 DTV. This at least, was a C64! And it did come to fruition. In the end, I own a DTV, and I also own an early, non-functional, C-One mainboard. But when you go to a current World of Commodore Expo, the C-One is no where to be seen, and no one is talking about it. But the humble C64 is on almost every table, with exciting new games, demos, replacement parts and expansion hardware. Though, I still think it would be cool if we had an upgraded video card with its own memory, that could be programmed to manipulate its video memory independently of the main CPU. A man can always dream, right?
The C256 is not the C-One. And Stefany Allaire is not Jeri Ellsworth. And everyone's work is a labor of love. I would never want to discourage anyone from persuing their passions, and I hold absolutely no ill will or animosity toward Jeri Ellsworth. Although I am a bit disappointed. It is a blessing and a testament to the impact that Commodore computers have had on our lives, that so many brilliant people are willing to sink so much time and energy into creating anything new for these machines. I wish the project the best of luck, and I want it to succeed. But my personal enthusiasm is tempered by a broken heart. I am in a wait-and-see state of mind regarding this new endeavour. But in the meantime, I'm full bore ahead with a C64 OS project for the 1Mhz, 8-Bit, 64K of RAM we all know and love, and that has always been there for us through the journey of our lives.
The Demo Scene
I know that Europe is famous for its C64 demo parties. North America not so much. Many would say that's because the European PAL C64's are better suited to demo tricks, because the PAL framerate is slower.
An Aside: How does that work? A PAL C64 is clocked at 985,248.4Hz, whereas an NTSC C64 is clocked faster at 1.022727MHz. However, a PAL C64 draws 576 scanlines 50 times per second, while an NTSC C64 draws 480 scanlines 60 times per second. Dividing a PAL's CPU frequency by its FPS (985248.5 / 50) yields approximately 19,705 cycles per frame. But dividing an NTSC's CPU frequency by its FPS (1022727 / 60) yields only 17,045 and a half cycles per frame. NTSC machines have approximately 2,660 fewer CPU cycles per video frame, despite having a slightly faster CPU.
However, I don't buy this as an argument for why the North American demo scene is less vibrant than its European counterpart. Whether you have 19 thousand cycles per frame or 17 thousand, there are still envelopes to be pushed, boundaries to be challenged, tricks to be discovered and creativity to be unlocked. I attribute the decreased focus on demos in North America to historical and economic factors. North Americans have long had access to faster and more modern hardware first and at more affordable prices. Laser printing, telecommunications, harddrives, RAM and CPU expansion for Commodores was always more of the focus of North American shows than was the concept of doing more with what you have.
That said, I'm super glad there are people out there who are doing more with what they have. Because these demos are simply stunning. The machines almost always had people standing around them watching. And if they know anything about a C64 they are generally agape, completely mystified by how what they are seeing can be accomplished with this machine from their childhood.
For example, a fairly modern trick (I'm not sure exactly how long it's been around) allows the VIC to shift a rather large portion of the screen very computationally inexpensively. This requires the CPU to rebuild only a thin band of the screen on one side. The net effect is the ability to smoothly scroll bitmaps that are much larger than the screen. By combining this with a carefully timed loading routine, new image data can be continuously loaded from disk while the data in memory is being scrolled, allowing for a seemingly impossibly large image to be cycled through. The image data itself greatly exceeding the total available memory in the C64.
CRT's computers were on a rotating cycle of showing many different demos. Most of which I have never seen and never even heard of. The only realistic way for me to view them is on YouTube, and that's just not the same as seeing them on real hardware.
As we watched some demos, the inevitable question would pop up, "How the hell did they do THAT??!" Often times, he wouldn't know for certain, not being the programmer, but would take a reasonable guess. Then he'd try to explain to us exactly what combination of elements is going on, as well as the relevant technical challenges.
One effect, that looked like it shouldn't be possible, was a trick he says he invented. It was a spiral of bitmapped graphics that was rotating on a plane angled away from the viewer. If you know that a fullscreen bitmap takes 8K, and there has to be room for your code, there is only space left over for about 7 frames. These can be flipped through quickly by changing the VIC-II registers and the CIA registers to specify the bank and what part of the bank it renders from, rather than actually moving the frame data itself. The trick is that it appeared to have far more frames than just 7. He explained that bitmap pixel data and color data are decoupled, and certain pixel combinations render global colors specified in VIC-II registers. Through carefully designed bitmaps and rotating the background color registers through a certain pattern of colors, the whole thing presents the illusion of having many more frames than it in fact has. Very cool.
We also took at a look at some REU demos. The REU can be used to quickly move chunks of memory from one place to another. But it has some other tricks. It can take a stream of data, laid out in a sequence in the REU and write each byte of it, one after the next, to a single memory address in the C64. These memory addresses can be an I/O chip's registers, opening the door for all kinds of crazy things.
We watched this REU demo, Treu Love by Booze Design, released in 2015. At around the 5:22 mark it begins a sequence of animating bobs. A bob is a binary object. They look like sprites, but they are more sophisticated than sprites because they are blocks of actual bitmapped data. The magical part is how quickly and smoothly they are animated, and then the mystifying part is how it manages to put so many of them on the screen at the same time. Even CRT was a bit mystified at first, until suddenly a light bulb went off in his head, and he said, "Ah! Yes, I know what they're doing!" The frames are in the REU, but after loading a frame into main memory, a single bob would be programmatically added to the frame by the CPU. This is a small enough change that it can be done in realtime. Then the newly modified frame would be copied back into the REU. I admit the logic of how that works kind of went over my head, but, however it worked, we were seeing it in front of our eyes.
These are just some of the many tricks that were on display. I took the opportunity to pick CRT's brain again this year about programming questions. I think, I hope, my questions are getting more sophisticated each year.
Let's do a whirlwind tour of some of the gaming that was going on at this year's World of Commodore. It seemed to me that more people were playing more games at more stations than in the previous two years. It might partly have to do with the number of kids at the show. I didn't officially count, but there were quite a few. Far more than I remember from previous years.
Leif Bloomquist is a very bright guy (and he's got a pair of very bright children too), but when it comes to marketing his games and projects, he needs a publicist. What you're seeing above is the first and probably the only MMORPG (Massively Multi-Player Online Role Playing Game), for the C64.
Yes, MASSIVELY multi-player, all 10 players! Leif Bloomquist — World of Commodore, 2018
Don't cut yourself short Leif, that is a triumph to be proud of. The game has both a web-based client, and a C64 client which connects to the internet via RR-Net ethernet adapter. The game is downloaded to the C64 from the server every time you load it up. What is loaded from disk is only a bootloader that allows the C64 to connect to the network and download the real game. This allows him to make changes to the game code to keep it compatible with improvements to the server and the web-client. In the above photos are three kids all playing in the same RPG world. Two are on PCs but the one in the middle is participating on a C64.
When I asked him what the game was called, he said, it doesn't have a name. When I asked him if it has a website, he gave me the github project name to look up. No name and no website, your work needs to be found and appreciated man!
Actually, it has a name, Rogue. However, this name is claimed by the name of another PC game, so he doesn't openly refer to it by that title. The source code can indeed be found here on github. And the game itself has a page, to connect to the webclient, find the forums and download the bootloader: http://rogue.jammingsignal.com/rogue/
Check it out! And better yet, try to coordinate with other C64 users you know with RR-Net compatible ethernet carts to play at the same time.
UPDATE: January 2, 2019
Thanks to flash951, in the comments below, for pointing out that, in fact there was a massively multi player online game for the C64 from 1987. It's called Habitat, and was playable through QuantumLink. Here's how they described the game:
Habitat is a MMO (massive multiplayer online game), originally designed by Chip Morningstar and Noah Falstein at Lucasfilm Games. Although it is not the first online game, it lay the groundwork for modern MMORPGs by allowing more than 20,000 gamers to play in the same open-ended, virtual world, even though it doesn't contain typical RPG characteristics such as levelling, skills, abilities and classes. Still, Habitat forms the link between text-based MUDs that rarely topped the 100-player mark and modern MMORPGs. Because of the limited trial phase it was released in, it never contained more than 500 players.
You can read more about Habitat here. Nevertheless, Rogue is still a unique accomplishment. It can be accessed via an ethernet cart, and can be played today with participants from mixed platforms.
Next up we have those two C64 minis.
During the after party on Saturday night, we broke out the booze. Here's Joe Palumbo having a nice Jack Daniels and trying to stumble his way through Epyx' Impossible Mission. I thought I was the only person to find the game impossible. It turns out it is insanely difficult even for seasoned experts who claimed to have whiled away their youth mastering this game.
The C64 minis are effectively just emulators. But, they come in a nice little ornamental C64 case, and you never see the underbelly of whatever OS is running behind the scenes. You get a menu of games, more games can be added via USB stick, and you even get some extra options such as freezing the state of a game and returning to it later exactly where you left off.
The USB ports for controller ports are also compatible with a wide array of USB joysticks. Joe, here, is playing with what look like wireless PlayStation controllers. Only the little USB dongles are actually connected to the C64 mini. That's pretty cool.
Here we have some dude playing Gauntlet on an Amiga 1200. Not much else to say about that, other than it looks like he's using a Sega Genesis controller.
Next up, you're gonna love me for this Dave.
That's Dave Ross playing the space shooter, controlling his ship via the motion of his hands in front of the Kinect. Hey, is that an Atari T-Shirt?? Blasphemy!
A couple more words about the MultiMax Cart.
You can find the official website of the MultiMax Cart here. It is currently out of stock, for purchasing, unfortunately. However it's all open source too. The schematics are available for download, as is the EPROM image which you can burn for yourself. The menu system's source code is also provided. The cartridge is built around a 1MB EPROM chip (27C801), which is divided into sixty-four 16K banks. Each bank is the equivalent of the two 8K chips that were available in the MAX Machine's memory map.
Lots of people got a chance to try out Double Sided Games' new C64 title, L'Abbaye des Morts. I had a chance to play it for a while. And I can vouch that it is very playable. There are checkpoints throughout the screens. Whichever checkpoint you touched last is where you will respawn after you die. You still lose a life and have only a limited number of lives before you go game over, but at least you don't have to start over from the beginning. Free lives are scattered sparingly throughout the screens, as well, to help you survive.
L'Abbaye des Morts was available for pre-order, with a special offer for World of Commodore attendees who purchased the game at the show. He was also handing out free Double Sided Games stickers as promotional material.
It's a slick game. Lots of hidden areas, tricks and secrets to keep you intrigued and coming back for another play. The animations are very smooth, the controls are accurate, and the music fits the atmosphere quite well. This game is done entirely in hires mode, and I believe even the sprites are all in hires mode. This puts some strict limitations on usage of color (only 2 colors per 8x8 cell) but this game really pulls it off well. The graphics look sharp.
Lastly I'll talk about my table.
I'd brought my C64 Luggable with its four joystick ports on the front. I had also brought the four classic Nintendo controllers I'd modified for C64 with me to show off and to use in four player games.
In the week or so leading up to the show I downloaded as many 3 and 4 player games as I could find. I also downloaded a few 2 player games just for fun as well. There are quite a few completely free 3 and 4 player games, but at the last minute I decided to buy a full copy of Tanks 3000 from Protovision. And I'm very glad I did.
I love these two photos, taken near the end of the show Sunday. In the first, you can see the focus in the father's eyes as he battles against his two sons. In the second one, you can see a tank exploding in the lower left quadrant of the screen, and they're laughing. That warms my heart.
Tanks 3000 is great multiplayer party fun. The kid in the grey shirt, it's all he wanted to play. Everytime I'd load up something else, he'd soon be asking, "Can we go back to Tanks 3000?" It's got 10 colorful arenas, with varied layouts of water, bridges, walls and obstacles. The tanks are moved by rotating them with left and right, and then advancing by pushing up and retreating by pushing down. One of the best features, in my opinion, is the ability to guide the missiles. After a missile is fired, you can push left and right to change its course. This allows you to hide behind a wall and still fire at the other players. It has a customizable number of mines which are randomly placed hazards. Plus it has special items you can collect that will do such things as camouflage your tank, temporarily prevent the other players from firing, or making their movements sluggish. You can also configure the number of players from 2 to 4, input their names and set the win conditions.
All around a well polished fully NTSC-compatible game.
A big name game over the past year was Sam's Journey, created by Knights of Bytes and also distributed by Protovision. It's made a big splash being a highly polished platformer adventure of a boy named Sam. He can find and put on up to 6 different costumes that transform him into a Ninja, a Pirate, a Vampire and more, each coming with a different special ability to help him defend himself and reach hidden areas. The graphics are stunning and the environment is interactive. He can pickup and throw objects at enemies, collect gems, open chests, find keys to unlock doors, move trampolines to bounce into otherwise inaccessible places, walk through certain walls into hidden spaces, ride moving platforms, and get fired out of canons!
Despite its relatively high cost (well worth it), the game has sold over 1250 copies for C64 and emulators. And then went on to sell over 2000 (an additional 750 copies) after being released for the C64 mini. It is PAL compatible in either a cartridge or disk format. And it is NTSC compatible in disk format, with the addition of an REU. Purchasing a boxed copy also comes with a digital download of 4 .d64 images. The disk images are 1541 Ultimate compatible, and the 1541 Ultimate can also be used to supply the REU, making it the ideal hardware add-on for experiencing the game. And that's how I had it set up to play in C64 Luggable.
The fastloader routines used in Sam's Journey require that there be only one device on the IEC bus. If you're using a 1541 Ultimate, be sure to disable its B drive first. C64 Luggable also has an SD2IEC drive on the bus. You don't need to unplug these, you can instead put it in Sleep Mode.
If you hold the disk change button down for two seconds, sd2iec willenter "sleep mode". In this mode it doesn't listen to the bus at all until you hold down the disk change button for two seconds again which resumes normal operation. Sleep mode allows you to keep sd2iec connected to the serial bus even when you load something from a different drive that uses a fast loader that doesn't work with more than one device on the bus. SD2IEC user manual
Here's Bryan Pope trying out Sam's Journey for the first time. Many people who looked over our shoulders had either never heard of Sam's Journey before, or had never seen it up close and personal. Everyone who saw it was blown away, and amazed that the C64 could pull it off.
In fact, in C64 Luggable, because the hardware is tucked away inside a custom chassis, and because it embeds an LCD display and uses a PS/2 Mouse and Keyboard, many people who saw it assumed it was a PC that was only emulating a C64, thus perhaps giving it abilities that a C64 ordinarily would not have. These people were genuinely pleased when I folded down the back door to give them a tour of the machine's insides. And they discovered that it is just a C64 with a few standard, commercially available expansions.
Here's a kid playing Mayhem in Monsterland. Another brilliant accomplishment on the C64 from the early 90s. There were other long time C64 users at the show who were surprised to learn that this game had been NTSC fixed. Its highspeed action and super smooth scrolling with parallaxed backgrounds is widely considered to be a big accomplishment.
Both Sam's Journey and Mayhem in Monsterland got people to be able to try out my NES controller modifications. The switch on the top allows the extra fire button to function as the up button. In both of these games the second fire button is then used for jump, which feels very natural on a NES controller.
That wraps up the games! World of Commodore is not only for the regulars who are part of the community and keep up with all the news, it is also a show for new and returning users. Many people who haven't seen the machine in years are stunned by the developments still going on. And many kids are seeing and trying a C64 for the first time in their lives. Maybe their parents will buy them a C64 mini, and a new generation can experience the joy of finding a Commodore 64 under the Christmas tree.
The hardware at any Commodore show is one of my favorite parts. I love seeing new stuff, and I love learning about new things being developed. I saw lots of things I've never seen before. Some small, some big, some silly, some crazy. I can't do justice to everything, so I'll try to cover just a few of the things I found most interesting.
I had a lot of time to chat with Francis Bernier, checked out his table, and even bought a LumaTOLB from him. And somehow amidst the shuffle I actually missed what might be his most interesting new project. This is a prototype of a CIA (MOS 6526) clone.
Let's take an aside for a few minutes to talk about microcontrollers. If you're not interested, you can skip this section. But I find it deeply fascinating, and an important part of understanding what's going on in the current retro computer revival.
Coming back to the C64 a couple of years ago, learning to program in 6502 assembly, and learning a few of the ins and outs of how the C64 really works, I learned a few things about the history of the development of computers along the way. My first taste of this came when programming the keyboard driver for C64 OS. Looking at the C64 schematics and seeing that the CIA is connected to the CPU's interrupt line, I jumped to the conclusion that pressing keys on the keyboard would generate interrupts. I thought the 10-key keyboard buffer resided inside the keyboard and that the CIA could be used to read bytes from the buffer during the interrupt handler.
As it turns out, I was way off. I had made assumptions about the sophistication of the keyboard that were not at all how it works. This led me to document my findings about How the C64 Keyboard Works in a weblog post sometime last year. It turns out, the CPU is deeply involved in scanning the raw keyboard matrix switches. And it must do this by polling the keyboard matrix, via the CIA, 60 times a second. The IRQ line on the CIA, incidentally, has nothing to do with the keyboard.
This discovery, though, led me to a wider understanding about the history of the evolution of how computers go about doing basic things. PC keyboards (PS/2, Mac ADB, etc.) have custom controllers that handle the drudgery and wastful CPU time polling the keyboard's switch matrix. These controllers then convert the matrix switches into bytes representing the state of each relevant key, and then they fire off a message to the computer. The advantage is that, as long as the user isn't typing (which is, from the computer's perspective, 99.999999% of the time, a mere few keystrokes per second amidst millions or billions of cycles) the CPU doesn't need to expend even one cycle dealing with the keyboard. That's amazing. Not only have CPUs gotten faster, but, at least where the keyboard is concerned, they have less work to do too because they offload a lot of cycle-wasting drudgery to an independent controller.
Something Jim Brain said at World of Commodore in 2016 came back to mind as I was learning about this. That the VIC-II is like a special kind of processor. And, it's true. In earlier computers, such as the Atari 2600, the CPU was intimately engaged in generating the video output signal. But imagine, your program code is running on the CPU, but the CPU also needs to spend time just to keep the image on screen looking stable. What a huge boon it was, indeed, for a custom video controller, like the VIC and VIC-II chips to come along and offload that burden from the CPU, freeing it up for other things.
And one final example to clarify the pattern. I picked up a couple of 64NIC+ ethernet adapters from Retro Innovations. I wanted to learn to program them, so I read as much as I could about how ethernet works. It's the physical transport layer of the higher protocols that run over top of it. In a way, the ethernet adapter doesn't do all that much. It does less than I had first guessed. The computer still needs to read in, one byte at a time, all of the bytes of an ethernet packet. It needs to strip the packet bytes away to unveil the underlying TCP/IP packet, then strip that away to unveil the next higher level packet, put them all in the correct order, and so on. You might think, goodness, if the computer still has to do all of that, what does the ethernet adapter even do?
Well, imagine. If you're using an ethernet hub and you hook up 10 computers to the local network, how does computer 1 send a message to computer 10? The way this works is that all messages sent out by every computer are sent to every other computers in the network, because they are more or less electrically connected to one another. But what happens to computer 5 while computer 1 is sending massive quantities of data to computer 10? Millions or billions of bytes of data, are arriving at computer 5, even if not a single byte is destined for it. Without an ethernet adapter, the CPU would have to be involved in receiving and analyzing all those bytes, even when all it needs to do is throw them away.
The ethernet adapter is a custom controller that can be programmed with an ethernet (MAC) address. The controller spends 100% of its time monitoring all of the data flowing down the ethernet cable, and checking each packet to see if it is destined for this adapter's address. It handles packets not addressed to itself by silently throwing them away. Only if a packet is addressed to its own MAC address will it begin to buffer it, and then sets a flag to let the computer know something has arrived. The C64, during its regular interrupt handler that runs 60 times a second, can poll that flag which only takes about 10 CPU cycles.
The history of the development of microcomputers is always told as a story of CPUs getting faster and faster, and ram getting more and more plentiful. This is only partly true. The untold story is of the burgeoning of a whole family of independent, dedicated controllers working in concert to provide services to the central processing unit. And shielding that CPU from most of the details of the many hardware protocols: Memory controllers, interrupt controllers, serial bus controllers, video controllers, drive mechanism controllers, network controllers, and more. I feel like Steve Balmer, sweating away on a stage: "Controllers, controllers, controllers, controllers. Controllers, controllers controllers controllers! I've got four words for you: I.. LOVE... THESE... CONTROLLERS!"1
The short story of the aside above, is that dedicated controllers are used in nearly everything. They do work on behalf of the CPU so the CPU doesn't have to. Not only is a C64's CPU not very fast, but because of the computer's age it has to do many things modern computers don't have to do. Such as manipulating the video memory, or controlling RS232 communications (unless you use a Turbo232 or equivalent), reading bits in from the serial bus, and scanning the keyboard. We're gettin' ripped off man! PC's have custom controllers for doing all of that stuff.
However, programmable, embedded microcontrollers over the last 20 years have become cheap and ubiquitous. This is an incredible boon for retro computer enthusiasts. No longer do we require chip designers and fabrication facilities like MOS or Commodore Semi-Conductor Group to design all new chips. Talented electronics amateurs can buy off-the-shelf microcontrollers, embed them into relatively simple designs, and then customize their behavior by writing code in C and compiling and flashing it onto the controller. In the near future I will be writing a post specifically about my work with Retro Innovations' C=Key PS/2 keyboard adapter that I'm using in C64 Luggable. In that post we can get a bit more into the details of how some of these work.
Like ARMSid and FPGASid, based upon an ARM CPU core and an FPGA respectively, Francis Bernier is designing a clone of the MOS 6526 CIA chip, that is effectively little more than an Altera MAX II CPLD and what look to me like some voltage level shifters, wired up to 40 pins in a DIP arrangement. The current version, pictured above is not yet working, and is only an early prototype. In the final version, he wants to use a chip that can fit in the middle between the rows of pins.
The PLA, the SID chip, the ROMs, and now the CIA. We are gradually getting modern replacements not only of mainboards, but also of individual chips. And we're just getting started.
Speaking of cloned components. Francis also had on display, although he was not yet selling them, these C64 SRAM chips. This one is not his own design, but is an open source project which you can read about here: https://github.com/jamarju/c64-sram.
The C64 SRAM is a static ram chip on a small PCB that is wired to pins that are positioned to plug down into the two RAM sockets, U10 and U11, on a C64c shortboard. Amazing, one more original component that can be entirely replaced by a modern component.
Replacing the CIAs and the RAM in a C64, I classify these items under the high tech theme for this show.
The Mother of All Component Clones
Getting a replacement for the PLA is useful, and the 8701 is handy. New RAM can be important and a new CIA, well that's really great. But what about the big boys? The really complicated chips. The SID has already been cloned, but the VIC-II or the 6510? For the VIC-II we may have to wait longer, but it no longer feels completely out of reach.
I am totally blown away to see the C74 project. The goal is to replicate every single component of a C64 using only 74XX series chips. Very ambitious. To start with, he's done what might be one of the most complex parts, the 6502. This sub-project is called C74-6502. It is a completely homemade reimplementation of the 6502, which can also be used as a 65C02 or a 6510.
Here's Drass, standing proudly before his insane creation.
Now, you may have heard of Monster6502 before. It is a recreation of the 6502 on a single board that is quite large. They reimplemented the 6502 at very nearly the discrete transister level. But before you think, well we've been here, done that before. Monster6502 runs reliably at a maximum clock speed of only 60 kilohertz. Monster6502 will not be replacing the CPU in your C64 any time soon.
C74-6502 is also quite large, because it is made of discrete logic chips. But this baby is real. He claims that it can be clocked at 20Mhz! Significantly faster than the 1Mhz and 2Mhz versions found in a C64 or C128. In order to prove that it in fact works, and at speed, he demoed it powering a real C64.
Here we have a C64 (a very clean looking one too), with the original 6510 CPU pulled from its socket and resting off to the side in a piece of anti-static foam. In the 6510 socket is a small adapter that has two 40-pin terminal blocks. To these blocks he connects two 40-pin ribbon cables, which are connected to the bottom of the C74-6502.
And it works! It actually works. We got to see it with our own eyes. He loaded up some software and it ran without issue. Amazing work. I can't wait to see where his project goes in the future.
There was a lot of cool stuff at the show. But I'm already deep into this review, and I can't go on forever. Instead, here are a few nerd-porn hardware shots of other things I found interesting around the room.
It's easy for me to focus on the hardware, software, demos and technologies. It is a computer show after all. But there is much more to it than that. It's a time in the year when we can get together for drinks and games, friendship and conversation.
We can all sit at home with our computers. We can all use Twitter, and read blog posts on c64os.com. And we can order all the parts we need through the internet and have them delivered to our doorstep. And yet, people fly from other countries, or drive for 12 hours, so that we can see each other's faces, hear each other's voices, interact, shake hands and give hugs. Because, these are our people.
Although when you look around the room, you do see a lot of this:
You also see a lot of this. These are some of my favorite moments. Just people, being creative, and talking to each other about the things they love.
People also congregate for the presentations in the presentation room, and bump into each other around the vendors tables looking to pickout that missing title to complete a collection.
There is something for everyone, nerds and artists, gamers and hackers, designers, builders and collectors alike, at World of Commodore.
The Trip Home
Last year, I only made it for the Sunday. And there was no way in hell I was leaving without going out to dinner first with whoever was dedicated enough to still be around.
This year, I carpooled. But we showed up on Friday evening and started with dinner. So by early Sunday afternoon, we were ready to hit the road again. There was only one problem. We packed the car like tetris masters on the way here, and it's hard to resist picking up new gear at the show. We were coming back with an extra Amiga 1200, an Atari motherboard, numerous small components and stacks of boxed software.
But, we pulled it off.
We left in the daylight after making a final round of good-byes. Made one stop at McDonald's for a late lunch, a bathroom break and a pick-me-up cup of coffee. On the journey home, we talked about many things. We talked about books and religion, hardware hacks and games and other upcoming events. At times we sat in silence, at other times I listened to Jérémie and Francis speaking in French.
We arrived in Kingston after dark. It was good trip. It was a great show.
Do you like what you see?
You've just read one of my high-quality, long-form, weblog posts, for free! First, thank you for your interest, it makes producing this content feel worthwhile. I love to hear your input and feedback in the forums below. And I do my best to answer every question.
I'm creating C64 OS and documenting my progress along the way, to give something to you and contribute to the Commodore community. Please consider purchasing one of the items I am currently offering or making a small donation, to help me continue to bring you updates, in-depth technical discussions and programming reference. Your generous support is greatly appreciated.
Greg Naçu — C64OS.com