Page 1 of 1

Software for Rom/Ram boards

Posted: Thu Sep 12, 2019 9:37 pm
by gtoal
Some years back my friend Fred King and I produced a Ram/Rom board for the BBC Micro that we sold under the trading name of "Edinburgh Software Products". Acorn User adopted it as their in-house board which gave us some free advertising, though we never made much money on it. It was a great experience though and taught us quite a bit about running a small business.

I recently found the software that we had been supplying with the boards. Disk1 below was the original software; Disk2 was a later addition when we added things like battery backup to the ram slots; and Contrib was software that was given to us by a user, John Robinson, who was a school kid at the time.

I actually have quite a few of these boards in my shed that were never sold.

The code in Disk2 was actually genuinely useful, because it used a timer to copy the Beeb's memory and state into battery backed sideways ram, which it could restore and in most cases (unless you had files open for example) would allow you to pick up exactly where you left off. An alternative to the timer mechanism was to press ^Z which would save the entire memory also.

John's software was primarily a lookalike rom to make a standard beeb behave more like a Master.

I've decoded most files to have a .txt extension so you can browse them on the web:

http://gtoal.com/bbc/ESP/

Code: Select all

Disk1:
 Advert         B.DisAsm.txt    B.MakeRom       B.Mode7_2.inf   B.Read       B.RomLoad.inf   B.Simul8D.txt   Menu       ReadMe.inf    RomLoad.txt
 Advert.inf     B.DumpHex       B.MakeRom.inf   B.Mode7_2.txt   B.Read.inf   B.RomLoad.txt   B.Speech        Menu.inf   ReadMe.txt
 B.DisAsm       B.DumpHex.inf   B.MakeRom.txt  '!BOOT'          B.Read.txt   B.Simul8D       B.Speech.inf    Menu.txt   RomLoad
 B.DisAsm.inf   B.DumpHex.txt   B.Mode7_2      '!BOOT.inf'      B.RomLoad    B.Simul8D.inf   B.Speech.txt    ReadMe     RomLoad.inf

Disk2:
 Auto       B.Auto.inf   B.Backup.inf   B.CtrlZ.inf   B.FNTime.inf   B.Install.inf   CtrlZ.inf     R.Backup       ReadMe2.inf  '!SETUP.inf'
 Auto.inf   B.Auto.txt   B.Backup.txt   B.CtrlZ.txt   B.FNTime.txt   B.Install.txt   Install       R.Backup.inf   ReadMe2.txt  '!SETUP.txt'
 B.Auto     B.Backup     B.CtrlZ        B.FNTime      B.Install      CtrlZ           Install.inf   ReadMe2       '!SETUP'

Contrib:
 A.Break       A.BStatus.inf   A.BVarLst.txt   A.Comprs7       A.ExAll2.inf    'A.Move!13.txt'   A.Volume2       Master.inf     v.text6.inf
 A.Break.inf   A.BStatus.txt   A.CatAll2       A.Comprs7.inf   A.ExAll2.txt     A.SWRbuff        A.Volume2.inf   R.Master       v.text6.txt
 A.Break.txt   A.BVarLst       A.CatAll2.inf   A.Comprs7.txt  'A.Move!13'       A.SWRbuff.inf    A.Volume2.txt   R.Master.inf
 A.BStatus     A.BVarLst.inf   A.CatAll2.txt   A.ExAll2       'A.Move!13.inf'   A.SWRbuff.txt    Master          v.text6

Re: Software for Rom/Ram boards

Posted: Thu Sep 12, 2019 10:09 pm
by marcusjambler
I
I actually have quite a few of these boards in my shed that were never sold.
I'd be interested in one of those boards if you decide to move them on :D [-o<

Re: Software for Rom/Ram boards

Posted: Thu Sep 12, 2019 10:22 pm
by CMcDougall
I suppose 'Auld Reekie Software Products' did not go down well??!

pics of fully populated & bare boards are needed :!:

Re: Software for Rom/Ram boards

Posted: Thu Sep 12, 2019 10:52 pm
by gtoal
CMcDougall wrote:
Thu Sep 12, 2019 10:22 pm
I suppose 'Auld Reekie Software Products' did not go down well??!

pics of fully populated & bare boards are needed :!:
I guess so though just to be clear I didn't post this because I have any hope of still selling these! :-) The software ought to be usable with any board, or even emulator.

The board had 8 slots, all of which could take 32K eproms, and 2 of which took 32K static rams. We also sold a handful of those Dallas Smartwatch sockets that sat underneath the ram and provided a real time clock as well as battery backup...

One of the programs in there that I especially liked was MakeRom, which converts a disk-based binary to load from Rom. Eg you could take Snapper from the disk distro and make a sideways rom that would play the game when you type "*snapper" (or position the eprom so it boots straight into it).

Unfortunately the 'snapper in rom' was so popular that when I loaned my Beeb with Snapper installed to the student lab at Edinburgh University at one point, someone stole the entire computer!

G

Re: Software for Rom/Ram boards

Posted: Fri Sep 13, 2019 6:28 am
by tricky
Sound like a great product and poasibly the first hibernation mode. I think your right about the utility to put programs in ROM.

Re: Software for Rom/Ram boards

Posted: Fri Sep 13, 2019 9:06 am
by gtoal
tricky wrote:
Fri Sep 13, 2019 6:28 am
Sound like a great product and poasibly the first hibernation mode. I think your right about the utility to put programs in ROM.
That particular MakeRom took a plain pre-assembled binary and loaded it at a fixed address. (just to be clear, this made a single program into a language rom, not a RomFS filing system rom. Acorn had a utility that built files into a romfs, but it wasn't very popular, mainly because you had to switch filing systems before you invoked the command and usually again afterwards.) Later we came up with a modified version of the loader, but to make it work it had to be a program that you had source for: what you would do was assemble your code twice - at 2 different addresses - then our program would compare the two images, find where they differ, confirm that the difference was always the difference between the two load addresses - then it would create one of these rom images and patch it on the fly from the generated table of patchable addresses when loading to relocate the binary to PAGE. Unfortunately I think that version is lost.

G

Re: Software for Rom/Ram boards

Posted: Fri Sep 13, 2019 10:50 pm
by tricky
I make my games so that the main "exe" can be used as a ROM, it is only a small additional header to handle the *game. I also compress them using the compressor I posted. It's ~80 bytes and fast compared to most decompressors. It's not great compression but only really needs to get 16-20K small enough to fit in a ROM.
I think JGH has something similar on his beebwiki.

Re: Software for Rom/Ram boards

Posted: Fri Sep 13, 2019 11:56 pm
by davidb
I think JGH's utility is MakeRFS, and can be found on mdfs.net.

There's also CompROM by Greg Cook and my own UEF2ROM, both of which also compress the files stored in the ROM.