A recent return to RISC OS, and what I’ve been building
I can’t quite believe it’s been nine years since I last updated this blog. I’ve kept busy with programming in the meantime, so there’s quite a bit to catch up on.
I’ve only very recently returned to RISC OS. It has already pulled me back into native C and C++, old source code, desktop applications and a few familiar debugging puzzles. Most of my recent development time, though, has been spent on web and mobile software, alongside several game projects.
A substantial part of my programming has gone into Just Starting Out, the platform I co-founded to help new professionals and businesses find their first customers. The idea is straightforward: give people somewhere to show what they can do, build trust and connect with customers looking for their services.
Making that work has involved quite a lot behind the scenes. The platform uses Flutter for the client applications, with a TypeScript and Node.js backend. The platform has launched, and there is plenty still to develop and improve.
It is satisfying work because the software has a practical purpose. A search result, a profile or a contact request may look simple on screen, but each represents a collection of decisions about data, permissions and how people will actually use the system.
Alongside that, I’ve been building Just the Break, a Breakout-style game connected with Just Starting Out. It uses Flutter and Flame, with themes based on the kinds of businesses the platform supports: plumbers, gardeners, dog groomers, photographers and others.
The idea grew from wanting to make something enjoyable that could introduce people to Just Starting Out. It has turned into a sizeable development exercise involving themed paddles, different tile behaviours, level layouts, animation, sound and a level editor. Getting a ball to bounce is a beginning. Making the game feel good, remain fair and hold someone’s attention takes rather more work. It also forms the basis of another article on ways you can make AI work for you.
I’ve also been experimenting with AI-assisted ZX Spectrum development. Using Devin, I was able to produce a playable platform game from a single prompt, complete with a TAP file. Having started programming in the home-computer era, seeing that happen was quite something.
For anyone wanting a look at the retro game work, here is Basil the Basset on itch.io.
Against that background, my return to RISC OS has been a recent change of direction. I’ve been using RPCEmu on Ubuntu to get back into the environment and revisit older software. Even getting an old Select boot running involved some detective work, eventually tracking down troublesome components including DrivePop and Decor.
On the application side, I’ve been revisiting Sourcery, an IDE-like tool for managing source code and associated resources such as images and scripts. I’ve also been working on the presentation of a Markdown editor and viewer, and a Mermaid diagram viewer. Documentation and text-based diagrams are useful companions to source code, and I’m interested in making those tools feel comfortable on the RISC OS desktop.
Database connectivity has brought me back into some more involved technical investigations. I’ve been looking at older PostgreSQL ODBC software connecting to PostgreSQL 16, considering the features an ODBC-based workbench could offer, and investigating parameter problems in C code using PostgreSQL’s embedded SQL interface.
I’ve also been reviewing how I build RISC OS applications. My previous approach included 26/32-bit-neutral code using StubsG. With the latest Acorn C/C++ DDE available, I’m looking again at runtime choices, dynamic loading and the compatibility I should aim for across RISC OS 4, 5 and 6.
A possible next step is a repeatable cloud build workflow for the existing native sources, using Devin’s environment and RPCEmu to verify the resulting applications. That is something I’m exploring, rather than a finished setup.
Across all these projects, AI has become a useful part of the development process. It helps me investigate unfamiliar territory, work through designs, prepare coding instructions and create assets. It also gives me plenty to check. A plausible answer still needs verifying, and an attractive image still needs the correct dimensions, transparency and alignment before it can serve as a game asset.
Returning to RISC OS has added another interesting thread to that work. I’m enjoying revisiting software I know while asking what I can do with it now. Whether I’m connecting an old application to a database, working on my own start-up, or getting a game running, the satisfaction is still in seeing an idea become something that works.