Commit graph

4162 commits

Author SHA1 Message Date
Mark Pizzolato
feec1da242 DISK, TAPE: Add optional library specific DEVICE context structure
- add disk and tape library initialization routines
- cleanup snprintf arguments
- truncate disk container trailing zero sectors when zapping
2021-09-20 12:28:11 -07:00
Mark Pizzolato
2834bfb1f9 SCP: Avoid 'not found' error in tool path locater on Windows 2021-09-20 07:37:14 -07:00
Mark Pizzolato
0bc77c4d90 PDP11, VAX: Add or correct help output for some SET commands
As discussed in #1077
2021-09-10 11:38:37 -07:00
Mark Pizzolato
746e4b9e59 SCSI: Add tape activity specific debug option 2021-09-06 10:28:04 -07:00
Mark Pizzolato
82f9f5b966 SCP: Allow for simulator specific processing of DO commands. 2021-09-06 10:18:36 -07:00
Mark Pizzolato
d57b182701 SCP: Expose _sim_vdebug for use by external libraries 2021-09-06 09:58:41 -07:00
Lars Brinkhoff
a615b89f11 VIDEO: Fix bug in vid_dst_last handling.
The handling of vid_dst_last and vid_data_last was not updated to work
with multiple windows, which can cause window updates to be lost.
2021-09-04 10:02:49 +02:00
Peter Schorn
105975feb4 AltairZ80: Fix reset routine for DJ2D device 2021-08-31 08:48:35 +02:00
Mark Pizzolato
eadf12699b VAX systems with graphics: Properly cleanup on memory allocation errors. 2021-08-28 18:31:35 -07:00
Mark Pizzolato
4c64878f7c ETHER: When opening an unused interface , avoid invoking non existent programs 2021-08-28 13:15:54 -07:00
Mark Pizzolato
153d849c13 ETHER: When gathering host NIC address, avoid invoking non existent programs
Historically on *nix platforms ifconfig was used to find the host system's
interface MAC address.  This isn't always available on all systems since
it's being replaced by the ip command.  We now only invoke commands
that exist.
2021-08-28 05:01:47 -07:00
Mark Pizzolato
6d04cf814a SCP: add sim_get_tool_path to get the expanded path to a local command
This logic was previously within the static SCP function _get_tool_version
and is now exposed for use elsewhere.
2021-08-28 04:27:41 -07:00
Mark Pizzolato
c808256e87 PDP11: Fix model indexes after model table previously got reordered
As reported in #1073
2021-08-24 10:47:01 -07:00
Seth Morabito
9d849283a4 3B2: Interrupt Refactor and DEMON ROM
- This change introduces a full refactor of the interrupt subsystem
  for the system board (SBD) and the I/O bus (CIO). Interrupt decode
  should now be significantly faster, and not require an expensive
  calculation on every step.

- The TIMER device has been split into Rev 2 and Rev 3
  implementations.

- The optional 3B2/400 Debug Monitor ROMs can now be booted by passing
  the "DEMON" argument to the 3B2/400 simulator BOOT command. Any
  of the following will cause the Debug Monitor ROM to be booted
  instead of the standard 3B2/400 ROM:

     sim> BOOT DEMON
     sim> BOOT CPU DEMON
     sim> BOOT DEMON CPU
2021-08-24 06:35:49 -07:00
Mark Pizzolato
d1a720debd BuildROMs: Change name define logic to avoid conflicts
Each of the BOOT_CODE_SIZE, BOOT_CODE_FILENAME and BOOT_CODE_ARRAY names
are replaced whenever a BuildROMs generated file is included.
2021-08-23 13:36:04 -07:00
Mark Pizzolato
ae1472db79 Generated ROM Image includes: Updated for multiple ROM image support
The actual contents of the input ROM binary files and the contents of the
created arrays are unchanged.

Multiple ROM image include files can be included in the same source module
without the need for any #undef BOOT_CODE_SIZE, etc.
2021-08-23 12:26:45 -07:00
Mark Pizzolato
cfac7dee42 BuildROMs: Add simple support for including multiple ROM images
When multiple ROM images are included by the same source module,
 #define variables with names BOOT_CODE_SIZE_n, BOOT_CODE_FILENAME_n
and BOOT_CODE_ARRAY_n will be defined.
2021-08-23 12:20:43 -07:00
Mark Pizzolato
3f3884ddb6 SCP: Fix memory leak when accessing externally defined environment variables 2021-08-23 12:17:18 -07:00
Mark Pizzolato
09db504f65 TAPE: Avoid XCode false positive analysis warning 2021-08-23 12:09:43 -07:00
Mark Pizzolato
c4bbb75303 TMXR: Fix potential memory leak when already out of memory 2021-08-23 12:08:42 -07:00
Mark Pizzolato
64b1223468 DISK: Add sim_disk_erase API 2021-08-17 15:35:51 -07:00
Mark Pizzolato
bc40d08b94 slirp: Make sure to completely initialize the iov on a 0 buffer size return 2021-08-17 15:21:09 -07:00
Mark Pizzolato
730af85397 README: Add missing file system detection type 2021-08-17 15:20:39 -07:00
Mark Pizzolato
4e729165ee FIO: Add sim_byte_swap_data routine to byte swap
This is an unconditional swap which may not be dependent on the
particular endian orientation of the simulated or host system.
2021-08-17 15:20:07 -07:00
Mark Pizzolato
efc79d710a PDP11: Update 11/40 and 11/45 models to reflect MMU was an option 2021-08-15 12:13:20 -07:00
Mark Pizzolato
3bf02304da PDP11: Populate remaining internal device help from pdp11_doc.doc 2021-08-14 23:21:31 -07:00
Mark Pizzolato
d3d3c94485 All VAX: Fix CPU HISTORY MTAB help info 2021-08-14 23:11:27 -07:00
Mark Pizzolato
0bfb902b56 SCP: Enhance hierarchical help prompting
- A prompt answer which exactly matches a topic name is given
  preference over the potential ambiguity of other topics which start
  with the same text.
