Commit graph

4097 commits

Author SHA1 Message Date
Mark Pizzolato
121b0323a6 DISK: Disallow attach of unrecognized disk container > size of the current unit
Containers without recognized file systems already won't autosize, but now
you can't attach a container which is larger than the current drive type
presuming there is useful data beyond the size of the current drive type.
2021-12-15 16:54:04 -08:00
Mark Pizzolato
cea76d59bd SCP: Add newer baseline libreadline support. 2021-12-15 16:52:49 -08:00
Mark Pizzolato
8b33921c92 PDP11, VAX, ETHER: Generalize XQ device address filtering
Add optional enabling of broadcast address to hash based filter model.
LANCE based devices which use its AUTODIN II based hash generally
match the broadcast address independent of the contents of the
multicast hash.

This change to XQ mostly undoes the prior change to pdp11_xq and
brings the functionality into sim_ether so that it is generally available
for future ethernet devices.
2021-12-14 11:39:18 -08:00
Mark Pizzolato
40d4609385 PDP11, VAX: Fix XQ DELQA-T (DELQA-Plus) mode to receive broadcast addresses 2021-12-12 11:52:32 -08:00
Mark Pizzolato
b35d36407d ETHER: Fix NAT dhcp behavior to properly respond to the MAC of the requestor 2021-12-10 18:17:18 -08:00
Mark Pizzolato
c5cd38afbf SCP, makefile: Rename build conditional HAVE_DLOPEN to SIM_HAVE_DLOPEN
Some dependent packages on some platforms may also define HAVE_DLOPEN
and that definition may have different syntax or semantics.  This change
avoids the potential symbol conflict.

As reported in #1098
2021-12-04 17:44:57 -08:00
Mark Pizzolato
3621db4e6a SCP: Prefer Posix 'command -v' over 'which' 2021-12-04 11:48:49 -08:00
Peter Schorn
ab6c2c043e AltairZ80: Improved vector interrupt implementation 2021-12-04 20:42:03 +01:00
Mark Pizzolato
4c44975e98 SCSI, VAX & PDP11: Force Read Only attach for CDROM devices
As reported in #1094
2021-11-07 10:06:40 -08:00
Mark Pizzolato
6d9a55d351 SCP: Provide commit id information when archived simh content is used 2021-11-01 15:33:43 -07:00
Lars Brinkhoff
70af29ac0c H316: The UDP code doesn't need anything from h316_defs.h.
Removing this line makes it easier to reuse the h316_udp.c file in
other simulators that want to use the IMP-host interface.
2021-11-01 18:17:46 +01:00
Mark Pizzolato
b4fa00cebf DISK: Properly allow/disallow containers of reasonable/unreasonavle sizes
As reported in #1065
2021-10-31 04:32:54 -07:00
Mark Pizzolato
e6611c61b3 DISK: Preserve container dates when adding or removing container meta data 2021-10-31 04:24:25 -07:00
Mark Pizzolato
079e4780d2 FIO: Add support to set file access and modify times 2021-10-31 04:20:39 -07:00
Mark Pizzolato
0bc929222f makefile: Fix minor line ending inconsistencies 2021-10-24 21:06:52 -07:00
Mark Pizzolato
db401a4dbe makefile: Support both .so and .a link libraries on Linux
For some strange reason, Ubuntu 21.10 delivers various libraries as
either direct link libraries (".a") or  shared objects (".so") where
historically essentially everything was shared objects..
2021-10-24 18:41:08 -07:00
Mark Pizzolato
d0c7276dd7 FIO: Emit reasonable error message when shm_open() API isn't available locally 2021-10-24 14:25:28 -07:00
Bob Supnik
89cd2d458f PDP8: Fix device conflict warnings to report problems correctly
As reported in #1084
2021-10-23 15:09:10 -07:00
Seth Morabito
74021166d3 3b2: Remove glibc-specific longjmp
At one point in the distant past, there was an unremembered
reason to prefer __libc_longjmp if it was available. It is no
longer needed, and has been removed from glibc in the most recent
versions.

