Hacker News new | past | comments | ask | show | jobs | submit login

My first exposure to the innards, from a software perspective, of a computer was a 6809 based system. The first assembly language I learned and the first “real” operating system with multitasking (Microware’s OS-9). I suppose it made an impression— I stuck with Motorola CPUs on my personal computers up to the 68040. :-)



I got a 64k CoCo2 when I was 10 or so. The Apple II was the only other computer I had ever used, and so my worldview was that BASIC was how you interacted with a computer. My Radio Shack carried Rainbow magazine and had lots of back issues available, and they were just absolutely delicious to me as a kid with all the program listings and ads for new hardware.

What totally confused me at the time though were program listings in assembly (I couldn't figure out how you were meant to type those in) and especially the discussions of OS-9. I didn't know what it was, and even in some cases where I found a Radio Shack with the Tandy OS-9 distro, it was like 100$ and didn't have any games as near as I could tell, so I couldn't figure out why you would pay so much for it. Also I lived in a rural location where even the nearest 6809-oriented BBS would have meant expensive toll calls, so I missed the opportunity to learn that way.

Anyway skip forward, I started to college in 1993, immediately found Usenet, then Linux, and spent the next 30 years or so steeped in that world. Every so often I would go back and do a little reading on the 6809 world, but because I had never really understood most of what was going on, I didn't have a great deal of nostalgia.

Finally though, a few weeks ago I came across a link (maybe here?) to a release of the VCC emulator, and although I had played with a couple of 6809 emulators before, I hadn't really gone down the rathole of finding the MultiPak roms, or hard disk controller paks, etc. I found a couple of hard drive images, one from the NitrOS9 Ease of Use project, and another random NitrOS9 image packed with old software. What was particularly fascinating to me was the NitrOS9 source itself- since my introduction to Unix was in the 486-MMU-having-era, to see what people were able to do with a 6809 and an assembler was just a joy to read and understand.

I feel like probably everything that has ever needed doing on a 6809 has probably been done, and I've done enough 8 bit assembly stuff in school that I don't have a powerful urge to go back and make something myself, but boy what a feeling of having come full circle when I cd'd into the NitrOS9 source directory and found a makefile of all things! I feel so fortunate to have been able to live through a time of such explosive growth and change, and hope to get the chance to do a little OS-9 hacking when I retire some day :)


Nice. I had gotten started with a CoCo 1 with just 16KiB of RAM. That eventually got upgraded to 64KiB and Extended Color BASIC. That made it easier to copy ROM cartridges and save them to cassette tape. One trick there was to cover over or cut the trace to a pin on the cartridge that prevented it from automatically starting. That was handy for switching between BASIC and the EDTASM+ ROM.

One use of all that was to fix the CoCo's clone of the arcade video game Galaxian, called Galactic Attack[1]. The CoCo had analog joysticks, and the writer of Galactic Attack thought it would be neat to have the ship you control track the X axis of the joystick. Except it would be unfair to whip the joystick from one side of the screen to the other while avoiding the enemy shots. So in the Galactic Attack game, the player ship lazily tracked the position of the joystick, moving slowly to the position of the stick. In practice this made the player ship hard (for me) to control and felt unresponsive. And it made it hard to hold still in the case an enemy bomb was close by.

I had already modified one of my Atari 2600 joysticks to work on the CoCo (probably a Rainbow magazine article). So what I did next was to modify the joystick routine to just create three zones (move left, dead zone, move right) for the X axis values. The game may or may not have been written with all relative branches (instead of absolute), so I might have had to fix that too.

Good times.

[1] http://www.lcurtisboyle.com/nitros9/galacticattack.html


CoCo had a UK clone made called the Dragon 32, which under the hood actually shipped with 64K ram, some careful tweaking and copying of the ROM to it's own spot allowed you to switch that upper 32K on and suddenly your ROM was RAM which meant you could extend the basic interpreter. Oh and you could also double the clock with a single poke 65495,0 .


Yep, we did both of those back in the day. The bank switching was needed for ROM copies that didn't relocate as easily, or if you were modifying the BASIC interpreter itself.

Towards the end of the 1980's I upgraded to a CoCo3, with 512KiB of RAM (wow! so much), a disk drive (156KiB) and OS-9 level 2. Also got the C compiler for OS-9 when it was on sale (discontinued).

My final setup would have the entire operating system loaded into RAM, with a RAM disk, upon which I'd copy in the C compiler. And display it via a glorious 80 columns on a monochrome monitor. It was with all that I started writing my own vi clone, but didn't get too far.


Oh wow that was a nice bit of kit for those days. For me the route was: TRS-80 at work -> TRS-80 pocket computer -> KIM-1 -> Dragon 32 -> BBC Model B -> Atari ST -> 286 -> 386

And a bunch of homebrew in between. But a 6809 with 512K RAM would have been very nice :)


The CoCo3 ran fairly well, though it did run hot. The higher speed variant of the 6809 in the CoCo3 was still fundamentally a 8/16-bit processor. The main upgrade compared to the older versions was a bank-switching chip. You could apparently map any 8KiB of the 512KiB to any of 8 positions in the 64KiB address space of the 6809. It was sort of like segment registers... except less flexible.

I sorely wanted an Atari 520ST when they first came out, but it was more than I could afford at the time.

After graduating from university, I eventually got a Gateway 386 with a whopping 4MiB of RAM. In part to play Wing Commander and Castle Wolfstein. I've mostly been a PC guy since, though I've dabbled in RISC-V more recently. Not ready yet to make that my main desktop though.


I've never even seen a CoCo3 in the wild here in Europe, and that's in spite of having worked for Tandy/RS. Maybe that was after the pull-out? That Dragon had a fantastic keyboard compared to the CoCo by the way, and that was one of the main reasons why I picked it.

The ST was my first 'serious' computer, with a massive amount of memory and an optional hard drive it really unlocked a whole bunch of capabilities, such as compiled languages and more RAM to work with, I used it for all kinds of commercial projects. In many ways X86 felt like a step back after working with the ST, especially after I figured out how to add more RAM to it. It also had a whole slew of useful ports including MIDI.

Today I use an old Thinkpad as my daily driver and it's funny, it's probably the oldest piece of hardware that I have here (a W540, 9 years old, $300 second hand including the 32G RAM in it), but it performs admirably and it uses very little power (everything on solar here so that matters a lot).

But I've been eyeing that RISC-V stuff as well and like you I'm still in hold mode. But it's getting closer.


Same here for 6809 and OS-9. I remember talking to friends writing 6502 assembly and comparing notes and it made me pretty happy I was working on the 6809 due to various operations and addressing modes.


The 6809 (and 6800) helped me pay for my computer habit back in the late 70s/early 80s. I wrote a program for those CPUs, "Dynamite Disassembler", which I originally wrote to reverse engineer a bunch of code in the Flex and OS-9 OSes. Cleaned it up and managed to sell enough copies, at something like $150 a pop, that I could afford to buy more computer gear while I was a mostly-broke college student.


Same. Really nice chip and a really nice OS. Basic09 was way ahead of MSBasic too.


The 6809 was paired with the first arcade GPU in the game I,Robot. An Atari marvel of the day.


The article is about the 6800, not the 6809.


What a childish nitpick. The 6809 is best thought of as an improved 6800.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: