background image

Summary of Contents for FSD-1

Page 1: ...FSD 1 FLOPPY DISK USER S MANUAL v i...

Page 2: ......

Page 3: ...are 6 The Disk Directory 7 Pattern Matching and Wild Cards 8 5 Disk Commands 10 Reading the Error Channel 13 6 Sequential Files 14 7 Random Files 16 Using Random Files 20 8 Relative Files 25 Using Rel...

Page 4: ...ess of the level of your programming expertise the FSD 1 will greatly increase the efficiency and capability of your computer system Please be aware that this manual is a reference guide to the operat...

Page 5: ...144 disk Sector Track 21 Bytes Sector 256 Tracks 35 Average MTBF rate of 8000 hours Power Requirements Voltage 117 VAC 220 240 VAC optional Frequency 50 60 Hertz Power Dissipation 24 Watts Mechanical...

Page 6: ...r FIG 1 FSD 1 FLOPPY DISK DRIVE POWER INDICATER POWER SWITCH AC INPUT SERIAL BUS 4 A...

Page 7: ...FLOPPY DISK DRIVE POWER INDICATER POWER SWITCH Note Above diagram is of alternate version of the FSD 1 with identical performance to the model pictured in original diagram but slightly different appea...

Page 8: ...lug the other end of the cable into the back of the computer You re ready to go If you have a printer or another disk drive attach its cable to the remaining serial bus socket to daisy chain the devic...

Page 9: ...m the disk to the computer s current memory FORMAT LOAD program ame device command The program name is a character string that is either a name in quotes or the contents of a given string variable The...

Page 10: ...you It organizes them into a Block Availibility Map or BAM and a directory The BAM is simply a checklist of the blocks and is updated every time a program is SAVEd or a data file OPENed The directory...

Page 11: ...LOADing the directory into current memory This allows checking for a list of specific programs The procedure is the same as above except for the addition of a EXAMPLE LOAD T ST 8 LOADs all file names...

Page 12: ...d VERIFY does a byte by byte comparison of the program in current memory with one on the disk as specified in the VERIFY command EXAMPLE VERIFY OLD VERSION 8 NOTE ABOUT FILE NAMES File names must begi...

Page 13: ...be any number from 1 to 127 Numbers from 128 to 255 can be used but should be avoided as they cause the PRINT statement to generate a linefeed after carriage returns The device number is usually 8 Th...

Page 14: ...ring C PRINT 15 I sends disk command on command channel Initializes disk driver to power up condition OPEN 15 8 15 I or OPEN 15 8 15 PRINT 15 I Sometimes an error condition on the disk will prevent yo...

Page 15: ...POSE FORMAT Duplicate an existing file PRINT 15 COPY 0 newfilename 0 oldfilename1 COPY allows you to make a copy of any program or file on the disk The new file s name must be different from the old o...

Page 16: ...ric variables can be used The inputs are organized as follows First error number 0 means no error Second error description Third track number where error occurred Fourth block sector in track where er...

Page 17: ...annel 2 through 14 It s a good idea to use the same number for both file and channel numbers for easy remembering you may have noticed this in previous examples The name is the file name for which no...

Page 18: ...wing example program 10 A THIS IS A 20 B TEST 30 OPEN 8 8 8 0 TEST S W 40 PRINT 8 A B OF THE DISK 50 CLOSE8 60 END If you could see the data and its position on the disk it would look like this 1 2 3...

Page 19: ...T INPUT file variable The file number is the same as the one OPENed and the variable can represent character strings ox numbers To read a group of data separators are needed to indicate the start and...

Page 20: ...e disk The disk is divided into 35 concentric rings or tracks with each track containing from 17 to 21 sectors TRACK NUMBER SECTOR RANGE TOTAL SECTORS 1 TO 17 0 TO 20 21 18 TO 24 0 TO 18 19 25 TO 30 0...

Page 21: ...60 IF ST 0 THEN 40 70 PRINT READ COMPLETE 80 CLOSE 8 CLOSE 15 BLOCK WRITE PURPOSE Write a block of data to a specified block location on the disk FORMAT PRINT file BLOCK WRITE drive channel track bloc...

Page 22: ...The error message tells you the numbers of the next available track and block on the disk This block does not get allocated so the BLOCK ALLOCATE command must be used again but this time you can be su...

Page 23: ...n randomly access individual bytes inside a block This means you can divide a single block into records EXAMPLE PRINT 15 B P 5 64 sets pointer to 64th character in buffer USING RANDOM FILES The proble...

