ROOL Forum: Recent Posts

Time for a Qemu port

Mon, 02 Oct 2023 09:41:15 -0000

QEmu also comes in a variant for lower-level virtualisation called KVM, which allows greater support for the execution of code using native execution.

IMHO, this is not a variant, but the same Qemu using KVM as a backend,

However, this requires the native system to be able to execute your code – and the Pi5 doesn’t support Aarch32 for non-user mode so privileged mode execution would not benefit from this. As the vast bulk of the OS by necessity executes in a privileged mode, the benefit here to the Pi5 is minimal.

I would say it could be true or not, since HYP mode should support 32bit. And even if it’s not the case, it’s possible to combine KVM with TCG, for example with the Cortex-A57 CPU type. But does it really work? Needs some testing. Anyway, all of this will only be possible up to Cortex-A78. Then, it’ll be TCG only.

KVM is included in standard on the current Raspberry Pi OS 64bit. So it’ll be easy to test all the options, with for example the 32bit version of Raspberry OS as a VM.

Nota: for me, RPCEmu is one option, but not the best option. Capable, but not modern. Fast, but slow on ARM Linux. Cool, but with devs reluctant to implement more integration features.

RPi5 out

Mon, 02 Oct 2023 08:06:35 -0000

But I’m sure before then someone will have come up with some sort of hack to run much of the privileged code in user mode.

99% of modules should never have run in svc mode in the first place.

Reporting information for the OS

Mon, 02 Oct 2023 07:29:27 -0000

gerph wrote:

Python version:   2.7.16 (default, Jun 19 2019, 07:40:37)

Come on, really got to sort that out! 4 years since the since Python 2 was abandoned. No excuse now Python 3.11 has eliminated the performance hit.

Python toolbox library updated

Mon, 02 Oct 2023 06:37:34 -0000

Matthew: After the chat the other day I didn’t want to just leave this unanswered, so…

First, I think you’re overwriting the parent class’s fields definition there, so you may want to append it something along these lines:

fields = UserMessage.fields + [ (“help_message”,ctypes.c_char*236) ]

That said, I tried for hours and I couldn’t get anywhere either :( No matter what I tried I always got “Message block is too big / not a multiple of 4” and weirdly I noticed when I put a character array field in it always showed as being 20 bytes more than it was expected to be. But even if I adjusted for that it was the same thing…

I ran out of time, but hopefully either Chris can come back and answer this or if I ever figure it out in the course of things I’ll let you know… I’ll probably have to revisit it later.

Hearsay 2.25.04

Mon, 02 Oct 2023 05:53:30 -0000

It fixes serial ports not working and adds setting baudrates higher than 115200 – if the device supports it.

Running at the default speed for Rockchip , 1500K.
Thanks a lot for this!

Ovation Pro: Error type 5

Sun, 01 Oct 2023 23:51:00 -0000

The text is from Windows Lotus Word Pro. Saved as RTF. I have imported it with !TransRTF 2.02. Without the JPEG picture. I put it in the text after the import and save the text as Ovation Pro file. So far so good.

After this the error message begun.

This is a good idea from you and I have copied the text into a new Document and put the JPEG picture into the text. Saving as Ovation Pro file. Seems to work with 16 million colors.


Ovation Pro: Error type 5

Sun, 01 Oct 2023 20:54:46 -0000

Sorry Micky, I can now see you have stated the version number. I missed that.

Ovation Pro: Error type 5

Sun, 01 Oct 2023 20:52:59 -0000

Unfortunately I’m away from a RISC OS computer for a week, which makes it difficult for me to test things, but may be if you could make the document available online, then others may be able to see if it loads on their systems.

If you start with an empty document and create a blank frame, then drop a jpeg into the frame – does that cause the crash?

As Rick asked earlier, are you using the latest version of Ovation Pro?
Also, have you installed any additional applets inside Ovation Pro? Applets are Ovation Pro’s ‘plug-in’ system that provide extra features. If you added any third party applets you can temporarily switch them off by opening the Applets directory inside Ovation Pro and double-click on an applet name. The name will change to end with a hyphen/minus sign ‘-’ which means it is switch off. Double click again will switch them back on. But remember that Ovation Pro needs to be quit and rerun for the changes to take effect.

Ovation Pro: Error type 5

Sun, 01 Oct 2023 20:10:55 -0000

Ovation Pro is version 2.78g.

I converted the JPEG to Tiff, Sprite type 6, same error after some scrolling.

Yes, both pictures are ok. I test it with Irfan View.

Next I save the Ovation Pro file as DDL file, close the program. Open Ovation Pro again and load the DDL file. Then I save this as Ovation Pro file. Close the program. Open Ovation Pro and load the Ovation Pro file. Same error.

The next trial is to copy picture frame, paste picture frame and then delete the old picture frame with the JPEG picture. The error message came again. Same with the Tiff picture.

Next trial is to reduce the colors from 16 million to 64 thousend. Much better.


Reporting information for the OS

Sun, 01 Oct 2023 20:09:53 -0000

The video system, the memory handler, the basic I/O (like serial) is god only knows where on each device. It’s only recently that bootloaders have started dealing with device trees on ARM. So for the older sorts of machines (as RISC OS supports), yes, there tend to be different OS images for things like the Pi and OMAP and so on, as poking around random memory locations to see what’s actually there could go wrong.

Basically, you need a layer of software to hide all that and present a standardised environment to the OS. Something to hide the hardware.

Time for a Qemu port

Sun, 01 Oct 2023 20:03:33 -0000

In my example, same host.

If you’d been dealing with two devices either side of a router/gateway then you’d need some helper config on the gateway.
When you think about it, if the subnet gateway is /24 how is a device which in MC terms is part of supposed to communicate out?
If you were connected through a Cisco router, for example, then the gateway would need a nice generic helper command for the gateway config or the MC stops at that point.

The RPCEmu NAT/routed network solution fails on that.
The older style config uses a TAP interface created to act as the other side of a bridge onto the host device interface. As I recall the setup can be a little unstable, and in some cases the config needs to be re-run after a host reboot.