Tag Archives: programming

Zolatron 64: Writing an OS for a 6502 homebrew computer

I’ve said it before and I’ll say it again: I have no idea how you write an operating system. Even though I’ve sort-of written one. I’m calling it ZolOS. The Zolatron 64 6502 homebrew computer project started as idle curiosity that just got out of hand. I figured I’d be happy if I could get as far as writing ‘Hello… Read more »

Zolatron 64: 6502 bare metal random

There’s a problem when you build your own computer and therefore have to write your own operating system. All the things you rely on when coding in other environments – such as maths functions – are not there. You have to write them yourself. The Zolatron 64, like most homebrew computers, is effectively a bare metal project. I’m writing all… Read more »

Zolatron 64: being persistent

      1 Comment on Zolatron 64: being persistent

In an earlier post, I described how I can now load software on to the Zolatron 64 6502 homebrew computer. The LOAD command was pretty basic – you couldn’t specify a file. Instead it just loaded the same file (zd.bin) which I’d have to overwrite if I wanted to load different code. Well, those days are over, and the Zolatron… Read more »

Zolatron 64: The start of an operating system

Let’s be clear about this, I have no idea how you write an operating system. I just know you need to have one. When I first started writing ROM code for the Zolatron 64 (Z64) 6502-based homebrew computer all that really mattered was getting things to work. And I was amazed when they did. I was following in the footsteps… Read more »

Elliott 405 cheat sheet

      No Comments on Elliott 405 cheat sheet

In among Big Doug’s small but treasured trove of documents relating to the GPO’s National-Elliott 405 computers is a small yet fascinating document that seems to be part cheat sheet and part marketing material. The six-page, fold-out booklet is handily sized to fit into a shirt pocket, along with your pocket protector and 6H pencil. Most of the National-Elliott 405… Read more »

Zolatron 64 ROM code – write, debug, repeat

With the basic hardware of the Zolatron 64 6502-based homebrew computer working fine, I’ve been spending most of my time on the ROM software. It turns out that writing an operating system in 6502 assembly code is harder than you might think. Well, anyway, it’s harder than I thought. But first… A quick catch-up on the state of play with… Read more »

Zolatron 64 6502 homebrew – processing commands

In an earlier post, I described how I was parsing commands input (via serial) into the Zolatron 64 8-bit homebrew computer in assembly language. That parsing process matched an input command with an internal list and the result was a ‘token’, a single integer value of $80 or more representing that command that is placed in a memory location. Or… Read more »

Zolatron 64 6502 homebrew – parsing inputs in assembly

Okay, so this is going to be a long one. Grab a coffee, settle down and we’ll begin… The last time we talked, I was able to send messages to the Zolatron 64 6502 homebrew computer via its serial port. But all it could do was print those messages to the LCD screen. It’s time to actually do something with… Read more »

Zolatron 64 6502 homebrew – a terminal of my own

Early on in the design of the Zolatron 64 6502-based homebrew computer I made the decision that I wasn’t going to bother with attaching a keyboard and monitor. It has a 16×2 LCD display for small stuff. Otherwise, I/O was always going to be via serial. That means talking to the machine via some kind of terminal software. To date,… Read more »

Zolatron 64 6502 homebrew – converting between text and numbers in assembly

One thing it was obvious I would want to do with the Zolatron 64 6502 homebrew computer is have a routine to display the contents of sections of memory – à la Wozmon. There’s a snag, though. The content of any given byte in memory is a number, in the range 0-255. But to display this on the screen, this… Read more »

The Dawnclock – back from the dead

I’d been waiting for this moment. I’m not a electronics or coding expert and so, sooner or later, I expect all of my projects to die. But the Dawnclock just kept on living – right up to the point when it didn’t. I first blogged about this project in January 2013, which means that it’s been operating for eight years…. Read more »

Arduino: running hard to stand still

Don’t you hate it when something that was working stops? You can safely bet that it’s because, somewhere along the way, something has been ‘improved’. I needed to make a change to the code running on a couple of IoT room thermometers. These are built around the Adafruit Huzzah ESP8266 board (the non-Feather version). And they’ve been running flawlessly for months…. Read more »

SmartParallel: Go code is go

      No Comments on SmartParallel: Go code is go

Success! The Go code I’d been struggling with is working, although it also required changes to the C++ code running on the ATMEGA328PB. Here’s a quick overview of how the process works. On the SmartParallel, the ATMEGA328PB code sits in a loop watching for incoming data on the serial port. It also monitors the state of the printer by frequently… Read more »

SmartParallel: n steps back, n+1 steps forward

The principle of ‘one step at a time’ is very sound. The more changes you make at once, the more places there are for bugs to hide. And that’s why this project has been progressing slowly – or not at all – just lately. Finally, though, I feel like it might be back on track. A quick recap: SmartParallel is… Read more »

Go or Python for the Raspberry Pi

Pretty much all of the code I’ve written for the Raspberry Pi (and the BeagleBone for that matter) has been in Python. It’s widely regarded as the de facto language for the platform, not least because it is newbie-friendly. But does it have to be this way? Ups and downs of Python It’s not hard to enumerate a long list of… Read more »