Skip to content

Dashboard

The machine as it is now, built from widgets you place yourself. The heading names the configuration that is loaded — its title, its short name, and a MODIFIED badge when the live machine has drifted from what was saved.

The dashboard, with XXDP booted from an emulated RL02

The lamps and switches of a PDP-11/03 bezel, and the only place the machine is started and stopped.

PWR OKthe logical power flag. Lit means the machine is switched on.
RUNthe CPU is executing — powered, with HALT released.
RESTARTmomentary. Runs the processor again from its power-up vector.
HALTtwo-position, like the front-panel toggle. Down stops the CPU; up releases it.
AUX ON/OFFtwo-position. This is the power switch — it drives the logical DC power flag, and it is what brings up a machine that came up dark.

The four activity LEDs and four DIP switches on the card itself.

The switches are read once, when the service starts, to choose which configuration to load — so changing them here shows you their position but does not reselect a machine. That takes a restart of the service. See Power-on DIP.

The machine’s serial console as a terminal in the page. The badge says which line it is showing — TTYS2 for the real console of a CPU that has its own serial line, or the emulated DL11 channel otherwise.

Record captures the session to a file on the board: what the machine printed and what was typed at it, whoever typed it. The recordings are listed on System.

Log keeps what the console shows in this browser, from the moment it is pressed, and saves it as a console-<date>-<time>.log file when it is pressed again. It goes on while you visit other screens.

VT100 opens a DEC VT100 on the same line, in a window of its own. It is PCjs’s emulation of the terminal’s hardware running DEC’s own firmware, so the guest meets a real VT100: its SET-UP screens, its keyboard, its escape sequences and its speed. It starts with the last screenful of the console, and keeps the line’s flow control: it sends XOFF when it falls behind, as the terminal does. F1–F4 are PF1–PF4, F6 is BREAK, F7 LINE FEED, F8 NO SCROLL and F9 SET-UP. It starts with DEC’s factory settings, which include smooth scroll, a few lines a second; SET-UP B switches to jump scroll. SHIFT-S in SET-UP saves the settings, as on the real terminal: the browser keeps them for the board, and every VT100 window it opens from then on starts with them. With the console in the browser’s own serial port (Web Serial) there is no line on the board for it to use, and the button is not shown.

Selecting text in the console copies it to the clipboard; Ctrl+Shift+C copies the selection again. Ctrl+C itself goes to the machine.

Send file puts a file from your computer onto the guest through the console, in one of three ways. Pick the file, or drop it on the console, choose how it goes, and press Send — the dialog remembers the last choice, so a dropped file usually needs only Return. Receive file fetches files from the guest by XMODEM or Kermit, and the browser saves them where it saves any download — on the computer running the browser, not on the board. A bar shows the progress, and Cancel stops the transfer. The keyboard waits while a file is going over.

While a transfer runs, the line is the transfer’s. What the guest sends goes to the page running it and nowhere else: other open consoles show a note that a transfer is using the console, and the transfer’s packets stay out of the history a console is shown when it connects and out of a recording. On the VAX console, Ctrl-P in the data is the program’s, as with the console’s key switch at LOCAL DISABLE, and does not halt the machine.

Typed text sends the file as if it were typed at the console, into whatever reads the terminal there: cat > file on a Unix, CREATE file on VMS, an editor’s insert mode. Line ends go as Return. The checks and delays can be used alone or together:

EchoEach character waits for the guest’s echo, up to the time given. An echo in upper case for lower case, a tab echoed as spaces, and a line end the guest puts into a long line all count. A character the guest takes without an echo is counted, and the text goes on after the timeout.
Receive bufferWith the echo check, how many characters go ahead of the echo awaited, for a guest whose line holds characters while it works on one. 1 by default; 0 sends each character only once the one before has echoed. A line end waits for every echo.
PromptAfter each line, wait until the guest prints this text again, for a program that reads a line at a time and prints a prompt when it wants the next. Empty to leave it off.
DelayA pause after each character and after each line.

At the end the dialog says how many characters went on without their echo and how many lines without the prompt; both are 0 for a clean transfer.

XMODEM sends the file in 128-byte blocks with a checksum or a CRC, as the receiver asks; with 1K blocks set, a receiver that asks for CRC gets 1024-byte blocks. Start the receiver on the guest, such as rx file, before or within a minute of Send. XMODEM carries eight bits per byte: on a console line that carries seven — the VAX console unless console_8bit is set, a DL11 in a 7-bit mode, an external console set to 7-bit — the dialog says so, and Kermit is the way to send.

Kermit sends the file under the name given, as text with the guest’s own line ends or as binary. Start Kermit on the guest and give it RECEIVE, or put it in server mode, before or within a minute of Send. The packets are printable characters, and a byte with its eighth bit set goes as a prefixed pair, so a binary file arrives whole over a seven-bit line.

Typed text and Kermit keep to XON/XOFF on an emulated console line: while the guest has sent XOFF, the board holds the rest back until XON, as a terminal does. A guest that reads its line through a small buffer needs it — RT-11’s XL handler holds 64 characters, less than a Kermit packet. XMODEM goes without, since its blocks carry those bytes as data.

To receive, press Receive file, choose the protocol, start the sender on the guest, and press Receive — in either order, within a minute.

XMODEMStart the guest’s sender, such as sx file. XMODEM carries no file name, so the file is saved under the name given; Padding takes the ^Z characters that fill out the last block off the end, which suits a text file. Eight bits per byte, as for sending.
KermitHave the guest’s Kermit SEND one file or several; each is saved under the name the guest sends. Line ends turns CR LF into LF, for text files kept on a Unix-like computer.

One widget per device, each carrying the controls the real unit had. A device gets the widget its model calls for, and otherwise the one its class shares:

RL01/RL02the drive’s own panel — LOAD, READY, FAULT, WRITE PROT, and the unit number
RA81 and other MSCP volumesRUN/STOP, FAULT, READY, WRITE PROT, and the A/B port buttons
RX01/RX02floppy drives
Tapesload, unload and the write ring
Memorythe range claimed, out of the board’s own DDR
MRV11-Dthe bootstrap ROM and which image it carries
DZV11, DHV11the serial mux lines, and where each is reachable
DELQA, DEUNALINK and ACT lamps, the host interface and the station address
VCB01the graphics framebuffer
Processorsan emulated CPU’s own state

The field under a drive is the image it holds — swapping a pack is editing that field.

Edit layout moves and resizes the widgets, with Save layout and Revert. The arrangement is stored with the configuration, so each machine remembers how you like to look at it, and an exported configuration carries its layout to whoever you send it to.

The cog beside it opens the configuration this dashboard is showing.