Re: the language that begat C
Oh yes, we all called it pling. In BBC basic of course, the address was a byte address by the unit of transfer was a 4-byte integer, right?
As for tracking down the sideways ROM release I doubt very much that it was a commercial. Acornsoft did publish the basic compiler and full runtime, and two additional modules for floating point math(s) and for generating standalone and rommable code.
The brains behind the product was John Richards who founded Richards Computer Produce in Blewbury, Oxfordshire, near Didcot. Chris Jobson was the first employee and they ported the compiler and runtime first to Z80 CP/M systems and then to 6502 and the Beeb. The Beeb version was a modest success: ROM had the CINTCODE runtime (the VM) an a standard runtime library to encapsulate BBC MOS calls, and RAM-based file system, and a simple version of we would now call dynamic linking. The single disk contained the multi-pass compiler, assembler, a screen editor and a debugger, which was quite an amazing setup for 1984. You could even use the compiler with a cassette tape filing system if you were a masochist with time on your hands, but it was more sane to have two 80-track drivers or whatever since there wasn't much room to spare for source code on an single sided 100K disk.
I applied for a job there in 85, but declined John's offer at the time. After I notified him about a bug in the assembler he wrote back graciously sending a bug fixed version and a new job offer. I worked for several years on Reuters based products. John was a very savvy businessman as well as being techie, a combination I now know to be rare.
The sideways RAM and ROM thing was developed for a rack mount version of the Beeb that Acorn built for Reuters around the time of the stock market "Big Bang". RCP (Chris Jobson as I recall) wrote a modified runtime with "ISE" or in-situ execution. Word addresses < 32K mapped onto the native 6502 memory map. Addresses with the top bit set, in certain cases like global vector calls, were mapped to special case code.
GLOBAL $( Foo:42 $)
LET someproc () BE $(
foo(99)
$)
Would grab Foo from the global vector and map it to an entry point in a sideways ROM. Like overlays but without having to manually load the code into RAM. There was a "build ROM" tool and we spent many happy hours rearranging each hunk of CINTCODE to fit into 5 ROM images.
Bottom line- fantastically neat implementation, but internal only. If the dot-matrix printout of the user guides for the Reuters stuff survive after nearly 40 years I'd be amazed. You could seek out RCP or its successor companies. They were in Didcot about 15 years ago, have not been in touch since then. I doubt anyone there will remember me not least because I changed my surname on marriage. I hope that helps.