1
0
mirror of https://github.com/simh/simh.git synced 2026-01-20 17:58:06 +00:00

915 Commits

Author SHA1 Message Date
Mark Pizzolato
06659c82c8 SCP: Correct DIR command to use create time if modify time isn't populated. 2023-09-04 14:48:22 -10:00
Mark Pizzolato
2f1ab2ec6b DISK: Polishing various functionality 2023-08-30 06:17:35 -10:00
Mark Pizzolato
61e31a6e0e SCP: Add option to turn debugging on for SCP initialization activities 2023-08-29 13:15:19 -10:00
Mark Pizzolato
78fe4ec5e0 SCP: Use sim_defs.h defined global stringify macro 2023-07-29 08:10:50 -10:00
Mark Pizzolato
f9dedad627 makefile: curl needs to be actively installed on some platforms
- Make missing curl or tar visible in simulator environment variables:
       SIM_CURL_CMD_AVAILABLE
and SIM_TAR_CMD_AVAILABLE
2023-07-29 08:09:48 -10:00
Mark Pizzolato
63028863e4 SCP: Default to dynamically loading LIBEDIT, LIBPCRE and LIBPNG 2023-07-27 06:28:53 -10:00
Mark Pizzolato
e6f47400e8 SCP: Cleanup EXPECT help 2023-07-21 04:57:25 -10:00
Mark Pizzolato
fddcd7c346 SCP: Display editline version in SHOW VERSION output 2023-07-21 04:22:31 -10:00
Mark Pizzolato
79714192b4 SCP: Define and use a global macro to stringify macro values 2023-07-21 04:13:35 -10:00
Mark Pizzolato
6a27b7ef1b SCP: Properly handle when regex string matches without some substring matches
B. Scott Michel's run of clang memory sanitizer potentially identified
that  when a substring doesn't match the returned array offsets would
be -1.

This commit handles that potential and sets the respective substring as
an empty string.
2023-07-15 11:58:28 -10:00
Mark Pizzolato
91e2e4beb9 TIMER: More reliable NOCALIBRATE initialization
- Behave well when NOCALIBRATE mode is enabled after some instruction
  execution already happened.
- Properly detect the reliable calibrated clock or use the internal one.
2023-06-27 13:46:31 -10:00
Mark Pizzolato
008ecc4e8b SCP: Correctly implement $ in all EXAMINE or DEPOSIT cases 2023-06-27 11:59:59 -10:00
Mark Pizzolato
13d2e63e03 SCP: Added APIs for opening and closing temporary files 2023-06-27 11:43:04 -10:00
Mark Pizzolato
158c749a7e SCP: Directly call disk and tape detach routines when detach_unit is called 2023-06-27 11:40:44 -10:00
Mark Pizzolato
2d2b8baa4f DISK: Cleanup generated MTAB entries for best ordering and single unit support
Much better HELP <dev> SET and HELP <dev> SHOW results.
2023-06-27 11:39:34 -10:00
Mark Pizzolato
c73235d8ef DISK: Assure that unit flags in proper state on an explicit attach or detach
- Make sure unit isn't queued when detached.
- Properly allow (or reject) EXAMINE or DEPOSIT to disks unless format is
- correct.
2023-06-27 11:37:44 -10:00
Seth Morabito
fe40ece9f2 SCP: Don't malloc ep->match_pattern twice 2023-06-08 01:31:35 -10:00
Mark Pizzolato
a938f1e13f SCP: Change declaration of get_yn() to have boolean argument and return value
- Fix improper get_yn() use in test library logic

Reported by Peter Shorn
2023-04-06 12:29:25 -10:00
Mark Pizzolato
287f2928ab SCP: Remove legacy support for OS2 and MetroWerks on Macintosh OS 9 2023-04-05 08:41:33 -10:00
Mark Pizzolato
c7d01273df SCP: Add CheckSourceCode facility to validate simh project standards 2023-03-04 17:51:49 -10:00
Mark Pizzolato
194b313179 SCP: Fold up include files used by all simulators
- Add common system includes used in may places which are allowed
  and thus added directly in sim_defs.h.
- Separate completely private system data structures and system APIs
  for use only by SCP library routines into sim_scp_private.h.
2023-03-04 17:51:49 -10:00
Mark Pizzolato
bdf28cf7f8 SCP: Remove switches from startup argv list when they are digested
export commonly used set_dev_enbdis API in scp.h
2023-03-04 17:51:49 -10:00
Mark Pizzolato
2c9dce6cf2 Various simulators: Set line endings to CRLF for consistency, remove stray tabs
Project standard source code has tabs converted to spaces and CRLF line
endings
2023-03-04 17:49:37 -10:00
Mark Pizzolato
5483ffbbbd PDP11 and all other simulators: Issue meaningful messages for bad boot args 2023-02-09 15:16:59 -10:00
Mark Pizzolato
a9fb4a653e makefile: Properly report archive git commit info when building from an archive 2023-01-25 10:14:15 -10:00
Mark Pizzolato
a79c583053 TMXR: Remove all SIM_ASYNCH_MUX dependent code
Asynchronous MUX functionality was added long ago and never completely
tested and thus never completed and never actually used.

