Text preview for : 24886A(CHROM1_252C1AT).pdf part of Keithley 24886A(CHROM1 252C1AT) Keithley Misc 24886A(CHROM1_252C1AT).pdf
Back to : 24886A(CHROM1_252C1AT).pd | Home
CHROM-1 AND
CHROM-1 AT
Keithley MetraByte Corporation
A Subsidiary of Keithle Instruments, Inc.
440 Myles z tandish Boulevard
Taunton, Massachusetts 02780
Part Number: 24066
First Printing: May 1986
Copyright 0 1986
bv
Keithley MetroByte Corporation
440 Myles Standish Boulevard
Taunton, Massachusetts 02780
WARNING
Keithley MetraByte Corporation assumes no liability for damages consequent to the use
of this product. This product is not designed with components of a level of reliability
suitable for use in life support or critical applications.
All rights reserved. No part of this publication may be reproduced. stored in a retrieval
system, or transmitted, in any form by any means. electronic, mechanical, photocopying,
recordina, or otherwise, without the exoress orior written permission of Keithlev MetraBvte
Corporation
Information furnished by Keithle y MetraByte Corporation is believed to be accurate and
reliable. However, no responsibr rty ISassumed by MetraByte Corporation for its use: nor for
any infringements of patents or other rights of third parties which may result from its use. No
license is granted by implication or othewise under any patent rights of Keithley MetraByte
Corporat\on.
Keithley MetraByteTM is a trademark of Keithley MetraEyte Corporation.
BASIC" is a trademark of Dartmouth College.
IBM@ is a registered trademark of International Business Machines Corporation.
PC, XT, and AT@ are trademarks of International Business Machines Corporation.
Microsoft@ is a registered trademark of Microsoft Corporation.
TURBO TMis a trademark of Borland International, Inc.
CROM-1 MANUAL
Table of Contents
Section 1 INTRODUCTION 1
1 .I CROM-1 HARDWARE DESCRIPTION
1.2 CROM-1 SOFTWARE DESCRIPTION
Section 2 INSTALLATION
2.1 SACKING UP THE DISK
2.2 HARDWARE INSTALLATION
Section 3 CROM-1 HARDWARE
3.1 I/O ADDRESS MAP & REGISTER DATA FORMAT 7
3.2 CONNECTING UP CROM-1 10
Section 4 PROGRAMMING 12
4.1 PROGRAMMING CROM-1 12
4.2 LOADING THE MACHINE LANGUAGE CALL ROUTINE "CROM.BIN" 13
4.3 STRUCTURE OF THE CALL STATEMENT 15
4.4 INTERRUPTS 17
4.5 INITIALIZATION 19
4.6 FIFO BUFFER OPERATION 19
4.7 ERROR CODES 20
4.8 ZEROING AND CALIBRATION 21
4.9 EXAMPLE BASIC PROGRAMS 21
4.10 COMPILING A BASIC PROGRAM 22
4.11 MULTIPLE CROM-l's IN ONE SYSTEM 23
4.12 ASSEMBLY LANGUAGE PROGRANMING 24
Section 5 CALIBRATION 25
5.1 CALIBRATION 25
5.2 USER REPLACEABLE PARTS 25
Section 6 SPECIFICATIONS 27
6.1 ELECTRICAL 27
6.2 DIGITAL INPUTS 28
6.3 RELAY OUTPUTS 28
6.4 MECHANICAL & ENVIRONMENTAL 29
Appendix A USING CROW-EXE 30
A.1 CROM.EXE DESCRIPTION OF OPERATION 30
A.2 RECOMPILING CROM.EXE 34
i -
CROM-1 MANUAL
Appendix B AND-9513 COUNTER DESCRIPTION 35
B-1 INTRODUCTORY 9513 DESCRIPTION & PROGRAMMING SEQUENCE 35
B-2 MASTER MODE REGISTER 39
B.3 COUNTER MODE REGISTERS 41
- ii -
CROM-1 MANUAL INTRODUCTION
Section 1
INTRODUCTION
1.1 CROM-1 HARDWARE DESCRIPTION
MetraByte's CRON-1 A/D board for chromatography and
precision voltage measurement uses a voltage to frequency (V/F)
converter and counter to obtain very high resolution and integral
accuracy. The board functions as a true electronic chromatograph
integrator. The V/F converter has a scaling of approximately 100,000
countslsec. for a full scale input and a typical integral linearity
of 0.005% Cl part in 20,000). The input ranges of +lOv, +5v, +2v and
tlv are software selectable and the input is f Loating, completely
isolated from the computer through the use of optical isolators.
Also through software, the V/F converter can be snitched to either of
2 inputs as well as a ground (zeroing) reference and a +1 .oooov
calibration reference. This provides a means of performing zero and
full scale calibration of the V/F to eliminate temperature and time
drifts. A block diagram is shown below in Fig. 1.1
0.I YLEcl.Wwlrr"
T I ;
cow `I' -I- 7 ' 6
8 c-~--i-i---o ____ Tie,.m.m.~+-~
3
l--d-J
L------ ___------------ ---
Fig. 1.1 CRON-1 Block Diagram
- 1 -
INTRODUCTION CRON-1 MANUAL
The CRON-1 includes a complex counter device,~ Advanced Micro Devices
AND-9513, which contains five 16 bit counters. Counters 1 and 2 are
cascaded to form a 32 bit counter that accumulates the pulses from
the V/F. When running at lOOKHz, a 32 bit counter will accumulate
pulses for almost 12 hours before overflowing. For increased counter
capacity, it is also possible to cascade counters 3 & 4 to counters 1
.R 2 using software commands only, otherwise these counters are
normally unused. Counter 5 is used to generate periodic interrupts.
Under softuare control i~t can be connected to a precision xtal
oscillator source and decade scaler providing lNHz, lOOKHz, IOKHz,
1KHz and 1OOHz frequencies. Any of these frequencies can be further
divided by any integer in the range 2 - 65,535 loaded into counter 5.
The output of counter 5 in turn can generate a hardware interrupt on
any of the PC expansion bus interrupt levels 2 thru 7. The active
interrupt level (2-7) is selected by softuare. The interrupt service
routine can simultaneously latch counters 1 & 2 without disturbing
the count in process, so that it is possible to store the counts at
equal intervals of time and so measure the voltage during the
interval and the integrated volt-seconds between =ny pair of
intervals. This feature is useful for determining the area under the
peaks of the chromatogram to very high precision.
The resolution obtained from the CRON-1 is dependent on the
integrating interval and range as follous:-
INTEGRATING INTERVAL
Range 0.01 sec. 0.1 sec. 1 sec. 10 sec.
Iv 1mV 1 oouv 1O"V 1"V
2v 2mV zoouv 2O"V 2"V
5v 5mV 5OO"V 5O"V 5"V
1ov 10mV 1mV 1 oouv 1O"V
Apart from providing continuous integration of the input signal, the
V/F also integrates input noise whether it be 50/60Hz line noise or
detector noise. This characteristic is a useful feature dispensing
with the need to provide filtering of the input. Line noise will be
integrated to zero and completely rejected over any even multiple of
the line period e.g. 100 mS or 1 sec. In addition the optically
isolated input avoids any generation of errors through ground loops.
Once in the measurement mode, the CROM-1 is essentially a
single channel input as the signal is continuously connected to the
V/F. A second input is provided on the CRON-1 so that it is possible
to share one CROM-1 between two signal sources but not at the same
time. If you wish to perform simultaneous measurements on two or
more channels, you can install severa 1 CROM-1 boards in the same
computer, limited primarily by the availability of expansion slots.
Each CROM-1 needs to be set to a different I/O address selected by
the on-board DIP switch.
To facilitate starting and stopping of the chromatograph or
other external process synchronization, the board includes 4
opto-isolated digital inputs and 2 double pole double throw relay
- 2 -
CRON-1 MANUAL INTRODUCTION
outputs. The output contacts are rated at 1A at 28v D.C. or 0.5A at
120~ A.C.(resistive). These I/O lines are addressed through separate
ports.All the digital I/O connections to the board are electrically
isolated from the computer to improve safety and noise performance.
By changing component values, it is also possible to run
the V/F at any rate from lOKHz/F.S. to lMHz/F.S (standard is
lOOKHz/F.S. - higher frequencies tend to degrade integral
linearity). It is also possible to provide other ranges (including
Lou-level) and bipolar (+/-I inputs. For these modifications, please
contact NetraByte. Apart from its uses in chromatography, the CRON-1
can be used in many other precision and slow high precision
measurement applications e.g. direct interface to a thermocouple
etc., our applications engineering staff will be glad to provide
information and assistance.
The CROM-1 is a 9 inch "3/4 slot" board suitable for
installation in computers with reduced length expansion slots such as
the Tandy 1000 as well as standard IBM PC/XT/AT and compatible
machines.
1.2 CROM-1 SOFTWARE DESCRIPTION
The CRON-1 can be used with several different types of
software. Included in the price and supplied with the board is
MetraByte's standard utility' package vhich is directed towards the
needs of users who wish to perform their own programming. This
includes a BASIC callable machine language driver CRON.BIN, a fully
commented assembly language source listing for the driver (CROM.ASN),
a programming example EX.BAS and a simple menu driven logging program
CCROM.BAS 8 CRON.EXE). In addition, the object file CCROH.OBJj is
provided to allow the use of compiled BASICA such as the IBM Basic
Compiler or Microsoft Quick Basic. This software is documented in
this manual.
For the user who wishes to avoid programming, NetraByte
offers two optional menu driven data acquisition packages developed
for the CROM-1 by Laboratory Technologies Corporation. The first and
more expensive option is the general purpose Labtech Notebook that
may be supplemented with Labtech Chrom for chromatography analysis,
and the second is Labtech CHRON+ which is specifically designed for
chromatography analysis only. If YO" are interested in the
capabilities of Labtech Notebook, call or mail NetraByte for a free
demonstration disk. The features of these products are detailed in
our catalog, a brief guide follous:-
LABTECH NOTEBOOK This is a general purpose data acquisition and
control package that may be used with many other
MetraByte boards as well as CRON-1. Through user
menus, it allows you to control triggering,
-3-
INTRODUCTION CROM-1 MANUAL
sampling, graphing, filing and analysis of data.
Analysis is through built in functions including
curve fitting and fast Fourier transforms. It
also allows acquisition of data while running
another program and links to Lotus l-2-3 for
additional analysis and graphing.
LABTECH CHROM This is an automatic analysis package that is
used together with Labtech Notebook. It performs
an automatic analysis of the chromatogram peaks,
reporting area, retention time and height,
displaying, printing or storing this data to
disk.
LARTECH CHROMt This is a Lower cost package for chromatography
only. It performs the functions of Labtech
Notebook and Labtech Chrom for the CROM-1 but
does not include the general data acquisition
and analysis capabilities of Labtech Notebook.
- G -
CROM-1 MANUAL INSTALLATION
Section 2
INSTALLATION
2.1 BACKING UP THE DISK
The software supplied with CROW-l is in DOS 1.10 double
sided (320K) format which can be read by DOS versions 1.1, 2.0, 2.1,
3.0 and 3.1. It is advisable to make a back up copy before using the
softuare, although if for any reason you lose the softuare, MetraByte
uill always provide a free replacement. The easiest uay to copy the
original to any other disk formatted under any other revision of DOS
is to insert the disk in your A drive and from DOS enter:-
COPY A:*.* 8: (or other destination drive specifier)
2.2 HARDWARE INSTALLATION
The CROM-1 board uses 4 consecutive address locations in
I/O space. Some I/O address locations will already be occupied by
internal I/O and other peripheral cards, so to provide flexibility in
avoiding conflict with these devices the base I/O address can be set
by the Base Address D.I.P. switch to be on a 4 bit boundary anywhere
in the I.B.M. P.C. decoded I/O space. This I/O address space
extends. from decimal 512-1023 (Hex 200-3FF) which is many times
larger than is ever likely to be fully occupied. Summarising the
usual I/O address assignments from data in the "IBM Technical
Reference Manual":-
ADDRESS(Hex) DEVICE ADDRESSfHex) DEVICE
000-l FF Internal system 378-37F LPTl :
1 FO-1 F8 Hard disk (PC/AT) 380-38C SOLE corn".
ZOO-2OF Game 380-389 Binary comm. 2
210-217 Expansion unit 3AO-3A9 Binary comm. 1
220-24F Reserved 3EO-3BF Mono dsp/LPTl :
278-27F Reserved 3CO-3CF Reserved
ZFO-2F7 LPTZ: 3DO-3DF Color graphics
ZFB-2FF COMZ: 3EO-3E7 Reserved
300-31 F Prototype card 3 FO-3 F7 Floppy disk
320-32F Hard disk (PC/XT) 3F8-3FF con1 :
INSTALLATION CROFT-1 MANUAL
This covers thee standard I/O.options, but if youhave other
I/O peripherals e.g. battery backed up clocks, special graphics
boards, prototype cards etc. they will also be sharing I/O address
space. Memory addressing is separate from I/O addressing so you need
not be concerned with a possible conflict with any add-on memory. If
multiple CROM-1 boards are installed in the same computer, then each
one must be set to a different base I/O address.
The CROM:l is shipped withy its DIP switch set for a base
I/O address of Hex 300. This is usually a good default value, and may
not need to be altered. If you want to check or change the setting
before you install the board in your computer, insert the software
disk in your floppy drive and enter:-
A> INSTALL
This runs a self-explanatory program (INSTALL.EXEj that will give you
a pictorial view of the base address switch setting on the CROM-1.
After entering your choice of address, simply set the switch the way
you see it on the screen and press to exit back to DOS. YOU
will also See warning messages of settings which could possibly
conflict uith standard IBM peripheral devices if you have them
installed. If you receive a warning for a device that is not in your
computer, it can safely be ignored. These cautions apply strictly
for IBM standard devices (although the same mapping is followed by
most compatibles) and may not be totally foolproof as far as.non-IBM
peripherals are concerned. If your CROM-1 does not appear to work
correctly, or interferes in some way uith other devices on your
computer e.g. disk drives etc. or your computer fails to boot up as
normal, remove the CROFT-1 and try a different I/O address. Once you
have set the base I/O address, make a note of its value as you vi11
need to provide it in the initializing or configuration sections of
programs.
To install the CROM-1 inside your computer, start by
removing the board from its protective electrostatic packaging. It
is a good precaution to discharge any electrostatic charge you may
have accumulated by touching the metal frame of your computer just
before YO" Plug the board into it. TURN OFF THE POWER on your
computer and remove the case (See IBM "Guide to Operations" for your
model of computer if you are not already expert at this maneuver).
Remove a vacant back plate by undoing the scre" at the top and plug
the CROM-1 in and then replace the screw and secure the backplate.
The CROM-1 will fit in any of the regular full depth slots of the IBM
PC/XT/AT or `three-quarter" slots such as those in the Tandy 1000.
Remember, always TURN OFF THE POWER whenever installing or
removing any peripheral board. Failing to observe this precaution
can cause costly damage to the electronics of your computer and/or
the CROM-1 board. If for any reason you later remove the CROM-1
board, MetraByte recommends that YO" retain the special
electrostatically shielded packaging and use it for storage and
shipping.
- 6 -
CROM-1 MANUAL REGISTER STRUCTURE
Section 3
CROW1 HARDYARE
3.1 I/O ADDRESS MAP & REGISTER DATA FORMAT
The information in this section is directed towards the
needs of programmers and uith the exception of Section 3.2 may be
skipped if you are using menu driven software such as Labtech or
CHROM+.
The chromatography board uses 4 consecutive I/O addresses.
The base I/O address is fully settable by means of a D.I.P. sui tch
on the board (this is the only user settable component - see
Installation). If required more than one chromatography board can be
used in a single computer provided that their I/O addresses and
operating interrupt levels are different. The I/O address map is as
follows:-
I/O ADDRESS FUNCTION
Read Write
Base address + 0 Counter data Counter data
+ 1 Counter status Counter control
+ 2 Main control Main control
+ 3 AUX. inputs Relay outputs
Each register has functions as follows:-
Counter data & counter control/status
The locations at Base Address +O & +1 correspond to the
standard AMD-9513 address locations. Refer to the 9513 data
sheet for information. The 9513 has many internal registers
and commands which are addressed indirectly through the
9513 counter control register. A brief guide to the 9513 is
given in Appendix A.
- 7 -
REGISTER STRUCTURE CROM-1 MANUAL
Main control register
This is a single byte read/write register at Base Address +
2 that controls selection of the V/F input source and
range, hardware interrupt level and interrupt enable:-
Data bus bit
D7 06 D5 04
I I v G
Int. enable Int. level Source Range
0 - disabled 000 - inactive 00 - In 0 00 - 1ov
1 - enabled 001 - inactive 01 - In 1 01 - 5v
010 - 2 10 - Iv cat. 10 - 2v
011 - 3 11 - zero 11 - Iv
100 - 4
101 - 5
110 - 6
111 - 7
Note that the main control register is automatically
c lea'red on reset (pouer up) of the computer. Also when
changing ranges, the zero and full scale should be re-
calibrated as these are not consistent from range to range.
In operation a range th,at suits the input signal source
should be chosen and subsequent measurements performed. on
that fixed range. The wide dynamic range of the V/F
conversion technique makes gain switching unnecessary.
Di'gital inputs
This is a 4 bit read only register at Base Address + 3
which returns the state of isolated digital inputs IPO-3:-
Data bus bit
07 06' 05 04 03 02 01 DO
0 0 0 0 IP3 IP2 IPl IPO
An energized input ui 11 return as a logic 1. The input
circuit of the optoisolated inputs is shown in Fig. 3.1
Note that the input is polarity sensitive and will respond
to voltages in the range of 3 to 12 volts 0-C.. Higher
input voltages may be handled by adding an external current
limiting resistor in series with R to limit the circuit
current to 2OmA.
- a -
CROM-1 MANUAL REGISTER STRUCTURE
Fig. 3.1 Isolated Logical Input Circuit of IPO-1~3
Relay outputs
The 2 control relays are operated by bits DO & Dl of a
write only register at BASE Address + 3:-
Data bus bit
07 D6 DS D4 03 D2 01 DO
x x x x x x REL 1 REL 0
A Logic 1 corresponds to an energized relay, bits D2-07 are
irrelevant. The relay register is cleared on reset (power
up) de-energizing both relays. The output connections of
the relays are shown in Fig. 3.2. Relays are rated at 1A
at 28~ D.C. and 0.5A at 120~ A.C. (resistive).
Double pole contacts
A NO
A NC
A CCHTION
0 Energized
(or))
8 De-energized
(off)
-F ig. 3.2 Control Relay Connect ions
- 9 -
REGISTER STRUCTURE CROH-I MANUAL
3.2 CONNECTING UP CROM-I
All connections are made to a 25 pin D type female
connector that projects through the back mounting plate of the
board. A 25 pin D type male connector should be used to make
connections CMetraByte part number SMC-25). The pin assignments are
as follows:-
CHANNEL 0 ANALOG INPUT \
14 CALIBRATION
i REFERENCE (+lv)
CHANNEL I ANALOG INPUT 2
15i ANALOG COMMON
ANALOG COMMON 3
l( i IPI+
IP3f 4
17 IPI-
IP3- 5
It 1 IPot
xp2+ 6
15 , IPO-
IP2- 7
2c I RELAY OB NC
RELAY OA NC 8
21 RELAY OB COMMON
RELAY OA COMMON 9
22 RELAY OB NO
RELAY OA NO IO
23 RELAY IB NC
RELAY IA NC 11
24 RELAY IB COMMON
RELAY IA COMMON 12
25 RELAY IB NO
RELAY IA NO I3
NO = Normally open (de-energized)
NC = Normally closed (de-energized)
Fig. 3.3 CROM-I Connector (Rear View)
- IO -
CROM-I MANUAL REGISTER STRUCTURE
Two wires are. usually all that is required to connect to your signal
source. In a noisy environment, shielded coaxial cable is
recommended uired as shoun in Fig. 3.4. If a compatible screw
terminal connector board is required, use MetraByte model STA-U with
K-1800 cable.
r
: 1
14
Co-axial cable
2
I5
CHROMA'UXRAPH 3
I6
4
17
5
I8
The - output of the ch~romatograph ,5
may be connected to ground. 19'
r
20
t3
21
$P
22
1IO
23
I 1
24
12
25
13
L
CRC+-1
Fig. 3.4 Analog Signal Source Wiring
- I1 -
PROGRAMMING CROM-I MANUAL
Section 4
PROGRAMMING
4.1 PROGRAMMING CROM-I
This section provides information to programmers uho wish
to use the MetraByte utility software supplied with CROM-1. If you
intend to operate with a high level menu driven data acquisition
package such as Labtech Notebook or CHROM+, you can skip this section
and refer to the instructions included in the Labtech documentation
instead.
At the lowest level, CROM-I is programmed using I/O input
and output' instructions such as BASIC's INP (port) and OUT port,Y
functions or assembly language IN AL,DX and OUT DX;AL. Most other
languages (with the exception of Fortran) have equivalent
instructions. For Microsoft Fortran, MetraByte can supply a' library
that includes both I/O and memory access routines.
Programming directly with I/O commands involves formatting
data and dealing with absolute I/O add'resses. Although not
demanding, this can require many lines of code and necessitates an
understanding of the devices, data format and architecture of the
CROM-I. Also many languages, such as BASIC, do not support the
writing of interrupt routines, and this is a major obstacle as
interrupts are very effectively utilised in the operation of the
CROM-I_ To simplify program generation in BASIC,. a special I/O
driver routine "CROM.BIN" is included in the CROH-1 software
package. Apart from providing an interrupt service routine, the
driver also includes a 10,000 point FIFO (first in - first out)
buffer to hold data uhich may then be accessed asynchronously by a
BASIC program using a single line CALL statement. This lets you
process data in the program e.g. graph, f i le, analyze or print it at
any speed without affecting the sampling operation of the CROM-1.
Each time the CALL is entered, one data item is removed from the
buffer for processing by the program. On the first entry to the
CALL, the driver also looks after initialization of the CROM-I (this
is described in more detail in Section 4.5).
The object file of the driver, CROM.OBJ is included for
linking when compiling your BASICA program using the IBM Uasic
Compiler or Microsoft Quick Basic (see Section 4.10). Also for
assembly language programmers and those wishing to interface to other
r .,,I
- 12 -
CROM-1 MANUAL PR06RAMlN6
languages, the fully commented source code, CROM.ASM, of the driver
is provided (see Section 4.12). This can' be modi~fied and re-assembled
as required, though MetraBytecan only support inquiries concerning
operation of the driver in its unmodified form.
4.2 LOADING THE MACHINE LANGUAGE CALL ROUTINE "CROM.BIN"
In order to make use of the CALL routine "CROM.BIN", it
must first be loaded into memory. You must avoid loading it over any
part of memory that is being used by the main body of your program or
DOS or programs which use high memory such as "RAU disks". If you do
collide uith another program, your computer will usually hang up
although sometimes the results can be more peculiar. Often you will
need to turn the power off and restore it to re-boot the machine, the
usual Ctrl-Alt-Delete reset may fail to do anything. This may sound
ominous, but apart from the frustration, no damage will ever result!
Since CROM.BIN uses about 41 Kbytes of memory (4OK is the
FIFO buffer), it is best loaded outside BASIC's workspace. A typical
l.oading sequence is as follous:-
xx100 DEF SEG = &H3000 `segment of memory to load link
(choose an empty area e.g. .g 192K)
xx110 BLOAD "CROM.BIN" , 0 `load driver
. _
Continue program
The above initializing steps will be the same for any interpreted
BASIC program. A more comprehensive example is provided on the disk
as EX.BAS. Note that the DEF SEG = RH3000 statement in Line 100
specifies the load location for the CROM.BIN driver. All subsequent
CALL's will occur to the last DEF SEG address, so if you add other
DEF SEG's in your program, remember to precede your CALL's to CROU-1
with the same DEF SEG = SH3000 that you used to Load the link (see
CALL and DEF SEG in your BASIC reference manual). Finding a place to
Load CROM.BIN is seldom much of a problem now that most PC's are
equipped with at least 256K of memory. The following explanation
provides some insight into the process of choosing a memory location
for the driver and what to do if memory is in short supply.
DOS occupies the bottom of memory, the amount of memory
required being dependent on the version (it grows as each new
revision adds extra features!). The simplified memory map in Fig 4.1
overleaf shows what happens after booting up BASICA.
- 13 -
PROGRAMING CROM-1 MANUAL
DOS 1.1
_- DOS 2.1
-- DOS 3-O
~-
Bottom . . OK ------- OK ------- OK -------
DOS
I9K _------
DOS
BASIC
BASIC
BASIC
98K ______-
Free
memory 126K -------
Free 140K -------
memory
Free
memory
Fig. 4.1 Memory map with DOS and BASIC installed
CROM.BIN should be loaded somewhere in the free memory area so that
it does not interfere with either BASIC or DOS. This would be above
98K CSHI880) for DOS 1.1, 126K CSHIF80) for DOS 2.1 or 140K CEH2300)
for DOS 3.0. If you have 256K (EH4000) or more of memory, then
loading the link at DEF SEG = EH2800 or &H3000 is a good solution for
all versions of DOS. Dne further small detail is that if you are
using a PC compatible which does not have BASIC in ROM like the IBM,
then BASIC is usually loaded as an .EXE file from the top of memory
down _ This is likely to fill up to 64K of the top