This months speaker was Gerph, talking about his RISC OS experiences and his new project. All mistakes and omissions in the notes are mine (apologies).
It was another well-attended meeting with 50 odd attendees dropping in. The talk was split into 5 sections
1. Background
2. What is JFPatch-as-a-service
3. How it works
4. What powers it
5. Conclusions
Background
A RISC OS architect and engineer who has been away for about 15 years. Enjoyed working with RISC OS but less interacting with the community. Doing RISC OS again because he enjoys it.
RISC OS tools are not great, testing is awful and RISC OS not good for running tests.
Other platforms get round issues with Source control, cross compiling, Managed dev, testing.
In 2016, moved to Git from CVS along with GitLab.
Had cross compiling from 2005 (32bit) so ported to 64bit Linux/MacOS.
GitLab can run automated tests.
Uses Artifactory for toolchain and running RISC OS Dev tools in a Docker container.
Tests are using custom tool and output JUnit xml.
What is JFPatch-as-a-service
In early March, Gerph was challenged to make some of the things he had been doing public. Realeasing on 1st April appealed as a non April-fool.
JFPatch is a pre-processor for BASIC assembler. It creates BASIC boilerplate from patch files and can setup module files.
The service lets you upload, build on the cloud and return the result. Similar idea to https://godbolt.org/
It can also build other languages including C and Perl.
Has converted several tools to be built automatically on Service (LineEditor, Nettle, CObey, ErrorCancel, Pico, DDEUtilsJF
Can be used via JSON API and Websockets API. There is a build client to do the heavy work (robuild-client)
Simple files are recognised by their format in the service.
A .robuild.yaml file can be used for exact control.
How it works
The service is running on AWS.
Front end is a static site.
Back end is Python.
There was a detailed slide walkthrough showing how the service worked.
With Docker running on Linux, RISC OS is running on Linux.
What powers it
RISC OS Pyromaniac powers the service.
This is a version of RISC oS designed for testing and debugging.
Early versions of RISC OS were hosted on BBC and aim to do something similar. Runs an emulation system until it hits a SWI.
IfThere tool ran on June 10th.
Pyromanic is an alternative implementation of RISC OS for non-ARM systems.
Intended for testing and prototyping.
Written in a high level language (Python) to make this possible.
Not a hardware emulation like RPCEmu or ArcEm.
Does not run Impression (or Star Fighter)
The entire presentation has been running on it, so it does do graphics display.
Lots of additional tech running in the background, like aside presentation system using Markdown.
Runs command line tools and modules which is main goal for testing.
Can use mouse and draw. No frame buffer or direct screen access.
No support for Desktop
Works with Networking (only IPv4)
Works with Drawfile rendering.
There are 240 directly configurable options.
System is really good for writing software, testing, trying things out, debugging other people's software.
Lot software spin off tech created (ie Sublime text syntax modes, hourglass modules, RISC OS alphabets in Python Codecs, tests for RISC OS APIs and tool for testing tools. changelog management system.
System runs on macOS, Linux and Windows.
Monthly release of software.
Conclusions
Managed to cover all initial goals to improve RISC OS developments.
Makes testing much easier for RISC OS code.
Lots of things could still be improved.
It has been a happy experience to create.
Afterwards, you could ask questions.
https://pyromaniac.riscos.online has lots of online resources.
This was an amazing technical talk and well worth watching in it entirety when it appears on youtube.