Commit graph

3305 commits

Author SHA1 Message Date
Mark Pizzolato
914d79c980 SERIAL: Avoid potential SEGFAULT when scandir() fails on Linux 2018-05-08 22:48:12 -07:00
Mark Pizzolato
6a99ac81c6 makefile: Add support to build under Android termux 2018-05-08 21:40:37 -07:00
Mark Pizzolato
d090436c78 SCP: Support host environments which can't do termios TCSAFLUSH 2018-05-08 21:37:39 -07:00
Mark Pizzolato
fc104f90da slirp: avoid compiling unused fork_exec code. 2018-05-08 13:05:40 -07:00
Mark Pizzolato
0c0a9958b1 slirp: change tabs to spaces 2018-05-08 13:04:39 -07:00
Mark Pizzolato
6ccbfc7381 SCP: Report errno value when starting instruction execution fails 2018-05-08 02:51:17 -07:00
Mark Pizzolato
961f5e3285 makefile: query C compiler for its default include paths. 2018-05-08 02:37:36 -07:00
Roberto Sancho Villa
7a8d61746d I650: Fix Coverity Warning 2018-05-07 23:30:02 +02:00
Mark Pizzolato
cc0e993978 makefile: Allow git-commit-id to be correctly set in more cases
cp and rm may not be in /bin on some environments.
2018-05-07 12:25:11 -07:00
Mark Pizzolato
e266271612 DISK: Fix auto format detection when attaching VHD disk images 2018-05-07 12:22:33 -07:00
Seth Morabito
3afc778dc4 3b2: Fix TOD clock DST and TZ issue 2018-05-07 08:20:14 -07:00
Mark Pizzolato
245a85d79e SCP: Fix Coverity identified memory leak in error expression evaluation path 2018-05-05 17:59:57 -07:00
Roberto Sancho Villa
f5f4c96ccd I650: Fix coverity errors 2018-05-03 21:59:16 +02:00
Mark Pizzolato
a4b5160437 SCP: Add string comparison support to C Style expression evaluation
- Fix operator precedence interpretation
- Report expression parsing errors
2018-05-03 11:54:11 -07:00
Mark Pizzolato
96d3b5d26b SCP: Add SCP debug options to default device debug setup 2018-05-03 11:49:42 -07:00
Mark Pizzolato
130ad1c21f SCP: Fix potential error path expression evaluation memory leak (Coverity) 2018-05-01 23:07:57 -07:00
Mark Pizzolato
4e508cfc29 SCP: Add C style expression support for IF conditions and SET ENV -A
Expression evaluation code provided by Gabriel Pizzolato.
2018-05-01 22:08:06 -07:00
Mark Pizzolato
8fe02ad6d1 SCP: Updaeted HELP EVAL to provide meaningful examples. 2018-05-01 13:43:22 -07:00
Mark Pizzolato
396679a01a SCP: Add strtotsv to generally parse signed t_value data (t_svalue).
Allow for explicit Hex, Octal and Binary (0x. 0. 0b) prefix
2018-04-30 23:03:33 -07:00
Mark Pizzolato
b4ca9174fd SCP: Add formatting support for signed t_value (t_svalue).
PV_LEFTSIGN - left justified signed value
PV_RCOMMASIGN - right, space filled, Comma separated every 3 treat as signed
2018-04-30 21:35:20 -07:00
Mark Pizzolato
f2f4bfa8fb TMXR: Fix potential uninitialized variable reference Coverity warning
The uninitialized case would never occur since the routing containing that
code would never be called when the conditions that would leave the variable
uninitialized.
2018-04-25 14:15:45 -07:00
Roberto Sancho Villa
02e7483ee7 I650: Release 2
Hardware support:
- Half cycle simulation
- Halt CPU simulation (^E on SimH console)

New Software included: Carnegie Internal Translator (IT)
New features
- Support for displaying SOAP symbolic instructions in debug information
- CardDeck internal command to split/join/print decks of cards

Bugs corrected:
- Fixed card format handling. Release 1 can only read TEXT format
- Removed superfluous line ends from debug strings.
- Better minus zero support
- Fixed unneeded prompt Really truncate memory [N] when setting memory size
2018-04-20 15:55:26 +02:00
Mark Pizzolato
9160b9a03a doc: Update the FAQ. How to search the mailing list archive 2018-04-19 18:00:57 -07:00
Mark Pizzolato
4c62583d13 TMXR: Add ability to disable specific lines on multi-line multiplexers.
sim> ATTACH <dev> Line=n,DISABLE
2018-04-18 02:14:28 -07:00
Mark Pizzolato
54f46651fe PDP11, VAX: Fix Coverity identified debug path null pointer dereference 2018-04-17 23:52:28 -07:00
Mark Pizzolato
15e86fb4ed SCP, DISK: Fix Coverity identified debug path null pointer dereferences 2018-04-17 23:51:39 -07:00
Mark Pizzolato
309598e2cd SCP: Fix declaration duplications and indentation issues 2018-04-16 16:57:06 -07:00
Mark Pizzolato
adedce8556 SCP: Add quoted string argument to SET ENV otherwise trim whitespace
Previously, unexpected values might end up being set when using SET ENV
if there were trailing whitespace on the line being parsed.  Any such white
space is now explicitly trimmed before the environment variable is set.
Once we do that, we need to provide a way to deliberately set an environment
variable with trailing spaces.  This is now achieved by using a quoted string
value specified as:

    SET ENV -S var="value  "

