mirror of
https://github.com/ksherlock/ample.git
synced 2024-06-17 15:29:38 +00:00
script to auto-generate rom list.
Found a few missing in the process.
This commit is contained in:
parent
4c1541a7da
commit
521d33ba55
|
@ -28,7 +28,6 @@
|
|||
<string>a2mouse</string>
|
||||
<string>a2parprn</string>
|
||||
<string>a2pic</string>
|
||||
<string>a2pic</string>
|
||||
<string>a2ramfac</string>
|
||||
<string>a2scsi</string>
|
||||
<string>a2sider1</string>
|
||||
|
@ -50,7 +49,11 @@
|
|||
<string>a2vuliie</string>
|
||||
<string>a2zipdrv</string>
|
||||
<string>a3fdc</string>
|
||||
<string>agat7_flop</string>
|
||||
<string>agat840k_hle</string>
|
||||
<string>agat9_flop</string>
|
||||
<string>agat_fdc</string>
|
||||
<string>ap2000</string>
|
||||
<string>apple1</string>
|
||||
<string>apple2</string>
|
||||
<string>apple2c</string>
|
||||
|
@ -64,17 +67,29 @@
|
|||
<string>cecg</string>
|
||||
<string>ceci</string>
|
||||
<string>cecm</string>
|
||||
<string>cga</string>
|
||||
<string>cffa1</string>
|
||||
<string>chessmachine</string>
|
||||
<string>cmsscsi</string>
|
||||
<string>comx_pl80</string>
|
||||
<string>d2fdc</string>
|
||||
<string>diskii13</string>
|
||||
<string>egret</string>
|
||||
<string>ex800</string>
|
||||
<string>ie15_device</string>
|
||||
<string>ie15kbd</string>
|
||||
<string>kb_ec1841</string>
|
||||
<string>kb_iskr1030</string>
|
||||
<string>kb_pc83</string>
|
||||
<string>kb_pcxt83</string>
|
||||
<string>keytronic_pc3270</string>
|
||||
<string>lx800</string>
|
||||
<string>lx810l</string>
|
||||
<string>m68705p3</string>
|
||||
<string>maciici</string>
|
||||
<string>maclc</string>
|
||||
<string>maclc2</string>
|
||||
<string>maclc3</string>
|
||||
<string>nb_48gc</string>
|
||||
<string>nb_824gc</string>
|
||||
<string>nb_aenet</string>
|
||||
<string>nb_amc3b</string>
|
||||
|
@ -90,7 +105,9 @@
|
|||
<string>nb_spdq</string>
|
||||
<string>nb_vikbw</string>
|
||||
<string>nb_wspt</string>
|
||||
<string>p72</string>
|
||||
<string>qsound</string>
|
||||
<string>swtpc8212_device</string>
|
||||
<string>votrax</string>
|
||||
<string>ym2608</string>
|
||||
<string>zijini</string>
|
||||
|
|
118
python/mkroms.py
Normal file
118
python/mkroms.py
Normal file
|
@ -0,0 +1,118 @@
|
|||
import argparse
|
||||
import subprocess
|
||||
|
||||
from plist import to_plist
|
||||
|
||||
import xml.etree.ElementTree as ET
|
||||
|
||||
from machines import MACHINES
|
||||
|
||||
|
||||
|
||||
# a2pcxport dependencies. not automatically included though
|
||||
# (would need to manually pull devnames from a2pcxport then)
|
||||
# listxml for them.
|
||||
|
||||
EXTRA_MACHINES = [
|
||||
'vgmplay',
|
||||
'cga',
|
||||
'kb_iskr1030',
|
||||
'kb_ec1841',
|
||||
'kb_pc83',
|
||||
'kb_pcxt83',
|
||||
'keytronic_pc3270',
|
||||
]
|
||||
|
||||
|
||||
p = argparse.ArgumentParser()
|
||||
p.add_argument('machine', nargs="*")
|
||||
args = p.parse_args()
|
||||
|
||||
machines = args.machine
|
||||
if not machines: machines = [ *MACHINES, *EXTRA_MACHINES]
|
||||
|
||||
# roms stored in other files.
|
||||
EXCLUDE = [
|
||||
'ace100',
|
||||
'agat7',
|
||||
'agat9',
|
||||
'albert',
|
||||
'am100',
|
||||
'am64',
|
||||
'apple2cp',
|
||||
'apple2ee',
|
||||
'apple2eefr',
|
||||
'apple2ees',
|
||||
'apple2eeuk',
|
||||
'apple2ep',
|
||||
'apple2euk',
|
||||
'apple2gsr0',
|
||||
'apple2gsr1',
|
||||
'apple2jp',
|
||||
'apple2p',
|
||||
'basis108',
|
||||
'craft2p',
|
||||
'dodo',
|
||||
'elppa',
|
||||
'hkc8800a',
|
||||
'ivelultr',
|
||||
'las128e2',
|
||||
'las128ex',
|
||||
'laser128',
|
||||
'laser2c',
|
||||
'maxxi',
|
||||
'microeng',
|
||||
'mprof3',
|
||||
'prav82',
|
||||
'prav8c',
|
||||
'prav8m',
|
||||
'space84',
|
||||
'spectred',
|
||||
'uniap2en',
|
||||
'uniap2pt',
|
||||
'uniap2ti',
|
||||
]
|
||||
|
||||
|
||||
mnames = set()
|
||||
rnames = set()
|
||||
for m in machines:
|
||||
|
||||
print(m)
|
||||
|
||||
env = {'DYLD_FALLBACK_FRAMEWORK_PATH': '../embedded'}
|
||||
st = subprocess.run(["../embedded/mame64", m, "-listxml"], capture_output=True, env=env)
|
||||
if st.returncode != 0:
|
||||
print("mame error: {}".format(m))
|
||||
exit(1)
|
||||
|
||||
data = { }
|
||||
|
||||
xml = st.stdout
|
||||
root = ET.fromstring(xml)
|
||||
|
||||
# find machines that have a rom child
|
||||
for x in root.findall('machine/rom/..'):
|
||||
mnames.add(x.get('name'))
|
||||
for y in x.findall('./rom'):
|
||||
rnames.add(y.get('name'))
|
||||
|
||||
|
||||
# print("\n\n\n")
|
||||
# ll = list(mnames.difference(EXCLUDE))
|
||||
# ll.sort()
|
||||
# for x in ll:
|
||||
# print(x)
|
||||
|
||||
ROMS = list(mnames.difference(EXCLUDE))
|
||||
ROMS.sort()
|
||||
|
||||
data = {}
|
||||
data["source"] = "https://archive.org/download/mame0.224"
|
||||
data["type"] = "zip"
|
||||
data["version"] = "0.224"
|
||||
data["roms"] = ROMS
|
||||
|
||||
# print(ROMS)
|
||||
with open("../Ample/Resources/roms.plist", "w") as f:
|
||||
f.write(to_plist(data))
|
Loading…
Reference in New Issue
Block a user