RISC OS Open
Safeguarding the past, present and future of RISC OS for everyone
ROOL
Home | News | Downloads | Bugs | Bounties | Forum | Documents | Photos | Contact us
Account
Forums → Announcements →

Status of RISC OS Pyromaniac

Subscribe to Status of RISC OS Pyromaniac 7 posts, 3 voices

 
Jan 23, 2023 8:54pm
Avatar Charles Ferguson (8243) 271 posts

Status of RISC OS Pyromaniac (2022)

In November 2021, I gave a presentation to ROUGOL which went into a little bit of detail about what I had been doing with RISC OS Pyromaniac over the prior year. In 2022, I didn’t do a presentation, so I decided to just write up some small notes on what I have been doing through the year.

You can find the article here.


What is RISC OS Pyromaniac?

RISC OS Pyromaniac is a reimplementation of RISC OS from scratch, written in a high level language. As a project, I’ve been working on it for about three and a half years. You can find more information about it in my presentations for previous years, and the RISC OS Pyromaniac website has more information about the system, example code and links to the open source components that were created for the project.

RISC OS Pyromaniac runs on Linux, macOS and Windows, and in the cloud. It can run either as a simple command line tool or with a full user interface…

RISC OS running on macOS

Quick summary of 2022

Here’s a very quick summary of the things that happened in 2022, if you don’t want to read all the details…

New modules

  • ADFS
  • CDFSDriver
  • CDFSSoftPyromaniac
  • CompressJPEG
  • Freeway
  • GPIO
  • InetServices
  • OwnerBanner
  • ParallelDeviceDriver
  • PyromaniacGit
  • PyromaniacWimpDebug
  • ResourceFS
  • RTCHWDS1307
  • RTCHWDS3231
  • RTCHWPCF8563
  • RTCHWPCF8583
  • ShareFS
  • Speak
  • TimerManager
  • WebColours
  • WimpSpritePool

New features

  • SysRq improvements – server, many new operations.
  • FS directory remapping.
  • Twin host editor now on *Edit, and implemented in WxWidgets text frame.
  • Much improved ANSI parsing for *PyromaniacHostCommand and *Git.
  • RTCV used.
  • Graphics videos can now be saved to multiple files, and images can be saved as PDFs.
  • Coloured debug output from *MemoryI.
  • IRQ support for TimerV.

UI features

  • Improved window resizing, and full screen on macOS.
  • Tables of system state information: graphics system, modules, dynamic areas, AMBs, tasks, system variables, FS file handles, FS statistics, registers, internet sockets, hardware timers, software timers, and interrupts.
  • Memory displays: dynamic areas, AMBs, NVRAM, and any file on the filesystem.
  • Paste from clipboard to RISC OS input buffer.
  • File explorer.

Host interface features

  • Native implementations for RISC OS features: OS_Confirm, Wimp_ReportError, Text editor, system bell.
  • IIC implementation for MCP2221, CP2112, CH341 USB devices and pigpio for Raspberry Pi interfaces.
  • OS_SerialOp implementations for static file access and directly to PySerial devices (ie most system serial ports).
  • GPIO implementation for PCF8574, MCP23008 and MCP23017 I/O expanders, MCP2221, CP2112 and CH341 USB devices, pigpio and RPi.GPIO Raspberry Pi interfaces, and pin state in WxWidgets.
  • Graphics implementations for SSD1306 OLED display and 3.5" Turing Smart Screen display and DreamCheeky LED display.
  • Internal (mocked) IIC implementations for AHT10, LM75, MCP9808, MAX30205 temperature or humidity sensors, MCP4725 DAC, DS1307, DS3231, PCF8563, PCF8583 RTCs.
  • Console output display in a window.
  • Interactive Python command line window.

Internal testing improvements

  • Mocked interfaces for a lot of previously untested components, including the physical devices for GPIO and IIC.
  • Push to raise code coverage for the tests up to 70% (briefly exceeded, until UI changes were added).

External testing done

  • Internet 7 core and support module testing.
  • Small Resolver module tests.
  • LineEditor module CI and fixes.
  • Testing against OvationPro, PrivateEye.

Other

  • Many debug and tracing improvements.
  • Many fixes!
  • More documentation in the APIs for the newly created modules, particularly PyromaniacGit.
  • Dockerfiles for manual testing using X11 to display applications from Linux with GTK and WxWidgets UI.
  • Updates to the build service and shell server periodically.
  • Changelogs now have areas that the change affected noted by each entry.
  • Periodic announcements to Twitter.

In progress or experimental

  • SpellMod module with multiple implementation back ends.
  • PCF8574/5 GPIO implementations (similar chips).
  • ADC module.
  • Joystick module.
  • PWM manager module and driver implementations.
  • Unicorn 2 support.
  • Executable code symbol retrieval.
 
Jan 23, 2023 9:16pm
Avatar David Boddie (1934) 218 posts

So much done in 2022! Congratulations!

Now how does one get hold of a version to run locally?

 
Jan 23, 2023 11:14pm
Avatar Charles Ferguson (8243) 271 posts

I’ll be happy to give you access to the sources and binaries – just drop me an email at gerph@gerph.org and I can see what’s the most appropriate way to access things for you :-)

 
Jan 23, 2023 11:21pm
Avatar Paolo Fabio Zaino (28) 1307 posts

Really well done Charles, this is getting more and more exciting every single update!

Any chance to have access to it please? I am mostly interested in using it for application debugging purposes on my Mac (M1),
so I whish to have a local installation, if that’s ok.

Cheers

 
Jan 24, 2023 12:27am
Avatar Charles Ferguson (8243) 271 posts

Any chance to have access to it please? I am mostly interested in using it for application debugging purposes on my Mac (M1), so I whish to have a local installation, if that’s ok.

I don’t have access to an M1 Mac so I haven’t got a built Unicorn for it – and I suspect getting a Python 2.7 might be tricky… but if the x64 version would work on there (I believe it has magic translation through Rosetta 2), then probably it’ll work.

In any case, invitation to the Git repository sent, and we can discuss alternatives if the M1 is a problem :-(
 
Jan 24, 2023 12:35am
Avatar Paolo Fabio Zaino (28) 1307 posts

I believe it has magic translation through Rosetta 2

correct :)

In any case, invitation to the Git repository sent

Thank you very much! :)

 
Jan 24, 2023 2:06pm
Avatar David Boddie (1934) 218 posts

I’ll be happy to give you access to the sources and binaries – just drop me an email […]

Thanks! I may take you up on that when I’ve got some time to spare. :-)

Reply

To post replies, please first log in.

Forums → Announcements →

Search forums

Social

Follow us on and

ROOL Store

Buy RISC OS Open merchandise here, including SD cards for Raspberry Pi and more.

Donate! Why?

Help ROOL make things happen – please consider donating!

RISC OS IPR

RISC OS is an Open Source operating system owned by RISC OS Developments Ltd and licensed primarily under the Apache 2.0 license.

Description

Announce and discuss new hardware and software releases.

Voices

  • Charles Ferguson (8243)
  • David Boddie (1934)
  • Paolo Fabio Zaino (28)

Options

  • Forums
  • Login
Site design © RISC OS Open Limited 2018 except where indicated
The RISC OS Open Beast theme is based on Beast's default layout

Valid XHTML 1.0  |  Valid CSS

Powered by Beast © 2006 Josh Goebel and Rick Olson
This site runs on Rails

Hosted by Arachsys