Software for Rom/Ram boards

discussion of beeb/electron applications, languages, utils and educational s/w
Post Reply
gtoal
Posts: 17
Joined: Sat Nov 04, 2017 2:07 am
Contact:

Software for Rom/Ram boards

Post by gtoal » Thu Sep 12, 2019 9:37 pm

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
Last edited by gtoal on Thu Sep 12, 2019 9:38 pm, edited 1 time in total.

User avatar
marcusjambler
Posts: 647
Joined: Mon May 22, 2017 11:20 am
Location: Bradford
Contact:

Re: Software for Rom/Ram boards

Post by marcusjambler » Thu Sep 12, 2019 10:09 pm

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<

User avatar
CMcDougall
Posts: 6730
Joined: Wed Feb 02, 2005 3:13 pm
Location: Shadow in a Valley of Scotland
Contact:

Re: Software for Rom/Ram boards

Post by CMcDougall » 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 :!:
ImageImageImage

gtoal
Posts: 17
Joined: Sat Nov 04, 2017 2:07 am
Contact:

Re: Software for Rom/Ram boards

Post by gtoal » Thu Sep 12, 2019 10:52 pm

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

User avatar
tricky
Posts: 3674
Joined: Tue Jun 21, 2011 8:25 am
Contact:

Re: Software for Rom/Ram boards

Post by tricky » 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.

gtoal
Posts: 17
Joined: Sat Nov 04, 2017 2:07 am
Contact:

Re: Software for Rom/Ram boards

Post by gtoal » Fri Sep 13, 2019 9:06 am

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
Last edited by gtoal on Sat Sep 14, 2019 3:56 am, edited 2 times in total.

User avatar
tricky
Posts: 3674
Joined: Tue Jun 21, 2011 8:25 am
Contact:

Re: Software for Rom/Ram boards

Post by tricky » Fri Sep 13, 2019 10:50 pm

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.
Last edited by tricky on Fri Sep 13, 2019 10:51 pm, edited 1 time in total.

User avatar
davidb
Posts: 2470
Joined: Sun Nov 11, 2007 10:11 pm
Contact:

Re: Software for Rom/Ram boards

Post by davidb » Fri Sep 13, 2019 11:56 pm

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.

Post Reply