Page 24: ...S 90 INPUT 15 A B C D 100 IF A 65 THEN T C S D GOTO 80 110 PRINT 15 B W 5 0 T S 120 PRINT 4 TII IIS 130 NEXT R 140 CLOSE 4 CLOSE 5 CLOSE 15 PROGRAM B READS SEQUENTIAL FILE 10 OPEN 15f8f15 20 OPEN 5 8...

Page 25: ...8 5 w 30 OPEN 4 8 4 KEYS S W 40 A MRecord Contents n 50 FOR R l TO 10 60 FOR L l TO 4 70 PRINT 15 B P fl5 L l 64 80 PRINT 5 A M L 90 NEXT L 100 T l S l 110 PRINT 15 B A 0 T S 120 INPUT 15 A B C D 130...

Page 26: ...4 CLOSE 5 150 PRINT 15 S0 KEYS 160 CLOSE 15 USER1 PURPOSE To read a full 256 byte block from disk to buffer FORMAT PRINT file U1 channel drive track block The USER1 command is almost identical to the...

Page 27: ...lar data with the buffer pointer and modifying it the USER2 command can be used to rewrite the data to the disk and the buffer pointer will be in the correct position If BLOCK WRITE was used the buffe...

Page 28: ...rs for the beginning of each record There can be 6 side sectors in a file and each side sector can point to up to 120 records This means a file can have as many as 720 records and since each record ca...

Page 29: ...side sector 1 8 9 Track and sector of third side sector 2 10 11 Track and sector of fourth side sector 3 12 13 Track and sector of fifth side sector 4 14 15 Track and sector of sixth side sector 5 16...

Page 30: ...ec lo CHR rec hi CHR record position NOTE CHR record position specifies the location within the record itself and is optional Since there are 720 records available and the largest number one byte can...

Page 31: ...lowing 10 OPEN 15 8 15 20 OPEN 2 8 6 0 TEST 30 GOSUB 1000 40 IF A 100 THEN STOP 50 PRINT 15 P CHR 6 CHR 100 CHR 0 CHR l 60 GOSUB 1000 70 IF A 50 THEN PRINT 2 1 GOTO50 80 IF A 100 THEN STOP 90 PRINT 2...

Page 32: ...B C 1010 IF A 50 OR A 20 THEN RETURN 1020 PRINT FATAL ERROR 1030 PRINT A A B C 1040 A 100 RETURN Lines 90 100 and 110 read the record and display the contents on the screen Notice that the carriage re...

Page 33: ...commands called USER commands MEMORY WRITE PURPOSE Transfers up to 34 bytes of data to drive memory FORMAT PRINT 15 M W CHR address low byte CHR address high byte CHR of characters CHR data MEMORY WR...

Page 34: ...uliar results This can be cleared up by using any other command except the MEMORY commands Here s a useful program that reads the disk controller s memory 10 OPEN 15 8 15 20 INPUT LOCATION PLEASE A 30...

Page 35: ...utines that operate in the disk s memory along with a jump table even in BASIC USER COMMAND FUNCTION Ul or UA BLOCK READ without changing buffer pointer U2 or UB BLOCK WRITE without changing buffer po...

Page 36: ...lets you change one drive s device number temporarily If you expect to use two or more drives on a permanent basis the hardware method is a simple and permanent way to change a drive s device number S...

Page 37: ...ing you the Jumper Block is on the right edge of the circuit board about halfway back It s near the upper right hand corner of Chip 17 6522 with JB1 1 closer to the front of the drive 5 When shipped f...

Page 38: ...Y 12 RENAME 12 VALIDATE 12 CLOSE 13 Chapter 6 Sequential Files OPEN 14 PRINT 15 GET 15 INPUT 16 Chapter 7 Random Files OPEN 17 BLOCK READ 18 BLOCK WRITE 18 BLOCK ALLOCATE 19 BLOCK FREE 20 BUFFER POINT...

Page 39: ...2 19 UNUSED ERROR MESSAGE NUMBERS 20 READ ERROR block header not found The disk controller is unable to locate the header of the requested block This can be caused by a bad header on the disk or spec...

Page 40: ...OR long data block The controller attempts to detect the sync mark of the next header after writing a data block If the sync mark does not appear within a pre determined time the error message is gene...

Page 41: ...error occurs without first repositioning 51 OVERFLOW IN RECORD PRINT statement exceeds the record boundary truncating information Since the carriage return sent as a record terminator is counted in th...

Page 42: ...the DOS Direct access channels may have six opened files 71 DIRECTORY ERROR The BAM Block Availability Map does not match the internal count There is a problem in the BAM allocation or the BAM has bee...

Page 43: ......

Reviews: