log in | register | forums
Show:
Go:
Forums
Username:

Password:

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

Advanced search
Recent discussions
- Jason Tribbeck talks sound to ROUGOL (News:1)
- Messenger Pro hotmail settings (Gen:4)
- Upgrading your RISC OS system to 5.28 (News:4)
- Gerph talks to Rougol online (News:2)
- Free online build service for RISC OS (News:1)
- PiHard 4.0 reviewed (News:2)
- Asigning and displaying memory on screen. Help please. (Prog:3)
- Aemulor (Gen:39)
- Archive October/November edition reviewed (News:)
- ROOL updates DDE to release 30 (News:)
Related articles
- PiHard 4.0 reviewed
- ROOL updates DDE to release 30
- Archive October/November edition reviewed
- RISC OS London Show 2020
- RISC OS London 2020 talks
- Jason Tribbeck talks sound to ROUGOL
- Impression Free newsletters
- DDE 29 release from ROOL
- RISC OS Direct Videos -4. Networking
- PhotoFiler get first update in 12 years
Latest postings RSS Feeds
RSS 2.0 | 1.0 | 0.9
Atom 0.3
Misc RDF | CDF
Site Search
 
Article archives
Acorn Arcade forums: 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
 
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.
 
  Gerph talks to Rougol online
  gerph (12:43 17/11/2020)
  gerph (23:39 17/11/2020)
 
Justin Fletcher Message #124996, posted by gerph at 12:43, 17/11/2020
Member
Posts: 13
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 ]
 
Justin Fletcher Message #124997, posted by gerph at 23:39, 17/11/2020, in reply to message #124996
Member
Posts: 13
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.

[code]
*ifconfig bridge1
bridge1: flags=8863<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST> mtu 1500
inet 192.168.0.96 netmask 0xffffff00 broadcast 192.168.0.255
inet6 fe80::1ce7:7058:7c21:399b prefixlen 64
ether 3c:15:c2:db:bf:c0
[/code]

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 ]
 

Acorn Arcade forums: News and features: Gerph talks to Rougol online