- Prompt with the parent topic's prompt when a just displayed subtopic
  has no subtopics.
- Allow either ^D or ^Z entered to act as EOF.

These changes reflect the behavior of the VMS help system which the
hierarchical help system is modeled on.
2021-08-14 19:43:41 -07:00
Mark Pizzolato
9166219476 PDP11: Cleanup potential compiler warnings 2021-08-13 09:11:42 -07:00
Mark Pizzolato
f95b20e1f3 SCP: Cleanup potential compiler warnings 2021-08-13 09:09:53 -07:00
Mark Pizzolato
502ebeafc3 DISK: Clarify comments for logic generating attach error messages
as discussed in #1064
2021-08-13 02:35:29 -07:00
Seth Morabito
c02491f733 3B2: Header refactoring and cleanup
This change signficantly improves header hygiene in the 3B2 project by
moving global symbols out of 3b2_defs.h and into the appropriate
individual module header files.

Each compilation unit now includes:

  - its appropriate matching .h file
  - any other .h files necessary for linting and compilation

Each header file in turn includes 3b2_defs.h, which contains truly
global symbols, and which pulls in sim_defs.h and exports global
devices.
2021-08-11 19:43:51 -07:00
Mark Pizzolato
78d3d1b560 SCP: Add register validation tests as part of the SCP library test 2021-08-11 07:28:08 -07:00
Seth Morabito
5fd9ee3909 3B2: Do not read from detached floppy
The Rev 3 firmware does not check floppy controller status before
commanding a sector read, which can lead to calling sim_disk_rdsect()
on a detached unit. With this checkin, the simulator will no longer
attempt a read or write if the floppy unit is not attached.
2021-08-10 19:34:35 -07:00
Mark Pizzolato
87eab8a53c GitHub: Update issue template to be more specific about answering ALL questions 2021-08-10 12:24:19 -07:00
Seth Morabito
c0beba5498 3B2: Rev 3 Development Base
This change introduces initial support for the AT&T 3B2 Rev 3 platform, based
around the WE32200 CPU with up to 64MB of RAM and SCSI disk and tape support.

This simulator is experimental and not yet supported. It will not be built by
default, but can be built with:

     make 3b2-600

Or by using the 3B2-600 Windows Visual Studio project.
2021-08-09 11:08:35 -07:00
Mark Pizzolato
acd5ae6579 VAX, VAX780, PDP11: Update typos in documentation and help text
as mentioned in #1065
2021-08-08 23:00:22 -07:00
Mark Pizzolato
af0f0300f8 PDP11, Unibus VAX: DEC standard 144 corrections and RP device update
- Added a specific drive type RP05 which is the same size as the RP04
  but can be distringuished by OS software.
- Restrict SET rpn BADBLOCK to only disk types which actually supported
  the DEC Standard 144 bad block table.
- Fixed typo's in help and comments about DEC 044 vs DEC 144 and also
  in pdp11_doc and vax780_doc documentation files.

As discussed in #1065
2021-08-08 11:39:13 -07:00
Mark Pizzolato
fdd871da65 DISK: Clean up attach time error messages
- Fix 'non expandable' error message to avoid potential extra space as
   mentioned in #1065
- Reasonably report open errors as mentioned in #1064
2021-08-07 19:15:33 -07:00
Mark Pizzolato
a779de82aa DISK: Enrich ATTACH time error message to include C runtime error text
Standardize format and wording of error reporting messages

As discussed in #1064
2021-08-07 12:56:20 -07:00
Mark Pizzolato
dcbfba0f9a SCP: Fix register formatting and quiet unused variable warning 2021-08-03 13:23:25 -07:00
Mark Pizzolato
30401fc155 PDP11: Fix VT help entry in DEVICE definition
Previously it was point at the DEVICE.help_attach than DEVICE.help.
2021-08-01 19:02:10 -07:00
Mark Pizzolato
77d7df7a56 SCP: HELP command output formatting cleanup
- Add column header to output of HELP device register list.
- Format HELP output for REGISTER, SET and SHOW commands to accommodate long
   descriptor text (wrapping as needed).
- Add HELP DEVICE * to display help for all devices
2021-08-01 18:59:00 -07:00
Mark Pizzolato
2c820dca5c SCP: Pass all external environment variables through to spawned commands
As discussed in #1057
2021-07-31 12:49:56 -07:00
Seth Morabito
3943f9b24f 3B2: Add DGMON SBD diagnostic tests
This commit adds support for automatically running DGMON SBD diagnostic tests
on build.

Additionally, a small bug is fixed in simulator boot caused by failure to
parse boot switches.
2021-07-31 12:22:27 -07:00
Mark Pizzolato
9ef08cba0d SCP: Allow all external environment variable expansion
as discussed in #1057
2021-07-29 21:17:44 -07:00
Mark Pizzolato
5f8a8cca9d SCP: Avoid using externally defined aliases for SCP commands
As discussed in #1057
2021-07-29 10:15:54 -07:00
Howard M. Harte
9865180990 wd179x: Keep WD179X_INFO_PUB in sync. 2021-07-27 20:28:21 -07:00
Mark Pizzolato
f1a2c81cef makefile: Change messages to avoid the use of single quotes (can not vs can't) 2021-07-26 17:50:48 -07:00
Howard M. Harte
d743cf9f45 wd179x: Add support for wd1795/7 side select output. 2021-07-25 17:35:54 -07:00