- An Olivetti OPE FD 501 disc drive unit
- The Disc Operating System (DOS) in ROM
- An Acorn floppy disc controller card
- 3K bytes of RAM
- 5V and 12V regulated power supplies
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 which 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.1.2 ATOM Modifications
- With the ATOM face down, remove the two visible screws and take off the bottom section of the case.
Locate the positions of IC’s 2,3,4 & 5. These are clearly marked in silk-screened white near theleft-hand end of the board, viewed from the keyboard side. Fit the IC’s in the sockets provided as follows, taking care to put the end of the IC with the indent in the top next to the half-moon shape marked on the board:
- IC2 81LS95
- IC3 81LS95
- IC4 DP8304 (equivalent to INS8208
- IC5 74LS30
only IC5and the connector are required.
- Locate the position of PL6. This is near the IC’s just fitted and also clearly marked. Be clear which of the positions of PL5 and PL6 is to be used -PL6 is the one nearest the board edge. Remove the four self-tapping screws holding the board to the top section of the case, and lift out the board. Fit PL6 on the component side of the board (marked side 2) and carefully solder the pins on the other side (marked side 1). Check the area around the plug to make sure there are no solder splashes that could cause short circuits, and check the solder joints on the plug one by one.
- Locate the positions of LK6 and LK7. These are adjacent to the regulators fitted to the heatsink near the middle of the board’s back edge. Make the links from two short lengths of wire, and fit them in the marked positions on the component side. Solder the joints on the – other side, check the area for solder splashes, and then check each joint.
- 5 Fit the board to the top section of the case, and replace the four self-tapping screws. Fit the bottom
case section and replace its two screws.
- Do not touch the Mylar disc surface, especially with fingers or hard objects, and do not attempt to remove the disc itself from the sleeve.
- Insert the disc carefully into the drive until the backstop is reached. Do not attempt to shut the drive door until the disc is fully inserted. The disc should be inserted with the label at the top right, the labelled side being the last one to enter the drive.
- Open the drive door and adjust the position of the disc if it rotates noisily.
- Avoid damage to the centre hole which locates the disc onto the drive hub
- Return the disc to its paper storage jacket with the head slot “”‘, inside when not in use .
- Keep discs away from magnetic fields, including power supply transformers and cathode ray tubes.
- Do not bend or fold discs.
- Store and use discs at room temperature and away from direct sunlight.
- Write on the disc label before sticking it on the disc. Use a felt pen, NOT a biro, to write on labels that are already on discs.
|*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 *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:
|*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 adress 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 .|
2.3 Using the DOS from BASIC
|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 ron)||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.|
2.4 DOS Responses and Error Messages
|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.|
|Disk error 08 |
|During a disc read operation a clock bit was missing.|
|Disk error 0A |
|During a disc transfer the processor did not respond fast enough. Probably due to a faulty disc controller card. 1|
|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.
|C1,2,3||4700 µF 25V Electrolytic capacitor|
|REG 1||78H05K ( TO3 )|
|REG 2||7812 ( TO126 )|
Using a 32 K RAM card in the Atom, the 2114 RAM chips (used by the catalogue buffer #2000 – #27FF) on the FDC should be removed and the indicated modifications should be carried out.
|The FDC card is not buffered. That explains why it should be connected to the Atom by means of that silly very short (±10cm) connection cable.|