Commit graph

4583 commits

Author SHA1 Message Date
Peter Schorn
27bd6b81aa Fix UTF-8 encoding for five files 2023-03-30 09:31:06 -04:00
ken rector
869dc0fe4a sigma: Correct recognition of pending DP seek interrupt.
This corrects an error that caused SIO reject when SIO occured before
a pending seek interrupt on a different device.
 - Move the interrupt pending test from sigma_io.c into each device.
 - Make the sigma_dp.c test a special case that looks for pending
   seek interrupts.
2023-03-29 10:10:14 -04:00
Richard Cornwell
4b8a6f8d2c KA10: Fixed DPY 340 second interrupt on KA10. 2023-03-29 10:08:06 -04:00
Patrick Linstruth
d70a0a16c5 AltairZ80 SOL20: Minor corrections and formatting
While working on the AltairZ80 documentation, I found some problems
with the SOL20 registers and fixed some formatting issues.
Added static and "vdm1_" prefix to "charset" variable in s100_vdm1.c
2023-03-24 21:42:10 -07:00
Mark Pizzolato
7a8cfcac05 SCP: Add .editorconfig which describes the project's long standing convention
This will hopefully automatically get small changes to adhere to the
conventions without them slipping through in the future.
2023-03-19 16:51:27 -04:00
Mark Pizzolato
decbe5b76b Various simulators: Set line endings to CRLF for consistency, remove stray tabs
Project standard source code has tabs converted to spaces and CRLF line
endings.

Other text files have CRLF line endings.
2023-03-19 16:51:27 -04:00
ken rector
f1f8cf9cb1 sigma: COC device, committed two fixes for sigma_coc.c.
sigma: COC device, add LNORDER command option
sigma: COC device, handle transmit long, stop transmit and receive break
2023-03-19 16:50:05 -04:00
ken rector
f1811c49bd SDS: Reset CR DEVICE cr_eor on disconnect. Caused algol compiler to hang. 2023-03-19 16:48:46 -04:00
Patrick Linstruth
cf9fac614c AltairZ80: Adds SOL20 and VDM1 devices
This PR adds support for the Processor Technology VDM-1 display adapter and Sol-20 computer system. The VDM-1 was integrated into the Sol-20 but has been separated out into its own device.

This PR adds the following devices to the AltairZ80 simulator:

VDM1 - Processor Technology VDM-1 display adapter
SOL20 - Processor Technology SOL20 with SOLOS ROMs
SOL20K - SOL20 Keyboard (callback from VDM1)
SOL20T - SOL20 Tape (reads/writes cassette file images)
SOL20S - SOL20 Serial Port (TMXR capable)
SOL20P - SOL20 Printer Port (TMXR capable)
2023-03-19 16:47:38 -04:00
Patrick Linstruth
825a505083 AltairZ80: Add sim_clock_precalibrate_commands
Used to initialize SCP timers to prevent problems during simulator startup
when THROTTLE is being used.

/*
 * This sequence of instructions is a mix that mimics
 * a resonable instruction set that is a close estimate
 * to the calibrated result.
 */

static const char *cpu_clock_precalibrate_commands[] = {
    "-m 100 LXI H,200H",
    "-m 103 MVI B,0",
    "-m 105 DCR B",
    "-m 106 MOV M,B",
    "-m 107 INX H",
    "-m 108 JNZ 0105H",
    "-m 10B JMP 0100H",
    "PC 100",
    NULL};
