Boxshelf est un frontend pour Windows 10/11 permettant de regrouper et de lancer des jeux issus de différentes consoles, des émulateurs, des jeux Steam et des applications multimédias. Il propose une présentation sous forme d’étagère virtuelle en 3D avec des jaquettes interactives, des boîtiers manipulables, des manuels et des disques consultables. Il prend en charge de nombreux systèmes, notamment GameCube, Wii, Wii U, Switch, Switch 2, PSP, PS2, PS3, PS4, PS5, Xbox 360 et 3DS. Il permet également de personnaliser les émulateurs utilisés, de récupérer des jaquettes et des manuels, de conserver un historique de jeu et de suivre les succès. La navigation est compatible avec les manettes. Le logiciel est actuellement disponible en version bêta publique et ne fournit aucun jeu, BIOS ou clé.
 

 

Télécharger Boxshelf v1.82 beta 4 (84.4 Mo)

Site Officiel

En savoir plus…

 

RomSieve est un outil open source permettant d’auditer, trier et organiser des collections de ROM et d’images disque à partir de bases de données DAT (TOSEC, No-Intro, Redump et MAME). Il propose notamment la création de collections 1G1R (One Game One ROM), la détection des doublons et des disques manquants, la gestion des jeux multidisques ainsi que la génération automatique de playlists M3U. Il dispose d’une interface graphique et d’une ligne de commande et fonctionne sous Windows et Linux.

 


 

Télécharger RomSieve v1.1.0 (83.2 Mo)

Site Officiel

En savoir plus…

Il s’agit d’un fork de l’émulateur Sega Model 3 nommé SuperModel mais qui prend en charge l’utilisation du LightGun appelé Sinden.
 

 

Télécharger SuperModel Sinden Edition v0.3a r261105 (3.6 Mo)

Site Officiel

En savoir plus…

DOSBox Pure est un fork moderne de DOSBox, conçu à l’origine pour RetroArch, mais désormais disponible en version autonome sous Windows, ce qui le rend accessible sans frontend.

 


 

Pensé pour simplifier l’expérience utilisateur, il permet de lancer des jeux DOS directement depuis des fichiers ZIP, ISO ou CUE, sans configuration manuelle.
Il prend en charge les savestates, le mappage automatique des manettes, les overlays graphiques et les shaders, tout en détectant intelligemment les fichiers d’installation ou d’exécution.
 

Bien qu’il offre moins de réglages avancés que DOSBox-X ou Staging, il brille par sa simplicité et son efficacité, notamment pour les joueurs occasionnels ou les setups console-like.
 


 

La vidéo qui résume l’avantage de Pure, à savoir son extrême facilité d’utilisation:
 


 
Les changements sont:
 
