Commit graph

4121 commits

Author SHA1 Message Date
Richard Cornwell
3a7a27f651 CARD: Added DEC029 translation table. 2020-11-17 22:05:42 -05:00
Mark Pizzolato
845a4d8f0e SCP: Silence compiler warning about potential sprintf buffer truncation 2020-11-16 11:36:34 -08:00
Mark Pizzolato
9cb93a64f2 SCP: Slow down debug output writes when the debug fd is non blocking
This problem only appears when debug output is prodigious.  That
prodigious activity is already dramatically affecting timing, so adding
additional delays to allow the debug output to catch up won't
make anything worse.

It appears that we could jump over the C runtime implementation of
fwrite() and do an explicit write() system call and retry that until it
succeeds, but this approach would have two negative consequences:
1) it would jump over other buffered data that the C runtime fwrite()
    may have pending due to output produced by other than debug
    activities, thus emitting output out of order.
2) Windows doesn't have a direct system call used by its C runtime
    for write(), but merely implements write() as part of the C runtime
    and as it turns out that write() returns an int vs a ssize_t type
    result.  An explicit cast could address this, but point 1 would still
    be a concern.

As discussed in #957
2020-11-16 11:09:23 -08:00
Mark Pizzolato
b0ac93294e SCP: Add FLUSH_INTERVAL register to override the default 30 second buffer flush
As indirectly discussed for debug output to a file in #957
2020-11-15 14:28:25 -08:00
Mark Pizzolato
ba5e18e963 SCP: Assure that debug output is aways completely written via fwrite
Previously, the status returned by fwrite() while writing debug output
was ignored and all debug output was presumed to be correctly written.

This change tolerates incomplete writes performed by the C runtime
and retries the remaining writes as long as the retries take.

This change completely presumes that the C runtime fwrite() returns
correct information when the data has not been completely written.
That of course will likely depend on the OS level write function
returning correct informatoin from the write() system call that
fwrite() depends on.

Timing concerns while emitting debug output have always been a
problem since even composing any debug output is likely to be much
more work than basic instruction execution off the current single
instruction.  Clock calibration probably will be fundamentally unreliable.

As discussed in #957
2020-11-13 22:29:32 -08:00
Mark Pizzolato
267f2548a6 IMD: Fix compiler warning in sim_debug statement 2020-11-13 21:11:19 -08:00
Richard Cornwell
43412d227f KA10: Updated reader/punch for new translation tables. 2020-11-09 19:33:32 -05:00
Richard Cornwell
c86bd2271f B5500: Updated reader/punch for new translation tables. 2020-11-09 19:33:03 -05:00
Richard Cornwell
47dbc558a2 CARD: Updated translation table. 2020-11-09 19:32:36 -05:00
Howard M. Harte
78d6650acd sim_imd: clean up debug output. 2020-11-07 19:58:56 +00:00
Mark Pizzolato
c2059b0708 CARD: Improved help output distinguishing reader vs punch attach syntax 2020-11-06 11:55:20 -08:00
Mark Pizzolato
7f289b85f6 CARD: Update help to indicate multiple files may be attached at one time 2020-11-06 10:16:48 -08:00
Mark Pizzolato
9b1dea3a13 CARD: Minor adjustments for v3.x compatibility 2020-11-06 09:42:18 -08:00
Lars Brinkhoff
222c9d91b4 IMLAC: Improve debug output. 2020-11-04 14:41:19 +01:00
Mark Pizzolato
07d37f6d9e TMXR: Clarify comments on API description and variable names
This is all around the tmxr_set_get_modem_bits() API.
This change is non operational, but this clarification would avoid the
mistake made when someone uses or thinks about changing that
API in the future.
2020-11-03 07:58:42 -08:00
Mark Pizzolato
e3572e1a9f TMXR: Fix modem status bit retrieval to also return DTR and RTS
The prior change disabled returning DTR and RTS which the documented
interface was quite specific about actively returning.

The only user of this API which actually cared about DTR and RTS was
the in the pdp11_dmc module.

