TLDR: The first computer I programmed was an Atari 800. I'm using a Raspberry Pi Zero W and a simple serial voltage conversion circuit to load disk images from the internet onto my Atari 800.
To recap: I was a problematic kid - hyperactive and easily bored. I recall literally climbing the walls by way of the classroom curtains. At some point, the principal decided I needed a challenge. He plonked me down in front of an Atari 800 and a stack of books.
I even remember playing with a Lite Brite and trying to work out how to translate those pictures to Atari graphics. That frustrated me, of course, because those old-school Lite Brites had a hexagonal layout of pegs rather than a square grid that could directly translate to pixels.
That Christmas - or maybe the next - I got a Commodore 64 under the tree. My story with computers accelerated, because I had the thing all to myself in my bedroom. I left Atari behind, learned about the SID chip but never explored the POKEY.
Decades later, I hit up eBay for an Atari 800. I found one at a decent price - complete with an Atari 1050 floppy, 1010 cassette drive, and a pile of disks and tapes and cartridges. I played with it a little, but mostly it sat as an office decoration for a few years.
The core machines still work, though. And, thanks to the internet and folks generous with their time & efforts, enormous archives of software for these systems can be accessed in seconds. But, how do you get this software into these archaic systems?
That brings me to the SIO port on the Atari 800. Where most 80s computers had a handful of parallel & serial ports of proprietary & standard flavors - the Atari 8-bit computers had just this one port for talking to disks, cassettes, printers, modems, or whatever. If that sounds familiar, the SIO port could be considered a predecessor to our modern USB port. Oddly enough, Joseph C. Decuir worked on both technologies, so I think the similarity is more than coincidental.
I had a spare SIO cable that I cut in half for the project. I could have tried getting a new SIO connector 3D printed - and I still might - but I knew this cable already worked. And, I was impatient. My first prototype came together on a little breadboard.
So, heads up if you try this - make sure to properly set up the Pi's UART for use with the circuit. Things will either not work at all - or have strange corruption issues as a Linux login console tries to output along with floppy disk data.
Oh and since we're living in The Future and the Internet Archive is an awesome place - you can try emulating what I loaded for real, right in your browser. I've had these songs stuck in my head for like a week.
But, I've also got an Atari 1200XL and an Atari 65XE in the basement that I might try playing with next. I did lay hands on a 1200XL as a kid, but I was already onto Commodore by the time the 65XE arrived. It'll be interesting to see what runs on those things.
The little breadboard rig worked pretty well. But, the next morning, I found most of the wires pulled free thanks to a curious kitten. So, I decided to clean things up and make them more permanent with a Perma Proto Bonnet Mini Kit, a 16-pin IDC breakout helper, and some 30AWG wire from Adafruit.
Even though there are only 5 pins needed between the Pi and the SIO port, soldering up all the pins to headers means I never have to remember what gets plugged into where. It's also good soldering practice. There are also 3 unused pins on the header - because SIO is 13 pins but the IDC breakout was convenient enough to use as-is and just ignore the extra connections.
This setup works well enough. The main drawback is that I have to ssh into the Raspberry Pi and run sio2bsd manually to make it available for loading. And, if I want to switch to using it as a modem from a term program, I have to kill sio2bsd and start up tcpser.
Using an ESP8266: I'm toying with the idea of exploring whether an ESP8266 - or some other small board - would be up to snuff for this project. I had fun using one to build my wifi pumpkin, so it could be fun for this too. That would take me learning a lot more about the SIO data protocols, though. Luckily, I have the source code for sio2bsd, so I have a starting point. But, the key to this SIO2Pi project was that I basically just glued things together and they worked without me entirely understanding the parts.
A better case: I could also explore 3D printing a case that combines all this stuff into a tidy little module with an SIO socket (or two for daisy chaining) rather than using a butchered old cable. I've also read about folks embedding this kind of hardware directly into the old computer - but I like this stuff to be easily reversible & non-destructive, so I probably won't try that.
The general search utilizes the Primo VE Discovery Service to search almost everything that UNE Libraries owns or subscribes to, including: the UNE Library catalog, databases, archives and special collections, DUNE:DigitalUNE, this website, and more.
This search will not include anything from outside UNE Libraries holdings or subscriptions, such as internet search results. This search includes credible resources suitable for academic research; and you can further limit your search results to show only scholarly or peer-reviewed results. Learn more about scholarly sources.
To find book titles or physical items in the libraries. Searching here can be more precise and efficient because you will not see article results from research databases, which can overwhelm your search results.
Books that are recommended but not required, workbooks, solutions manuals and other supplemental materials. You can still search for these items by author or title, but they may not be listed by course.
3a8082e126