Does anyone know of any online references to 3rd party module SWI chunk bases.
For example.
- LZW/LZWD = 0xC0000...
- QTM = 0x47E40...
Thanks
Why do you need to know? If it's because you're writing your own module and require an unused SWI chunk, just request one from ROOL - they respond very quickly to requests.
Reversing purposes.steve3000 wrote: ↑Mon Apr 01, 2024 11:53 am Why do you need to know? If it's because you're writing your own module and require an unused SWI chunk, just request one from ROOL - they respond very quickly to requests.
From the above to examples you show, QTM has a SWI base assigned by Acorn as a module (bit 18 set, bit 19 clear), and won't clash with any other officially allocated SWI blocks. However the LZW module has a user-assigned block (bits 18 and 19 both set), this is chosen by the author of the module, and will certainly clash with other modules where their author has chosen the same SWI base.
Thanks philpem, there's some useful info in there.philpem wrote: ↑Tue Apr 02, 2024 12:52 pm There are some lists in the "barryc" RISC OS source code drops on Github:
https://github.com/barryc-ro/RiscOS_371
https://github.com/barryc-ro/RiscOS_2003
ISV-SWIs is the one you probably want - this is circa RISC OS 3.71's release: https://github.com/barryc-ro/RiscOS_371 ... r/ISV-SWIs
And the 2003 version to compare: https://github.com/barryc-ro/RiscOS_200 ... r/ISV-SWIs
These files only contain the SWI block base addresses, and obviously the 2003 one won't include blocks allocated after 2003.
SWI decoding is delegated to the module, so to find out what the SWIs actually are (or at least what they're named), you'd need a copy of the module itself.
As that range is a free-for-all, I doubt even the original developers documented their Modules.
SYS &C0FFE was a common one.... I think, as with filetypes, the user space was slimmed down drastically and a large range given over to official allocations.sirbod wrote: ↑Fri Apr 05, 2024 2:43 amAs that range is a free-for-all, I doubt even the original developers documented their Modules.
I recall quite a few games that I've debugger over the years use that range for various Modules, including Joystick, Sound, Sprites, Decompression etc. I couldn't tell you which games though.
I don't think I've ever seen that range used outside of games as utilities and Wimp apps have to use allocated ranges.
Code: Select all
$ bbcbasic
PDP11 BBC BASIC IV Version 0.45
(C) Copyright J.G.Harston 1989,2005-2024
>_
My allocations are here https://usenet.gerph.org/Allocations/Allocations.txt if that's at all useful to you.Basically any that don't have a relevant StongHelp manual associated with them.