4. PRODUCING ROM SOFTWARE

A special feature of Romlt is its ability to generate the protocol necessary for putting programs or data into Rom in the so-called Rom filing system format. If an Eprom is blown following this format, it may be used in any BBC machine regardless of whether Romlt is fitted or not, and it will behave in exactly the same way as the Ram in the RaFS from which it was generated -except of course, that it cannot be written to and, more importantly, it will not be erased when you turn your machine off.

This opens up the possibility of users romming their favourite software, either for their own use or for the use of others. If you do not have an Eprom blower, you may use the special Eprom blowing service operated by Beebugsoft for registered users of Romlt. For details of this service, see your Romlt registration card, or telephone Beebugsoft on 0727 40303.

Suppose that you have created a piece of software that you wish to put onto Eprom. The first stage is to thoroughly test and debug it. When you have done this you should save your program to the RaFS. To do this type:

*RAM RETURN
SAVE "MYPROG" RETURN

Where "MYPROG" is the filename that you have chosen.

For the moment we will assume that you wish the Eprom to hold just the program "MYPROG". If you wished it to contain additional programs, these should now be saved to RaFS. Also any of the special options such as the !TITLE, !BOOT, !HELP and file locking options (see *RESTRICT in section 6) should also be set up at this point. But once again we will assume for the moment that these are not required.

Once the RaFS Ram contains all that the proposed Eprom is to contain, you proceed in one of two ways depending on whether you are going to blow the Eprom yourself, or whether you are preparing a disc or tape to send to us to Rom for you.

If you are preparing a disc you should use the following:

*BLOCK R DISC MYROM RETURN

Cassette users should type:

*BLOCK R TAPE MYROM RETURN

Where "MYROM" is the filename of the disc (or cassette) version of your Rom. This should be sent to Beebugsoft with your registration number, and the appropriate fee.

If you are going to blow the Eprom yourself, you first need to know whether your particular blower requires any unused bytes to be in the form FF hex. If so, issue the following command:

*PAD RETURN

Even if it does not, it will do no harm to issue a call to *PAD.

Next you will need to relocate the contents of the RaFS into the Beeb's own workspace where your Eprom blower can copy it. To do this type:

*BLOCK R M <page> RETURN

where <page> signifies the top two bytes of the page boundary address in hex of the start of the workspace which is to carry the relocated code. Disc users will probably relocate to &1900, and will use:

*BLOCK R M 19 RETURN

By the same token, cassette users will probably use &0E00 (call *BLOCK R M 0E); but you are advised to consult the operating instructions for your blower on this point.

Once the configured code is in the correct area of memory, you can blow your Eprom exactly as instructed in your Eprom programmer manual.

Once the Eprom is programmed, you can plug it into one of the sideways Rom sockets, and autoboot it with SHIFT R BREAK (see * BOOT), or by calling up the Rom filing system with *ROM, and then using LOAD, *LOAD or CHAIN as appropriate.

You will discover that you can access your rommed software after a *RAM or a *ROM call. The RaFS supplied by Romlt has all the necessary routines to control the Rom. If the RaFS is not fitted in the machine in which your newly created Eprom is to be used, you may activate it with *ROM (pressing SHIFT R BREAK has the same effect). This calls up the so-called Rom filing system which Acorn have written into the Beeb's operating system.

To check that your Rom is correctly installed, you could catalogue the Rom (or Ram) filing system as follows:

*RAM RETURN
*CAT RETURN

This will list all the filenames of the files stored in RFS and RaFS format. If you have more than one Rom or Ram used in this way, you will see that the filenames are grouped together in blocks on the screen. Each block represents one Rom or Ram.

If on performing a *CAT you discover groups of filenames that you did not expect, it may be that you have in your machine one of the few commercial Roms (such as WordEase) which make use of the RFS format. In this case you must be careful not to set up auto-boot options in your own Roms which may prevent aother Rom from booting up correctly (especially when the latter is placed in a lower priority socket than your own).