Commit graph

91 commits

Author SHA1 Message Date
B. Scott Michel
103d1dd554 CMAKE: Regenerate, PDP10 needs USES_AIO
- Periodic "python cmake/generate.py" to sync with makefile changes.

- Ensure that AIO_CCDEFS (makefile) and USES_AIO (CMake generate.py) are
  present for PDP-10 simulators. Otherwise, user gets a warning message
  when the simulator starts about network support and asynchronous I/O.
2024-06-28 12:45:49 -04:00
Charles Anthony
aea2634940 IBM1130: Fix address computation overflow
In sim_instr(), the effective address is computed; for the case of TAG
(index register addressing), the contents of the specified index register
is added to the effective address, but the result is not masked to 16
bits as per the hardware functionality.

Adding a a 16 bit mask operation fixes the issue.
2024-06-17 14:04:19 -04:00
B. Scott Michel
c37d26a370 IBM 1130: GUI resource file, RegSanityCheck fix
- Add the missing ibm1130.rc GUI resource file to the Windows build so
  that the GUI renders correctly.

- Set the add_simulator TEST_ARGS  to "-g" to fix an edge case Heisenbug
  encountered during Github CI/CD tests where ibm1130 appears to hang
  indefinitely on the Windows runners.

  The cause is the GUI's Pump() thread function being prematurely
  terminated before all GUI resources are acquired. The net result is an
  infinite loop in the MS C runtime trying to exit the process with
  unstable internal state. (Separate patch: synchronization across main
  and Pump() threads to ensure resource acquisition completes.)

  This issue never shows (cannot show) up on non-Windows platforms or
  the SIMH makefile.

- Ibm1130/ibm1130_cr.c

  - Fix printf() warnings (format should be long, not int)
  - Signed/unsigned mismatch, size_t for array indexing
  - Comment out the unused trim() function.

