Installation of M2CBASIC Before you run M2CBASIC we suggest that you read Section 1.3 of your M2CBASIC manual (page 2). In particular, note that you should make a copy of your distribution disk and store the one you received as a backup. Also, additional disks should be created which hold various groups of files from your distribution disk. There may not be enough space on the distribution disk to run the example programs. Known Errors in release V1.4 of M2CBASIC The keyword 'AS' has been ommitted from M2CBASIC's key- word table. In order for M2CBASIC to properly translate the FIELD and NAME statements, the 'AS' keyword in these statements must be delimited by some non-alpha character (such as blank). The following FIELD and NAME statements are not properly translated by M2CBASIC: FIELD FN%, WID1%ASCVAR$,WID2%ASCVAR2$ NAME OLDFN$ASNEWFN$ These statements ARE properly translated, if modified as follows: FIELD FN%, WID1%AS CVAR$,WID2%AS CVAR2$ NAME OLDFN$AS NEWFN$ New program files are included with version 1.4. Please list the ASCII files on your printer. 1. M2CBRIO.RLO This is the new Random I/O file that supports Record Lock Out. The process to include this file in your program is included as comments at the begining of the M2CBRIO.RLO file. 2. LOCKIT.BAS This is a sample program written in CBASIC that will lock out a record in a data file. This is a good aid in testing Record Lock Out on your system. 3. WS-FIX This is a new programers aid that will fix WS files that may have imbeded control codes in the file. 4. WS-FIX.DOC The documentation for WS-FIX. 5. CCPMSCRN.DEF A function libary for screen handeling. This libary is for Concurrent PC-DOS by DRI. 6. QUICKLBL.CB A sample label program that shows screen manipulation and the output of Rom graphics characters. The screen functions are for Concurrent PC-DOS by DRI. 7. M2CBRIO.AM Access Manager calls for Random I/O 8. TESTAM.BAS A MBASIC source code program that needs to be translated, compiled, and linked with Access Manager. LINK86 TESTAM,M2CBLIB,AMQ6CB86.L86 After translation you need to edit the %INCLUDE M2CBRIO to say %INCLUDE M2CBRIO.AM You also need to edit the CLOSE (file_no%) to say CALL RANDOM.CLOSE(file_no%) Additional M2CBRIO.AM and Access Manager Notes 1. Examine all statements of the form CALL RANDOM.GET(,) If a call to RANDOM.GET is not followed by a call to RANDOM.PUT (i.e., the read does not result in a subsequent write of the same record), then replace the original call with a call of the form CALL RANDOM.GET.WO.LOCK(,) which does NOT secure an exclusive record lock before the read. In the event that a read is only sometimes followed by a write, then for those conditions which do not lead to a subsequent write, free the lock on the record (automatically placed by RANDOM.GET) with a call of the form CALL FRELOK(M2CB.FMAP%(),X.LOCK%,) 2. The following global variables are used in RIO.BAS, and should not be assigned values in the application program: M2CB.ACCESS.FIRST% M2CB.FMAP%() M2CB.MREC%() S.FILE% X.LOCK% N.LOCK% 3. If AM86BUF.OBJ is not large enough for the SETUP parameters defined in RANDOM.OPEN, then an attempt to open a data file will result in an ACCESS MANAGER error 209. Run SETAMBUF to increase the size of the buffer module.