This device is a virtualization of Norberto Collado's H89 USB/Serial modern add-on to H89 computers, or H-8 USB. It provides a USB serial port connection via an FT245R module, and access to USB storage devices (e.g. "Jump Drives") via a VDIP1 module. This add-on is of interest because the FT245R device connects an H89 to a modern host computer, and is essentially a point-to-point network. With CP/Net running on the H89 and appropriate software running on the host (e.g. HostFileBdos) it would provide an easy way to exchange files between an H89 and the modern world. Having a virtual implementation of the hardware allowed development and testing of a CP/Net SNIOS module without requiring real hardware.
The device takes over the H89 Modem serial port address, and adds two standard H89 serial ports for LinePrinter and Auxiliary. It cannot be used with other devices that supply serial ports, although if the virtual H89 discovers it before, say, the MMS 77320 then it should work fine. This requires using a lower numbered slot for the USB/Serial card than for the MMS 77320. The MMS 77320 may also be specified with the "ns" option which disable its serial ports and allows another board to supply serial ports.
The FT245R device is configured as a CP/Net Device, and shares much of the configuration method with CPNetDevice, although the property prefix will be "ft245rdevice_" instead of "cpnetdevice_". Properties for HostFileBdos are the same in either case.
This device is based on the FTDI FT245R and VDIP1 USB chips, hence the property names.
To use the FT245R device, something must be attached to the "other end". In real hardware, some program would be running on the host computer and be attached to the tty device (serial port) associated with the USB. The JAVA application CpnetSerialServer.jar is designed to do that, using the "tty=" argument to select a tty device. This may also be set to "stdio" for use in the virtual H89, where the "ft245rdevice_att=ProgramSerial..." property is used to invoke it.
Typical usage for Virtual H89 would be:
ft245rdevice_att = ProgramSerial java -jar CpnetSerialServer.jar conf=rc log=log
The config file ("rc") contains properties to setup the client as well as known servers. Typically, server 00 will be a local HostFileBdos server. Property prefix is "cpnet_". This would include a property "cpnet_tty=stdio", which is required to make it function properly in this environment.
For real hardware, this program would be invoked something like:
java -jar CpnetSerialServer.jar conf=rc log=log
And the "rc" file would contain (e.g. on Linux) a property "cpnet_tty=/dev/ttyUSBX" (where 'X' is replaced by the appropriate index for the associated tty device). TBD: do baud, or other serial parameters, need to be specified.
Any use of CpnetSerialServer requires that the RXTX JAVA extension be installed, even if it is only used with "tty=stdio".
Accessible servers are setup using "cpnet_server##" properties, as described for Virtual CP/Net Device.
The rest of the properties are the same as for the Virtual CP/Net Device except that the prefix is "cpnet_".
Both short (binary) and extended (ASCII) command modes are supported. Both binary and ASCII number modes are supported. Note that testing has involved only extended command and ASCII number modes.
Currently, no other types of USB devices are supported (only USB storage devices).
Within the "USB drive" root directory, all file and directory names are forced to lower case. Only files which conform to 8+3 format, and are lower case only, may be accessed by the VDIP1. The "relaxed" filenames supported by the actual VDIP1 firmware are not allowed. Specifically, "FILENAMETYP => FILENAME.TYP" and "LONGFILENAME.TYPE => LONGFILE.TYP" conversions are not allowed.
It is not normally possible to "escape" from the root directory currently assigned as the USB drive, however programs may perform any operations within that directory, including destructive ones. Symlinks to outside directories or files would permit escape, so caution must be used in selecting a directory to use as a USB drive.