All of what it was supposed to achieve was independently achieved when
bit rate speed functionality was added.
2023-01-21 09:12:45 -10:00
Mark Pizzolato
3edcea7de0 SCP: Be sure to close (implicitly flushing) debug output on abort() 2023-01-16 16:57:14 -10:00
Mark Pizzolato
2e2270ccc7 SCP: Reasonably format output after EOF return from read_line_p 2023-01-07 08:07:06 -10:00
Mark Pizzolato
4bbc3dfd1c TIMER: Add SET CLOCK NOCALIBRATE mode
NOCALIBRATE mode allows all activity of a simulator run to occur with
precisely consistent event timing.  In this mode, every clock tick takes
precisely the same number of instructions/cycles.  Likewise, the polling
activities for MUX or other poll oriented devices occurs after precisely
the same number of instructions/cycles executed.  As a consequence of
this mode, no effort to align simulated clock ticks (and simulated access
to wall clock time) is made.

This mode might be useful for running diagnostics which expect a
particular relationship between perceived wall clock and instruction
times.  It might also be useful for running test scripts which may want
to compare output of previous executions to to current execution or
to compare execution on arbitrarily different host computers.

In NOCALIBRATE mode, the operator gets to specify the pseudo
execution rate along with the base wall clock time that access to
pseudo wall clock accesses returns.
2023-01-06 09:49:31 -10:00
Mark Pizzolato
f79b03f2b7 SCP: Provide a pseudo environment variable SIM_RUNLIMIT_REMAINING
This is available for simh scripts which may want to display the
runlimit information via:
  sim> echo %SIM_RUNLIMIT_REMAINING%
2023-01-06 09:36:47 -10:00
Mark Pizzolato
41ab668e97 SCP: Leverage default radix choices when parsing command inputs
strtotv was extended long ago to allow radix prefixes (0x, 0X, 0b, 0B
and 0) for input when 0 was specified as the parsing radix.  The uses
from calls to get_uint() need to specify a 0 radix to leverage this
which wasn't done at that time.
2023-01-05 17:32:32 -10:00
Mark Pizzolato
135e69c4a1 SCP: Add SET CONSOLE TELNET=CONNECT to open a window running telnet to console 2022-12-30 21:34:07 -10:00
Mark Pizzolato
5f98bdcce6 SCP: Document in HELP and sim_doc HELP SET DEBUG -B 2022-12-28 21:17:39 -10:00
Mark Pizzolato
b0cdb3e831 frontpanel: Fix remote console event queuing when in HALT state
- Update sim_frontpanel API version to 13
- Correct event queuing when halted avoids sim_time running backwards
2022-12-28 10:58:08 -10:00
Mark Pizzolato
4975fbe59c SCP: Document all simulator defined environment variables in help and sim_doc 2022-12-22 09:49:10 -10:00
Mark Pizzolato
c127dc99c2 SCP: Cleanup OS version reported info in SHOW VERSION output 2022-12-22 09:47:28 -10:00
Mark Pizzolato
5330643403 SCP: Improve details of errors reported parsing breakpoint commands 2022-12-22 09:41:16 -10:00
Mark Pizzolato
84b621026e SCP: Always define SIM_BIN_NAME even when no directory found in binary path 2022-12-19 10:25:42 -10:00
Mark Pizzolato
2c5675c057 SCP: Fix prior attempt to standardize MTAB WRITEENABLE options
As reported by Antony Lawrence
2022-12-01 09:08:51 -10:00
Patrick Linstruth
4998b757bc SCP: Add VM-specific messages to %TSTATUS% expansion
Clean up variable expansion help
2022-11-27 04:05:15 -08:00
Mark Pizzolato
16d0977a39 SCP: Fix internal argv style parsing routine to avoid reaching beyond array 2022-11-30 15:46:02 -10:00
Patrick Linstruth
7b104931e0 AltairZ80: Fix HALT stop code conflict with ON ERROR
AltairZ80 uses 0 for the VM-specific HLT instruction stop code.
SCP defines SCPE_OK as 0.
SCP uses 0 to mean all errors ("ON ERROR").

The command "ON 0" will generate "%SIM-ERROR: Invalid argument: 0".

This PR changes the HALT stop code from 0 to 5.
2022-11-27 06:28:03 -08:00
Tony Lawrence
fd2df7607f SCP: Word order in "set def" error 2022-11-23 16:14:30 -05:00
Mark Pizzolato
3f0db42da2 SCP: Correct HELP SET ON INHERIT|NOINHERIT text
In particular, the SET ON INHERIT does not change the SET ON|NOON state.
2022-11-26 14:03:35 -10:00
Mark Pizzolato
7419457000 SCP: Update HELP SET ON to describe INHERIT and NOINHERIT
Add missing help information reported in #130
2022-11-24 11:12:34 -10:00
Mark Pizzolato
45c6599577 SCP: Elaborate help for examine/deposit syntax being simulator specific
General help alignment cleanup.
2022-11-24 07:59:35 -10:00
Mark Pizzolato
bfc5232f66 SCP: Fix upper bound test for SCP command validation of numbers
- Validation was incorrect for large numbers
- Polish help text for DO command variable insertion
- Polish help text for file name part expansion
- Add SIM_RUNTIME (number of instructions/cycles executed)
- Add SIM_RUNTIME_UNITS (instructions or cycles)
2022-11-12 15:32:12 -10:00
Mark Pizzolato
2c7f44d9f7 TAPE: Add support for reading partial fixed sized records.
Partial reading is needed to properly read common archive images found
on bitsavers and elsewhere which were made from QIC devices which must
read multiples of 512 bytes at a time.
2022-11-07 10:46:15 -10:00
Mark Pizzolato
ab6e65507d SCP: Allow MTAB show routines to cleanly output nothing and be well formatted
Merely returning a non SCPE_OK status indicates no output and thus no
comma or newline separation.
2022-11-06 13:01:11 -10:00
Mark Pizzolato
c9252d1e42 makefile, SCP: Ignore the presence of , in "uname -a" output
Fix #1164
2022-10-27 09:07:32 -10:00