Commit graph

44 commits

Author SHA1 Message Date
Peter Schorn
0f6bcb9682 SIMH: Fix spelling errors in comments and strings 2024-07-11 12:29:53 +02:00
Mark Pizzolato
11b5c1f1dd FRONTPANEL: Avoid theoretical potential buffer overrun 2021-01-30 22:46:17 -08:00
Mark Pizzolato
f1b7dc9d21 FRONTPANEL: Properly order include files to avoid winsock conflicts 2021-01-12 12:04:48 -08:00
Mark Pizzolato
b18912cda8 SCP: Silence GCC optimizer warnings about unused function results 2019-12-30 15:33:51 -08:00
Mark Pizzolato
2ddc0e61ad TIMER: Define HAVE_STRUCT_TIMESPEC consistently for compiler compatibility
As mentioned in #606
2018-08-06 13:15:09 -07:00
Mark Pizzolato
ce8aea13bc MINGW: Reorder windows include files to avoid future complications 2018-02-12 20:48:39 -08:00
Mark Pizzolato
b23f1d9dd0 FRONTPANEL: Fix support for DEBUG command to allow switches 2018-01-13 22:03:40 -08:00
Mark Pizzolato
2efc3a17ec FRONTPANEL: sim_frontpanel API release 12
- Cleanup session reading logic to properly handle all cases of TCP send
   coalesced data.
- Use Remote Console EXECUTE Command to consolidate register query activity
   when halted.
- Use -16 switch for EXAMINE and DEPOSIT commands to be sure to present data
   in a reliable simulator independent way.
- Add sim_panel_halt_text and sim_panel_device_debug_mode APIs
- Better cleanup of simulator process during panel shutdown on Win32
2018-01-12 10:07:15 -08:00
Mark Pizzolato
33fc5c44e6 FRONTPANEL: sim_frontpanel API release 11
- Properly digest all register data when it arrives from register
   queries and repeat activities.
- Invoke register callback functon when transitioning to Halt state.
- Add option to access instruction history with sim_panel_get_history
   API
- More interesting testing in FrontPanelTest program
2017-12-18 15:05:58 -08:00
Mark Pizzolato
65066b13bf FRONTPANEL: Silence Coverity warnings 2017-12-17 03:07:49 -08:00
Mark Pizzolato
649ddc63da FRONTPANEL: Fix logic detecting sim_panel_exec_... API command completion
Command initiating response can be coalesced with subsequent data by TCP.
Gracefully handle when that happens.
2017-12-17 00:35:28 -08:00
Mark Pizzolato
2de2b9bd80 FRONTPANEL: sim_frontpanel API release 10
- Reworked STEP, HALT, BOOT, and RUN API's to properly interlock with
   the receive thread.
- Shorten destroy delay while debugging to 1 second.
- Allow execution and text breakpoints to be set and/or cleared while
   simulator is running.
2017-12-15 13:57:20 -08:00
Mark Pizzolato
8cc11faf00 FRONTPANEL: FRONTPANEL: sim_frontpanel API release 9
- Add sim_panel_mem_deposit_instruction API
- Properly shutdown debug activities when more than one panel is active
- Properly unwind socket facilities when more than one panel is active
- More rigorously unwind things when a panel is destroyed while its
   simulator is running.
- Give explicit session request traffic priority over potentially pending
   repeat command processing.
2017-12-13 05:44:43 -08:00
Mark Pizzolato
e083a93ea2 FRONTPANEL: Add format buffer bounds checking 2017-12-10 20:04:11 -08:00
Mark Pizzolato
2292f2cf3e FRONTPANEL: sim_frontpanel API release 8
- Add sim_panel_debug() API to allow the front panel application to write
  directly to the API's debug file.
- Made transitions to panel Error state properly done with the mutex
   properly serializing accesss to the panel State variable.
2017-12-10 04:14:36 -08:00
Mark Pizzolato
b4c3fa1656 FRONTPANEL: sim_frontpanel API release 7
- Add explicit support for referencing register array elements.
- Reworked the parsing of the grouped output sets for explicitly queried
   registers and the auto repeat output sets.
- Fix race conditions in the various RUN, START, BOOT, and CONT commands.
- Fix incorrect RUN/HALT state after STEP commands
- Tolerate input TCP traffic that has been legitimately coalesced into
   different
2017-12-09 01:25:34 -08:00
Mark Pizzolato
c223f0fcec FRONTPANEL: Properly digest session traffic which TCP may have coalesced. 2017-12-06 10:46:18 -08:00
Mark Pizzolato
e2cccb78d1 FRONTPANEL: Improve validation of register existence
Initialize register bit data with current registers are added with bit
summary data specified.
2017-12-06 10:38:18 -08:00
Mark Pizzolato
b681f0d850 FRONTPANEL: Add a debug output flushing thread
This facilitates gathering useful debug information if/when execution
seems to hangs.
2017-12-06 10:30:33 -08:00
Mark Pizzolato
8551a2d477 FRONTPANEL: sim_frontpanel API version 6 release
- Add dithering option to bit sampling
2017-11-09 23:02:39 -08:00
Mark Pizzolato
e73d45ebcc FRONTPANEL: sim_frontpanel API version 5 release
- Add API to start execution with device reset
- Fix synchronization between panel application threads and simulator
  traffic reader thread.
