The majority of commands found in Romlt are used to implement a new filing system known as the Ram filing system, or RaFS. This filing system works either in sideways Ram (if fitted), or directly into a reserved area in user Ram.
The structure of this filing system owes much to the disc filing systems employed by the BBC micro; and you may look on the RaFS as providing an alternative filing system to cassette or disc, on which you can save and load programs and data, and perform other allied tasks; hence the term "Silicon Disc".
You will find in fact that all of the commands used with the cassette filing system will also operate within the environment of the RaFS. These are summarised below, and the user is referred to the User Guide for descriptions of each, since each works with the RaFS in the same way as described there. As a further guide, you are also referred to appendix (ii) which gives User Guide page references, and some additional notes.
BGET# BPUT# *CAT CHAIN CLOSE# EOF# *EXEC EXT# INPUT# LOAD *LOAD OPENIN OPENOUT OPENUP *OPT PRINT# PTR# *RUN SAVE *SAVE
If your machine has a DFS (disc filing system) fitted you will find that there are four extra DFS commands which may be used with the RaFS. These are:
*BUILD *DUMP *LIST *TYPE
These are also treated in appendix (iii).
Further to this Romlt provides an extensive set of commands for use with the RaFS. These latter are treated in detail in section 6 of this manual in an alphabetical sequence. Many are also treated in the foregoing sections dealing with the various applications of Romlt. They are listed here for reference:
*ACCESS *APPEND *BLOCK *DELETE *ENABLE *FILE *INFO *MEND *OVERWRITE *RBASIC *RBOOT *RELOAD *RENAME *RESTRICT *REXEC *RHELP *RTITLE *SNAP *SPACE *UNWIPE *WIPE
For every one of the three groups of commands described above to work on the RaFS, the command "RAM (or one of its variants) must have been issued prior to their use, and must not. have been cancelled by calls to any other filing system (eg *DISC etc), or by pressing BREAK.
If the RaFS is not active when any of these commands are called, the first two groups will operate as they would normally do without Romlt installed, while commands in the last group will not be recognised.
In this section we will work through some of the RaFS commands to give you a feel for the way in which they operate, and to show you how to get "instant" results.
As you will soon discover, the RaFS is very easy to use. This is because it behaves just like other filing systems on the BBC micro with which users will already be familiar.
First of all switch on your machine, and select the RaFS by issuing the command:
*RAM RETURN
or by using one of its variants, *RAM+ or *RAM-, (treated in section 6) if you have no sideways Ram fitted in your machine.
This will produce a message giving the amount of free memory available to the RaFS.
Now type in a few program lines. If you save your program as usual, it will be saved not to cassette or disc but to the silicon disc. Type for example:
SAVE"MYPROG" RETURN
The RaFS (like the cassette filing system) allows filenames of up to 10 characters, but does not support directories of the kind implemented on the DFS.
Having saved "MYPROG" to the silicon disc, you can catalogue the disc with:
*CAT RETURN
or
*. RETURN
and you should see that your program now resides in the RaFS Ram. Just to prove it you could clear the Basic workspace with:
NEW RETURN
Then load your program back in using:
LOAD"MYPROG" RETURN
If you type:
LIST RETURN
you should find that the program has been loaded back into user memory. Alternatively you will find that you can also use CHAIN to load and run your program, just as from cassette or disc. To do this type:
CHAIN"MYPROG" RETURN
You can save any number of Basic programs using the SAVE command as described above, the only limit being the total amount of Ram available to the RaFS. To find out how much free memory remains, you can use the *SPACE command. Just type:
*SPACE RETURN
More detailed information may be obtained by using the *INFO command, which operates in much the same way as with the DFS. Type:
*INFO RETURN
or
*IN. RETURN
for short. Having done this you should get a display that looks something like this:
RAM FILING SYSTEM (RaFS) | |||
!BOOT | code: | NO | |
SOCKET: F 16K | !HELP | code: | NO |
MEMORY: &8000-&BFFF | !TITLE | code: | NO |
End of RAM at................... | 805C | ||
Free space in RaFS...... (16291) | 3FA3 |
Do not worry if all this does not mean a lot to you now. The *INFO command is simply giving you information on the RaFS, and the information given shows you the number of the socket containing the sideways Ram, it's length (whether 8 or 16K) and memory map, as well as the number of bytes available to you in the RaFS, and the address at which code in sideways Ram ends. The !BOOT, !TITLE and !HELP code messages serve to indicate whether or not three special features of Romlt have been initialised.
A further way of getting information about files stored in the RaFS is to type:
*OPT1,2 RETURN
*CAT RETURN
The user is referred to the User Guide for a full explanation. OPT1,2 also gives information when saving and loading files. Its effect may be turned off with:
*OPT RETURN
Returning to our example, you may like to experiment with saving and loading further programs on the RaFS. If you wish to delete any saved program, the command *DELETE will achieve this. Thus to delete the program "MYPROG", just type:
*DELETE"MYPROG" RETURN
A similar command, *WIPE, is used to clear the whole RaFS area - though if you change your mind before saving new programs to the wiped memory, you can use *UNWIPE to undo its effects.
Because the action of *WIPE is so drastic, it must, as a precaution, first be enabled with *ENABLE (or *EN.). So to wipe your RaFS Ram, proceed as follows:
*EN. RETURN
*WIPE RETURN
In common with the DFS the RaFS also provides a Rename facility. If you have saved a program called "MYPROG", you can change its name to "NEWNAME" as follows:
*RENAME MYPROG NEWNAME RETURN
Program and data files may also be locked to prevent accidental erasure. To lock "MYPROG", type the following:
*ACCESS MYPROG L RETURN
If you now catalogue the silicon disc, you will see that there is a letter "L" adjacent to the filename "MYPROG".
All attempts to Rename, overwrite or delete this file in any way except using the global *WIPE command, will produce the message:
FILE LOCKED
To unlock the file, type:
*ACCESS MYPROG RETURN
You may have noticed earlier that as you load programs in from the RaFS, a number of things appear on the screen. The words Searching and Loading followed by the program title MYPROG will have appeard, just as when loading a program from cassette. A block count is also printed, though if you have a very short program, you may not notice this. There will also be a beep when loading is complete.
If you wish to disable these visual and audio signals, just enter the following:
*OPT1,0 RETURN
Pressing BREAK will cancel the effect of the OPT command, as will typing:
*OPT RETURN
To obtain more detailed loading information, you may like to try using *OPT1,2 before loading a program.
It is suggested that you experiment further with the general RaFS commands provided by Romlt. To assist you, we list below a collection of the most general commands with a brief description. Full details on each are given in section 6 of this manual, and a full command summary appears in appendix (vi). You are also urged to experiment with the use of the cassette filing system commands. These are listed with notes in appendix (ii).
*ACCESS |
Permits locking and unlocking of files |
*APPEND |
Allows storage of more than one file with same filename |
*BLOCK |
Transfers a block (8 or 16K) to or from RaFS Ram |
*DELETE |
Deletes a file |
*ENABLE |
Used with *WIPE and *BUFFER |
*FILE |
Copy a file to or from RaFS Ram |
*INFO |
Information on RaFS Roms and Ram |
*MEND |
Mend broken files |
*OVERWRITE |
Cancel the effect of *APPEND |
*RBASIC |
Used in connection with *RESTRICT |
*RBOOT |
Used to enable BOOT option |
*RELOAD |
Change the load address of a file |
*RENAME |
Rename a file |
*RESTRICT |
Enable copy-protection |
*REXEC |
Change execution address of a file |
*RHELP |
Used to enable HELP option |
*RTITLE |
Used to enable TITLE option |
*SNAP |
Activate auto-screen-dump |
*SPACE |
Return space remaining on RaFS Rom or Ram |
*UNWIPE |
Reverse the effect of *WIPE |
*WIPE |
Wipe the whole RaFS Ram |