Fixes #1088.
2021-10-23 14:32:10 -07:00
Heinz-Bernd Eggenstein
525215b07e TIMER: Be less aggressive to disable throttling after initial calibration
- removed a somwhat unlikely but possible division-by-zero
- in case the initial throttling calibration measures a slower cps rate than
   the desired cps rate, check whether the measured rate is well below the
   measured peak rate. If so, distrust the measured rate and instead use
   half the peak rate as measured cps rate.
   Otherwise (so measured cps is in the same ballpark as measured peak rate)
   disable throttling

As initially reported in #815
2021-10-23 13:50:48 -07:00
Lars Brinkhoff
1e4401fd84 H316: Call the host interface TX service routine.
The modem and host interface TX services should both be called from
the RTC device, but when the host interface was implemented the call
was not added.
2021-10-21 14:16:23 +02:00
Lars Brinkhoff
5dcc00ea10 H316: Fix debugging host interface messages. 2021-10-21 14:14:21 +02:00
Lars Brinkhoff
4e162c0586 H316: Signal the host/IMP ready bits in the host interface.
This adds a new flag to the host interface UDP packages to indicate
the ready bit of the sender.  The flag comes along all packets, but an
empty packet can be sent to change the ready status without
transmitting data.
2021-10-21 14:14:04 +02:00
Lars Brinkhoff
53e81819e0 H316: Fix reading messages from the host interface.
The 1822 IMP-host interface carefully handshakes every bit
transferred.  Thus the DMC facility can read messages piecewise.  The
IMP uses this to read a 32-bit leader first, and process the rest or
the message in another round.

The IMP expects the 1822 end of message bit not to be set until after
the entire message has been read.
2021-10-21 14:10:20 +02:00
Lars Brinkhoff
3baaf6c028 H316: Fix host interface word counts.
The host interface uses the UDP packet format from the modem
interface, with an additional flags word.  Ensure the flags are
not included in the word count.
2021-10-18 14:25:59 +02:00
Mark Pizzolato
06a8447d26 FIO: Add NetBSD and OpenBSD to platforms that could use mmap and shm APIs
As reported in #1083
2021-10-12 18:53:56 -07:00
Howard M. Harte
08a0ad2d88 2SIO: add support for interrupts.
Add vectored interrupt support for the Altair 2SIO card.
2021-10-11 08:50:29 -07:00
Howard M. Harte
81afea160c AltairZ80: Add support for Z80 Mode 2 interrupts.
Add support for Z80 Mode 2 interrupts to altairz80_cpu.c
Also implement interrupts for the WD179x floppd controller.
2021-10-11 08:50:20 -07:00
Mark Pizzolato
c73474df8d README: Correct Ubuntu build dependencies
This is a trivial correction since if dependencies are missing at build
time what is missing is and how to fix it is properly described in
build time messages.

As reported in #1081
2021-10-06 23:38:08 -07:00
Seth Morabito
976ba05604 3b2: Allow force interrupt if not attached
This commit fixes an issue that caused floppy diagnostics to fail if
the floppy drive unit was not attached. The 3B2 floppy controller has
a "force interrupt" command that should run whether or not the floppy
unit is attached to an image.
2021-10-05 08:50:01 -07:00
Mark Pizzolato
e897dfc3c9 SCP: Fix missing void parameter declarations 2021-09-30 21:08:01 -07:00
Mark Pizzolato
ca4a63929a TAPE: Add more advanced test cases and fixes various ANSI cases
Mostly from Larry Baker
2021-09-30 21:02:43 -07:00
Larry Baker
df851ebf1a TAPE: Add useful verbose output during ANSI tape testing 2021-09-28 14:36:28 -07:00
Mark Pizzolato
fc0ce0f5fb TAPE: Avoid redundant records when creating ANSI binary fixed tape files
As reported by Larry Baker
2021-09-28 14:29:38 -07:00
Mark Pizzolato
7bb96070f1 TAPE: Fix test logic to properly detach tested unit
As reported by Larry Baker
2021-09-27 21:39:58 -07:00
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