- The previous fix for STRCPY introduced a new bug. STRCPY must always
copy the final NULL terminator of the string, but must NOT increment
the source or destination pointers for the NULL terminator.
- The CTC simulation did not correctly support streaming mode, which
can in some cases request reads that are not on 512-byte block
boundaries.
- To begin to support System V Release 4 UNIX, the NI card (called EMD
under SVR4) needed to support several more CRC codes for pump code.
Added BASE option to auxcpu to move memory region.
Fix errors in Card Reader/Card Punch translation and operation.
Fixed problems with ITS quantum timer.
Added support for System Concepts DC10 disk controller (Lars).
Fixed errors in Line Printer control codes.
Added support for Lines per page to LP10.
Fixed issues with 7 track tapes on TM10.
Updated user guides
- A bug in the Square Root implementation could lead to
an infinite loop.
- Incorrect rounding was used when MAU destination register
was single or double word.
- Fix Coverity-discovered issues.
This will not change much, but it may be useful for sane idling depending
on the way the running OS actually uses the interval timer for clock ticks.
Some discussion about this in #713
This change adds a small infinite loop program that will be used by
the simulator to establish a reasonable guess at the host's
performance in order to precalibrate the system timer.
- Integer addition of unsigned types could fail to set the
overflow flag, leading to errors in the SVR3 floating point
emulation library that rely on the overflow flag to detect
carry out of high bit on unsigned addition. This change
will correctly set the V flag if the high bit should be
carried out on an add.
This change adds support for the WE32106 Math Acceleration Unit (MAU).
The WE32106 is an IEEE-754 1985 compatible floating point math
acceleration unit that was an optional component on the 3B2/310 and
3B2/400.
The MAU is implemented using software floating point routines. As
always, there may be bugs, but the MAU currently passes extensive
floating point tests with exactly the same results as a real 3B2/400
equipped with a physical MAU, so I hope these are few.