Commit graph

665 commits

Author SHA1 Message Date
Mark Pizzolato
757969ef40 Fixed bugs found during testing by Mark Benson
sim_serial.c

    - Fixed error message printing when retry is merely needed

sim_tmxr.c
     - Fixed parsing to properly recognize a listen port argument of "nnn;notelnet".
     - Fixed buffer wrap output condition.
2012-10-20 07:46:29 -07:00
Mark Pizzolato
0a46da5aa0 Changed pdp11_dz to leverage the tmxr library's pass thru modem control capabilities.
Fixed reporting of DCD for dz lines beyond the first 4.
2012-10-17 14:17:14 -07:00
Mark Pizzolato
02cb620c9b Change to support serial ports on multiplexer devices without any changes to existing multiplexer device emulation code.
Added support for per line tcp listen ports.
Added support for per line outgoing tcp/telnet connections.

Removed DEV_NET from pdp11_dz and pdp11_vh emulators to allow proper restore of
2012-10-17 08:40:01 -07:00
Mark Pizzolato
24696892fd Merge branch 'DMC11' into SerialMux
Conflicts:
	scp.c
	sim_ether.c
	sim_ether.h
	sim_tmxr.c
2012-10-16 15:50:38 -07:00
Mark Pizzolato
35b8a40559 Revised the VAX780 to include the pdp11_dmc device 2012-09-28 15:41:49 -07:00
Mark Pizzolato
0453a87f18 Revised pdp11_dmc device to leverage the update sim_sock interfaces 2012-09-28 15:41:03 -07:00
Mark Pizzolato
30ce7fdbaa Revised the socket library sim_sock(.c & .h) to support both IPv4 and IPv6 leveraging the RFC3493 APIs.
All dependent code has been updated to use the revised interfaces.
2012-09-28 15:34:55 -07:00
Mark Pizzolato
6692832785 Initial import of pdp11_dmc.c and .h from Rob Jarratt 2012-09-28 15:27:21 -07:00
Mark Pizzolato
be1e1326b3 Merge pull request #11 from andreax79/master
show default & set default command added
2012-08-28 07:24:00 -07:00
Andrea Bonomi
405c70bccd set default/show default commands fix 2012-08-28 07:40:42 +02:00
Andrea Bonomi
a1a6a8a40d show_default fix 2012-08-23 17:18:31 +02:00
Andrea Bonomi
715bc12d3b show default & set default command added
Hello,
I fixed the show/set default commands and tested on the following host
platform: OSX(x64), Linux(arm), FreeBSD(x86), Windows(x64),
OpenVMS(VAX).
The commands are very simple and the code is the same for all the  *nix
and VMS, and it is a little different for Windows.
Andrea
2012-08-21 12:50:27 +02:00
Mark Pizzolato
0f2ed31b33 Fix UDATA macro to reflect prior changes in the unit data structure. This fixes any reference to the macro which may supply an initial wait time to the unit structure after using the UDATA macro. 2012-07-19 13:30:31 -07:00
Mark Pizzolato
66edd72ecb Merge branch 'nj7p/swtp6800-v2.1'
Conflicts:
	makefile
	swtp6800/common/bootrom.c
	swtp6800/common/dc-4.c
	swtp6800/common/i2716.c
	swtp6800/common/m6800.c
	swtp6800/common/m6810.c
	swtp6800/common/mp-8m.c
	swtp6800/common/mp-a.c
	swtp6800/common/mp-a2.c
	swtp6800/common/mp-b2.c
	swtp6800/common/mp-s.c
	swtp6800/swtp6800/mp-a2_sys.c
	swtp6800/swtp6800/mp-a_sys.c
	swtp6800/swtp6800/swtp_defs.h
2012-07-13 15:21:30 -07:00
Bill Beech
908ad1308e Corrected copyright dates on all files 2012-07-11 12:23:03 -07:00
Bill Beech
fc3c1812bf Fixed nested sim_defs.h problem 2012-07-11 12:00:57 -07:00
Bill Beech
5fcd6a7960 Updated several file to remove "egregious" errors 2012-07-11 11:59:15 -07:00
Mark Pizzolato
ffa52ab3fd Changed the display of the contents of the error message buffer to only do so if no devices were returned at all 2012-07-10 16:14:30 -07:00
Mark Pizzolato
f66175beea Added support to avoid the mkdir BIN race condition in parallel make 2012-07-10 13:47:17 -07:00
Mark Pizzolato
938450bbf5 Added display of warning produced by pcap_findalldevs() where a warning message is provided when no devices are available (OSX). - Sergey Oboguev 2012-07-10 13:32:41 -07:00
Mark Pizzolato
fd1cd463f9 Added UNIT_IDLE to timer threads for RQ B, C and D controllers. - Sergey Oboguev 2012-07-10 13:26:08 -07:00
Mark Pizzolato
2a9ac8a830 VHD Performance enhancementsDaa:
optimize BAT updates when writing to previously unwritten data blocks
  data block alignment for optimal behavior on Advance Format host disks (4096 sectors)
2012-07-10 13:18:03 -07:00
Bill Beech
e0d8de9de7 Replaced SWTBUG.BIN, fixed error in common/mp-s.c, and removed debugging
statements from common.m6800.c.  This version works in GIT release 4.0.
2012-07-08 15:50:41 -07:00
Bill Beech
567a304c37 Changes to replace the SWTP V1 code with the V2 code 2012-07-05 14:14:49 -07:00
Mark Pizzolato
321b05c705 Fixed pragmas to work for various gcc and clang versions 2012-05-26 08:13:11 -07:00
Mark Pizzolato
030d790b4c Asynchronous Timer Support
scp.c, scp.h
	- Change the sim_clock_queue event list to be terminated by the value QUEUE_LIST_END instead of NULL.  This allows easy determination of whether a unit is on a list since when it is not on a list the next pointer is NULL.
	- standardized the usage of UPDATE_SIM_TIME
	- Added support for internal/pseudo devices to support the TIMER and CON-TEL pseudo devices (to enable and disable debugging)
	- Reverted to the prior "SET CONSOLE DEBUG" command semantics since the console debug can be manipulated via the generic "SET <dev> DEBUG" command (i.e. SET CON-TEL DEBUG=TRC;XMT;RCV)
	- Changed "SHOW TIMERS" to "SHOW CLOCKS" to display the current calibrated timer information
	- Added sim_is_active_bool API to return the boolean active status avoiding the potential work walking the list when most callers aren't interested in the event firing time
	- Fixed run_boot_prep to properly record the not queued status of any units which are removed from the sim_clock_queue during initialization
	- Added display of DEBUG, NODEBUG options to the SHOW SHOW command

    sim_timer.c, sim_timer.h
	- Added asynchronous timer capabilities with support for calibration and idling
	- Added internal/pseudo device to support debugging of Idle, Calibration and asynch timer activites.
	- Added suppression of timer calibration when idling has occurred

    sim_tmxr.c, sim_tmxr.h
	- Added tmxr_activate_after and macro definition for sim_activate_after to invoke it for proper behavior with multiplexer devices
	- Added all polling units to the standard timer queue when dropping back to the simulator command prompt to accommodate the potential to disable asynch mode
	- Fixed synchronization to operate with pthread synchronized asynch queue and proper stopping of poll when dropping back to the simulator command prompt
	- Fixed calls to select to have a timeout with properly ranged tv_usec values and dealt with possible EINTR return from select

    sim_console.c, sim_console.h
	- Changed internal/pseudo console telnet device name to CON=TEL
	- Reverted to the prior "SET CONSOLE DEBUG" command semantics since the console debug can be manipulated via the generic "SET <dev> DEBUG" command (i.e. SET CON-TEL DEBUG=TRC;XMT;RCV)
	- Fixed synchronization to operate with pthread synchronized asynch queue and proper stopping of poll when dropping back to the simulator command prompt
	- Fixed calls to select to have a timeout with properly ranged tv_usec values

    sim_defs.h
	- Added necessary unit fields to support asynchronous timing activities
	- Added asynchronous macros to support async timing activities
	- Fixed asynch pthread only macros (not using AIO_INTRINSICS).
	- Fixed the definition of the UDATA macro which was never adjusted to accommodate the insertion of 2 extra fields in the unit structure and thus made the initialization of the unit wait field meaningless.
	- Changed the NOQUEUE_WAIT value from 10000 to 1000000.  This is only used when the sim_clock_queue is empty, which normally never happens on any simulator since they all have clocks and/or other frequently polling devices.  With asynchronous multiplexer and timing support the queue is often empty and this value is then used when calculating idling delays.  If it is too small, idling will be inefficient.  Being large should not be a problem otherwise.

    Interdata/id16_cpu.c
	- removed test of sim_idle_enab before calling sim_idle

    Interdata/id32_cpu.c
	- removed test of sim_idle_enab before calling sim_idle

    vax/vax_cpu.c
	- removed test of sim_idle_enab before calling sim_idle

    vax/vax_stddev.c
	- converted CLK device to use the internal timer service API sim_activate_after to leverage asynchronous timing when available
2012-05-26 07:16:04 -07:00
Mark Pizzolato
5d081f8d93 Revised HP2100 from Dave Bryan with his fixes to cleanup compiling under the LLVM clang compiler 2012-05-12 14:25:34 -07:00
Mark Pizzolato
b816a42177 BuildROMs enhancements.
- Added support to allow proper building of ROM dependent modules if the ROM image file is missing but the desired ROM image include file exists and has the correct/expected contents.
- Added support to help new ROMs to be added to the set of ROMs which are translated/tested.
- Added command Usage to program which is displayed if invoked with /? or /help  Usage displays the current set of ROM images which are known.
2012-05-12 13:49:47 -07:00
Mark Pizzolato
7c38b83d7c Asynchronous Multiplexer and Console Support
scp.c, scp.h, sim_defs.h
     - Added commands:
          SHOW MULTIPLEXER (MUX)
          SHOW TIMERS
     - Added facilities/APIs:
          sim_activate_after - time specific event scheduling (vs instruction scheduling) API visible, optional separate thread implementation in a later revision
     - Changed Commands:
          SET CONSOLE DEBUG no longer affects global debugging, but merely debugging for the console subsystem.  Use SET DEBUG and SET NODEBUG to affect global debugging.
     - Added Asynchronous polling support

sim_tmxr.h, sim_tmxr.c
     - Added Asynchronous capabilities to the multiplexer subsystem to avoid polling for input and to deliver input data instantly when it arrives instead of delaying for up to one or more full simulated clock ticks.
     - Added debug trace support
     - Added statistic tracking of total bytes transmitted on each line
     - Added more aggressive attempts to flush transmit buffers when they fill before dropping tranmitted characters
     - Fixed status return of tmxr_putc_ln to return SCPE_LOST if the transmitting line isn't connected or buffered.

sim_console.h, sim_console.c
     - Fixed issue where connections to console telnet sessions would succeed for the first connection, but hang indefinitely for additional connects without rejecting due to all lines being busy.  This is handled by using an internal device and unit to hang the required polling on.  Connection polls happen once per second.
     - Added console debugging/trace support.
     - Added Asynchronous capabilities to the console subsystem to avoid polling for input and to deliver input data instantly when it arrives instead of delaying for up to one or more full simulated clock ticks.
     - Added tmxr_set_console_input_unit() API to support asynchronous simulator console I/O

sim_timer.h, sim_timer.c
     - Added SHOW TIMERS support
     - Added mechanism to capture the timer the simulator uses for its clock tick and make this timer globally available for other uses

PDP11/pdp11_dz.c
     - Added debug trace support

PDP11/pdp11_vh.c
     - Added debug trace support
     - Changed timing mechanisms to not assume that the count unit service routine calls measures the passage of time, and created a separate unit to measure time.

VAX/vax_stddev.c
     - Added call to tmxr_set_console_input_unit to leverage Asynchronous console I/O
2012-05-12 13:42:44 -07:00
Mark Pizzolato
22b0e564a2 Updating revision to reflect v4.0 development activity 2012-05-06 06:08:06 -07:00
Mark Pizzolato
ac7490429d Revised location of github repository to be simh/simh 2012-05-05 09:42:44 -07:00
Mark Pizzolato
9938567da9 Removed references to nonexistent include file 2012-05-05 09:40:10 -07:00
Mark Pizzolato
54ad020b4e Fixed potential memory leaks on error paths in scp.c/sim_rest (Peter Schorn) 2012-05-05 09:23:19 -07:00
Mark Pizzolato
928b4a071f Fixed incorrect cleanup when closing tape with asynch I/O enabled 2012-05-02 07:18:35 -07:00
Mark Pizzolato
ff4f1d3a02 Fix error message reporting when command not found. 2012-05-02 07:17:45 -07:00
Mark Pizzolato
e35e6bc458 Official simh-v3.9-0 Merge 2012-05-02 07:06:11 -07:00
Mark Pizzolato
e3bdb12aeb Simplified conditions when a do command file error message is printed 2012-04-30 13:48:47 -07:00
Mark Pizzolato
ee235a6c37 Fixed conditions when error messages are displayed while processing do commands 2012-04-30 05:53:55 -07:00
Mark Pizzolato
7830a327f0 Added a -O switch to the programs arguments which will enable global ON inheritance. 2012-04-29 21:26:36 -07:00
Mark Pizzolato
d4e1cac0ea Added makefile support to use the LLVM (clang) compiler on OSX and other platforms where it may be available (Linux, *BSD, etc.) 2012-04-29 12:39:25 -07:00
Mark Pizzolato
0f8e6cfe95 Cleanup for warning messages produced by the clang C compiler. Mostly adding parentheses in conditional assignments and clarification parentheses in complex boolean expressions. 2012-04-29 11:59:44 -07:00
Mark Pizzolato
3775c17034 Fixed asynch disk/tape I/O reset behaviors to reliably synchronize with the I/O thread's startup 2012-04-29 05:55:46 -07:00
Mark Pizzolato
c4659a0903 Fixed issue where asynchronous I/O wouldn't be reliable after a device reset. 2012-04-28 08:37:20 -07:00
Mark Pizzolato
784f0542f2 Fixed for Compiler indicated bugs 2012-04-27 15:09:40 -07:00
Mark Pizzolato
78009646f0 Cleaned up compiler noticed issues 2012-04-27 15:06:39 -07:00
Mark Pizzolato
c7f778ca79 Cleaned up makefile to support OSX builds with the clang compiler 2012-04-27 14:03:28 -07:00
Mark Pizzolato
ce716f93f6 Fix to avoid excessive compiler optimization of vax ROM access spinwait. Found by Craig Berry, fix suggested by Sergey Oboguev 2012-04-27 13:38:13 -07:00
Mark Pizzolato
57008bb8f5 Cleaned up nested comments 2012-04-27 12:36:03 -07:00
Mark Pizzolato
19bf1cdb90 Cleanup compiler warning about printf arguments 2012-04-27 12:27:16 -07:00
Mark Pizzolato
f77a38c3c5 Cleaned up a few compile complaints 2012-04-27 12:11:12 -07:00