Unleashed Additions
– Automatically unlock mouse cursor when pausing the emulation (and lock it again on unpausing) (#60)
– Offer per-content setting overriding even for the settings with only 2 choices
 
Additions
– Allow fully disabling horizontal or vertical mouse movement
 
Fixes
– Fix potential crash when fast-forwarding while playing CD audio
– Reset PIC ticktock state on restart
– Also store PIC ticktock in save state to avoid slight PIC timer desync on load
– Avoid « Skip showing the text console » potentially skipping too much when running with very high cycles
– Fix crash when SoundBlaster was activated after loading a save twice then the core was restarted
– Fix crash with Tandy Sound Device when using fast forward
– Fix potential audio issues when loading a save state that was made at a point when different audio devices were active
– Fix running a zero byte sized batch file stored in a ZIP causing the core to freeze
– Fix file or directory names inside a ZIP starting with an invalid DOS file name character (i.e. a lower case letter) followed by only valid DOS file name characters (i.e. numbers) and no period to be inaccessible

 

Télécharger DOSBox Pure Unleashed v1.0 Preview 8 (3.9 Mo)

Site Officiel

En savoir plus…

Voici les derniers émulateurs en développement de Switch 2 bénéficiant des mises à jour les plus fréquentes.

 

 

Télécharger Instaurix v0.1.1 alpha (27.6 Mo)

(site)

Télécharger Eden NX2 (2026/10/29) (34.4 Mo)

(site)

Télécharger Rdenno (Eglantine-Fork) build 8 r261105 (64.9 Mo)

(site)

Télécharger Selevet (Eglantine-Fork) build 6 (22.8 Mo)

(site)

Télécharger Lichii (Eglantine-Fork) build 75 (65.3 Mo)

(site)

Télécharger PokeDinner (Eglantine-Fork) v2.7.7 (62.0 Mo)

(site)

Télécharger Eglantine v0.1.0 RC1 build 261105 (63.2 Mo)

(site)

 

NintendulatorNRS est un émulateur de Famicom / NES (et ses dérivés tels que les chipsets VRT) pour Windows. C’est une fourche de Nintendulator (par Quietust) maintenue par NewRisingSun et qui offre une compatibilité extrêmement large.
 

 

Télécharger Nintendulator NRS v0.985 (2026/11/05) (1.5 Mo)

Télécharger Nintendulator NRS (français) v0.985 (2025/11/05) (1.5 Mo)

Site Officiel

En savoir plus…

Dolphin est un émulateur permettant de faire tourner des jeux GameCube et Wii sous Windows, Linux, macOS et sur les appareils Android récents. Il est distribué sous licence GNU GPLv2+.
Ce fork ajoute la prise en charge OpenXR afin de permettre la réalité virtuelle sur les versions Windows compatibles.[Consoles de salon] DolphinXR v0.3
 
DolphinXR est une version VR de Dolphin, construite sur la base de DolphinVR mais entièrement repensée pour offrir une expérience OpenXR moderne, flexible et personnalisable.
Le projet est né d’une frustration face aux limites du Dolphin VR original: de nombreux jeux restaient injouables à cause de problèmes de rendu, les « codes de masquage » ne résolvaient qu’une partie des défauts, et certains titres comme Metroid Prime 3 offraient une expérience VR très dégradée (scanner cassé, performances faibles, carte inutilisable…).
 
Cette nouvelle version apporte une approche beaucoup plus robuste: réglages visuels et shaders ajustables en temps réel, création de profils VR personnalisés par jeu en quelques minutes, et une architecture pensée pour permettre à la communauté de rendre encore plus de titres jouables en VR.
 

 
Points forts :
– Rendu DirectX 11 et Vulkan
– Suivi complet 6DoF
– Prise en charge des manettes VR
– Paramètres VR étendus, avec support pour créer et utiliser des profils VR personnalisés par jeu
– Shader Hunter avec plusieurs options d’override: Skip, Fullscreen, Virtual Screen, Headlock, Units per Meter et Flag
– Premiers travaux sur Elements Hunting
– Raccourcis VR personnalisables
– Compatibilité avec les jeux Triforce
– Support de relecture d’opcodes pour convertir du gameplay 30/60 Hz en 90 Hz
 

 
Les changements sont les suivants:
 
HIGHLIGHTS
– VR game patches. The arm cannon follows your controller in the Metroid Prime games, the gun and sword follow it in Red Steel 1 and 2, Skyward Sword reads your controller’s true pose, and Twilight Princess, The Wind Waker, Wii Sports and Shadow the Hedgehog can be played in first person.
– An in-game VR menu. Click the left thumbstick during a game to pause, fast forward, change settings, rebind controls, manage savestates and hunt overrides, all inside the headset.
– Faster on Meta Quest. Super Mario Galaxy went from 42 to 60 fps and Super Mario Sunshine from 49 to 60 fps at native resolution in my tests with « Smart Foveation EFB ».
– Automatic updates on Windows. This is the first version that updates itself. See « Installing » below.
– Rebased on the latest Dolphin development builds (October 2026).
 
VR GAME PATCHES
VR game patches are small add-ons, made for one game, that read your VR controllers and headset and change the game to match. They ship with DolphinVR Redux and many are on by default for their game. You can turn each one on or off, and change its settings, in:
– PC: the game’s Properties > Patches > VR Patches.
– Quest: the game’s VR config > VR Patches.
– In the headset: the VR menu’s VR Patches section.
 
The patches available in this release (NTSC-U versions):
– Metroid Prime (GameCube, 1.00 and 1.02): the arm cannon follows your controller (ported from PrimedGun’s tracking, by Nobbie), modern controls (strafe with the left thumbstick, turn with the right), change visors with a gesture next to your head, beam quick swap, look at an object to scan it, and wide culling.
– Metroid Prime 2: Echoes (GameCube): arm cannon, modern controls, visor gesture, beam quick swap, no black bars in cutscenes or in morph ball, smooth scan lines, and wide culling.
– Metroid Prime 3: Corruption and Metroid Prime Trilogy (Wii): arm cannon, turn with the right thumbstick, visor gesture, wide culling, and beam quick swap in the Trilogy.
– Red Steel: the gun follows your controller and shoots where it points; wide culling.
– Red Steel 2: fixed rendering, the revolver and the sword follow your controller, with the sword’s true pose and true aim; wide culling.
– The Legend of Zelda: Skyward Sword: the game reads your controller’s true pose, so the sword follows your hand.
– First-person views: The Legend of Zelda: Twilight Princess (GameCube), The Wind Waker, Wii Sports, and Shadow the Hedgehog (also the Reloaded mod). In Shadow, the weapon is held in your controller’s hand, and the game runs at your headset’s refresh rate.
– Star Wars Rogue Squadron II: Rogue Leader: an optional « VR Wide Terrain Culling » patch (Properties > Patches, off by default) that fills the holes in the Death Star surface when you look around.
 
« Wide culling » makes a game draw what your headset can see, not only what its TV camera saw, so objects no longer pop in and out at the edges of your view.
 
IN-GAME VR MENU
– Click the left thumbstick during a game to open it. The game keeps running behind it, without your VR input.
– Tabs: Main (pause, fast forward), Graphics, Audio, Controls (rebind your controllers, save controller profiles), VR (frame rate and VR settings), Overrides, Savestates and Stats (performance overlay).
– Overrides: hunt shaders, textures, elements and hide codes inside the headset, with a laser pointer to pick what you see.
– Move the panel with the grab bar under it.
– Dolphin’s messages now appear in the menu while you are in VR, instead of in an invisible window that could freeze the game.
– Quest: record gameplay video from the menu (left eye, MP4, saved to Movies/DolphinXR).
 
META QUEST
– Performance: draw recording on a helper thread, cached GPU descriptor sets, culling of what is behind your head, and reading back the game’s frame and its occlusion queries without waiting on the GPU. The read-backs took Super Mario Galaxy from 42 to 60 fps and Super Mario Sunshine from 49 to 60 fps, and Super Mario Sunshine and Metroid Prime 3 now use them by default.
– Smart Foveated EFB: foveated rendering is now applied only to the render passes it actually speeds up, measured per game and remembered.
– Faster pixel format changes in games such as Mario Kart Wii.
– Fixed: missing objects on the Quest’s GPU (Melee’s shields, the boards and rings of Sonic Riders), green videos in Kirby Air Ride, a freeze while recording the screen, a black screen on the first launch after an update, freezes in Metroid Prime Trilogy, and flickering and distortion in the Trilogy.
 
FLAT SCREEN AND PASSTHROUGH
– With « Launch games in VR » off, games play on a flat screen in the headset. It now uses the game’s aspect ratio, can show the game in 3D, and turns passthrough on (on headsets that support it).
– Switch between VR and the flat screen during a game, from the VR menu.
– The Wii System Menu is shown on the flat screen.
– The virtual screen is now placed 2 m away by default.
 
MOTION CONTROLS
– The Wii MotionPlus and accelerometer are emulated from your VR controllers’ motion the way a real Wii Remote measures it, from controller input read 250 times per second.
– The Wii pointer maps the game’s screen 1:1.
– New Wii Remote Motion Tester (Tools menu on PC) to check and record what a game receives.
– Steam Frame controllers are supported (thanks Neville Hiramanek).
 
GAME PROFILES
– New: Wii Sports Resort, Red Steel, Red Steel 2, Phantasy Star Online Episode I & II (PAL, thanks NMSteeven) and the Wii System Menu.
– Updated: Metroid Prime, Echoes, Corruption and Trilogy (3D HUD, menus, scan visor, cutscenes, the charged shot’s warp in each eye), Mario Kart Wii (the minimap on the screen, the crowd’s Mii faces, menus), Sonic Adventure 2: Battle (capsule icons stay in 3D), Rogue Leader (menus), Shadow the Hedgehog (bloom and subtitles), Twilight Princess, The Wind Waker, Wii Sports (Mii faces in stereo, Boxing) and Skyward Sword.
 
FOR PROFILE MAKERS
– Pick on Screen: click what you see to find its draw, in the PC hunting tools and the hide code editor, or aim at it with the laser pointer in the headset.
– Overrides can require a camera depth, for HUDs drawn in perspective.
– VR Patches pane in the game’s Properties, under Patches.
– Agent Server (off by default, local only): a built-in MCP server that lets an AI assistant see the game and help you build overrides and VR patches.
 
STABILITY
– Windows: a crash writes a report in User/Logs, and a lost GPU (a driver reset) now stops the game cleanly with a report of what the GPU was doing.
– Gecko codes are reinstalled after every savestate load.
– Many rendering fixes for menus, depth effects and render-to-texture panes.
 
INSTALLING
– Savestates from v0.4 do not load in v0.5. Make an in-game save before updating, and load it after.
– Windows: unzip DolphinVR-Redux-v0.5-Windows.zip and run Dolphin.exe. Install this version by hand: v0.4 cannot update itself. From now on, DolphinVR Redux checks for a new release when it starts and offers to install it (Settings > General > Auto Update; Help > Check for Updates).
– Meta Quest: install DolphinVR-Redux-v0.5-Quest.apk with SideQuest, or with adb install -r DolphinVR-Redux-v0.5-Quest.apk. It installs over v0.4 and keeps your settings.

 

Télécharger DolphinXR v0.5 (33.8 Mo)

Site Officiel

En savoir plus…

GearLynx est un émulateur d’Atari Lynx pour Windows.
 

 
Les changements sont:
🖥️ Added display flip mode
🎨 Shader variants, groups and parameters window
🕹️ Improved libretro compatibility with older RetroArch versions
🐛 Bug fixes and improvements

 

Télécharger GearLynx v1.2.38 (3.0 Mo)

Site Officiel

En savoir plus…

OpenROM est une suite logicielle universelle, gratuite et open-source dédiée à la conversion de ROMs rétro. Conçue pour remplacer les outils propriétaires et fragmentés, elle fonctionne entièrement en local (100 % hors ligne) sans aucune collecte de données.

 


 
Interface et Ergonomie
– Esthétique Gaming : Propose une interface sombre moderne développée sous Flutter, inspirée des menus PS5 et Xbox, intégrant un tableau de bord, des cartes pour chaque ROM et des badges de plateforme.
– Personnalisable : Propose plusieurs thèmes intégrés (Cyberpunk, Terminal, Minimal, Gaming) et la possibilité d’en créer via des fichiers JSON.
– Prise en main fluide : Prise en charge native du glisser-déposer pour les fichiers et dossiers isolés ou groupés (traitement par lot).
 
Performances et Fonctionnalités Techniques
– Matrice de conversion complète : Prend en charge plus de 20 parcours de conversion parmi les formats majeurs (ISO, BIN, CUE, GDI, IMG, ECM, CHD, CSO, ZSO, XISO, RVZ, WIA, WBFS, GCZ).
– Détection intelligente : Identifie avec précision les consoles (PS1, PS2, PSP, Xbox, GameCube, Wii, Dreamcast) grâce aux signatures numériques (magic bytes) et analyse les en-têtes CHD (v4/v5) pour différencier CD et DVD.
– Génération et Vérification : Crée automatiquement les fichiers CUE manquants pour les fichiers BIN et vérifie l’intégrité des fichiers CHD générés via chdman.
 
Fonctionnalités Avancées
– Terminal et Automatisation : Intègre un journal de bord en temps réel pendant la conversion et propose un outil en ligne de commande complet (openrom-core) pour l’automatisation et les scripts.

 

Télécharger OpenROM v3.9.9 (31.7 Mo)

Site Officiel

En savoir plus…

L’objectif principal d’Emuze est de proposer un lanceur d’émulateurs à la fois rapide et simple d’utilisation. Grâce à celui-ci, il n’est pas nécessaire de configurer chaque émulateur ni d’ajuster les métadonnées de vos roms. Si les roms sont nommées correctement, un clic sur le bouton d’importation suffit pour intégrer émulateurs et roms, sans configuration supplémentaire.
 

Fonctionnalités:
– Interface utilisateur rapide et réactive
– Importe tous les émulateurs et roms en un seul clic
– Récupération des métadonnées depuis IGDB à partir des noms de fichiers des roms
– Support des manettes de jeu
– Compatible avec Windows, Linux et Steam Deck
– Installation des émulateurs manquants (uniquement sur Linux)
– Se met automatiquement à jour
 

 

Télécharger Emuze v0.60 (814 Mo)

Site Officiel

En savoir plus…

Il s’agit d’un émulateur open source de la Sony PocketStation, écrit en C portable et conçu pour être utilisé sous forme de core libretro, d’application autonome sous Windows, Linux et macOS, ainsi que via un portage homebrew pour PlayStation Vita. Le projet vise une émulation aussi fidèle que possible au matériel original et prend notamment en charge l’affichage LCD, les boutons, la mémoire Flash, le son et les communications infrarouges.

 


 

Télécharger PokketStation v1.24 (734 Ko)

Site Officiel

En savoir plus…

Supermodel s’impose comme l’émulateur de référence, initialement développé par Bart Trzynadlowski, Ville Linde et Stefano Teso pour restituer avec une grande fidélité les jeux de la célèbre architecture Sega Model 3 (Scud Race, Daytona USA 2, Le Mans 24, etc.).
 
Au fil des évolutions du projet, ses contributeurs ont considérablement étendu ses capacités pour intégrer la prise en charge complète des générations d’arcades précédentes, englobant désormais les systèmes Sega Model 1 et Sega Model 2 (avec toutes leurs variantes 2A, 2B et 2C).
 
Grâce à ses nombreuses optimisations techniques, notamment un rendu graphique moderne exploitant l’accélération GPU, une reproduction fidèle des processeurs et des puces sonores d’origine, ainsi qu’une prise en charge étendue des périphériques de contrôle spécifiques aux bornes d’arcade (volants, boîtes de vitesses, manches de vol et pistolets optiques), Supermodel offre une expérience d’émulation particulièrement fidèle et fluide, permettant de retrouver les grands classiques de l’arcade Sega dans des conditions optimales.
 
– Anciennes références [ici/là]
– Fichiers de configurations préparés ici.
 


 
Les changements:
 
Le système de mise à jour passe de SVN à GIT, du coup le nom des versions changent, par simplicité j’utiliserai un système par date de release plus compréhensible que le par défaut de GIT.
 
– Model 2 renderer: quads ~10x faster, texture RAM with real mip levels
– Quads: ‘precise’ on each t[i] instead of the array t[4]. The precise array made the quad fragment shader about ten times slower per pixel on NVIDIA (Indy 500 3D pass at 2x supersampling: 10.9 ms -> 0.9 ms).
– Texture RAM 0/1 are 2D R16UI textures with a GL mip level per hardware mip level (as the Model 3 renderer), instead of buffer textures. Same output.

– Model 2: a negative z sorts as the farthest, not the nearest
– A polygon crossing the eye’s plane, sorted by its min z, has a negative z. MAME clamps it to 0 (frontmost). Indy 500’s backdrop, a flat polygon around the camera, is one: drawn in front, it hid the whole track below the horizon.

– V60, MB86233: constexpr class constants (MinGW link)
– A static const member that’s bound to a reference needs a definition outside the class; MinGW’s linker doesn’t find one. static constexpr members are inline in C++17, so they define themselves.

– Makefiles: build Src/Model2/Sega315_5838.cpp (the protection chip)

– Model 2: TGPx4 program RAM is uint64_t (gcc build)
– UINT64 is unsigned long long and uint64_t is unsigned long on 64-bit Linux, so a UINT64 pointer to the program RAM doesn’t convert. Also initialise CModel2’s members in declaration order (-Wreorder).

– Model 1/2: include and where they’re used (gcc build)

– Model 2: re-signal a shared IRQ line that stays pending after an ack
– The i960’s interrupt lines are level sensitive: the timers share line 2, and when only one of two pending timers is acknowledged the line stays asserted and the CPU takes it again once the handler returns. The core (as MAME’s) reacts to edges, so the second timer was never taken, never restarted, and Over Rev’s timer-driven sound commands stopped after the boot and coin sounds. A line partly acknowledged but still pending is now dropped and raised again (held by the i960 until it can be taken).

– Model 2: Top Skater’s second matrix and compact objects (simulated geometrizer)
– Top Skater uploads its own geometrizer program (TGPx4 code). Read from its disassembly, its commands differ from the simulation’s:
– 1B loads a second matrix and translation (was: overwrote the first)
– 1C copies the first into the second and has no data words (was: a 3-word translate, which desynced the rest of the display list)
– 11 objects have compact link records (no reserved normal and quad gap words), and a vertex whose raw x has bit 0 set follows the second matrix The compact records and the per-vertex matrix as in sm2-emu (dmanlfc, GPLv3). Attract now draws its 3D properly. The second matrix is saved in its own block (older states load without it).

– MB86235: memory to register transfers take the register from AS/BS
– In alu1_trans2_2, a memory to register transfer (SDA/SDB 2) names its register in the same field as a register to memory one (AS/BS); the AD/BD bits are part of the memory address there. MAME takes AD/BD, a register its tables don’t have: Top Skater’s geometrizer program (3C7: MVD2 into AA2 and AB6) stopped with an illegal register.

– Model 2: clip_polygon can’t overrun its 8-vertex buffers
– A convex quad clipped by the 4 planes has at most 8 vertices, but a twisted one (two edges crossing) can gain 2 per plane. Top Skater sends such quads (9-10 vertices after clipping), which overran verts_out (Run-Time Check Failure #2 in debug builds). The output is now capped; the extra vertices only belong to those broken polygons. MAME has the same buffers.

– Model 2: Rail Chase 2 drive board check
– At boot Rail Chase 2 checks the link to its drive board (pneumatic seat): commands on the 315-5649’s port E, acknowledged on port D. Nothing answered and it stopped at NET_BAD. Port D now acknowledges the last command, as MAME’s rchase2_drive_board_r simulates it.

– i960: hold an external interrupt that can’t be taken yet
– When a line was raised while another interrupt was waiting (or the CPU’s priority was too high), it went to the interrupt table’s pending bits. Model 2’s lines stay asserted until the game acknowledges them, and Sky Target’s interrupt table is in ROM: the pending bits were lost, the vblank line never dropped and no more vblank interrupts came. Its sound queue is sent from the vblank handler (no sound), and coins weren’t counted.
– The line is now held and taken as soon as nothing else is waiting and the CPU’s priority allows it.

– Model 2: Virtua Cop light guns (original-board I/O)
– The model1io2 board’s BIOS copies its gun registers to the DPRAM at 80-88: P1 Y, P1 X, P2 Y, P2 X (16-bit, little endian), then the off-screen bits. Fill them from the gun inputs, with MAME’s Virtua Cop ranges.

– Model 1/2: HighLevelGeometrizer option, on by default
– LowLevelGeometrizer (default on) becomes HighLevelGeometrizer, default on: the geometrizer is simulated unless it is turned off, so the default is the fast option (Virtual-On: about 130 fps simulated, 93 low level). Model 1 now also simulates it by default. Command line: -high-level-geometrizer / -no-high-level-geometrizer. The note in the GUI (Model 1/2 only), the default Supermodel.ini and the save state mismatch message follow.

– Real3D: initialise m_layout and m_configRegisters

– Model 2: joystick inputs for the games that read them
– The Model 2 entries for games with a joystick and buttons (Virtua Fighter 2, Fighting Vipers, Last Bronx, Dead or Alive, Sonic Championship, Dynamite Cop, Zero Gunner, Pilot Kids, Air Walkers, Dynamite Baseball, Water Ski, Top Skater: 33 sets) listed the fighting buttons but not the joystick1/joystick2 input groups, so the stick was not read and the characters could not move. Generated again with them.

– GUI: mark PowerPCFrequency and New3DEngine as Model 3 only
– Both only affect Model 3 (the PowerPC, the Real3D renderers). The GUI shows « (Model 3 only) » beside them, and the default Supermodel.ini says so above New3DEngine.

– Inputs: joystick buttons 1-128 (was 32)
– The input layer named and accepted joystick buttons 1-32 only, while DirectInput reads 128 (DIJOYSTATE2): buttons 33 and up of arcade encoders, button boxes and wheels could not be mapped. JOY_BUTTON1-128 now parse and map. A button beyond the device’s own count still gives an empty source, and input detection already ignores inputs held when it starts, so stuck high buttons can’t take a binding.

– GUI: list only the games in the ROM folder, with a « Show all » checkbox
– The game list showed every supported game, the ones without a zip in the ROM folder greyed out, which got long with all of Model 2. Now only the games in the ROM folder are listed; a « Show all supported games » checkbox above the list shows the others too (greyed out, as before), with a count of the supported games found. Unticking it clears a selection that is no longer listed.

– Model 2: original I/O board, Desert Tank leaves test mode
– Desert Tank reads I/O board DPRAM byte 0E at boot (a fourth input port); we left it 0, a pressed switch, so the game always entered test mode and restarted into it on exit. Bytes 0E/0F now read FF (nothing pressed).
– The gear bits of IN1 (4-6, active high) are Daytona’s 4-speed shifter only; other games’ IN1 bits 4-6 are active low buttons (Desert Tank’s machine gun and cannon read as held).
– Desert Tank now runs its attract mode; Daytona’s frames are unchanged.

– Model 2: all of MAME’s Model 2 sets, per-game controls and protection
– Games.xml now has every set in MAME’s sega/model2.cpp (90, clones with their parents), generated from it: ROM layout with the ROM_COPY mirrors, stepping, inputs, 315-5881 keys, the Digital Sound Board ROMs. Names are MAME’s: our hotd and von were MAME’s hotdo and vonu. The 9 hand-made entries were reproduced exactly; manxtt’s input type was misspelled (shift_updown), so its bike controls were off.
– Controls: each game’s layout follows its MAME input port set (a table generated with Games.xml): fighting games (4 buttons and a joystick per player), Virtua Striker, Virtual-On’s twin sticks (not mapped before), Daytona, Desert Tank, Sega Rally, the bikes (Motor Raid: punch, kick), Indy 500 / Touring Car / Super GT / Over Rev, Sky Target, the analog guns (Rail Chase 2, Gunblade NY, Behind Enemy Lines), Power Sled, Ski Super G, Wave Runner, Water Ski, Top Skater and the light guns (HotD, Virtua Cop 2, with their ranges).
– Protection and extra boards, as MAME:
– 315-5881 (Dynamite Cop, Zero Gunner, Pilot Kids): Model 3’s CCrypto, RAM at 1D80000, registers at 1D90000.
– 317-0229 (Dead or Alive): Sega315_5838, ported from MAME.
– Daytona USA To The MAXX and GTX 2004 protection reads.
– MAME’s program patches (Zero Gunner, Pilot Kids, Power Sled Main).
– Last Bronx: the simulated geometrizer’s mesh commands.
– Digital Sound Board (Model 3’s DSB1/DSB2): Touring Car, Top Skater.
– Not done: Virtua Cop’s original-board light guns, Rail Chase 2’s I/O board CPU, Air Walkers’ players 3/4. Tested only the families with ROMs at hand (Daytona, Sega Rally, VF2, Manx TT, Fighting Vipers, Virtual-On, HotD, Ski Super G, Wave Runner): unchanged boot and attract.

– GameLoader: prefer the game named as the zip, else the first listed
– A zip with several complete games (MAME’s merged sets hold a parent and its clones) loaded the first complete clone alphabetically, so a merged daytona.zip loaded daytona93. Now a complete game named as the zip file is chosen; otherwise, among several candidates, the one listed first in Games.xml (a family’s parent, then its clones in their order).

– Allow the emulator window to be resized, we don’t need to be stuck at the chosen resolution anymore.

– Model 1/2: LowLevelGeometrizer option, on by default
– One core option for both platforms: LowLevelGeometrizer runs the video board’s geometrizer DSP programs (low level, more accurate); off, they are simulated (high level, faster). Model 2: 2B games only, 2A and 2C are always simulated. It replaces Model1Geometrizer (default on) and Model2GeometrizerLLE (default off), so 2B games now run the low level geometrizer by default; 2B states made with the simulation load only with it off (the error says so).
– In the GUI’s Core tab, in the default Supermodel.ini (with a comment), and on the command line (-low-level-geometrizer, -no-low-level-geometrizer). Settings can now carry a note the GUI shows beside the control (ValueRange::SetNote); this one says « Model 1/2 only ».

– Model 1/2: wide screen (WideScreen, WideBackground)
– With WideScreen the 3D is drawn over the whole width of the window instead of the 4:3 area: the renderer maps native x to the full width (xMap uniform; the quad geometry shader maps back to native pixels from the centre), the fragment shaders keep taking native pixels from the 4:3 area (x < 0 or > 495 beyond it). The tilemap layers stay 4:3; with WideBackground the bottom one is stretched over the whole width.
– So that polygons beyond the 4:3 picture aren’t clipped away, viewport sides at the screen’s left or right edge are moved out by the extra width in native pixels (CModel1Render::WideExtension()):
– Model 1: the view frustum and the batches’ clip rectangles (CGeometry::SetWideExtension), with the C++ geometry and the DSPs.
– Model 2: MAME’s clip planes, rebuilt after a state load, and BuildGPU()’s clip rectangles (CVideo::SetWideExtension). The window commands come to our rasterizer from either geometrizer, so the simulation and the low level geometrizer work the same. Not for the software renderers.
– Checked in attract mode at 1920×1080: Daytona USA, Virtual-On (both geometrizers, the same frames), Virtua Racing, Virtua Fighter. Without WideScreen the output is unchanged. Objects the games cull themselves can still pop in at the sides.

– Model 2: 2B sound board UART, SCSP replies to the main board
– Model 2B’s UART is at 0x009c0000 and 0x009c0004 (byte 0 of each word, MAME’s model2b_crx_mem), not 0x01c80000; it wasn’t mapped, so Cyber Troopers Virtual-On and Fighting Vipers never reached their sound board and had no sound.
– The SCSP’s MIDI output now also goes to the UART’s input, as MAME’s midi_out_cb -> write_rxd (SCSP_SetMidiOutCallback, through CSoundBoard::SetMIDIOutCallback). Model 3 sets no receiver, so its output is still discarded. Not for Manx TT DX, where the Model 1 board replies.

– Model 2: i960 takes an interrupt right after the instruction raising it
– Interrupts were only checked at the start of each timeslice. Daytona USA masks its sound interrupt (intena = 1) while it adds a command to its sound queue, and re-enables it (0x401) after. Re-enabling raises the UART TxRDY interrupt at once; taken at the next timeslice it landed inside the next queue update, after the count was read and before it was written back, so the count went one too high. The sender then sent stale entries and skipped real ones: after a game the attract music command (AE 10 08) was lost and the attract mode was silent.
– execute_run now takes a pending immediate interrupt after each instruction, as MAME’s resync on set_input_line does. Old save states made after a game keep the wrong count until the game’s next sound reset.

– Model 2: quad rendering without screen-linear varyings (AMD holes)
– On an AMD GPU with quad rendering, The House of the Dead’s floor near the camera had a black wedge missing (triangles were fine, NVIDIA was fine). Those quads have corners behind the eye. The quad shader’s per-pixel terms (the corners relative to the pixel and the triangle areas) were noperspective outputs of the geometry shader, and the near clip was at w = 0, putting clipped vertices at infinity. NVIDIA rasterizes these without clipping; AMD clips, the noperspective values at the new vertices come out wrong and the fragments are discarded as outside the quad.
– The geometry shader now passes the corners and their cross products flat, and the fragment shader computes the terms from them and the pixel’s position. The edge barycentrics are perspective-interpolated, and the near plane is at w = 1/1024 (the board’s nearest w is about 0.6) for both triangles and quads.
– Confirmed fixed on the AMD machine; on NVIDIA 32 frames of HotD match the previous output within 4/255 on a few dozen pixels.

– Model 2: light guns reload with the off-screen input alone
– The House of the Dead reloads when the trigger is pulled with the gun off screen. The off-screen input (InputOffscreen, the right mouse button by default) now also pulls the trigger, so it reloads on its own, without InputAutoTrigger. The gun also counts as off screen within 5% of an edge of its range, as in MAME, so shooting with the mouse moved out of the window reloads too.

– Model 2: Sega Ski Super G and Manx TT Superbike DX
– Sega Ski Super G (2C, MAME’s skisuprg) and Manx TT Superbike DX (2A, manxtt) are added to Games.xml with their inputs.
– Both games check a drive board at power-on (Ski Super G’s ski board, Manx TT DX’s motion slider: new drive_board type « Motion »). It is simulated on the 315-5649’s ports: commands on port E, replies on port D. The board answers the power-on sequence (CF, then CE) paced by the commands it gets, then is ready: the ski board then works like Model 3’s Ski Champ board (Dx selects status, DIP switches or foot sensors), the motion slider answers CD. No motion or vibration. Its state is saved.
– Inputs: the ski controls (swing, incline, select 1-3, pole buttons) and the bikes’ throttle, brake, lean and shift up/down (MAME’s ports).
– Manx TT DX also has a Model 1 sound board beside the SCSP one. Both get the UART’s output and the Model 1 board’s replies go back to it. Its audio is mixed into the SCSP board’s frame (as a DSB, through the new CModel1SoundBoard::MixFrameInto), so there is one audio output.

– Model 2: 2B save states record which geometrizer made them
– The geometrizer’s own SHARC program state only exists with the low level geometrizer (Model2GeometrizerLLE), so a state made with one can’t be loaded with the other. 2B states now carry a « Model 2 geometrizer mode » block; loading one made with the other geometrizer fails with an error naming the setting to change. States without the block were made by the simulation.
– Also a debugging aid: SUPERMODEL_MODEL2_GEO_DISASM=start,end disassembles the uploaded geometrizer program to the log (low level only).

– Model 2: faster SHARC round-to-zero float add and multiply
– In round-to-zero mode the result is now truncated by clearing the low 29 mantissa bits of the double result, instead of a float conversion, a remainder test and nextafter. A float product is exact in a double; a sum is too unless TwoSum’s error term is non-zero, and that only changes the truncation when the double sum is exactly a float and the error points towards zero. That case, and results near underflow or overflow, still take the previous path.
– The per-instruction DMA and IOP timer steps are skipped with an inline test when idle (the calls did nothing then).
– Bit-identical: 100M random and edge-case operand pairs match the previous code, and the 2B geometrizer’s output hash over 1500 frames of Virtual-On is unchanged.

– Model 2: SHARC round-to-zero keeps infinite operands infinite
– In round-to-zero mode (MODE1 TRUNC) the float ALU and multiplier replaced every infinite result with NORM.MAX, including inf * x and inf + x. On the ADSP-2106x NORM.MAX only replaces an overflow of finite operands; an infinite operand gives infinity, and inf * 0 gives NaN.
– Virtual-On computes the shadow’s light angle from the length of the light vector’s horizontal part (x * RSQRTS(x), refined). For a straight down light that length is 0: on the chip RSQRTS(0) = inf, inf * inf = inf, inf * 0 = NaN, and the NaN angle is clamped to 33.75 degrees. With inf * inf = NORM.MAX the angle was 90 degrees and the shadow’s 1/cos scale -20848, so shadows were drawn as a black streak to the horizon.

– Model 2: Sega Model 2 / 2A / 2B / 2C support
– Ported from MAME (i960 main CPU, MB86234 TGP on the MB86233 core, SHARC ADSP-21062 for 2B, MB86235 TGPx4 for 2C, geometrizer and rasterizer), with CPU fixes from reviews against the manuals. Includes a GPU renderer, the System 24 tilemap shared with Model 1, the SCSP and Model 1 sound boards, the comm board (networked over the net board link), light guns, save states and NVRAM. 2B can also run the geometrizer’s own program on a SHARC.
– Games: Daytona USA, Virtua Fighter 2, Sega Rally Championship, Fighting Vipers, Cyber Troopers Virtual-On, The House of the Dead.

– Model 1: faster MB86233 interpreter and geometrizer FIFOs
– Force the per-instruction helpers inline, pick the ALU post ops with bit masks, skip alu_pre when there is no ALU op, handle a/b/d/p inline in read_reg/write_reg and dispatch ld/mov subop 7 in the same switch. The FIFO consumer’s empty check now uses its cached head index instead of pulling the producer’s cache line on every word.
– Output is bit-identical (hash of 1500 frames of DSP output in vf, vr, wingwar and swa). DSP time per frame drops ~31% run sequentially and ~33% threaded (vf 2.76 -> 1.85 ms).

– Model 1: clip to the far edge of the viewport’s last column and row
– MAME clips polygons at the viewport’s last pixel coordinates (x2, y2); its integer rasterizer still fills that column and row, but a GPU only fills pixels whose centres are inside, so the 3D stopped one pixel short of the right and bottom of the viewport. Clip at x2 + 1 and y2 + 1 instead (the scissor still limits drawing to the viewport).

– Model 1: NetMerc boots and plays; sort the games list
– NetMerc: Games.xml entry, the default battery-backed RAM contents (netmerc_nvram.bin, as MAME), the headset pose MAME uses (fixed, looking forward) written to the I/O board RAM at reset, and its controls on the analog joystick inputs. Its sound is unusable: sample ROM mpr-18134 is a blank dump in every known set.
– Games.xml: the Model 1 entries moved into alphabetical order among the Model 3 games (clones still follow their parents).

– Model 1: faster, simpler System 24 tilemap drawing
– Layers are drawn in runs of up to 8 pixels within one tile and one window mask cell, so the mask bit, tile word and character row are read once per run instead of per pixel, and runs of the wrong category or hidden by the mask are skipped (as the Model 3 tile generator does). MAME’s per-rectangle wraparound cases and the duplicated split-mode paths are replaced by one span routine driven per line. Checked pixel for pixel against the previous code in all four games (every layer, both opaque settings, all split and line scroll modes in use). The tile layers take ~0.4 ms a frame instead of ~1.2.

– Model 1: run the four geometrizer DSPs on their own threads
– Like the board, the 5571s and 5572s now run at the same time, one thread each, joined by lock-free single producer/consumer FIFOs; the output is the same as running them in turn (which is still done with fewer than four cores). Each chip’s bus and CPU state are on their own cache lines, as are the FIFO indices. The DSPs take 2.9 ms a frame instead of 7.6 (Virtua Fighter unthrottled: ~85 -> ~160 fps).

– Model 1: run the geometrizer DSPs for real, align the C++ geometry with them
– The four video board DSPs (315-5571 x2, 315-5572 x2) run their own programs on the display list each frame (Model1Geometrizer, default on for testing); their output stream is decoded into the existing clip, z-sort and batch code. A debug comparison mode (SUPERMODEL_MODEL1_GEOCOMPARE) checks the C++ simulation against them polygon by polygon; from it, the C++ path now decides facing from the sign of V.n and adds specular as the DSPs do. New Games.xml regions for the DSP programs and their table ROMs.

– Model 1: throttle, gunner stick and flight view inputs
– New input groups: « throttle » (analog axis plus up/down keys that move the lever and leave it there), « analog_joystick2 » (Star Wars Arcade gunner stick and buttons) and « flight_view4 » (Wing War’s view buttons, so they no longer share keys with its weapons). Wing War’s throttle was never polled before; Star Wars Arcade no longer borrows the driving controls.

– Model 1: clamp lighting terms before converting to integers
– Huge or NaN normals (seen in Virtua Racing) made the specular term overflow, and the resulting negative luminance indexed outside the colour translation table, crashing about 15 s into attract mode.

– MB86233: only count down c0/c1 on a taken zc0/zc1 branch
– MAME also decremented the counter on an untaken !zc0/!zc1 branch, which sends the 315-5571 geometrizer’s triangle dispatch into the wrong handler. No change for the TGP programs, which only use plain zc0/zc1.

– Model 1: lighting from the geometrizer DSP programs
– Match the 315-5571/5572 geometrizer code: integer luminance sums with only the total clamped, two-sided diffuse for double-sided polygons seen from behind, unnormalized light vector and normals, 3-bit specular power, and face normals computed from the vertices when command 7 bit 1 is set (VF, Virtua Racing and Wing War use it per object). Keep the 6-bit colour translation index: the games load a 64-step ramp.

– Add Sega Model 1 emulation (work in progress)
– Ported from MAME (BSD-3-Clause): NEC V60 CPU, Fujitsu MB86233 TGP coprocessor, System 24 tilemaps, Model 1 sound board (68000, YM3438 via ymfm, 2x MultiPCM, i8251 link), and the video board geometrizer simulation. The I/O board is simulated.
– The 3D is drawn by a new OpenGL renderer: MAME’s transform, clipping and painter’s z-sort, with only the rasterization on the GPU at the output resolution, plus two-pass crack filling. MAME’s software rasterizer is kept as a debug reference (Model1SoftwareRender).
– Games: Virtua Fighter, Virtua Racing, Wing War, Star Wars Arcade (US and Japan, with the DSB1 MPEG board).
– Also fixes some V60 bugs found by checking MAME’s core against NEC’s manual: unscaled index in [/addr](Rx) writes, signed MUL overflow, host divide faults in DIVX/DIVUX/REM.W, 32-bit bit fields, MOVCFD.H fill range and CMPCF.
– Debug environment variables (SUPERMODEL_MODEL1_*) are still in the code.
– Makefile.Win32: rebuild the resources when the icon changes
– Windows: program icon (Resources/supermodel.ico)
– The MSVC project compiles MSVC/Supermodel.rc and the MinGW build’s SupermodelResources.rc gains the same icon. It is the exe’s icon in Explorer and, as SDL uses the first icon resource, the window and taskbar icon.
– Startup banner: print the build date instead of the version
– The version string (0.3a-WIP) isn’t updated between builds, so the banner now shows the date Main.cpp was compiled, as YYYY-MM-DD (ISO 8601, read the same everywhere). Clean release builds always compile it.
– Merge pull request #364 from cerroverb/dsb-fifo-ordering
– DSB: make FIFO write index atomic
– DSB: use std::atomic for the FIFO write index
– Builds on every compiler, including MSVC.
– DSB: publish FIFO writes with release/acquire ordering
– The PPC thread writes the FIFO and the sound thread reads it. On weakly ordered CPUs a reader could see the new index before the data.
– Add skip idle function for faster powerpc emulation.
– Misc fixes
 
A noter qu’un fork ajoutant le support du Sinden est dispo ici.

 


 
Ajout:
– correction des musiques dans sega rally 2 (mix)
– correction musique 1er niveau 2joueurs (la cave rouge) dans vf3 (pas sûr de la modif, et donc cela peut éventuellement entrainer d’autre problèmes sonore sur d’autre jeux).
(inclut officiellement)

 
Pour générer un dat vous pouvez utiliser cet outil.

 

Télécharger SuperModel (WIP) v0.3a Build 261105 v2 (10.5 Mo)

Télécharger SuperModel WIP (XP) v0.3a r862 (6.3 Mo)

Site Officiel

En savoir plus…





https://getourbonus.com/fr/accueil

https://www.romspedia.com/