Commit graph

177 commits

Author SHA1 Message Date
Mark Pizzolato
661c1059a6 PDP10: Fix spelling error in comment section 2020-05-05 13:01:39 -07:00
Mark Pizzolato
fd08552852 PDP11, PDP10, VAX: Consistent use of UNIT flag variables in RP, HK, RL, and RQ
Properly reference sim_disk provided WLK flag bit
2020-05-05 12:59:21 -07:00
Mark Pizzolato
3c081a80c1 KA10, KI10, KL10: Open LPT, PTP devices for append
This implements the principle of "least surprise", in that users won't
normally expect to start overwriting an existing file on these devices.
Real hardware didn't behave that way.  A new (empty) file can always
be created with the -N switch on the ATTACH.
2020-04-28 14:35:22 -07:00
Mark Pizzolato
4313f9fe3c PDP1, PDP10, PDP11, ID16, ID32, NOVA, VAX: Open LPT, PTP devices for append
This implements the principle of "least surprise", in that users won't
normally expect to start overwriting an existing file on these devices.
Real hardware didn't behave that way.  A new (empty) file can always
be created with the -N switch on the ATTACH.
2020-04-28 07:09:20 -07:00
Mark Pizzolato
07897d3257 PDP11, VAX, and PDP10: Add AUTO disk format option to RP, HK, RL and RQ devices 2020-04-21 19:45:47 -07:00
Richard Cornwell
3f55005d21 KA10: Regular update to sync to development source.
Removed DEV_NET and fixed DEV_type on various devices.
   Support for 64 lines on KL10 FE by default.
   Fixed support for 32 lines on DC10.
   Support for TYPE 340 Display undocumented functions.
2020-04-17 18:19:54 -07:00
Mark Pizzolato
f9883668f1 NOVA, ECLIPSE, PDP11, PDP8, SIGMA, Unibus VAXen: Call tape detach API on unload 2020-04-04 09:49:15 -07:00
Mark Pizzolato
73df9b1c4e PDP10, PDP11, Massbus VAXen, DISK: Rework PDP10 use of sim_disk
- Make all PDP11, VAX RP and RQ devices autosizing behave similarly
- Generalize the attach help to be specific to the device/system being
   attached
- Remove the sim_disk_pdp10_* calls which weren't correct or needed
   since sim_disk_attach_ex provides sector size which is used correctly
2020-04-03 17:32:14 -07:00
Mark Pizzolato
b7824943df DISK: Minimize the sim_disk_pdp10_attach arguments to minimize aguments
The sim_disk_pdp10_... API's specifically provide 1024 byte sector
interfaces for 64bit data.

Customize the attach help output to be more appropriate for the devices
in the running simulator and the device who's help is being displayed.
2020-03-31 19:37:33 -07:00
John Forecast
6efa9c0a92 PDP10, DISK: Add sim_disk support for PDP10 format disks add to the RP device
This allows the underlying disk container formats that that sim_disk supports
(VHD, SIMH or RAW) to be accessed from the PDP10 KS10 simulator, and later
on to Rich Cornwell's PDP10-KA, PDP10-KI, and PDP10-KL simulators.
2020-03-31 15:20:04 -07:00
Richard Cornwell
c22766b760 KA10: Corrected error in NIA Padding. Handle disabled RH devices. 2020-03-25 20:24:13 -07:00
Mark Pizzolato
27c2dfa8f0 All DECtape devices: Undo previous unnecessary change relating to -A switch
Although these devices interpret a -A switch at attach time, they are not
sequential output devices and thus don't have an ambiguous interpretation
of the switch.

Incorrectly mentioned in #821
2020-03-24 08:35:55 -07:00
Mark Pizzolato
1c589030ae TIMER: Provide a means for VM to indicate its expected calibration rate
As reported and discussed in #817

This allows RUNLIMIT to provide useful results on fast or slow host systems.
2020-03-23 07:48:45 -07:00
Mark Pizzolato
614ad52091 All: Fix devices that attach files and have special meaning for -A switch
The -A attach time switch implicitly means to open files in append
mode.

Some devices used -A to indicate ASCII data or AUTOSIZE of disk or
fixed size tapes - DECtape.  These devices are either read only devices
(Paper tape readers or card readers), so explicit forcing of the attach
to be -R avoids unexpected positioning errors.  The random access
Disk and fixed sized tapes buffer the container contents in memory
so append mode isn't relevant, but care must be taken to assure that
the buffer reading starts at the beginning of the file without regard
to the explicit open mode.

As reported in #821
2020-03-22 09:54:54 -07:00
Richard Cornwell
b848cb1234 KA10: Clean up some section errors in KL10B extended addressing. 2020-03-12 00:10:54 -04:00
Richard Cornwell
7acb4554bb KA10: Removed PACK definition, add polling if async eth fails. 2020-03-12 00:10:15 -04:00
Author: Richard Cornwell
c686f75894 KA10: Added support for KL10A/B. 2020-03-09 23:07:47 -07:00
Mark Pizzolato
09ce5a62e3 PDP6, KA10, KI10: Update register definitions for checking 2020-03-07 20:01:26 -08:00
Richard Cornwell
6aafb375eb KA10: Updated register definitions. 2020-02-26 20:10:42 -05:00
Richard Cornwell
178968a621 KA10: Regular update. Code cleanup and minor enhancements. 2019-11-03 22:11:23 -05:00
Richard Cornwell
8c00d94be4 KA10: General update.
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
2019-08-12 07:51:52 -07:00
Richard Cornwell
90b7d2beac KA10: Initial release of PDP10 KA/KI and PDP6 simulators. 2019-07-09 20:59:01 -04:00
Mark Pizzolato
eadfeffdf3 PDP10: Recompute tmxr delay factor regularly
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
2019-07-01 19:24:25 -07:00
Mark Pizzolato
53ad66f57e PDP10: Fix rdtim to properly compute the value
The correct solution adds the elapsed interval rather than the remaining
interval value.

