On OS 1.2 the command:
*WIPE * R F ~C
will wipe the contents of a whole disc, including all directories, without prompting of any kind. This can sometimes be quicker than reformatting a disc to clear it. But take care not to issue the command unless you really mean it - recovering files deleted in this way is possible, but it can be hard work.
Again on OS 1.2, the command:
*COPY :0 :1 Q ~V ~P ~C R
will make a complete copy on drive 1 of the disc in drive 0, creating new directories where necessary. It has 3 possible advantages over *BACKUP. It can be much quicker (providing there are not too many files), it will work between different sized discs (*BACKUP will not), and it will not erase any files or directories already held on the destination disc.
Have you ever wondered why mode 7 takes up a massive 80K of RAM, when mode 9 for example, gets by with only 40K? The answer is that Arthur keeps two copies of the screen in this mode in order to produce flashing colours. Every second or so, the operating system switches between the two banks to create the flashing effect. Thanks to David Pilling for this information.
To save time in formatting discs, you might be tempted on occasion to use the 600K format. Be warned that all save and load operations on 600K format discs take many times longer than on 800K discs (see the timings in this month's A440 review). The reason for the excellent performance of the 800K size is that disc sectors are exactly 1K in length.
To greatly improve the volume and quality of the Archimedes sound output, it is possible to connect a lead from the headphone output at the back of the machine to the input of the audio amplifier at the rear of the colour monitor. For this you will need a phono plug for the monitor, and a 3.5 mm stereo jack plug. Either of the two stereo output channels may be used, with a 4.7k resistor in series with the lead. The earth leads should be directly connected. Once the lead is installed, you can adjust the output level with the volume control on the front panel of the monitor. Thanks to Rob Barnes for this one.
To ensure that directories are grouped together in displays of the disc catalogue (either from *CAT or from within the Desktop or the RISC User disc menu), precede the names of all directories with the character formed by Shift £. Thanks to Barry Christie for this hint.
On the model B, error numbers are in the range 0 to 255. On the Archimedes, the error number is a 32-bit word. On this system, the bottom byte of the error number gives the error type, and is compatible with BBC micro error numbers. To achieve full compatibility, you should therefore use ERR AND &FF. The top three bytes of the 32-bit error number may be used to identify which part of the system firmware caused the error (see the Reference Manual part 1 page 10). For Basic errors (though not filing system errors), the top three bytes are always zero, giving complete compatibility with the model B. Thanks to Rob Pickering for this hint.
OSWORD calls are easily made on the series one operating system. The syntax is:
SYS "OS_Word",number,address
where number is the OSWORD number, and address is the start address of the parameter block used for passing data to and from the call. There is no need for all that DIV and MOD business familiar to Model B and Master users.
In the operating system test given in last month's Hints, we used a special feature of OSBYTE calls in which, if bit 17 of the call number is set, any errors generated will cause the error number and the error message to be placed in memory, and the call return with R0 holding the start address of this information. The first four bytes of this memory block contain the error number. This is immediately followed by an ASCII string giving the error message, which is itself terminated by a zero byte. By calling OSBYTE zero with zero in R1 we caused an error to be generated, and the resultant string is thereby stored.
On the series one operating system, OSBYTE can be called using SYS "OS_Byte" in place of SYS 6 (see Hints and Tips, Issue 2). The equivalent to SYS 6+2^17 used above, is the new call SYS "XOS_Byte".
Twin is normally called from Basic with the keyword TWIN. If you call it with:
TWINO n
where n lies between 0 and 15, TWIN will be entered with any resident Basic program displayed as if it had been listed under LISTO n. A particularly useful option is TWINO 8, because this strips off the line numbers. When you return to Basic the program is then automatically renumbered. This makes moving chunks of code around within a program a very easy matter indeed.
As you may know, TWIN is (unfortunately) not supplied as a relocatable module, but as a piece of absolute code. My version runs at &40000. You can make use of its start address to avoid loading it in from disc every time. If you type:
CALL &40000
you will engage Twin - providing of course that you have previously installed it (using TWIN from Basic or *TWIN).
If the Archimedes is being used for display purposes, the keyboard can be disconnected. When the machine is switched on, the system will automatically execute the !BOOT file in the default drive. Thanks to Rob Barnes for this hint.