1
0
mirror of https://github.com/simh/simh.git synced 2026-01-17 08:42:42 +00:00

872 Commits

Author SHA1 Message Date
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
Mark Pizzolato
a5f6dcf1c7 SCP: Avoid extraneous stderr output while getting tar/curl version 2022-10-21 17:41:12 -10:00
Mark Pizzolato
46be5f5bf0 SCP: Reliably report useful help for HELP BOOT on all simulators 2022-10-21 12:20:53 -10:00
Mark Pizzolato
10357a4ce3 SCP: Support running without built-in ROM or other boot code
Some potential packaging platforms do not want to package/distribute
simh simulators which have build-in binary code (ROM images or other
boot code) which may have unknown copyright status.  Historically Linux
distributed prebuild simulators but left it to a simulator user to reach out
on the web to pick up these needed pieces to actually use the simulator(s).

This addition allows the default simulator builds to include the needed
binary components built into the simulator(s).  In addition, it also
allows simlators to be built with DONT_USE_INTERNAL_ROM defined and thus
not to contain the material with potentially questionalble providence,
but to transparently reach out to the web to fetch the needed component(s)
when they are needed without any effort on the part of the simulator user.
2022-10-19 14:53:58 -10:00
Mark Pizzolato
2673530d3d SCP: makefile: Extend SHOW VERSION output to include build OS version
This is only displayed when the build OS version is different from the
running OS version.
2022-10-17 11:43:27 -10:00
Mark Pizzolato
0c2d33727b DISK: Extend documentation for metadata management
- Update README to describe differences with open-simh
- Allow SET NOAUTOSIZE and SET AUTOSIZE
- Document deprecation and possibly non functionality of MinGW
  Windows build support
2022-10-07 08:39:25 -10:00
Mark Pizzolato
5ccefb4163 DISK: Add AUTOZAP as a global and per unit option
This removes disk metadata on disk container files at detach time.
2022-10-02 18:32:35 -10:00
Mark Pizzolato
b67c80b3b1 SCP: Silence odd clang warning for error test case 2022-09-27 09:24:07 -10:00
Mark Pizzolato
3ef47b31c1 SCP: Add support for compiled in readline and dlopen support on all platforms
Compiled in support is preferred over dlopen efforts with a fallback to
printf/fgets when neither is available at compile and runtime.

All platforms support file path expansion on command entry of tab characters
2022-09-27 09:07:02 -10:00
Mark Pizzolato
61c66661d7 SCP: Fix REGister URDATA sanity validation logic to reference proper size 2022-09-25 14:16:25 -10:00
Mark Pizzolato
75745b7b52 SCP: Remove libreadline GPL conflict and add tab file expansion on Windows
- Leverage libedit which is minimal libreadline with BSD license
- Wineditline on Windows which is also a libreadline equivalent with
  a BSD license

Both are dynamically loaded on startup if they're available on
the host.
2022-09-25 14:04:05 -10:00
Mark Pizzolato
ffae9ae245 SCP: Add more robust register checking to avoid out of bounds array references 2022-09-21 08:44:43 -07:00
Mark Pizzolato
9dd727a410 SCP: Add additional register sanity checking 2022-08-14 12:25:23 -10:00
Mark Pizzolato
5bc3ebc890 SCP: Extended IF command file compare to optionally skip leading parts of files
If the environment variable _FILE_COMPARE_START_OFFSET is defined, it
specifies starting offset into the file to begin a comparison.
2022-08-07 12:50:12 -10:00
Mark Pizzolato
107813b11b SCP: Change sim_abort to SIM_SCP_ABORT macro.
SIM_SCP_ABORT is ONLY for use in scp support libraries
2022-07-30 11:18:08 -10:00
Mark Pizzolato
67c8534055 PDP11: Add missing descriptive info for various device SHOW commands 2022-07-26 18:42:58 -07:00
Mark Pizzolato
0be2c735a6 SCP: Cleanup column formatting in various SHOW <device>|<unit> output 2022-07-26 11:37:44 -07:00
Mark Pizzolato
a9a68f6928 SCP: Only use relative path display for file system device attachments 2022-07-24 12:32:33 -07:00
Mark Pizzolato
7ada0d6edb FIO: Fix relative path name logic for edge cases 2022-07-21 02:48:37 -10:00
Mark Pizzolato
5cbf9df0df SCP: Fix memory debug buffer logic to properly flush and subsequently continue
Flushes happen:
1) when exiting sim_instr()
2) prior to explicitly aborting execution
2022-07-17 16:58:58 -10:00
Mark Pizzolato
7249d55f11 SCP: Avoid runaway recursion when debugging timer logic
As mentioned in #1107
2022-07-17 13:14:09 -10:00
Mark Pizzolato
bc98e1c609 SCP: Be sure to flush output files when aborting.
Emit a last gasp message prior to flushing files before aborting.
2022-07-17 13:01:25 -10:00
Mark Pizzolato
52bda05f70 SCP: Add API for device help to display supported breakpoints 2022-07-11 23:56:27 -07:00
Mark Pizzolato
c053b7e91f SCP: Report source file context for any/all register sanity check errors
Not just the duplicate/ambiguous cases.
2022-07-07 09:00:09 -10:00
Mark Pizzolato
a6f9d02cff SCP: Reword ambiguous REGister message to more easily locate source
Add source and line reference to REG macros.
2022-07-07 08:11:37 -10:00
Mark Pizzolato
99524be9df SCP: Add missing SRDATA REGister macro and a unit test for it
- The SRDATA macro wasn't used anywhere in the codebase, so it got missed.
- Extend RegisterSanityCheck logic to detect ambiguously named REGisters
2022-07-06 18:40:13 -07:00
Mark Pizzolato
fb4c3ee653 SCP: Include unit based logical names in SHOW NAMES output 2022-07-01 09:39:52 -10:00
Mark Pizzolato
3aa8b5da91 SCP: Extend Logical Name functionality to units as well as devices
Display of devices and units prefers logical names but accepts both
2022-07-01 09:13:46 -10:00
Ken Rector
c81e6b9c3c SCP: Fix parenthesis to avoid potential compiler warnings 2022-07-01 07:23:35 -10:00
Ken Rector
1aaba87cc2 SCP: Add parenthesis to avoid potential compiler warnings 2022-07-01 07:13:22 -10:00
Mark Pizzolato
bc99d6d5de SCP: Updated REG manipulation APIs and REGister sanity checks for all macros
- bounds check accesses in get_rval and put_rval for circular registers
- extend unit tests for REGister sanity checks to include all macros
- add sanity checks for new REGister macros
2022-06-26 14:39:25 -07:00
J. David Bryan
72196b08bb SCP: Updated REG macros and manipulation APIs
- Rewrote get_rval, put_rval to support fields within arrays of structures
- REG "size" field now determines access size
- REG "maxval" field now determines maximum allowed value

