This page documents the commands required to get a default of no name for new directories and colour the delete command red in Filer menus for various versions of RISC OS. They require the ROMPatch module (ideally 0.10) and so need versions of RISC OS of 4 or above.

For Pre-Select versions, this module is available in the RISC OS 4 Patch 5 archive from RISCOS Ltd. Just merge the System inside the update with your current one. I also then recommend you get hold of Darren Salt’s RISC OS 4 patch v5 patch which can include the no name directories option, along with other useful enhancements.

With 4.0x versions, I recommend you add any ROMPatch commands to the end of Boot:Choices.Boot.PreDesk.!!ROMPatch to keep all the patches together and ensure the ROMPatch module has been loaded. If you are using the Select boot sequence and no softload then add them to the end of Boot:Utils.RO4Patches.!Run instead.

If you are using Select, put them in an obey file somewhere in Boot$ToBeLoaded (probably Boot:Choices.Users.Single.Boot.PreDesk), perhaps called ~ROMPatch. Put it somewhere you'll remember so you can update it for future ROM builds and all should be fine.

Patches available:

Select 3i4 Adjust 1i2 Select 3i3 Select 3i2 Select 3i1 Select 2i3 Select 2i1 Select 1i9 Select 1i5 Select 1i3 Select 1i1 RISC OS 4.02

