mirror of
https://github.com/simh/simh.git
synced 2026-02-16 12:44:09 +00:00
Notes For V3.6-0
The save/restore format has been updated to improve its reliability. As a result, save files prior to release 3.0 are no longer supported. The text documentation files are obsolete and are no longer included with the distribution. Up-to-date PDF documentation files are available on the SimH web site. 1. New Features 1.1 3.6-0 1.1.1 Most magnetic tapes - Added support for limiting tape capacity to a particular size in MB 1.1.2 IBM 7090/7094 - First release 1.1.3 VAX-11/780 - Added FLOAD command, loads system file from console floppy disk 1.1.4 VAX, VAX-11/780, and PDP-11 - Added card reader support (from John Dundas) 1.1.5 PDP-11 - Added instruction history 2. Bugs Fixed Please see the revision history on http://simh.trailing-edge.com or in the source module sim_rev.h.
This commit is contained in:
committed by
Mark Pizzolato
parent
a12e4a1c39
commit
dc871fa631
@@ -1,6 +1,6 @@
|
||||
/* id16_cpu.c: Interdata 16b CPU simulator
|
||||
|
||||
Copyright (c) 2000-2005, Robert M. Supnik
|
||||
Copyright (c) 2000-2006, Robert M. Supnik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
@@ -25,6 +25,7 @@
|
||||
|
||||
cpu Interdata 16b CPU
|
||||
|
||||
06-Feb-06 RMS Fixed bug in DH (found by Mark Hittinger)
|
||||
22-Sep-05 RMS Fixed declarations (from Sterling Garwood)
|
||||
25-Aug-05 RMS Fixed DH integer overflow cases
|
||||
16-Aug-05 RMS Fixed C++ declaration and cast problems
|
||||
@@ -169,6 +170,7 @@ typedef struct {
|
||||
uint16 opnd;
|
||||
} InstHistory;
|
||||
|
||||
#define PSW_GETMAP(x) (((x) >> PSW_V_MAP) & PSW_M_MAP)
|
||||
#define SEXT16(x) (((x) & SIGN16)? ((int32) ((x) | 0xFFFF8000)): \
|
||||
((int32) ((x) & 0x7FFF)))
|
||||
#define CC_GL_16(x) if ((x) & SIGN16) cc = CC_L; \
|
||||
@@ -1058,7 +1060,7 @@ while (reason == 0) { /* loop until halted */
|
||||
case 0x4D: /* DH - RXH */
|
||||
r1p1 = (r1 + 1) & 0xF; /* R1 + 1 */
|
||||
if ((opnd == 0) ||
|
||||
((R[r1] == 0x8000) && (R[r1p1] == 0) && (opnd = 0xFFFF))) {
|
||||
((R[r1] == 0x8000) && (R[r1p1] == 0) && (opnd == 0xFFFF))) {
|
||||
if (PSW & PSW_AFI) /* div fault enabled? */
|
||||
cc = swap_psw (AFIPSW, cc); /* swap PSW */
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user