Compare commits

...

112 Commits
r27 ... master

Author SHA1 Message Date
Kelvin Sherlock
eb20f7e811 version bump 2024-06-01 22:36:47 -04:00
Kelvin Sherlock
b58bb1f6b6 mame 0.266 update 2024-06-01 15:30:35 -04:00
Kelvin Sherlock
60586a9e1b add gui option to completely disable the log window. 2024-05-25 15:01:34 -04:00
Kelvin Sherlock
fb7b2f3973 add gui option to completely disable the log window. 2024-05-25 15:00:27 -04:00
Kelvin Sherlock
4a6ba96803 version bump 2024-05-24 23:14:42 -04:00
Kelvin Sherlock
73ab4e0e41 updated plists for 0.265 2024-04-25 16:03:20 -04:00
Kelvin Sherlock
828c938e52 add bios support for for slot devices 2024-04-01 09:35:14 -04:00
Kelvin Sherlock
d1a2dcba21 updated mkmachines.py --extra 2024-03-30 19:10:14 -04:00
Kelvin Sherlock
5de27856ed add a couple more coco machines 2024-03-30 09:23:13 -04:00
Kelvin Sherlock
8da2ff4a20 for media beyond the second level, include default options since there isn't a UI to change it yet. 2024-03-28 19:28:32 -04:00
Kelvin Sherlock
e89536c932 version bump, add host.fst.po, move mame-data.tgz to the shared support directory. 2024-03-27 21:16:06 -04:00
Kelvin Sherlock
d2b592c7e5 0.264 update 2024-03-26 22:14:22 -04:00
Kelvin Sherlock
0afa433151 typo was preventing floppy mask calculation on systems with only 3.5" floppies. (#28) 2024-03-21 20:17:47 -04:00
Kelvin Sherlock
c2323ac998 rom manager - double-click to download. 2024-03-18 16:47:29 -04:00
Kelvin Sherlock
45fe32893f download controller - delete existing file (if it exists) when re-downloading an existing rom. 2024-03-18 16:39:42 -04:00
Kelvin Sherlock
308b15277c add 4x window option, aspect ratio for oric square pixels. 2024-03-18 15:25:34 -04:00
Kelvin Sherlock
bdd9df44ed add 3" floppy disk (pretend it's 3.5" for now). 2024-03-18 15:24:59 -04:00
Kelvin Sherlock
c58ff589dd Add oric. 2024-03-18 13:17:53 -04:00
Kelvin Sherlock
e3985856f3 Ample Extra updated machine definitions. 2024-03-10 20:18:16 -04:00
Kelvin Sherlock
a28c42a2b6 mactv 2024-03-10 19:21:25 -04:00
Kelvin Sherlock
78bcc88694 updated machine definitions. 2024-03-10 19:08:21 -04:00
Kelvin Sherlock
7e1e2fb8c5 move around the tandy order a little bit. 2024-03-10 19:07:16 -04:00
Kelvin Sherlock
7e64d6720d dragon disk drives 2024-03-10 19:06:28 -04:00
Kelvin Sherlock
ef8a4412f8 trs 80 floppies 2024-03-10 18:54:03 -04:00
Kelvin Sherlock
68429262c0 add the coco cart 2024-03-10 18:16:09 -04:00
Kelvin Sherlock
c2baf07256 update project with trs files 2024-03-10 18:12:22 -04:00
Kelvin Sherlock
cac8c1c054 Add some vintage tandy computers. 2024-03-07 22:11:40 -05:00
Kelvin Sherlock
0718aa5944 update cheatsheet for .263 changes 2024-03-01 18:19:16 -05:00
Kelvin Sherlock
8b37b5e840 version bump 2024-02-29 21:05:25 -05:00
Kelvin Sherlock
565e1109ff remove roms that don't exist (probably because they're merged) 2024-02-29 18:22:32 -05:00
Kelvin Sherlock
b7149a0b0d python deprecated behavior. 2024-02-29 18:21:37 -05:00
Kelvin Sherlock
8283a3beec MAME 0.263 updated machine definitions. 2024-02-29 17:52:01 -05:00
Kelvin Sherlock
17945e68ba Title Case rom names 2024-02-05 17:46:52 -05:00
Kelvin Sherlock
49e3e397d2 version bump 2024-02-03 13:54:10 -05:00
Kelvin Sherlock
5efa2b2cbf minor vmnet helper update. 2024-02-03 13:40:25 -05:00
Kelvin Sherlock
c536b8edb5 clean up machine names to be Title Case 2024-02-02 21:08:37 -05:00
Kelvin Sherlock
a6747e4f57 add single-density 8" floppies 2024-02-02 21:06:35 -05:00
Kelvin Sherlock
7dbaf4e12d Add back floppy bitmask since floppy order depends on slot order. 2024-02-02 21:06:07 -05:00
Kelvin Sherlock
24e3b01803 fix 8" floppy logic (a2vistaa800) 2024-02-01 18:41:34 -05:00
Kelvin Sherlock
d6a3e1e347 0.262 updates 2024-02-01 18:34:50 -05:00
Kelvin Sherlock
0244fbcc0b bump version 2023-12-02 16:42:07 -05:00
Kelvin Sherlock
ee1da060a3 vmnet helper -- don't assume vmnet_start_interface succeeded. 2023-12-02 16:24:04 -05:00
Kelvin Sherlock
6ce2fbc2d8 Updates to enable more machines, currently only in Ample Lite. 2023-12-02 16:10:40 -05:00
Kelvin Sherlock
56b34a4099 version bump due to bad build 2023-11-04 21:30:09 -04:00
Kelvin Sherlock
9f7c49e3e0 install_name_tool fixes 2023-11-04 21:29:52 -04:00
Kelvin Sherlock
70fc811b0d version bump 2023-11-04 17:12:23 -04:00
Kelvin Sherlock
377e6bc04e install_name_tool -change_rpath is actually just -change. weird. 2023-11-04 13:54:42 -04:00
Kelvin Sherlock
6ef3911da7 use an enum to identify special slots types (ram, bios, floppy disk controller) 2023-11-04 13:51:44 -04:00
Kelvin Sherlock
9b3223478c Eliminate the hard-coded slot values and use the slot name + dictionary for saving between machines. 2023-11-02 22:16:03 -04:00
Kelvin Sherlock
2198467def MAME 0.260 updates 2023-11-02 18:00:37 -04:00
Kelvin Sherlock
63a60ed8b7 bump for 0.249 hotfix 2023-10-03 11:23:31 -04:00
Kelvin Sherlock
9005cfe0ec 0.259 update, add UI support for Mac PDS slot 2023-09-29 18:16:37 -04:00
Kelvin Sherlock
2e62b33fb1 version bump 2023-09-01 20:27:52 -04:00
Kelvin Sherlock
e04d441cc5 add new resources to the xcode project 2023-08-31 20:04:34 -04:00
Kelvin Sherlock
f116c9ff1f mame 0.258 updates 2023-08-31 18:40:25 -04:00
Kelvin Sherlock
92cf747d65 version bump 2023-07-30 19:39:32 -04:00
Kelvin Sherlock
743fa57a44 add mac quadra to xcode, re-organize the models. 2023-07-28 19:02:59 -04:00
Kelvin Sherlock
970cbd6cdc mame 257 update 2023-07-28 18:38:29 -04:00
Kelvin Sherlock
3ce9df6650 version bump 2023-06-28 16:06:32 -04:00
Kelvin Sherlock
d84c5d7be3 Update for MAME 0.256, add Apple II ROM custom rom support. 2023-06-28 14:59:15 -04:00
Kelvin Sherlock
79617329e8 version bump 2023-05-31 18:06:12 -04:00
Kelvin Sherlock
dc67db2ce6 fix Atari rom names 2023-05-31 17:23:04 -04:00
Kelvin Sherlock
9031b481ce support for atari disk images/extensions. 2023-05-30 18:44:33 -04:00
Kelvin Sherlock
f38ab3288d Apple3 - RS232 -> Modem 2023-05-29 17:58:12 -04:00
Kelvin Sherlock
0aea4006cc Atari ST support. 2023-05-29 17:57:52 -04:00
Kelvin Sherlock
06233137a9 Add Atari ST support. 2023-05-29 17:57:07 -04:00
Kelvin Sherlock
8bc7e26279 version bump (44/0.254) 2023-04-27 19:09:09 -04:00
Kelvin Sherlock
aea14d8dd4 bug - CDATA notes in the software list weren't handled correctly (not used for apple family) 2023-04-27 17:58:38 -04:00
Kelvin Sherlock
23946962ad bug - bookmarks didn't restore built-in floppy disk settings (such as disabling the 5.25" drives on a iigs) 2023-04-27 17:58:29 -04:00
Kelvin Sherlock
d0987932a8 version bump 2023-03-31 00:02:47 -04:00
Kelvin Sherlock
c03f888032 update slots for MAME 0.253 2023-03-30 21:31:13 -04:00
Kelvin Sherlock
2b127ac5a8 version bump 2023-03-01 18:01:45 -05:00
Kelvin Sherlock
c6edfe91f2 fix bgfx; as of 0.252, -video bgfx is required. also, add Fighters effect 2023-03-01 10:56:45 -05:00
Kelvin Sherlock
11ba25588b version bump 2023-02-28 17:30:45 -05:00
Kelvin Sherlock
695ed00552 bump sdl version 2023-02-28 15:41:03 -05:00
Kelvin Sherlock
c8e3c95240 version bump for -wip mame. 10.13 now required 2023-01-14 10:20:28 -05:00
Kelvin Sherlock
4acd3d51a7 bump version 2022-12-31 13:44:22 -05:00
Kelvin Sherlock
93cb6c5276 bump version 2022-11-30 10:01:25 -05:00
Kelvin Sherlock
52e9f00b92 mame 250 device updates 2022-11-29 18:26:45 -05:00
Kelvin Sherlock
453e2bd497 version bump 2022-10-31 23:58:37 -04:00
Kelvin Sherlock
c722b28ef3 add mac color classic, lc520 to ample project. 2022-10-31 17:57:27 -04:00
Kelvin Sherlock
7a077e5ec8 add mac color classic and lc 520 (mame 249) 2022-10-31 17:47:10 -04:00
Kelvin Sherlock
436694a0b6 version bump 2022-09-28 18:52:20 -04:00
Kelvin Sherlock
01e36939aa use sparkle 2.2.0 2022-09-28 18:41:17 -04:00
Kelvin Sherlock
20c767021c mame 248 update - apple iic+ disk drive change 2022-09-28 14:12:00 -04:00
Kelvin Sherlock
b64ca73346 version bump 2022-09-01 19:12:05 -04:00
Kelvin Sherlock
62767971ee don't crash if a slot is empty (laser3000, which has no slots and no disk drives) 2022-09-01 18:35:33 -04:00
Kelvin Sherlock
6b2c4c408a remove software list is hidden binding (it's set explicitly in the controller) 2022-09-01 18:31:12 -04:00
Kelvin Sherlock
bbcc41cc10 laser 3000 does not have ram options. quick fix until fixed. 2022-09-01 18:24:33 -04:00
Kelvin Sherlock
f651ca6b26 project update 2022-09-01 17:45:20 -04:00
Kelvin Sherlock
16036d9df0 add laser 3000 2022-09-01 17:45:20 -04:00
Kelvin Sherlock
41653fcae1 MAME .247 update 2022-09-01 17:45:20 -04:00
Kelvin Sherlock
87b4cc9494 version bump (u2 #2) 2022-09-01 17:45:20 -04:00
Kelvin Sherlock
9b349e699f version bump 2022-09-01 17:45:13 -04:00
Kelvin Sherlock
03c8306718 .246 - add uthernet, block ATA compact flash 2022-07-31 20:58:28 -04:00
Kelvin Sherlock
41ad1f0d7a version bump 2022-06-30 22:18:32 -04:00
Kelvin Sherlock
d5ed5f74a2 update plists for MAME 0.245 2022-06-30 18:23:10 -04:00
Kelvin Sherlock
2409ad55a1 version bump 2022-05-25 21:33:52 -04:00
Kelvin Sherlock
601e56ccaa bump components date 2022-04-30 15:08:12 -04:00
Kelvin Sherlock
d5d90ba6be version bump. 2022-04-30 10:19:44 -04:00
Kelvin Sherlock
4a0caa2e78 Incomplete - started adding support for "Reinstall MAME components" menu item.
The main holdup is that the software list is loaded from those installed MAME components and reinstalling them would invalidate and require a reload.
2022-04-30 10:17:57 -04:00
Kelvin Sherlock
23a05d5414 support for bios in the slot controller. 2022-04-30 10:16:05 -04:00
Kelvin Sherlock
4ffd8d1f44 move bios settings to be handled as a slot option. 2022-04-30 10:14:37 -04:00
Kelvin Sherlock
f52470eb2e build 27 was 241-1, bump to 28 2022-04-01 11:45:14 -04:00
Kelvin Sherlock
65aedba94b 242 version bump 2022-04-01 09:06:45 -04:00
Kelvin Sherlock
8707b4a246 add move to trash menu option
keep file size (will display later)
2022-03-29 11:57:19 -04:00
Kelvin Sherlock
5a0fdd5a7e add bios options to the machine plist (no gui yet), clean up CFFA name slightly. 2022-03-25 17:20:22 -04:00
Kelvin Sherlock
4e05ff7e8c shift-command-D will update the current bookmark. 2022-03-18 15:23:56 -04:00
Kelvin Sherlock
781d8ada60 midi - representedObject can be reset in some circumstances. (reloading from nib?) use title which seems more permanent. 2022-02-28 10:33:17 -05:00
Kelvin Sherlock
d258fd2a48 midi selection - need to save the current object before destroying the menu. 2022-02-28 09:34:05 -05:00
Kelvin Sherlock
2b2f3a2fd8 software search improvements
1. handle diacritics
2. strip leading "the " from titles and search string since it's often inconsistent
2022-02-26 21:21:27 -05:00
Kelvin Sherlock
9bb0cc468a bump sparkle 2.1.0 2022-02-26 18:45:17 -05:00
245 changed files with 330896 additions and 18767 deletions

View File

@ -8,8 +8,12 @@ jobs:
runs-on: macos-latest runs-on: macos-latest
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v4
- name: build - name: build
run: xcodebuild -project "Ample.xcodeproj" -target "Ample Lite" | xcpretty run: xcodebuild -project "Ample.xcodeproj" -target "Ample Lite" | xcpretty
- uses: actions/upload-artifact@v3
with:
name: Ample Lite
path: build/Release/

File diff suppressed because it is too large Load Diff

View File

@ -33,6 +33,7 @@ extern NSString *kMamePath;
extern NSString *kMameWorkingDirectory; extern NSString *kMameWorkingDirectory;
extern NSString *kAutoCloseLogWindow; extern NSString *kAutoCloseLogWindow;
extern NSString *kMameComponentsDate; extern NSString *kMameComponentsDate;
extern NSString *kUseLogWindow;
extern NSString *kDownloadURL; extern NSString *kDownloadURL;
extern NSString *kDownloadExtension; extern NSString *kDownloadExtension;

View File

@ -129,6 +129,7 @@ NSString *kUseCustomMame = @"UseCustomMame";
NSString *kMamePath = @"MamePath"; NSString *kMamePath = @"MamePath";
NSString *kMameWorkingDirectory = @"MameWorkingDirectory"; NSString *kMameWorkingDirectory = @"MameWorkingDirectory";
NSString *kAutoCloseLogWindow = @"AutoCloseLogWindow"; NSString *kAutoCloseLogWindow = @"AutoCloseLogWindow";
NSString *kUseLogWindow = @"UseLogWindow";
NSString *kMameComponentsDate = @"MameComponentsDate"; NSString *kMameComponentsDate = @"MameComponentsDate";
NSString *kDefaultDownloadURL = @"DefaultDownloadURL"; NSString *kDefaultDownloadURL = @"DefaultDownloadURL";
NSString *kDefaultDownloadExtension = @"DefaultDownloadExtension"; NSString *kDefaultDownloadExtension = @"DefaultDownloadExtension";

View File

@ -88,12 +88,21 @@
NSDate *newDate = [defaults objectForKey: kMameComponentsDate]; NSDate *newDate = [defaults objectForKey: kMameComponentsDate];
if (![newDate isKindOfClass: [NSDate class]]) if (![newDate isKindOfClass: [NSDate class]])
newDate = nil; newDate = nil;
if (!newDate) return YES; //???? if (!newDate) return YES; //????
if (oldDate && [oldDate compare: newDate] >= 0) return YES; if (oldDate && [oldDate compare: newDate] >= 0) return YES;
#if 0
NSString *path = [bundle pathForResource: @"mame-data" ofType: @"tgz"]; NSString *path = [bundle pathForResource: @"mame-data" ofType: @"tgz"];
if (!path) return YES; // Ample Lite? if (!path) return YES; // Ample Lite?
#endif
NSString *ssp = [bundle sharedSupportPath];
NSString *path = [ssp stringByAppendingPathComponent: @"mame-data.tgz"];
if (![[NSFileManager defaultManager] fileExistsAtPath: path])
return YES; // Ample Lite?
NSWindow *win = _installWindow; NSWindow *win = _installWindow;
@ -115,11 +124,11 @@
dispatch_time_t when = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)); dispatch_time_t when = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC));
[task setTerminationHandler: ^(NSTask *task){ [task setTerminationHandler: ^(NSTask *task){
int st = [task terminationStatus];
// delay so the install window is visible, I think
dispatch_after(when, dispatch_get_main_queue(), ^{ dispatch_after(when, dispatch_get_main_queue(), ^{
int st = [task terminationStatus];
if (st) { if (st) {
NSAlert *alert = [NSAlert new]; NSAlert *alert = [NSAlert new];
[alert setMessageText: @"An error occurred extracting MAME components"]; [alert setMessageText: @"An error occurred extracting MAME components"];
@ -238,4 +247,70 @@
} }
-(IBAction)installMameComponents:(id)sender {
/* install the mame data components. */
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSBundle *bundle = [NSBundle mainBundle];
NSURL *sd = SupportDirectory();
NSURL *ample_url = [sd URLByAppendingPathComponent: @"Ample.plist"];
NSMutableDictionary *d = [NSMutableDictionary dictionaryWithContentsOfURL: ample_url];
//NSDate *oldDate = [d objectForKey: kMameComponentsDate];
NSDate *newDate = [defaults objectForKey: kMameComponentsDate];
if (![newDate isKindOfClass: [NSDate class]])
newDate = nil;
NSString *path = [bundle pathForResource: @"mame-data" ofType: @"tgz"];
if (!path) return; // Ample Lite?
NSWindow *win = _installWindow;
[win makeKeyAndOrderFront: nil];
NSTask *task = [NSTask new];
NSArray *argv = @[
@"xfz",
path
];
if (@available(macOS 10.13, *)) {
[task setExecutableURL: [NSURL fileURLWithPath: @"/usr/bin/tar"]];
[task setCurrentDirectoryURL: sd];
} else {
[task setLaunchPath: @"/usr/bin/tar"];
[task setCurrentDirectoryPath: SupportDirectoryPath()];
}
[task setArguments: argv];
//dispatch_time_t when = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC));
[task setTerminationHandler: ^(NSTask *task){
int st = [task terminationStatus];
dispatch_async(dispatch_get_main_queue(), ^{
if (st) {
NSAlert *alert = [NSAlert new];
[alert setMessageText: @"An error occurred extracting MAME components"];
[alert runModal];
[win close];
return;
}
if (d) {
[d setObject: newDate forKey: kMameComponentsDate];
[d writeToURL: ample_url atomically: YES];
} else {
[@{ kMameComponentsDate: newDate } writeToURL: ample_url atomically: YES];
}
[win close];
// need to reload the software list data.
});
}];
[task launch];
}
@end @end

View File

@ -117,6 +117,7 @@
</tableColumn> </tableColumn>
</tableColumns> </tableColumns>
<connections> <connections>
<action trigger="doubleAction" selector="doubleClick:" target="-2" id="y2y-h7-cfD"/>
<binding destination="jhO-4z-Qwt" name="content" keyPath="arrangedObjects" id="2av-gV-V4K"/> <binding destination="jhO-4z-Qwt" name="content" keyPath="arrangedObjects" id="2av-gV-V4K"/>
<outlet property="menu" destination="RJM-21-hjO" id="xpL-0n-1jm"/> <outlet property="menu" destination="RJM-21-hjO" id="xpL-0n-1jm"/>
</connections> </connections>
@ -298,6 +299,12 @@
<action selector="showInFinder:" target="-2" id="ltL-yL-7EP"/> <action selector="showInFinder:" target="-2" id="ltL-yL-7EP"/>
</connections> </connections>
</menuItem> </menuItem>
<menuItem title="Move to Trash" id="x1Q-OF-5hM">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="moveToTrash:" target="-2" id="swr-yf-hA2"/>
</connections>
</menuItem>
<menuItem title="Download" tag="2" id="ree-Zg-jYB"> <menuItem title="Download" tag="2" id="ree-Zg-jYB">
<modifierMask key="keyEquivalentModifierMask"/> <modifierMask key="keyEquivalentModifierMask"/>
<connections> <connections>

View File

@ -119,6 +119,9 @@
<menuItem title="LCD Grid" tag="5" id="A6k-ku-z2M"> <menuItem title="LCD Grid" tag="5" id="A6k-ku-z2M">
<modifierMask key="keyEquivalentModifierMask"/> <modifierMask key="keyEquivalentModifierMask"/>
</menuItem> </menuItem>
<menuItem title="Fighters" id="1aA-ge-f8R">
<modifierMask key="keyEquivalentModifierMask"/>
</menuItem>
</items> </items>
</menu> </menu>
</popUpButtonCell> </popUpButtonCell>
@ -156,10 +159,21 @@
<font key="font" metaFont="menu"/> <font key="font" metaFont="menu"/>
<menu key="menu" id="m4N-Qw-mem"> <menu key="menu" id="m4N-Qw-mem">
<items> <items>
<menuItem title="Full Screen" state="on" id="0zZ-Ib-Fne"/> <menuItem title="Full Screen" state="on" id="0zZ-Ib-Fne">
<menuItem title="Window 1x" id="3bZ-rq-fCt"/> <modifierMask key="keyEquivalentModifierMask"/>
<menuItem title="Window 2x" id="KA4-Rs-yyK"/> </menuItem>
<menuItem title="Window 3x" id="Dbh-Js-pMx" userLabel="Window 3x"/> <menuItem title="Window 1x" id="3bZ-rq-fCt">
<modifierMask key="keyEquivalentModifierMask"/>
</menuItem>
<menuItem title="Window 2x" id="KA4-Rs-yyK">
<modifierMask key="keyEquivalentModifierMask"/>
</menuItem>
<menuItem title="Window 3x" id="Dbh-Js-pMx" userLabel="Window 3x">
<modifierMask key="keyEquivalentModifierMask"/>
</menuItem>
<menuItem title="Window 4x" id="GCs-En-3Jv">
<modifierMask key="keyEquivalentModifierMask"/>
</menuItem>
</items> </items>
</menu> </menu>
</popUpButtonCell> </popUpButtonCell>
@ -445,11 +459,6 @@
</searchFieldCell> </searchFieldCell>
<connections> <connections>
<action selector="softwareChanged:" target="-2" id="879-da-UEc"/> <action selector="softwareChanged:" target="-2" id="879-da-UEc"/>
<binding destination="-2" name="hidden" keyPath="machine" id="RdE-9k-oFd">
<dictionary key="options">
<string key="NSValueTransformerName">NSIsNil</string>
</dictionary>
</binding>
</connections> </connections>
</searchField> </searchField>
<customView id="oVt-eD-aaj" customClass="FlippedView"> <customView id="oVt-eD-aaj" customClass="FlippedView">

View File

@ -16,6 +16,7 @@
<customObject id="rSq-qV-SGy" customClass="BookmarkManager"> <customObject id="rSq-qV-SGy" customClass="BookmarkManager">
<connections> <connections>
<outlet property="menu" destination="ha0-nx-PIl" id="Ozd-ID-egK"/> <outlet property="menu" destination="ha0-nx-PIl" id="Ozd-ID-egK"/>
<outlet property="updateMenuItem" destination="30b-vT-HIa" id="AgZ-LE-no6"/>
</connections> </connections>
</customObject> </customObject>
<customObject id="Voe-Tx-rLC" customClass="AppDelegate"> <customObject id="Voe-Tx-rLC" customClass="AppDelegate">
@ -44,6 +45,9 @@
</connections> </connections>
</menuItem> </menuItem>
<menuItem isSeparatorItem="YES" id="VOq-y0-SEH"/> <menuItem isSeparatorItem="YES" id="VOq-y0-SEH"/>
<menuItem title="Reinstall MAME components" hidden="YES" id="c3P-WT-eUP">
<modifierMask key="keyEquivalentModifierMask"/>
</menuItem>
<menuItem title="Preferences…" keyEquivalent="," id="BOF-NM-1cW"> <menuItem title="Preferences…" keyEquivalent="," id="BOF-NM-1cW">
<connections> <connections>
<action selector="displayPreferences:" target="Voe-Tx-rLC" id="Hsm-pX-sUc"/> <action selector="displayPreferences:" target="Voe-Tx-rLC" id="Hsm-pX-sUc"/>
@ -416,6 +420,11 @@
<action selector="addBookmark:" target="-1" id="cqp-ko-BfQ"/> <action selector="addBookmark:" target="-1" id="cqp-ko-BfQ"/>
</connections> </connections>
</menuItem> </menuItem>
<menuItem title="Update Bookmark" keyEquivalent="D" id="30b-vT-HIa">
<connections>
<action selector="updateBookmark:" target="-1" id="Au0-Sp-cUD"/>
</connections>
</menuItem>
<menuItem title="Set Default" hidden="YES" id="vbR-vS-lqO"> <menuItem title="Set Default" hidden="YES" id="vbR-vS-lqO">
<modifierMask key="keyEquivalentModifierMask"/> <modifierMask key="keyEquivalentModifierMask"/>
<connections> <connections>

View File

@ -26,7 +26,7 @@
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<subviews> <subviews>
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Oz5-Xb-btk"> <textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Oz5-Xb-btk">
<rect key="frame" x="138" y="181" width="322" height="21"/> <rect key="frame" x="138" y="159" width="322" height="21"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMinY="YES"/> <autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" borderStyle="bezel" drawsBackground="YES" id="vDR-2V-qxd"> <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" borderStyle="bezel" drawsBackground="YES" id="vDR-2V-qxd">
<font key="font" usesAppearanceFont="YES"/> <font key="font" usesAppearanceFont="YES"/>
@ -40,7 +40,7 @@
</connections> </connections>
</textField> </textField>
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="l8V-pC-gml"> <textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="l8V-pC-gml">
<rect key="frame" x="138" y="150" width="322" height="21"/> <rect key="frame" x="138" y="128" width="322" height="21"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMinY="YES"/> <autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" borderStyle="bezel" drawsBackground="YES" id="wfj-GY-Qu2"> <textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" borderStyle="bezel" drawsBackground="YES" id="wfj-GY-Qu2">
<font key="font" usesAppearanceFont="YES"/> <font key="font" usesAppearanceFont="YES"/>
@ -49,12 +49,12 @@
</textFieldCell> </textFieldCell>
<connections> <connections>
<action selector="wdChanged:" target="-2" id="g1P-8l-ZXi"/> <action selector="wdChanged:" target="-2" id="g1P-8l-ZXi"/>
<binding destination="yvB-HG-64y" name="enabled" keyPath="values.UseCustomMame" id="DeG-OW-Gd2"/>
<binding destination="yvB-HG-64y" name="value" keyPath="values.MameWorkingDirectory" id="Kc9-Pc-XGU"/> <binding destination="yvB-HG-64y" name="value" keyPath="values.MameWorkingDirectory" id="Kc9-Pc-XGU"/>
<binding destination="yvB-HG-64y" name="enabled" keyPath="values.UseCustomMame" id="DeG-OW-Gd2"/>
</connections> </connections>
</textField> </textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="vTJ-Ez-c1R"> <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="vTJ-Ez-c1R">
<rect key="frame" x="18" y="153" width="114" height="16"/> <rect key="frame" x="18" y="131" width="114" height="16"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" lineBreakMode="clipping" title="Working Directory" id="UHt-0s-zxA"> <textFieldCell key="cell" lineBreakMode="clipping" title="Working Directory" id="UHt-0s-zxA">
<font key="font" metaFont="system"/> <font key="font" metaFont="system"/>
@ -63,7 +63,7 @@
</textFieldCell> </textFieldCell>
</textField> </textField>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="KAN-P2-ydI"> <button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="KAN-P2-ydI">
<rect key="frame" x="136" y="234" width="217" height="18"/> <rect key="frame" x="136" y="212" width="217" height="18"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="check" title="Close log window on normal exit" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="QMz-O0-06U"> <buttonCell key="cell" type="check" title="Close log window on normal exit" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="QMz-O0-06U">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
@ -74,7 +74,7 @@
</connections> </connections>
</button> </button>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="j7D-jC-17Q"> <button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="j7D-jC-17Q">
<rect key="frame" x="136" y="208" width="139" height="18"/> <rect key="frame" x="136" y="186" width="139" height="18"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="check" title="Use Custom MAME" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="V61-mz-QFo"> <buttonCell key="cell" type="check" title="Use Custom MAME" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="V61-mz-QFo">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/> <behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
@ -96,7 +96,7 @@
</connections> </connections>
</button> </button>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Qmb-Ag-Xyr"> <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Qmb-Ag-Xyr">
<rect key="frame" x="58" y="184" width="74" height="16"/> <rect key="frame" x="58" y="162" width="74" height="16"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" lineBreakMode="clipping" title="MAME Path" id="Xcq-4g-Wlw"> <textFieldCell key="cell" lineBreakMode="clipping" title="MAME Path" id="Xcq-4g-Wlw">
<font key="font" metaFont="system"/> <font key="font" metaFont="system"/>
@ -104,9 +104,20 @@
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/> <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell> </textFieldCell>
</textField> </textField>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="qT7-cc-Phc">
<rect key="frame" x="136" y="234" width="118" height="18"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="check" title="Use log window" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="Adv-KH-abG">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<binding destination="yvB-HG-64y" name="value" keyPath="values.UseLogWindow" id="meK-Jb-s8b"/>
</connections>
</button>
</subviews> </subviews>
</view> </view>
<point key="canvasLocation" x="140" y="147"/> <point key="canvasLocation" x="80" y="144"/>
</window> </window>
<userDefaultsController id="KVS-Ag-1un"/> <userDefaultsController id="KVS-Ag-1un"/>
<userDefaultsController representsSharedInstance="YES" id="yvB-HG-64y"/> <userDefaultsController representsSharedInstance="YES" id="yvB-HG-64y"/>

View File

@ -10,6 +10,7 @@
#import <CoreData/CoreData.h> #import <CoreData/CoreData.h>
@class NSMenu; @class NSMenu;
@class NSMenuItem;
@class Bookmark; @class Bookmark;
@class DiskImage; @class DiskImage;
@ -18,8 +19,11 @@ NS_ASSUME_NONNULL_BEGIN
@interface BookmarkManager : NSObject @interface BookmarkManager : NSObject
@property (weak) IBOutlet NSMenu *menu; @property (weak) IBOutlet NSMenu *menu;
@property (weak) IBOutlet NSMenuItem *updateMenuItem;
@property (readonly) NSManagedObjectContext *managedObjectContext; @property (readonly) NSManagedObjectContext *managedObjectContext;
@property (nullable) Bookmark *currentBookmark;
+(instancetype)sharedManager; +(instancetype)sharedManager;
-(NSString *)uniqueBookmarkName: (NSString *)name; -(NSString *)uniqueBookmarkName: (NSString *)name;
@ -28,13 +32,13 @@ NS_ASSUME_NONNULL_BEGIN
//-(NSError *)saveDefault: (NSDictionary *)bookmark; //-(NSError *)saveDefault: (NSDictionary *)bookmark;
-(Bookmark *)defaultBookmark;
-(NSDictionary *)loadDefault; -(NSDictionary *)loadDefault;
-(NSError *)setAutomatic: (Bookmark *)bookmark; -(NSError *)setAutomatic: (Bookmark *)bookmark;
-(BOOL)addDiskImage: (NSObject *)pathOrURL; -(BOOL)addDiskImage: (NSObject *)pathOrURL;
//-(void)convertLegacyBookmarks; //-(void)convertLegacyBookmarks;
@end @end

View File

@ -28,6 +28,8 @@
NSArrayController *_items; NSArrayController *_items;
NSUInteger _newMenuGeneration; NSUInteger _newMenuGeneration;
NSUInteger _currentMenuGeneration; NSUInteger _currentMenuGeneration;
Bookmark *_currentBookmark;
} }
@end @end
@ -235,20 +237,22 @@ static BookmarkManager *singleton = nil;
} }
-(NSDictionary *)loadDefault { -(Bookmark *)defaultBookmark {
NSFetchRequest *req; NSFetchRequest *req;
NSError *error; NSError *error;
NSArray *array; NSArray *array;
Bookmark *b;
req = [Bookmark fetchRequest]; req = [Bookmark fetchRequest];
[req setPredicate: [NSPredicate predicateWithFormat: @"automatic == TRUE"]]; [req setPredicate: [NSPredicate predicateWithFormat: @"automatic == TRUE"]];
array = [_moc executeFetchRequest: req error: &error]; array = [_moc executeFetchRequest: req error: &error];
b = [array firstObject]; return [array firstObject];
}
return [b dictionary];
-(NSDictionary *)loadDefault {
Bookmark *b = [self defaultBookmark];
return [b dictionary];
} }
/* save as .Default */ /* save as .Default */
@ -557,17 +561,37 @@ static NSString *kMenuContext = @"";
{ {
} }
-(Bookmark *)currentBookmark {
return _currentBookmark;
}
-(void)setCurrentBookmark:(Bookmark *)currentBookmark {
if (currentBookmark == _currentBookmark) return;
_currentBookmark = currentBookmark;
_newMenuGeneration++;
}
-(void)menuNeedsUpdate:(NSMenu *)menu { -(void)menuNeedsUpdate:(NSMenu *)menu {
if (_currentMenuGeneration == _newMenuGeneration) return; if (_currentMenuGeneration == _newMenuGeneration) return;
_currentMenuGeneration = _newMenuGeneration; _currentMenuGeneration = _newMenuGeneration;
if (_currentBookmark && _updateMenuItem) {
NSString *title = [NSString stringWithFormat: @"Update “%@”", [_currentBookmark name]];
[_updateMenuItem setHidden: NO];
[_updateMenuItem setTitle: title];
[_updateMenuItem setRepresentedObject: _currentBookmark];
} else {
[_updateMenuItem setHidden: YES];
[_updateMenuItem setRepresentedObject: nil];
}
NSArray *menus = [menu itemArray]; NSArray *menus = [menu itemArray];
for (NSMenuItem *item in [menus reverseObjectEnumerator]) { for (NSMenuItem *item in [menus reverseObjectEnumerator]) {
if ([item tag] == 0xdeadbeef) [_menu removeItem: item]; if ([item tag] == 0xdeadbeef) [_menu removeItem: item];
} }
NSArray *array = [_items arrangedObjects]; NSArray *array = [_items arrangedObjects];
for (Bookmark *b in array) { for (Bookmark *b in array) {

View File

@ -3,7 +3,7 @@
<plist version="1.0"> <plist version="1.0">
<dict> <dict>
<key>MameComponentsDate</key> <key>MameComponentsDate</key>
<date>2022-02-23T17:00:00Z</date> <date>2024-05-31T12:00:00Z</date>
<key>UseCustomMame</key> <key>UseCustomMame</key>
<false/> <false/>
<key>AutoCloseLogWindow</key> <key>AutoCloseLogWindow</key>
@ -15,8 +15,10 @@
<key>NSQuitAlwaysKeepsWindows</key> <key>NSQuitAlwaysKeepsWindows</key>
<true/> <true/>
<key>DefaultDownloadURL</key> <key>DefaultDownloadURL</key>
<string>https://archive.org/download/mame-0.231-merged</string> <string>https://archive.org/download/mame-merged/mame-merged</string>
<key>UseLogWindow</key>
<true/>
<key>DefaultDownloadExtension</key> <key>DefaultDownloadExtension</key>
<string>7z</string> <string>zip</string>
</dict> </dict>
</plist> </plist>

View File

@ -46,7 +46,14 @@
//[self loadRecentDiskImages]; //[self loadRecentDiskImages];
_extensions = [NSSet setWithObjects: _extensions = [NSSet setWithObjects:
@"2img", @"2mg", @"chd", @"dc", @"do", @"dsk", @"hd", @"hdv", @"image", @"nib", @"po", @"wav", @"woz", @"iso", @"raw", nil @"2img", @"2mg", @"chd", @"dc", @"do", @"dsk", @"hd", @"hdv", @"image", @"nib", @"po", @"wav", @"woz", @"iso", @"raw",
// st, etc.
@"mfm", @"st", @"msa", @"stx", @"ipf",
//
@"rom", @"bin",
// not supported/relevant.
// @"mfi", @"dfi", @"hfe", @"d77" @"d88", @"1dd", @"cqm", @"cqi", @"td0", @"imd",
nil
]; ];
} }
return self; return self;

View File

@ -11,6 +11,9 @@
#import "Menu.h" #import "Menu.h"
static NSString *Extensions[] = { @"zip", @"7z" };
enum { enum {
kTagZip = 1, kTagZip = 1,
kTag7z = 2, kTag7z = 2,
@ -90,6 +93,7 @@ enum {
@property NSUInteger status; @property NSUInteger status;
@property NSUInteger index; @property NSUInteger index;
@property NSUInteger fileSize;
@property (readonly) NSColor *titleColor; @property (readonly) NSColor *titleColor;
@property (readonly) NSColor *descriptionColor; @property (readonly) NSColor *descriptionColor;
@ -99,6 +103,8 @@ enum {
-(void)beginDownloadWithTask:(NSURLSessionDownloadTask *)task; -(void)beginDownloadWithTask:(NSURLSessionDownloadTask *)task;
-(void)completeWithError: (NSError *)error; -(void)completeWithError: (NSError *)error;
-(NSString *)statusDescription; -(NSString *)statusDescription;
-(void)refresh: (NSURL *)localURL;
@end @end
@ -135,7 +141,7 @@ enum {
@end @end
@implementation DownloadWindowController { @implementation DownloadWindowController {
NSArray *_items; NSArray *_items;
NSURL *_romFolder; NSURL *_romFolder;
NSURL *_defaultDownloadURL; NSURL *_defaultDownloadURL;
@ -144,7 +150,7 @@ enum {
NSURLSession *_session; NSURLSession *_session;
NSMutableDictionary *_taskIndex; NSMutableDictionary *_taskIndex;
NSUserDefaults *_defaults; NSUserDefaults *_defaults;
NSArray<NSButton *> *_filterButtons; NSArray<NSButton *> *_filterButtons;
} }
@ -168,7 +174,7 @@ enum {
#if 0 #if 0
- (void)encodeWithCoder:(nonnull NSCoder *)coder { - (void)encodeWithCoder:(nonnull NSCoder *)coder {
} }
#endif #endif
@ -178,11 +184,11 @@ enum {
-(void)windowWillLoad { -(void)windowWillLoad {
_defaults = [NSUserDefaults standardUserDefaults]; _defaults = [NSUserDefaults standardUserDefaults];
// set here so binding works. // set here so binding works.
NSString *s = [_defaults stringForKey: kDownloadExtension]; NSString *s = [_defaults stringForKey: kDownloadExtension];
if (![s length]) s = [_defaults stringForKey: kDefaultDownloadExtension]; if (![s length]) s = [_defaults stringForKey: kDefaultDownloadExtension];
_downloadExtension = s; _downloadExtension = s;
} }
@ -194,12 +200,12 @@ enum {
[window setRestorable: YES]; [window setRestorable: YES];
[window setRestorationClass: [self class]]; [window setRestorationClass: [self class]];
#endif #endif
_filterButtons = @[ _filterButtons = @[
_allFilterButton, _allFilterButton,
_missingFilterButton _missingFilterButton
]; ];
// Implement this method to handle any initialization after your window controller's window has been loaded from its nib file. // Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.
@ -207,21 +213,24 @@ enum {
NSBundle *bundle = [NSBundle mainBundle]; NSBundle *bundle = [NSBundle mainBundle];
NSFileManager *fm = [NSFileManager defaultManager]; NSFileManager *fm = [NSFileManager defaultManager];
#ifdef AMPLE_LITE
NSURL *url = [bundle URLForResource: @"roms~extra" withExtension: @"plist"];
#else
NSURL *url = [bundle URLForResource: @"roms" withExtension: @"plist"]; NSURL *url = [bundle URLForResource: @"roms" withExtension: @"plist"];
#endif
NSArray *roms = [NSArray arrayWithContentsOfURL: url]; NSArray *roms = [NSArray arrayWithContentsOfURL: url];
NSURL *sd = SupportDirectory(); NSURL *sd = SupportDirectory();
_romFolder = [sd URLByAppendingPathComponent: @"roms"]; _romFolder = [sd URLByAppendingPathComponent: @"roms"];
[fm createDirectoryAtURL: _romFolder withIntermediateDirectories: YES attributes: nil error: &error]; [fm createDirectoryAtURL: _romFolder withIntermediateDirectories: YES attributes: nil error: &error];
// so blank URL isn't overwritten. // so blank URL isn't overwritten.
NSString *s = [_defaults stringForKey: kDefaultDownloadURL]; NSString *s = [_defaults stringForKey: kDefaultDownloadURL];
_defaultDownloadURL = [NSURL URLWithString: s]; _defaultDownloadURL = [NSURL URLWithString: s];
[_downloadField setPlaceholderString: s]; [_downloadField setPlaceholderString: s];
s = [_defaults stringForKey: kDownloadURL]; s = [_defaults stringForKey: kDownloadURL];
if ([s length]) { if ([s length]) {
[_downloadField setStringValue: s]; [_downloadField setStringValue: s];
@ -229,20 +238,20 @@ enum {
} else { } else {
_downloadURL = _defaultDownloadURL; _downloadURL = _defaultDownloadURL;
} }
[self initializeExtensionMenu]; [self initializeExtensionMenu];
[self setCurrentROM: @""]; [self setCurrentROM: @""];
[self setCurrentCount: 0]; [self setCurrentCount: 0];
[self setTotalCount: [roms count]]; [self setTotalCount: [roms count]];
[self setErrorCount: 0]; [self setErrorCount: 0];
NSMutableArray *tmp = [NSMutableArray arrayWithCapacity: [roms count]]; NSMutableArray *tmp = [NSMutableArray arrayWithCapacity: [roms count]];
unsigned ix = 0; unsigned ix = 0;
for (NSDictionary *d in roms) { for (NSDictionary *d in roms) {
DownloadItem *item = [DownloadItem new]; DownloadItem *item = [DownloadItem new];
[item setValue: [d objectForKey: @"value"]]; [item setValue: [d objectForKey: @"value"]];
[item setName: [d objectForKey: @"description"]]; [item setName: [d objectForKey: @"description"]];
@ -258,7 +267,7 @@ enum {
NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration]; NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
_session = [NSURLSession sessionWithConfiguration: config delegate: self delegateQueue: nil]; _session = [NSURLSession sessionWithConfiguration: config delegate: self delegateQueue: nil];
_taskIndex = [NSMutableDictionary dictionaryWithCapacity: [_items count]]; _taskIndex = [NSMutableDictionary dictionaryWithCapacity: [_items count]];
//[self download]; //[self download];
} }
@ -267,13 +276,13 @@ enum {
#if 0 #if 0
-(void)validateURL: (NSString *)url { -(void)validateURL: (NSString *)url {
NSURL *v; NSURL *v;
if (![url length]) { if (![url length]) {
_effectiveURL = [NSURL URLWithString: _downloadURL]; _effectiveURL = [NSURL URLWithString: _downloadURL];
[_downloadField setTextColor: nil]; [_downloadField setTextColor: nil];
return; return;
} }
v = [NSURL URLWithString: url]; v = [NSURL URLWithString: url];
if (v) { if (v) {
_effectiveURL = v; _effectiveURL = v;
@ -291,36 +300,36 @@ enum {
NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration]; NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
_session = [NSURLSession sessionWithConfiguration: config delegate: self delegateQueue: nil]; _session = [NSURLSession sessionWithConfiguration: config delegate: self delegateQueue: nil];
} }
NSURLSessionDownloadTask *task; NSURLSessionDownloadTask *task;
NSString *s = [item value]; NSString *s = [item value];
NSString *path = [s stringByAppendingPathExtension: _downloadExtension]; NSString *path = [s stringByAppendingPathExtension: _downloadExtension];
NSURL *url = [_downloadURL URLByAppendingPathComponent: path]; NSURL *url = [_downloadURL URLByAppendingPathComponent: path];
task = [_session downloadTaskWithURL: url]; task = [_session downloadTaskWithURL: url];
[item beginDownloadWithTask: task]; [item beginDownloadWithTask: task];
[_taskIndex setObject: item forKey: task]; [_taskIndex setObject: item forKey: task];
[task resume]; [task resume];
} }
-(void)download { -(void)download {
// run in thread? // run in thread?
//unsigned count = 0; //unsigned count = 0;
for (DownloadItem *item in _items) { for (DownloadItem *item in _items) {
NSURLSessionDownloadTask *task; NSURLSessionDownloadTask *task;
NSString *s = [item value]; NSString *s = [item value];
NSString *path = [s stringByAppendingPathExtension: _downloadExtension]; NSString *path = [s stringByAppendingPathExtension: _downloadExtension];
NSURL *url = [_downloadURL URLByAppendingPathComponent: path]; NSURL *url = [_downloadURL URLByAppendingPathComponent: path];
task = [_session downloadTaskWithURL: url]; task = [_session downloadTaskWithURL: url];
[_taskIndex setObject: item forKey: task]; [_taskIndex setObject: item forKey: task];
[item setTask: task]; [item setTask: task];
[task resume]; [task resume];
@ -329,7 +338,7 @@ enum {
//if (count >= 2) break; //if (count >= 2) break;
} }
[self setActive: YES]; [self setActive: YES];
} }
-(DownloadItem *)clickedItem { -(DownloadItem *)clickedItem {
@ -340,24 +349,24 @@ enum {
} }
#if 0 #if 0
-(void)redrawRow: (NSUInteger)row { -(void)redrawRow: (NSUInteger)row {
//NSRect r = [_tableView rectOfRow: row]; //NSRect r = [_tableView rectOfRow: row];
//[_tableView setNeedsDisplayInRect: r]; //[_tableView setNeedsDisplayInRect: r];
NSIndexSet *rIx = [NSIndexSet indexSetWithIndex: row]; NSIndexSet *rIx = [NSIndexSet indexSetWithIndex: row];
NSIndexSet *cIx = [NSIndexSet indexSetWithIndex: 0]; NSIndexSet *cIx = [NSIndexSet indexSetWithIndex: 0];
[_tableView reloadDataForRowIndexes: rIx columnIndexes: cIx]; [_tableView reloadDataForRowIndexes: rIx columnIndexes: cIx];
} }
#endif #endif
-(void)initializeExtensionMenu { -(void)initializeExtensionMenu {
unsigned tag; unsigned tag;
// mark default download extension. // mark default download extension.
NSString *defaultExt = [_defaults stringForKey: kDefaultDownloadExtension]; NSString *defaultExt = [_defaults stringForKey: kDefaultDownloadExtension];
tag = [DownloadExtensionTransformer stringToNumber: defaultExt]; tag = [DownloadExtensionTransformer stringToNumber: defaultExt];
NSMenuItem *item = [[_formatButton menu] itemWithTag: tag]; NSMenuItem *item = [[_formatButton menu] itemWithTag: tag];
if (item) { if (item) {
[item setAttributedTitle: ItalicMenuString([item title])]; [item setAttributedTitle: ItalicMenuString([item title])];
@ -405,7 +414,7 @@ enum {
delta = YES; delta = YES;
} }
} }
if (delta) { if (delta) {
[self setActive: YES]; [self setActive: YES];
} }
@ -417,30 +426,31 @@ enum {
} }
-(IBAction)refreshROMs: (id)sender { -(IBAction)refreshROMs: (id)sender {
NSString *romdir = [SupportDirectoryPath() stringByAppendingPathComponent: @"roms"]; NSString *romdir = [SupportDirectoryPath() stringByAppendingPathComponent: @"roms"];
NSFileManager *fm = [NSFileManager defaultManager]; NSFileManager *fm = [NSFileManager defaultManager];
for (DownloadItem *item in _items) { for (DownloadItem *item in _items) {
NSDictionary *attr = nil;
NSString *value = [item value]; NSString *value = [item value];
NSString *s = [romdir stringByAppendingPathComponent: value]; NSString *s = [romdir stringByAppendingPathComponent: value];
NSString *path; NSString *path;
path = [s stringByAppendingPathExtension: @"zip"];
if ([fm fileExistsAtPath: path]) { for (unsigned i = 0; i < 2; ++i) {
[item setStatus: ItemFound]; path = [s stringByAppendingPathExtension: Extensions[i]];
[item setLocalURL: [NSURL fileURLWithPath: path]]; attr = [fm attributesOfItemAtPath: path error: nil];
continue; if (attr) break;
} }
path = [s stringByAppendingPathExtension: @"7z"]; if (attr) {
if ([fm fileExistsAtPath: path]) {
[item setStatus: ItemFound]; [item setStatus: ItemFound];
[item setLocalURL: [NSURL fileURLWithPath: path]]; [item setLocalURL: [NSURL fileURLWithPath: path]];
continue; [item setFileSize: [attr fileSize]];
} else {
[item setStatus: ItemMissing];
[item setLocalURL: nil];
[item setFileSize: 0];
} }
[item setStatus: ItemMissing];
[item setLocalURL: nil];
} }
} }
@ -454,12 +464,33 @@ enum {
[ws activateFileViewerSelectingURLs: @[url]]; [ws activateFileViewerSelectingURLs: @[url]];
} }
- (IBAction)moveToTrash:(id)sender {
NSError *error = nil;
DownloadItem *item = [self clickedItem];
if (!item) return;
NSURL *url = [item localURL];
if (!url) return;
NSFileManager *fm = [NSFileManager defaultManager];
if ([fm trashItemAtURL: url resultingItemURL: NULL error: &error]) {
[item refresh: nil];
} else {
[self presentError: error];
}
}
-(IBAction)doubleClick:(id)sender {
[self download: sender];
}
- (IBAction)download:(id)sender { - (IBAction)download:(id)sender {
DownloadItem *item = [self clickedItem]; DownloadItem *item = [self clickedItem];
if (!item) return; if (!item) return;
[self defocus]; [self defocus];
[self downloadItem: item]; [self downloadItem: item];
[self setActive: YES]; [self setActive: YES];
} }
@ -542,7 +573,7 @@ static NSInteger TaskStatusCode(NSURLSessionTask *task) {
error = [NSError errorWithDomain: NSURLErrorDomain code: NSURLErrorFileDoesNotExist userInfo: info]; error = [NSError errorWithDomain: NSURLErrorDomain code: NSURLErrorFileDoesNotExist userInfo: info];
} }
// not sure if strictly necessary but this happens in a background thread // not sure if strictly necessary but this happens in a background thread
// and these are used in KVO binding. Also, main thread only // and these are used in KVO binding. Also, main thread only
// means no race conditions. // means no race conditions.
@ -559,22 +590,22 @@ static NSInteger TaskStatusCode(NSURLSessionTask *task) {
if ([taskIndex count] == 0) { if ([taskIndex count] == 0) {
[self setActive: NO]; [self setActive: NO];
} }
if (item) { if (item) {
[item completeWithError: error]; [item completeWithError: error];
} }
}); });
} }
- (void)URLSession:(NSURLSession *)session downloadTask:(nonnull NSURLSessionDownloadTask *)task didFinishDownloadingToURL:(nonnull NSURL *)location { - (void)URLSession:(NSURLSession *)session downloadTask:(nonnull NSURLSessionDownloadTask *)task didFinishDownloadingToURL:(nonnull NSURL *)location {
// NSLog(@"%@", task); // NSLog(@"%@", task);
// NSLog(@"%@", [task response]); // NSLog(@"%@", [task response]);
if (TaskStatusCode(task) != 200) return; if (TaskStatusCode(task) != 200) return;
// need to move to the destination directory... // need to move to the destination directory...
// file deleted after this function returns, so can't move asynchronously. // file deleted after this function returns, so can't move asynchronously.
@ -582,13 +613,17 @@ static NSInteger TaskStatusCode(NSURLSessionTask *task) {
NSURL *src = [[task originalRequest] URL]; NSURL *src = [[task originalRequest] URL];
NSURL *dest = [_romFolder URLByAppendingPathComponent: [src lastPathComponent]]; NSURL *dest = [_romFolder URLByAppendingPathComponent: [src lastPathComponent]];
NSError *error = nil; NSError *error = nil;
/* just in case ... */
[fm removeItemAtURL: dest error: NULL];
[fm moveItemAtURL: location toURL: dest error: &error]; [fm moveItemAtURL: location toURL: dest error: &error];
dispatch_async(dispatch_get_main_queue(), ^(void){ dispatch_async(dispatch_get_main_queue(), ^(void){
NSMutableDictionary *taskIndex = self->_taskIndex; NSMutableDictionary *taskIndex = self->_taskIndex;
DownloadItem *item = [taskIndex objectForKey: task]; DownloadItem *item = [taskIndex objectForKey: task];
[item setLocalURL: dest];
if (error) [item completeWithError: error];
else [item refresh: dest];
}); });
NSLog(@"%@", src); NSLog(@"%@", src);
@ -598,13 +633,13 @@ static NSInteger TaskStatusCode(NSURLSessionTask *task) {
-(NSURLCredential *)credentialForChallenge: (NSURLAuthenticationChallenge *)challenge { -(NSURLCredential *)credentialForChallenge: (NSURLAuthenticationChallenge *)challenge {
//if ([challenge previousFailureCount]) return nil; //if ([challenge previousFailureCount]) return nil;
NSURLCredential *credential = nil; NSURLCredential *credential = nil;
NSURLProtectionSpace *space = [challenge protectionSpace]; NSURLProtectionSpace *space = [challenge protectionSpace];
OSStatus status; OSStatus status;
NSDictionary *query; NSDictionary *query;
CFTypeRef item = nil; CFTypeRef item = nil;
@ -620,41 +655,41 @@ static NSInteger TaskStatusCode(NSURLSessionTask *task) {
}; };
status = SecItemCopyMatching((CFDictionaryRef)query, &item); status = SecItemCopyMatching((CFDictionaryRef)query, &item);
NSLog(@"%@", query); //NSLog(@"%@", query);
if (status != 0) return nil; if (status != 0) return nil;
NSDictionary *d = (__bridge NSDictionary *)item; NSDictionary *d = (__bridge NSDictionary *)item;
NSLog(@"%@", d); //NSLog(@"%@", d);
NSString *account = [d objectForKey: (id)kSecAttrAccount]; NSString *account = [d objectForKey: (id)kSecAttrAccount];
NSData *passwordData = [d objectForKey: (id)kSecValueData]; NSData *passwordData = [d objectForKey: (id)kSecValueData];
NSString *password = [[NSString alloc] initWithData: passwordData encoding: NSUTF8StringEncoding]; NSString *password = [[NSString alloc] initWithData: passwordData encoding: NSUTF8StringEncoding];
credential = [NSURLCredential credentialWithUser: account password: password persistence: NSURLCredentialPersistenceForSession]; credential = [NSURLCredential credentialWithUser: account password: password persistence: NSURLCredentialPersistenceForSession];
return credential; return credential;
} }
- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential *credential))completionHandler { - (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential *credential))completionHandler {
NSLog(@"challenge: %@", challenge); NSLog(@"challenge: %@", challenge);
if ([challenge previousFailureCount]) { if ([challenge previousFailureCount]) {
completionHandler(NSURLSessionAuthChallengeCancelAuthenticationChallenge, nil); completionHandler(NSURLSessionAuthChallengeCancelAuthenticationChallenge, nil);
return; return;
} }
NSURLProtectionSpace *space = [challenge protectionSpace]; NSURLProtectionSpace *space = [challenge protectionSpace];
NSString *method = [space authenticationMethod]; NSString *method = [space authenticationMethod];
if ([NSURLAuthenticationMethodHTTPBasic isEqualToString: method] || if ([NSURLAuthenticationMethodHTTPBasic isEqualToString: method] ||
[NSURLAuthenticationMethodNTLM isEqualToString: method] || [NSURLAuthenticationMethodNTLM isEqualToString: method] ||
[NSURLAuthenticationMethodHTTPDigest isEqualToString: method]) { [NSURLAuthenticationMethodHTTPDigest isEqualToString: method]) {
NSURLCredential *credential = [self credentialForChallenge: challenge]; NSURLCredential *credential = [self credentialForChallenge: challenge];
if (credential) { if (credential) {
completionHandler(NSURLSessionAuthChallengeUseCredential, credential); completionHandler(NSURLSessionAuthChallengeUseCredential, credential);
return; return;
@ -697,6 +732,42 @@ static NSInteger TaskStatusCode(NSURLSessionTask *task) {
} }
} }
-(void)refresh: (NSURL *)localURL {
NSDictionary *attr = nil;
NSError * error = nil;
NSFileManager *fm = [NSFileManager defaultManager];
if (localURL) {
attr = [fm attributesOfItemAtPath: [localURL path] error: &error];
} else {
NSString *romdir = [SupportDirectoryPath() stringByAppendingPathComponent: @"roms"];
NSString *s = [romdir stringByAppendingPathComponent: _value];
NSString *path = nil;
for (unsigned i = 0; i < 2; ++i) {
path = [s stringByAppendingPathExtension: Extensions[i]];
attr = [fm attributesOfItemAtPath: path error: nil];
if (attr) {
localURL = [NSURL fileURLWithPath: path];
break;
}
}
}
if (attr && localURL) {
[self setLocalURL: localURL];
[self setFileSize: [attr fileSize]];
[self setStatus: ItemFound];
} else {
[self setLocalURL: nil];
[self setFileSize: 0];
if (_status == ItemFound || _status == ItemDownloaded)
[self setStatus: ItemMissing];
}
}
+(NSSet *)keyPathsForValuesAffectingStatusDescription { +(NSSet *)keyPathsForValuesAffectingStatusDescription {
return [NSSet setWithObjects: @"error", @"status", nil]; return [NSSet setWithObjects: @"error", @"status", nil];
} }
@ -742,27 +813,34 @@ enum {
}; };
- (BOOL)validateMenuItem:(NSMenuItem *)menuItem { - (BOOL)validateMenuItem:(NSMenuItem *)menuItem {
if ([menuItem action] == @selector(downloadExtensionChanged:)) return YES;
SEL action = [menuItem action];
if (action == @selector(downloadExtensionChanged:)) return YES;
DownloadItem *item = [self clickedItem];
if (!item) return NO;
#if 0
NSInteger row = [_tableView clickedRow]; NSInteger row = [_tableView clickedRow];
if (row < 0) return NO; if (row < 0) return NO;
DownloadItem *item = [[_arrayController arrangedObjects] objectAtIndex: row]; //[_items objectAtIndex: row]; DownloadItem *item = [[_arrayController arrangedObjects] objectAtIndex: row]; //[_items objectAtIndex: row];
#endif
NSUInteger status = [item status]; NSUInteger status = [item status];
switch([menuItem tag]) {
case kOpenInFinder: if (action == @selector(moveToTrash:)) {
return status == ItemFound || status == ItemDownloaded; return [item localURL] != nil;
break;
case kDownload:
return YES;
//return status == ItemMissing || status == ItemError || status == ItemCanceled;
break;
case kCancel:
return status == ItemDownloading;
break;
} }
if (action == @selector(showInFinder:)) {
return [item localURL] != nil;
}
if (action == @selector(download:)) {
return YES;
}
if (action == @selector(cancel:)) {
return status == ItemDownloading;
}
return NO; return NO;
} }

View File

@ -47,10 +47,12 @@
<string>$(MARKETING_VERSION)</string> <string>$(MARKETING_VERSION)</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string> <string>$(CURRENT_PROJECT_VERSION)</string>
<key>LSApplicationCategoryType</key>
<string>public.app-category.utilities</string>
<key>LSMinimumSystemVersion</key> <key>LSMinimumSystemVersion</key>
<string>$(MACOSX_DEPLOYMENT_TARGET)</string> <string>$(MACOSX_DEPLOYMENT_TARGET)</string>
<key>NSHumanReadableCopyright</key> <key>NSHumanReadableCopyright</key>
<string>Copyright © 2020-2022 Kelvin Sherlock. All rights reserved.</string> <string>Copyright © 2020-2023 Kelvin Sherlock. All rights reserved.</string>
<key>NSMainNibFile</key> <key>NSMainNibFile</key>
<string>MainMenu</string> <string>MainMenu</string>
<key>NSPrincipalClass</key> <key>NSPrincipalClass</key>

View File

@ -25,10 +25,25 @@ static NSString *kMyContext = @"kMyContext";
static NSString *kContextMachine = @"kContextMachine"; static NSString *kContextMachine = @"kContextMachine";
static NSString *NeedsAspectRatio(NSString *machine) {
static NSDictionary *dict = nil;
if (!dict) {
dict = @{
@"oric1": @"2:1",
@"orica": @"2:1",
@"prav8d": @"2:1",
@"telstrat": @"2:1",
};
}
return [dict objectForKey: machine];
}
@interface LaunchWindowController () { @interface LaunchWindowController () {
BOOL _loadingBookmark; BOOL _loadingBookmark;
NSString *_machine; NSString *_machine;
NSDictionary *_machineDescription; NSDictionary *_machineDescription;
BookmarkManager *_manager;
} }
@property (strong) IBOutlet MediaViewController *mediaController; @property (strong) IBOutlet MediaViewController *mediaController;
@property (strong) IBOutlet SlotViewController *slotController; @property (strong) IBOutlet SlotViewController *slotController;
@ -120,6 +135,7 @@ static NSString *EffectsStrings[] = {
@"crt-geom", @"crt-geom",
@"crt-geom-deluxe", @"crt-geom-deluxe",
@"lcd-grid", @"lcd-grid",
@"Fighters",
}; };
@ -189,6 +205,8 @@ static int EffectsIndex(NSString *str) {
-(void)windowWillLoad { -(void)windowWillLoad {
_manager = [BookmarkManager sharedManager];
// if this calls [self window], it will recurse. that is bad. // if this calls [self window], it will recurse. that is bad.
//[self defaultLoad: nil]; //[self defaultLoad: nil];
[self reset]; [self reset];
@ -316,7 +334,7 @@ static NSString * JoinArguments(NSArray *argv, NSString *argv0) {
if (!safe) { if (!safe) {
NSString *str = NSString *str =
@"%+-./:=_" @"%+-./:=_,"
@"0123456789" @"0123456789"
@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" @"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
; ;
@ -391,7 +409,7 @@ static NSString *ShellQuote(NSString *s) {
if (!safe) { if (!safe) {
NSString *str = NSString *str =
@"%+-./:=_" @"%+-./:=_,"
@"0123456789" @"0123456789"
@"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" @"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
; ;
@ -478,6 +496,8 @@ static NSString *ShellQuote(NSString *s) {
* for square pixels, should pass the true size and true aspect ratio. * for square pixels, should pass the true size and true aspect ratio.
*/ */
NSSize screen = [_slotController resolution]; NSSize screen = [_slotController resolution];
switch(_mameWindowMode) { switch(_mameWindowMode) {
case 0: // full screen; case 0: // full screen;
@ -494,12 +514,18 @@ static NSString *ShellQuote(NSString *s) {
// drop through. // drop through.
case 2: // 2x case 2: // 2x
case 3: // 3x case 3: // 3x
case 4: // 4x
if (_mameSquarePixels) { if (_mameSquarePixels) {
// NSString *aspect = [NSString stringWithFormat: @"%u:%u", (unsigned)screen.width, (unsigned)screen.height]; // NSString *aspect = [NSString stringWithFormat: @"%u:%u", (unsigned)screen.width, (unsigned)screen.height];
// [argv addObject: @"-aspect"]; // [argv addObject: @"-aspect"];
// [argv addObject: aspect]; // [argv addObject: aspect];
[argv addObject: @"-nounevenstretch"];
float hscale = round((screen.width * 3 / 4) / screen.height);
if (hscale < 1) hscale = 1;
screen.height *= hscale;
} else { } else {
screen.height = round(screen.width * 3 / 4); screen.height = round(screen.width * 3 / 4);
} }
@ -512,12 +538,26 @@ static NSString *ShellQuote(NSString *s) {
[argv addObject: @"-resolution"]; [argv addObject: @"-resolution"];
[argv addObject: res]; [argv addObject: res];
if (_mameSquarePixels) {
[argv addObject: @"-nounevenstretch"];
NSString *aspect = NeedsAspectRatio(_machine);
if (aspect) {
[argv addObject: @"-aspect"];
[argv addObject: aspect];
}
}
break; break;
} }
if (_mameBGFX) { if (_mameBGFX) {
[argv addObject: @"-video"];
[argv addObject: @"bgfx"];
if (_mameBackend) { if (_mameBackend) {
[argv addObject: @"-bgfx_backend"]; [argv addObject: @"-bgfx_backend"];
[argv addObject: BackendStrings[_mameBackend]]; [argv addObject: BackendStrings[_mameBackend]];
@ -731,6 +771,7 @@ static NSString *ShellQuote(NSString *s) {
-(IBAction)resetAll:(id)sender { -(IBAction)resetAll:(id)sender {
[_manager setCurrentBookmark: nil];
[self reset]; [self reset];
[self resetSoftware]; [self resetSoftware];
[_slotController resetSlots: sender]; [_slotController resetSlots: sender];
@ -779,37 +820,40 @@ static NSString *ShellQuote(NSString *s) {
-(IBAction)defaultSave:(id)sender { -(IBAction)defaultSave:(id)sender {
#if 0 #if 0
BookmarkManager *bm = [BookmarkManager sharedManager];
NSDictionary *d = [self makeBookmark]; NSDictionary *d = [self makeBookmark];
[bm saveDefault: d]; [_manager saveDefault: d];
#endif #endif
} }
-(IBAction)defaultLoad:(id)sender { -(IBAction)defaultLoad:(id)sender {
BookmarkManager *bm = [BookmarkManager sharedManager]; Bookmark *b = [_manager defaultBookmark];
NSDictionary *d = [bm loadDefault]; if (!b) {
if (!d) {
[self resetAll: sender]; [self resetAll: sender];
[self setMachine: nil]; [self setMachine: nil];
[_machineViewController reset]; [_machineViewController reset];
[_slotController setMachine: nil]; [_slotController setMachine: nil];
return; return;
} }
[self loadBookmark: d]; [self loadBookmark: b];
}
-(IBAction)updateBookmark: (id)sender {
Bookmark *b = [sender representedObject];
if (!b) return;
NSDictionary *d = [self makeBookmark];
[b setDictionary: d];
} }
-(IBAction)addBookmark:(id)sender { -(IBAction)addBookmark:(id)sender {
if (!_machine) return; if (!_machine) return;
BookmarkManager *bm = [BookmarkManager sharedManager];
NSString *name = nil; NSString *name = nil;
if (_machineDescription) name = [_machineDescription objectForKey:@"description"]; if (_machineDescription) name = [_machineDescription objectForKey:@"description"];
if (!name) name = _machine; if (!name) name = _machine;
@ -819,7 +863,7 @@ static NSString *ShellQuote(NSString *s) {
name = [name stringByAppendingFormat: @" - %@", [_software title]]; name = [name stringByAppendingFormat: @" - %@", [_software title]];
} }
name = [bm uniqueBookmarkName: name]; name = [_manager uniqueBookmarkName: name];
[self setBookmarkName: name]; [self setBookmarkName: name];
[self setBookmarkDefault: NO]; [self setBookmarkDefault: NO];
@ -836,10 +880,9 @@ static NSString *ShellQuote(NSString *s) {
-(IBAction)bookmarkSave:(id)sender { -(IBAction)bookmarkSave:(id)sender {
BookmarkManager *bm = [BookmarkManager sharedManager];
#if 0 #if 0
if (![bm validateName: _bookmarkName]) { if (![_manager validateName: _bookmarkName]) {
[_bookmarkTextField selectText: nil]; [_bookmarkTextField selectText: nil];
NSBeep(); NSBeep();
return; return;
@ -849,7 +892,7 @@ static NSString *ShellQuote(NSString *s) {
NSDictionary *d = [self makeBookmark]; NSDictionary *d = [self makeBookmark];
NSError *e; NSError *e;
if (( e = [bm saveBookmark: d name: _bookmarkName automatic: _bookmarkDefault])) { if (( e = [_manager saveBookmark: d name: _bookmarkName automatic: _bookmarkDefault])) {
// probably a duplicate name... // probably a duplicate name...
[_bookmarkTextField selectText: nil]; [_bookmarkTextField selectText: nil];
[_bookmarkErrorField setStringValue: [e localizedDescription]]; [_bookmarkErrorField setStringValue: [e localizedDescription]];
@ -866,31 +909,24 @@ static NSString *ShellQuote(NSString *s) {
-(void)bookmarkNotification: (NSNotification *)notification { -(void)bookmarkNotification: (NSNotification *)notification {
Bookmark *b = [notification object]; Bookmark *b = [notification object];
NSDictionary *d = [b dictionary]; [self loadBookmark: b];
[self loadBookmark: d];
} }
-(IBAction)bookmarkMenu:(id)sender { -(IBAction)bookmarkMenu:(id)sender {
#if 0
NSURL *url = [sender representedObject];
if (!url) return;
NSDictionary *d = [NSDictionary dictionaryWithContentsOfURL: url];
if (!d) return; // oops...
#endif
// represented object is a Bookmark. // represented object is a Bookmark.
NSDictionary *d = [(Bookmark *)[sender representedObject] dictionary]; Bookmark *b = [sender representedObject];
[self loadBookmark: d]; [self loadBookmark: b];
} }
-(void)loadBookmark: (NSDictionary *)d { -(void)loadBookmark: (Bookmark *)b {
Class StringClass = [NSString class]; Class StringClass = [NSString class];
Class NumberClass = [NSNumber class]; Class NumberClass = [NSNumber class];
NSDictionary *d = [b dictionary];
[_manager setCurrentBookmark: b];
NSString *machine = [d objectForKey: @"machine"]; NSString *machine = [d objectForKey: @"machine"];
if (!machine) return; if (!machine) return;

View File

@ -34,7 +34,7 @@ static NSMutableSet *LogWindows;
} }
+(id)controllerForTask: (NSTask *)task close: (BOOL)close{ +(id)controllerForTask: (NSTask *)task close: (BOOL)close {
LogWindowController *controller = [[LogWindowController alloc] initWithWindowNibName: @"LogWindow"]; LogWindowController *controller = [[LogWindowController alloc] initWithWindowNibName: @"LogWindow"];
[controller runTask: task close: close]; [controller runTask: task close: close];
return controller; return controller;
@ -43,6 +43,8 @@ static NSMutableSet *LogWindows;
+(id)controllerForArgs: (NSArray *)args close: (BOOL)close { +(id)controllerForArgs: (NSArray *)args close: (BOOL)close {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSURL *url = MameURL(); NSURL *url = MameURL();
if (!url) { if (!url) {
@ -65,6 +67,30 @@ static NSMutableSet *LogWindows;
[task setArguments: args]; [task setArguments: args];
if ([defaults boolForKey: kUseLogWindow] == NO) {
NSAlert *alert = nil;
if (@available(macOS 10.13, *)) {
NSError *error = nil;
[task launchAndReturnError: &error];
if (error) {
alert = [NSAlert alertWithError: error];
}
} else {
@try {
[task launch];
} @catch (NSException *exception) {
alert = [NSAlert new];
[alert setMessageText: [exception reason]];
}
}
if (alert) [alert runModal];
return nil;
}
return [LogWindowController controllerForTask: task close: close]; return [LogWindowController controllerForTask: task close: close];
} }

View File

@ -20,7 +20,11 @@
-(void)awakeFromNib { -(void)awakeFromNib {
NSBundle *bundle = [NSBundle mainBundle]; NSBundle *bundle = [NSBundle mainBundle];
#ifdef AMPLE_LITE
NSString *path = [bundle pathForResource: @"models~extra" ofType: @"plist"];
#else
NSString *path = [bundle pathForResource: @"models" ofType: @"plist"]; NSString *path = [bundle pathForResource: @"models" ofType: @"plist"];
#endif
_data = [NSArray arrayWithContentsOfFile: path]; _data = [NSArray arrayWithContentsOfFile: path];

View File

@ -14,6 +14,7 @@ typedef struct Media {
unsigned cass; unsigned cass;
unsigned cdrom; unsigned cdrom;
unsigned hard; unsigned hard;
unsigned floppy_8;
unsigned floppy_5_25; unsigned floppy_5_25;
unsigned floppy_3_5; unsigned floppy_3_5;
unsigned pseudo_disk; unsigned pseudo_disk;
@ -21,13 +22,17 @@ typedef struct Media {
unsigned midiin; unsigned midiin;
unsigned midiout; unsigned midiout;
unsigned picture; unsigned picture;
uint64_t floppy_mask; unsigned rom;
uint64_t floppy_mask_8;
uint64_t floppy_mask_5_25;
uint64_t floppy_mask_3_5;
} Media; } Media;
typedef enum { typedef enum {
MediaTypeError = -1, MediaTypeError = -1,
MediaTypeUnknown = 0, MediaTypeUnknown = 0,
MediaType_8,
MediaType_5_25, MediaType_5_25,
MediaType_3_5, MediaType_3_5,
MediaType_HardDisk, MediaType_HardDisk,
@ -35,6 +40,7 @@ typedef enum {
MediaType_Cassette, MediaType_Cassette,
MediaType_Picture, MediaType_Picture,
MediaType_MIDI, MediaType_MIDI,
MediaType_ROM,
} MediaType; } MediaType;
struct Media MediaFromDictionary(NSDictionary *); struct Media MediaFromDictionary(NSDictionary *);

View File

@ -21,11 +21,13 @@ struct Media MediaFromDictionary(NSDictionary *dict) {
_(hard); _(hard);
_(floppy_3_5); _(floppy_3_5);
_(floppy_5_25); _(floppy_5_25);
_(floppy_8);
_(pseudo_disk); _(pseudo_disk);
_(bitbanger); _(bitbanger);
_(midiin); _(midiin);
_(midiout); _(midiout);
_(picture); _(picture);
_(rom);
return m; return m;
#undef _ #undef _
@ -37,8 +39,9 @@ void MediaAdd(Media *dest, const Media *src) {
// could merge from src media but not currently set there. // could merge from src media but not currently set there.
unsigned count; //unsigned count;
unsigned flops = dest->floppy_5_25 + dest->floppy_3_5; unsigned dest_flops = dest->floppy_8 + dest->floppy_5_25 + dest->floppy_3_5;
unsigned src_flops = src->floppy_8 || src->floppy_5_25 || src->floppy_3_5;
#define _(name) dest->name += src->name; #define _(name) dest->name += src->name;
@ -47,21 +50,34 @@ void MediaAdd(Media *dest, const Media *src) {
_(hard); _(hard);
_(floppy_3_5); _(floppy_3_5);
_(floppy_5_25); _(floppy_5_25);
_(floppy_8);
_(pseudo_disk); _(pseudo_disk);
_(bitbanger); _(bitbanger);
_(midiin); _(midiin);
_(midiout); _(midiout);
_(picture); _(picture);
_(rom);
#undef _ #undef _
if ((count = src->floppy_5_25)) { // this assumes any device that supports more than 1 floppy size
uint64_t bits = (1 << count) - 1; // the order is 8" < 5.25" < 3.5"
//dest->floppy_mask <<= count;
bits <<= flops;
dest->floppy_mask |= bits;
}
if (src_flops) {
uint64_t bits = 1 << dest_flops;
for (unsigned i = 0; i < src->floppy_8; ++i) {
dest->floppy_mask_8 |= bits;
bits <<= 1;
}
for (unsigned i = 0; i < src->floppy_5_25; ++i) {
dest->floppy_mask_5_25 |= bits;
bits <<= 1;
}
for (unsigned i = 0; i < src->floppy_3_5; ++i) {
dest->floppy_mask_3_5 |= bits;
bits <<= 1;
}
}
} }
@ -76,13 +92,17 @@ BOOL MediaEqual(const Media *lhs, const Media *rhs) {
_(hard); _(hard);
_(floppy_3_5); _(floppy_3_5);
_(floppy_5_25); _(floppy_5_25);
_(floppy_8);
_(pseudo_disk); _(pseudo_disk);
_(bitbanger); _(bitbanger);
_(midiin); _(midiin);
_(midiout); _(midiout);
_(picture); _(picture);
_(rom);
_(floppy_mask); _(floppy_mask_8);
_(floppy_mask_5_25);
_(floppy_mask_3_5);
return YES; return YES;
#undef _ #undef _
@ -151,7 +171,8 @@ static BOOL is_raw_35(size_t disk_size) {
if (disk_size & 511) return NO; if (disk_size & 511) return NO;
size_t blocks = disk_size >> 9; size_t blocks = disk_size >> 9;
return blocks == 800 || blocks == 1600 || blocks == 1440 || blocks == 2880; // atari st has 360 (single sided) and 720 (double-sided) disks..
return blocks == 800 || blocks == 1600 || blocks == 1440 || blocks == 2880 || blocks == 720 || blocks == 360;
} }
static MediaType is_woz(const uint8_t *buffer, size_t file_size) { static MediaType is_woz(const uint8_t *buffer, size_t file_size) {
@ -216,7 +237,29 @@ static MediaType is_chd(const uint8_t *buffer, size_t file_size) {
return MediaTypeError; return MediaTypeError;
} }
static MediaType is_ipf(const uint8_t *buffer, size_t file_size) {
// http://justsolve.archiveteam.org/wiki/IPF
if (!memcmp(buffer, "CAPS\x00\x00\x00", 7)) return MediaType_3_5;
return MediaTypeUnknown;
}
static MediaType is_hxcf(const uint8_t *buffer, size_t file_size) {
// HxCFloppyEmulator
if (!memcmp(buffer, "HXCMFM", 6)) return MediaType_3_5;
return MediaTypeUnknown;
}
static MediaType is_msa(const uint8_t *buffer, size_t file_size) {
// Atari MSA
if (!memcmp(buffer, "\x0x\x0f", 2)) return MediaType_3_5;
return MediaTypeUnknown;
}
static MediaType is_pasti(const uint8_t *buffer, size_t file_size) {
// Atari STX/Pasti
if (!memcmp(buffer, "RSY\x00\x03\x00", 6)) return MediaType_3_5;
return MediaTypeUnknown;
}
MediaType ClassifyMediaFile(id file) { MediaType ClassifyMediaFile(id file) {
@ -298,6 +341,40 @@ MediaType ClassifyMediaFile(id file) {
case _x3('m', 'i', 'd'): case _x3('m', 'i', 'd'):
return MediaType_MIDI; return MediaType_MIDI;
// atari st, etc, 3.5 disk?
// http://justsolve.archiveteam.org/wiki/Disk_Image_Formats
case _x3('i', 'p', 'f'):
return is_ipf(buffer, st.st_size);
case _x3('m', 'f', 'm'):
return is_hxcf(buffer, st.st_size);
case _x3('m', 's', 'a'):
return is_msa(buffer, st.st_size);
case _x2('s', 't'):
if (is_raw_35(st.st_size)) return MediaType_3_5;
return MediaTypeUnknown;
case _x3('s', 't', 'x'): // pasti
return is_pasti(buffer, st.st_size);
//case _x3('m', 'f', 'i'): // mame/mess floppy image [???]
//case _x3('d', 'f', 'i'): // disc ferret image
//case _x3('h', 'f', 'e'): // ???
//case _x3('t', 'd', '0'): // teledisk - may be split across multiple files (.td1, .td2, ...)
//case _x3('i', 'm', 'd'): // imagedisk
//case _x3('d', '7', '7'): //pc-88, may have multiple disk images
//case _x3('d', '8', '8'): //fm-77, may have multiple disk images.
//case _x3('1', 'd', 'd'): // related?
//case _x3('c', 'q', 'm'): // copyQM
//case _x3('c', 'q', 'i'): // copyQM
case _x3('r', 'o', 'm'):
case _x3('b', 'i', 'n'):
return MediaType_ROM;
} }
return MediaTypeUnknown; return MediaTypeUnknown;

View File

@ -321,6 +321,7 @@
if (first) return; if (first) return;
first++; first++;
_data[kIndexFloppy8] = [MediaCategory categoryWithTitle: @"8\" Floppies"];
_data[kIndexFloppy525] = [MediaCategory categoryWithTitle: @"5.25\" Floppies"]; _data[kIndexFloppy525] = [MediaCategory categoryWithTitle: @"5.25\" Floppies"];
_data[kIndexFloppy35] = [MediaCategory categoryWithTitle: @"3.5\" Floppies"]; _data[kIndexFloppy35] = [MediaCategory categoryWithTitle: @"3.5\" Floppies"];
_data[kIndexHardDrive] = [MediaCategory categoryWithTitle: @"Hard Drives"]; _data[kIndexHardDrive] = [MediaCategory categoryWithTitle: @"Hard Drives"];
@ -332,6 +333,7 @@
_data[kIndexMidiIn] = [MediaCategory categoryWithTitle: @"MIDI (In)"]; _data[kIndexMidiIn] = [MediaCategory categoryWithTitle: @"MIDI (In)"];
_data[kIndexMidiOut] = [MediaCategory categoryWithTitle: @"MIDI (Out)"]; _data[kIndexMidiOut] = [MediaCategory categoryWithTitle: @"MIDI (Out)"];
_data[kIndexPicture] = [MediaCategory categoryWithTitle: @"Picture"]; _data[kIndexPicture] = [MediaCategory categoryWithTitle: @"Picture"];
_data[kIndexROM] = [MediaCategory categoryWithTitle: @"ROM"];
for (unsigned i = 0; i < CATEGORY_COUNT; ++i) { for (unsigned i = 0; i < CATEGORY_COUNT; ++i) {
[_data[i] setCategory: i]; [_data[i] setCategory: i];
@ -339,7 +341,6 @@
} }
_root = [NSMutableArray new]; _root = [NSMutableArray new];
} }
@ -347,45 +348,49 @@
-(void)rebuildArgs { -(void)rebuildArgs {
static char* prefix[] = { static char* prefix[] = {
"flop", "flop", "hard", "cdrm", "cass", "disk", "bitb", "min", "mout", "pic" "flop", "flop", "flop", "hard", "cdrm", "cass", "disk", "bitb", "min", "mout", "pic", "rom",
}; };
static_assert(SIZEOF(prefix) == CATEGORY_COUNT, "Missing item"); static_assert(SIZEOF(prefix) == CATEGORY_COUNT, "Missing item");
NSMutableArray *args = [NSMutableArray new]; NSMutableArray *args = [NSMutableArray new];
//unsigned counts[CATEGORY_COUNT] = { 0 }; //unsigned counts[CATEGORY_COUNT] = { 0 };
uint64_t floppy_mask_8 = _media.floppy_mask_8;
uint64_t floppy_mask_5_25 = _media.floppy_mask_5_25;
uint64_t floppy_mask_3_5 = _media.floppy_mask_3_5;
for (unsigned j = 0; j < CATEGORY_COUNT; ++j) { for (unsigned j = 0; j < CATEGORY_COUNT; ++j) {
uint64_t floppy_mask = _media.floppy_mask; //uint64_t floppy_mask = _media.floppy_mask;
unsigned index = 0; unsigned index = 0;
MediaCategory *cat = _data[j]; MediaCategory *cat = _data[j];
NSInteger valid = [cat validCount]; NSInteger valid = [cat validCount];
for (NSInteger i = 0; i < valid; ++i) { for (NSInteger i = 0; i < valid; ++i) {
MediaItem *item = [cat objectAtIndex: i]; MediaItem *item = [cat objectAtIndex: i];
NSString *arg = [item argument]; NSString *arg = [item argument];
switch(j) {
if (j == kIndexFloppy525) { case kIndexFloppy8:
// assumes < 64 floppies.... index = ffsll(floppy_mask_8);
// infinite loop if no floppy device... floppy_mask_8 &= ~(1 << (index-1));
if (floppy_mask == 0) break; break;
while ((floppy_mask & 0x01) == 0) { case kIndexFloppy525:
floppy_mask >>= 1; index = ffsll(floppy_mask_5_25);
floppy_mask_5_25 &= ~(1 << (index-1));
break;
case kIndexFloppy35:
index = ffsll(floppy_mask_3_5);
floppy_mask_3_5 &= ~(1 << (index-1));
break;
default:
++index; ++index;
}
} else if (j == kIndexFloppy35) {
while ((floppy_mask & 0x01)) {
floppy_mask >>= 1;
++index;
}
} }
++index;
floppy_mask >>= 1;
if (!arg) continue; if (!arg) continue;
if (!index) continue;
[args addObject: [NSString stringWithFormat: @"-%s%u", prefix[j], index]]; [args addObject: [NSString stringWithFormat: @"-%s%u", prefix[j], index]];
[args addObject: arg]; [args addObject: arg];
} }
@ -439,19 +444,13 @@ x = media.name; cat = _data[index]; delta |= [cat setItemCount: x]
_(hard, kIndexHardDrive); _(hard, kIndexHardDrive);
_(floppy_3_5, kIndexFloppy35); _(floppy_3_5, kIndexFloppy35);
_(floppy_5_25, kIndexFloppy525); _(floppy_5_25, kIndexFloppy525);
_(floppy_8, kIndexFloppy8);
_(pseudo_disk, kIndexDiskImage); _(pseudo_disk, kIndexDiskImage);
_(bitbanger, kIndexBitBanger); _(bitbanger, kIndexBitBanger);
// disable midi for now - it's either a midi file (which auto-plays too soon to be useful)
// or a midi device ("default" for first one).
// So we should build a device list (and pre-populate the default one)
// another approach is a separate utility to act as a midi/serial input converter
// and midi file / serial converter so the modem/serial port could be used.
#if 1
_(midiin, kIndexMidiIn); _(midiin, kIndexMidiIn);
_(midiout, kIndexMidiOut); _(midiout, kIndexMidiOut);
#endif
_(picture, kIndexPicture); _(picture, kIndexPicture);
_(rom, kIndexROM);
if (delta) { if (delta) {
[self rebuildRoot]; [self rebuildRoot];
@ -765,6 +764,7 @@ static NSString *kDragType = @"private.ample.media";
switch(tag) { switch(tag) {
case kIndexFloppy8:
case kIndexFloppy525: case kIndexFloppy525:
case kIndexFloppy35: case kIndexFloppy35:
case kIndexHardDrive: case kIndexHardDrive:
@ -782,6 +782,7 @@ static NSString *kDragType = @"private.ample.media";
case kIndexMidiIn: case kIndexMidiIn:
case kIndexMidiOut: case kIndexMidiOut:
case kIndexBitBanger: case kIndexBitBanger:
case kIndexROM:
default: break; default: break;
} }
@ -831,11 +832,13 @@ static NSString *kDragType = @"private.ample.media";
switch(mt) { switch(mt) {
case MediaType_3_5: ix = kIndexFloppy35; break; case MediaType_3_5: ix = kIndexFloppy35; break;
case MediaType_5_25: ix = kIndexFloppy525; break; case MediaType_5_25: ix = kIndexFloppy525; break;
case MediaType_8: ix = kIndexFloppy8; break;
case MediaType_Cassette: ix = kIndexCassette; break; case MediaType_Cassette: ix = kIndexCassette; break;
case MediaType_HardDisk: ix = kIndexHardDrive; break; case MediaType_HardDisk: ix = kIndexHardDrive; break;
case MediaType_CDROM: ix = kIndexCDROM; break; case MediaType_CDROM: ix = kIndexCDROM; break;
case MediaType_Picture: ix = kIndexPicture; break; case MediaType_Picture: ix = kIndexPicture; break;
case MediaType_ROM: ix = kIndexROM; break;
case MediaType_MIDI: // ix = kIndexMidiIn; break; case MediaType_MIDI: // ix = kIndexMidiIn; break;
case MediaTypeError: case MediaTypeError:
case MediaTypeUnknown: case MediaTypeUnknown:
@ -873,7 +876,7 @@ static NSString *kDragType = @"private.ample.media";
} }
static NSString * BookmarkStrings[] = { static NSString * BookmarkStrings[] = {
@"flop_525", @"flop_35", @"hard", @"cdrm", @"cass", @"disk", @"bitb", @"midiin", @"midiout", @"pic" @"flop_8", @"flop_525", @"flop_35", @"hard", @"cdrm", @"cass", @"disk", @"bitb", @"midiin", @"midiout", @"pic", @"rom",
}; };
static_assert(SIZEOF(BookmarkStrings) == CATEGORY_COUNT, "Missing item"); static_assert(SIZEOF(BookmarkStrings) == CATEGORY_COUNT, "Missing item");

View File

@ -27,7 +27,11 @@
first++; first++;
NSBundle *bundle = [NSBundle mainBundle]; NSBundle *bundle = [NSBundle mainBundle];
#ifdef AMPLE_LITE
NSString *path = [bundle pathForResource: @"models~extra" ofType: @"plist"];
#else
NSString *path = [bundle pathForResource: @"models" ofType: @"plist"]; NSString *path = [bundle pathForResource: @"models" ofType: @"plist"];
#endif
_data = [NSArray arrayWithContentsOfFile: path]; _data = [NSArray arrayWithContentsOfFile: path];
} }

View File

@ -141,7 +141,7 @@
<td>Quit</td> <td>Quit</td>
</tr> </tr>
<tr> <tr>
<td><kbd>P</kbd></td> <td><kbd>F5</kbd></td>
<td>Pause</td> <td>Pause</td>
</tr> </tr>
@ -166,8 +166,7 @@
<td><kbd>Shift</kbd>+<kbd>F3</kbd></td> <td><kbd>Shift</kbd>+<kbd>F3</kbd></td>
<td>Hard reset</td> <td>Hard reset</td>
</tr> </tr>
<!--
<tr> <tr>
<td><kbd>F5</kbd></td> <td><kbd>F5</kbd></td>
<td>Toggle debugger</td> <td>Toggle debugger</td>
@ -176,15 +175,17 @@
<td><kbd>Shift</kbd>+<kbd>F5</kbd></td> <td><kbd>Shift</kbd>+<kbd>F5</kbd></td>
<td>Toggle graphic filters</td> <td>Toggle graphic filters</td>
</tr> </tr>
-->
<tr>
<td><kbd>Shift</kbd>+<kbd>F6</kbd></td>
<td>Create save state</td>
</tr>
<tr> <tr>
<td><kbd>F7</kbd></td> <td><kbd>F7</kbd></td>
<td>Load state</td> <td>Load save state</td>
</tr>
<tr>
<td><kbd>Shift</kbd>+<kbd>F7</kbd></td>
<td>Save state</td>
</tr> </tr>
<tr> <tr>
<td><kbd>F10</kbd></td> <td><kbd>F10</kbd></td>

875
Ample/Resources/a1000.plist Normal file
View File

@ -0,0 +1,875 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>value</key>
<string>a1000</string>
<key>description</key>
<string>Amiga 1000 (PAL)</string>
<key>media</key>
<dict>
</dict>
<key>resolution</key>
<array>
<integer>724</integer>
<integer>567</integer>
</array>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>smartport</string>
<key>description</key>
<string>Disk Drives</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string></string>
<key>devname</key>
<string>smartport</string>
<key>default</key>
<true/>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>rs232</string>
<key>description</key>
<string>Serial</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>ie15</string>
<key>description</key>
<string>IE15 Terminal</string>
<key>devname</key>
<string>ie15_terminal</string>
</dict>
<dict>
<key>value</key>
<string>scorpion</string>
<key>description</key>
<string>Micro-Robotics Scorpion Intelligent Controller</string>
<key>devname</key>
<string>scorpion_ic</string>
</dict>
<dict>
<key>value</key>
<string>pty</string>
<key>description</key>
<string>Pseudo Terminal</string>
<key>devname</key>
<string>pseudo_terminal</string>
</dict>
<dict>
<key>value</key>
<string>rs_printer</string>
<key>description</key>
<string>Radio Shack Serial Printer</string>
<key>devname</key>
<string>rs_serial_printer</string>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS-232 Loopback</string>
<key>devname</key>
<string>rs232_loopback</string>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS-232 Loopback (DEC 12-15336-00)</string>
<key>devname</key>
<string>dec_rs232_loopback</string>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS-232 Null Modem</string>
<key>devname</key>
<string>null_modem</string>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>devname</key>
<string>rs232_patch_box</string>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS-232 Synchronous I/O</string>
<key>devname</key>
<string>rs232_sync_io</string>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>keyboard</string>
<key>description</key>
<string>Serial Keyboard</string>
<key>devname</key>
<string>serial_keyboard</string>
</dict>
<dict>
<key>value</key>
<string>printer</string>
<key>description</key>
<string>Serial Printer</string>
<key>devname</key>
<string>serial_printer</string>
</dict>
<dict>
<key>value</key>
<string>terminal</string>
<key>description</key>
<string>Serial Terminal</string>
<key>devname</key>
<string>serial_terminal</string>
</dict>
<dict>
<key>value</key>
<string>sunkbd</string>
<key>description</key>
<string>Sun Keyboard Adaptor</string>
<key>devname</key>
<string>sunkbd_adaptor</string>
</dict>
<dict>
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard D</string>
<key>devname</key>
<string>mockingboardd</string>
</dict>
<dict>
<key>value</key>
<string>swtpc8212</string>
<key>description</key>
<string>SWTPC8212 Terminal</string>
<key>devname</key>
<string>swtpc8212_terminal</string>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>centronics</string>
<key>description</key>
<string>Printer</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/>
<key>devname</key>
<string>centronics_printer</string>
</dict>
<dict>
<key>value</key>
<string>pl80</string>
<key>description</key>
<string>COMX PL-80</string>
<key>devname</key>
<string>comx_pl80</string>
</dict>
<dict>
<key>value</key>
<string>covox_stereo</string>
<key>description</key>
<string>Covox (Stereo-in-1)</string>
<key>devname</key>
<string>covox_stereo</string>
</dict>
<dict>
<key>value</key>
<string>covox</string>
<key>description</key>
<string>Covox Speech Thing</string>
<key>devname</key>
<string>covox</string>
</dict>
<dict>
<key>value</key>
<string>digiblst</string>
<key>description</key>
<string>Digiblaster (DIY)</string>
<key>devname</key>
<string>cpcdigiblst</string>
</dict>
<dict>
<key>value</key>
<string>ap2000</string>
<key>description</key>
<string>Epson ActionPrinter 2000</string>
<key>devname</key>
<string>ap2000</string>
</dict>
<dict>
<key>value</key>
<string>ex800</string>
<key>description</key>
<string>Epson EX-800</string>
<key>devname</key>
<string>ex800</string>
</dict>
<dict>
<key>value</key>
<string>lx800</string>
<key>description</key>
<string>Epson LX-800</string>
<key>devname</key>
<string>lx800</string>
</dict>
<dict>
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Epson LX-810L</string>
<key>devname</key>
<string>lx810l</string>
</dict>
<dict>
<key>value</key>
<string>p72</string>
<key>description</key>
<string>NEC PinWriter P72</string>
<key>devname</key>
<string>p72</string>
</dict>
<dict>
<key>value</key>
<string>samdac</string>
<key>description</key>
<string>SAMDAC</string>
<key>devname</key>
<string>centronics_samdac</string>
</dict>
<dict>
<key>value</key>
<string>nlq401</string>
<key>description</key>
<string>Schneider NLQ 401 Matrix Printer</string>
<key>devname</key>
<string>nlq401</string>
</dict>
<dict>
<key>value</key>
<string>chessmec</string>
<key>description</key>
<string>Tasc ChessMachine EC Interface</string>
<key>devname</key>
<string>centronics_chessmec</string>
</dict>
<dict>
<key>value</key>
<string>smartboard</string>
<key>description</key>
<string>Tasc SmartBoard SB30 Interface</string>
<key>devname</key>
<string>centronics_smartboard</string>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>kbd</string>
<key>description</key>
<string>Keyboard</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>a1000_dk</string>
<key>description</key>
<string>Amiga 1000 Keyboard (Denmark)</string>
<key>devname</key>
<string>a1000kbd_dk</string>
</dict>
<dict>
<key>value</key>
<string>a1000_fr</string>
<key>description</key>
<string>Amiga 1000 Keyboard (France/Belgium)</string>
<key>devname</key>
<string>a1000kbd_fr</string>
</dict>
<dict>
<key>value</key>
<string>a1000_de</string>
<key>description</key>
<string>Amiga 1000 Keyboard (Germany/Austria)</string>
<key>devname</key>
<string>a1000kbd_de</string>
</dict>
<dict>
<key>value</key>
<string>a1000_it</string>
<key>description</key>
<string>Amiga 1000 Keyboard (Italy)</string>
<key>devname</key>
<string>a1000kbd_it</string>
</dict>
<dict>
<key>value</key>
<string>a1000_se</string>
<key>description</key>
<string>Amiga 1000 Keyboard (Sweden/Finland)</string>
<key>devname</key>
<string>a1000kbd_se</string>
</dict>
<dict>
<key>value</key>
<string>a1000_us</string>
<key>description</key>
<string>Amiga 1000 Keyboard (U.S./Canada)</string>
<key>default</key>
<true/>
<key>devname</key>
<string>a1000kbd_us</string>
</dict>
<dict>
<key>value</key>
<string>a1000_gb</string>
<key>description</key>
<string>Amiga 1000 Keyboard (UK)</string>
<key>devname</key>
<string>a1000kbd_gb</string>
</dict>
<dict>
<key>value</key>
<string>a1200_us</string>
<key>description</key>
<string>Amiga 1200 Keyboard Rev B</string>
<key>devname</key>
<string>a1200kbd_rb</string>
</dict>
<dict>
<key>value</key>
<string>a2000_g80_dk</string>
<key>description</key>
<string>Amiga 2000 Keyboard (Cherry - Denmark)</string>
<key>devname</key>
<string>a2000kbd_g80_dk</string>
</dict>
<dict>
<key>value</key>
<string>a2000_g80_de</string>
<key>description</key>
<string>Amiga 2000 Keyboard (Cherry - Germany/Austria)</string>
<key>devname</key>
<string>a2000kbd_g80_de</string>
</dict>
<dict>
<key>value</key>
<string>a2000_g80_se</string>
<key>description</key>
<string>Amiga 2000 Keyboard (Cherry - Sweden/Finland)</string>
<key>devname</key>
<string>a2000kbd_g80_se</string>
</dict>
<dict>
<key>value</key>
<string>a2000_g80_us</string>
<key>description</key>
<string>Amiga 2000 Keyboard (Cherry - U.S./Canada)</string>
<key>devname</key>
<string>a2000kbd_g80_us</string>
</dict>
<dict>
<key>value</key>
<string>a2000_g80_gb</string>
<key>description</key>
<string>Amiga 2000 Keyboard (Cherry - UK)</string>
<key>devname</key>
<string>a2000kbd_g80_gb</string>
</dict>
<dict>
<key>value</key>
<string>a2000_dk</string>
<key>description</key>
<string>Amiga 2000/3000/4000 Keyboard (Denmark)</string>
<key>devname</key>
<string>a2000kbd_dk</string>
</dict>
<dict>
<key>value</key>
<string>a2000_fr</string>
<key>description</key>
<string>Amiga 2000/3000/4000 Keyboard (France/Belgium)</string>
<key>devname</key>
<string>a2000kbd_fr</string>
</dict>
<dict>
<key>value</key>
<string>a2000_de</string>
<key>description</key>
<string>Amiga 2000/3000/4000 Keyboard (Germany/Austria)</string>
<key>devname</key>
<string>a2000kbd_de</string>
</dict>
<dict>
<key>value</key>
<string>a2000_it</string>
<key>description</key>
<string>Amiga 2000/3000/4000 Keyboard (Italy)</string>
<key>devname</key>
<string>a2000kbd_it</string>
</dict>
<dict>
<key>value</key>
<string>a2000_no</string>
<key>description</key>
<string>Amiga 2000/3000/4000 Keyboard (Norway)</string>
<key>devname</key>
<string>a2000kbd_no</string>
</dict>
<dict>
<key>value</key>
<string>a2000_es</string>
<key>description</key>
<string>Amiga 2000/3000/4000 Keyboard (Spain)</string>
<key>devname</key>
<string>a2000kbd_es</string>
</dict>
<dict>
<key>value</key>
<string>a2000_se</string>
<key>description</key>
<string>Amiga 2000/3000/4000 Keyboard (Sweden/Finland)</string>
<key>devname</key>
<string>a2000kbd_se</string>
</dict>
<dict>
<key>value</key>
<string>a2000_ch</string>
<key>description</key>
<string>Amiga 2000/3000/4000 Keyboard (Switzerland)</string>
<key>devname</key>
<string>a2000kbd_ch</string>
</dict>
<dict>
<key>value</key>
<string>a2000_us</string>
<key>description</key>
<string>Amiga 2000/3000/4000 Keyboard (U.S./Canada)</string>
<key>devname</key>
<string>a2000kbd_us</string>
</dict>
<dict>
<key>value</key>
<string>a2000_gb</string>
<key>description</key>
<string>Amiga 2000/3000/4000 Keyboard (UK)</string>
<key>devname</key>
<string>a2000kbd_gb</string>
</dict>
</array>
</dict>
</array>
<key>devices</key>
<array>
<dict>
<key>name</key>
<string>smartport</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>fdc: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>35dd</string>
<key>description</key>
<string>3.5" DD</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>fdc: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>35dd</string>
<key>description</key>
<string>3.5" DD</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>fdc:2</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>35dd</string>
<key>description</key>
<string>3.5" DD</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>fdc:3</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>35dd</string>
<key>description</key>
<string>3.5" DD</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>rs232_patch_box</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:dce</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>ie15</string>
<key>description</key>
<string>IE15 Terminal</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>scorpion</string>
<key>description</key>
<string>Micro-Robotics Scorpion Intelligent Controller</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>pty</string>
<key>description</key>
<string>Pseudo Terminal</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>rs_printer</string>
<key>description</key>
<string>Radio Shack Serial Printer</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS-232 Loopback</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS-232 Loopback (DEC 12-15336-00)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS-232 Null Modem</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS-232 Synchronous I/O</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>keyboard</string>
<key>description</key>
<string>Serial Keyboard</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>printer</string>
<key>description</key>
<string>Serial Printer</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>
<dict>
<key>value</key>
<string>sunkbd</string>
<key>description</key>
<string>Sun Keyboard Adaptor</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard D</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>swtpc8212</string>
<key>description</key>
<string>SWTPC8212 Terminal</string>
<key>default</key>
<false/>
</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>
</array>
<key>software</key>
<array>
<string>amiga_workbench.xml</string>
<string>amiga_hardware.xml</string>
<string>amiga_apps.xml</string>
<string>amiga_flop.xml</string>
<string>amigaocs_flop.xml</string>
<string>amiga_demos.xml</string>
<string>amiga_a1000.xml</string>
</array>
</dict>
</plist>

View File

@ -0,0 +1,875 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>value</key>
<string>a1000n</string>
<key>description</key>
<string>Amiga 1000 (NTSC)</string>
<key>media</key>
<dict>
</dict>
<key>resolution</key>
<array>
<integer>724</integer>
<integer>483</integer>
</array>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>smartport</string>
<key>description</key>
<string>Disk Drives</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string></string>
<key>devname</key>
<string>smartport</string>
<key>default</key>
<true/>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>rs232</string>
<key>description</key>
<string>Serial</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>ie15</string>
<key>description</key>
<string>IE15 Terminal</string>
<key>devname</key>
<string>ie15_terminal</string>
</dict>
<dict>
<key>value</key>
<string>scorpion</string>
<key>description</key>
<string>Micro-Robotics Scorpion Intelligent Controller</string>
<key>devname</key>
<string>scorpion_ic</string>
</dict>
<dict>
<key>value</key>
<string>pty</string>
<key>description</key>
<string>Pseudo Terminal</string>
<key>devname</key>
<string>pseudo_terminal</string>
</dict>
<dict>
<key>value</key>
<string>rs_printer</string>
<key>description</key>
<string>Radio Shack Serial Printer</string>
<key>devname</key>
<string>rs_serial_printer</string>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS-232 Loopback</string>
<key>devname</key>
<string>rs232_loopback</string>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS-232 Loopback (DEC 12-15336-00)</string>
<key>devname</key>
<string>dec_rs232_loopback</string>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS-232 Null Modem</string>
<key>devname</key>
<string>null_modem</string>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>devname</key>
<string>rs232_patch_box</string>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS-232 Synchronous I/O</string>
<key>devname</key>
<string>rs232_sync_io</string>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>keyboard</string>
<key>description</key>
<string>Serial Keyboard</string>
<key>devname</key>
<string>serial_keyboard</string>
</dict>
<dict>
<key>value</key>
<string>printer</string>
<key>description</key>
<string>Serial Printer</string>
<key>devname</key>
<string>serial_printer</string>
</dict>
<dict>
<key>value</key>
<string>terminal</string>
<key>description</key>
<string>Serial Terminal</string>
<key>devname</key>
<string>serial_terminal</string>
</dict>
<dict>
<key>value</key>
<string>sunkbd</string>
<key>description</key>
<string>Sun Keyboard Adaptor</string>
<key>devname</key>
<string>sunkbd_adaptor</string>
</dict>
<dict>
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard D</string>
<key>devname</key>
<string>mockingboardd</string>
</dict>
<dict>
<key>value</key>
<string>swtpc8212</string>
<key>description</key>
<string>SWTPC8212 Terminal</string>
<key>devname</key>
<string>swtpc8212_terminal</string>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>centronics</string>
<key>description</key>
<string>Printer</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/>
<key>devname</key>
<string>centronics_printer</string>
</dict>
<dict>
<key>value</key>
<string>pl80</string>
<key>description</key>
<string>COMX PL-80</string>
<key>devname</key>
<string>comx_pl80</string>
</dict>
<dict>
<key>value</key>
<string>covox_stereo</string>
<key>description</key>
<string>Covox (Stereo-in-1)</string>
<key>devname</key>
<string>covox_stereo</string>
</dict>
<dict>
<key>value</key>
<string>covox</string>
<key>description</key>
<string>Covox Speech Thing</string>
<key>devname</key>
<string>covox</string>
</dict>
<dict>
<key>value</key>
<string>digiblst</string>
<key>description</key>
<string>Digiblaster (DIY)</string>
<key>devname</key>
<string>cpcdigiblst</string>
</dict>
<dict>
<key>value</key>
<string>ap2000</string>
<key>description</key>
<string>Epson ActionPrinter 2000</string>
<key>devname</key>
<string>ap2000</string>
</dict>
<dict>
<key>value</key>
<string>ex800</string>
<key>description</key>
<string>Epson EX-800</string>
<key>devname</key>
<string>ex800</string>
</dict>
<dict>
<key>value</key>
<string>lx800</string>
<key>description</key>
<string>Epson LX-800</string>
<key>devname</key>
<string>lx800</string>
</dict>
<dict>
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Epson LX-810L</string>
<key>devname</key>
<string>lx810l</string>
</dict>
<dict>
<key>value</key>
<string>p72</string>
<key>description</key>
<string>NEC PinWriter P72</string>
<key>devname</key>
<string>p72</string>
</dict>
<dict>
<key>value</key>
<string>samdac</string>
<key>description</key>
<string>SAMDAC</string>
<key>devname</key>
<string>centronics_samdac</string>
</dict>
<dict>
<key>value</key>
<string>nlq401</string>
<key>description</key>
<string>Schneider NLQ 401 Matrix Printer</string>
<key>devname</key>
<string>nlq401</string>
</dict>
<dict>
<key>value</key>
<string>chessmec</string>
<key>description</key>
<string>Tasc ChessMachine EC Interface</string>
<key>devname</key>
<string>centronics_chessmec</string>
</dict>
<dict>
<key>value</key>
<string>smartboard</string>
<key>description</key>
<string>Tasc SmartBoard SB30 Interface</string>
<key>devname</key>
<string>centronics_smartboard</string>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>kbd</string>
<key>description</key>
<string>Keyboard</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>a1000_dk</string>
<key>description</key>
<string>Amiga 1000 Keyboard (Denmark)</string>
<key>devname</key>
<string>a1000kbd_dk</string>
</dict>
<dict>
<key>value</key>
<string>a1000_fr</string>
<key>description</key>
<string>Amiga 1000 Keyboard (France/Belgium)</string>
<key>devname</key>
<string>a1000kbd_fr</string>
</dict>
<dict>
<key>value</key>
<string>a1000_de</string>
<key>description</key>
<string>Amiga 1000 Keyboard (Germany/Austria)</string>
<key>devname</key>
<string>a1000kbd_de</string>
</dict>
<dict>
<key>value</key>
<string>a1000_it</string>
<key>description</key>
<string>Amiga 1000 Keyboard (Italy)</string>
<key>devname</key>
<string>a1000kbd_it</string>
</dict>
<dict>
<key>value</key>
<string>a1000_se</string>
<key>description</key>
<string>Amiga 1000 Keyboard (Sweden/Finland)</string>
<key>devname</key>
<string>a1000kbd_se</string>
</dict>
<dict>
<key>value</key>
<string>a1000_us</string>
<key>description</key>
<string>Amiga 1000 Keyboard (U.S./Canada)</string>
<key>default</key>
<true/>
<key>devname</key>
<string>a1000kbd_us</string>
</dict>
<dict>
<key>value</key>
<string>a1000_gb</string>
<key>description</key>
<string>Amiga 1000 Keyboard (UK)</string>
<key>devname</key>
<string>a1000kbd_gb</string>
</dict>
<dict>
<key>value</key>
<string>a1200_us</string>
<key>description</key>
<string>Amiga 1200 Keyboard Rev B</string>
<key>devname</key>
<string>a1200kbd_rb</string>
</dict>
<dict>
<key>value</key>
<string>a2000_g80_dk</string>
<key>description</key>
<string>Amiga 2000 Keyboard (Cherry - Denmark)</string>
<key>devname</key>
<string>a2000kbd_g80_dk</string>
</dict>
<dict>
<key>value</key>
<string>a2000_g80_de</string>
<key>description</key>
<string>Amiga 2000 Keyboard (Cherry - Germany/Austria)</string>
<key>devname</key>
<string>a2000kbd_g80_de</string>
</dict>
<dict>
<key>value</key>
<string>a2000_g80_se</string>
<key>description</key>
<string>Amiga 2000 Keyboard (Cherry - Sweden/Finland)</string>
<key>devname</key>
<string>a2000kbd_g80_se</string>
</dict>
<dict>
<key>value</key>
<string>a2000_g80_us</string>
<key>description</key>
<string>Amiga 2000 Keyboard (Cherry - U.S./Canada)</string>
<key>devname</key>
<string>a2000kbd_g80_us</string>
</dict>
<dict>
<key>value</key>
<string>a2000_g80_gb</string>
<key>description</key>
<string>Amiga 2000 Keyboard (Cherry - UK)</string>
<key>devname</key>
<string>a2000kbd_g80_gb</string>
</dict>
<dict>
<key>value</key>
<string>a2000_dk</string>
<key>description</key>
<string>Amiga 2000/3000/4000 Keyboard (Denmark)</string>
<key>devname</key>
<string>a2000kbd_dk</string>
</dict>
<dict>
<key>value</key>
<string>a2000_fr</string>
<key>description</key>
<string>Amiga 2000/3000/4000 Keyboard (France/Belgium)</string>
<key>devname</key>
<string>a2000kbd_fr</string>
</dict>
<dict>
<key>value</key>
<string>a2000_de</string>
<key>description</key>
<string>Amiga 2000/3000/4000 Keyboard (Germany/Austria)</string>
<key>devname</key>
<string>a2000kbd_de</string>
</dict>
<dict>
<key>value</key>
<string>a2000_it</string>
<key>description</key>
<string>Amiga 2000/3000/4000 Keyboard (Italy)</string>
<key>devname</key>
<string>a2000kbd_it</string>
</dict>
<dict>
<key>value</key>
<string>a2000_no</string>
<key>description</key>
<string>Amiga 2000/3000/4000 Keyboard (Norway)</string>
<key>devname</key>
<string>a2000kbd_no</string>
</dict>
<dict>
<key>value</key>
<string>a2000_es</string>
<key>description</key>
<string>Amiga 2000/3000/4000 Keyboard (Spain)</string>
<key>devname</key>
<string>a2000kbd_es</string>
</dict>
<dict>
<key>value</key>
<string>a2000_se</string>
<key>description</key>
<string>Amiga 2000/3000/4000 Keyboard (Sweden/Finland)</string>
<key>devname</key>
<string>a2000kbd_se</string>
</dict>
<dict>
<key>value</key>
<string>a2000_ch</string>
<key>description</key>
<string>Amiga 2000/3000/4000 Keyboard (Switzerland)</string>
<key>devname</key>
<string>a2000kbd_ch</string>
</dict>
<dict>
<key>value</key>
<string>a2000_us</string>
<key>description</key>
<string>Amiga 2000/3000/4000 Keyboard (U.S./Canada)</string>
<key>devname</key>
<string>a2000kbd_us</string>
</dict>
<dict>
<key>value</key>
<string>a2000_gb</string>
<key>description</key>
<string>Amiga 2000/3000/4000 Keyboard (UK)</string>
<key>devname</key>
<string>a2000kbd_gb</string>
</dict>
</array>
</dict>
</array>
<key>devices</key>
<array>
<dict>
<key>name</key>
<string>smartport</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>fdc: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>35dd</string>
<key>description</key>
<string>3.5" DD</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>fdc: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>35dd</string>
<key>description</key>
<string>3.5" DD</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>fdc:2</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>35dd</string>
<key>description</key>
<string>3.5" DD</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>fdc:3</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>35dd</string>
<key>description</key>
<string>3.5" DD</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>rs232_patch_box</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:dce</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>ie15</string>
<key>description</key>
<string>IE15 Terminal</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>scorpion</string>
<key>description</key>
<string>Micro-Robotics Scorpion Intelligent Controller</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>pty</string>
<key>description</key>
<string>Pseudo Terminal</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>rs_printer</string>
<key>description</key>
<string>Radio Shack Serial Printer</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS-232 Loopback</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS-232 Loopback (DEC 12-15336-00)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS-232 Null Modem</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS-232 Synchronous I/O</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>keyboard</string>
<key>description</key>
<string>Serial Keyboard</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>printer</string>
<key>description</key>
<string>Serial Printer</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>
<dict>
<key>value</key>
<string>sunkbd</string>
<key>description</key>
<string>Sun Keyboard Adaptor</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard D</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>swtpc8212</string>
<key>description</key>
<string>SWTPC8212 Terminal</string>
<key>default</key>
<false/>
</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>
</array>
<key>software</key>
<array>
<string>amiga_workbench.xml</string>
<string>amiga_hardware.xml</string>
<string>amiga_apps.xml</string>
<string>amiga_flop.xml</string>
<string>amigaocs_flop.xml</string>
<string>amiga_demos.xml</string>
<string>amiga_a1000.xml</string>
</array>
</dict>
</plist>

3002
Ample/Resources/a2000.plist Normal file

File diff suppressed because it is too large Load Diff

3002
Ample/Resources/a2000n.plist Normal file

File diff suppressed because it is too large Load Diff

1255
Ample/Resources/a500.plist Normal file

File diff suppressed because it is too large Load Diff

1255
Ample/Resources/a500n.plist Normal 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

View File

@ -12,7 +12,7 @@
<key>resolution</key> <key>resolution</key>
<array> <array>
<integer>560</integer> <integer>560</integer>
<integer>384</integer> <integer>192</integer>
</array> </array>
<key>slots</key> <key>slots</key>
<array> <array>
@ -73,7 +73,7 @@
<key>value</key> <key>value</key>
<string>joy</string> <string>joy</string>
<key>description</key> <key>description</key>
<string>Apple II analog joysticks</string> <string>Apple II Analog Joysticks</string>
<key>devname</key> <key>devname</key>
<string>a2joy</string> <string>a2joy</string>
</dict> </dict>
@ -81,7 +81,7 @@
<key>value</key> <key>value</key>
<string>paddles</string> <string>paddles</string>
<key>description</key> <key>description</key>
<string>Apple II paddles</string> <string>Apple II Paddles</string>
<key>devname</key> <key>devname</key>
<string>a2pdls</string> <string>a2pdls</string>
</dict> </dict>
@ -131,11 +131,27 @@
<key>devname</key> <key>devname</key>
<string>ie15_terminal</string> <string>ie15_terminal</string>
</dict> </dict>
<dict>
<key>value</key>
<string>scorpion</string>
<key>description</key>
<string>Micro-Robotics Scorpion Intelligent Controller</string>
<key>devname</key>
<string>scorpion_ic</string>
</dict>
<dict>
<key>value</key>
<string>nss_tvi</string>
<key>description</key>
<string>Novag Super System TV Interface</string>
<key>devname</key>
<string>nss_tvinterface</string>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>pty</string> <string>pty</string>
<key>description</key> <key>description</key>
<string>Pseudo terminal</string> <string>Pseudo Terminal</string>
<key>devname</key> <key>devname</key>
<string>pseudo_terminal</string> <string>pseudo_terminal</string>
</dict> </dict>
@ -147,19 +163,11 @@
<key>devname</key> <key>devname</key>
<string>rs_serial_printer</string> <string>rs_serial_printer</string>
</dict> </dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>devname</key>
<string>rs232_patch_box</string>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>loopback</string> <string>loopback</string>
<key>description</key> <key>description</key>
<string>RS232 Loopback</string> <string>RS-232 Loopback</string>
<key>devname</key> <key>devname</key>
<string>rs232_loopback</string> <string>rs232_loopback</string>
</dict> </dict>
@ -167,7 +175,7 @@
<key>value</key> <key>value</key>
<string>dec_loopback</string> <string>dec_loopback</string>
<key>description</key> <key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string> <string>RS-232 Loopback (DEC 12-15336-00)</string>
<key>devname</key> <key>devname</key>
<string>dec_rs232_loopback</string> <string>dec_rs232_loopback</string>
</dict> </dict>
@ -175,7 +183,7 @@
<key>value</key> <key>value</key>
<string>null_modem</string> <string>null_modem</string>
<key>description</key> <key>description</key>
<string>RS232 Null Modem</string> <string>RS-232 Null Modem</string>
<key>devname</key> <key>devname</key>
<string>null_modem</string> <string>null_modem</string>
<key>media</key> <key>media</key>
@ -184,11 +192,19 @@
<integer>1</integer> <integer>1</integer>
</dict> </dict>
</dict> </dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>devname</key>
<string>rs232_patch_box</string>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>rs232_sync_io</string> <string>rs232_sync_io</string>
<key>description</key> <key>description</key>
<string>RS232 Synchronous I/O</string> <string>RS-232 Synchronous I/O</string>
<key>devname</key> <key>devname</key>
<string>rs232_sync_io</string> <string>rs232_sync_io</string>
<key>media</key> <key>media</key>
@ -339,11 +355,27 @@
<key>default</key> <key>default</key>
<false/> <false/>
</dict> </dict>
<dict>
<key>value</key>
<string>scorpion</string>
<key>description</key>
<string>Micro-Robotics Scorpion Intelligent Controller</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>nss_tvi</string>
<key>description</key>
<string>Novag Super System TV Interface</string>
<key>default</key>
<false/>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>pty</string> <string>pty</string>
<key>description</key> <key>description</key>
<string>Pseudo terminal</string> <string>Pseudo Terminal</string>
<key>default</key> <key>default</key>
<false/> <false/>
</dict> </dict>
@ -355,19 +387,11 @@
<key>default</key> <key>default</key>
<false/> <false/>
</dict> </dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>loopback</string> <string>loopback</string>
<key>description</key> <key>description</key>
<string>RS232 Loopback</string> <string>RS-232 Loopback</string>
<key>default</key> <key>default</key>
<false/> <false/>
</dict> </dict>
@ -375,7 +399,7 @@
<key>value</key> <key>value</key>
<string>dec_loopback</string> <string>dec_loopback</string>
<key>description</key> <key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string> <string>RS-232 Loopback (DEC 12-15336-00)</string>
<key>default</key> <key>default</key>
<false/> <false/>
</dict> </dict>
@ -383,7 +407,7 @@
<key>value</key> <key>value</key>
<string>null_modem</string> <string>null_modem</string>
<key>description</key> <key>description</key>
<string>RS232 Null Modem</string> <string>RS-232 Null Modem</string>
<key>default</key> <key>default</key>
<false/> <false/>
<key>media</key> <key>media</key>
@ -392,11 +416,19 @@
<integer>1</integer> <integer>1</integer>
</dict> </dict>
</dict> </dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>rs232_sync_io</string> <string>rs232_sync_io</string>
<key>description</key> <key>description</key>
<string>RS232 Synchronous I/O</string> <string>RS-232 Synchronous I/O</string>
<key>default</key> <key>default</key>
<false/> <false/>
<key>media</key> <key>media</key>

View File

@ -14,7 +14,7 @@
<key>resolution</key> <key>resolution</key>
<array> <array>
<integer>512</integer> <integer>512</integer>
<integer>512</integer> <integer>256</integer>
</array> </array>
<key>slots</key> <key>slots</key>
<array> <array>
@ -37,6 +37,41 @@
</dict> </dict>
</array> </array>
</dict> </dict>
<dict>
<key>name</key>
<string>bios</string>
<key>description</key>
<string>ROM</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—Default—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>v1</string>
<key>description</key>
<string>Version 1</string>
</dict>
<dict>
<key>value</key>
<string>v2</string>
<key>description</key>
<string>Version 2</string>
</dict>
<dict>
<key>value</key>
<string>debug</string>
<key>description</key>
<string>Debug</string>
</dict>
</array>
</dict>
<dict> <dict>
<key>name</key> <key>name</key>
<string>sl2</string> <string>sl2</string>
@ -56,7 +91,7 @@
<key>value</key> <key>value</key>
<string>a9fdchle</string> <string>a9fdchle</string>
<key>description</key> <key>description</key>
<string>Agat 840K floppy card</string> <string>Agat 840K Floppy Card</string>
<key>devname</key> <key>devname</key>
<string>agat840k_hle</string> <string>agat840k_hle</string>
</dict> </dict>
@ -64,7 +99,7 @@
<key>value</key> <key>value</key>
<string>a9fdc</string> <string>a9fdc</string>
<key>description</key> <key>description</key>
<string>Agat 840K floppy controller card</string> <string>Agat 840K Floppy Controller Card</string>
<key>devname</key> <key>devname</key>
<string>agat_fdc</string> <string>agat_fdc</string>
</dict> </dict>
@ -72,14 +107,9 @@
<key>value</key> <key>value</key>
<string>a7fdc</string> <string>a7fdc</string>
<key>description</key> <key>description</key>
<string>Agat-7 140K floppy card</string> <string>Agat-7 140K Floppy Card</string>
<key>devname</key> <key>devname</key>
<string>agat7_flop</string> <string>agat7_flop</string>
<key>media</key>
<dict>
<key>floppy_5_25</key>
<integer>2</integer>
</dict>
</dict> </dict>
<dict> <dict>
<key>value</key> <key>value</key>
@ -128,7 +158,7 @@
<key>value</key> <key>value</key>
<string>a9fdchle</string> <string>a9fdchle</string>
<key>description</key> <key>description</key>
<string>Agat 840K floppy card</string> <string>Agat 840K Floppy Card</string>
<key>devname</key> <key>devname</key>
<string>agat840k_hle</string> <string>agat840k_hle</string>
</dict> </dict>
@ -136,7 +166,7 @@
<key>value</key> <key>value</key>
<string>a9fdc</string> <string>a9fdc</string>
<key>description</key> <key>description</key>
<string>Agat 840K floppy controller card</string> <string>Agat 840K Floppy Controller Card</string>
<key>devname</key> <key>devname</key>
<string>agat_fdc</string> <string>agat_fdc</string>
</dict> </dict>
@ -144,16 +174,11 @@
<key>value</key> <key>value</key>
<string>a7fdc</string> <string>a7fdc</string>
<key>description</key> <key>description</key>
<string>Agat-7 140K floppy card</string> <string>Agat-7 140K Floppy Card</string>
<key>default</key> <key>default</key>
<true/> <true/>
<key>devname</key> <key>devname</key>
<string>agat7_flop</string> <string>agat7_flop</string>
<key>media</key>
<dict>
<key>floppy_5_25</key>
<integer>2</integer>
</dict>
</dict> </dict>
<dict> <dict>
<key>value</key> <key>value</key>
@ -200,7 +225,7 @@
<key>value</key> <key>value</key>
<string>a9fdchle</string> <string>a9fdchle</string>
<key>description</key> <key>description</key>
<string>Agat 840K floppy card</string> <string>Agat 840K Floppy Card</string>
<key>devname</key> <key>devname</key>
<string>agat840k_hle</string> <string>agat840k_hle</string>
</dict> </dict>
@ -208,7 +233,7 @@
<key>value</key> <key>value</key>
<string>a9fdc</string> <string>a9fdc</string>
<key>description</key> <key>description</key>
<string>Agat 840K floppy controller card</string> <string>Agat 840K Floppy Controller Card</string>
<key>devname</key> <key>devname</key>
<string>agat_fdc</string> <string>agat_fdc</string>
</dict> </dict>
@ -216,14 +241,9 @@
<key>value</key> <key>value</key>
<string>a7fdc</string> <string>a7fdc</string>
<key>description</key> <key>description</key>
<string>Agat-7 140K floppy card</string> <string>Agat-7 140K Floppy Card</string>
<key>devname</key> <key>devname</key>
<string>agat7_flop</string> <string>agat7_flop</string>
<key>media</key>
<dict>
<key>floppy_5_25</key>
<integer>2</integer>
</dict>
</dict> </dict>
<dict> <dict>
<key>value</key> <key>value</key>
@ -272,7 +292,7 @@
<key>value</key> <key>value</key>
<string>a9fdchle</string> <string>a9fdchle</string>
<key>description</key> <key>description</key>
<string>Agat 840K floppy card</string> <string>Agat 840K Floppy Card</string>
<key>devname</key> <key>devname</key>
<string>agat840k_hle</string> <string>agat840k_hle</string>
</dict> </dict>
@ -280,7 +300,7 @@
<key>value</key> <key>value</key>
<string>a9fdc</string> <string>a9fdc</string>
<key>description</key> <key>description</key>
<string>Agat 840K floppy controller card</string> <string>Agat 840K Floppy Controller Card</string>
<key>devname</key> <key>devname</key>
<string>agat_fdc</string> <string>agat_fdc</string>
</dict> </dict>
@ -288,14 +308,9 @@
<key>value</key> <key>value</key>
<string>a7fdc</string> <string>a7fdc</string>
<key>description</key> <key>description</key>
<string>Agat-7 140K floppy card</string> <string>Agat-7 140K Floppy Card</string>
<key>devname</key> <key>devname</key>
<string>agat7_flop</string> <string>agat7_flop</string>
<key>media</key>
<dict>
<key>floppy_5_25</key>
<integer>2</integer>
</dict>
</dict> </dict>
<dict> <dict>
<key>value</key> <key>value</key>
@ -342,7 +357,7 @@
<key>value</key> <key>value</key>
<string>a9fdchle</string> <string>a9fdchle</string>
<key>description</key> <key>description</key>
<string>Agat 840K floppy card</string> <string>Agat 840K Floppy Card</string>
<key>devname</key> <key>devname</key>
<string>agat840k_hle</string> <string>agat840k_hle</string>
</dict> </dict>
@ -350,7 +365,7 @@
<key>value</key> <key>value</key>
<string>a9fdc</string> <string>a9fdc</string>
<key>description</key> <key>description</key>
<string>Agat 840K floppy controller card</string> <string>Agat 840K Floppy Controller Card</string>
<key>devname</key> <key>devname</key>
<string>agat_fdc</string> <string>agat_fdc</string>
</dict> </dict>
@ -358,14 +373,9 @@
<key>value</key> <key>value</key>
<string>a7fdc</string> <string>a7fdc</string>
<key>description</key> <key>description</key>
<string>Agat-7 140K floppy card</string> <string>Agat-7 140K Floppy Card</string>
<key>devname</key> <key>devname</key>
<string>agat7_flop</string> <string>agat7_flop</string>
<key>media</key>
<dict>
<key>floppy_5_25</key>
<integer>2</integer>
</dict>
</dict> </dict>
<dict> <dict>
<key>value</key> <key>value</key>
@ -448,6 +458,14 @@
<key>default</key> <key>default</key>
<false/> <false/>
</dict> </dict>
<dict>
<key>value</key>
<string>digiblst</string>
<key>description</key>
<string>Digiblaster (DIY)</string>
<key>default</key>
<false/>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>ap2000</string> <string>ap2000</string>
@ -496,6 +514,14 @@
<key>default</key> <key>default</key>
<false/> <false/>
</dict> </dict>
<dict>
<key>value</key>
<string>nlq401</string>
<key>description</key>
<string>Schneider NLQ 401 Matrix Printer</string>
<key>default</key>
<false/>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>chessmec</string> <string>chessmec</string>
@ -516,6 +542,69 @@
</dict> </dict>
</array> </array>
</dict> </dict>
<dict>
<key>name</key>
<string>agat7_flop</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>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>
</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>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>
</dict>
</array>
</dict>
</array>
</dict>
<dict> <dict>
<key>name</key> <key>name</key>
<string>agat_fdc</string> <string>agat_fdc</string>

View File

@ -14,7 +14,7 @@
<key>resolution</key> <key>resolution</key>
<array> <array>
<integer>512</integer> <integer>512</integer>
<integer>512</integer> <integer>256</integer>
</array> </array>
<key>slots</key> <key>slots</key>
<array> <array>
@ -37,6 +37,35 @@
</dict> </dict>
</array> </array>
</dict> </dict>
<dict>
<key>name</key>
<string>bios</string>
<key>description</key>
<string>ROM</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—Default—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>v1</string>
<key>description</key>
<string>Version 1</string>
</dict>
<dict>
<key>value</key>
<string>v2</string>
<key>description</key>
<string>Version 2</string>
</dict>
</array>
</dict>
<dict> <dict>
<key>name</key> <key>name</key>
<string>sl1</string> <string>sl1</string>
@ -56,7 +85,7 @@
<key>value</key> <key>value</key>
<string>a9fdchle</string> <string>a9fdchle</string>
<key>description</key> <key>description</key>
<string>Agat 840K floppy card</string> <string>Agat 840K Floppy Card</string>
<key>devname</key> <key>devname</key>
<string>agat840k_hle</string> <string>agat840k_hle</string>
</dict> </dict>
@ -64,7 +93,7 @@
<key>value</key> <key>value</key>
<string>a9fdc</string> <string>a9fdc</string>
<key>description</key> <key>description</key>
<string>Agat 840K floppy controller card</string> <string>Agat 840K Floppy Controller Card</string>
<key>devname</key> <key>devname</key>
<string>agat_fdc</string> <string>agat_fdc</string>
</dict> </dict>
@ -80,27 +109,17 @@
<key>value</key> <key>value</key>
<string>a9fdc140</string> <string>a9fdc140</string>
<key>description</key> <key>description</key>
<string>Agat-9 140K floppy card</string> <string>Agat-9 140K Floppy Card</string>
<key>devname</key> <key>devname</key>
<string>agat9_flop</string> <string>agat9_flop</string>
<key>media</key>
<dict>
<key>floppy_5_25</key>
<integer>2</integer>
</dict>
</dict> </dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>diskii</string> <string>diskiing</string>
<key>description</key> <key>description</key>
<string>Apple Disk II controller</string> <string>Apple Disk II NG Controller (16-sector)</string>
<key>devname</key> <key>devname</key>
<string>a2diskii</string> <string>a2diskiing</string>
<key>media</key>
<dict>
<key>floppy_5_25</key>
<integer>2</integer>
</dict>
</dict> </dict>
<dict> <dict>
<key>value</key> <key>value</key>
@ -131,7 +150,7 @@
<key>value</key> <key>value</key>
<string>a9fdchle</string> <string>a9fdchle</string>
<key>description</key> <key>description</key>
<string>Agat 840K floppy card</string> <string>Agat 840K Floppy Card</string>
<key>devname</key> <key>devname</key>
<string>agat840k_hle</string> <string>agat840k_hle</string>
</dict> </dict>
@ -139,7 +158,7 @@
<key>value</key> <key>value</key>
<string>a9fdc</string> <string>a9fdc</string>
<key>description</key> <key>description</key>
<string>Agat 840K floppy controller card</string> <string>Agat 840K Floppy Controller Card</string>
<key>devname</key> <key>devname</key>
<string>agat_fdc</string> <string>agat_fdc</string>
</dict> </dict>
@ -155,27 +174,17 @@
<key>value</key> <key>value</key>
<string>a9fdc140</string> <string>a9fdc140</string>
<key>description</key> <key>description</key>
<string>Agat-9 140K floppy card</string> <string>Agat-9 140K Floppy Card</string>
<key>devname</key> <key>devname</key>
<string>agat9_flop</string> <string>agat9_flop</string>
<key>media</key>
<dict>
<key>floppy_5_25</key>
<integer>2</integer>
</dict>
</dict> </dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>diskii</string> <string>diskiing</string>
<key>description</key> <key>description</key>
<string>Apple Disk II controller</string> <string>Apple Disk II NG Controller (16-sector)</string>
<key>devname</key> <key>devname</key>
<string>a2diskii</string> <string>a2diskiing</string>
<key>media</key>
<dict>
<key>floppy_5_25</key>
<integer>2</integer>
</dict>
</dict> </dict>
<dict> <dict>
<key>value</key> <key>value</key>
@ -206,7 +215,7 @@
<key>value</key> <key>value</key>
<string>a9fdchle</string> <string>a9fdchle</string>
<key>description</key> <key>description</key>
<string>Agat 840K floppy card</string> <string>Agat 840K Floppy Card</string>
<key>devname</key> <key>devname</key>
<string>agat840k_hle</string> <string>agat840k_hle</string>
</dict> </dict>
@ -214,7 +223,7 @@
<key>value</key> <key>value</key>
<string>a9fdc</string> <string>a9fdc</string>
<key>description</key> <key>description</key>
<string>Agat 840K floppy controller card</string> <string>Agat 840K Floppy Controller Card</string>
<key>devname</key> <key>devname</key>
<string>agat_fdc</string> <string>agat_fdc</string>
</dict> </dict>
@ -230,27 +239,17 @@
<key>value</key> <key>value</key>
<string>a9fdc140</string> <string>a9fdc140</string>
<key>description</key> <key>description</key>
<string>Agat-9 140K floppy card</string> <string>Agat-9 140K Floppy Card</string>
<key>devname</key> <key>devname</key>
<string>agat9_flop</string> <string>agat9_flop</string>
<key>media</key>
<dict>
<key>floppy_5_25</key>
<integer>2</integer>
</dict>
</dict> </dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>diskii</string> <string>diskiing</string>
<key>description</key> <key>description</key>
<string>Apple Disk II controller</string> <string>Apple Disk II NG Controller (16-sector)</string>
<key>devname</key> <key>devname</key>
<string>a2diskii</string> <string>a2diskiing</string>
<key>media</key>
<dict>
<key>floppy_5_25</key>
<integer>2</integer>
</dict>
</dict> </dict>
<dict> <dict>
<key>value</key> <key>value</key>
@ -281,7 +280,7 @@
<key>value</key> <key>value</key>
<string>a9fdchle</string> <string>a9fdchle</string>
<key>description</key> <key>description</key>
<string>Agat 840K floppy card</string> <string>Agat 840K Floppy Card</string>
<key>devname</key> <key>devname</key>
<string>agat840k_hle</string> <string>agat840k_hle</string>
</dict> </dict>
@ -289,7 +288,7 @@
<key>value</key> <key>value</key>
<string>a9fdc</string> <string>a9fdc</string>
<key>description</key> <key>description</key>
<string>Agat 840K floppy controller card</string> <string>Agat 840K Floppy Controller Card</string>
<key>devname</key> <key>devname</key>
<string>agat_fdc</string> <string>agat_fdc</string>
</dict> </dict>
@ -305,27 +304,17 @@
<key>value</key> <key>value</key>
<string>a9fdc140</string> <string>a9fdc140</string>
<key>description</key> <key>description</key>
<string>Agat-9 140K floppy card</string> <string>Agat-9 140K Floppy Card</string>
<key>devname</key> <key>devname</key>
<string>agat9_flop</string> <string>agat9_flop</string>
<key>media</key>
<dict>
<key>floppy_5_25</key>
<integer>2</integer>
</dict>
</dict> </dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>diskii</string> <string>diskiing</string>
<key>description</key> <key>description</key>
<string>Apple Disk II controller</string> <string>Apple Disk II NG Controller (16-sector)</string>
<key>devname</key> <key>devname</key>
<string>a2diskii</string> <string>a2diskiing</string>
<key>media</key>
<dict>
<key>floppy_5_25</key>
<integer>2</integer>
</dict>
</dict> </dict>
<dict> <dict>
<key>value</key> <key>value</key>
@ -356,7 +345,7 @@
<key>value</key> <key>value</key>
<string>a9fdchle</string> <string>a9fdchle</string>
<key>description</key> <key>description</key>
<string>Agat 840K floppy card</string> <string>Agat 840K Floppy Card</string>
<key>devname</key> <key>devname</key>
<string>agat840k_hle</string> <string>agat840k_hle</string>
</dict> </dict>
@ -364,7 +353,7 @@
<key>value</key> <key>value</key>
<string>a9fdc</string> <string>a9fdc</string>
<key>description</key> <key>description</key>
<string>Agat 840K floppy controller card</string> <string>Agat 840K Floppy Controller Card</string>
<key>default</key> <key>default</key>
<true/> <true/>
<key>devname</key> <key>devname</key>
@ -382,27 +371,17 @@
<key>value</key> <key>value</key>
<string>a9fdc140</string> <string>a9fdc140</string>
<key>description</key> <key>description</key>
<string>Agat-9 140K floppy card</string> <string>Agat-9 140K Floppy Card</string>
<key>devname</key> <key>devname</key>
<string>agat9_flop</string> <string>agat9_flop</string>
<key>media</key>
<dict>
<key>floppy_5_25</key>
<integer>2</integer>
</dict>
</dict> </dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>diskii</string> <string>diskiing</string>
<key>description</key> <key>description</key>
<string>Apple Disk II controller</string> <string>Apple Disk II NG Controller (16-sector)</string>
<key>devname</key> <key>devname</key>
<string>a2diskii</string> <string>a2diskiing</string>
<key>media</key>
<dict>
<key>floppy_5_25</key>
<integer>2</integer>
</dict>
</dict> </dict>
<dict> <dict>
<key>value</key> <key>value</key>
@ -433,7 +412,7 @@
<key>value</key> <key>value</key>
<string>a9fdchle</string> <string>a9fdchle</string>
<key>description</key> <key>description</key>
<string>Agat 840K floppy card</string> <string>Agat 840K Floppy Card</string>
<key>devname</key> <key>devname</key>
<string>agat840k_hle</string> <string>agat840k_hle</string>
</dict> </dict>
@ -441,7 +420,7 @@
<key>value</key> <key>value</key>
<string>a9fdc</string> <string>a9fdc</string>
<key>description</key> <key>description</key>
<string>Agat 840K floppy controller card</string> <string>Agat 840K Floppy Controller Card</string>
<key>devname</key> <key>devname</key>
<string>agat_fdc</string> <string>agat_fdc</string>
</dict> </dict>
@ -457,29 +436,19 @@
<key>value</key> <key>value</key>
<string>a9fdc140</string> <string>a9fdc140</string>
<key>description</key> <key>description</key>
<string>Agat-9 140K floppy card</string> <string>Agat-9 140K Floppy Card</string>
<key>default</key> <key>default</key>
<true/> <true/>
<key>devname</key> <key>devname</key>
<string>agat9_flop</string> <string>agat9_flop</string>
<key>media</key>
<dict>
<key>floppy_5_25</key>
<integer>2</integer>
</dict>
</dict> </dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>diskii</string> <string>diskiing</string>
<key>description</key> <key>description</key>
<string>Apple Disk II controller</string> <string>Apple Disk II NG Controller (16-sector)</string>
<key>devname</key> <key>devname</key>
<string>a2diskii</string> <string>a2diskiing</string>
<key>media</key>
<dict>
<key>floppy_5_25</key>
<integer>2</integer>
</dict>
</dict> </dict>
<dict> <dict>
<key>value</key> <key>value</key>
@ -494,6 +463,69 @@
</array> </array>
<key>devices</key> <key>devices</key>
<array> <array>
<dict>
<key>name</key>
<string>a2diskiing</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>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>
</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>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>
</dict>
</array>
</dict>
</array>
</dict>
<dict> <dict>
<key>name</key> <key>name</key>
<string>a7ports</string> <string>a7ports</string>
@ -544,6 +576,14 @@
<key>default</key> <key>default</key>
<false/> <false/>
</dict> </dict>
<dict>
<key>value</key>
<string>digiblst</string>
<key>description</key>
<string>Digiblaster (DIY)</string>
<key>default</key>
<false/>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>ap2000</string> <string>ap2000</string>
@ -592,6 +632,14 @@
<key>default</key> <key>default</key>
<false/> <false/>
</dict> </dict>
<dict>
<key>value</key>
<string>nlq401</string>
<key>description</key>
<string>Schneider NLQ 401 Matrix Printer</string>
<key>default</key>
<false/>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>chessmec</string> <string>chessmec</string>
@ -612,6 +660,69 @@
</dict> </dict>
</array> </array>
</dict> </dict>
<dict>
<key>name</key>
<string>agat9_flop</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>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>
</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>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>
</dict>
</array>
</dict>
</array>
</dict>
<dict> <dict>
<key>name</key> <key>name</key>
<string>agat_fdc</string> <string>agat_fdc</string>

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

View File

@ -12,7 +12,7 @@
<key>resolution</key> <key>resolution</key>
<array> <array>
<integer>560</integer> <integer>560</integer>
<integer>384</integer> <integer>192</integer>
</array> </array>
<key>slots</key> <key>slots</key>
<array> <array>
@ -164,7 +164,7 @@
<key>value</key> <key>value</key>
<string>cassette</string> <string>cassette</string>
<key>description</key> <key>description</key>
<string>Apple I cassette board</string> <string>Apple I Cassette Board</string>
<key>default</key> <key>default</key>
<true/> <true/>
<key>devname</key> <key>devname</key>
@ -179,7 +179,7 @@
<key>value</key> <key>value</key>
<string>cffa</string> <string>cffa</string>
<key>description</key> <key>description</key>
<string>CFFA Compact Flash for Apple I</string> <string>CFFA Compact Flash For Apple I</string>
<key>devname</key> <key>devname</key>
<string>cffa1</string> <string>cffa1</string>
</dict> </dict>
@ -232,6 +232,30 @@
<integer>1</integer> <integer>1</integer>
</dict> </dict>
</dict> </dict>
<dict>
<key>value</key>
<string>zip100</string>
<key>description</key>
<string>Iomega Zip 100MB IDE Drive</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>cr589</string>
<key>description</key>
<string>Matsushita CR589 CD-ROM Drive</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>xm3301</string>
<key>description</key>
<string>Toshiba XM-3301 CD-ROM Drive</string>
<key>default</key>
<false/>
</dict>
</array> </array>
</dict> </dict>
<dict> <dict>
@ -273,6 +297,30 @@
<integer>1</integer> <integer>1</integer>
</dict> </dict>
</dict> </dict>
<dict>
<key>value</key>
<string>zip100</string>
<key>description</key>
<string>Iomega Zip 100MB IDE Drive</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>cr589</string>
<key>description</key>
<string>Matsushita CR589 CD-ROM Drive</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>xm3301</string>
<key>description</key>
<string>Toshiba XM-3301 CD-ROM Drive</string>
<key>default</key>
<false/>
</dict>
</array> </array>
</dict> </dict>
</array> </array>

File diff suppressed because it is too large Load Diff

View File

@ -12,7 +12,7 @@
<key>resolution</key> <key>resolution</key>
<array> <array>
<integer>560</integer> <integer>560</integer>
<integer>384</integer> <integer>192</integer>
</array> </array>
<key>slots</key> <key>slots</key>
<array> <array>
@ -73,7 +73,7 @@
<key>value</key> <key>value</key>
<string>joy</string> <string>joy</string>
<key>description</key> <key>description</key>
<string>Apple II analog joysticks</string> <string>Apple II Analog Joysticks</string>
<key>devname</key> <key>devname</key>
<string>a2joy</string> <string>a2joy</string>
</dict> </dict>
@ -81,7 +81,7 @@
<key>value</key> <key>value</key>
<string>paddles</string> <string>paddles</string>
<key>description</key> <key>description</key>
<string>Apple II paddles</string> <string>Apple II Paddles</string>
<key>devname</key> <key>devname</key>
<string>a2pdls</string> <string>a2pdls</string>
</dict> </dict>
@ -131,11 +131,27 @@
<key>devname</key> <key>devname</key>
<string>ie15_terminal</string> <string>ie15_terminal</string>
</dict> </dict>
<dict>
<key>value</key>
<string>scorpion</string>
<key>description</key>
<string>Micro-Robotics Scorpion Intelligent Controller</string>
<key>devname</key>
<string>scorpion_ic</string>
</dict>
<dict>
<key>value</key>
<string>nss_tvi</string>
<key>description</key>
<string>Novag Super System TV Interface</string>
<key>devname</key>
<string>nss_tvinterface</string>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>pty</string> <string>pty</string>
<key>description</key> <key>description</key>
<string>Pseudo terminal</string> <string>Pseudo Terminal</string>
<key>devname</key> <key>devname</key>
<string>pseudo_terminal</string> <string>pseudo_terminal</string>
</dict> </dict>
@ -147,19 +163,11 @@
<key>devname</key> <key>devname</key>
<string>rs_serial_printer</string> <string>rs_serial_printer</string>
</dict> </dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>devname</key>
<string>rs232_patch_box</string>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>loopback</string> <string>loopback</string>
<key>description</key> <key>description</key>
<string>RS232 Loopback</string> <string>RS-232 Loopback</string>
<key>devname</key> <key>devname</key>
<string>rs232_loopback</string> <string>rs232_loopback</string>
</dict> </dict>
@ -167,7 +175,7 @@
<key>value</key> <key>value</key>
<string>dec_loopback</string> <string>dec_loopback</string>
<key>description</key> <key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string> <string>RS-232 Loopback (DEC 12-15336-00)</string>
<key>devname</key> <key>devname</key>
<string>dec_rs232_loopback</string> <string>dec_rs232_loopback</string>
</dict> </dict>
@ -175,7 +183,7 @@
<key>value</key> <key>value</key>
<string>null_modem</string> <string>null_modem</string>
<key>description</key> <key>description</key>
<string>RS232 Null Modem</string> <string>RS-232 Null Modem</string>
<key>devname</key> <key>devname</key>
<string>null_modem</string> <string>null_modem</string>
<key>media</key> <key>media</key>
@ -184,11 +192,19 @@
<integer>1</integer> <integer>1</integer>
</dict> </dict>
</dict> </dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>devname</key>
<string>rs232_patch_box</string>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>rs232_sync_io</string> <string>rs232_sync_io</string>
<key>description</key> <key>description</key>
<string>RS232 Synchronous I/O</string> <string>RS-232 Synchronous I/O</string>
<key>devname</key> <key>devname</key>
<string>rs232_sync_io</string> <string>rs232_sync_io</string>
<key>media</key> <key>media</key>
@ -270,11 +286,27 @@
<key>devname</key> <key>devname</key>
<string>ie15_terminal</string> <string>ie15_terminal</string>
</dict> </dict>
<dict>
<key>value</key>
<string>scorpion</string>
<key>description</key>
<string>Micro-Robotics Scorpion Intelligent Controller</string>
<key>devname</key>
<string>scorpion_ic</string>
</dict>
<dict>
<key>value</key>
<string>nss_tvi</string>
<key>description</key>
<string>Novag Super System TV Interface</string>
<key>devname</key>
<string>nss_tvinterface</string>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>pty</string> <string>pty</string>
<key>description</key> <key>description</key>
<string>Pseudo terminal</string> <string>Pseudo Terminal</string>
<key>devname</key> <key>devname</key>
<string>pseudo_terminal</string> <string>pseudo_terminal</string>
</dict> </dict>
@ -286,19 +318,11 @@
<key>devname</key> <key>devname</key>
<string>rs_serial_printer</string> <string>rs_serial_printer</string>
</dict> </dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>devname</key>
<string>rs232_patch_box</string>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>loopback</string> <string>loopback</string>
<key>description</key> <key>description</key>
<string>RS232 Loopback</string> <string>RS-232 Loopback</string>
<key>devname</key> <key>devname</key>
<string>rs232_loopback</string> <string>rs232_loopback</string>
</dict> </dict>
@ -306,7 +330,7 @@
<key>value</key> <key>value</key>
<string>dec_loopback</string> <string>dec_loopback</string>
<key>description</key> <key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string> <string>RS-232 Loopback (DEC 12-15336-00)</string>
<key>devname</key> <key>devname</key>
<string>dec_rs232_loopback</string> <string>dec_rs232_loopback</string>
</dict> </dict>
@ -314,7 +338,7 @@
<key>value</key> <key>value</key>
<string>null_modem</string> <string>null_modem</string>
<key>description</key> <key>description</key>
<string>RS232 Null Modem</string> <string>RS-232 Null Modem</string>
<key>devname</key> <key>devname</key>
<string>null_modem</string> <string>null_modem</string>
<key>media</key> <key>media</key>
@ -323,11 +347,19 @@
<integer>1</integer> <integer>1</integer>
</dict> </dict>
</dict> </dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>devname</key>
<string>rs232_patch_box</string>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>rs232_sync_io</string> <string>rs232_sync_io</string>
<key>description</key> <key>description</key>
<string>RS232 Synchronous I/O</string> <string>RS-232 Synchronous I/O</string>
<key>devname</key> <key>devname</key>
<string>rs232_sync_io</string> <string>rs232_sync_io</string>
<key>media</key> <key>media</key>
@ -478,11 +510,27 @@
<key>default</key> <key>default</key>
<false/> <false/>
</dict> </dict>
<dict>
<key>value</key>
<string>scorpion</string>
<key>description</key>
<string>Micro-Robotics Scorpion Intelligent Controller</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>nss_tvi</string>
<key>description</key>
<string>Novag Super System TV Interface</string>
<key>default</key>
<false/>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>pty</string> <string>pty</string>
<key>description</key> <key>description</key>
<string>Pseudo terminal</string> <string>Pseudo Terminal</string>
<key>default</key> <key>default</key>
<false/> <false/>
</dict> </dict>
@ -494,19 +542,11 @@
<key>default</key> <key>default</key>
<false/> <false/>
</dict> </dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>loopback</string> <string>loopback</string>
<key>description</key> <key>description</key>
<string>RS232 Loopback</string> <string>RS-232 Loopback</string>
<key>default</key> <key>default</key>
<false/> <false/>
</dict> </dict>
@ -514,7 +554,7 @@
<key>value</key> <key>value</key>
<string>dec_loopback</string> <string>dec_loopback</string>
<key>description</key> <key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string> <string>RS-232 Loopback (DEC 12-15336-00)</string>
<key>default</key> <key>default</key>
<false/> <false/>
</dict> </dict>
@ -522,7 +562,7 @@
<key>value</key> <key>value</key>
<string>null_modem</string> <string>null_modem</string>
<key>description</key> <key>description</key>
<string>RS232 Null Modem</string> <string>RS-232 Null Modem</string>
<key>default</key> <key>default</key>
<false/> <false/>
<key>media</key> <key>media</key>
@ -531,11 +571,19 @@
<integer>1</integer> <integer>1</integer>
</dict> </dict>
</dict> </dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>rs232_sync_io</string> <string>rs232_sync_io</string>
<key>description</key> <key>description</key>
<string>RS232 Synchronous I/O</string> <string>RS-232 Synchronous I/O</string>
<key>default</key> <key>default</key>
<false/> <false/>
<key>media</key> <key>media</key>

View File

@ -8,15 +8,11 @@
<string>Apple //c Plus</string> <string>Apple //c Plus</string>
<key>media</key> <key>media</key>
<dict> <dict>
<key>floppy_5_25</key>
<integer>2</integer>
<key>floppy_3_5</key>
<integer>2</integer>
</dict> </dict>
<key>resolution</key> <key>resolution</key>
<array> <array>
<integer>560</integer> <integer>560</integer>
<integer>384</integer> <integer>192</integer>
</array> </array>
<key>slots</key> <key>slots</key>
<array> <array>
@ -79,6 +75,25 @@
</dict> </dict>
</array> </array>
</dict> </dict>
<dict>
<key>name</key>
<string>smartport</string>
<key>description</key>
<string>Disk Drives</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string></string>
<key>devname</key>
<string>smartport</string>
<key>default</key>
<true/>
</dict>
</array>
</dict>
<dict> <dict>
<key>name</key> <key>name</key>
<string>gameio</string> <string>gameio</string>
@ -98,7 +113,7 @@
<key>value</key> <key>value</key>
<string>joy</string> <string>joy</string>
<key>description</key> <key>description</key>
<string>Apple II analog joysticks</string> <string>Apple II Analog Joysticks</string>
<key>devname</key> <key>devname</key>
<string>a2joy</string> <string>a2joy</string>
</dict> </dict>
@ -106,7 +121,7 @@
<key>value</key> <key>value</key>
<string>paddles</string> <string>paddles</string>
<key>description</key> <key>description</key>
<string>Apple II paddles</string> <string>Apple II Paddles</string>
<key>devname</key> <key>devname</key>
<string>a2pdls</string> <string>a2pdls</string>
</dict> </dict>
@ -156,11 +171,27 @@
<key>devname</key> <key>devname</key>
<string>ie15_terminal</string> <string>ie15_terminal</string>
</dict> </dict>
<dict>
<key>value</key>
<string>scorpion</string>
<key>description</key>
<string>Micro-Robotics Scorpion Intelligent Controller</string>
<key>devname</key>
<string>scorpion_ic</string>
</dict>
<dict>
<key>value</key>
<string>nss_tvi</string>
<key>description</key>
<string>Novag Super System TV Interface</string>
<key>devname</key>
<string>nss_tvinterface</string>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>pty</string> <string>pty</string>
<key>description</key> <key>description</key>
<string>Pseudo terminal</string> <string>Pseudo Terminal</string>
<key>devname</key> <key>devname</key>
<string>pseudo_terminal</string> <string>pseudo_terminal</string>
</dict> </dict>
@ -172,19 +203,11 @@
<key>devname</key> <key>devname</key>
<string>rs_serial_printer</string> <string>rs_serial_printer</string>
</dict> </dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>devname</key>
<string>rs232_patch_box</string>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>loopback</string> <string>loopback</string>
<key>description</key> <key>description</key>
<string>RS232 Loopback</string> <string>RS-232 Loopback</string>
<key>devname</key> <key>devname</key>
<string>rs232_loopback</string> <string>rs232_loopback</string>
</dict> </dict>
@ -192,7 +215,7 @@
<key>value</key> <key>value</key>
<string>dec_loopback</string> <string>dec_loopback</string>
<key>description</key> <key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string> <string>RS-232 Loopback (DEC 12-15336-00)</string>
<key>devname</key> <key>devname</key>
<string>dec_rs232_loopback</string> <string>dec_rs232_loopback</string>
</dict> </dict>
@ -200,7 +223,7 @@
<key>value</key> <key>value</key>
<string>null_modem</string> <string>null_modem</string>
<key>description</key> <key>description</key>
<string>RS232 Null Modem</string> <string>RS-232 Null Modem</string>
<key>devname</key> <key>devname</key>
<string>null_modem</string> <string>null_modem</string>
<key>media</key> <key>media</key>
@ -209,11 +232,19 @@
<integer>1</integer> <integer>1</integer>
</dict> </dict>
</dict> </dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>devname</key>
<string>rs232_patch_box</string>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>rs232_sync_io</string> <string>rs232_sync_io</string>
<key>description</key> <key>description</key>
<string>RS232 Synchronous I/O</string> <string>RS-232 Synchronous I/O</string>
<key>devname</key> <key>devname</key>
<string>rs232_sync_io</string> <string>rs232_sync_io</string>
<key>media</key> <key>media</key>
@ -295,11 +326,27 @@
<key>devname</key> <key>devname</key>
<string>ie15_terminal</string> <string>ie15_terminal</string>
</dict> </dict>
<dict>
<key>value</key>
<string>scorpion</string>
<key>description</key>
<string>Micro-Robotics Scorpion Intelligent Controller</string>
<key>devname</key>
<string>scorpion_ic</string>
</dict>
<dict>
<key>value</key>
<string>nss_tvi</string>
<key>description</key>
<string>Novag Super System TV Interface</string>
<key>devname</key>
<string>nss_tvinterface</string>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>pty</string> <string>pty</string>
<key>description</key> <key>description</key>
<string>Pseudo terminal</string> <string>Pseudo Terminal</string>
<key>devname</key> <key>devname</key>
<string>pseudo_terminal</string> <string>pseudo_terminal</string>
</dict> </dict>
@ -311,19 +358,11 @@
<key>devname</key> <key>devname</key>
<string>rs_serial_printer</string> <string>rs_serial_printer</string>
</dict> </dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>devname</key>
<string>rs232_patch_box</string>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>loopback</string> <string>loopback</string>
<key>description</key> <key>description</key>
<string>RS232 Loopback</string> <string>RS-232 Loopback</string>
<key>devname</key> <key>devname</key>
<string>rs232_loopback</string> <string>rs232_loopback</string>
</dict> </dict>
@ -331,7 +370,7 @@
<key>value</key> <key>value</key>
<string>dec_loopback</string> <string>dec_loopback</string>
<key>description</key> <key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string> <string>RS-232 Loopback (DEC 12-15336-00)</string>
<key>devname</key> <key>devname</key>
<string>dec_rs232_loopback</string> <string>dec_rs232_loopback</string>
</dict> </dict>
@ -339,7 +378,7 @@
<key>value</key> <key>value</key>
<string>null_modem</string> <string>null_modem</string>
<key>description</key> <key>description</key>
<string>RS232 Null Modem</string> <string>RS-232 Null Modem</string>
<key>devname</key> <key>devname</key>
<string>null_modem</string> <string>null_modem</string>
<key>media</key> <key>media</key>
@ -348,11 +387,19 @@
<integer>1</integer> <integer>1</integer>
</dict> </dict>
</dict> </dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>devname</key>
<string>rs232_patch_box</string>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>rs232_sync_io</string> <string>rs232_sync_io</string>
<key>description</key> <key>description</key>
<string>RS232 Synchronous I/O</string> <string>RS-232 Synchronous I/O</string>
<key>devname</key> <key>devname</key>
<string>rs232_sync_io</string> <string>rs232_sync_io</string>
<key>media</key> <key>media</key>
@ -414,6 +461,177 @@
</array> </array>
<key>devices</key> <key>devices</key>
<array> <array>
<dict>
<key>name</key>
<string>smartport</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>fdc: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>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>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>fdc: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>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>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>fdc:2</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>35dd</string>
<key>description</key>
<string>3.5" DD</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>35hd</string>
<key>description</key>
<string>3.5" HD</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>35sd</string>
<key>description</key>
<string>3.5" SD</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>fdc:3</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>35dd</string>
<key>description</key>
<string>3.5" DD</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>35hd</string>
<key>description</key>
<string>3.5" HD</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>35sd</string>
<key>description</key>
<string>3.5" SD</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
</array>
</dict>
<dict> <dict>
<key>name</key> <key>name</key>
<string>rs232_patch_box</string> <string>rs232_patch_box</string>
@ -440,11 +658,27 @@
<key>default</key> <key>default</key>
<false/> <false/>
</dict> </dict>
<dict>
<key>value</key>
<string>scorpion</string>
<key>description</key>
<string>Micro-Robotics Scorpion Intelligent Controller</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>nss_tvi</string>
<key>description</key>
<string>Novag Super System TV Interface</string>
<key>default</key>
<false/>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>pty</string> <string>pty</string>
<key>description</key> <key>description</key>
<string>Pseudo terminal</string> <string>Pseudo Terminal</string>
<key>default</key> <key>default</key>
<false/> <false/>
</dict> </dict>
@ -456,19 +690,11 @@
<key>default</key> <key>default</key>
<false/> <false/>
</dict> </dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>loopback</string> <string>loopback</string>
<key>description</key> <key>description</key>
<string>RS232 Loopback</string> <string>RS-232 Loopback</string>
<key>default</key> <key>default</key>
<false/> <false/>
</dict> </dict>
@ -476,7 +702,7 @@
<key>value</key> <key>value</key>
<string>dec_loopback</string> <string>dec_loopback</string>
<key>description</key> <key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string> <string>RS-232 Loopback (DEC 12-15336-00)</string>
<key>default</key> <key>default</key>
<false/> <false/>
</dict> </dict>
@ -484,7 +710,7 @@
<key>value</key> <key>value</key>
<string>null_modem</string> <string>null_modem</string>
<key>description</key> <key>description</key>
<string>RS232 Null Modem</string> <string>RS-232 Null Modem</string>
<key>default</key> <key>default</key>
<false/> <false/>
<key>media</key> <key>media</key>
@ -493,11 +719,19 @@
<integer>1</integer> <integer>1</integer>
</dict> </dict>
</dict> </dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>rs232_sync_io</string> <string>rs232_sync_io</string>
<key>description</key> <key>description</key>
<string>RS232 Synchronous I/O</string> <string>RS-232 Synchronous I/O</string>
<key>default</key> <key>default</key>
<false/> <false/>
<key>media</key> <key>media</key>

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

View File

@ -12,7 +12,7 @@
<key>resolution</key> <key>resolution</key>
<array> <array>
<integer>560</integer> <integer>560</integer>
<integer>384</integer> <integer>192</integer>
</array> </array>
<key>slots</key> <key>slots</key>
<array> <array>
@ -55,6 +55,35 @@
</dict> </dict>
</array> </array>
</dict> </dict>
<dict>
<key>name</key>
<string>bios</string>
<key>description</key>
<string>ROM</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—Default—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>original</string>
<key>description</key>
<string>Apple /// boot ROM</string>
</dict>
<dict>
<key>value</key>
<string>soshd</string>
<key>description</key>
<string>Rob Justice SOSHDBOOT</string>
</dict>
</array>
</dict>
<dict> <dict>
<key>name</key> <key>name</key>
<string>smartport</string> <string>smartport</string>
@ -101,7 +130,7 @@
<key>value</key> <key>value</key>
<string>cffa2</string> <string>cffa2</string>
<key>description</key> <key>description</key>
<string>CFFA 2.0 Compact Flash (6502 firmware, www.dreher.net)</string> <string>CFFA 2.0 Compact Flash (6502 Firmware)</string>
<key>devname</key> <key>devname</key>
<string>a2cffa02</string> <string>a2cffa02</string>
</dict> </dict>
@ -198,7 +227,7 @@
<key>value</key> <key>value</key>
<string>cffa2</string> <string>cffa2</string>
<key>description</key> <key>description</key>
<string>CFFA 2.0 Compact Flash (6502 firmware, www.dreher.net)</string> <string>CFFA 2.0 Compact Flash (6502 Firmware)</string>
<key>devname</key> <key>devname</key>
<string>a2cffa02</string> <string>a2cffa02</string>
</dict> </dict>
@ -295,7 +324,7 @@
<key>value</key> <key>value</key>
<string>cffa2</string> <string>cffa2</string>
<key>description</key> <key>description</key>
<string>CFFA 2.0 Compact Flash (6502 firmware, www.dreher.net)</string> <string>CFFA 2.0 Compact Flash (6502 Firmware)</string>
<key>devname</key> <key>devname</key>
<string>a2cffa02</string> <string>a2cffa02</string>
</dict> </dict>
@ -392,7 +421,7 @@
<key>value</key> <key>value</key>
<string>cffa2</string> <string>cffa2</string>
<key>description</key> <key>description</key>
<string>CFFA 2.0 Compact Flash (6502 firmware, www.dreher.net)</string> <string>CFFA 2.0 Compact Flash (6502 Firmware)</string>
<key>devname</key> <key>devname</key>
<string>a2cffa02</string> <string>a2cffa02</string>
</dict> </dict>
@ -466,7 +495,7 @@
<key>name</key> <key>name</key>
<string>rs232</string> <string>rs232</string>
<key>description</key> <key>description</key>
<string>RS232</string> <string>Serial</string>
<key>options</key> <key>options</key>
<array> <array>
<dict> <dict>
@ -485,11 +514,27 @@
<key>devname</key> <key>devname</key>
<string>ie15_terminal</string> <string>ie15_terminal</string>
</dict> </dict>
<dict>
<key>value</key>
<string>scorpion</string>
<key>description</key>
<string>Micro-Robotics Scorpion Intelligent Controller</string>
<key>devname</key>
<string>scorpion_ic</string>
</dict>
<dict>
<key>value</key>
<string>nss_tvi</string>
<key>description</key>
<string>Novag Super System TV Interface</string>
<key>devname</key>
<string>nss_tvinterface</string>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>pty</string> <string>pty</string>
<key>description</key> <key>description</key>
<string>Pseudo terminal</string> <string>Pseudo Terminal</string>
<key>devname</key> <key>devname</key>
<string>pseudo_terminal</string> <string>pseudo_terminal</string>
</dict> </dict>
@ -501,19 +546,11 @@
<key>devname</key> <key>devname</key>
<string>rs_serial_printer</string> <string>rs_serial_printer</string>
</dict> </dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>devname</key>
<string>rs232_patch_box</string>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>loopback</string> <string>loopback</string>
<key>description</key> <key>description</key>
<string>RS232 Loopback</string> <string>RS-232 Loopback</string>
<key>devname</key> <key>devname</key>
<string>rs232_loopback</string> <string>rs232_loopback</string>
</dict> </dict>
@ -521,7 +558,7 @@
<key>value</key> <key>value</key>
<string>dec_loopback</string> <string>dec_loopback</string>
<key>description</key> <key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string> <string>RS-232 Loopback (DEC 12-15336-00)</string>
<key>devname</key> <key>devname</key>
<string>dec_rs232_loopback</string> <string>dec_rs232_loopback</string>
</dict> </dict>
@ -529,7 +566,7 @@
<key>value</key> <key>value</key>
<string>null_modem</string> <string>null_modem</string>
<key>description</key> <key>description</key>
<string>RS232 Null Modem</string> <string>RS-232 Null Modem</string>
<key>devname</key> <key>devname</key>
<string>null_modem</string> <string>null_modem</string>
<key>media</key> <key>media</key>
@ -538,11 +575,19 @@
<integer>1</integer> <integer>1</integer>
</dict> </dict>
</dict> </dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>devname</key>
<string>rs232_patch_box</string>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>rs232_sync_io</string> <string>rs232_sync_io</string>
<key>description</key> <key>description</key>
<string>RS232 Synchronous I/O</string> <string>RS-232 Synchronous I/O</string>
<key>devname</key> <key>devname</key>
<string>rs232_sync_io</string> <string>rs232_sync_io</string>
<key>media</key> <key>media</key>
@ -767,6 +812,30 @@
<integer>1</integer> <integer>1</integer>
</dict> </dict>
</dict> </dict>
<dict>
<key>value</key>
<string>zip100</string>
<key>description</key>
<string>Iomega Zip 100MB IDE Drive</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>cr589</string>
<key>description</key>
<string>Matsushita CR589 CD-ROM Drive</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>xm3301</string>
<key>description</key>
<string>Toshiba XM-3301 CD-ROM Drive</string>
<key>default</key>
<false/>
</dict>
</array> </array>
</dict> </dict>
<dict> <dict>
@ -808,6 +877,30 @@
<integer>1</integer> <integer>1</integer>
</dict> </dict>
</dict> </dict>
<dict>
<key>value</key>
<string>zip100</string>
<key>description</key>
<string>Iomega Zip 100MB IDE Drive</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>cr589</string>
<key>description</key>
<string>Matsushita CR589 CD-ROM Drive</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>xm3301</string>
<key>description</key>
<string>Toshiba XM-3301 CD-ROM Drive</string>
<key>default</key>
<false/>
</dict>
</array> </array>
</dict> </dict>
</array> </array>
@ -856,6 +949,30 @@
<integer>1</integer> <integer>1</integer>
</dict> </dict>
</dict> </dict>
<dict>
<key>value</key>
<string>zip100</string>
<key>description</key>
<string>Iomega Zip 100MB IDE Drive</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>cr589</string>
<key>description</key>
<string>Matsushita CR589 CD-ROM Drive</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>xm3301</string>
<key>description</key>
<string>Toshiba XM-3301 CD-ROM Drive</string>
<key>default</key>
<false/>
</dict>
</array> </array>
</dict> </dict>
<dict> <dict>
@ -897,6 +1014,30 @@
<integer>1</integer> <integer>1</integer>
</dict> </dict>
</dict> </dict>
<dict>
<key>value</key>
<string>zip100</string>
<key>description</key>
<string>Iomega Zip 100MB IDE Drive</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>cr589</string>
<key>description</key>
<string>Matsushita CR589 CD-ROM Drive</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>xm3301</string>
<key>description</key>
<string>Toshiba XM-3301 CD-ROM Drive</string>
<key>default</key>
<false/>
</dict>
</array> </array>
</dict> </dict>
</array> </array>
@ -906,6 +1047,35 @@
<string>cmsscsi</string> <string>cmsscsi</string>
<key>slots</key> <key>slots</key>
<array> <array>
<dict>
<key>name</key>
<string>bios</string>
<key>description</key>
<string>ROM</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—Default—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>cms3190</string>
<key>description</key>
<string>CMS SCSI BIOS dated 3-1-90</string>
</dict>
<dict>
<key>value</key>
<string>cms871109</string>
<key>description</key>
<string>CMS SCSI BIOS dated 1987-11-09</string>
</dict>
</array>
</dict>
<dict> <dict>
<key>name</key> <key>name</key>
<string>:scsibus:0</string> <string>:scsibus:0</string>
@ -958,6 +1128,14 @@
<integer>1</integer> <integer>1</integer>
</dict> </dict>
</dict> </dict>
<dict>
<key>value</key>
<string>tape</string>
<key>description</key>
<string>SCSI tape</string>
<key>default</key>
<false/>
</dict>
</array> </array>
</dict> </dict>
<dict> <dict>
@ -1012,6 +1190,14 @@
<integer>1</integer> <integer>1</integer>
</dict> </dict>
</dict> </dict>
<dict>
<key>value</key>
<string>tape</string>
<key>description</key>
<string>SCSI tape</string>
<key>default</key>
<false/>
</dict>
</array> </array>
</dict> </dict>
<dict> <dict>
@ -1066,6 +1252,14 @@
<integer>1</integer> <integer>1</integer>
</dict> </dict>
</dict> </dict>
<dict>
<key>value</key>
<string>tape</string>
<key>description</key>
<string>SCSI tape</string>
<key>default</key>
<false/>
</dict>
</array> </array>
</dict> </dict>
<dict> <dict>
@ -1120,6 +1314,14 @@
<integer>1</integer> <integer>1</integer>
</dict> </dict>
</dict> </dict>
<dict>
<key>value</key>
<string>tape</string>
<key>description</key>
<string>SCSI tape</string>
<key>default</key>
<false/>
</dict>
</array> </array>
</dict> </dict>
<dict> <dict>
@ -1174,6 +1376,14 @@
<integer>1</integer> <integer>1</integer>
</dict> </dict>
</dict> </dict>
<dict>
<key>value</key>
<string>tape</string>
<key>description</key>
<string>SCSI tape</string>
<key>default</key>
<false/>
</dict>
</array> </array>
</dict> </dict>
<dict> <dict>
@ -1228,6 +1438,14 @@
<integer>1</integer> <integer>1</integer>
</dict> </dict>
</dict> </dict>
<dict>
<key>value</key>
<string>tape</string>
<key>description</key>
<string>SCSI tape</string>
<key>default</key>
<false/>
</dict>
</array> </array>
</dict> </dict>
<dict> <dict>
@ -1282,6 +1500,14 @@
<integer>1</integer> <integer>1</integer>
</dict> </dict>
</dict> </dict>
<dict>
<key>value</key>
<string>tape</string>
<key>description</key>
<string>SCSI tape</string>
<key>default</key>
<false/>
</dict>
</array> </array>
</dict> </dict>
</array> </array>
@ -1312,11 +1538,27 @@
<key>default</key> <key>default</key>
<false/> <false/>
</dict> </dict>
<dict>
<key>value</key>
<string>scorpion</string>
<key>description</key>
<string>Micro-Robotics Scorpion Intelligent Controller</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>nss_tvi</string>
<key>description</key>
<string>Novag Super System TV Interface</string>
<key>default</key>
<false/>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>pty</string> <string>pty</string>
<key>description</key> <key>description</key>
<string>Pseudo terminal</string> <string>Pseudo Terminal</string>
<key>default</key> <key>default</key>
<false/> <false/>
</dict> </dict>
@ -1328,19 +1570,11 @@
<key>default</key> <key>default</key>
<false/> <false/>
</dict> </dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>loopback</string> <string>loopback</string>
<key>description</key> <key>description</key>
<string>RS232 Loopback</string> <string>RS-232 Loopback</string>
<key>default</key> <key>default</key>
<false/> <false/>
</dict> </dict>
@ -1348,7 +1582,7 @@
<key>value</key> <key>value</key>
<string>dec_loopback</string> <string>dec_loopback</string>
<key>description</key> <key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string> <string>RS-232 Loopback (DEC 12-15336-00)</string>
<key>default</key> <key>default</key>
<false/> <false/>
</dict> </dict>
@ -1356,7 +1590,7 @@
<key>value</key> <key>value</key>
<string>null_modem</string> <string>null_modem</string>
<key>description</key> <key>description</key>
<string>RS232 Null Modem</string> <string>RS-232 Null Modem</string>
<key>default</key> <key>default</key>
<false/> <false/>
<key>media</key> <key>media</key>
@ -1365,11 +1599,19 @@
<integer>1</integer> <integer>1</integer>
</dict> </dict>
</dict> </dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict> <dict>
<key>value</key> <key>value</key>
<string>rs232_sync_io</string> <string>rs232_sync_io</string>
<key>description</key> <key>description</key>
<string>RS232 Synchronous I/O</string> <string>RS-232 Synchronous I/O</string>
<key>default</key> <key>default</key>
<false/> <false/>
<key>media</key> <key>media</key>

File diff suppressed because it is too large Load Diff

482
Ample/Resources/bbca.plist Normal file
View File

@ -0,0 +1,482 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>value</key>
<string>bbca</string>
<key>description</key>
<string>BBC Micro Model A</string>
<key>media</key>
<dict>
<key>cass</key>
<integer>1</integer>
<key>rom</key>
<integer>4</integer>
</dict>
<key>resolution</key>
<array>
<integer>640</integer>
<integer>256</integer>
</array>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>ramsize</string>
<key>description</key>
<string>RAM</string>
<key>options</key>
<array>
<dict>
<key>intValue</key>
<integer>16384</integer>
<key>description</key>
<string>16K</string>
<key>value</key>
<string>16K</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>intValue</key>
<integer>32768</integer>
<key>description</key>
<string>32K</string>
<key>value</key>
<string>32K</string>
<key>default</key>
<false/>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>bios</string>
<key>description</key>
<string>ROM</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—Default—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>os12</string>
<key>description</key>
<string>OS 1.20</string>
</dict>
<dict>
<key>value</key>
<string>os10</string>
<key>description</key>
<string>OS 1.00</string>
</dict>
<dict>
<key>value</key>
<string>os09</string>
<key>description</key>
<string>OS 0.92</string>
</dict>
<dict>
<key>value</key>
<string>os01</string>
<key>description</key>
<string>OS 0.10</string>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>rs423</string>
<key>description</key>
<string>Serial</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>ie15</string>
<key>description</key>
<string>IE15 Terminal</string>
<key>devname</key>
<string>ie15_terminal</string>
</dict>
<dict>
<key>value</key>
<string>scorpion</string>
<key>description</key>
<string>Micro-Robotics Scorpion Intelligent Controller</string>
<key>devname</key>
<string>scorpion_ic</string>
</dict>
<dict>
<key>value</key>
<string>pty</string>
<key>description</key>
<string>Pseudo Terminal</string>
<key>devname</key>
<string>pseudo_terminal</string>
</dict>
<dict>
<key>value</key>
<string>rs_printer</string>
<key>description</key>
<string>Radio Shack Serial Printer</string>
<key>devname</key>
<string>rs_serial_printer</string>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS-232 Loopback</string>
<key>devname</key>
<string>rs232_loopback</string>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS-232 Loopback (DEC 12-15336-00)</string>
<key>devname</key>
<string>dec_rs232_loopback</string>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS-232 Null Modem</string>
<key>devname</key>
<string>null_modem</string>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>devname</key>
<string>rs232_patch_box</string>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS-232 Synchronous I/O</string>
<key>devname</key>
<string>rs232_sync_io</string>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>keyboard</string>
<key>description</key>
<string>Serial Keyboard</string>
<key>devname</key>
<string>serial_keyboard</string>
</dict>
<dict>
<key>value</key>
<string>printer</string>
<key>description</key>
<string>Serial Printer</string>
<key>devname</key>
<string>serial_printer</string>
</dict>
<dict>
<key>value</key>
<string>terminal</string>
<key>description</key>
<string>Serial Terminal</string>
<key>devname</key>
<string>serial_terminal</string>
</dict>
<dict>
<key>value</key>
<string>sunkbd</string>
<key>description</key>
<string>Sun Keyboard Adaptor</string>
<key>devname</key>
<string>sunkbd_adaptor</string>
</dict>
<dict>
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard D</string>
<key>devname</key>
<string>mockingboardd</string>
</dict>
<dict>
<key>value</key>
<string>swtpc8212</string>
<key>description</key>
<string>SWTPC8212 Terminal</string>
<key>devname</key>
<string>swtpc8212_terminal</string>
</dict>
</array>
</dict>
</array>
<key>devices</key>
<array>
<dict>
<key>name</key>
<string>rs232_patch_box</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:dce</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>ie15</string>
<key>description</key>
<string>IE15 Terminal</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>scorpion</string>
<key>description</key>
<string>Micro-Robotics Scorpion Intelligent Controller</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>pty</string>
<key>description</key>
<string>Pseudo Terminal</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>rs_printer</string>
<key>description</key>
<string>Radio Shack Serial Printer</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS-232 Loopback</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS-232 Loopback (DEC 12-15336-00)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS-232 Null Modem</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS-232 Synchronous I/O</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>keyboard</string>
<key>description</key>
<string>Serial Keyboard</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>printer</string>
<key>description</key>
<string>Serial Printer</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>
<dict>
<key>value</key>
<string>sunkbd</string>
<key>description</key>
<string>Sun Keyboard Adaptor</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard D</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>swtpc8212</string>
<key>description</key>
<string>SWTPC8212 Terminal</string>
<key>default</key>
<false/>
</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>
</array>
<key>software</key>
<array>
<dict>
<key>name</key>
<string>bbc_cass.xml</string>
<key>filter</key>
<string>A</string>
</dict>
<dict>
<key>name</key>
<string>bbc_rom.xml</string>
<key>filter</key>
<string>B</string>
</dict>
</array>
</dict>
</plist>

11686
Ample/Resources/bbcb.plist Normal 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

8106
Ample/Resources/bbcbp.plist Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

8041
Ample/Resources/bbcm.plist Normal file

File diff suppressed because it is too large Load Diff

7747
Ample/Resources/bbcmc.plist Normal file

File diff suppressed because it is too large Load Diff

8042
Ample/Resources/bbcmt.plist Normal 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

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

3403
Ample/Resources/coco.plist Normal file

File diff suppressed because it is too large Load Diff

3332
Ample/Resources/coco2b.plist Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

3331
Ample/Resources/coco3.plist Normal file

File diff suppressed because it is too large Load Diff

3331
Ample/Resources/coco3h.plist Normal file

File diff suppressed because it is too large Load Diff

3331
Ample/Resources/coco3p.plist Normal file

File diff suppressed because it is too large Load Diff

3403
Ample/Resources/cocoh.plist Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

129
Ample/Resources/cz101.plist Normal file
View File

@ -0,0 +1,129 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>value</key>
<string>cz101</string>
<key>description</key>
<string>CZ-101</string>
<key>media</key>
<dict>
</dict>
<key>resolution</key>
<array>
<integer>97</integer>
<integer>38</integer>
</array>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>ramsize</string>
<key>description</key>
<string>RAM</string>
<key>options</key>
<array>
</array>
</dict>
<dict>
<key>name</key>
<string>bios</string>
<key>description</key>
<string>ROM</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—Default—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>v2</string>
<key>description</key>
<string>Version II</string>
</dict>
<dict>
<key>value</key>
<string>v1</string>
<key>description</key>
<string>Version I</string>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>mdin</string>
<key>description</key>
<string>MIDI In</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>midiin</string>
<key>description</key>
<string>MIDI In port</string>
<key>default</key>
<true/>
<key>devname</key>
<string>midiin_port</string>
<key>media</key>
<dict>
<key>midiin</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>mdout</string>
<key>description</key>
<string>MIDI Out</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>midiout</string>
<key>description</key>
<string>MIDI Out port</string>
<key>default</key>
<true/>
<key>devname</key>
<string>midiout_port</string>
<key>media</key>
<dict>
<key>midiout</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
</array>
<key>devices</key>
<array>
</array>
<key>software</key>
<array>
</array>
</dict>
</plist>

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

View File

@ -0,0 +1,815 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>value</key>
<string>ds2100</string>
<key>description</key>
<string>DECstation 2100</string>
<key>media</key>
<dict>
</dict>
<key>resolution</key>
<array>
<integer>1024</integer>
<integer>864</integer>
</array>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>smartport</string>
<key>description</key>
<string>Disk Drives</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string></string>
<key>devname</key>
<string>smartport</string>
<key>default</key>
<true/>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>com_port</string>
<key>description</key>
<string>Serial</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>ie15</string>
<key>description</key>
<string>IE15 Terminal</string>
<key>devname</key>
<string>ie15_terminal</string>
</dict>
<dict>
<key>value</key>
<string>scorpion</string>
<key>description</key>
<string>Micro-Robotics Scorpion Intelligent Controller</string>
<key>devname</key>
<string>scorpion_ic</string>
</dict>
<dict>
<key>value</key>
<string>pty</string>
<key>description</key>
<string>Pseudo Terminal</string>
<key>devname</key>
<string>pseudo_terminal</string>
</dict>
<dict>
<key>value</key>
<string>rs_printer</string>
<key>description</key>
<string>Radio Shack Serial Printer</string>
<key>devname</key>
<string>rs_serial_printer</string>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS-232 Loopback</string>
<key>devname</key>
<string>rs232_loopback</string>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS-232 Loopback (DEC 12-15336-00)</string>
<key>devname</key>
<string>dec_rs232_loopback</string>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS-232 Null Modem</string>
<key>devname</key>
<string>null_modem</string>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>devname</key>
<string>rs232_patch_box</string>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS-232 Synchronous I/O</string>
<key>devname</key>
<string>rs232_sync_io</string>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>keyboard</string>
<key>description</key>
<string>Serial Keyboard</string>
<key>devname</key>
<string>serial_keyboard</string>
</dict>
<dict>
<key>value</key>
<string>printer</string>
<key>description</key>
<string>Serial Printer</string>
<key>devname</key>
<string>serial_printer</string>
</dict>
<dict>
<key>value</key>
<string>terminal</string>
<key>description</key>
<string>Serial Terminal</string>
<key>devname</key>
<string>serial_terminal</string>
</dict>
<dict>
<key>value</key>
<string>sunkbd</string>
<key>description</key>
<string>Sun Keyboard Adaptor</string>
<key>devname</key>
<string>sunkbd_adaptor</string>
</dict>
<dict>
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard D</string>
<key>devname</key>
<string>mockingboardd</string>
</dict>
<dict>
<key>value</key>
<string>swtpc8212</string>
<key>description</key>
<string>SWTPC8212 Terminal</string>
<key>devname</key>
<string>swtpc8212_terminal</string>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>prt_port</string>
<key>description</key>
<string>Printer</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>ie15</string>
<key>description</key>
<string>IE15 Terminal</string>
<key>devname</key>
<string>ie15_terminal</string>
</dict>
<dict>
<key>value</key>
<string>scorpion</string>
<key>description</key>
<string>Micro-Robotics Scorpion Intelligent Controller</string>
<key>devname</key>
<string>scorpion_ic</string>
</dict>
<dict>
<key>value</key>
<string>pty</string>
<key>description</key>
<string>Pseudo Terminal</string>
<key>devname</key>
<string>pseudo_terminal</string>
</dict>
<dict>
<key>value</key>
<string>rs_printer</string>
<key>description</key>
<string>Radio Shack Serial Printer</string>
<key>devname</key>
<string>rs_serial_printer</string>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS-232 Loopback</string>
<key>devname</key>
<string>rs232_loopback</string>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS-232 Loopback (DEC 12-15336-00)</string>
<key>devname</key>
<string>dec_rs232_loopback</string>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS-232 Null Modem</string>
<key>devname</key>
<string>null_modem</string>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>devname</key>
<string>rs232_patch_box</string>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS-232 Synchronous I/O</string>
<key>devname</key>
<string>rs232_sync_io</string>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>keyboard</string>
<key>description</key>
<string>Serial Keyboard</string>
<key>devname</key>
<string>serial_keyboard</string>
</dict>
<dict>
<key>value</key>
<string>printer</string>
<key>description</key>
<string>Serial Printer</string>
<key>devname</key>
<string>serial_printer</string>
</dict>
<dict>
<key>value</key>
<string>terminal</string>
<key>description</key>
<string>Serial Terminal</string>
<key>devname</key>
<string>serial_terminal</string>
</dict>
<dict>
<key>value</key>
<string>sunkbd</string>
<key>description</key>
<string>Sun Keyboard Adaptor</string>
<key>devname</key>
<string>sunkbd_adaptor</string>
</dict>
<dict>
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard D</string>
<key>devname</key>
<string>mockingboardd</string>
</dict>
<dict>
<key>value</key>
<string>swtpc8212</string>
<key>description</key>
<string>SWTPC8212 Terminal</string>
<key>devname</key>
<string>swtpc8212_terminal</string>
</dict>
</array>
</dict>
</array>
<key>devices</key>
<array>
<dict>
<key>name</key>
<string>smartport</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>scsi: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>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>
<dict>
<key>name</key>
<string>scsi: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>harddisk</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>
<dict>
<key>name</key>
<string>scsi:2</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>harddisk</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>
<dict>
<key>name</key>
<string>scsi:3</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>harddisk</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>
<dict>
<key>name</key>
<string>scsi:4</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>
<true/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</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>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>scsi:5</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>harddisk</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>
</dict>
<dict>
<key>name</key>
<string>rs232_patch_box</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:dce</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>ie15</string>
<key>description</key>
<string>IE15 Terminal</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>scorpion</string>
<key>description</key>
<string>Micro-Robotics Scorpion Intelligent Controller</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>pty</string>
<key>description</key>
<string>Pseudo Terminal</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>rs_printer</string>
<key>description</key>
<string>Radio Shack Serial Printer</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS-232 Loopback</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS-232 Loopback (DEC 12-15336-00)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS-232 Null Modem</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS-232 Synchronous I/O</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>keyboard</string>
<key>description</key>
<string>Serial Keyboard</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>printer</string>
<key>description</key>
<string>Serial Printer</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>
<dict>
<key>value</key>
<string>sunkbd</string>
<key>description</key>
<string>Sun Keyboard Adaptor</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard D</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>swtpc8212</string>
<key>description</key>
<string>SWTPC8212 Terminal</string>
<key>default</key>
<false/>
</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>
</array>
<key>software</key>
<array>
</array>
</dict>
</plist>

View File

@ -0,0 +1,815 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>value</key>
<string>ds3100</string>
<key>description</key>
<string>DECstation 3100</string>
<key>media</key>
<dict>
</dict>
<key>resolution</key>
<array>
<integer>1024</integer>
<integer>864</integer>
</array>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>smartport</string>
<key>description</key>
<string>Disk Drives</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string></string>
<key>devname</key>
<string>smartport</string>
<key>default</key>
<true/>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>com_port</string>
<key>description</key>
<string>Serial</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>ie15</string>
<key>description</key>
<string>IE15 Terminal</string>
<key>devname</key>
<string>ie15_terminal</string>
</dict>
<dict>
<key>value</key>
<string>scorpion</string>
<key>description</key>
<string>Micro-Robotics Scorpion Intelligent Controller</string>
<key>devname</key>
<string>scorpion_ic</string>
</dict>
<dict>
<key>value</key>
<string>pty</string>
<key>description</key>
<string>Pseudo Terminal</string>
<key>devname</key>
<string>pseudo_terminal</string>
</dict>
<dict>
<key>value</key>
<string>rs_printer</string>
<key>description</key>
<string>Radio Shack Serial Printer</string>
<key>devname</key>
<string>rs_serial_printer</string>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS-232 Loopback</string>
<key>devname</key>
<string>rs232_loopback</string>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS-232 Loopback (DEC 12-15336-00)</string>
<key>devname</key>
<string>dec_rs232_loopback</string>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS-232 Null Modem</string>
<key>devname</key>
<string>null_modem</string>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>devname</key>
<string>rs232_patch_box</string>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS-232 Synchronous I/O</string>
<key>devname</key>
<string>rs232_sync_io</string>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>keyboard</string>
<key>description</key>
<string>Serial Keyboard</string>
<key>devname</key>
<string>serial_keyboard</string>
</dict>
<dict>
<key>value</key>
<string>printer</string>
<key>description</key>
<string>Serial Printer</string>
<key>devname</key>
<string>serial_printer</string>
</dict>
<dict>
<key>value</key>
<string>terminal</string>
<key>description</key>
<string>Serial Terminal</string>
<key>devname</key>
<string>serial_terminal</string>
</dict>
<dict>
<key>value</key>
<string>sunkbd</string>
<key>description</key>
<string>Sun Keyboard Adaptor</string>
<key>devname</key>
<string>sunkbd_adaptor</string>
</dict>
<dict>
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard D</string>
<key>devname</key>
<string>mockingboardd</string>
</dict>
<dict>
<key>value</key>
<string>swtpc8212</string>
<key>description</key>
<string>SWTPC8212 Terminal</string>
<key>devname</key>
<string>swtpc8212_terminal</string>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>prt_port</string>
<key>description</key>
<string>Printer</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>ie15</string>
<key>description</key>
<string>IE15 Terminal</string>
<key>devname</key>
<string>ie15_terminal</string>
</dict>
<dict>
<key>value</key>
<string>scorpion</string>
<key>description</key>
<string>Micro-Robotics Scorpion Intelligent Controller</string>
<key>devname</key>
<string>scorpion_ic</string>
</dict>
<dict>
<key>value</key>
<string>pty</string>
<key>description</key>
<string>Pseudo Terminal</string>
<key>devname</key>
<string>pseudo_terminal</string>
</dict>
<dict>
<key>value</key>
<string>rs_printer</string>
<key>description</key>
<string>Radio Shack Serial Printer</string>
<key>devname</key>
<string>rs_serial_printer</string>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS-232 Loopback</string>
<key>devname</key>
<string>rs232_loopback</string>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS-232 Loopback (DEC 12-15336-00)</string>
<key>devname</key>
<string>dec_rs232_loopback</string>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS-232 Null Modem</string>
<key>devname</key>
<string>null_modem</string>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>devname</key>
<string>rs232_patch_box</string>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS-232 Synchronous I/O</string>
<key>devname</key>
<string>rs232_sync_io</string>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>keyboard</string>
<key>description</key>
<string>Serial Keyboard</string>
<key>devname</key>
<string>serial_keyboard</string>
</dict>
<dict>
<key>value</key>
<string>printer</string>
<key>description</key>
<string>Serial Printer</string>
<key>devname</key>
<string>serial_printer</string>
</dict>
<dict>
<key>value</key>
<string>terminal</string>
<key>description</key>
<string>Serial Terminal</string>
<key>devname</key>
<string>serial_terminal</string>
</dict>
<dict>
<key>value</key>
<string>sunkbd</string>
<key>description</key>
<string>Sun Keyboard Adaptor</string>
<key>devname</key>
<string>sunkbd_adaptor</string>
</dict>
<dict>
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard D</string>
<key>devname</key>
<string>mockingboardd</string>
</dict>
<dict>
<key>value</key>
<string>swtpc8212</string>
<key>description</key>
<string>SWTPC8212 Terminal</string>
<key>devname</key>
<string>swtpc8212_terminal</string>
</dict>
</array>
</dict>
</array>
<key>devices</key>
<array>
<dict>
<key>name</key>
<string>smartport</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>scsi: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>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>
<dict>
<key>name</key>
<string>scsi: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>harddisk</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>
<dict>
<key>name</key>
<string>scsi:2</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>harddisk</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>
<dict>
<key>name</key>
<string>scsi:3</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>harddisk</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>
<dict>
<key>name</key>
<string>scsi:4</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>
<true/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</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>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>scsi:5</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>harddisk</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>
</dict>
<dict>
<key>name</key>
<string>rs232_patch_box</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:dce</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>ie15</string>
<key>description</key>
<string>IE15 Terminal</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>scorpion</string>
<key>description</key>
<string>Micro-Robotics Scorpion Intelligent Controller</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>pty</string>
<key>description</key>
<string>Pseudo Terminal</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>rs_printer</string>
<key>description</key>
<string>Radio Shack Serial Printer</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS-232 Loopback</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS-232 Loopback (DEC 12-15336-00)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS-232 Null Modem</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS-232 Synchronous I/O</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>keyboard</string>
<key>description</key>
<string>Serial Keyboard</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>printer</string>
<key>description</key>
<string>Serial Printer</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>
<dict>
<key>value</key>
<string>sunkbd</string>
<key>description</key>
<string>Sun Keyboard Adaptor</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard D</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>swtpc8212</string>
<key>description</key>
<string>SWTPC8212 Terminal</string>
<key>default</key>
<false/>
</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>
</array>
<key>software</key>
<array>
</array>
</dict>
</plist>

View File

@ -0,0 +1,856 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>value</key>
<string>ds5k133</string>
<key>description</key>
<string>DECstation 5000/133</string>
<key>media</key>
<dict>
</dict>
<key>resolution</key>
<array>
<integer>1280</integer>
<integer>1024</integer>
</array>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>smartport</string>
<key>description</key>
<string>Disk Drives</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string></string>
<key>devname</key>
<string>smartport</string>
<key>default</key>
<true/>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>rs232a</string>
<key>description</key>
<string>Serial A</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>ie15</string>
<key>description</key>
<string>IE15 Terminal</string>
<key>devname</key>
<string>ie15_terminal</string>
</dict>
<dict>
<key>value</key>
<string>scorpion</string>
<key>description</key>
<string>Micro-Robotics Scorpion Intelligent Controller</string>
<key>devname</key>
<string>scorpion_ic</string>
</dict>
<dict>
<key>value</key>
<string>pty</string>
<key>description</key>
<string>Pseudo Terminal</string>
<key>devname</key>
<string>pseudo_terminal</string>
</dict>
<dict>
<key>value</key>
<string>rs_printer</string>
<key>description</key>
<string>Radio Shack Serial Printer</string>
<key>devname</key>
<string>rs_serial_printer</string>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS-232 Loopback</string>
<key>devname</key>
<string>rs232_loopback</string>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS-232 Loopback (DEC 12-15336-00)</string>
<key>devname</key>
<string>dec_rs232_loopback</string>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS-232 Null Modem</string>
<key>devname</key>
<string>null_modem</string>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>devname</key>
<string>rs232_patch_box</string>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS-232 Synchronous I/O</string>
<key>devname</key>
<string>rs232_sync_io</string>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>keyboard</string>
<key>description</key>
<string>Serial Keyboard</string>
<key>devname</key>
<string>serial_keyboard</string>
</dict>
<dict>
<key>value</key>
<string>printer</string>
<key>description</key>
<string>Serial Printer</string>
<key>devname</key>
<string>serial_printer</string>
</dict>
<dict>
<key>value</key>
<string>terminal</string>
<key>description</key>
<string>Serial Terminal</string>
<key>devname</key>
<string>serial_terminal</string>
</dict>
<dict>
<key>value</key>
<string>sunkbd</string>
<key>description</key>
<string>Sun Keyboard Adaptor</string>
<key>devname</key>
<string>sunkbd_adaptor</string>
</dict>
<dict>
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard D</string>
<key>devname</key>
<string>mockingboardd</string>
</dict>
<dict>
<key>value</key>
<string>swtpc8212</string>
<key>description</key>
<string>SWTPC8212 Terminal</string>
<key>devname</key>
<string>swtpc8212_terminal</string>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>rs232b</string>
<key>description</key>
<string>Serial B</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>ie15</string>
<key>description</key>
<string>IE15 Terminal</string>
<key>devname</key>
<string>ie15_terminal</string>
</dict>
<dict>
<key>value</key>
<string>scorpion</string>
<key>description</key>
<string>Micro-Robotics Scorpion Intelligent Controller</string>
<key>devname</key>
<string>scorpion_ic</string>
</dict>
<dict>
<key>value</key>
<string>pty</string>
<key>description</key>
<string>Pseudo Terminal</string>
<key>devname</key>
<string>pseudo_terminal</string>
</dict>
<dict>
<key>value</key>
<string>rs_printer</string>
<key>description</key>
<string>Radio Shack Serial Printer</string>
<key>devname</key>
<string>rs_serial_printer</string>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS-232 Loopback</string>
<key>devname</key>
<string>rs232_loopback</string>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS-232 Loopback (DEC 12-15336-00)</string>
<key>devname</key>
<string>dec_rs232_loopback</string>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS-232 Null Modem</string>
<key>devname</key>
<string>null_modem</string>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>devname</key>
<string>rs232_patch_box</string>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS-232 Synchronous I/O</string>
<key>devname</key>
<string>rs232_sync_io</string>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>keyboard</string>
<key>description</key>
<string>Serial Keyboard</string>
<key>devname</key>
<string>serial_keyboard</string>
</dict>
<dict>
<key>value</key>
<string>printer</string>
<key>description</key>
<string>Serial Printer</string>
<key>devname</key>
<string>serial_printer</string>
</dict>
<dict>
<key>value</key>
<string>terminal</string>
<key>description</key>
<string>Serial Terminal</string>
<key>devname</key>
<string>serial_terminal</string>
</dict>
<dict>
<key>value</key>
<string>sunkbd</string>
<key>description</key>
<string>Sun Keyboard Adaptor</string>
<key>devname</key>
<string>sunkbd_adaptor</string>
</dict>
<dict>
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard D</string>
<key>devname</key>
<string>mockingboardd</string>
</dict>
<dict>
<key>value</key>
<string>swtpc8212</string>
<key>description</key>
<string>SWTPC8212 Terminal</string>
<key>devname</key>
<string>swtpc8212_terminal</string>
</dict>
</array>
</dict>
</array>
<key>devices</key>
<array>
<dict>
<key>name</key>
<string>smartport</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>scsi: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>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>
<dict>
<key>name</key>
<string>scsi: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>
<true/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</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>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>scsi:2</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>harddisk</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>
<dict>
<key>name</key>
<string>scsi:3</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>harddisk</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>
<dict>
<key>name</key>
<string>scsi:4</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>harddisk</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>
<dict>
<key>name</key>
<string>scsi:5</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>harddisk</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>
<dict>
<key>name</key>
<string>scsi:6</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>harddisk</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>
</dict>
<dict>
<key>name</key>
<string>rs232_patch_box</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:dce</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>ie15</string>
<key>description</key>
<string>IE15 Terminal</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>scorpion</string>
<key>description</key>
<string>Micro-Robotics Scorpion Intelligent Controller</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>pty</string>
<key>description</key>
<string>Pseudo Terminal</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>rs_printer</string>
<key>description</key>
<string>Radio Shack Serial Printer</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS-232 Loopback</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS-232 Loopback (DEC 12-15336-00)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS-232 Null Modem</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS-232 Synchronous I/O</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>keyboard</string>
<key>description</key>
<string>Serial Keyboard</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>printer</string>
<key>description</key>
<string>Serial Printer</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>
<dict>
<key>value</key>
<string>sunkbd</string>
<key>description</key>
<string>Sun Keyboard Adaptor</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard D</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>swtpc8212</string>
<key>description</key>
<string>SWTPC8212 Terminal</string>
<key>default</key>
<false/>
</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>
</array>
<key>software</key>
<array>
</array>
</dict>
</plist>

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

View File

@ -0,0 +1,818 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>value</key>
<string>hp9k330</string>
<key>description</key>
<string>HP9000/330</string>
<key>media</key>
<dict>
</dict>
<key>resolution</key>
<array>
<integer>1024</integer>
<integer>768</integer>
</array>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>sl1</string>
<key>description</key>
<string>Slot 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>human_interface</string>
<key>description</key>
<string>HP Human Interface Card</string>
<key>devname</key>
<string>human_interface</string>
</dict>
<dict>
<key>value</key>
<string>98543</string>
<key>description</key>
<string>HP98543 Medium-res Color DIO Video Card</string>
<key>devname</key>
<string>dio98543</string>
</dict>
<dict>
<key>value</key>
<string>98544</string>
<key>description</key>
<string>HP98544 High-res Monochrome DIO Video Card</string>
<key>default</key>
<true/>
<key>devname</key>
<string>dio98544</string>
</dict>
<dict>
<key>value</key>
<string>98603b</string>
<key>description</key>
<string>HP98603 BASIC ROM Card</string>
<key>devname</key>
<string>dio98603b</string>
</dict>
<dict>
<key>value</key>
<string>98603a</string>
<key>description</key>
<string>HP98603A BASIC 4.0 ROM Card</string>
<key>devname</key>
<string>dio98603a</string>
</dict>
<dict>
<key>value</key>
<string>98643</string>
<key>description</key>
<string>HP98643A LANIC Ethernet Card</string>
<key>devname</key>
<string>dio98643</string>
</dict>
<dict>
<key>value</key>
<string>98644</string>
<key>description</key>
<string>HP98644A Asynchronous Serial Interface</string>
<key>devname</key>
<string>dio98644</string>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>sl2</string>
<key>description</key>
<string>Slot 2</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>human_interface</string>
<key>description</key>
<string>HP Human Interface Card</string>
<key>devname</key>
<string>human_interface</string>
</dict>
<dict>
<key>value</key>
<string>98543</string>
<key>description</key>
<string>HP98543 Medium-res Color DIO Video Card</string>
<key>devname</key>
<string>dio98543</string>
</dict>
<dict>
<key>value</key>
<string>98544</string>
<key>description</key>
<string>HP98544 High-res Monochrome DIO Video Card</string>
<key>devname</key>
<string>dio98544</string>
</dict>
<dict>
<key>value</key>
<string>98603b</string>
<key>description</key>
<string>HP98603 BASIC ROM Card</string>
<key>default</key>
<true/>
<key>devname</key>
<string>dio98603b</string>
</dict>
<dict>
<key>value</key>
<string>98603a</string>
<key>description</key>
<string>HP98603A BASIC 4.0 ROM Card</string>
<key>devname</key>
<string>dio98603a</string>
</dict>
<dict>
<key>value</key>
<string>98643</string>
<key>description</key>
<string>HP98643A LANIC Ethernet Card</string>
<key>devname</key>
<string>dio98643</string>
</dict>
<dict>
<key>value</key>
<string>98644</string>
<key>description</key>
<string>HP98644A Asynchronous Serial Interface</string>
<key>devname</key>
<string>dio98644</string>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>sl3</string>
<key>description</key>
<string>Slot 3</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>human_interface</string>
<key>description</key>
<string>HP Human Interface Card</string>
<key>devname</key>
<string>human_interface</string>
</dict>
<dict>
<key>value</key>
<string>98543</string>
<key>description</key>
<string>HP98543 Medium-res Color DIO Video Card</string>
<key>devname</key>
<string>dio98543</string>
</dict>
<dict>
<key>value</key>
<string>98544</string>
<key>description</key>
<string>HP98544 High-res Monochrome DIO Video Card</string>
<key>devname</key>
<string>dio98544</string>
</dict>
<dict>
<key>value</key>
<string>98603b</string>
<key>description</key>
<string>HP98603 BASIC ROM Card</string>
<key>devname</key>
<string>dio98603b</string>
</dict>
<dict>
<key>value</key>
<string>98603a</string>
<key>description</key>
<string>HP98603A BASIC 4.0 ROM Card</string>
<key>devname</key>
<string>dio98603a</string>
</dict>
<dict>
<key>value</key>
<string>98643</string>
<key>description</key>
<string>HP98643A LANIC Ethernet Card</string>
<key>devname</key>
<string>dio98643</string>
</dict>
<dict>
<key>value</key>
<string>98644</string>
<key>description</key>
<string>HP98644A Asynchronous Serial Interface</string>
<key>default</key>
<true/>
<key>devname</key>
<string>dio98644</string>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>sl4</string>
<key>description</key>
<string>Slot 4</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>human_interface</string>
<key>description</key>
<string>HP Human Interface Card</string>
<key>devname</key>
<string>human_interface</string>
</dict>
<dict>
<key>value</key>
<string>98543</string>
<key>description</key>
<string>HP98543 Medium-res Color DIO Video Card</string>
<key>devname</key>
<string>dio98543</string>
</dict>
<dict>
<key>value</key>
<string>98544</string>
<key>description</key>
<string>HP98544 High-res Monochrome DIO Video Card</string>
<key>devname</key>
<string>dio98544</string>
</dict>
<dict>
<key>value</key>
<string>98603b</string>
<key>description</key>
<string>HP98603 BASIC ROM Card</string>
<key>devname</key>
<string>dio98603b</string>
</dict>
<dict>
<key>value</key>
<string>98603a</string>
<key>description</key>
<string>HP98603A BASIC 4.0 ROM Card</string>
<key>devname</key>
<string>dio98603a</string>
</dict>
<dict>
<key>value</key>
<string>98643</string>
<key>description</key>
<string>HP98643A LANIC Ethernet Card</string>
<key>devname</key>
<string>dio98643</string>
</dict>
<dict>
<key>value</key>
<string>98644</string>
<key>description</key>
<string>HP98644A Asynchronous Serial Interface</string>
<key>devname</key>
<string>dio98644</string>
</dict>
</array>
</dict>
</array>
<key>devices</key>
<array>
<dict>
<key>name</key>
<string>dio98644</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:rs232</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>ie15</string>
<key>description</key>
<string>IE15 Terminal</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>scorpion</string>
<key>description</key>
<string>Micro-Robotics Scorpion Intelligent Controller</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>pty</string>
<key>description</key>
<string>Pseudo Terminal</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>rs_printer</string>
<key>description</key>
<string>Radio Shack Serial Printer</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS-232 Loopback</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS-232 Loopback (DEC 12-15336-00)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS-232 Null Modem</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS-232 Synchronous I/O</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>keyboard</string>
<key>description</key>
<string>Serial Keyboard</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>printer</string>
<key>description</key>
<string>Serial Printer</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>
<dict>
<key>value</key>
<string>sunkbd</string>
<key>description</key>
<string>Sun Keyboard Adaptor</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard D</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>swtpc8212</string>
<key>description</key>
<string>SWTPC8212 Terminal</string>
<key>default</key>
<false/>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>human_interface</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:hil1</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>hp_46060b</string>
<key>description</key>
<string>HP 46060B Mouse</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>hp_ipc_kbd</string>
<key>description</key>
<string>HP Integral Keyboard (HLE)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>hp_46021a</string>
<key>description</key>
<string>HP ITF Keyboard</string>
<key>default</key>
<true/>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:hil2</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>hp_46060b</string>
<key>description</key>
<string>HP 46060B Mouse</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>hp_ipc_kbd</string>
<key>description</key>
<string>HP Integral Keyboard (HLE)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>hp_46021a</string>
<key>description</key>
<string>HP ITF Keyboard</string>
<key>default</key>
<false/>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:ieee0</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>hp9122c</string>
<key>description</key>
<string>HP9122C Dual High density disk drive</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>hp9895</string>
<key>description</key>
<string>HP9895</string>
<key>default</key>
<false/>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>rs232_patch_box</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:dce</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>ie15</string>
<key>description</key>
<string>IE15 Terminal</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>scorpion</string>
<key>description</key>
<string>Micro-Robotics Scorpion Intelligent Controller</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>pty</string>
<key>description</key>
<string>Pseudo Terminal</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>rs_printer</string>
<key>description</key>
<string>Radio Shack Serial Printer</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS-232 Loopback</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS-232 Loopback (DEC 12-15336-00)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS-232 Null Modem</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS-232 Synchronous I/O</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>keyboard</string>
<key>description</key>
<string>Serial Keyboard</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>printer</string>
<key>description</key>
<string>Serial Printer</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>
<dict>
<key>value</key>
<string>sunkbd</string>
<key>description</key>
<string>Sun Keyboard Adaptor</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard D</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>swtpc8212</string>
<key>description</key>
<string>SWTPC8212 Terminal</string>
<key>default</key>
<false/>
</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>
</array>
<key>software</key>
<array>
<string>hp9k3xx_flop.xml</string>
<string>hp9k3xx_cdrom.xml</string>
<string>hp9k3xx_hdd.xml</string>
</array>
</dict>
</plist>

View File

@ -0,0 +1,818 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>value</key>
<string>hp9k332</string>
<key>description</key>
<string>HP9000/332</string>
<key>media</key>
<dict>
</dict>
<key>resolution</key>
<array>
<integer>1024</integer>
<integer>400</integer>
</array>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>sl1</string>
<key>description</key>
<string>Slot 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>human_interface</string>
<key>description</key>
<string>HP Human Interface Card</string>
<key>devname</key>
<string>human_interface</string>
</dict>
<dict>
<key>value</key>
<string>98543</string>
<key>description</key>
<string>HP98543 Medium-res Color DIO Video Card</string>
<key>devname</key>
<string>dio98543</string>
</dict>
<dict>
<key>value</key>
<string>98544</string>
<key>description</key>
<string>HP98544 High-res Monochrome DIO Video Card</string>
<key>devname</key>
<string>dio98544</string>
</dict>
<dict>
<key>value</key>
<string>98603b</string>
<key>description</key>
<string>HP98603 BASIC ROM Card</string>
<key>default</key>
<true/>
<key>devname</key>
<string>dio98603b</string>
</dict>
<dict>
<key>value</key>
<string>98603a</string>
<key>description</key>
<string>HP98603A BASIC 4.0 ROM Card</string>
<key>devname</key>
<string>dio98603a</string>
</dict>
<dict>
<key>value</key>
<string>98643</string>
<key>description</key>
<string>HP98643A LANIC Ethernet Card</string>
<key>devname</key>
<string>dio98643</string>
</dict>
<dict>
<key>value</key>
<string>98644</string>
<key>description</key>
<string>HP98644A Asynchronous Serial Interface</string>
<key>devname</key>
<string>dio98644</string>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>sl2</string>
<key>description</key>
<string>Slot 2</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>human_interface</string>
<key>description</key>
<string>HP Human Interface Card</string>
<key>devname</key>
<string>human_interface</string>
</dict>
<dict>
<key>value</key>
<string>98543</string>
<key>description</key>
<string>HP98543 Medium-res Color DIO Video Card</string>
<key>devname</key>
<string>dio98543</string>
</dict>
<dict>
<key>value</key>
<string>98544</string>
<key>description</key>
<string>HP98544 High-res Monochrome DIO Video Card</string>
<key>devname</key>
<string>dio98544</string>
</dict>
<dict>
<key>value</key>
<string>98603b</string>
<key>description</key>
<string>HP98603 BASIC ROM Card</string>
<key>devname</key>
<string>dio98603b</string>
</dict>
<dict>
<key>value</key>
<string>98603a</string>
<key>description</key>
<string>HP98603A BASIC 4.0 ROM Card</string>
<key>devname</key>
<string>dio98603a</string>
</dict>
<dict>
<key>value</key>
<string>98643</string>
<key>description</key>
<string>HP98643A LANIC Ethernet Card</string>
<key>devname</key>
<string>dio98643</string>
</dict>
<dict>
<key>value</key>
<string>98644</string>
<key>description</key>
<string>HP98644A Asynchronous Serial Interface</string>
<key>default</key>
<true/>
<key>devname</key>
<string>dio98644</string>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>sl3</string>
<key>description</key>
<string>Slot 3</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>human_interface</string>
<key>description</key>
<string>HP Human Interface Card</string>
<key>devname</key>
<string>human_interface</string>
</dict>
<dict>
<key>value</key>
<string>98543</string>
<key>description</key>
<string>HP98543 Medium-res Color DIO Video Card</string>
<key>default</key>
<true/>
<key>devname</key>
<string>dio98543</string>
</dict>
<dict>
<key>value</key>
<string>98544</string>
<key>description</key>
<string>HP98544 High-res Monochrome DIO Video Card</string>
<key>devname</key>
<string>dio98544</string>
</dict>
<dict>
<key>value</key>
<string>98603b</string>
<key>description</key>
<string>HP98603 BASIC ROM Card</string>
<key>devname</key>
<string>dio98603b</string>
</dict>
<dict>
<key>value</key>
<string>98603a</string>
<key>description</key>
<string>HP98603A BASIC 4.0 ROM Card</string>
<key>devname</key>
<string>dio98603a</string>
</dict>
<dict>
<key>value</key>
<string>98643</string>
<key>description</key>
<string>HP98643A LANIC Ethernet Card</string>
<key>devname</key>
<string>dio98643</string>
</dict>
<dict>
<key>value</key>
<string>98644</string>
<key>description</key>
<string>HP98644A Asynchronous Serial Interface</string>
<key>devname</key>
<string>dio98644</string>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>sl4</string>
<key>description</key>
<string>Slot 4</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>human_interface</string>
<key>description</key>
<string>HP Human Interface Card</string>
<key>devname</key>
<string>human_interface</string>
</dict>
<dict>
<key>value</key>
<string>98543</string>
<key>description</key>
<string>HP98543 Medium-res Color DIO Video Card</string>
<key>devname</key>
<string>dio98543</string>
</dict>
<dict>
<key>value</key>
<string>98544</string>
<key>description</key>
<string>HP98544 High-res Monochrome DIO Video Card</string>
<key>devname</key>
<string>dio98544</string>
</dict>
<dict>
<key>value</key>
<string>98603b</string>
<key>description</key>
<string>HP98603 BASIC ROM Card</string>
<key>devname</key>
<string>dio98603b</string>
</dict>
<dict>
<key>value</key>
<string>98603a</string>
<key>description</key>
<string>HP98603A BASIC 4.0 ROM Card</string>
<key>devname</key>
<string>dio98603a</string>
</dict>
<dict>
<key>value</key>
<string>98643</string>
<key>description</key>
<string>HP98643A LANIC Ethernet Card</string>
<key>devname</key>
<string>dio98643</string>
</dict>
<dict>
<key>value</key>
<string>98644</string>
<key>description</key>
<string>HP98644A Asynchronous Serial Interface</string>
<key>devname</key>
<string>dio98644</string>
</dict>
</array>
</dict>
</array>
<key>devices</key>
<array>
<dict>
<key>name</key>
<string>dio98644</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:rs232</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>ie15</string>
<key>description</key>
<string>IE15 Terminal</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>scorpion</string>
<key>description</key>
<string>Micro-Robotics Scorpion Intelligent Controller</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>pty</string>
<key>description</key>
<string>Pseudo Terminal</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>rs_printer</string>
<key>description</key>
<string>Radio Shack Serial Printer</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS-232 Loopback</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS-232 Loopback (DEC 12-15336-00)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS-232 Null Modem</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS-232 Synchronous I/O</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>keyboard</string>
<key>description</key>
<string>Serial Keyboard</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>printer</string>
<key>description</key>
<string>Serial Printer</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>
<dict>
<key>value</key>
<string>sunkbd</string>
<key>description</key>
<string>Sun Keyboard Adaptor</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard D</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>swtpc8212</string>
<key>description</key>
<string>SWTPC8212 Terminal</string>
<key>default</key>
<false/>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>human_interface</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:hil1</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>hp_46060b</string>
<key>description</key>
<string>HP 46060B Mouse</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>hp_ipc_kbd</string>
<key>description</key>
<string>HP Integral Keyboard (HLE)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>hp_46021a</string>
<key>description</key>
<string>HP ITF Keyboard</string>
<key>default</key>
<true/>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:hil2</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>hp_46060b</string>
<key>description</key>
<string>HP 46060B Mouse</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>hp_ipc_kbd</string>
<key>description</key>
<string>HP Integral Keyboard (HLE)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>hp_46021a</string>
<key>description</key>
<string>HP ITF Keyboard</string>
<key>default</key>
<false/>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:ieee0</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>hp9122c</string>
<key>description</key>
<string>HP9122C Dual High density disk drive</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>hp9895</string>
<key>description</key>
<string>HP9895</string>
<key>default</key>
<false/>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>rs232_patch_box</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:dce</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>ie15</string>
<key>description</key>
<string>IE15 Terminal</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>scorpion</string>
<key>description</key>
<string>Micro-Robotics Scorpion Intelligent Controller</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>pty</string>
<key>description</key>
<string>Pseudo Terminal</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>rs_printer</string>
<key>description</key>
<string>Radio Shack Serial Printer</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS-232 Loopback</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS-232 Loopback (DEC 12-15336-00)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS-232 Null Modem</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS-232 Synchronous I/O</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>keyboard</string>
<key>description</key>
<string>Serial Keyboard</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>printer</string>
<key>description</key>
<string>Serial Printer</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>
<dict>
<key>value</key>
<string>sunkbd</string>
<key>description</key>
<string>Sun Keyboard Adaptor</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard D</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>swtpc8212</string>
<key>description</key>
<string>SWTPC8212 Terminal</string>
<key>default</key>
<false/>
</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>
</array>
<key>software</key>
<array>
<string>hp9k3xx_flop.xml</string>
<string>hp9k3xx_cdrom.xml</string>
<string>hp9k3xx_hdd.xml</string>
</array>
</dict>
</plist>

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

Some files were not shown because too many files have changed in this diff Show More