The uninitialized case would never occur since the routing containing that
code would never be called when the conditions that would leave the variable
uninitialized.
Hardware support:
- Half cycle simulation
- Halt CPU simulation (^E on SimH console)
New Software included: Carnegie Internal Translator (IT)
New features
- Support for displaying SOAP symbolic instructions in debug information
- CardDeck internal command to split/join/print decks of cards
Bugs corrected:
- Fixed card format handling. Release 1 can only read TEXT format
- Removed superfluous line ends from debug strings.
- Better minus zero support
- Fixed unneeded prompt Really truncate memory [N] when setting memory size
Previously, unexpected values might end up being set when using SET ENV
if there were trailing whitespace on the line being parsed. Any such white
space is now explicitly trimmed before the environment variable is set.
Once we do that, we need to provide a way to deliberately set an environment
variable with trailing spaces. This is now achieved by using a quoted string
value specified as:
SET ENV -S var="value "
The quotes are removed prior to setting the environment variable value.
The contents of the quoted string are parsed the same as EXPECT and SEND
arguments.
Previously, tmxr_set_line_unit() and tmxr_set_line_output_unit()
were being called in the attach routine. These probably belong
in the reset routine instead.
Adds a skeleton framework for CIO ("Common I/O") feature cards. The
first feature card to be implemented will be the "PORTS" serial MUX.
Part of this support involved reworking IRQ handling in the CPU. It
now respects both IRQ Vector and IPL.
This change also removes all 'assert(0)' calls from the simulator and
replaces them with generic "Simulator Error" halts. These should only
happen if there's a genuine logic error lurking somewhere.
This change is a major refactor of how DMA and the DUART interact.
DMA implementation can now be overridden by individual devices that
require DMA. Disk and Floppy both continue to use a generic DMA
implementation, but the DUART code replaces the generic DMA with its
own implementation that correctly rate-limits TX. Among other things,
this allows the simulator to work correctly with real serial
terminals. This functionality has been tested on an AT&T 5620 "Blit"
terminal, which can run the 'layers' windowing software from the
simulator.
Previously auto format detection first attempted a VHD open. If that
failed, it falls back to a SIMH open which uses C RTL fopen, fread, fwrite
and fclose. Now a RAW format open is attempted which will often
succeed, not only on CDROM devices, but most normal files can also
be opened in RAW mode which will to direct OS I/O (open, erad, write
and close or CreateFile, ReadFile, WriteFile, CloseHandle).
As discussed in #533
When the console is connected to a serial port or telnet sessions enable
speed setting, the bits being output are now paced a the desired speed.
Multi-line mux I/O is also correctly rate limited on all lines.
This should address the problems described in #545