feat: add data partition creation with ROM directory structure
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
14e9fa0f91
commit
88c7b17237
|
|
@ -0,0 +1,37 @@
|
||||||
|
#!/bin/bash
|
||||||
|
# Create the data partition image with ROM directory structure.
|
||||||
|
set -e
|
||||||
|
|
||||||
|
script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
|
||||||
|
image="$1"
|
||||||
|
|
||||||
|
if [ -z "$image" ]; then
|
||||||
|
echo "Usage: $0 IMAGE"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Build guestfish commands to create exFAT filesystem with ROM dirs
|
||||||
|
script=(
|
||||||
|
"run"
|
||||||
|
"mkfs vfat /dev/sda label:ROMS"
|
||||||
|
"mount /dev/sda /"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Create ROM directories
|
||||||
|
while IFS= read -r dir; do
|
||||||
|
[ -z "$dir" ] && continue
|
||||||
|
[[ "$dir" =~ ^# ]] && continue
|
||||||
|
script+=("mkdir \"/roms/$dir\"")
|
||||||
|
done < "$script_dir/rom-dirs.txt"
|
||||||
|
|
||||||
|
# Create support directories
|
||||||
|
script+=("mkdir \"/roms/bios\"")
|
||||||
|
script+=("mkdir \"/roms/saves\"")
|
||||||
|
script+=("mkdir \"/roms/screenshots\"")
|
||||||
|
|
||||||
|
for cmd in "${script[@]}"; do
|
||||||
|
echo "$cmd"
|
||||||
|
done | guestfish --format=raw -a "$image"
|
||||||
|
|
||||||
|
echo "Data partition image created at $image"
|
||||||
|
|
@ -0,0 +1,88 @@
|
||||||
|
3do
|
||||||
|
amiga
|
||||||
|
amigacd32
|
||||||
|
amstradcpc
|
||||||
|
amstradgx4000
|
||||||
|
arcade
|
||||||
|
astrocde
|
||||||
|
atari2600
|
||||||
|
atari5200
|
||||||
|
atari7800
|
||||||
|
atari800
|
||||||
|
atarijaguar
|
||||||
|
atarilynx
|
||||||
|
atarist
|
||||||
|
atarixegs
|
||||||
|
atomiswave
|
||||||
|
c128
|
||||||
|
c16
|
||||||
|
c64
|
||||||
|
channelf
|
||||||
|
coleco
|
||||||
|
daphne
|
||||||
|
doom
|
||||||
|
dos
|
||||||
|
dreamcast
|
||||||
|
easyrpg
|
||||||
|
famicom
|
||||||
|
fbneo
|
||||||
|
fds
|
||||||
|
gamegear
|
||||||
|
gb
|
||||||
|
gba
|
||||||
|
gbc
|
||||||
|
genesis
|
||||||
|
intellivision
|
||||||
|
lowresnx
|
||||||
|
mame
|
||||||
|
mastersystem
|
||||||
|
megadrive
|
||||||
|
megaduck
|
||||||
|
msx
|
||||||
|
msx2
|
||||||
|
n64
|
||||||
|
naomi
|
||||||
|
nds
|
||||||
|
neogeo
|
||||||
|
neogeocd
|
||||||
|
nes
|
||||||
|
ngp
|
||||||
|
ngpc
|
||||||
|
odyssey2
|
||||||
|
openbor
|
||||||
|
pc
|
||||||
|
pc98
|
||||||
|
pcengine
|
||||||
|
pcenginecd
|
||||||
|
pcfx
|
||||||
|
pico8
|
||||||
|
pokemini
|
||||||
|
ports
|
||||||
|
psp
|
||||||
|
psx
|
||||||
|
satellaview
|
||||||
|
saturn
|
||||||
|
scummvm
|
||||||
|
sega32x
|
||||||
|
segacd
|
||||||
|
sfc
|
||||||
|
sg1000
|
||||||
|
snes
|
||||||
|
sufami
|
||||||
|
supergrafx
|
||||||
|
supervision
|
||||||
|
tg16
|
||||||
|
tg16cd
|
||||||
|
tic80
|
||||||
|
uzebox
|
||||||
|
vectrex
|
||||||
|
vic20
|
||||||
|
videopac
|
||||||
|
virtualboy
|
||||||
|
wonderswan
|
||||||
|
wonderswancolor
|
||||||
|
wolf3d
|
||||||
|
x1
|
||||||
|
x68000
|
||||||
|
zx81
|
||||||
|
zxspectrum
|
||||||
Loading…
Reference in New Issue