Generate a PDP11 emulation test-set using simh.
Find a file
Tony Lawrence 6a1b5685fd PDP11: RP11: Make sure to advance DA after every I/O
It looks like disk controllers, which automatically update
disk address (DA) after completion of I/O, are expected to do
so even if there was no data transfer because of I/O errors.
I was studying RSX-11's Error Logger documentation and
examples are clearly offsetting disk addresses backwards
by one when I/O errors are reported by the controller.

Since once the controller has found the DA-specified sector,
the I/O begins regardless of the condition of the sector (bad
or good data) or ability to transfer the contents between the
disk and the memory.  If an error occurs (NXM, for instance)
the operation would stop (with the error reported) at the end
of the sector.  So if, for example, the bus address register
had a bad address from the get-go, no data would be able to
transfer at all, yet DA should still be updated with DA + 1
once the controller asserts the DONE bit.

This patch makes sure that DA is always advanced when I/O has
actually been commenced.
2024-02-01 12:56:04 -05:00
.github CMake: Win XP (v141_xp) VS install script 2023-10-24 12:46:51 -04:00
.travis CMake: Updates 2024-02-01 12:51:13 -05:00
3B2 SCP: Reduce compiler warnings on LP64 platforms 2024-02-01 12:51:32 -05:00
alpha CMake build infrastructure II (#53) 2023-05-17 20:18:42 -04:00
ALTAIR CMake build infrastructure II (#53) 2023-05-17 20:18:42 -04:00
AltairZ80 AltairZ80: Adds SET CPU RESIZEMEMORY and other 2024-02-01 12:55:50 -05:00
B5500 CMake build infrastructure II (#53) 2023-05-17 20:18:42 -04:00
BESM6 CMake build infrastructure II (#53) 2023-05-17 20:18:42 -04:00
CDC1700 CMake build infrastructure II (#53) 2023-05-17 20:18:42 -04:00
cmake SCP: Reduce compiler warnings on LP64 platforms 2024-02-01 12:51:32 -05:00
display Various simulators: Set line endings to CRLF for consistency, remove stray tabs 2023-03-19 16:51:27 -04:00
doc AltairZ80: Add CTS command to M2SIO device 2023-07-30 09:23:44 -04:00
frontpanel FrontpanelTest: Win32 DisplayRegisters written should be DWORD and not int 2019-12-30 17:44:32 -08:00
GRI CMake build infrastructure II (#53) 2023-05-17 20:18:42 -04:00
H316 CMake build infrastructure II (#53) 2023-05-17 20:18:42 -04:00
HP2100 CMake build infrastructure II (#53) 2023-05-17 20:18:42 -04:00
HP3000 SCP: Move .git-commit-id.h to where used 2023-10-24 12:48:38 -04:00
I650 CMake build infrastructure II (#53) 2023-05-17 20:18:42 -04:00
I1401 CMake build infrastructure II (#53) 2023-05-17 20:18:42 -04:00
I1620 SCP: Move .git-commit-id.h to where used 2023-10-24 12:48:38 -04:00
I7000 CMake build infrastructure II (#53) 2023-05-17 20:18:42 -04:00
I7094 CMake build infrastructure II (#53) 2023-05-17 20:18:42 -04:00
Ibm1130 CMake build infrastructure II (#53) 2023-05-17 20:18:42 -04:00
imlac CMake: Updates 2024-02-01 12:51:13 -05:00
Intel-Systems CMake build infrastructure II (#53) 2023-05-17 20:18:42 -04:00
Interdata CMake build infrastructure II (#53) 2023-05-17 20:18:42 -04:00
LGP CMake build infrastructure II (#53) 2023-05-17 20:18:42 -04:00
ND100 ND100: MMS-1 support (Memory Management 1) + other fixes for Nord-100. 2023-05-18 16:53:06 -04:00
NOVA CMake build infrastructure II (#53) 2023-05-17 20:18:42 -04:00
PDP1 CMake build infrastructure II (#53) 2023-05-17 20:18:42 -04:00
PDP8 PDP8: Fix missing clock pre-calibration instruction set due to typo 2024-02-01 12:55:07 -05:00
PDP10 CMake: Updates 2024-02-01 12:51:13 -05:00
PDP11 PDP11: RP11: Make sure to advance DA after every I/O 2024-02-01 12:56:04 -05:00
PDP18B CMake build infrastructure II (#53) 2023-05-17 20:18:42 -04:00
PDQ-3 CMake build infrastructure II (#53) 2023-05-17 20:18:42 -04:00
S3 CMake build infrastructure II (#53) 2023-05-17 20:18:42 -04:00
SAGE SAGE: Remove irrelevant platform #ifdefs and redundant includes 2023-05-27 14:57:46 -04:00
SDS CMake build infrastructure II (#53) 2023-05-17 20:18:42 -04:00
SEL32 SEL32: Do general code cleanup to remove unused code. 2023-10-09 20:34:56 -04:00
sigma sigma: Correct DP Sense Length error(Bob Supnik) 2023-06-24 13:34:06 -04:00
slirp CMake build infrastructure II (#53) 2023-05-17 20:18:42 -04:00
slirp_glue Various simulators: Set line endings to CRLF for consistency, remove stray tabs 2023-03-19 16:51:27 -04:00
SSEM CMake build infrastructure II (#53) 2023-05-17 20:18:42 -04:00
stub STUB: Fix "non-void function does not return a value" warning 2022-11-07 09:14:23 -05:00
swtp6800 CMake build infrastructure II (#53) 2023-05-17 20:18:42 -04:00
tt2500 CMake: Updates 2024-02-01 12:51:13 -05:00
TX-0 TX-0: Make ^E work in readin mode. 2023-10-09 20:17:13 -04:00
VAX ETHER: Make sure SET NOASYNC is effective for Ethernet devices 2024-02-01 12:54:53 -05:00
Visual Studio Projects ALTAIRZ80: Adds JAIR devices to simulator 2024-02-01 12:52:41 -05:00
.editorconfig SCP: Add .editorconfig which describes the project's long standing convention 2023-03-19 16:51:27 -04:00
.gitattributes GIT: Add .dck to .gitattributes for binary card deck images 2020-06-21 15:29:20 -07:00
.gitignore CMake build infrastructure II (#53) 2023-05-17 20:18:42 -04:00
.travis.yml makefile: Correct experimental/incomplete simulator list and add to CI build 2022-09-26 13:24:24 -10:00
0readme_39.txt SCP: Added debugging support for EXPECT and SEND activities. Fixed SEND buffer queuing bug. 2014-10-17 11:34:06 -07:00
0readme_ethernet.txt doc: Update info about pcap support for Ethernet simulation on Windows. 2022-02-04 20:56:45 -08:00
0readmeAsynchIO.txt Merge branch 'master' into AsyncTmxr 2013-01-21 16:52:42 -08:00
appveyor.yml appveyor.yml build, dep lib version number updates 2023-07-15 17:20:26 -04:00
build_mingw.bat makefile: Simpler build under MinGW. Detect attempt to build under Msys bash shell and issue error message 2015-01-12 16:19:18 -08:00
build_mingw_ether.bat ETHER: Remove support for statically linking libpcap on Linux and OS X platforms 2014-09-21 16:31:49 -07:00
build_mingw_noasync.bat makefile: Simpler build under MinGW. Detect attempt to build under Msys bash shell and issue error message 2015-01-12 16:19:18 -08:00
build_vstudio.bat Visual Studio Projects: Do parallel builds for multiple projects when VS > 2008 2019-12-28 14:54:46 -08:00
CMakeLists.txt CMake: Updates 2024-02-01 12:51:13 -05:00
descrip.mms Common code: various bugfixes; Mac "Classic" and OS/2 support has been removed 2023-01-31 14:49:35 -05:00
helpx SCP: Added hierarchical help capability (from Timothe Litt) 2013-11-22 06:08:03 -08:00
LICENSE.txt Initial descriptive files for Open SIMH 2022-05-30 14:38:25 -04:00
makefile ALTAIRZ80: Adds JAIR devices to simulator 2024-02-01 12:52:41 -05:00
README-CMake.md CMake: Updates 2024-02-01 12:51:13 -05:00
README.md Update README.md 2023-11-27 10:55:16 -05:00
scp.c ETHER: Make sure SET NOASYNC is effective for Ethernet devices 2024-02-01 12:54:53 -05:00
scp.h SCP: Reduce compiler warnings on LP64 platforms 2024-02-01 12:51:32 -05:00
scp_help.h SCP: Convert more SHOW and debug output to use sim_vm_interval_units 2020-03-08 11:43:30 -07:00
sim_BuildROMs.c BUILDROMS: Fix potential compiler warnings 2022-11-13 11:07:46 -05:00
sim_card.c SCP: Reduce compiler warnings on LP64 platforms 2024-02-01 12:51:32 -05:00
sim_card.h SIM_CARD: Fixed to better detect mixed binary and ascii decks. 2023-10-09 20:27:42 -04:00
sim_console.c SCP: Reduce compiler warnings on LP64 platforms 2024-02-01 12:51:32 -05:00
sim_console.h Common code: various bugfixes; Mac "Classic" and OS/2 support has been removed 2023-01-31 14:49:35 -05:00
sim_defs.h SCP: Reduce compiler warnings on LP64 platforms 2024-02-01 12:51:32 -05:00
sim_disk.c DISK: Do not allow to emit any "footers" 2023-10-24 16:26:26 -04:00
sim_disk.h DISK: Add SET NOAUTOSIZE - disable autosize when attaching existing containers 2022-02-14 15:06:34 -08:00
sim_ether.c ETHER: Make sure SET NOASYNC is effective for Ethernet devices 2024-02-01 12:54:53 -05:00
sim_ether.h ETHER: Increase the number of potential interfaces to 40 2023-04-02 12:37:38 -10:00
sim_fio.c SCP: Reduce compiler warnings on LP64 platforms 2024-02-01 12:51:32 -05:00
sim_fio.h FIO: Add support to expand filename/path to a list of filenames 2022-02-06 11:04:39 -08:00
sim_frontpanel.c FRONTPANEL: Avoid theoretical potential buffer overrun 2021-01-30 22:46:17 -08:00
sim_frontpanel.h FRONTPANEL: sim_frontpanel API release 12 2018-01-12 10:07:15 -08:00
sim_imd.c SCP: Reduce compiler warnings on LP64 platforms 2024-02-01 12:51:32 -05:00
sim_imd.h sim_imd: Reconcile license with open-simh. 2022-10-09 09:10:27 -07:00
sim_printf_fmts.h SCP: Reduce compiler warnings on LP64 platforms 2024-02-01 12:51:32 -05:00
sim_rev.h SCP: Move .git-commit-id.h to where used 2023-10-24 12:48:38 -04:00
sim_scsi.c 3B2-700 Initial Public Release 2022-09-15 14:15:28 -07:00
sim_scsi.h 3B2-700 Initial Public Release 2022-09-15 14:15:28 -07:00
sim_serial.c SERIAL: Find more serial port names on Unix, remove unused ioctl code 2022-01-12 12:25:43 -08:00
sim_serial.h TMXR: Properly announce attach connection on serial lines when -V option is set 2017-10-30 18:24:19 -07:00
sim_sock.c SCP: Add'l memory sanitization fixes 2024-02-01 12:50:52 -05:00
sim_sock.h SOCK: Add support for parsing and evaluating Access Control Lists 2022-02-04 07:58:09 -08:00
sim_tape.c SCP: Reduce compiler warnings on LP64 platforms 2024-02-01 12:51:32 -05:00
sim_tape.h TAPE: export sim_tape_error_text 2022-03-14 15:28:39 -07:00
sim_timer.c SCP: Adjust timer calibrations if SET THROTTLE x/t type is enabled 2024-02-01 12:52:24 -05:00
sim_timer.h TIMER: Run simulator pre-calibration for a minimum of 100ms 2020-11-18 14:47:42 -08:00
sim_tmxr.c SCP: Coverity inspired changes 2022-03-06 02:11:57 -08:00
sim_tmxr.h SCP: Add command argument passed into library unit test routines 2022-02-07 04:21:16 -08:00
sim_video.c Memory sanitizer fixes 2023-07-16 16:35:58 -04:00
sim_video.h AltairZ80: Adds SOL20 and VDM1 devices 2023-03-19 16:47:38 -04:00
SIMH-SG.md Initial descriptive files for Open SIMH 2022-05-30 14:38:25 -04:00
SIMH-V4-status.md Fix UTF-8 encoding for five files 2023-03-30 09:31:06 -04:00
vcpkg.json CMake: Bump project version to 4.1.0 2023-07-31 13:04:33 -04:00

Open SIMH machine simulator

This is the codebase of SIMH, a framework and collection of computer system simulators.

SIMH was created by Bob Supnik, originally at Digital Equipment Corporation, and extended by contributions of many other people. It is now an open source project, licensed under an MIT open source license (see LICENSE.txt for the specific wording). The project gatekeepers are the members of the SIMH Steering Group. We welcome and encourage contributions from all. Contributions will be covered by the project license.

The Open SIMH code base was taken from a code base maintained by Mark Pizzolato as of 12 May 2022. From that point onward there is no connection between that source and the Open SIMH code base. A detailed listing of features as of that point may be found in SIMH-V4-status.

PLEASE NOTE

Do not contribute material taken from github.com/simh/simh unless you are the author of the material in question.

Coverity Scan Build Status