CHARON-VAX and CHARON-PDP for Windows configuration

CHARON-VAX and CHARON-PDP for Windows configuration

Table of Contents

Creation of CHARON VM configuration

When a CHARON Virtual Machine (VM) is created from a template using the CHARON Virtual Machine Manager, it has to be updated to meet the desired configuration.

This configuration is represented as a text file ("configuration file") containing some specific keywords to define the main settings such as amount of memory, number of CPUs, peripheral devices as well as specifics of CHARON VM executions such as name of VM log file, number of host CPUs used for emulation, etc.

To change the configuration file, open the CHARON Virtual Machine Manager from its shortcut on Desktop / Start menu or from the tray menu item, select the target CHARON VM and press the "Edit Configuration" button:

 

Notepad will be used to edit the configuration file:

VAX/PDP11 model specification

The first configuration statement is the specification of the exact VAX/PDP11 hardware model to emulate, for example:

set session hw_model = MicroVAX_3600

You must leave this line untouched.

If you create the CHARON VM 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. If the virtual machine has been created using an existing template, the configuration name is defined in the configuration_name.icfg file otherwise it is defined directly in the configuration file using the "set session configuration_name = <...>" syntax:

include configuration_name.icfg

Notes:

  • The configuration name is reported in the log file and is used to set the log file name for rotating log (see explanations further).

  • Changing the configuration name in the "configuration_name.icfg" file does not change the name of the virtual machine at Virtual Machine Manager level.

  • The "configuration_name.icfg" file can be found in the home directiory of the VM. Select the target VM, open "VM Configuration" tab and press "Explore" button.

 

The configuration name can be any label that is meaningful.

Example:

set session configuration_name = My_VAX

It is possible to specify a configuration name containing spaces, in this case use quotation marks:

set session configuration_name = "My VAX"

Log file parameters

The execution of a CHARON VM 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 problems with either the running CHARON VM or the emulated system configuration (such as the absence or malfunction of certain devices), the log file 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 the problem resolution.

CHARON-VAX log file example

20200510:133937:INFO :0:00000249:ethane.cxx(9010): Logging started.
20200510:133937:INFO :0:000003A5:ethane.cxx( 131): session: loading built-in configuration "MicroVAX_3600"...
20200510:133937:INFO :0:000003A6:ethane.cxx( 163): session: ... done loading built-in configuration "MicroVAX_3600"
20200510:133937:INFO :0:000003A7:ethane.cxx( 321): session: loading service configuration "My_MV3600"...
20200510:133937:INFO :0:000003A8:ethane.cxx( 356): session: ... done loading service configuration "My_MV3600"
20200510:133937:INFO :0:000003AA:ethane.cxx( 404): session: loading configuration file "C:\Program Files\CHARON\Virtual Machines\My_MV3600\mv3k6.cfg"...
The previous message has been repeated 2 times.
20200510:133937:INFO :0:000003AB:ethane.cxx( 579): session: ... done loading configuration file "configuration_name.icfg"
The previous message has been repeated 2 times.
20200510:133937:INFO :0:000003F2:sesmgr.cxx(1410): session: default log file size limit is 4194304 bytes
20200510:133937:INFO :0:0000032B:ethane.cxx(2694): Start request received.
20200510:133937:INFO :0:000003AC:ethane.cxx( 805): session: process affinity is 00000000000000FF, system affinity is 00000000000000FF
20200510:133937:INFO :0:000003D1:ethane.cxx(1463): session: I/O domain affinity is 0000000000000003, CPU domain affinity is 00000000000000FC
20200510:133937:INFO :0:0000024D:licenseman(1823): Checking the available license key "1422726238".
The previous message has been repeated 26 times.
20200510:133938:INFO :0:00000408:ethane.cxx(2867): CHARON-VAX (MicroVAX 3600), V 4.11 B 20404, May 10 2020 / 000.msc.test.center.nikolaev / 1918154109
20200510:133938:INFO :0:00000336:ethane.cxx(2908): The end user of this software has agreed to STROMASYS' Terms and Conditions for Software License and Limited Warranty, as described at: http://www.stromasys.com/pub/doc/30-17-033.pdf
20200510:133938:INFO :0:00000097:ethane.cxx(2987): OS Environment: Microsoft Windows 10 Pro, 64-bit (Build 17134).
20200510:133938:INFO :0:00000098:ethane.cxx(2992): Host CPU: Intel(R) Xeon(R) CPU E31275 @ 3.40GHz x8.
20200510:133938:INFO :0:00000099:ethane.cxx(2997): Host Memory: 24320Mb
20200510:133938:INFO :0:0000041F:ethane.cxx(3223): Configuration dump::
. session:
. . configuration_name = "My_MV3600"
. . log_method = "append"
. . log_locale = "English"
. . log_show_messages = "all"
. . log_repeat_filter = "on"
. cdal:
. . mm_timer_correction_disable = "false"
. IPR:
. . mm_timer_correction_disable = "false"
. RAM:
. . size = "16"
. SSC:
. . clock_period = "20000"
. . mm_timer_correction_disable = "false"
. q_bus:
. . mm_timer_correction_disable = "false"
. . interface = "enabled"
. UART:
. . line = "OPA0"
. . rx_done_delay = "10000"
. . tx_done_delay = "50"
. . tx_buffer_interval = "2000"
. . baud_rate = "9600"
. . stop_len = "1"
. . char_len = "8"
. . parity = "none"
. . dtr = "off"
. . rts = "off"
. . force_character_mask = "255"
. BDR:
. . boot = "manual"
. . mode = "normal"
. OPA0:
. . trace = "disabled"
. . port = "10003"
. . application = "putty.exe -load OPA0"
20200510:133938:INFO :0:00000418:busemul.cx( 188): SSC: MultiMedia Timer correction is enabled.
20200510:133939:INFO :0:00000001: tpool.cxx(1374): CPU: The ACE option is omitted; enable ACE as license default.
20200510:133939:INFO :0:00000133: tpool.cxx(1606): Advanced CPU Emulation (ACE) enabled.
20200510:133939:INFO :0:0000032C:ethane.cxx(2730): "My_MV3600" started.
20200510:133939:INFO :0:00000419:winsckio.c(2703): OPA0: Connected. Remote 127.0.0.1:61468.
20200510:134413:INFO :0:0000032D:ethane.cxx(2776): "MicroVAX 3600" stop request received.
20200510:134413:INFO :0:0000024D:licenseman(1823): Licensing component received stop request.
20200510:134413:INFO :0:0000032E:ethane.cxx(2794): Stopped.
20200510:134413:INFO :0:0000024A:ethane.cxx(9706): Logging stopped.

