improved submachine loading and more slot options for cards

This commit is contained in:
Kelvin Sherlock
2021-03-19 16:46:32 -04:00
parent ffb76a31f9
commit fe0d690f87
53 changed files with 77758 additions and 30237 deletions
+1338 -303
View File
File diff suppressed because it is too large Load Diff
+163
View File
@@ -398,6 +398,169 @@
</array>
<key>devices</key>
<array>
<dict>
<key>name</key>
<string>agat_fdc</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:0</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>525dsqd</string>
<key>description</key>
<string>5.25" quad density floppy drive</string>
<key>default</key>
<true/>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:1</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>525dsqd</string>
<key>description</key>
<string>5.25" quad density floppy drive</string>
<key>default</key>
<true/>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>a7ports</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:centronics</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>printer</string>
<key>description</key>
<string>Centronics Printer</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>pl80</string>
<key>description</key>
<string>COMX PL-80</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>covox_stereo</string>
<key>description</key>
<string>Covox (Stereo-in-1)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>covox</string>
<key>description</key>
<string>Covox Speech Thing</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>ap2000</string>
<key>description</key>
<string>Epson ActionPrinter 2000</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>ex800</string>
<key>description</key>
<string>Epson EX-800</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>lx800</string>
<key>description</key>
<string>Epson LX-800</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>p72</string>
<key>description</key>
<string>NEC PinWriter P72</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>samdac</string>
<key>description</key>
<string>SAMDAC</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>chessmec</string>
<key>description</key>
<string>The ChessMachine EC</string>
<key>default</key>
<false/>
</dict>
</array>
</dict>
</array>
</dict>
</array>
<key>software</key>
<array>
+163
View File
@@ -494,6 +494,169 @@
</array>
<key>devices</key>
<array>
<dict>
<key>name</key>
<string>agat_fdc</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:0</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>525dsqd</string>
<key>description</key>
<string>5.25" quad density floppy drive</string>
<key>default</key>
<true/>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:1</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>525dsqd</string>
<key>description</key>
<string>5.25" quad density floppy drive</string>
<key>default</key>
<true/>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>a7ports</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:centronics</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>printer</string>
<key>description</key>
<string>Centronics Printer</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>pl80</string>
<key>description</key>
<string>COMX PL-80</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>covox_stereo</string>
<key>description</key>
<string>Covox (Stereo-in-1)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>covox</string>
<key>description</key>
<string>Covox Speech Thing</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>ap2000</string>
<key>description</key>
<string>Epson ActionPrinter 2000</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>ex800</string>
<key>description</key>
<string>Epson EX-800</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>lx800</string>
<key>description</key>
<string>Epson LX-800</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>p72</string>
<key>description</key>
<string>NEC PinWriter P72</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>samdac</string>
<key>description</key>
<string>SAMDAC</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>chessmec</string>
<key>description</key>
<string>The ChessMachine EC</string>
<key>default</key>
<false/>
</dict>
</array>
</dict>
</array>
</dict>
</array>
<key>software</key>
<array>
+1338 -303
View File
File diff suppressed because it is too large Load Diff
+1360 -325
View File
File diff suppressed because it is too large Load Diff
+1360 -325
View File
File diff suppressed because it is too large Load Diff
+8 -8
View File
@@ -211,26 +211,26 @@
<string>cdrom</string>
<key>description</key>
<string>CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>hdd</string>
<key>description</key>
<string>Hard Disk</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
<key>default</key>
<true/>
</dict>
</array>
</dict>
@@ -252,26 +252,26 @@
<string>cdrom</string>
<key>description</key>
<string>CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>hdd</string>
<key>description</key>
<string>Hard Disk</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
<key>default</key>
<false/>
</dict>
</array>
</dict>
+1360 -325
View File
File diff suppressed because it is too large Load Diff
+43 -36
View File
@@ -355,13 +355,13 @@
<string>525</string>
<key>description</key>
<string>5.25"</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>floppy_5_25</key>
<integer>1</integer>
</dict>
<key>default</key>
<true/>
</dict>
</array>
</dict>
@@ -383,13 +383,13 @@
<string>525</string>
<key>description</key>
<string>5.25"</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>floppy_5_25</key>
<integer>1</integer>
</dict>
<key>default</key>
<true/>
</dict>
</array>
</dict>
@@ -397,12 +397,12 @@
</dict>
<dict>
<key>name</key>
<string>a2diskiing</string>
<string>sunkbd_adaptor</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:0</string>
<string>:keyboard</string>
<key>options</key>
<array>
<dict>
@@ -411,48 +411,55 @@
<key>description</key>
<string>—None—</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>525</string>
<key>description</key>
<string>5.25"</string>
<key>media</key>
<dict>
<key>floppy_5_25</key>
<integer>1</integer>
</dict>
<key>default</key>
<true/>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:1</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<string>type3hle</string>
<key>description</key>
<string>—None—</string>
<string>Sun Type 3 Keyboard (HLE)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>525</string>
<string>type4hle</string>
<key>description</key>
<string>5.25"</string>
<key>media</key>
<dict>
<key>floppy_5_25</key>
<integer>1</integer>
</dict>
<string>Sun Type 4 Keyboard (HLE)</string>
<key>default</key>
<true/>
<false/>
</dict>
<dict>
<key>value</key>
<string>type5gbhle</string>
<key>description</key>
<string>Sun Type 5 Keyboard (Great Britain - HLE)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>type5jphle</string>
<key>description</key>
<string>Sun Type 5 Keyboard (Japan - HLE)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>type5sehle</string>
<key>description</key>
<string>Sun Type 5 Keyboard (Sweden - HLE)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>type5hle</string>
<key>description</key>
<string>Sun Type 5 Keyboard (U.S.A. - HLE)</string>
<key>default</key>
<false/>
</dict>
</array>
</dict>
+70
View File
@@ -357,6 +357,76 @@
</array>
<key>devices</key>
<array>
<dict>
<key>name</key>
<string>sunkbd_adaptor</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:keyboard</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>type3hle</string>
<key>description</key>
<string>Sun Type 3 Keyboard (HLE)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>type4hle</string>
<key>description</key>
<string>Sun Type 4 Keyboard (HLE)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>type5gbhle</string>
<key>description</key>
<string>Sun Type 5 Keyboard (Great Britain - HLE)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>type5jphle</string>
<key>description</key>
<string>Sun Type 5 Keyboard (Japan - HLE)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>type5sehle</string>
<key>description</key>
<string>Sun Type 5 Keyboard (Sweden - HLE)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>type5hle</string>
<key>description</key>
<string>Sun Type 5 Keyboard (U.S.A. - HLE)</string>
<key>default</key>
<false/>
</dict>
</array>
</dict>
</array>
</dict>
</array>
<key>software</key>
<array>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+282 -212
View File
@@ -473,13 +473,13 @@
<string>525</string>
<key>description</key>
<string>5.25"</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>floppy_5_25</key>
<integer>1</integer>
</dict>
<key>default</key>
<true/>
</dict>
</array>
</dict>
@@ -501,13 +501,13 @@
<string>525</string>
<key>description</key>
<string>5.25"</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>floppy_5_25</key>
<integer>1</integer>
</dict>
<key>default</key>
<true/>
</dict>
</array>
</dict>
@@ -529,13 +529,13 @@
<string>525</string>
<key>description</key>
<string>5.25"</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>floppy_5_25</key>
<integer>1</integer>
</dict>
<key>default</key>
<true/>
</dict>
</array>
</dict>
@@ -557,191 +557,13 @@
<string>525</string>
<key>description</key>
<string>5.25"</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>floppy_5_25</key>
<integer>1</integer>
</dict>
<key>default</key>
<true/>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>a2cffa02</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:cffa2_ata:0</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
<key>description</key>
<string>CD-ROM</string>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>hdd</string>
<key>description</key>
<string>Hard Disk</string>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
<key>default</key>
<true/>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:cffa2_ata:1</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
<key>description</key>
<string>CD-ROM</string>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>hdd</string>
<key>description</key>
<string>Hard Disk</string>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
<key>default</key>
<true/>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>a2focdrv</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:zipdrive_ata:0</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
<key>description</key>
<string>CD-ROM</string>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>hdd</string>
<key>description</key>
<string>Hard Disk</string>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
<key>default</key>
<true/>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:zipdrive_ata:1</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
<key>description</key>
<string>CD-ROM</string>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>hdd</string>
<key>description</key>
<string>Hard Disk</string>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
<key>default</key>
<false/>
</dict>
</array>
</dict>
@@ -770,26 +592,26 @@
<string>cdrom</string>
<key>description</key>
<string>CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>harddisk</string>
<key>description</key>
<string>Hard Disk</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
<key>default</key>
<false/>
</dict>
</array>
</dict>
@@ -811,26 +633,26 @@
<string>cdrom</string>
<key>description</key>
<string>CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>harddisk</string>
<key>description</key>
<string>Hard Disk</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
<key>default</key>
<false/>
</dict>
</array>
</dict>
@@ -852,26 +674,26 @@
<string>cdrom</string>
<key>description</key>
<string>CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>harddisk</string>
<key>description</key>
<string>Hard Disk</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
<key>default</key>
<false/>
</dict>
</array>
</dict>
@@ -893,26 +715,26 @@
<string>cdrom</string>
<key>description</key>
<string>CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>harddisk</string>
<key>description</key>
<string>Hard Disk</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
<key>default</key>
<false/>
</dict>
</array>
</dict>
@@ -934,26 +756,26 @@
<string>cdrom</string>
<key>description</key>
<string>CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>harddisk</string>
<key>description</key>
<string>Hard Disk</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
<key>default</key>
<false/>
</dict>
</array>
</dict>
@@ -975,26 +797,26 @@
<string>cdrom</string>
<key>description</key>
<string>CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>harddisk</string>
<key>description</key>
<string>Hard Disk</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
<key>default</key>
<false/>
</dict>
</array>
</dict>
@@ -1016,27 +838,275 @@
<string>cdrom</string>
<key>description</key>
<string>CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>harddisk</string>
<key>description</key>
<string>Hard Disk</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>sunkbd_adaptor</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:keyboard</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>type3hle</string>
<key>description</key>
<string>Sun Type 3 Keyboard (HLE)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>type4hle</string>
<key>description</key>
<string>Sun Type 4 Keyboard (HLE)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>type5gbhle</string>
<key>description</key>
<string>Sun Type 5 Keyboard (Great Britain - HLE)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>type5jphle</string>
<key>description</key>
<string>Sun Type 5 Keyboard (Japan - HLE)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>type5sehle</string>
<key>description</key>
<string>Sun Type 5 Keyboard (Sweden - HLE)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>type5hle</string>
<key>description</key>
<string>Sun Type 5 Keyboard (U.S.A. - HLE)</string>
<key>default</key>
<false/>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>a2cffa02</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:cffa2_ata:0</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
<key>description</key>
<string>CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>hdd</string>
<key>description</key>
<string>Hard Disk</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:cffa2_ata:1</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
<key>description</key>
<string>CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>hdd</string>
<key>description</key>
<string>Hard Disk</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>a2focdrv</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:zipdrive_ata:0</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
<key>description</key>
<string>CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>hdd</string>
<key>description</key>
<string>Hard Disk</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:zipdrive_ata:1</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
<key>description</key>
<string>CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>hdd</string>
<key>description</key>
<string>Hard Disk</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
</array>
File diff suppressed because it is too large Load Diff
+2499 -1402
View File
File diff suppressed because it is too large Load Diff
+2499 -1402
View File
File diff suppressed because it is too large Load Diff
+2499 -1402
View File
File diff suppressed because it is too large Load Diff
+2499 -1402
View File
File diff suppressed because it is too large Load Diff
+2499 -1402
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+1338 -303
View File
File diff suppressed because it is too large Load Diff
+1338 -303
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+70
View File
@@ -355,6 +355,76 @@
</array>
<key>devices</key>
<array>
<dict>
<key>name</key>
<string>sunkbd_adaptor</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:keyboard</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>type3hle</string>
<key>description</key>
<string>Sun Type 3 Keyboard (HLE)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>type4hle</string>
<key>description</key>
<string>Sun Type 4 Keyboard (HLE)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>type5gbhle</string>
<key>description</key>
<string>Sun Type 5 Keyboard (Great Britain - HLE)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>type5jphle</string>
<key>description</key>
<string>Sun Type 5 Keyboard (Japan - HLE)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>type5sehle</string>
<key>description</key>
<string>Sun Type 5 Keyboard (Sweden - HLE)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>type5hle</string>
<key>description</key>
<string>Sun Type 5 Keyboard (U.S.A. - HLE)</string>
<key>default</key>
<false/>
</dict>
</array>
</dict>
</array>
</dict>
</array>
<key>software</key>
<array>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+169
View File
@@ -562,6 +562,175 @@
</array>
<key>devices</key>
<array>
<dict>
<key>name</key>
<string>nb_qdlink</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:serport0</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS232 Null Modem</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>terminal</string>
<key>description</key>
<string>Serial Terminal</string>
<key>default</key>
<false/>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:serport1</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS232 Null Modem</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>terminal</string>
<key>description</key>
<string>Serial Terminal</string>
<key>default</key>
<false/>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:serport2</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS232 Null Modem</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>terminal</string>
<key>description</key>
<string>Serial Terminal</string>
<key>default</key>
<false/>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:serport3</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS232 Null Modem</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>terminal</string>
<key>description</key>
<string>Serial Terminal</string>
<key>default</key>
<false/>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>nb_btbug</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:serport0</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS232 Null Modem</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>terminal</string>
<key>description</key>
<string>Serial Terminal</string>
<key>default</key>
<true/>
</dict>
</array>
</dict>
</array>
</dict>
</array>
<key>software</key>
<array>
+1360 -325
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+2013 -916
View File
File diff suppressed because it is too large Load Diff
+1360 -325
View File
File diff suppressed because it is too large Load Diff
+2013 -916
View File
File diff suppressed because it is too large Load Diff
+1360 -325
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+2013 -916
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+2499 -1402
View File
File diff suppressed because it is too large Load Diff
+116 -25
View File
@@ -41,6 +41,70 @@ DISABLED = set((
))
machine_cache = {}
submachines = {} # with slots.
def load_machine(name):
rootname = name
if name in machine_cache: return machine_cache[name]
# print(" {}".format(name))
env = {'DYLD_FALLBACK_FRAMEWORK_PATH': '../embedded'}
st = subprocess.run(["../embedded/mame64", name, "-listxml"], capture_output=True, env=env)
if st.returncode != 0:
print("mame error: {}".format(name))
return False
xml = st.stdout
root = ET.fromstring(xml)
for x in root.findall("./machine"):
name = x.get("name")
if name in machine_cache: continue
machine_cache[name] = x
return machine_cache[rootname]
def load_machine_recursive(name):
# machine_cache.clear()
submachines.clear()
rootname = name
m = load_machine(name)
if not m: return None
processed = set()
pending = { rootname }
while pending:
name = pending.pop()
m = load_machine(name)
processed.add(name)
if not m:
print(" *{}".format(name))
continue
count = 0
for x in m.findall('./slot/slotoption'):
count = count+1
devname = x.get('devname')
if devname in processed: continue
pending.add(devname)
if count:
# print(" slots: {}".format(name))
submachines[name] = m
if rootname in submachines:
del submachines[rootname]
return machine_cache[rootname]
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
@@ -187,6 +251,18 @@ DEVICE_MEDIA = {
'35sd': 'floppy_3_5',
}
DEVICE_EXCLUDE = set([
# cd drives, etc.
'aplcd150',
'cdd2000',
'cdr4210',
'cdrn820s',
'cw7501',
's1410',
'smoc501',
'px320a',
])
def make_device_options(slot):
options = []
@@ -194,15 +270,28 @@ def make_device_options(slot):
#has_media = False
for option in slot.findall("./slotoption"):
name = option.get("name")
if name not in DEVICE_REMAP: continue
devname = option.get("devname")
if name in DEVICE_EXCLUDE: continue
if name in DEVICE_REMAP:
desc = DEVICE_REMAP[name]
elif devname in machine_cache:
desc = machine_cache[devname].find("description").text
else:
# print("{} - {}".format(name, devname))
continue
default = option.get("default") == "yes"
has_default |= default
options.append({
media = None
if name in DEVICE_MEDIA: media = { DEVICE_MEDIA[name]: 1 }
item = {
'value': name,
'description': DEVICE_REMAP[name],
'media': { DEVICE_MEDIA[name]: 1 },
'description': desc,
'default': default
})
}
if media: item['media'] = media
options.append(item);
if not options: return None
options.sort(key=lambda x: x["description"].upper() )
@@ -230,11 +319,11 @@ def make_device_slots(machine):
return slots
def make_devices(mm):
def make_devices():
devices = []
for m in mm.values():
name = m.get("name")
for name, m in submachines.items():
# print(" {}".format(name))
slots = make_device_slots(m)
if slots:
devices.append({
@@ -303,7 +392,7 @@ def make_slot(m, slotname, nodes):
for x in nodes:
name = x.get("name")
devname = x.get("devname")
desc = mm[devname].find("description").text
desc = machine_cache[devname].find("description").text
default = x.get("default") == "yes"
disabled = name in DISABLED or (m, name) in DISABLED
@@ -312,7 +401,7 @@ def make_slot(m, slotname, nodes):
if disabled: d["disabled"] = True
if not disabled:
d["devname"] = devname
media = find_media(mm[devname], True)
media = find_media(machine_cache[devname], True)
if media:
d["media"] = media
@@ -345,19 +434,22 @@ 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))
machine = load_machine_recursive(m)
if not machine:
exit(1)
# 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)
# xml = st.stdout
# root = ET.fromstring(xml)
data = { }
xml = st.stdout
root = ET.fromstring(xml)
path = 'machine[@name="{}"]'.format(m)
machine = root.find(path)
# path = 'machine[@name="{}"]'.format(m)
# machine = root.find(path)
data["value"] = m
data["description"] = machine.find("description").text
@@ -371,13 +463,12 @@ for m in machines:
if m[0:3] == "mac": hscale = 1
data["resolution"] = [int(node.get("width")), int(node.get("height")) * hscale]
mm = {}
for x in root.findall("machine[@isdevice='yes']"):
name = x.get("name")
mm[name] = x # .find("description").text
# also need to find media...
# submachines.clear()
# for x in root.findall("machine[@isdevice='yes']"):
# name = x.get("name")
# submachines[name] = x # .find("description").text
# # also need to find media...
# print(mm)
# ss = {}
slots = []
@@ -406,7 +497,7 @@ for m in machines:
data["slots"] = slots
devices = make_devices(mm)
devices = make_devices()
if smartport: devices.insert(0, smartport)
data["devices"] = devices
data["software"] = find_software(machine)