Merge from v3.12
2022-06-24 15:39:45 -07:00
Mark Pizzolato
4cf86e0e64 SCP: Add NOAUTOSIZE status to the output of SHOW VERSION 2022-06-18 16:08:40 -07:00
Mark Pizzolato
c13214a98c SCP: Avoid DEPOSIT to DEVICEs which aren't attached to a seekable file 2022-06-17 13:23:37 -07:00
Bob Supnik
77cd8d1802 SCP: Fixed bug in byte deposits if aincr > 1
The PDP11 and VAX have length switches - B, W, and (VAX) L - to
override the default parsing of numberic display or input as words
(PDP11) or longwords (VAX CPU) or bytes (VAX byte devices).
This worked fine if every value is filled in. On the PDP11:

sim> ideposit -b 0-3
0:    1
1:    2
2:    3
3:    4
sim>

But if the user skips an input, IDEPOSIT advances by 2, not 1:

sim> ideposit -b 0-3
0:    1
1:    (cr)
3:    4
sim>

This change now produces the correct behavior.

PDP-11 simulator V3.12-2
sim> id -b 0-3
0:      1
1:
2:      3
3:      4
sim>
2022-06-17 08:23:29 -07:00
Mark Pizzolato
50b969e519 DISK, SCSI: Add framework of support for different device sharing of containers
- More robust and reasonable behaviors when NOAUTOSIZE is enabled
- Repair/extension of disk metadata when AUTOSIZE is enabled
- MediaID support when device presents it
- Automatic MTAB generation when DEVICE provides a DRVTYPE list
2022-06-15 15:51:19 -07:00
Mark Pizzolato
25207bf3af SCP: Use relative filename paths in messages and SAVEd state 2022-06-15 15:51:18 -07:00
Mark Pizzolato
83e2ac831d SCP: display count of units when all units are disabled 2022-06-15 15:51:18 -07:00
Anthony Lawrence
8b35d52ec6 SCP: Fix incorrect disk size reporting when t_addr is 32 bits 2022-06-14 20:21:21 -07:00
Mark Pizzolato
8628baf18b SCP: Add support for optional device unit tests
Some simulators and/or devices may want to provide specific testing
activities outside of full simulator execution which often will require
external, potentially complicated setup.
2022-05-12 13:14:01 -07:00
Mark Pizzolato
9da8f3ca52 SCP: Avoid excessive command context in debug output 2022-05-12 13:13:34 -07:00
Mark Pizzolato
ad9249d4c1 SCP: Add descriptive messages for SCPE_NOPARAM return cases 2022-05-12 13:13:15 -07:00
Mark Pizzolato
b2dd269d7a SCP: Expand sprint_val target buffers with one extra byte 2022-03-13 20:08:54 -07:00
Mark Pizzolato
ee545a4828 SCP: Assure that all formatted numbers have sufficient buffer space 2022-03-13 13:23:05 -07:00