1 /* sim_rev.h: simulator revisions and current rev level
3 Copyright (c) 1993-2007, Robert M Supnik
5 Permission is hereby granted, free of charge, to any person obtaining a
6 copy of this software and associated documentation files (the "Software"),
7 to deal in the Software without restriction, including without limitation
8 the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 and/or sell copies of the Software, and to permit persons to whom the
10 Software is furnished to do so, subject to the following conditions:
12 The above copyright notice and this permission notice shall be included in
13 all copies or substantial portions of the Software.
15 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
18 ROBERT M SUPNIK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19 IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22 Except as contained in this notice, the name of Robert M Supnik shall not be
23 used in advertising or otherwise to promote the sale, use or other dealings
24 in this Software without prior written authorization from Robert M Supnik.
35 /* V3.8 revision history
37 patch date module(s) and fix(es)
40 - fixed bug in local/global register search (found by Mark Pizzolato)
41 - fixed bug in restore of RO units (from Mark Pizzolato)
42 - added SET/SHO/NO BR with default argument (from Dave Bryan)
45 - worked around Telnet negotiation problem with QCTerm (from Dave Bryan)
47 gri_defs.h, gri_cpu.c, gri_sys.c:
48 - added GRI-99 support
50 hp2100_baci.c (from Dave Bryan):
51 - Implemented 12966A Buffered Asynchronous Communications Interface simulator
53 hp2100_cpu.c (from Dave Bryan):
54 - Memory ex/dep and bkpt type default to current map mode
55 - Added SET CPU DEBUG and OS/VMA flags, enabled OS/VMA
56 - Corrected MP W5 (JSB) jumper action, SET/SHOW reversal,
57 mp_mevff clear on interrupt with I/O instruction in trap cell
58 - Removed DBI support from 1000-M (was temporary for RTE-6/VM)
59 - Enabled EMA and VIS, added EMA, VIS, and SIGNAL debug flags
60 - Enabled SIGNAL instructions, SIG debug flag
61 - Fixed single stepping through interrupts
63 hp2100_cpu0.c (from Dave Bryan and Holger Veit):
64 - Removed and implemented "cpu_rte_vma" and "cpu_rte_os"
65 - Removed and implemented "cpu_vis" and "cpu_signal"
66 - Removed and implemented "cpu_rte_ema"
68 hp2100_cpu1.c (from Dave Bryan):
69 - Added fprint_ops, fprint_regs for debug printouts
70 - Enabled DIAG as NOP on 1000 F-Series
71 - Fixed VIS and SIGNAL to depend on the FPP and HAVE_INT64
73 hp2100_cpu3.c (from Dave Bryan):
74 - Fixed unsigned divide bug in .DDI
75 - Fixed unsigned multiply bug in .DMP
76 - Added implementation of DBI self-test
78 hp2100_cpu4.c (from Dave Bryan):
79 - Fixed B register return bug in /CMRT
81 hp2100_cpu5.c (from Holger Veit):
82 - Implemented RTE-6/VM Virtual Memory Area firmware
83 - Implemented RTE-IV Extended Memory Area firmware
85 hp2100_cpu6.c (from Dave Bryan):
86 - Implemented RTE-6/VM OS accelerator firmware
88 hp2100_cpu7.c (from Holger Veit):
89 - Implemented Vector Instruction Set and SIGNAL/1000 firmware
91 hp2100_ds.c (from Dave Bryan):
92 - Corrected and verified ioCRS action
93 - Corrected DPTR register definition from FLDATA to DRDATA
95 hp2100_fp.c (from Mark Pizzolato)
96 - Corrected fp_unpack mantissa high-word return
98 hp2100_fp1.c (from Dave Bryan):
99 - Reworked "complement" to avoid inlining bug in gcc-4.x
100 - Fixed uninitialized return in fp_accum when setting
102 hp2100_mux.c (from Dave Bryan):
103 - Sync mux poll with console poll for idle compatibility
105 hp2100_stddev.c (from Dave Bryan):
106 - Fixed PTR trailing null counter for tape re-read
107 - Added IPTICK register to CLK to display CPU instr/tick
108 - Corrected and verified ioCRS actions
109 - Changed TTY console poll to 10 msec. real time
110 - Synchronized CLK with TTY if set for 10 msec.
111 - Added UNIT_IDLE to TTY and CLK
112 - Removed redundant control char handling definitions
113 - Changed TTY output wait from 100 to 200 for MSU BASIC
115 hp2100_sys.c (from Dave Bryan):
117 - Added RTE OS/VMA/EMA mnemonics
118 - Changed fprint_sym to handle step with irq pending
120 hp2100_cpu.h (from Dave Bryan):
121 - Added calc_defer() prototype
122 - Added extern sim_deb, cpu_dev, DEB flags for debug printouts
123 - Added extern intaddr, mp_viol, mp_mevff, calc_int, dev_ctl,
124 ReadIO, WriteIO for RTE-6/VM microcode support
126 hp2100_cpu1.h (from Dave Bryan):
127 - Corrected OP_AFF to OP_AAFF for SIGNAL/1000
128 - Removed unused operand patterns
129 - Added fprint_ops, fprint_regs for debug printouts
130 - Revised OP_KKKAKK operand profile to OP_CCCACC for $LOC
132 hp2100_defs.h (from Dave Bryan):
134 - Added 16/32-bit unsigned-to-signed conversions
135 - Changed TMR_MUX to TMR_POLL for idle support
136 - Added POLLMODE, sync_poll() declaration
137 - Added I_MRG, I_ISZ, I_IOG, I_STF, and I_SFS instruction masks
138 - Added I_MRG_I, I_JSB, I_JSB_I, and I_JMP instruction masks
140 nova_defs.h (from Bruce Ray):
141 - added support for third-party 64KW memory
143 nova_clk.c (from Bruce Ray):
144 - renamed to RTC, to match DG literature
146 nova_cpu.c (from Bruce Ray):
147 - added support for third-party 64KW memory
148 - added Nova 3 "secret" instructions
149 - added CPU history support
151 nova_dkp.c (from Bruce Ray):
152 - renamed to DKP, to match DG literature
153 - fixed numerous bugs in both documented and undocumented behavior
154 - changed bootstrap code to DG official sequence
156 nova_dsk.c (from Bruce Ray):
157 - renamed to DSK, to match DG literature
158 - added support for undocumented behavior
159 - changed bootstrap code to DG official sequence
161 nova_mta.c (from Bruce Ray):
162 - renamed to MTA, to match DG literature
163 - changed bootstrap code to DG official sequence
165 nova_plt.c, nova_pt.c (from Bruce Ray):
166 - added 7B/8B support
168 nova_sys.c (from Bruce Ray):
169 - fixed mistaken instruction mnemonics
171 pdp11_cpu.c, pdp11_io.c, pdp11_rh.c:
172 - fixed DMA memory address limit test (found by John Dundas)
173 - fixed MMR0 treatment in RESET (found by Walter Mueller)
175 pdp11_cpumod.h, pdp11_cpumod.c:
176 - fixed write behavior of 11/70 MBRK, LOSIZE, HISIZE (found by Walter Mueller)
177 - added support to set default state of KDJ11B,E clock control register
180 - added support for DC11
183 - added KE, KG, RC, DC support
184 - renamed DL11 devices
187 - renamed devices to DLI/DLO, to match DC11
188 - added modem control
191 - added autoconfigure support for DC11
194 - added support for KE11A
196 pdp11_kg.c (from John Dundas):
197 - added support for KG11A
199 pdp11_rc.c (from John Dundas):
200 - added support for RC11
203 - modified to allow -A, -B use with 8b devices
204 - added KE, KG, RC, DC support
205 - renamed DL11 devices
207 vax_cmode.c, vax_io.c, vax780_uba.c:
208 - fixed declarations (from Mark Pizzolato)
211 /* V3.7 revision history
214 - fixed bug in SET THROTTLE command
217 - fixed non-portable usage in SHOW HISTORY routine
220 - forward op at BOT skips initial file gap
223 - forward op at BOT skips initial file gap
224 - fixed handling of BEOT
227 - fixed bug in read access g-format indexed specifiers
229 2 12-Jul-07 sim_ether.c (from Dave Hittner):
230 - fixed non-ethernet device removal loop (from Naoki Hamada)
231 - added dynamic loading of wpcap.dll;
232 - corrected exceed max index bug in ethX lookup
233 - corrected failure to look up ethernet device names in
234 the registry on Windows XP x64
237 - fixed idle timer event selection algorithm
240 - fixed loss of last print line (from Theo Engel)
243 - fixed bug in write without stop (from Theo Engel)
246 - fixed bug in clock increment (from Theo Engel)
249 - added recognition of overlapped operation modifiers
250 - remove restriction on load-mode binary tape operations
253 - fixed read tape mark operation (found by Van Snyder)
254 - remove restriction on load-mode binary tape operations
257 - fixed typo in SBS clear (from Norm Lastovica)
259 pdp11_rh.c, pdp11_rp.c, pdp11_tu.c:
260 - CS1 DVA is in the device, not the MBA
263 - fixed typo (from Norm Lastovica)
266 - revised idle detector
269 - modified sim_instr invocation to call sim_rtcn_init_all
270 - fixed bug in get_sim_opt (reported by Don North)
271 - fixed bug in RESTORE with changed memory size
272 - added global 'RESTORE in progress' flag
273 - fixed breakpoint actions in DO command file processing
276 all CPU's with clocks:
277 - removed clock initialization (now done in SCP)
279 hp2100_cpu.c (from Dave Bryan):
280 - EDT passes input flag and DMA channel in dat parameter
282 hp2100_ipl.c (from Dave Bryan):
283 - IPLI EDT delays DMA completion interrupt for TSB
285 hp2100_mux.c (from Dave Bryan):
286 - corrected "mux_sta" size from 16 to 21 elements
287 - fixed "muxc_reset" to clear lines 16-20
288 - fixed control card OTx to set current channel number
289 - fixed to set "muxl_ibuf" in response to a transmit interrupt
290 - changed "mux_xbuf", "mux_rbuf" declarations from 8 to 16 bits
291 - fixed to set "mux_rchp" when a line break is received
292 - fixed incorrect "odd_par" table values
293 - reversed test in "RCV_PAR" to return "LIL_PAR" on odd parity
294 - rixed mux reset (ioCRS) to clear port parameters
295 - fixed to use PUT_DCH instead of PUT_CCH for data channel status
296 - added DIAG/TERM modifiers to implement diagnostic mode
299 - changed memory size routine to work with RESTORE
302 - NOP and DCLR (at least) do not check drive type
303 - MR2 and MR3 only updated on NOP
305 pdp10_tu.c, pdp11_tu.c:
306 - TMK sets FCE only on read (found by Naoki Hamada)
309 - added missing FC_RMAL command
310 - cleared multicast on write
312 vax_moddefs.h, vax_cpu1.c:
313 - separated PxBR and SBR mbz checks
316 - separated PxBR and SBR mbz checks
317 - modified mbz checks to reflect 780 microcode patches
318 (found by Naoki Hamada)
321 - added address masking to all SBR-based memory reads
324 - implemented throttle commands
325 - added -e to control error processing in DO command files
329 - fixed handling of non-printable characters in KSR mode
332 - fixed bug in reverse operations for P7B-format tapes
333 - fixed bug in reverse operations across erase gaps
336 - added throttle support
337 - added idle support (based on work by Mark Pizzolato)
339 gri_stddev.c, h316_stddev.c, pdp18b_tt1.c
340 - fixed handling of non-printable characters in KSR mode
342 hp2100_cpu.c, hp2100_cpu0.c, hp2100_cpu1.c, hp2100_cpu2.c,
343 hp2100_cpu3.c, hp2100_cpu4.c (from Dave Bryan):
344 - reorganized CPU modules for easier addition of new instructions
345 - added Double Integer instructions, 1000-F CPU, 2114 and
346 2115 CPUs, 12K and 24K memory sizes, 12607B and 12578A DMA
347 controllers, and 21xx binary loader protection
348 - fixed DMS self-test instruction execution on 1000-M
349 - fixed indirect interrupt holdoff logic
352 - fixed REQUEST STATUS to clear status-1 (from Dave Bryan)
355 - Added Floating Point Processor (from Dave Bryan)
358 - fixed diag-mode CLC response
361 - fixed new bug in halt IO wait loop
362 - added IFT, EFT expanded core test instructions
364 id16_cpu.c, id32_cpu.c:
365 - removed separate multiplexor clock
369 - synced multiplexor poll to real-time clock
372 - fixed handling of non-printable characters in KSR mode
373 - synced keyboard poll to real-time clock
376 - changed line-time clock to be free-running
379 - added 16-channel sequence break system (API) support
380 - added PDP-1D support
389 - separated TTI, TTO for API support
392 - added PDP-1D, 16-channel SBS, clock, DCS support
393 - fixed bugs in character input, block loader
398 pdp10_defs.h, pdp10_sys.c:
401 pdp10_fe.c, pdp10_tim.c:
402 - synced keyboard poll to real-time clock
405 - revised for PDP-10 compatibility (CD11 only)
409 - fixed bug in ASH -32 C value
412 - fixed unit mask (found by John Dundas)
414 pdp11_stddev.c, vax_stddev.c, vax780_stddev.c:
415 - synced keyboard poll to real-time clock
416 - added clock coscheduling support
422 - synced service poll to real-time clock
423 - changed device to be off by default
425 pdp11_dz.c, pdp11_xq.c, pdp11_xu.c:
426 - synced service poll to real-time clock
429 - fixed operand order in EIS instructions (found by W.F.J. Mueller)
433 - fixed incorrect value of PC on instruction fetch mem mmgt error
434 - fixed PDP-15 handling of mem mmgt traps (sets API 3)
435 - fixed PDP-15 handling of CAL API 4 (sets only if 0-3 inactive)
436 - fixed PDP-15 CAF to clear memory management mode register
437 - fixed boundary test in KT15/XVM (reported by Andrew Warkentin)
438 - added XVM RDCLK instruction
439 - added idle support and infinite loop detection
442 - fixed bug, DSCD does not clear function register
445 - added PDP-15 program-selectable duplex handling instruction
446 - fixed PDP-15 handling of reader out-of-tape
447 - fixed handling of non-printable characters in KSR mode
448 - added XVM RDCLK instruction
449 - changed real-time clock to be free running
450 - synced keyboard poll to real-time clock
453 - fixed handling of non-printable characters in KSR mode
456 - added XVM RDCLK instruction
459 - fixed SC value after DVI overflow (found by Don North)
460 - added idle support and infinite loop detection
466 - changed real-time clock to be free running
470 - added ability to disambiguate overlapping IOT definitions
473 - fixed handling of non-printable characters in KSR mode
474 - synced keyboard poll to real-time clock
476 vax_cpu.c, vax_cpu1.c:
480 - fixed operand order in EIS instructions (found by W.F.J. Mueller)
483 /* V3.6 revision history
485 1 25-Jul-06 sim_console.c:
486 - implemented SET/SHOW PCHAR
489 - fixed conflict in ATTACH switches
491 hp2100_ms.c (from Dave Bryan):
492 - added CAPACITY as alternate for REEL
493 - fixed EOT test for unlimited reel size
495 i1620_cd.c (from Tom McBride):
496 - fixed card reader fgets call
497 - fixed card reader boot sequence
500 - fixed problem with 80 column full cards
503 - fixed bug in halt IO wait loop
506 - added binary loader (courtesy of Dave Pitt)
509 - fixed bugs in MUS and DIV
512 - added interrupt tests to character instructions
513 - added 11/44 stack probe test to MOVCx (only)
522 - added UC support to TTI, TTO
525 - fixed RESET to clear AC, L, and MQ
528 - fixed checksum calculation bug for Type 550
531 - fixed bugs in left shift, multiply
534 - fixed Baudot letters/figures inversion for PDP-4
535 - fixed letters/figures tracking for PDP-4
536 - fixed PDP-4/PDP-7 default terminal to be local echo
539 - added Fiodec, Baudot display
540 - generalized LOAD to handle HRI, RIM, and BIN files
543 - fixed bug in DETACH routine
546 - revised save file format to save options, unit capacity
548 sim_tape.c, sim_tape.h:
549 - added support for finite reel size
550 - fixed bug in P7B write record
553 - added support for finite reel size
555 h316_cpu.c: fixed bugs in LLL, LRL (found by Theo Engel)
557 h316_lp.c: fixed bug in blanks backscanning (found by Theo Engel)
559 h316_stddev.c: fixed bugs in punch state handling (found by Theo Engel)
561 i1401_cpu.c: fixed bug in divide (reported by Van Snyder)
563 i16_cpu.c: fixed bug in DH (found by Mark Hittinger)
566 - fixed bug in DH (found by Mark Hittinger)
567 - added support for 8 register banks in 8/32
571 id_io.c: fixed bug, GO preserves EXA and SSTA (found by Davis Johnson)
574 - fixed WD/WH handling (found by Davis Johnson)
575 - fixed bug, nop command should be ignored (found by Davis Johnson)
577 nova_cpu.c: fixed bug in DIVS (found by Mark Hittinger)
579 pdp11_cis.c: (all reported by John Dundas)
580 - fixed bug in decode table
582 - fixed bug in write decimal string with mmgt enabled
583 - fixed bug in 0-length strings in multiply/divide
585 pdp11_cpu.c: fixed order of operand fetching in XOR for SDSD models
587 pdp11_cr.c: added CR11/CD11 support
590 - fixed READ to set extended data bits in TCST (found by Alan Frisbie)
592 vax780_fload.c: added FLOAD command
594 vax780_sbi.c: fixed writes to ACCS
596 vax780_stddev.c: revised timer logic for EVKAE (reported by Tim Stark)
598 vax_cis.c: (all reported by Tim Stark)
599 - fixed MOVTC, MOVTUC to preserve cc's through page faults
600 - fixed MOVTUC to stop on translated == escape
601 - fixed CVTPL to set registers before destination reg write
602 - fixed CVTPL to set correct cc bit on overflow
603 - fixed EDITPC to preserve cc's through page faults
604 - fixed EDITPC EO$BLANK_ZERO count, cc test
605 - fixed EDITPC EO$INSERT to insert fill instead of blank
606 - fixed EDITPC EO$LOAD_PLUS/MINUS to skip character
609 - added KESU capability to virtual examine
610 - fixed bugs in virtual examine
611 - rewrote CPU history function for improved usability
612 (bugs below reported by Tim Stark)
613 - fixed fault cleanup to clear PSL<tp>
614 - fixed ADAWI r-mode to preserve dst<31:16>
615 - fixed ACBD/G to test correct operand
616 - fixed access checking on modify-class specifiers
617 - fixed branch address calculation in CPU history
618 - fixed bug in reported VA on faulting cross-page write
620 vax_cpu1.c: (all reported by Tim Stark)
621 - added access check on system PTE for 11/780
622 - added mbz check in LDPCTX for 11/780
624 vax_cmode.c: (all reported by Tim Stark)
625 - fixed omission of SXT
626 - fixed order of operand fetching in XOR
628 vax_fpa.c: (all reported by Tim Stark)
629 - fixed POLYD, POLYG to clear R4, R5
630 - fixed POLYD, POLYG to set R3 correctly
631 - fixed POLYD, POLYG to not exit prematurely if arg = 0
632 - fixed POLYD, POLYG to do full 64b multiply
633 - fixed POLYF, POLYD, POLYG to remove truncation on add
634 - fixed POLYF, POLYD, POLYG to mask mul reslt to 31b/63b/63b
635 - fixed fp add routine to test for zero via fraction
636 to support "denormal" argument from POLYF, POLYD, POLYG
637 - fixed bug in 32b floating multiply routine
638 - fixed bug in 64b extended modulus routine
641 - added access check on system PTE for 11/780
643 vax_octa.c: (all reported by Tim Stark)
644 - fixed MNEGH to test negated sign, clear C
645 - fixed carry propagation in qp_inc, qp_neg, qp_add
646 - fixed pack routines to test for zero via fraction
647 - fixed ACBH to set cc's on result
648 - fixed POLYH to set R3 correctly
649 - fixed POLYH to not exit prematurely if arg = 0
650 - fixed POLYH to mask mul reslt to 127b
651 - fixed fp add routine to test for zero via fraction
652 to support "denormal" argument from POLYH
653 - fixed EMODH to concatenate 15b of 16b extension
654 - fixed bug in reported VA on faulting cross-page write
657 /* V3.5 revision history
659 patch date module(s) and fix(es)
662 - added breakpoint spaces
663 - added REG_FIT support
665 sim_console.c: added ASCII character processing routines
667 sim_tape.c, sim_tape.h:
668 - added write support for P7B format
669 - fixed bug in write forward (found by Dave Bryan)
671 h316_stddev.c, hp2100_stddev.c, hp2100_mux.c, id_tt.c,
672 id_ttp.c, id_pas.c, pdp8_tt.c, pdp8_ttx.c, pdp11_stddev.c,
673 pdp11_dz.c, pdp18b_stddev.c, pdp18b_tt1.c, vax_stddev,
675 - revised to support new character handling routines
677 pdp10_rp.c: fixed DCLR not to clear disk address
679 pdp11_hk.c: fixed overlapped seek interaction with NOP, etc
681 pdp11_rh.c: added enable/disable routine
683 pdp11_rq.c, pdp11_tm.c, pdp11_tq.c, pdp11_ts.c
684 - widened address display to 64b when USE_ADDR64
687 - fixed DCLR not to clear disk address
688 - fixed device enable/disable logic to include Massbus adapter
689 - widened address display to 64b when USE_ADDR64
692 - fixed device enable/disable logic to include Massbus adapter
693 - widened address display to 64b when USE_ADDR64
694 - changed default adapter to TM03 (for VMS)
696 pdp8_df.c, pdp8_dt.c, pdp8_rf.c:
697 - fixed unaligned access bug (found by Doug Carman)
699 pdp8_rl.c: fixed IOT 61 decoding bug (found by David Gesswein)
702 - fixed breakpoint detection when USE_ADDR64 option is active
703 - fixed CVTfi to trap on integer overflow if PSW<iv> set
705 1 15-Oct-05 All CPU's, other sources: fixed declaration inconsistencies
706 (from Sterling Garwood)
708 i1401_cpu.c: added control for old/new character encodings
710 i1401_cd.c, i1401_lpt.c, i1401_tty.c:
711 - changed character encodings to be consistent with 7094
712 - changed column binary format to be consistent with 7094
713 - added choice of business or Fortran set for output encoding
715 i1401_sys.c: changed WM character to ` under new encodings
717 i1620_cd.c, i1620_lpt.c, i1620_tty.c:
718 - changed character encodings to be consistent with 7094
720 pdp10_cpu.c: changed MOVNI to eliminate gcc warning
722 pdp11_io.c: fixed bug in autoconfiguration (missing XU)
724 vax_io.c: fixed bug in autoconfiguration (missing XU)
726 vax_fpa.c: fixed bug in 32b structure definitions (from Jason Stevens)
728 0 1-Sep-05 Note: most source modules have been edited to improve
729 readability and to fix declaration and cast problems in C++
731 all instruction histories: fixed reversed arguments to calloc
733 scp.c: revised to trim trailing spaces on file inputs
735 sim_sock.c: fixed SIGPIPE error on Unix
737 sim_ether.c: added Windows user-defined adapter names (from Timothe Litt)
739 sim_tape.c: fixed misallocation of TPC map array
741 sim_tmxr.c: added support for SET <unit> DISCONNECT
743 hp2100_mux.c: added SET MUXLn DISCONNECT
746 - fixed SSB-SSG clearing on RESET (reported by Ralph Reinke)
747 - removed error stops in MCE
749 i1401_cd.c: fixed read, punch to ignore modifier on 1, 4 char inst
750 (reported by Van Snyder)
753 - fixed bug in SHOW CONN/STATS
754 - added SET PASLn DISCONNECT
756 pdp10_ksio.c: revised for new autoconfiguration interface
758 pdp11_cpu.c: replaced WAIT clock queue check with API call
760 pdp11_cpumod.c: added additional 11/60 registers
762 pdp11_io.c: revised autoconfiguration algorithm and interface
764 pdp11_dz.c: revised for new autoconfiguration interface
767 - revised for new autoconfiguration interface
768 - fixed bug in vector display routine
770 pdp11_xu.c: fixed runt packet processing (found by Tim Chapman)
772 pdp18b_cpu.c, pdp18b_sys.c:
773 - removed spurious AAS instruction
776 - fixed bug in SHOW CONN/STATS
777 - fixed bug in SET LOG/NOLOG
778 - added SET TTOXn DISCONNECT
781 - fixed bug in SHOW CONN/STATS
782 - fixed bug in SET LOG/NOLOG
783 - added SET TTOXn DISCONNECT
786 - fixed bug in SHOW CONN/STATS
787 - added SET MUXLn DISCONNECT
789 vaxmod_defs.h: added QDSS support
791 vax_io.c: revised autoconfiguration algorithm and interface
793 /* V3.4 revision history
797 - revised syntax for SET DEBUG (from Dave Bryan)
798 - revised interpretation of fprint_sym, fparse_sym returns
799 - moved DETACH sanity tests into detach_unit
801 sim_sock.h and sim_sock.c:
802 - added test for WSAEINPROGRESS (from Tim Riker)
804 many: revised detach routines to test for attached state
806 hp2100_cpu.c: reorganized CPU options (from Dave Bryan)
808 hp2100_cpu1.c: reorganized EIG routines (from Dave Bryan)
810 hp2100_fp1.c: added FFP support (from Dave Bryan)
813 - fixed bug in show history routine (from Mark Hittinger)
814 - revised examine/deposit to do words rather than bytes
817 - fixed bug in initial memory allocation
818 - fixed bug in show history routine (from Mark Hittinger)
819 - revised examine/deposit to do words rather than bytes
821 id16_sys.c, id32_sys:
822 - revised examine/deposit to do words rather than bytes
825 - fixed bug, ERASE and WREOF should not clear done (reported
827 - fixed error reporting
829 pdp11_tu.c: fixed error reporting
831 /* V3.3 revision history
833 2 08-Mar-05 scp.c: added ASSERT command (from Dave Bryan)
835 h316_defs.h: fixed IORETURN macro
837 h316_mt.c: fixed error reporting from OCP (found by Philipp Hachtmann)
839 h316_stddev.c: fixed bug in OCP '0001 (found by Philipp Hachtmann)
841 hp2100_cpu.c: split out EAU and MAC instructions
843 hp2100_cpu1.c: (from Dave Bryan)
844 - fixed missing MPCK on JRS target
845 - removed EXECUTE instruction (is NOP in actual microcode)
847 hp2100_fp: (from Dave Bryan)
848 - fixed missing negative overflow renorm in StoreFP
850 i1401_lp.c: fixed bug in write_line (reported by Van Snyder)
852 id32_cpu.c: fixed branches to mask new PC (from Greg Johnson)
854 pdp11_cpu.c: fixed bugs in RESET for 11/70 (reported by Tim Chapman)
857 - fixed bug in SHOW MODEL (from Sergey Okhapkin)
858 - made SYSID variable for 11/70 (from Tim Chapman)
859 - added MBRK write case for 11/70 (from Tim Chapman)
861 pdp11_rq: added RA60, RA71, RA81 disks
863 pdp11_ry: fixed bug in boot code (reported by Graham Toal)
865 vax_cpu.c: fixed initial state of cpu_extmem
867 1 05-Jan-05 h316_cpu.c: fixed bug in DIV
870 - fixed bug in SKS '104 (reported by Philipp Hachtmann)
871 - fixed bug in SKS '504
872 - adder reader/punch ASCII file support
873 - added Teletype reader/punch support
875 h316_dp.c: fixed bug in skip on !seeking
877 h316_mt.c: fixed bug in DMA/DMC support
879 h316_lp.c: fixed bug in DMA/DMC support
882 - fixed DMA reset to clear alternate CTL flop (from Dave Bryan)
883 - fixed DMA reset to not clear control words (from Dave Bryan)
884 - fixed SBS, CBS, TBS to do virtual reads
885 - separated A/B from M[0/1], for DMA IO (from Dave Bryan)
886 - added SET CPU 21MX-M, 21MX-E (from Dave Brian)
887 - disabled TIMER/EXECUTE/DIAG instructions for 21MX-M (from Dave Bryan)
888 - added post-processor to maintain T/M consistency (from Dave Bryan)
890 hp2100_ds.c: first release
892 hp2100_lps.c (all changes from Dave Bryan)
893 - added restart when set online, etc.
894 - fixed col count for non-printing chars
896 hp2100_lpt.c (all changes from Dave Bryan)
897 - added restart when set online, etc.
899 hp2100_sys.c (all changes from Dave Bryan):
900 - added STOP_OFFLINE, STOP_PWROFF messages
902 i1401_sys.c: added address argument support (from Van Snyder)
904 id_mt.c: added read-only file support
906 lgp_cpu.c, lgp_sys.c: modified VM pointer setup
908 pdp11_cpu.c: fixed WAIT to work in all modes (from John Dundas)
910 pdp11_tm.c, pdp11_ts.c: added read-only file support
912 sds_mt.c: added read-only file support
915 - added reset_all_p (powerup)
916 - fixed comma-separated SET options (from Dave Bryan)
917 - changed ONLINE/OFFLINE to ENABLED/DISABLED (from Dave Bryan)
918 - modified to flush device buffers on stop (from Dave Bryan)
919 - changed HELP to suppress duplicate command displays
922 - moved SET/SHOW DEBUG under CONSOLE hierarchy
924 hp2100_cpu.c: (all fixes by Dave Bryan)
925 - moved MP into its own device; added MP option jumpers
926 - modified DMA to allow disabling
927 - modified SET CPU 2100/2116 to truncate memory > 32K
928 - added -F switch to SET CPU to force memory truncation
929 - fixed S-register behavior on 2116
930 - fixed LIx/MIx behavior for DMA on 2116 and 2100
931 - fixed LIx/MIx behavior for empty I/O card slots
932 - modified WRU to be REG_HRO
933 - added BRK and DEL to save console settings
934 - fixed use of "unsigned int16" in cpu_reset
936 hp2100_dp.c: (all fixes by Dave Bryan)
937 - fixed enable/disable from either device
938 - fixed ANY ERROR status for 12557A interface
939 - fixed unattached drive status for 12557A interface
940 - status cmd without prior STC DC now completes (12557A)
941 - OTA/OTB CC on 13210A interface also does CLC CC
943 - fixed seek check on 13210 if sector out of range
945 hp2100_dq.c: (all fixes by Dave Bryan)
946 - fixed enable/disable from either device
947 - shortened xtime from 5 to 3 (drive avg 156KW/second)
948 - fixed not ready/any error status
951 hp2100_dr.c: (all fixes by Dave Bryan)
952 - fixed enable/disable from either device
953 - fixed sector return in status word
954 - provided protected tracks and "Writing Enabled" status bit
955 - fixed DMA last word write, incomplete sector fill value
956 - added "parity error" status return on writes for 12606
957 - added track origin test for 12606
958 - added SCP test for 12606
959 - fixed 12610 SFC operation
960 - added "Sector Flag" status bit
961 - added "Read Inhibit" status bit for 12606
962 - fixed current-sector determination
963 - added TRACKPROT modifier
965 hp2100_ipl.c, hp2100_ms.c: (all fixes by Dave Bryan)
966 - fixed enable/disable from either device
968 hp2100_lps.c: (all fixes by Dave Bryan)
969 - added SET OFFLINE/ONLINE, POWEROFF/POWERON
970 - fixed status returns for error conditions
971 - fixed handling of non-printing characters
972 - fixed handling of characters after column 80
973 - improved timing model accuracy for RTE
974 - added fast/realistic timing
975 - added debug printouts
977 hp2100_lpt.c: (all fixes by Dave Bryan)
978 - added SET OFFLINE/ONLINE, POWEROFF/POWERON
979 - fixed status returns for error conditions
980 - fixed TOF handling so form remains on line 0
982 hp2100_stddev.c (all fixes by Dave Bryan)
983 - added paper tape loop mode, DIAG/READER modifiers to PTR
984 - added PV_LEFT to PTR TRLLIM register
985 - modified CLK to permit disable
987 hp2100_sys.c: (all fixes by Dave Bryan)
988 - added memory protect device
989 - fixed display of CCA/CCB/CCE instructions
991 i1401_cpu.c: added =n to SHOW HISTORY
993 id16_cpu.c: added instruction history
995 id32_cpu.c: added =n to SHOW HISTORY
997 pdp10_defs.h: revised Unibus DMA API's
999 pdp10_ksio.c: revised Unibus DMA API's
1001 pdp10_lp20.c: revised Unibus DMA API's
1003 pdp10_rp.c: replicated register state per drive
1006 - fixed to set FCE on short record
1007 - fixed to return bit<15> in drive type
1008 - fixed format specification, 1:0 are don't cares
1009 - implemented write check
1010 - TMK is cleared by new motion command, not DCLR
1011 - DONE is set on data transfers, ATA on non data transfers
1014 - revised Unibus/Qbus DMA API's
1015 - added CPU type and options flags
1017 pdp11_cpumod.h, pdp11_cpumod.c:
1018 - new routines for setting CPU type and options
1020 pdp11_io.c: revised Unibus/Qbus DMA API's
1022 all PDP-11 DMA peripherals:
1023 - revised Unibus/Qbus DMA API's
1025 pdp11_hk.c: CS2 OR must be zero for M+
1027 pdp11_rh.c, pdp11_rp.c, pdp11_tu.c:
1028 - split Massbus adapter from controllers
1029 - replicated RP register state per drive
1030 - added TM02/TM03 with TE16/TU45/TU77 drives
1032 pdp11_rq.c, pdp11_tq.c:
1033 - provided different default timing for PDP-11, VAX
1034 - revised to report CPU bus type in stage 1
1035 - revised to report controller type reflecting bus type
1036 - added -L switch (LBNs) to RAUSER size specification
1038 pdp15_cpu.c: added =n to SHOW HISTORY
1041 - fixed URFST to mask low 9b of fraction
1042 - fixed exception PC setting
1044 pdp8_cpu.c: added =n to SHOW HISTORY
1047 - added octaword, compatibility mode support
1050 - revised Unibus/Qbus DMA API's
1053 - moved processor-specific code to vax_sysdev.c
1054 - added =n to SHOW HISTORY
1057 - moved processor-specific IPR's to vax_sysdev.c
1058 - moved emulation trap to vax_cis.c
1059 - added support for compatibility mode
1061 vax_cis.c: new full VAX CIS instruction emulator
1063 vax_octa.c: new full VAX octaword and h_floating instruction emulator
1065 vax_cmode.c: new full VAX compatibility mode instruction emulator
1068 - revised Unibus/Qbus DMA API's
1070 vax_io.c, vax_stddev.c, vax_sysdev.c:
1071 - integrated powerup into RESET (with -p)
1074 - fixed bugs in parsing indirect displacement modes
1075 - fixed bugs in displaying and parsing character data
1077 vax_syscm.c: added display and parse for compatibility mode
1080 - split from vax_sys.c
1083 /* V3.2 revision history
1086 - added ECHO command (from Dave Bryan)
1087 - qualified RESTORE detach with SIM_SW_REST
1089 sim_console: added OS/2 EMX fixes (from Holger Veit)
1091 sim_sock.h: added missing definition for OS/2 (from Holger Veit)
1093 hp2100_cpu.c: changed error stops to report PC not PC + 1
1096 hp2100_dp.c: functional and timing fixes (from Dave Bryan)
1097 - controller sets ATN for all commands except read status
1098 - controller resumes polling for ATN interrupts after read status
1099 - check status on unattached drive set busy and not ready
1100 - check status tests wrong unit for write protect status
1101 - drive on line sets ATN, will set FLG if polling
1103 hp2100_dr.c: fixed CLC to stop operation (from Dave Bryan)
1105 hp2100_ms.c: functional and timing fixes (from Dave Bryan)
1106 - fixed erroneous execution of rejected command
1107 - fixed erroneous execution of select-only command
1108 - fixed erroneous execution of clear command
1109 - fixed odd byte handling for read
1110 - fixed spurious odd byte status on 13183A EOF
1111 - modified handling of end of medium
1112 - added detailed timing, with fast and realistic modes
1113 - added reel sizes to simulate end of tape
1114 - added debug printouts
1116 hp2100_mt.c: modified handling of end of medium (from Dave Bryan)
1118 hp2100_stddev.c: added tab to control char set (from Dave Bryan)
1120 pdp11_rq.c: VAX controllers luns start at 0 (from Andreas Cejna)
1122 vax_cpu.c: fixed bug in EMODD/G, second word of quad dst not probed
1124 2 17-Jul-04 scp.c: fixed problem ATTACHing to read only files
1125 (found by John Dundas)
1127 sim_console.c: revised Windows console code (from Dave Bryan)
1129 sim_fio.c: fixed problem in big-endian read
1130 (reported by Scott Bailey)
1132 gri_cpu.c: updated MSR, EAO functions
1134 hp_stddev.c: generalized handling of control char echoing
1137 vax_sys.c: fixed bad block initialization routine
1139 1 10-Jul-04 scp.c: added SET/SHOW CONSOLE subhierarchy
1141 hp2100_cpu.c: fixes and added features (from Dave Bryan)
1142 - SBT increments B after store
1143 - DMS console map must check dms_enb
1144 - SFS x,C and SFC x,C work
1145 - MP violation clears automatically on interrupt
1146 - SFS/SFC 5 is not gated by protection enabled
1147 - DMS enable does not disable mem prot checks
1148 - DMS status inconsistent at simulator halt
1149 - Examine/deposit are checking wrong addresses
1150 - Physical addresses are 20b not 15b
1151 - Revised DMS to use memory rather than internal format
1152 - Added instruction printout to HALT message
1153 - Added M and T internal registers
1154 - Added N, S, and U breakpoints
1155 Revised IBL facility to conform to microcode
1156 Added DMA EDT I/O pseudo-opcode
1157 Separated DMA SRQ (service request) from FLG
1159 all HP2100 peripherals:
1160 - revised to make SFS x,C and SFC x,C work
1161 - revised to separate SRQ from FLG
1163 all HP2100 IBL bootable peripherals:
1164 - revised boot ROMs to use IBL facility
1165 - revised SR values to preserve SR<5:3>
1167 hp2100_lps.c, hp2100_lpt.c: fixed timing
1169 hp2100_dp.c: fixed interpretation of SR<0>
1171 hp2100_dr.c: revised boot code to use IBL algorithm
1173 hp2100_mt.c, hp2100_ms.c: fixed spurious timing error after CLC
1174 (found by Dave Bryan)
1177 - fixed input behavior during typeout for RTE-IV
1178 - suppressed nulls on TTY output for RTE-IV
1180 hp2100_sys.c: added SFS x,C and SFC x,C to print/parse routines
1182 pdp10_fe.c, pdp11_stddev.c, pdp18b_stddev.c, pdp8_tt.c, vax_stddev.c:
1183 - removed SET TTI CTRL-C option
1186 - fixed bug in reporting write protect (reported by Lyle Bickley)
1187 - fixed TK70 model number and media ID (found by Robert Schaffrath)
1189 pdp11_vh.c: added DHQ11 support (from John Dundas)
1191 pdp11_io.c, vax_io.c: fixed DHQ11 autoconfigure (from John Dundas)
1193 pdp11_sys.c, vax_sys.c: added DHQ11 support (from John Dundas)
1195 vax_cpu.c: fixed bug in DIVBx, DIVWx (reported by Peter Trimmel)
1198 - added sim_vm_parse_addr and sim_vm_fprint_addr
1200 - moved console logging to SCP
1201 - changed sim_fsize to use descriptor rather than name
1202 - added global device/unit show modifiers
1203 - added device debug support (Dave Hittner)
1204 - moved device and unit flags, updated save format
1207 - further generalizations (Dave Hittner, Mark Pizzolato)
1209 sim_tmxr.h, sim_tmxr.c:
1210 - added tmxr_linemsg
1211 - changed TMXR definition to support variable number of lines
1214 - new console library (sim_console.h, sim_console.c)
1215 - new file I/O library (sim_fio.h, sim_fio.c)
1216 - new timer library (sim_timer.h, sim_timer.c)
1218 all terminal multiplexors: revised for tmxr library changes
1221 - added STOP_EOR to enable end-of-reel stop
1222 - revised for device debug support
1224 all variable-sized devices: revised for sim_fsize change
1226 eclipse_cpu.c, nova_cpu.c: fixed device enable/disable support
1227 (found by Bruce Ray)
1229 nova_defs.h, nova_sys.c, nova_qty.c:
1230 - added QTY and ALM support (Bruce Ray)
1232 id32_cpu.c, id_dp.c: revised for device debug support
1234 lgp: added LGP-30 [LGP-21] simulator
1236 pdp1_sys.c: fixed bug in LOAD (found by Mark Crispin)
1239 - fixed bug in floating unpack
1240 - fixed bug in FIXR (found by Philip Stone, fixed by Chris Smith)
1242 pdp11_dz.c: added per-line logging
1245 - added formatting support
1246 - added address increment inhibit support
1247 - added transfer overrun detection
1249 pdp11_hk.c, pdp11_rp.c: revised for device debug support
1251 pdp11_rq.c: fixed bug in interrupt control (found by Tom Evans)
1253 pdp11_ry.c: added VAX support
1255 pdp11_tm.c, pdp11_tq.c, pdp11_ts.c: revised for device debug support
1257 pdp11_xu.c: replaced stub with real implementation (Dave Hittner)
1260 - fixed bug in XVM g_mode implementation
1261 - fixed bug in PDP-15 indexed address calculation
1262 - fixed bug in PDP-15 autoindexed address calculation
1264 pdp18b_fpp.c: fixed bugs in instruction decode
1267 - fixed clock response to CAF
1268 - fixed bug in hardware read-in mode bootstrap
1270 pdp18b_sys.c: fixed XVM instruction decoding errors
1272 pdp18b_tt1.c: added support for 1-16 additional terminals
1274 vax_moddef.h, vax_cpu.c, vax_sysdev.c:
1275 - added extended physical memory support (Mark Pizzolato)
1276 - added RXV21 support
1279 - added PC read fault in EXTxV
1280 - fixed PC write fault in INSV
1282 /* V3.1 revision history
1284 0 29-Dec-03 sim_defs.h, scp.c: added output stall status
1286 all console emulators: added output stall support
1288 sim_ether.c (Dave Hittner, Mark Pizzolato, Anders Ahgren):
1289 - added Alpha/VMS support
1290 - added FreeBSD, Mac OS/X support
1291 - added TUN/TAP support
1292 - added DECnet duplicate address detection
1294 all memory buffered devices (fixed head disks, floppy disks):
1295 - cleaned up buffer copy code
1298 - fixed reverse checksum in read all
1299 - added DECtape off reel message
1302 eclipse_cpu.c (Charles Owen):
1303 - added floating point support
1304 - added programmable interval timer support
1308 - added instruction history
1309 - added DMA/DMC support
1310 - added device ENABLE/DISABLE support
1311 - change default to HSA option included
1313 h316_dp.c: added moving head disk support
1315 h316_fhd.c: added fixed head disk support
1317 h316_mt.c: added magtape support
1319 h316_sys.c: added new device support
1321 nova_dkp.c (Charles Owen):
1322 - fixed bug in flag clear sequence
1323 - added diagnostic mode support for disk sizing
1325 ` nova_mt.c (Charles Owen):
1326 - fixed bug, space operations return record count
1327 - fixed bug, reset doesn't cancel rewind
1329 nova_sys.c: added floating point, timer support (from Charles Owen)
1331 i1620_cpu.c: fixed bug in branch digit (found by Dave Babcock)
1334 - added parallel drum support
1335 - fixed bug in serial drum instructin decoding
1337 pdp1_sys.c: added parallel drum support, mnemonics
1340 - added autoconfiguration controls
1341 - added support for 18b-only Qbus devices
1342 - cleaned up addressing/bus definitions
1344 pdp11_rk.c, pdp11_ry.c, pdp11_tm.c, pdp11_hk.c:
1345 - added Q18 attribute
1348 - added autoconfiguration controls
1349 - fixed bug in I/O configuration (found by Dave Hittner)
1352 - revised MB->LBN conversion for greater accuracy
1353 - fixed bug with multiple RAUSER drives
1355 pdp11_tc.c: changed to be off by default (base config is Qbus)
1357 pdp11_xq.c (Dave Hittner, Mark Pizzolato):
1358 - fixed second controller interrupts
1359 - fixed bugs in multicast and promiscuous setup
1362 - added instruction history
1363 - fixed PDP-4,-7,-9 autoincrement bug
1364 - change PDP-7,-9 default to API option included
1366 pdp8_defs.h, pdp8_sys.c:
1367 - added DECtape off reel message
1368 - added support for TSC8-75 (ETOS) option
1369 - added support for TD8E controller
1371 pdp8_cpu.c: added instruction history
1374 - fixed bug in RX28 read status (found by Charles Dickman)
1375 - fixed double density write
1377 pdp8_td.c: added TD8E controller
1379 pdp8_tsc.c: added TSC8-75 option
1382 - revised instruction history for dynamic sizing
1383 - added autoconfiguration controls
1386 - added autoconfiguration controls
1387 - fixed bug in I/O configuration (found by Dave Hittner)
1389 id16_cpu.c: revised instruction decoding
1392 - revised instruction decoding
1393 - added instruction history
1395 /* V3.0 revision history
1398 - fixed end-of-file problem in dep, idep
1399 - fixed error on trailing spaces in dep, idep
1402 - fixed system hang if continue after PTR error
1403 - added PTR start/stop functionality
1404 - added address switch functionality to PTR BOOT
1406 pdp1_sys.c: added multibank capability to LOAD
1409 - fixed priorities in PDP-15 API (PI between 3 and 4)
1410 - fixed sign handling in PDP-15 unsigned mul/div
1411 - fixed bug in CAF, must clear API subsystem
1414 - fixed tape read end-of-record handling based on real 1401
1415 - added diagnostic read (space forward)
1418 - fixed bug in immediate index add (found by Michael Short)
1420 1 27-Jul-03 pdp1_cpu.c: updated to detect indefinite I/O wait
1422 pdp1_drm.c: fixed incorrect logical, missing activate, break
1425 - fixed bugs in instruction decoding, overprinting
1426 - updated to detect indefinite I/O wait
1429 - changed RIM loader to be "hardware"
1430 - updated to detect indefinite I/O wait
1432 pdp1_sys.c: added block loader format support to LOAD
1434 pdp10_rp.c: fixed bug in read header
1436 pdp11_rq: fixed bug in user disk size (found by Chaskiel M Grundman)
1439 - added FP15 support
1441 - added EAE support to the PDP-4
1442 - added PDP-15 "re-entrancy ECO"
1443 - fixed memory protect/skip interaction
1444 - fixed CAF to only reset peripherals
1446 pdp18b_fpp.c: added FP15
1448 pdp18b_lp.c: fixed bug in Type 62 overprinting
1450 pdp18b_rf.c: fixed bug in set size routine
1453 - increased PTP TIME for PDP-15 operating systems
1454 - added hardware RIM loader for PDP-7, PDP-9, PDP-15
1456 pdp18b_sys.c: added FP15, KT15, XVM instructions
1458 pdp8b_df.c, pdp8_rf.c: fixed bug in set size routine
1462 - fixed variable capacity interaction with SAVE/RESTORE
1464 i1401_cpu.c: revised fetch to model hardware more closely
1466 ibm1130: fixed bugs found by APL 1130
1468 nova_dsk.c: fixed bug in set size routine
1470 altairz80: fixed bug in real-time clock on Windows host
1473 - added ASSIGN/DEASSIGN
1474 - changed RESTORE to detach files
1475 - added u5, u6 unit fields
1476 - added USE_ADDR64 support
1477 - changed some structure fields to unsigned
1479 scp_tty.c: added extended file seek
1481 sim_sock.c: fixed calling sequence in stubs
1484 - added E11 and TPC format support
1485 - added extended file support
1487 sim_tmxr.c: fixed bug in SHOW CONNECTIONS
1490 - added multiformat support
1491 - added extended file support
1494 - fixed mnemonic, instruction lengths, and reverse
1495 scan length check bug for MCS
1496 - fixed MCE bug, BS off by 1 if zero suppress
1497 - fixed chaining bug, D lost if return to SCP
1498 - fixed H branch, branch occurs after continue
1499 - added check for invalid 8 character MCW, LCA
1501 i1401_mt.c: fixed load-mode end of record response
1503 nova_dsk.c: fixed variable size interaction with restore
1505 pdp1_dt.c: fixed variable size interaction with restore
1507 pdp10_rp.c: fixed ordering bug in attach
1510 - fixed bug in MMR1 update (found by Tim Stark)
1511 - fixed bug in memory size table
1513 pdp11_lp.c, pdp11_rq.c: added extended file support
1515 pdp11_rl.c, pdp11_rp.c, pdp11_ry.c: fixed ordering bug in attach
1517 pdp11_tc.c: fixed variable size interaction with restore
1520 - corrected interrupts on IE state transition (code by Tom Evans)
1521 - added interrupt clear on soft reset (first noted by Bob Supnik)
1522 - removed interrupt when setting XL or RL (multiple people)
1523 - added SET/SHOW XQ STATS
1524 - added SHOW XQ FILTERS
1525 - added ability to split received packet into multiple buffers
1526 - added explicit runt & giant packet processing
1529 - fixed integer overflow bug in CVTfi
1530 - fixed multiple bugs in EMODf
1532 vax_io.c: optimized byte and word DMA routines
1535 - added calibrated delay to ROM reads (from Mark Pizzolato)
1536 - fixed calibration problems in interval timer (from Mark Pizzolato)
1538 pdp1_dt.c: fixed variable size interaction with restore
1540 pdp18b_dt.c: fixed variable size interaction with restore
1542 pdp18b_mt.c: fixed bug in MTTR
1544 pdp18b_rf.c: fixed variable size interaction with restore
1546 pdp8_df.c, pdp8_rf.c: fixed variable size interaction
1549 pdp8_dt.c: fixed variable size interaction with restore
1551 pdp8_mt.c: fixed bug in SKTR
1553 hp2100_dp.c,hp2100_dq.c:
1554 - fixed bug in read status (13210A controller)
1555 - fixed bug in seek completion
1557 id_pt.c: fixed type declaration (found by Mark Pizzolato)
1559 gri_cpu.c: fixed bug in SC queue pointer management
1561 /* V2.10 revision history
1564 - added .ini startup file capability
1565 - added multiple breakpoint actions
1566 - added multiple switch evaluation points
1567 - fixed bug in multiword deposits to file
1569 sim_tape.c: magtape simulation library
1571 h316_stddev.c: added set line frequency command
1573 hp2100_mt.c, hp2100_ms.c: revised to use magtape library
1575 i1401_mt.c: revised to use magtape library
1577 id_dp.c, id_idc.c: fixed cylinder overflow on writes
1580 - fixed error handling to stop selector channel
1581 - revised to use magtape library
1583 id16_sys.c, id32_sys.c: added relative addressing support
1586 - added set frequency command to line frequency clock
1587 - improved calibration algorithm for precision clock
1589 nova_clk.c: added set line frequency command
1591 nova_dsk.c: fixed autosizing algorithm
1593 nova_mt.c: revised to use magtape library
1595 pdp10_tu.c: revised to use magtape library
1597 pdp11_cpu.c: fixed bug in MMR1 update (found by Tim Stark)
1600 - added set line frequency command
1601 - added set ctrl-c command
1604 - fixed ordering problem in queue process
1605 - fixed bug in vector calculation for VAXen
1606 - added user defined drive support
1608 pdp11_ry.c: fixed autosizing algorithm
1610 pdp11_tm.c, pdp11_ts.c: revised to use magtape library
1613 - fixed ordering problem in queue process
1614 - fixed overly restrictive test for bad modifiers
1615 - fixed bug in vector calculation for VAXen
1616 - added variable controller, user defined drive support
1617 - revised to use magtape library
1619 pdp18b_cpu.c: fixed three EAE bugs (found by Hans Pufal)
1622 - fixed bugs in BOT error handling, interrupt handling
1623 - revised to use magtape library
1626 - removed 22nd bit from disk address
1627 - fixed autosizing algorithm
1630 - added set line frequency command
1631 - added set ctrl-c command
1633 pdp18b_sys.c: fixed FMTASC printouts (found by Hans Pufal)
1635 pdp8_clk.c: added set line frequency command
1637 pdp8_df.c, pdp8_rf.c, pdp8_rx.c: fixed autosizing algorithm
1640 - fixed bug in BOT error handling
1641 - revised to use magtape library
1643 pdp8_tt.c: added set ctrl-c command
1645 sds_cpu.c: added set line frequency command
1647 sds_mt.c: revised to use magtape library
1649 vax_stddev.c: added set ctrl-c command
1652 - added dynamic extension of the breakpoint table
1653 - added breakpoint actions
1655 hp2100_cpu.c: fixed last cycle bug in DMA output (found by
1658 hp2100_ipl.c: individual links are full duplex (found by
1661 pdp11_cpu.c: changed R, SP to track PSW<rs,cm> respectively
1663 pdp18b_defs.h, pdp18b_sys.c: added RB09 fixed head disk,
1667 - fixed IOT decoding (found by Hans Pufal)
1668 - fixed address overrun logic
1669 - added variable number of platters and autosizing
1672 - fixed IOT decoding
1673 - fixed bug in command initiation
1675 pdp18b_rb.c: new RB09 fixed head disk
1677 pdp18b_lp.c: new LP09 line printer
1679 pdp8_df.c: added variable number of platters and autosizing
1681 pdp8_rf.c: added variable number of platters and autosizing
1683 nova_dsk.c: added variable number of platters and autosizing
1685 id16_cpu.c: fixed bug in SETM, SETMR (found by Mark Pizzolato)
1688 - added dynamic memory size flag and RESTORE support
1689 - added EValuate command
1690 - added get_ipaddr routine
1691 - added ! (OS command) feature (from Mark Pizzolato)
1692 - added BREAK support to sim_poll_kbd (from Mark Pizzolato)
1695 - fixed bugs in IAC+IAC handling (from Mark Pizzolato)
1696 - added IAC+BRK handling (from Mark Pizzolato)
1699 - added use count for Windows start/stop
1700 - added sim_connect_sock
1702 pdp1_defs.h, pdp1_cpu.c, pdp1_sys.c, pdp1_drm.c:
1703 added Type 24 serial drum
1705 pdp18_defs.h: added PDP-4 drum support
1707 hp2100_cpu.c: added 21MX IOP support
1709 hp2100_ipl.c: added HP interprocessor link support
1711 pdp11_tq.c: fixed bug in transfer end packet length
1714 - added VMScluster support (thanks to Mark Pizzolato)
1715 - added major performance enhancements (thanks to Mark Pizzolato)
1716 - added local packet processing
1717 - added system id broadcast
1719 pdp11_stddev.c: changed default to 7b (for early UNIX)
1721 vax_cpu.c, vax_io.c, vax_stddev.c, vax_sysdev.c:
1722 added console halt capability (from Mark Pizzolato)
1724 all terminals and multiplexors: added BREAK support
1726 1 21-Nov-02 pdp1_stddev.c: changed typewriter to half duplex
1727 (found by Derek Peschel)
1730 - fixed bug in bootstrap (reported by Michael Thompson)
1731 - fixed bug in read (reported by Harris Newman)
1733 0 15-Nov-02 SCP and libraries
1735 - added Telnet console support
1736 - removed VT emulation support
1737 - added support for statically buffered devices
1738 - added HELP <command>
1739 - fixed bugs in set_logon, ssh_break (found by David Hittner)
1740 - added VMS file optimization (from Robert Alan Byer)
1741 - added quiet mode, DO with parameters, GUI interface,
1742 extensible commands (from Brian Knittel)
1743 - added DEVICE context and flags
1744 - added central device enable/disable support
1745 - modified SAVE/GET to save and restore flags
1746 - modified boot routine calling sequence
1748 - removed VT emulation support
1749 - added sim_os_sleep, renamed sim_poll_kbd, sim_putchar
1751 - modified for Telnet console support
1752 - fixed bug in binary (8b) support
1753 sim_sock.c: modified for Telnet console support
1754 sim_ether.c: new library for Ethernet (from David Hittner)
1757 - added support for end of medium
1758 - cleaned up BOT handling
1760 all DECtapes: added support for RT11 image file format
1762 most terminals and multiplexors:
1763 - added support for 7b vs 8b character processing
1766 pdp1_cpu.c, pdp1_sys.c, pdp1_dt.c: added PDP-1 DECtape support
1769 pdp8_cpu.c, all peripherals:
1770 - added variable device number support
1771 - added new device enabled/disable support
1772 pdp8_rx.c: added RX28/RX02 support
1775 pdp11_defs.h, pdp11_io.c, pdp11_sys.c, all peripherals:
1776 - added variable vector support
1777 - added new device enable/disable support
1778 - added autoconfiguration support
1779 all bootstraps: modified to support variable addresses
1780 dec_mscp.h, pdp11_tq.c: added TK50 support
1782 - added multicontroller support
1783 - fixed bug in HBE error log packet
1784 - fixed bug in ATP processing
1785 pdp11_ry.c: added RX211/RX02 support
1786 pdp11_hk.c: added RK611/RK06/RK07 support
1787 pdp11_tq.c: added TMSCP support
1788 pdp11_xq.c: added DEQNA/DELQA support (from David Hittner)
1789 pdp11_pclk.c: added KW11P support
1791 - fixed bug in CTL decoding
1792 - fixed bug in extended status XS0_MOT
1793 pdp11_stddev.c: removed paper tape to its own module
1796 pdp18b_cpu.c, all peripherals:
1797 - added variable device number support
1798 - added new device enabled/disabled support
1801 dec_dz.h: fixed bug in number of boards calculation
1802 vax_moddefs.h, vax_io.c, vax_sys.c, all peripherals:
1803 - added variable vector support
1804 - added new device enable/disable support
1805 - added autoconfiguration support
1807 - generalized examine/deposit
1808 - added TMSCP, multiple RQDX3, DEQNA/DELQA support
1809 vax_stddev.c: removed paper tape, now uses PDP-11 version
1811 - allowed NVR to be attached to file
1812 - removed unused variables (found by David Hittner)
1815 pdp10_defs.h, pdp10_ksio.c, all peripherals:
1816 - added variable vector support
1817 - added new device enable/disable support
1818 pdp10_defs.h, pdp10_ksio.c: added support for standard PDP-11
1819 peripherals, added RX211 support
1820 pdp10_pt.c: rewritten to reference common implementation
1823 nova_cpu.c, eclipse_cpu.c, all peripherals:
1824 - added new device enable/disable support
1828 - fixed bugs in the EAU, 21MX, DMS, and IOP instructions
1829 - fixed bugs in the memory protect and DMS functions
1830 - created new options to enable/disable EAU, MPR, DMS
1831 - added new device enable/disable support
1833 - recoded to conform to 21MX microcode algorithms
1835 - fixed bugs in TTY reset, OTA, time base generator
1836 - revised BOOT support to conform to RBL loader
1837 - added clock calibration
1839 - changed default to 13210A
1840 - added BOOT support
1842 - finished incomplete functions, fixed head switching
1843 - added BOOT support
1845 - fixed bugs found by diagnostics
1846 - added 13183 support
1847 - added BOOT support
1849 - fixed bugs found by diagnostics
1850 - disabled by default
1851 hp2100_lpt.c: implemented 12845A controller
1853 - renamed 12653A controller
1854 - added diagnostic mode for MPR, DCPC diagnostics
1855 - disabled by default
1857 IBM 1620: first release
1859 /* V2.9 revision history
1861 11 20-Jul-02 i1401_mt.c: on read, end of record stores group mark
1862 without word mark (found by Van Snyder)
1864 i1401_dp.c: reworked address generation and checking
1866 vax_cpu.c: added infinite loop detection and halt to
1867 boot ROM option (from Mark Pizzolato)
1869 vax_fpa.c: changed function names to prevent conflict
1872 pdp11_cpu.c: fixed bug in MMR0 update logic (from
1875 pdp18b_stddev.c: added "ASCII mode" for reader and
1876 punch (from Hans Pufal)
1878 gri_*.c: added GRI-909 simulator
1880 scp.c: added DO echo, DO exit (from Brian Knittel)
1882 scp_tty.c: added Windows priority hacking (from
1885 10 15-Jun-02 scp.c: fixed error checking on calls to fxread/fxwrite
1886 (found by Norm Lastovic)
1888 scp_tty.c, sim_vt.h, sim_vt.c: added VTxxx emulation
1889 support for Windows (from Fischer Franz)
1891 sim_sock.c: added OS/2 support (from Holger Veit)
1893 pdp11_cpu.c: fixed bugs (from John Dundas)
1894 - added special case for PS<15:12> = 1111 to MFPI
1895 - removed special case from MTPI
1896 - added masking of relocation adds
1899 - added multiply/divide
1900 - fixed bugs (found by Van Snyder)
1901 o 5 and 7 character H, 7 character doesn't branch
1903 o 1401-like memory dump
1905 i1401_dp.c: added 1311 disk
1907 9 04-May-02 pdp11_rq: fixed bug in polling routine
1910 - changed LOG/NOLOG to SET LOG/NOLOG
1912 - added SET VT/NOVT and SHOW VT for VT emulation
1914 sim_sock.h: changed VMS stropt.h include to ioctl.h
1917 - added TODR powerup routine to set date, time on boot
1918 - fixed exception flows to clear trap request
1919 - fixed register logging in autoincrement indexed
1921 vax_stddev.c: added TODR powerup routine
1923 vax_cpu1.c: fixed exception flows to clear trap request
1925 7 30-Apr-02 scp.c: fixed bug in clock calibration when (real) clock
1926 jumps forward due too far (found by Jonathan Engdahl)
1928 pdp11_cpu.c: fixed bugs, added features (from John Dundas
1929 and Wolfgang Helbig)
1930 - added HTRAP and BPOK to maintenance register
1931 - added trap on kernel HALT if MAINT<HTRAP> set
1932 - fixed red zone trap, clear odd address and nxm traps
1933 - fixed RTS SP, don't increment restored SP
1934 - fixed TSTSET, write dst | 1 rather than prev R0 | 1
1935 - fixed DIV, set N=0,Z=1 on div by zero (J11, 11/70)
1936 - fixed DIV, set set N=Z=0 on overfow (J11, 11/70)
1937 - fixed ASH, ASHC, count = -32 used implementation-
1938 dependent 32 bit right shift
1939 - fixed illegal instruction test to detect 000010
1940 - fixed write-only page test
1942 pdp11_rp.c: fixed SHOW ADDRESS command
1944 vaxmod_defs.h: fixed DZ vector base and number of lines
1947 - fixed interrupt acknowledge routines
1948 - fixed SHOW ADDRESS command
1950 all magtape routines: added test for badly formed
1951 record length (suggested by Jonathan Engdahl)
1953 6 18-Apr-02 vax_cpu.c: fixed CASEL condition codes
1955 vax_cpu1.c: fixed vfield pos > 31 test to be unsigned
1957 vax_fpu.c: fixed EDIV overflow test for 0 quotient
1959 5 14-Apr-02 vax_cpu1.c:
1960 - fixed interrupt, prv_mode set to 0 (found by Tim Stark)
1961 - fixed PROBEx to mask mode to 2b (found by Kevin Handy)
1963 4 1-Apr-02 pdp11_rq.c: fixed bug, reset cleared write protect status
1965 pdp11_ts.c: fixed bug in residual frame count after space
1967 3 15-Mar-02 pdp11_defs.h: changed default model to KDJ11A (11/73)
1969 pdp11_rq.c: adjusted delays for M+ timing bugs
1971 hp2100_cpu.c, pdp10_cpu.c, pdp11_cpu.c: tweaked abort
1972 code for ANSI setjmp/longjmp compliance
1974 hp2100_cpu.c, hp2100_fp.c, hp2100_stddev.c, hp2100_sys.c:
1975 revised to allocate memory dynamically
1977 2 01-Mar-02 pdp11_cpu.c:
1978 - fixed bugs in CPU registers
1979 - fixed double operand evaluation order for M+
1981 pdp11_rq.c: added delays to initialization for
1982 RSX11M+ prior to V4.5
1984 1 20-Feb-02 scp.c: fixed bug in clock calibration when (real)
1987 pdp11_rq.c: fixed bug in host timeout logic
1989 pdp11_ts.c: fixed bug in message header logic
1991 pdp18b_defs.h, pdp18b_dt.c, pdp18b_sys.c: added
1992 PDP-7 DECtape support
1995 - added floating point and DMS
1996 - fixed bugs in DIV, ASL, ASR, LBT, SBT, CBT, CMW
1998 hp2100_sys.c: added floating point, DMS
2000 hp2100_fp.c: added floating point
2002 ibm1130: added Brian Knittel's IBM 1130 simulator
2005 - generalized timer package for multiple timers
2006 - added circular register arrays
2007 - fixed bugs, line spacing in modifier display
2008 - added -e switch to attach
2009 - moved device enable/disable to simulators
2011 scp_tty.c: VAX specific fix (from Robert Alan Byer)
2013 sim_tmxr.c, sim_tmxr.h:
2014 - added tmxr_fstats, tmxr_dscln
2015 - renamed tmxr_fstatus to tmxr_fconns
2017 sim_sock.c, sim_sock.h: added VMS support (from
2020 pdp_dz.h, pdp18b_tt1.c, nova_tt1.c:
2021 - added SET DISCONNECT
2022 - added SHOW STATISTICS
2024 pdp8_defs.h: fixed bug in interrupt enable initialization
2026 pdp8_ttx.c: rewrote as unified multiplexor
2028 pdp11_cpu.c: fixed calc_MMR1 macro (found by Robert Alan Byer)
2030 pdp11_stddev.c: fixed bugs in KW11L (found by John Dundas)
2032 pdp11_rp.c: fixed bug in 18b mode boot
2034 pdp11 bootable I/O devices: fixed register setup at boot
2035 exit (found by Doug Carman)
2038 - fixed DMA register tables (found by Bill McDermith)
2039 - fixed SZx,SLx,RSS bug (found by Bill McDermith)
2040 - fixed flop restore logic (found by Bill McDermith)
2042 hp2100_mt.c: fixed bug on write of last character
2044 hp2100_dq,dr,ms,mux.c: added new disk, magtape, and terminal
2045 multiplexor controllers
2047 i1401_cd.c, i1401_mt.c: new zero footprint bootstraps
2050 i1401_sys.c: fixed symbolic display of H, NOP with no trailing
2051 word mark (found by Van Snyder)
2054 - replaced OLDPC with PC queue
2055 - implemented device enable/disable locally
2057 V2.8 revision history
2059 5 25-Dec-01 scp.c: fixed bug in DO command (found by John Dundas)
2062 - moved trap-in-progress to separate variable
2063 - cleaned up declarations
2064 - cleaned up volatile state for GNU C longjmp
2066 pdp11_cpu.c: cleaned up declarations
2068 pdp11_rq.c: added RA-class disks
2070 4 17-Dec-01 pdp11_rq.c: added delayed processing of packets
2072 3 16-Dec-01 pdp8_cpu.c:
2073 - mode A EAE instructions didn't clear GTF
2074 - ASR shift count > 24 mis-set GTF
2075 - effective shift count == 32 didn't work
2077 2 07-Dec-01 scp.c: added breakpoint package
2079 all CPU's: revised to use new breakpoint package
2081 1 05-Dec-01 scp.c: fixed bug in universal register name logic
2083 0 30-Nov-01 Reorganized simh source and documentation tree
2085 scp: Added DO command, universal registers, extended
2088 pdp11: overhauled PDP-11 for DMA map support, shared
2089 sources with VAX, dynamic buffer allocation
2091 18b pdp: overhauled interrupt structure
2095 pdp10: fixed two ITS-related bugs (found by Dave Conroy)
2097 V2.7 revision history
2099 patch date module(s) and fix(es)
2101 15 23-Oct-01 pdp11_rp.c, pdp10_rp.c, pdp10_tu.c: fixed bugs
2102 error interrupt handling
2104 pdp10_defs.h, pdp10_ksio.c, pdp10_fe.c, pdp10_fe.c,
2105 pdp10_rp.c, pdp10_tu.c: reworked I/O page interface
2106 to use symbolic base addresses and lengths
2108 14 20-Oct-01 dec_dz.h, sim_tmxr_h, sim_tmxr.c: fixed bug in Telnet
2109 state handling (found by Thord Nilson), removed
2110 tmxr_getchar, added tmxr_rqln and tmxr_tqln
2112 13 18-Oct-01 pdp11_tm.c: added stub diagnostic register clock
2113 for RSTS/E (found by Thord Nilson)
2115 12 15-Oct-01 pdp11_defs.h, pdp11_cpu.c, pdp11_tc.c, pdp11_ts.c,
2116 pdp11_rp.c: added operations logging
2118 11 8-Oct-01 scp.c: added sim_rev.h include and version print
2120 pdp11_cpu.c: fixed bug in interrupt acknowledge,
2121 multiple outstanding interrupts caused the lowest
2122 rather than the highest to be acknowledged
2124 10 7-Oct-01 pdp11_stddev.c: added monitor bits (CSR<7>) for full
2125 KW11L compatibility, needed for RSTS/E autoconfiguration
2127 9 6-Oct-01 pdp11_rp.c, pdp10_rp.c, pdp10_tu.c: rewrote interrupt
2128 logic from RH11/RH70 schematics, to mimic hardware quirks
2130 dec_dz.c: fixed bug in carrier detect logic, carrier
2131 detect was being cleared on next modem poll
2133 8 4-Oct-01 pdp11_rp.c, pdp10_rp.c, pdp10_tu.c: undid edit of
2134 28-Sep-01; real problem was level-sensitive nature of
2135 CS1_SC, but CS1_SC can only trigger an interrupt if
2138 7 2-Oct-01 pdp11_rp.c, pdp10_rp.c: CS1_SC is evaluated as a level-
2139 sensitive, rather than an edge-sensitive, input to
2142 6 30-Sep-01 pdp11_rp.c, pdp10_rp.c: separated out CS1<5:0> to per-
2145 pdp10_tu.c: based on above, cleaned up handling of
2146 non-existent formatters, fixed non-data transfer
2147 commands clearing DONE
2149 5 28-Sep-01 pdp11_rp.c, pdp10_rp.c, pdp10_tu.c: controller should
2150 interrupt if ATA or SC sets when IE is set, was
2151 interrupting only if DON = 1 as well
2153 4 27-Sep-01 pdp11_ts.c:
2154 - NXM errors should return TC4 or TC5; were returning TC3
2155 - extended features is part of XS2; was returned in XS3
2156 - extended characteristics (fifth) word needed for RSTS/E
2158 pdp11_tc.c: stop, stop all do cause an interrupt
2160 dec_dz.h: scanner should find a ready output line, even
2161 if there are no connections; needed for RSTS/E autoconfigure
2164 - added routine sim_qcount for 1130
2165 - added "simulator exit" detach routine for 1130
2167 sim_defs.h: added header for sim_qcount
2169 3 20-Sep-01 pdp11_ts.c: boot code binary was incorrect
2171 2 19-Sep-01 pdp18b_cpu.c: EAE should interpret initial count of 00
2174 scp.c: modified Macintosh support
2176 1 17-Sep-01 pdp8_ttx.c: new module for PDP-8 multi-terminal support
2178 pdp18b_tt1.c: modified to use sim_tmxr library
2180 nova_tt1.c: modified to use sim_tmxr library
2182 dec_dz.h: added autodisconnect support
2184 scp.c: removed old multiconsole support
2186 sim_tmxr.c: modified calling sequence for sim_putchar_ln
2188 sim_sock.c: added Macintosh sockets support