mirror of
https://github.com/simh/simh.git
synced 2026-02-14 11:55:51 +00:00
Notes For V3.0-0
Because some key files have changed, V3.0 should be unzipped to a clean directory. 1. New Features in 3.0-0 1.1 SCP and Libraries - Added ASSIGN/DEASSIGN (logical name) commands. - Changed RESTORE to unconditionally detach files. - Added E11 and TPC format support to magtape library. - Fixed bug in SHOW CONNECTIONS. - Added USE_ADDR64 support 1.2 All magtapes - Magtapes support SIMH format, E11 format, and TPC format (read only). - SET <tape_unit> FORMAT=format sets the specified tape unit's format. - SHOW <tape_unit> FORMAT displays the specified tape unit's format. - Tape format can also be set as part of the ATTACH command, using the -F switch. 1.3 VAX - VAX can be compiled without USE_INT64. - If compiled with USE_INT64 and USE_ADDR64, RQ and TQ controllers support files > 2GB. - VAX ROM has speed control (SET ROM DELAY/NODELAY). 2. Bugs Fixed in 3.01-0 2.1 VAX - Fixed CVTfi bug: integer overflow not set if exponent out of range - Fixed EMODx bugs: o First and second operands reversed o Separated fraction received wrong exponent o Overflow calculation on separated integer incorrect o Fraction not set to zero if exponent out of range - Fixed interval timer and ROM access to pass power-up self-test even on very fast host processors (fixes from Mark Pizzolato). 2.2 1401 - Fixed mnemonic, instruction lengths, and reverse scan length check bug for MCS. - Fixed MCE bug, BS off by 1 if zero suppress. - Fixed chaining bug, D lost if return to SCP. - Fixed H branch, branch occurs after continue. - Added check for invalid 8 character MCW, LCA. - Fixed magtape load-mode end of record response. 2.3 Nova - Fixed DSK variable size interaction with restore. 2.4 PDP-1 - Fixed DT variable size interaction with restore. 2.5 PDP-11 - Fixed DT variable size interaction with restore. - Fixed bug in MMR1 update (found by Tim Stark). - Added XQ features and fixed bugs: o Corrected XQ interrupts on IE state transition (code by Tom Evans). o Added XQ interrupt clear on soft reset. o Removed XQ interrupt when setting XL or RL (multiple people). o Added SET/SHOW XQ STATS. o Added SHOW XQ FILTERS. o Added ability to split received packet into multiple buffers. o Added explicit runt and giant packet processing. 2.6 PDP-18B - Fixed DT, RF variable size interaction with restore. - Fixed MT bug in MTTR. 2.7 PDP-8 - Fixed DT, DF, RF, RX variable size interaction with restore. - Fixed MT bug in SKTR. 2.8 HP2100 - Fixed bug in DP (13210A controller only), DQ read status. - Fixed bug in DP, DQ seek complete. 2.9 GRI - Fixed bug in SC queue pointer management. 3. New Features in 3.0 vs prior releases N/A 4. Bugs Fixed in 3.0 vs prior releases N/A 5. General Notes WARNING: The RESTORE command has changed. RESTORE will now detach an attached file on a unit, if that unit did not have an attached file in the saved configuration. This is required to assure that the unit flags and the file state are consistent. WARNING: The compilation scheme for the PDP-10, PDP-11, and VAX has changed. Use one of the supplied build files, or read the documentation carefully, before compiling any of these simulators.
This commit is contained in:
committed by
Mark Pizzolato
parent
43385c9616
commit
4ffd3be790
@@ -1,6 +1,6 @@
|
||||
/* i1620_cd.c: IBM 1622 card reader/punch
|
||||
|
||||
Copyright (c) 2002, Robert M. Supnik
|
||||
Copyright (c) 2002-2003, Robert M. Supnik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
@@ -26,6 +26,8 @@
|
||||
cdr 1622 card reader
|
||||
cdp 1622 card punch
|
||||
|
||||
25-Apr-03 RMS Revised for extended file support
|
||||
|
||||
Cards are represented as ASCII text streams terminated by newlines.
|
||||
This allows cards to be created and edited as normal files.
|
||||
*/
|
||||
@@ -62,7 +64,7 @@ UNIT cdr_unit = {
|
||||
|
||||
REG cdr_reg[] = {
|
||||
{ FLDATA (LAST, ind[IN_LAST], 0) },
|
||||
{ DRDATA (POS, cdr_unit.pos, 32), PV_LEFT },
|
||||
{ DRDATA (POS, cdr_unit.pos, T_ADDR_W), PV_LEFT },
|
||||
{ NULL } };
|
||||
|
||||
DEVICE cdr_dev = {
|
||||
@@ -82,7 +84,7 @@ UNIT cdp_unit = {
|
||||
UDATA (NULL, UNIT_SEQ+UNIT_ATTABLE, 0) };
|
||||
|
||||
REG cdp_reg[] = {
|
||||
{ DRDATA (POS, cdp_unit.pos, 32), PV_LEFT },
|
||||
{ DRDATA (POS, cdp_unit.pos, T_ADDR_W), PV_LEFT },
|
||||
{ NULL } };
|
||||
|
||||
DEVICE cdp_dev = {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* i1620_cpu.c: IBM 1620 CPU simulator
|
||||
|
||||
Copyright (c) 2002, Robert M. Supnik
|
||||
Copyright (c) 2002-2003, Robert M. Supnik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
@@ -26,6 +26,7 @@
|
||||
This CPU module incorporates code and comments from the 1620 simulator by
|
||||
Geoff Kuenning, with his permission.
|
||||
|
||||
25-Apr-03 RMS Changed t_addr to uint32 throughout
|
||||
18-Oct-02 RMS Fixed bugs in invalid result testing (found by Hans Pufal)
|
||||
|
||||
The simulated register state for the IBM 1620 is:
|
||||
@@ -760,7 +761,7 @@ case OP_BCXM:
|
||||
break; }
|
||||
reason = add_field (GET_IDXADDR (idx), QAR, FALSE, TRUE, &sta);
|
||||
if (ar_stop && ind[IN_OVF]) reason = STOP_OVERFL;
|
||||
if ((ind[IN_EZ] == 0) && (sta == ADD_NOCRY)) { /* ~z, ~c, ~schg? */
|
||||
if ((ind[IN_EZ] == 0) && (sta == ADD_NOCRY)) { /* ~z, ~c, ~sign chg? */
|
||||
BRANCH (PAR); } /* branch */
|
||||
break;
|
||||
|
||||
@@ -954,10 +955,10 @@ cnt = 0; /* count depth */
|
||||
do { indir = indir & M[alast]; /* get indirect */
|
||||
if (cvt_addr (alast, lnt, FALSE, &addr)) /* cvt addr to bin */
|
||||
return STOP_INVPDG; /* bad? */
|
||||
idx = get_idx (ADDR_S (alast, 1)); /* get index addr */
|
||||
idx = get_idx (ADDR_S (alast, 1)); /* get index reg num */
|
||||
if (indexok && (idx > 0)) { /* indexable? */
|
||||
idxa = GET_IDXADDR (idx); /* get idx addr */
|
||||
if (cvt_addr (idxa, ADDR_LEN, TRUE, &idxv)) /* cvt idx */
|
||||
idxa = GET_IDXADDR (idx); /* get idx reg addr */
|
||||
if (cvt_addr (idxa, ADDR_LEN, TRUE, &idxv)) /* cvt idx reg */
|
||||
return STOP_INVPDG;
|
||||
addr = addr + idxv; /* add in index */
|
||||
if (addr < 0) addr = addr + 100000; } /* -? 10's comp */
|
||||
@@ -1009,10 +1010,10 @@ return SCPE_OK;
|
||||
|
||||
t_stat get_idx (uint32 aidx)
|
||||
{
|
||||
int32 i, idx = 0;
|
||||
int32 i, idx;
|
||||
|
||||
if (idxe == 0) return -1; /* indexing off? */
|
||||
for (i = 0; i < 3; i++) { /* 3 flags worth */
|
||||
for (i = idx = 0; i < 3; i++) { /* 3 flags worth */
|
||||
if (M[aidx] & FLAG) idx = idx | (1 << i); /* test flag */
|
||||
MM (aidx); } /* next digit */
|
||||
return idx;
|
||||
@@ -1040,7 +1041,7 @@ return;
|
||||
|
||||
t_stat xmt_field (uint32 d, uint32 s, uint32 skp)
|
||||
{
|
||||
t_addr cnt = 0;
|
||||
uint32 cnt = 0;
|
||||
uint8 t;
|
||||
|
||||
do { t = M[d] = M[s] & (FLAG | DIGIT); /* copy src to dst */
|
||||
@@ -1054,7 +1055,7 @@ return SCPE_OK;
|
||||
|
||||
t_stat xmt_record (uint32 d, uint32 s, t_bool cpy)
|
||||
{
|
||||
t_addr cnt = 0;
|
||||
uint32 cnt = 0;
|
||||
|
||||
while ((M[s] & REC_MARK) != REC_MARK) { /* until rec mark */
|
||||
M[d] = M[s] & (FLAG | DIGIT); /* copy src to dst */
|
||||
@@ -1083,7 +1084,7 @@ return SCPE_OK;
|
||||
|
||||
t_stat xmt_divd (uint32 d, uint32 s)
|
||||
{
|
||||
t_addr cnt = 0;
|
||||
uint32 cnt = 0;
|
||||
|
||||
M[d] = M[s] & DIGIT; /* first w/o flag */
|
||||
do { MM (d); MM (s); /* decr mem addrs */
|
||||
@@ -1097,7 +1098,7 @@ return SCPE_OK;
|
||||
|
||||
t_stat xmt_tns (uint32 d, uint32 s)
|
||||
{
|
||||
t_addr cnt = 0;
|
||||
uint32 cnt = 0;
|
||||
uint8 t, z;
|
||||
|
||||
t = M[s] & DIGIT; /* get units */
|
||||
@@ -1120,7 +1121,7 @@ return SCPE_OK;
|
||||
|
||||
t_stat xmt_tnf (uint32 d, uint32 s)
|
||||
{
|
||||
t_addr cnt = 0;
|
||||
uint32 cnt = 0;
|
||||
uint8 t;
|
||||
|
||||
t = M[s]; /* get 1st digit */
|
||||
@@ -1242,7 +1243,7 @@ t_stat mul_field (uint32 mpc, uint32 mpy)
|
||||
int32 i;
|
||||
uint32 pro; /* prod pointer */
|
||||
uint32 mpyd, mpyf; /* mpy digit, flag */
|
||||
t_addr cnt = 0; /* counter */
|
||||
uint32 cnt = 0; /* counter */
|
||||
uint8 sign; /* final sign */
|
||||
t_stat r;
|
||||
|
||||
@@ -1299,7 +1300,7 @@ uint32 mpcd, mpcf; /* mpc digit, flag */
|
||||
uint32 prwp; /* prod working ptr */
|
||||
uint32 prod; /* product digit */
|
||||
uint32 cry; /* carry */
|
||||
t_addr mpcc, cryc; /* counters */
|
||||
uint32 mpcc, cryc; /* counters */
|
||||
|
||||
mptb = MUL_TABLE + ((mpyd <= 4)? (mpyd * 2): /* set mpy table 100's, */
|
||||
(((mpyd - 5) * 2) + 100)); /* 1's digits */
|
||||
@@ -1535,7 +1536,7 @@ t_stat div_one_digit (uint32 dvd, uint32 dvr, uint32 max,
|
||||
uint32 dvrp, dvrd, dvrf; /* dvr ptr, dig, flag */
|
||||
uint32 dvdp, dvdd; /* dvd ptr, dig */
|
||||
uint32 qd, cry; /* quo dig, carry */
|
||||
t_addr cnt;
|
||||
uint32 cnt;
|
||||
|
||||
for (qd = 0; qd < max; qd++) { /* devel quo dig */
|
||||
dvrp = dvr; /* divisor ptr */
|
||||
@@ -1592,7 +1593,7 @@ return SCPE_OK;
|
||||
|
||||
t_stat or_field (uint32 d, uint32 s)
|
||||
{
|
||||
t_addr cnt = 0;
|
||||
uint32 cnt = 0;
|
||||
int32 t;
|
||||
|
||||
ind[IN_EZ] = 1; /* assume result zero */
|
||||
@@ -1607,7 +1608,7 @@ return SCPE_OK;
|
||||
|
||||
t_stat and_field (uint32 d, uint32 s)
|
||||
{
|
||||
t_addr cnt = 0;
|
||||
uint32 cnt = 0;
|
||||
int32 t;
|
||||
|
||||
ind[IN_EZ] = 1; /* assume result zero */
|
||||
@@ -1622,7 +1623,7 @@ return SCPE_OK;
|
||||
|
||||
t_stat xor_field (uint32 d, uint32 s)
|
||||
{
|
||||
t_addr cnt = 0;
|
||||
uint32 cnt = 0;
|
||||
int32 t;
|
||||
|
||||
ind[IN_EZ] = 1; /* assume result zero */
|
||||
@@ -1637,7 +1638,7 @@ return SCPE_OK;
|
||||
|
||||
t_stat com_field (uint32 d, uint32 s)
|
||||
{
|
||||
t_addr cnt = 0;
|
||||
uint32 cnt = 0;
|
||||
int32 t;
|
||||
|
||||
ind[IN_EZ] = 1; /* assume result zero */
|
||||
@@ -1667,7 +1668,7 @@ return SCPE_OK;
|
||||
|
||||
t_stat oct_to_dec (uint32 tbl, uint32 s)
|
||||
{
|
||||
t_addr cnt = 0, tblc;
|
||||
uint32 cnt = 0, tblc;
|
||||
uint32 i, sd, sf, tf, sign;
|
||||
t_stat r;
|
||||
|
||||
@@ -1715,7 +1716,7 @@ t_stat dec_to_oct (uint32 d, uint32 tbl, int32 *ez)
|
||||
{
|
||||
uint32 sign, octd, t;
|
||||
t_bool first = TRUE;
|
||||
t_addr ctr = 0;
|
||||
uint32 ctr = 0;
|
||||
t_stat r;
|
||||
|
||||
sign = M[PROD_AREA + PROD_AREA_LEN - 1] & FLAG; /* input sign */
|
||||
@@ -1794,7 +1795,7 @@ return SCPE_OK;
|
||||
t_stat cpu_set_size (UNIT *uptr, int32 val, char *cptr, void *desc)
|
||||
{
|
||||
int32 mc = 0;
|
||||
t_addr i;
|
||||
uint32 i;
|
||||
|
||||
if ((val <= 0) || (val > MAXMEMSIZE) || ((val % 1000) != 0))
|
||||
return SCPE_ARG;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* i1620_defs.h: IBM 1620 simulator definitions
|
||||
|
||||
Copyright (c) 2002, Robert M. Supnik
|
||||
Copyright (c) 2002-2003, Robert M. Supnik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
To: Users
|
||||
From: Bob Supnik
|
||||
Subj: IBM 1620 Simulator Usage
|
||||
Date: 15-Nov-2002
|
||||
Date: 15-Apr-2003
|
||||
|
||||
COPYRIGHT NOTICE
|
||||
|
||||
The following copyright notice applies to both the SIMH source and binary:
|
||||
|
||||
Original code published in 1993-2002, written by Robert M Supnik
|
||||
Copyright (c) 1993-2002, Robert M Supnik
|
||||
Original code published in 1993-2003, written by Robert M Supnik
|
||||
Copyright (c) 1993-2003, Robert M Supnik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
@@ -138,10 +138,10 @@ standard on the Model 2.
|
||||
|
||||
If memory size is being reduced, and the memory being truncated contains
|
||||
non-zero data, the simulator asks for confirmation. Data in the truncated
|
||||
portion of memory is lost. Initially, memory size is 16K, and all special
|
||||
features are enabled.
|
||||
portion of memory is lost. Initially, the CPU is a Model I, memory size is
|
||||
20K, and indirect addressing, editing instructions, and divide are enabled.
|
||||
|
||||
Memory is implemented as 5 bit BCD characters, as follows:
|
||||
Memory is implemented as 5 bit BCD digits, as follows:
|
||||
|
||||
4 3 2 1 0
|
||||
|
||||
@@ -177,8 +177,8 @@ interrupt system.
|
||||
IND[0:99] 1 indicator array
|
||||
IAE 1 indirect address enable (Model 2 only)
|
||||
IDXE 1 indexing enable (Model 2 only)
|
||||
IDXB 1 indexinb band select (Model 2 only)
|
||||
IR1Q 1 IR1 prior to last branch;
|
||||
IDXB 1 indexing band select (Model 2 only)
|
||||
IR1Q[0:63] 16 IR1 prior to last branch;
|
||||
most recent IR1 change first
|
||||
WRU 8 interrupt character
|
||||
|
||||
@@ -198,12 +198,12 @@ key is pressed. The typewriter has no errors.
|
||||
|
||||
2.3 1621 Paper Tape Reader (PTR)
|
||||
|
||||
The paper tape reader (PTR) reads data from a disk file. The POS
|
||||
register specifies the number of the next data item to be read. Thus,
|
||||
by changing POS, the user can backspace or advance the reader.
|
||||
The paper tape reader (PTR) reads data from a disk file. The POS register
|
||||
specifies the number of the next data item to be read. Thus, by changing
|
||||
POS, the user can backspace or advance the reader.
|
||||
|
||||
The paper tape reader supports the BOOT command. BOOT PTR starts the
|
||||
specified instruction sequence at location 0.
|
||||
standard paper tape boot sequence at location 0.
|
||||
|
||||
The paper tape reader implements these registers:
|
||||
|
||||
@@ -227,7 +227,7 @@ Error handling is as follows:
|
||||
2.4 1624 Paper Tape Punch (PTP)
|
||||
|
||||
The paper tape punch (PTP) writes data to a disk file. The POS register
|
||||
specifies the number of the next data item to bewritten. Thus, by
|
||||
specifies the number of the next data item to be written. Thus, by
|
||||
changing POS, the user can backspace or advance the punch.
|
||||
|
||||
The paper tape punch implements these registers:
|
||||
@@ -252,8 +252,8 @@ Error handling is as follows:
|
||||
The IBM 1402 card/reader punch is simulated as two independent devices:
|
||||
the card reader (CDR) and the card punch (CDP).
|
||||
|
||||
The card reader supports the BOOT command. BOOT CDR starts the
|
||||
specified instruction sequence at location 0.
|
||||
The card reader supports the BOOT command. BOOT CDR starts the standard
|
||||
card boot sequence at location 0.
|
||||
|
||||
The card reader reads data from a disk file, while the punch writes data
|
||||
to a disk file. Cards are simulated as ASCII text lines with terminating
|
||||
@@ -436,11 +436,11 @@ marks the end of the immediate Q operand; and the flags over digits
|
||||
The IBM 1620 uses single digits to represent numbers, and pairs of
|
||||
digits to represent characters (alphameric coding). Only a small
|
||||
number of the 256 possible alphameric codings have legitimate values.
|
||||
Further, the translation between alphameric and devices varied
|
||||
from device to device. The simulator implements a code called
|
||||
Further, the translation between alphameric and devices varied from
|
||||
device to device. The simulator implements a code called 1620 ASCII,
|
||||
which allows all 64 possible card codes to be represented by upper
|
||||
case ASCII characters. In addition, lower case alphabetic
|
||||
characters are accepted on input as equivalent to upper case.
|
||||
case ASCII characters. In addition, lower case alphabetic characters
|
||||
are accepted on input as equivalent to upper case.
|
||||
|
||||
Card code PT code RA RN LPT WA ASCII representation
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* i1620_dp.c: IBM 1311 disk simulator
|
||||
|
||||
Copyright (c) 2002, Robert M. Supnik
|
||||
Copyright (c) 2002-2003, Robert M. Supnik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
@@ -83,7 +83,7 @@ extern uint8 ind[NUM_IND];
|
||||
extern UNIT cpu_unit;
|
||||
|
||||
int32 dp_stop = 1; /* disk err stop */
|
||||
t_addr dp_ba = 0; /* buffer addr */
|
||||
uint32 dp_ba = 0; /* buffer addr */
|
||||
|
||||
t_stat dp_reset (DEVICE *dptr);
|
||||
t_stat dp_rdadr (UNIT *uptr, int32 sec, int32 qnr, int32 qwc);
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* i1620_fp.c: IBM 1620 floating point simulator
|
||||
|
||||
Copyright (c) 2002, Robert M. Supnik
|
||||
Copyright (c) 2002-2003, Robert M. Supnik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* i1620_lp.c: IBM 1443 line printer simulator
|
||||
|
||||
Copyright (c) 2002, Robert M. Supnik
|
||||
Copyright (c) 2002-2003, Robert M. Supnik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
@@ -24,6 +24,8 @@
|
||||
in this Software without prior written authorization from Robert M Supnik.
|
||||
|
||||
lpt 1443 line printer
|
||||
|
||||
25-Apr-03 RMS Revised for extended file support
|
||||
*/
|
||||
|
||||
#include "i1620_defs.h"
|
||||
@@ -75,7 +77,7 @@ REG lpt_reg[] = {
|
||||
{ FLDATA (PRCH9, ind[IN_PRCH9], 0) },
|
||||
{ FLDATA (PRCH12, ind[IN_PRCH12], 0) },
|
||||
{ FLDATA (PRBSY, ind[IN_PRBSY], 0) },
|
||||
{ DRDATA (POS, lpt_unit.pos, 32), PV_LEFT },
|
||||
{ DRDATA (POS, lpt_unit.pos, T_ADDR_W), PV_LEFT },
|
||||
{ BRDATA (CCT, cct, 8, 32, CCT_LNT) },
|
||||
{ DRDATA (CCTP, cct_ptr, 8), PV_LEFT },
|
||||
{ DRDATA (CCTL, cct_lnt, 8), REG_RO + PV_LEFT },
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* i1620_pt.c: IBM 1621/1624 paper tape reader/punch simulator
|
||||
|
||||
Copyright (c) 2002, Robert M Supnik
|
||||
Copyright (c) 2002-2003, Robert M Supnik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
@@ -25,6 +25,8 @@
|
||||
|
||||
ptr 1621 paper tape reader
|
||||
ptp 1624 paper tape punch
|
||||
|
||||
25-Apr-03 RMS Revised for extended file support
|
||||
*/
|
||||
|
||||
#include "i1620_defs.h"
|
||||
@@ -58,7 +60,7 @@ UNIT ptr_unit = {
|
||||
UDATA (NULL, UNIT_SEQ+UNIT_ATTABLE+UNIT_ROABLE, 0) };
|
||||
|
||||
REG ptr_reg[] = {
|
||||
{ DRDATA (POS, ptr_unit.pos, 32), PV_LEFT },
|
||||
{ DRDATA (POS, ptr_unit.pos, T_ADDR_W), PV_LEFT },
|
||||
{ NULL } };
|
||||
|
||||
DEVICE ptr_dev = {
|
||||
@@ -78,7 +80,7 @@ UNIT ptp_unit = {
|
||||
UDATA (NULL, UNIT_SEQ+UNIT_ATTABLE, 0) };
|
||||
|
||||
REG ptp_reg[] = {
|
||||
{ DRDATA (POS, ptp_unit.pos, 32), PV_LEFT },
|
||||
{ DRDATA (POS, ptp_unit.pos, T_ADDR_W), PV_LEFT },
|
||||
{ NULL } };
|
||||
|
||||
DEVICE ptp_dev = {
|
||||
@@ -197,7 +199,7 @@ const int8 alp_to_ptp[256] = {
|
||||
|
||||
t_stat ptr (uint32 op, uint32 pa, uint32 f0, uint32 f1)
|
||||
{
|
||||
t_addr i;
|
||||
uint32 i;
|
||||
int8 mc;
|
||||
uint8 ptc;
|
||||
t_stat r, inv = SCPE_OK;
|
||||
@@ -243,7 +245,7 @@ return STOP_RWRAP;
|
||||
|
||||
t_stat btr (uint32 op, uint32 pa, uint32 f0, uint32 f1)
|
||||
{
|
||||
t_addr i;
|
||||
uint32 i;
|
||||
uint8 ptc;
|
||||
t_stat r, inv = SCPE_OK;
|
||||
|
||||
@@ -333,7 +335,7 @@ return SCPE_OK;
|
||||
|
||||
t_stat ptp (uint32 op, uint32 pa, uint32 f0, uint32 f1)
|
||||
{
|
||||
t_addr i;
|
||||
uint32 i;
|
||||
int8 ptc;
|
||||
uint8 z, d;
|
||||
t_stat r;
|
||||
@@ -366,7 +368,7 @@ return STOP_RWRAP;
|
||||
|
||||
t_stat btp (uint32 op, uint32 pa, uint32 f0, uint32 f1)
|
||||
{
|
||||
t_addr i;
|
||||
uint32 i;
|
||||
uint8 ptc, z, d;
|
||||
t_stat r;
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* i1620_sys.c: IBM 1620 simulator interface
|
||||
|
||||
Copyright (c) 2002, Robert M. Supnik
|
||||
Copyright (c) 2002-2003, Robert M. Supnik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* i1620_tty.c: IBM 1620 typewriter
|
||||
|
||||
Copyright (c) 2002, Robert M. Supnik
|
||||
Copyright (c) 2002-2003, Robert M. Supnik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
|
||||
Reference in New Issue
Block a user