Why not 'enhanced' Commodore 64?

Feel free to talk about any other retro stuff here including Commodore, Sinclair, Atari, Amstrad, Apple... the list goes on!
The_Guy222
Posts: 6
Joined: Mon Mar 20, 2023 2:14 pm

Why not 'enhanced' Commodore 64?

Post by The_Guy222 »

I totally get the Commander X16 - VIC-20 based, easy and fun to program for, powerful.

But for all those Commodore 64 developers of today, I'm surprised there wasn't a unified push for a 'better' C64.

With the failing hardware of original models, and the still-abundance of NOS and in-production 6502, you would think there'd be a desire to push out an improved, fully-compatible C64 'enhanced.'

Now I know we've got the X16, which is its own thing, as well as the C256, available and powerful. But there's people still developing for the C64, and running into limitations, and just want 'real' hardware they can stick into a beige breadbox.

I guess we're already moving towards an enhanced C64 with the 'new build' kits coming out, that use their own more modern architecture to integrate the classic chips wherever possible. So the kinds of things you see on Perifractic's channel could be used as the basis for an improved, 100% compatible C64.

The reason I am focused on this is that there are still legions of people developing specifically for the C64, and it has a huge modern library now, but the limitations are real. Platform games that can only have so much depth, maxxed-out parallaxing 16-color bullet-h*ll games, NES-style RPGs [no-body even tries for an Ultima anymore].

There's a neat recent C64 game called "Tiny Racers," which I think is great. Only the playfield is too small, it's really cramped. And it can't get beyond the C64 palette, cool as it is. It's crying out for an improved graphics chip. Some people have suggested a VERA-module for C64, which I like.

So is there a standardized hardware configuration that could offer 100% C64 compatibility, while also providing a basis for 'enhanced' C64 games? A C64/GS, if you will? [I think 'C64E' is taken as a motherboard revision.] Based on what people talk about, I think it would have to offer:

