Path: utzoo!mnetor!uunet!lll-winken!lll-lcc!lll-tis!mordor!sri-spam!ames!nrl-cmf!cmcl2!husc6!bbn!uwmcsd1!ig!agate!ucbvax!HNYKUN11.BITNET!U613127 From: U613127@HNYKUN11.BITNET (Olaf Seibert) Newsgroups: comp.sys.amiga Subject: Re: serial port expansion Message-ID: <8802042325.AA08851@jade.berkeley.edu> Date: 4 Feb 88 21:45:28 GMT Sender: daemon@ucbvax.BERKELEY.EDU Lines: 44 I have another idea regarding extra serial boards. Just create a utility to dynamically permutate the unit numbers of several serial ports. If you use a program that only knows about unit 0: Fine, give the port you want it to open the number 0 and start the program. If you have another such program, just swap unit numbers and the second program can also have unit 0, but another one. Just make sure the serial IO requests are properly initialized, so the IO requests can be related to the correct physical port. This means that different ports should have unique device pointers, or unique unit pointers, even if their unit NUMBERS are nor unique. [ I do not have the RKM handy, but I think you get Unit pointers in your serial IO Request. If only the unit number makes it into the Request, the juggler can change the 0 in it to the real unit number ] In any case, no serial device driver needs to be changed to support this juggler, whether it supports only one unit, or more than one. You can also have the option to make the jugging automatic. That could mean something like: If you open unit 0, you get the first available unit. This is of course only suitable for programs that keep the port open all the time they may need it, and close it only after they are all done. After some time, all programs know that there may be more than one serial port, and that they may even have a name other than serial.device, and you can dispose of the unit number juggler. How about this? Pro:*No change necessary in existing programs. Only the juggler needs to be aware of the file names for the different port drivers. Of course, it would be best if one driver drives all ports. *If done properly, no preloading needed of drivers OR resident lists. *I don't have to read ununderstandable pages like 'AllcoConfigDev' or something like that. *The juggler is optional, but can be kept even when no longer needed. Con:*Propably the juggler needs to juggle with the list of devices. *Maybe it can install a fake serial.device ahead of the real one to catch all OpenDevices. *Maybe it is a little tricky (read: dirty), but its need is not permanent, unlike some other proposals. *I don't have a modem, a private phone nor a >1st serial port. Olaf Seibert.