Merge with v3.9-0-rc2 first pass
This commit is contained in:
parent
6d11b3bd25
commit
6e813b8364
104 changed files with 415 additions and 348 deletions
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
*/
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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:
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
*/
|
||||
|
|
|
@ -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];
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
*/
|
||||
|
||||
|
|
|
@ -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 <math.h>
|
||||
|
||||
#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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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"),
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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:
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
*/
|
||||
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
*/
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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<rs>, 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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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? */
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"),
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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 <ctype.h>
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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 */
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
*/
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
*/
|
||||
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
On a subset VAX, this module forces a fault if REI attempts to set PSL<cm>.
|
||||
|
||||
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
|
||||
|
|
|
@ -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<tp> 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<iv> 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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
*/
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
*/
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
*/
|
||||
|
||||
|
|
13
makefile
13
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,10 +323,12 @@ else
|
|||
ifneq (,$(findstring strict-overflow,$(GCC_OPTIMIZERS)))
|
||||
CFLAGS_O += -fno-strict-overflow
|
||||
endif
|
||||
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
|
||||
ifneq (3,$(GCC_MAJOR_VERSION))
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue