Commit graph

385 commits

Author SHA1 Message Date
Mark Pizzolato
d674bb1f8d Changed VAX console input polling to only poll for input if the last character received has been processed by the VM 2013-01-26 10:43:10 -08:00
Mark Pizzolato
7a9db0fe64 Clean up output formatting for SHOW DEVICE, SHOW CONFIG and changed SHOW SYSTEM to SHOW FEATURES 2013-01-26 10:20:31 -08:00
Mark Pizzolato
cbe11147fc Created a way for devices to have a description presentation routine and if it is supplied for its output to be visible with a SHOW SYSTEM command. Provided device description routines for devices used in the VAX simulators 2013-01-25 12:04:25 -08:00
Mark Pizzolato
9091330a5f Compiler suggested fixes 2013-01-23 12:36:03 -08:00
Mark Pizzolato
33897a6ff2 Added UBA register descriptions 2013-01-22 16:07:55 -08:00
Mark Pizzolato
71fcfacafc Added calls to sim_register_clock_unit for simulators with clock devices 2013-01-22 16:07:23 -08:00
Mark Pizzolato
115f8608c3 Fixed typo referring to auto configuration information 2013-01-22 16:06:04 -08:00
Mark Pizzolato
9fc6aa73d6 Finish migration for simulators to use generic clock co-scheduling and sim_activate_after for scheduled delays 2013-01-22 05:41:27 -08:00
Mark Pizzolato
83c1d80194 Merge branch 'master' into AsyncTmxr
Conflicts merged and missing changes in new modules added as needed for clock co-scheduling.
2013-01-21 16:52:42 -08:00
Mark Pizzolato
95033cee15 Declare the console port input and output polling units for most simulators to potentially allow asynchronous console I/O. 2013-01-21 11:31:29 -08:00
Mark Pizzolato
eb0dfedf73 Changed register variable names to avoid the reserved register name STATE 2013-01-17 05:29:03 -08:00
Mark Pizzolato
a60d9070db Adding register descriptions to VAX processor devices 2013-01-16 17:26:30 -08:00
Mark Pizzolato
19f8fccbc1 Added HELP device REGISTERS support and register definitions for the VAX CPU device 2013-01-15 10:19:52 -08:00
Mark Pizzolato
923d5411f5 Added HELP CPU to all VAX simulators 2013-01-15 10:18:49 -08:00
Mark Pizzolato
8720c8c87b Made the VAX model visible with a SHOW CPU MODEL command for all simulators and made the model persist across a SAVE/RESTORE for the VAX simulators with a settable model 2013-01-14 06:53:48 -08:00
Mark Pizzolato
dac73b9381 Migrating scp and library global variables to be declared as extern in the appropriate library include file and remove repetitive declarations in referencing modules. 2013-01-10 13:29:15 -08:00
Mark Pizzolato
bc816ae871 Fixed Asynchronous Event Queueing to work correctly when doing Lock based queueing 2013-01-10 09:53:40 -08:00
Mark Pizzolato
784ae24324 - Fixed asynchronous i/o hangs introduced when asynchronous cancel support was added
- Added event debug support to scp and the vax simulator
- Moved external declarations into include files related to modules which define them and removed random externs from modules which referenced them
- Fixed typos in sim_ether
- Fixed sim_disk and sim_tape to properly manage asynchronous threads on an i/o flush
2013-01-09 17:02:58 -08:00
Mark Pizzolato
2af67a75b0 Cleanup of compiler noted issue 2013-01-02 15:13:51 -08:00
Mark Pizzolato
722f479e29 Added missing VAX 8600 reboot functionality and cleaned up some compiler warnings. 2013-01-01 06:38:13 -08:00
Mark Pizzolato
43b1c04ae4 Fixed bug disabling TTI interrupts on VAX 11/780, VAX 11/750, VAX 11/730 reported by Mike Burke 2012-12-31 10:44:38 -08:00
Mark Pizzolato
b2ed63f31a Removed IOBA_FLOAT and replaced with IOBA_AUTO 2012-12-28 12:15:08 -08:00
Mark Pizzolato
b25ca80dc6 Merge branch 'master' into AutoConfigure 2012-12-28 08:42:01 -08:00
Mark Pizzolato
48ba877259 Added VAX 11/785 model variation to the VAX 11/780 simulator based on VAX 8600/8650 model variants and some information from Matt Burke's VAX 11/785 page at 9track.net 2012-12-28 08:10:30 -08:00
Mark Pizzolato
10e32ab1e3 VAX 8600 adjustments for complete auto configure 2012-12-27 12:23:31 -08:00
Mark Pizzolato
fbb783f5dd Added missing VAX 8600 message display after boot command returns 2012-12-27 12:22:22 -08:00
Mark Pizzolato
425ef4f113 Merge branch 'master' into AutoConfigure 2012-12-27 11:44:47 -08:00
Mark Pizzolato
2a5caf87a7 Add embedded boot code support to VAX 8600
Added RQB, RQC, RQD as boot devices for VAX 8600
Added generalized R5 boot flags option to all Unibus VAX systems
2012-12-27 10:28:57 -08:00
Mark Pizzolato
2751a22725 VAX 8600 compiler warning cleanups
Addition of DMC11 to the VAX 8600
2012-12-27 07:02:23 -08:00
Mark Pizzolato
ac53fd10a6 VAX 8600 Simulator from Matt Burke 2012-12-26 11:50:10 -08:00
Mark Pizzolato
3bcb6c1f3d Merge branch 'master' into AutoConfigure 2012-12-23 07:22:14 -08:00
Mark Pizzolato
ca37549a22 Be more precise about the conditions which describe sitting at the VAX 3900 boot rom character prompt to enable CPU idling there. 2012-12-21 13:37:01 -08:00
Mark Pizzolato
7bed091134 Reworked Auto Configure for all Qbus/Unibus devices to have their device address settings table driven from the auto configure code rather than statically defined in many per cpu model include files.
Fixed auto configure bugs which didn't allow Fixed CSR Addresses or Fixed Vectors to be set using the auto configure information.
Fixed display of address and vectors to indicate that the assigned address and/or vector is in the floating set.
Added extended definitions to the auto configure table to reflect all known potential static and floating and static addresses as of VMS V5.5-2
Changed the name of the VAX 11/780 console floppy device name to RXC from RX (which collides with a Unibus name for the RX11).
2012-12-20 13:58:11 -08:00
Mark Pizzolato
3346f4a32c Fix build on VMS (IA64) 2012-12-19 12:45:03 -08:00
Mark Pizzolato
2c14136473 Added DMC to VAX730, VAX750, VAX620 and VAX630 and VH to VAX730, and VAX750. 2012-12-19 11:33:39 -08:00
Mark Pizzolato
50cf91d441 Merge branch 'SerialMux' and compiler suggested cleanup 2012-12-18 09:52:14 -08:00
Mark Pizzolato
c87c747ed7 Compiler warning cleanup 2012-12-16 06:24:36 -08:00
Mark Pizzolato
84af193474 Correct spelling in comment 2012-12-15 14:53:58 -08:00
Mark Pizzolato
b466bdc9c6 Compiler warning cleanup 2012-12-13 13:41:57 -08:00
Mark Pizzolato
a3b0dc38fd Change the semantics of sim_is_active to return a t_bool (which was 98% of how it was used), and added new sim_activate_time to return the time a unit will be activated (the value previously returned). This affected a handful of used of sim_is_active in device implementations which were adjusted to use the sim_activate_time API. 2012-12-12 11:01:00 -08:00
Mark Pizzolato
f6af7f4583 vax_7x0_mba.c - Fix bug which didn't defer device interrupts while a transfer was in progress causing OS failure when using multiple RP and RM disks under load. 2012-12-06 08:19:39 -08:00
Mark Pizzolato
42b7bed6f5 pdp11_dmc.c - Removed DMP “support” through conditional compilation, including removal of SET TYPE command.
- Removed SET POLL command.
	- Changed SET TRANSMIT command to SET PEER
	- Fixed problem with detached device causing socket errors
2012-12-03 16:56:15 -08:00
Mark Pizzolato
97d4f18377 Fix to properly format the CPU boot code load string on ARM platforms (Jordi Guillaumes i Pons) 2012-11-20 04:59:29 -08:00
Mark Pizzolato
8a6d90cf57 vax610_defs,h, vax630_defs.h - Corrected device IPL levels for all qbus devices for the VAX610, VAX620 and VAX630 simulators 2012-11-12 21:29:27 -08:00
Mark Pizzolato
7c7df669ad Asynchronous Support
scp.c, scp.h
	- added sim_uname (Unit Name) API to simplify places which might want to display it (mostly debug messages).
	- added support for clock co-scheduling
	- added debugging to trace event queue activities

    sim_defs.h
	- added support for clock co-scheduling
	- added support for sim_uname (Thread local storage macro)
	- added support for debugging to trace event queue activities
	- simplified debug code by using sim_uname
	- fixed support macro for sim_is_active when asynch timers are in use

   sim_rev.h
	- fixed nested comments

    sim_tmxr.c, sim_tmxr.h
	- added support for clock co-scheduling
	- simplified debug code by using sim_uname
	- added support for devices which poll for output on different units

    sim_timer.c, sim_timer.h
	- added support for clock co-scheduling
	- fixed asynchronous clock calibration to smooth out calibration adjustments
	- simplified debug code by using sim_uname
	- added ability (when running with asynchronous support) to explicitly disable or enable asynchronous timer support.
	- changed sim_timer_inst_per_sec to return a double value since the result is always used in a double expression and integer overflow could occur under strange timing conditions

    vax/vax_stddev.c
	- converted from simulator specific clock co-scheduling to generic clock co-scheduling.

    vax/vax_cpu.c
	- added EVENT and ACTIVATE debug flag (SET CPU DEBUG=EVENT;ACTIVATE) support

    pdp11/pdp11_dz.c
	- converted from simulator specific clock co-scheduling to generic clock co-scheduling.

    pdp11/pdp11_vh.c
	- converted from simulator specific clock co-scheduling to generic clock co-scheduling.

    pdp11/pdp11_xq.c
	- converted from simulator specific clock co-scheduling to generic clock co-scheduling.
2012-11-12 15:33:35 -08:00
Mark Pizzolato
b01fa8fbb0 Addition of MicroVAX II (VAX630) and rtVAX 1000 (or Industrial VAX 620) processor simulators from Matt Burke
Generalized the Boot Code loading support to use common code which has been added to vax_cpu.c
2012-11-09 12:18:15 -08:00
Mark Pizzolato
ecbbcc7228 Added DMC11 Device to the VAX simulator 2012-11-07 14:50:32 -08:00
Mark Pizzolato
d51df0eba5 Merge of working DMC-11 device from Rob Jarratt.
pdp11_dmc.c
	- Fixed DMA bug which wrote data into the wrong simulated memory address.
	- Fixed incoming IP address checking.

pdp11_io_lib.c
	- Added the DMC device to the autoconfigure device table

vax780_defs.h
	- Added comment for DMC11
2012-11-06 17:00:54 -08:00
Mark Pizzolato
732ef8307e vax610_sysdev.c - Generalized the boot parsing.
The supported boot options now are:
	B XQ			; Network boot
	B XQA			; equivalent
	B XQA0			; equivalent
	B RQ			; Boot RQ0
	B RQ0			; equivalent
	B DUA			; equivalent
	B DUA0			; equivalent
	B RQn			; Boot RQn
	B DUAn			; equivalent
	B DUn			; equivalent
	B 			; Boot using boot ROM device search

Also the R5 boot options can be specified either before or after the device name and with or without the R5:

For example:
	B /R5:1 XQ
	B /1 XQ
	B XQ /R5:1
	B XQ/1
are all equivalent
2012-11-05 16:12:41 -08:00
Mark Pizzolato
03bbd66cef vax610_defs.h, vax610_stddev.c - Added SHOW CPU LEDS and SHOW CPU MODEL to the cpu_mod array using the CPU_MODEL_MODIFIERS #define.
- Added dynamic display of the LED values to the console port as the LEDs change during a boot.
2012-11-05 15:56:56 -08:00