-enhanced video chip [VERA is ideal, but is there something in chip form that's available?]
-dual SID-chips [are plug-and-play new-build SIDs available, or do they rely on FPGA?]
-512 kb or so RAM
-built-in SD card drive access
-output to modern monitors
-connections for common 8/16-bit gaming controllers

Would these features offer enough, and is the hardware available? I am not sure if the C64 community is converging around platforms that will offer enhanced C64 or not.
kelli217
Posts: 522
Joined: Sun Jul 05, 2020 11:27 pm

Re: Why not 'enhanced' Commodore 64?

Post by kelli217 »

Can I point you to the Mega 65? It's based on one of Commodore's own projects to enhance and expand the C64... the Commodore 64DX or Commodore 65 (they hadn't quite nailed down the name).
DragWx
Posts: 327
Joined: Tue Mar 07, 2023 9:07 pm

Re: Why not 'enhanced' Commodore 64?

Post by DragWx »

The_Guy222 wrote: Thu Apr 27, 2023 2:10 pm But for all those Commodore 64 developers of today, I'm surprised there wasn't a unified push for a 'better' C64.
Maybe they're not looking for one. Consider what draws programmers to various retro consoles in the first place. :P
The reason I am focused on this is that there are still legions of people developing specifically for the C64, and it has a huge modern library now, but the limitations are real. Platform games that can only have so much depth, maxxed-out parallaxing 16-color bullet-h*ll games, NES-style RPGs [no-body even tries for an Ultima anymore].
The limitations are part of the appeal. All of these developers could've simply chosen to write a game in Unity or something, yet they still went with the C64. Though I'll admit, I'm very happy we can do the actual development with modern tools, even when targetting these old systems. ;)
There's a neat recent C64 game called "Tiny Racers," which I think is great. Only the playfield is too small, it's really cramped. And it can't get beyond the C64 palette, cool as it is. It's crying out for an improved graphics chip. Some people have suggested a VERA-module for C64, which I like.
I couldn't find a game called "Tiny Racers", but I found one called "Muddy Racers", which looks like a faster paced Super Sprint. Is it similar? Visually, it looks good, and the gameplay looks like it was tuned specifically for the way the game was designed to be (i.e., single screened), so it should play well.
If you prefer a scrolling racing game instead, there's certainly ways to make one on the C64, and there's techniques for making on-screen graphics practical and distinct for gameplay, even with the color limitations. With the C64 being around as long as it has, I'm certain there's plenty of examples on how to overcome its various limitations.
-enhanced video chip [VERA is ideal, but is there something in chip form that's available?]
-dual SID-chips [are plug-and-play new-build SIDs available, or do they rely on FPGA?]
-512 kb or so RAM
-built-in SD card drive access
-output to modern monitors
-connections for common 8/16-bit gaming controllers
Most of these features seem like they're doable on existing hardware already. At the very least, there's solutions for using SD cards in place of disk drives, ways to connect to a modern TV, extra ram could be supplied by a cartridge (I suspect), and you can make adapters to connect NES/SNES controllers, and iirc, Genesis and Master System controllers work immediately, and none of this would compromise the integrity of having a "real" C64 in a "real" breadbin case.

Also, in general, any modern replacements for old custom chips like the SID and VIC-II are going to be FPGA or microprocessor-powered replacements, and the fact that these can exist at all is a good thing. ;)
BruceRMcF
Posts: 224
Joined: Sat Jan 07, 2023 10:33 pm

Re: Why not 'enhanced' Commodore 64?

Post by BruceRMcF »

The_Guy222 wrote: Thu Apr 27, 2023 2:10 pm -enhanced video chip [VERA is ideal, but is there something in chip form that's available?]
-dual SID-chips [are plug-and-play new-build SIDs available, or do they rely on FPGA?]
-512 kb or so RAM
-built-in SD card drive access
-output to modern monitors
-connections for common 8/16-bit gaming controllers ...
As far as why there hasn't been a concerted push ... it's because different people have different priorities so the various RAM expansion, Stereo SID options, SD card access, and modern video output options that have been developed have been doing their own thing rather than looking at a coherent package of upgrades.

For instance, as far as common 8/16-bit gaming controllers, a User Port interface for an SNES controller is already available, which Dave made for his Planet X3 -- and IIUC, works on PETs and VIC-20s as well as C64s.

But as far as updated video display options, note that if there was an enhanced ASIC sprite-and-tile display chip readily available, it seems highly likely the X16 would have simply used that. The people who formed the original X16 project team looked for a while before deciding there wasn't anything like that available, so they settled on the FPGA Gameduino that was mentioned in the first Youtube video as the target for the video display.

Also note that this whole list could be handled by a single Vera cartridge. The extension I/O built into the C64 cartridge port is two, 256 byte pages, and Vera only requires 32 bytes of register space. The GEORam style RAM expansion worked by putting the RAM window in one page and using the first two register addresses in the other page to give the rest of the address lines. Two latches addressed in the bottom two register addresses of the I/O page that also accesses Vera would support a 512KB SRAM.

Vera supports an up to 12.5Mbps SPI port for SD, so that could be wired into the same cartridge.
The_Guy222
Posts: 6
Joined: Mon Mar 20, 2023 2:14 pm

Re: Why not 'enhanced' Commodore 64?

Post by The_Guy222 »

kelli217 wrote: Thu Apr 27, 2023 6:16 pm Can I point you to the Mega 65? It's based on one of Commodore's own projects to enhance and expand the C64... the Commodore 64DX or Commodore 65 (they hadn't quite nailed down the name).
I've been watching the Mega65. It's very interesting, did the OG hardware have a 100% C64 compatibility mode? They seem to be struggling to achieve it on the new device in the videos I've seen.

The Mega65 'hardware' itself is sufficiently powerful and historical to be interesting to me. Someone is making a side-scrolling flight shooter game for it that looks very impressive and smooth. Way beyond what the Commodore 64 can do.

https://www.youtube.com/watch?v=CGP6Jx8O9Z0

So yeah, the Mega65 is great. It just doesn't have the community of X16 or C64 behind it, which produce many more games. All the FPGA and replica hardware the Mega65 uses really limits its availability, as does cost. So you just don't see much coming out for it in terms of software.

[Although the Mega65 successfully demonstrates viability of porting C64-compatible games like Showdown and Hibernated.]

https://www.youtube.com/watch?v=kdn4P6yaB7U

I just thought...since people are already producing new-build C64 components, why not agree upon an 'enhanced' configuration, so that you can do to C64 games what you see on the Mega65.


----------

BruceRMcF and DragWx:

On the subject of programming within limitations, I agree that doing so motivates a lot of modern C64 developers.

I just find that the C64 limitations are maybe ... too limiting. After all, why does the X16 exist? One reason is that people want a late-80s Commodore 8-bit experience, not only 1982.

Anyway, I agree with what you are saying. It just seems to me that we already have the parts for 'enhanced' C64. If people could agree on a common configuration, they could program for a hypothetical "Commodore 64 Plus" that could have existed.

[We're already getting the start of this with people making games with the REU, so why not add a few reasonable things to this like dual-SID and some modern conveniences. A better graphics chip would be a really big deal, though.]

Anyway, I guess it's the video card that's the wildcard for me. Dual-SID, RAM, SD card is no big deal, but adding greater video capability would be a more qualitative change.

But as Bruce says, VERA could handle all the new stuff. So, is a VERA C64 something possible?
If so, people could adopt VERA C64 and pretend they are developing for a late-80s C64 addon.

I'm really impressed by the modern C64 retro scene, but I feel as though the C64's limitations are creating games that are 'samey.' They have to use similar tricks to get better graphics [i.e. the rainbow 'chrome' effect, dithering to produce similar skies across games, the shooter parallaxing isn't advancing much anymore, similar 'stained glass window' effects in churches and dungeons, rogue-likes that are limited to ~200px 'high-resolution'].

So that's why I'd like to see the C64 with a reasonably-better video-card and sound, which is something that did happen with other computers in the 80s. It would still be the same chip, same BASIC at startup, same way of addressing memory, same interface with peripherals, etc... but with some more juice under the hood. Maybe allowing for more variety in retro software.

That's why I mentioned the "Muddy Racers" game. It's coded correctly for a Commodore 64, but I agree with other peoples' comments that the play area just seems too small. And the colours are a bit drab. If it was coded for 2x the original resolution and, say, 24 colours or more, I think it would be a more visually-interesting and fun game. Still running on the same processor + breadbox and almost the same code.

https://www.youtube.com/watch?v=jigTBqvXX4A

Same goes for a lot of the new PETSCII games, which use large 40-column characters on a small resolution.

I guess the device that best encapsulates what I'm thinking about is the Spectrum Next, although it's all FPGA. It is really successful, when you think about it. And it plays all the old stuff, accelerated if need-be, and is already being used for impressive Spectrum ports/remasters. That's kinda why I want to see a juiced-up C64, even one using new parts, to give users and developers the option of more power available for software.
TomXP411
Posts: 1761
Joined: Tue May 19, 2020 8:49 pm

Re: Why not 'enhanced' Commodore 64?

Post by TomXP411 »

The answer is actually very simple: the Commodore 64 is a more complex machine than the Commander X16.

The X16 is more powerful, but its power is achieved through a faster CPU and VERA. The overall system architecture is actually simpler, and this simplicity is the computer's biggest benefit. Even the banked RAM and ROM are confined to their own address space, so programmers know that an address above $C000 is always ROM, or one between $A000 and BFFF is always banked RAM. And so on.

Trying to make this system be both a C64 and an X16 would end up being prohibitively expensive, not to mention hideously complex. The only reason the MEGA can do it is because it's an FPGA system, so the complexity is abstracted by the FPGA (also, an FPGA can fully become a C64, which is something you can't really do with a chipset based system.)
The_Guy222
Posts: 6
Joined: Mon Mar 20, 2023 2:14 pm

Re: Why not 'enhanced' Commodore 64?

Post by The_Guy222 »

Now that's something I didn't know. I knew the memory management was simpler on X16, but the whole system?

I guess the X16 really is a simpler, enhanced 8-bit Commodore for modern programmers.

The actual C64 mods are more ad-hoc, with different people prioritizing different things. So only the X16 and Mega65 currently make sense as targets for enhanced 8-bit systems.

The Mega65 FPGA is cool, but it's a work-in-progress. Seems people are always waiting on updates to get C64 working 100%, and get other retro systems. [If I owned one, I'd rather it be C64 compatible natively, with additional features that enhanced programs can address. At least a "GO 64" mode that runs the system the way a C64 would expect.]
BruceRMcF
Posts: 224
Joined: Sat Jan 07, 2023 10:33 pm

Re: Why not 'enhanced' Commodore 64?

Post by BruceRMcF »

The_Guy222 wrote: Fri Apr 28, 2023 3:33 pm But as Bruce says, VERA could handle all the new stuff. So, is a VERA C64 something possible? ...
That was the point of my comment: a 512KB GEORam + Vera cartridge for the C64 would make it a "Vera 64".
paulscottrobson
Posts: 300
Joined: Tue Sep 22, 2020 6:43 pm

Re: Why not 'enhanced' Commodore 64?

Post by paulscottrobson »

The primary reason is the amount of effort required for backward compatibility. The Mega65's C64 compatibility isn't that great and they've been working on that for 6-7 years or more.

You end up trying to replicate a significant number of tricks, edge cases, and abuse of the hardware that developers used to squeeze every last ounce out of the machinery. Emulators are like this. It's usually fairly easy to get something that will run (say) BASIC well enough. The problem comes with code where the developers have treated it like a 2600, hacking registers in mid frame/scan line to get more than 4 sprites, or some weird effect.

And in the end, if you wanted that level of compatibility you might as well run Vice on a Raspi or something like that, they've been doing it for years. The reason for backwards compatibility is mostly to play games. If you want something more like the hardware for development purposes but don't want to use a real one, there's always things like Mister.

The similar-feel-but-different approach allows a cleaner and consistent design and reduces the design time (though the X16 has been slow to market, Vera has been stable for most of that time). It would also make (say) porting to a different FPGA or producing a single chip version simpler.

The other major issue with plugging a Vera into a C64 is the CPU speed. There is a processor impact with Vera, both in accessing it itslef and the use of much 16 bit data, which the 65C02 is not great at. There was a British machine called the Lynx in the 1980s, with great graphics for the time (256x224x8 colour bitmap), but the Z80 driving it was so overloaded it couldn't do anything.
The_Guy222
Posts: 6
Joined: Mon Mar 20, 2023 2:14 pm

Re: Why not 'enhanced' Commodore 64?

Post by The_Guy222 »

Thanks. That clarifies a lot for me.

I've noticed that the greatest number of new 'retro' games for retro systems happen to be for the most common, cheapest programmable systems. The C64 and Spectrum primarily, although it's a slightly different story with handhelds.

I suppose that is because of the 1. availability of the systems 2. potential market size 3. greater number of veteran programmers 4. stark limitations 5. lower expectations.

After all, you don't see many recent games for that Lynx system.

You'd think there'd be some more Apple II games, though, given the relatively open architecture. Probably a little easier to keep one running than with some systems. Biggest surprise for me is how almost no-one makes DOS games anymore, even though there are tons of people using DosBOX. I guess DOS programming is more obscure these days than 8-bit systems, and too much diversity in target HW.

With these new Commodore 64 builds, though, it seems to portend something. The enhanced longevity of the platform, sure. But when people are meddling with the hardware at such a low level, it just makes you think that they'll try to improve something. Which is happening. I just wonder if there are further implications to the new build C64s that are coming out. Haven't seen the implications explored anywhere.
Post Reply