[comp.sys.amiga] Flible CON: Handler

robocop@netmbx.UUCP (Thorsten Ebers) (05/18/88)

Hi is teher anybody out there ? :-)
This is an idea of a Ralph Babel.He asked me to post it.Any comments should be
posted to 'comp.sys.amiga.tech' or written to his address.
His address is at the bottom of his idea.

Thanx robocop@netmbx.UUCP(don't mail me outside germany)

For Andy Finkel: Drop me a short line if you read this idea.

now here comes his idea:

This is an idea I would like to see being implemented in
maybe Kickstart 1.4. It would enable the user to combine the
features provided by NEWCON: or CON: with devices other than
the console.device.

To implement a new disk device to be used with the standard
filing system or FFS you must simply create a new
exec-device that behaves like the trackdisk.device, a new
MountList entry, that's it! Oh yeah: except for RAM:, VDK:
and the like, but you know what I'm hinting at.

Imagine we could do the same with the console-handler.
Imagine an environment vector for the console-handler and a
MountList entry like ...

AUX: Handler = L:NewCon-Handler
     Device  = DEVS:serial.device /* hopefully an ANSI-terminal */
     ...

The benefits are obvious, I think, although there might be
some problems: The console-handler _might_ need more than
just the CMD_READ and CMD_WRITE calls (I don't think so), so
we probably have to write a VERY SIMPLE new device or
enhance the serial.device.

Second problem: The console.device is special since it has
to be connected to an intuition window, quite difficult via
the serial port :-) . Add a "ConsoleType" keyword to the
MountList entry:

 0 = open intuition window as specified by the filename
     after the device name (CON:0/0/640/200/foo), then pass
     window pointer to the IOStdReq and open the device.

 1 = ignore filename, don't open or close anything, just the
     device as specified in the environment vector. This
     type should probably ignore ACTION_DISK_INFO.

An additional flag would specify if the console-handler is
to be opened as RAW or CON or even as NEWCON initially (they
will hopefully be combined into a single handler for
Kickstart 1.4 ...). Maybe a "Unit" keyword, same as the
default filing system (multiple serial ports, aarrrgghhh -
not again :-) :-) :-) ). And the size of the IORequest to be
used.

I think these ideas wouldn't be hard to implement. A
different method would be to utilize the filename after
"CON:" to pass additional information, just like "ConMan"
(CON:Dserial.device). At least it would obsolete all
Aux-Handlers (and make AUX: more compatible to CON:) and
make interfacing a new console-device much easier. Don't
care about ACTION_RAW_MODE, line buffering, history, CTRL-X
or whatever: Your device just talks ANSI - that's it!

Why hasn't anyone thought of it before? Or has anyone? Did I
miss anything? Any comments & ideas appreciated, especially
from C-A.

BTW: The MOUNT command should search the resident-list for
the handler specified in the MountList, so re-entrant
handlers won't be loaded several times (like PRT:, PAR: and
SER:).

Thanks,

!ralph

Ralph Babel, Falkenweg 3, D-6204 Taunusstein, FRG