I’ll try to keep this page updated for future ROM images (which will most likely be cut and pasted from MakePatches. If I have not seen a particular release of RISC OS then any patches here for that release will be marked untested. I no longer use the TaskWindow patch as I prefer the responsiveness to overall timesaving.

The correct way to do this is to fly through ROM looking for the relevant module and then look for the appropriate unique sequence containing the instruction. This will save looking for the nth occurence of the instruction instead. This then avoids gotchas when n changes between ROM images as in Select 3 where the Delete entry became the 49th entry rather than 48th.

4.39 Kernel 6.80 (Select 3i4)

RMEnsure ROMPatch 0.10 RMLoad Boot:Utils.RO4Patches.ROMPatch
| Highlight delete option red in filer windows
X ROMPatch &3A10E6C &07000121 &0B000121
| This line gives a null entry in the "New Directory" filer menu window
X ROMPatch &3A0C5A0 &69440079 &69000079
| Faster TaskWindows (at the expense of responsiveness)
X ROMPatch &3AB081C &EB000243 &E1A00000

4.39 Kernel 6.77 (Adjust 1i2)

(untested, submitted by Mark Frazer)
RMEnsure ROMPatch 0.10 RMLoad Boot:Utils.RO4Patches.ROMPatch
| Highlight delete option red in filer windows
X ROMPatch &396DAAC &07000121 &0B000121
| This line gives a null entry in the "New Directory" filer menu window
X ROMPatch &39691E0 &69440079 &69000079

4.37 Kernel 6.52 (Select 3i3)

RMEnsure ROMPatch 0.10 RMLoad Boot:Utils.RO4Patches.ROMPatch
| Highlight delete option red in filer windows
X ROMPatch &3A32184 &07000121 &0B000121
| This line gives a null entry in the "New Directory" filer menu window
X ROMPatch &3A2D900 &69440079 &69000079

4.37 (Select 3i2)

RMEnsure ROMPatch 0.10 RMLoad Boot:Utils.RO4Patches.ROMPatch
| Highlight delete option red in filer windows
X ROMPatch &3A3C218 &07000121 &0B000121
| This line gives a null entry in the "New Directory" filer menu window
X ROMPatch &3A37994 &69440079 &69000079

4.36 (Select 3i1)

RMEnsure ROMPatch 0.10 RMLoad Boot:Utils.RO4Patches.ROMPatch
| Highlight delete option red in filer windows
X ROMPatch &3A2FA1C &07000121 &0B000121
| This line gives a null entry in the "New Directory" filer menu window
X ROMPatch &3A2B350 &69440079 &69000079
| Faster TaskWindows
ROMPatch &03AD13E4 &EB000237 &E1A00000

4.33 (Select 2i3)

RMEnsure ROMPatch 0.10 RMLoad Boot:Utils.RO4Patches.ROMPatch
| Highlight delete option red in filer windows
X ROMPatch &39FD4DC &07000121 &0B000121
| This line gives a null entry in the "New Directory" filer menu window
X ROMPatch &39F93CC &69440079 &69000079
| Faster TaskWindows
X ROMPatch &3A9B748 &EB000237 &E1A00000

4.32 (Select 2i1)

RMEnsure ROMPatch 0.10 RMLoad Boot:Utils.RO4Patches.ROMPatch
| Highlight delete option red in filer windows
X ROMPatch &39FD33C &07000121 &0B000121
| This line gives a null entry in the "New Directory" filer menu window
X ROMPatch &39F922C &69440079 &69000079
| Faster Taskwindows
X ROMPatch &3A9B5B4 &EB000237 &E1A00000

4.29 (Select 1i9)

RMEnsure ROMPatch 0.10 RMLoad Boot:Utils.RO4Patches.ROMPatch
| Highlight delete option red in filer windows
X ROMPatch &39F6BBC &07000121 &0B000121
| This line gives a null entry in the "New Directory" filer menu window
X ROMPatch &39F2B44 &69440079 &69000079
| Faster Taskwindows
X ROMPatch &3A9185C &EB000237 &E1A00000

4.28 (Select 1i5)

RMEnsure ROMPatch 0.10 RMLoad Boot:Utils.RO4Patches.ROMPatch
| Highlight delete option red in filer windows
X ROMPatch &39DC9A4 &07000121 &0B000121
| This line gives a null entry in the "New Directory" filer menu window
X ROMPatch &39D8930 &69440079 &69000079

4.27 (Select 1i3)

RMEnsure ROMPatch 0.10 RMLoad Boot:Utils.RO4Patches.ROMPatch
| Highlight delete option red in filer windows
X ROMPatch &39D5EF0 &07000121 &0B000121
| This line gives a null entry in the "New Directory" filer menu window
X ROMPatch &39D1E7C &69440079 &69000079

4.24 (Select 1i1)

RMEnsure ROMPatch 0.10 RMLoad Boot:Utils.RO4Patches.ROMPatch
| Highlight delete option red in filer windows
X ROMPatch &39D553C &07000121 &0B000121
| This line gives a null entry in the "New Directory" filer menu window
X ROMPatch &39D14CC &69440079 &69000079

4.02

| Highlight delete option red in filer menu
ROMPatch &39CED38 &07000121 &0B000121
| This line gives a null entry in the "New Directory" filer menu window
ROMPatch &39CB4A0 &69440079 &69000079

Details

Red delete

Turning Delete red changes the following code sequence concerning MT12 in Filer’s Messages file:
MT12 : 3231544D : EORCCS R5,R1,#&4D000000
.... : 00000000 : ANDEQ R0,R0,R0
.... : 00000000 : ANDEQ R0,R0,R0
.... : 00000000 : ANDEQ R0,R0,R0
!... : 07000121 : STREQ R0,[R0,-R1,LSR #2]
so that it ends in
!... : 0B000121 : BLEQ &00000490 (This number may change but the Word value is correct).

This technique also works for RISC OS 5 and could be combined with *MemoryI and *MemoryA to patch its ROM Filer (if you unprotect the ROM). I am using a suitably altered version of Filer 2.10 (which came as a beta softload) on RISC OS 5.08.

Faster Taskwindows

The ‘Faster Taskwindows’ patch was described in comp.sys.acorn.programmer and the original thread is available from Google Groups. This is referenced by message-id so shouldn’t break like the original link I put here. I have tended not to show it on this page as I’m less convinced of its usefulness in current releases of Select versus the delay it introduces before output is shown. It is, unfortunately, an all or nothing approach.

Making Patches

I am now using a proglet based on the proglet suggested by Rob Davison to find the addresses and it will save a lot of effort. Thanks to Frits Polak for reminding me about it. I've finally put a version together that finds and displays all the appropriate addresses, giving a handy cut and paste bit at the end. I kept doing stupid things with my counting which is why it took so long to stick up MakePatches (734 bytes). It's just a basic file (really a text file typed as BASIC) in a zip archive. [Detached signature]

I am looking at updating/correcting it (strictly it will be an update of Philip Ludlam’s version of the proglet, using Functions) to do the more intelligent searching, possibly based around David Ruck’s patch to allow an earlier version of Select to softload the 32-bit SharedCLibrary. We shall see. It could be fun to turn it into a Configure plugin.

Masochist that I was, I used to take a dump of the memory from &3800000 to &3c00000 and look at it in Zap's Word view. I then dumped it to text and used sed s/:.*// to strip away all but the addresses and contents, searched for the original contents and then tested them out. Using my method, the first patch is the 48th address containing 07000121 in RISC OS 4.27 until 4.33 and the 49th from 4.36 onwards (so far), the second patch is the second and last address containing 69440079, and the third patch is the third of four addresses containing EB000237 (only confirmed for 4.29 and 4.32). You can all point and laugh now.

Thanks to David Briggs reminding me about the X utility, you should be able to put the obey file anywhere without it interrupting the boot sequence and skipping subsequent files in PreDesk during soft resets. Newer versions of ROMPatch, 0.15 at least, also have a -noerror switch which could be used instead.

[BACK] Back to the main index page