ATOM Disc Pack ManualSection Appendix
|
The ATOM Disc Pack is a free-standing unit providing upto 92K bytes of storage on standard 5.25 inch mini floppy discs in 40-track single-sided format. It contains the following:
The unit plugs directly into the mains supply and is connected to the ~ ATOM via a 64-way socket and an attached lead with plug. The socket accepts a ribbon cable that plugs into the bus extension socket on the ATOM, giving access to the extra memory inside the Disc Pack, and allowing communication with the controller card for transfer of programs and data to and from the disc. The plug on the attached lead connects to the DC IN socket on the ATOM, providing 5V regulated power at up to 3A, and replacing the normal ATOM mains power supply.
Before the Disc Pack can be used, some simple additions must be made inside the ATOM. Buffer IC's are required for the address and data buses, with a decoder to select the external data bus when an address outside the ATOM is used. The ATOM's 5V supply regulators are no longer used and are bypassed with links. ON NO ACCOUNT should the normal 8V unregulated mains supply be used with the ATOM once these links have been fitted. A label is provided warning that the unit needs a regulated 5V supply, and this should be stuck where it is clearly visible, near the DC IN socket.
The modifications require the bus buffer pack and connector, a fine-tipped soldering iron, solder, a screwdriver and some tinned copper wire. Alternatively, they can be handled by an Acorn dealer. The steps are as follows:
IC2 81LS95
IC3 81LS95
IC4 DP8304 (equivalent to INS8208)
IC5 74LS30
If the bus buffer IC's have already been fitted - to drive an extension RAM board for example -only IC5 and the connector are required.
The Disc pack should be connected to the ATOM with the ribbon cable supplied. One end fits into the socket on the front of the Disc Pack, and the other plugs into the socket marked ACORN BUS EXTENSION (PL6) on the back of the ATOM. The cable fits either way around, but the connectors themselves are polarised and will only fit one way. The plug on the end of the attached lead is fitted into the ATOM's DC IN socket. When the Disc Pack is connected to the mains and turned on with the switch at the back, the ATOM should produce its normal start-up message and prompt on the display.
Of the 3K bytes of RAM on the controller card, the DOS uses 2K from #2000 to #27FF, leaving 1K from #3C00 to #3FFF available to the user. The DOS ROM is situated from #E000 to #EFFF.
The floppy disks used by the Atom Disk Pack are 5.25" in diameter and should be single-sided, single-density and soft sectored. They are plastic disks coated with metal oxide in the same way as magnetic tapes. Before new disks can be used on the Atom Disk Pack they must be prepared by "formatting" them. This process divides the disk up into sectors of 256 bytes each (see Section 3 ' Utility Programs' to find out about formatting the disks).
It is important that discs are handled and stored properly. Disc damage can impair or prevent data transfer and can result in loss of recorded information and even damage to the drive. The following points should be noted:
The notch on the side of the disc sleeve can be covered with a self-adhesive tab to prevent the drive writing to the disc.
The Disc Operating System (DOS) handles the creation, deletion and cataloguing of disc files on a single 5.25" disc drive. It is a 4K 1 program resident in ROM, using 2K bytes of RAM for catalogue and file buffers. The DOS replaces all functions of the ATOM Cassette Operating System and provides additional features that take advantage of the speed and random access capabilities of disc storage.
Direct commands are those entered by the user, and are concerned with the transfer of program and data files as a whole. Each is preceded by '*', which enters the DOS command line interpreter, and it can be abbreviated by entering enough characters to distinguish the command from others, followed by '.' . Filenames of up to seven characters are allowed. Where a name or other string parameter contains no spaces or" quotes, it may be entered directly. Otherwise it must be contained by " quotes, with every " in the name typed as "".
Command | Abbreviation | |
*DOS | *D. |
Enters the Disc Operating Sytem. The COS is re-entered on BREAK.
*CAT | *. |
Displays the catalogue. The first line shows the title of the disc and the current qualifier. The filenames are displayed arranged by qualifier, with '#' indicating that the file is locked.
The catalogue is read off disc unless the disc is in the 'ready' condition (still spinning), in which case it is transferred from the catalogue buffer (at #2000).
*DIR | *D. |
Reads the catalogue from disc to the "buffer but does not display it. This command is often used to wait for completion of a previous operation, since the prompt may re-appear while a transfer continues under interrupt.
*TITLE <title> | *T |
Sets the title of the disc to the first 13 characters of <title>.
*SETx |
Sets the qualifier for all subsequent operations on files to x. Operations that use existing files will only search among those created under the qualifier currently set. The default qualifier is space. When returning to the default qualifier, be sure to enter the space after the SET command.
*USEx |
Temporarily sets the qualifier to x. The system returns to the previous qualifier after the next successful operation. Two successive USE commands are equivalent to a SET.
*LOCK <name> |
Locks the named file. Locked files cannot be deleted or updated.
*UNLOCK <name> | *0. |
Unlocks the named file.
*INFO <name> | *I. |
Displays information about the named file. The format is:
qualifier: lock filename load execution length start
state address address in bytes sector
F.e.: s: # BASIC C000 C2B2 0100 0002
*MON | *M. |
Turns on messages. Subsequent file operations print out the file's information in the format of *INFO.
*NOMON | *N. |
Turns off messages.
*SAVE <name> aaaa bbbb cccc | *S. |
Creates a file. The contents of memory from aaaa to bbbb-1 are saved as the named file. If a file with the same name already exists under the current qualifier, it is deleted. The address cccc is an optional execution address and it defaults to aaaa if not supplied.
*LOAD <name > aaaa | *L. |
Loads the named file. The file is loaded into memory starting at aaaa, or at the file's start address if this is missing.
*DELETE <name> | *DE. |
Deletes the named file.
*GO aaaa , |
Executes the machine-code subroutine at aaaa. '"
*RUN <name> <string> |
Load and run the named file, using the start and execution address. <string> is transferred to memory starting at #0140 with a terminating CR, where it can be accessed by the user's program.
*EXEC | *E. |
Executes the named text file as if it had been entered at the keyboard.
The DOS redirects BASIC vectors so that commands, statements and functions that handle the transfer of programs and data to and from cassette via the COS perform their equivalent functions with disc. Unnamed files are not allowed, PTR and EXT are added to allow random access within files, and the keyboard and display can be used as input and output files respectively. Up to five files can be open simultaneously. Features such as qualifiers, messages, operate as for direct DOS commands. File handling from BASIC is discussed fully in "Atomic Theory and Practice", so only a brief summary of the facilities is given here.
LOAD -<name>- | L. |
Loads the named file into the current text space as a BASIC program. LOAD can only be used in direct mode.
SAVE -<name>- | SA. |
Saves the BASIC program in the current text space as the named file.
FIN -<name>- (function) | F. |
Opens the named file for input and returns its handle, or zero if the attempt is unsuccessful. File handle zero gives input from the keyboard.
FOUT -<name>- (function) | FO. |
Opens the named file for output and returns its handle, or zero if the attempt is unsuccessful. File handle zero gives output to the display.
PUT A,W |
Outputs the four bytes of W to the file whose handle is A..
GET A (function) | G. |
Inputs four bytes from the file whose handle is A, and returns an integer.
BPUT A,B | B. |
Outputs the least-significant byte of B to the file whose handle is A.
BGET A (function) | B. |
Inputs a byte from the file whose handle is A, and returns the value.
SPUT A,S | SP. |
Outputs the string S to the file whose handle is A.
SGET A,S | S. |
Inputs a string to S from the file whose handle is A.
FPUT A,%F (FP ROM) |
Outputs the 5 bytes of the floating-point variable %F to the file whose handle is A.
FGET A (function, FP ROM) |
Inputs 5 bytes from the file whose handle is A, and returns a floating-point value.
PTR A |
Returns the value of, or assigns a value to, the pointer to the next byte for input or output in the file whose handle is A. PTR can be thought of as a special variable -in an expression it returns the current value of the pointer as an integer, and on the left-hand side of an assignment statement it updates the pointer with the result of evaluation of the right-hand side.
EXT A (function) |
Returns the extent (current length) of the file whose handle is A.
SHUT A | SH. |
Closes the file whose handle is A. SHUT O closes all files.
After a DOS command has completed successfully, the BASIC prompt returns. If for some reason the command is not understood or cannot be carried out, a message indicating the problem is printed first. The various responses and their meanings are as follows:
Command? | The command is not recognised. | |
Syntax? | The parameters are illegal or incorrectly presented. | |
Name? | The filename is longer than eight characters. | |
File? | The file is not found. | |
Disc prot | The disc is write-protected. | |
File prot | The file has been locked. | |
Disc full | There is insufficient room on the disc to create the new file. | |
Full | There are already 31 files in the catalogue. |
If the fault is with the disc or drive rather than the command, one of 7 the following error messages is given:
Disk error 08 | Clock error. During a disc read operation a clock bit was missing. | |||
Disk error 0A | Late DMA | During a disc transfer the processor did not respond
fast enough. Probably due to a faulty disc controller card. |
||
Disk error 0C | ID filed CRC error | The cyclic redundancy check derived from the data read back differed from that stored on the disc. | ||
Disk error 0E | Data CRC error. | The cyclic redundancy check from the data read back differed from that stored on the disc during a disc read. | ||
Disk error 10 | Drive not ready. | During a transfer the disc stopped rotating. Often due to a badly inserted disc. | ||
Disk error 14 | Track 0 not found | The controller failed to find track 0. Often due to an unformatted disc. | ||
Disk error 18 | Sector not found | The controller failed to find the required sector. Often due to a corrupted or unformatted disc. |
A disc with four utility programs is supplied with the ATOM Disc Pack. A utility program is used by typing 1*', followed by its name, followed by RETURN.
FORMAT
Initialises a disc to the Acorn 40-track soft-sectored format. All new discs must be formatted before they can be used. On running, the program displays a prompt message and waits for YES to be entered (without RETURN). Before replying the utilities disc should be replaced by the disc to be formatted. The program initialises the entire disc, clearing the catalogue, and then verifies each sector.
COMPACT
Relocates the files on a disc to make wasted space left between them by deletion and re-saving available for use by new files. The program waits for the user's disc to be put in the drive, and begins when a key is pressed. It displays information on all files before and after relocation, and the number of free sectors when completed. .
INFALL
Gives information on all files on the disc in the format fo *INFO. The program waits for a key to be pressed.
VERIFY
Lists sectors on the disc that contain errors. The program waits for a key to be pressed.
The Acorn disc controller card uses an Intel 8271 integrated circuit to minimise both hardware and software overheads involved in using mini-floppy disc drives. The controller has a 64-way connector for the standard Acorn bus and a 34 way ribbon cable plugs onto the board to connect the drive. The 8271 is addressed in the memory map at page A in block 0 by IC22. The high power required by the mini-floppy interface is provided by 7406 and 7438 drivers. A 2 MHz clock is required by the 8271 for master timing, and this is generated by division of a 4MHz clock produced by a crystal oscillator IC4. The data and clock signals are mixed during recording and thus data read back from the disc has to be processed to recover the information. The 8271 does this itself using the digitally timed retriggerable monostable IC7 and IC8, which generates a data window signal. IC5 and IC6 are two digital monostables used to indicate drive ready status based on the index pulse repetition rate. Transfer between the floppy disc controller and processor is synchronised with the NMI (non-maskable interrupt). The controller automatically unloads the head after 10 revolutions have occurred without further access requests from the processor.
The drive unit is an Olivetti OPE type FD 501. It is a 40 track single sided unit and using single density recording provides a formatted storage capacity of 92.16 Kbytes. It has a printed circuit board attached to it containing the read/write electronics and the control signal processing circuitry, and industry standard interface connectors for power and logic signals.
Precise head positioning is assured by using a stepper motor driving a spiral cam directly. The head carriage is guided by a steel peg, which rests in a track on the spiral cam. A DC servo controlled motor is used to rotate the disc spindle at 300 rpm.
The disc drive requires regulated supplies of 5V and 12V and these are supplied by the disc pack internal power unit. Spare capacity is available on the 5V supply, the current available being 3A, so a fully expanded Atom may be powered.