2023-03-19 16:45:19 -04:00
Timothe Litt
86b19c767b Change archives from BZIP2 to ZIP
PowerShell can create ZIP files, which Windows explorer
can access natively.
2023-02-26 22:22:01 -05:00
Timothe Litt
1f94350beb Fix uninitialized warning from VS2022
(It's undeserved.)
2023-02-26 22:22:01 -05:00
Timothe Litt
cf45e06f65 Include Windows build in CI and deploy
- Builds x86 and x64 regular snapshots.
   x64: Mon      Wed     Fri
   x86:      Tue     Thu     Sat
   ARM: Mon          Thu         Sun (ARM not enabled)

 - Builds x64 on closed pull request, Release

 - Manual trigger allows selection of ref, platform,
   architecture, config, disposition

 - Releases and daily snapshots are deployed automagically

 - VS Project 2022 files updated for ARM, but not setup for
   cross-builds (BuildROMs) or tested on ARM (no hardware)

 - Fix makefile tests for cygwin
2023-02-26 22:22:01 -05:00
Jim Bevier
4e159a04ed SEL32: Add IPU device support using pthreads on Linux and Windows.
SEL32: Update makefile and SEL32.vsproj file to add IPU device.
SEL32: Update README.md file.
SEL32: Do a general code cleanup.
2023-02-07 20:30:54 -05:00
Mark Pizzolato
5e01c0516b 3B2: Fix inconsistent 64bit type name reference 2023-02-07 09:07:23 -05:00
Howard M. Harte
c5ce339566 AltairZ80: ADCS6: Fix uninitialized unit structure
Proper initialization of the ADCS6 unit data structure depended on the
ADCS6 device being enabled.  In cases where the ADCS6 unit was not
enabled, non-debug builds may crash on some host platforms depending on
compiler/memory layout.
2023-02-06 19:12:49 -08:00
Bob Supnik
2374c3b6b3 Floating loads are src,dst (nickd4) 2023-02-03 09:27:28 -05:00
Timothe Litt
949359fd42
Update version to identify Open SIMH builds
This is to prevent confusion when questions come in.

Plus, a little advertising never hurts.

The version output will now include "Open SIMH", and the version
number will be '4.1.*' rather than '4.0.*'.
2023-02-02 16:09:22 -05:00
Bob Supnik
4562408a5f Common code: various bugfixes; Mac "Classic" and OS/2 support has been removed 2023-01-31 14:49:35 -05:00
Bob Supnik
86a995b863 PDP11: numerous 11/70 compatibility fixes 2023-01-31 13:06:04 -05:00
Bob Supnik
8e13ea1d21 SIGMA: Invalid address must set a TDV-visible error flag (Ken Rector) 2023-01-31 12:55:29 -05:00
Bob Supnik
16de685c4b PDP11, VAX: Re-enabled VH11 after fixes (Mark Pizzolato) 2023-01-31 12:54:39 -05:00
Bob Supnik
8bc5b0b15d I7094: Changed structures to arrays for display 2023-01-31 12:53:28 -05:00
Howard M. Harte
09899c18fa AltairZ80: 2SIO: Fix potential NULL pointer dereference. 2023-01-29 10:19:07 -08:00
Howard M. Harte
023cd3b387 AltairZ80: Add support for NMI interrupts. 2023-01-29 10:19:07 -08:00
Howard M. Harte
11e555bb20 AltairZ80: Fix width of vectorInterrupt pseudo register. 2023-01-29 10:19:07 -08:00
Richard Cornwell
1921b58996 KA10: Fixed TM10A to request first word at issue of write instruction. 2023-01-21 23:07:58 -05:00
Richard Cornwell
b487b3a7c2 KA10: Fixed issue with ITS KA quantum clock interrupt.
Start of support for PiDP10 front panel.
      Moved interrupt checking from check_irq_level to clear_interrupt.
      Pending interrupts now saved in IOB_PI.
      Cleanup of KL10 Timer interrupts.
      Minor code cleanup.
2023-01-18 21:11:49 -05:00
Richard Cornwell
1294ef1e83 KA10: Fixed IMP address determination for KS, code cleanup. 2023-01-18 18:02:14 -05:00
Richard Cornwell
cd40b302e6 KA10: Fixed Chaosnet devices to work properly under ITS. 2023-01-18 18:01:32 -05:00
Seth Morabito
da6dcef801 3b2: Fix for clock drift when idling
When the 3B2 simulator was set to allow idling, there was significant
clock drift related to the primary timer unit. It turns out that the
simulator was using `AIO_SET_INTERRUPT_LATENCY` and `sim_rtcn_tick_ack`
incorrectly. They are not needed with the structure of system timers in
the 3B2 architecture.
2023-01-18 12:50:35 -05:00
Howard M. Harte
dcd3e48048 AltairZ80: ADCS6: Initialize extended UDATA in reset routine.
As pointed out by @markpizz , the only allowed macro to initialize UNIT
structures is the UDATA macro.

Setting additional UNIT data structure items should be set through explicit
initialization code in the DEVICE reset routine.
2023-01-18 12:43:34 -05:00
Patrick Linstruth
1a1366650c AltairZ80: Adds -H switch to LOAD command for loading Intel hex files 2023-01-17 20:08:39 -08:00
Peter Schorn
ce791138b5 SCP: Remove dead code in sim_sanity_check_register_declarations 2022-12-05 12:16:52 -05:00
Howard M. Harte
74197bfb77 AltairZ80: SIO: Allow keyboard interrupts from configurable SIO port. 2022-12-05 12:16:00 -05:00
Howard M. Harte
9dd2fe1615 AltairZ80: ADC Super-Six: add Z80-CTC support. 2022-12-05 12:16:00 -05:00
Howard M. Harte
4359a80670 AltairZ80: wd179x: Add support for raw disk images.
Support standard 8-inch SSSD raw disk images, in addition to .imd.
2022-12-05 12:16:00 -05:00
Jim Fehlinger
78ebfb418b IBM1130: cr_attach() [ibm1130_cr.c]: replace bad pointer 2022-12-02 09:59:57 -05:00
Patrick Linstruth
92e40cb1c8 SCP: Add VM-specific messages to %TSTATUS% expansion
Clean up variable expansion help
2022-11-30 12:27:19 -05:00
Paul Koning
068b0f37b4 DISK: rename CreateVirtualDisk
This fixes issue #52, name conflict when building in MinGW.
2022-11-29 12:04:56 -05:00
Paul Koning
9dea1cecd1 PDP9 VAX SEL32: Adjust test limits
Adjust the instruction limits for three simulators so they pass
on Apple M1 systems.
2022-11-28 11:01:33 -05:00
Mark Pizzolato
f06ba22c6c SCELBI: Add missing array bound in sim_stop_messages array
Somehow this simulator got missed when this change was made for all
other simulators.
2022-11-27 17:15:42 -05:00
Patrick Linstruth
3ec3e3aa8f AltairZ80: Fix HALT stop code conflict with ON ERROR
AltairZ80 uses 0 for the VM-specific HLT instruction stop code.
SCP defines SCPE_OK as 0.
SCP uses 0 to mean all errors ("ON ERROR").

The command "ON 0" will generate "%SIM-ERROR: Invalid argument: 0".

This PR changes the HALT stop code from 0 to 5.
2022-11-27 17:14:57 -05:00
Tony Lawrence
e062e2d7c1 PDP11: Remove dead code in RL11 2022-11-27 14:39:58 -05:00
Tony Lawrence
57837528ae SCP: Word order in "set def" error 2022-11-27 14:39:58 -05:00
Tony Lawrence
3364fe6f19 SIMH: VSCode patterns added to ignore list 2022-11-27 14:39:58 -05:00
Mark Pizzolato
5250eb866d SCP: Update HELP SET ON to also describe INHERIT and NOINHERIT options
Add missing help information reported in #130
2022-11-27 14:39:12 -05:00
Howard M. Harte
60599a9f62 AltairZ80: HDC-1001: Fix MSVC /W4 warnings. 2022-11-27 14:38:05 -05:00
Howard M. Harte
75f11a8e3d AltairZ80: wd179x: Code cleanup and fix MSVC /W4 warnings. 2022-11-27 14:38:05 -05:00
Howard M. Harte
7cca92ce28 AltairZ80: SIO: Support 32-bits for setFCBAddressCmd.
The M68K requires more than 16-bits for the FCB address.  Expand to
32-bits.
2022-11-27 14:38:05 -05:00