I have not started a real serious open source project in a while. Ok, that's a lie. I have started a number of things and abandoned them, but the last software project I started that had lasting power was Nikola and that was in 2012!
7**2 a couple weeks ago, so I am officially old (it's the law!) and us olds
get bored because we don't get all the tiktok and whatever you youn'uns do.
So, I am getting itchy, and have been thinking of starting something. After seeing a number of retrocomputing videos, it turns out the ZX-81 of my childhood is vintage enough that they are actually older than ENIAC was when I got it.
And it got me thinking ... was there anything in that kind of computers that is worth saving for something other than nostalgia's sake? Sure, playing Monty on The Run is as fun as always and people still release software for C64 and similar ancient computers.
However ... well, that sort of reeks of masochism, because developing for those system was absurdly painful. You can get the same level of pain coding for pico8 and people can play your games much easier.
There's also the retro-hardware thing but ... honestly, I like modern hardware much better! For example, a Color Maximite looks much more fun that a C64 to develop in.
There is this feeling that current computers are missing something.
Why not explore it a little? I have a theory.
Modern computers are made to run things, old computers were not.
Getting someone else's software into your computer in 1984 was absurdly difficult.
- Get a computer (try doing that while living in Argentina in 1984)
- Now what? There's no Internet
- Read the manual and start coding (yes, the manual for the computer explained how)
- Find someone else who had a computer and had actual software for it
- Get copies. That often involved copying audio tapes. That would take between 10 and 20 minutes.
- Try out the copy on your computer. Loading it into the computer would also take between 10 and 20 minutes.
And after that you had ... a port of Manic Miner to C64 with crappy sound.
So, some of us, we stuck a little to the other side of those remarkable machines. That they booted into a development environment. That you could make them do shit.
And that's what current computers don't do. They don't do shit. They don't invite you to start doing your own shit. Which is perfectly and aggressively fine, I don't mind. But I do.
The Plan in My Head
What would the evolution of an 80s computer look like nowadays?
- It should invite you to code and do shit
- It should run on cheap, commodity hardware that is cheap and easy to find and buy
- It should not do much out of the box. It's a box to do shit not to run shit.
Therefore, how about ...
A disk image that you can pop into a raspberry Pi and...
- Boots to a limited environment
- Where you can do shit
- With fixed APIs and a provided software suite so that:
- You can do some graphics, easily
- You can do some sound, easily
- You can edit a program, easily
- You can share it somehow, easily
Why the Pi?
- It's fixed, known, cheap, supported hardware.
- You have IO pins to do extra shit
- It's cheap
- Also, inexpensive
- Direct-address text mode (fake)
- One or two graphics modes. 720p and 1080p?
- Graphic primitives
- Sprites! (hey, it's not the 80s without sprites)
- Basic mod playing
- Some beeping thingie
Python. Sorry. I am playing with it, it's not going to be BASIC.
Any weird thing?
- No import. You get the APIs you get.
- Programs are one file. You can use packages in your bigboy box over there that has chrome in it.
- No internet (no web browsing at least) just use your phone.
- Included sprite enditor
- Included Music tracker
Are you really going to write this?
Well, I'm going to give it a try and see if it's fun to do. If it's not I won't.
Are you looking for collaborators?
Nope. I want to do this solo at least for the first few months. My coding at early project stages is way too erratic and would make everyone hate me.
What's it called.
It's nostalgic. It's 80s. It has snakes in it. It should be Cobra Kai.
But because copyright exists, it's Cobra Py. Or maybe Cobra Pie, because there's also other python things called Cobra.
h/t to Guido de Caso for figuring out the name.
Serpiente... ochentas... Cobra Kai— Guido de Caso 🚀🛰✨ (@guidodecaso) October 6, 2020