2017-11-04 10:28:00 -07:00
Mark Pizzolato
b2cd329f4c FRONTPANEL: Fix repeating register data gathering lock problem (COVERITY) 2017-03-20 23:37:50 -07:00
Mark Pizzolato
5fb61c83e3 FRONTPANEL: Fix Coverity identified issues 2017-03-18 02:17:35 -07:00
Mark Pizzolato
fcf3104f6a FRONTPANEL: Fix Coverity identified problems 2017-03-15 21:02:09 -07:00
Mark Pizzolato
665ebf0fd1 FRONTPANEL: sim_frontpanel API version 4 release
Add simulator side register bit sampling with averaged sample values
delivered across the API at specified rates.
2017-02-04 10:48:13 -08:00
Mark Pizzolato
110ded6904 FRONTPANEL: sim_frontpanel API version 3 release
Adds:
1) Simulator side execution of register update activities at an interval
    specified in usecs.  Rates in excess of 1000Hz should be achievable
    for locally connected frontpanel applications.
2) New API for simulators to describe the register state available in
    the simulator.  If all of a the state which is potentially interesting
    to front panel applications is always present in the variables
    described by simh REG structures, then frontpanel API access to
    that data can be more efficiently provided.
2017-01-27 23:06:30 -08:00
Mark Pizzolato
d497aea17e FRONTPANEL: Add breakpoint support to support a debugger using the API 2016-02-11 16:42:25 -08:00
Mark Pizzolato
d75ec66607 FRONTPANEL: Added support for a register array to be returned as part of a register set 2015-04-17 14:46:06 -07:00
Mark Pizzolato
3719a07d10 FRONTPANEL: Fixed response data end of line detection issue which caused hanging of register updates 2015-04-13 15:48:53 -07:00
Mark Pizzolato
325e369bfd FRONTPANEL: Added mount and dismount commands for removable media 2015-04-04 16:37:43 -07:00
Mark Pizzolato
9d47891971 FRONTPANEL: Added logic to pass simulator startup messages in panel error text if the connection to the simulator shuts down while it is starting. 2015-04-04 09:18:02 -07:00
Mark Pizzolato
bccf98e979 FRONTPANEL: Added support register indirect register queries and various ways to deposit and examine registers and memory. 2015-04-03 04:44:09 -07:00
Mark Pizzolato
b8629a1142 FRONTPANEL: Restrict HALT, BOOT, CONT, STEP activities from executing in device frontpanels. 2015-02-28 11:20:59 -08:00
Mark Pizzolato
8c0fc33b2e FRONTPANEL: Merged simulator panel and device panel constructors. 2015-02-26 12:13:56 -08:00
Mark Pizzolato
71fe58b33a FRONTPANEL: Added better protocol debug support to debug simulator startup issues 2015-02-26 11:28:08 -08:00
Mark Pizzolato
df6953bf82 FRONTPANEL: Allow simulation startup to take up to 10 seconds (in 100ms steps) 2015-02-25 14:31:52 -08:00
Mark Pizzolato
059a54152a FRONTPANEL: General Enhancements
- added verification of the existence of simulator registers which they are referenced.
- sim_frontpanel API version checking to make sure that the invoking API and the simulator support the same capabilities.
- added the ability for a simulator to reference data in simh register data which is not in the set of registers defined in the default simh device (usually the CPU).
- added a simulator time reference relating to a set of register data which is provided.
- added example automatically creating a console terminal port from a simulator startup (front panel or not).
2015-02-24 19:49:09 -08:00
Mark Pizzolato
02295fa215 FRONTPANEL: Limit pending register value queries to a single query since there additional queries won't provide better information. 2015-02-20 16:18:41 -08:00
Mark Pizzolato
ce3e6358aa FRONTPANEL: Add OS X support to sim_frontpanel, add build requirements to documentation. 2015-02-17 16:36:23 -08:00
Mark Pizzolato
e1b7bb3b56 FRONTPANEL: Added comments describing the frontpanel API use. Added Error state to a panel which reflects a panel which is currently non-operational and which hopefully will be indicated by calling sim_panel_get_error 2015-02-17 07:58:21 -08:00
Mark Pizzolato
335def0d32 FRONTPANEL: Added support to debug traffic to/from the simulator 2015-02-15 11:04:18 -08:00
Mark Pizzolato
4c8e1631b5 FRONTPANEL: Cleanup for building as C++. Add initial support for device panels concurrently on a simulator. Added an API to set a register value. 2015-02-12 14:59:24 -08:00
Mark Pizzolato
e52ef6407a FRONTPANEL: Make startup of simulator more robust. 2015-02-11 16:38:16 -08:00
Mark Pizzolato
5a472f8f55 FRONTPANEL: Initial implementation of a working API for use by external panel applications 2015-02-11 11:16:07 -08:00