CHARON-VAX and CHARON-PDP for Windows configuration
Table of Contents
Creation of your own configuration file using a template
By default, all the CHARON templates are located in the "C:\Program Files (x86)\CHARON\Build_XXXXX\x86" (x64) or "C:\Program Files\CHARON\Build_XXXXX\x86" (x86) folder. Copy the appropriate template configuration file(s) to your home directory (or to any directory intended for CHARON-VAX / CHARON-PDP).
Please do not edit the original template configuration files since they can be updated or even removed on update/deinstallation of CHARON-VAX / CHARON-PDP
Once the file has been created you can open it in "Notepad" editor (or use the "CHARON Launcher" utility to open the configuration file) and proceed with modification to reflect the exact features of the system you are going to emulate.
We will review all the parameters step by step issuing some recommendations and guidelines.
Note: lines preceeded by the comment sign "#" inside the configuration files will not be interpreted. You can use this sign to debug your configuration.
VAX/PDP11 model specification
The first configuration statement is the specification of the exact VAX/PDP11 hardware model to emulate, for example:
|
You must leave this line untouched.
If you create the CHARON-VAX / CHARON-PDP configuration file from scratch it must be the very first uncommented line in the configuration file.
Configuration name
The next configuration statement is the "Configuration name" option:
|
You can optionally uncomment this line to differentiate this CHARON-VAX / CHARON-PDP instance from all others in a multi-instance environment. The configuration name can be any label that is meaningful.
The configuration name is reported in the log file and is used to set the log file name for rotating log (see further: Rotating log (default) ).
See example below with configuration name set to: MicroVAX_3100_Model_98
Log file parameters
Execution of CHARON-VAX / CHARON-PDP creates one log file or a set of log files reflecting the progress of its start-up and ongoing operation - start and end time of execution, system information, license and configuration details, warnings, reports on problems that may occur, etc. In case of possible problems either with the running CHARON-VAX / CHARON-PDP or the emulated system configuration (such as the absence or malfunction of certain devices), the log file(s) is the primary source to be analyzed for troubleshooting. If it becomes necessary to contact Stromasys for support, the configuration and log files will be requested to begin problem resolution.
Here is an example of a field test CHARON-VAX / CHARON-PDP log file:
|
The next group of parameters defines the name of the CHARON-VAX / CHARON-PDP log file and how CHARON-VAX / CHARON-PDP will use it:
|
Rotating log (default)
By default CHARON-VAX / CHARON-PDP utilizes a so-called "rotating log". This means that a new default log file is always created each time CHARON starts and can switch to another log file if the size of the log file exceeds 64Kb.
This mode is turned on if all the log parameters above are disabled (commented out) or the "session_log" parameter is pointing to a directory rather than to a file. If a directory is specified, the log files will be created in that directory.
Names of the rotating log files are composed as follows:
|
If the "Configuration name" parameter described before is omitted (commented out), the log name has the following format instead:
|
Note that "xxxxxxxxx" is an increasing decimal number starting from "000000000" to separate log files with the same time of creation.
Single log
Alternatively it is possible to use just a single log file. Uncomment the "set session log" line and specify the desired CHARON-VAX / CHARON-PDP log file name. Optionally, a path can be added to the log file name. If the path is not specified, the log file is created in the directory from where the guest (emulated machine) is started.
The log file can be extended ("log_method = append") or overwritten ("log_method = overwrite") by CHARON-VAX / CHARON-PDP.
Below is a specification of a CHARON-VAX / CHARON-PDP log file located in the "?:\My logs" directory which will be overwritten each time CHARON-VAX / CHARON-PDP starts:
|
TOY, ROM and EEPROM containers
The next objects to be configured are TOY, ROM and EEPROM containers (their presence depends on the VAX/PDP11 model). It is always recommended to enable them. If a container file of the given name does not exist, CHARON-VAX / CHARON-PDP will create it. It is recommended to specify the path for each file so that time and console parameters will be kept whatever the current directory is when starting the guest.
TOY means "Time of Year"; its container records time, date and some console parameters while CHARON-VAX / CHARON-PDP is not running. To enable, uncomment the following line:
|
The ROM container stores an intermediate state of the Flash ROM and some console parameters. So its container is also recommended to keep uncommented:
|
EEPROM stores the NVRAM content, so its container is also recommended to keep uncommented:
|
KW11 timer
PDP11/93 and PDP11/94 emulators require the KW11 system timer to be configured:
|
Just uncomment the line corresponding to the frequency used in the RSX11/RT11 systems to be migrated.
ACE mode
The next setting indicates whether CHARON-VAX / CHARON-PDP will use Advanced CPU Emulation (ACE) mode:
|
Note that ACE significantly speeds up CHARON execution.
Uncomment the desired mode. ACE uses a significant amount of host memory for its normal operation. Check the host resources before enabling.
If the "ace_mode" parameter is commented out, CHARON will set ACE mode according to your license settings. "Charon-xx/Plus" products have ACE mode enabled by default.
Emulated memory (RAM) size
The next parameter defines the amount of host memory the chosen CHARON-VAX / CHARON-PDP model reserves for the emulation:
#set ram size=32 |
The amount of RAM is specified in MB. It cannot exceed or be lower than certain values specific for each VAX/PDP11 model. It is very important to keep the listed predefined increment between possible memory values.
The following table shows all the parameters:
Hardware Model | RAM size (in MB) | |||
Min | Max | Default | Increment | |
PDP1193 | 2 | 4 | 2 | 2 |
PDP1194 | 2 | 4 | 2 | 2 |
MicroVAX_II | 1 | 16 | 16 | 1,8,16 |
MicroVAX_3600 | 16 | 64 | 16 | 16 |
MicroVAX_3900 | 16 | 64 | 16 | 16 |
VAXserver_3600 | 16 | 64 | 16 | 16 |
VAXserver_3900 | 16 | 64 | 16 | 16 |
VAXserver_3600_128 | 32 | 128 | 32 | 32 |
VAXserver_3900_128 | 32 | 128 | 32 | 32 |
MicroVAX_3100_Model_96 | 16 | 128 | 16 | 16 |
VAXstation_4000_Model_90 | 16 | 128 | 16 | 16 |
VAX_4000_Model_106 | 16 | 128 | 16 | 16 |
VAX_6000_Model_310 | 32 | 512 | 32 | 32 |
VAXserver_3600_512 | 32 | 512 | 32 | 32 |
VAXserver_3900_512 | 32 | 512 | 32 | 32 |
MicroVAX_3100_Model_98 | 16 | 512 | 16 | 16 |
VAX_4000_Model_108 | 16 | 512 | 16 | 16 |
VAX_4000_Model_700 | 64 | 512 | 64 | 64 |
VAX_4000_Model_705 | 64 | 512 | 64 | 64 |
VAX_6610 | 128 | 3584 | 128 | 128 |
VAX_6620 | 128 | 3584 | 128 | 128 |
VAX_6630 | 128 | 3584 | 128 | 128 |
VAX_6640 | 128 | 3584 | 128 | 128 |
VAX_6650 | 128 | 3584 | 128 | 128 |
VAX_6660 | 128 | 3584 | 128 | 128 |
It is possible to leave the RAM line commented out. In this case the model's default RAM amount is used.
Note that in some particular orders your license may restrict the maximum RAM amount of each VAX/PDP11 model.
Console
Mapping to system resources
The next step is the specification of the VAX/PDP11 console (OPA0) serial line:
#load physical_serial_line/chserial OPA0 line="\\.\COM1" #load virtual_serial_line/chserial OPA0 port=10003 load virtual_serial_line/chserial OPA0 port=10003 application="putty.exe -load OPA0" |
The goal of this configuration step is to tell CHARON-VAX / CHARON-PDP what host device to use as the virtual system console. The following options are available:
physical_serial_line
Mapping to host "\\.\COM<n>" physical serial line.
virtual_serial_line
Mapping to an IP port of CHARON-VAX / CHARON-PDP host.
Using this mapping it is possible to connect to CHARON-VAX / CHARON-PDP console and disconnect from it at any time.It is also possible to start up some chosen application to connect to the CHARON console IP port.
Parameter | Description |
---|---|
port | Specifies an IP port on the host to which the CHARON-VAX / CHARON-PDP console will be mapped |
application | A string specifying a name of an application to be started together with CHARON to provide emulation of VAX/PDP11 console (terminal emulator)It is assumed that this application has already been configured to use the IP port specified by the corresponding "port" parameter |
Example:
load virtual_serial_line/chserial OPA0 port=10003 application="putty.exe -load OPA0" |
In the example above, CHARON-VAX / CHARON-PDP use the IP port "10003" for the VAX/PDP11 console and starts the "Putty" terminal emulator (included in each CHARON distributive) with the "OPA0" saved session directing it to connect to the IP port "10003".
If the terminal emulator is closed, it is always possible to reopen it with the "Show Console" command from the CHARON system tray icon:
The default setting is "load virtual_serial_line/chserial OPA0 port=10003 application="putty.exe -load OPA0
".
Note that the VAX 4000 and MicroVAX 3100 models have a 4-line QUART adapter onboard, so their configuration for the console line looks a bit different:
|
In case of VAX 4000 and MicroVAX 3100 models, it is possible to configure up to 4 independent console lines: OPA0, TTA0, TTA1 and TTA2. The main one is OPA0.
Note there are a number of additional parameters for CHARON-VAX / CHARON-PDP serial lines configuration. Follow this link for details.
Exit on pressing F6 button
It is also recommended to set a hot key to stop the guest from the console in addition to the system tray icon:
set OPA0 stop_on = F6 |
This line provides CHARON-VAX / CHARON-PDP the ability to exit by pressing the "F6" button.
Disk subsystem
The next step is configuration of the disk subsystem and mapping it to system resources using the samples given in the template configuration files.
CHARON-VAX / CHARON-PDP supports MSCP, DSSI, CI and SCSI disk controllers.
The examples below are for MSCP and SCSI controllers only. DSSI controllers are discussed in details in the following section, CI controllers - in this section.
MSCP disk controllers (RQDX3, KDB50, KDM70)
Below is a typical configuration sample for MSCP disk controller RQDX3:
|
The first line ("load RQDX3 DUA") loads disk controller RQDX3 with name DUA, followed by 6 lines showing different ways of mapping to the host resources:
- physical disk
- "<file-name>.vdisk"
Mapping to the file representing a physical disk of the VAX/PDP11 system (disk image).
These files can be created from scratch with "MkDisk" utility. Data and OS disks backups are transferred from the original system via tapes or network and restored into these container files.
Mapping may also include the full path (recommended), for example: "C:\My disks\my_boot_disk.vdisk
" - "\\.\PhysicalDriveN"
Mapping to physical disk. Be careful not to destroy all the information from the disk dedicated to CHARON-VAX / CHARON-PDP by mistake!These disks must not be formatted by the host OS. - "\\.\PhysicalDrive(DevID =XXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX)"
Mapping to physical disk by its WWID. Be careful not to destroy all the information from the disk dedicated to CHARON-VAX / CHARON-PDP by mistake!These disks must not be formatted by the host OS.DevID addresses the target physical disk by its WWID (hexadecimal 128-bit identifier assigned to the disk drive by its manufacturer/originator).
Example:
set DUA container[2]="\\.\PhysicalDrive(DevID=6008-05F3-0005-2950-BF8E-0B86-A0C7-0001)"
.
- "<file-name>.vdisk"
- iSCSI disks
"\\.\PhysicalDrive(iScsiTarget = <iSCSI target>, LUN = <LUN number>)"
iScsiTarget addresses the disk by its iSCSI target name.LUN specifies LUN on connected iSCSI disk.
Example:
set DUA container[3]="\\.\PhysicalDrive(iScsiTarget=iqn.2008-04:iscsi.charon-target-test1, LUN=1)"
.
- CDROM drive
- "\\.\CdRomN"
.
- "\\.\CdRomN"
- ISO file (for reading distribution CD-ROM image)
- "<file-name>.iso"
Mapping may also include the full path (recommended), for example: "C:\My disks\vms_distributive.iso
"
.
- "<file-name>.iso"
- Floppy drive
- "\\.\A:"
.
- "\\.\A:"
- Other type of drive (for example magneto-optical drive)
- "\\.\<N>:"
- "\\.\<N>:"
.
Numbers in the square brackets represent unit numbers associated with each container of the MSCP controller. For example, the 3rd "set DUA" line of the configuration sample above creates disk "DUA2". The maximum unit number allowed is 9999, significantly more than the original hardware provided.
It is possible to load several RQDX3 controllers DUB, DUC, etc. (see lines 6-7, above) by configuring specific addresses for them on the Qbus. Use the "CONFIGURE" utility available on the VAX console to determine the addresses. Please refer to specific HP documentation for further information.
Please also refer to HP documentation for information on placement of additional KDM70 controllers on an XMI bus (VAX 6000 models) and additional KDB50 controllers on a BI bus (VAX 6310).
Note that the KDM70 controller is capable of mapping to files representing tapes (tape images) and physical tape devices:
set PUA container[600] = "<file-name>.vtape" |
Follow this link for details of (T)MSCP controllers configuration.
Back to Table of Contents
SCSI controller NCR53C94
The VAX 4000 and MicroVAX 3100 have an NCR53C94 SCSI controller onboard for support of different types of SCSI devices including disks and tapes. Optionally a second controller can be added.
Below is a typical configuration template for a preloaded "PKA" NCR53C94 SCSI controller:
|
Note that NCR53C94 SCSI controller mapping to system resources is done via specific auxiliary objects:
virtual_scsi_disk
Mapping to a file representing VAX/PDP11 disk (disk image) on the host physical disk:
- "<file-name>.vdisk"
These files can be created from scratch with "MkDisk" utility. Data and OS disk backups are transferred from the original system via tapes or network and restored into these container files. Mapping may also include the full path (recommended), for example: "C:\My disks\my_boot_disk.vdisk"
physical_scsi_device
Mapping to a host SCSI device:
- "\\.\Tape<N>" - mapping to a SCSI tape drive known to Windows
"\\.\ScsiN:X:Y:Z" - name of some SCSI device unknown to Windows for direct mapping, for example, a SCSI disk or tape reader. The values of N, X, Y and Z can be collected using special utility "Host Device Check" included in the CHARON distributive - or manually by investigation of the devices connected to CHARON host in the "Device Manager" applet.
Parameter | Description |
---|---|
N | A logical number assigned by host operating system (Microsoft Windows) to logical or host’s physical storage resource such as physical SCSI HBA |
X | An internal SCSI bus number (usually 0) on host’s physical SCSI HBA |
Y | A SCSI ID of physical SCSI target device attached to host’s physical SCSI HBA |
Z | A logical unit number inside physical SCSI target device attached to host’s physical SCSI HBA |
virtual_scsi_cdrom
Mapping to a host CD-ROM (not only SCSI) or to ISO image:
- "\\.\CdRom<N>" - name of host CD-ROM drive
- "<file-name>.iso" - name of ISO image. It may contain the full path, for example: "C:\My disks\vms_distributive.iso"
virtual_scsi_tape
Mapping to a file representing tape (tape image). It may contain a path, for example: "C:\My tapes\backup.vtape"
Let's look at the syntax of the mapping objects. All of them have several important parameters:
Mapping objects parameters | Description |
---|---|
scsi_bus | The name of the NCR53C94 SCSI controller. A typical value for the first and only preloaded NCR53C94 SCSI controller is "PKA" |
scsi_id | SCSI address of this particular mapped device. Note that the preloaded NCR53C94 SCSI controller claims address "7"; addresses 0-6 are vacant and usable. The resulting names of virtual SCSI devices as they are seen in VAX/VMS are made up of the VMS name of the SCSI controller and the device address. For PKA, the device names in VMS will be DKA0, DKA1 etc |
container | A keyword for specification of which host device is mapped to a particular virtual SCSI device. It can be disk or tape image, physical disk etc |
It is possible to configure another NCR53C94 SCSI controller "PKB" by uncommenting the "include kzdda.cfg" line:
|
In the example above "pkb_0" virtual SCSI device uses "PKB" controller by specifying a parameter "scsi_bus=pkb"
Note that versions of VAX/VMS older than 5.5-2H4 do not support the optional SCSI controller and might fail to boot if it is loaded.
Follow this link for details of NCR53C94 SCSI controller controllers configuration.
Tape subsystem
Some MSCP and SCSI controllers support tape devices. CHARON-VAX / CHARON-PDP also emulates specific MSCP tape devices such as TQK50 and TUK50.
Follow this link for more details of (T)MSCP controllers configuration.
TQK50 controller
Example statements to configure TQK50 are shown below:
|
The first line ("load TQK50 MUA") loads tape controller TQK50 with a name of MUA. The following 2 lines demonstrate different ways of mapping to host resources:
Type of mapping | Description |
---|---|
"<file-name>.vtape" | Mapping to the file representing the tape (tape image). These files are created automatically. Mapping may also include a full path (recommended), for example: "C:\My tapes\backup.vtape" |
"\\.\TapeN" | Mapping to a host tape device. |
Numbers in the square brackets represent unit numbers associated with each container of the TQK50 controller. For example, the 2nd "set MUA" line of the configuration sample above creates tape drive "MUA1". The maximum unit number allowed is 9999, significantly more than the original hardware provided
It is possible to load several TQK50 controllers (see the lines 4-5) by configuring specific addresses for them on the Qbus. Use the "CONFIGURE" utility available on the VAX console to determine the addresses. Please refer to specific HP documentation for further information.
TUK50 controller
TUK50 is a UNIBUS controller used by the VAX 6310:
|
The first line loads a UNIBUS BI adapter "DWBUA". Then configure the "TUK50" tape controller the same way as the TQK50.
Serial Lines
CHARON-VAX / CHARON-PDP supports the following serial lines controllers: CXA16, CXB16, CXY08, DHQ11, DHV11, DZV11, DZQ11, DL11, DLV11, DZ11, DHW42-AA, DHW42-BA and DHW42-CA.
All of them are configured according to the following template:
|
The first 5 lines of the example above demonstrate loading serial line controllers of different types. The name of the controller (in this example) will be "TXA"
Once the controller is loaded it can be mapped to system resources (lines 6-11). The following options are available:
physical_serial_line
Mapping to host "\\.\COM<N>" serial line
virtual_serial_line
Mapping to an IP port of CHARON-VAX / CHARON-PDP.
This mapping makes it possible to connect to and disconnect from the CHARON-VAX / CHARON-PDP serial line at any time.It is also possible to start up some chosen application to connect to the CHARON serial line IP port.
Parameter | Description |
---|---|
port | Specifies an IP port on the host to which the CHARON-VAX / CHARON-PDP serial line will be mapped |
application | A string specifying a name of an application to be started together with CHARON to provide emulation of VAX/PDP11 serial line (terminal emulator)It is assumed that this application has already been configured to use the IP port specified by the corresponding "port" parameter |
Example:
load virtual_serial_line/chserial TXA0 port=10011 application="putty.exe -load TXA0"
|
In the example above, CHARON-VAX / CHARON-PDP uses the IP port "10011" for the VAX/PDP11 serial line and starts the "Putty" terminal emulator (included in each CHARON distributive) with a "TXA0" saved session directing it to connect to the IP port "10011".
Look at the line "set TXA line[0]=TXA0" in the example. This one and the following lines of similar syntax map the loaded virtual controller ("TXA") to instances of host serial lines ("TXA<N>").
The number of serial lines possible for each controller depends on its type and corresponds to the HP specification on a given controller.
It is possible to load several CXA16, CXB16, CXY08, DHQ11, DHV11, DZV11, DZQ11, DL11, DLV11 and DZ11 controllers (see the lines 12-16) by configuring specific addresses for them on the Qbus. Use the "CONFIGURE" utility available on the VAX/PDP11 console to determine the addresses. Please refer to specific HP documentation for further information.
VAX 4000 and MicroVAX3100 support DHW42-AA, DHW42-BA and DHW42-CA serial lines adapters:
|
Configuring these adapters is the same as above, except it is possible to load one and only one instance of DHW42-AA, DHW42-BA or DHW42-CA.
Note that additional parameters exist for CHARON-VAX / CHARON-PDP serial lines configuration, follow this link for details.
Networking
CHARON-VAX / CHARON-PDP supports DEQNA, DESQA, DELQA, DEUNA, DELUA, DEMNA, DEBNI and PMADAA virtual network adapters.
All of them are configured in a similar way:
|
In the example above the first line loads DELQA virtual adapter with a name "XQA"; the following 2 lines map it to host network interface having a name "Charon" ("connection" is a key word). Note that the mapping is performed in 2 steps:
- A mapping object "packet_port" with a name "XQA0" is loaded and connected to host interface having a name "Charon", so CHARON-VAX / CHARON-PDP will use this interface for its networking
- The loaded DELQA virtual adapter "XQA" is connected to the "packet_port" object "XQA0"
It is possible to load several DEQNA, DESQA, DELQA, DEUNA and DELUA controllers (see the lines 4-5) by configuring specific addresses for them on the Qbus. Use the "CONFIGURE" utility available on the VAX/PDP11 console to determine the addresses. Please refer to specific HP documentation for further information.
Some network adapters available in CHARON-VAX / CHARON-PDP are preloaded (for example, the SGEC controller for the MicroVAX 3100 with the predefined name "EZA"), so their configuration is even more simple:
|
After few seconds the chosen interface will be assigned to CHARON:
Follow this link for more details of CHARON-VAX / CHARON-PDP network controllers configuration.
Auto boot
CHARON-VAX / CHARON-PDP can be configured to automatically boot an operating system at start up.
MicroVAX 3100, VAX/PDP11 6310 and VAX/PDP11 4000 boot automatically if correct boot flags are set with VAX/PDP11 console:
>>> set halt reboot |
Please check that the TOY, EEPROM and ROM containers (see above) are enabled so console command changes are saved between reboots.
The ROM of certain VAXes (MicroVAX II, MicroVAX 3600, MicroVAX 3900, VAXserver 3600 and VAXserver 3900) does not allow the SRM console to accept the commands to enable auto booting. In this case, some parameters in the configuration file can be used instead:
set bdr boot=auto |
CHARON-VAX 6000 models have a similar configuration setting:
set xmi boot=auto |
CHARON-PDP models have the following setting:
set cpu_0 auto_boot = "DU0" |
These configuration lines are typically specified in the template configuration files (in commented out form). In case of absence please add the corresponding line according to the examples above.
Host load balance for SMP systems
VAX 6620 through VAX6660 models emulate 2-6 CPUs respectively. In this situation, loading of the host system can be tuned with the following configuration file settings:
affinity
This setting binds the running instance of the emulator CPUs to particular host CPUs.
This should be used for soft partitioning host CPU resources or for isolating multiple CHARON instances on the same host from each other. By default the emulator instance allocates as many host CPUs as possible.
“Affinity” overrides the default and allows explicit specification of which host CPUs will be used by the instance.Affinity does not reserve the CPU for exclusive use.
Example:
set session affinity = "0, 2, 4, 6" |
n_of_io_cpus
Reserves host CPUs (of those specified by “affinity” parameter, if any) for use by the emulator for I/O handling.
By default the emulator instance reserves one third of available host CPUs for I/O processing (round down, at least one).
The “n_of_io_cpus” overrides the default by specifying the number of I/O host CPUs explicitly.
set session n_of_io_cpus = 2 |
© Stromasys, 1999-2024 - All the information is provided on the best effort basis, and might be changed anytime without notice. Information provided does not mean Stromasys commitment to any features described.