Window, sound and video
These options are for seeing and hearing. They do not change the emulation: a window only slows execution so that one emulated frame lasts 1/60 s; results are identical to a windowless run.
--sdl
Syntax : --sdl
Opens an SDL2 window: the current video mode’s picture (4:3, resizable), keyboard and mouse passed to the firmware, sound, gamepad. Real-time pace, 60 frames per second. Closing the window ends the emulation. The build must have found SDL2 (pkg-config sdl2).
Example
$ phosphoneo --sdl --scale 3 prog.neo
Good to know. Window-only keys: F11 or Alt+Enter = full screen, F12 = PPM screenshot, Ctrl+F12 = configuration menu. F1 to F10 stay with the Neo6502.
--scale
Syntax : --scale N
Initial window size: N times 320 × 240 (default 3). The Ctrl+F12 menu also cycles it from 1 to 4.
--fullscreen
Syntax : --fullscreen
4:3 full screen with black bars; implies --sdl.
--no-sound
Syntax : --no-sound
Mutes the window’s audio output. Sound is still generated: --wav and --record still capture it.
--wav
Syntax : --wav son.wav
Writes the firmware’s sound to a WAV file. The generator is the firmware’s own (SNDGetNextSample), pulled 735 times per frame; the file is therefore the same on every run.
Example
$ phosphoneo prog.neo --cycles 3000000 --wav son.wav
phosphoneo : son -> son.wav (19845 échantillons)
--record
Syntax : --record partie.avi
Records picture and sound into an MJPEG AVI video at 60 frames per second. This is how our films’ footage is shot, and what animated cover art and visual regression checks use.
Example
$ phosphoneo prog.neo --cycles 3000000 --record partie.avi
phosphoneo : vidéo -> partie.avi (27 images)
Good to know. One second of machine time (6,250,000 cycles) gives 60 frames; a half-second file already weighs over 500 KB: compression is light, to stay faithful.