mirror of
https://github.com/simh/simh.git
synced 2026-01-26 04:01:38 +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
@@ -919,11 +919,10 @@ return SCPE_OK;
|
||||
|
||||
/* Relocate addr for console access */
|
||||
|
||||
t_addr RelocC (int32 va, int32 sw)
|
||||
uint32 RelocC (int32 va, int32 sw)
|
||||
{
|
||||
uint32 nml = nml_mode, usr = usr_mode;
|
||||
uint32 pgn, map;
|
||||
t_addr pa;
|
||||
uint32 pa, pgn, map;
|
||||
|
||||
if (sw & SWMASK ('N')) nml = 1; /* -n: normal */
|
||||
else if (sw & SWMASK ('X')) nml = usr = 0; /* -x: mon */
|
||||
@@ -1161,7 +1160,7 @@ return SCPE_OK;
|
||||
|
||||
t_stat cpu_ex (t_value *vptr, t_addr addr, UNIT *uptr, int32 sw)
|
||||
{
|
||||
t_addr pa;
|
||||
uint32 pa;
|
||||
|
||||
pa = RelocC (addr, sw);
|
||||
if (pa > MAXMEMSIZE) return SCPE_REL;
|
||||
@@ -1174,7 +1173,7 @@ return SCPE_OK;
|
||||
|
||||
t_stat cpu_dep (t_value val, t_addr addr, UNIT *uptr, int32 sw)
|
||||
{
|
||||
t_addr pa;
|
||||
uint32 pa;
|
||||
|
||||
pa = RelocC (addr, sw);
|
||||
if (pa > MAXMEMSIZE) return SCPE_REL;
|
||||
@@ -1188,7 +1187,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 & 037777) != 0))
|
||||
return SCPE_ARG;
|
||||
@@ -1209,7 +1208,7 @@ extern DEVICE drm_dev, mux_dev, muxl_dev;
|
||||
extern UNIT drm_unit, mux_unit;
|
||||
extern DIB mux_dib;
|
||||
|
||||
if ((cpu_unit.flags & UNIT_GENIE) == val) return SCPE_OK;
|
||||
if ((cpu_unit.flags & UNIT_GENIE) == (uint32) val) return SCPE_OK;
|
||||
if ((drm_unit.flags & UNIT_ATT) || /* attached? */
|
||||
(mux_unit.flags & UNIT_ATT)) return SCPE_NOFNC; /* can't do it */
|
||||
if (val) { /* Genie? */
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* sds_defs.h: SDS 940 simulator definitions
|
||||
|
||||
Copyright (c) 2001-2002, Robert M. Supnik
|
||||
Copyright (c) 2001-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"),
|
||||
@@ -22,6 +22,8 @@
|
||||
Except as contained in this notice, the name of Robert M Supnik shall not
|
||||
be used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from Robert M Supnik.
|
||||
|
||||
25-Apr-03 RMS Revised for extended file support
|
||||
*/
|
||||
|
||||
#include "sim_defs.h" /* simulator defns */
|
||||
@@ -73,7 +75,7 @@
|
||||
#define MAXMEMSIZE (1 << 16) /* max memory size */
|
||||
#define PAMASK (MAXMEMSIZE - 1) /* physical addr mask */
|
||||
#define MEMSIZE (cpu_unit.capac) /* actual memory size */
|
||||
#define MEM_ADDR_OK(x) (((t_addr) (x)) < MEMSIZE)
|
||||
#define MEM_ADDR_OK(x) (((uint32) (x)) < MEMSIZE)
|
||||
#define ReadP(x) M[x]
|
||||
#define WriteP(x,y) if (MEM_ADDR_OK (x)) M[x] = y
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* sds_drm.c: SDS 940 Project Genie drum 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 @@
|
||||
/* sds_dsk.c: SDS 940 moving head disk simulator
|
||||
|
||||
Copyright (c) 2001-2002, Robert M. Supnik
|
||||
Copyright (c) 2001-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 @@
|
||||
/* sds_io.c: SDS 940 I/O simulator
|
||||
|
||||
Copyright (c) 2001-2002, Robert M. Supnik
|
||||
Copyright (c) 2001-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 @@
|
||||
/* sds_lp.c: SDS 940 line printer simulator
|
||||
|
||||
Copyright (c) 2001-2002, Robert M. Supnik
|
||||
Copyright (c) 2001-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"),
|
||||
@@ -23,7 +23,9 @@
|
||||
be used in advertising or otherwise to promote the sale, use or other dealings
|
||||
in this Software without prior written authorization from Robert M Supnik.
|
||||
|
||||
lpt line printer
|
||||
lpt line printer
|
||||
|
||||
25-Apr-03 RMS Revised for extended file support
|
||||
*/
|
||||
|
||||
#include "sds_defs.h"
|
||||
@@ -84,7 +86,7 @@ REG lpt_reg[] = {
|
||||
{ DRDATA (CCTP, lpt_ccp, 8), PV_LEFT },
|
||||
{ DRDATA (CCTL, lpt_ccl, 8), REG_RO + PV_LEFT },
|
||||
{ ORDATA (SPCINST, lpt_spc, 24) },
|
||||
{ DRDATA (POS, lpt_unit.pos, 32), PV_LEFT },
|
||||
{ DRDATA (POS, lpt_unit.pos, T_ADDR_W), PV_LEFT },
|
||||
{ DRDATA (CTIME, lpt_ctime, 24), REG_NZ + PV_LEFT },
|
||||
{ DRDATA (PTIME, lpt_ptime, 24), REG_NZ + PV_LEFT },
|
||||
{ DRDATA (STIME, lpt_stime, 24), REG_NZ + PV_LEFT },
|
||||
|
||||
@@ -25,6 +25,8 @@
|
||||
|
||||
mt 7 track magnetic tape
|
||||
|
||||
25-Apr-03 RMS Revised for extended file support
|
||||
28-Mar-03 RMS Added multiformat support
|
||||
28-Feb-03 RMS Revised for magtape library
|
||||
|
||||
Magnetic tapes are represented as a series of variable 8b records
|
||||
@@ -132,7 +134,7 @@ REG mt_reg[] = {
|
||||
{ FLDATA (SKIP, mt_skip, 0) },
|
||||
{ DRDATA (CTIME, mt_ctime, 24), REG_NZ + PV_LEFT },
|
||||
{ DRDATA (GTIME, mt_gtime, 24), REG_NZ + PV_LEFT },
|
||||
{ URDATA (POS, mt_unit[0].pos, 10, 32, 0,
|
||||
{ URDATA (POS, mt_unit[0].pos, 10, T_ADDR_W, 0,
|
||||
MT_NUMDR, PV_LEFT | REG_RO) },
|
||||
{ URDATA (BOT, mt_unit[0].botf, 10, 1, 0, MT_NUMDR, REG_RO) },
|
||||
{ URDATA (EOT, mt_unit[0].eotf, 10, 1, 0, MT_NUMDR, REG_RO) },
|
||||
@@ -142,6 +144,8 @@ REG mt_reg[] = {
|
||||
MTAB mt_mod[] = {
|
||||
{ MTUF_WLK, 0, "write enabled", "WRITEENABLED", NULL },
|
||||
{ MTUF_WLK, MTUF_WLK, "write locked", "LOCKED", NULL },
|
||||
{ MTAB_XTD|MTAB_VUN, 0, "FORMAT", "FORMAT",
|
||||
&sim_tape_set_fmt, &sim_tape_show_fmt, NULL },
|
||||
{ MTAB_XTD|MTAB_VDV, 0, "CHANNEL", "CHANNEL",
|
||||
&set_chan, &show_chan, NULL },
|
||||
{ 0 } };
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* sds_mux.c: SDS 940 terminal multiplexor simulator
|
||||
|
||||
Copyright (c) 2001-2002, Robert M Supnik
|
||||
Copyright (c) 2001-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 @@
|
||||
|
||||
mux terminal multiplexor
|
||||
|
||||
09-May-03 RMS Added network device flag
|
||||
|
||||
This module implements up to 32 individual serial interfaces, representing
|
||||
either the project Genie terminal multiplexor or the SDS 940 CTE option.
|
||||
*/
|
||||
@@ -162,7 +164,7 @@ DEVICE mux_dev = {
|
||||
1, 10, 31, 1, 8, 8,
|
||||
&tmxr_ex, &tmxr_dep, &mux_reset,
|
||||
NULL, &mux_attach, &mux_detach,
|
||||
&mux_dib, DEV_DISABLE };
|
||||
&mux_dib, DEV_NET | DEV_DISABLE };
|
||||
|
||||
/* MUXL data structures
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* sds_rad.c: SDS 940 fixed head disk simulator
|
||||
|
||||
Copyright (c) 2001-2002, Robert M. Supnik
|
||||
Copyright (c) 2001-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"),
|
||||
@@ -123,7 +123,7 @@ t_stat rad (uint32 fnc, uint32 inst, uint32 *dat)
|
||||
{
|
||||
int32 t, lun, new_ch;
|
||||
uint32 *wptr;
|
||||
t_addr p;
|
||||
uint32 p;
|
||||
|
||||
switch (fnc) { /* case function */
|
||||
case IO_CONN: /* connect */
|
||||
@@ -238,7 +238,7 @@ return SCPE_OK;
|
||||
|
||||
t_stat rad_fill (int32 sba)
|
||||
{
|
||||
t_addr p = rad_da * RAD_NUMWD;
|
||||
uint32 p = rad_da * RAD_NUMWD;
|
||||
int32 wa = (sba + 1) >> 1; /* whole words */
|
||||
|
||||
if (sba && (p < rad_unit.capac)) { /* fill needed? */
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* sds_stddev.c: SDS 940 standard devices
|
||||
|
||||
Copyright (c) 2001-2002, Robert M. Supnik
|
||||
Copyright (c) 2001-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"),
|
||||
@@ -27,6 +27,8 @@
|
||||
ptp paper tape punch
|
||||
tti keyboard
|
||||
tto teleprinter
|
||||
|
||||
25-Apr-03 RMS Revised for extended file support
|
||||
*/
|
||||
|
||||
#include "sds_defs.h"
|
||||
@@ -81,7 +83,7 @@ REG ptr_reg[] = {
|
||||
{ ORDATA (BUF, ptr_unit.buf, 7) },
|
||||
{ FLDATA (XFR, xfr_req, XFR_V_PTR) },
|
||||
{ FLDATA (SOR, ptr_sor, 0) },
|
||||
{ DRDATA (POS, ptr_unit.pos, 32), PV_LEFT },
|
||||
{ DRDATA (POS, ptr_unit.pos, T_ADDR_W), PV_LEFT },
|
||||
{ DRDATA (TIME, ptr_unit.wait, 24), REG_NZ + PV_LEFT },
|
||||
{ FLDATA (STOP_IOE, ptr_stopioe, 0) },
|
||||
{ NULL } };
|
||||
@@ -114,7 +116,7 @@ REG ptp_reg[] = {
|
||||
{ ORDATA (BUF, ptp_unit.buf, 7) },
|
||||
{ FLDATA (XFR, xfr_req, XFR_V_PTP) },
|
||||
{ FLDATA (LDR, ptp_ldr, 0) },
|
||||
{ DRDATA (POS, ptp_unit.pos, 32), PV_LEFT },
|
||||
{ DRDATA (POS, ptp_unit.pos, T_ADDR_W), PV_LEFT },
|
||||
{ DRDATA (TIME, ptp_unit.wait, 24), REG_NZ + PV_LEFT },
|
||||
{ FLDATA (STOP_IOE, ptp_stopioe, 0) },
|
||||
{ NULL } };
|
||||
@@ -145,7 +147,7 @@ UNIT tti_unit = { UDATA (&tti_svc, 0, 0), KBD_POLL_WAIT };
|
||||
REG tti_reg[] = {
|
||||
{ ORDATA (BUF, tti_unit.buf, 6) },
|
||||
{ FLDATA (XFR, xfr_req, XFR_V_TTI) },
|
||||
{ DRDATA (POS, tti_unit.pos, 32), PV_LEFT },
|
||||
{ DRDATA (POS, tti_unit.pos, T_ADDR_W), PV_LEFT },
|
||||
{ DRDATA (TIME, tti_unit.wait, 24), REG_NZ + PV_LEFT },
|
||||
{ NULL } };
|
||||
|
||||
@@ -175,7 +177,7 @@ UNIT tto_unit = { UDATA (&tto_svc, 0, 0), SERIAL_OUT_WAIT };
|
||||
REG tto_reg[] = {
|
||||
{ ORDATA (BUF, tto_unit.buf, 6) },
|
||||
{ FLDATA (XFR, xfr_req, XFR_V_TTO) },
|
||||
{ DRDATA (POS, tto_unit.pos, 32), PV_LEFT },
|
||||
{ DRDATA (POS, tto_unit.pos, T_ADDR_W), PV_LEFT },
|
||||
{ DRDATA (TIME, tto_unit.wait, 24), REG_NZ + PV_LEFT },
|
||||
{ NULL } };
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/* sds_sys.c: SDS 940 simulator interface
|
||||
|
||||
Copyright (c) 2001-2002, Robert M Supnik
|
||||
Copyright (c) 2001-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