1
0
mirror of https://github.com/simh/simh.git synced 2026-01-14 15:45:18 +00:00

4918 Commits

Author SHA1 Message Date
Mark Pizzolato
c42efce080 SCP: Clarify Asynch I/O queue debug text and comments
- Add full support DECC on IA64
2024-05-28 13:42:33 -10:00
Patrick Linstruth
318f44eda5 AltairZ80: Adds Cromemco DAZZLER and JS1 devices
Adds Cromemco Dazzler and JS1 joystick devices
Adds vid_render_set_logical_size() to sim_video.c
2024-05-23 15:15:29 -10:00
Patrick Linstruth
a79fc59d06 AltairZ80: Adds Cromemco TUART devices
Adds the following devices to AltairZ80:

TUART0: Cromemco FDC controller TUART console port at I/O address 0x00.
TUART1: Cromemco TU-ART port A at I/O address 0x20.
TUART2: Cromemco TU-ART port B at I/I address 0x50.

These devices are fully TMXR capable.
2024-05-23 13:08:43 -10:00
Richard Cornwell
bcf854ee10 KA10: Fix divide error on KS10, add in some devices.
Fix divide of 0 on KS10 processor.
       Fix write access for auxiliary processor memory.
       Updated support new PIDP10 panel.
       Allow eight Unibux ports on the TEN device.
       Added GE DATANET-760 device to PDP6
       Removed USER mode restriction for idle detection.
       Added Data Disc 6600 Television Display System.
2024-05-21 17:02:00 -10:00
Richard Cornwell
7cd42dce2d I7000: Updated general card reader, printer and magtape
Card reader handle EOF correctly.
         Line printer proper handling of paging.
         Magtape clean up debug message.
         Update 7010, 7070, 7080 for EOF handling.
2024-05-21 14:25:47 -10:00
Richard Cornwell
24c28fc43c B5500: Cleanup some warning from CMAKE. 2024-05-21 14:25:47 -10:00
J. David Bryan
b24bf74f29 SCP: Report optional VM specific release after optional delta in SHOW VERSION
From simh v3.12-5 changes
2024-05-21 14:22:41 -10:00
Mark Pizzolato
5d10f2c724 VAX: Clarify running from ROM test when reading todr_rd
This change only simplifies reading the code.  The functional results
are unchanged
2024-05-21 04:07:00 -10:00
Mark Pizzolato
b19cc2b8ef sim_frontpanel: Correct spelling in comment text 2024-05-21 04:03:58 -10:00
Mark Pizzolato
7ca7f0fb3a SCP: Tolerate quoted LOG(, DEBUG, etc.) filenames which can have spaces 2024-05-03 10:19:46 -10:00
Mark Pizzolato
fbbfe8c987 VAX build tests: Avoid error setting log when debug is disabled 2024-04-29 14:04:16 -10:00
Mark Pizzolato
3bbaab7f5d Visual Studio Projects: Add logic supporting building with different VS2022s
- Multiple VS2022 versions support when windows-build provides it
- Always leverage whatever git version is available locally
2024-04-28 14:12:26 -10:00
Mark Pizzolato
6767c1a9d5 SCP: Allow TYPE command output to be terminated by SIGINT 2024-04-28 14:09:27 -10:00
Mark Pizzolato
c16e379b73 SCP: Cleanup SET ASYNC/NOASYNC status message to use sim_messagef 2024-04-18 16:36:43 -10:00
Mark Pizzolato
d71ce79d13 TMXR: Increase the maximum buffer size for BUFFERed lines to 10 million bytes 2024-04-18 16:35:16 -10:00
Mark Pizzolato
f93994be0a VAXen: Correct wording in the REI comments describing the rules 2024-04-18 16:34:10 -10:00
Mark Pizzolato
997952e712 ETHER: Add build support leveraging libpcap shared object without pcap.h
Some host systems come with the libpcap shared object installed.  If that
is the case, since the default build behavior is to dynamically load libpcap,
builds can now potentially avoid a forced install of the libpcap-devel package.
2024-04-17 11:12:42 -10:00
Mark Pizzolato
b22fb8eefa makefile: Add package install support for Linux systems that have dnf 2024-04-17 11:08:10 -10:00
Mark Pizzolato
f2344dfddc SCP: Add Linux and macOS version to SHOW VERSION output 2024-04-16 18:25:20 -10:00
Mark Pizzolato
4059e7d9f1 README: Update with current info 2024-04-06 12:54:59 -10:00
Lars Brinkhoff
b1389741e5 VAX: Add UW device to 8600 and 8200.
The VAXstation 100 "unibus window" interface board should work with
any Unibus VAX.
2024-04-04 17:34:38 -10:00
Mark Pizzolato
464e1f9ef4 Unibus VAXen: Run working diagnostic supervisor Privileged Architecture tests
- The VAX 11/780 runs the VAX Diagnostic Supervisor the EVKAE (Privilege
   Architecture Exercisor) tests cleanly.
   All other Unibus VAXen execute different instructions in EVKAE
   Test 8 (KERNEL STACK NOT VALID) subtest 2 when compared to the 11/780.
   On these processors a REI instruction with reserved operands is invoked and
   this causes a failure of this subtest for these processors.
   We avoid this diagnostic test that fails.
