Preferences¶
Settings > Preferences… (Alt+P) opens a dialog with eight tabs (six in a build without the debugger).

Startup holds what the emulator should look like when it launches:
| Setting | Choices | Notes |
|---|---|---|
| Machine type | 48K, 128K, +3, Pentagon, Next | See 5.1 |
| CPU speed | 3.5, 7, 14, 28 MHz | The emulated Next's own clock |
| Emulator speed | 10%–1000% | How fast the emulator runs against real time |
| When the host is too slow | Smooth sound / Smooth picture | Which of the two to sacrifice when one emulated frame costs more than its real-time budget; inert on a host with headroom |
| Window scale | 1x, 2x, 3x | |
| CRT effect | Off / Scanlines / Soft scanlines / TV / PC monitor | A pop-up; one choice, see 5.3. Soft scanlines, TV and PC monitor are drawn by the GPU and are absent from builds without GPU support |
| Start muted | on / off | Takes effect on next launch only |
| Tape fast-load by default | on / off | See 5.5 |
| Tape: automatic play/stop | on / off | The deck stops between blocks while no program listens; see 5.5 |
Input picks what drives each of the Next's two joystick connectors — the
first free USB gamepad, a particular connected gamepad by name, the host cursor
keys with Space as fire, or nothing. Only one connector can use the cursor keys
and one gamepad can drive only one connector; the dialog enforces both for
you. Details in 5.2.
It also holds Release captured mouse with: Ctrl+Alt (the default), a middle click or Esc.
The chosen click or key is not passed to the program while the mouse is captured;
--mouse-release overrides it for one run.
Audio has -24 dB to +24 dB sliders for the final master output and for the beeper, each of the three TurboSound AY chips, and the DAC family. Every slider is centred on the 0 dB default, which leaves that source unchanged. Subsystem gains are applied before the master. Changes apply immediately to playback and WAV/video recording; large positive boosts can clip.
Network holds the emulated ESP-01 WiFi module: an Enable checkbox and
an Allowed hosts box, one host name per line — a comma separates entries
too, so a line copied out of the config file works. This is the permanent form of
--esp and --esp-allow, for when you run NXtel or nextsync often enough to
tire of typing them. An empty host list places no restriction on the name the
program may ask for; listing hosts narrows it, matching exactly and ignoring
case. The list is greyed out while the module is off, since on its own it
restricts nothing. Loopback, link-local and cloud-metadata addresses are
refused whatever you put here, and your own LAN stays reachable.
Turning the ESP on here does not put a running program on the network — see below — and while it is running with the ESP on, the status bar always carries an ESP cell, so it can never be on invisibly.
NextPi starts NextPi under QEMU when JNEXT starts the ZX Next, and holds its directory, the release downloaded on first use, the QEMU program, where the Pi's sound goes and extra QEMU arguments; see 5.10.
Paths remembers three directories so the file dialogs open somewhere
useful: the last directory you loaded a program from, a default SD-card image,
and where screenshots go. It also holds the two settings File > Quick
Screenshot needs, since that capture never asks: the directory it writes to
(blank means ~/.jnext/screenshots) and whether it writes PNG or SCR. Those
two are a deliberate choice rather than a memory of the last dialog, so the
quick capture always lands in the same place. It also sets how many Quick Save snapshots to keep
(Unlimited at 0); --quick-snapshot-keep overrides it. In a build with the
debugger it also holds the Source search path: the directories, one per line,
where the Source tab looks for the files a source map names when they are not
beside the map (where the Source tab finds the files);
a list given with --source-dir or --set paths.source_dirs replaces it for that run (the
file is not changed).
Debugger holds Source tab colours: the colour scheme of the Source tab's text, background and
current-line bar (the Source tab), either Auto (follow the application)
(the default), Light, Dark or Borland C++ 3.1. --set source.colour_scheme=auto|light|dark|borland
gives it for one run (the file is not changed). The tab is only present in a build with the debugger
compiled in.
Debugger Keys rebinds the debugger's own keys — see 6.3.9. The tab is only present in a build with the debugger compiled in.
The same settings from the command line¶
Every setting in this dialog can be given for one run with --set
section.key=value, using the keys of the configuration
file; --cpu-speed, --scale and --crt are
the shorter forms of the Startup tab's CPU speed, Window scale and CRT effect.
The dialog always shows the saved values, never the command line's, and
nothing from the command line is saved. How the two combine is in
what wins.
Apply, OK and Cancel¶
Apply pushes the settings to the running machine — change the window scale or a joystick source and it happens immediately, with nothing lost. OK does the same and closes the dialog; Cancel discards.
Two settings cannot work that way, and both say so:
- Machine type is a power cycle. If you change it, JNEXT asks whether to restart now and warns that anything running will be lost. Answer No and the machine keeps running — your choice is still saved and takes effect the next time JNEXT starts. Every other setting in the dialog applies either way, so declining the restart never throws away the change you actually came to make.
- Start muted only takes effect at launch, because the audio device is opened once when JNEXT starts.
- The ESP-01 settings on the Network tab take effect at the next machine start. The module is created when a machine boots and is deliberately kept across a soft reset — a reset the real hardware never even sees should not drop a live connection — so there is nothing to switch on the machine already running. A hard reset (F1, or Machine > Power Reset) is enough; you do not have to quit JNEXT.
The Machine > Machine Type menu behaves differently on purpose: it restarts straight away without asking. Picking "48K" from a menu called Machine is an explicit request to become a 48K; the same field buried on a Preferences tab is not.