First Commit of my working state
[simh.git] / sim_rev.h
1 /* sim_rev.h: simulator revisions and current rev level
2
3 Copyright (c) 1993-2007, Robert M Supnik
4
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:
11
12 The above copyright notice and this permission notice shall be included in
13 all copies or substantial portions of the Software.
14
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.
21
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.
25 */
26
27 #ifndef _SIM_REV_H_
28 #define _SIM_REV_H_ 0
29
30 #define SIM_MAJOR 3
31 #define SIM_MINOR 8
32 #define SIM_PATCH 0
33 #define SIM_DELTA 0
34
35 /* V3.8 revision history
36
37 patch date module(s) and fix(es)
38
39 0 tbd scp.c:
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)
43
44 sim_tmxr.c
45 - worked around Telnet negotiation problem with QCTerm (from Dave Bryan)
46
47 gri_defs.h, gri_cpu.c, gri_sys.c:
48 - added GRI-99 support
49
50 hp2100_baci.c (from Dave Bryan):
51 - Implemented 12966A Buffered Asynchronous Communications Interface simulator
52
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
62
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"
67
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
72
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
77
78 hp2100_cpu4.c (from Dave Bryan):
79 - Fixed B register return bug in /CMRT
80
81 hp2100_cpu5.c (from Holger Veit):
82 - Implemented RTE-6/VM Virtual Memory Area firmware
83 - Implemented RTE-IV Extended Memory Area firmware
84
85 hp2100_cpu6.c (from Dave Bryan):
86 - Implemented RTE-6/VM OS accelerator firmware
87
88 hp2100_cpu7.c (from Holger Veit):
89 - Implemented Vector Instruction Set and SIGNAL/1000 firmware
90
91 hp2100_ds.c (from Dave Bryan):
92 - Corrected and verified ioCRS action
93 - Corrected DPTR register definition from FLDATA to DRDATA
94
95 hp2100_fp.c (from Mark Pizzolato)
96 - Corrected fp_unpack mantissa high-word return
97
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
101
102 hp2100_mux.c (from Dave Bryan):
103 - Sync mux poll with console poll for idle compatibility
104
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
114
115 hp2100_sys.c (from Dave Bryan):
116 - Added BACI device
117 - Added RTE OS/VMA/EMA mnemonics
118 - Changed fprint_sym to handle step with irq pending
119
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
125
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
131
132 hp2100_defs.h (from Dave Bryan):
133 - Added BACI device
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
139
140 nova_defs.h (from Bruce Ray):
141 - added support for third-party 64KW memory
142
143 nova_clk.c (from Bruce Ray):
144 - renamed to RTC, to match DG literature
145
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
150
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
155
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
160
161 nova_mta.c (from Bruce Ray):
162 - renamed to MTA, to match DG literature
163 - changed bootstrap code to DG official sequence
164
165 nova_plt.c, nova_pt.c (from Bruce Ray):
166 - added 7B/8B support
167
168 nova_sys.c (from Bruce Ray):
169 - fixed mistaken instruction mnemonics
170
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)
174
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
178
179 pdp11_dc.c:
180 - added support for DC11
181
182 pdp11_defs.h:
183 - added KE, KG, RC, DC support
184 - renamed DL11 devices
185
186 pdp11_dl.c:
187 - renamed devices to DLI/DLO, to match DC11
188 - added modem control
189
190 pdp11_io.c:
191 - added autoconfigure support for DC11
192
193 pdp11_ke.c:
194 - added support for KE11A
195
196 pdp11_kg.c (from John Dundas):
197 - added support for KG11A
198
199 pdp11_rc.c (from John Dundas):
200 - added support for RC11
201
202 pdp11_sys.c:
203 - modified to allow -A, -B use with 8b devices
204 - added KE, KG, RC, DC support
205 - renamed DL11 devices
206
207 vax_cmode.c, vax_io.c, vax780_uba.c:
208 - fixed declarations (from Mark Pizzolato)
209
210
211 /* V3.7 revision history
212
213 3 02-Sep-07 scp.c:
214 - fixed bug in SET THROTTLE command
215
216 pdp10_cpu.c:
217 - fixed non-portable usage in SHOW HISTORY routine
218
219 pdp11_ta.c:
220 - forward op at BOT skips initial file gap
221
222 pdp8_ct.c:
223 - forward op at BOT skips initial file gap
224 - fixed handling of BEOT
225
226 vax_cpu.c:
227 - fixed bug in read access g-format indexed specifiers
228
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
235
236 sim_timer.c:
237 - fixed idle timer event selection algorithm
238
239 h316_lp.c:
240 - fixed loss of last print line (from Theo Engel)
241
242 h316_mt.c:
243 - fixed bug in write without stop (from Theo Engel)
244
245 h316_stddev.c:
246 - fixed bug in clock increment (from Theo Engel)
247
248 i1401_cpu.c:
249 - added recognition of overlapped operation modifiers
250 - remove restriction on load-mode binary tape operations
251
252 i1401_mt.c:
253 - fixed read tape mark operation (found by Van Snyder)
254 - remove restriction on load-mode binary tape operations
255
256 pdp1_cpu.c:
257 - fixed typo in SBS clear (from Norm Lastovica)
258
259 pdp11_rh.c, pdp11_rp.c, pdp11_tu.c:
260 - CS1 DVA is in the device, not the MBA
261
262 pdp8_ct.c:
263 - fixed typo (from Norm Lastovica)
264
265 vax_cpu.c:
266 - revised idle detector
267
268 1 14-May-07 scp.c:
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
274 (from Dave Bryan)
275
276 all CPU's with clocks:
277 - removed clock initialization (now done in SCP)
278
279 hp2100_cpu.c (from Dave Bryan):
280 - EDT passes input flag and DMA channel in dat parameter
281
282 hp2100_ipl.c (from Dave Bryan):
283 - IPLI EDT delays DMA completion interrupt for TSB
284
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
297
298 pdp11_cpumod.c:
299 - changed memory size routine to work with RESTORE
300
301 pdp11_hk.c:
302 - NOP and DCLR (at least) do not check drive type
303 - MR2 and MR3 only updated on NOP
304
305 pdp10_tu.c, pdp11_tu.c:
306 - TMK sets FCE only on read (found by Naoki Hamada)
307
308 pdp11_xu.c:
309 - added missing FC_RMAL command
310 - cleared multicast on write
311
312 vax_moddefs.h, vax_cpu1.c:
313 - separated PxBR and SBR mbz checks
314
315 vax780_defs.h
316 - separated PxBR and SBR mbz checks
317 - modified mbz checks to reflect 780 microcode patches
318 (found by Naoki Hamada)
319
320 vax_mmu.c:
321 - added address masking to all SBR-based memory reads
322
323 0 30-Jan-07 scp.c:
324 - implemented throttle commands
325 - added -e to control error processing in DO command files
326 (from Dave Bryan)
327
328 sim_console.c:
329 - fixed handling of non-printable characters in KSR mode
330
331 sim_tape.c:
332 - fixed bug in reverse operations for P7B-format tapes
333 - fixed bug in reverse operations across erase gaps
334
335 sim_timer.c:
336 - added throttle support
337 - added idle support (based on work by Mark Pizzolato)
338
339 gri_stddev.c, h316_stddev.c, pdp18b_tt1.c
340 - fixed handling of non-printable characters in KSR mode
341
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
350
351 hp2100_ds.c:
352 - fixed REQUEST STATUS to clear status-1 (from Dave Bryan)
353
354 hp2100_fp1.c:
355 - Added Floating Point Processor (from Dave Bryan)
356
357 hp2100_lps.c:
358 - fixed diag-mode CLC response
359
360 i7094_cpu.c:
361 - fixed new bug in halt IO wait loop
362 - added IFT, EFT expanded core test instructions
363
364 id16_cpu.c, id32_cpu.c:
365 - removed separate multiplexor clock
366 - added idle support
367
368 id_pas.c:
369 - synced multiplexor poll to real-time clock
370
371 id_tt.c, id_ttp.c:
372 - fixed handling of non-printable characters in KSR mode
373 - synced keyboard poll to real-time clock
374
375 id_uvc.c:
376 - changed line-time clock to be free-running
377
378 pdp1_cpu.c:
379 - added 16-channel sequence break system (API) support
380 - added PDP-1D support
381
382 pdp1_clk.c:
383 - first release
384
385 pdp1_dcs.c:
386 - first release
387
388 pdp1_stddev.c:
389 - separated TTI, TTO for API support
390
391 pdp1_sys.c:
392 - added PDP-1D, 16-channel SBS, clock, DCS support
393 - fixed bugs in character input, block loader
394
395 pdp10_cpu.c:
396 - added idle support
397
398 pdp10_defs.h, pdp10_sys.c:
399 - added CR support
400
401 pdp10_fe.c, pdp10_tim.c:
402 - synced keyboard poll to real-time clock
403
404 pdp11_cr.c:
405 - revised for PDP-10 compatibility (CD11 only)
406
407 pdp11_cpu.c:
408 - added idle support
409 - fixed bug in ASH -32 C value
410
411 pdp11_rf.c:
412 - fixed unit mask (found by John Dundas)
413
414 pdp11_stddev.c, vax_stddev.c, vax780_stddev.c:
415 - synced keyboard poll to real-time clock
416 - added clock coscheduling support
417
418 pdp11_ta.c:
419 - first release
420
421 pdp11_vh.c:
422 - synced service poll to real-time clock
423 - changed device to be off by default
424
425 pdp11_dz.c, pdp11_xq.c, pdp11_xu.c:
426 - synced service poll to real-time clock
427
428 pdp11_sys.c:
429 - fixed operand order in EIS instructions (found by W.F.J. Mueller)
430 - added TA11 support
431
432 pdp18b_cpu.c:
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
440
441 pdp18b_rf.c:
442 - fixed bug, DSCD does not clear function register
443
444 pdp18b_stddev.c:
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
451
452 pdp18b_tt1.c
453 - fixed handling of non-printable characters in KSR mode
454
455 pdp18b_sys.c:
456 - added XVM RDCLK instruction
457
458 pdp8_cpu.c:
459 - fixed SC value after DVI overflow (found by Don North)
460 - added idle support and infinite loop detection
461
462 pdp8_ct.c:
463 - first release
464
465 pdp8_clk.c:
466 - changed real-time clock to be free running
467
468 pdp8_sys.c:
469 - added TA8E support
470 - added ability to disambiguate overlapping IOT definitions
471
472 pdp8_tt.c:
473 - fixed handling of non-printable characters in KSR mode
474 - synced keyboard poll to real-time clock
475
476 vax_cpu.c, vax_cpu1.c:
477 - added idle support
478
479 vax_syscm.c:
480 - fixed operand order in EIS instructions (found by W.F.J. Mueller)
481
482
483 /* V3.6 revision history
484
485 1 25-Jul-06 sim_console.c:
486 - implemented SET/SHOW PCHAR
487
488 all DECtapes:
489 - fixed conflict in ATTACH switches
490
491 hp2100_ms.c (from Dave Bryan):
492 - added CAPACITY as alternate for REEL
493 - fixed EOT test for unlimited reel size
494
495 i1620_cd.c (from Tom McBride):
496 - fixed card reader fgets call
497 - fixed card reader boot sequence
498
499 i7094_cd.c:
500 - fixed problem with 80 column full cards
501
502 i7094_cpu.c:
503 - fixed bug in halt IO wait loop
504
505 i7094_sys.c:
506 - added binary loader (courtesy of Dave Pitt)
507
508 pdp1_cpu.c:
509 - fixed bugs in MUS and DIV
510
511 pdp11_cis.c:
512 - added interrupt tests to character instructions
513 - added 11/44 stack probe test to MOVCx (only)
514
515 pdp11_dl.c:
516 - first release
517
518 pdp11_rf.c:
519 - first release
520
521 pdp11_stddev.c:
522 - added UC support to TTI, TTO
523
524 pdp18b_cpu.c:
525 - fixed RESET to clear AC, L, and MQ
526
527 pdp18b_dt.c:
528 - fixed checksum calculation bug for Type 550
529
530 pdp18b_fpp.c:
531 - fixed bugs in left shift, multiply
532
533 pdp18b_stddev.c:
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
537
538 pdp18b_sys.c:
539 - added Fiodec, Baudot display
540 - generalized LOAD to handle HRI, RIM, and BIN files
541
542 pdp8_ttx.c:
543 - fixed bug in DETACH routine
544
545 0 15-May-06 scp.c:
546 - revised save file format to save options, unit capacity
547
548 sim_tape.c, sim_tape.h:
549 - added support for finite reel size
550 - fixed bug in P7B write record
551
552 most magtapes:
553 - added support for finite reel size
554
555 h316_cpu.c: fixed bugs in LLL, LRL (found by Theo Engel)
556
557 h316_lp.c: fixed bug in blanks backscanning (found by Theo Engel)
558
559 h316_stddev.c: fixed bugs in punch state handling (found by Theo Engel)
560
561 i1401_cpu.c: fixed bug in divide (reported by Van Snyder)
562
563 i16_cpu.c: fixed bug in DH (found by Mark Hittinger)
564
565 i32_cpu.c:
566 - fixed bug in DH (found by Mark Hittinger)
567 - added support for 8 register banks in 8/32
568
569 i7094: first release
570
571 id_io.c: fixed bug, GO preserves EXA and SSTA (found by Davis Johnson)
572
573 id_idc.c:
574 - fixed WD/WH handling (found by Davis Johnson)
575 - fixed bug, nop command should be ignored (found by Davis Johnson)
576
577 nova_cpu.c: fixed bug in DIVS (found by Mark Hittinger)
578
579 pdp11_cis.c: (all reported by John Dundas)
580 - fixed bug in decode table
581 - fixed bug in ASHP
582 - fixed bug in write decimal string with mmgt enabled
583 - fixed bug in 0-length strings in multiply/divide
584
585 pdp11_cpu.c: fixed order of operand fetching in XOR for SDSD models
586
587 pdp11_cr.c: added CR11/CD11 support
588
589 pdp11_tc.c:
590 - fixed READ to set extended data bits in TCST (found by Alan Frisbie)
591
592 vax780_fload.c: added FLOAD command
593
594 vax780_sbi.c: fixed writes to ACCS
595
596 vax780_stddev.c: revised timer logic for EVKAE (reported by Tim Stark)
597
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
607
608 vax_cpu.c:
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
619
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
623
624 vax_cmode.c: (all reported by Tim Stark)
625 - fixed omission of SXT
626 - fixed order of operand fetching in XOR
627
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
639
640 vax_mmu.c:
641 - added access check on system PTE for 11/780
642
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
655
656
657 /* V3.5 revision history
658
659 patch date module(s) and fix(es)
660
661 2 07-Jan-06 scp.c:
662 - added breakpoint spaces
663 - added REG_FIT support
664
665 sim_console.c: added ASCII character processing routines
666
667 sim_tape.c, sim_tape.h:
668 - added write support for P7B format
669 - fixed bug in write forward (found by Dave Bryan)
670
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,
674 gri_stddev.c:
675 - revised to support new character handling routines
676
677 pdp10_rp.c: fixed DCLR not to clear disk address
678
679 pdp11_hk.c: fixed overlapped seek interaction with NOP, etc
680
681 pdp11_rh.c: added enable/disable routine
682
683 pdp11_rq.c, pdp11_tm.c, pdp11_tq.c, pdp11_ts.c
684 - widened address display to 64b when USE_ADDR64
685
686 pdp11_rp.c:
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
690
691 pdp11_tu.c:
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)
695
696 pdp8_df.c, pdp8_dt.c, pdp8_rf.c:
697 - fixed unaligned access bug (found by Doug Carman)
698
699 pdp8_rl.c: fixed IOT 61 decoding bug (found by David Gesswein)
700
701 vax_cpu.c:
702 - fixed breakpoint detection when USE_ADDR64 option is active
703 - fixed CVTfi to trap on integer overflow if PSW<iv> set
704
705 1 15-Oct-05 All CPU's, other sources: fixed declaration inconsistencies
706 (from Sterling Garwood)
707
708 i1401_cpu.c: added control for old/new character encodings
709
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
714
715 i1401_sys.c: changed WM character to ` under new encodings
716
717 i1620_cd.c, i1620_lpt.c, i1620_tty.c:
718 - changed character encodings to be consistent with 7094
719
720 pdp10_cpu.c: changed MOVNI to eliminate gcc warning
721
722 pdp11_io.c: fixed bug in autoconfiguration (missing XU)
723
724 vax_io.c: fixed bug in autoconfiguration (missing XU)
725
726 vax_fpa.c: fixed bug in 32b structure definitions (from Jason Stevens)
727
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++
730
731 all instruction histories: fixed reversed arguments to calloc
732
733 scp.c: revised to trim trailing spaces on file inputs
734
735 sim_sock.c: fixed SIGPIPE error on Unix
736
737 sim_ether.c: added Windows user-defined adapter names (from Timothe Litt)
738
739 sim_tape.c: fixed misallocation of TPC map array
740
741 sim_tmxr.c: added support for SET <unit> DISCONNECT
742
743 hp2100_mux.c: added SET MUXLn DISCONNECT
744
745 i1401_cpu.c:
746 - fixed SSB-SSG clearing on RESET (reported by Ralph Reinke)
747 - removed error stops in MCE
748
749 i1401_cd.c: fixed read, punch to ignore modifier on 1, 4 char inst
750 (reported by Van Snyder)
751
752 id_pas.c:
753 - fixed bug in SHOW CONN/STATS
754 - added SET PASLn DISCONNECT
755
756 pdp10_ksio.c: revised for new autoconfiguration interface
757
758 pdp11_cpu.c: replaced WAIT clock queue check with API call
759
760 pdp11_cpumod.c: added additional 11/60 registers
761
762 pdp11_io.c: revised autoconfiguration algorithm and interface
763
764 pdp11_dz.c: revised for new autoconfiguration interface
765
766 pdp11_vh.c:
767 - revised for new autoconfiguration interface
768 - fixed bug in vector display routine
769
770 pdp11_xu.c: fixed runt packet processing (found by Tim Chapman)
771
772 pdp18b_cpu.c, pdp18b_sys.c:
773 - removed spurious AAS instruction
774
775 pdp18b_tt1.c:
776 - fixed bug in SHOW CONN/STATS
777 - fixed bug in SET LOG/NOLOG
778 - added SET TTOXn DISCONNECT
779
780 pdp8_ttx.c:
781 - fixed bug in SHOW CONN/STATS
782 - fixed bug in SET LOG/NOLOG
783 - added SET TTOXn DISCONNECT
784
785 sds_mux.c:
786 - fixed bug in SHOW CONN/STATS
787 - added SET MUXLn DISCONNECT
788
789 vaxmod_defs.h: added QDSS support
790
791 vax_io.c: revised autoconfiguration algorithm and interface
792
793 /* V3.4 revision history
794
795 0 01-May-04 scp.c:
796 - fixed ASSERT code
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
800
801 sim_sock.h and sim_sock.c:
802 - added test for WSAEINPROGRESS (from Tim Riker)
803
804 many: revised detach routines to test for attached state
805
806 hp2100_cpu.c: reorganized CPU options (from Dave Bryan)
807
808 hp2100_cpu1.c: reorganized EIG routines (from Dave Bryan)
809
810 hp2100_fp1.c: added FFP support (from Dave Bryan)
811
812 id16_cpu.c:
813 - fixed bug in show history routine (from Mark Hittinger)
814 - revised examine/deposit to do words rather than bytes
815
816 id32_cpu.c:
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
820
821 id16_sys.c, id32_sys:
822 - revised examine/deposit to do words rather than bytes
823
824 pdp10_tu.c:
825 - fixed bug, ERASE and WREOF should not clear done (reported
826 by Rich Alderson)
827 - fixed error reporting
828
829 pdp11_tu.c: fixed error reporting
830
831 /* V3.3 revision history
832
833 2 08-Mar-05 scp.c: added ASSERT command (from Dave Bryan)
834
835 h316_defs.h: fixed IORETURN macro
836
837 h316_mt.c: fixed error reporting from OCP (found by Philipp Hachtmann)
838
839 h316_stddev.c: fixed bug in OCP '0001 (found by Philipp Hachtmann)
840
841 hp2100_cpu.c: split out EAU and MAC instructions
842
843 hp2100_cpu1.c: (from Dave Bryan)
844 - fixed missing MPCK on JRS target
845 - removed EXECUTE instruction (is NOP in actual microcode)
846
847 hp2100_fp: (from Dave Bryan)
848 - fixed missing negative overflow renorm in StoreFP
849
850 i1401_lp.c: fixed bug in write_line (reported by Van Snyder)
851
852 id32_cpu.c: fixed branches to mask new PC (from Greg Johnson)
853
854 pdp11_cpu.c: fixed bugs in RESET for 11/70 (reported by Tim Chapman)
855
856 pdp11_cpumod.c:
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)
860
861 pdp11_rq: added RA60, RA71, RA81 disks
862
863 pdp11_ry: fixed bug in boot code (reported by Graham Toal)
864
865 vax_cpu.c: fixed initial state of cpu_extmem
866
867 1 05-Jan-05 h316_cpu.c: fixed bug in DIV
868
869 h316_stddev.c:
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
874
875 h316_dp.c: fixed bug in skip on !seeking
876
877 h316_mt.c: fixed bug in DMA/DMC support
878
879 h316_lp.c: fixed bug in DMA/DMC support
880
881 hp2100_cpu.c:
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)
889
890 hp2100_ds.c: first release
891
892 hp2100_lps.c (all changes from Dave Bryan)
893 - added restart when set online, etc.
894 - fixed col count for non-printing chars
895
896 hp2100_lpt.c (all changes from Dave Bryan)
897 - added restart when set online, etc.
898
899 hp2100_sys.c (all changes from Dave Bryan):
900 - added STOP_OFFLINE, STOP_PWROFF messages
901
902 i1401_sys.c: added address argument support (from Van Snyder)
903
904 id_mt.c: added read-only file support
905
906 lgp_cpu.c, lgp_sys.c: modified VM pointer setup
907
908 pdp11_cpu.c: fixed WAIT to work in all modes (from John Dundas)
909
910 pdp11_tm.c, pdp11_ts.c: added read-only file support
911
912 sds_mt.c: added read-only file support
913
914 0 23-Nov-04 scp.c:
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
920
921 sim_console.c:
922 - moved SET/SHOW DEBUG under CONSOLE hierarchy
923
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
935
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
942 - fixed RAR model
943 - fixed seek check on 13210 if sector out of range
944
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
949 - fixed RAR model
950
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
964
965 hp2100_ipl.c, hp2100_ms.c: (all fixes by Dave Bryan)
966 - fixed enable/disable from either device
967
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
976
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
981
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
986
987 hp2100_sys.c: (all fixes by Dave Bryan)
988 - added memory protect device
989 - fixed display of CCA/CCB/CCE instructions
990
991 i1401_cpu.c: added =n to SHOW HISTORY
992
993 id16_cpu.c: added instruction history
994
995 id32_cpu.c: added =n to SHOW HISTORY
996
997 pdp10_defs.h: revised Unibus DMA API's
998
999 pdp10_ksio.c: revised Unibus DMA API's
1000
1001 pdp10_lp20.c: revised Unibus DMA API's
1002
1003 pdp10_rp.c: replicated register state per drive
1004
1005 pdp10_tu.c:
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
1012
1013 pdp11_defs.h:
1014 - revised Unibus/Qbus DMA API's
1015 - added CPU type and options flags
1016
1017 pdp11_cpumod.h, pdp11_cpumod.c:
1018 - new routines for setting CPU type and options
1019
1020 pdp11_io.c: revised Unibus/Qbus DMA API's
1021
1022 all PDP-11 DMA peripherals:
1023 - revised Unibus/Qbus DMA API's
1024
1025 pdp11_hk.c: CS2 OR must be zero for M+
1026
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
1031
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
1037
1038 pdp15_cpu.c: added =n to SHOW HISTORY
1039
1040 pdp15_fpp.c:
1041 - fixed URFST to mask low 9b of fraction
1042 - fixed exception PC setting
1043
1044 pdp8_cpu.c: added =n to SHOW HISTORY
1045
1046 vax_defs.h:
1047 - added octaword, compatibility mode support
1048
1049 vax_moddefs.h:
1050 - revised Unibus/Qbus DMA API's
1051
1052 vax_cpu.c:
1053 - moved processor-specific code to vax_sysdev.c
1054 - added =n to SHOW HISTORY
1055
1056 vax_cpu1.c:
1057 - moved processor-specific IPR's to vax_sysdev.c
1058 - moved emulation trap to vax_cis.c
1059 - added support for compatibility mode
1060
1061 vax_cis.c: new full VAX CIS instruction emulator
1062
1063 vax_octa.c: new full VAX octaword and h_floating instruction emulator
1064
1065 vax_cmode.c: new full VAX compatibility mode instruction emulator
1066
1067 vax_io.c:
1068 - revised Unibus/Qbus DMA API's
1069
1070 vax_io.c, vax_stddev.c, vax_sysdev.c:
1071 - integrated powerup into RESET (with -p)
1072
1073 vax_sys.c:
1074 - fixed bugs in parsing indirect displacement modes
1075 - fixed bugs in displaying and parsing character data
1076
1077 vax_syscm.c: added display and parse for compatibility mode
1078
1079 vax_syslist.c:
1080 - split from vax_sys.c
1081 - removed PTR, PTP
1082
1083 /* V3.2 revision history
1084
1085 3 03-Sep-04 scp.c:
1086 - added ECHO command (from Dave Bryan)
1087 - qualified RESTORE detach with SIM_SW_REST
1088
1089 sim_console: added OS/2 EMX fixes (from Holger Veit)
1090
1091 sim_sock.h: added missing definition for OS/2 (from Holger Veit)
1092
1093 hp2100_cpu.c: changed error stops to report PC not PC + 1
1094 (from Dave Bryan)
1095
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
1102
1103 hp2100_dr.c: fixed CLC to stop operation (from Dave Bryan)
1104
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
1115
1116 hp2100_mt.c: modified handling of end of medium (from Dave Bryan)
1117
1118 hp2100_stddev.c: added tab to control char set (from Dave Bryan)
1119
1120 pdp11_rq.c: VAX controllers luns start at 0 (from Andreas Cejna)
1121
1122 vax_cpu.c: fixed bug in EMODD/G, second word of quad dst not probed
1123
1124 2 17-Jul-04 scp.c: fixed problem ATTACHing to read only files
1125 (found by John Dundas)
1126
1127 sim_console.c: revised Windows console code (from Dave Bryan)
1128
1129 sim_fio.c: fixed problem in big-endian read
1130 (reported by Scott Bailey)
1131
1132 gri_cpu.c: updated MSR, EAO functions
1133
1134 hp_stddev.c: generalized handling of control char echoing
1135 (from Dave Bryan)
1136
1137 vax_sys.c: fixed bad block initialization routine
1138
1139 1 10-Jul-04 scp.c: added SET/SHOW CONSOLE subhierarchy
1140
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
1158
1159 all HP2100 peripherals:
1160 - revised to make SFS x,C and SFC x,C work
1161 - revised to separate SRQ from FLG
1162
1163 all HP2100 IBL bootable peripherals:
1164 - revised boot ROMs to use IBL facility
1165 - revised SR values to preserve SR<5:3>
1166
1167 hp2100_lps.c, hp2100_lpt.c: fixed timing
1168
1169 hp2100_dp.c: fixed interpretation of SR<0>
1170
1171 hp2100_dr.c: revised boot code to use IBL algorithm
1172
1173 hp2100_mt.c, hp2100_ms.c: fixed spurious timing error after CLC
1174 (found by Dave Bryan)
1175
1176 hp2100_stddev.c:
1177 - fixed input behavior during typeout for RTE-IV
1178 - suppressed nulls on TTY output for RTE-IV
1179
1180 hp2100_sys.c: added SFS x,C and SFC x,C to print/parse routines
1181
1182 pdp10_fe.c, pdp11_stddev.c, pdp18b_stddev.c, pdp8_tt.c, vax_stddev.c:
1183 - removed SET TTI CTRL-C option
1184
1185 pdp11_tq.c:
1186 - fixed bug in reporting write protect (reported by Lyle Bickley)
1187 - fixed TK70 model number and media ID (found by Robert Schaffrath)
1188
1189 pdp11_vh.c: added DHQ11 support (from John Dundas)
1190
1191 pdp11_io.c, vax_io.c: fixed DHQ11 autoconfigure (from John Dundas)
1192
1193 pdp11_sys.c, vax_sys.c: added DHQ11 support (from John Dundas)
1194
1195 vax_cpu.c: fixed bug in DIVBx, DIVWx (reported by Peter Trimmel)
1196
1197 0 04-Apr-04 scp.c:
1198 - added sim_vm_parse_addr and sim_vm_fprint_addr
1199 - added REG_VMAD
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
1205
1206 sim_ether.c:
1207 - further generalizations (Dave Hittner, Mark Pizzolato)
1208
1209 sim_tmxr.h, sim_tmxr.c:
1210 - added tmxr_linemsg
1211 - changed TMXR definition to support variable number of lines
1212
1213 sim_libraries:
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)
1217
1218 all terminal multiplexors: revised for tmxr library changes
1219
1220 all DECtapes:
1221 - added STOP_EOR to enable end-of-reel stop
1222 - revised for device debug support
1223
1224 all variable-sized devices: revised for sim_fsize change
1225
1226 eclipse_cpu.c, nova_cpu.c: fixed device enable/disable support
1227 (found by Bruce Ray)
1228
1229 nova_defs.h, nova_sys.c, nova_qty.c:
1230 - added QTY and ALM support (Bruce Ray)
1231
1232 id32_cpu.c, id_dp.c: revised for device debug support
1233
1234 lgp: added LGP-30 [LGP-21] simulator
1235
1236 pdp1_sys.c: fixed bug in LOAD (found by Mark Crispin)
1237
1238 pdp10_mdfp.c:
1239 - fixed bug in floating unpack
1240 - fixed bug in FIXR (found by Philip Stone, fixed by Chris Smith)
1241
1242 pdp11_dz.c: added per-line logging
1243
1244 pdp11_rk.c:
1245 - added formatting support
1246 - added address increment inhibit support
1247 - added transfer overrun detection
1248
1249 pdp11_hk.c, pdp11_rp.c: revised for device debug support
1250
1251 pdp11_rq.c: fixed bug in interrupt control (found by Tom Evans)
1252
1253 pdp11_ry.c: added VAX support
1254
1255 pdp11_tm.c, pdp11_tq.c, pdp11_ts.c: revised for device debug support
1256
1257 pdp11_xu.c: replaced stub with real implementation (Dave Hittner)
1258
1259 pdp18b_cpu.c:
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
1263
1264 pdp18b_fpp.c: fixed bugs in instruction decode
1265
1266 pdp18b_stddev.c:
1267 - fixed clock response to CAF
1268 - fixed bug in hardware read-in mode bootstrap
1269
1270 pdp18b_sys.c: fixed XVM instruction decoding errors
1271
1272 pdp18b_tt1.c: added support for 1-16 additional terminals
1273
1274 vax_moddef.h, vax_cpu.c, vax_sysdev.c:
1275 - added extended physical memory support (Mark Pizzolato)
1276 - added RXV21 support
1277
1278 vax_cpu1.c:
1279 - added PC read fault in EXTxV
1280 - fixed PC write fault in INSV
1281
1282 /* V3.1 revision history
1283
1284 0 29-Dec-03 sim_defs.h, scp.c: added output stall status
1285
1286 all console emulators: added output stall support
1287
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
1293
1294 all memory buffered devices (fixed head disks, floppy disks):
1295 - cleaned up buffer copy code
1296
1297 all DECtapes:
1298 - fixed reverse checksum in read all
1299 - added DECtape off reel message
1300 - simplified timing
1301
1302 eclipse_cpu.c (Charles Owen):
1303 - added floating point support
1304 - added programmable interval timer support
1305 - bug fixes
1306
1307 h316_cpu.c:
1308 - added instruction history
1309 - added DMA/DMC support
1310 - added device ENABLE/DISABLE support
1311 - change default to HSA option included
1312
1313 h316_dp.c: added moving head disk support
1314
1315 h316_fhd.c: added fixed head disk support
1316
1317 h316_mt.c: added magtape support
1318
1319 h316_sys.c: added new device support
1320
1321 nova_dkp.c (Charles Owen):
1322 - fixed bug in flag clear sequence
1323 - added diagnostic mode support for disk sizing
1324
1325 ` nova_mt.c (Charles Owen):
1326 - fixed bug, space operations return record count
1327 - fixed bug, reset doesn't cancel rewind
1328
1329 nova_sys.c: added floating point, timer support (from Charles Owen)
1330
1331 i1620_cpu.c: fixed bug in branch digit (found by Dave Babcock)
1332
1333 pdp1_drm.c:
1334 - added parallel drum support
1335 - fixed bug in serial drum instructin decoding
1336
1337 pdp1_sys.c: added parallel drum support, mnemonics
1338
1339 pdp11_cpu.c:
1340 - added autoconfiguration controls
1341 - added support for 18b-only Qbus devices
1342 - cleaned up addressing/bus definitions
1343
1344 pdp11_rk.c, pdp11_ry.c, pdp11_tm.c, pdp11_hk.c:
1345 - added Q18 attribute
1346
1347 pdp11_io.c:
1348 - added autoconfiguration controls
1349 - fixed bug in I/O configuration (found by Dave Hittner)
1350
1351 pdp11_rq.c:
1352 - revised MB->LBN conversion for greater accuracy
1353 - fixed bug with multiple RAUSER drives
1354
1355 pdp11_tc.c: changed to be off by default (base config is Qbus)
1356
1357 pdp11_xq.c (Dave Hittner, Mark Pizzolato):
1358 - fixed second controller interrupts
1359 - fixed bugs in multicast and promiscuous setup
1360
1361 pdp18b_cpu.c:
1362 - added instruction history
1363 - fixed PDP-4,-7,-9 autoincrement bug
1364 - change PDP-7,-9 default to API option included
1365
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
1370
1371 pdp8_cpu.c: added instruction history
1372
1373 pdp8_rx.c:
1374 - fixed bug in RX28 read status (found by Charles Dickman)
1375 - fixed double density write
1376
1377 pdp8_td.c: added TD8E controller
1378
1379 pdp8_tsc.c: added TSC8-75 option
1380
1381 vax_cpu.c:
1382 - revised instruction history for dynamic sizing
1383 - added autoconfiguration controls
1384
1385 vax_io.c:
1386 - added autoconfiguration controls
1387 - fixed bug in I/O configuration (found by Dave Hittner)
1388
1389 id16_cpu.c: revised instruction decoding
1390
1391 id32_cpu.c:
1392 - revised instruction decoding
1393 - added instruction history
1394
1395 /* V3.0 revision history
1396
1397 2 15-Sep-03 scp.c:
1398 - fixed end-of-file problem in dep, idep
1399 - fixed error on trailing spaces in dep, idep
1400
1401 pdp1_stddev.c
1402 - fixed system hang if continue after PTR error
1403 - added PTR start/stop functionality
1404 - added address switch functionality to PTR BOOT
1405
1406 pdp1_sys.c: added multibank capability to LOAD
1407
1408 pdp18b_cpu.c:
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
1412
1413 i1401_mt.c:
1414 - fixed tape read end-of-record handling based on real 1401
1415 - added diagnostic read (space forward)
1416
1417 i1620_cpu.c
1418 - fixed bug in immediate index add (found by Michael Short)
1419
1420 1 27-Jul-03 pdp1_cpu.c: updated to detect indefinite I/O wait
1421
1422 pdp1_drm.c: fixed incorrect logical, missing activate, break
1423
1424 pdp1_lp.c:
1425 - fixed bugs in instruction decoding, overprinting
1426 - updated to detect indefinite I/O wait
1427
1428 pdp1_stddev.c:
1429 - changed RIM loader to be "hardware"
1430 - updated to detect indefinite I/O wait
1431
1432 pdp1_sys.c: added block loader format support to LOAD
1433
1434 pdp10_rp.c: fixed bug in read header
1435
1436 pdp11_rq: fixed bug in user disk size (found by Chaskiel M Grundman)
1437
1438 pdp18b_cpu.c:
1439 - added FP15 support
1440 - added XVM 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
1445
1446 pdp18b_fpp.c: added FP15
1447
1448 pdp18b_lp.c: fixed bug in Type 62 overprinting
1449
1450 pdp18b_rf.c: fixed bug in set size routine
1451
1452 pdp18b_stddev.c:
1453 - increased PTP TIME for PDP-15 operating systems
1454 - added hardware RIM loader for PDP-7, PDP-9, PDP-15
1455
1456 pdp18b_sys.c: added FP15, KT15, XVM instructions
1457
1458 pdp8b_df.c, pdp8_rf.c: fixed bug in set size routine
1459
1460 hp2100_dr.c:
1461 - fixed drum sizes
1462 - fixed variable capacity interaction with SAVE/RESTORE
1463
1464 i1401_cpu.c: revised fetch to model hardware more closely
1465
1466 ibm1130: fixed bugs found by APL 1130
1467
1468 nova_dsk.c: fixed bug in set size routine
1469
1470 altairz80: fixed bug in real-time clock on Windows host
1471
1472 0 15-Jun-03 scp.c:
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
1478
1479 scp_tty.c: added extended file seek
1480
1481 sim_sock.c: fixed calling sequence in stubs
1482
1483 sim_tape.c:
1484 - added E11 and TPC format support
1485 - added extended file support
1486
1487 sim_tmxr.c: fixed bug in SHOW CONNECTIONS
1488
1489 all magtapes:
1490 - added multiformat support
1491 - added extended file support
1492
1493 i1401_cpu.c:
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
1500
1501 i1401_mt.c: fixed load-mode end of record response
1502
1503 nova_dsk.c: fixed variable size interaction with restore
1504
1505 pdp1_dt.c: fixed variable size interaction with restore
1506
1507 pdp10_rp.c: fixed ordering bug in attach
1508
1509 pdp11_cpu.c:
1510 - fixed bug in MMR1 update (found by Tim Stark)
1511 - fixed bug in memory size table
1512
1513 pdp11_lp.c, pdp11_rq.c: added extended file support
1514
1515 pdp11_rl.c, pdp11_rp.c, pdp11_ry.c: fixed ordering bug in attach
1516
1517 pdp11_tc.c: fixed variable size interaction with restore
1518
1519 pdp11_xq.c:
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
1527
1528 vax_fpa.c:
1529 - fixed integer overflow bug in CVTfi
1530 - fixed multiple bugs in EMODf
1531
1532 vax_io.c: optimized byte and word DMA routines
1533
1534 vax_sysdev.c:
1535 - added calibrated delay to ROM reads (from Mark Pizzolato)
1536 - fixed calibration problems in interval timer (from Mark Pizzolato)
1537
1538 pdp1_dt.c: fixed variable size interaction with restore
1539
1540 pdp18b_dt.c: fixed variable size interaction with restore
1541
1542 pdp18b_mt.c: fixed bug in MTTR
1543
1544 pdp18b_rf.c: fixed variable size interaction with restore
1545
1546 pdp8_df.c, pdp8_rf.c: fixed variable size interaction
1547 with restore
1548
1549 pdp8_dt.c: fixed variable size interaction with restore
1550
1551 pdp8_mt.c: fixed bug in SKTR
1552
1553 hp2100_dp.c,hp2100_dq.c:
1554 - fixed bug in read status (13210A controller)
1555 - fixed bug in seek completion
1556
1557 id_pt.c: fixed type declaration (found by Mark Pizzolato)
1558
1559 gri_cpu.c: fixed bug in SC queue pointer management
1560
1561 /* V2.10 revision history
1562
1563 4 03-Mar-03 scp.c
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
1568
1569 sim_tape.c: magtape simulation library
1570
1571 h316_stddev.c: added set line frequency command
1572
1573 hp2100_mt.c, hp2100_ms.c: revised to use magtape library
1574
1575 i1401_mt.c: revised to use magtape library
1576
1577 id_dp.c, id_idc.c: fixed cylinder overflow on writes
1578
1579 id_mt.c:
1580 - fixed error handling to stop selector channel
1581 - revised to use magtape library
1582
1583 id16_sys.c, id32_sys.c: added relative addressing support
1584
1585 id_uvc.c:
1586 - added set frequency command to line frequency clock
1587 - improved calibration algorithm for precision clock
1588
1589 nova_clk.c: added set line frequency command
1590
1591 nova_dsk.c: fixed autosizing algorithm
1592
1593 nova_mt.c: revised to use magtape library
1594
1595 pdp10_tu.c: revised to use magtape library
1596
1597 pdp11_cpu.c: fixed bug in MMR1 update (found by Tim Stark)
1598
1599 pdp11_stddev.c
1600 - added set line frequency command
1601 - added set ctrl-c command
1602
1603 pdp11_rq.c:
1604 - fixed ordering problem in queue process
1605 - fixed bug in vector calculation for VAXen
1606 - added user defined drive support
1607
1608 pdp11_ry.c: fixed autosizing algorithm
1609
1610 pdp11_tm.c, pdp11_ts.c: revised to use magtape library
1611
1612 pdp11_tq.c:
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
1618
1619 pdp18b_cpu.c: fixed three EAE bugs (found by Hans Pufal)
1620
1621 pdp18b_mt.c:
1622 - fixed bugs in BOT error handling, interrupt handling
1623 - revised to use magtape library
1624
1625 pdp18b_rf.c:
1626 - removed 22nd bit from disk address
1627 - fixed autosizing algorithm
1628
1629 pdp18b_stddev.c:
1630 - added set line frequency command
1631 - added set ctrl-c command
1632
1633 pdp18b_sys.c: fixed FMTASC printouts (found by Hans Pufal)
1634
1635 pdp8_clk.c: added set line frequency command
1636
1637 pdp8_df.c, pdp8_rf.c, pdp8_rx.c: fixed autosizing algorithm
1638
1639 pdp8_mt.c:
1640 - fixed bug in BOT error handling
1641 - revised to use magtape library
1642
1643 pdp8_tt.c: added set ctrl-c command
1644
1645 sds_cpu.c: added set line frequency command
1646
1647 sds_mt.c: revised to use magtape library
1648
1649 vax_stddev.c: added set ctrl-c command
1650
1651 3 06-Feb-03 scp.c:
1652 - added dynamic extension of the breakpoint table
1653 - added breakpoint actions
1654
1655 hp2100_cpu.c: fixed last cycle bug in DMA output (found by
1656 Mike Gemeny)
1657
1658 hp2100_ipl.c: individual links are full duplex (found by
1659 Mike Gemeny)
1660
1661 pdp11_cpu.c: changed R, SP to track PSW<rs,cm> respectively
1662
1663 pdp18b_defs.h, pdp18b_sys.c: added RB09 fixed head disk,
1664 LP09 printer
1665
1666 pdp18b_rf.c:
1667 - fixed IOT decoding (found by Hans Pufal)
1668 - fixed address overrun logic
1669 - added variable number of platters and autosizing
1670
1671 pdp18b_rf.c:
1672 - fixed IOT decoding
1673 - fixed bug in command initiation
1674
1675 pdp18b_rb.c: new RB09 fixed head disk
1676
1677 pdp18b_lp.c: new LP09 line printer
1678
1679 pdp8_df.c: added variable number of platters and autosizing
1680
1681 pdp8_rf.c: added variable number of platters and autosizing
1682
1683 nova_dsk.c: added variable number of platters and autosizing
1684
1685 id16_cpu.c: fixed bug in SETM, SETMR (found by Mark Pizzolato)
1686
1687 2 15-Jan-03 scp.c:
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)
1693
1694 sim_tmxr.c:
1695 - fixed bugs in IAC+IAC handling (from Mark Pizzolato)
1696 - added IAC+BRK handling (from Mark Pizzolato)
1697
1698 sim_sock.c:
1699 - added use count for Windows start/stop
1700 - added sim_connect_sock
1701
1702 pdp1_defs.h, pdp1_cpu.c, pdp1_sys.c, pdp1_drm.c:
1703 added Type 24 serial drum
1704
1705 pdp18_defs.h: added PDP-4 drum support
1706
1707 hp2100_cpu.c: added 21MX IOP support
1708
1709 hp2100_ipl.c: added HP interprocessor link support
1710
1711 pdp11_tq.c: fixed bug in transfer end packet length
1712
1713 pdp11_xq.c:
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
1718
1719 pdp11_stddev.c: changed default to 7b (for early UNIX)
1720
1721 vax_cpu.c, vax_io.c, vax_stddev.c, vax_sysdev.c:
1722 added console halt capability (from Mark Pizzolato)
1723
1724 all terminals and multiplexors: added BREAK support
1725
1726 1 21-Nov-02 pdp1_stddev.c: changed typewriter to half duplex
1727 (found by Derek Peschel)
1728
1729 pdp10_tu.c:
1730 - fixed bug in bootstrap (reported by Michael Thompson)
1731 - fixed bug in read (reported by Harris Newman)
1732
1733 0 15-Nov-02 SCP and libraries
1734 scp.c:
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
1747 scp_tty.c:
1748 - removed VT emulation support
1749 - added sim_os_sleep, renamed sim_poll_kbd, sim_putchar
1750 sim_tmxr.c:
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)
1755
1756 all magtapes:
1757 - added support for end of medium
1758 - cleaned up BOT handling
1759
1760 all DECtapes: added support for RT11 image file format
1761
1762 most terminals and multiplexors:
1763 - added support for 7b vs 8b character processing
1764
1765 PDP-1
1766 pdp1_cpu.c, pdp1_sys.c, pdp1_dt.c: added PDP-1 DECtape support
1767
1768 PDP-8
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
1773
1774 PDP-11
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
1781 pdp11_rq.c:
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
1790 pdp11_ts.c:
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
1794
1795 PDP-18b
1796 pdp18b_cpu.c, all peripherals:
1797 - added variable device number support
1798 - added new device enabled/disabled support
1799
1800 VAX
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
1806 vax_sys.c:
1807 - generalized examine/deposit
1808 - added TMSCP, multiple RQDX3, DEQNA/DELQA support
1809 vax_stddev.c: removed paper tape, now uses PDP-11 version
1810 vax_sysdev.c:
1811 - allowed NVR to be attached to file
1812 - removed unused variables (found by David Hittner)
1813
1814 PDP-10
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
1821
1822 Nova, Eclipse:
1823 nova_cpu.c, eclipse_cpu.c, all peripherals:
1824 - added new device enable/disable support
1825
1826 HP2100
1827 hp2100_cpu:
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
1832 hp2100_fp.c:
1833 - recoded to conform to 21MX microcode algorithms
1834 hp2100_stddev.c:
1835 - fixed bugs in TTY reset, OTA, time base generator
1836 - revised BOOT support to conform to RBL loader
1837 - added clock calibration
1838 hp2100_dp.c:
1839 - changed default to 13210A
1840 - added BOOT support
1841 hp2100_dq.c:
1842 - finished incomplete functions, fixed head switching
1843 - added BOOT support
1844 hp2100_ms.c:
1845 - fixed bugs found by diagnostics
1846 - added 13183 support
1847 - added BOOT support
1848 hp2100_mt.c:
1849 - fixed bugs found by diagnostics
1850 - disabled by default
1851 hp2100_lpt.c: implemented 12845A controller
1852 hp2100_lps.c:
1853 - renamed 12653A controller
1854 - added diagnostic mode for MPR, DCPC diagnostics
1855 - disabled by default
1856
1857 IBM 1620: first release
1858
1859 /* V2.9 revision history
1860
1861 11 20-Jul-02 i1401_mt.c: on read, end of record stores group mark
1862 without word mark (found by Van Snyder)
1863
1864 i1401_dp.c: reworked address generation and checking
1865
1866 vax_cpu.c: added infinite loop detection and halt to
1867 boot ROM option (from Mark Pizzolato)
1868
1869 vax_fpa.c: changed function names to prevent conflict
1870 with C math library
1871
1872 pdp11_cpu.c: fixed bug in MMR0 update logic (from
1873 John Dundas)
1874
1875 pdp18b_stddev.c: added "ASCII mode" for reader and
1876 punch (from Hans Pufal)
1877
1878 gri_*.c: added GRI-909 simulator
1879
1880 scp.c: added DO echo, DO exit (from Brian Knittel)
1881
1882 scp_tty.c: added Windows priority hacking (from
1883 Mark Pizzolato)
1884
1885 10 15-Jun-02 scp.c: fixed error checking on calls to fxread/fxwrite
1886 (found by Norm Lastovic)
1887
1888 scp_tty.c, sim_vt.h, sim_vt.c: added VTxxx emulation
1889 support for Windows (from Fischer Franz)
1890
1891 sim_sock.c: added OS/2 support (from Holger Veit)
1892
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
1897
1898 i1401_cpu.c:
1899 - added multiply/divide
1900 - fixed bugs (found by Van Snyder)
1901 o 5 and 7 character H, 7 character doesn't branch
1902 o 8 character NOP
1903 o 1401-like memory dump
1904
1905 i1401_dp.c: added 1311 disk
1906
1907 9 04-May-02 pdp11_rq: fixed bug in polling routine
1908
1909 8 03-May-02 scp.c:
1910 - changed LOG/NOLOG to SET LOG/NOLOG
1911 - added SHOW LOG
1912 - added SET VT/NOVT and SHOW VT for VT emulation
1913
1914 sim_sock.h: changed VMS stropt.h include to ioctl.h
1915
1916 vax_cpu.c
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
1920
1921 vax_stddev.c: added TODR powerup routine
1922
1923 vax_cpu1.c: fixed exception flows to clear trap request
1924
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)
1927
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
1941
1942 pdp11_rp.c: fixed SHOW ADDRESS command
1943
1944 vaxmod_defs.h: fixed DZ vector base and number of lines
1945
1946 dec_dz.h:
1947 - fixed interrupt acknowledge routines
1948 - fixed SHOW ADDRESS command
1949
1950 all magtape routines: added test for badly formed
1951 record length (suggested by Jonathan Engdahl)
1952
1953 6 18-Apr-02 vax_cpu.c: fixed CASEL condition codes
1954
1955 vax_cpu1.c: fixed vfield pos > 31 test to be unsigned
1956
1957 vax_fpu.c: fixed EDIV overflow test for 0 quotient
1958
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)
1962
1963 4 1-Apr-02 pdp11_rq.c: fixed bug, reset cleared write protect status
1964
1965 pdp11_ts.c: fixed bug in residual frame count after space
1966
1967 3 15-Mar-02 pdp11_defs.h: changed default model to KDJ11A (11/73)
1968
1969 pdp11_rq.c: adjusted delays for M+ timing bugs
1970
1971 hp2100_cpu.c, pdp10_cpu.c, pdp11_cpu.c: tweaked abort
1972 code for ANSI setjmp/longjmp compliance
1973
1974 hp2100_cpu.c, hp2100_fp.c, hp2100_stddev.c, hp2100_sys.c:
1975 revised to allocate memory dynamically
1976
1977 2 01-Mar-02 pdp11_cpu.c:
1978 - fixed bugs in CPU registers
1979 - fixed double operand evaluation order for M+
1980
1981 pdp11_rq.c: added delays to initialization for
1982 RSX11M+ prior to V4.5
1983
1984 1 20-Feb-02 scp.c: fixed bug in clock calibration when (real)
1985 time runs backwards
1986
1987 pdp11_rq.c: fixed bug in host timeout logic
1988
1989 pdp11_ts.c: fixed bug in message header logic
1990
1991 pdp18b_defs.h, pdp18b_dt.c, pdp18b_sys.c: added
1992 PDP-7 DECtape support
1993
1994 hp2100_cpu.c:
1995 - added floating point and DMS
1996 - fixed bugs in DIV, ASL, ASR, LBT, SBT, CBT, CMW
1997
1998 hp2100_sys.c: added floating point, DMS
1999
2000 hp2100_fp.c: added floating point
2001
2002 ibm1130: added Brian Knittel's IBM 1130 simulator
2003
2004 0 30-Jan-02 scp.c:
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
2010
2011 scp_tty.c: VAX specific fix (from Robert Alan Byer)
2012
2013 sim_tmxr.c, sim_tmxr.h:
2014 - added tmxr_fstats, tmxr_dscln
2015 - renamed tmxr_fstatus to tmxr_fconns
2016
2017 sim_sock.c, sim_sock.h: added VMS support (from
2018 Robert Alan Byer)
2019
2020 pdp_dz.h, pdp18b_tt1.c, nova_tt1.c:
2021 - added SET DISCONNECT
2022 - added SHOW STATISTICS
2023
2024 pdp8_defs.h: fixed bug in interrupt enable initialization
2025
2026 pdp8_ttx.c: rewrote as unified multiplexor
2027
2028 pdp11_cpu.c: fixed calc_MMR1 macro (found by Robert Alan Byer)
2029
2030 pdp11_stddev.c: fixed bugs in KW11L (found by John Dundas)
2031
2032 pdp11_rp.c: fixed bug in 18b mode boot
2033
2034 pdp11 bootable I/O devices: fixed register setup at boot
2035 exit (found by Doug Carman)
2036
2037 hp2100_cpu.c:
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)
2041
2042 hp2100_mt.c: fixed bug on write of last character
2043
2044 hp2100_dq,dr,ms,mux.c: added new disk, magtape, and terminal
2045 multiplexor controllers
2046
2047 i1401_cd.c, i1401_mt.c: new zero footprint bootstraps
2048 (from Van Snyder)
2049
2050 i1401_sys.c: fixed symbolic display of H, NOP with no trailing
2051 word mark (found by Van Snyder)
2052
2053 most CPUs:
2054 - replaced OLDPC with PC queue
2055 - implemented device enable/disable locally
2056
2057 V2.8 revision history
2058
2059 5 25-Dec-01 scp.c: fixed bug in DO command (found by John Dundas)
2060
2061 pdp10_cpu.c:
2062 - moved trap-in-progress to separate variable
2063 - cleaned up declarations
2064 - cleaned up volatile state for GNU C longjmp
2065
2066 pdp11_cpu.c: cleaned up declarations
2067
2068 pdp11_rq.c: added RA-class disks
2069
2070 4 17-Dec-01 pdp11_rq.c: added delayed processing of packets
2071
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
2076
2077 2 07-Dec-01 scp.c: added breakpoint package
2078
2079 all CPU's: revised to use new breakpoint package
2080
2081 1 05-Dec-01 scp.c: fixed bug in universal register name logic
2082
2083 0 30-Nov-01 Reorganized simh source and documentation tree
2084
2085 scp: Added DO command, universal registers, extended
2086 SET/SHOW logic
2087
2088 pdp11: overhauled PDP-11 for DMA map support, shared
2089 sources with VAX, dynamic buffer allocation
2090
2091 18b pdp: overhauled interrupt structure
2092
2093 pdp8: added RL8A
2094
2095 pdp10: fixed two ITS-related bugs (found by Dave Conroy)
2096
2097 V2.7 revision history
2098
2099 patch date module(s) and fix(es)
2100
2101 15 23-Oct-01 pdp11_rp.c, pdp10_rp.c, pdp10_tu.c: fixed bugs
2102 error interrupt handling
2103
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
2107
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
2111
2112 13 18-Oct-01 pdp11_tm.c: added stub diagnostic register clock
2113 for RSTS/E (found by Thord Nilson)
2114
2115 12 15-Oct-01 pdp11_defs.h, pdp11_cpu.c, pdp11_tc.c, pdp11_ts.c,
2116 pdp11_rp.c: added operations logging
2117
2118 11 8-Oct-01 scp.c: added sim_rev.h include and version print
2119
2120 pdp11_cpu.c: fixed bug in interrupt acknowledge,
2121 multiple outstanding interrupts caused the lowest
2122 rather than the highest to be acknowledged
2123
2124 10 7-Oct-01 pdp11_stddev.c: added monitor bits (CSR<7>) for full
2125 KW11L compatibility, needed for RSTS/E autoconfiguration
2126
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
2129
2130 dec_dz.c: fixed bug in carrier detect logic, carrier
2131 detect was being cleared on next modem poll
2132
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
2136 DONE is set
2137
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
2140 interrupt request
2141
2142 6 30-Sep-01 pdp11_rp.c, pdp10_rp.c: separated out CS1<5:0> to per-
2143 drive registers
2144
2145 pdp10_tu.c: based on above, cleaned up handling of
2146 non-existent formatters, fixed non-data transfer
2147 commands clearing DONE
2148
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
2152
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
2157
2158 pdp11_tc.c: stop, stop all do cause an interrupt
2159
2160 dec_dz.h: scanner should find a ready output line, even
2161 if there are no connections; needed for RSTS/E autoconfigure
2162
2163 scp.c:
2164 - added routine sim_qcount for 1130
2165 - added "simulator exit" detach routine for 1130
2166
2167 sim_defs.h: added header for sim_qcount
2168
2169 3 20-Sep-01 pdp11_ts.c: boot code binary was incorrect
2170
2171 2 19-Sep-01 pdp18b_cpu.c: EAE should interpret initial count of 00
2172 as 100
2173
2174 scp.c: modified Macintosh support
2175
2176 1 17-Sep-01 pdp8_ttx.c: new module for PDP-8 multi-terminal support
2177
2178 pdp18b_tt1.c: modified to use sim_tmxr library
2179
2180 nova_tt1.c: modified to use sim_tmxr library
2181
2182 dec_dz.h: added autodisconnect support
2183
2184 scp.c: removed old multiconsole support
2185
2186 sim_tmxr.c: modified calling sequence for sim_putchar_ln
2187
2188 sim_sock.c: added Macintosh sockets support
2189 */
2190
2191 #endif