As reported in #699
2019-06-04 00:02:17 -07:00
Mark Pizzolato
45d8c908ba PDP10: Leverage the internal calibrated timer for accurate wall clock timing
Avoid the common situation on with this simulator whereby the programmatic
interval timer is being used for intervals which change often.  The internal
calibrated timing routines depend on consistent rate for the calibrated device.

As discussed in #699
2019-05-29 00:44:17 -07:00
Mark Pizzolato
6a131ec59a PDP10: Fix sequencing of polling to properly leverage console speed setting 2019-05-29 00:18:27 -07:00
Mark Pizzolato
f75f28aa21 TIMER: Add mechanism to pre-calibrate the instruction execution rate 2019-05-28 23:56:58 -07:00
Mark Pizzolato
fa77969c57 All: Fix various Coverity complaints 2019-04-03 09:32:54 -07:00
Lars Brinkhoff
da256fcc28 PDP10, PDP11, Unibus VAXen: CH11 Chaosnet interface. 2018-11-22 07:50:57 +01:00
Mark Pizzolato
6ffa4c8a41 IBM1130, PDP10, PDP11: Replaced assert() with ASSURE() for run time error checks 2018-08-11 14:44:15 -07:00
Mark Pizzolato
d356274d38 PDP10: Fix build warning when compiling DZ module 2018-04-10 10:24:49 -07:00
Mark Pizzolato
66a1f31dbd PDP10, PDP4, PDP7, PDP9, PDP15: CONST compatibility with 3.10 2018-03-10 00:18:27 -08:00
Bob Supnik
645ea28d35 PDP10: Read tape mark must set Massbus EXC (TRE) 2018-03-09 14:23:00 -08:00
Timothe Litt
34292312a8 PDP10: Fix attach pending expression test 2018-01-12 18:35:34 -08:00
Mark Pizzolato
3eadc405d0 PDP10: Ignore 0 value writes to the timer interval register
This avoids a divide by zero which is never right, but it is unclear
what the real hardware did.  It wouldn't be useful in any case.

As discussed in #486
2017-11-14 18:47:05 -08:00
Bob Supnik
5b5e0f9c35 H316, I7094, NOVA, PDP1, PDP10, PDP8, SDS: Coverity singleton errors
Most history routines defined a local sim_eval of the proper length, but the
erroneous ones were fixed length machines that defined an integer variable
instead of an integer array of length 1. The VAX used the global sim_eval.
The changes follow the VAX practice.
2017-09-07 09:59:04 -07:00
Bob Supnik
d60c56d18f PDP10: Add fall through comment to case (COVERITY) 2017-03-28 19:27:27 -07:00
Bob Supnik
5896b1c20d PDP10: Documented switch fall through case (COVERITY) 2017-03-28 14:32:10 -07:00
Bob Supnik
3eb4598456 SCP: Removed KBD_WAIT and friends 2017-03-20 22:33:38 -07:00
Bob Supnik
d1768d2771 PDP10, PDP11, PDP18B, PDP8: Annotate switch case fall through (COVERITY) 2017-03-13 10:59:06 -07:00
Bob Supnik
1e10080bc6 PDP10: Fixed word count test in EXE loader (COVERITY) 2017-03-09 20:09:59 -08:00
Bob Supnik
3530f0de7d PDP10: Added mask on EXE repeat count (COVERITY) 2017-03-09 19:50:01 -08:00
Bob Supnik
b41d10f189 PDP11, PDP10, VAX780: CR11 is BR6, CD11 is BR4 2017-03-07 09:42:37 -08:00
R. Voorhorst
f07987b7cd PDP10: Fixed SHOW IO: number of devices and vector ranges 2017-02-16 11:48:35 -08:00
Mark Pizzolato
7d432406b6 PDP11, PDP10, all VAX: General extern cleanup.
Remove explicit redundant extern declarations in source files that are
defined in processor include files.
2017-02-04 19:37:20 -08:00
Bob Supnik
370cb0edb7 PDP10: Fix RIM load loader count
As further discussed in #278
2017-02-01 08:06:25 -08:00
Bob Supnik
d980bcd7c1 PDP10: Fixed RIM loader to handle ITS and RIM10B formats
As discussed in #378

The fixes include:

1. Tightening up the "magic" code so that it can now tell EXE, SAV, and RIM
    formats apart.
2. Skipping the loader itself for both RIM10B and ITS RIM. (PDP10 Macro manual
    says that RIM10B always includes the loader.) 3. Distinguishing ITS RIM from
    RIM10B by the length of the loader block.
4. Adding the slight differences in processing between ITS RIM and RIM10B.

There is no documentation change. -R or the extension .RIM still invoke the
RIM loader, and the code tells ITS and RIM10B apart.
2017-01-20 15:26:22 -08:00
Mark Pizzolato
d8dbc7e6b5 SCP: Migrate all stdio writes to pass through SCP provided Fprintf() 2017-01-14 20:48:09 -08:00
Mark Pizzolato
b72ec739be PDP10: Fixed bugs in 1-proceed
As discussed in: PDP-10: single step in DDT crashes ITS (#373)
2017-01-14 08:37:20 -08:00
Mark Pizzolato
1c4b6644c1 PDP10: Change idling to generically use sim_idle() everywhere 2016-12-10 12:01:19 -08:00