Intel 9800758-02 Configuring DFS on an iSBC 80/10, ISBC SO/10 System Clock, Initial Exchanges

Page 104

RMX/80 BASIC-SO

BASIC-SO

Configuring DFS on an iSBC 80/10

If you're using DFS with a PROM-Based BASIC-80 on the iSBC 80/10, you must add a line of code to the GBASIC.CSD module distributed on diskette. This code specifies use of the iSBC 201,202,204, or 206 disk controller.

For the iSBC 201,202 or 206, add : :Fl :DIOSI0.LIB(VI0HDI),&

For the iSBC 204, add : :FI :DI0810.LIB(VIOHD4),&

just before the line : :FI :DFSUNR.LIB,& in the GBASIC.CSD module.

The BQMEM.ASM module contains code that polls the interrupt lines to find the interrupt from the disk drives. Be sure this polling is initiated (refer to the RMX/SO

User's Guide).

iSBC SO/10 System Clock

The iSBC 80/10 does not have an on-board clock. You should include the dummy clock routine CLOCK.OBJ when configuring an iSBC 80/10 BASIC-80. This routine has two side effects:

I.With the full terminal handler, you may have to type a character before the RMX/SO BASIC-80 sign-on message prints.

2.There is no disk drive time out. If you reference a drive that doesn't have a disk in it, BASIC-80 will wait until one is inserted.

Your clock routines, or :FO:CLOCK.OBJ, should be added in the LINK command of GBOOT .CSD (if your BASIC is boot loaded), or in GBASIC.CSD.

Adding BASIC-SO to an Existing RMX/SO Configuration

This section assumes that a user has an existing RMX/80 configuration and wants to add BASIC-80 to it. the supplied assemblies configuration source and submit files may be used for reference.

Configuration Requirements

Tasks. BASIC-80 is called BQBAS, and the task that waits for control C is called BQCONC. BQBAS should be given a stack length of 64, a low priority such as 240, and a default exchange of BQEXCH. BQCONC should be given a stack length of 48, a priority higher than BQBAS (such as 200), and an initial exchange of RQWAKE. RQWAKE is the terminal handler exchange that receives a message when control C is typed at the console.

If a user-written 1/0 driver is to be used, it should be given an initial exchange of BQOPNX. The name, stack size, and priority may have whatever values are appropriate for the task.

Initial Exchanges

BQEXCH should be declared as a public exchange.

If a user-written 110 driver is to be included, BQOPNX should be declared as a public exchange.

F-12

Image 104
Contents BASIC-SO Reference Manual A108/0979/7500 FL Preface Page Contents Illustrations Chapter Introduction to BASIC-80 Invoking BASIC-80Examples Introduction to BASIC-80Basic filename MEMTOPaddress FilenameListing the Directory of a Disk Renaming a FileChanging File Attributes Deleting a FileYou can now run, list, or edit the program Save LP ,ACommands StatementsBASIC-80 Commands Contd BASIC-80 StatementsBASIC-80 Statements Contd BASIC-80 FunctionsBASIC-80 Functions Contd Representing Data FunctionsConstants Integer ConstantsDecimal Integer Constants Hexadecimal Integer ConstantsDouble-Precision Floating-Point Constants Octal Integer ConstantsSingle-Precision Floating-Point Constants String Constants String VariablesThis is a string constant $ = Enter next data stringL4! = Csng l4 YI,1String Arrays Arithmetic Operators BASIC-SO Operators in Order of Precedence ContdLogical Operators String OperatorNumeric Expressions String ExpressionsEntering and Editing Programs 30 A=8*52 30 A=830 A=8*52 30 A=8*37 30 A--=8xx*522537 Control-R a = 8*37Subcommand Command 3D press 3, then D resultsInteger D If AB thenIf AB then 120 Else Null SET Syntax of the X subcommand is At this point, the other editing subcommands may be usedPrint Undefined SET The E subcommand is entered Integer C character characterMove the cursor to PRINT. Enter 2C RE L Print Undefined SET. Enter a LOverflow, Underflow, and Divide-by-Zero BASIC-80 Error MessagesSyntax Error Messages Error Trapping Trace Facility Error Simulation Error HandlingRestarting Program Execution If line 40 is replaced withOpening a Sequential File Open 1,#1,F1DATESRefer to for further details of Print Using Writing to a Sequential FileReading from a Sequential File If executed four times, it would read all eight valuesClosing a Sequential File Value of R$ would beField #3, 20 AS N$ BuffersDefining a Random 1/0 Field-FIELD Disk File Input/Output Field #3, 20 AS N$, 9 AS SS$Opening and Closing a Random Disk File Reading from a Random 1/0 FileAny of the parameters can be variables To read the next recordWriting to a Random 1/0 File IntegerSingle-precision value Double-precision valueMKI$ Attrib Fdrive numberfilename, W1 Attrib Fdrive numberfilename, WOAuto first lineJ, increment Clear expression,addressCommands and Statements CloseDEF FNX Rules for function name are the same as for variable nameDefsng Defdbl Defstr Defint DIM DeleteError DIREdit ENDError expression ExitField FOR-NEXT-STEPGET GosubFor variable=expression to expression Step expression GET I file number ,record numberGoto IF-THEN-ELSEInput Kill LETLine Input ListLSET, Rset LoadMerge NEWNext 9 16Open On ... GosubOn ... Goto Poke Option BaseOUT String Fields Print UsingPrint Numeric fields If X$=SEVEN and Y$=EIGHT, the results of line 40 would bePrun PUTRandomize ReadREM Resume ReturnSave RUN line numberlstring expression ,FLine number RUN filename 60 ENDTRON, Troff ? 5,8,2Wait WidthABS ATNFunctions CHR$Cint Csng CVI CVS10 A# = 1.00/3.00 AO/o =Dskf EOFFIX Ok·Inputs HexsINP LEFT$ INTInstr LEN LOCLOF LOGOCT$ MID$MKI$ MKS$ MKD$ Rights Peek expressionPOS integer RIGHT$ string,integerSGN SINSpaces 10 a =1SPC SPC integerIf A$ = 2 then Print Correct Else Goto SQRexpressionTAN expression STR$ expressionTAB expression Here is an example of how the USRn statement is used 60 AO/o =Appendix a BASIC-SO Error Codes Table A-I. BASIC-80 Error CodesTable A-I. BASIC-SO Error Codes Contd Appendix B BASIC-SO Reserved Words Page To halt program execution and return to command LevelTo tab across the line To resume program execution after it is stopped byPage Table D-l. Ascii Code List Appendix D Ascii CodesTable D-2. Ascii Code Definition BELAppendixe Calling Subroutines Figure B-1. Internal Representation of Numbers and Strings Some Real Examples RESULT=USR%1VARPTRA, VARPTRB, VARPTRC» PRINTA+B+C= ResultFigure E-2 /8085 Assembly Language Program Figure E-3. PL/M-80 Program Appendix F RMX/SO BASIC-SO Initializing the Predefined RMX/SO BASIC-SO Configuration ISIS-II BASIC-SOTable F-l. Sample Configuration Jumper Wiring OOOOH-OFFFHGenerating Boot-Loaded and PROM-Based Versions BASIC-80 Source FilesBASIC-80 Object Files BASIC-80 Executable FilesGenerating a Boot-Loaded RMX/80 BASIC-80 That are not boot loaded This option is used to allocate memory. It is 1 if the bootSetting baud rates, refer to the RMX/SO Users Guide This option enables your user-written I/O drivers if youISBC 80/20-4 Generating a PROM-Based RMX/80 BASIC-80 Prom F1 RMX820.L1BSTART, & FOBASCM.OBJ,& FORMXBAS.LlB F1 DFSDIR. L1BDIRECTORY ,RENAM E,& F1 MTI810.L1B Configuring DFS on an iSBC 80/10 Adding BASIC-SO to an Existing RMX/SO ConfigurationConfiguration Requirements ISBC SO/10 System ClockPublic Variables Adding User-Written I/O Drivers to RMX/SO BASIC-SO Open 0,#1, L1LlSTFigure F-S. Sample User-Written 1/0 Driver Routine Altering BASIC-80 Workspace Burning a BASIC-80 Program Into PromBaprom F1HEATER.BAS Page Index Ase BASIC-80 RIGHT$,7-1O Request for Readerscomments 111111