Heber recently released the Agon Console8, and after being “persuaded” (repeatedly!) to take a look at it, and to try and get a Lemming walking in a demo or something. When it arrived on Saturday, I did chuckle because they’d wrapped it “specially” for me! Yes, this really is how it arrived. Though Mark insists they change the label, as his was…. not quite as polite!
But with it’s arrival, I’ve spent the weekend setting it up, and trying to get a little framework together.
After unpacking and hooking it up, I powered on and nothing was working, then I realised I need an SD card for it to do anything. That took a bit of hunting, and the one I found didn’t work properly at all… Fortunately, someone pointed me to a working one, and I was able to get it to boot.
It’s a lovely machine, though I’m not sure just how much you’ll be able to do with it, as the IO chip (that runs the graphics and audio) has a big limitation, in that it communicates with the CPU with a serial IO line. Now sending “commands” isn’t a big issue, consoles have had “latches” to send stuff for years. But this one is pretty slow. You can only send about 2.4k a “frame”, and that’s not much… even in 320×240 mode, that’s just 7 pixel lines that you could update, so dynamic rendering by the CPU is a no go from day one.
It does have “bitmaps” and “sprites”, but I’ve yet to delve into these. It appears the bitmaps might need to be full 32bit values, even if it can’t display that – 64 colours max… so rather than a “nibble” display, you have to send massive amounts of data – or so I’m told. Again, I’ll need to verify this.
I thought it would be great to write a simple Lemmings demo in BBC BASIC (which is what it runs) because others could then look at it, and see how it works. Nothing fancy, just a single screen and a few lemmings walking about, but, if you’ve ever tried to code in BASIC on an old machine, you’ll remember how utterly horrible it is!
First, line numbers… Uuughhh. Who wants to keep typing in line numbers! and the line editor all these old machines used were horrible!
But first things first. I needed to get it setup. After going through a duff SD card image, someone else pointed me to a working one.
This is the link I was given: https://github.com/tomm/popup-mos
Once I had this going, I was able to get it booting into Basic and running a ran one of the many demos. However, it took a bit of doing, as I’d also forgotten that BBC Basic needs everything in upper case…. Oh how did we put up with that stuff!! Still, we used to type everything in upper case back then, so we never hit these problems – Oh well.
I also managed to get an emulator which will make life much simpler for developing. While I have put in a FlashAir card to the machine – using a MicroSD->SD ribbon cable, I haven’t got the WIFI part working yet, and you don’t really want to have to copy over and manually load things each time. So having an emulator autorun your code is a huge plus to your work flow.
The next thing I needed to do, was to get some way of editing all this on the PC… so that’s next.