Commit graph

38 commits

Author SHA1 Message Date
Patrick Linstruth
f1fb14d350 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-06-17 14:02:59 -04:00
Patrick Linstruth
1e4a43d8f8 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-06-08 13:55:30 -04:00
Patrick Linstruth
3b4333dfcc 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-02-01 12:52:41 -05:00
Peter Schorn
4c1aee0887 AltairZ80: Correct spelling, formatting and years 2023-06-30 14:31:06 +02:00
Peter Schorn
b0a496446f AltairZ80: Code cleanup and simplifications 2023-05-23 21:44:47 +02:00
Howard M. Harte
15d2b89573 AltairZ80: Add IBC Super Cadet / Middi Cadet support. 2023-04-25 21:00:06 -07:00
Howard M. Harte
94d0e78a2e AltairZ80: Move find_unit_index() to altairz80_sys.c 2023-04-01 07:01:12 -07: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
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
Patrick Linstruth
e2d422c2d3 AltairZ80: Add support for Morrow Micro Decision
Moved MMD and MMDM devices under Morrow Devices comment.
2022-11-23 11:22:51 -05:00
Howard M. Harte
61a520a978 AltairZ80: Morrow HDC-DMA Hard Disk Controller. 2022-11-15 12:21:58 -05:00
Howard M. Harte
f77485ca99 AltairZ80: Add Tarbell Double-Density FDC
This controller is based the wd179x, adding a couple of Tarbell-specific
registers.
2022-11-15 12:21:58 -05:00
Howard M. Harte
9fa55d0013 AltairZ80: M68K: Move Musashi to m68k directory.
The M68K CPU is from https://github.com/kstenerud/Musashi.  Move into
its own directory to facilitate easier synchronization with upstream
Musashi.
2022-10-08 00:24:49 -07:00
Peter Schorn
2911b3a440 AltairZ80: Added Morrow Disk Jockey disk controller 2021-01-03 14:24:30 +01:00
Peter Schorn
5211c1134a AltairZ80: New iCOM device, PTP port command, code cleanup 2020-11-28 14:02:01 +01:00
Mark Pizzolato
ae825c9afb All: Declare sim_stop_messages as an array SCPE_BASE long
This avoids a potential invalid pointer dereference when formatting
the return value from sim_instr() if it is < SCPE_BASE but greater
than the previously defined static array size.sizeof

Update simh.doc to reflect this generic change.
2020-09-02 15:56:07 -07:00
Peter Schorn
f64a32d0e8 AltairZ80: Added Hayes modem and minor bug fix 2020-08-16 09:31:19 +02:00
Patrick Linstruth
54a102ca86 AltairZ80: adds "PMMI" MM-103 modem device
This commit adds a "PMMI" device to the AltairZ80 VM that emulates
the PMMI Communications MM-103 MODEM & Communications Adapter.

This device was added at the request of a Facebook user that is
attempting to preserve and document various relevant communications
programs for CP/M and allow users to experience communicating and
sharing information with other remote computers of the same time
period, all on modern hardware.

This device attempts to emulate the MC6860L digital modem chip in
such a way that communications software written for the PMMI MM-103 can
communicate over a serial port or socket without a phone line or
the ability to MOdulate/DEModulate data over a phone line.
2020-06-22 09:26:59 -07:00
Patrick Linstruth
482e6b2ff9 AltairZ80: adds MITS 88-2SIO "M2SIO0" and "M2SIO1" devices
This commit adds two new devices, "M2SIO0" and "M2SIO1", to the AltairZ80
VM. These two independent devices emulate "raw" 88-2SIO ports that can
be used instead of the "SIO" device for attaching socket and serial
ports using TMXR.
2020-06-22 09:08:34 -07:00
Peter Schorn
f8a1e56637 AltairZ80: Improved resource mapping diagnostics. 2020-05-27 10:30:47 +02:00
Patrick Linstruth
5dc8898e0c ALTAIRZ80: Add JADEDD Jade Double D disk controller device 2020-05-23 07:30:43 -07:00
Peter Schorn
02fc4b0e3c AltairZ80: Added symbolic assembler for M68K CPU including bison/yacc source. 2020-05-15 09:45:58 +02:00
Patrick Linstruth
d205582e9e Add Tarbell SSSD disk controller 2019-12-05 16:00:35 -08:00
Mark Pizzolato
0b9cfa9b4d AltairZ80: Fix potential buffer overrun compiler warnings 2019-07-16 05:08:37 -07:00
Peter Schorn
70a8921a7a AltairZ80: Fix various static source scanning detected issues (Coverity Scan) 2017-03-12 12:06:05 +01:00
Mark Pizzolato
d8dbc7e6b5 SCP: Migrate all stdio writes to pass through SCP provided Fprintf() 2017-01-14 20:48:09 -08:00
Peter Schorn
9d2b7ee968 AltairZ80: Fixed NUM_CHIP_TYPE warning and added missing declaration 2016-05-23 13:26:17 -07:00
Mark Pizzolato
5531ccb175 ALL: Massive 'const' cleanup
These changes facilitate more robust parameter type checking and helps
to identify unexpected coding errors.

Most simulators can now also be compiled with a C++ compiler without
warnings.

Additionally, these changes have also been configured to facilitate easier
backporting of simulator and device simulation modules to run under the
simh v3.9+ SCP framework.
2016-05-15 15:25:33 -07:00
Mike Douglas
7a231a2cf9 AltairZ80: Add support for North Star single density controller
The first disk controller made by North Star was a single density
controller (MDSA). This was followed by the double density controller
(MDSAD) that is already supported in SIMH. This update adds support for
the single density controller as device MDSA. Since the controllers are
not software compatible, this update allows running of older software
designed for the MDSA controller.
2015-12-16 15:39:46 -06:00
Mark Pizzolato
e768629009 SCP: Added the capability for EXAMINE command output to be written directly to a socket. 2015-02-21 12:40:36 -08:00
Peter Schorn
ebf53c9cda Replaced printf with sim_printf. 2014-10-24 23:10:54 +02:00
Peter Schorn
589aca19f4 AltairZ80: Added Motorola 68000 CPU support for CP/M-68K, support for Altair mini-disk format, added descriptions for all device registers 2014-05-27 20:01:30 +02:00
Peter Schorn
798b82b868 Added debug support for the MHDSK device, support for the NEXT command and a warning if 8086 symbolic input is attempted. 2014-04-21 08:56:27 +02:00
Peter Schorn
8d3ecd0ddb AltairZ80: Added boot to MHDSK device and improved disassembler 2014-04-01 19:33:09 +02:00
Peter Schorn
5b2f229bb0 Added 88-HDSK support from Mike Douglas to AltairZ80 2014-03-29 07:21:59 +01:00
Mark Pizzolato
ee3d98a125 Updated AltairZ80 from Peter Schorn 2013-04-13 16:47:59 -07:00
Mark Pizzolato
fffad7c20e Merge changes from v3.9-0 rc1 2012-03-19 16:05:24 -07:00
Mark Pizzolato
d8f55a652b Cleaned up filename cases to be consistent for cross platform builds 2011-04-19 16:02:45 -07:00
Renamed from AltairZ80/altairZ80_sys.c (Browse further)