simh-testsetgenerator/I1620
Bob Supnik a750171c30 I1620: Add deferred IO mode for slow devices
The major change is the implementation of deferred IO - a more
accurate implementation of the 1620's "stop in its tracks" IO model.
When a device uses deferred IO, instruction execution is suspended
until the IO completes successfully. Operator interruptions, errors,
and so on do not return to instruction execution; this only occurs if
the IO completes successfully or the command SET CPU RELEASE is given
(equivalent of pressing the RELEASE button). Otherwise, the current IO
operation continues to execute.

Only the console typewriter and paper tape reader/punch currently
implement deferred IO; there are operational issues with those devices
that require more accurate modeling. The card reader/punch, line
printer, and disk still execute IO "instantaneously". It's not all
that hard to convert an instantaneous device to deferred operation,
but there's no point in doing so (and possibly introducing new bugs)
unless there's an actual operational issue. The 1620 doesn't have
overlapped IO, so programs can't tell the difference, by and large.

A number of other issues have been addressed as well, including the
bizarre "treat RM as 0 in the Q field" required by MI-015; the
treatment of non-existent indicators as always off; and various other
tweaks.

I've run CU01 (again), which at least gives typewriter and paper-tape
IO a basic workout; and it works. I leave more detailed testing to
people who know the machine better than I do.

The documentation has been updated to include Tom's detailed breakdown
of IO handling for all IO operations on the typewriter, paper-tape
reader/punch, card reader/punch, and line printer.
2017-05-29 13:34:55 -07:00
..
i1620_cd.c I1620: Add deferred IO mode for slow devices 2017-05-29 13:34:55 -07:00
i1620_cpu.c I1620: Add deferred IO mode for slow devices 2017-05-29 13:34:55 -07:00
i1620_defs.h I1620: Add deferred IO mode for slow devices 2017-05-29 13:34:55 -07:00
i1620_dp.c I1620: Fix Coverity identified problems 2017-03-14 04:48:14 -07:00
i1620_fp.c I1620: Separated compare from add/sub flows (Tom McBride) Removed ADD_SIGNC return from add/sub flows. From Bob Supnik - Fix #172 2015-03-26 12:49:19 -07:00
i1620_lp.c ALL: Massive 'const' cleanup 2016-05-15 15:25:33 -07:00
i1620_pt.c I1620: Add deferred IO mode for slow devices 2017-05-29 13:34:55 -07:00
i1620_sys.c I1620: Add deferred IO mode for slow devices 2017-05-29 13:34:55 -07:00
i1620_tty.c I1620: Add deferred IO mode for slow devices 2017-05-29 13:34:55 -07:00