home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Simtel MSDOS 1999 January
/
Simtel-MSDOS-Jan1999-CD2.iso
/
io_utils
/
serial.doc
< prev
next >
Wrap
Text File
|
1998-12-10
|
2KB
|
57 lines
SERIAL inserts itself into memory below command.com (it uses
the "terminate but stay resident" DOS call), and changes the ROM
bios interupt vectors for rs232 io to use interupt driven I/O.
Thus if you have a program that uses the ROM BIOS to do serial I/O,
and the program has been limited in speed by the poor performance
of the standard ROM routines, all you need to do is run SERIAL first,
and the program will suddenly magically work at speeds up to 9600 bps.
This is also useful for writing programs that will be transportable
to IBM lookilikes that emulate the ROM BIOS, but not the same hardware
configuration.
Instructions for use:
edit SERIAL to reflect your choice of buffer size and
handshaking characters.
assemble using the macro assembler.
link using link.
convert to COM file using exe2bin.
delete .EXE file.
SERIAL works with both DOS 1.1 and 2.0.
Limitations:
It isnt clear that the "initialize port" function
of int 14h works propery.
Various IBM programs will break SERIAL by virtue of
not leaving the serial port as it was found. Most
notable amoung these are MODE and BASICA. If this
happens, it will probably be necessary to power cycle
the system.
SERIAL is set up for COM1 only. It could easilly
be converted to use COM2, and with slightly more
difficulty, both.
SERIAL only receives characters on an interupt basis,
characters output to the serial port are sent in the
old slow manner. Thus SERIAL is not particurally
useful for, say, a serial printer spooler.
SERIAL does not check the various other RS232 signals
that the orignal ROM routine do. Thus, depending on
exactly how the hardware works, hardware handshaking
may not work.
If anyone makes useful changes, Id like to here about them [in
particular, a "SERIAL COM1:9600,n,8,1,<bufsiz>" user interface
might be nice. SERIAL already uses the space taken up by the
initialization code as part of the buffer].
Enjoy
BillW