Page 1 of 1

C64 8-bit Software Development

Posted: Mon Oct 21, 2024 10:02 am
by LeoNigro
The C64 really kicked off my love of programming.

Back in the day, in my early teens, I had a wild go at making some games on the 64 using the Epyx BASIC Toolkit.
It had everything you could possibly want, inbuilt graphics commands (including scrolling), a sprite and character set editor.....and to me at the time, it looked like they made all the Winter Games mini games with it. Or at least I thought I could have made it with it.
I remember having to save pocket money for months for that software. Looking at the box itself is still inspirational.

I got a bit of the way through building a simple typing tutor shoot-em-up, as well as a Super Sprint clone.
But I never got to finish them. And there would have been far better Super Sprint clones since.
I played Codemaster's Grand Prix Simulator to death with my cousins and friends for years.
I remember making a few rubbish intros too with scrolly messages.
By the time I was good enough to code anything half decent, the Amiga came out and that was a whole new ballgame.
So, of course I started screwing around with AMOS. And got totally lost.
And by the time I learned C and C++ I was already onto PCs.

As an ongoing Zapp! 64 subscriber from the beginning of its reboot(https://fusionretrobooks.com/collection ... 4-magazine), I see there is still quite a bit of activity in the Retro space. Lot's of new games coming out monthly.
I wish I was already retired to play around with all the new stuff and even develop something, but I'm way too busy.
If I did have the time, and I probably won't, it would be on the retro inspired PC game I started making during Covid. :D
I think you'd all get a kick out of that game.

All this to ask:
Would any of you like to see some C64 or Amiga software development tools included in the next version of Commodore OS?

I am thinking of including C cross compilers and editors from the CC65 project.
That would give you a proper editor complete with running an emulator for debugging.
It also allows you to develop for other 8-bit machines.
Maybe there's even a way to include Commander X16 development tools and an emulator.
That's kinda a spiritual 8-bit successor to the C64.

I have PETSPEED64 sitting on the shelf, which I've never tried. I've probably opened the box once.
I know It's got a dongle which isn't fun. I wonder if someone cracked it.
It's Commodore's own BASIC(limited subset) compiler so it should be fine to include in the distro.

What would be appropriate to include from the Amiga side?
I heard the Scorpion Engine is the bees knees at the moment and allows you to make games for a range of 16-bit systems.

Any more ideas?

Re: C64 8-bit Software Development

Posted: Mon Oct 21, 2024 10:41 am
by termite
This is very interesting to me, because last year, I started researching and mapping out what it would take to create a retro style OS that could provide basic communication for the Internet. The plan was quite well developed and researched. I came to the conclusion that while I wanted something looking more like the commodore 64, 8 bit wouldn't be enough -- but 16 bit would still be retro enough, while allowing a little bit more capability.

My idea was to imagine the I was still in the lat 80's or early 90's and had a Commodore -- or even an Amiga, except technology didn't move onto 32 but Amiga's and PC's but we got stuck in 16 bit and 8 bit world.

So some questions/scenarios I pondered:

- What would it look like if we had internet connectivity?
- Could we write basic 16 bit software for bulletin boards?
- Could we have video chat? Note: I know the answer to this: DEFINITELY NOT! ..but what about of we plugged in a cartridge or added a new board that would convert live-streaming video into 16 bit graphics that a 16 but computer could render and then feed it into the 16 bit simulation? Perhaps we could make like 5-10 second messages that would load?
- And for sound, maybe we could have another board/cartridge translate voice into 16 bit synthesizer?
- As for Internet, we'd need something with a modern modem, but we'd dial it down so that it's converting everything into something a 16 bit computer could handle.

So, imagine if we had a Linux OS that acted as the converter for the aforementioned 16 bit video and sound, and then pumped it into a 16 bit emulation or something? I mean (and again), I do understand that a 16 bit computer would have no chance of doing any of this by itself, but with some help of today's computing power, we could build something that has the end result of the 16 bit look and feel.

So that's the kind of stuff I'd like to see developed. Anything that would pull the future into a 16 but environment -- again, as if 32 bit never came along. We could have communication, chats, retro style video messages, games and heaps of other stuff.

Or, failing all that, I'd like to build a Linux distro that literally only outputs 16 bit graphics. This would actually be a lot easier. So the environment would still have internet and access to the modern internet and all that stuff, but the screen would only display 16 bit graphics.

Re: C64 8-bit Software Development

Posted: Mon Oct 21, 2024 12:10 pm
by LeoNigro
Hmmmm... Interesting....
The thing is, we already had an era of 16-bit OS Desktops, so I'm not sure you would want to go there.
Amiga OS, Atari OS and Mac OS, Windows up to 3.1 even IBM OS/2.
There were also alternative PC OSes such as PC/GEOS(GeoWorks Ensemble), GEM, TopView, Visi On, DESQview, DeskMate.
I'm sure Unix with XWindows was also available on 286, and probably even a version for Unix on Amiga (but maybe that was 32-bit).

Commodore OS also includes a DOS emulator (DOSBox) so you could even run these desktops above.

If you really wanted to create an 8-bit Desktop with better graphics, you might want to try writing one for the Commander X16 project.
Or maybe one for DOS. I recreated the StarTrek LCARS desktop for a graphics project in C on DOS at Uni. :ugeek:

As for internet access.....you can forget modern browsers on 8 and 16-bit machines as the complexities are too high.
However, you could connect to BBSs over the internet.
There are some C64 add-ons that feature internet access to some BBSs that are running.
If anyone wants to do some research into that, perhaps that can be included in the next COS version.

As for things like Video chat. I saw this fantastic demo on a PET where they played a video file that displayed using PETSCII.

There was a speech cartridge for the C64. I kinda think the Commodore OS synthesized speech sounds similar but clearer.
You can have a go at speech synthesis in Commodore OS through the Command Line.

Code: Select all

espeak "Would... You... Like... To... Play... A... Game."
The dots are for a delay for dramatic effect ala Wargames. It's fiddly. It's retro. It's fun.

There is even a C64 OS for the C64.

Re: C64 8-bit Software Development

Posted: Fri Oct 25, 2024 12:12 pm
by LeoNigro
I have to admit....This may be the best way to program a C64 or any 8-bit system in C.
https://8bitworkshop.com/redir.html?

Makes me wish I had the time.

Re: C64 8-bit Software Development

Posted: Sat Oct 26, 2024 4:45 am
by termite
I understand that a 16-bit computer can’t handle a modern browser, but what if we created a 16-bit browser that only extracts and displays text? It wouldn’t need to be complex—just enough for basic web browsing in a retro format.

I’m not aiming to simply relive old technology but to continue where it left off before 32-bit and full-motion video. We could have simple 16-bit graphics, forums, and messaging over the internet—keeping it minimal yet functional.

I realize this wouldn't work natively on a 16-bit machine. A more advanced system would handle the heavy lifting, outputting something a 16-bit computer could display. It would be exciting to see a Commodore 64 rendering 16-bit graphics and modern content in a simplified, retro way.

There could even be a market for this—minimalism is appealing. The programming would be complex, but the result would be simple, like how some people use basic phones to avoid distractions. We could create a computer that handles video, forums, and calls, all in a basic 16-bit style.

This could even be installed into a C64x, so when you boot it up, it feels just like the old days, except now you can access forums and chats too. Linux would still be used in the background to do the heavy lifting, while only 16-bit graphics would ever show on the screen. With Commodore OS being Linux-based and access to ROMs, I believe this could really work. I can imagine a community connecting with each other using this kind of retro, functional technology.

Re: C64 8-bit Software Development

Posted: Sun Oct 27, 2024 11:48 am
by LeoNigro
What you're essentially describing though, in terms of minimalism, already exists on these 16/32 bit machines, especially Amiga OS.
Software Development slowed but didn't stop entirely after Commodore closed down.

There are many browsers for Amiga OS for instance, that are no longer standards compliant and have minimal rendering capabilities.
Typically they're aimed at accessing Amiga sites, which have remained compliant to now ancient standards, which is what you're asking for.
They typically attempt to interpret modern sites, but unfortunately make a mess.
There are even text only browsers like Lynx available for Amiga OS and even DOS since the dawn of the internet.
There are even text only versions of Linux. The modern web browser is the killer app. You must have it or your OS is killed. :twisted:
Nowadays you can even run an OS in your browser, that runs a browser. The line has blurred between the OS and the browser.

You can also play movies on your 16 bit machine if you resize the resolution of the movie to as small as it can handle in a format it can handle.
You have software that will even download Youtube videos and downscale it to play on these, now ancient, machines.
Heck, someone showed off playing a movie on a PET, using the character set. It just takes considerable pre-rendering.
I'm sorry but we already have what you're asking for, which are compromises, especially in earlier versions of existing operating systems.
This all exists today as these development attempts at modernisation mostly occurred in the the naughties.

Maybe you should look into something like Temple OS developed by a single person, which might do something similar to what you want.
There is even a C64 OS you might want to look into. It's not free but it does some stuff you might like.
Or maybe you should just take a look at AROS which runs on x86 and ARM machines, which is designed like Amiga OS, but open source, in the same way Linux is designed like Unix. Or maybe take a look at emulating Amiga OS 3.2(68k) or Amiga OS 4(PPC).
A lot of Amigans have accellerators and hard disk simulation on their machines enabling them to run heavier software than you could without spending a fortune in the 80s. Sticking to the Amiga standard comes with compromises. The sort of compromises you may find alluring by the sounds of it.
Many game programmers find the limitations of 80s hardware appealing for instance, and there has been a resurgence in retro game development.
You just have to look at recent issues of Zapp!64, a retro gaming magazine (now with Perifractic as the Editor).
Even the new Commander X16 has BASIC as its primary operating system. If you are a developer you might want to look at developing retro software on that.

You also must realise there is no fresh development team or money to buy one to build such a new OS from scratch, especially one that is arguably inferior. These things tend to be almost solitary pursuits by obsessive people who believe in the particular project they are prepared to pour a tonne of time to build with minimal chance of commercial gain. Linux wouldn't exist without volunteers and there isn't much in Commodore OS in general that was built without volunteers.

Even the Commodore OS distro was put together by me voluntarily, and not for commercial gain and I'm sure there are people who think I'm nuts to do that. My wife would be one of them. :lol:

Re: C64 8-bit Software Development

Posted: Wed Nov 13, 2024 2:14 pm
by Veso45d
Wow, your journey through programming with the C64 and later the Amiga sounds incredible! The way you describe the Epyx BASIC Toolkit and the excitement of making games really resonates—especially the thrill of saving up for something so transformative. It’s amazing how these early experiences can shape a lifelong passion.

The idea of including C64 and Amiga development tools in Commodore OS sounds like a fantastic way to tap into that retro gaming spirit. Having C cross compilers and emulators would definitely make it easier for people to get into development or just explore those classic systems in depth. Including Commander X16 tools is also a great touch; it feels like a perfect tribute to the C64’s legacy.

On the Amiga side, Scorpion Engine would definitely be a popular choice—I've heard nothing but good things about it for game development across 16-bit systems. There’s so much potential to reignite that retro magic.

By the way, if you're curious about the modern development scene, especially in vibrant places like Montreal, here's a great read on software development companies there: https://www.cleveroad.com/blog/software-development-companies-montreal/

Honestly, I’d love to see what you come up with if you find the time to revisit retro-inspired game dev. Sounds like it’d be a blast!