log in | register | forums


User accounts
Register new account
Forgot password
Forum stats
List of members
Search the forums

Advanced search
Recent discussions
- Will we see 5.30 released at Wakefield show? (News:)
- Prizes for Wakefield Show announced (News:)
- Heretic update from R-Comp (News:)
- Wakefield Show 2024 is next Saturday (News:)
- Git client updated to 0.07 (News:2)
- Archive Edition 27:1 reviewed (News:)
- Rougol April 2024 meeting on monday is Anniversary time (News:1)
- WROCC April 2024 meeting o...changes to our phone lines (News:1)
- April developer 'fireside' chat is on saturday night (News:)
- March 2024 News Summary (News:4)
Related articles
- WROCC Newsletter Volume 41:11 reviewed
- Drag'n'Drop 13i2 edition reviewed
- Timerun from Amcog games released
- RISCOSbits updates FAST ROM
- WROCC Newsletter Volume 41:10 reviewed
- The Book of Draw Stuff reviewed
- WROCC Newsletter Volume 41:9 reviewed
- WROCC Newsletter Volume 41:8 reviewed
- Drag'n'Drop 13i1 edition reviewed
- CachesFS and Iris update from WROCC November meeting
Latest postings RSS Feeds
RSS 2.0 | 1.0 | 0.9
Atom 0.3
Misc RDF | CDF
View on Mastodon
Site Search
Article archives
The Icon Bar: News and features: Gerph talks to Rougol online

Gerph talks to Rougol online

Posted by Mark Stephens on 22:30, 16/11/2020 |
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
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.
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.
  Gerph talks to Rougol online
  gerph (12:43 17/11/2020)
  gerph (23:39 17/11/2020)
  helpful (16:40 8/12/2020)
Charles Justin Ferguson Message #124996, posted by gerph at 12:43, 17/11/2020
Posts: 35
Thank you to ROUGOL for giving me the opportunity to do the talk, and to everyone there who was so supportive, and who asked interesting questions.

For anyone who is interested, Mark pointed to the https://pyromaniac.riscos.online site which has a bunch of resources, including the links to open source components.

It also has a full copy of the slides and speaker notes as raw text and as PNGs, in case I was unclear at any point or just plain confused!
  ^[ Log in to reply ]
Charles Justin Ferguson Message #124997, posted by gerph at 23:39, 17/11/2020, in reply to message #124996
Posts: 35
Oh, just noticed one small thing in the notes - the networking uses the host system with a supplied Internet module.

So if your host has IPv6, you get IPv6 as well.

*ifconfig bridge1
inet netmask 0xffffff00 broadcast
inet6 fe80::1ce7:7058:7c21:399b prefixlen 64
ether 3c:15:c2:db:bf:c0

Although that's also highlighted to me that I've got a bug in the interface enumeration because there are actaully 7 IPv6 addresses on that interface on the host, but it's only showing one. Another ticket on my board <sigh>.

A small video shows IPv4 and IPV6 working - https://asciinema.org/a/dPtEHf7ItDGkxOXdYNKlp2Cyj

HOWEVER, Resolver only supports IPv4, because no definition has been created for how IPv6 should be returned from it, to the best of my knowledge.

I suspect that's where confusion lay; I may not have been clear when trying to explain the features of the networking system.

Feature summary for the network system: http://pyromaniac.riscos.online/pyromaniac/FEATURES.html#networking

[Edited by gerph at 12:55, 18/11/2020]
  ^[ Log in to reply ]
Bryan Hogan Message #125017, posted by helpful at 16:40, 8/12/2020, in reply to message #124996
Posts: 249
The recording of Gerph's wonderful talk is now available:


I highly recommend it to everyone!
  ^[ Log in to reply ]

The Icon Bar: News and features: Gerph talks to Rougol online