diff --git a/Ample/Resources/agat7.plist b/Ample/Resources/agat7.plist index a8eea7d..7e35f89 100644 --- a/Ample/Resources/agat7.plist +++ b/Ample/Resources/agat7.plist @@ -19,8 +19,6 @@ media - flop_5_25 - 2 cass 1 diff --git a/Ample/Resources/agat9.plist b/Ample/Resources/agat9.plist index eb71f89..8f46904 100644 --- a/Ample/Resources/agat9.plist +++ b/Ample/Resources/agat9.plist @@ -19,8 +19,6 @@ media - flop_5_25 - 2 cass 1 diff --git a/Ample/Resources/apple1.plist b/Ample/Resources/apple1.plist index d35548a..8de0f83 100644 --- a/Ample/Resources/apple1.plist +++ b/Ample/Resources/apple1.plist @@ -107,8 +107,6 @@ media - cass - 1 resolution diff --git a/Ample/Resources/apple3.plist b/Ample/Resources/apple3.plist index d4bd7d0..07dcabf 100644 --- a/Ample/Resources/apple3.plist +++ b/Ample/Resources/apple3.plist @@ -35,6 +35,8 @@ media + flop_5_25 + 4 resolution diff --git a/python/mkmachines.py b/python/mkmachines.py index 1c8d608..8cf0c39 100644 --- a/python/mkmachines.py +++ b/python/mkmachines.py @@ -19,7 +19,40 @@ DISABLED = set(( 'vulcangold', 'vulcaniie', )) - + + +def find_machine_media(parent): + # look for relevant device nodes. If the tag contains a slot, skip since it's + # not built in. Except the Apple3, where the floppy drives are actually slots 0/1/2/3/4 + # + # apple1 has a "snapshot" device. not currently supported. + + # no machines have built-in hard drives. + remap = { + "cassette": "cass", + "apple1_cass": "cass", + "apple2_cass": "cass", + "floppy_5_25": "flop_5_25", + "floppy_3_5": "flop_3_5", + } + media = {} + for x in parent.findall("./device"): + tag = x.get("tag") + typ = x.get("type") + intf = x.get("interface") + if intf == None: intf = typ # cassette has no interface. + + # print(" ",intf) + # skip slot devices -- they'll be handled as part of the device. + if ":" in tag and tag[0] not in "0123456789": continue + + if intf in remap: + name = remap[intf] + media[name] = media.get(name, 0) + 1 + + return media + + def find_media(parent, include_slots=False): @@ -123,7 +156,7 @@ for m in MACHINES: data["ram"] = tmp - data["media"] = find_media(machine) + data["media"] = find_machine_media(machine) # node = machine.find('display[@tag="screen"]')