003 - dtCYBER Operator Interface
CYBIS (R2) Operation and Usage (Virtual Book)
This Virtual Book contains chapters organized in a suggested order but you are free to select whatever topics address your needs best.
dtCYBER is a “container” application that simulates a variety of different CDC/CYBER configurations. These articles describe the general operation of the interface and illustrate some of the functionality using NOS 2/871 as an example. Other operating systems executed in this environment may be shown but this should be treated as an exhaustive dive into the operation of each supported operating system.
Overview
The operator interface is command-line based and prompts for commands in its text window. The default prompt is Operator > but may be configured using the displayName= directive.
For these examples, the option configured is displayName=Retro1-0 DEV (Auto) resulting in the command line prompt:
Commands are Case-Sensitive!
- All commands are submitted by the
Enter keywhich initiates processing of the command that preceded it. - All commands are documented in this article: Console Commands
Initialization (Annotated)
Initialization of dtCYBER begins by invoking the command dtcyber at the appropriate host shell prompt or through a windows shortcut.
If dtCYBER finds the default cyber.ini file in the current working directory, the simulator reads the configuration statements starting with the default section [cyber].
Within the [cyber] section, each directive is processed and all required and optional sections are processed until initialization is complete. Initialization of dtCYBER concludes with deadstart of the desired operating system.
During initialization, status messages are presented to the operator. An annotated (in yellow) example of these messages is shown below. This example shows the initialization of a development machine whose network ports have been offset into the 50,000 port range using the configuration file cybisr2.ini and the initialization section [cyber]. The command to invoke this configuration is: dtcyber cyber cybisr2.ini. Refer to the dtCyber documentation for details.
NPU Section is then processed:
(init ) file 'cybisr2.ini' section [npu.nos287] line 8: couplerNode Valid
(init ) file 'cybisr2.ini' section [npu.nos287] line 9: npuNode Valid
(init ) file 'cybisr2.ini' section [npu.nos287] line 10: cdcnetNode Valid
(init ) file 'cybisr2.ini' section [npu.nos287] line 17: cdcnetPrivilegedTcpPortOffset Valid
(init ) file 'cybisr2.ini' section [npu.nos287] line 18: cdcnetPrivilegedUdpPortOffset Valid
(init ) file 'cybisr2.ini' section [npu.nos287] line 23: hostID Valid
(init ) file 'cybisr2.ini' section [npu.nos287] line 26: terminals Valid
(init ) file 'cybisr2.ini' section [npu.nos287] line 36: terminals Valid
(init ) file 'cybisr2.ini' section [npu.nos287] line 41: terminals Valid
(init ) file 'cybisr2.ini' section [npu.nos287] line 47: terminals Valid
(init ) file 'cybisr2.ini' section [npu.nos287] line 54: terminals Valid
(init ) file 'cybisr2.ini' section [npu.nos287] line 60: terminals Valid
(init ) file 'cybisr2.ini' section [npu.nos287] line 61: terminals Valid
(init ) file 'cybisr2.ini' section [npu.nos287] line 68: terminals Valid
(init ) Network host ID is 'R1XM01'
(init ) Host coupler node value is 1
(init ) NPU node value is 2
(init ) CDCNet node value is 255
(init ) TCP privileged port offset is 50000
(init ) UDP privileged port offset is 50000
(init ) Idle network buffer threshold is 4
(init ) [npu.nos287] line 26: nje TCP port 50175 CLA port 0x30 port count 1, block size 8192, destination host NCCMAX/64.223.192.208:175, source address 127.0.0.1, ping interval 600
(init ) [npu.nos287] line 36: trunk TCP port 52550 CLA port 0x01 port count 1, coupler node 3, destination host R1XM02/127.0.0.1:2551
(init ) [npu.nos287] line 41: raw TCP port 52552 CLA port 0x03 port count 1
(init ) [npu.nos287] line 47: telnet TCP port 50023 CLA port 0x04 port count 16
(init ) [npu.nos287] line 54: pterm TCP port 58006 CLA port 0x14 port count 16
(init ) [npu.nos287] line 60: hasp TCP port 52553 CLA port 0x24 port count 1, block size 400
(init ) [npu.nos287] line 61: hasp TCP port 52554 CLA port 0x25 port count 1, block size 400
(init ) [npu.nos287] line 68: pterm TCP port 58005 CLA port 0x40 port count 128
The Equipment Section is then processed:
(init ) Loading equipment section [equipment.nos287] from 'cybisr2.ini'
(init ) file 'cybisr2.ini' section [equipment.nos287] line 12: DD885 Valid
(init ) file 'cybisr2.ini' section [equipment.nos287] line 13: DD885 Valid
(init ) file 'cybisr2.ini' section [equipment.nos287] line 14: DD885 Valid
(init ) file 'cybisr2.ini' section [equipment.nos287] line 15: DD885 Valid
(init ) file 'cybisr2.ini' section [equipment.nos287] line 17: DD844 Valid
(init ) file 'cybisr2.ini' section [equipment.nos287] line 20: DD885 Valid
(init ) file 'cybisr2.ini' section [equipment.nos287] line 21: DD885 Valid
(init ) file 'cybisr2.ini' section [equipment.nos287] line 22: DD885 Valid
(init ) file 'cybisr2.ini' section [equipment.nos287] line 23: DD885 Valid
(init ) file 'cybisr2.ini' section [equipment.nos287] line 24: DD885 Valid
(init ) file 'cybisr2.ini' section [equipment.nos287] line 25: DD885 Valid
(init ) file 'cybisr2.ini' section [equipment.nos287] line 26: DD885 Valid
(init ) file 'cybisr2.ini' section [equipment.nos287] line 27: DD885 Valid
(init ) file 'cybisr2.ini' section [equipment.nos287] line 30: MDI Valid
(init ) file 'cybisr2.ini' section [equipment.nos287] line 34: CO6612 Valid
(init ) file 'cybisr2.ini' section [equipment.nos287] line 37: CR3447 Valid
(init ) file 'cybisr2.ini' section [equipment.nos287] line 38: LP512 Valid
(init ) file 'cybisr2.ini' section [equipment.nos287] line 39: CP3446 Valid
(init ) file 'cybisr2.ini' section [equipment.nos287] line 42: MT679 Valid
(init ) file 'cybisr2.ini' section [equipment.nos287] line 43: MT679 Valid
(init ) file 'cybisr2.ini' section [equipment.nos287] line 44: MT679 Valid
(init ) file 'cybisr2.ini' section [equipment.nos287] line 45: MT679 Valid
(init ) file 'cybisr2.ini' section [equipment.nos287] line 50: TPM Valid
(init ) file 'cybisr2.ini' section [equipment.nos287] line 55: MT5744 Valid
(init ) file 'cybisr2.ini' section [equipment.nos287] line 56: MT5744 Valid
(init ) file 'cybisr2.ini' section [equipment.nos287] line 57: MT5744 Valid
(init ) file 'cybisr2.ini' section [equipment.nos287] line 58: MT5744 Valid
(init ) file 'cybisr2.ini' section [equipment.nos287] line 61: DDP Valid
Devices specified by the configuration are initialized:
(dd8xx ) Disk with 843 cylinders initialised on channel 1 equip 0 unit 0 filename 'disks.r2/DQ10'
(dd8xx ) Disk with 843 cylinders initialised on channel 1 equip 0 unit 1 filename 'disks.r2/DQ11'
(dd8xx ) Disk with 843 cylinders initialised on channel 2 equip 0 unit 0 filename 'disks.r2/DQ12'
(dd8xx ) Disk with 843 cylinders initialised on channel 2 equip 0 unit 1 filename 'disks.r2/DQ13'
(dd8xx ) Removable disk initialised on channel 11 equip 0 unit 0
(dd8xx ) Disk with 843 cylinders initialised on channel 3 equip 0 unit 0 filename 'disks.r2/DQ20_BINARY'
(dd8xx ) Disk with 843 cylinders initialised on channel 4 equip 0 unit 0 filename 'disks.r2/DQ21_CYB0'
(dd8xx ) Disk with 843 cylinders initialised on channel 3 equip 0 unit 1 filename 'disks.r2/DQ22_CYB1'
(dd8xx ) Disk with 843 cylinders initialised on channel 4 equip 0 unit 1 filename 'disks.r2/DQ23_PUB0'
(dd8xx ) Disk with 843 cylinders initialised on channel 3 equip 0 unit 2 filename 'disks.r2/DQ24_PUB1'
(dd8xx ) Disk with 843 cylinders initialised on channel 4 equip 0 unit 2 filename 'disks.r2/DQ25_UOL'
(dd8xx ) Disk with 843 cylinders initialised on channel 3 equip 0 unit 3 filename 'disks.r2/DQ26_RTR1'
(dd8xx ) Disk with 843 cylinders initialised on channel 4 equip 0 unit 3 filename 'disks.r2/DQ27_GEN1'
(mdi ) MDI initialised on channel 5 equipment 7
Host ID: R1XM01
(mdi ) Coupler node: 1
MDI node: 2
(console) Listening for connections on port 56612
(console) Initialised on channel 10
(dcc6681) Attached Channel 12, Equipment 04, Unit 00
(cr3447 ) File watcher was requested
(cr3447 ) Card code selected '026'
(cr3447 ) Submissions will be preserved in 'CROutput'.
(cr3447 ) Filesystem watch thread for 'CRInput' created successfully.
(cr3447 ) Initialised on channel 12 equipment 4 type '026'
(fsmon ) Watching Directory: Card Reader Directory Path
(fsmon ) Waiting ...
(lp3000 ) LP512 Output rendering mode 'ANSI'
(lp3000 ) LP512 Burst mode 'Bursting'
(dcc6681) Attached Channel 12, Equipment 05, Unit 00
(lp3000 ) LP3555/512 initialised on channel 12 equipment 5 mode ANSI filename 'LPOutput/LP5xx_C12_E5'
(dcc6681) Attached Channel 12, Equipment 06, Unit 00
(cp3446 ) Card code selected '026'
(cp3446 ) Initialised on channel 12 equipment 6 filename 'CPOutput/CP3446_C12_E6' type '026'
(mt679 ) Initialised on channel 13 equipment 0 unit 0
(mt679 ) Initialised on channel 13 equipment 0 unit 1
(mt679 ) Initialised on channel 13 equipment 0 unit 2
(mt679 ) Initialised on channel 13 equipment 0 unit 3
(tpmux ) Two port MUX initialised on channel 15, telnet port 56602.
(mt5744 ) initialised on channel 23 equipment 0 unit 0, drive M0P0D0 on tape server localhost:54400
(mt5744 ) initialised on channel 23 equipment 0 unit 1, drive M0P0D1 on tape server localhost:54400
(mt5744 ) initialised on channel 23 equipment 0 unit 2, drive M0P0D2 on tape server localhost:54400
(mt5744 ) initialised on channel 23 equipment 0 unit 3, drive M0P0D3 on tape server localhost:54400
(ddp ) Initialised on channel 20
(cpu ) CPU0 started
If initialization is successful, the Release and License information is shown:
--------------------------------------------------------------------------------
Desktop CYBER 5.7.x (Release|Debug)
Copyright (c) 2011-2017 Tom Hunter
Portions Copyright:
(c) 2018-2025 Kevin Jordan
(c) 2011-2022 Paul Koning
(c) 2017-2025 Steven Zoppi
(c) 2006-2022 Mark Rustad
(c) 2005 Mark Riordan
Licensed under the terms of the GNU General Public License version 3
For details see included text file 'license-gpl-3.0.txt' or visit
'http://www.gnu.org/licenses'
--------------------------------------------------------------------------------
Build date: <date> <time>
--------------------------------------------------------------------------------
If initialization is successful, the Release and License information is shown:
---------------------------
DTCYBER: Operator interface
---------------------------
Please enter 'help' to get a list of commands
If automatic operator statements are configured, they are issued:
YYYY-MM-DD hh:mm:ss
[Retro1-0 DEV (Auto)] Operator> set_operator_port 56662
> Listening for operator connections on port 56662
YYYY-MM-DD hh:mm:ss
[Retro1-0 DEV (Auto)] Operator> enter_keys #2000#
YYYY-MM-DD hh:mm:ss
[Retro1-0 DEV (Auto)] Operator> enter_keys #5000#%year%%mon%%day%
YYYY-MM-DD hh:mm:ss
[Retro1-0 DEV (Auto)] Operator> enter_keys #3000#%hour%%min%%sec%
Control is then relinquished to the human operator.
YYYY-MM-DD hh:mm:ss
[Retro1-0 DEV (Auto)] Operator>
Entering Commands
All commands have an abbreviated version of only one or two letters. For example “lt” is the same as “load_tape”, or “st” is the same as “show_tape”.
To get help for the parameters of the individual commands type help and the command name. For example:
Most commands require parameters which identify the peripheral you want to interact with using the following types of information:
- channel number
- equipment number
- unit number (only for tape drives)
For example, the load_tape command requires these parameters:
Some peripherals require additional parameters:
file name(card reader and tape drives)- read/write mode flag does the same as the write enable ring for a real tape drive (‘w’ is equivalent to ring in; ‘r’ is equivalent to ring out)
Some commands (e.g load_tape or load_card) required a file name specifying what file to use.
About File Naming
The path name of the file must not contain spaces.
Termination
To shut down the simulation type the following in the operator window:
A Word of Caution
If the guest operating system is not cleanly shutdown prior to terminating the simulation, corruption of some simulated disk files and other persistent structures may occur.
The simulation will terminate cleanly and flush all pending buffers to disk. Do not kill the simulation by any other means.
Windows Operation
Attempted termination by Control-C or ESCape is intercepted and the operator is prompted with a confirmation request.