1
0
mirror of https://github.com/simh/simh.git synced 2026-01-13 23:35:57 +00:00

4888 Commits

Author SHA1 Message Date
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
Mark Pizzolato
54f55777f5 SCP: Minor message text and formatting cleanup 2024-01-05 09:50:48 -10:00
Mark Pizzolato
0a79762388 SCP: Remove remnants of previously removed async TMXR pieces 2024-01-05 09:09:22 -10:00
Mark Pizzolato
c8cb7a875e TIMER: Provide API to determine host OS Process CPU times 2024-01-02 18:24:00 -10:00
Richard Cornwell
e8cf41bd0e I7000: Group update for IBM 7000 series simulators.
I7010 updated to pass diagnostics.
        I7080 updated to pass diagnostics.
        I7090 updated to better pass 9IOT
              updated to allow Stress and other applications to run better.
        Updated card punch to allow input of card decks for overpunching.
2023-12-31 12:16:27 -10:00
Richard Cornwell
4c3d2a43e7 KA10: Fix RH10/20 to allow access to registers during transfer. 2023-12-31 09:12:48 -10:00
Richard Cornwell
8093ee9070 KA10: Fix random hang on DP disk drives. 2023-12-31 09:12:48 -10:00
Richard Cornwell
be86e3cdcd KA10: Poll quicker for Chaosnet packet when there's traffic. 2023-12-31 09:10:13 -10:00
Richard Cornwell
cef873f6f3 B5500: Make sure Lines per page gets initialized properly. 2023-12-31 09:10:13 -10:00
Mark Pizzolato
6a7cfce9fd 3B2: Avoid compiler warning when building 64bit targets 2023-12-30 13:33:04 -10:00
Mark Pizzolato
d8e0e04dc8 CONSOLE: Show keyboard map info for Ascii FS character as ^\ 2023-12-30 13:31:31 -10:00
Paul Koning
ee34e29511 PDP11: fix disassembly of reg,src instructions
This corrects the disassembly of MUL, DIV, ASH, and ASHC so it works
correctly when the register is not R0.
2023-12-18 10:34:59 -10:00
Mark Pizzolato
a8ff8110e4 FIO: Fix sim_get_filelist potential problem when directory contents change
- Avoid inconsistencies in the internal cache when directory contents change
- Cleanup FIO testing and add tests for new filename comparison routine
2023-12-17 10:27:53 -10:00
Mark Pizzolato
197ff62587 SCP: Leverage a memory file while producing examine output 2023-12-06 09:49:05 -10:00
B. Scott Michel
6d11ae4e6d SOCK: Properly NUL terminate CIDR ACL check string while parsing 2023-12-06 08:32:50 -10:00
Mark Pizzolato
f4f302982e TAPE: Fix potential buffer overflow when staging an in memory ANSI tape image 2023-12-04 10:57:52 -10:00
Mark Pizzolato
6d376b2fd9 ALL simulators with instruction history support: Minor history enhancements
- Issue reasonable error message explaining invalid SET CPU HISTORY=n input
- Let SIGINT (^C) abort SHOW HISTORY output
2023-12-04 10:57:31 -10:00
Christian Gauger-Cosgrove
42d6f414fc PDP11, VAX: Add MSCP RD33 and various SDI ESE SSD disk types to RQ devices 2023-11-16 11:33:52 -10:00
Mark Pizzolato
2c0b465275 VAX: Explain idling sim_interval decrement
- Explain reasoning for idle decrement
- Fix TODR debug output for all simulators with a TODR register
2023-11-16 11:33:52 -10:00
Lars Brinkhoff
04b2795982 PDP11, VAX, KS10: Speed up Chaosnet polling when there is traffic. 2023-11-16 11:19:38 -10:00
Mark Pizzolato
810ec6300d SCP: Add visible countdown for the SLEEP command 2023-11-16 09:47:03 -10:00
Tony Lawrence
7af559c580 PDP11: TA11/TU60 fix identification 2023-11-12 12:58:55 -10:00
Mark Pizzolato
65d0ae2a44 SCP: Properly write debug output for commands run at the sim> prompt
- Without regard to whether the circular buffer data is otherwise in
   use while instructions are executing.
- When a circular debug buffer is in use, avoid writing out the contents
  with the periodic open file flushes and only do so on returns to the
  sim> prompt and when debug is closed
2023-11-12 12:49:07 -10:00
Mark Pizzolato
4b8902cd06 SCP: When debugging, add output of EXAMINE commands to debug data 2023-11-12 10:04:28 -10:00
Bob Supnik
4dd7cae047 SDS: Fix shift counts > 48 bits 2023-11-12 10:04:28 -10:00
Bob Supnik
4c63340ba9 PDP11, PDP10 & VAXen: Fix TS11, RH11/TM02-3, TU45 for proper BOT handling
A user observed that the TS11 would not run XXDP+, even though it ran
fine with the PDP11 operating systems, VMS, and XXDP V2.  I traced this
back to a conceptual error in the implementation of some magtapes,
specifically the TS11, RH11/TM02-3, and the PDP10 TU45.

The issues is that beginning of tape, and being positioned in front of
the first record, are not necessarily the same. Following BOT, tape
drives record a ID burst If high density and an inter-record gap before
the first record. When the first record is read backwards or backspaced
over, the tape ends up at position 0 but should not show BOT.  Most
simulated tape drives did this correctly, but a few used sim_tape_bot()
as a shortcut for BOT, and it's simply not correct.

BOT should be set at ATTACH, by a successful rewind, and by any reverse
operation when the tape is positioned in front of the first record.

BOT should be cleared by any successful movement operation, except
rewind.
2023-11-12 10:04:28 -10:00
Mark Pizzolato
67ec597696 SCP: Add support for REGisters containing double values 2023-11-12 10:04:28 -10:00
Mark Pizzolato
3ac5062c12 APPVEYOR: Fix incorrect environment variable names
Remove irrelevant travis CI references that are no longer used at all
2023-10-15 19:10:22 -10:00
Mark Pizzolato
05458260c7 APPVEYOR: Properly reference Appveyor environement variables 2023-10-15 15:19:50 -10:00
Mark Pizzolato
ce1087353b APPVEYOR: Fixes for build reliability and saving build results
- On MacOS, avoid Homebrew updating other pre-installed packages.
  Autoupdating packages that aren't needed or referenced by the build
  can take a very long time and cause the build timeout to be exceeded.
- Be sure to only save build results for changes to the master branch
  of simh/simh
- Avoid saving binaries when one has been saved within the last week
2023-10-15 03:17:48 -10:00
Tony Lawrence
abd1834380 PDP11: 11/70 read-only registers must not return NXM on write
17 777 740 - 17 777 742, read-only error address registers,
and 17 777 764, a read-only System ID register,

and are not handled in the CPU70_wr() routine, which means for these
addresses the routine returns NXM, which then translates to "bus timeout"
(no response to address), and then, as a result, trap to vector 4.

That is incorrect, IMO.

These locations are read-only yet the address gets decoded, and even
though writing does not have any effect, the write routine for these
addresses should return SCPE_OK.
2023-10-15 02:44:43 -10:00