The North Star MDS-AD disk controller supports both single- and
double-density operation. While mixed-density is supported by the
controller, it is not supported by AltairZ80 due to a limitation of the
.nsi image file format. The .nsi image file format requires all sectors
to be of the same density.
The "Window" bit was getting cleared too late, causing the "next" sector
to be written under North Star DOS. Due to differences between CP/M and
North Star disk access routines, this was not an issue under CP/M.
Test: Verify that North Star DOS and CP/M can format, copy and verify an
entire disk.
North Star Disk Operating System, Version 2.1.1, at 100
+GO DT 2
SINGLE(S) OR DOUBLE(D) DENSITY TEST? D
BOTH SIDES (Y OR N)? Y
LOAD DISKETTE THEN PRESS RETURN TO BEGIN TEST
PASS COMPLETE
PASS COMPLETE
PASS COMPLETE
PASS COMPLETE
PASS COMPLETE
CONTROL-C STOP
+GO CD 1 2
COPY BOTH SIDES (Y OR N)? Y
LOAD DISKETTES AND PRESS RETURN WHEN READY.
COPY COMPLETED.
+GO CK 1
DISKETTE CHECK, VERSION 1
CHECK CODE: 46513
+GO CK 2
DISKETTE CHECK, VERSION 1
CHECK CODE: 46513
+
* Properly handle the case when a disk is not attached.
* Add register access for debugging.
* Assert DRQ as well as IRQ for software that checks DRQ.
* Add API to get the number of heads for the currently-selected
disk.
* Follow SIMH conventions for debug logging.
* Add ability to debug IMD from the wd179x debug settings.
Tests:
* Format and disk access on Cromemco CP/M 2.2, CDOS, 86-DOS,
MS-DOS 1.25, OASIS 5.6.
The AB Digital Design B810 RAM card is a 256K Dynamic RAM card
with onboard refresh logic. AltairZ80 support emulates four of
these cards for a total of 16 banks.
As used for the OASIS operating system, the B810 is configured
with common memory at the low addresses (0000h-3FFFh) with 16
banks of 48K from 4000h-FFFFh.
In order to have the common memory appear from 0000-3FFFh, set
the COMMONLOW register to 1:
D COMMONLOW 1
The 'tarbell' device now supports Tarbell model 1011 single density
and model 2022 double density floppy disk controllers. The model is
selected using the "SET TARBELL MODEL={SD|DD}" command. Also removed
some unused local variables.
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.
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.
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.
No address value are changed, by a pointer the the array object is
explicitly provided which allows validation logic to determine the
size of the array object rather than merely it's first element.