- The VAX 8200 has some issues with the VAX Diagnostic Supervisor.
   Specifically, the EVKAA (Hardware Core Instruction) test uses the processor
   interval timer to measure the passage of time and expects the interrupts
   that are generated to occur at IPL 24 (0x18).  Meanwhile, the actual
   hardware is documented to generate Interval Timer interrupts at
   IPL 22 (0x16).  EVKAA fails when interrupts occur at IPL 22(0x16).
   If the processor is is built with Interval Timer interrupts at IPL 24(0x18),
   then EVKAA passes, but the EVKAE (Privileged Architecture Exercisor)
   Interval Timer test fails since the interval timer interrupts occur at
   IPL 24(0x18) and not at IPL 22(0x16).
   Once operating systems are running, operating system behavior will
   generally be unaffected if Interval Timer interrupts occur at a higher
   IPL than the OS expects, so the VAX 8200 is built that way and we avoid
   the diagnostic that fails.
- The DEC supplied instruction diagnostics actually time the execution of
   instructions being tested using the interval timer and the time of day
   clock.  When instructions take too long, they fail the test.  The
   VAX 11/730 simulator actually fails some of these instruction tests when
   run at precisely .3 the instruction rate of the VAX/11 780.  We therefore
   adjust the nocalibrate execution rate to 320K vs the VAX 11/780 running
   at 1000K.
2024-04-04 10:19:03 -10:00
Mark Pizzolato
c6de567cf6 All VAXen: Add -O option to SET HISTORY logging to file
- Extend maximum instruction history to 2 million
- -O option in history logging to a file allows only capturing at most
   the last n instructions written to a log file.  Otherwise, the
   default is to log all executed instructions to the log file which will
   consume prodigious amounts of storage.
2024-04-04 10:10:47 -10:00
Mark Pizzolato
81e2719d90 TIMER: Cleanup Inconsistencies and Throttling and IDLE activities
- Make time at sim> prompt consistent when in nocalibrate mode.
- Disable asynch operations when in nocalibrate mode so that all events
   occur consistently.
- Make sure that all throttling modes produce consistent behavior
  related to all timing activities including clock ticks and TMXR port
  speed timing.
- Expose all timer and throttling state variables via simh REGisters
- Only allow throttling to start execution one time.  Throttling can't
   be changed once instruction execution has started.
- Clarification of SHOW CLOCK variable units
- Avoid competing gratuitous keyboard polls with simulators
- Properly enable catchup ticks
- Fix second boot while idling
- Improve calibration while idling
- Report complete timer state when impossible timer conditions exist
   that will cause a simulator abort.
- Leave memory 0 after pre-calibration instruction execution rate.
2024-04-04 10:09:57 -10:00
Mark Pizzolato
b404ccd050 SCP: Make debug timestamps consistent when in NOCALIBRATE mode 2024-04-04 09:56:18 -10:00
Mark Pizzolato
b6f02f3e0c APPVEYOR: Properly avoid saving binaries during Pull Request CI build 2024-03-29 08:18:37 -10:00
ken rector
4692068925 sigma: Implement CM (Chaining Modifier) flag to IOP simulation in sigma_io.c 2024-03-27 21:29:23 -07:00
B. Scott Michel
f7dfefee72 SCP: sprint_val comma bug
- Fix comma separator code segmentation fault: "ndigit - 3" can become a
  very large unsigned number for ndigit < 3.
2024-03-21 13:55:52 -10:00
Peter Schorn
eab060315e AltairZ80: Updated docs to include latest devices 2024-03-20 13:52:58 -10:00
Mark Pizzolato
0ff0d0f8a3 SCP: Enhance EXAMINE address range output
1 - Summarize repeated memory contents so that the memory range with a
      given value only emits 2 lines of output
2 - Allow ^C (SIGINT) to potentially abort long running EXAMINE output
2024-03-20 13:46:14 -10:00
ken rector
93fe10c1e2 SIGMA: Fix three kinds of error in I/O modules.
Discovered while getting standalone System Exerciser to run:

IO: DVT_NOTDEV macro incorrect, Device mapping algorithm creates false
      dispatch points.
      This mapped Multi Unit Controller and Single Unit Controller to same
      device.
DP, DP, MT, RAD:  Test for non-existent device returns wrong status.
DP, DK, MT: TIO status should return non-operational for unattached device.
2024-03-20 09:13:38 -10:00
Patrick Linstruth
b523caac82 AltairZ80: Enable interrupt event after BOOT 2024-03-20 08:51:36 -10:00
Richard Cornwell
c856f48634 SIM_CARD: Fixed issues caused by last commit to sim_card.c 2024-03-20 08:50:57 -10:00
Patrick Linstruth
57f055b34f AltairZ80: Adds SET CPU RESIZEMEMORY and other
Changing the CPU type or MEMORY size/configuration causes memory
resources mapped by other devices to be removed. This is not made
clear by "HELP CPU" and the user has no feedback that this is
happening.

