top | item 38617952

(no title)

ezy | 2 years ago

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. :-)

discuss

order

gooseyard|2 years ago

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 :)

ansible|2 years ago

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

RaftPeople|2 years ago

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.

philiplu|2 years ago

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.

johngossman|2 years ago

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

phkahler|2 years ago

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

Narishma|2 years ago

The article is about the 6800, not the 6809.

jacquesm|2 years ago

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