Article View: comp.sys.amiga.tech
Article #30Serial Device(s)
From: Chuck McManis
Date: Tue, 13 Jun 1989 21:56
Date: Tue, 13 Jun 1989 21:56
70 lines
3400 bytes
3400 bytes
Serial devices are one of those things that everyone and their avocado plant
seems to have an opinion on. My plant is no exception.
The sort of general question I raised to Commodore a year and a half ago when
various folks were looking intensely at this problem, was why do people care
what "device" the serial interface is using? The reason is and continues to
be, because SER: is broken and doesn't provide the needed capabilities of
a "proper" serial device. AUX: was supposed to fix that sort of.
Generally, there are two ways in which one might use a serial device. The
first way is as a server driven port. Meaning that the host computer controls
what goes out, and usually expects nothing, or very small things to come back
into it. This is the SER: model, and it works well for plotters and printers
and other serial devices. The second way in which these ports are used is as
interactive data streams. Either externally driven such as in a BBS application,
or internally driven in the case of a terminal emulator program. In both cases
there are two "peers" on either end of the connection, each generating
information and data in an unpredictable manner. This is what AUX: is supposed
to handle.
So the question arises, as it inevitably does, what about name spaces?
My idea was that with some minor modifications you could make a name
space "under" AUX: that looked just like a disk name space. Specifically,
you allow the handler to deal with locks and in those locks it stores
useful information about the device.
So how would that look to the user? Well maybe you could type
1> dir AUX:
asdg (dir)
amiga (dir)
foobar (dir)
And then
1> dir AUX:amiga
110 (dir)
300 (dir)
600 (dir)
...
19200 (dir)
And then
1> dir AUX:amiga/1200
7E1 7E2 7O1 7O2
7M1 7M2 7S1 7S2
8N1 8N2
And for connections to tymenet you might want to say
1> Assign MODEM: AUX:amiga/1200/8N1
Then tell your terminal emulator to open MODEM: and it would
do the right thing. Want to switch to 2400 baud? Call Examine()
on the Modem lock and find the baudrate number (mfgr/<baud>/options)
Try for a Lock on AUX:mfgr/2400/options and if it works then great.
Same goes for setting the option bits.
Now of course the directories here would be completely fabricated
by the name space agent for AUX: which is similar to the file system
handler for disks. If you could get an established a set of packets/device
commands for setting these parameters, and get manufacturer buy in. Then
it would be a fairly simple matter to "install" new serial ports, simply
drag the device into a special drawer (maybe Expansion/serial) Doing
assigns are still problematic at the workbench level. Read() and Write()
would work as expected, and the world would continue to be orthogonal.
Comments ?
--Chuck McManis
uucp: {anywhere}!sun!cmcmanis BIX: cmcmanis ARPAnet: cmcmanis@sun.com
These opinions are my own and no one elses, but you knew that didn't you.
"A most excellent barbarian ... Genghis Kahn!"
Technical Details
Message-ID:
<109829@sun.Eng.Sun.COM>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!cs.utexas.edu!sun-barr!sun!pepper!cmcmanisShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!cs.utexas.edu!sun-barr!sun!pepper!cmcmanis From: cmcmanis%pepper@Sun.COM (Chuck McManis) Newsgroups: comp.sys.amiga.tech Subject: Serial Device(s) Message-ID: <109829@sun.Eng.Sun.COM> Date: 13 Jun 89 21:56:49 GMT Sender: news@sun.Eng.Sun.COM Lines: 70