This PR does the following:

1) HELP SET CPU shows that SET CPU MEMORY requires a value.
2) Feedback is provided if the value is omitted or not properly formatted.
3) Unmapped memory resources caused by a SET CPU command are displayed
   on the SIMH console.
4) Adds a SET CPU RESIZEMEMORY command that resizes system memory
   without unmapping other device memory resources.
2024-03-20 08:44:46 -10:00
Patrick Linstruth
d19d3f9b8d ALTAIRZ80: Adds JAIR devices to simulator
Josh's Altair/IMSAI Replacement (JAIR) is a single board computer
(SBC) for the S100 bus. I created this device to assist a friend
with getting IMP and CBBS working on his JAIR. Without having a
JAIR myself, AltairZ80 to the rescue!

The following devices are added:

JAIR   - The main JAIR board I/O and ROM
JAIRS0 - Serial Port 0 (COM1)
JAIRS1 - Serial Port 1 (COM2)
JAIRP  - Parallel Port

This was a bit challenging because the JAIR uses an on-board SD
card with FAT file system to hold its BIOS and CP/M disk images.
The ATTACH command is used to mount SD card images to the
simulator. The simulator emulates the SD card interface for
read/writing SD card sectors. These images are easily mounted on
a Mac making moving files around easy. I do not know about Windows.
These same images can be written to an SD card and used with real
JAIR hardware, which may be useful for JAIR owners.

The serial and parallel ports fully support TMXR. Host serial ports
and sockets may be attached to these devices.

I am working on a GitHub repository containing an SD card image and
init script that will boot CP/M 2.2 on the JAIR simulator.

Is this device one that should be added to AltairZ80?
2024-03-20 08:38:08 -10:00
Patrick Linstruth
ada4b67d07 ALTAIRZ80: Add 1K RAM to SOL20 device
The Sol-20 provides 1K RAM at C800. This was discovered to be missing
when issuing a "SET CPU 24K" command. Without the CPU providing RAM
at C800, the Sol-20 would not function. This PR corrects the problem
by having the SOL20 device provide its own 1K RAM at C800.
2024-03-20 08:24:05 -10:00
Mark Pizzolato
779ab3a570 ALTAIRZ80: Add support to build m68k code on Itanium under VMS 2024-01-27 13:43:24 -10:00
Mark Pizzolato
01e66b0818 ALTAIRZ80: Properly check for failed return from time() API 2024-01-27 13:39:12 -10:00
Mark Pizzolato
493a58b4bf ALTAIRZ80: Avoid use of possible keyword "readonly" on some compilers 2024-01-27 13:38:03 -10:00
Mark Pizzolato
aa8f75fc48 SWTP6800: Correct type of value returned by sim_load routine 2024-01-27 10:08:10 -10:00
Mark Pizzolato
07b3741ea4 ID16 & ID32: Correct type of values returned by lpt_spc and lpt_vfu routines 2024-01-27 10:06:41 -10:00
Paul Koning
80a5ba7efe SOCKET: Support FreeBSD change of SD_* symbolx from defines to an enum 2024-01-27 09:51:25 -10:00
Mark Pizzolato
da37924c8c BESM6: Fix new compiler found issues 2024-01-17 16:38:42 -10:00
Mark Pizzolato
720531073a DISK: Avoid use of possible keyword "readonly" on some compilers
DEC C (HP C) has readonly as a keyword.
2024-01-15 06:07:31 -10:00
Mark Pizzolato
656e489ee2 TIMER: Add VMS support for sim_os_process_cpu_time 2024-01-15 06:07:31 -10:00
Mark Pizzolato
f4089b330e SCP: Add host processor core and thread info to SHOW VERSION output 2024-01-14 13:04:31 -10:00
Mark Pizzolato
fca6bace44 SCP: Add asynchronous and processed event counters
- Add abort if sim_aio_activate is called when running with ASYNC disabled
2024-01-09 06:07:33 -10:00
Mark Pizzolato
acafbac518 FIO: Add Files/Lines/Size totals in CheckSourceCode output 2024-01-09 05:55:04 -10:00
David Gesswein
5d4e7edd2b PDP8: Fix missing clock pre-calibration instruction set due to typo 2024-01-09 05:55:04 -10:00
Mark Pizzolato
4dfb3508bf ETHER: Make sure SET NOASYNC is effective for Ethernet devices
- Make sure that asynchronous mode can't be changed if devices using
   sim_ether are already attached.
- Add missing DEV_ETHER type flag for the only sim_ether using device
   that didn't already have it.
2024-01-06 14:55:06 -10:00