RetroDECK icon indicating copy to clipboard operation
RetroDECK copied to clipboard

Add: MAME - Standalone

Open XargonWan opened this issue 2 years ago • 3 comments

TODO:

  • [x] Complete https://github.com/XargonWan/RetroDECK/issues/506
  • [x] Add emulator to the manifest
  • [x] Check if the System is present in es-configs/es_find_rules.xml and enable it
  • [x] Enable system/emulator on ES-DE es-configs/es_systems.xml
  • [x] Add open emulator entry in tools/configurator.sh
  • [ ] Test the emulator
  • [x] Configure the emulator
  • [x] edit or symlink the saves folders
  • [x] Include emulator configurations
  • [ ] Add emulator preparation\reset into functions/prepare_emulator.sh
  • [x] Add emulator reset entry in tools/configurator.sh
  • [ ] Expose mods/textures folders
  • [ ] Add the inputs and map them to the CUP

MAME specific:

We need to initialize the dir in the init script mkdir -p /var/config/mame

NOTE: emu-config/mame is /var/config/mame

XargonWan avatar Jul 07 '22 09:07 XargonWan

This would add the following systems that is not supported by the LibreRetro Core: arcadia - Emerson Arcadia 2001 apple2 - Apple II bbcmicro - Acorn Computers BBC Micro crvision - VTech CreatiVision gamecom - Tiger Electronics Game.com gmaster - Hartung Game Master pv1000 - Casio PV-1000 scv - Epoch Super Cassette Vision ti99 - Texas Instruments TI-99 vsmile - VTech V.Smile

Lazorne avatar Aug 28 '23 10:08 Lazorne

Bulding mame increases the compilation time at 4h+, we should consider to install the binary instead. https://launchpad.net/~c.falco/+archive/mame/+files/mame_0.258+dfsg.1-0ubuntu1~ppa1~lunar1_amd64.deb

XargonWan avatar Oct 14 '23 17:10 XargonWan

I created a repo for it but we're still in a full stop because it's not buildable even there.

Asked for MAME Team support: https://github.com/orgs/mamedev/discussions/85

XargonWan avatar Dec 29 '23 13:12 XargonWan

Add the plugin folder as a symlink to mods/mame-sa/plugins As we don't know what the users want to add and we can make it easy.

All the current pathing needs to be fixed to all under app/share/mame and /home/user/.mame

Lazorne avatar Feb 17 '24 07:02 Lazorne

Outline Folder structure

Things might change and variables need to be added.

  • config/mame/ - This holds all config files for input, settings and things.
  • data/mame/ - This holds top level data like cheats, plugins, hashes and the assets folder.
  • data/mame/assets/ - This holds all art and metadata asset folders. This also make it easier in the future if users want a easier access we can just symlink the assets folder.

mame.ini

#
# CORE SEARCH PATH OPTIONS
#
homepath                 .var/app/net.retrodeck.retrodeck/data/mame/plugin-data
rompath                   retrodeck/roms/mame/
hashpath                 .var/app/net.retrodeck.retrodeck/data/mame/hash
samplepath               .var/app/net.retrodeck.retrodeck/data/mame/assets/samples
artpath                  .var/app/net.retrodeck.retrodeck/data/mame/assets/artwork
ctrlrpath                .var/app/net.retrodeck.retrodeck/config/ctrlr
inipath                  .var/app/net.retrodeck.retrodeck/config/mame/ini
fontpath                 .var/app/net.retrodeck.retrodeck/data/mame/assets/fonts
cheatpath                .var/app/net.retrodeck.retrodeck/data/mame/cheat
crosshairpath            .var/app/net.retrodeck.retrodeck/data/mame/assets/crosshair
pluginspath              .var/app/net.retrodeck.retrodeck/data/mame/plugins
languagepath             .var/app/net.retrodeck.retrodeck/data/mame/assets/language
swpath                   .var/app/net.retrodeck.retrodeck/data/mame/assets/software

#
# CORE OUTPUT DIRECTORY OPTIONS
#
cfg_directory            .var/app/net.retrodeck.retrodeck/config/mame/cfg
nvram_directory          retrodeck/saves/mame-sa/nvram
input_directory          .var/app/net.retrodeck.retrodeck/config/mame/inp
state_directory          retrodeck/states/mame-sa
snapshot_directory       retrodeck/screenshots/mame-sa
diff_directory           retrodeck/saves/mame-sa/diff
comment_directory        .var/app/net.retrodeck.retrodeck/data/mame/assets/comments
share_directory          .var/app/net.retrodeck.retrodeck/data/mame/assets/share

Rompath should be ; separated for each folder mame should target. Arcade, bbcmicro, mame etc... all will need to be added.

ui.ini

#
# UI SEARCH PATH OPTIONS
#
historypath              .var/app/net.retrodeck.retrodeck/data/mame/dats
categorypath             .var/app/net.retrodeck.retrodeck/data/mame/folders
cabinets_directory       .var/app/net.retrodeck.retrodeck/data/mame/assets/cabinets
cpanels_directory        .var/app/net.retrodeck.retrodeck/data/mame/assets/cpanel
pcbs_directory           .var/app/net.retrodeck.retrodeck/data/mame/assets/pcb
flyers_directory         .var/app/net.retrodeck.retrodeck/data/mame/assets/flyers
titles_directory         .var/app/net.retrodeck.retrodeck/data/mame/assets/titles
ends_directory           .var/app/net.retrodeck.retrodeck/data/mame/assets/ends
marquees_directory       .var/app/net.retrodeck.retrodeck/data/mame/assets/marquees
artwork_preview_directory.var/app/net.retrodeck.retrodeck/data/mame/assets/artwork-preview
bosses_directory         .var/app/net.retrodeck.retrodeck/data/mame/assets/bosses
logos_directory          .var/app/net.retrodeck.retrodeck/data/mame/assets/logo
scores_directory         .var/app/net.retrodeck.retrodeck/data/mame/assets/scores
versus_directory         .var/app/net.retrodeck.retrodeck/data/mame/assets/versus
gameover_directory       .var/app/net.retrodeck.retrodeck/data/mame/assets/gameover
howto_directory          .var/app/net.retrodeck.retrodeck/data/mame/assets/howto
select_directory         .var/app/net.retrodeck.retrodeck/data/mame/assets/select
icons_directory          .var/app/net.retrodeck.retrodeck/data/mame/assets/icons
covers_directory         .var/app/net.retrodeck.retrodeck/data/mame/assets/covers
ui_path                  .var/app/net.retrodeck.retrodeck/data/mame/assets/ui

Lazorne avatar Feb 20 '24 11:02 Lazorne

Maybe this should move up one level and not be under assets

comment_directory        .var/app/net.retrodeck.retrodeck/data/mame/comments
share_directory          .var/app/net.retrodeck.retrodeck/data/mame/share

Lazorne avatar Feb 20 '24 12:02 Lazorne