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.