The next group of parameters defines the name of the CHARON VM log file and how the CHARON VM will use it:

set session log_method = append
#set session log_method = overwrite
#set session log = "MicroVAX_3600.log"

Rotating log (default)

By default CHARON utilizes a so-called "rotating log" mechanism. This means that a new default log file is created each time CHARON starts and can switch to another log file if the size of the log file exceeds 64Kb (this behavior can be changed with the "set session log_file_size" and "set session log_rotation_period" parameters; see more details in the "General Settings" chapter of this guide).

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.

The names of the rotating log files are composed as follows:

configuration_name-YYYY-MM-DD-hh-mm-ss-xxxxxxxxx.log

If the "Configuration name" parameter described before is omitted (commented out), the log name has the following format instead:

hw_model-YYYY-MM-DD-hh-mm-ss-xxxxxxxxx.log

Note that "xxxxxxxxx" is an increasing decimal number starting from "000000000" to separate log files with the same time of creation.

The "log" parameter, if specified, must correspond to an existing folder.

If the path is not specified, the log file is created in the "Home directory" mentioned in the VM Configuration tab of the CHARON Virtual Machine Manager.

Single log

Alternatively it is possible to use a single log file. Uncomment the "set session log" line and specify the desired 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 "Home directory" mentioned in the VM Configuration tab of the CHARON Virtual Machine Manager.

The log file can be extended specifying "log_method = append" (*recommended for reporting issues*) or overwritten, specifying "log_method = overwrite".

Below is a specification of a CHARON VM log file located in the "C:\My logs" directory which will be appended each time the CHARON VM starts:

set session log_method = append
set session log = "C:\My logs\my_vax.log"

TOY, ROM and EEPROM containers

The TOY, ROM and EEPROM containers must be configured. Their presence depends on the VAX/PDP11 model. Stromasys recommends enabling them. If a container file of the given name does not exist, starting the CHARON VM will create it.

TOY means "Time of Year". Its container records time, date and some console parameters while the CHARON VM is not running.  It is highly recommended to define and activate this container:

set toy container = "charon.dat"

The ROM container stores an intermediate state of the Flash ROM and some console parameters. It is highly recommended to define and activate this container:

