emmercm / igir

🕹 A zero-setup ROM collection manager that sorts, filters, extracts or archives, patches, and reports on collections of any size on any OS.
https://igir.io/
GNU General Public License v3.0
404 stars 18 forks source link

Include core-specific output option for Onion/GarlicOS #396

Closed chainsawsalad closed 1 year ago

chainsawsalad commented 1 year ago

Is your feature request related to a problem?

Popular SBC devices like Miyoo Mini and Anbernic RG35XX often run the CFW Onion/GarlicOS, which has it's own expected directory structure. It would be great to have the ability to output following this convention, similar to the Analogue Pocket and MiSTer FPGA options.

Describe the solution you'd like

{onion} option that behaves identically to {pocket} and {mister}, but uses the directory names Onion expects.

Additional context

image

See each emulator's magically named folder documented here: https://github.com/OnionUI/Onion/wiki/Emulators

https://www.patreon.com/posts/garlicos-for-76561333

emmercm commented 1 year ago

It's a good suggestion, I had thought about this previously but haven't made any moves yet.

I had an RG350 that had its battery run dry and wouldn't charge, and sort of gave up on those handhelds when I got my Analogue Pocket. I could likely use some help testing this if you have a device.

chainsawsalad commented 1 year ago

I do own an RG35XX running GarlicOS. Happy to help test for you if that's something you'd want.

emmercm commented 1 year ago

@chainsawsalad do the emulator-specific folders go at the root of the SD card? Could you happen to provide a tree -d of the directories on the SD card?

chainsawsalad commented 1 year ago

This is the ROMS partition of the card for GarlicOS 1.3.2. My understanding is that the Roms folder structure is identical to Onion. GarlicOS seems to get regular updates, so it's possible more folders will be added per Onion's Emulators wiki.

./BIOS
./CFW
./Roms
./Roms/GBA
./Roms/AMIGACD
./Roms/PCEIGHTYEIGHT
./Roms/SEVENTYEIGHTHUNDRED
./Roms/SCUMMVM
./Roms/INTELLIVISION
./Roms/MS
./Roms/FIFTYTWOHUNDRED
./Roms/CPS1
./Roms/LYNX
./Roms/DOS
./Roms/ZXS
./Roms/ARCADE
./Roms/GG
./Roms/SEGACD
./Roms/MEGADUCK
./Roms/FBNEO
./Roms/ATARI
./Roms/FC
./Roms/NGP
./Roms/SFC
./Roms/X68000
./Roms/FBA2012
./Roms/FDS
./Roms/MAME2000
./Roms/ODYSSEY
./Roms/PICO
./Roms/COMMODORE
./Roms/PCFX
./Roms/SEGASGONE
./Roms/ZXEIGHTYONE
./Roms/FAIRCHILD
./Roms/VB
./Roms/XONE
./Roms/SGFX
./Roms/PCE
./Roms/TIC
./Roms/PS
./Roms/POKE
./Roms/GBC
./Roms/UZEBOX
./Roms/VECTREX
./Roms/ATARIST
./Roms/GW
./Roms/SATELLAVIEW
./Roms/CPS2
./Roms/GB
./Roms/GB/Imgs
./Roms/MD
./Roms/AMIGA
./Roms/SGB
./Roms/COLECO
./Roms/SUPERVISION
./Roms/MSX
./Roms/CPC
./Roms/PCECD
./Roms/EIGHTHUNDRED
./Roms/NEOGEO
./Roms/NEOCD
./Roms/PCNINETYEIGHT
./Roms/CPS3
./Roms/JAGUAR
./Roms/THIRTYTWOX
./Roms/SUFAMI
./Roms/PANASONIC
./Roms/VIDEOPAC
./Roms/VMU
./Roms/WS
./Roms/QUAKE
./Roms/VIDEOS
./Roms/PORTS
./Roms/APPS
./Saves
emmercm commented 1 year ago

I just put the pull request up if you were interested in testing:

git clone --branch emmercm/onionos https://github.com/emmercm/igir.git
cd igir
nvm use
npm ci
ts-node ./index.ts <commands> <options>

https://github.com/emmercm/igir/pull/413

chainsawsalad commented 1 year ago

Looks pretty good to me after a few tests. There are a handful of unsupported folders, which you're probably aware of. I saw that you already have TODOs for ZXEIGHTYONE and CPS1 / CPS2 / CPS3, but here's the full list supported by Onion that does not have coverage in IGIR:

AMIGACD
ARCADE / FBA2012 / FBNEO / MAME2000 
CPS1 / CPS2 / CPS3
DOS
PCFX
PICO
PORTS
SCUMMVM
SGB
TIC
UZEBOX
VMU
ZXEIGHTYONE

Happy to test more for anything specific you're looking for.

github-actions[bot] commented 1 year ago

:lock: Inactive issue lock

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.