mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-04-13 12:22:33 -05:00
feat: group emulators by classification, slim mkdocs nav, add pymdownx extensions
This commit is contained in:
491
mkdocs.yml
491
mkdocs.yml
@@ -24,6 +24,7 @@ theme:
|
|||||||
- navigation.tabs
|
- navigation.tabs
|
||||||
- navigation.sections
|
- navigation.sections
|
||||||
- navigation.top
|
- navigation.top
|
||||||
|
- navigation.indexes
|
||||||
- search.suggest
|
- search.suggest
|
||||||
- search.highlight
|
- search.highlight
|
||||||
- content.tabs.link
|
- content.tabs.link
|
||||||
@@ -32,8 +33,13 @@ markdown_extensions:
|
|||||||
- tables
|
- tables
|
||||||
- admonition
|
- admonition
|
||||||
- attr_list
|
- attr_list
|
||||||
|
- md_in_html
|
||||||
- toc:
|
- toc:
|
||||||
permalink: true
|
permalink: true
|
||||||
|
- pymdownx.details
|
||||||
|
- pymdownx.superfences
|
||||||
|
- pymdownx.tabbed:
|
||||||
|
alternate_style: true
|
||||||
plugins:
|
plugins:
|
||||||
- search
|
- search
|
||||||
nav:
|
nav:
|
||||||
@@ -46,6 +52,7 @@ nav:
|
|||||||
- Recalbox: platforms/recalbox.md
|
- Recalbox: platforms/recalbox.md
|
||||||
- RetroArch: platforms/retroarch.md
|
- RetroArch: platforms/retroarch.md
|
||||||
- RetroBat: platforms/retrobat.md
|
- RetroBat: platforms/retrobat.md
|
||||||
|
- RetroDECK: platforms/retrodeck.md
|
||||||
- RetroPie: platforms/retropie.md
|
- RetroPie: platforms/retropie.md
|
||||||
- Systems:
|
- Systems:
|
||||||
- Overview: systems/index.md
|
- Overview: systems/index.md
|
||||||
@@ -56,6 +63,7 @@ nav:
|
|||||||
- Apple: systems/apple.md
|
- Apple: systems/apple.md
|
||||||
- Arcade: systems/arcade.md
|
- Arcade: systems/arcade.md
|
||||||
- Atari: systems/atari.md
|
- Atari: systems/atari.md
|
||||||
|
- BBK: systems/bbk.md
|
||||||
- Bally: systems/bally.md
|
- Bally: systems/bally.md
|
||||||
- Bandai: systems/bandai.md
|
- Bandai: systems/bandai.md
|
||||||
- Bit Corporation: systems/bit-corporation.md
|
- Bit Corporation: systems/bit-corporation.md
|
||||||
@@ -79,20 +87,27 @@ nav:
|
|||||||
- GamePark: systems/gamepark.md
|
- GamePark: systems/gamepark.md
|
||||||
- Grundy: systems/grundy.md
|
- Grundy: systems/grundy.md
|
||||||
- Hartung: systems/hartung.md
|
- Hartung: systems/hartung.md
|
||||||
|
- IBM: systems/ibm.md
|
||||||
- Id Software: systems/id-software.md
|
- Id Software: systems/id-software.md
|
||||||
- Infocom: systems/infocom.md
|
- Infocom: systems/infocom.md
|
||||||
- Java: systems/java.md
|
- Java: systems/java.md
|
||||||
|
- Jupiter: systems/jupiter.md
|
||||||
|
- Lambda: systems/lambda.md
|
||||||
|
- Lexaloffle: systems/lexaloffle.md
|
||||||
- Magnavox: systems/magnavox.md
|
- Magnavox: systems/magnavox.md
|
||||||
- Mattel: systems/mattel.md
|
- Mattel: systems/mattel.md
|
||||||
|
- Microdigital: systems/microdigital.md
|
||||||
- Microsoft: systems/microsoft.md
|
- Microsoft: systems/microsoft.md
|
||||||
- NEC: systems/nec.md
|
- NEC: systems/nec.md
|
||||||
- Nintendo: systems/nintendo.md
|
- Nintendo: systems/nintendo.md
|
||||||
- Nokia: systems/nokia.md
|
- Nokia: systems/nokia.md
|
||||||
- Oric: systems/oric.md
|
- Oric: systems/oric.md
|
||||||
|
- Other: systems/other.md
|
||||||
- Palm: systems/palm.md
|
- Palm: systems/palm.md
|
||||||
- Philips: systems/philips.md
|
- Philips: systems/philips.md
|
||||||
- Pioneer: systems/pioneer.md
|
- Pioneer: systems/pioneer.md
|
||||||
- RPG Maker: systems/rpg-maker.md
|
- RPG Maker: systems/rpg-maker.md
|
||||||
|
- Ringo: systems/ringo.md
|
||||||
- SNK: systems/snk.md
|
- SNK: systems/snk.md
|
||||||
- ScummVM: systems/scummvm.md
|
- ScummVM: systems/scummvm.md
|
||||||
- Sega: systems/sega.md
|
- Sega: systems/sega.md
|
||||||
@@ -103,6 +118,7 @@ nav:
|
|||||||
- Tandy: systems/tandy.md
|
- Tandy: systems/tandy.md
|
||||||
- Texas Instruments: systems/texas-instruments.md
|
- Texas Instruments: systems/texas-instruments.md
|
||||||
- Tiger: systems/tiger.md
|
- Tiger: systems/tiger.md
|
||||||
|
- Timex: systems/timex.md
|
||||||
- Tomy: systems/tomy.md
|
- Tomy: systems/tomy.md
|
||||||
- VTech: systems/vtech.md
|
- VTech: systems/vtech.md
|
||||||
- Videoton: systems/videoton.md
|
- Videoton: systems/videoton.md
|
||||||
@@ -111,192 +127,291 @@ nav:
|
|||||||
- xrick: systems/xrick.md
|
- xrick: systems/xrick.md
|
||||||
- Emulators:
|
- Emulators:
|
||||||
- Overview: emulators/index.md
|
- Overview: emulators/index.md
|
||||||
- '2048': emulators/2048.md
|
- Official ports (59):
|
||||||
- 3DEngine: emulators/3dengine.md
|
- amiarcadia: emulators/amiarcadia.md
|
||||||
- EightyOne: emulators/81.md
|
- Amiberry: emulators/amiberry.md
|
||||||
- a5200: emulators/a5200.md
|
- Ardens: emulators/ardens.md
|
||||||
- amiarcadia: emulators/amiarcadia.md
|
- Atari800: emulators/atari800.md
|
||||||
- Anarch: emulators/anarch.md
|
- BlastEm: emulators/blastem.md
|
||||||
- AppleWin: emulators/applewin.md
|
- Boytacean: emulators/boytacean.md
|
||||||
- Ardens: emulators/ardens.md
|
- bsnes: emulators/bsnes.md
|
||||||
- Arduous: emulators/arduous.md
|
- ClownMDEmu: emulators/clownmdemu.md
|
||||||
- Atari800: emulators/atari800.md
|
- CrocoDS: emulators/crocods.md
|
||||||
- b2: emulators/b2.md
|
- DirkSimple: emulators/dirksimple.md
|
||||||
- Beetle Lynx (Mednafen Lynx): emulators/beetle_lynx.md
|
- DuckStation: emulators/duckstation.md
|
||||||
- Beetle NGP (Mednafen Neo Geo Pocket): emulators/beetle_ngp.md
|
- emux (CHIP-8): emulators/emux_chip8.md
|
||||||
- Beetle PCE (Mednafen PCE): emulators/beetle_pce.md
|
- emux (Game Boy): emulators/emux_gb.md
|
||||||
- Beetle PC-FX (Mednafen): emulators/beetle_pcfx.md
|
- emux (NES): emulators/emux_nes.md
|
||||||
- Beetle PSX (Mednafen PSX): emulators/beetle_psx.md
|
- emux (SMS): emulators/emux_sms.md
|
||||||
- Beetle Saturn (Mednafen): emulators/beetle_saturn.md
|
- FinalBurn Neo: emulators/fbneo.md
|
||||||
- Beetle VB (Mednafen Virtual Boy): emulators/beetle_vb.md
|
- FinalBurn Neo (CPS-1/CPS-2): emulators/fbneo_cps12.md
|
||||||
- Beetle WonderSwan (Mednafen WonderSwan): emulators/beetle_wswan.md
|
- FinalBurn Neo (Neo Geo): emulators/fbneo_neogeo.md
|
||||||
- BennuGD: emulators/bennugd.md
|
- fixGB: emulators/fixgb.md
|
||||||
- bk-emulator: emulators/bk.md
|
- fixNES: emulators/fixnes.md
|
||||||
- BlastEm: emulators/blastem.md
|
- Flycast: emulators/flycast.md
|
||||||
- blueMSX: emulators/bluemsx.md
|
- FreeJ2ME: emulators/freej2me.md
|
||||||
- bnes: emulators/bnes.md
|
- galaksija: emulators/galaksija.md
|
||||||
- boom3: emulators/boom3.md
|
- Gearboy: emulators/gearboy.md
|
||||||
- Boytacean: emulators/boytacean.md
|
- Gearcoleco: emulators/gearcoleco.md
|
||||||
- bsnes: emulators/bsnes.md
|
- Geargrafx: emulators/geargrafx.md
|
||||||
- Cannonball: emulators/cannonball.md
|
- Gearlynx: emulators/gearlynx.md
|
||||||
- Caprice32: emulators/cap32.md
|
- Gearsystem: emulators/gearsystem.md
|
||||||
- Cemu: emulators/cemu.md
|
- Geolith: emulators/geolith.md
|
||||||
- ChaiLove: emulators/chailove.md
|
- Holani: emulators/holani.md
|
||||||
- Citra / Lime3DS / Azahar: emulators/citra.md
|
- JAXE: emulators/jaxe.md
|
||||||
- ClownMDEmu: emulators/clownmdemu.md
|
- JollyCV: emulators/jollycv.md
|
||||||
- Craft: emulators/craft.md
|
- Kronos: emulators/kronos.md
|
||||||
- CrocoDS: emulators/crocods.md
|
- LowRes NX: emulators/lowresnx.md
|
||||||
- Cruzes: emulators/cruzes.md
|
- M2000: emulators/m2000.md
|
||||||
- Daphne: emulators/daphne.md
|
- MAME: emulators/mame.md
|
||||||
- DeSmuME: emulators/desmume.md
|
- MAME Arcade: emulators/mamearcade.md
|
||||||
- DICE: emulators/dice.md
|
- MAME MESS: emulators/mamemess.md
|
||||||
- Dinothawr: emulators/dinothawr.md
|
- Mesen: emulators/mesen.md
|
||||||
- DirectXBox: emulators/directxbox.md
|
- mesen-s: emulators/mesen-s.md
|
||||||
- Dolphin: emulators/dolphin.md
|
- mGBA: emulators/mgba.md
|
||||||
- Dolphin Launcher: emulators/dolphin_launcher.md
|
- Mr.Boom: emulators/mrboom.md
|
||||||
- DOSBox-core: emulators/dosbox_core.md
|
- Panda3DS: emulators/panda3ds.md
|
||||||
- DOSBox Pure: emulators/dosbox_pure.md
|
- PicoDrive: emulators/picodrive.md
|
||||||
- DoubleCherryGB: emulators/doublecherrygb.md
|
- play: emulators/play.md
|
||||||
- doukutsu-rs: emulators/doukutsu_rs.md
|
- PPSSPP: emulators/ppsspp.md
|
||||||
- DuckStation: emulators/duckstation.md
|
- Rustation: emulators/rustation.md
|
||||||
- EasyRPG Player: emulators/easyrpg.md
|
- RVVM: emulators/rvvm.md
|
||||||
- ECWolf: emulators/ecwolf.md
|
- SameBoy: emulators/sameboy.md
|
||||||
- EmuSCV: emulators/emuscv.md
|
- sameduck: emulators/sameduck.md
|
||||||
- emux (CHIP-8): emulators/emux_chip8.md
|
- SDLPAL: emulators/sdlpal.md
|
||||||
- ep128emu-core: emulators/ep128emu.md
|
- skyemu: emulators/skyemu.md
|
||||||
- FAKE-08: emulators/fake08.md
|
- snes9x: emulators/snes9x.md
|
||||||
- FinalBurn Neo: emulators/fbneo.md
|
- SquirrelJME: emulators/squirreljme.md
|
||||||
- FCEUmm: emulators/fceumm.md
|
- VaporSpec: emulators/vaporspec.md
|
||||||
- FFmpeg: emulators/ffmpeg.md
|
- VBA-M: emulators/vbam.md
|
||||||
- fixGB: emulators/fixgb.md
|
- VeMUlator: emulators/vemulator.md
|
||||||
- Flycast: emulators/flycast.md
|
- Vircon32: emulators/vircon32.md
|
||||||
- fMSX: emulators/fmsx.md
|
- vitaQuakeII: emulators/vitaquake2.md
|
||||||
- FreeChaF: emulators/freechaf.md
|
- Community forks (100):
|
||||||
- FreeIntv: emulators/freeintv.md
|
- EightyOne: emulators/81.md
|
||||||
- FreeIntv (Touchscreen Overlay): emulators/freeintv_ts_overlay.md
|
- a5200: emulators/a5200.md
|
||||||
- FreeJ2ME: emulators/freej2me.md
|
- Anarch: emulators/anarch.md
|
||||||
- Frodo: emulators/frodo.md
|
- AppleWin: emulators/applewin.md
|
||||||
- Fuse: emulators/fuse.md
|
- Azahar: emulators/azahar.md
|
||||||
- galaksija: emulators/galaksija.md
|
- b2: emulators/b2.md
|
||||||
- GAM4980: emulators/gam4980.md
|
- Beetle Lynx (Mednafen Lynx): emulators/beetle_lynx.md
|
||||||
- Gambatte: emulators/gambatte.md
|
- Beetle NGP (Mednafen Neo Geo Pocket): emulators/beetle_ngp.md
|
||||||
- Gearcoleco: emulators/gearcoleco.md
|
- Beetle PCE (Mednafen PCE): emulators/beetle_pce.md
|
||||||
- Geargrafx: emulators/geargrafx.md
|
- Beetle PC-FX (Mednafen): emulators/beetle_pcfx.md
|
||||||
- Gearlynx: emulators/gearlynx.md
|
- Beetle PSX (Mednafen PSX): emulators/beetle_psx.md
|
||||||
- Gearsystem: emulators/gearsystem.md
|
- beetle_saturn: emulators/beetle_saturn.md
|
||||||
- Genesis Plus GX: emulators/genesis_plus_gx.md
|
- Beetle VB (Mednafen Virtual Boy): emulators/beetle_vb.md
|
||||||
- Geolith: emulators/geolith.md
|
- BennuGD: emulators/bennugd.md
|
||||||
- Game Music Emu: emulators/gme.md
|
- bk-emulator: emulators/bk.md
|
||||||
- Gong: emulators/gong.md
|
- blueMSX: emulators/bluemsx.md
|
||||||
- gpSP: emulators/gpsp.md
|
- bsnes-jg: emulators/bsnes-jg.md
|
||||||
- Game & Watch: emulators/gw.md
|
- Caprice32: emulators/cap32.md
|
||||||
- Handy: emulators/handy.md
|
- ChimeraSNES: emulators/chimerasnes.md
|
||||||
- Hatari: emulators/hatari.md
|
- Citra: emulators/citra.md
|
||||||
- HBMAME (Homebrew MAME): emulators/hbmame.md
|
- Citra Canary: emulators/citra_canary.md
|
||||||
- Holani: emulators/holani.md
|
- Daphne: emulators/daphne.md
|
||||||
- Image Viewer: emulators/imageviewer.md
|
- DeSmuME: emulators/desmume.md
|
||||||
- Ishiiruka: emulators/ishiiruka.md
|
- DICE: emulators/dice.md
|
||||||
- JAXE: emulators/jaxe.md
|
- Dolphin: emulators/dolphin.md
|
||||||
- JollyCV: emulators/jollycv.md
|
- DOSBox: emulators/dosbox.md
|
||||||
- Jump 'n Bump: emulators/jumpnbump.md
|
- DOSBox-core: emulators/dosbox_core.md
|
||||||
- Kronos: emulators/kronos.md
|
- DOSBox-SVN: emulators/dosbox_svn.md
|
||||||
- LowRes NX: emulators/lowresnx.md
|
- DOSBox-SVN CE: emulators/dosbox_svn_ce.md
|
||||||
- Lutro: emulators/lutro.md
|
- EmuSCV: emulators/emuscv.md
|
||||||
- M2000: emulators/m2000.md
|
- ep128emu_core: emulators/ep128emu_core.md
|
||||||
- MAME 2003-Plus: emulators/mame2003_plus.md
|
- FCEUmm: emulators/fceumm.md
|
||||||
- MAME 2010: emulators/mame2010.md
|
- fMSX: emulators/fmsx.md
|
||||||
- MAME 2016: emulators/mame2016.md
|
- Frodo: emulators/frodo.md
|
||||||
- MCSoftserve: emulators/mcsoftserve.md
|
- FS-UAE: emulators/fsuae.md
|
||||||
- MelonDS: emulators/melonds.md
|
- Fuse: emulators/fuse.md
|
||||||
- Mesen: emulators/mesen.md
|
- Gambatte: emulators/gambatte.md
|
||||||
- Meteor GBA: emulators/meteor.md
|
- Genesis Plus GX: emulators/genesis_plus_gx.md
|
||||||
- mGBA: emulators/mgba.md
|
- gpSP: emulators/gpsp.md
|
||||||
- Mini vMac: emulators/minivmac.md
|
- Handy: emulators/handy.md
|
||||||
- mkxp-z: emulators/mkxp_z.md
|
- higan (SFC Accuracy): emulators/higan_sfc.md
|
||||||
- MojoZork: emulators/mojozork.md
|
- LRPS2: emulators/lrps2.md
|
||||||
- Moonlight: emulators/moonlight.md
|
- mednafen_pce: emulators/mednafen_pce.md
|
||||||
- mpv: emulators/mpv.md
|
- mednafen_pce_fast: emulators/mednafen_pce_fast.md
|
||||||
- Mr.Boom: emulators/mrboom.md
|
- mednafen_supafaust: emulators/mednafen_supafaust.md
|
||||||
- Mu: emulators/mu.md
|
- mednafen_supergrafx: emulators/mednafen_supergrafx.md
|
||||||
- Mupen64Plus-Next: emulators/mupen64plus.md
|
- melonDS: emulators/melonds.md
|
||||||
- NeoCD: emulators/neocd.md
|
- melonDS DS: emulators/melonds_ds.md
|
||||||
- Nestopia UE: emulators/nestopia.md
|
- Meteor GBA: emulators/meteor.md
|
||||||
- NooDS: emulators/noods.md
|
- Mini vMac: emulators/minivmac.md
|
||||||
- NP2kai: emulators/np2kai.md
|
- Moonlight: emulators/moonlight.md
|
||||||
- Numero: emulators/numero.md
|
- mpv: emulators/mpv.md
|
||||||
- NXEngine: emulators/nxengine.md
|
- nekop2: emulators/nekop2.md
|
||||||
- O2EM: emulators/o2em.md
|
- nes: emulators/nes.md
|
||||||
- Oberon: emulators/oberon.md
|
- Nestopia UE: emulators/nestopia.md
|
||||||
- ONScripter: emulators/onscripter.md
|
- NooDS: emulators/noods.md
|
||||||
- ONScripter Yuri: emulators/onsyuri.md
|
- Numero: emulators/numero.md
|
||||||
- OpenLara: emulators/openlara.md
|
- O2EM: emulators/o2em.md
|
||||||
- OpenTyrian: emulators/opentyrian.md
|
- Oberon: emulators/oberon.md
|
||||||
- Opera (4DO): emulators/opera.md
|
- ONScripter: emulators/onscripter.md
|
||||||
- Panda3DS: emulators/panda3ds.md
|
- Opera (4DO): emulators/opera.md
|
||||||
- Pascal Pong: emulators/pascal_pong.md
|
- ParaLLEl N64: emulators/parallel_n64.md
|
||||||
- PCem: emulators/pcem.md
|
- PCem: emulators/pcem.md
|
||||||
- PCSX2: emulators/pcsx2.md
|
- PCSX1: emulators/pcsx1.md
|
||||||
- PCSX-ReARMed: emulators/pcsx_rearmed.md
|
- PD777: emulators/pd777.md
|
||||||
- PD777: emulators/pd777.md
|
- PokeMini: emulators/pokemini.md
|
||||||
- PicoDrive: emulators/picodrive.md
|
- Potator: emulators/potator.md
|
||||||
- Play!: emulators/play.md
|
- ProSystem: emulators/prosystem.md
|
||||||
- PocketCDG: emulators/pocketcdg.md
|
- PUAE (P-UAE): emulators/puae.md
|
||||||
- PokeMini: emulators/pokemini.md
|
- px68k: emulators/px68k.md
|
||||||
- PPSSPP: emulators/ppsspp.md
|
- QEMU: emulators/qemu.md
|
||||||
- PrBoom: emulators/prboom.md
|
- QUASI88: emulators/quasi88.md
|
||||||
- ProSystem: emulators/prosystem.md
|
- QuickNES: emulators/quicknes.md
|
||||||
- PUAE (P-UAE): emulators/puae.md
|
- RACE (Neo Geo Pocket): emulators/race.md
|
||||||
- PuzzleScript: emulators/puzzlescript.md
|
- REminiscence: emulators/reminiscence.md
|
||||||
- px68k: emulators/px68k.md
|
- RetroDream: emulators/retrodream.md
|
||||||
- QEMU: emulators/qemu.md
|
- SAME CDi: emulators/same_cdi.md
|
||||||
- QUASI88: emulators/quasi88.md
|
- SimCoupe: emulators/simcp.md
|
||||||
- RACE (Neo Geo Pocket): emulators/race.md
|
- swanstation: emulators/swanstation.md
|
||||||
- Redbook: emulators/redbook.md
|
- Syobon Action: emulators/syobonaction.md
|
||||||
- REminiscence: emulators/reminiscence.md
|
- TamaLIBretro: emulators/tamalibretro.md
|
||||||
- RemoteJoy: emulators/remotejoy.md
|
- TempGBA: emulators/tempgba.md
|
||||||
- Retro8: emulators/retro8.md
|
- TGB Dual: emulators/tgbdual.md
|
||||||
- RetroDream: emulators/retrodream.md
|
- trident: emulators/trident.md
|
||||||
- ROM Cleaner: emulators/romcleaner.md
|
- uae4arm: emulators/uae4arm.md
|
||||||
- RPCS3: emulators/rpcs3.md
|
- UXN: emulators/uxn.md
|
||||||
- Rustation: emulators/rustation.md
|
- vecx: emulators/vecx.md
|
||||||
- RVVM: emulators/rvvm.md
|
- VICE x128: emulators/vice_x128.md
|
||||||
- SAME CDi: emulators/same_cdi.md
|
- VICE x64: emulators/vice_x64.md
|
||||||
- SameBoy: emulators/sameboy.md
|
- VICE x64dtv: emulators/vice_x64dtv.md
|
||||||
- ScummVM: emulators/scummvm.md
|
- VICE x64sc: emulators/vice_x64sc.md
|
||||||
- SDLPAL: emulators/sdlpal.md
|
- VICE xcbm2: emulators/vice_xcbm2.md
|
||||||
- SimCoupe: emulators/simcp.md
|
- VICE xcbm5x0: emulators/vice_xcbm5x0.md
|
||||||
- SMS Plus GX: emulators/smsplus.md
|
- VICE xpet: emulators/vice_xpet.md
|
||||||
- snes9x: emulators/snes9x.md
|
- VICE xplus4: emulators/vice_xplus4.md
|
||||||
- SquirrelJME: emulators/squirreljme.md
|
- VICE xscpu64: emulators/vice_xscpu64.md
|
||||||
- Stella: emulators/stella.md
|
- VICE xvic: emulators/vice_xvic.md
|
||||||
- Stone Soup: emulators/stonesoup.md
|
- Virtual Jaguar: emulators/virtualjaguar.md
|
||||||
- Super Bros War: emulators/superbroswar.md
|
- vitaQuakeIII: emulators/vitaquake3.md
|
||||||
- Syobon Action: emulators/syobonaction.md
|
- vitavoyager: emulators/vitavoyager.md
|
||||||
- TamaLIBretro: emulators/tamalibretro.md
|
- Pure libretro (29):
|
||||||
- TempGBA: emulators/tempgba.md
|
- '2048': emulators/2048.md
|
||||||
- TGB Dual: emulators/tgbdual.md
|
- 3DEngine: emulators/3dengine.md
|
||||||
- Theodore: emulators/theodore.md
|
- Arduous: emulators/arduous.md
|
||||||
- The Powder Toy: emulators/thepowdertoy.md
|
- Beetle WonderSwan (Mednafen WonderSwan): emulators/beetle_wswan.md
|
||||||
- TIC-80: emulators/tic80.md
|
- Craft: emulators/craft.md
|
||||||
- TyrQuake: emulators/tyrquake.md
|
- Cruzes: emulators/cruzes.md
|
||||||
- MicroW8: emulators/uw8.md
|
- DirectXBox: emulators/directxbox.md
|
||||||
- UXN: emulators/uxn.md
|
- FFmpeg: emulators/ffmpeg.md
|
||||||
- uzem: emulators/uzem.md
|
- FreeChaF: emulators/freechaf.md
|
||||||
- VaporSpec: emulators/vaporspec.md
|
- FreeIntv: emulators/freeintv.md
|
||||||
- VBA-Next: emulators/vba_next.md
|
- GAM4980: emulators/gam4980.md
|
||||||
- vecx: emulators/vecx.md
|
- Game Music Emu: emulators/gme.md
|
||||||
- VeMUlator: emulators/vemulator.md
|
- Gong: emulators/gong.md
|
||||||
- VICE: emulators/vice.md
|
- Game & Watch: emulators/gw.md
|
||||||
- Vircon32: emulators/vircon32.md
|
- Image Viewer: emulators/imageviewer.md
|
||||||
- Virtual Jaguar: emulators/virtualjaguar.md
|
- MCSoftserve: emulators/mcsoftserve.md
|
||||||
- VirtualXT: emulators/virtualxt.md
|
- MojoZork: emulators/mojozork.md
|
||||||
- Vita3K: emulators/vita3k.md
|
- Mu: emulators/mu.md
|
||||||
- vitaQuakeII: emulators/vitaquake2.md
|
- NeoCD: emulators/neocd.md
|
||||||
- vitaQuakeIII: emulators/vitaquake3.md
|
- Pascal Pong: emulators/pascal_pong.md
|
||||||
- WASM-4: emulators/wasm4.md
|
- PocketCDG: emulators/pocketcdg.md
|
||||||
- X Millennium: emulators/x1.md
|
- Redbook: emulators/redbook.md
|
||||||
- x64sdl: emulators/x64sdl.md
|
- RemoteJoy: emulators/remotejoy.md
|
||||||
- Xemu: emulators/xemu.md
|
- ROM Cleaner: emulators/romcleaner.md
|
||||||
- XRick: emulators/xrick.md
|
- Theodore: emulators/theodore.md
|
||||||
|
- The Powder Toy: emulators/thepowdertoy.md
|
||||||
|
- MicroW8: emulators/uw8.md
|
||||||
|
- uzem: emulators/uzem.md
|
||||||
|
- VirtualXT: emulators/virtualxt.md
|
||||||
|
- Game engines (23):
|
||||||
|
- boom3: emulators/boom3.md
|
||||||
|
- Cannonball: emulators/cannonball.md
|
||||||
|
- ChaiLove: emulators/chailove.md
|
||||||
|
- Dinothawr: emulators/dinothawr.md
|
||||||
|
- doukutsu-rs: emulators/doukutsu_rs.md
|
||||||
|
- EasyRPG Player: emulators/easyrpg.md
|
||||||
|
- ECWolf: emulators/ecwolf.md
|
||||||
|
- FAKE-08: emulators/fake08.md
|
||||||
|
- Jump 'n Bump: emulators/jumpnbump.md
|
||||||
|
- Lutro: emulators/lutro.md
|
||||||
|
- mkxp-z: emulators/mkxp_z.md
|
||||||
|
- NXEngine: emulators/nxengine.md
|
||||||
|
- ONScripter Yuri: emulators/onsyuri.md
|
||||||
|
- OpenLara: emulators/openlara.md
|
||||||
|
- OpenTyrian: emulators/opentyrian.md
|
||||||
|
- PrBoom: emulators/prboom.md
|
||||||
|
- PuzzleScript: emulators/puzzlescript.md
|
||||||
|
- Retro8: emulators/retro8.md
|
||||||
|
- ScummVM: emulators/scummvm.md
|
||||||
|
- Super Bros War: emulators/superbroswar.md
|
||||||
|
- TIC-80: emulators/tic80.md
|
||||||
|
- TyrQuake: emulators/tyrquake.md
|
||||||
|
- WASM-4: emulators/wasm4.md
|
||||||
|
- Enhanced forks (12):
|
||||||
|
- bsnes-hd beta: emulators/bsnes_hd_beta.md
|
||||||
|
- bsnes-mercury: emulators/bsnes_mercury.md
|
||||||
|
- DOSBox Pure: emulators/dosbox_pure.md
|
||||||
|
- DoubleCherryGB: emulators/doublecherrygb.md
|
||||||
|
- Genesis Plus GX Wide: emulators/genesis_plus_gx_wide.md
|
||||||
|
- HBMAME (Homebrew MAME): emulators/hbmame.md
|
||||||
|
- nSide (SFC Balanced): emulators/higan_sfc_balanced.md
|
||||||
|
- Ishiiruka: emulators/ishiiruka.md
|
||||||
|
- MAME 2003-Plus: emulators/mame2003_plus.md
|
||||||
|
- Mupen64Plus-Next: emulators/mupen64plus_next.md
|
||||||
|
- NP2kai: emulators/np2kai.md
|
||||||
|
- SMS Plus GX: emulators/smsplus.md
|
||||||
|
- Frozen snapshots (32):
|
||||||
|
- bnes: emulators/bnes.md
|
||||||
|
- bsnes 2014: emulators/bsnes2014.md
|
||||||
|
- bsnes C++98: emulators/bsnes_cplusplus98.md
|
||||||
|
- CDi 2015: emulators/cdi2015.md
|
||||||
|
- Citra 2018: emulators/citra2018.md
|
||||||
|
- DeSmuME 2015: emulators/desmume2015.md
|
||||||
|
- FB Alpha 2012: emulators/fbalpha2012.md
|
||||||
|
- FB Alpha 2012 CPS-1: emulators/fbalpha2012_cps1.md
|
||||||
|
- FB Alpha 2012 CPS-2: emulators/fbalpha2012_cps2.md
|
||||||
|
- FB Alpha 2012 CPS-3: emulators/fbalpha2012_cps3.md
|
||||||
|
- FB Alpha 2012 Neo Geo: emulators/fbalpha2012_neogeo.md
|
||||||
|
- Hatari: emulators/hatari.md
|
||||||
|
- MAME 2000: emulators/mame2000.md
|
||||||
|
- MAME 2003: emulators/mame2003.md
|
||||||
|
- MAME 2003 Midway: emulators/mame2003_midway.md
|
||||||
|
- MAME 2009: emulators/mame2009.md
|
||||||
|
- MAME 2010: emulators/mame2010.md
|
||||||
|
- MAME 2015: emulators/mame2015.md
|
||||||
|
- MAME 2016: emulators/mame2016.md
|
||||||
|
- mednafen_gba: emulators/mednafen_gba.md
|
||||||
|
- mednafen_snes: emulators/mednafen_snes.md
|
||||||
|
- MESS 2015: emulators/mess2015.md
|
||||||
|
- PUAE 2021: emulators/puae2021.md
|
||||||
|
- Snes9x 2002: emulators/snes9x2002.md
|
||||||
|
- Snes9x 2005: emulators/snes9x2005.md
|
||||||
|
- Snes9x 2005 Plus: emulators/snes9x2005_plus.md
|
||||||
|
- Snes9x 2010: emulators/snes9x2010.md
|
||||||
|
- Stella 2014: emulators/stella2014.md
|
||||||
|
- Stella 2023: emulators/stella2023.md
|
||||||
|
- Stone Soup: emulators/stonesoup.md
|
||||||
|
- UME 2015: emulators/ume2015.md
|
||||||
|
- VBA-Next: emulators/vba_next.md
|
||||||
|
- Embedded HLE (1):
|
||||||
|
- PCSX-ReARMed: emulators/pcsx_rearmed.md
|
||||||
|
- Launchers (1):
|
||||||
|
- Dolphin Launcher: emulators/dolphin_launcher.md
|
||||||
|
- Other (13):
|
||||||
|
- Beetle GBA (Mednafen): emulators/beetle_gba.md
|
||||||
|
- Cemu: emulators/cemu.md
|
||||||
|
- ep128emu-core: emulators/ep128emu.md
|
||||||
|
- PCSX2: emulators/pcsx2.md
|
||||||
|
- Redream: emulators/redream.md
|
||||||
|
- RPCS3: emulators/rpcs3.md
|
||||||
|
- VBA-M: emulators/vba_m.md
|
||||||
|
- VICE: emulators/vice.md
|
||||||
|
- Vita3K: emulators/vita3k.md
|
||||||
|
- X Millennium: emulators/x1.md
|
||||||
|
- x64sdl: emulators/x64sdl.md
|
||||||
|
- Xemu: emulators/xemu.md
|
||||||
|
- XRick: emulators/xrick.md
|
||||||
|
- Cross-reference: cross-reference.md
|
||||||
- Gap Analysis: gaps.md
|
- Gap Analysis: gaps.md
|
||||||
- Contributing: contributing.md
|
- Wiki:
|
||||||
|
- Overview: wiki/index.md
|
||||||
|
- Architecture: wiki/architecture.md
|
||||||
|
- Tools: wiki/tools.md
|
||||||
|
- Profiling guide: wiki/profiling.md
|
||||||
|
- Data model: wiki/data-model.md
|
||||||
|
- Contributing: contributing.md
|
||||||
|
|||||||
@@ -578,39 +578,84 @@ def generate_system_page(
|
|||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
def generate_emulators_index(profiles: dict) -> str:
|
def generate_emulators_index(profiles: dict) -> str:
|
||||||
|
unique = {k: v for k, v in profiles.items() if v.get("type") not in ("alias", "test")}
|
||||||
|
aliases = {k: v for k, v in profiles.items() if v.get("type") == "alias"}
|
||||||
|
|
||||||
|
# Group by classification
|
||||||
|
by_class: dict[str, list[tuple[str, dict]]] = {}
|
||||||
|
for name in sorted(unique.keys()):
|
||||||
|
p = unique[name]
|
||||||
|
cls = p.get("core_classification", "other")
|
||||||
|
by_class.setdefault(cls, []).append((name, p))
|
||||||
|
|
||||||
|
total_files = sum(len(p.get("files", [])) for p in unique.values())
|
||||||
|
|
||||||
lines = [
|
lines = [
|
||||||
f"# Emulators - {SITE_NAME}",
|
f"# Emulators - {SITE_NAME}",
|
||||||
"",
|
"",
|
||||||
"| Engine | Type | Systems | Files |",
|
f"**{len(unique)}** emulator profiles, **{total_files}** files total, **{len(aliases)}** aliases.",
|
||||||
"|--------|------|---------|-------|",
|
"",
|
||||||
|
"| Classification | Count | Description |",
|
||||||
|
"|---------------|-------|-------------|",
|
||||||
]
|
]
|
||||||
|
|
||||||
unique = {k: v for k, v in profiles.items() if v.get("type") not in ("alias", "test")}
|
cls_desc = {
|
||||||
test_cores = {k: v for k, v in profiles.items() if v.get("type") == "test"}
|
"official_port": "Same author maintains both standalone and libretro",
|
||||||
aliases = {k: v for k, v in profiles.items() if v.get("type") == "alias"}
|
"community_fork": "Third-party port to libretro",
|
||||||
|
"pure_libretro": "Built for libretro, no standalone version",
|
||||||
|
"game_engine": "Game engine reimplementation",
|
||||||
|
"enhanced_fork": "Fork with added features",
|
||||||
|
"frozen_snapshot": "Frozen at an old version",
|
||||||
|
"embedded_hle": "All ROMs compiled into binary",
|
||||||
|
"launcher": "Launches an external emulator",
|
||||||
|
"other": "Unclassified",
|
||||||
|
}
|
||||||
|
|
||||||
for name in sorted(unique.keys()):
|
cls_order = ["official_port", "community_fork", "pure_libretro",
|
||||||
p = unique[name]
|
"game_engine", "enhanced_fork", "frozen_snapshot",
|
||||||
emu_name = p.get("emulator", name)
|
"embedded_hle", "launcher", "other"]
|
||||||
emu_type = p.get("type", "unknown")
|
|
||||||
systems = p.get("systems", [])
|
|
||||||
files = p.get("files", [])
|
|
||||||
sys_str = ", ".join(systems[:3])
|
|
||||||
if len(systems) > 3:
|
|
||||||
sys_str += f" +{len(systems)-3}"
|
|
||||||
|
|
||||||
lines.append(
|
for cls in cls_order:
|
||||||
f"| [{emu_name}]({name}.md) | {emu_type} | "
|
entries = by_class.get(cls, [])
|
||||||
f"{sys_str} | {len(files)} |"
|
if not entries:
|
||||||
)
|
continue
|
||||||
|
desc = cls_desc.get(cls, "")
|
||||||
|
anchor = cls.replace("_", "-")
|
||||||
|
lines.append(f"| [{cls}](#{anchor}) | {len(entries)} | {desc} |")
|
||||||
|
lines.append("")
|
||||||
|
|
||||||
|
# Per-classification sections
|
||||||
|
for cls in cls_order:
|
||||||
|
entries = by_class.get(cls, [])
|
||||||
|
if not entries:
|
||||||
|
continue
|
||||||
|
lines.extend([
|
||||||
|
f"## {cls}",
|
||||||
|
"",
|
||||||
|
"| Engine | Systems | Files |",
|
||||||
|
"|--------|---------|-------|",
|
||||||
|
])
|
||||||
|
|
||||||
|
for name, p in entries:
|
||||||
|
emu_name = p.get("emulator", name)
|
||||||
|
systems = p.get("systems", [])
|
||||||
|
files = p.get("files", [])
|
||||||
|
sys_str = ", ".join(systems[:3])
|
||||||
|
if len(systems) > 3:
|
||||||
|
sys_str += f" +{len(systems) - 3}"
|
||||||
|
lines.append(
|
||||||
|
f"| [{emu_name}]({name}.md) | {sys_str} | {len(files)} |"
|
||||||
|
)
|
||||||
|
lines.append("")
|
||||||
|
|
||||||
if aliases:
|
if aliases:
|
||||||
lines.extend(["", "## Aliases", ""])
|
lines.extend(["## Aliases", ""])
|
||||||
lines.append("| Core | Points to |")
|
lines.append("| Core | Points to |")
|
||||||
lines.append("|------|-----------|")
|
lines.append("|------|-----------|")
|
||||||
for name in sorted(aliases.keys()):
|
for name in sorted(aliases.keys()):
|
||||||
parent = aliases[name].get("alias_of", "unknown")
|
parent = aliases[name].get("alias_of", "unknown")
|
||||||
lines.append(f"| {name} | [{parent}]({parent}.md) |")
|
lines.append(f"| {name} | [{parent}]({parent}.md) |")
|
||||||
|
lines.append("")
|
||||||
|
|
||||||
return "\n".join(lines) + "\n"
|
return "\n".join(lines) + "\n"
|
||||||
|
|
||||||
@@ -1067,15 +1112,16 @@ def generate_gap_analysis(
|
|||||||
"source_ref": g["source_ref"],
|
"source_ref": g["source_ref"],
|
||||||
})
|
})
|
||||||
|
|
||||||
# Build reverse map: emulator -> platforms that use it
|
# Build reverse map: emulator -> platforms that use it (via cores: field)
|
||||||
|
from common import resolve_platform_cores
|
||||||
emu_to_platforms: dict[str, set[str]] = {}
|
emu_to_platforms: dict[str, set[str]] = {}
|
||||||
for pname, pfiles in platform_files.items():
|
unique_profiles = {k: v for k, v in profiles.items()
|
||||||
for emu_name, emu_profile in profiles.items():
|
if v.get("type") not in ("alias", "test")}
|
||||||
if emu_profile.get("type") == "alias":
|
for pname in coverages:
|
||||||
continue
|
config = coverages[pname]["config"]
|
||||||
emu_file_names = {f.get("name", "") for f in emu_profile.get("files", [])}
|
matched = resolve_platform_cores(config, unique_profiles)
|
||||||
if emu_file_names & pfiles:
|
for emu_name in matched:
|
||||||
emu_to_platforms.setdefault(emu_name, set()).add(pname)
|
emu_to_platforms.setdefault(emu_name, set()).add(pname)
|
||||||
|
|
||||||
if missing_details:
|
if missing_details:
|
||||||
req_missing = [m for m in missing_details if m["required"]]
|
req_missing = [m for m in missing_details if m["required"]]
|
||||||
@@ -1910,10 +1956,38 @@ def generate_mkdocs_nav(
|
|||||||
system_nav.append({mfr: f"systems/{slug}.md"})
|
system_nav.append({mfr: f"systems/{slug}.md"})
|
||||||
|
|
||||||
unique_profiles = {k: v for k, v in profiles.items() if v.get("type") not in ("alias", "test")}
|
unique_profiles = {k: v for k, v in profiles.items() if v.get("type") not in ("alias", "test")}
|
||||||
emu_nav = [{"Overview": "emulators/index.md"}]
|
|
||||||
|
# Group emulators by classification for nav
|
||||||
|
by_class: dict[str, list[tuple[str, str]]] = {}
|
||||||
for name in sorted(unique_profiles.keys()):
|
for name in sorted(unique_profiles.keys()):
|
||||||
display = unique_profiles[name].get("emulator", name)
|
p = unique_profiles[name]
|
||||||
emu_nav.append({display: f"emulators/{name}.md"})
|
cls = p.get("core_classification", "other")
|
||||||
|
display = p.get("emulator", name)
|
||||||
|
by_class.setdefault(cls, []).append((display, f"emulators/{name}.md"))
|
||||||
|
|
||||||
|
# Classification display names
|
||||||
|
cls_labels = {
|
||||||
|
"pure_libretro": "Pure libretro",
|
||||||
|
"official_port": "Official ports",
|
||||||
|
"community_fork": "Community forks",
|
||||||
|
"frozen_snapshot": "Frozen snapshots",
|
||||||
|
"enhanced_fork": "Enhanced forks",
|
||||||
|
"game_engine": "Game engines",
|
||||||
|
"embedded_hle": "Embedded HLE",
|
||||||
|
"launcher": "Launchers",
|
||||||
|
"other": "Other",
|
||||||
|
}
|
||||||
|
|
||||||
|
emu_nav: list = [{"Overview": "emulators/index.md"}]
|
||||||
|
for cls in ["official_port", "community_fork", "pure_libretro",
|
||||||
|
"game_engine", "enhanced_fork", "frozen_snapshot",
|
||||||
|
"embedded_hle", "launcher", "other"]:
|
||||||
|
entries = by_class.get(cls, [])
|
||||||
|
if not entries:
|
||||||
|
continue
|
||||||
|
label = cls_labels.get(cls, cls)
|
||||||
|
sub = [{display: path} for display, path in entries]
|
||||||
|
emu_nav.append({f"{label} ({len(entries)})": sub})
|
||||||
|
|
||||||
wiki_nav = [
|
wiki_nav = [
|
||||||
{"Overview": "wiki/index.md"},
|
{"Overview": "wiki/index.md"},
|
||||||
@@ -2054,16 +2128,56 @@ def main():
|
|||||||
nav = generate_mkdocs_nav(coverages, manufacturers, profiles)
|
nav = generate_mkdocs_nav(coverages, manufacturers, profiles)
|
||||||
nav_yaml = yaml.dump({"nav": nav}, default_flow_style=False, sort_keys=False, allow_unicode=True)
|
nav_yaml = yaml.dump({"nav": nav}, default_flow_style=False, sort_keys=False, allow_unicode=True)
|
||||||
|
|
||||||
with open("mkdocs.yml") as f:
|
# Rewrite mkdocs.yml entirely (static config + generated nav)
|
||||||
content = f.read()
|
mkdocs_static = """\
|
||||||
# Replace nav section (everything from \nnav: to the next top-level key or EOF)
|
site_name: RetroBIOS
|
||||||
import re
|
site_url: https://abdess.github.io/retrobios/
|
||||||
if "\nnav:" in content:
|
repo_url: https://github.com/Abdess/retrobios
|
||||||
content = re.sub(r'\nnav:\n(?:[ \t]+.*\n?)*', '\n' + nav_yaml, content, count=1)
|
repo_name: Abdess/retrobios
|
||||||
else:
|
theme:
|
||||||
content += "\n" + nav_yaml
|
name: material
|
||||||
|
palette:
|
||||||
|
- media: (prefers-color-scheme)
|
||||||
|
toggle:
|
||||||
|
icon: material/brightness-auto
|
||||||
|
name: Switch to light mode
|
||||||
|
- media: '(prefers-color-scheme: light)'
|
||||||
|
scheme: default
|
||||||
|
toggle:
|
||||||
|
icon: material/brightness-7
|
||||||
|
name: Switch to dark mode
|
||||||
|
- media: '(prefers-color-scheme: dark)'
|
||||||
|
scheme: slate
|
||||||
|
toggle:
|
||||||
|
icon: material/brightness-4
|
||||||
|
name: Switch to auto
|
||||||
|
font: false
|
||||||
|
features:
|
||||||
|
- navigation.tabs
|
||||||
|
- navigation.sections
|
||||||
|
- navigation.top
|
||||||
|
- navigation.indexes
|
||||||
|
- search.suggest
|
||||||
|
- search.highlight
|
||||||
|
- content.tabs.link
|
||||||
|
- toc.follow
|
||||||
|
markdown_extensions:
|
||||||
|
- tables
|
||||||
|
- admonition
|
||||||
|
- attr_list
|
||||||
|
- md_in_html
|
||||||
|
- toc:
|
||||||
|
permalink: true
|
||||||
|
- pymdownx.details
|
||||||
|
- pymdownx.superfences
|
||||||
|
- pymdownx.tabbed:
|
||||||
|
alternate_style: true
|
||||||
|
plugins:
|
||||||
|
- search
|
||||||
|
"""
|
||||||
with open("mkdocs.yml", "w") as f:
|
with open("mkdocs.yml", "w") as f:
|
||||||
f.write(content)
|
f.write(mkdocs_static)
|
||||||
|
f.write(nav_yaml)
|
||||||
|
|
||||||
total_pages = (
|
total_pages = (
|
||||||
1 # home
|
1 # home
|
||||||
|
|||||||
Reference in New Issue
Block a user