Command Line
© nemo 2019-2024
✱DAs
Current version is 0.11 (21 Dec 2024) [32bit]
More useful on RO4/6 than RO5 because they have more DAs. More everything, really.
A library command that lists and analyses the Dynamic Areas in your system. It can sort by number, name or base address (where, as shown above, it shows the gaps too). And crucially it analyses the actual address space usage to illustrate just how wastefully large most DAs are.
It’s rare that a DA needs to store large things, it usually needs to store lots of small things, so there really is no need to have just one large DA reserving a huge amount of address space – reserve a much smaller size and create additional DAs if it gets full!
RO5’s “PMPs” (a large DA in a small address window) would be a reasonable solution if there was a “PMP” module for other OSes, but of course there isn’t – any feature that can only be used on one version of the OS is merely an implementation detail, not a RISC OS API (and that applied to the actions of ROLtd just as much as it now does to ROOL).
✱Vectors
Current version is 1.09 (10 Jan 2022) [32bit]
This is how stuff works, you should know.
Especially useful to developers, but everyone should be able to see how their operating system actually works. Vectors are probably the most important part of RISC OS after SWIs, but are philosophically even more important – they are what make this OS the colander it is: Completely open, mutable, and customisable. Vectors are the greatest part of RISC OS.
They’re also rather inscrutable, normally. So *Vectors will list the claimants of a vector (or all of them if you wish), with offsets into modules (if you’re disassembling them) and function names (if provided). This is also a good way of finding orphaned claimants after you’ve force-killed a module, or you’re developing one and have futzed it up.
StatusHelp
Current version is 1.02 (06 Nov 2024) [0 bit!]
Provides the missing [English] help text for the Kernel’s *Status/*Configure commands:
Baud, Boot, Caps, Data, Delay, Dir, DumpFormat, FontSize, Ignore, Language, Loud, Mode, MonitorType, MouseStep, MouseType, NoBoot, NoCaps, NoDir, NoNumLock, NoScroll, NumLock, Print, PrinterBufferSize, Quiet, RamFsSize, Repeat, RMASize, ScreenSize, Scroll, ShCaps, SpriteSize, Sync, SystemSize, TV, WimpMode
As such, it’s the largest module I’ve ever produced that contains absolutely no code whatsoever.
AutoCLIspc
The current version is 1.05 (06 Nov 2020) [32bit]
A module that improves the command line experience by making things like “*MODE0” or “*MEMORY8000” work as you intended.
On the BBC Micro you could type *FX0 without any difficulty, but in RISC OS the digits are regarded as part of the command name, so it has to go to special lengths to make that command work. AutoCLIspc extends the same leniency to all star commands.
If you type something ending in digits which does not match any built-in command, library command or runnable file, AutoCLIspc inserts a space before the digits and tries again.
New for 1.05: AutoCLIspc now also splits at quotes, fixing the asymmetry between built-in commands and library commands:
*Echo"Foo" has always worked in RISC OS , but *OnDisc"Foo" would produce a bad filename – AutoCLIspc now fixes this too.