set rom container = "vx4k106.rom"

EEPROM stores the NVRAM content. It is highly recommended to define and activate this container:

set eeprom container = "charon.rom"

KW11 timer

PDP11/93 and PDP11/94 emulators require the KW11 system timer to be configured:

#set KW11 frequency = 50
#set KW11 frequency = 60

Uncomment the line corresponding to the frequency used in the RSX11/RT11 systems to be migrated if needed.

ACE mode

The next setting indicates whether the CHARON VM will use the Advanced CPU Emulation (ACE) mode:

#set cpu ace_mode = false
#set cpu ace_mode = true

 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.

The "ace_mode" mode is license dependent, the "Charon-xx/Plus" products have ACE mode enabled by default.

Emulated memory (RAM) size

The next parameter defines the amount of host memory the CHARON VM reserves for the emulation:

#set ram size = 32
set ram size = 64

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 the CHARON VM what host device to use as the virtual system console. The following options are available:

Option

Description

Option

Description

physical_serial_line

Mapping to host "\\.\COM<n>" physical serial line.

virtual_serial_line

Mapping to an IP port of CHARON VM host.
Using this mapping it is possible to connect to the CHARON VM console and disconnect from it at any time without usage of CHARON Virtual Machine Manager "Show Console" option.It is also possible to start up some chosen application to connect to the CHARON VM console IP port.

Parameters:

  1. port: specifies an IP port on the host to which the CHARON VM console will be mapped

  2. application: a string specifying a name of an application to be started together with CHARON VM 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, the CHARON VM uses the IP port "10003" for the VAX/PDP11 console and starts the "Putty" terminal emulator (included in the CHARON installation kit) 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" feature from the CHARON Virtual Machine Manager.

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:

#load physical_serial_line/chserial TTA0 line="\\.\COM1"
#load virtual_serial_line/chserial TTA0 port=10000
#load virtual_serial_line/chserial TTA0 port=10000 application="putty.exe -load TTA0"

#set quart line[0]=TTA0

#load physical_serial_line/chserial TTA1 line="\\.\COM2"
#load virtual_serial_line/chserial TTA1 port=10001
#load virtual_serial_line/chserial TTA1 port=10001 application="putty.exe -load TTA1"

#set quart line[1]=TTA1
...

#load physical_serial_line/chserial OPA0 line="\\.\COM4"
#load virtual_serial_line/chserial OPA0 port=10003
load virtual_serial_line/chserial OPA0 port=10003 application="putty.exe -load OPA0"

set quart line[3]=OPA0

When using the 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 that additional parameters for the CHARON VM serial lines configuration can be added. Follow this link for details.

Exit on F6 keypress

The following directive configures the emulator to exit immediately when the F6 key sequence is sent to the emulator console.

set OPA0 stop_on = F6

This means that if the F6 key is pressed in the terminal emulator being used to connect to the console (PuTTY, for example), the emulator will exit immediately.

Stromasys does not recommend enabling this feature. It means that any person (or software) which connects to the console port on the emulator host can stop the emulator and thus "pull the virtual power cable" from the OpenVMS guest. In particular, many organizations have deployed automated port scanners in their datacenters to discover open ports on the systems in the network. Many such port-scanning solutions, if they are able to connect to an open port, will next try to send data to the port. In many cases this data can be interpreted as the stop sequence and cause the emulator to exit.

If you must allow incoming connections to the console port, you should configure the Windows firewall with a "whitelist" of IP addresses from which such connections are allowed, and disallow all other addresses.

Disk subsystem

The disk subsystem and the mapping to the system resources can be done using the samples given in the template configuration files.

CHARON 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 the MSCP disk controller RQDX3:

#load RQDX3 DUA

#set DUA container[0]="<file-name>.vdisk"
#set DUA container[1]="\\.\PhysicalDrive<N>"
#set DUA container[2]="\\.\PhysicalDrive(DevID = <XXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX>)"
#set DUA container[3]="\\.\PhysicalDrive(iScsiTarget = <iSCSI target>, LUN = <LUN number>)"
#set DUA container[4]="\\.\CdRom<N>"
#set DUA container[5]="<file-name>.iso"
#set DUA container[6]="\\.\A:"
#set DUA container[7]="\\.\H:"

#load RQDX3 DUB address=...
#load RQDX3 DUC address=...

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:



© Stromasys, 1999-2025  - 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. 
Need fast, reliable migration? We have done it countless times. Talk to an expert