Coming soon: RISCYFORTH

When I was much younger FORTH fascinated me as an alternative interpreted language for the Z80 eight-bit processor machines I was typically using.

Compared to BASIC – the language that the Sinclair ZX80, ZX81 and Spectrum came with – FORTH was reputedly lightening fast and very powerful.

My brother and I even obtained a tape copy of somebody’s FORTH for the ZX80 and we ran it – and it certainly was fast. But it also lacked the simplicity of BASIC and the tape was soon handed back.

But I’m back on the case again, inspired by this (long out of print but widely available on the web) book – Threaded Interpretive Languages – and by the prospect of a single board RISC-V computer – the BeagleV – coming out this year.

Currently I am targeting the PK proxy kernel on the Spike Risc-V emulator for RISCYFORTH but if and when I get a real BeagleV I’ll immediately switch to that (I applied to be an early user but have heard nothing so while the signs are that the project itself is making good progress it looks like I’ll have to wait to get my hands on one.)

I struggled with getting the mechanics of RISCYFORTH right for a long time but in the last week I’ve finally started to make serious progress and it actually does things (only in immediate mode for now). The picture shows my very first success with a multi-token command line from a couple of evenings ago and it’s come on a fair bit since then.

It’s nowhere near a releasable state but it’s rapidly improving.

Why bother? Well I think it’s important that RISC-V succeeds as a disruptor of what is starting to look like an ARM monopoly and so contributing to the ecosystem of the first single board seriously affordable RISC-V device matters. And, of course, because it’s there.

Always yield to the hands-on imperative (from this classic).

Update: My brother actually thinks we borrowed somebody’s Jupiter Ace which was a Z80-based FORTH computer of a very similar size to a ZX81 – and I think he might be right.

Back from the dead (almost)

hexmon BASICThe graphic you can see here is the partially recovered code of a program I wrote thirty years ago – “hexmon” – to display chunks of ZX80 memory in hexadecimal format (at least I think that’s what it did).

I am determined to fully recover it – but as you can see it works well so far and the machine code string in the middle looks particularly good – especially as I can see it ends with C9 which I know is the Z80 “return” command.

Breadboard 81

Benkid77 ZX80 Factorial
Image via Wikipedia

Not everything about computing is on the internet.

Sometime around this point thirty years ago my brother and I went to a computer exhibition in London – “Breadboard 81”

There are a couple of references to it findable through Google. But not much.

It was a fantastic experience – but perhaps also the end of an era: the computer that feature most of all was the “UK 101” – a kit based effort with a real keyboard (unlike the ZX80 Conor and I were using).

It is impossible to describe the thrill one could get from being able to see, use and program (in either BASIC or assembler/machine code) any of these devices: everyone was a pioneer and everyone was equal. (Though this book this book captures the feel of the era that was dying even as it peaked.)

Perhaps there are others who will read this who were also there and who can share their memories of this moment… reminding me of where it even was would be a start? Olympia?