From cbf3fd5a34a9eb48d8520cfbe295986f836abc81 Mon Sep 17 00:00:00 2001 From: Kelvin Sherlock Date: Mon, 13 Nov 2023 22:29:22 -0500 Subject: [PATCH] improved resolution algorithm. uses rounds to nearest integer of 4:3 aspect ratio. --- Ample/Resources/ds2100.plist | 2 +- Ample/Resources/ds3100.plist | 2 +- Ample/Resources/ds5k133.plist | 2 +- Ample/Resources/hp9k310.plist | 2 +- Ample/Resources/hp9k330.plist | 2 +- Ample/Resources/hp9k360.plist | 2 +- Ample/Resources/hp9k370.plist | 2 +- Ample/Resources/hp9k380.plist | 2 +- Ample/Resources/hp9k382.plist | 2 +- Ample/Resources/indigo.plist | 2 +- Ample/Resources/indigo2_4415.plist | 2 +- Ample/Resources/indigo_r4000.plist | 2 +- Ample/Resources/indigo_r4400.plist | 2 +- Ample/Resources/indy_4610.plist | 2 +- Ample/Resources/indy_4613.plist | 2 +- Ample/Resources/indy_5015.plist | 2 +- Ample/Resources/ip2000.plist | 2 +- Ample/Resources/ip2400.plist | 2 +- Ample/Resources/ip2500.plist | 2 +- Ample/Resources/ip2700.plist | 2 +- Ample/Resources/ip2800.plist | 2 +- Ample/Resources/ip6000.plist | 2 +- Ample/Resources/ip6400.plist | 2 +- Ample/Resources/ip6700.plist | 2 +- Ample/Resources/ip6800.plist | 2 +- Ample/Resources/models.plist | 12 -------- Ample/Resources/models~extra.plist | 12 -------- Ample/Resources/nws3260.plist | 2 +- Ample/Resources/pi4d20.plist | 2 +- Ample/Resources/pi4d25.plist | 2 +- Ample/Resources/pi4d30.plist | 2 +- Ample/Resources/pi4d35.plist | 2 +- Ample/Resources/rc3230.plist | 2 +- Ample/Resources/rs2030.plist | 2 +- Ample/Resources/rs3230.plist | 2 +- Ample/Resources/sun2_120.plist | 2 +- Ample/Resources/sun2_50.plist | 2 +- Ample/Resources/sun3_110.plist | 2 +- Ample/Resources/sun3_150.plist | 2 +- Ample/Resources/sun3_260.plist | 2 +- Ample/Resources/sun3_50.plist | 2 +- Ample/Resources/sun3_60.plist | 2 +- Ample/Resources/sun3_80.plist | 2 +- Ample/Resources/sun3_e.plist | 2 +- Ample/Resources/sun4_20.plist | 2 +- Ample/Resources/sun4_25.plist | 2 +- Ample/Resources/sun4_40.plist | 2 +- Ample/Resources/sun4_50.plist | 2 +- Ample/Resources/sun4_65.plist | 2 +- Ample/Resources/vt240.plist | 2 +- python/mkmachines.py | 48 +++++++++++++++++++++++++----- 51 files changed, 89 insertions(+), 79 deletions(-) diff --git a/Ample/Resources/ds2100.plist b/Ample/Resources/ds2100.plist index d417836..e5a982b 100644 --- a/Ample/Resources/ds2100.plist +++ b/Ample/Resources/ds2100.plist @@ -12,7 +12,7 @@ resolution 1024 - 1728 + 864 slots diff --git a/Ample/Resources/ds3100.plist b/Ample/Resources/ds3100.plist index 6f54c57..a0a4878 100644 --- a/Ample/Resources/ds3100.plist +++ b/Ample/Resources/ds3100.plist @@ -12,7 +12,7 @@ resolution 1024 - 1728 + 864 slots diff --git a/Ample/Resources/ds5k133.plist b/Ample/Resources/ds5k133.plist index 61a81cf..8b9d699 100644 --- a/Ample/Resources/ds5k133.plist +++ b/Ample/Resources/ds5k133.plist @@ -12,7 +12,7 @@ resolution 1280 - 2048 + 1024 slots diff --git a/Ample/Resources/hp9k310.plist b/Ample/Resources/hp9k310.plist index 4903d1d..c6a72dd 100644 --- a/Ample/Resources/hp9k310.plist +++ b/Ample/Resources/hp9k310.plist @@ -12,7 +12,7 @@ resolution 1024 - 1536 + 768 slots diff --git a/Ample/Resources/hp9k330.plist b/Ample/Resources/hp9k330.plist index b06a0f2..0ce4539 100644 --- a/Ample/Resources/hp9k330.plist +++ b/Ample/Resources/hp9k330.plist @@ -12,7 +12,7 @@ resolution 1024 - 1536 + 768 slots diff --git a/Ample/Resources/hp9k360.plist b/Ample/Resources/hp9k360.plist index 79d8deb..adbc3d0 100644 --- a/Ample/Resources/hp9k360.plist +++ b/Ample/Resources/hp9k360.plist @@ -12,7 +12,7 @@ resolution 1280 - 2048 + 1024 slots diff --git a/Ample/Resources/hp9k370.plist b/Ample/Resources/hp9k370.plist index 133d2d4..bc30968 100644 --- a/Ample/Resources/hp9k370.plist +++ b/Ample/Resources/hp9k370.plist @@ -12,7 +12,7 @@ resolution 1280 - 2048 + 1024 slots diff --git a/Ample/Resources/hp9k380.plist b/Ample/Resources/hp9k380.plist index 2d4e8bf..9dd773a 100644 --- a/Ample/Resources/hp9k380.plist +++ b/Ample/Resources/hp9k380.plist @@ -12,7 +12,7 @@ resolution 1280 - 2048 + 1024 slots diff --git a/Ample/Resources/hp9k382.plist b/Ample/Resources/hp9k382.plist index a706a23..268c59b 100644 --- a/Ample/Resources/hp9k382.plist +++ b/Ample/Resources/hp9k382.plist @@ -12,7 +12,7 @@ resolution 1280 - 2048 + 1024 slots diff --git a/Ample/Resources/indigo.plist b/Ample/Resources/indigo.plist index 67eaa62..a280936 100644 --- a/Ample/Resources/indigo.plist +++ b/Ample/Resources/indigo.plist @@ -12,7 +12,7 @@ resolution 1024 - 1536 + 768 slots diff --git a/Ample/Resources/indigo2_4415.plist b/Ample/Resources/indigo2_4415.plist index ab7a083..8ea1b8b 100644 --- a/Ample/Resources/indigo2_4415.plist +++ b/Ample/Resources/indigo2_4415.plist @@ -12,7 +12,7 @@ resolution 1280 - 2048 + 1024 slots diff --git a/Ample/Resources/indigo_r4000.plist b/Ample/Resources/indigo_r4000.plist index 764c7d7..8ede480 100644 --- a/Ample/Resources/indigo_r4000.plist +++ b/Ample/Resources/indigo_r4000.plist @@ -12,7 +12,7 @@ resolution 1024 - 1536 + 768 slots diff --git a/Ample/Resources/indigo_r4400.plist b/Ample/Resources/indigo_r4400.plist index e5ba457..63905a2 100644 --- a/Ample/Resources/indigo_r4400.plist +++ b/Ample/Resources/indigo_r4400.plist @@ -12,7 +12,7 @@ resolution 1024 - 1536 + 768 slots diff --git a/Ample/Resources/indy_4610.plist b/Ample/Resources/indy_4610.plist index 031930f..ff86fa0 100644 --- a/Ample/Resources/indy_4610.plist +++ b/Ample/Resources/indy_4610.plist @@ -12,7 +12,7 @@ resolution 1280 - 2048 + 1024 slots diff --git a/Ample/Resources/indy_4613.plist b/Ample/Resources/indy_4613.plist index f7c8409..be32756 100644 --- a/Ample/Resources/indy_4613.plist +++ b/Ample/Resources/indy_4613.plist @@ -12,7 +12,7 @@ resolution 1280 - 2048 + 1024 slots diff --git a/Ample/Resources/indy_5015.plist b/Ample/Resources/indy_5015.plist index e332ba6..ebe1678 100644 --- a/Ample/Resources/indy_5015.plist +++ b/Ample/Resources/indy_5015.plist @@ -12,7 +12,7 @@ resolution 1280 - 2048 + 1024 slots diff --git a/Ample/Resources/ip2000.plist b/Ample/Resources/ip2000.plist index 49ce198..6f69044 100644 --- a/Ample/Resources/ip2000.plist +++ b/Ample/Resources/ip2000.plist @@ -12,7 +12,7 @@ resolution 1184 - 1768 + 884 slots diff --git a/Ample/Resources/ip2400.plist b/Ample/Resources/ip2400.plist index b5b062e..46b0213 100644 --- a/Ample/Resources/ip2400.plist +++ b/Ample/Resources/ip2400.plist @@ -12,7 +12,7 @@ resolution 1184 - 1768 + 884 slots diff --git a/Ample/Resources/ip2500.plist b/Ample/Resources/ip2500.plist index 52f9324..662023a 100644 --- a/Ample/Resources/ip2500.plist +++ b/Ample/Resources/ip2500.plist @@ -12,7 +12,7 @@ resolution 1184 - 1768 + 884 slots diff --git a/Ample/Resources/ip2700.plist b/Ample/Resources/ip2700.plist index f104842..918e23d 100644 --- a/Ample/Resources/ip2700.plist +++ b/Ample/Resources/ip2700.plist @@ -12,7 +12,7 @@ resolution 1184 - 1768 + 884 slots diff --git a/Ample/Resources/ip2800.plist b/Ample/Resources/ip2800.plist index 75c1e71..a9ea41a 100644 --- a/Ample/Resources/ip2800.plist +++ b/Ample/Resources/ip2800.plist @@ -12,7 +12,7 @@ resolution 1184 - 1768 + 884 slots diff --git a/Ample/Resources/ip6000.plist b/Ample/Resources/ip6000.plist index bb5bd40..fde5203 100644 --- a/Ample/Resources/ip6000.plist +++ b/Ample/Resources/ip6000.plist @@ -12,7 +12,7 @@ resolution 1184 - 1768 + 884 slots diff --git a/Ample/Resources/ip6400.plist b/Ample/Resources/ip6400.plist index c3c821d..64309f9 100644 --- a/Ample/Resources/ip6400.plist +++ b/Ample/Resources/ip6400.plist @@ -12,7 +12,7 @@ resolution 1184 - 1768 + 884 slots diff --git a/Ample/Resources/ip6700.plist b/Ample/Resources/ip6700.plist index b35dc88..4c603b8 100644 --- a/Ample/Resources/ip6700.plist +++ b/Ample/Resources/ip6700.plist @@ -12,7 +12,7 @@ resolution 1664 - 2496 + 1248 slots diff --git a/Ample/Resources/ip6800.plist b/Ample/Resources/ip6800.plist index a6f3b1e..45cfc66 100644 --- a/Ample/Resources/ip6800.plist +++ b/Ample/Resources/ip6800.plist @@ -12,7 +12,7 @@ resolution 1664 - 2496 + 1248 slots diff --git a/Ample/Resources/models.plist b/Ample/Resources/models.plist index ab2955a..6defe22 100644 --- a/Ample/Resources/models.plist +++ b/Ample/Resources/models.plist @@ -569,12 +569,6 @@ value macqd610 - - description - Macintosh Quadra 630 - value - macqd630 - description Macintosh Quadra 650 @@ -648,12 +642,6 @@ value maclc575 - - description - Macintosh LC/Performa 580 - value - maclc580 - description Macintosh Centris 610 diff --git a/Ample/Resources/models~extra.plist b/Ample/Resources/models~extra.plist index c00315a..d0deb9b 100644 --- a/Ample/Resources/models~extra.plist +++ b/Ample/Resources/models~extra.plist @@ -569,12 +569,6 @@ value macqd610 - - description - Macintosh Quadra 630 - value - macqd630 - description Macintosh Quadra 650 @@ -648,12 +642,6 @@ value maclc575 - - description - Macintosh LC/Performa 580 - value - maclc580 - description Macintosh Centris 610 diff --git a/Ample/Resources/nws3260.plist b/Ample/Resources/nws3260.plist index 06fc62f..c5c7e27 100644 --- a/Ample/Resources/nws3260.plist +++ b/Ample/Resources/nws3260.plist @@ -12,7 +12,7 @@ resolution 1120 - 1560 + 780 slots diff --git a/Ample/Resources/pi4d20.plist b/Ample/Resources/pi4d20.plist index c2e1198..a3727a0 100644 --- a/Ample/Resources/pi4d20.plist +++ b/Ample/Resources/pi4d20.plist @@ -12,7 +12,7 @@ resolution 1280 - 2048 + 1024 slots diff --git a/Ample/Resources/pi4d25.plist b/Ample/Resources/pi4d25.plist index ab228d3..73c43e8 100644 --- a/Ample/Resources/pi4d25.plist +++ b/Ample/Resources/pi4d25.plist @@ -12,7 +12,7 @@ resolution 1280 - 2048 + 1024 slots diff --git a/Ample/Resources/pi4d30.plist b/Ample/Resources/pi4d30.plist index 739ecb1..c5336cd 100644 --- a/Ample/Resources/pi4d30.plist +++ b/Ample/Resources/pi4d30.plist @@ -12,7 +12,7 @@ resolution 1024 - 1536 + 768 slots diff --git a/Ample/Resources/pi4d35.plist b/Ample/Resources/pi4d35.plist index 8959f09..7781fec 100644 --- a/Ample/Resources/pi4d35.plist +++ b/Ample/Resources/pi4d35.plist @@ -12,7 +12,7 @@ resolution 1024 - 1536 + 768 slots diff --git a/Ample/Resources/rc3230.plist b/Ample/Resources/rc3230.plist index 27b68b7..d753c6b 100644 --- a/Ample/Resources/rc3230.plist +++ b/Ample/Resources/rc3230.plist @@ -12,7 +12,7 @@ resolution 1152 - 1800 + 900 slots diff --git a/Ample/Resources/rs2030.plist b/Ample/Resources/rs2030.plist index 234bd59..c76825d 100644 --- a/Ample/Resources/rs2030.plist +++ b/Ample/Resources/rs2030.plist @@ -12,7 +12,7 @@ resolution 1280 - 2048 + 1024 slots diff --git a/Ample/Resources/rs3230.plist b/Ample/Resources/rs3230.plist index 5f5810d..49ec0a0 100644 --- a/Ample/Resources/rs3230.plist +++ b/Ample/Resources/rs3230.plist @@ -12,7 +12,7 @@ resolution 1152 - 1800 + 900 slots diff --git a/Ample/Resources/sun2_120.plist b/Ample/Resources/sun2_120.plist index 9000994..d22d330 100644 --- a/Ample/Resources/sun2_120.plist +++ b/Ample/Resources/sun2_120.plist @@ -12,7 +12,7 @@ resolution 1152 - 1800 + 900 slots diff --git a/Ample/Resources/sun2_50.plist b/Ample/Resources/sun2_50.plist index d81fb9d..560dfe4 100644 --- a/Ample/Resources/sun2_50.plist +++ b/Ample/Resources/sun2_50.plist @@ -12,7 +12,7 @@ resolution 1152 - 1800 + 900 slots diff --git a/Ample/Resources/sun3_110.plist b/Ample/Resources/sun3_110.plist index a43989a..776f95a 100644 --- a/Ample/Resources/sun3_110.plist +++ b/Ample/Resources/sun3_110.plist @@ -12,7 +12,7 @@ resolution 1152 - 1800 + 900 slots diff --git a/Ample/Resources/sun3_150.plist b/Ample/Resources/sun3_150.plist index 3836fd6..610c6ea 100644 --- a/Ample/Resources/sun3_150.plist +++ b/Ample/Resources/sun3_150.plist @@ -12,7 +12,7 @@ resolution 1152 - 1800 + 900 slots diff --git a/Ample/Resources/sun3_260.plist b/Ample/Resources/sun3_260.plist index 7e70308..4d6ce6e 100644 --- a/Ample/Resources/sun3_260.plist +++ b/Ample/Resources/sun3_260.plist @@ -12,7 +12,7 @@ resolution 1600 - 2200 + 1100 slots diff --git a/Ample/Resources/sun3_50.plist b/Ample/Resources/sun3_50.plist index 9c95b32..4f13c08 100644 --- a/Ample/Resources/sun3_50.plist +++ b/Ample/Resources/sun3_50.plist @@ -12,7 +12,7 @@ resolution 1152 - 1800 + 900 slots diff --git a/Ample/Resources/sun3_60.plist b/Ample/Resources/sun3_60.plist index 5aed3ec..e378749 100644 --- a/Ample/Resources/sun3_60.plist +++ b/Ample/Resources/sun3_60.plist @@ -12,7 +12,7 @@ resolution 1600 - 2200 + 1100 slots diff --git a/Ample/Resources/sun3_80.plist b/Ample/Resources/sun3_80.plist index e4a87e6..f082b1f 100644 --- a/Ample/Resources/sun3_80.plist +++ b/Ample/Resources/sun3_80.plist @@ -12,7 +12,7 @@ resolution 1152 - 1800 + 900 slots diff --git a/Ample/Resources/sun3_e.plist b/Ample/Resources/sun3_e.plist index 3a5bfe4..62828ef 100644 --- a/Ample/Resources/sun3_e.plist +++ b/Ample/Resources/sun3_e.plist @@ -12,7 +12,7 @@ resolution 1152 - 1800 + 900 slots diff --git a/Ample/Resources/sun4_20.plist b/Ample/Resources/sun4_20.plist index 24806c2..86db3ef 100644 --- a/Ample/Resources/sun4_20.plist +++ b/Ample/Resources/sun4_20.plist @@ -12,7 +12,7 @@ resolution 1152 - 1800 + 900 slots diff --git a/Ample/Resources/sun4_25.plist b/Ample/Resources/sun4_25.plist index cabe6e0..f288c98 100644 --- a/Ample/Resources/sun4_25.plist +++ b/Ample/Resources/sun4_25.plist @@ -12,7 +12,7 @@ resolution 1152 - 1800 + 900 slots diff --git a/Ample/Resources/sun4_40.plist b/Ample/Resources/sun4_40.plist index 2c2c2ca..73be5e5 100644 --- a/Ample/Resources/sun4_40.plist +++ b/Ample/Resources/sun4_40.plist @@ -12,7 +12,7 @@ resolution 1152 - 1800 + 900 slots diff --git a/Ample/Resources/sun4_50.plist b/Ample/Resources/sun4_50.plist index 7176497..84b25d5 100644 --- a/Ample/Resources/sun4_50.plist +++ b/Ample/Resources/sun4_50.plist @@ -12,7 +12,7 @@ resolution 1152 - 1800 + 900 slots diff --git a/Ample/Resources/sun4_65.plist b/Ample/Resources/sun4_65.plist index e975f25..0a8a71d 100644 --- a/Ample/Resources/sun4_65.plist +++ b/Ample/Resources/sun4_65.plist @@ -12,7 +12,7 @@ resolution 1152 - 1800 + 900 slots diff --git a/Ample/Resources/vt240.plist b/Ample/Resources/vt240.plist index e17445c..6b49eeb 100644 --- a/Ample/Resources/vt240.plist +++ b/Ample/Resources/vt240.plist @@ -12,7 +12,7 @@ resolution 800 - 960 + 480 slots diff --git a/python/mkmachines.py b/python/mkmachines.py index 0fcdb0d..10c3bd6 100644 --- a/python/mkmachines.py +++ b/python/mkmachines.py @@ -594,6 +594,46 @@ def file_changed(path, data): return 'updated' +def find_machine_resolution(machine): + + name = machine.get("cloneof") + if not name: name = machine.get("name") + + # node = machine.find('display[@tag="screen"]') + node = machine.find('./display') + width = int(node.get("width")) + height = int(node.get("height")) + + hscale = 1 + wscale = 1 + + # mame height is often garbage. + + # raster screens have a default aspect ratio of 4 : 3 + # pre-calc something like that, but integer-based. + + hscale = round((width * 3 / 4 ) / height) + if hscale < 1 : hscale = 1 + + return [width, height * hscale] + + # if height * 2 < width: + # hscale = 2 + + # if name in ( + # "apple1", "apple2", "apple2e", "apple2c", "apple2gs", "apple3", + # "las3000", + # "st", "ste", "tt030", + # "ceci", "cece", "cecg", "cecm", "cec2000", "zijini"): + # hscale = 2 + + + #print('display:', node.get('tag')) + #hscale = 2 + #if m[0:3] == "mac": hscale = 1 + #return [int(node.get("width")), int(node.get("height")) * hscale] + + devices = {} @@ -629,13 +669,7 @@ for m in machines: data["media"] = find_machine_media(machine) - - # node = machine.find('display[@tag="screen"]') - node = machine.find('./display') - #print('display:', node.get('tag')) - hscale = 2 - if m[0:3] == "mac": hscale = 1 - data["resolution"] = [int(node.get("width")), int(node.get("height")) * hscale] + data["resolution"] = find_machine_resolution(machine) # submachines.clear() # for x in root.findall("machine[@isdevice='yes']"):