The quotes are removed prior to setting the environment variable value.
The contents of the quoted string are parsed the same as EXPECT and SEND
arguments.
2018-04-16 13:52:54 -07:00
Mark Pizzolato
c8beee2d0f doc: Clarify details in "Writing a Simulator for the SIMH System" 2018-04-15 12:53:29 -07:00
Mark Pizzolato
fdd9d87f80 SCP: Fix MinGW build warnings due to sizeof time_t 2018-04-15 12:51:36 -07:00
Seth Morabito
afffe300ee 3b2: Fix minor MMU paging bug
On a full cache miss, the MMU should only bring a page
descriptor into cache if the segment descriptor does NOT
have the 'contiguous' bit set.
2018-04-13 13:42:30 -07:00
Mark Pizzolato
ca77941ce0 doc: Update documents for RQ and TQ unit plug value setting 2018-04-12 20:21:37 -07:00
Mark Pizzolato
1741ae29fa PDP11, VAX: Add MSCP Media ID encoding/decoding details (Johnny Billquist) 2018-04-12 14:02:27 -07:00
Mark Pizzolato
5a9263c0cf PDP11, VAX: Add settable unit numbers for TQ drives 2018-04-12 13:15:48 -07:00
Seth Morabito
bd621f50bf 3b2: Call tmxr routines in IU reset
Previously, tmxr_set_line_unit() and tmxr_set_line_output_unit()
were being called in the attach routine. These probably belong
in the reset routine instead.
2018-04-11 18:38:59 -07:00
Seth Morabito
a7d0d4a6e7 3b2: CIO feature card framework
Adds a skeleton framework for CIO ("Common I/O") feature cards. The
first feature card to be implemented will be the "PORTS" serial MUX.

Part of this support involved reworking IRQ handling in the CPU. It
now respects both IRQ Vector and IPL.

This change also removes all 'assert(0)' calls from the simulator and
replaces them with generic "Simulator Error" halts. These should only
happen if there's a genuine logic error lurking somewhere.
2018-04-11 18:19:31 -07:00
Seth Morabito
05ba8c4d2c 3b2: Silence warning on Windows 2018-04-11 14:42:56 -07:00
Seth Morabito
177be95e5d 3b2: Refactor DUART and DMA
This change is a major refactor of how DMA and the DUART interact.

DMA implementation can now be overridden by individual devices that
require DMA. Disk and Floppy both continue to use a generic DMA
implementation, but the DUART code replaces the generic DMA with its
own implementation that correctly rate-limits TX. Among other things,
this allows the simulator to work correctly with real serial
terminals. This functionality has been tested on an AT&T 5620 "Blit"
terminal, which can run the 'layers' windowing software from the
simulator.
2018-04-11 14:24:48 -07:00
Mark Pizzolato
da31dfa7a9 SCP: Extend EXAMINE <dev> STATE to display elements of arrayed registers 2018-04-11 04:21:17 -07:00
Mark Pizzolato
d6a5268d97 DISK: Properly open in RAW mode on *nix 2018-04-11 04:20:17 -07:00
Mark Pizzolato
5a18d31449 PDP11, VAX: Add settable unit numbers for RQ drives 2018-04-11 03:12:12 -07:00
Mark Pizzolato
8bec55b976 DISK: Properly fail an attempt to access to a non-existent file in raw mode 2018-04-10 11:45:22 -07:00
Mark Pizzolato
6667f651a3 DISK: Add explicit AUTO detect disk format mode 2018-04-10 11:43:43 -07:00
Mark Pizzolato
d356274d38 PDP10: Fix build warning when compiling DZ module 2018-04-10 10:24:49 -07:00
Mark Pizzolato
cc7721b96e PDP11: Allow DZ devices Unibus and Qbus to have correct number of lines 2018-04-09 18:05:53 -07:00
Mark Pizzolato
114a29bc2f SCP: Add PCRE version to SHOW VERSION output 2018-04-08 17:13:54 -07:00
Mark Pizzolato
1d22b488a9 PDP11: Add new debug API support to VT11 device, fix broken build 2018-04-07 22:30:59 -07:00
Mark Pizzolato
6263378df4 DISK: Change auto disk format open logic to include RAW
Previously auto format detection first attempted a VHD open.  If that
failed, it falls back to a SIMH open which uses C RTL fopen, fread, fwrite
and fclose.  Now a RAW format open is attempted which will often
succeed, not only on CDROM devices, but most normal files can also
be opened in RAW mode which will to direct OS I/O (open, erad, write
and close or CreateFile, ReadFile, WriteFile, CloseHandle).

As discussed in #533
2018-04-07 22:15:14 -07:00
Mark Pizzolato
28e4311039 SCP: Extended debugging to allow for unit specific debug for disk and tape 2018-04-07 21:38:26 -07:00
Mark Pizzolato
81bcd6d319 CONSOLE/SERIAL: Properly rate limit output to console port
When the console is connected to a serial port or telnet sessions enable
speed setting, the bits being output are now paced a the desired speed.
Multi-line mux I/O is also correctly rate limited on all lines.

This should address the problems described in #545
2018-04-06 04:12:38 -07:00