- Ibm1130/ibm1130_cpu.c, ibm1130_gui.c: Remove undefined static functions.
2024-06-08 13:51:23 -04:00
B. Scott Michel
8b14bb69be
CMake build infrastructure II (#53)
* CMake build infrastructure

The squashed commit that builds and packages releases for the SIMH
simulator suite with CMake, version 3.14 or newer.

See README-CMake.md for documentation.
2023-05-17 20:18:42 -04:00
Peter Schorn
27bd6b81aa Fix UTF-8 encoding for five files 2023-03-30 09:31:06 -04:00
Jim Fehlinger
78ebfb418b IBM1130: cr_attach() [ibm1130_cr.c]: replace bad pointer 2022-12-02 09:59:57 -05:00
Mark Pizzolato
bfa200f2ed IBM1130: Fix Coverity identified issue 2022-03-11 13:29:26 -08:00
Lars Brinkhoff
d5befa75c1 I650, IBM1130, PDP11, PDP18b, VAX, Sigma: Fix set but unused variables. 2020-12-02 14:45:21 -08:00
Mark Pizzolato
7bdb5aee8d IBM1130: Compiler warning cleanup
- Initialize local state variable to 0.  Likely non functional changes due
  to lack of depth in static analysis scan.  Coverity detects real problems
  like this.
- Migrate use of strncpy to strlcpy to assure safe buffer operations
2020-10-19 12:30:43 -07:00
Mark Pizzolato
ae825c9afb All: Declare sim_stop_messages as an array SCPE_BASE long
This avoids a potential invalid pointer dereference when formatting
the return value from sim_instr() if it is < SCPE_BASE but greater
than the previously defined static array size.sizeof

Update simh.doc to reflect this generic change.
2020-09-02 15:56:07 -07:00
Mark Pizzolato
ba7316ea8a IBM1130: Correct the width of the ILSW registers 2020-02-26 21:55:51 -08:00
Mark Pizzolato
8a858c181d SCP: Clean up WEAK definition and rework deprecated references to sim_vm_init
As discussed in #794
2020-01-29 12:30:25 -08:00
Mark Pizzolato
4fe9ae7f76 H316, Ibm1130, S3: Silence GCC warnings about potential format truncation 2019-12-30 17:44:15 -08:00
Mark Pizzolato
d3228e85b0 IBM1130: Cleanup potential buffer overruns in SCA device 2019-07-16 04:33:34 -07: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
1d360efe15 ibm1130: Fix build on FreeBSD as discussed in #499 2017-12-09 17:16:35 -08:00
Mark Pizzolato
ce5d7de683 IBM1130: Make timer logic consistent with comments describing expected action 2017-09-11 15:46:26 -07:00
Mark Pizzolato
0559308ee4 IBM1130: Fix Coverity identified PTR positioning bookkeeping 2017-09-11 15:44:23 -07:00
Mark Pizzolato
5d1f5c33fc IBM1130: Address Coverity identified issues in CR device 2017-09-11 15:43:26 -07:00
Mark Pizzolato
197bca5fdd IBM1130: Add necessary parenthesis to conditional expression (Coverity) 2017-05-29 21:19:05 -07:00
Mark Pizzolato
86b8a7d5c1 IBM1130: Avoid focus change to the command window when using a telnet console
as discussed in #467
2017-05-27 01:16:02 -07:00
Mark Pizzolato
930e497ee9 IBM1130: Properly sync GUI info at startup
as discussed in #453
2017-05-24 19:10:54 -07:00
Mark Pizzolato
99e833f9c0 IBM1130: GUI support for alternate disk booting (James Fehlinger)
as discussed in #452 and #453
2017-05-24 13:00:57 -07:00
Mark Pizzolato
85deff82ec IBM1130: Set PLOT device disabled when plot support isn't available 2017-05-24 10:18:11 -07:00
Mark Pizzolato
089740a0c5 IBM1130: Fix GUI POWER and RESET buttons to properly synch with main thread
as reported in #451
2017-05-22 11:18:20 -07:00
Mark Pizzolato
83d414d6e6 IBM1130: Fix missing x64 GUI declaration
As discussed in #465
2017-05-22 10:06:51 -07:00
Mark Pizzolato
73a058a904 IBM1130: Allow 32bit and 64bit build of GUI (Jim Fehlinger)
as discussed in #465
2017-05-21 21:59:51 -07:00
Mark Pizzolato
a9cd426701 IBM1130: Change position, color, text of buttons to match real 1130
as discussed in #459 by  James Fehlinger
2017-05-18 23:56:18 -07:00
Mark Pizzolato
b0850673ce IBM1130: Clarify prompts to handle incorrect file drops into GUI 2017-05-18 13:14:56 -07:00
Mark Pizzolato
1cf4f7795a IBM1130: more robust detection of SCP command files dropped into GUI
as discussed in #456
2017-05-17 09:22:38 -07:00
Mark Pizzolato
d9cc6636d4 IBM1130: Add SCP command file auto detect for files dropped into GUI
as discussed in #456
2017-05-16 12:57:40 -07:00
Mark Pizzolato
50ee79734a IBM1130: Force update of GUI prior to reading commands
This gets changed state displayed in GUI for register updates, etc..

as mentioned in #453 point 1.
2017-05-15 21:00:35 -07:00
Mark Pizzolato
6c39b3a263 IBM1130: Change disk device labels to reflect correct drive numbers
as discussed in #455
2017-05-15 19:32:30 -07:00
Mark Pizzolato
b8f6dfaf9e IBM1130: Make sure GUI Card Reader doesn't change while simulator is running
as discussed in #454
2017-05-15 19:04:36 -07:00
Mark Pizzolato
22efe75883 IBM1130: Move focus to console input window after all GUI button presses
As discussed in #450
2017-05-15 14:57:43 -07:00
Mark Pizzolato
e0a45f9af9 IBM1130: Fix non-windows build 2017-05-15 10:49:37 -07:00
Mark Pizzolato
17c56a0c88 IBM1130: Bring focus to the SCP window at appropriate times with GUI console
As suggested by Jim Fehlinger in #450
2017-05-15 07:29:10 -07:00
Mark Pizzolato
fee3e81208 IBM1130: Disallow printer 'paper' removal with simulator running
As reported in #449
2017-05-14 18:49:34 -07:00
Mark Pizzolato
4df0a9fb1e IBM1130: Properly serialize commands and waiting for command completion
As reported in #448
2017-05-14 06:16:28 -07:00
Mark Pizzolato
5917787c53 IBM1130: Fix plot compile issues when plot device is enabled 2017-05-12 07:52:32 -07:00
Mark Pizzolato
ab4ee75961 IBM1130: Give notepad a chance to open its file before proceeding 2017-05-12 06:21:49 -07:00
Mark Pizzolato
6ae743798a IBM1130: Fix missing CONST in plot declarations (James Fehlinger) 2017-05-08 21:28:44 -07:00
Mark Pizzolato
bc6caf53de IBM1130: Rework GUI -> SCP input processing to really stuff input 2017-05-08 19:48:46 -07:00
Mark Pizzolato
026990147f IBM1130: Correct label in GUI Operation Tags->Operation Flags 2017-05-08 19:46:47 -07:00
Mark Pizzolato
58f6e7d2db IBM1130: Pickup the latest utils from ibm1130software.zip from ibm1130.org
- ibm1130software.zip was contained within ibm1130.zip from ibm1130.org
- Tabs converted to spaces
2017-05-08 09:28:50 -07:00
Mark Pizzolato
e7dbc8ea64 IBM1130: Change peeks into the event queue to only consider ibm1130 events 2017-05-07 18:59:00 -07:00
Mark Pizzolato
b866f76af7 IBM1130: Cleanup GUI command interactions and shutdown activities
Cleaned up a couple of things here.  Specifically:
    1) scp_reading is only set when CmdThread is actually reading.
    2) Avoid calling ResetEvent(hCmdReadEvent) since it has no effect.
    3) Calling ReadFile directly rather than calling read_line which ultimately
         calls fgets(stdin) and that ultimately calls ReadFile.
    4) Added a cleanup mechanism to shutdown the CmdThread
         and related open handles to Events and Thread when the program exits.

Remaining potential problems:
    1) A user might have type a partial command (scp_reading) but not
        completed it by hitting Enter, and then they perform some GUI
        interaction which does other things.  Some strange output will be
        produced on top of the partially entered command line.
    2) Whether or not a complete command has been entered, the original
         CmdThread will have a read posted on stdin throughout any activity
         initiated by GUI activities.  It is not clear that the simulator’s console
         will coherently be able to change the console’s mode from the line
         oriented mode that SCP uses to the character oriented mode used
         while instructions are executing with read pending on the input side.
2017-05-07 18:56:48 -07:00
Mark Pizzolato
0c27d1f5a8 IBM1130: Convert Tabs to Spaces 2017-05-03 15:11:22 -07:00
Mark Pizzolato
cbf90e7d93 IBM1130: Remove internal DELETE command since SCP provides one now. 2017-02-17 00:12:43 -08:00
Mark Pizzolato
d8dbc7e6b5 SCP: Migrate all stdio writes to pass through SCP provided Fprintf() 2017-01-14 20:48:09 -08:00