From 6e813b83647c1ea0ca9b752dfe533d58a5d054ca Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Sat, 24 Mar 2012 19:46:37 -0700 Subject: [PATCH] Merge with v3.9-0-rc2 first pass --- ALTAIR/altair_cpu.c | 3 +- GRI/gri_cpu.c | 2 +- GRI/gri_stddev.c | 2 +- GRI/gri_sys.c | 2 +- H316/h316_cpu.c | 10 ++--- H316/h316_dp.c | 5 ++- H316/h316_fhd.c | 5 ++- H316/h316_lp.c | 4 +- H316/h316_mt.c | 7 ++-- H316/h316_stddev.c | 10 ++--- I1401/i1401_cd.c | 6 +-- I1401/i1401_cpu.c | 18 ++++----- I1401/i1401_lp.c | 2 +- I1401/i1401_mt.c | 26 ++++++------- I1401/i1401_sys.c | 6 +-- I1620/i1620_cd.c | 7 ++-- I1620/i1620_cpu.c | 10 ++--- I1620/i1620_dp.c | 2 +- I1620/i1620_fp.c | 2 +- I1620/i1620_pt.c | 3 +- I1620/i1620_sys.c | 5 ++- I7094/i7094_cd.c | 3 +- I7094/i7094_com.c | 4 +- I7094/i7094_cpu.c | 2 +- I7094/i7094_cpu1.c | 2 +- I7094/i7094_drm.c | 88 ++++++++++++++++++++++++------------------ I7094/i7094_io.c | 8 +++- I7094/i7094_lp.c | 2 +- I7094/i7094_mt.c | 5 ++- Interdata/id16_cpu.c | 8 ++-- Interdata/id32_cpu.c | 8 ++-- Interdata/id32_dboot.c | 2 +- Interdata/id_fd.c | 13 +++---- Interdata/id_idc.c | 4 +- Interdata/id_io.c | 2 +- Interdata/id_lp.c | 2 +- Interdata/id_pas.c | 7 ++-- Interdata/id_pt.c | 2 +- LGP/lgp_cpu.c | 4 +- NOVA/nova_clk.c | 2 +- NOVA/nova_cpu.c | 6 +-- NOVA/nova_dsk.c | 2 +- NOVA/nova_mta.c | 2 +- NOVA/nova_sys.c | 2 +- PDP1/pdp1_cpu.c | 9 +++-- PDP1/pdp1_stddev.c | 19 ++++----- PDP11/pdp11_cis.c | 6 +-- PDP11/pdp11_cpu.c | 27 ++++++------- PDP11/pdp11_cpumod.c | 6 +-- PDP11/pdp11_dz.c | 2 +- PDP11/pdp11_fp.c | 2 +- PDP11/pdp11_hk.c | 3 +- PDP11/pdp11_io.c | 9 +++-- PDP11/pdp11_rf.c | 7 ++-- PDP11/pdp11_rh.c | 5 ++- PDP11/pdp11_rk.c | 2 +- PDP11/pdp11_rl.c | 2 +- PDP11/pdp11_rq.c | 10 ++--- PDP11/pdp11_ry.c | 4 +- PDP11/pdp11_stddev.c | 4 +- PDP11/pdp11_sys.c | 8 ++-- PDP11/pdp11_tc.c | 2 +- PDP11/pdp11_tm.c | 13 +++---- PDP11/pdp11_tq.c | 8 ++-- PDP11/pdp11_ts.c | 6 +-- PDP11/pdp11_tu.c | 4 +- PDP11/pdp11_vh.c | 2 +- PDP18B/pdp18b_cpu.c | 12 +++--- PDP18B/pdp18b_drm.c | 2 +- PDP18B/pdp18b_fpp.c | 3 +- PDP18B/pdp18b_lp.c | 2 +- PDP18B/pdp18b_rf.c | 2 +- PDP18B/pdp18b_stddev.c | 2 +- PDP18B/pdp18b_sys.c | 7 ++-- PDP8/pdp8_fpp.c | 2 +- PDP8/pdp8_sys.c | 4 +- S3/s3_cd.c | 3 +- S3/s3_cpu.c | 4 +- S3/s3_lp.c | 5 ++- S3/s3_sys.c | 4 +- SDS/sds_io.c | 4 +- SDS/sds_mt.c | 5 ++- SDS/sds_sys.c | 4 +- VAX/vax780_sbi.c | 4 +- VAX/vax780_stddev.c | 2 +- VAX/vax780_syslist.c | 2 +- VAX/vax780_uba.c | 2 +- VAX/vax_cis.c | 4 +- VAX/vax_cmode.c | 2 +- VAX/vax_cpu.c | 19 +++++---- VAX/vax_cpu1.c | 10 ++--- VAX/vax_fpa.c | 7 ++-- VAX/vax_io.c | 8 ++-- VAX/vax_mmu.c | 2 +- VAX/vax_octa.c | 4 +- VAX/vax_sys.c | 2 +- VAX/vax_syscm.c | 4 +- VAX/vax_sysdev.c | 8 ++-- VAX/vax_syslist.c | 2 +- makefile | 19 ++++++--- scp.c | 14 ++++--- sim_console.c | 28 +++++++------- sim_rev.h | 76 +++++++++++++++++++++--------------- swtp/swtp_defs.h | 2 +- 104 files changed, 415 insertions(+), 348 deletions(-) diff --git a/ALTAIR/altair_cpu.c b/ALTAIR/altair_cpu.c index 3e97664f..80fce7d6 100644 --- a/ALTAIR/altair_cpu.c +++ b/ALTAIR/altair_cpu.c @@ -1,6 +1,6 @@ /* altair_cpu.c: MITS Altair Intel 8080 CPU simulator - Copyright (c) 1997-2005, Charles E. Owen + Copyright (c) 1997-2012, Charles E. Owen 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,7 @@ cpu 8080 CPU + 19-Mar-12 RMS Fixed data type for breakpoint variables 08-Oct-02 RMS Tied off spurious compiler warnings The register state for the 8080 CPU is: diff --git a/GRI/gri_cpu.c b/GRI/gri_cpu.c index 547b2139..3eb3fa2e 100644 --- a/GRI/gri_cpu.c +++ b/GRI/gri_cpu.c @@ -27,7 +27,7 @@ 14-Jan-08 RMS Added GRI-99 support 28-Apr-07 RMS Removed clock initialization - 22-Sep-05 RMS Fixed declarations (from Sterling Garwood) + 22-Sep-05 RMS Fixed declarations (Sterling Garwood) 18-Jul-04 RMS Fixed missing ao_update calls in AX, AY write 17-Jul-04 RMS Revised MSR, EAO based on additional documentation 14-Mar-03 RMS Fixed bug in SC queue tracking diff --git a/GRI/gri_stddev.c b/GRI/gri_stddev.c index 412cc200..53a3b13d 100644 --- a/GRI/gri_stddev.c +++ b/GRI/gri_stddev.c @@ -29,7 +29,7 @@ hsp S42-006 high speed punch rtc real time clock - 31-May-08 RMS Fixed declarations (found by Peter Schorn) + 31-May-08 RMS Fixed declarations (Peter Schorn) 30-Sep-06 RMS Fixed handling of non-printable characters in KSR mode 22-Nov-05 RMS Revised for new terminal processing routines 29-Dec-03 RMS Added support for console backpressure diff --git a/GRI/gri_sys.c b/GRI/gri_sys.c index 5bb5c227..42e793d2 100644 --- a/GRI/gri_sys.c +++ b/GRI/gri_sys.c @@ -24,7 +24,7 @@ in this Software without prior written authorization from Robert M Supnik. 14-Jan-08 RMS Added GRI-99 support - 18-Oct-02 RMS Fixed bug in symbolic decode (found by Hans Pufal) + 18-Oct-02 RMS Fixed bug in symbolic decode (Hans Pufal) */ #include "gri_defs.h" diff --git a/H316/h316_cpu.c b/H316/h316_cpu.c index e8576105..b1ba29bb 100644 --- a/H316/h316_cpu.c +++ b/H316/h316_cpu.c @@ -25,12 +25,12 @@ cpu H316/H516 CPU - 19-Nov-11 RMS Fixed XR behavior (from Adrian Wise) - 19-Nov-11 RMS Fixed bugs in double precision, normalization, SC (from Adrian Wise) - 10-Jan-10 RMS Fixed bugs in LDX, STX introduced in 3.8-1 (from Theo Engel) + 19-Nov-11 RMS Fixed XR behavior (Adrian Wise) + 19-Nov-11 RMS Fixed bugs in double precision, normalization, SC (Adrian Wise) + 10-Jan-10 RMS Fixed bugs in LDX, STX introduced in 3.8-1 (Theo Engel) 28-Apr-07 RMS Removed clock initialization - 03-Apr-06 RMS Fixed bugs in LLL, LRL (from Theo Engel) - 22-Sep-05 RMS Fixed declarations (from Sterling Garwood) + 03-Apr-06 RMS Fixed bugs in LLL, LRL (Theo Engel) + 22-Sep-05 RMS Fixed declarations (Sterling Garwood) 16-Aug-05 RMS Fixed C++ declaration and cast problems 15-Feb-05 RMS Added start button interrupt 01-Dec-04 RMS Fixed bug in DIV diff --git a/H316/h316_dp.c b/H316/h316_dp.c index 63023cba..40468675 100644 --- a/H316/h316_dp.c +++ b/H316/h316_dp.c @@ -1,6 +1,6 @@ /* h316_dp.c: Honeywell 4623, 4651, 4720 disk simulator - Copyright (c) 2003-2008, Robert M. Supnik + Copyright (c) 2003-2012, 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,7 +27,8 @@ 4651 disk subsystem 4720 disk subsystem - 04-Sep-05 RMS Fixed missing return (found by Peter Schorn) + 19-Mar-12 RMS Fixed declaration of chan_req (Mark Pizzolato) + 04-Sep-05 RMS Fixed missing return (Peter Schorn) 15-Jul-05 RMS Fixed bug in attach routine 01-Dec-04 RMS Fixed bug in skip on !seeking diff --git a/H316/h316_fhd.c b/H316/h316_fhd.c index afadcb3b..4f20a45a 100644 --- a/H316/h316_fhd.c +++ b/H316/h316_fhd.c @@ -1,6 +1,6 @@ /* h316_fhd.c: H316/516 fixed head simulator - Copyright (c) 2003-2008, Robert M. Supnik + Copyright (c) 2003-2012, 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,7 +25,8 @@ fhd 516-4400 fixed head disk - 15-May-06 RMS Fixed bug in autosize attach (reported by David Gesswein) + 19-Mar-12 RMS Fixed declaration of chan_req (Mark Pizzolato) + 15-May-06 RMS Fixed bug in autosize attach (David Gesswein) 04-Jan-04 RMS Changed sim_fsize calling sequence These head-per-track devices are buffered in memory, to minimize overhead. diff --git a/H316/h316_lp.c b/H316/h316_lp.c index 809e3b3c..46151911 100644 --- a/H316/h316_lp.c +++ b/H316/h316_lp.c @@ -25,9 +25,9 @@ lpt line printer - 09-Jun-07 RMS Fixed lost last print line (from Theo Engel) + 09-Jun-07 RMS Fixed lost last print line (Theo Engel) 19-Jan-06 RMS Added UNIT_TEXT flag - 03-Apr-06 RMS Fixed bug in blanks backscanning (from Theo Engel) + 03-Apr-06 RMS Fixed bug in blanks backscanning (Theo Engel) 01-Dec-04 RMS Fixed bug in DMA/DMC support 24-Oct-03 RMS Added DMA/DMC support 25-Apr-03 RMS Revised for extended file support diff --git a/H316/h316_mt.c b/H316/h316_mt.c index 3004a3df..125945a9 100644 --- a/H316/h316_mt.c +++ b/H316/h316_mt.c @@ -1,6 +1,6 @@ /* h316_mt.c: H316/516 magnetic tape simulator - Copyright (c) 2003-2008, Robert M. Supnik + Copyright (c) 2003-2012, 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,10 +25,11 @@ mt 516-4100 seven track magnetic tape - 09-Jun-07 RMS Fixed bug in write without stop (from Theo Engel) + 19-Mar-12 RMS Fixed declaration of chan_req (Mark Pizzolato) + 09-Jun-07 RMS Fixed bug in write without stop (Theo Engel) 16-Feb-06 RMS Added tape capacity checking 26-Aug-05 RMS Revised to use API for write lock check - 08-Feb-05 RMS Fixed error reporting from OCP (found by Philipp Hachtmann) + 08-Feb-05 RMS Fixed error reporting from OCP (Philipp Hachtmann) 01-Dec-04 RMS Fixed bug in DMA/DMC support Magnetic tapes are represented as a series of variable records diff --git a/H316/h316_stddev.c b/H316/h316_stddev.c index 456df262..c358841e 100644 --- a/H316/h316_stddev.c +++ b/H316/h316_stddev.c @@ -28,13 +28,13 @@ tty 316/516-33 teleprinter clk/options 316/516-12 real time clocks/internal options - 09-Jun-07 RMS Fixed bug in clock increment (found by Theo Engel) + 09-Jun-07 RMS Fixed bug in clock increment (Theo Engel) 30-Sep-06 RMS Fixed handling of non-printable characters in KSR mode - 03-Apr-06 RMS Fixed bugs in punch state handling (from Theo Engel) + 03-Apr-06 RMS Fixed bugs in punch state handling (Theo Engel) 22-Nov-05 RMS Revised for new terminal processing routines - 05-Feb-05 RMS Fixed bug in OCP '0001 (found by Philipp Hachtmann) - 31-Jan-05 RMS Fixed bug in TTY print (found by Philipp Hachtmann) - 01-Dec-04 RMS Fixed problem in SKS '104 (reported by Philipp Hachtmann) + 05-Feb-05 RMS Fixed bug in OCP '0001 (Philipp Hachtmann) + 31-Jan-05 RMS Fixed bug in TTY print (Philipp Hachtmann) + 01-Dec-04 RMS Fixed problem in SKS '104 (Philipp Hachtmann) Fixed bug in SKS '504 Added PTR detach routine, stops motion Added PTR/PTP ASCII file support diff --git a/I1401/i1401_cd.c b/I1401/i1401_cd.c index f1912cf7..0c7eaa5b 100644 --- a/I1401/i1401_cd.c +++ b/I1401/i1401_cd.c @@ -36,16 +36,16 @@ This allows cards to be created and edited as normal files. 24-Mar-09 RMS Fixed read stacker operation in column binary mode - Fixed punch stacker operation (from Van Snyder) + Fixed punch stacker operation (Van Snyder) 28-Jun-07 RMS Added support for SS overlap modifiers 19-Jan-07 RMS Added UNIT_TEXT flag 20-Sep-05 RMS Revised for new code tables, compatible colbinary treatment 30-Aug-05 RMS Fixed read, punch to ignore modifier on 1,4 char inst - (reported by Van Snyder) + (Van Snyder) 14-Nov-04 WVS Added column binary support 25-Apr-03 RMS Revised for extended file support 30-May-02 RMS Widened POS to 32b - 30-Jan-02 RMS New zero footprint card bootstrap from Van Snyder + 30-Jan-02 RMS New zero footprint card bootstrap (Van Snyder) 29-Nov-01 RMS Added read only unit support 13-Apr-01 RMS Revised for register arrays */ diff --git a/I1401/i1401_cpu.c b/I1401/i1401_cpu.c index 71d49610..6868556b 100644 --- a/I1401/i1401_cpu.c +++ b/I1401/i1401_cpu.c @@ -24,21 +24,21 @@ in this Software without prior written authorization from Robert M Supnik. 19-Mar-11 RMS Reverted multiple tape indicator implementation - 20-Jan-11 RMS Fixed branch on EOT indicator per hardware (from Van Snyder) + 20-Jan-11 RMS Fixed branch on EOT indicator per hardware (Van Snyder) 07-Nov-10 RMS Fixed divide not to clear word marks in quotient - 24-Apr-10 RMS Revised divide algorithm (from Van Snyder) - 11-Jul-08 RMS Added missing A magtape modifier (from Van Snyder) - Fixed tape indicator implementation (from Bob Abeles) - Fixed bug in ZA and ZS (from Bob Abeles) + 24-Apr-10 RMS Revised divide algorithm (Van Snyder) + 11-Jul-08 RMS Added missing A magtape modifier (Van Snyder) + Fixed tape indicator implementation (Bob Abeles) + Fixed bug in ZA and ZS (Bob Abeles) 07-Jul-07 RMS Removed restriction on load-mode binary tape 28-Jun-07 RMS Added support for SS overlap modifiers - 22-May-06 RMS Fixed format error in CPU history (found by Peter Schorn) - 06-Mar-06 RMS Fixed bug in divide (found by Van Snyder) - 22-Sep-05 RMS Fixed declarations (from Sterling Garwood) + 22-May-06 RMS Fixed format error in CPU history (Peter Schorn) + 06-Mar-06 RMS Fixed bug in divide (Van Snyder) + 22-Sep-05 RMS Fixed declarations (Sterling Garwood) 01-Sep-05 RMS Removed error stops in MCE 16-Aug-05 RMS Fixed C++ declaration and cast problems 02-Jun-05 RMS Fixed SSB-SSG clearing on RESET - (reported by Ralph Reinke) + (Ralph Reinke) 14-Nov-04 WVS Added column binary support, debug support 06-Nov-04 RMS Added instruction history 12-Jul-03 RMS Moved ASCII/BCD tables to included file diff --git a/I1401/i1401_lp.c b/I1401/i1401_lp.c index f15ab913..a7906b91 100644 --- a/I1401/i1401_lp.c +++ b/I1401/i1401_lp.c @@ -26,7 +26,7 @@ lpt 1403 line printer 19-Jan-07 RMS Added UNIT_TEXT flag - 07-Mar-05 RMS Fixed bug in write_line (reported by Van Snyder) + 07-Mar-05 RMS Fixed bug in write_line (Van Snyder) 25-Apr-03 RMS Revised for extended file support 30-May-02 RMS Widened POS to 32b 13-Apr-01 RMS Revised for register arrays diff --git a/I1401/i1401_mt.c b/I1401/i1401_mt.c index 56b3cba0..fcd2dea1 100644 --- a/I1401/i1401_mt.c +++ b/I1401/i1401_mt.c @@ -27,21 +27,21 @@ 19-Mar-11 RMS Restored lost edit to insert EOF in memory on read EOF Reverted multiple tape indicator implementation - 20-Jan-11 RMS Fixed branch on END indicator per hardware (from Van Snyder) - 26-Jun-10 RMS Fixed backspace over tapemark not to set EOR (from Van Snyder) - 11-Jul-08 RMS Added -n (no rewind) option to BOOT (from Van Snyder) - Added tape mark detect to diagnostic read (from Bob Abeles) - Added tape mark detect in multi-character records (from Bob Abeles) - Fixed memory leak in tape rewind-unload op (from Bob Abeles) - Fixed bug, BOOT ignores GM+WM in memory (from Bob Abeles) - Fixed handling of indicators (from Bob Abeles) - Fixed bug to mask input to 6b on read (from Bob Abeles) + 20-Jan-11 RMS Fixed branch on END indicator per hardware (Van Snyder) + 26-Jun-10 RMS Fixed backspace over tapemark not to set EOR (Van Snyder) + 11-Jul-08 RMS Added -n (no rewind) option to BOOT (Van Snyder) + Added tape mark detect to diagnostic read (Bob Abeles) + Added tape mark detect in multi-character records (Bob Abeles) + Fixed memory leak in tape rewind-unload op (Bob Abeles) + Fixed bug, BOOT ignores GM+WM in memory (Bob Abeles) + Fixed handling of indicators (Bob Abeles) + Fixed bug to mask input to 6b on read (Bob Abeles) 07-Jul-07 RMS Removed restriction on load-mode binary tape 28-Jun-07 RMS Revised read tape mark behavior based on real hardware - (found by Van Snyder) + (Van Snyder) 16-Feb-06 RMS Added tape capacity checking 15-Sep-05 RMS Yet another fix to load read group mark plus word mark - Added debug printouts (from Van Snyder) + Added debug printouts (Van Snyder) 26-Aug-05 RMS Revised to use API for write lock check 16-Aug-03 RMS End-of-record on load read works like move read (verified on real 1401) @@ -55,11 +55,11 @@ 30-Sep-02 RMS Revamped error handling 28-Aug-02 RMS Added end of medium support 12-Jun-02 RMS End-of-record on move read preserves old WM under GM - (found by Van Snyder) + (Van Snyder) 03-Jun-02 RMS Modified for 1311 support 30-May-02 RMS Widened POS to 32b 22-Apr-02 RMS Added protection against bad record lengths - 30-Jan-02 RMS New zero footprint tape bootstrap from Van Snyder + 30-Jan-02 RMS New zero footprint tape bootstrap (Van Snyder) 20-Jan-02 RMS Changed write enabled modifier 29-Nov-01 RMS Added read only unit support 18-Apr-01 RMS Changed to rewind tape before boot diff --git a/I1401/i1401_sys.c b/I1401/i1401_sys.c index 43387338..3b9dc881 100644 --- a/I1401/i1401_sys.c +++ b/I1401/i1401_sys.c @@ -28,10 +28,10 @@ 14-Nov-04 WVS Added data printout support 16-Mar-03 RMS Fixed mnemonic for MCS 03-Jun-02 RMS Added 1311 support - 18-May-02 RMS Added -D feature from Van Snyder - 26-Jan-02 RMS Fixed H, NOP with no trailing wm (found by Van Snyder) + 18-May-02 RMS Added -D feature (Van Snyder) + 26-Jan-02 RMS Fixed H, NOP with no trailing wm (Van Snyder) 17-Sep-01 RMS Removed multiconsole support - 13-Jul-01 RMS Fixed bug in symbolic output (found by Peter Schorn) + 13-Jul-01 RMS Fixed bug in symbolic output (Peter Schorn) 27-May-01 RMS Added multiconsole support 14-Mar-01 RMS Revised load/dump interface (again) 30-Oct-00 RMS Added support for examine to file diff --git a/I1620/i1620_cd.c b/I1620/i1620_cd.c index 39783df8..ebb9ccc5 100644 --- a/I1620/i1620_cd.c +++ b/I1620/i1620_cd.c @@ -1,6 +1,6 @@ /* i1620_cd.c: IBM 1622 card reader/punch - Copyright (c) 2002-2008, Robert M. Supnik + Copyright (c) 2002-2012, 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,9 +26,10 @@ cdr 1622 card reader cdp 1622 card punch + 19-Mar-12 RMS Fixed declarations of saved_pc, io_stop (Mark Pizzolato) 19-Jan-07 RMS Set UNIT_TEXT flag - 13-Jul-06 RMS Fixed card reader fgets call (from Tom McBride) - Fixed card reader boot sequence (from Tom McBride) + 13-Jul-06 RMS Fixed card reader fgets call (Tom McBride) + Fixed card reader boot sequence (Tom McBride) 21-Sep-05 RMS Revised translation tables for 7094/1401 compatibility 25-Apr-03 RMS Revised for extended file support diff --git a/I1620/i1620_cpu.c b/I1620/i1620_cpu.c index bf3d761e..4bf36b49 100644 --- a/I1620/i1620_cpu.c +++ b/I1620/i1620_cpu.c @@ -26,15 +26,15 @@ This CPU module incorporates code and comments from the 1620 simulator by Geoff Kuenning, with his permission. - 28-May-06 RMS Fixed bug in cpu history (found by Peter Schorn) - 22-Sep-05 RMS Fixed declarations (from Sterling Garwood) + 28-May-06 RMS Fixed bug in cpu history Peter Schorn) + 22-Sep-05 RMS Fixed declarations (Sterling Garwood) 16-Aug-05 RMS Fixed C++ declaration and cast problems 07-Nov-04 RMS Added instruction history 26-Mar-04 RMS Fixed warnings with -std=c99 - 02-Nov-03 RMS Fixed bug in branch digit (found by Dave Babcock) - 21-Aug-03 RMS Fixed bug in immediate index add (found by Michael Short) + 02-Nov-03 RMS Fixed bug in branch digit (Dave Babcock) + 21-Aug-03 RMS Fixed bug in immediate index add (Michael Short) 25-Apr-03 RMS Changed t_addr to uint32 throughout - 18-Oct-02 RMS Fixed bugs in invalid result testing (found by Hans Pufal) + 18-Oct-02 RMS Fixed bugs in invalid result testing (Hans Pufal) The simulated register state for the IBM 1620 is: diff --git a/I1620/i1620_dp.c b/I1620/i1620_dp.c index 7dde5d31..1f8390cb 100644 --- a/I1620/i1620_dp.c +++ b/I1620/i1620_dp.c @@ -35,7 +35,7 @@ to mean the implied sector number that would be in place if the disk pack had been formatted with sequential sector numbers. - 18-Oct-02 RMS Fixed bug in error testing (found by Hans Pufal) + 18-Oct-02 RMS Fixed bug in error testing (Hans Pufal) */ #include "i1620_defs.h" diff --git a/I1620/i1620_fp.c b/I1620/i1620_fp.c index d9d9b510..2b82a0fc 100644 --- a/I1620/i1620_fp.c +++ b/I1620/i1620_fp.c @@ -31,7 +31,7 @@ where S represents flag bits if the mantissa or exponent are negative. - 31-May-2008 RMS Fixed add_field call (found by Peter Schorn) + 31-May-2008 RMS Fixed add_field call (Peter Schorn) */ #include "i1620_defs.h" diff --git a/I1620/i1620_pt.c b/I1620/i1620_pt.c index 89b6dbd4..42a1ac63 100644 --- a/I1620/i1620_pt.c +++ b/I1620/i1620_pt.c @@ -1,6 +1,6 @@ /* i1620_pt.c: IBM 1621/1624 paper tape reader/punch simulator - Copyright (c) 2002-2008, Robert M Supnik + Copyright (c) 2002-2012, 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 @@ ptr 1621 paper tape reader ptp 1624 paper tape punch + 19-Mar-12 RMS Fixed declaration of io_stop (Mark Pizzolato) 21-Sep-05 RMS Revised translation tables for 7094/1401 compatibility 25-Apr-03 RMS Revised for extended file support */ diff --git a/I1620/i1620_sys.c b/I1620/i1620_sys.c index cf0fb94c..df247342 100644 --- a/I1620/i1620_sys.c +++ b/I1620/i1620_sys.c @@ -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. + + 19-Mar-12 RMS Fixed declaration of CCT (Mark Pizzolato) */ #include "i1620_defs.h" @@ -122,7 +124,8 @@ const char *sim_stop_messages[] = { t_stat sim_load (FILE *fileref, char *cptr, char *fnam, int flag) { -int32 col, rpt, ptr, mask, cctbuf[CCT_LNT]; +uint32 col, mask, cctbuf[CCT_LNT]; +int32 ptr, rpt; t_stat r; extern int32 cct_lnt, cct_ptr; extern uint32 cct[CCT_LNT]; diff --git a/I7094/i7094_cd.c b/I7094/i7094_cd.c index 8235ef36..cbdcf458 100644 --- a/I7094/i7094_cd.c +++ b/I7094/i7094_cd.c @@ -1,6 +1,6 @@ /* i7094_cd.c: IBM 711/721 card reader/punch - Copyright (c) 2003-2008, Robert M. Supnik + Copyright (c) 2003-2012, 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 @@ cdr 711 card reader cdp 721 card punch + 19-Mar-12 RMS Fixed declaration of sim_switches (Mark Pizzolato) 19-Jan-07 RMS Added UNIT_TEXT 13-Jul-06 RMS Fixed problem with 80 column full cards diff --git a/I7094/i7094_com.c b/I7094/i7094_com.c index 2fd5cf24..b5c7b29d 100644 --- a/I7094/i7094_com.c +++ b/I7094/i7094_com.c @@ -26,8 +26,8 @@ com 7750 controller coml 7750 lines - 12-Aug-2010 RMS Major rewrite for CTSS (from Dave Pitts) - 19-Nov-2008 RMS Revised for common TMXR show routines + 12-Aug-10 RMS Major rewrite for CTSS (Dave Pitts) + 19-Nov-08 RMS Revised for common TMXR show routines This module implements an abstract simulator for the IBM 7750 communications computer as used by the CTSS system. The 7750 supports up to 112 lines; diff --git a/I7094/i7094_cpu.c b/I7094/i7094_cpu.c index 3719999b..f1d46462 100644 --- a/I7094/i7094_cpu.c +++ b/I7094/i7094_cpu.c @@ -28,7 +28,7 @@ 31-Dec-11 RMS Select traps have priority over protect traps Added SRI, SPI Fixed user mode and relocation from CTSS RPQ documentation - 16-Jul-10 RMS Fixed user mode protection (found by Dave Pitts) + 16-Jul-10 RMS Fixed user mode protection (Dave Pitts) Fixed issues in storage nullification mode 28-Apr-07 RMS Removed clock initialization 29-Oct-06 RMS Added additional expanded core instructions diff --git a/I7094/i7094_cpu1.c b/I7094/i7094_cpu1.c index 1b682eb0..1e3bd402 100644 --- a/I7094/i7094_cpu1.c +++ b/I7094/i7094_cpu1.c @@ -26,7 +26,7 @@ 31-Dec-11 RMS Refined PSE and MSE user-mode protection based on CTSS RPQ specification Select traps have priority over protection traps - 16-Jul-10 RMS Fixed PSE and MSE user-mode protection (from Dave Pitts) + 16-Jul-10 RMS Fixed PSE and MSE user-mode protection (Dave Pitts) Added SPUx, SPTx, SPRx */ diff --git a/I7094/i7094_drm.c b/I7094/i7094_drm.c index d7d91da9..50b24c35 100644 --- a/I7094/i7094_drm.c +++ b/I7094/i7094_drm.c @@ -25,6 +25,7 @@ drm 7289/7320A "fast" drum + 23-Mar-12 RMS Corrected disk addressing and logical disk crossing 25-Mar-11 RMS Updated based on RPQ This simulator implements a subset of the functionality of the 7289, as @@ -47,7 +48,7 @@ Limitations in this simulator: - Chain mode is not implemented. - - Write protect switches are not implemented. + - LPCR is not implemented. For speed, the entire drum is buffered in memory. */ @@ -55,10 +56,12 @@ #include "i7094_defs.h" #include -#define DRM_NUMDR 8 /* drums/controller */ +#define DRM_NUMDR 4 /* drums/controller */ /* Drum geometry */ +#define DRM_NUMWDG 1024 /* words/group */ +#define DRM_GPMASK (DRM_NUMWDG - 1) /* group mask */ #define DRM_NUMWDS 2048 /* words/sector */ #define DRM_SCMASK (DRM_NUMWDS - 1) /* sector mask */ #define DRM_NUMSC 16 /* sectors/log drum */ @@ -68,6 +71,7 @@ #define DRM_SIZE (DRM_NUMLD * DRM_NUMWDL) /* words/phys drum */ #define GET_POS(x) ((int) fmod (sim_gtime() / ((double) (x)), \ ((double) DRM_NUMWDS))) +#define GET_PROT(x) ((x[drm_phy] >> (drm_log - 1)) & 1) /* Drum address from channel */ @@ -80,7 +84,7 @@ #define DRM_GETPHY(x) (((uint32) ((x) >> DRM_V_PHY)) & DRM_M_PHY) #define DRM_GETLOG(x) ((((uint32) (x)) >> DRM_V_LOG) & DRM_M_LOG) #define DRM_GETWDA(x) ((((uint32) (x)) >> DRM_V_WDA) & DRM_M_WDA) -#define DRM_GETDA(x) (((DRM_GETLOG(x) - 1) * DRM_NUMWDL) + DRM_GETWDA(x)) +#define DRM_GETDA(l,x) ((((l) - 1) * DRM_NUMWDL) + (x)) /* SCD word */ @@ -88,9 +92,7 @@ #define DRMS_V_INV 33 /* invalid command */ #define DRMS_V_PHY 31 /* physical drum */ #define DRMS_V_LOG 28 /* logical drum */ -#define DRMS_V_HWDA 24 /* high word addr */ -#define DRMS_M_HWDA 017 -#define DRMS_V_GRP 23 /* group */ +#define DRMS_V_WDA 13 /* disk address */ #define DRMS_V_WRP 22 /* write protect */ #define DRMS_V_LPCR 18 /* LPRCR */ #define DRMS_M_LPCR 017 @@ -106,10 +108,12 @@ uint32 drm_ch = CH_G; /* drum channel */ uint32 drm_da = 0; /* drum address */ uint32 drm_phy = 0; /* physical drum */ +uint32 drm_log = 0; /* logical drum */ uint32 drm_sta = 0; /* state */ uint32 drm_op = 0; /* operation */ t_uint64 drm_chob = 0; /* output buf */ uint32 drm_chob_v = 0; /* valid */ +uint32 drm_prot[DRM_NUMDR] = { 0 }; /* drum protect sw */ int32 drm_time = 10; /* inter-word time */ extern uint32 ind_ioc; @@ -138,23 +142,20 @@ UNIT drm_unit[] = { UNIT_MUSTBUF+UNIT_DISABLE+UNIT_DIS, DRM_SIZE) }, { UDATA (&drm_svc, UNIT_FIX+UNIT_ATTABLE+UNIT_BUFABLE+ UNIT_MUSTBUF+UNIT_DISABLE+UNIT_DIS, DRM_SIZE) }, - { UDATA (&drm_svc, UNIT_FIX+UNIT_ATTABLE+UNIT_BUFABLE+ - UNIT_MUSTBUF+UNIT_DISABLE+UNIT_DIS, DRM_SIZE) }, - { UDATA (&drm_svc, UNIT_FIX+UNIT_ATTABLE+UNIT_BUFABLE+ - UNIT_MUSTBUF+UNIT_DISABLE+UNIT_DIS, DRM_SIZE) }, - { UDATA (&drm_svc, UNIT_FIX+UNIT_ATTABLE+UNIT_BUFABLE+ - UNIT_MUSTBUF+UNIT_DISABLE+UNIT_DIS, DRM_SIZE) }, - { UDATA (&drm_svc, UNIT_FIX+UNIT_ATTABLE+UNIT_BUFABLE+ - UNIT_MUSTBUF+UNIT_DISABLE+UNIT_DIS, DRM_SIZE) }, }; REG drm_reg[] = { { ORDATA (STATE, drm_sta, 3) }, - { ORDATA (DA, drm_da, 18) }, + { ORDATA (UNIT,drm_phy, 2), REG_RO }, + { ORDATA (LOG, drm_log, 3), REG_RO }, + { ORDATA (DA, drm_da, 15) }, { FLDATA (OP, drm_op, 0) }, - { ORDATA (UNIT,drm_phy, 3) }, { ORDATA (CHOB, drm_chob, 36) }, { FLDATA (CHOBV, drm_chob_v, 0) }, + { ORDATA (PROT0, drm_prot[0], 6) }, + { ORDATA (PROT1, drm_prot[1], 6) }, + { ORDATA (PROT2, drm_prot[2], 6) }, + { ORDATA (PROT3, drm_prot[3], 6) }, { DRDATA (TIME, drm_time, 24), REG_NZ + PV_LEFT }, { DRDATA (CHAN, drm_ch, 3), REG_HRO }, { NULL } @@ -199,24 +200,38 @@ switch (sel) { /* case on cmd */ return SCPE_OK; } +/* Channel diagnostic store routine */ + +t_uint64 drm_sdc (uint32 ch) +{ +t_uint64 val; + + +val = (((t_uint64) ind_ioc) << DRMS_V_IOC) | + (((t_uint64) drm_phy) << DRMS_V_PHY) | + (((t_uint64) drm_log) << DRMS_V_LOG) | + (((t_uint64) (drm_da & ~ DRM_GPMASK)) << DRMS_V_WDA) | + (((t_uint64) GET_PROT(drm_prot)) << DRMS_V_WRP); +return val; +} + /* Channel write routine */ t_stat drm_chwr (uint32 ch, t_uint64 val, uint32 flags) { -uint32 l; int32 cp, dp; if (drm_sta == DRM_1ST) { drm_phy = DRM_GETPHY (val); /* get unit */ - l = DRM_GETLOG (val); /* get logical address */ - if ((drm_phy >= DRM_NUMDR) || /* invalid unit? */ - (drm_unit[drm_phy].flags & UNIT_DIS) || /* disabled unit? */ - (l == 0) || (l > DRM_NUMLD)) { /* invalid log drum? */ + drm_log = DRM_GETLOG (val); /* get logical disk */ + drm_da = DRM_GETWDA (val); /* get drum word addr */ + if ((drm_unit[drm_phy].flags & UNIT_DIS) || /* disabled unit? */ + (drm_log == 0) || (drm_log > DRM_NUMLD) || /* invalid log drum? */ + ((drm_op != 0) && (GET_PROT (drm_prot) != 0))) { /* write to prot drum? */ ch6_err_disc (ch, U_DRM, CHF_TRC); /* disconnect */ drm_sta = DRM_IDLE; return SCPE_OK; } - drm_da = DRM_GETDA (val); /* get drum addr */ cp = GET_POS (drm_time); /* current pos in sec */ dp = (drm_da & DRM_SCMASK) - cp; /* delta to desired pos */ if (dp <= 0) /* if neg, add rev */ @@ -243,23 +258,19 @@ t_stat drm_svc (UNIT *uptr) { uint32 i; t_uint64 *fbuf = (t_uint64 *) uptr->filebuf; +uint32 da = DRM_GETDA (drm_log, drm_da); if ((uptr->flags & UNIT_BUF) == 0) { /* not buf? */ ch6_err_disc (drm_ch, U_DRM, CHF_TRC); /* set TRC, disc */ drm_sta = DRM_IDLE; /* drum is idle */ return SCPE_UNATT; } -if (drm_da >= DRM_SIZE) { /* nx logical drum? */ - ch6_err_disc (drm_ch, U_DRM, CHF_EOF); /* set EOF, disc */ - drm_sta = DRM_IDLE; /* drum is idle */ - return SCPE_OK; - } switch (drm_sta) { /* case on state */ - case DRM_FILL: /* write, clr sector */ - for (i = drm_da & ~DRM_SCMASK; i <= (drm_da | DRM_SCMASK); i++) - fbuf[i] = 0; /* clear sector */ + case DRM_FILL: /* write, clr group */ + for (i = da & ~DRM_GPMASK; i <= (da | DRM_GPMASK); i++) + fbuf[i] = 0; /* clear group */ if (i >= uptr-> hwmark) uptr->hwmark = i + 1; drm_sta = DRM_DATA; /* now data */ @@ -270,14 +281,14 @@ switch (drm_sta) { /* case on state */ drm_chob_v = 0; else if (ch6_qconn (drm_ch, U_DRM)) /* no, chan conn? */ ind_ioc = 1; /* io check */ - fbuf[drm_da] = drm_chob; /* get data */ - if (drm_da >= uptr->hwmark) - uptr->hwmark = drm_da + 1; - if (!drm_da_incr ()) + fbuf[da] = drm_chob; /* get data */ + if (da >= uptr->hwmark) + uptr->hwmark = da + 1; + if (!drm_da_incr ()) /* room for more? */ ch6_req_wr (drm_ch, U_DRM); } else{ /* read */ - ch6_req_rd (drm_ch, U_DRM, fbuf[drm_da], 0); /* send word to channel */ + ch6_req_rd (drm_ch, U_DRM, fbuf[da], 0); /* send word to channel */ drm_da_incr (); } sim_activate (uptr, drm_time); /* next word */ @@ -293,12 +304,12 @@ switch (drm_sta) { /* case on state */ return SCPE_OK; } -/* Increment drum address - return true, set new state if end of sector */ +/* Increment drum address - return true, set new state if end of logical disk */ t_bool drm_da_incr (void) { -drm_da = (drm_da & ~DRM_LDMASK) | ((drm_da + 1) & DRM_LDMASK); -if ((drm_da & DRM_LDMASK) != 0) +drm_da = (drm_da + 1) & DRM_LDMASK; +if (drm_da != 0) return FALSE; drm_sta = DRM_EOD; return TRUE; @@ -311,6 +322,7 @@ t_stat drm_reset (DEVICE *dptr) uint32 i; drm_phy = 0; +drm_log = 0; drm_da = 0; drm_op = 0; drm_sta = DRM_IDLE; diff --git a/I7094/i7094_io.c b/I7094/i7094_io.c index 00851951..e4e81d13 100644 --- a/I7094/i7094_io.c +++ b/I7094/i7094_io.c @@ -1,6 +1,6 @@ /* i7094_io.c: IBM 7094 I/O subsystem (channels) - Copyright (c) 2003-2006, Robert M. Supnik + Copyright (c) 2003-2012, 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 @@ chana..chanh I/O channels + 19-Mar-12 RMS Fixed declaration of breakpoint variables (Mark Pizzolato) + Notes on channels and CTSS. - CTSS B-core is supported by the addition of a 16th bit to the current @@ -834,10 +836,12 @@ return SCPE_OK; t_stat ch_op_store_diag (uint32 ch, t_uint64 *dat) { +extern t_uint64 drm_sdc (uint32 ch); + if ((ch >= NUM_CHAN) || (ch_dev[ch].flags & DEV_DIS)) return STOP_NXCHN; if (ch_flags[ch] & DEV_7289) - *dat = ind_ioc? SIGN: 0; + *dat = drm_sdc (ch); else if (ch_flags[ch] & DEV_7909) *dat = (((t_uint64) (ch_lcc[ch] & CHF_M_LCC)) << CHF_V_LCC) | (ch_flags[ch] & CHF_SDC_7909); diff --git a/I7094/i7094_lp.c b/I7094/i7094_lp.c index 9f7f8ef2..f6aca08c 100644 --- a/I7094/i7094_lp.c +++ b/I7094/i7094_lp.c @@ -1,6 +1,6 @@ /* i7094_lp.c: IBM 716 line printer simulator - Copyright (c) 2003-2008, Robert M. Supnik + Copyright (c) 2003-2012, 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"), diff --git a/I7094/i7094_mt.c b/I7094/i7094_mt.c index c06eb5ac..edf1d06b 100644 --- a/I7094/i7094_mt.c +++ b/I7094/i7094_mt.c @@ -1,6 +1,6 @@ /* i7094_mt.c: IBM 7094 magnetic tape simulator - Copyright (c) 2003-2008, Robert M Supnik + Copyright (c) 2003-2012, 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,7 +25,8 @@ mt magtape simulator - 16-Jul-10 RMS Fixed handling of BSR, BSF (from Dave Pitts) + 19-Mar-12 RMS Fixed declaration of sel_name (Mark Pizzolato) + 16-Jul-10 RMS Fixed handling of BSR, BSF (Dave Pitts) */ #include "i7094_defs.h" diff --git a/Interdata/id16_cpu.c b/Interdata/id16_cpu.c index fdf38ae5..f3ec00ad 100644 --- a/Interdata/id16_cpu.c +++ b/Interdata/id16_cpu.c @@ -28,15 +28,15 @@ 28-Apr-07 RMS Removed clock initialization 27-Oct-06 RMS Added idle support Removed separate PASLA clock - 06-Feb-06 RMS Fixed bug in DH (found by Mark Hittinger) - 22-Sep-05 RMS Fixed declarations (from Sterling Garwood) + 06-Feb-06 RMS Fixed bug in DH (Mark Hittinger) + 22-Sep-05 RMS Fixed declarations (Sterling Garwood) 25-Aug-05 RMS Fixed DH integer overflow cases 16-Aug-05 RMS Fixed C++ declaration and cast problems - 10-Mar-05 RMS Fixed bug in show history routine (from Mark Hittinger) + 10-Mar-05 RMS Fixed bug in show history routine (Mark Hittinger) Revised examine/deposit to do words rather than bytes 07-Nov-04 RMS Added instruction history 22-Sep-03 RMS Added additional instruction decode types - 07-Feb-03 RMS Fixed bug in SETM, SETMR (found by Mark Pizzolato) + 07-Feb-03 RMS Fixed bug in SETM, SETMR (Mark Pizzolato) The register state for the Interdata 16b CPU is: diff --git a/Interdata/id32_cpu.c b/Interdata/id32_cpu.c index 969b954b..7af43c61 100644 --- a/Interdata/id32_cpu.c +++ b/Interdata/id32_cpu.c @@ -29,13 +29,13 @@ 27-Oct-06 RMS Added idle support Removed separate PASLA clock 09-Mar-06 RMS Added 8 register bank support for 8/32 - 06-Feb-06 RMS Fixed bug in DH (found by Mark Hittinger) - 22-Sep-05 RMS Fixed declarations (from Sterling Garwood) + 06-Feb-06 RMS Fixed bug in DH (Mark Hittinger) + 22-Sep-05 RMS Fixed declarations (Sterling Garwood) 16-Aug-05 RMS Fixed C++ declaration and cast problems 10-Mar-05 RMS Fixed bug in initial memory allocation - RMS Fixed bug in show history routine (from Mark Hittinger) + RMS Fixed bug in show history routine (Mark Hittinger) RMS Revised examine/deposit to do words rather than bytes - 18-Feb-05 RMS Fixed branches to mask new PC (from Greg Johnson) + 18-Feb-05 RMS Fixed branches to mask new PC (Greg Johnson) 06-Nov-04 RMS Added =n to SHOW HISTORY 25-Jan-04 RMS Revised for device debug support 31-Dec-03 RMS Fixed bug in cpu_set_hist diff --git a/Interdata/id32_dboot.c b/Interdata/id32_dboot.c index 081a3c4b..40ee4167 100644 --- a/Interdata/id32_dboot.c +++ b/Interdata/id32_dboot.c @@ -23,7 +23,7 @@ used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from Robert M Supnik. - 17-Jul-06 RMS Fixed transcription errors (found by Davis Johnson) + 17-Jul-06 RMS Fixed transcription errors (Davis Johnson) 17-Feb-03 RMS Fixed for UNIX bootstrap, upper platter bootstrap */ diff --git a/Interdata/id_fd.c b/Interdata/id_fd.c index 461b54ab..a016436c 100644 --- a/Interdata/id_fd.c +++ b/Interdata/id_fd.c @@ -1,6 +1,6 @@ /* id_fd.c: Interdata floppy disk simulator - Copyright (c) 2001-2008, Robert M Supnik + Copyright (c) 2001-2012, 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 @@ fd M46-630 floppy disk + 19-Mar-12 RMS Fixed macro naming conflict (Mark Pizzolato) + A diskette consists of 77 tracks, each with 26 sectors of 128B. The Interdata floppy uses a logical record numbering scheme from 1 to 2002. Physical tracks are numbered 0-76, physical sectors 1-26. @@ -75,14 +77,11 @@ #define STA_WRP 0x80 /* *write prot */ #define STA_DEF 0x40 /* def track NI */ -#ifdef STA_DEL /* Some platforms define a conflicting symbol here */ -#undef STA_DEL -#endif -#define STA_DEL 0x20 /* del record */ +#define STA_DLR 0x20 /* del record */ #define STA_ERR 0x10 /* error */ #define STA_IDL 0x02 /* idle */ #define STA_OFL 0x01 /* fault */ -#define STA_MASK (STA_DEF|STA_DEL|STA_ERR|STA_BSY|STA_IDL) +#define STA_MASK (STA_DEF|STA_DLR|STA_ERR|STA_BSY|STA_IDL) #define SET_EX (STA_ERR) /* set EX */ /* Extended status, 6 bytes, * = dynamic */ @@ -332,7 +331,7 @@ switch (fnc) { /* case on function */ for (i = 0; i < FD_NUMBY; i++) /* read sector */ fdxb[i] = fbuf[da + i]; if (fbuf[FD_SIZE + uptr->LRN - 1]) { /* deleted? set err */ - fd_sta = fd_sta | STA_DEL; + fd_sta = fd_sta | STA_DLR; fd_es[u][0] = fd_es[u][0] | ES0_DEL; } fd_es[u][2] = GET_SEC (uptr->LRN); /* set ext sec/trk */ diff --git a/Interdata/id_idc.c b/Interdata/id_idc.c index e2ac7003..38854d1c 100644 --- a/Interdata/id_idc.c +++ b/Interdata/id_idc.c @@ -25,8 +25,8 @@ idc MSM/IDC disk controller - 03-Apr-06 RMS Fixed WD/WH handling (found by Davis Johnson) - 30-Mar-06 RMS Fixed bug, nop command should be ignored (found by Davis Johnson) + 03-Apr-06 RMS Fixed WD/WH handling (Davis Johnson) + 30-Mar-06 RMS Fixed bug, nop command should be ignored (Davis Johnson) 25-Apr-03 RMS Revised for extended file support 16-Feb-03 RMS Fixed read to test transfer ok before selch operation diff --git a/Interdata/id_io.c b/Interdata/id_io.c index 98ce4a1d..86228eda 100644 --- a/Interdata/id_io.c +++ b/Interdata/id_io.c @@ -23,7 +23,7 @@ used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from Robert M Supnik. - 30-Mar-06 RMS Fixed bug, GO preserves EXA and SSTA (found by Davis Johnson) + 30-Mar-06 RMS Fixed bug, GO preserves EXA and SSTA (Davis Johnson) 21-Jun-03 RMS Changed subroutine argument for ARM compiler conflict Interdata I/O devices are defined by a device information block: diff --git a/Interdata/id_lp.c b/Interdata/id_lp.c index e1136a42..fcb1c09b 100644 --- a/Interdata/id_lp.c +++ b/Interdata/id_lp.c @@ -25,7 +25,7 @@ lpt M46-206 line printer - 27-May-08 RMS Fixed bug in printing test (from Davis Johnson) + 27-May-08 RMS Fixed bug in printing test (Davis Johnson) 19-Jan-07 RMS Added UNIT_TEXT flag 25-Apr-03 RMS Revised for extended file support */ diff --git a/Interdata/id_pas.c b/Interdata/id_pas.c index 15ccf7e3..7ce00973 100644 --- a/Interdata/id_pas.c +++ b/Interdata/id_pas.c @@ -1,6 +1,6 @@ /* id_pas.c: Interdata programmable async line adapter simulator - Copyright (c) 2001-2008, Robert M Supnik + Copyright (c) 2001-2012, 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,7 @@ pas Programmable asynchronous line adapter(s) + 21-Mar-12 RMS Fixed TT_GET_MODE test to use TTUF_MODE_x (Michael Bloom) 19-Nov-08 RMS Revised for common TMXR show routines 18-Jun-07 RMS Added UNIT_IDLE flag 18-Oct-06 RMS Synced PASLA to clock @@ -345,7 +346,7 @@ for (ln = 0; ln < PAS_ENAB; ln++) { /* loop thru lines */ else { /* normal */ out = c & 0x7F; /* echo is 7b */ c = sim_tt_inpcvt (c, TT_GET_MODE (pasl_unit[ln].flags)); - if (TT_GET_MODE (pasl_unit[ln].flags) != TT_MODE_8B) + if (TT_GET_MODE (pasl_unit[ln].flags) != TTUF_MODE_8B) c = pas_par (pas_cmd[ln], c); /* apply parity */ pas_rbuf[ln] = c; /* save char */ pas_rchp[ln] = 1; /* char pending */ @@ -378,7 +379,7 @@ uint32 ln = uptr - pasl_unit; /* line # */ if (pas_ldsc[ln].conn) { /* connected? */ if (pas_ldsc[ln].xmte) { /* xmt enabled? */ TMLN *lp = &pas_ldsc[ln]; /* get line */ - if (TT_GET_MODE (pasl_unit[ln].flags) == TT_MODE_8B) + if (TT_GET_MODE (pasl_unit[ln].flags) == TTUF_MODE_8B) c = pas_par (pas_cmd[ln], pas_xbuf[ln]); /* apply parity */ else c = sim_tt_outcvt (pas_xbuf[ln], TT_GET_MODE (pasl_unit[ln].flags)); if (c >= 0) { diff --git a/Interdata/id_pt.c b/Interdata/id_pt.c index 27cc0c85..0dc89bfd 100644 --- a/Interdata/id_pt.c +++ b/Interdata/id_pt.c @@ -26,7 +26,7 @@ pt paper tape reader and punch 25-Apr-03 RMS Revised for extended file support - 10-Apr-03 RMS Fixed type problem in ptr service (from Mark Pizzolato) + 10-Apr-03 RMS Fixed type problem in ptr service (Mark Pizzolato) */ #include "id_defs.h" diff --git a/LGP/lgp_cpu.c b/LGP/lgp_cpu.c index 87e040e8..6b969306 100644 --- a/LGP/lgp_cpu.c +++ b/LGP/lgp_cpu.c @@ -25,8 +25,8 @@ cpu LGP-30 [LGP-21] CPU - 22-Sep-05 RMS Fixed declarations (from Sterling Garwood) - 04-Sep-05 RMS Fixed missing returns (found by Peter Schorn) + 22-Sep-05 RMS Fixed declarations (Sterling Garwood) + 04-Sep-05 RMS Fixed missing returns (Peter Schorn) 04-Jan-05 RMS Modified VM pointer setup The system state for the LGP-30 [LGP-21] is: diff --git a/NOVA/nova_clk.c b/NOVA/nova_clk.c index d0c888cd..0f9bbdb3 100644 --- a/NOVA/nova_clk.c +++ b/NOVA/nova_clk.c @@ -33,7 +33,7 @@ 17-Sep-01 RMS Added terminal multiplexor support 17-Mar-01 RMS Moved function prototype 05-Mar-01 RMS Added clock calibration - 24-Sep-97 RMS Fixed bug in unit service (found by Charles Owen) + 24-Sep-97 RMS Fixed bug in unit service (Charles Owen) */ #include "nova_defs.h" diff --git a/NOVA/nova_cpu.c b/NOVA/nova_cpu.c index 136163aa..a1caf573 100644 --- a/NOVA/nova_cpu.c +++ b/NOVA/nova_cpu.c @@ -34,10 +34,10 @@ 'ind_max' changed from 16 to 65536 for better unmapped system compatibility, INT_TRAP added for Nova 3, 4 trap instruction handling, 28-Apr-07 RMS Removed clock initialization - 06-Feb-06 RMS Fixed bug in DIVS (found by Mark Hittinger) - 22-Sep-05 RMS Fixed declarations (from Sterling Garwood) + 06-Feb-06 RMS Fixed bug in DIVS (Mark Hittinger) + 22-Sep-05 RMS Fixed declarations (Sterling Garwood) 25-Aug-05 RMS Fixed DIVS case 2^31 / - 1 - 14-Jan-04 RMS Fixed device enable/disable support (found by Bruce Ray) + 14-Jan-04 RMS Fixed device enable/disable support (Bruce Ray) 19-Jan-03 RMS Changed CMASK to CDMASK for Apple Dev Kit conflict 03-Oct-02 RMS Added DIB infrastructure 30-Dec-01 RMS Added old PC queue diff --git a/NOVA/nova_dsk.c b/NOVA/nova_dsk.c index f01063fc..b1cfff3e 100644 --- a/NOVA/nova_dsk.c +++ b/NOVA/nova_dsk.c @@ -29,7 +29,7 @@ DEV_xxx macros now used for consistency, added secret DG DIC function, fixed boot info table size calculation - 15-May-06 RMS Fixed bug in autosize attach (reported by David Gesswein) + 15-May-06 RMS Fixed bug in autosize attach (David Gesswein) 04-Jan-04 RMS Changed sim_fsize calling sequence 26-Jul-03 RMS Fixed bug in set size routine 14-Mar-03 RMS Fixed variable capacity interaction with save/restore diff --git a/NOVA/nova_mta.c b/NOVA/nova_mta.c index 2cd7fe49..787c37ab 100644 --- a/NOVA/nova_mta.c +++ b/NOVA/nova_mta.c @@ -46,7 +46,7 @@ 24-Nov-01 RMS Changed POS, USTAT, FLG to an array 26-Apr-01 RMS Added device enable/disable support 18-Apr-01 RMS Changed to rewind tape before boot - 10-Dec-00 RMS Added Eclipse support from Charles Owen + 10-Dec-00 RMS Added Eclipse support (Charles Owen) 15-Oct-00 RMS Editorial changes 11-Nov-98 CEO Removed clear of mta_ma on iopC 04-Oct-98 RMS V2.4 magtape format diff --git a/NOVA/nova_sys.c b/NOVA/nova_sys.c index 4b066f54..6411e7d5 100644 --- a/NOVA/nova_sys.c +++ b/NOVA/nova_sys.c @@ -41,7 +41,7 @@ 15-Oct-00 RMS Added stack, byte, trap instructions 14-Apr-99 RMS Changed t_addr to unsigned 27-Oct-98 RMS V2.4 load interface - 24-Sep-97 RMS Fixed bug in device name table (found by Charles Owen) + 24-Sep-97 RMS Fixed bug in device name table (Charles Owen) */ #include "nova_defs.h" diff --git a/PDP1/pdp1_cpu.c b/PDP1/pdp1_cpu.c index 40e2a910..7be63f73 100644 --- a/PDP1/pdp1_cpu.c +++ b/PDP1/pdp1_cpu.c @@ -1,6 +1,6 @@ /* pdp1_cpu.c: PDP-1 CPU simulator - Copyright (c) 1993-2008, Robert M. Supnik + Copyright (c) 1993-2012, 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,10 +25,11 @@ cpu PDP-1 central processor - 30-May-07 RMS Fixed typo in SBS clear (from Norm Lastovica) + 210Mar-12 RMS Fixed & vs && in Ea_ch (Michael Bloom) + 30-May-07 RMS Fixed typo in SBS clear (Norm Lastovica) 28-Dec-06 RMS Added 16-channel SBS support, PDP-1D support 28-Jun-06 RMS Fixed bugs in MUS and DIV - 22-Sep-05 RMS Fixed declarations (from Sterling Garwood) + 22-Sep-05 RMS Fixed declarations (Sterling Garwood) 16-Aug-05 RMS Fixed C++ declaration and cast problems 09-Nov-04 RMS Added instruction history 07-Sep-03 RMS Added additional explanation on I/O simulation @@ -1406,7 +1407,7 @@ else { /* multi-level */ return STOP_IND; } /* end else !extm */ if (IR & IA) { /* automatic mode? */ - if (rm & !sbs_act & ((MB & 0607777) == 0607777)) /* page cross? */ + if (rm && !sbs_act && ((MB & 0607777) == 0607777)) /* page cross? */ return set_rmv (RTB_CHR); MB = inc_bp (MB); /* incr byte ptr */ Write (); /* rewrite */ diff --git a/PDP1/pdp1_stddev.c b/PDP1/pdp1_stddev.c index c5c9f6bc..1d1586dc 100644 --- a/PDP1/pdp1_stddev.c +++ b/PDP1/pdp1_stddev.c @@ -1,6 +1,6 @@ /* pdp1_stddev.c: PDP-1 standard devices - Copyright (c) 1993-2008, Robert M. Supnik + Copyright (c) 1993-2012, 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"), @@ -28,16 +28,17 @@ tti keyboard tto teleprinter + 21-Mar-12 RMS Fixed unitialized variable in tto_svc (Michael Bloom) 21-Dec-06 RMS Added 16-channel sequence break support - 29-Oct-03 RMS Added PTR FIODEC-to-ASCII translation (from Phil Budne) + 29-Oct-03 RMS Added PTR FIODEC-to-ASCII translation (Phil Budne) 07-Sep-03 RMS Changed ioc to ios 30-Aug-03 RMS Revised PTR to conform to Maintenance Manual; added deadlock prevention on errors 23-Jul-03 RMS Revised to detect I/O wait hang 25-Apr-03 RMS Revised for extended file support 22-Dec-02 RMS Added break support - 29-Nov-02 RMS Fixed output flag initialization (found by Derek Peschel) - 21-Nov-02 RMS Changed typewriter to half duplex (found by Derek Peschel) + 29-Nov-02 RMS Fixed output flag initialization (Derek Peschel) + 21-Nov-02 RMS Changed typewriter to half duplex (Derek Peschel) 06-Oct-02 RMS Revised for V2.10 30-May-02 RMS Widened POS to 32b 29-Nov-01 RMS Added read only unit support @@ -591,7 +592,6 @@ return SCPE_OK; t_stat tto_svc (UNIT *uptr) { -int32 c; t_stat r; if (tty_buf == FIODEC_UC) /* upper case? */ @@ -599,11 +599,16 @@ if (tty_buf == FIODEC_UC) /* upper case? */ else if (tty_buf == FIODEC_LC) /* lower case? */ tty_uc = 0; else { + int32 c; c = fiodec_to_ascii[tty_buf | tty_uc]; /* translate */ if (c && ((r = sim_putchar_s (c)) != SCPE_OK)) { /* output; error? */ sim_activate (uptr, uptr->wait); /* retry */ return ((r == SCPE_STALL)? SCPE_OK: r); } + if (c == '\r') { /* cr? add lf */ + sim_putchar ('\n'); + uptr->pos = uptr->pos + 1; + } } if (cpls & CPLS_TTO) { /* completion pulse? */ ios = 1; /* restart */ @@ -612,10 +617,6 @@ if (cpls & CPLS_TTO) { /* completion pulse? */ iosta = iosta | IOS_TTO; /* set flag */ dev_req_int (tto_sbs); /* req interrupt */ uptr->pos = uptr->pos + 1; -if (c == '\r') { /* cr? add lf */ - sim_putchar ('\n'); - uptr->pos = uptr->pos + 1; - } return SCPE_OK; } diff --git a/PDP11/pdp11_cis.c b/PDP11/pdp11_cis.c index 9c7fe51b..24dd0168 100644 --- a/PDP11/pdp11_cis.c +++ b/PDP11/pdp11_cis.c @@ -29,12 +29,12 @@ Fixed bug in DIVx (LntDstr calculation) 30-May-06 RMS Added interrupt tests to character instructions Added 11/44 stack probe test to MOVCx (only) - 22-May-06 RMS Fixed bug in decode table (found by John Dundas) - Fixed bug in ASHP (reported by John Dundas) + 22-May-06 RMS Fixed bug in decode table (John Dundas) + Fixed bug in ASHP (John Dundas) Fixed bug in write decimal string with mmgt enabled Fixed bug in 0-length strings in multiply/divide 16-Sep-04 RMS Fixed bug in CMPP/N of negative strings - 17-Oct-02 RMS Fixed compiler warning (found by Hans Pufal) + 17-Oct-02 RMS Fixed compiler warning (Hans Pufal) 08-Oct-02 RMS Fixed macro definitions The commercial instruction set consists of three instruction formats: diff --git a/PDP11/pdp11_cpu.c b/PDP11/pdp11_cpu.c index 850b0ffe..0ee91143 100644 --- a/PDP11/pdp11_cpu.c +++ b/PDP11/pdp11_cpu.c @@ -1,6 +1,6 @@ /* pdp11_cpu.c: PDP-11 CPU simulator - Copyright (c) 1993-2008, Robert M Supnik + Copyright (c) 1993-2012, 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,19 +25,20 @@ cpu PDP-11 CPU - 29-Dec-08 RMS Fixed failure to clear cpu_bme on RESET (found by Walter Mueller) - 22-Apr-08 RMS Fixed MMR0 treatment in RESET (found by Walter Mueller) - 02-Feb-08 RMS Fixed DMA memory address limit test (found by John Dundas) + 19-Mar-12 RMS Fixed declaration of sim_switches (Mark Pizzolato) + 29-Dec-08 RMS Fixed failure to clear cpu_bme on RESET (Walter Mueller) + 22-Apr-08 RMS Fixed MMR0 treatment in RESET (Walter Mueller) + 02-Feb-08 RMS Fixed DMA memory address limit test (John Dundas) 28-Apr-07 RMS Removed clock initialization 27-Oct-06 RMS Added idle support 18-Oct-06 RMS Fixed bug in ASH -32 C value 24-May-06 RMS Added instruction history 03-May-06 RMS Fixed XOR operand fetch order for 11/70-style systems - 22-Sep-05 RMS Fixed declarations (from Sterling Garwood) + 22-Sep-05 RMS Fixed declarations (Sterling Garwood) 16-Aug-05 RMS Fixed C++ declaration and cast problems 19-May-05 RMS Replaced WAIT clock queue check with API call - 19-Jan-05 RMS Fixed bug(s) in RESET for 11/70 (reported by Tim Chapman) - 22-Dec-04 RMS Fixed WAIT to work in all modes (from John Dundas) + 19-Jan-05 RMS Fixed bug(s) in RESET for 11/70 (Tim Chapman) + 22-Dec-04 RMS Fixed WAIT to work in all modes (John Dundas) 02-Oct-04 RMS Added model emulation 25-Jan-04 RMS Removed local debug logging support 29-Dec-03 RMS Formalized 18b Qbus support @@ -47,19 +48,19 @@ 01-Feb-03 RMS Changed R display to follow PSW, added SP display 19-Jan-03 RMS Changed mode definitions for Apple Dev Kit conflict 05-Jan-03 RMS Added memory size restore support - 17-Oct-02 RMS Fixed bug in examine/deposit (found by Hans Pufal) + 17-Oct-02 RMS Fixed bug in examine/deposit (Hans Pufal) 08-Oct-02 RMS Revised to build dib_tab dynamically Added SHOW IOSPACE 09-Sep-02 RMS Added KW11P support 14-Jul-02 RMS Fixed bug in MMR0 error status load 03-Jun-02 RMS Fixed relocation add overflow, added PS<15:12> = 1111 special case logic to MFPI and removed it from MTPI - (found by John Dundas) - 29-Apr-02 RMS More fixes to DIV and ASH/ASHC (found by John Dundas) + (John Dundas) + 29-Apr-02 RMS More fixes to DIV and ASH/ASHC (John Dundas) 28-Apr-02 RMS Fixed bugs in illegal instruction 000010 and in - write-only memory pages (found by Wolfgang Helbig) + write-only memory pages (Wolfgang Helbig) 21-Apr-02 RMS Fixed bugs in DIV by zero, DIV overflow, TSTSET, RTS, - ASHC -32, and red zone trap (found by John Dundas) + ASHC -32, and red zone trap (John Dundas) 04-Mar-02 RMS Changed double operand evaluation order for M+ 23-Feb-02 RMS Fixed bug in MAINT, CPUERR, MEMERR read 28-Jan-02 RMS Revised for multiple timers; fixed calc_MMR1 macros @@ -81,7 +82,7 @@ 05-Apr-01 RMS Added TS11/TSV05 support 05-Mar-01 RMS Added clock calibration support 11-Feb-01 RMS Added DECtape support - 25-Jan-01 RMS Fixed 4M memory definition (found by Eric Smith) + 25-Jan-01 RMS Fixed 4M memory definition (Eric Smith) 14-Apr-99 RMS Changed t_addr to unsigned 18-Aug-98 RMS Added CIS support 09-May-98 RMS Fixed bug in DIV overflow test diff --git a/PDP11/pdp11_cpumod.c b/PDP11/pdp11_cpumod.c index c30d5a88..80a52dc4 100644 --- a/PDP11/pdp11_cpumod.c +++ b/PDP11/pdp11_cpumod.c @@ -27,12 +27,12 @@ 20-May-08 RMS Added JCSR default for KDJ11B, KDJ11E 22-Apr-08 RMS Fixed write behavior of 11/70 MBRK, LOSIZE, HISIZE - (found by Walter Mueller) + (Walter Mueller) 29-Apr-07 RMS Don't run bus setup routine during RESTORE 30-Aug-05 RMS Added additional 11/60 registers 16-Aug-05 RMS Fixed C++ declaration and cast problems - 15-Feb-05 RMS Fixed bug in SHOW MODEL (from Sergey Okhapkin) - 19-Jan-05 RMS Added variable SYSID, MBRK write (from Tim Chapman) + 15-Feb-05 RMS Fixed bug in SHOW MODEL (Sergey Okhapkin) + 19-Jan-05 RMS Added variable SYSID, MBRK write (Tim Chapman) This module includes CPU- and system-specific registers, such as the Unibus map and control registers on 22b Unibus systems, the board registers for the diff --git a/PDP11/pdp11_dz.c b/PDP11/pdp11_dz.c index c0610364..bb80d7fa 100644 --- a/PDP11/pdp11_dz.c +++ b/PDP11/pdp11_dz.c @@ -25,7 +25,7 @@ dz DZ11 terminal multiplexor - 29-Dec-08 RMS Added MTAB_NC to SET LOG command (found by Walter Mueller) + 29-Dec-08 RMS Added MTAB_NC to SET LOG command (Walter Mueller) 19-Nov-08 RMS Revised for common TMXR show routines 18-Jun-07 RMS Added UNIT_IDLE flag 29-Oct-06 RMS Synced poll and clock diff --git a/PDP11/pdp11_fp.c b/PDP11/pdp11_fp.c index 1f18ac9a..2d1db393 100644 --- a/PDP11/pdp11_fp.c +++ b/PDP11/pdp11_fp.c @@ -23,7 +23,7 @@ used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from Robert M Supnik. - 22-Sep-05 RMS Fixed declarations (from Sterling Garwood) + 22-Sep-05 RMS Fixed declarations (Sterling Garwood) 04-Oct-04 RMS Added FIS instructions 19-Jan-03 RMS Changed mode definitions for Apple Dev Kit conflict 08-Oct-02 RMS Fixed macro definitions diff --git a/PDP11/pdp11_hk.c b/PDP11/pdp11_hk.c index f2bb1015..72aa9cfd 100644 --- a/PDP11/pdp11_hk.c +++ b/PDP11/pdp11_hk.c @@ -1,6 +1,6 @@ /* pdp11_hk.c - RK611/RK06/RK07 disk controller - Copyright (c) 1993-2008, Robert M Supnik + Copyright (c) 1993-2012, 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,7 @@ hk RK611/RK06/RK07 disk + 19-Mar-12 RMS Fixed declaration of cpu_opt (Mark Pizzolato) 29-Apr-07 RMS NOP and DCLR (at least) do not check drive type MR2 and MR3 only updated on NOP 17-Nov-05 RMS Removed unused variable diff --git a/PDP11/pdp11_io.c b/PDP11/pdp11_io.c index f8c98240..e5909413 100644 --- a/PDP11/pdp11_io.c +++ b/PDP11/pdp11_io.c @@ -1,6 +1,6 @@ /* pdp11_io.c: PDP-11 I/O simulator - Copyright (c) 1993-2011, Robert M Supnik + Copyright (c) 1993-2012, 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,19 +23,20 @@ used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from Robert M Supnik. + 19-Mar-12 RMS Fixed declaration of cpu_opt (Mark Pizzolato) 12-Dec-11 RMS Fixed Qbus interrupts to treat all IO devices as BR4 19-Nov-08 RMS Moved I/O support routines to I/O library 16-May-08 RMS Added multiple DC11 support Renamed DL11 in autoconfigure - 02-Feb-08 RMS Fixed DMA memory address limit test (found by John Dundas) + 02-Feb-08 RMS Fixed DMA memory address limit test (John Dundas) 06-Jul-06 RMS Added multiple KL11/DL11 support 15-Oct-05 RMS Fixed bug in autoconfiguration (missing XU) 25-Jul-05 RMS Revised autoconfiguration algorithm and interface 30-Sep-04 RMS Revised Unibus interface - 28-May-04 RMS Revised I/O dispatching (from John Dundas) + 28-May-04 RMS Revised I/O dispatching (John Dundas) 25-Jan-04 RMS Removed local debug logging support 21-Dec-03 RMS Fixed bug in autoconfigure vector assignment; added controls - 21-Nov-03 RMS Added check for interrupt slot conflict (found by Dave Hittner) + 21-Nov-03 RMS Added check for interrupt slot conflict (Dave Hittner) 12-Mar-03 RMS Added logical name support 08-Oct-02 RMS Trimmed I/O bus addresses Added support for dynamic tables diff --git a/PDP11/pdp11_rf.c b/PDP11/pdp11_rf.c index cd2055ed..439fa7b2 100644 --- a/PDP11/pdp11_rf.c +++ b/PDP11/pdp11_rf.c @@ -1,6 +1,6 @@ /* pdp11_rf.c: RF11 fixed head disk simulator - Copyright (c) 2006-2008, Robert M Supnik + Copyright (c) 2006-2012, 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,7 +25,8 @@ rf RF11 fixed head disk - 25-Dec-06 RMS Fixed bug in unit mask (found by John Dundas) + 19-Mar-12 RMS Fixed bug in updating mem addr extension (Peter Schorn) + 25-Dec-06 RMS Fixed bug in unit mask (John Dundas) 26-Jun-06 RMS Cloned from RF08 simulator The RF11 is a head-per-track disk. To minimize overhead, the entire RF11 @@ -377,7 +378,7 @@ do { } while ((rf_wc != 0) && (rf_burst != 0)); /* brk if wc, no brst */ rf_da = da & DMASK; /* split da */ -rf_dae = (rf_dae & ~RFDAE_DAE) | ((rf_da >> 16) && RFDAE_DAE); +rf_dae = (rf_dae & ~RFDAE_DAE) | ((rf_da >> 16) & RFDAE_DAE); rf_cma = ma & DMASK; /* split ma */ rf_cs = (rf_cs & ~RFCS_MEX) | ((ma >> (16 - RFCS_V_MEX)) & RFCS_MEX); if ((rf_wc != 0) && ((rf_cs & RFCS_ERR) == 0)) /* more to do? */ diff --git a/PDP11/pdp11_rh.c b/PDP11/pdp11_rh.c index 3256c8a6..efc7c043 100644 --- a/PDP11/pdp11_rh.c +++ b/PDP11/pdp11_rh.c @@ -1,6 +1,6 @@ /* pdp11_rh.c: PDP-11 Massbus adapter simulator - Copyright (c) 2005-2008, Robert M Supnik + Copyright (c) 2005-2012, 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,7 +25,8 @@ rha, rhb RH11/RH70 Massbus adapter - 02-Feb-08 RMS Fixed DMA memory address limit test (found by John Dundas) + 19-Mar-12 RMS Fixed declaration of cpu_opt (Mark Pizzolato) + 02-Feb-08 RMS Fixed DMA memory address limit test (John Dundas) 17-May-07 RMS Moved CS1 drive enable to devices 21-Nov-05 RMS Added enable/disable routine 07-Jul-05 RMS Removed extraneous externs diff --git a/PDP11/pdp11_rk.c b/PDP11/pdp11_rk.c index 2b7c089c..5e37d54d 100644 --- a/PDP11/pdp11_rk.c +++ b/PDP11/pdp11_rk.c @@ -25,7 +25,7 @@ rk RK11/RKV11/RK05 cartridge disk - 20-Mar-09 RMS Fixed bug in read header (from Walter F Mueller) + 20-Mar-09 RMS Fixed bug in read header (Walter F Mueller) 16-Aug-05 RMS Fixed C++ declaration and cast problems 07-Jul-05 RMS Removed extraneous externs 30-Sep-04 RMS Revised Unibus interface diff --git a/PDP11/pdp11_rl.c b/PDP11/pdp11_rl.c index ef338bf5..107b8077 100644 --- a/PDP11/pdp11_rl.c +++ b/PDP11/pdp11_rl.c @@ -39,7 +39,7 @@ SET RLn ONLINE/OFFLINE SET RL RLV11/RLV12 (PDP-11 only) SET RL DEBUG/NODEBUG - 22-Sep-05 RMS Fixed declarations (from Sterling Garwood) + 22-Sep-05 RMS Fixed declarations (Sterling Garwood) 16-Aug-05 RMS Fixed C++ declaration and cast problems 07-Jul-05 RMS Removed extraneous externs 30-Sep-04 RMS Revised Unibus interface diff --git a/PDP11/pdp11_rq.c b/PDP11/pdp11_rq.c index 8ecd715d..716470fc 100644 --- a/PDP11/pdp11_rq.c +++ b/PDP11/pdp11_rq.c @@ -43,20 +43,20 @@ 18-Jun-07 RMS Added UNIT_IDLE flag to timer thread 31-Oct-05 RMS Fixed address width for large files 16-Aug-05 RMS Fixed C++ declaration and cast problems - 22-Jul-05 RMS Fixed warning from Solaris C (from Doug Gwyn) + 22-Jul-05 RMS Fixed warning from Solaris C (Doug Gwyn) 17-Jan-05 RMS Added more RA and RD disks 31-Oct-04 RMS Added -L switch (LBNs) to RAUSER size specification 01-Oct-04 RMS Revised Unibus interface Changed to identify as UDA50 in Unibus configurations Changed width to be 16b in all configurations Changed default timing for VAX - 24-Jul-04 RMS VAX controllers luns start with 0 (from Andreas Cejna) + 24-Jul-04 RMS VAX controllers luns start with 0 (Andreas Cejna) 05-Feb-04 RMS Revised for file I/O library 25-Jan-04 RMS Revised for device debug support - 12-Jan-04 RMS Fixed bug in interrupt control (found by Tom Evans) + 12-Jan-04 RMS Fixed bug in interrupt control (Tom Evans) 07-Oct-03 RMS Fixed problem with multiple RAUSER drives 17-Sep-03 RMS Fixed MB to LBN conversion to be more accurate - 11-Jul-03 RMS Fixed bug in user disk size (found by Chaskiel M Grundman) + 11-Jul-03 RMS Fixed bug in user disk size (Chaskiel M Grundman) 19-May-03 RMS Revised for new conditional compilation scheme 25-Apr-03 RMS Revised for extended file support 14-Mar-03 RMS Fixed variable size interaction with save/restore @@ -70,7 +70,7 @@ Fixed status code in HBE error log Consolidated MSCP/TMSCP header file New data structures - 16-Aug-02 RMS Removed unused variables (found by David Hittner) + 16-Aug-02 RMS Removed unused variables (David Hittner) 04-May-02 RMS Fixed bug in polling loop for queued operations 26-Mar-02 RMS Fixed bug, reset routine cleared UF_WPH 09-Mar-02 RMS Adjusted delays for M+ timing bugs diff --git a/PDP11/pdp11_ry.c b/PDP11/pdp11_ry.c index 47b51975..a973e2e0 100644 --- a/PDP11/pdp11_ry.c +++ b/PDP11/pdp11_ry.c @@ -25,9 +25,9 @@ ry RX211/RXV21/RX02 floppy disk - 15-May-06 RMS Fixed bug in autosize attach (reported by David Gesswein) + 15-May-06 RMS Fixed bug in autosize attach (David Gesswein) 07-Jul-05 RMS Removed extraneous externs - 18-Feb-05 RMS Fixed bug in boot code (reported by Graham Toal) + 18-Feb-05 RMS Fixed bug in boot code (Graham Toal) 30-Sep-04 RMS Revised Unibus interface 21-Mar-04 RMS Added VAX support 29-Dec-03 RMS Added RXV21 support diff --git a/PDP11/pdp11_stddev.c b/PDP11/pdp11_stddev.c index ed6ce6e1..d68199b3 100644 --- a/PDP11/pdp11_stddev.c +++ b/PDP11/pdp11_stddev.c @@ -32,7 +32,7 @@ Added clock coscheduling support 05-Jul-06 RMS Added UC only support for early DOS/RSTS 22-Nov-05 RMS Revised for new terminal processing routines - 22-Sep-05 RMS Fixed declarations (from Sterling Garwood) + 22-Sep-05 RMS Fixed declarations (Sterling Garwood) 07-Jul-05 RMS Removed extraneous externs 11-Oct-04 RMS Added clock model dependencies 28-May-04 RMS Removed SET TTI CTRL-C @@ -46,7 +46,7 @@ Split DL11 dibs 30-May-02 RMS Widened POS to 32b 26-Jan-02 RMS Revised for multiple timers - 09-Jan-02 RMS Fixed bugs in KW11L (found by John Dundas) + 09-Jan-02 RMS Fixed bugs in KW11L (John Dundas) 06-Jan-02 RMS Split I/O address routines, revised enable/disable support 29-Nov-01 RMS Added read only unit support 09-Nov-01 RMS Added RQDX3 support diff --git a/PDP11/pdp11_sys.c b/PDP11/pdp11_sys.c index 17ac0423..98ca200b 100644 --- a/PDP11/pdp11_sys.c +++ b/PDP11/pdp11_sys.c @@ -27,16 +27,16 @@ 15-May-08 RMS Added KE11-A, DC11 support Renamed DL11 04-Feb-08 RMS Modified to allow -A, -B use with 8b devices - 25-Jan-08 RMS Added RC11, KG11A support from John Dundas + 25-Jan-08 RMS Added RC11, KG11A support (John Dundas) 10-Sep-07 RMS Cleaned up binary loader 20-Dec-06 RMS Added TA11 support - 12-Nov-06 RMS Fixed operand order in EIS instructions (found by W.F.J. Mueller) + 12-Nov-06 RMS Fixed operand order in EIS instructions (W.F.J. Mueller) 14-Jul-06 RMS Reordered device list 06-Jul-06 RMS Added multiple KL11/DL11 support 26-Jun-06 RMS Added RF11 support - 17-May-06 RMS Added CR11/CD11 support (from John Dundas) + 17-May-06 RMS Added CR11/CD11 support (John Dundas) 16-Aug-05 RMS Fixed C++ declaration and cast problems - 22-Jul-05 RMS Fixed missing , in initializer (from Doug Gwyn) + 22-Jul-05 RMS Fixed missing , in initializer (Doug Gwyn) 22-Dec-03 RMS Added second DEUNA/DELUA support 18-Oct-03 RMS Added DECtape off reel message 06-May-03 RMS Added support for second DEQNA/DELQA diff --git a/PDP11/pdp11_tc.c b/PDP11/pdp11_tc.c index 1b67b4ce..f1451776 100644 --- a/PDP11/pdp11_tc.c +++ b/PDP11/pdp11_tc.c @@ -26,7 +26,7 @@ tc TC11/TU56 DECtape 23-Jun-06 RMS Fixed switch conflict in ATTACH - 10-Feb-06 RMS READ sets extended data bits in TCST (found by Alan Frisbie) + 10-Feb-06 RMS READ sets extended data bits in TCST (Alan Frisbie) 16-Aug-05 RMS Fixed C++ declaration and cast problems 07-Jul-05 RMS Removed extraneous externs 30-Sep-04 RMS Revised Unibus interface diff --git a/PDP11/pdp11_tm.c b/PDP11/pdp11_tm.c index e6af932c..ee4f2ba6 100644 --- a/PDP11/pdp11_tm.c +++ b/PDP11/pdp11_tm.c @@ -46,23 +46,22 @@ 28-Aug-02 RMS Added end of medium support 30-May-02 RMS Widened POS to 32b 22-Apr-02 RMS Fixed max record length, first block bootstrap - (found by Jonathan Engdahl) + (Jonathan Engdahl) 26-Jan-02 RMS Revised bootstrap to conform to M9312 06-Jan-02 RMS Revised enable/disable support 30-Nov-01 RMS Added read only unit, extended SET/SHOW support 24-Nov-01 RMS Converted UST, POS, FLG to arrays 09-Nov-01 RMS Added bus map support - 18-Oct-01 RMS Added stub diagnostic register (found by Thord Nilson) + 18-Oct-01 RMS Added stub diagnostic register (Thord Nilson) 07-Sep-01 RMS Revised device disable and interrupt mechanisms 26-Apr-01 RMS Added device enable/disable support 18-Apr-01 RMS Changed to rewind tape before boot 14-Apr-99 RMS Changed t_addr to unsigned 04-Oct-98 RMS V2.4 magtape format - 10-May-98 RMS Fixed bug with non-zero unit operation (from Steven Schultz) - 09-May-98 RMS Fixed problems in bootstrap (from Steven Schultz) - 10-Apr-98 RMS Added 2nd block bootstrap (from John Holden, - University of Sydney) - 31-Jul-97 RMS Added bootstrap (from Ethan Dicks, Ohio State) + 10-May-98 RMS Fixed bug with non-zero unit operation (Steven Schultz) + 09-May-98 RMS Fixed problems in bootstrap (Steven Schultz) + 10-Apr-98 RMS Added 2nd block bootstrap (John Holden) + 31-Jul-97 RMS Added bootstrap (Ethan Dicks) 22-Jan-97 RMS V2.3 magtape format 18-Jan-97 RMS Fixed double interrupt, error flag bugs 29-Jun-96 RMS Added unit disable support diff --git a/PDP11/pdp11_tq.c b/PDP11/pdp11_tq.c index c4b8fbe8..6c02591e 100644 --- a/PDP11/pdp11_tq.c +++ b/PDP11/pdp11_tq.c @@ -49,10 +49,10 @@ 16-Feb-06 RMS Revised for new magtape capacity checking 31-Oct-05 RMS Fixed address width for large files 16-Aug-05 RMS Fixed C++ declaration and cast problems - 22-Jul-05 RMS Fixed warning from Solaris C (from Doug Gwyn) + 22-Jul-05 RMS Fixed warning from Solaris C (Doug Gwyn) 30-Sep-04 RMS Revised Unibus interface - 12-Jun-04 RMS Fixed bug in reporting write protect (reported by Lyle Bickley) - 18-Apr-04 RMS Fixed TQK70 media ID and model byte (found by Robert Schaffrath) + 12-Jun-04 RMS Fixed bug in reporting write protect (Lyle Bickley) + 18-Apr-04 RMS Fixed TQK70 media ID and model byte (Robert Schaffrath) 26-Mar-04 RMS Fixed warnings with -std=c99 25-Jan-04 RMS Revised for device debug support 19-May-03 RMS Revised for new conditional compilation scheme @@ -63,7 +63,7 @@ 22-Feb-03 RMS Fixed ordering bug in queue process Fixed flags table to allow MD_CSE everywhere 09-Jan-03 RMS Fixed bug in transfer end packet status - 17-Oct-02 RMS Fixed bug in read reverse (found by Hans Pufal) + 17-Oct-02 RMS Fixed bug in read reverse (Hans Pufal) */ #if defined (VM_PDP10) /* PDP10 version */ diff --git a/PDP11/pdp11_ts.c b/PDP11/pdp11_ts.c index 0d5ff9c9..ccad942a 100644 --- a/PDP11/pdp11_ts.c +++ b/PDP11/pdp11_ts.c @@ -1,6 +1,6 @@ /* pdp11_ts.c: TS11/TSV05 magnetic tape simulator - Copyright (c) 1993-2010, Robert M Supnik + Copyright (c) 1993-2012, 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,7 +26,7 @@ ts TS11/TSV05 magtape 22-May-10 RMS Fixed t_addr printouts for 64b big-endian systems - (found by Mark Pizzolato) + (Mark Pizzolato) 16-Feb-06 RMS Added tape capacity checking 31-Oct-05 RMS Fixed address width for large files 16-Aug-05 RMS Fixed C++ declaration and cast problems @@ -59,7 +59,7 @@ 19-Sep-01 RMS Fixed bug in bootstrap 15-Sep-01 RMS Fixed bug in NXM test 07-Sep-01 RMS Revised device disable and interrupt mechanism - 13-Jul-01 RMS Fixed bug in space reverse (found by Peter Schorn) + 13-Jul-01 RMS Fixed bug in space reverse (Peter Schorn) Magnetic tapes are represented as a series of variable 8b records of the form: diff --git a/PDP11/pdp11_tu.c b/PDP11/pdp11_tu.c index f4b2144f..f924ebac 100644 --- a/PDP11/pdp11_tu.c +++ b/PDP11/pdp11_tu.c @@ -1,6 +1,6 @@ /* pdp11_tu.c - PDP-11 TM02/TU16 TM03/TU45/TU77 Massbus magnetic tape controller - Copyright (c) 1993-2008, Robert M Supnik + Copyright (c) 1993-2012, 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,7 +27,7 @@ 18-Apr-11 MP Fixed t_addr printouts for 64b big-endian systems 17-May-07 RMS CS1 DVA resides in device, not MBA - 29-Apr-07 RMS Fixed bug in setting FCE on TMK (found by Naoki Hamada) + 29-Apr-07 RMS Fixed bug in setting FCE on TMK (Naoki Hamada) 16-Feb-06 RMS Added tape capacity checking 12-Nov-05 RMS Changed default formatter to TM03 (for VMS) 31-Oct-05 RMS Fixed address width for large files diff --git a/PDP11/pdp11_vh.c b/PDP11/pdp11_vh.c index e6153f22..fde07975 100644 --- a/PDP11/pdp11_vh.c +++ b/PDP11/pdp11_vh.c @@ -1,6 +1,6 @@ /* pdp11_vh.c: DHQ11 asynchronous terminal multiplexor simulator - Copyright (c) 2004-2010, John A. Dundas III + Copyright (c) 2004-2012, John A. Dundas III Portions derived from work by Robert M Supnik Permission is hereby granted, free of charge, to any person obtaining a diff --git a/PDP18B/pdp18b_cpu.c b/PDP18B/pdp18b_cpu.c index 4e5a53b0..d9473ac3 100644 --- a/PDP18B/pdp18b_cpu.c +++ b/PDP18B/pdp18b_cpu.c @@ -26,7 +26,7 @@ cpu PDP-4/7/9/15 central processor 28-Apr-07 RMS Removed clock initialization - 26-Dec-06 RMS Fixed boundary test in KT15/XVM (reported by Andrew Warkentin) + 26-Dec-06 RMS Fixed boundary test in KT15/XVM (Andrew Warkentin) 30-Oct-06 RMS Added idle and infinite loop detection 08-Oct-06 RMS Added RDCLK instruction Fixed bug, PC off by one on fetch mem mmgt error @@ -34,7 +34,7 @@ PDP-15 sets API 4 on CAL only if 0-3 inactive CAF clears memory management mode register 27-Jun-06 RMS Reset clears AC, L, and MQ - 22-Sep-05 RMS Fixed declarations (from Sterling Garwood) + 22-Sep-05 RMS Fixed declarations (Sterling Garwood) 16-Aug-05 RMS Fixed C++ declaration and cast problems 22-Jul-05 RMS Removed AAS, error in V1 reference manual 06-Nov-04 RMS Added =n to SHOW HISTORY @@ -56,14 +56,14 @@ Fixed memory protect/skip interaction Fixed CAF not to reset CPU 12-Mar-03 RMS Added logical name support - 18-Feb-03 RMS Fixed three EAE bugs (found by Hans Pufal) + 18-Feb-03 RMS Fixed three EAE bugs (Hans Pufal) 05-Oct-02 RMS Added DIBs, device number support 25-Jul-02 RMS Added DECtape support for PDP-4 06-Jan-02 RMS Revised enable/disable support 30-Dec-01 RMS Added old PC queue 30-Nov-01 RMS Added extended SET/SHOW support 25-Nov-01 RMS Revised interrupt structure - 19-Sep-01 RMS Fixed bug in EAE (found by Dave Conroy) + 19-Sep-01 RMS Fixed bug in EAE (Dave Conroy) 17-Sep-01 RMS Fixed typo in conditional 10-Aug-01 RMS Removed register from declarations 17-Jul-01 RMS Moved function prototype @@ -2132,7 +2132,7 @@ if (usmd && (sw & SWMASK ('V'))) { addr = RelocXVM (addr, REL_C); else if (RELOC) addr = Reloc15 (addr, REL_C); - if (((int32)addr) < 0) + if (((int32) addr) < 0) return STOP_MME; } #endif @@ -2153,7 +2153,7 @@ if (usmd && (sw & SWMASK ('V'))) { addr = RelocXVM (addr, REL_C); else if (RELOC) addr = Reloc15 (addr, REL_C); - if (((int32)addr) < 0) + if (((int32) addr) < 0) return STOP_MME; } #endif diff --git a/PDP18B/pdp18b_drm.c b/PDP18B/pdp18b_drm.c index 0ae13f2c..c65990b1 100644 --- a/PDP18B/pdp18b_drm.c +++ b/PDP18B/pdp18b_drm.c @@ -30,7 +30,7 @@ 05-Dec-02 RMS Updated from Type 24 documentation 22-Nov-02 RMS Added PDP-4 support 05-Feb-02 RMS Added DIB, device number support - 03-Feb-02 RMS Fixed bug in reset routine (found by Robert Alan Byer) + 03-Feb-02 RMS Fixed bug in reset routine (Robert Alan Byer) 06-Jan-02 RMS Revised enable/disable support 25-Nov-01 RMS Revised interrupt structure 10-Jun-01 RMS Cleaned up IOT decoding to reflect hardware diff --git a/PDP18B/pdp18b_fpp.c b/PDP18B/pdp18b_fpp.c index a55510e9..d1a098a6 100644 --- a/PDP18B/pdp18b_fpp.c +++ b/PDP18B/pdp18b_fpp.c @@ -1,6 +1,6 @@ /* pdp18b_fpp.c: FP15 floating point processor simulator - Copyright (c) 2003-2008, Robert M Supnik + Copyright (c) 2003-2012, 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,7 @@ fpp PDP-15 floating point processor + 19-Mar-12 RMS Fixed declaration of pc queue (Mark Pizzolato) 06-Jul-06 RMS Fixed bugs in left shift, multiply 31-Oct-04 RMS Fixed URFST to mask low 9b of fraction Fixed exception PC setting diff --git a/PDP18B/pdp18b_lp.c b/PDP18B/pdp18b_lp.c index e04698c3..801f05f1 100644 --- a/PDP18B/pdp18b_lp.c +++ b/PDP18B/pdp18b_lp.c @@ -36,7 +36,7 @@ 05-Feb-03 RMS Added LP09, fixed conditionalization 05-Oct-02 RMS Added DIB, device number support 30-May-02 RMS Widened POS to 32b - 03-Feb-02 RMS Fixed typo (found by Robert Alan Byer) + 03-Feb-02 RMS Fixed typo (Robert Alan Byer) 25-Nov-01 RMS Revised interrupt structure 19-Sep-01 RMS Fixed bug in 647 13-Feb-01 RMS Revised for register arrays diff --git a/PDP18B/pdp18b_rf.c b/PDP18B/pdp18b_rf.c index 65a90383..51e6ecd9 100644 --- a/PDP18B/pdp18b_rf.c +++ b/PDP18B/pdp18b_rf.c @@ -27,7 +27,7 @@ (PDP-15) RF15/RS09 04-Oct-06 RMS Fixed bug, DSCD does not clear function register - 15-May-06 RMS Fixed bug in autosize attach (reported by David Gesswein) + 15-May-06 RMS Fixed bug in autosize attach (David Gesswein) 14-Jan-04 RMS Revised IO device call interface Changed sim_fsize calling sequence 26-Oct-03 RMS Cleaned up buffer copy code diff --git a/PDP18B/pdp18b_stddev.c b/PDP18B/pdp18b_stddev.c index c93b4cf8..c2e5c827 100644 --- a/PDP18B/pdp18b_stddev.c +++ b/PDP18B/pdp18b_stddev.c @@ -53,7 +53,7 @@ 22-Dec-02 RMS Added break support 01-Nov-02 RMS Added 7B/8B support to terminal 05-Oct-02 RMS Added DIBs, device number support, IORS call - 14-Jul-02 RMS Added ASCII reader/punch support (from Hans Pufal) + 14-Jul-02 RMS Added ASCII reader/punch support (Hans Pufal) 30-May-02 RMS Widened POS to 32b 29-Nov-01 RMS Added read only unit support 25-Nov-01 RMS Revised interrupt structure diff --git a/PDP18B/pdp18b_sys.c b/PDP18B/pdp18b_sys.c index c843e949..97adc3cf 100644 --- a/PDP18B/pdp18b_sys.c +++ b/PDP18B/pdp18b_sys.c @@ -34,12 +34,12 @@ 30-Jul-03 RMS Fixed FPM class mask 18-Jul-03 RMS Added FP15 support 02-Mar-03 RMS Split loaders apart for greater flexibility - 09-Feb-03 RMS Fixed bug in FMTASC (found by Hans Pufal) + 09-Feb-03 RMS Fixed bug in FMTASC (Hans Pufal) 31-Jan-03 RMS Added support for RB09 05-Oct-02 RMS Added variable device number support 25-Jul-02 RMS Added PDP-4 DECtape support 10-Feb-02 RMS Added PDP-7 DECtape IOT's - 03-Feb-02 RMS Fixed typo (found by Robert Alan Byer) + 03-Feb-02 RMS Fixed typo (Robert Alan Byer) 17-Sep-01 RMS Removed multiconsole support 27-May-01 RMS Added second Teletype support 18-May-01 RMS Added PDP-9,-15 API IOT's @@ -49,8 +49,7 @@ 30-Nov-00 RMS Added PDP-9,-15 RIM/BIN loader format 30-Oct-00 RMS Added support for examine to file 27-Oct-98 RMS V2.4 load interface - 20-Oct-97 RMS Fixed endian dependence in RIM loader - (found by Michael Somos) + 20-Oct-97 RMS Fixed endian dependence in RIM loader (Michael Somos) */ #include "pdp18b_defs.h" diff --git a/PDP8/pdp8_fpp.c b/PDP8/pdp8_fpp.c index 4fb04c01..6845dbe8 100644 --- a/PDP8/pdp8_fpp.c +++ b/PDP8/pdp8_fpp.c @@ -1,6 +1,6 @@ /* pdp8_fpp.c: PDP-8 floating point processor (FPP8A) - Copyright (c) 2007-2010, Robert M Supnik + Copyright (c) 2007-2011, 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"), diff --git a/PDP8/pdp8_sys.c b/PDP8/pdp8_sys.c index 3b550941..ed7ff85b 100644 --- a/PDP8/pdp8_sys.c +++ b/PDP8/pdp8_sys.c @@ -1,6 +1,6 @@ /* pdp8_sys.c: PDP-8 simulator interface - Copyright (c) 1993-2009, Robert M Supnik + Copyright (c) 1993-2011, 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,7 +24,7 @@ in this Software without prior written authorization from Robert M Supnik. 24-Mar-09 RMS Added link to FPP - 24-Jun-08 RMS Fixed bug in new rim loader (found by Don North) + 24-Jun-08 RMS Fixed bug in new rim loader (Don North) 24-May-08 RMS Fixed signed/unsigned declaration inconsistency 03-Sep-07 RMS Added FPP8 support Rewrote rim and binary loaders diff --git a/S3/s3_cd.c b/S3/s3_cd.c index 99041df5..7ec0e2ab 100644 --- a/S3/s3_cd.c +++ b/S3/s3_cd.c @@ -1,6 +1,6 @@ /* s3_cd.c: IBM 1442 card reader/punch - Copyright (c) 2001-2005, Charles E. Owen + Copyright (c) 2001-2012, Charles E. Owen 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,7 @@ cdp card punch cdp2 card punch stacker 2 + 19-Mar-12 RMS Fixed declaration of conversion tables (Mark Pizzolato) 25-Apr-03 RMS Revised for extended file support 08-Oct-02 RMS Added impossible function catcher diff --git a/S3/s3_cpu.c b/S3/s3_cpu.c index 6b9890b2..b4696484 100644 --- a/S3/s3_cpu.c +++ b/S3/s3_cpu.c @@ -1,6 +1,6 @@ /* s3_cpu.c: IBM System/3 CPU simulator - Copyright (c) 2001-2005, Charles E. Owen + Copyright (c) 2001-2012, Charles E. Owen HPL & SLC instruction code Copyright (c) 2001 by Henk Stegeman Decimal Arithmetic Copyright (c) 2000 by Roger Bowler @@ -29,6 +29,8 @@ cpu System/3 (models 10 and 15) central processor + 19-Mar-12 RMS Changed int to int32 in declarations (Mark Pizzolato) + The IBM System/3 was a popular small-business computing system introduced in 1969 as an entry-level system for businesses that could not afford the lowest rungs of the System/360. Its architecture is inspired by and diff --git a/S3/s3_lp.c b/S3/s3_lp.c index 6c085115..99f85af4 100644 --- a/S3/s3_lp.c +++ b/S3/s3_lp.c @@ -1,6 +1,6 @@ /* s3_lp.c: IBM 1403 line printer simulator - Copyright (c) 2001-2005, Charles E. Owen + Copyright (c) 2001-2012, Charles E. Owen 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,7 @@ lpt 1403 line printer + 19-Mar-12 RMS Fixed declaration of conversion tables (Mark Pizzolato) 25-Apr-03 RMS Revised for extended file support 08-Oct-02 RMS Added impossible function catcher */ @@ -114,7 +115,7 @@ int32 lpt (int32 op, int32 m, int32 n, int32 data) switch (op) { case 0: /* SIO 1403 */ iodata = 0; - printf("\0"); +// printf("\0"); switch (n) { case 0x00: /* Spacing only */ if (data > 0 && data < 4) diff --git a/S3/s3_sys.c b/S3/s3_sys.c index d4123a6b..39cec895 100644 --- a/S3/s3_sys.c +++ b/S3/s3_sys.c @@ -1,6 +1,6 @@ /* s3_sys.c: IBM System/3 system interface - Copyright (c) 2001-2005, Charles E. Owen + Copyright (c) 2001-2012, Charles E. Owen 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 Charles E. Owen shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from Charles E. Owen. + + 19-Mar-12 RMS Fixed declaration of conversion tables (Mark Pizzolato) */ #include diff --git a/SDS/sds_io.c b/SDS/sds_io.c index c7f87b48..4e4dd22b 100644 --- a/SDS/sds_io.c +++ b/SDS/sds_io.c @@ -1,6 +1,6 @@ /* sds_io.c: SDS 940 I/O simulator - Copyright (c) 2001-2008, Robert M. Supnik + Copyright (c) 2001-2012, 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. + + 19-Mar-2012 RMS Fixed various declarations (Mark Pizzolato) */ #include "sds_defs.h" diff --git a/SDS/sds_mt.c b/SDS/sds_mt.c index f7590eec..163d7d23 100644 --- a/SDS/sds_mt.c +++ b/SDS/sds_mt.c @@ -1,6 +1,6 @@ /* sds_mt.c: SDS 940 magnetic tape simulator - Copyright (c) 2001-2008, Robert M. Supnik + Copyright (c) 2001-2012, 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,7 @@ mt 7 track magnetic tape + 19-Mar-12 RMS Fixed bug in scan function decode (Peter Schorn) 16-Feb-06 RMS Added tape capacity checking 07-Dec-04 RMS Added read-only file support 25-Apr-03 RMS Revised for extended file support @@ -209,7 +210,7 @@ switch (fnc) { /* case function */ (inst & CHC_REV)) /* rw & rev? */ return STOP_INVIOP; mt_inst = inst; /* save inst */ - if ((inst & DEV_MTS) && !(inst && DEV_OUT)) /* scanning? */ + if ((inst & DEV_MTS) && !(inst & DEV_OUT)) /* scanning? */ chan_set_flag (mt_dib.chan, CHF_SCAN); /* set chan flg */ xfr_req = xfr_req & ~XFR_MT0; /* clr xfr flag */ sim_activate (uptr, mt_gtime); /* start timer */ diff --git a/SDS/sds_sys.c b/SDS/sds_sys.c index f46f4d82..44f98173 100644 --- a/SDS/sds_sys.c +++ b/SDS/sds_sys.c @@ -1,6 +1,6 @@ /* sds_sys.c: SDS 940 simulator interface - Copyright (c) 2001-2008, Robert M Supnik + Copyright (c) 2001-2012, 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. + + 19-Mar-12 RMS Fixed declarations of CCT arrays (Mark Pizzolato) */ #include "sds_defs.h" diff --git a/VAX/vax780_sbi.c b/VAX/vax780_sbi.c index f047184f..430aa807 100644 --- a/VAX/vax780_sbi.c +++ b/VAX/vax780_sbi.c @@ -27,9 +27,9 @@ sbi bus controller - 21-Mar-2011 RMS Added autoreboot capability (from Mark Pizzalato) + 21-Mar-2011 RMS Added autoreboot capability (Mark Pizzalato) 04-Feb-2011 MP Added RQB, RQC, and RQD as bootable controllers - 31-May-2008 RMS Fixed machine_check calling sequence (found by Peter Schorn) + 31-May-2008 RMS Fixed machine_check calling sequence (Peter Schorn) 03-May-2006 RMS Fixed writes to ACCS 28-May-2008 RMS Inlined physical memory routines */ diff --git a/VAX/vax780_stddev.c b/VAX/vax780_stddev.c index 814a5f43..84245806 100644 --- a/VAX/vax780_stddev.c +++ b/VAX/vax780_stddev.c @@ -60,7 +60,7 @@ Synced keyboard to clock for idling 11-May-06 RMS Revised timer logic for EVKAE 22-Nov-05 RMS Revised for new terminal processing routines - 10-Mar-05 RMS Fixed bug in timer schedule routine (from Mark Hittinger) + 10-Mar-05 RMS Fixed bug in timer schedule routine (Mark Hittinger) 08-Sep-04 RMS Cloned from vax_stddev.c, vax_sysdev.c, and pdp11_rx.c The console floppy protocol is based on the description in the 1982 VAX diff --git a/VAX/vax780_syslist.c b/VAX/vax780_syslist.c index d35eb932..aad58dbd 100644 --- a/VAX/vax780_syslist.c +++ b/VAX/vax780_syslist.c @@ -23,7 +23,7 @@ used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from Robert M Supnik. - 17-May-06 RMS Added CR11/CD11 support (from John Dundas) + 17-May-06 RMS Added CR11/CD11 support (John Dundas) 01-Oct-04 RMS Cloned from vax_sys.c */ diff --git a/VAX/vax780_uba.c b/VAX/vax780_uba.c index cbbf0c74..245e8a22 100644 --- a/VAX/vax780_uba.c +++ b/VAX/vax780_uba.c @@ -27,7 +27,7 @@ 19-Nov-08 RMS Moved I/O support routines to I/O library 28-May-08 RMS Inlined physical memory routines - 25-Jan-08 RMS Fixed declarations (from Mark Pizzolato) + 25-Jan-08 RMS Fixed declarations (Mark Pizzolato) */ #include "vax_defs.h" diff --git a/VAX/vax_cis.c b/VAX/vax_cis.c index e77680e4..e75a53b8 100644 --- a/VAX/vax_cis.c +++ b/VAX/vax_cis.c @@ -29,7 +29,7 @@ 16-Oct-08 RMS Fixed bug in ASHP left overflow calc (Word/NibbleLShift) Fixed bug in DIVx (LntDstr calculation) 28-May-08 RMS Inlined physical memory routines - 16-May-06 RMS Fixed bug in length calculation (found by Tim Stark) + 16-May-06 RMS Fixed bug in length calculation (Tim Stark) 03-May-06 RMS Fixed MOVTC, MOVTUC to preserve cc's through page faults Fixed MOVTUC to stop on translated == escape Fixed CVTPL to set registers before destination reg write @@ -38,7 +38,7 @@ Fixed EDITPC EO$BLANK_ZERO count, cc test Fixed EDITPC EO$INSERT to insert fill instead of blank Fixed EDITPC EO$LOAD_PLUS/MINUS to skip character - (all reported by Tim Stark) + (Tim Stark) 12-Apr-04 RMS Cloned from pdp11_cis.c and vax_cpu1.c Zero length decimal strings require either zero bytes (trailing) or one byte diff --git a/VAX/vax_cmode.c b/VAX/vax_cmode.c index 8af75a03..24c7f8ac 100644 --- a/VAX/vax_cmode.c +++ b/VAX/vax_cmode.c @@ -27,7 +27,7 @@ On a subset VAX, this module forces a fault if REI attempts to set PSL. 28-May-08 RMS Inlined physical memory routines - 25-Jan-08 RMS Fixed declaration (from Mark Pizzolato) + 25-Jan-08 RMS Fixed declaration (Mark Pizzolato) 03-May-06 RMS Fixed omission of SXT Fixed order of operand fetching in XOR 24-Aug-04 RMS Cloned from PDP-11 CPU diff --git a/VAX/vax_cpu.c b/VAX/vax_cpu.c index e38f7efa..72ae874a 100644 --- a/VAX/vax_cpu.c +++ b/VAX/vax_cpu.c @@ -36,8 +36,8 @@ Determining a reasonable idle detection pattern does not seem possible for these versions. 13-Sep-11 RMS Fixed XFC, BPT to clear PSL before exception - (found by Camiel Vanderhoeven) - 23-Mar-11 RMS Revised for new idle design (from Mark Pizzolato) + (Camiel Vanderhoeven) + 23-Mar-11 RMS Revised for new idle design (Mark Pizzolato) 05-Jan-11 MP Added Asynch I/O support 24-Apr-10 RMS Added OLDVMS idle timer option Fixed bug in SET CPU IDLE @@ -46,7 +46,7 @@ 13-Aug-07 RMS Fixed bug in read access g-format indexed specifiers 28-Apr-07 RMS Removed clock initialization 29-Oct-06 RMS Added idle support - 22-May-06 RMS Fixed format error in CPU history (found by Peter Schorn) + 22-May-06 RMS Fixed format error in CPU history (Peter Schorn) 10-May-06 RMS Added -kesu switches for virtual addressing modes Fixed bugs in examine virtual Rewrote history function for greater usability @@ -56,32 +56,31 @@ Fixed ACBD/G to test correct operand Fixed access checking on modify-class specifiers Fixed branch displacements in history buffer - (all reported by Tim Stark) + (Tim Stark) 17-Nov-05 RMS Fixed CVTfi with integer overflow to trap if PSW set 13-Nov-05 RMS Fixed breakpoint test with 64b addresses 25-Oct-05 RMS Removed cpu_extmem - 22-Sep-05 RMS Fixed declarations (from Sterling Garwood) + 22-Sep-05 RMS Fixed declarations (Sterling Garwood) 16-Aug-05 RMS Fixed C++ declaration and cast problems 13-Jan-05 RMS Fixed initial state of cpu_extmem 06-Nov-04 RMS Added =n to SHOW HISTORY 30-Sep-04 RMS Added octaword specifier decodes and instructions Moved model-specific routines to system module 02-Sep-04 RMS Fixed bug in EMODD/G, second word of quad dst not probed - 28-Jun-04 RMS Fixed bug in DIVBx, DIVWx (reported by Peter Trimmel) + 28-Jun-04 RMS Fixed bug in DIVBx, DIVWx (Peter Trimmel) 18-Apr-04 RMS Added octaword macros 25-Jan-04 RMS Removed local debug logging support RMS,MP Added extended physical memory support 31-Dec-03 RMS Fixed bug in set_cpu_hist 21-Dec-03 RMS Added autoconfiguration controls - 29-Oct-03 RMS Fixed WriteB declaration (found by Mark Pizzolato) + 29-Oct-03 RMS Fixed WriteB declaration (Mark Pizzolato) 23-Sep-03 RMS Revised instruction history for dynamic sizing 17-May-03 RMS Fixed operand order in EMODx 23-Apr-03 RMS Revised for 32b/64b t_addr 05-Jan-02 RMS Added memory size restore support - 25-Dec-02 RMS Added instruction history (from Mark Pizzolato) + 25-Dec-02 RMS Added instruction history (Mark Pizzolato) 29-Sep-02 RMS Revised to build dib_tab dynamically - 14-Jul-02 RMS Added halt to console, infinite loop detection - (from Mark Pizzolato) + 14-Jul-02 RMS Added halt to console, infinite loop detection (Mark Pizzolato) 02-May-02 RMS Fixed bug in indexed autoincrement register logging 30-Apr-02 RMS Added TODR powerup routine 18-Apr-02 RMS Cleanup ambiguous signed left shifts diff --git a/VAX/vax_cpu1.c b/VAX/vax_cpu1.c index ccd0ae34..6e903e60 100644 --- a/VAX/vax_cpu1.c +++ b/VAX/vax_cpu1.c @@ -23,14 +23,14 @@ used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from Robert M Supnik. - 15-Mar-12 RMS Fixed potential integer overflow in LDPCTX (from Mark Pizzolato) + 15-Mar-12 RMS Fixed potential integer overflow in LDPCTX (Mark Pizzolato) 25-Nov-11 RMS Added VEC_QBUS test in interrupt handler - 23-Mar-11 RMS Revised idle design (from Mark Pizzolato) + 23-Mar-11 RMS Revised idle design (Mark Pizzolato) 28-May-08 RMS Inlined physical memory routines 29-Apr-07 RMS Separated base register access checks for 11/780 10-May-06 RMS Added access check on system PTE for 11/780 Added mbz check in LDPCTX for 11/780 - 22-Sep-06 RMS Fixed declarations (from Sterling Garwood) + 22-Sep-06 RMS Fixed declarations (Sterling Garwood) 30-Sep-04 RMS Added conditionals for full VAX Moved emulation to vax_cis.c Moved model-specific IPRs to system module @@ -38,8 +38,8 @@ Fixed EXTxV, INSV double register PC reference fault 30-Apr-02 RMS Fixed interrupt/exception handler to clear traps 17-Apr-02 RMS Fixed pos > 31 test in bit fields (should be unsigned) - 14-Apr-02 RMS Fixed prv_mode handling for interrupts (found by Tim Stark) - Fixed PROBEx to mask mode to 2b (found by Kevin Handy) + 14-Apr-02 RMS Fixed prv_mode handling for interrupts (Tim Stark) + Fixed PROBEx to mask mode to 2b (Kevin Handy) This module contains the instruction simulators for diff --git a/VAX/vax_fpa.c b/VAX/vax_fpa.c index 77215b97..7b789cb5 100644 --- a/VAX/vax_fpa.c +++ b/VAX/vax_fpa.c @@ -23,9 +23,10 @@ used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from Robert M Supnik. + 23-Mar-12 RMS Fixed missing arguments in 32b floating add (Mark Pizzolato) 15-Sep-11 RMS Fixed integer overflow bug in EMODx Fixed POLYx normalizing before add mask bug - (both from Camiel Vanderhoeven) + (Camiel Vanderhoeven) 28-May-08 RMS Inlined physical memory routines 16-May-06 RMS Fixed bug in 32b floating multiply routine Fixed bug in 64b extended modulus routine @@ -37,8 +38,8 @@ Fixed POLYF, POLYD, POLYG to mask mul reslt to 31b/63b/63b Fixed fp add routine to test for zero via fraction to support "denormal" argument from POLYF, POLYD, POLYG - (all reported by Tim Stark) - 27-Sep-05 RMS Fixed bug in 32b structure definitions (from Jason Stevens) + (Tim Stark) + 27-Sep-05 RMS Fixed bug in 32b structure definitions (Jason Stevens) 30-Sep-04 RMS Comment and formating changes based on vax_octa.c 18-Apr-04 RMS Moved format definitions to vax_defs.h 19-Jun-03 RMS Simplified add algorithm diff --git a/VAX/vax_io.c b/VAX/vax_io.c index d0646c3f..48a2da35 100644 --- a/VAX/vax_io.c +++ b/VAX/vax_io.c @@ -26,7 +26,7 @@ qba Qbus adapter 28-May-08 RMS Inlined physical memory routines - 25-Jan-08 RMS Fixed declarations (from Mark Pizzolato) + 25-Jan-08 RMS Fixed declarations (Mark Pizzolato) 03-Dec-05 RMS Added SHOW QBA VIRT and ex/dep via map 05-Oct-05 RMS Fixed bug in autoconfiguration (missing XU) 25-Jul-05 RMS Revised autoconfiguration algorithm and interface @@ -34,11 +34,11 @@ Moved mem_err, crd_err interrupts here from vax_cpu.c 09-Sep-04 RMS Integrated powerup into RESET (with -p) 05-Sep-04 RMS Added CRD interrupt handling - 28-May-04 RMS Revised I/O dispatching (from John Dundas) + 28-May-04 RMS Revised I/O dispatching (John Dundas) 21-Mar-04 RMS Added RXV21 support 21-Dec-03 RMS Fixed bug in autoconfigure vector assignment; added controls - 21-Nov-03 RMS Added check for interrupt slot conflict (found by Dave Hittner) - 29-Oct-03 RMS Fixed WriteX declaration (found by Mark Pizzolato) + 21-Nov-03 RMS Added check for interrupt slot conflict (Dave Hittner) + 29-Oct-03 RMS Fixed WriteX declaration (Mark Pizzolato) 19-Apr-03 RMS Added optimized byte and word DMA routines 12-Mar-03 RMS Added logical name support 22-Dec-02 RMS Added console halt support diff --git a/VAX/vax_mmu.c b/VAX/vax_mmu.c index 1733d311..177b61e8 100644 --- a/VAX/vax_mmu.c +++ b/VAX/vax_mmu.c @@ -26,7 +26,7 @@ 21-Jul-08 RMS Removed inlining support 28-May-08 RMS Inlined physical memory routines 29-Apr-07 RMS Added address masking for system page table reads - 22-Sep-05 RMS Fixed declarations (from Sterling Garwood) + 22-Sep-05 RMS Fixed declarations (Sterling Garwood) 30-Sep-04 RMS Comment and formating changes 19-Sep-03 RMS Fixed upper/lower case linkage problems on VMS 01-Jun-03 RMS Fixed compilation problem with USE_ADDR64 diff --git a/VAX/vax_octa.c b/VAX/vax_octa.c index b4e0fd3e..efb1a99c 100644 --- a/VAX/vax_octa.c +++ b/VAX/vax_octa.c @@ -27,7 +27,7 @@ 15-Sep-11 RMS Fixed integer overflow bug in EMODH Fixed POLYH normalizing before add mask bug - (both from Camiel Vanderhoeven) + (Camiel Vanderhoeven) 28-May-08 RMS Inlined physical memory routines 10-May-06 RMS Fixed bug in reported VA on faulting cross-page write 03-May-06 RMS Fixed MNEGH to test negated sign, clear C @@ -40,7 +40,7 @@ Fixed fp add routine to test for zero via fraction to support "denormal" argument from POLYH Fixed EMODH to concatenate 15b of 16b extension - (all reported by Tim Stark) + (Tim Stark) 15-Jul-04 RMS Cloned from 32b VAX floating point implementation */ diff --git a/VAX/vax_sys.c b/VAX/vax_sys.c index b9f2b95c..149f67d9 100644 --- a/VAX/vax_sys.c +++ b/VAX/vax_sys.c @@ -26,7 +26,7 @@ 21-Mar-11 RMS Modified string for STOP_BOOT message 19-Nov-08 RMS Moved bad block routine to I/O library 03-Nov-05 RMS Added 780 stop codes - 04-Sep-05 RMS Fixed missing assignment (found by Peter Schorn) + 04-Sep-05 RMS Fixed missing assignment (Peter Schorn) 16-Aug-05 RMS Fixed C++ declaration and cast problems 15-Sep-04 RMS Fixed bugs in character display and parse 30-Sep-04 RMS Fixed bugs in parsing indirect displacement modes diff --git a/VAX/vax_syscm.c b/VAX/vax_syscm.c index edc17edf..40cec63b 100644 --- a/VAX/vax_syscm.c +++ b/VAX/vax_syscm.c @@ -24,8 +24,8 @@ in this Software without prior written authorization from Robert M Supnik. 22-May-10 RMS Fixed t_addr printouts for 64b big-endian systems - (found by Mark Pizzolato) - 12-Nov-06 RMS Fixed operand order in EIS instructions (found by W.F.J. Mueller) + (Mark Pizzolato) + 12-Nov-06 RMS Fixed operand order in EIS instructions (W.F.J. Mueller) 27-Sep-05 RMS Fixed warnings compiling with 64b addresses 15-Sep-04 RMS Cloned from pdp11_sys.c */ diff --git a/VAX/vax_sysdev.c b/VAX/vax_sysdev.c index 7121d109..27eae37c 100644 --- a/VAX/vax_sysdev.c +++ b/VAX/vax_sysdev.c @@ -32,10 +32,10 @@ cso console storage output sysd system devices (SSC miscellany) - 23-Dec-10 RMS Added power clear call to boot routine (from Mark Pizzolato) + 23-Dec-10 RMS Added power clear call to boot routine (Mark Pizzolato) 25-Oct-05 RMS Automated CMCTL extended memory 16-Aug-05 RMS Fixed C++ declaration and cast problems - 10-Mar-05 RMS Fixed bug in timer schedule routine (from Mark Hittinger) + 10-Mar-05 RMS Fixed bug in timer schedule routine (Mark Hittinger) 30-Sep-04 RMS Moved CADR, MSER, CONPC, CONPSL, machine_check, cpu_boot, con_halt here from vax_cpu.c Moved model-specific IPR's here from vax_cpu1.c @@ -46,10 +46,10 @@ Fixed calibration problems interval timer (Mark Pizzolato) 12-May-03 RMS Fixed compilation warnings from VC.Net 23-Apr-03 RMS Revised for 32b/64b t_addr - 19-Aug-02 RMS Removed unused variables (found by David Hittner) + 19-Aug-02 RMS Removed unused variables (David Hittner) Allowed NVR to be attached to file 30-May-02 RMS Widened POS to 32b - 28-Feb-02 RMS Fixed bug, missing end of table (found by Lars Brinkhoff) + 28-Feb-02 RMS Fixed bug, missing end of table (Lars Brinkhoff) */ #include "vax_defs.h" diff --git a/VAX/vax_syslist.c b/VAX/vax_syslist.c index aba7119c..054c5e43 100644 --- a/VAX/vax_syslist.c +++ b/VAX/vax_syslist.c @@ -24,7 +24,7 @@ in this Software without prior written authorization from Robert M Supnik. 17-Oct-06 RMS Re-ordered device list - 17-May-06 RMS Added CR11/CD11 support (from John Dundas) + 17-May-06 RMS Added CR11/CD11 support (John Dundas) 01-Oct-2004 RMS Cloned from vax_sys.c */ diff --git a/makefile b/makefile index 17ab28ee..d349974f 100644 --- a/makefile +++ b/makefile @@ -35,7 +35,8 @@ ifneq (,$(or $(findstring pdp11,$(MAKECMDGOALS)),$(findstring vax,$(MAKECMDGOALS)),$(findstring all,$(MAKECMDGOALS)))) NETWORK_USEFUL = true ifneq (,$(findstring all,$(MAKECMDGOALS))$(word 2,$(MAKECMDGOALS))) - BUILD_MULTIPLE = (s) + BUILD_MULTIPLE = s + BUILD_SINGLE := $(MAKECMDGOALS) $(BUILD_SINGLE) else BUILD_SINGLE := $(MAKECMDGOALS) $(BUILD_SINGLE) endif @@ -43,7 +44,8 @@ else ifeq ($(MAKECMDGOALS),) # default target is all NETWORK_USEFUL = true - BUILD_MULTIPLE = (s) + BUILD_MULTIPLE = s + BUILD_SINGLE := all $(BUILD_SINGLE) endif endif ifeq ($(WIN32),) #*nix Environments (&& cygwin) @@ -63,6 +65,7 @@ ifeq ($(WIN32),) #*nix Environments (&& cygwin) OSNAME = windows-build endif GCC_VERSION = $(shell $(GCC) --version /dev/null | grep GCC | awk '{ print $$3 }') + LTO_EXCLUDE_VERSIONS = PCAPLIB = pcap ifeq (agcc,$(findstring agcc,$(GCC))) # Android target build? OS_CCDEFS = -D_GNU_SOURCE @@ -249,6 +252,7 @@ else GCC = gcc GCC_Path := $(dir $(shell where gcc.exe)) GCC_VERSION = $(word 3,$(shell $(GCC) --version)) + LTO_EXCLUDE_VERSIONS = 4.5.2 ifeq (pthreads,$(shell if exist ..\windows-build\pthreads\Pre-built.2\include\pthread.h echo pthreads)) PTHREADS_CCDEFS = -DUSE_READER_THREAD -DPTW32_STATIC_LIB -I../windows-build/pthreads/Pre-built.2/include ifeq (,$(NOASYNCH)) @@ -298,6 +302,9 @@ else ifneq (3,$(GCC_MAJOR_VERSION)) GCC_OPTIMIZERS = $(shell $(GCC) --help=optimizers) endif + ifneq (,$(findstring $(GCC_VERSION),$(LTO_EXCLUDE_VERSIONS))) + NO_LTO = 1 + endif ifneq (,$(findstring inline-functions,$(GCC_OPTIMIZERS))) CFLAGS_O += -finline-functions endif @@ -316,9 +323,11 @@ else ifneq (,$(findstring strict-overflow,$(GCC_OPTIMIZERS))) CFLAGS_O += -fno-strict-overflow endif - ifneq (,$(findstring lto,$(GCC_OPTIMIZERS))) - CFLAGS_O += -flto -fwhole-program - LDFLAGS_O += -flto -fwhole-program + ifeq (,$(NO_LTO)) + ifneq (,$(findstring lto,$(GCC_OPTIMIZERS))) + CFLAGS_O += -flto -fwhole-program + LDFLAGS_O += -flto -fwhole-program + endif endif BUILD_FEATURES = - compiler optimizations and no debugging support endif diff --git a/scp.c b/scp.c index f61abf70..d9ebd0b6 100644 --- a/scp.c +++ b/scp.c @@ -1,6 +1,6 @@ /* scp.c: simulator control program - Copyright (c) 1993-2011, Robert M Supnik + Copyright (c) 1993-2012, 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,6 +23,7 @@ used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from Robert M Supnik. + 20-Mar-12 MP Fixes to "SHOW SHOW" commands 06-Jan-12 JDB Fixed "SHOW DEVICE" with only one enabled unit (Dave Bryan) 25-Sep-11 MP Added the ability for a simulator built with SIM_ASYNCH_IO to change whether I/O is actually done @@ -1947,8 +1948,8 @@ for (uptr = sim_clock_queue; uptr != NULL; uptr = uptr->next) { fprintf (st, " Step timer"); else if ((dptr = find_dev_from_unit (uptr)) != NULL) { fprintf (st, " %s", sim_dname (dptr)); - if (dptr->numunits > 1) fprintf (st, " unit %d", - (int32) (uptr - dptr->units)); + if (dptr->numunits > 1) + fprintf (st, " unit %d", (int32) (uptr - dptr->units)); } else fprintf (st, " Unknown"); fprintf (st, " at %d\n", accum + uptr->time); @@ -3279,9 +3280,10 @@ t_stat r = 0; t_addr k; t_value pcval; -if (v >= SCPE_BASE) fprintf (st, "\n%s, %s: ", - sim_error_text (v), pc->name); -else fprintf (st, "\n%s, %s: ", sim_stop_messages[v], pc->name); +if (v >= SCPE_BASE) + fprintf (st, "\n%s, %s: ", sim_error_text (v), pc->name); +else + fprintf (st, "\n%s, %s: ", sim_stop_messages[v], pc->name); pcval = get_rval (pc, 0); if (sim_vm_fprint_addr) sim_vm_fprint_addr (st, dptr, (t_addr) pcval); diff --git a/sim_console.c b/sim_console.c index 6b6d8fcb..c9b2ebe0 100644 --- a/sim_console.c +++ b/sim_console.c @@ -1,6 +1,6 @@ /* sim_console.c: simulator console I/O library - Copyright (c) 1993-2011, Robert M Supnik + Copyright (c) 1993-2012, 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,6 +23,7 @@ used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from Robert M Supnik. + 18-Mar-12 RMS Removed unused reference to sim_switches (Dave Bryan) 07-Dec-11 MP Added sim_ttisatty to support reasonable behaviour (i.e. avoid in infinite loop) in the main command input loop when EOF is detected and input is coming from @@ -58,27 +59,26 @@ 22-Nov-05 RMS Added central input/output conversion support 05-Nov-04 RMS Moved SET/SHOW DEBUG under CONSOLE hierarchy 28-Oct-04 JDB Fixed SET CONSOLE to allow comma-separated parameters - 20-Aug-04 RMS Added OS/2 EMX fixes (from Holger Veit) - 14-Jul-04 RMS Revised Windows console code (from Dave Bryan) + 20-Aug-04 RMS Added OS/2 EMX fixes (Holger Veit) + 14-Jul-04 RMS Revised Windows console code (Dave Bryan) 28-May-04 RMS Added SET/SHOW CONSOLE RMS Added break, delete character maps 02-Jan-04 RMS Removed timer routines, added Telnet console routines RMS Moved console logging to OS-independent code - 25-Apr-03 RMS Added long seek support from Mark Pizzolato - Added Unix priority control from Mark Pizzolato + 25-Apr-03 RMS Added long seek support (Mark Pizzolato) + Added Unix priority control (Mark Pizzolato) 24-Sep-02 RMS Removed VT support, added Telnet console support - Added CGI support (from Brian Knittel) - Added MacOS sleep (from Peter Schorn) - 14-Jul-02 RMS Added Windows priority control from Mark Pizzolato - 20-May-02 RMS Added Windows VT support from Fischer Franz - 01-Feb-02 RMS Added VAX fix from Robert Alan Byer - 19-Sep-01 RMS More Mac changes + Added CGI support (Brian Knittel) + Added MacOS sleep (Peter Schorn) + 14-Jul-02 RMS Added Windows priority control (Mark Pizzolato) + 20-May-02 RMS Added Windows VT support (Fischer Franz) + 01-Feb-02 RMS Added VAX fix (Robert Alan Byer) + 19-Sep-01 RMS More MacOS changes 31-Aug-01 RMS Changed int64 to t_int64 for Windoze - 20-Jul-01 RMS Added Macintosh support (from Louis Chretien, Peter Schorn, - and Ben Supnik) + 20-Jul-01 RMS Added Macintosh support (Louis Chretien, Peter Schorn, Ben Supnik) 15-May-01 RMS Added logging support 05-Mar-01 RMS Added clock calibration support - 08-Dec-00 BKR Added OS/2 support (from Bruce Ray) + 08-Dec-00 BKR Added OS/2 support (Bruce Ray) 18-Aug-98 RMS Added BeOS support 13-Oct-97 RMS Added NetBSD terminal support 25-Jan-97 RMS Added POSIX terminal I/O support diff --git a/sim_rev.h b/sim_rev.h index 35abe360..f3fefd3e 100644 --- a/sim_rev.h +++ b/sim_rev.h @@ -38,8 +38,8 @@ patch date module(s) and fix(es) 0 xx-yyy-1 scp.c: - added *nix READLINE support (Mark Pizzolato) - - fixed "SHOW DEVICE" with only one enabled unit (Dave Bryan) - fixed handling of DO with no arguments (Dave Bryan) + - fixed "SHOW DEVICE" with only one enabled unit (Dave Bryan) - clarified some help messages (Mark Pizzolato) - added "SHOW SHOW" and "SHOW SHOW" commands (Mark Pizzolato) - fixed bug in deposit stride for numeric input (John Dundas) @@ -51,8 +51,7 @@ patch date module(s) and fix(es) - major revision (Dave Hittner and Mark Pizzolato) sim_tmxr.c: - - made telnet option negotiation more reliable. - VAX works with PuTTY. (Mark Pizzolato) + - made option negotiation more reliable (Mark Pizzolato) h316_cpu.c: - fixed bugs in MPY, DIV introduced in 3.8-1 (from Theo Engel) @@ -97,14 +96,14 @@ patch date module(s) and fix(es) hp2100_cpu7.c (Dave Bryan): - Corrected "opsize" parameter type in vis_abs - hp2100_defs.h (Dave Bryan): + hp2100_defs.h (Dave Bryan): - Added hp_setsc, hp_showsc functions to support SC modifier - DMA channels renamed from 0,1 to 1,2 to match documentation - Revised I/O signal enum values for concurrent signals - Revised I/O macros for new signal handling - Added DA and DC device select code assignments - hp2100_di.c (Dave Bryan): + hp2100_di.c, hp2100_di.h (Dave Bryan): - Implemented 12821A HP-IB Disc Interface hp2100_di_da.c (Dave Bryan): @@ -112,8 +111,8 @@ patch date module(s) and fix(es) hp2100_dp.c (Dave Bryan): - Added CNTLR_TYPE cast to dp_settype - - hp2100_ds.c (Dave Bryan): + + hp2100_ds.c (Dave Bryan): - Rewritten to use the MAC/ICD disc controller library - ioIOO now notifies controller service of parameter output - Corrected SRQ generation and FIFO under/overrun detection @@ -138,25 +137,25 @@ patch date module(s) and fix(es) - Revised for new multi-card paradigm hp2100_lps.c (Dave Bryan): - - Revised detection of CLC at last DMA cycle + - Revised detection of CLC at last DMA cycle - Corrected 12566B (DIAG mode) jumper settings hp2100_ms.c (Dave Bryan): - Added CNTLR_TYPE cast to ms_settype - + hp2100_mt.c (Dave Bryan): - Fixed command scanning error in mtcio ioIOO handler hp2100_stddev.c (Dave Bryan): - Add TBG as a logical name for the CLK device - + hp2100_sys.c (Dave Bryan): - - Add TBG as a logical name for the CLK device + - Deprecated DEVNO in favor of SC - Added hp_setsc, hp_showsc functions to support SC modifier - Added DA and dummy DC devices - DMA channels renamed from 0,1 to 1,2 to match documentation - Changed DIB access for revised signal model - + hp_disclib.c, hp_disclib.h (Dave Bryan) - Created MAC/ICD disc controller library @@ -164,6 +163,9 @@ patch date module(s) and fix(es) - fixed read stacker operation in column binary mode - fixed punch stacker operation (Van Snyder) + id_pas.c: + - fixed TT_GET_MODE test to use TTUF_MODE_x (Michael Bloom) + 1401_cpu.c: - reverted multiple tape indicator implementation - fixed EOT indicator test not to clear indicator (Van Snyder) @@ -176,12 +178,21 @@ patch date module(s) and fix(es) - fixed backspace over tapemark not to set EOR (Van Snyder) - added no rewind option (Van Snyder) + pdp1_cpu.c: + - fixed misuse of & instead of && in Ea_ch (Michael Bloom) + + pdp1_stddev.c: + - fixed unitialized variable in tty output service (Michael Bloom) + pdp11_defs.h: - fixed priority of PIRQ vs IO; added INT_INTERNALn pdp11_io.c: - fixed Qbus interrupts to treat all IO devices as BR4 + ppd11_rf.c + - fixed bug in updating mem addr extension (Peter Schorn) + pdp11_rk.c: - fixed bug in read header (Walter F Mueller) @@ -191,7 +202,7 @@ patch date module(s) and fix(es) pdp11_rq.c: - added RD32 support - pdp11_tq.c: + pdp11_tq.c: (Mark Pizzolato) - set UNIT_SXC flag when a tape mark is encountered during forward motion read operations - fixed logic which clears UNIT_SXC to check command modifier @@ -201,51 +212,52 @@ patch date module(s) and fix(es) - fixed debug output of tape file positions when they are 64b - added more debug output after positioning operations - added textual display of the command being performed - (all of the above from Mark Pizzolato) - fixed comments about register addresses pdp11_ts.c: - - fixed t_addr printouts for 64b big-endian systems - (from Mark Pizzolato) + - fixed t_addr printouts for 64b big-endian systems (Mark Pizzolato) - pdp8_fpp.c: - - many bug fixes (all from Rick Murphy); now functional + pdp8_fpp.c: (Rick Murphy) + - many bug fixes; now functional pdp8_sys.c: - added link to FPP pdp8_td.c: - - fixed SDLC to clear AC (from Dave Gesswein) + - fixed SDLC to clear AC (Dave Gesswein) + + sds_mt.c: + - fixed bug in scan function decode (Peter Schorn) vax_cpu.c: - - revised idle design (from Mark Pizzolato) + - revised idle design Mark Pizzolato) - fixed bug in SET CPU IDLE - fixed failure to clear PSL in BPT, XFC vax_cpu1.c: - - revised idle design (from Mark Pizzolato) + - revised idle design Mark Pizzolato) - added VEC_QMODE test in interrupt handler - vax_fpa.c - - fixed integer overflow bug in EMODx (from Camiel Vanderhoeven) - - fixed POLYx normalizing before add mask bug (from Camiel Vanderhoeven) + vax_fpa.c: + - fixed integer overflow bug in EMODx (Camiel Vanderhoeven) + - fixed POLYx normalizing before add mask bug (Camiel Vanderhoeven) + - fixed missing arguments in 32b floating add (Mark Pizzolato) - vax_octa.c - - fixed integer overflow bug in EMODH (from Camiel Vanderhoeven) - - fixed POLYH normalizing before add mask bug (from Camiel Vanderhoeven) + vax_octa.c (Camiel Vanderhoeven) + - fixed integer overflow bug in EMODH + - fixed POLYH normalizing before add mask bug vax_syscm.c: - - fixed t_addr printouts for 64b big-endian systems - (from Mark Pizzolato) + - fixed t_addr printouts for 64b big-endian systems (Mark Pizzolato) vax_sysdev.c: - - added power clear call to boot routine (from Mark Pizzolato) + - added power clear call to boot routine (Mark Pizzolato) vax780_sbi.c: - - added AUTORESTART switch support (from Mark Pizzolato) + - added AUTORESTART switch support (Mark Pizzolato) vax780_stddev.c - - added REBOOT support (from Mark Pizzolato) + - added REBOOT support (Mark Pizzolato) vaxmod_def.h - moved all Qbus devices to BR4; deleted RP definitions diff --git a/swtp/swtp_defs.h b/swtp/swtp_defs.h index cf9041ad..42bb2e3a 100644 --- a/swtp/swtp_defs.h +++ b/swtp/swtp_defs.h @@ -27,7 +27,7 @@ Copyright (c) 2005, 2007, William Beech */ -#include "sim_defs.h" // simulator defs +#include "sim_defs.h" // simulator defs /* Memory */