1
0
mirror of https://github.com/rcornwell/sims.git synced 2026-01-11 23:52:48 +00:00

I7000: Fixed coverity errors, updated help.

Note CR and CP devices are now called CDR and CDP.
   CON device is now called INQ.
This commit is contained in:
Richard Cornwell 2017-05-29 22:14:55 -04:00
parent 87c24d0e9e
commit e4a916f001
27 changed files with 347 additions and 293 deletions

View File

@ -85,21 +85,21 @@ UNIT cdp_unit[] = {
MTAB cdp_mod[] = {
{MTAB_XTD | MTAB_VUN, 0, "FORMAT", "FORMAT",
&sim_card_set_fmt, &sim_card_show_fmt, NULL},
&sim_card_set_fmt, &sim_card_show_fmt, NULL, "Set card format"},
#ifdef I7070
{ATTENA|ATTENB, 0, NULL, "NOATTEN", NULL, NULL, NULL},
{ATTENA|ATTENB, ATTENA, "ATTENA", "ATTENA", NULL, NULL, NULL},
{ATTENA|ATTENB, ATTENB, "ATTENB", "ATTENB", NULL, NULL, NULL},
{ATTENA|ATTENB,0, NULL, "NOATTEN", NULL, NULL, NULL, "No attention signal"},
{ATTENA|ATTENB,ATTENA, "ATTENA", "ATTENA", NULL, NULL, NULL, "Signal Attention A"},
{ATTENA|ATTENB,ATTENB, "ATTENB", "ATTENB", NULL, NULL, NULL, "Signal Attention B"},
#endif
#ifdef I7010
{MTAB_XTD | MTAB_VUN | MTAB_VALR, 0, "CHAN", "CHAN", &set_chan,
&get_chan, NULL},
&get_chan, NULL, "Set device channel"},
#endif
{0}
};
DEVICE cdp_dev = {
"CP", cdp_unit, NULL, cdp_mod,
"CDP", cdp_unit, NULL, cdp_mod,
NUM_DEVS_CDP, 8, 15, 1, 8, 8,
NULL, NULL, NULL, NULL, &cdp_attach, &cdp_detach,
&cdp_dib, DEV_DISABLE | DEV_DEBUG, 0, crd_debug,
@ -315,10 +315,11 @@ t_stat
stk_help(FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, const char *cptr)
{
fprintf (st, "%s\n\n", stk_description(dptr));
fprintf (st, "Allows stack control functions to direct cards to specific\n");
fprintf (st, "bins based on stacker selection.Attach cards here if you \n");
fprintf (st, "wish this specific stacker select to recieve this group of cards.\n");
fprintf (st, "If nothing is attached cards will be punched on the default punch\n\n");
fprintf (st, "Allows stack control functions to direct cards to specific ");
fprintf (st, "bins based on stacker\nselection. Attach cards here if you ");
fprintf (st, "wish this specific stacker select to recieve\nthis group of");
fprintf (st, " cards. If nothing is attached cards will be punched on the");
fprintf (st, " default\npunch\n\n");
sim_card_attach_help(st, dptr, uptr, flag, cptr);
fprint_set_help(st, dptr);
fprint_show_help(st, dptr);
@ -344,7 +345,7 @@ cdp_help(FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, const char *cptr)
#ifdef I7070
fprintf (st, "Unit record devices can be configured to interrupt the CPU on\n");
fprintf (st, "one of two priority channels A or B, to set this\n\n");
fprintf (st, " sim> set cp attena to set device to raise Atten A\n\n");
fprintf (st, " sim> SET %s ATTENA to set device to raise Atten A\n\n", dptr->name);
#endif
#ifdef I7010
help_set_chan_type(st, dptr, "Card punches");

View File

@ -88,23 +88,23 @@ UNIT cdr_unit[] = {
MTAB cdr_mod[] = {
{MTAB_XTD | MTAB_VUN, 0, "FORMAT", "FORMAT",
&sim_card_set_fmt, &sim_card_show_fmt, NULL},
&sim_card_set_fmt, &sim_card_show_fmt, NULL, "Set card format"},
#ifdef I7070
{ATTENA|ATTENB, 0, NULL, "NOATTEN", NULL, NULL, NULL},
{ATTENA|ATTENB, ATTENA, "ATTENA", "ATTENA", NULL, NULL, NULL},
{ATTENA|ATTENB, ATTENB, "ATTENB", "ATTENB", NULL, NULL, NULL},
{ATTENA|ATTENB, 0, NULL, "NOATTEN", NULL, NULL, NULL, "No attention signal"},
{ATTENA|ATTENB, ATTENA, "ATTENA", "ATTENA", NULL, NULL, NULL, "Signal Attention A"},
{ATTENA|ATTENB, ATTENB, "ATTENB", "ATTENB", NULL, NULL, NULL, "Signal Attention B"},
{MTAB_XTD | MTAB_VUN | MTAB_VALR, 0, "LCOL", "LCOL", &cdr_setload,
&cdr_getload, NULL},
&cdr_getload, NULL, "Load card column indicator"},
#endif
#ifdef I7010
{MTAB_XTD | MTAB_VUN | MTAB_VALR, 0, "CHAN", "CHAN", &set_chan,
&get_chan, NULL},
&get_chan, NULL, "Set device channel"},
#endif
{0}
};
DEVICE cdr_dev = {
"CR", cdr_unit, NULL, cdr_mod,
"CDR", cdr_unit, NULL, cdr_mod,
NUM_DEVS_CDR, 8, 15, 1, 8, 8,
NULL, NULL, NULL, &cdr_boot, &cdr_attach, &sim_card_detach,
&cdr_dib, DEV_DISABLE | DEV_DEBUG, 0, crd_debug,
@ -368,18 +368,25 @@ t_stat
cdr_help(FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, const char *cptr)
{
fprintf (st, "%s\n\n", cdr_description(dptr));
#if NUM_DEVS_CDR > 1
fprintf (st, "The system supports up to two card readers.\n");
#else
fprintf (st, "The system supports one card reader.\n");
#endif
#ifdef I7070
fprintf (st, "Unit record devices can be configured to interrupt the CPU on\n");
fprintf (st, "one of two priority channels A or B, to set this\n\n");
fprintf (st, " sim> set cp attena to set device to raise Atten A\n\n");
fprintf (st, " sim> SET %s ATTENA To set device to raise Atten A\n\n", dptr->name);
fprintf (st, "The 7500 Card reader supported a load mode, this was\n");
fprintf (st, "selected by use of a 12 punch in a given column. When this\n");
fprintf (st, "was seen the card was read into 8 words\n");
fprintf (st, " sim> set cp lcol=72 sets column to select load mode\n\n");
fprintf (st, "was seen the card was read into 8 words. Normal read is\n");
fprintf (st, "text only\n\n");
fprintf (st, " sim> SET %s LCOL=72 Sets column to select load mode\n\n", dptr->name);
#endif
#if NUM_DEVS_CDR > 1
#ifdef I7010
help_set_chan_type(st, dptr, "Card reader");
#endif
#endif
sim_card_attach_help(st, dptr, uptr, flag, cptr);
fprint_set_help(st, dptr);

View File

@ -135,8 +135,8 @@ void help_set_chan_type(FILE *st, DEVICE *dptr, char *name)
int i;
int m;
fprintf (st, "Devices can be moved to any channel via the command\n");
fprintf (st, " sim> SET %s CHAN=x\n\n where x is", dptr->name);
fprintf (st, "Devices can be moved to any channel via the command\n\n");
fprintf (st, " sim> SET %s CHAN=x where x is", dptr->name);
if (ctype & 3) {
if (ctype == 1 || ctype == 2)
fprintf(st, " only");
@ -146,7 +146,7 @@ void help_set_chan_type(FILE *st, DEVICE *dptr, char *name)
}
if ((ctype & ~3) != 0)
fprintf(st, " %s to %s", chname[1], chname[NUM_CHAN-1]);
fprintf (st, "\n%s can be attached to ", name);
fprintf (st, "\n\n%s can be attached to ", name);
m = 1;
for(i = 0; ctype != 0; i++) {
if (ctype & m) {

View File

@ -268,8 +268,8 @@ chron_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, const char *cptr)
fprintf (st, "Chronoclock\n\n");
fprintf (st, "The Chronoclock replaces one of your tape drives, and is\n");
fprintf (st, "for CTSS operation\n\n");
fprintf (st, " sim> SET %s ENABLE to enable chronoclock\n", dptr->name);
fprintf (st, " sim> SET %s UNIT=# sets unit to override\n\n", dptr->name);
fprintf (st, " sim> SET %s ENABLE to enable chronoclock\n", dptr->name);
fprintf (st, " sim> SET %s UNIT=# sets unit to override [0-9]\n\n", dptr->name);
help_set_chan_type(st, dptr, "Chrono clock");
fprintf (st, "You must disable the corrosponding tape drive in order for\n");
fprintf (st, "the chronoclook to be seen. The chronoclock replaces one of\n");

View File

@ -280,6 +280,8 @@ void com_post_eom();
t_bool com_inp_msg(uint32 ln, uint16 msg);
const char *com_description(DEVICE *dptr);
t_stat com_help(FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, const char *cptr);
const char *coml_description(DEVICE *dptr);
t_stat coml_help(FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, const char *cptr);
/* COM data structures
@ -310,10 +312,10 @@ REG com_reg[] = {
MTAB com_mod[] = {
{MTAB_XTD | MTAB_VUN | MTAB_VALR, 0, "CHAN", "CHAN",
&set_chan, &get_chan, NULL},
&set_chan, &get_chan, NULL, "Set channel"},
#ifndef I7010
{MTAB_XTD | MTAB_VUN | MTAB_VALR, 0, "SELECT", "SELECT",
&chan9_set_select, &chan9_get_select, NULL},
&chan9_set_select, &chan9_get_select, NULL, "Set selection channel"},
#endif
{UNIT_ATT, UNIT_ATT, "connections", NULL, NULL, &com_summ},
{MTAB_XTD | MTAB_VDV | MTAB_NMO, 1, "CONNECTIONS", NULL,
@ -376,11 +378,14 @@ UNIT coml_unit[] = {
};
MTAB coml_mod[] = {
{UNIT_K35 + UNIT_2741, 0, "KSR-37", "KSR-37", NULL},
{UNIT_K35 + UNIT_2741, UNIT_K35, "KSR-35", "KSR-35", NULL},
{UNIT_K35 + UNIT_2741, UNIT_2741, "2741", "2741", NULL},
{UNIT_K35 + UNIT_2741, 0, "KSR-37", "KSR-37", NULL, NULL, NULL,
"Standard KSR"},
{UNIT_K35 + UNIT_2741, UNIT_K35, "KSR-35", "KSR-35", NULL, NULL, NULL,
"Upper case only KSR"},
{UNIT_K35 + UNIT_2741, UNIT_2741, "2741", "2741", NULL, NULL, NULL,
"IBM 2741 terminal"},
{MTAB_XTD | MTAB_VUN, 0, NULL, "DISCONNECT",
&tmxr_dscln, NULL, &com_desc},
&tmxr_dscln, NULL, &com_desc, "Disconnect line"},
{MTAB_XTD | MTAB_VUN | MTAB_NC, 0, "LOG", "LOG",
&tmxr_set_log, &tmxr_show_log, &com_desc},
{MTAB_XTD | MTAB_VUN | MTAB_NC, 0, NULL, "NOLOG",
@ -397,9 +402,9 @@ REG coml_reg[] = {
DEVICE coml_dev = {
"COML", coml_unit, coml_reg, coml_mod,
COM_TLINES, 10, 31, 1, 16, 8,
NULL, NULL, &com_reset,
NULL, NULL, NULL,
NULL, DEV_DISABLE
NULL, NULL, &com_reset, NULL, NULL, NULL,
NULL, DEV_DISABLE, 0, NULL, NULL,
NULL, &coml_help, NULL, NULL, &coml_description
};
/* COM: channel select */
@ -445,7 +450,7 @@ t_stat com_svc(UNIT * uptr)
if (chan_test(chan, CTL_SNS)) {
int eor = (com_sta == 4)?DEV_REOR:0;
ch = (com_sense >> ((4 - (uint32)com_sta) * 4)) & 0xf;
ch = ((uint32)com_sense >> ((4 - com_sta) * 4)) & 0xf;
if (ch & 010) /* Move A bit over one */
ch ^= 030;
sim_debug(DEBUG_SNS, &com_dev, "sense unit=%02x\n", ch);
@ -1266,6 +1271,22 @@ com_reset_ln(uint32 ln)
coml_unit[ln].CONN = 0;
return;
}
const char *
coml_description(DEVICE *dptr)
{
return "IBM 7750 terminal";
}
t_stat
coml_help(FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, const char *cptr)
{
fprintf (st, "Each COM line can be set to a given type of terminal\n\n");
fprintf (st, " sim> SET COMLn KSR-37 Standard connection\n");
fprintf (st, " sim> SET COMLn KSR-35 Allows only upper case\n");
fprintf (st, " sim> SET COMLn 2741 Set to look like a 2741\n");
fprint_set_help (st, dptr);
fprint_show_help (st, dptr);
}
const char *
com_description(DEVICE *dptr)
@ -1281,13 +1302,13 @@ fprintf (st, "The ATTACH command specifies the port to be used:\n\n");
tmxr_attach_help (st, dptr, uptr, flag, cptr);
help_set_chan_type(st, dptr, "IBM 7750");
#ifndef I7010
fprintf (st, "Each device on the channel can be at either select 0 or 1, this is set\n");
fprintf (st, "with the\n set SET COM SELECT=n\n\n");
fprintf (st, "Each device on the channel can be at either select 0 or 1, \n");
fprintf (st, "this is set with the\n\n");
fprintf (st, " sim> SET COM SELECT=n\n\n");
#endif
fprintf (st, "Each COM line can be set to a given type of terminal\n");
fprintf (st, " sim> SET COMLn KSR-37 Standard connection\n");
fprintf (st, " sim> SET COMLn KSR-35 Allows only upper case\n");
fprintf (st, " sim> SET COMLn 2741 Set to look like a 2741\n");
fprint_set_help (st, dptr);
fprint_show_help (st, dptr);
return SCPE_OK;
}

View File

@ -87,7 +87,7 @@ UNIT con_unit[] = {
};
DEVICE con_dev = {
"CON", con_unit, NULL, NULL,
"INQ", con_unit, NULL, NULL,
NUM_DEVS_LPR, 8, 15, 1, 8, 8,
NULL, NULL, NULL, NULL, NULL, NULL,
&con_dib, DEV_DISABLE | DEV_DEBUG, 0, dev_debug,

View File

@ -1844,9 +1844,9 @@ t_stat dsk_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag,
fprintf (st, "IBM 7631 Disk File Controller\n\n");
fprintf (st, "The IBM 7631 Disk File Controller supports several types of ");
fprintf (st, "disk drives and\ndrums. The drive must be formatted for use ");
fprintf (st, "of the system. This is handled\nby utilities provided by the ");
fprintf (st, "operating system. This will write a special format track.\n");
fprintf (st, "Use:\n");
fprintf (st, "of the system. This is handled by\nutilities provided by the ");
fprintf (st, "operating system. This will write a special format\ntrack.\n\n");
fprintf (st, "Use:\n\n");
fprintf (st, " sim> SET DKn TYPE=type\n");
fprintf (st, "Type can be: ");
for (i = 0; disk_type[i].name != 0; i++) {
@ -1854,7 +1854,7 @@ for (i = 0; disk_type[i].name != 0; i++) {
if (disk_type[i+1].name != 0)
fprintf(st, ", ");
}
fprintf (st, ".\nEach drive has the following storage capacity:\n");
fprintf (st, ".\nEach drive has the following storage capacity:\n\n");
for (i = 0; disk_type[i].name != 0; i++) {
int32 size = disk_type[i].mods * disk_type[i].bpt *
disk_type[i].arms * disk_type[i].track * disk_type[i].cyl;
@ -1867,12 +1867,12 @@ for (i = 0; disk_type[i].name != 0; i++) {
fprintf(st, " %-8s %4d%cB %d modules\n", disk_type[i].name, size, sm,
disk_type[i].mods);
}
fprintf (st, "\n\nTo enable formating the format switch must be set ");
fprintf (st, "to enable, and the Home Address 2 write must be enabled.");
fprintf (st, "\nTo do this:\n");
fprintf (st, " sim> SET DKn FORMAT HA2\n");
fprintf (st, "To prevent accidental formating of the drive use:\n");
fprintf (st, " sim> SET DKn NOFORMAT NOHA2\n");
fprintf (st, "\nTo enable formating the format switch must be set ");
fprintf (st, "to enable, and the Home\nAddress 2 write must be enabled.\n");
fprintf (st, "To do this:\n\n");
fprintf (st, " sim> SET DKn FORMAT HA2\n\n");
fprintf (st, "To prevent accidental formating of the drive use:\n\n");
fprintf (st, " sim> SET DKn NOFORMAT NOHA2\n\n");
help_set_chan_type(st, dptr, "IBM 7631 Disk File");
fprint_set_help (st, dptr);
fprint_show_help (st, dptr);

View File

@ -645,7 +645,7 @@ ht_tape_cmd(DEVICE * dptr, UNIT * uptr)
cmd = t;
break;
default:
sim_debug(DEBUG_DETAIL | DEBUG_CMD, dptr, "Invalid command %x\n",
sim_debug((DEBUG_DETAIL | DEBUG_CMD), dptr, "Invalid command %x\n",
cmd);
ht_sense[schan] = PROG_INVCODE;
chan_set(chan, DEV_REOR|CTL_END);
@ -661,7 +661,7 @@ ht_tape_cmd(DEVICE * dptr, UNIT * uptr)
if (unit <= NUM_UNITS_HT)
ht_unit[schan] = unit;
else {
sim_debug(DEBUG_DETAIL | DEBUG_CMD, dptr,
sim_debug((DEBUG_DETAIL | DEBUG_CMD), dptr,
"Invalid unit %d cmd=%x\n", unit, cmd);
ht_sense[schan] = STAT_NOTRDY;
chan_set(chan, DEV_REOR|CTL_END);
@ -671,7 +671,7 @@ ht_tape_cmd(DEVICE * dptr, UNIT * uptr)
if (cmd == 0xff) {
/* command error */
sim_debug(DEBUG_DETAIL | DEBUG_CMD, dptr, "Invalid command %x\n",
sim_debug((DEBUG_DETAIL | DEBUG_CMD), dptr, "Invalid command %x\n",
cmd);
ht_sense[schan] = PROG_INVCODE;
chan_set(chan, DEV_REOR|CTL_END);
@ -683,7 +683,7 @@ ht_tape_cmd(DEVICE * dptr, UNIT * uptr)
up = &dptr->units[unit];
if ((up->flags & UNIT_ATT) == 0) {
/* Not attached! */
sim_debug(DEBUG_DETAIL | DEBUG_CMD, dptr, "Not ready %d cmd=%x\n",
sim_debug((DEBUG_DETAIL | DEBUG_CMD), dptr, "Not ready %d cmd=%x\n",
unit, cmd);
ht_sense[schan] = STAT_NOTRDY;
chan_set(chan, DEV_REOR|CTL_END);
@ -693,14 +693,14 @@ ht_tape_cmd(DEVICE * dptr, UNIT * uptr)
if (up->u5 & HT_NOTRDY || up->wait > 0) {
/* Unit busy */
sim_debug(DEBUG_DETAIL | DEBUG_CMD, dptr, "Busy unit %d cmd=%x\n", unit,
sim_debug((DEBUG_DETAIL | DEBUG_CMD), dptr, "Busy unit %d cmd=%x\n", unit,
cmd);
ht_sense[schan] = PROG_BUSY;
chan_set(chan, DEV_REOR|CTL_END);
chan9_set_error(chan, SNS_UEND);
return;
}
sim_debug(DEBUG_DETAIL | DEBUG_CMD, dptr, "Execute unit %d cmd=%x ",
sim_debug((DEBUG_DETAIL | DEBUG_CMD), dptr, "Execute unit %d cmd=%x ",
unit, cmd);
/* Ok, unit is ready and not in motion, set up to run command */
@ -711,7 +711,7 @@ ht_tape_cmd(DEVICE * dptr, UNIT * uptr)
r = MTSE_OK;
switch (cmd) {
case HSBR: /* Select for backwards reading */
sim_debug(DEBUG_DETAIL | DEBUG_CMD, dptr, "HSBR\n");
sim_debug((DEBUG_DETAIL | DEBUG_CMD), dptr, "HSBR\n");
up->hwmark = -1;
up->u6 = 0;
ht_sense[schan] |= BACK_MODE;
@ -721,7 +721,7 @@ ht_tape_cmd(DEVICE * dptr, UNIT * uptr)
break;
case HSEL: /* Select */
sim_debug(DEBUG_DETAIL | DEBUG_CMD, dptr, "HSEL\n");
sim_debug((DEBUG_DETAIL | DEBUG_CMD), dptr, "HSEL\n");
up->hwmark = -1;
up->u6 = 0;
chan_set(chan, DEV_REOR|DEV_SEL);

View File

@ -98,23 +98,23 @@ UNIT lpr_unit[] = {
};
MTAB lpr_mod[] = {
{ECHO, 0, NULL, "NOECHO", NULL, NULL, NULL},
{ECHO, ECHO, "ECHO", "ECHO", NULL, NULL, NULL},
{ECHO, 0, NULL, "NOECHO", NULL, NULL, NULL, "Don't echo to console"},
{ECHO, ECHO, "ECHO", "ECHO", NULL, NULL, NULL, "Echo to console"},
{MTAB_XTD|MTAB_VUN|MTAB_VALR, 0, "LINESPERPAGE", "LINESPERPAGE",
&lpr_setlpp, &lpr_getlpp, NULL},
&lpr_setlpp, &lpr_getlpp, NULL, "Number of lines per page"},
#ifdef I7080
{DOUBLE|PROGRAM, 0, "SINGLE", "SINGLE", NULL, NULL, NULL},
{DOUBLE|PROGRAM, DOUBLE, "DOUBLE", "DOUBLE", NULL, NULL, NULL},
{DOUBLE|PROGRAM, PROGRAM, "PROGRAM", "PROGRAM", NULL, NULL, NULL},
{DOUBLE|PROGRAM, 0, "SINGLE", "SINGLE", NULL, NULL, NULL, "Single space output"},
{DOUBLE|PROGRAM, DOUBLE, "DOUBLE", "DOUBLE", NULL, NULL, NULL, "Double space output"},
{DOUBLE|PROGRAM, PROGRAM, "PROGRAM", "PROGRAM", NULL, NULL, NULL, "Programatic spacing"},
#endif
#ifdef I7070
{ATTENA|ATTENB, 0, NULL, "NOATTEN", NULL, NULL, NULL},
{ATTENA|ATTENB, ATTENA, "ATTENA", "ATTENA", NULL, NULL, NULL},
{ATTENA|ATTENB, ATTENB, "ATTENB", "ATTENB", NULL, NULL, NULL},
{ATTENA|ATTENB, 0, NULL, "NOATTEN", NULL, NULL, NULL, "No attention signal"},
{ATTENA|ATTENB, ATTENA, "ATTENA", "ATTENA", NULL, NULL, NULL, "Signal Attention A"},
{ATTENA|ATTENB, ATTENB, "ATTENB", "ATTENB", NULL, NULL, NULL, "Signal Attention B"},
#endif
#ifdef I7010
{MTAB_XTD | MTAB_VUN | MTAB_VALR, 0, "CHAN", "CHAN", &set_chan,
&get_chan, NULL},
&get_chan, NULL, "Set device channel"},
#endif
{0}
};
@ -495,22 +495,23 @@ lpr_help(FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, const char *cptr)
{
fprintf (st, "%s\n\n", lpr_description(dptr));
fprintf (st, "The line printer output can be echoed to the console to check the \n");
fprintf (st, "progress of jobs being run. This can be done with the\n");
fprintf (st, " sim> SET %s ECHO\n\n", dptr->name);
fprintf (st, "The line printer output can be echoed to the console to check");
fprintf (st, "the \nprogress of jobs being run. This can be done with the\n");
fprintf (st, " sim> SET %s ECHO set echo to console\n\n", dptr->name);
fprintf (st, "The Line printer can be configured to any number of lines per page with the:\n");
fprintf (st, " sim> SET %s LINESPERPAGE=n\n\n", dptr->name);
fprintf (st, "The default is 59 lines per page. \n");
fprintf (st, "The default is 59 lines per page.\n\n");
#ifdef I7080
fprintf (st, "The 716 printer can operate in one of three spacing modes\n");
fprintf (st, " sim> SET %s SINGLE for single spacing\n", dptr->name);
fprintf (st, " sim> SET %s DOUBLE for double spacing\n", dptr->name);
fprintf (st, " sim> SET %s PROGRAM for program control of spacing\n\n", dptr->name);
fprintf (st, " sim> SET %s SINGLE for single spacing\n", dptr->name);
fprintf (st, " sim> SET %s DOUBLE for double spacing\n", dptr->name);
fprintf (st, " sim> SET %s PROGRAM for program control of spacing\n\n", dptr->name);
#endif
#ifdef I7070
fprintf (st, "Unit record devices can be configured to interrupt the CPU on\n");
fprintf (st, "one of two priority channels A or B, to set this\n\n");
fprintf (st, " sim> set cp attena to set device to raise Atten A\n\n");
fprintf (st, " sim> SET %s ATTENA to set device to raise Atten A\n", dptr->name);
fprintf (st, " sim> SET %s ATTENB to set device to raise Atten B\n\n", dptr->name);
#endif
#ifdef I7010
help_set_chan_type(st, dptr, "Line printer");

View File

@ -613,7 +613,7 @@ mt_read_buff(UNIT * uptr, int cmd, DEVICE * dptr, t_uint64 *word)
i--;
}
}
*word |= ((t_value) ch) << (6 * i);
*word |= ((t_uint64) ch) << (6 * i);
}
if (parity) {
@ -1310,14 +1310,8 @@ mt_help(FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, const char *cptr)
fprintf (st, "%s\n\n", mt_description(dptr));
fprintf (st, "The magnetic tape controller assumes that all tapes are 7 track\n");
fprintf (st, "with valid parity. Tapes are assumed to be 555.5 characters per\n");
fprintf (st, "inch. To simulate a standard 2400foot tape, do:\n");
fprintf (st, " sim> SET %s LENGTH 15\n\n", dptr->name);
#ifdef I7090
fprintf (st, "Devices can be moved to any channel via the command\n");
fprintf (st, " sim> SET %s CHAN=x\n\n", dptr->name);
fprintf (st, " where x is A to G\n");
fprintf (st, "Mag tapes can only be attached to 7607 channels\n\n");
#endif
fprintf (st, "inch. To simulate a standard 2400foot tape, do:\n\n");
fprintf (st, " sim> SET %s LENGTH 15\n\n", dptr->name);
fprintf (st, "The mag tape drives support the BOOT command\n\n");
help_set_chan_type(st, dptr, "Mag tape");
sim_tape_attach_help (st, dptr, uptr, flag, cptr);

View File

@ -678,7 +678,7 @@ chan_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, const char *cptr)
fprintf (st, "%s\n\n", chan_description(dptr));
fprintf (st, "The 7010 supports up to 4 channels. Channel models include\n\n");
fprintf (st, " Channel * is for unit record devices.\n");
fprintf (st, " Channels 1-4 are 7010 multiplexor channel\n");
fprintf (st, " Channels 1-4 are 7010 multiplexor channel\n\n");
fprintf (st, "Channels are fixed on the 7010.\n\n");
fprint_set_help(st, dptr);
fprint_show_help(st, dptr);

View File

@ -3886,29 +3886,32 @@ cpu_description (DEVICE *dptr)
t_stat
cpu_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, const char *cptr)
{
fprintf (st, "The CPU can be set to a IBM 1401 or IBM 1410/7010\n");
fprintf (st, "The type of CPU can be set by one of the following commands\n\n");
fprintf (st, " sim> set CPU 1401 sets IBM 1401 emulation\n");
fprintf (st, " sim> set CPU 7010 sets IBM 1410/7010 emulation\n");
fprintf (st, "These switches are recognized when examining or depositing in CPU memory:\n\n");
fprintf (st, " -c examine/deposit characters, 6 per word\n");
fprintf (st, " -l examine/deposit half words\n");
fprintf (st, " -m examine/deposit IBM 709 instructions\n");
fprintf (st, "The memory of the CPU can be set in 10K incrememts from 10K to 100K with the\n\n");
fprintf (st, " sim> SET CPU xK\n\n");
fprintf (st, "For the IBM 7010 the following options can be enabled\n\n");
fprintf (st, " sim> SET CPU PRIORITY enables Priority Interupts\n");
fprintf (st, " sim> SET CPU NOPRIORITY disables Priority Interupts\n\n");
fprintf (st, " sim> SET CPU FLOAT enables Floating Point\n");
fprintf (st, " sim> SET CPU NOFLOAT disables Floating Point\n\n");
fprintf (st, " sim> SET CPU PROT enables memory protection feature\n");
fprintf (st, " sim> SET CPU NOPROT disables memory protection feature\n\n");
fprintf (st, "The CPU can maintain a history of the most recently executed instructions.\n");
fprintf (st, "This is controlled by the SET CPU HISTORY and SHOW CPU HISTORY commands:\n\n");
fprintf (st, " sim> SET CPU HISTORY clear history buffer\n");
fprintf (st, " sim> SET CPU HISTORY=0 disable history\n");
fprintf (st, " sim> SET CPU HISTORY=n{:file} enable history, length = n\n");
fprintf (st, " sim> SHOW CPU HISTORY print CPU history\n");
return SCPE_OK;
fprintf (st, "The CPU can be set to a IBM 1401 or IBM 1410/7010\n");
fprintf (st, "The type of CPU can be set by one of the following commands\n\n");
fprintf (st, " sim> set CPU 1401 sets IBM 1401 emulation\n");
fprintf (st, " sim> set CPU 7010 sets IBM 1410/7010 emulation\n\n");
fprintf (st, "These switches are recognized when examining or depositing in CPU memory:\n\n");
fprintf (st, " -c examine/deposit characters, 6 per word\n");
fprintf (st, " -l examine/deposit half words\n");
fprintf (st, " -m examine/deposit IBM 7010 instructions\n\n");
fprintf (st, "The memory of the CPU can be set in 10K incrememts from 10K to 100K with the\n\n");
fprintf (st, " sim> SET CPU xK\n\n");
fprintf (st, "For the IBM 7010 the following options can be enabled\n\n");
fprintf (st, " sim> SET CPU PRIORITY enables Priority Interupts\n");
fprintf (st, " sim> SET CPU NOPRIORITY disables Priority Interupts\n\n");
fprintf (st, " sim> SET CPU FLOAT enables Floating Point\n");
fprintf (st, " sim> SET CPU NOFLOAT disables Floating Point\n\n");
fprintf (st, " sim> SET CPU PROT enables memory protection feature\n");
fprintf (st, " sim> SET CPU NOPROT disables memory protection feature\n\n");
fprintf (st, "The CPU can maintain a history of the most recently executed instructions.\n");
fprintf (st, "This is controlled by the SET CPU HISTORY and SHOW CPU HISTORY commands:\n\n");
fprintf (st, " sim> SET CPU HISTORY clear history buffer\n");
fprintf (st, " sim> SET CPU HISTORY=0 disable history\n");
fprintf (st, " sim> SET CPU HISTORY=n{:file} enable history, length = n\n");
fprintf (st, " sim> SHOW CPU HISTORY print CPU history\n");
fprint_set_help(st, dptr);
fprint_show_help(st, dptr);
return SCPE_OK;
}

View File

@ -404,9 +404,9 @@ chan9_set_error(int chan, uint32 mask)
t_stat
chan_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, const char *cptr) {
fprintf(st, "IBM 701 Channel\n\n");
fprintf(st, "Psuedo device to manage IBM 701 I/O. The IBM 701 used polled\n");
fprintf(st, "I/O, however the simulated devices want to talk to a channel.\n");
fprintf(st, "The assembly register and the flags can be displayed\n");
fprintf(st, "Psuedo device to display IBM 701 I/O. The IBM 701 used polled");
fprintf(st, " I/O,\nThe assembly register and the flags can be displayed\n");
fprintf(st, "There are no options for the this device\n");
return SCPE_OK;
}

View File

@ -942,19 +942,20 @@ cpu_description (DEVICE *dptr)
t_stat
cpu_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, const char *cptr)
{
fprintf (st, "The CPU behaves as a IBM 701\n");
fprintf (st, "These switches are recognized when examining or depositing in CPU memory:\n\n");
fprintf (st, " -c examine/deposit characters, 6 per word\n");
fprintf (st, " -l examine/deposit half words\n");
fprintf (st, " -m examine/deposit IBM 709 instructions\n");
fprintf (st, "The CPU can maintain a history of the most recently executed instructions.\n"
);
fprintf (st, "This is controlled by the SET CPU HISTORY and SHOW CPU HISTORY commands:\n\n"
);
fprintf (st, " sim> SET CPU HISTORY clear history buffer\n");
fprintf (st, " sim> SET CPU HISTORY=0 disable history\n");
fprintf (st, " sim> SET CPU HISTORY=n{:file} enable history, length = n\n");
fprintf (st, " sim> SHOW CPU HISTORY print CPU history\n");
fprintf (st, "The CPU behaves as a IBM 701\n");
fprintf (st, "These switches are recognized when examining or depositing in CPU memory:\n\n");
fprintf (st, " -c examine/deposit characters, 6 per word\n");
fprintf (st, " -l examine/deposit half words\n");
fprintf (st, " -m examine/deposit IBM 701 instructions\n\n");
fprintf (st, "The CPU can maintain a history of the most recently executed instructions.\n");
fprintf (st, "This is controlled by the SET CPU HISTORY and SHOW CPU HISTORY commands:\n\n");
fprintf (st, " sim> SET CPU HISTORY clear history buffer\n");
fprintf (st, " sim> SET CPU HISTORY=0 disable history\n");
fprintf (st, " sim> SET CPU HISTORY=n{:file} enable history, length = n\n");
fprintf (st, " sim> SHOW CPU HISTORY print CPU history\n");
fprint_set_help(st, dptr);
fprint_show_help(st, dptr);
return SCPE_OK;
}

View File

@ -83,8 +83,8 @@ name(s)
CPU 701 CPU with 2KW of memory
CH 704 devices.
MT 729 magnetic tape controller, channel A (required)
CR 711 card reader
CP 721 card punch
CDR 711 card reader
CDP 721 card punch
LP 716 line printer
DR0 733 drum
@ -132,28 +132,28 @@ or registers.
2.3 Peripherals
2.3.1 711 Card Reader (CR)
2.3.1 711 Card Reader (CDR)
The card reader (CR) reads data from a disk file. Cards are simulated
The card reader (CDR) reads data from a disk file. Cards are simulated
as ASCII lines with terminating newlines.
Card reader files can either be text (one character per column) or
column binary (two characters per column). The file type can be
specified with a set command:
SET CR FORMAT=TEXT sets ascii text mode
SET CR FORMAT=BINARY sets for binary card images.
SET CR FORMAT=BCD sets for BCD records.
SET CR FORMAT=CBN sets for column binary BCD records.
SET CR FORMAT=AUTO Automaticly determines format.
SET CDR FORMAT=TEXT sets ascii text mode
SET CDR FORMAT=BINARY sets for binary card images.
SET CDR FORMAT=BCD sets for BCD records.
SET CDR FORMAT=CBN sets for column binary BCD records.
SET CDR FORMAT=AUTO Automaticly determines format.
or in the ATTACH command:
ATT CR <file> attaches a file
ATT CDR <file> attaches a file
The card reader can be booted with the:
BOOT CR loads first 3 words of card.
BOOT CDR loads first 3 words of card.
Error handling is as follows:
@ -165,24 +165,24 @@ Error handling is as follows:
OS I/O error report error and stop
2.3.2 721 Card Punch (CP)
2.3.2 721 Card Punch (CDP)
The card reader (CP) writes data to a disk file. Cards are simulated
The card reader (CDP) writes data to a disk file. Cards are simulated
as ASCII lines with terminating newlines.
Card punch files can either be text (one character per column) or
column binary (two characters per column). The file type can be
specified with a set command:
SET CR FORMAT=TEXT sets ascii text mode
SET CR FORMAT=BINARY sets for binary card images.
SET CR FORMAT=BCD sets for BCD records.
SET CR FORMAT=CBN sets for column binary BCD records.
SET CR FORMAT=AUTO Automaticly determines format.
SET CDP FORMAT=TEXT sets ascii text mode
SET CDP FORMAT=BINARY sets for binary card images.
SET CDP FORMAT=BCD sets for BCD records.
SET CDP FORMAT=CBN sets for column binary BCD records.
SET CDP FORMAT=AUTO Automaticly determines format.
or in the ATTACH command:
ATT CP <file> attaches a file
ATT CDP <file> attaches a file
Error handling is as follows:

View File

@ -116,7 +116,7 @@ MTAB chan_mod[] = {
{CHAN_MODEL, CHAN_S_TYPE(CHAN_UREC), "UREC", NULL, NULL,NULL,NULL},
{CHAN_MODEL, CHAN_S_TYPE(CHAN_7604), "7604", NULL, NULL, NULL, NULL},
{CHAN_MODEL, CHAN_S_TYPE(CHAN_7907), "7907", NULL, NULL, NULL, NULL},
{MTAB_VUN, 0, "UNITS", NULL, NULL, &print_chan, NULL},
{MTAB_VUN, 0, "UNITS", NULL, NULL, &print_chan, NULL, "Show units on channel"},
{0}
};
@ -1578,11 +1578,11 @@ t_stat
chan_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, const char *cptr)
{
fprintf (st, "%s\n\n", chan_description(dptr));
fprintf (st, "The 7070 supports up to 8 channels. Channel models include\n\n");
fprintf (st, "The 7070 supports up to 8 channels. Channel models include\n\n");
fprintf (st, " 7604 standard multiplexor channel\n");
fprintf (st, " 7907 advanced capabilities channel\n\n");
fprintf (st, "Channels are fixed on the 7070.\n\n");
fprintf (st, "Channel * is a puesdo channel for unit record devices.\n");
fprintf (st, "Channel * is for unit record devices.\n");
fprint_set_help(st, dptr);
fprint_show_help(st, dptr);
return SCPE_OK;

View File

@ -2961,29 +2961,30 @@ cpu_show_hist(FILE * st, UNIT * uptr, int32 val, CONST void *desc)
t_stat
cpu_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, const char *cptr) {
fprintf (st, "The CPU can be set to a IBM 7070 or IBM 7074\n");
fprintf (st, "The type of CPU can be set by one of the following commands\n\n");
fprintf (st, " sim> set CPU 7070 sets IBM 7070 emulation\n");
fprintf (st, " sim> set CPU 7074 sets IBM 7074 emulation\n");
fprintf (st, "These switches are recognized when examining or depositing in CPU memory:\n\n");
fprintf (st, " -c examine/deposit characters, 5 per word\n");
fprintf (st, " -l examine/deposit half words\n");
fprintf (st, " -m examine/deposit IBM 7070 instructions\n");
fprintf (st, "The memory of the CPU can be set in 5K incrememts from 5K to 30K with the\n\n");
fprintf (st, " sim> SET CPU xK\n\n");
fprintf (st, "For the IBM 7070 the following options can be enabled\n\n");
fprintf (st, " sim> SET CPU FLOAT enables Floating Point\n");
fprintf (st, " sim> SET CPU NOFLOAT disables Floating Point\n\n");
fprintf (st, " sim> SET CPU EXTEND enables extended memory\n");
fprintf (st, " sim> SET CPU NOEXTEND disables extended memory\n\n");
fprintf (st, " sim> SET CPU CLOCK enables timer clock\n");
fprintf (st, " sim> SET CPU NOCLOCK disables timer clock\n\n");
fprintf (st, "The CPU can maintain a history of the most recently executed instructions.\n");
fprintf (st, "This is controlled by the SET CPU HISTORY and SHOW CPU HISTORY commands:\n\n");
fprintf (st, " sim> SET CPU HISTORY clear history buffer\n");
fprintf (st, " sim> SET CPU HISTORY=0 disable history\n");
fprintf (st, " sim> SET CPU HISTORY=n{:file} enable history, length = n\n");
fprintf (st, " sim> SHOW CPU HISTORY print CPU history\n");
fprintf (st, "The CPU can be set to a IBM 7070 or IBM 7074\n");
fprintf (st, "The type of CPU can be set by one of the following commands\n\n");
fprintf (st, " sim> set CPU 7070 sets IBM 7070 emulation\n");
fprintf (st, " sim> set CPU 7074 sets IBM 7074 emulation\n\n");
fprintf (st, "These switches are recognized when examining or depositing in CPU memory:\n\n");
fprintf (st, " -c examine/deposit characters, 5 per word\n");
fprintf (st, " -m examine/deposit IBM 7070 instructions\n\n");
fprintf (st, "The memory of the CPU can be set in 5K incrememts from 5K to 30K with the\n\n");
fprintf (st, " sim> SET CPU xK\n\n");
fprintf (st, "For the IBM 7070 the following options can be enabled\n\n");
fprintf (st, " sim> SET CPU FLOAT enables Floating Point\n");
fprintf (st, " sim> SET CPU NOFLOAT disables Floating Point\n\n");
fprintf (st, " sim> SET CPU EXTEND enables extended memory\n");
fprintf (st, " sim> SET CPU NOEXTEND disables extended memory\n\n");
fprintf (st, " sim> SET CPU CLOCK enables timer clock\n");
fprintf (st, " sim> SET CPU NOCLOCK disables timer clock\n\n");
fprintf (st, "The CPU can maintain a history of the most recently executed instructions.\n");
fprintf (st, "This is controlled by the SET CPU HISTORY and SHOW CPU HISTORY commands:\n\n");
fprintf (st, " sim> SET CPU HISTORY clear history buffer\n");
fprintf (st, " sim> SET CPU HISTORY=0 disable history\n");
fprintf (st, " sim> SET CPU HISTORY=n{:file} enable history, length = n\n");
fprintf (st, " sim> SHOW CPU HISTORY print CPU history\n");
fprint_set_help(st, dptr);
fprint_show_help(st, dptr);
return SCPE_OK;
}

View File

@ -101,8 +101,8 @@ MTC 729 additional magnetic tape controllers, channels C
MTD 729 additional magnetic tape controllers, channels D
HTA 7340 hypertape controller.
HTB 7340 additional hypertape controller.
CR 7500 card reader
CP 7550 card punch
CDR 7500 card reader
CDP 7550 card punch
LP 7400 line printer
DKn 1301/2302/7304 disk.
COM 7750 communications control
@ -193,32 +193,32 @@ For meaning of bits in FLAGS see i7000_defs.h.
2.3 Unit record devices.
2.3.1 7900 Inquiry Station (CON)
2.3.1 7900 Inquiry Station (INQ)
The console is set up as inquiry station 1. Press escape to initiate a
priorty interupt request. Pressing escape again will cancel request.
2.3.2 7500 Card Reader (CR)
2.3.2 7500 Card Reader (CDR)
The card reader (CR) reads data from a disk file. Cards are simulated
The card reader (CDR) reads data from a disk file. Cards are simulated
as ASCII lines with terminating newlines.
Card reader files can either be text (one character per column) or
column binary (two characters per column). The file type can be
specified with a set command:
SET CR FORMAT=TEXT sets ascii text mode
SET CR FORMAT=BINARY sets for binary card images.
SET CR FORMAT=BCD sets for BCD records.
SET CR FORMAT=CBN sets for column binary BCD records.
SET CR FORMAT=AUTO Automaticly determines format.
SET CR NOATTEN sets device to not signal ready status.
SET CR ATTENA sets device to used unit A attention.
SET CR ATTENB sets device to used unit B attention.
SET CDR FORMAT=TEXT sets ascii text mode
SET CDR FORMAT=BINARY sets for binary card images.
SET CDR FORMAT=BCD sets for BCD records.
SET CDR FORMAT=CBN sets for column binary BCD records.
SET CDR FORMAT=AUTO Automaticly determines format.
SET CDR NOATTEN sets device to not signal ready status.
SET CDR ATTENA sets device to used unit A attention.
SET CDR ATTENB sets device to used unit B attention.
or in the ATTACH command:
ATT CR <file> attaches a file
ATT CDR <file> attaches a file
Error handling is as follows:
@ -230,27 +230,27 @@ Error handling is as follows:
OS I/O error report error and stop
2.3.3 7550 Card Punch (CP)
2.3.3 7550 Card Punch (CDP)
The card reader (CP) writes data to a disk file. Cards are simulated
The card reader (CDP) writes data to a disk file. Cards are simulated
as ASCII lines with terminating newlines.
Card punch files can either be text (one character per column) or
column binary (two characters per column). The file type can be
specified with a set command:
SET CP FORMAT=TEXT sets ascii text mode
SET CP FORMAT=BINARY sets for binary card images.
SET CP FORMAT=BCD sets for BCD records.
SET CP FORMAT=CBN sets for column binary BCD records.
SET CP FORMAT=AUTO Automaticly determines format.
SET CP NOATTEN sets device to not signal ready status.
SET CP ATTENA sets device to used unit A attention.
SET CP ATTENB sets device to used unit B attention.
SET CDP FORMAT=TEXT sets ascii text mode
SET CDP FORMAT=BINARY sets for binary card images.
SET CDP FORMAT=BCD sets for BCD records.
SET CDP FORMAT=CBN sets for column binary BCD records.
SET CDP FORMAT=AUTO Automaticly determines format.
SET CDP NOATTEN sets device to not signal ready status.
SET CDP ATTENA sets device to used unit A attention.
SET CDP ATTENB sets device to used unit B attention.
or in the ATTACH command:
ATT CP <file> attaches a file
ATT CDP <file> attaches a file
Error handling is as follows:

View File

@ -3378,33 +3378,35 @@ cpu_description (DEVICE *dptr)
t_stat
cpu_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, const char *cptr)
{
fprintf (st, "The CPU can be set to a IBM 702, IBM 705, IBM 705/3 or IBM 7080\n");
fprintf (st, "The type of CPU can be set by one of the following commands\n\n");
fprintf (st, " sim> set CPU 702 sets IBM 704 emulation\n");
fprintf (st, " sim> set CPU 705 sets IBM 705 emulation\n");
fprintf (st, " sim> set CPU 7053 sets IBM 705/3 emulation\n");
fprintf (st, " sim> set CPU 7080 sets IBM 7080 emulation\n");
fprintf (st, "These switches are recognized when examining or depositing in CPU memory:\n\n");
fprintf (st, " -c examine/deposit characters, 6 per word\n");
fprintf (st, " -l examine/deposit half words\n");
fprintf (st, " -m examine/deposit IBM 709 instructions\n");
fprintf (st, "The memory of the CPU can be set in 10K incrememts from 10K to 160K with the\n\n");
fprintf (st, " sim> SET CPU xK\n\n");
fprintf (st, "For the IBM 7080 the following options can be enabled\n\n");
fprintf (st, " sim> SET CPU EMU40K enables memory above 40K\n");
fprintf (st, " sim> SET CPU NOEMU40K disables memory above 40K\n\n");
fprintf (st, " sim> SET CPU EMU705 enables IBM7080 to support 705 Emulation.\n");
fprintf (st, " sim> SET CPU NOEMU705 disables IBM7080 to support 705 Emulation.\n\n");
fprintf (st, " sim> SET CPU NOSTOP CPU will not stop on invalid conditions\n");
fprintf (st, " sim> SET CPU PRORAM CPU stop under program control\n\n");
fprintf (st, "The CPU can maintain a history of the most recently executed instructions.\n"
);
fprintf (st, "This is controlled by the SET CPU HISTORY and SHOW CPU HISTORY commands:\n\n"
);
fprintf (st, " sim> SET CPU HISTORY clear history buffer\n");
fprintf (st, " sim> SET CPU HISTORY=0 disable history\n");
fprintf (st, " sim> SET CPU HISTORY=n{:file} enable history, length = n\n");
fprintf (st, " sim> SHOW CPU HISTORY print CPU history\n");
return SCPE_OK;
fprintf (st, "The CPU can be set to a IBM 702, IBM 705, IBM 705/3 or IBM 7080\n");
fprintf (st, "The type of CPU can be set by one of the following commands\n\n");
fprintf (st, " sim> set CPU 702 sets IBM 704 emulation\n");
fprintf (st, " sim> set CPU 705 sets IBM 705 emulation\n");
fprintf (st, " sim> set CPU 7053 sets IBM 705/3 emulation\n");
fprintf (st, " sim> set CPU 7080 sets IBM 7080 emulation\n\n");
fprintf (st, "These switches are recognized when examining or depositing in CPU memory:\n\n");
fprintf (st, " -c examine/deposit characters\n");
fprintf (st, " -s examine 50 characters\n");
fprintf (st, " -d examine 50 characters\n");
fprintf (st, " -m examine/deposit IBM 7080 instructions\n\n");
fprintf (st, "The memory of the CPU can be set in 10K incrememts from 10K to 160K with the\n\n");
fprintf (st, " sim> SET CPU xK\n\n");
fprintf (st, "For the IBM 7080 the following options can be enabled\n\n");
fprintf (st, " sim> SET CPU EMU40K enables memory above 40K\n");
fprintf (st, " sim> SET CPU NOEMU40K disables memory above 40K\n\n");
fprintf (st, " sim> SET CPU EMU705 enables IBM7080 to support 705 Emulation.\n");
fprintf (st, " sim> SET CPU NOEMU705 disables IBM7080 to support 705 Emulation.\n\n");
fprintf (st, " sim> SET CPU NOSTOP CPU will not stop on invalid conditions\n");
fprintf (st, " sim> SET CPU PRORAM CPU stop under program control\n\n");
fprintf (st, "The CPU can maintain a history of the most recently executed instructions.\n");
fprintf (st, "This is controlled by the SET CPU HISTORY and SHOW CPU HISTORY commands:\n\n");
fprintf (st, " sim> SET CPU HISTORY clear history buffer\n");
fprintf (st, " sim> SET CPU HISTORY=0 disable history\n");
fprintf (st, " sim> SET CPU HISTORY=n{:file} enable history, length = n\n");
fprintf (st, " sim> SHOW CPU HISTORY print CPU history\n\n");
fprint_set_help(st, dptr);
fprint_show_help(st, dptr);
return SCPE_OK;
}

View File

@ -86,8 +86,8 @@ MTB 729 magnetic tape controller, channel 21
MTC 729 magnetic tape controller, channel 22
MTD 729 magnetic tape controller, channel 23
HTA 7340 hypertape controller.
CR 711 card reader
CP 721 card punch
CDR 711 card reader
CDP 721 card punch
LP 716 line printer
DR 733 drum for 702/705
DKn 1301/2302/7304 disk.
@ -199,26 +199,26 @@ For meaning of bits in FLAGS see i7000_defs.h.
2.3 Unit record devices.
2.3.1 711 Card Reader (CR)
2.3.1 711 Card Reader (CDR)
The card reader (CR) reads data from a disk file. Cards are simulated
The card reader (CDR) reads data from a disk file. Cards are simulated
as ASCII lines with terminating newlines.
Card reader files can either be text (one character per column) or
column binary (two characters per column). The file type can be
specified with a set command:
SET CR TEXT set text mode
SET CR BINARY set column binary mode
SET CR AUTO sets auto detect binary/text data.
SET CDR TEXT set text mode
SET CDR BINARY set column binary mode
SET CDR AUTO sets auto detect binary/text data.
or in the ATTACH command:
ATT CR <file> attaches a file
ATT CDR <file> attaches a file
The card reader can be booted with the:
BOOT CR loads either the first 2 words or
BOOT CDR loads either the first 2 words or
3 words depending on channel.
Error handling is as follows:
@ -231,22 +231,22 @@ Error handling is as follows:
OS I/O error report error and stop
2.3.2 721 Card Punch (CP)
2.3.2 721 Card Punch (CDP)
The card reader (CP) writes data to a disk file. Cards are simulated
The card reader (CDP) writes data to a disk file. Cards are simulated
as ASCII lines with terminating newlines.
Card punch files can either be text (one character per column) or
column binary (two characters per column). The file type can be
specified with a set command:
SET CP TEXT set text mode
SET CP BINARY set column binary mode
SET CP AUTO set auto detect binary/text data.
SET CDP TEXT set text mode
SET CDP BINARY set column binary mode
SET CDP AUTO set auto detect binary/text data.
or in the ATTACH command:
ATT CP <file> attaches a file
ATT CDP <file> attaches a file
Error handling is as follows:

View File

@ -178,8 +178,10 @@ drm_ini(UNIT *uptr, t_bool f) {
t_stat
drm_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, const char *cptr) {
fprintf(st, "Drum device for IBM 702 and 705\n\n");
fprintf(st, "The Drum had 1000 tracks with the capacity of %d digits per", DRMCHARTRK);
fprintf(st, "The Drum had 1000 tracks with the capacity of %d digits ",
DRMCHARTRK);
fprintf(st, "per track\n");
fprintf(st, "The drum does not have any settings to change\n");
return SCPE_OK;
}

View File

@ -78,7 +78,7 @@ MTAB cdp_mod[] = {
};
DEVICE cdp_dev = {
"CP", cdp_unit, NULL, cdp_mod,
"CDP", cdp_unit, NULL, cdp_mod,
NUM_DEVS_CDP, 8, 15, 1, 8, 36,
NULL, NULL, &cdp_reset, NULL, &cdp_attach, &cdp_detach,
&cdp_dib, DEV_DISABLE | DEV_DEBUG, 0, crd_debug,
@ -287,9 +287,10 @@ cdp_help(FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, const char *cptr)
fprintf (st, "The %s supports one card punch\n", cpu);
#endif
help_set_chan_type(st, dptr, "Card punches");
sim_card_attach_help(st, dptr, uptr, flag, cptr);
fprint_set_help(st, dptr);
fprint_show_help(st, dptr);
fprintf (st, "\n");
sim_card_attach_help(st, dptr, uptr, flag, cptr);
return SCPE_OK;
}

View File

@ -85,7 +85,7 @@ MTAB cdr_mod[] = {
};
DEVICE cdr_dev = {
"CR", cdr_unit, NULL, cdr_mod,
"CDR", cdr_unit, NULL, cdr_mod,
NUM_DEVS_CDR, 8, 15, 1, 8, 36,
NULL, NULL, &cdr_reset, &cdr_boot, &cdr_attach, &cdr_detach,
&cdr_dib, DEV_DISABLE | DEV_DEBUG, 0, crd_debug,
@ -320,18 +320,19 @@ cdr_help(FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, const char *cptr)
fprintf (st, "%s\n\n", cdr_description(dptr));
#if NUM_DEVS_CDR > 3
fprintf (st, "The %s supports up to four card readers\n", cpu);
fprintf (st, "The %s supports up to four card readers\n\n", cpu);
#elif NUM_DEVS_CDR > 2
fprintf (st, "The %s supports up to three card readers\n", cpu);
fprintf (st, "The %s supports up to three card readers\n\n", cpu);
#elif NUM_DEVS_CDR > 1
fprintf (st, "The %s supports up to two card readers\n", cpu);
fprintf (st, "The %s supports up to two card readers\n\n", cpu);
#elif NUM_DEVS_CDR > 0
fprintf (st, "The %s supports one card reader\n", cpu);
fprintf (st, "The %s supports one card reader\n\n", cpu);
#endif
help_set_chan_type(st, dptr, "Card readers");
sim_card_attach_help(st, dptr, uptr, flag, cptr);
fprint_set_help(st, dptr);
fprint_show_help(st, dptr);
fprintf (st, "\n");
sim_card_attach_help(st, dptr, uptr, flag, cptr);
return SCPE_OK;
}

View File

@ -143,11 +143,7 @@ char *chan_type_name[] = {
/* Delay device for IOD instruction */
DIB dly_dib =
#ifdef I701
{ CH_TYP_PIO, 1, 2052, 07777, &dly_cmd, NULL };
#else
{ CH_TYP_PIO, 1, 0333, 07777, &dly_cmd, NULL };
#endif
UNIT chan_unit[] = {
@ -1679,9 +1675,26 @@ chan9_set_error(int chan, uint32 mask)
t_stat
chan_help (FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, const char *cptr)
{
#ifdef I7090
fprintf(st, "%s\n\n", chan_description(dptr));
fprintf (st, "The 7090 supports up to 8 channels. Channel models include\n\n");
fprintf (st, " Unit record Polled mode I/O devices\n");
fprintf (st, " 7607 standard multiplexor channel\n");
fprintf (st, " 7909 advanced capabilities channel\n");
fprintf (st, " 7289 special channel for high speed drum\n\n");
fprintf (st, "Channels can be reconfigured on the 7090, this generally ");
fprintf (st, "happens automatically.\nHowever at times it can be useful to ");
fprintf (st, "force a channel to a specific device. If\ndevices are attached");
fprintf (st, "to incorrect channel types an error will be reported at sim\n");
fprintf (st, "start. The first channel is fixed for Polled mode devices.\n\n");
fprint_set_help(st, dptr);
fprint_show_help(st, dptr);
#else
fprintf(st, "IBM 704 Channel\n\n");
fprintf(st, "Psuedo device to display IBM 704 I/O. The IBM 704 used polled");
fprintf(st, " I/O,\nThe assembly register and the flags can be displayed\n");
fprintf(st, "There are no options for the this device\n");
#endif
return SCPE_OK;
}

View File

@ -4392,20 +4392,22 @@ fprintf (st, "The type of CPU can be set by one of the following commands\n\n");
fprintf (st, " sim> set CPU 704 sets IBM 704 emulation\n");
fprintf (st, " sim> set CPU 709 sets IBM 709 emulation\n");
fprintf (st, " sim> set CPU 7090 sets IBM 7090 emulation\n");
fprintf (st, " sim> set CPU 7094 sets IBM 7094 emulation\n");
fprintf (st, " sim> set CPU 7094 sets IBM 7094 emulation\n\n");
#else
fprintf (st, "The CPU behaves as a IBM 704\n");
#endif
fprintf (st, "These switches are recognized when examining or depositing in CPU memory:\n\n");
fprintf (st, " -c examine/deposit characters, 6 per word\n");
fprintf (st, " -l examine/deposit half words\n");
fprintf (st, " -m examine/deposit IBM 709 instructions\n");
fprintf (st, " -m examine/deposit IBM 709 instructions\n\n");
fprintf (st, "The memory of the CPU can be set in 4K incrememts from 4K to 32K with the\n\n");
fprintf (st, " sim> SET CPU xK\n\n");
#ifdef I7090
fprintf (st, "For systems like IBSYS FASTIO can be enabled. This causes the CPU to finish\n");
fprintf (st, "all outstanding I/O requests when it detects an IDLE loop. This is detected\n");
fprintf (st, "by a TCOx to itself. The default is TRUEIO.\n\n");
fprintf (st, "by a TCOx to itself. TRUEIO waits until the given timeout. ");
fprintf (st, "For faster\noperation FASTIO can speed up execution, by eliminating");
fprintf (st, "waits on devices.\nThe default is TRUEIO.\n\n");
fprintf (st, "For the IBM 709x the following options can be enabled\n\n");
fprintf (st, " sim> SET CPU EFP enables extended Floating Point\n");
fprintf (st, " sim> SET CPU NOEFP disables extended Floating Point\n\n");
@ -4425,6 +4427,9 @@ fprintf (st, " sim> SET CPU HISTORY clear history buffer\n");
fprintf (st, " sim> SET CPU HISTORY=0 disable history\n");
fprintf (st, " sim> SET CPU HISTORY=n{:file} enable history, length = n\n");
fprintf (st, " sim> SHOW CPU HISTORY print CPU history\n");
fprint_set_help(st, dptr);
fprint_show_help(st, dptr);
return SCPE_OK;
}

View File

@ -95,8 +95,8 @@ MTC 729 additional magnetic tape controllers, channels C
MT 729 additional magnetic tape controllers, 704 devices
HTA 7340 hypertape controller.
HTB 7340 additional hypertape controller.
CRn 711 card reader
CPn 721 card punch
CDRn 711 card reader
CDPn 721 card punch
LPn 716 line printer
DR0 733 drum
HDn 7289 fast drum control
@ -235,29 +235,29 @@ For meaning of bits in STATUS and SENSE see i7090_defs.h.
2.3 Channel 7607 Devices and 704 devices.
2.3.1 711 Card Reader (CR)
2.3.1 711 Card Reader (CDR)
The card reader (CR) reads data from a disk file. Cards are simulated
The card reader (CDR) reads data from a disk file. Cards are simulated
as ASCII lines with terminating newlines.
Card reader files can either be text (one character per column) or
column binary (two characters per column). The file type can be
specified with a set command:
SET CRn FORMAT=TEXT sets ascii text mode
SET CRn FORMAT=BINARY sets for binary card images.
SET CRn FORMAT=BCD sets for BCD records.
SET CRn FORMAT=CBN sets for column binary BCD records.
SET CRn FORMAT=AUTO Automaticly determines format.
SET CRn CHAN=n Sets channel to n
SET CDRn FORMAT=TEXT sets ascii text mode
SET CDRn FORMAT=BINARY sets for binary card images.
SET CDRn FORMAT=BCD sets for BCD records.
SET CDRn FORMAT=CBN sets for column binary BCD records.
SET CDRn FORMAT=AUTO Automaticly determines format.
SET CDRn CHAN=n Sets channel to n
or in the ATTACH command:
ATT CRn <file> attaches a file
ATT CDRn <file> attaches a file
The card reader can be booted with the:
BOOT CRn loads either the first 2 words or
BOOT CDRn loads either the first 2 words or
3 words depending on channel.
Error handling is as follows:
@ -270,25 +270,25 @@ Error handling is as follows:
OS I/O error report error and stop
2.3.2 721 Card Punch (CP)
2.3.2 721 Card Punch (CDP)
The card reader (CP) writes data to a disk file. Cards are simulated
The card reader (CDP) writes data to a disk file. Cards are simulated
as ASCII lines with terminating newlines.
Card punch files can either be text (one character per column) or
column binary (two characters per column). The file type can be
specified with a set command:
SET CPn FORMAT=TEXT sets ascii text mode
SET CPn FORMAT=BINARY sets for binary card images.
SET CPn FORMAT=BCD sets for BCD records.
SET CPn FORMAT=CBN sets for column binary BCD records.
SET CPn FORMAT=AUTO Automaticly determines format.
SET CPn CHAN=n Sets channel to n
SET CDPn FORMAT=TEXT sets ascii text mode
SET CDPn FORMAT=BINARY sets for binary card images.
SET CDPn FORMAT=BCD sets for BCD records.
SET CDPn FORMAT=CBN sets for column binary BCD records.
SET CDPn FORMAT=AUTO Automaticly determines format.
SET CDPn CHAN=n Sets channel to n
or in the ATTACH command:
ATT CPn <file> attaches a file
ATT CDPn <file> attaches a file
Error handling is as follows:

View File

@ -101,8 +101,8 @@ UNIT lpr_unit[] = {
};
MTAB lpr_mod[] = {
{ECHO, 0, NULL, "NOECHO", NULL, NULL, NULL},
{ECHO, ECHO, "ECHO", "ECHO", NULL, NULL, NULL},
{ECHO, 0, NULL, "NOECHO", NULL, NULL, NULL, "Done echo to console"},
{ECHO, ECHO, "ECHO", "ECHO", NULL, NULL, NULL, "Echo output to console"},
#if NUM_CHAN != 1
{MTAB_XTD | MTAB_VUN | MTAB_VALR, 0, "CHAN", "CHAN", &set_chan,
&get_chan, NULL},
@ -414,9 +414,11 @@ t_stat lpr_srv(UNIT * uptr)
action = 1;
break;
case 18: /* Echo 8-4 R */
/* I'm not sure how these are computed */
#if 0 /* Should be correct, but force to zero works */
wd = lpr_data[u].wbuff[2];
wd -= lpr_data[u].wbuff[10];
/* I'm not sure how these are computed */
#endif
/* But forcing to zero works */
wd = 0;
action = 2;
@ -606,24 +608,23 @@ t_stat
lpr_help(FILE *st, DEVICE *dptr, UNIT *uptr, int32 flag, const char *cptr)
{
const char *cpu = cpu_description(&cpu_dev);
extern void fprint_attach_help_ex (FILE *st, DEVICE *dptr, t_bool silent);
fprintf (st, "%s\n\n", lpr_description(dptr));
#if NUM_DEVS_LPR > 3
fprintf (st, "The %s supports up to four line printers\n", cpu);
fprintf (st, "The %s supports up to four line printers", cpu);
#elif NUM_DEVS_LPR > 2
fprintf (st, "The %s supports up to three line printers\n", cpu);
fprintf (st, "The %s supports up to three line printers", cpu);
#elif NUM_DEVS_LPR > 1
fprintf (st, "The %s supports up to two line printers\n", cpu);
fprintf (st, "The %s supports up to two line printers", cpu);
#elif NUM_DEVS_LPR > 0
fprintf (st, "The %s supports one line printer\n", cpu);
fprintf (st, "The %s supports one line printer", cpu);
#endif
fprintf (st, "by default. The Line printer can be configured to any number of\n");
fprintf (st, "lines per page with the:\n");
fprintf (st, " sim> SET %s LINESPERPAGE=n\n\n", dptr->name);
fprintf (st, "The printer acted as the console printer therefore the default is\n");
fprintf (st, "echo to the console\n");
fprintf (st, "The default is 59 lines per page\n\n");
help_set_chan_type(st, dptr, "Card readers");
fprintf (st, "by default. The Line printer can\n");
fprintf (st, "The printer acted as the console printer:\n\n");
fprintf (st, " sim> SET %s ECHO\n\n", dptr->name);
fprintf (st, "Causes all output sent to printer to also go to console.\n");
help_set_chan_type(st, dptr, "Line printers");
fprint_set_help(st, dptr);
fprint_show_help(st, dptr);
return SCPE_OK;