8-bit Software Disc Magazine (c) Duncan Webster September 1991
Issue 15 September 1991
PROGRAM DOCUMENTATION
All neccessary documentation on programs on this months disc appear
below. Programs that have not been documented usuall speak for
themselves (ie. "hallo!"). If you have a problem with any of the
programs on this months disc then please get in touch.
ADFS SECTOR EDITOR DOCUMENTATION
In the perfect world everyone makes backups of every program and file
they have on a Son-Father-Grandfather rota and they all keep at least
one copy on a different planet. However, this is not the perfect
world in which we live and files do get lost.
Recovering them is a difficult task indeed, but is impossible without
my friend and yours, the sector editor. One such proram was published
in a Beeb User Group magazine a while back, but it was of Sideways RAM
image form. For those few who don't have any SWR memory, here is a
good old BASIC version (Though I imagine that SR memory is a pretty
standard upgrade, like Second Processors and Music 5000 systems
right?).
It simulates the afore-mentioned M/C editor in many ways, though it
can not calculate FSM check digits and ends when you press ESCAPE. It
also makes use of those pretty red keys at the top of your keyboard...
f0 - Select drive
f1 - Select & read sector
f2 - Read same sector again
f3 - Redisplay the screen
f4 - Save sector
f5 - Wipe sector
I do recommend playing with this program before the time comes when
you have to use it.
----------------------------------------------------------------------
DOCUMENTION FOR CHARINE PROGRAM
Charine is a bit map character set definer. When using other such
programs I've noticed two things...
1. They all allow you to edit characters and
2. They are all in BASIC.
Though 1. is important, 2. has always resulted in a slow, sluggish
program which is not the best program to use. So Charine is machine
code. I've based it as much as possible on the character definer
supplied with the Master's Welcome disk, with several added features
which are accessed by the nice red keys at the top of your key board
fx fx + SHIFT
0 Shift left Shift right
1 Shift up Shift down
2 Flip x
3 FLip y
4 Mirror left Mirror right
5 Mirror top Mirror bottom
6 Invert Clear
7 Rotate Recover
8 Clear row Fill row
9 Clear column Fill column
The other red keys, CRTL + fx & CTRL + SHIFT + fx, have been defined
to load up ASCII characters outside the keyboard range (This is a
rather useless feature if you ask me).
Most of the keys are self reversing and will not corrupt the character
(eg. If you accidently press Invert, then just press it again).
However, mirroring, a technique that had me flusted for a while, will,
so I've included a recover command. This will remember the previous
character and swap it with the current character. Pressing this again
will give you the character you had before you pressed Recover the
first time (ie. it is self reversing, if you see what I mean).
COPY to save, as usual, and the font will be saved into the standard
machine code file. To load the font in just type *<Filename> in
future, jus like with the Acorn Definer.
We are also planning to write a Master only SWR image of this program.
If you have any ideas for extra features send them to either 8-bit
software (if they're not too busy collecting their GCSE results) of
fonts too.
----------------------------------------------------------------------
Actually I am NOT awaiting GCSE results - I took my 'O LEVELS' over 5
years ago, which might give you the indication that I am not as young
as I write - see you at the show if I can make it? ..... Duncan.
----------------------------------------------------------------------
DOCUMENTATION FOR UTILITY ROM (Master Computers Only)
The UtilRom was designed and written by B&B Software. It is suitable
for the BBC MASTER 128 computer only. The UtilRom receives its
instructions via *COMMANDs which can be used while in BASIC, VIEW etc.
Some of the most useful features are:-
Saving & Loading of BASIC memory to sideways ROM.
Saving & Loading of CMOS RAM contents.
Sideways ROM saving.
Our Address Is:
B&B Software
3 Grey Gables
Meadowfield
Durham
DH7 8QW.
The UtilRom Command Summary
===========================
AS No Abbr.
ASCII <String> ASC.
BITS <Character> BI.
BUFFER <Buffer>,<Char> No Abbr.
BVERIFY (Filename) No Abbr.
CASE U/M/L No Abbr.
CLM (Y) No Abbr.
CMOSDEF (M) No Abbr.
CMOSLOAD (Filename) No Abbr.
CMOSSAVE (Filename) No Abbr.
COMPACT (Drive) COM.
CURSOR FLASH/STEADY/OFF CU.
ESCAPE ON/OFF ESC.
FCLEAR (Y) FCL.
FLIPX No Abbr.
FLIPY No Abbr.
FLUSH <Buffer> No Abbr.
FS No Abbr.
LOCK (Directory) No Abbr.
PROTECT (Drive) PRO.
QCAT (Drive) Q.
RSAVE RSA.
SLOAD SLO.
SOUND ON/OFF SO.
SSAVE SSA.
STAMP No Abbr.
WIERD No Abbr.
WIPE No Abbr.
AS
==
This command is an implementation of the archimedes SAVE. The program
will take the filename from the first line and then save the basic
program under this name. The First line must be of the format:
REM >filename
If it is not, the UtilRom will display an error message.
ASCII
=====
This command must be followed by a string. The string will be printed
together with its ASCII codes.
BITS
====
This unusual command displays the current definition of the entered
character alongside its codes in decimal, hex and binary.
BUFFER
======
This command will insert a character code into a certain buffer. For
buffer numbers see P.199 of the Welcome Guide.
BVERIFY
=======
This command will check the current BASIC program against the file on
disk. If the filename is omitted, you will be prompted for it.
CASE
====
This command provides an easy method of changing the caps/shift lock
status from software. U - Upper Case/Upper Case with <SHIFT> M - Upper
Case/Lower Case with <SHIFT> L - Lower Case/Upper Case with <SHIFT>
CLM
===
This causes the entire computer memory (excluding sideways RAM) to be
cleared. As this is a potentially dangerous command, you will be asked
if you are sure; unless you add the optional Y parameter.
CMOSDEF
=======
This command returns the CMOS RAM settings to a default state. The
optional M parameter causes the configuration to be set to that on
p.244 of the Welcome Guide.
CMOSLOAD
========
This command provides a way of loading in previously saved CMOS RAM
settings. If the filename is ommited, you will be prompted for it.
CMOSSAVE
========
This command provides a way of saving CMOS RAM settings for reloading
later. If the filename is ommited, you will be prompted for it.
COMPACT
=======
This is a replacement for the standard compact command. The
difference is that the UtilRom first verifies the disk thus ensuring
that no data is moved onto a corrupted sector.
CURSOR
======
This command allows you to change the cursor. The parameters are self
explanatory.
ESCAPE
======
Using this command, one can disable and subsequently re-enable the
<ESCAPE> key.
FCLEAR
======
This command clears the function key definitions. The addition of the
Y parameter, disables the 'are you sure' message.
FLIPX & FLIPY
=============
These two commands 'flip' the character set about the X or Y axis.
FLUSH
=====
This command provides a means of flushing any buffer. For a list of
buffer numbers see p.199 of the Welcome Guide.
FS
==
This will display the name of the current filing system.
LOCK
====
Using this command, files in a specified directory can be locked and
unlocked by simply typing Y or N.
PROTECT
=======
This command will prevent the disk in the drive from being catalogued.
Although this is by no means a complete protection, it will stop most
amateur hackers. Repeating the command will reverse the action (i.e.
un-protect the disk.)
QCAT
====
This is one of the most useful commands in the ROM. It will display
the catalogue, bytes free and FS map for the current or specified
drive.
RSAVE
=====
This command allows you to save a ROM from any of the 15 banks.
SLOAD
=====
Load BASIC memory from sideways RAM.
SOUND
=====
This command allows you to enable or disable the computers speaker.
SSAVE
=====
Save Basic memory to sideways RAM.
STAMP
=====
This command inserts the current date and time onto line 11 of a BASIC
program. Line 11 is used because it is assumed that line 10 is being
used for the filename.
WIERD
=====
?????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????
?????????????????????????????????????????????????????????
WIPE
====
This adds a *WIPE command to the ADFS.