TASK-BUILDER DOCUMENTATION: HOW TO BUILD BASIC-MINUS-2 FILES ============================================================ If you ask BP2 to BUILD some TKB command files for MYPROG,MYSUBR you might get these files: MYPROG.CMD (a command file to taskbuilder) ----------------------------------------------- SY:MYPROG/CP/FP=SY:MYPROG/MP UNITS = 14 ASG = TI:13 ASG = SY:5:6:7:8:9:10:11:12 EXTTSK= 952 // ----------------------------------------------- MYPROG.ODL (a list of all the programs to scramble together to make MYPROG run) ------------------------------------------------------------------------------------ .ROOT BASIC2-RMSROT-USER,RMSALL USER: .FCTR SY:MYPROG-MYSUBR-LIBR LIBR: .FCTR LB:[1,1]BASIC2/LB @LB:[1,1]BP2IC1 @LB:[1,1]RMS11X .END ------------------------------------------------------------------------------------ Both these files must be changed to run BASIC-MINUS-2 programs. The most important trick is to get rid of BASRMS etc., which are redundant. Only the ODL file need be changed to accomplish this. (1) delete ",RMSALL" & "BASIC2-" & "RMSROT-" because these only cause trouble. (2) delete the two library lines ("@LB:"...) . ------------------------------------------------------------------------------------ .ROOT USER USER: .FCTR SY:MYPROG-MYSUBR-LIBR LIBR: .FCTR LB:[1,1]BASIC2/LB .END ------------------------------------------------------------------------------------ After this is done, you can build a basic program that: (1) will taskbuild FAST (2) may still run the debugger (3) does not use OPEN statements. If you feel that you need file I/O (e.g. OPEN statments) then you may wish to use FCSLIB library routines (documented in FCSCALLS.DOC). These routines allow virtual arrays & normal I/O via subroutine calls. The subroutine calls try as hard as possible to look like (sub)normal BASIC+2 syntax. Some of FCSLIB is written in BASIC and so you must select the flavour of FCSLIB that is single precision if you have a single precision main program or select double precision if you have a double precision main program. The single-precision library is LI:[1,5]BM2FCSSP.OLB . The double-precision library is LI:[1,5]BM2FCSDP.OLB . To include FCSLIB in your program you must modify both the .CMD and the .ODL files that taskbuilder uses. The modification to the .CMD file increases the number of files you may have open at one time. We change this number to 30 from 14. (second line of file) ----------------------------------------------- SY:MYPROG/CP/FP=SY:MYPROG/MP UNITS = 30 ASG = TI:13 ASG = SY:5:6:7:8:9:10:11:12 EXTTSK= 952 // ----------------------------------------------- The modification to the .ODL file loads any FCSLIB routines after your routines but before BASLIB's routines. This is so that BASLIB routines used in FCSLIB are also loaded. All that is needed (assuming single-precision main .B2S program) is to insert -LI:[1,5]BM2FCSSP/LB after your program(s) and before the -LIBR . (this change is on the USER: line of the file) ------------------------------------------------------------------------------------ .ROOT USER USER: .FCTR SY:MYPROG-MYSUBR-LI:[1,5]BM2FCSSP/LB-LIBR LIBR: .FCTR LB:[1,1]BASIC2/LB .END ------------------------------------------------------------------------------------ [end: TKB.DOC]