Fenêtre, son et vidéo
Ces options servent à voir et à entendre. Elles ne changent pas l’émulation : une fenêtre ralentit seulement l’exécution pour qu’une trame émulée dure 1/60 s ; les résultats sont identiques à ceux d’un essai sans fenêtre.
--sdl
Syntaxe : --sdl
Ouvre une fenêtre SDL2 : image du mode vidéo courant (4:3, redimensionnable), clavier et souris transmis au firmware, son, manette. Cadence temps réel, 60 trames par seconde. Fermer la fenêtre arrête l’émulation. Le build doit avoir trouvé SDL2 (pkg-config sdl2).
Exemple
$ phosphoneo --sdl --scale 3 prog.neo
À savoir. Touches propres à la fenêtre : F11 ou Alt+Entrée = plein écran, F12 = capture PPM, Ctrl+F12 = menu de configuration. F1 à F10 restent au Neo6502.
--scale
Syntaxe : --scale N
Taille initiale de la fenêtre : N fois 320 × 240 (défaut 3). Le menu Ctrl+F12 la fait aussi défiler de 1 à 4.
--fullscreen
Syntaxe : --fullscreen
Plein écran 4:3 avec bandes noires ; implique --sdl.
--no-sound
Syntaxe : --no-sound
Coupe la sortie sonore de la fenêtre. Le son est tout de même généré : --wav et --record le recueillent.
--wav
Syntaxe : --wav son.wav
Écrit le son du firmware dans un fichier WAV. Le générateur est celui du firmware (SNDGetNextSample), tiré 735 fois par trame ; le fichier est donc le même à chaque exécution.
Exemple
$ phosphoneo prog.neo --cycles 3000000 --wav son.wav
phosphoneo : son -> son.wav (19845 échantillons)
--record
Syntaxe : --record partie.avi
Enregistre l’image et le son dans une vidéo AVI MJPEG à 60 images par seconde. C’est ainsi que sont tournés les extraits de nos films, et ce qui sert aux jaquettes animées et aux régressions visuelles.
Exemple
$ phosphoneo prog.neo --cycles 3000000 --record partie.avi
phosphoneo : vidéo -> partie.avi (27 images)
À savoir. Une seconde de machine (6 250 000 cycles) donne 60 images ; un fichier d’une demi-seconde pèse déjà plus de 500 Ko : la compression est légère, pour rester fidèle.