Commit graph

7 commits

Author SHA1 Message Date
David Wise
7d7a57aa88 I1620: DEVICE register list should contain WAIT(TIME) or CPS but not both
Fix #632
2018-10-13 10:19:15 -07:00
David Wise
dbc596ff22 I1620: Update doc to remove redundant PTP section. 2018-10-02 09:22:46 -07:00
Mark Pizzolato
6b361a9faf PDP11, PDP15, UC15: Merge simh v3.10 functionality from Supnik-Current branch 2018-06-04 10:43:00 -07:00
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
Bob Supnik
e086f5eb17 I1620: Update doc to reflect recent changes 2017-05-22 10:12:07 -07:00
Mark Pizzolato
ae8bcecd29 I1620 : Changes from Bob Supnik re: Bob Armstrong has been running diagnostics and software, and these changes reflect fixes to bugs that were found.
We're not absolutely sure that all of the changes are correct - in particular the treatment of record marks in add/compare - but they do make the diagnostics pass, which they didn't before.

Bob asked for variable tab stops on the typewriter, and those are implemented as well. The routines were general enough that I put the SET/SHOW processors in sim_console.c, so I'm enclosing that and its header file.

Conflicts:
	I1620/i1620_cpu.c
	sim_console.c
	sim_console.h
2014-01-05 14:45:08 -08:00
Mark Pizzolato
fffad7c20e Merge changes from v3.9-0 rc1 2012-03-19 16:05:24 -07:00