### Endpoints

Many emulated devices such as the printer port and serial ports naturally process streams of data. Whether on the command line or through menus trs80gp lets you connect these devices to endpoints which can be other programs (via TCP/IP) or files or built-in devices.

Some of these connections would not make physical sense on a real machine. The printer port can be hooked up to the RS-232 serial port. Or the built-in mouse emulation can be tied to the keyaboard input endpoint. trs80gp does not generally limit the possiblities.

Here are all the possible endpoints as they would be written on the command line. When a command line option says it will take an `enpoint` then any one of these may be written in.

Endpoint | Operation
--- | ---
:port | Connect to the given TCP/IP port on the local host. For example, `:8900` to connect to port 8900. trs80gp will keep trying to connect so it will still work if the server is not immediately listening on The port.
@port | Listen for connections on then given TCP/IP port.
host:port | Connect to the given TCP/IP host and port. Like the `:port` syntax but allows connection to remote machines.
|command %p | trs80gp will listen for TCP/IP connections and put the port number in place of `%p` in the command line given and run that command. For instance, this will connect a Model 3 to an emulate MX-70 printer: `trs80gp -p "|trs80gp -mx70 -p :%p"` This is how trs80gp does `trs80gp -p :mx70` internally.
/dev/ttyname | Hook device to the Unix hardware serial port (e.g., `/dev/ttyUSB0`) or named pipe. If hooked to a trs80gp serial port the emulator will control the real serial port baud rate and other communcation parameters.
>filename | Output to the device is written to the given file.
<filename | Input from the device is read from the given file.
<infile>outfile | Combine the <infile and >outfile to specify both where to read input and where to write output.
:loop | Connect a loopback device that will echo any input it receives as output. This will operate like a physical loopback on bidirectional devices like serial ports.
:mouse | Emulated 2 button mouse. Normally only connected to a serial port.
:mouse3 | Emulated 3 button mouse. Normally only connected to a serial port.
:dt1 | Connect to an emulated DT-1 terminal.
:v | Connect to a Videotex emulator.
:mx70 | Connect an emulated MX-70 printer. Normally only attached to printer or serial ports.
:ec | Connect an Electric Crayon Emulator.

Here are the devices that can be hooked up to endpoints, the command line argument for that device hookup and the menu entry that can be used to check the connection status or make a new connection.

Device | Command Line Option | Menu
--- | --- | ---
printer port | `-p` | Printer → Connection...
serial port | `-r` or `-rA` | Serial → Port A...
second serial port | `-rB` | Serial → Port B...
keyboard input | `-ip` | Keyboard → Connection...
Becker port | `-becker` | Serial → Becker...
Events | `-event` | Debug → Event...