RISC OS and low vision

Modern versions of RISC OS have a function which magnifies almost everything by a scale factor of 2 without sacrificing resolution.  Middle-click the rightmost-but-one icon on the taskbar and move the mouse over the Mode option, delete any EX1 and EY1 options (if present), and add EX0 EY0 so the complete mode string will look something like X1280 Y1024 C256 EX0 EY0—then press Enter.

To ensure RISC OS is magnified on startup, open $.!Boot.Choices.Boot.Tasks, edit one of the files (in RISC OS 4 edit !Boot; in RISC OS 5 edit one of the others, or create a new file of type ‘Obey’—try ScrnSetup) and add the line WimpMode X1280 Y1024 C256 EX0 EY0 or whatever.

If you need more magnification, you can reduce the resolution, but if only one application needs to be magnified then it may be better to adjust the fonts in that application.

You can adjust the desktop font on RISC OS 4 by opening !Boot and choosing Fonts (I use Homerton.Medium). This should not be necessary on RISC OS 5.

Alternatively, use a VNC server and magnify at the client (which has the advantage that you can share a one-input monitor without using a KVM switch).

Setting the clock without NTP

If your sight condition makes it harder to look off-screen at a wall clock etc, then you might want to ensure the on-screen clock is correct. The Raspberry Pi has no battery-backed clock, and old RISC PCs can have broken batteries, so if NTP is not available then you could

1. run a Telnet server on RISC OS and have another machine telnet in and set the time, or

2. on a Raspberry Pi that dual-boots between RISC OS and Raspbian / Raspberry Pi OS, arrange for Raspbian/PiOS to save its clock to the RISC OS partition before rebooting into RISC OS (assuming you’ve arranged for the Raspbian/PiOS clock to be correct, e.g. daytime query over PPP connection from a USB modem that RISC OS wouldn’t support...)

This Python time-setting script can either run on the other machine and perform the telnet commands, or run on Raspbian/PiOS and save the clock to RISC OS on shutdown. See comments at start of the script for usage.

Python time-setting script

High contrast mode for RISC OS 4

(in RISC OS 5 this is less helpful but still works partially)

Some people prefer to have dark backgrounds and light text.  To achieve this throughout RISC OS, download my RISC OS high-contrast theme and run the HighContrast obey file.  (You can also edit the source if you need to change the colours.)  The NormalColours obey file can be used to temporarily switch back to normal colours, which you will sometimes need to do because some programs don’t work well with HighContrast.  After making each change, close and re-open any Edit windows (that way NormalColours still gives you high contrast in Edit).

RISC OS high-contrast theme

If you want you can add the line Filer_Run $.high-contrast/zip (correcting the path as appropriate) into $.!Boot.Choices.Boot.Tasks.!Boot so that the options are available on startup (you could also add the line Run $.high-contrast/zip.HighContrast if you want it to be selected by default).  Both of these rely on SparkFS being run first (so put the line late in the file).  Some applications will display differently depending on whether they are loaded before or after HighContrast.  Sometimes you will have to explicitly set the application’s foreground colour to something other than black, or change the application’s Choices.

Legal

All material © Silas S. Brown unless otherwise stated. Linux is the registered trademark of Linus Torvalds in the U.S. and other countries. Python is a trademark of the Python Software Foundation. Raspberry Pi is a trademark of the Raspberry Pi Foundation. RISC OS is a trademark of Pace Micro Technology Plc which might now have passed to RISC OS Ltd but I was unable to find definitive documentation. VNC is a registered trademark of RealVNC Limited. Windows is a registered trademark of Microsoft Corp. Any other trademarks I mentioned without realising are trademarks of their respective holders.