- 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)
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.
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.
- 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
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
- 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.
- 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
- 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
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>
- 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
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.