Cleaned up the formatting of the pdp11_dmc help output as suggested by Jacob Goense

This commit is contained in:
Mark Pizzolato 2013-03-21 09:49:50 -07:00
parent 9cbacc32cf
commit a28d5d7737

View file

@ -821,81 +821,82 @@ t_stat dmc_setlinemode (UNIT* uptr, int32 val, char* cptr, void* desc)
t_stat dmc_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, char *cptr)
{
fprintf(st, "The DMC11 is a synchronous serial point-to-point communications device.");
fprintf(st, "A real DMC11 transports data using DDCMP, the emulated device makes a");
fprintf(st, "TCP/IP connection to another emulated device and sends length-prefixed");
fprintf(st, "messages across the connection, each message representing a single buffer");
fprintf(st, "passed to the DMC11. The DMC11 can be used for point-to-point DDCMP");
fprintf(st, "connections carrying DECnet and other types of networking, e.g. from ULTRIX or DSM.\n");
fprintf(st, "The DMC11 is a synchronous serial point-to-point communications device.\n");
fprintf(st, "A real DMC11 transports data using DDCMP, the emulated device makes a\n");
fprintf(st, "TCP/IP connection to another emulated device and sends length-prefixed\n");
fprintf(st, "messages across the connection, each message representing a single buffer\n");
fprintf(st, "passed to the DMC11. The DMC11 can be used for point-to-point DDCMP\n");
fprintf(st, "connections carrying DECnet and other types of networking, e.g. from ULTRIX\n");
fprintf(st, "or DSM.\n\n");
fprintf(st, "The line mode of the two ends of the link must be set. One end must always\n");
fprintf(st, "be primary and one end always secondary, setting both to primary or both\n");
fprintf(st, "to secondary will not work. If there are firewall problems at one side,\n");
fprintf(st, "set that side to be primary as the primary always initiates the TCP/IP\n");
fprintf(st, "connection.\n");
fprintf(st, "\n");
fprintf(st, "The line mode of the two ends of the link must be set. One end must always");
fprintf(st, "be primary and one end always secondary, setting both to primary or both");
fprintf(st, "to secondary will not work. If there are firewall problems at one side, set");
fprintf(st, "that side to be primary as the primary always initiates the TCP/IP connection.\n");
fprintf(st, " sim> SET DMC0 LINEMODE= {PRIMARY|SECONDARY}\n");
fprintf(st, "\n");
fprintf(st, "SET DMC0 LINEMODE= {PRIMARY|SECONDARY}\n");
fprintf(st, "To set the host and port to which data is to be transmitted use the\n");
fprintf(st, "following command (required for PRIMARY and SECONDARY, secondary will check\n");
fprintf(st, "it is receiving from the configured primary):\n");
fprintf(st, "\n");
fprintf(st, "To set the host and port to which data is to be transmitted use the following");
fprintf(st, "command (required for PRIMARY and SECONDARY, secondary will check it is");
fprintf(st, "receiving from the configured primary):\n");
fprintf(st, " sim> SET DMC0 PEER=host:port\n");
fprintf(st, "\n");
fprintf(st, "SET DMC0 PEER=host:port\n");
fprintf(st, "The device must be attached to a receive port, use the ATTACH command\n");
fprintf(st, "specifying the receive port number, even if the line mode is primary.\n");
fprintf(st, "\n");
fprintf(st, "The device must be attached to a receive port, use the ATTACH command specifying");
fprintf(st, "the receive port number, even if the line mode is primary.\n");
fprintf(st, "The minimum interval between attempts to connect to the other side is set\n");
fprintf(st, "using the following command:\n");
fprintf(st, "\n");
fprintf(st, "The minimum interval between attempts to connect to the other side is set using");
fprintf(st, "the following command:\n");
fprintf(st, "\n");
fprintf(st, "SET DMC0 CONNECTPOLL=n\n");
fprintf(st, " sim> SET DMC0 CONNECTPOLL=n\n");
fprintf(st, "\n");
fprintf(st, "Where n is the number of seconds. The default is 30 seconds.\n");
fprintf(st, "\n");
fprintf(st, "If you want to experience the actual data rates of the physical hardware you can");
fprintf(st, "set the bit rate of the simulated line can be set using the following command:\n");
fprintf(st, "If you want to experience the actual data rates of the physical hardware you\n");
fprintf(st, "can set the bit rate of the simulated line can be set using the following\n");
fprintf(st, "command:\n\n");
fprintf(st, " sim> SET DMC0 SPEED=n\n");
fprintf(st, "\n");
fprintf(st, "SET DMC0 SPEED=n\n");
fprintf(st, "\n");
fprintf(st, "Where n is the number of data bits per second that the simulated line runs at.");
fprintf(st, "In practice this is implemented as a delay in reading the bytes from the socket.");
fprintf(st, "Use a value of zero to run at full speed with no artificial throttling.\n");
fprintf(st, "Where n is the number of data bits per second that the simulated line runs\n");
fprintf(st, "at. In practice this is implemented as a delay in reading the bytes from\n");
fprintf(st, "the socket. Use a value of zero to run at full speed with no artificial\n");
fprintf(st, "throttling.\n");
fprintf(st, "\n");
fprintf(st, "To configure two simulators to talk to each other use the following example:\n");
fprintf(st, "\n");
fprintf(st, "Machine 1\n");
fprintf(st, "SET DMC0 ENABLE\n");
fprintf(st, "SET DMC0 PRIMARY\n");
fprintf(st, "SET DMC0 PEER=LOCALHOST:2222\n");
fprintf(st, "ATTACH DMC0 1111\n");
fprintf(st, " sim> SET DMC0 ENABLE\n");
fprintf(st, " sim> SET DMC0 PRIMARY\n");
fprintf(st, " sim> SET DMC0 PEER=LOCALHOST:2222\n");
fprintf(st, " sim> ATTACH DMC0 1111\n");
fprintf(st, "\n");
fprintf(st, "Machine 2\n");
fprintf(st, "SET DMC0 ENABLE\n");
fprintf(st, "SET DMC0 SECONDARY\n");
fprintf(st, "SET DMC0 PEER= LOCALHOST:1111\n");
fprintf(st, "ATTACH DMC0 2222\n");
fprintf(st, " sim> SET DMC0 ENABLE\n");
fprintf(st, " sim> SET DMC0 SECONDARY\n");
fprintf(st, " sim> SET DMC0 PEER= LOCALHOST:1111\n");
fprintf(st, " sim> ATTACH DMC0 2222\n");
fprintf(st, "\n");
fprintf(st, "Debugging\n");
fprintf(st, "=========\n");
fprintf(st, "The simulator has a number of debug options, these are:\n");
fprintf(st, " REG. Shows whenever a CSR is read or written and the current value.\n");
fprintf(st, " INFO. Shows higher-level tracing only.\n");
fprintf(st, " WARN. Shows any warnings.\n");
fprintf(st, " TRACE. Shows more detailed trace information.\n");
fprintf(st, " DATA. Shows the actual data sent and received.\n");
fprintf(st, " DATASUM. Brief summary of each received and transmitted buffer. Ignored if DATA is set.\n");
fprintf(st, " SOCKET. Shows socket opens and closes.\n");
fprintf(st, " CONNECT. Shows sockets actually connecting.\n");
fprintf(st, " REG Shows whenever a CSR is read or written and the current value.\n");
fprintf(st, " INFO Shows higher-level tracing only.\n");
fprintf(st, " WARN Shows any warnings.\n");
fprintf(st, " TRACE Shows more detailed trace information.\n");
fprintf(st, " DATA Shows the actual data sent and received.\n");
fprintf(st, " DATASUM Brief summary of each received and transmitted buffer.\n");
fprintf(st, " Ignored if DATA is set.\n");
fprintf(st, " SOCKET Shows socket opens and closes.\n");
fprintf(st, " CONNECT Shows sockets actually connecting.\n");
fprintf(st, "\n");
fprintf(st, "To get a full trace use\n");
fprintf(st, "\n");
fprintf(st, "SET DMC0 DEBUG\n");
fprintf(st, " sim> SET DMC0 DEBUG\n");
fprintf(st, "\n");
fprintf(st, "However it is recommended to use the following when sending traces:\n");
fprintf(st, "\n");
fprintf(st, "SET DMC0 DEBUG=REG;INFO;WARN\n");
fprintf(st, " sim> SET DMC0 DEBUG=REG;INFO;WARN\n");
fprintf(st, "\n");
fprintf(st, "\n");
return SCPE_OK;
}