As reported in #951
2020-11-02 16:42:56 -08:00
Mark Pizzolato
f9ce5ae8ff SCP: Add whitespace ignore option to file and string content comparisons 2020-11-01 16:27:47 -08:00
Mark Pizzolato
462f5a51b8 SCP: Extend file compare functionality to expose where file differences start 2020-11-01 14:58:47 -08:00
Mark Pizzolato
6748a2c66f SCP: Extend TYPE/CAT command to support offset and line count limit 2020-11-01 14:54:12 -08:00
Mark Pizzolato
80abfe0412 doc: Update "Writing a Simulator" to describe details about sim_interval 2020-11-01 10:40:26 -08:00
Mark Pizzolato
ddcc280a17 CONSOLE: Add binary mode option when opening the LOG file. 2020-11-01 09:47:22 -08:00
Mark Pizzolato
a02b87625c CONSOLE: Add REGister reflecting console character output count 2020-11-01 09:41:40 -08:00
Richard Cornwell
2a87c499f0 KA10: Remove redundant include of time.h. 2020-10-31 11:56:24 -04:00
Richard Cornwell
a9500f5630 I7000: Remove redundant include of time.h. 2020-10-31 11:56:01 -04:00
Richard Cornwell
00c40dca89 B5500: Remove redundant include of time.h 2020-10-31 11:54:40 -04:00
Richard Cornwell
4d03ac67f6 KA10: Fixed some WAITS issues with III display. 2020-10-31 11:54:03 -04:00
Mark Pizzolato
0d6f1ce362 All VAX: Remove redundant include of time.h 2020-10-30 14:17:24 -07:00
Mark Pizzolato
2676404b36 3B2, BESM6, PDP10, PDP11: Remove redundant include of time.h 2020-10-30 14:16:52 -07:00
Peter Schorn
199adf7641 AltairZ80: Additional updates for SCP internal time base 2020-10-30 09:52:56 +01:00
Mark Pizzolato
e1ca936ab9 PDP10-KA, PDP10-KL: Adopt internal SCP internal time base 2020-10-29 13:35:55 -07:00
Mark Pizzolato
8d6219325a I7010, I7070, I7080, I7090: Adopt internal SCP internal time base 2020-10-29 13:34:05 -07:00
Mark Pizzolato
c9c3f8568a PDP10: Adopt internal SCP internal time base 2020-10-29 13:32:42 -07:00
Mark Pizzolato
263e0e7ed5 AltairZ80, BESM6, I7094: Adopt internal SCP internal time base 2020-10-29 13:28:41 -07:00
Mark Pizzolato
9c1f4beae3 SCP: Migrate to use SCP internal timer base reference 2020-10-29 13:06:36 -07:00
Mark Pizzolato
a41f081e81 TIMER: Add a generic time API to return the SCP time base 2020-10-29 12:57:47 -07:00
Richard Cornwell
b4813bc59e KA10: Updates for SCP negative sim_interval. 2020-10-27 21:30:24 -04:00
Richard Cornwell
e94f1a927b I7000: Updates for SCP negative sim_interval. 2020-10-27 21:29:51 -04:00
Richard Cornwell
e22d2c44f8 B5500: Updates for SCP negative sim_interval. 2020-10-27 21:28:47 -04:00
Mark Pizzolato
37f2b341d0 SCP: Fix compiler warning about unused variable. 2020-10-27 12:53:40 -07:00
Mark Pizzolato
33e3e7f493 SCP: Fix event dispatching when sim_interval is negative
- When sim_interval is negative (vs 0), more "time" has passed than
  when the first unit event on the queue was supposed to fire.  To
  properly handle this and dispatch this and other events which should
  have fired, time is temporarily backed up to when it was supposed
  to have fired and the event is dispatched.  If it schedules other
  events those will then properly be scheduled relative to the time is
  has fired.  This approach avoids events slipping forward in time.
- Add unit test to exercise event dispatching activities.
2020-10-27 08:33:24 -07:00
Richard Cornwell
15d933dd8b KA10: Fixed bug in POP instruction on KL10B. 2020-10-26 18:40:52 -04:00
Mark Pizzolato
16cafb3525 VAX GPX, LK and VE devices: Compiler warning cleanup 2020-10-25 09:06:10 -07:00
Chuck Guldenschuh
21812a58bf makefile: Add missing network support to infoserver builds 2020-10-25 08:28:11 -07:00
John Forecast
2e53d1ca28 CDC1700: Compiler warning cleanup 2020-10-24 17:50:04 -07:00
Mark Pizzolato
a10b8969cd MicroVAX2000, VAXStation2000: Properly describe 16MB of memory in CFGTST reg
The CFGTST register MTYPE subfield should describe the additional memory
beyond 2MB on the processor board.  Previous logic attempted to describe
the total system memory and the net result didn't fit into the 3 bit field and
thus said no additional memory is present.

The consequence of this new amount of memory is that ALL of it is tested
during the power on self test and thus it takes significantly longer to get to
the >>> prompt.

As reported in #944
2020-10-21 04:25:00 -07:00
Mark Pizzolato
9572108471 MicroVAX2000, VAXStation2000: Add dummy responses to TXCS internal register
As reported in #942
2020-10-20 12:38:30 -07:00
Mark Pizzolato
57071edbfa ID16, ID32: Compiler warning cleanup
- Initialize local state variables to 0.  Non functional changes due
  to lack of depth in static analysis scan.
2020-10-20 03:09:33 -07:00
Mark Pizzolato
dceadb393e SCP: Add internal & cross platform support for tar and curl commands 2020-10-20 02:50:34 -07:00
Mark Pizzolato
c8a8cca7a3 SCP: Add optional per line multiplexer log files to periodic flushing 2020-10-20 02:47:33 -07:00
Mark Pizzolato
4a41021be9 TAPE: Various fixes and additions
- Cleanup Compiler warnings
- Validate FIXED binary data as a multiple of the record size
- Add file classification tests
2020-10-19 17:25:17 -07:00