Compare commits

...
70 Commits
Author SHA1 Message Date
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
Kelvin Sherlock 79c3eba93e software list items need to be *after* slot configuration so they have access to the 3.5" disk controller card, for example. 2022-02-26 15:52:13 -05:00
Kelvin Sherlock e09a151c91 revert accidental changes to the preference window 2022-02-26 11:35:47 -05:00
Kelvin Sherlock ce35015218 macos 12 doesn't like singletons in nibs 2022-02-23 22:32:33 -05:00
Kelvin Sherlock 1dd3664a2b version bump - 241 2022-02-23 21:14:30 -05:00
Kelvin Sherlock 0616991a1b - Move bookmarks and disk images to core data
- bookmark edit window
- rom window now shows machine description, tooltip is name
- fix split floppy logic to work with a2superdrive
- fix software list loading from default
- mame 241 machine updates
2022-02-23 20:59:05 -05:00
Kelvin Sherlock 7633887391 bump copyright year. 2022-01-30 12:30:49 -05:00
Kelvin Sherlock c49c4df9bf WIP version bump 2022-01-15 10:54:34 -05:00
Kelvin Sherlock eda219faa2 Tested and excluded extra CD ROM devices.
They were previously excluded from the machine descriptions but
they now need to be excluded from the ROM file as well.
2022-01-15 10:54:18 -05:00
Kelvin Sherlock 5382447dc9 rom/machine updates for 240 (wip) 2022-01-15 10:13:07 -05:00
Kelvin Sherlock 8f989c0d3f sparkle 2.0 2022-01-02 21:59:47 -05:00
Kelvin Sherlock 1141e3da0d version bump (0.239) 2021-12-28 21:50:00 -05:00
Kelvin Sherlock c5eeec9b6d MAME 239 update 2021-12-28 21:06:03 -05:00
Kelvin Sherlock 2122f0707b Add Franklin ACE 2200 machine definition. 2021-12-02 18:12:24 -05:00
Kelvin Sherlock 809e344a2d add ace 500, move franklin to it's own group, updated machine descriptions 2021-11-29 20:00:46 -05:00
Kelvin Sherlock 405e802176 version bump 2021-11-24 13:04:36 -05:00
Kelvin Sherlock d352e7c45d Download manager - support for password protected web sites (basic authorization).
Since there's no UI for the username/password, these need to be managed within keychain.

Add a new keychain item with the porotocol + server (ie, https://romz.example.com) as the keychain item name, account name, and password.
2021-11-20 09:43:22 -05:00
Kelvin Sherlock 5af5e2e300 move first responder resignation code to a function. 2021-11-16 22:44:38 -05:00
Kelvin Sherlock afc3ac608a Downloader: resign first responder before downloading so the URL will update (if it's being edited). 2021-11-16 20:44:11 -05:00
Kelvin Sherlock c200672650 sparkle update. 2021-11-16 19:15:17 -05:00
Kelvin Sherlock 345d4f3d74 laser128.o rom 2021-10-27 17:15:58 -04:00
Kelvin Sherlock b795d60995 version bump 2021-10-27 17:12:25 -04:00
Kelvin Sherlock 09b4972084 bump components date 2021-10-27 17:11:00 -04:00
Kelvin Sherlock 49c191bf5f Add laser 128 (original version) 2021-10-27 17:10:43 -04:00
Kelvin Sherlock 7f5efc1479 updated machine descriptions for 0.237 2021-10-27 16:57:56 -04:00
Kelvin Sherlock c7fa95c918 software list - support for the notes field. 2021-10-06 21:05:58 -04:00
Kelvin Sherlock 7178118ea9 236 version bump 2021-09-29 21:03:55 -04:00
Kelvin Sherlock e9654f01c0 mame 0.236 updates 2021-09-29 19:50:41 -04:00
Kelvin Sherlock 098b8cb7da update component date 2021-08-26 23:25:05 -04:00
Kelvin Sherlock 35b60b1358 0.235 version bump 2021-08-26 22:06:20 -04:00
Kelvin Sherlock 0c56be79f3 tweak rom build script 2021-08-26 22:06:03 -04:00
Kelvin Sherlock e66502ea42 update roms and cards for 0235 2021-08-26 22:01:52 -04:00
Kelvin Sherlock 70f4738264 add midi input/output menu. 2021-08-07 15:12:45 -04:00
Kelvin Sherlock 026a9e7704 fix missing key 2021-08-06 21:25:27 -04:00
Kelvin Sherlock 7a482191ab update embedded timestamp / archive url 2021-07-28 16:41:07 -04:00
Kelvin Sherlock 3827cce320 version bump 2021-07-27 23:50:00 -04:00
Kelvin Sherlock 82fbe43795 remove some roms that don't exist (included in other sets) 2021-07-27 23:48:42 -04:00
Kelvin Sherlock acfc37675b version bump for kfest release. 2021-07-23 21:37:51 -04:00
Kelvin Sherlock fa64005345 disable the midi in / midi out for now since it's more complicated than I expected. 2021-07-23 21:30:16 -04:00
Kelvin Sherlock f79fb60883 SoftCard /// 2021-07-23 21:29:13 -04:00
Kelvin Sherlock d92145f6b4 wrong logic was causing custom mame to be ignored when launching
(but not for shell script).
2021-07-18 21:48:19 -04:00
Kelvin Sherlock 139ab22f2a add -rewind support, increase size of media and slots
rewind saves the state before each step.
2021-07-14 22:38:15 -04:00
Kelvin Sherlock b58a859398 set the category index to -1 when category not in use. 2021-07-14 19:40:40 -04:00
Kelvin Sherlock a278f679b0 whitespace 2021-07-14 19:38:52 -04:00
Kelvin Sherlock 0c55214085 midi/picture support. 2021-07-10 23:37:10 -04:00
Kelvin Sherlock 7c704e577d whitespace 2021-07-10 23:35:56 -04:00
Kelvin Sherlock d52c2cd9d1 updated machine definitions with midi, picture, and lance 2021-07-10 23:35:48 -04:00
Kelvin Sherlock 5aa8990ac6 whitespace 2021-07-10 23:34:00 -04:00
Kelvin Sherlock 82a73ef79c midiin, midiout, and picture support. 2021-07-10 23:33:20 -04:00
Kelvin Sherlock 0d4a08113b media view - store the category in the path control to better identify if it's a disk image. 2021-07-10 12:07:01 -04:00
Kelvin Sherlock fc3bae79c3 disable all mouse tracking code (which was unused) 2021-07-10 12:05:22 -04:00
Kelvin Sherlock 053b9d84db remove logging, add begin/end updates 2021-07-10 11:25:25 -04:00
Kelvin Sherlock c7d0a2aecb animate out out the entire category when it's completely invalidated. 2021-07-10 01:45:03 -04:00
Kelvin Sherlock 5a098b9d00 double-clicking a recent disk image will try to put it in an appropriate location.
if the media class doesn't exist (eg, hard drive with no hard drive controller) it's added but not displayed.
2021-07-10 01:15:34 -04:00
Kelvin Sherlock abf4e027ee improve disk image/etc sniffing. 2021-07-08 22:09:33 -04:00
Kelvin Sherlock ec020cf028 bookmark duplicate name logic didn't work... 2021-07-07 07:15:28 -04:00
Kelvin Sherlock 9ab4b8373d statusDescription depends on status (and error) 2021-07-02 17:38:36 -04:00
Kelvin Sherlock 796b1f2fc8 reset the software list when loading a bookmark. 2021-07-02 17:16:05 -04:00
Kelvin Sherlock d7b3c763dd update readme 2021-07-01 21:31:08 -04:00
Kelvin Sherlock 32aad8cb61 updated screenshots 2021-07-01 21:26:24 -04:00
Kelvin Sherlock 1eb3811611 adjust download spinner size and location. 2021-07-01 19:21:51 -04:00
Kelvin Sherlock ac459adb57 commentary. 2021-07-01 19:21:51 -04:00
131 changed files with 57621 additions and 1795 deletions

No files matched your search

+121 -4
View File
@@ -64,6 +64,8 @@
B6152B5B25F5B57E00605E6E /* Media.m in Sources */ = {isa = PBXBuildFile; fileRef = B6152B5925F5B57E00605E6E /* Media.m */; };
B615A99F26640940001FBF99 /* SlotView.xib in Resources */ = {isa = PBXBuildFile; fileRef = B6E9A18125088B36005E7525 /* SlotView.xib */; };
B615A9A026640A70001FBF99 /* SlotViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B6E9A17F25088B1B005E7525 /* SlotViewController.m */; };
B618B8C42729F6690045C2D8 /* laser128o.plist in Resources */ = {isa = PBXBuildFile; fileRef = B618B8C32729F6690045C2D8 /* laser128o.plist */; };
B618B8C52729F6690045C2D8 /* laser128o.plist in Resources */ = {isa = PBXBuildFile; fileRef = B618B8C32729F6690045C2D8 /* laser128o.plist */; };
B63005332666D6940014C381 /* BookmarkManager.m in Sources */ = {isa = PBXBuildFile; fileRef = B63005322666D6940014C381 /* BookmarkManager.m */; };
B63005342666D6940014C381 /* BookmarkManager.m in Sources */ = {isa = PBXBuildFile; fileRef = B63005322666D6940014C381 /* BookmarkManager.m */; };
B635C09A26784A1200B23BFD /* Sparkle.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B635C09926784A1200B23BFD /* Sparkle.framework */; };
@@ -118,6 +120,8 @@
B63C1F1025B1447C0016A611 /* CheatSheetWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = B63C1F0E25B1447C0016A611 /* CheatSheetWindowController.m */; };
B63C1F1225B147E10016A611 /* CheatSheet.html in Resources */ = {isa = PBXBuildFile; fileRef = B63C1F1125B147E10016A611 /* CheatSheet.html */; };
B63C1F1325B147E10016A611 /* CheatSheet.html in Resources */ = {isa = PBXBuildFile; fileRef = B63C1F1125B147E10016A611 /* CheatSheet.html */; };
B63E57E22755AF2000F8B5D1 /* ace500.plist in Resources */ = {isa = PBXBuildFile; fileRef = B63E57E12755AF1F00F8B5D1 /* ace500.plist */; };
B63E57E32755AF2000F8B5D1 /* ace500.plist in Resources */ = {isa = PBXBuildFile; fileRef = B63E57E12755AF1F00F8B5D1 /* ace500.plist */; };
B646D10B263A5DF30014C586 /* ace1000.plist in Resources */ = {isa = PBXBuildFile; fileRef = B646D10A263A5DF20014C586 /* ace1000.plist */; };
B646D10C263A5DF30014C586 /* ace1000.plist in Resources */ = {isa = PBXBuildFile; fileRef = B646D10A263A5DF20014C586 /* ace1000.plist */; };
B64979C224EF6703008ABD20 /* MediaViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B64979C124EF6703008ABD20 /* MediaViewController.m */; };
@@ -149,8 +153,14 @@
B6841BD7251EC926006A5C39 /* vmnet_helper.c in Sources */ = {isa = PBXBuildFile; fileRef = B6841BCA251EC88E006A5C39 /* vmnet_helper.c */; };
B6841BDA251ECB1C006A5C39 /* mame64 in CopyFiles */ = {isa = PBXBuildFile; fileRef = B66236B824FDA698006CABD7 /* mame64 */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
B6841BDE251ECC29006A5C39 /* vmnet.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B6841BDD251ECC29006A5C39 /* vmnet.framework */; };
B68A899026BE18E000B2C8C6 /* MidiManager.m in Sources */ = {isa = PBXBuildFile; fileRef = B68A898F26BE18E000B2C8C6 /* MidiManager.m */; };
B68A899126BE18E000B2C8C6 /* MidiManager.m in Sources */ = {isa = PBXBuildFile; fileRef = B68A898F26BE18E000B2C8C6 /* MidiManager.m */; };
B68A899426BF124B00B2C8C6 /* CoreMIDI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B68A899326BF124B00B2C8C6 /* CoreMIDI.framework */; };
B68A899526BF12A600B2C8C6 /* CoreMIDI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B68A899326BF124B00B2C8C6 /* CoreMIDI.framework */; };
B6A1A1942528EB1700DB0FD7 /* Menu.m in Sources */ = {isa = PBXBuildFile; fileRef = B6A1A1932528EB1700DB0FD7 /* Menu.m */; };
B6A1A1952528EB1700DB0FD7 /* Menu.m in Sources */ = {isa = PBXBuildFile; fileRef = B6A1A1932528EB1700DB0FD7 /* Menu.m */; };
B6ABF47C275986EB00DC3D48 /* ace2200.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6ABF47B275986EA00DC3D48 /* ace2200.plist */; };
B6ABF47D275986EB00DC3D48 /* ace2200.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6ABF47B275986EA00DC3D48 /* ace2200.plist */; };
B6B9EA662506A5550080E70D /* EjectButton.m in Sources */ = {isa = PBXBuildFile; fileRef = B6B9EA642506A5550080E70D /* EjectButton.m */; };
B6B9EA672506A5550080E70D /* EjectButton.m in Sources */ = {isa = PBXBuildFile; fileRef = B6B9EA642506A5550080E70D /* EjectButton.m */; };
B6BA258024E99BE9005FB8FF /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = B6BA257F24E99BE9005FB8FF /* AppDelegate.m */; };
@@ -263,6 +273,20 @@
B6E4B5F024FDE2670094A35C /* apple2jp.plist in Resources */ = {isa = PBXBuildFile; fileRef = B61099F224F5F36F005CB652 /* apple2jp.plist */; };
B6E4B5F124FDE2670094A35C /* apple2.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6109A0324F5F371005CB652 /* apple2.plist */; };
B6E4B5F224FDE2670094A35C /* prav8m.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6109A0024F5F371005CB652 /* prav8m.plist */; };
B6E6DCEB27AEE15F00E0A76E /* Ample.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = B6E6DCE927AEE15F00E0A76E /* Ample.xcdatamodeld */; };
B6E6DCEC27AEE15F00E0A76E /* Ample.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = B6E6DCE927AEE15F00E0A76E /* Ample.xcdatamodeld */; };
B6E6DCF727B0873200E0A76E /* BookmarkWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = B6E6DCF527B0873100E0A76E /* BookmarkWindow.xib */; };
B6E6DCF827B0873200E0A76E /* BookmarkWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = B6E6DCF527B0873100E0A76E /* BookmarkWindow.xib */; };
B6E6DCFB27B0A09300E0A76E /* BookmarkWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = B6E6DCFA27B0A09300E0A76E /* BookmarkWindowController.m */; };
B6E6DCFC27B0A09300E0A76E /* BookmarkWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = B6E6DCFA27B0A09300E0A76E /* BookmarkWindowController.m */; };
B6E6DD0127B0D17C00E0A76E /* Bookmark+CoreDataClass.m in Sources */ = {isa = PBXBuildFile; fileRef = B6E6DCFF27B0D17C00E0A76E /* Bookmark+CoreDataClass.m */; };
B6E6DD0227B0D17C00E0A76E /* Bookmark+CoreDataClass.m in Sources */ = {isa = PBXBuildFile; fileRef = B6E6DCFF27B0D17C00E0A76E /* Bookmark+CoreDataClass.m */; };
B6E6DD0327B0D17C00E0A76E /* Bookmark+CoreDataProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = B6E6DD0027B0D17C00E0A76E /* Bookmark+CoreDataProperties.m */; };
B6E6DD0427B0D17C00E0A76E /* Bookmark+CoreDataProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = B6E6DD0027B0D17C00E0A76E /* Bookmark+CoreDataProperties.m */; };
B6E6DD1327B1D71700E0A76E /* DiskImage+CoreDataClass.m in Sources */ = {isa = PBXBuildFile; fileRef = B6E6DD1127B1D71700E0A76E /* DiskImage+CoreDataClass.m */; };
B6E6DD1427B1D71700E0A76E /* DiskImage+CoreDataClass.m in Sources */ = {isa = PBXBuildFile; fileRef = B6E6DD1127B1D71700E0A76E /* DiskImage+CoreDataClass.m */; };
B6E6DD1527B1D71700E0A76E /* DiskImage+CoreDataProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = B6E6DD1227B1D71700E0A76E /* DiskImage+CoreDataProperties.m */; };
B6E6DD1627B1D71700E0A76E /* DiskImage+CoreDataProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = B6E6DD1227B1D71700E0A76E /* DiskImage+CoreDataProperties.m */; };
B6E9A18025088B1B005E7525 /* SlotViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B6E9A17F25088B1B005E7525 /* SlotViewController.m */; };
B6E9A18325088B36005E7525 /* SlotView.xib in Resources */ = {isa = PBXBuildFile; fileRef = B6E9A18125088B36005E7525 /* SlotView.xib */; };
B6F7B538266FDA5B00624C6B /* MachineView.xib in Resources */ = {isa = PBXBuildFile; fileRef = B6F7B536266FDA5B00624C6B /* MachineView.xib */; };
@@ -386,6 +410,7 @@
B6152B5525F4549F00605E6E /* Slot.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Slot.m; sourceTree = "<group>"; };
B6152B5825F5B4F100605E6E /* Media.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Media.h; sourceTree = "<group>"; };
B6152B5925F5B57E00605E6E /* Media.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Media.m; sourceTree = "<group>"; };
B618B8C32729F6690045C2D8 /* laser128o.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = laser128o.plist; sourceTree = "<group>"; };
B63005312666D6940014C381 /* BookmarkManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BookmarkManager.h; sourceTree = "<group>"; };
B63005322666D6940014C381 /* BookmarkManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BookmarkManager.m; sourceTree = "<group>"; };
B635C09926784A1200B23BFD /* Sparkle.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Sparkle.framework; path = embedded/Sparkle.framework; sourceTree = "<group>"; };
@@ -420,6 +445,7 @@
B63C1F0D25B1447C0016A611 /* CheatSheetWindowController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CheatSheetWindowController.h; sourceTree = "<group>"; };
B63C1F0E25B1447C0016A611 /* CheatSheetWindowController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CheatSheetWindowController.m; sourceTree = "<group>"; };
B63C1F1125B147E10016A611 /* CheatSheet.html */ = {isa = PBXFileReference; lastKnownFileType = text.html; path = CheatSheet.html; sourceTree = "<group>"; };
B63E57E12755AF1F00F8B5D1 /* ace500.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = ace500.plist; sourceTree = "<group>"; };
B646D10A263A5DF20014C586 /* ace1000.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = ace1000.plist; sourceTree = "<group>"; };
B64979C024EF6703008ABD20 /* MediaViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MediaViewController.h; sourceTree = "<group>"; };
B64979C124EF6703008ABD20 /* MediaViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MediaViewController.m; sourceTree = "<group>"; };
@@ -449,8 +475,12 @@
B6841BCA251EC88E006A5C39 /* vmnet_helper.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = vmnet_helper.c; sourceTree = "<group>"; };
B6841BD0251EC913006A5C39 /* vmnet_helper */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = vmnet_helper; sourceTree = BUILT_PRODUCTS_DIR; };
B6841BDD251ECC29006A5C39 /* vmnet.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = vmnet.framework; path = System/Library/Frameworks/vmnet.framework; sourceTree = SDKROOT; };
B68A898F26BE18E000B2C8C6 /* MidiManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MidiManager.m; sourceTree = "<group>"; };
B68A899226BE320200B2C8C6 /* MidiManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MidiManager.h; sourceTree = "<group>"; };
B68A899326BF124B00B2C8C6 /* CoreMIDI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMIDI.framework; path = System/Library/Frameworks/CoreMIDI.framework; sourceTree = SDKROOT; };
B6A1A1932528EB1700DB0FD7 /* Menu.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Menu.m; sourceTree = "<group>"; };
B6A1A1962528EB4600DB0FD7 /* Menu.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Menu.h; sourceTree = "<group>"; };
B6ABF47B275986EA00DC3D48 /* ace2200.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = ace2200.plist; sourceTree = "<group>"; };
B6B9EA642506A5550080E70D /* EjectButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = EjectButton.m; sourceTree = "<group>"; };
B6B9EA652506A5550080E70D /* EjectButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = EjectButton.h; sourceTree = "<group>"; };
B6BA257B24E99BE9005FB8FF /* Ample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Ample.app; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -488,6 +518,20 @@
B6DE32422605482500418375 /* mac512k.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = mac512k.plist; sourceTree = "<group>"; };
B6DE32432605482500418375 /* macse.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = macse.plist; sourceTree = "<group>"; };
B6E4B5FA24FDE2670094A35C /* Ample Lite.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Ample Lite.app"; sourceTree = BUILT_PRODUCTS_DIR; };
B6E6DCEA27AEE15F00E0A76E /* Ample.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Ample.xcdatamodel; sourceTree = "<group>"; };
B6E6DCF627B0873100E0A76E /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/BookmarkWindow.xib; sourceTree = "<group>"; };
B6E6DCF927B0A09300E0A76E /* BookmarkWindowController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BookmarkWindowController.h; sourceTree = "<group>"; };
B6E6DCFA27B0A09300E0A76E /* BookmarkWindowController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BookmarkWindowController.m; sourceTree = "<group>"; };
B6E6DCFD27B0D17C00E0A76E /* Bookmark+CoreDataProperties.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Bookmark+CoreDataProperties.h"; sourceTree = "<group>"; };
B6E6DCFE27B0D17C00E0A76E /* Bookmark+CoreDataClass.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Bookmark+CoreDataClass.h"; sourceTree = "<group>"; };
B6E6DCFF27B0D17C00E0A76E /* Bookmark+CoreDataClass.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "Bookmark+CoreDataClass.m"; sourceTree = "<group>"; };
B6E6DD0027B0D17C00E0A76E /* Bookmark+CoreDataProperties.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "Bookmark+CoreDataProperties.m"; sourceTree = "<group>"; };
B6E6DD0E27B161C400E0A76E /* Bookmark.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = Bookmark.h; path = Ample/Bookmark.h; sourceTree = SOURCE_ROOT; };
B6E6DD0F27B1D71700E0A76E /* DiskImage+CoreDataProperties.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "DiskImage+CoreDataProperties.h"; sourceTree = "<group>"; };
B6E6DD1027B1D71700E0A76E /* DiskImage+CoreDataClass.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "DiskImage+CoreDataClass.h"; sourceTree = "<group>"; };
B6E6DD1127B1D71700E0A76E /* DiskImage+CoreDataClass.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "DiskImage+CoreDataClass.m"; sourceTree = "<group>"; };
B6E6DD1227B1D71700E0A76E /* DiskImage+CoreDataProperties.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "DiskImage+CoreDataProperties.m"; sourceTree = "<group>"; };
B6E6DD1727B1DF5F00E0A76E /* DiskImage.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DiskImage.h; sourceTree = "<group>"; };
B6E9A17E25088B1B005E7525 /* SlotViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SlotViewController.h; sourceTree = "<group>"; };
B6E9A17F25088B1B005E7525 /* SlotViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SlotViewController.m; sourceTree = "<group>"; };
B6E9A18225088B36005E7525 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/SlotView.xib; sourceTree = "<group>"; };
@@ -518,6 +562,7 @@
files = (
B65D718625E70BD5008C5F87 /* WebKit.framework in Frameworks */,
B635C09D26784A4800B23BFD /* Sparkle.framework in Frameworks */,
B68A899426BF124B00B2C8C6 /* CoreMIDI.framework in Frameworks */,
B635C09A26784A1200B23BFD /* Sparkle.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -526,6 +571,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
B68A899526BF12A600B2C8C6 /* CoreMIDI.framework in Frameworks */,
B65D718725E70BE5008C5F87 /* WebKit.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -553,7 +599,9 @@
isa = PBXGroup;
children = (
B6109A0824F5F373005CB652 /* ace100.plist */,
B63E57E12755AF1F00F8B5D1 /* ace500.plist */,
B646D10A263A5DF20014C586 /* ace1000.plist */,
B6ABF47B275986EA00DC3D48 /* ace2200.plist */,
B6109A1624F5F376005CB652 /* agat7.plist */,
B6109A1224F5F375005CB652 /* agat9.plist */,
B6109A1124F5F375005CB652 /* albert.plist */,
@@ -592,6 +640,7 @@
B61099F724F5F36F005CB652 /* las128ex.plist */,
B61099F824F5F36F005CB652 /* laser2c.plist */,
B6109A1024F5F375005CB652 /* laser128.plist */,
B618B8C32729F6690045C2D8 /* laser128o.plist */,
B6109A0B24F5F373005CB652 /* maxxi.plist */,
B61099ED24F5F36E005CB652 /* microeng.plist */,
B61099F524F5F36F005CB652 /* models.plist */,
@@ -635,6 +684,7 @@
B66236B624FDA686006CABD7 /* Frameworks */ = {
isa = PBXGroup;
children = (
B68A899326BF124B00B2C8C6 /* CoreMIDI.framework */,
B635C09926784A1200B23BFD /* Sparkle.framework */,
B65D718525E70BD5008C5F87 /* WebKit.framework */,
B6841BDD251ECC29006A5C39 /* vmnet.framework */,
@@ -689,6 +739,7 @@
B6BA257D24E99BE9005FB8FF /* Ample */ = {
isa = PBXGroup;
children = (
B6E6DD0527B160D400E0A76E /* Core Data */,
B6665C12265A0E3E00254939 /* AutocompleteControl.h */,
B6665C13265A0E3E00254939 /* AutocompleteControl.m */,
B6BA257E24E99BE9005FB8FF /* AppDelegate.h */,
@@ -696,6 +747,8 @@
B63C1B8924FF4B7100511A71 /* Ample.h */,
B635C09E26784D4700B23BFD /* AmpleLite.m */,
B63C1B8A24FF4BF700511A71 /* Ample.m */,
B6E6DD0E27B161C400E0A76E /* Bookmark.h */,
B6E6DD1727B1DF5F00E0A76E /* DiskImage.h */,
B64AF1F4250ED5E400A09B9B /* TableCellView.h */,
B64AF1F5250ED5E400A09B9B /* TableCellView.m */,
B6152B5425F4549F00605E6E /* Slot.h */,
@@ -725,6 +778,8 @@
B6B9EA642506A5550080E70D /* EjectButton.m */,
B64AF1F8250EF6A500A09B9B /* Transformers.h */,
B64AF1F9250EF6A500A09B9B /* Transformers.m */,
B68A898F26BE18E000B2C8C6 /* MidiManager.m */,
B68A899226BE320200B2C8C6 /* MidiManager.h */,
B6BA258124E99BEB005FB8FF /* Assets.xcassets */,
B64E15AF24EA365E00E8AD3D /* Resources */,
B6BA258624E99BEB005FB8FF /* Info.plist */,
@@ -740,6 +795,8 @@
B6BA563A251685DA00B0C47D /* Window Controllers */ = {
isa = PBXGroup;
children = (
B6E6DCF927B0A09300E0A76E /* BookmarkWindowController.h */,
B6E6DCFA27B0A09300E0A76E /* BookmarkWindowController.m */,
B64AF1F0250ECB2E00A09B9B /* DiskImagesWindowController.h */,
B64AF1F1250ECB2E00A09B9B /* DiskImagesWindowController.m */,
B63C1B9125008A2700511A71 /* DownloadWindowController.h */,
@@ -760,6 +817,7 @@
isa = PBXGroup;
children = (
B6665C1A265C639900254939 /* Autocomplete.xib */,
B6E6DCF527B0873100E0A76E /* BookmarkWindow.xib */,
B6E9A18125088B36005E7525 /* SlotView.xib */,
B6F7B536266FDA5B00624C6B /* MachineView.xib */,
B63C1B9325008A2700511A71 /* DownloadWindow.xib */,
@@ -794,6 +852,22 @@
path = images;
sourceTree = "<group>";
};
B6E6DD0527B160D400E0A76E /* Core Data */ = {
isa = PBXGroup;
children = (
B6E6DCE927AEE15F00E0A76E /* Ample.xcdatamodeld */,
B6E6DCFE27B0D17C00E0A76E /* Bookmark+CoreDataClass.h */,
B6E6DCFF27B0D17C00E0A76E /* Bookmark+CoreDataClass.m */,
B6E6DCFD27B0D17C00E0A76E /* Bookmark+CoreDataProperties.h */,
B6E6DD0027B0D17C00E0A76E /* Bookmark+CoreDataProperties.m */,
B6E6DD1027B1D71700E0A76E /* DiskImage+CoreDataClass.h */,
B6E6DD1127B1D71700E0A76E /* DiskImage+CoreDataClass.m */,
B6E6DD0F27B1D71700E0A76E /* DiskImage+CoreDataProperties.h */,
B6E6DD1227B1D71700E0A76E /* DiskImage+CoreDataProperties.m */,
);
path = "Core Data";
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
@@ -940,8 +1014,10 @@
B6D6DE3924FAC8B500661A5F /* Preferences.xib in Resources */,
B63C1F0B25B143C50016A611 /* CheatSheet.xib in Resources */,
B6109A3324F5F377005CB652 /* apple2eeuk.plist in Resources */,
B6E6DCF727B0873200E0A76E /* BookmarkWindow.xib in Resources */,
B6374ADB260ECB400045CA16 /* maciix.plist in Resources */,
B6109A2424F5F377005CB652 /* las128ex.plist in Resources */,
B618B8C42729F6690045C2D8 /* laser128o.plist in Resources */,
B646D10B263A5DF30014C586 /* ace1000.plist in Resources */,
B63C1BA8250192E600511A71 /* zijini.plist in Resources */,
B6109A1D24F5F377005CB652 /* space84.plist in Resources */,
@@ -950,6 +1026,7 @@
B63C1B9D250192D800511A71 /* cece.plist in Resources */,
B6109A3124F5F377005CB652 /* apple1.plist in Resources */,
B6374AD3260ECB400045CA16 /* macii.plist in Resources */,
B63E57E22755AF2000F8B5D1 /* ace500.plist in Resources */,
B6109A3524F5F377005CB652 /* ace100.plist in Resources */,
B65085BB25B616AC00354EC9 /* maclc3.plist in Resources */,
B6109A3424F5F377005CB652 /* am64.plist in Resources */,
@@ -992,6 +1069,7 @@
B63C1B9F250192D800511A71 /* ceci.plist in Resources */,
B6109A3224F5F377005CB652 /* basis108.plist in Resources */,
B6109A4324F5F377005CB652 /* agat7.plist in Resources */,
B6ABF47C275986EB00DC3D48 /* ace2200.plist in Resources */,
B6DE324E2605482500418375 /* mac512k.plist in Resources */,
B6109A2B24F5F377005CB652 /* elppa.plist in Resources */,
B63C1B8E25004C6D00511A71 /* mame-data.tgz in Resources */,
@@ -1051,6 +1129,7 @@
B6665C1D265C639A00254939 /* Autocomplete.xib in Resources */,
B6E4B5C124FDE2670094A35C /* apple1.plist in Resources */,
B6E4B5C224FDE2670094A35C /* ace100.plist in Resources */,
B6E6DCF827B0873200E0A76E /* BookmarkWindow.xib in Resources */,
B6374AD6260ECB400045CA16 /* maciisi.plist in Resources */,
B6DE32472605482500418375 /* macclasc.plist in Resources */,
B6E4B5C324FDE2670094A35C /* am64.plist in Resources */,
@@ -1076,9 +1155,11 @@
B6DE324B2605482500418375 /* macsefd.plist in Resources */,
B6E4B5CF24FDE2670094A35C /* apple2eefr.plist in Resources */,
B6374AD8260ECB400045CA16 /* maciivi.plist in Resources */,
B63E57E32755AF2000F8B5D1 /* ace500.plist in Resources */,
B6E4B5D124FDE2670094A35C /* spectred.plist in Resources */,
B63C1B9725008A2700511A71 /* DownloadWindow.xib in Resources */,
B6E4B5D224FDE2670094A35C /* apple2cp.plist in Resources */,
B618B8C52729F6690045C2D8 /* laser128o.plist in Resources */,
B6E4B5D324FDE2670094A35C /* MainMenu.xib in Resources */,
B6E4B5D424FDE2670094A35C /* prav82.plist in Resources */,
B6E4B5D524FDE2670094A35C /* apple2euk.plist in Resources */,
@@ -1109,6 +1190,7 @@
B6F7B539266FDA5B00624C6B /* MachineView.xib in Resources */,
B63C1BA9250192E600511A71 /* zijini.plist in Resources */,
B6E4B5E524FDE2670094A35C /* craft2p.plist in Resources */,
B6ABF47D275986EB00DC3D48 /* ace2200.plist in Resources */,
B6E4B5E624FDE2670094A35C /* uniap2pt.plist in Resources */,
B6E4B5E724FDE2670094A35C /* las128e2.plist in Resources */,
B63C1B9E250192D800511A71 /* cece.plist in Resources */,
@@ -1195,9 +1277,13 @@
files = (
B608E17F2502FE0C00D53465 /* TransparentScroller.m in Sources */,
B6E9A18025088B1B005E7525 /* SlotViewController.m in Sources */,
B6E6DD1527B1D71700E0A76E /* DiskImage+CoreDataProperties.m in Sources */,
B6A1A1942528EB1700DB0FD7 /* Menu.m in Sources */,
B6E6DD1327B1D71700E0A76E /* DiskImage+CoreDataClass.m in Sources */,
B6E6DD0127B0D17C00E0A76E /* Bookmark+CoreDataClass.m in Sources */,
B6BA258824E99BEB005FB8FF /* main.m in Sources */,
B63C1B8B24FF4BF700511A71 /* Ample.m in Sources */,
B6E6DCFB27B0A09300E0A76E /* BookmarkWindowController.m in Sources */,
B6B9EA662506A5550080E70D /* EjectButton.m in Sources */,
B6152B5A25F5B57E00605E6E /* Media.m in Sources */,
B6152B5625F4549F00605E6E /* Slot.m in Sources */,
@@ -1205,8 +1291,10 @@
B6665C14265A0E3E00254939 /* AutocompleteControl.m in Sources */,
B64979C224EF6703008ABD20 /* MediaViewController.m in Sources */,
B60A6E1424EE0AE2004B7EEF /* FlippedView.m in Sources */,
B68A899026BE18E000B2C8C6 /* MidiManager.m in Sources */,
B6BA258024E99BE9005FB8FF /* AppDelegate.m in Sources */,
B6004DF024FB05D600D38596 /* LogWindowController.m in Sources */,
B6E6DD0327B0D17C00E0A76E /* Bookmark+CoreDataProperties.m in Sources */,
B63005332666D6940014C381 /* BookmarkManager.m in Sources */,
B66236A924FD9A34006CABD7 /* PreferencesWindowController.m in Sources */,
B63C1F0F25B1447C0016A611 /* CheatSheetWindowController.m in Sources */,
@@ -1214,6 +1302,7 @@
B6F7B53C267017A200624C6B /* NewMachineViewController.m in Sources */,
B64AF1F6250ED5E400A09B9B /* TableCellView.m in Sources */,
B66D0FE72611386C000902F1 /* SoftwareList.m in Sources */,
B6E6DCEB27AEE15F00E0A76E /* Ample.xcdatamodeld in Sources */,
B63C1B9425008A2700511A71 /* DownloadWindowController.m in Sources */,
B64AF1FA250EF6A500A09B9B /* Transformers.m in Sources */,
);
@@ -1223,20 +1312,27 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
B68A899126BE18E000B2C8C6 /* MidiManager.m in Sources */,
B608E1802502FE0C00D53465 /* TransparentScroller.m in Sources */,
B64AF1FB250EF6A500A09B9B /* Transformers.m in Sources */,
B6E4B5B024FDE2670094A35C /* main.m in Sources */,
B63C1F1025B1447C0016A611 /* CheatSheetWindowController.m in Sources */,
B6E6DD1427B1D71700E0A76E /* DiskImage+CoreDataClass.m in Sources */,
B63C1B8C24FF4BF700511A71 /* Ample.m in Sources */,
B64AF1F3250ECB2E00A09B9B /* DiskImagesWindowController.m in Sources */,
B6E6DCEC27AEE15F00E0A76E /* Ample.xcdatamodeld in Sources */,
B6B9EA672506A5550080E70D /* EjectButton.m in Sources */,
B6A1A1952528EB1700DB0FD7 /* Menu.m in Sources */,
B6152B5B25F5B57E00605E6E /* Media.m in Sources */,
B6E4B5B124FDE2670094A35C /* LaunchWindowController.m in Sources */,
B6152B5725F4549F00605E6E /* Slot.m in Sources */,
B6E4B5B324FDE2670094A35C /* MediaViewController.m in Sources */,
B6E6DCFC27B0A09300E0A76E /* BookmarkWindowController.m in Sources */,
B6E6DD1627B1D71700E0A76E /* DiskImage+CoreDataProperties.m in Sources */,
B64AF1F7250ED5E400A09B9B /* TableCellView.m in Sources */,
B6E4B5B424FDE2670094A35C /* FlippedView.m in Sources */,
B6E6DD0227B0D17C00E0A76E /* Bookmark+CoreDataClass.m in Sources */,
B6E6DD0427B0D17C00E0A76E /* Bookmark+CoreDataProperties.m in Sources */,
B63005342666D6940014C381 /* BookmarkManager.m in Sources */,
B615A9A026640A70001FBF99 /* SlotViewController.m in Sources */,
B6665C15265A0E3E00254939 /* AutocompleteControl.m in Sources */,
@@ -1317,6 +1413,14 @@
name = LaunchWindow.xib;
sourceTree = "<group>";
};
B6E6DCF527B0873100E0A76E /* BookmarkWindow.xib */ = {
isa = PBXVariantGroup;
children = (
B6E6DCF627B0873100E0A76E /* Base */,
);
name = BookmarkWindow.xib;
sourceTree = "<group>";
};
B6E9A18125088B36005E7525 /* SlotView.xib */ = {
isa = PBXVariantGroup;
children = (
@@ -1498,7 +1602,7 @@
CODE_SIGN_ENTITLEMENTS = Ample/Ample.entitlements;
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 16;
CURRENT_PROJECT_VERSION = 28;
ENABLE_HARDENED_RUNTIME = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
@@ -1509,7 +1613,7 @@
"$(inherited)",
"@executable_path/../Frameworks",
);
MARKETING_VERSION = 0.233;
MARKETING_VERSION = 0.242;
PRODUCT_BUNDLE_IDENTIFIER = com.ksherlock.ample;
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -1522,7 +1626,7 @@
CODE_SIGN_ENTITLEMENTS = Ample/Ample.entitlements;
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 16;
CURRENT_PROJECT_VERSION = 28;
ENABLE_HARDENED_RUNTIME = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
@@ -1533,7 +1637,7 @@
"$(inherited)",
"@executable_path/../Frameworks",
);
MARKETING_VERSION = 0.233;
MARKETING_VERSION = 0.242;
PRODUCT_BUNDLE_IDENTIFIER = com.ksherlock.ample;
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -1624,6 +1728,19 @@
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
/* Begin XCVersionGroup section */
B6E6DCE927AEE15F00E0A76E /* Ample.xcdatamodeld */ = {
isa = XCVersionGroup;
children = (
B6E6DCEA27AEE15F00E0A76E /* Ample.xcdatamodel */,
);
currentVersion = B6E6DCEA27AEE15F00E0A76E /* Ample.xcdatamodel */;
path = Ample.xcdatamodeld;
sourceTree = "<group>";
versionGroupType = wrapper.xcdatamodel;
};
/* End XCVersionGroup section */
};
rootObject = B6BA257324E99BE9005FB8FF /* Project object */;
}
+3
View File
@@ -40,6 +40,9 @@ extern NSString *kDownloadExtension;
extern NSString *kDefaultDownloadURL;
extern NSString *kDefaultDownloadExtension;
extern NSString *kNotificationDiskImageAdded;
extern NSString *kNotificationDiskImageMagicRoute;
extern NSString *kNotificationBookmarkMagicRoute;
@protocol Bookmark <NSObject>
-(BOOL)loadBookmark: (NSDictionary *)bookmark;
+5 -1
View File
@@ -42,7 +42,7 @@ NSURL *MameURL(void) {
if ([defaults boolForKey: kUseCustomMame]) {
NSString *path = [defaults stringForKey: kMamePath];
if (![path length]) return [NSURL fileURLWithPath: path];
if ([path length]) return [NSURL fileURLWithPath: path];
}
return [bundle URLForAuxiliaryExecutable: @"mame64"];
@@ -135,3 +135,7 @@ NSString *kDefaultDownloadExtension = @"DefaultDownloadExtension";
NSString *kDownloadURL = @"DownloadURL";
NSString *kDownloadExtension = @"DownloadExtension";
NSString *kNotificationDiskImageAdded = @"Disk Image Added";
NSString *kNotificationDiskImageMagicRoute = @"Disk Image Magic Route";
NSString *kNotificationBookmarkMagicRoute = @"Bookmark Magic Route";
+1 -1
View File
@@ -11,6 +11,6 @@
@interface AppDelegate : NSObject <NSApplicationDelegate>
- (IBAction)displayPreferences:(id)sender;
- (IBAction)manageBookmarks: (id)sender;
@end
+16 -6
View File
@@ -12,6 +12,8 @@
#import "DownloadWindowController.h"
#import "DiskImagesWindowController.h"
#import "CheatSheetWindowController.h"
#import "BookmarkWindowController.h"
#import "Transformers.h"
#import "BookmarkManager.h"
@@ -28,6 +30,8 @@
NSWindowController *_downloader;
NSWindowController *_diskImages;
NSWindowController *_cheatSheet;
NSWindowController *_bookmarks;
}
@@ -41,9 +45,7 @@
RegisterTransformers();
BookmarkManager *bm = [BookmarkManager sharedManager];
[bm loadBookmarks];
[bm updateMenu];
//BookmarkManager *bm = [BookmarkManager sharedManager];
path = [bundle pathForResource: @"Defaults" ofType: @"plist"];
dict = [NSDictionary dictionaryWithContentsOfFile: path];
@@ -53,17 +55,17 @@
[[NSUserDefaults standardUserDefaults] registerDefaults: dict];
}
_diskImages = [DiskImagesWindowController sharedInstance]; //[DiskImagesWindowController new];
if ([self installMameComponents]) {
[self displayLaunchWindow];
}
}
-(void)displayLaunchWindow {
if (!_launcher) {
@@ -146,6 +148,7 @@
- (void)applicationWillTerminate:(NSNotification *)aNotification {
// Insert code here to tear down your application
}
- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)sender {
@@ -226,6 +229,13 @@
}
- (IBAction)manageBookmarks: (id)sender {
if (!_bookmarks) {
_bookmarks = [BookmarkWindowController new];
}
[_bookmarks showWindow: sender];
}
@end
+2 -2
View File
@@ -11,7 +11,7 @@
/*
Todo --
- when there is a value, can filter the list by only including header items and the selected value
- draw inactive menu items
@@ -21,7 +21,7 @@ Todo --
- 1. it's not moved someplace more appropriate when the size shrinks
- 2. it should display to the left or right in that case.
- need to know parent's frame.
- fuzzy search - minimum distance between letters?
*/
+223
View File
@@ -0,0 +1,223 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="19529" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<dependencies>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="19529"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="BookmarkWindowController">
<connections>
<outlet property="arrayController" destination="7gA-MI-adT" id="XJ0-qj-ho5"/>
<outlet property="bookmarkManager" destination="Ryd-Nr-sPf" id="LM4-IP-ehb"/>
<outlet property="tableView" destination="mkQ-pQ-kXu" id="jqC-GF-vrE"/>
<outlet property="window" destination="QvC-M9-y7g" id="ovK-qY-XrZ"/>
</connections>
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<window title="Bookmarks" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="QvC-M9-y7g">
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES"/>
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
<rect key="contentRect" x="196" y="240" width="400" height="450"/>
<rect key="screenRect" x="0.0" y="0.0" width="1920" height="1055"/>
<view key="contentView" wantsLayer="YES" id="EiT-Mj-1SZ">
<rect key="frame" x="0.0" y="0.0" width="400" height="450"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<scrollView fixedFrame="YES" autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cgh-jG-i97">
<rect key="frame" x="-1" y="-1" width="402" height="452"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<clipView key="contentView" id="xDr-v4-sVR">
<rect key="frame" x="1" y="1" width="400" height="450"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="firstColumnOnly" columnReordering="NO" columnSelection="YES" columnResizing="NO" multipleSelection="NO" autosaveColumns="NO" rowSizeStyle="automatic" headerView="hmS-CB-Huq" viewBased="YES" id="mkQ-pQ-kXu">
<rect key="frame" x="0.0" y="0.0" width="400" height="425"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
<tableColumns>
<tableColumn width="232" minWidth="40" maxWidth="1000" id="U9x-dw-Kd3">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Name">
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
</tableHeaderCell>
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" title="Text Cell" id="jIY-mU-1gw">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<sortDescriptor key="sortDescriptorPrototype" selector="caseInsensitiveCompare:" sortKey="name"/>
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView id="R8h-Wj-cHA">
<rect key="frame" x="1" y="1" width="237" height="17"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="cIh-ya-lB0">
<rect key="frame" x="0.0" y="0.0" width="237" height="17"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" title="Table View Cell" id="a7b-vf-Kzd">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<connections>
<binding destination="R8h-Wj-cHA" name="value" keyPath="objectValue.name" id="UWc-85-Ghw">
<dictionary key="options">
<bool key="NSValidatesImmediately" value="YES"/>
</dictionary>
</binding>
</connections>
</textField>
</subviews>
<connections>
<outlet property="textField" destination="cIh-ya-lB0" id="DMK-Kc-RpK"/>
</connections>
</tableCellView>
</prototypeCellViews>
</tableColumn>
<tableColumn editable="NO" width="100" minWidth="100" maxWidth="100" id="fvh-YG-X9R">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Machine">
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</tableHeaderCell>
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="waa-dh-M0V">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<sortDescriptor key="sortDescriptorPrototype" selector="compare:" sortKey="machine"/>
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView id="LUd-BZ-Kpw">
<rect key="frame" x="241" y="1" width="100" height="17"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="4Qd-Zj-XZi">
<rect key="frame" x="0.0" y="0.0" width="100" height="17"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="ztJ-V1-N1t">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<connections>
<binding destination="LUd-BZ-Kpw" name="value" keyPath="objectValue.machine" id="IYK-LP-fHo"/>
</connections>
</textField>
</subviews>
<connections>
<outlet property="textField" destination="4Qd-Zj-XZi" id="u3u-3q-Vc2"/>
</connections>
</tableCellView>
</prototypeCellViews>
</tableColumn>
<tableColumn editable="NO" width="50" minWidth="50" maxWidth="50" id="rmr-1r-2Cb">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="Default">
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</tableHeaderCell>
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="zuw-8H-5ck">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<sortDescriptor key="sortDescriptorPrototype" selector="compare:" sortKey="automatic"/>
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView id="f3C-qX-bVY">
<rect key="frame" x="344" y="1" width="54" height="17"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="LzD-ps-EdD">
<rect key="frame" x="19" y="1" width="16" height="16"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="NSStatusAvailable" id="kH7-IH-D1y"/>
<connections>
<binding destination="f3C-qX-bVY" name="hidden" keyPath="objectValue.automatic" id="izX-1f-EU8">
<dictionary key="options">
<string key="NSValueTransformerName">NSNegateBoolean</string>
</dictionary>
</binding>
</connections>
</imageView>
</subviews>
<connections>
<outlet property="imageView" destination="LzD-ps-EdD" id="hef-CI-Ly8"/>
</connections>
</tableCellView>
</prototypeCellViews>
</tableColumn>
</tableColumns>
<connections>
<action trigger="doubleAction" selector="doubleClick:" target="-2" id="VaT-3X-cCf"/>
<binding destination="7gA-MI-adT" name="content" keyPath="arrangedObjects" id="5So-FR-r94"/>
<outlet property="dataSource" destination="-2" id="kso-yU-XdI"/>
<outlet property="delegate" destination="-2" id="Lyf-Wr-8w0"/>
<outlet property="menu" destination="cH2-L7-ScC" id="3MS-Tc-P04"/>
</connections>
</tableView>
</subviews>
</clipView>
<scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="O1o-6N-F5z">
<rect key="frame" x="-100" y="-100" width="223" height="15"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="3n8-lN-RGL">
<rect key="frame" x="224" y="17" width="15" height="102"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<tableHeaderView key="headerView" wantsLayer="YES" id="hmS-CB-Huq">
<rect key="frame" x="0.0" y="0.0" width="400" height="25"/>
<autoresizingMask key="autoresizingMask"/>
</tableHeaderView>
</scrollView>
</subviews>
</view>
<connections>
<outlet property="delegate" destination="-2" id="4OM-KB-CAh"/>
</connections>
<point key="canvasLocation" x="-72" y="91"/>
</window>
<arrayController mode="entity" entityName="Bookmark" automaticallyPreparesContent="YES" preservesSelection="NO" selectsInsertedObjects="NO" avoidsEmptySelection="NO" clearsFilterPredicateOnInsertion="NO" id="7gA-MI-adT">
<connections>
<binding destination="Ryd-Nr-sPf" name="managedObjectContext" keyPath="managedObjectContext" id="hMi-JG-LQC"/>
<binding destination="-2" name="selectionIndexes" keyPath="tableView.selectedRowIndexes" id="dyb-Wv-Duo"/>
<binding destination="-2" name="sortDescriptors" keyPath="tableView.sortDescriptors" previousBinding="dyb-Wv-Duo" id="fkc-Yv-ZLN"/>
</connections>
</arrayController>
<customObject id="Ryd-Nr-sPf" customClass="BookmarkManagerProxy"/>
<menu id="cH2-L7-ScC">
<items>
<menuItem title="Set Default" id="JGR-HC-oCO">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="setDefault:" target="-2" id="QQK-aI-l2p"/>
</connections>
</menuItem>
<menuItem title="Clear Default" id="ulz-3z-Pgl">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="clearDefault:" target="-2" id="mIc-UM-kj0"/>
</connections>
</menuItem>
<menuItem title="Delete" id="B7V-fY-Cbe">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="deleteBookmark:" target="-2" id="zQl-vg-Eg4"/>
</connections>
</menuItem>
</items>
<connections>
<outlet property="delegate" destination="-2" id="raV-YO-2UW"/>
</connections>
<point key="canvasLocation" x="355" y="-28"/>
</menu>
</objects>
<resources>
<image name="NSStatusAvailable" width="16" height="16"/>
</resources>
</document>
+1 -1
View File
@@ -51,6 +51,6 @@ Icon}}
\f1\b0\fs28 \cf0 \
\pard\pardeftab720\qj\partightenfactor0
\cf4 R.C. Steadman, 6-1-\'9221.\
\cf4 R.C. Steadman, 1921-06-01.\
\
U.S. Department of Agriculture Pomological Watercolor Collection. Rare and Special Collections, National Agricultural Library, Beltsville, MD 20705}
+162 -122
View File
@@ -1,138 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="15705" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="19529" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<dependencies>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="15705"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="19529"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="DiskImagesWindowController">
<connections>
<outlet property="arrayController" destination="vmp-9h-Z5R" id="WYF-Xq-BnN"/>
<outlet property="tableView" destination="J5l-1d-030" id="3hU-ho-1ag"/>
<outlet property="window" destination="R7r-B9-Bw0" id="hDE-Qa-m4g"/>
<outlet property="arrayController" destination="YmL-8S-msS" id="Pva-sz-XFI"/>
<outlet property="tableView" destination="cqO-ig-A9t" id="hbI-ho-WYj"/>
<outlet property="window" destination="AtY-lA-KIp" id="aaq-cR-kq8"/>
</connections>
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<window title="Recent Disk Images" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" frameAutosaveName="RecentDiskImagesWindow" animationBehavior="default" titlebarAppearsTransparent="YES" id="R7r-B9-Bw0" customClass="NSPanel">
<windowStyleMask key="styleMask" titled="YES" closable="YES"/>
<windowPositionMask key="initialPositionMask" rightStrut="YES"/>
<rect key="contentRect" x="200" y="172" width="300" height="400"/>
<rect key="screenRect" x="0.0" y="0.0" width="2560" height="1417"/>
<view key="contentView" focusRingType="none" id="Kkg-Tp-4m1">
<rect key="frame" x="0.0" y="0.0" width="300" height="400"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<scrollView focusRingType="none" fixedFrame="YES" borderType="none" autohidesScrollers="YES" horizontalLineScroll="24" horizontalPageScroll="10" verticalLineScroll="24" verticalPageScroll="10" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" findBarPosition="belowContent" translatesAutoresizingMaskIntoConstraints="NO" id="ivr-XT-BPS">
<rect key="frame" x="-1" y="-1" width="302" height="402"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<clipView key="contentView" ambiguous="YES" drawsBackground="NO" copiesOnScroll="NO" id="1jn-uc-06s">
<rect key="frame" x="0.0" y="0.0" width="302" height="402"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView focusRingType="none" verticalHuggingPriority="750" ambiguous="YES" allowsExpansionToolTips="YES" columnAutoresizingStyle="none" columnReordering="NO" columnResizing="NO" multipleSelection="NO" emptySelection="NO" autosaveColumns="NO" typeSelect="NO" rowHeight="22" rowSizeStyle="automatic" viewBased="YES" id="J5l-1d-030">
<rect key="frame" x="0.0" y="0.0" width="302" height="402"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" white="1" alpha="0.0" colorSpace="custom" customColorSpace="calibratedWhite"/>
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
<tableColumns>
<tableColumn width="282" minWidth="40" maxWidth="1000" id="1rF-M3-pYV">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
</tableHeaderCell>
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" title="Text Cell" id="erY-fh-OHK">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView id="AJH-gH-E8G">
<rect key="frame" x="1" y="1" width="282" height="22"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" textCompletion="NO" translatesAutoresizingMaskIntoConstraints="NO" id="esO-OR-AcY">
<rect key="frame" x="6" y="5" width="196" height="17"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" lineBreakMode="truncatingMiddle" sendsActionOnEndEditing="YES" title="Image Name.2mg" id="xgc-u7-sFX">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<connections>
<binding destination="AJH-gH-E8G" name="value" keyPath="objectValue.path" id="S0h-hl-OPM">
<dictionary key="options">
<string key="NSValueTransformerName">FilePathTransformer</string>
</dictionary>
</binding>
<binding destination="AJH-gH-E8G" name="toolTip" keyPath="objectValue.path" id="gXq-2p-MpM"/>
</connections>
</textField>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" textCompletion="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Wzl-mV-Pmp">
<rect key="frame" x="206" y="3" width="75" height="17"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" lineBreakMode="truncatingMiddle" sendsActionOnEndEditing="YES" alignment="right" title="32MB" id="QYB-us-igD">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<connections>
<binding destination="AJH-gH-E8G" name="value" keyPath="objectValue.size" id="omG-8X-flx">
<dictionary key="options">
<string key="NSValueTransformerName">FileSizeTransformer</string>
</dictionary>
</binding>
</connections>
</textField>
</subviews>
<connections>
<outlet property="textField" destination="esO-OR-AcY" id="9mX-Yt-vpg"/>
</connections>
</tableCellView>
</prototypeCellViews>
<connections>
<binding destination="vmp-9h-Z5R" name="value" keyPath="arrangedObjects.selection" id="32X-Ez-K7S"/>
</connections>
</tableColumn>
</tableColumns>
<connections>
<binding destination="vmp-9h-Z5R" name="content" keyPath="arrangedObjects" id="GHn-tz-ash"/>
<outlet property="dataSource" destination="-2" id="PRV-Rt-UuC"/>
<outlet property="delegate" destination="-2" id="WuV-c9-o5I"/>
<outlet property="menu" destination="bCS-1z-UOZ" id="UCb-2v-WrM"/>
</connections>
</tableView>
</subviews>
<color key="backgroundColor" name="windowBackgroundColor" catalog="System" colorSpace="catalog"/>
</clipView>
<scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="ynD-Kb-eb3">
<rect key="frame" x="-100" y="-100" width="223" height="15"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="Dbq-yF-MKx" customClass="TransparentScroller">
<rect key="frame" x="224" y="17" width="15" height="102"/>
<autoresizingMask key="autoresizingMask"/>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="color" keyPath="backgroundColor">
<color key="value" name="windowBackgroundColor" catalog="System" colorSpace="catalog"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
</scroller>
</scrollView>
</subviews>
</view>
<customObject id="stE-9g-lJ2" customClass="BookmarkManagerProxy"/>
<arrayController mode="entity" entityName="DiskImage" automaticallyPreparesContent="YES" avoidsEmptySelection="NO" automaticallyRearrangesObjects="YES" id="YmL-8S-msS">
<connections>
<outlet property="delegate" destination="-2" id="1Hn-2t-Vzj"/>
</connections>
<point key="canvasLocation" x="-188" y="143"/>
</window>
<arrayController id="vmp-9h-Z5R">
<connections>
<binding destination="-2" name="contentArray" keyPath="self.content" id="UTv-za-ry7"/>
<binding destination="stE-9g-lJ2" name="managedObjectContext" keyPath="managedObjectContext" id="GyD-kH-DBa"/>
</connections>
</arrayController>
<menu id="bCS-1z-UOZ">
@@ -155,5 +41,159 @@
</connections>
<point key="canvasLocation" x="-667" y="170"/>
</menu>
<window title="Recent Disk Images" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" frameAutosaveName="RecentDiskImagesWindow" animationBehavior="default" id="AtY-lA-KIp">
<windowStyleMask key="styleMask" titled="YES" closable="YES"/>
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
<rect key="contentRect" x="283" y="305" width="408" height="270"/>
<rect key="screenRect" x="0.0" y="0.0" width="1920" height="1055"/>
<view key="contentView" id="zHI-2R-bOe">
<rect key="frame" x="0.0" y="0.0" width="408" height="270"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<scrollView fixedFrame="YES" autohidesScrollers="YES" horizontalLineScroll="19" horizontalPageScroll="10" verticalLineScroll="19" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="a3G-Wf-K8I">
<rect key="frame" x="-1" y="-1" width="410" height="272"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<clipView key="contentView" id="SFr-s6-6di">
<rect key="frame" x="1" y="1" width="408" height="270"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" columnSelection="YES" multipleSelection="NO" autosaveColumns="NO" rowSizeStyle="automatic" headerView="iwP-JL-O3g" viewBased="YES" id="cqO-ig-A9t">
<rect key="frame" x="0.0" y="0.0" width="408" height="245"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
<tableColumns>
<tableColumn width="300" minWidth="40" maxWidth="1000" id="k9E-Si-iTY">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Name">
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
</tableHeaderCell>
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" title="Text Cell" id="trJ-af-d0b">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<sortDescriptor key="sortDescriptorPrototype" selector="caseInsensitiveCompare:" sortKey="name"/>
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView id="2Ic-UI-Je3">
<rect key="frame" x="1" y="1" width="305" height="17"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="gkM-KB-x76">
<rect key="frame" x="0.0" y="0.0" width="305" height="17"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="PitchDark.2mg" id="Wcg-zo-CeN">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<connections>
<binding destination="2Ic-UI-Je3" name="value" keyPath="objectValue.name" id="FAu-HR-0jF"/>
<binding destination="2Ic-UI-Je3" name="toolTip" keyPath="objectValue.path" id="0MM-sv-mET"/>
</connections>
</textField>
</subviews>
<connections>
<outlet property="textField" destination="gkM-KB-x76" id="tpG-TS-sXI"/>
</connections>
</tableCellView>
</prototypeCellViews>
</tableColumn>
<tableColumn width="93" minWidth="40" maxWidth="1000" id="0aJ-xJ-YSS">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" title="Size">
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="headerColor" catalog="System" colorSpace="catalog"/>
</tableHeaderCell>
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" title="Text Cell" id="jRd-9Y-U6W">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<sortDescriptor key="sortDescriptorPrototype" selector="compare:" sortKey="size"/>
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
<prototypeCellViews>
<tableCellView id="UW9-AF-U9F">
<rect key="frame" x="309" y="1" width="97" height="17"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="6Ry-Zn-euh">
<rect key="frame" x="0.0" y="0.0" width="97" height="17"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="32 MB" id="fXp-OZ-Qcu">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<connections>
<binding destination="UW9-AF-U9F" name="value" keyPath="objectValue.size" id="Hca-7L-QN7">
<dictionary key="options">
<string key="NSValueTransformerName">FileSizeTransformer</string>
</dictionary>
</binding>
</connections>
</textField>
</subviews>
<connections>
<outlet property="textField" destination="6Ry-Zn-euh" id="vUm-0h-5qV"/>
</connections>
</tableCellView>
</prototypeCellViews>
</tableColumn>
</tableColumns>
<connections>
<action trigger="doubleAction" selector="doubleClick:" target="-2" id="wdp-Ek-Olo"/>
<binding destination="YmL-8S-msS" name="content" keyPath="arrangedObjects" id="v56-YR-Qve"/>
<binding destination="YmL-8S-msS" name="sortDescriptors" keyPath="sortDescriptors" previousBinding="v56-YR-Qve" id="BGa-9c-RdD"/>
<outlet property="dataSource" destination="-2" id="gCn-sa-fuX"/>
<outlet property="delegate" destination="-2" id="VHT-aS-4iS"/>
<outlet property="menu" destination="bCS-1z-UOZ" id="a2u-hd-hPS"/>
</connections>
</tableView>
</subviews>
</clipView>
<scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="Z7O-AK-X5q">
<rect key="frame" x="1" y="119" width="223" height="15"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="NO" id="OLa-ra-vIN">
<rect key="frame" x="224" y="17" width="15" height="102"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<tableHeaderView key="headerView" id="iwP-JL-O3g">
<rect key="frame" x="0.0" y="0.0" width="408" height="25"/>
<autoresizingMask key="autoresizingMask"/>
</tableHeaderView>
</scrollView>
</subviews>
</view>
<toolbar key="toolbar" implicitIdentifier="D9701924-6955-47B8-A2FF-DBD466AAEB92" autosavesConfiguration="NO" allowsUserCustomization="NO" displayMode="iconOnly" sizeMode="regular" id="Gp6-Kl-lr2">
<allowedToolbarItems>
<toolbarItem implicitItemIdentifier="NSToolbarFlexibleSpaceItem" id="lBE-ee-rCy"/>
<toolbarItem implicitItemIdentifier="C346E56F-4480-4D8A-8485-33A3A51D7B78" label="" paletteLabel="Filter" sizingBehavior="auto" id="DsU-uu-UmZ">
<nil key="toolTip"/>
<searchField key="view" wantsLayer="YES" verticalHuggingPriority="750" textCompletion="NO" id="qHV-IA-ysc">
<rect key="frame" x="0.0" y="14" width="96" height="22"/>
<autoresizingMask key="autoresizingMask"/>
<searchFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" continuous="YES" borderStyle="bezel" placeholderString="Filter" usesSingleLineMode="YES" bezelStyle="round" id="BWo-eC-ahz">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</searchFieldCell>
<connections>
<action selector="filter:" target="-2" id="KhW-DS-b8s"/>
</connections>
</searchField>
</toolbarItem>
</allowedToolbarItems>
<defaultToolbarItems>
<toolbarItem reference="lBE-ee-rCy"/>
<toolbarItem reference="lBE-ee-rCy"/>
<toolbarItem reference="DsU-uu-UmZ"/>
</defaultToolbarItems>
</toolbar>
<point key="canvasLocation" x="-196" y="513"/>
</window>
</objects>
</document>
+20 -13
View File
@@ -61,7 +61,7 @@
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="A44-us-TEl">
<rect key="frame" x="25" y="28" width="425" height="17"/>
<rect key="frame" x="41" y="28" width="409" height="17"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="NSU-6I-nsG">
<font key="font" metaFont="system"/>
@@ -78,21 +78,11 @@
</dictionary>
</binding>
<binding destination="onK-6l-2iV" name="textColor" keyPath="objectValue.titleColor" id="0Qx-rz-DEZ"/>
<binding destination="onK-6l-2iV" name="toolTip" keyPath="objectValue.value" id="rUb-Jb-KbT"/>
</connections>
</textField>
<progressIndicator wantsLayer="YES" fixedFrame="YES" maxValue="100" displayedWhenStopped="NO" indeterminate="YES" controlSize="small" style="spinning" translatesAutoresizingMaskIntoConstraints="NO" id="jBN-UJ-tWi">
<rect key="frame" x="3" y="29" width="16" height="16"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<connections>
<binding destination="onK-6l-2iV" name="animate" keyPath="objectValue.task" id="d22-JL-3Z7">
<dictionary key="options">
<string key="NSValueTransformerName">NSIsNotNil</string>
</dictionary>
</binding>
</connections>
</progressIndicator>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="hfu-hP-QAH">
<rect key="frame" x="25" y="3" width="425" height="17"/>
<rect key="frame" x="41" y="3" width="409" height="17"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="1cQ-Zh-q0o">
<font key="font" metaFont="system" size="10"/>
@@ -104,6 +94,17 @@
<binding destination="onK-6l-2iV" name="value" keyPath="objectValue.statusDescription" id="yV1-5r-YDh"/>
</connections>
</textField>
<progressIndicator wantsLayer="YES" fixedFrame="YES" maxValue="100" displayedWhenStopped="NO" indeterminate="YES" style="spinning" translatesAutoresizingMaskIntoConstraints="NO" id="jBN-UJ-tWi">
<rect key="frame" x="3" y="9" width="32" height="32"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
<connections>
<binding destination="onK-6l-2iV" name="animate" keyPath="objectValue.task" id="d22-JL-3Z7">
<dictionary key="options">
<string key="NSValueTransformerName">NSIsNotNil</string>
</dictionary>
</binding>
</connections>
</progressIndicator>
</subviews>
<connections>
<outlet property="textField" destination="A44-us-TEl" id="ude-er-Gm4"/>
@@ -297,6 +298,12 @@
<action selector="showInFinder:" target="-2" id="ltL-yL-7EP"/>
</connections>
</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">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
+36 -4
View File
@@ -9,6 +9,7 @@
<customObject id="-2" userLabel="File's Owner" customClass="LaunchWindowController">
<connections>
<outlet property="addBookmarkWindow" destination="yIt-hP-HBq" id="Qhx-WV-cg4"/>
<outlet property="bookmarkErrorField" destination="RiJ-Xw-sgW" id="6y5-Fo-AnM"/>
<outlet property="bookmarkTextField" destination="fAl-Vn-x1w" id="GNr-j6-BiQ"/>
<outlet property="machineView" destination="oVt-eD-aaj" id="Q9V-Kr-6GN"/>
<outlet property="machineViewController" destination="FSD-3v-Wni" id="tXv-zJ-QO3"/>
@@ -31,7 +32,7 @@
<autoresizingMask key="autoresizingMask"/>
<subviews>
<customView id="P9d-sS-qEb" customClass="FlippedView">
<rect key="frame" x="302" y="105" width="316" height="363"/>
<rect key="frame" x="302" y="105" width="326" height="363"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/>
</customView>
<tabView initialItem="zUN-Qs-haG" id="l8R-bg-6Zm">
@@ -237,6 +238,17 @@
<binding destination="-2" name="selectedTag" keyPath="self.mameSpeed" id="nFG-yA-KC1"/>
</connections>
</popUpButton>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="knB-Rn-1Cm">
<rect key="frame" x="15" y="40" width="67" height="18"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="check" title="Rewind" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="Y7b-jN-HCc">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<binding destination="-2" name="value" keyPath="self.mameRewind" id="Hw5-n7-O27"/>
</connections>
</button>
</subviews>
</view>
</tabViewItem>
@@ -386,7 +398,7 @@
</connections>
</tabView>
<customView fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="J9O-xI-P5J" customClass="FlippedView">
<rect key="frame" x="664" y="107" width="316" height="331"/>
<rect key="frame" x="654" y="107" width="326" height="331"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/>
</customView>
<scrollView borderType="none" autohidesScrollers="YES" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" hasHorizontalScroller="NO" horizontalScrollElasticity="none" id="2ue-XT-byh">
@@ -424,7 +436,7 @@
</scroller>
</scrollView>
<searchField wantsLayer="YES" verticalHuggingPriority="750" textCompletion="NO" id="pNl-g4-ZLh" customClass="AutocompleteControl">
<rect key="frame" x="664" y="446" width="316" height="22"/>
<rect key="frame" x="654" y="446" width="326" height="22"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/>
<searchFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" borderStyle="bezel" placeholderString="Software List" usesSingleLineMode="YES" bezelStyle="round" id="sMi-a3-XEn">
<font key="font" metaFont="system"/>
@@ -559,9 +571,29 @@ Gw
</binding>
</connections>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="RiJ-Xw-sgW">
<rect key="frame" x="20" y="20" width="248" height="16"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="Ehz-4Z-Tjq">
<font key="font" metaFont="system"/>
<color key="textColor" name="systemRedColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="EFq-dZ-y90">
<rect key="frame" x="378" y="79" width="66" height="18"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="check" title="Default" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="cOs-WH-9Dr">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<binding destination="-2" name="value" keyPath="bookmarkDefault" id="Oiv-hR-5fn"/>
</connections>
</button>
</subviews>
</view>
<point key="canvasLocation" x="130" y="70"/>
<point key="canvasLocation" x="-62" y="95"/>
</window>
<viewController nibName="MachineView" id="FSD-3v-Wni" customClass="NewMachineViewController"/>
<menu id="Aa5-Sk-gZX">
+22 -9
View File
@@ -13,17 +13,18 @@
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<customObject id="rSq-qV-SGy" customClass="BookmarkManager">
<connections>
<outlet property="menu" destination="ha0-nx-PIl" id="Ozd-ID-egK"/>
<outlet property="updateMenuItem" destination="30b-vT-HIa" id="AgZ-LE-no6"/>
</connections>
</customObject>
<customObject id="Voe-Tx-rLC" customClass="AppDelegate">
<connections>
<outlet property="installWindow" destination="jWX-pY-Zpb" id="xAj-Vj-Vxn"/>
</connections>
</customObject>
<customObject id="YLy-65-1bz" customClass="NSFontManager"/>
<customObject id="sJn-ug-xF3" customClass="BookmarkManager">
<connections>
<outlet property="menu" destination="ha0-nx-PIl" id="vTa-TU-DS1"/>
</connections>
</customObject>
<customObject id="3aq-Tx-mno" customClass="SUUpdater"/>
<menu title="Main Menu" systemMenu="main" id="AYu-sK-qS6">
<items>
@@ -405,28 +406,39 @@
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Bookmarks" id="ha0-nx-PIl">
<items>
<menuItem title="Manage Bookmarks…" keyEquivalent="b" id="isI-q6-b1V">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="manageBookmarks:" target="-1" id="vOm-90-AoO"/>
</connections>
</menuItem>
<menuItem title="Add Bookmark…" keyEquivalent="d" id="1JF-xV-zmG">
<connections>
<action selector="addBookmark:" target="-1" id="cqp-ko-BfQ"/>
</connections>
</menuItem>
<menuItem title="Manage Bookmarks…" id="isI-q6-b1V">
<modifierMask key="keyEquivalentModifierMask"/>
<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" id="vbR-vS-lqO">
<menuItem title="Set Default" hidden="YES" id="vbR-vS-lqO">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="defaultSave:" target="-1" id="FP9-EX-OKP"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="gWR-Yl-mg6"/>
<menuItem title="Default" id="mXC-Lp-gem">
<menuItem title="Default" hidden="YES" id="mXC-Lp-gem">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="defaultLoad:" target="-1" id="ErS-k6-azP"/>
</connections>
</menuItem>
</items>
<connections>
<outlet property="delegate" destination="rSq-qV-SGy" id="Z7N-CG-hU1"/>
</connections>
</menu>
</menuItem>
<menuItem title="Window" id="aUF-d1-5bR">
@@ -532,5 +544,6 @@
</view>
<point key="canvasLocation" x="13" y="-182"/>
</window>
<userDefaultsController representsSharedInstance="YES" id="uGS-pc-Wsn"/>
</objects>
</document>
+100 -4
View File
@@ -61,7 +61,7 @@
<outlet property="textField" destination="Pep-mX-LHY" id="hUe-cf-6vq"/>
</connections>
</tableCellView>
<tableCellView identifier="ItemView" translatesAutoresizingMaskIntoConstraints="NO" id="yGq-lc-RCM" customClass="TablePathView">
<tableCellView identifier="ItemView" translatesAutoresizingMaskIntoConstraints="NO" id="yGq-lc-RCM" customClass="PathTableCellView">
<rect key="frame" x="1" y="21" width="296" height="22"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
@@ -73,8 +73,8 @@
</pathCell>
<connections>
<action selector="pathAction:" target="-2" id="4oX-bW-ANp"/>
<binding destination="yGq-lc-RCM" name="enabled" keyPath="objectValue.valid" id="f8P-gt-vmK"/>
<binding destination="yGq-lc-RCM" name="value" keyPath="objectValue.url" id="Ony-ph-VVo"/>
<binding destination="yGq-lc-RCM" name="enabled" keyPath="objectValue.valid" id="f8P-gt-vmK"/>
</connections>
</pathControl>
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" id="6g1-NT-J1w">
@@ -101,7 +101,7 @@
<outlet property="pathControl" destination="f7R-TO-fmF" id="oH7-N3-JC7"/>
</connections>
</tableCellView>
<tableCellView identifier="BBItemView" id="2Nq-Xz-tkV" customClass="TablePathView">
<tableCellView identifier="BBItemView" id="2Nq-Xz-tkV" customClass="PathTableCellView">
<rect key="frame" x="1" y="46" width="296" height="22"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
@@ -132,12 +132,12 @@
</textFieldCell>
<connections>
<action selector="textAction:" target="-2" id="lmX-t8-mEc"/>
<binding destination="2Nq-Xz-tkV" name="enabled" keyPath="objectValue.valid" id="ZTM-E3-Y9P"/>
<binding destination="2Nq-Xz-tkV" name="value" keyPath="objectValue.string" id="2dZ-JJ-asM">
<dictionary key="options">
<string key="NSNullPlaceholder">socket.address:port or /path/to/file</string>
</dictionary>
</binding>
<binding destination="2Nq-Xz-tkV" name="enabled" keyPath="objectValue.valid" id="ZTM-E3-Y9P"/>
</connections>
</textField>
</subviews>
@@ -146,6 +146,102 @@
<outlet property="ejectButton" destination="zxn-1E-o34" id="eC6-Mf-tN6"/>
</connections>
</tableCellView>
<tableCellView identifier="OutputItemView" id="jQd-Ar-5uf" customClass="PathTableCellView">
<rect key="frame" x="1" y="71" width="296" height="22"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" id="Jg1-Wh-HDk">
<rect key="frame" x="0.0" y="1" width="20" height="20"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageAlignment="left" image="drag-handle-4x10" id="SjY-iM-xSZ"/>
</imageView>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="vG4-PP-efF" customClass="EjectButton">
<rect key="frame" x="277" y="3" width="16" height="16"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="bevel" bezelStyle="regularSquare" image="eject-16x16" imagePosition="only" alignment="center" alternateImage="eject-hover-16x16" imageScaling="proportionallyDown" inset="2" id="VX6-hb-mCU">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="ejectAction:" target="-2" id="LNr-rK-kpx"/>
<binding destination="jQd-Ar-5uf" name="enabled" keyPath="objectValue.occupied" id="p4S-6q-dCG"/>
</connections>
</button>
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Tm9-Zq-fag">
<rect key="frame" x="20" y="0.0" width="244" height="21"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" borderStyle="bezel" placeholderString="/path/to/file" drawsBackground="YES" id="RUQ-s4-75A">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<connections>
<action selector="textAction:" target="-2" id="N7h-6y-D8W"/>
<binding destination="jQd-Ar-5uf" name="value" keyPath="objectValue.string" id="kXU-qJ-HKa">
<dictionary key="options">
<string key="NSNullPlaceholder">/path/to/file</string>
</dictionary>
</binding>
<binding destination="jQd-Ar-5uf" name="enabled" keyPath="objectValue.valid" id="1wE-NY-Vb2"/>
</connections>
</textField>
</subviews>
<connections>
<outlet property="dragHandle" destination="Jg1-Wh-HDk" id="o14-ay-0Ou"/>
<outlet property="ejectButton" destination="vG4-PP-efF" id="X2I-2N-t5r"/>
</connections>
</tableCellView>
<tableCellView identifier="MidiItemView" id="HDi-YM-iKn" customClass="MidiTableCellView">
<rect key="frame" x="1" y="96" width="296" height="22"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" id="XcO-0S-W4c">
<rect key="frame" x="0.0" y="1" width="20" height="20"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageAlignment="left" image="drag-handle-4x10" id="4a2-So-rxD"/>
</imageView>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="F3v-8Z-LaF" customClass="EjectButton">
<rect key="frame" x="277" y="3" width="16" height="16"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="bevel" bezelStyle="regularSquare" image="eject-16x16" imagePosition="only" alignment="center" alternateImage="eject-hover-16x16" imageScaling="proportionallyDown" inset="2" id="b3t-Zp-2si">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="ejectAction:" target="-2" id="AvU-Sz-QKJ"/>
<binding destination="HDi-YM-iKn" name="enabled" keyPath="objectValue.occupied" id="ERy-Iz-T9Q"/>
</connections>
</button>
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="L2F-mj-lkr">
<rect key="frame" x="20" y="-3" width="244" height="25"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<popUpButtonCell key="cell" type="push" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="CaJ-NG-vbR" id="Rac-za-bEQ">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
<menu key="menu" id="I55-5S-oM2">
<items>
<menuItem state="on" id="CaJ-NG-vbR">
<modifierMask key="keyEquivalentModifierMask"/>
</menuItem>
</items>
</menu>
</popUpButtonCell>
<connections>
<action selector="midiAction:" target="-2" id="LDL-4h-xUR"/>
<binding destination="HDi-YM-iKn" name="selectedValue" keyPath="objectValue.string" id="xjL-hx-VG3">
<dictionary key="options">
<string key="NSValueTransformerName">EmptyStringTransformer</string>
</dictionary>
</binding>
</connections>
</popUpButton>
</subviews>
<connections>
<outlet property="dragHandle" destination="XcO-0S-W4c" id="oKY-UF-LkW"/>
<outlet property="ejectButton" destination="F3v-8Z-LaF" id="ql8-4u-qCA"/>
<outlet property="popUpButton" destination="L2F-mj-lkr" id="Ktx-Yc-DIp"/>
</connections>
</tableCellView>
</prototypeCellViews>
</tableColumn>
</tableColumns>
+14
View File
@@ -0,0 +1,14 @@
//
// Bookmark.h
// Ample
//
// Created by Kelvin Sherlock on 2/7/2022.
// Copyright © 2022 Kelvin Sherlock. All rights reserved.
//
#ifndef Bookmark_h
#define Bookmark_h
#import "Bookmark+CoreDataClass.h"
#endif /* Bookmark_h */
+17 -6
View File
@@ -7,28 +7,39 @@
//
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
@class NSMenu;
@class NSMenuItem;
@class Bookmark;
@class DiskImage;
NS_ASSUME_NONNULL_BEGIN
@interface BookmarkManager : NSObject
@property (weak) IBOutlet NSMenu *menu;
@property (weak) IBOutlet NSMenuItem *updateMenuItem;
@property (readonly) NSManagedObjectContext *managedObjectContext;
@property (nullable) Bookmark *currentBookmark;
+(instancetype)sharedManager;
-(void)loadBookmarks;
-(void)updateMenu;
-(NSString *)uniqueBookmarkName: (NSString *)name;
-(BOOL)validateName: (NSString *)name;
-(NSError *)saveBookmark: (NSDictionary *)bookmark name: (NSString *)name automatic: (BOOL)automatic;
-(BOOL)saveBookmark: (NSDictionary *)bookmark name: (NSString *)name;
-(NSDictionary *)loadBookmarkFromURL: (NSURL *)url;
//-(NSError *)saveDefault: (NSDictionary *)bookmark;
-(BOOL)saveDefault: (NSDictionary *)bookmark;
-(Bookmark *)defaultBookmark;
-(NSDictionary *)loadDefault;
-(NSError *)setAutomatic: (Bookmark *)bookmark;
-(BOOL)addDiskImage: (NSObject *)pathOrURL;
//-(void)convertLegacyBookmarks;
@end
NS_ASSUME_NONNULL_END
+556 -119
View File
@@ -9,19 +9,43 @@
#import "BookmarkManager.h"
#import "Ample.h"
#import "Bookmark.h"
#import "DiskImage.h"
#import "Menu.h"
@interface BookmarkManager () {
NSArray<NSURL *> *_urls;
NSPersistentStoreCoordinator *_psc;
NSManagedObjectContext *_moc;
NSManagedObjectModel *_mom;
NSPersistentStore *_store;
NSFetchRequest *_defaultRequest;
NSURL *_bookmarkDirectory;
NSArrayController *_items;
NSUInteger _newMenuGeneration;
NSUInteger _currentMenuGeneration;
Bookmark *_currentBookmark;
}
@end
@interface BookmarkManager (MenuDelegate) <NSMenuDelegate>
@end
@implementation BookmarkManager
static BookmarkManager *singleton = nil;
-(void)awakeFromNib {
if (!singleton) singleton = self;
if (!singleton) {
singleton = self;
if (!_items) [self initMenus];
}
}
+(instancetype)sharedManager {
@@ -31,7 +55,171 @@ static BookmarkManager *singleton = nil;
-(instancetype)init {
if (singleton) return singleton;
return [super init];
if ((self = [super init])) {
[self initCoreData];
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
[nc addObserver: self selector: @selector(willTerminate:) name: NSApplicationWillTerminateNotification object: nil];
[nc addObserver: self selector: @selector(diskImageAdded:) name: kNotificationDiskImageAdded object: nil];
_newMenuGeneration = 1;
_currentMenuGeneration = 0;
}
//singleton = self;
return self;
}
-(NSManagedObjectContext *)managedObjectContext {
return _moc;
}
-(void)initCoreData {
NSError *error;
BOOL new = NO;
NSBundle *bundle = [NSBundle mainBundle];
NSURL *url = [bundle URLForResource: @"Ample" withExtension: @"momd"];
_mom = [[NSManagedObjectModel alloc] initWithContentsOfURL: url];
_psc = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel: _mom];
_moc = [[NSManagedObjectContext alloc] initWithConcurrencyType: NSMainQueueConcurrencyType];
[_moc setPersistentStoreCoordinator: _psc];
//[_moc setMergePolicy: [NSMergePolicy rollbackMergePolicy]];
url = SupportDirectory();
#if 0
url = [url URLByAppendingPathComponent: @"Ample.db"];
if (![url checkResourceIsReachableAndReturnError: &error])
new = YES;
_store = [_psc addPersistentStoreWithType: NSSQLiteStoreType
configuration: nil
URL: url
options: nil
error: &error];
#else
url = [url URLByAppendingPathComponent: @"Ample.xml"];
if (![url checkResourceIsReachableAndReturnError: &error])
new = YES;
_store = [_psc addPersistentStoreWithType: NSXMLStoreType
configuration: nil
URL: url
options: nil
error: &error];
#endif
_defaultRequest = [Bookmark fetchRequest];
[_defaultRequest setPredicate: [NSPredicate predicateWithFormat: @"automatic == TRUE"]];
if (new) {
[self convertLegacyBookmarks];
[self convertLegacyDiskImages];
}
}
-(void)willTerminate: (NSNotification *)notification {
NSError *error;
if (![_moc save: &error]) {
NSLog(@"%@", error);
}
}
-(void)convertLegacyBookmarks {
//NSEntityDescription *e;
//e = [NSEntityDescription entityForName: @"Bookmark" inManagedObjectContext: moc];
NSURL *url = [self bookmarkDirectory];
NSFileManager *fm = [NSFileManager defaultManager];
NSError *error = nil;
NSArray *files = [fm contentsOfDirectoryAtURL: url
includingPropertiesForKeys: nil
options: NSDirectoryEnumerationSkipsHiddenFiles
error: &error];
NSDate *now = [NSDate date];
for (NSURL *url in files) {
NSDictionary *dict = [NSDictionary dictionaryWithContentsOfURL: url];
//NSData *data = [NSPropertyListSerialization dataWithPropertyList: dict format: NSPropertyListBinaryFormat_v1_0 options: 0 error: &error];
Bookmark *b = (Bookmark *)[NSEntityDescription insertNewObjectForEntityForName: @"Bookmark" inManagedObjectContext: _moc];
[b setName: [url lastPathComponent]];
[b setDictionary: dict];
//[b setData: data];
[b setMachine: [dict objectForKey: @"machine"]];
[b setCreated: now];
}
// default...
url = [url URLByAppendingPathComponent: @".Default"];
NSDictionary *dict = [NSDictionary dictionaryWithContentsOfURL: url];
if (dict) {
//NSData *data = [NSPropertyListSerialization dataWithPropertyList: dict format: NSPropertyListBinaryFormat_v1_0 options: 0 error: &error];
NSString *name = [self uniqueBookmarkName: @"Default"];
Bookmark *b = (Bookmark *)[NSEntityDescription insertNewObjectForEntityForName: @"Bookmark" inManagedObjectContext: _moc];
[b setName: name];
[b setAutomatic: YES];
[b setDictionary: dict];
//[b setData: data];
[b setMachine: [dict objectForKey: @"machine"]];
[b setCreated: now];
}
if (![_moc save: &error]) {
NSLog(@"%@", error);
}
}
-(void)convertLegacyDiskImages {
NSError *error;
NSURL *sd = SupportDirectory();
NSURL *url = [sd URLByAppendingPathComponent: @"RecentDiskImages.plist"];
NSArray *array = [NSArray arrayWithContentsOfURL: url];
if (!array) return;
for (NSDictionary *d in array) {
NSManagedObject *o = [NSEntityDescription insertNewObjectForEntityForName: @"DiskImage" inManagedObjectContext: _moc];
[o setValue: [d objectForKey: @"date"] forKey: @"added"];
[o setValue: [d objectForKey: @"date"] forKey: @"accessed"];
[o setValue: [d objectForKey: @"path"] forKey: @"path"];
[o setValue: [d objectForKey: @"size"] forKey: @"size"];
}
if (![_moc save: &error]) {
NSLog(@"%@", error);
}
}
-(NSURL *)bookmarkDirectory {
@@ -48,45 +236,61 @@ static BookmarkManager *singleton = nil;
return url;
}
/* disallow leading .
* disallow : or / characters.
*/
-(BOOL)validateName: (NSString *)name {
enum { kMaxLength = 128 };
unichar buffer[kMaxLength];
NSUInteger length = [name length];
if (length == 0 || length > kMaxLength) return NO;
[name getCharacters: buffer range: NSMakeRange(0, length)];
if (buffer[0] == '.') return NO;
for (unsigned i = 0; i < length; ++i) {
unichar c = buffer[i];
if (c == ':' || c == '/') return NO;
}
return YES;
-(Bookmark *)defaultBookmark {
NSFetchRequest *req;
NSError *error;
NSArray *array;
req = [Bookmark fetchRequest];
[req setPredicate: [NSPredicate predicateWithFormat: @"automatic == TRUE"]];
array = [_moc executeFetchRequest: req error: &error];
return [array firstObject];
}
-(NSDictionary *)loadDefault {
NSURL *url = [self bookmarkDirectory];
url = [url URLByAppendingPathComponent: @".Default"];
NSDictionary *d;
if (@available(macOS 10.13, *)) {
NSError *error = nil;
d = [NSDictionary dictionaryWithContentsOfURL: url error: &error];
if (!d) NSLog(@"Error loading %@: %@", url, error);
} else {
d = [NSDictionary dictionaryWithContentsOfURL: url];
if (!d) NSLog(@"Error loading %@", url);
}
return d;
Bookmark *b = [self defaultBookmark];
return [b dictionary];
}
/* save as .Default */
-(BOOL)saveDefault: (NSDictionary *)bookmark {
-(NSError *)saveDefault: (NSDictionary *)bookmark {
return nil;
#if 0
/* check if it already exists */
NSFetchRequest *req;
NSError *error;
NSArray *array;
Bookmark *b;
NSDate *now = [NSDate date];
BOOL ok;
req = [[NSFetchRequest alloc] initWithEntityName: @"Default"];
array = [_moc executeFetchRequest: req error: &error];
b = [array firstObject];
if (b) {
[b setModified: now];
} else {
b = (Bookmark *)[NSEntityDescription insertNewObjectForEntityForName: @"Default" inManagedObjectContext: _moc];
[b setName: @"Default"];
[b setCreated: now];
}
[b setDictionary: bookmark];
[b setMachine: [bookmark objectForKey: @"machine"]];
ok = [_moc save: &error];
if (!ok) NSLog(@"%@", error);
return error;
#if 0
NSURL *url = [self bookmarkDirectory];
url = [url URLByAppendingPathComponent: @".Default"];
@@ -99,116 +303,349 @@ static BookmarkManager *singleton = nil;
ok = [bookmark writeToURL: url atomically: YES];
}
return ok;
#endif
#endif
}
-(BOOL)saveBookmark: (NSDictionary *)bookmark name: (NSString *)name {
-(NSError *)setAutomatic: (Bookmark *)bookmark {
NSError *error = nil;
NSFetchRequest *req = [Bookmark fetchRequest];
[req setPredicate: [NSPredicate predicateWithFormat: @"automatic == TRUE"]];
NSArray *array = [_moc executeFetchRequest: req error: &error];
for (Bookmark *b in array) {
if (b != bookmark) [b setAutomatic: NO];
}
[bookmark setAutomatic: YES];
if (error) return error;
[_moc save: &error];
return error;
}
-(NSError *)saveBookmark: (NSDictionary *)bookmark name: (NSString *)name automatic: (BOOL)automatic {
NSDate *now = [NSDate date];
NSError *error;
NSData *data = [NSPropertyListSerialization dataWithPropertyList: bookmark
format: NSPropertyListXMLFormat_v1_0
options: 0
error: &error];
NSURL *base = [self bookmarkDirectory];
NSURL *url = [base URLByAppendingPathComponent: name];
BOOL ok = [data writeToURL: url options: NSDataWritingWithoutOverwriting error: &error];
BOOL ok;
Bookmark *b = (Bookmark *)[NSEntityDescription insertNewObjectForEntityForName: @"Bookmark" inManagedObjectContext: _moc];
[b setName: name];
[b setDictionary: bookmark];
[b setMachine: [bookmark objectForKey: @"machine"]];
[b setCreated: now];
[b setAutomatic: automatic];
ok = [b validateForInsert: &error];
if (!ok) {
for (unsigned i = 1 ; i < 100; ++i) {
NSString *tmp = [name stringByAppendingFormat: @"(%d)", i];
[base URLByAppendingPathComponent: tmp];
ok = [data writeToURL: url options: NSDataWritingWithoutOverwriting error: &error];
if (ok) {
name = tmp;
break;
}
}
// will be useful, eg "name is too long"
// keys: NSValidationErrorObject, NSLocalizedDescription, NSValidationErrorKey, NSValidationErrorValue
//NSLog(@"%@", error);
[_moc deleteObject: b];
return error;
}
if (!ok) return NO;
if (!_menu) return YES; // ?
NSUInteger ix = [_urls indexOfObjectPassingTest: ^BOOL(NSURL *object, NSUInteger index, BOOL *stop){
NSString *path = [object lastPathComponent];
return [name caseInsensitiveCompare: path] == NSOrderedAscending;
}];
NSMenuItem *item = [[NSMenuItem alloc] initWithTitle: name action: @selector(bookmarkMenu:) keyEquivalent: @""];
[item setRepresentedObject: url];
if (ix == NSNotFound) {
_urls = [_urls arrayByAddingObject: url];
[_menu addItem: item];
} else {
NSInteger n = [_menu numberOfItems];
[_menu insertItem: item atIndex: n - [_urls count] + ix];
NSMutableArray *tmp = [_urls mutableCopy];
[tmp insertObject: url atIndex: ix];
ok = [_moc save: &error];
if (!ok) {
//NSLog(@"%@", error);
[_moc deleteObject: b];
error = [NSError errorWithDomain: @"Ample" code: 0 userInfo: @{ NSLocalizedDescriptionKey: @"Duplicate name" }];
return error;
}
return YES;
if (automatic) {
[self setAutomatic: b];
}
return nil;
}
-(NSDictionary *)loadBookmarkFromURL: (NSURL *)url {
NSDictionary *d;
if (@available(macOS 10.13, *)) {
NSError *error = nil;
d = [NSDictionary dictionaryWithContentsOfURL: url error: &error];
if (!d) NSLog(@"Error loading %@: %@", url, error);
} else {
d = [NSDictionary dictionaryWithContentsOfURL: url];
if (!d) NSLog(@"Error loading %@", url);
}
return d;
}
-(void)loadBookmarks {
NSURL *url = [self bookmarkDirectory];
NSFileManager *fm = [NSFileManager defaultManager];
NSError *error = nil;
NSSortDescriptor *s = [NSSortDescriptor sortDescriptorWithKey: @"name" ascending: YES selector: @selector(caseInsensitiveCompare:)];
NSArray *files = [fm contentsOfDirectoryAtURL: url
includingPropertiesForKeys: nil
options: NSDirectoryEnumerationSkipsHiddenFiles
error: &error];
// bleh, has to create 2 new NSStrings for every comparison
files = [files sortedArrayUsingComparator: ^(NSURL *a, NSURL *b){
NSString *aa = [a lastPathComponent];
NSString *bb = [b lastPathComponent];
return [aa caseInsensitiveCompare: bb];
}];
_urls = files;
_items = [NSArrayController new];
[_items setManagedObjectContext: _moc];
[_items setAvoidsEmptySelection: NO];
[_items setAutomaticallyPreparesContent: YES];
[_items setAutomaticallyRearrangesObjects: YES];
[_items setEntityName: @"Bookmark"];
[_items setSortDescriptors: @[ s ]];
[_items fetch: nil];
}
-(void)updateMenu {
/* extract the number from a trailing " (%d)" */
static int extract_number(NSString *s, NSInteger offset) {
NSArray *menus = [_menu itemArray];
unichar buffer[32];
NSInteger len = [s length] - offset;
unichar c;
int i;
int n = 0;
if (len < 4) return -1; /* " (1)"*/
if (len > 8) return -1; /* " (99999)" */
NSRange r = NSMakeRange(offset, len);
[s getCharacters: buffer range: r];
buffer[len] = 0;
i = 0;
if (buffer[i++] != ' ') return -1;
if (buffer[i++] != '(') return -1;
c = buffer[i++];
if (c < '1' || c > '9') return -1;
n = c - '0';
for (;;) {
c = buffer[i];
if (c < '0' || c > '9') break;
n = n * 10 + (c - '0');
++i;
}
if (buffer[i++] != ')') return -1;
if (buffer[i++] != 0) return -1;
return n;
}
-(NSString *)uniqueBookmarkName: (NSString *)name {
NSInteger length = [name length];
NSError *error = nil;
NSPredicate *p = [NSPredicate predicateWithFormat: @"name BEGINSWITH %@", name];
NSFetchRequest *req = [NSFetchRequest fetchRequestWithEntityName: @"Bookmark"];
[req setPredicate: p];
NSArray *array = [_moc executeFetchRequest: req error: &error];
if (![array count]) return name;
uint64_t bits = 1; /* mark 0 as unavailable */
NSInteger max = 0;
BOOL exact = NO;
for (Bookmark *b in array) {
NSString *s = [b name];
if ([name isEqualToString: s]) {
exact = YES;
continue;
}
int n = extract_number(s, length);
if (n < 1) continue;
if (n > max) max = n;
if (n < 64)
bits |= (1 << n);
}
if (!exact) return name;
if (bits == (uint64_t)-1) {
return [name stringByAppendingFormat: @" (%u)", (int)(max + 1)];
}
#if 1
int ix = 0;
while (bits & 0x01) {
++ix;
bits >>= 1;
}
#else
// this doesn't work correctly.
int ix = __builtin_ffsll(~bits);
#endif
return [name stringByAppendingFormat: @" (%u)", ix];
}
-(BOOL)addDiskImage: (NSObject *)pathOrURL {
NSError *error;
NSString *path = nil;
NSURL *url = nil;
if ([pathOrURL isKindOfClass: [NSString class]]) {
path = (NSString *)pathOrURL;
} else if ([pathOrURL isKindOfClass: [NSURL class]]){
url = (NSURL *)pathOrURL;
path = [NSString stringWithCString: [url fileSystemRepresentation] encoding: NSUTF8StringEncoding];
}
if (!path) return NO;
NSFileManager *fm = [NSFileManager defaultManager];
NSDictionary *attr = [fm attributesOfItemAtPath: path error: &error];
if (error) {
NSLog(@"%@ : %@", path, error);
return NO;
}
NSNumber *size = [attr objectForKey: NSFileSize];
NSDate *now = [NSDate date];
NSPredicate *p = [NSPredicate predicateWithFormat: @"path = %@", path];
NSFetchRequest *req = [NSFetchRequest fetchRequestWithEntityName: @"DiskImage"];
[req setPredicate: p];
NSArray *array = [_moc executeFetchRequest: req error: &error];
BOOL found = 0;
for (NSManagedObject *o in array) {
found = YES;
[o setValue: now forKey: @"accessed"];
}
if (found) return NO;
DiskImage *o = [NSEntityDescription insertNewObjectForEntityForName: @"DiskImage" inManagedObjectContext: _moc];
[o setPath: path];
[o setAdded: now];
[o setAccessed: now];
[o setSize: [size longLongValue]];
[o updatePath];
if (![_moc save: &error]) {
NSLog(@"%@", error);
[_moc deleteObject: o];
}
return YES;
}
-(void)diskImageAdded: (NSNotification *)notification {
NSURL *url = [notification object];
if (url) [self addDiskImage: url];
}
static NSString *kMenuContext = @"";
-(void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary<NSKeyValueChangeKey,id> *)change context:(void *)context {
if (context == (__bridge void * _Nullable)(kMenuContext)) {
//NSLog(@"observeValueForKeyPath %@", keyPath);
_newMenuGeneration++;
return;
}
[super observeValueForKeyPath: keyPath ofObject: object change: change context: context];
}
-(void)initMenus {
if (!_items) {
[self loadBookmarks];
[_items addObserver: self forKeyPath: @"arrangedObjects.name" options: 0 context: (__bridge void * _Nullable)(kMenuContext)];
[_items addObserver: self forKeyPath: @"arrangedObjects.automatic" options: 0 context: (__bridge void * _Nullable)(kMenuContext)];
}
}
-(IBAction)bookmarkMenu:(id)sender
{
}
-(Bookmark *)currentBookmark {
return _currentBookmark;
}
-(void)setCurrentBookmark:(Bookmark *)currentBookmark {
if (currentBookmark == _currentBookmark) return;
_currentBookmark = currentBookmark;
_newMenuGeneration++;
}
-(void)menuNeedsUpdate:(NSMenu *)menu {
if (_currentMenuGeneration == _newMenuGeneration) return;
_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];
for (NSMenuItem *item in [menus reverseObjectEnumerator]) {
if ([item tag] == 0xdeadbeef) [_menu removeItem: item];
}
for (NSURL *url in _urls) {
NSString *title = [url lastPathComponent]; // [[url lastPathComponent] stringByDeletingPathExtension];
NSMenuItem *item = [_menu addItemWithTitle: title action: @selector(bookmarkMenu:) keyEquivalent: @""];
[item setRepresentedObject: url];
NSArray *array = [_items arrangedObjects];
for (Bookmark *b in array) {
NSString *title = [b name];
NSMenuItem *item = [menu addItemWithTitle: title action: @selector(bookmarkMenu:) keyEquivalent: @""];
[item setRepresentedObject: b];
[item setTag: 0xdeadbeef];
if ([b automatic]) {
[item setOnStateImage: [NSImage imageNamed: NSImageNameStatusAvailable]];
[item setState: NSOnState];
}
//if ([b automatic]) [item setAttributedTitle: ItalicMenuString([b name])];
//[item setState: [b automatic] ? NSMixedState : NSOffState];
}
}
@end
/* MacOS 12.1+ doesn't like class clusters in nibs -
[General] This coder is expecting the replaced object 0x600000938f60 to be returned from
NSClassSwapper.initWithCoder instead of <BookmarkManager: 0x600000905da0>
*/
@interface BookmarkManagerProxy : NSProxy {
BookmarkManager *_target;
}
@end
@implementation BookmarkManagerProxy
-(id)init {
_target = [BookmarkManager sharedManager];
return self;
}
-(NSMethodSignature *)methodSignatureForSelector:(SEL)sel {
return [_target methodSignatureForSelector: sel];
}
+(BOOL)respondsToSelector:(SEL)aSelector {
return [BookmarkManager respondsToSelector: aSelector];
}
-(void)forwardInvocation:(NSInvocation *)invocation {
if ([_target respondsToSelector: [invocation selector]]) {
[invocation invokeWithTarget: _target];
} else {
[super forwardInvocation: invocation];
}
}
@end
+19
View File
@@ -0,0 +1,19 @@
//
// BookmarkWindowController.h
// Ample
//
// Created by Kelvin Sherlock on 2/6/2022.
// Copyright © 2022 Kelvin Sherlock. All rights reserved.
//
#import <Cocoa/Cocoa.h>
NS_ASSUME_NONNULL_BEGIN
@interface BookmarkWindowController : NSWindowController
+(instancetype)sharedInstance;
@end
NS_ASSUME_NONNULL_END
+170
View File
@@ -0,0 +1,170 @@
//
// BookmarkWindowController.m
// Ample
//
// Created by Kelvin Sherlock on 2/6/2022.
// Copyright © 2022 Kelvin Sherlock. All rights reserved.
//
#import "BookmarkWindowController.h"
#import "BookmarkManager.h"
#import "Bookmark.h"
#import "Ample.h"
@interface BookmarkWindowController ()
@property (strong) IBOutlet NSArrayController *arrayController;
@property (strong) IBOutlet BookmarkManager *bookmarkManager;
@property (weak) IBOutlet NSTableView *tableView;
@end
@implementation BookmarkWindowController
+(instancetype)sharedInstance {
static BookmarkWindowController *me = nil;
if (!me) {
me = [self new];
}
return me;
}
-(NSString *)windowNibName {
return @"BookmarkWindow";
}
- (void)windowDidLoad {
[super windowDidLoad];
NSSortDescriptor *s = [NSSortDescriptor sortDescriptorWithKey: @"name" ascending: YES selector: @selector(caseInsensitiveCompare:)];
[_arrayController setSortDescriptors: @[s]];
}
-(BOOL)windowShouldClose: (NSWindow *)sender {
NSManagedObjectContext *moc = [_arrayController managedObjectContext];
NSError *error;
if (![_arrayController commitEditing]) return NO;
if ([moc save: &error]) return YES;
NSLog(@"%@", error);
#if 0
NSDictionary *dict = [error userInfo];
NSArray *array = [dict objectForKey: @"conflictList"];
for (NSConstraintConflict *c in array) {
NSArray * arr = [c conflictingObjects];
for (NSManagedObject *o in arr) {
}
}
#endif
return YES;
//[self presentError: error];
//return NO;
}
-(void)keyDown:(NSEvent *)event {
/* Carbon/Events.h */
enum {
kVK_Delete = 0x33,
kVK_ForwardDelete = 0x75,
};
unsigned short keyCode = [event keyCode];
if (keyCode == kVK_Delete || keyCode == kVK_ForwardDelete) {
// arraycontroller selected object / selected index doesn't work right.
NSInteger row = [_tableView selectedRow];
if (row >= 0)
[_arrayController removeObjectAtArrangedObjectIndex: row];
}
}
-(Bookmark *)clickedItem {
NSArray *array = [_arrayController arrangedObjects];
NSInteger row = [_tableView clickedRow];
if (row < 0 || row >= [array count]) return nil;
return [array objectAtIndex: row];
}
-(IBAction)doubleClick:(id)sender {
Bookmark *b = [self clickedItem];
if (!b) return;
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
[nc postNotificationName: kNotificationBookmarkMagicRoute object: b];
}
-(IBAction)toggleDefault:(id)sender {
NSLog(@"%@", sender);
}
-(IBAction)setDefault:(id)sender {
Bookmark *b = [self clickedItem];
if (!b) return;
[_bookmarkManager setAutomatic: b];
}
-(IBAction)clearDefault:(id)sender {
Bookmark *b = [self clickedItem];
if (!b) return;
[b setAutomatic: NO];
}
-(IBAction)deleteBookmark:(id)sender {
//Bookmark *b = [self clickedItem];
//if (!b) return;
NSInteger row = [_tableView clickedRow];
if (row >= 0)
[_arrayController removeObjectAtArrangedObjectIndex: row];
}
@end
@implementation BookmarkWindowController (Menu)
-(BOOL)validateMenuItem:(NSMenuItem *)menuItem {
Bookmark *b = [self clickedItem];
if (!b) return NO;
SEL action = [menuItem action];
if (action == @selector(clearDefault:)) {
return [b automatic];
}
if (action == @selector(setDefault:)) {
return ![b automatic];
}
return YES;
}
@end
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="15702" systemVersion="18G9323" minimumToolsVersion="Automatic" sourceLanguage="Objective-C" userDefinedModelVersionIdentifier="0">
<entity name="Bookmark" representedClassName="Bookmark" syncable="YES">
<attribute name="automatic" attributeType="Boolean" defaultValueString="NO" usesScalarValueType="YES"/>
<attribute name="comment" optional="YES" attributeType="String"/>
<attribute name="created" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
<attribute name="data" attributeType="Binary"/>
<attribute name="machine" optional="YES" attributeType="String"/>
<attribute name="modified" optional="YES" attributeType="Date" usesScalarValueType="NO"/>
<attribute name="name" attributeType="String" minValueString="1" maxValueString="32"/>
<fetchIndex name="Bookmark_name">
<fetchIndexElement property="name" type="Binary" order="ascending"/>
</fetchIndex>
</entity>
<entity name="DiskImage" representedClassName="DiskImage" syncable="YES">
<attribute name="accessed" attributeType="Date" usesScalarValueType="NO"/>
<attribute name="added" attributeType="Date" usesScalarValueType="NO"/>
<attribute name="name" optional="YES" transient="YES" attributeType="String"/>
<attribute name="path" attributeType="String"/>
<attribute name="size" attributeType="Integer 64" defaultValueString="0" usesScalarValueType="YES"/>
<fetchIndex name="DiskImage_path">
<fetchIndexElement property="path" type="Binary" order="ascending"/>
</fetchIndex>
</entity>
<elements>
<element name="Bookmark" positionX="994.5546875" positionY="-404.046875" width="128" height="148"/>
<element name="DiskImage" positionX="1242" positionY="-333" width="128" height="118"/>
</elements>
</model>
+25
View File
@@ -0,0 +1,25 @@
//
// Bookmark+CoreDataClass.h
// Ample
//
// Created by Kelvin Sherlock on 2/6/2022.
// Copyright © 2022 Kelvin Sherlock. All rights reserved.
//
//
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
NS_ASSUME_NONNULL_BEGIN
@interface Bookmark : NSManagedObject
@property NSDictionary *dictionary;
+(NSString *)uniqueName: (NSString *)name inContext: (NSManagedObjectContext *)context;
@end
NS_ASSUME_NONNULL_END
#import "Bookmark+CoreDataProperties.h"
+175
View File
@@ -0,0 +1,175 @@
//
// Bookmark+CoreDataClass.m
// Ample
//
// Created by Kelvin Sherlock on 2/6/2022.
// Copyright © 2022 Kelvin Sherlock. All rights reserved.
//
//
#import "Bookmark+CoreDataClass.h"
@implementation Bookmark
/* extract the number from a trailing " (%d)" */
static int extract_number(NSString *s, NSInteger offset) {
unichar buffer[32];
NSInteger len = [s length] - offset;
unichar c;
int i;
int n = 0;
if (len < 4) return -1; /* " (1)"*/
if (len > 6) return -1; /* " (999)" */
NSRange r = NSMakeRange(offset, len);
[s getCharacters: buffer range: r];
buffer[len] = 0;
i = 0;
if (buffer[i++] != ' ') return -1;
if (buffer[i++] != '(') return -1;
c = buffer[i++];
if (c < '1' || c > '9') return -1;
n = c - '0';
for (;;) {
c = buffer[i];
if (c < '0' || c > '9') break;
n = n * 10 + (c - '0');
++i;
}
if (buffer[i++] != ')') return -1;
if (buffer[i++] != 0) return -1;
return n;
}
+(NSString *)uniqueName: (NSString *)name inContext: (NSManagedObjectContext *)context {
NSInteger length = [name length];
NSError *error = nil;
NSPredicate *p = [NSPredicate predicateWithFormat: @"name BEGINSWITH %@", name];
NSFetchRequest *req = [NSFetchRequest fetchRequestWithEntityName: @"Bookmark"];
[req setPredicate: p];
NSArray *array = [context executeFetchRequest: req error: &error];
if (![array count]) return name;
uint64_t bits = 1; /* mark 0 as unavailable */
NSInteger max = 0;
BOOL exact = NO;
for (Bookmark *b in array) {
NSString *s = [b name];
if ([name isEqualToString: s]) {
exact = YES;
continue;
}
int n = extract_number(s, length);
if (n < 1) continue;
if (n > max) max = n;
if (n < 64)
bits |= (1 << n);
}
if (!exact) return name;
if (bits == (uint64_t)-1) {
if (max == 999) return nil;
return [name stringByAppendingFormat: @" (%u)", (int)(max + 1)];
}
#if 1
int ix = 0;
while (bits) {
++ix;
bits >>= 1;
}
#else
// this doesn't work correctly.
int ix = __builtin_ffsll(~bits);
#endif
return [name stringByAppendingFormat: @" (%u)", ix];
}
-(void)setDictionary:(NSDictionary *)dictionary {
NSData *data;
NSError *error = nil;
data = [NSPropertyListSerialization dataWithPropertyList: dictionary
format: NSPropertyListBinaryFormat_v1_0
options: 0
error: &error];
[self setData: data];
}
-(NSDictionary *)dictionary {
// NSDictionary *dict;
NSData *data = [self data];
NSError *error = nil;
return [NSPropertyListSerialization propertyListWithData: data
options: 0
format: nil
error: &error];
}
- (NSError *)errorFromOriginalError:(NSError *)originalError error:(NSError*)secondError
{
NSMutableDictionary *userInfo = [NSMutableDictionary dictionary];
NSMutableArray *errors = [NSMutableArray arrayWithObject:secondError];
if ([originalError code] == NSValidationMultipleErrorsError) {
[userInfo addEntriesFromDictionary:[originalError userInfo]];
[errors addObjectsFromArray:[userInfo objectForKey:NSDetailedErrorsKey]];
} else {
[errors addObject:originalError];
}
[userInfo setObject:errors forKey:NSDetailedErrorsKey];
return [NSError errorWithDomain:NSCocoaErrorDomain code:NSValidationMultipleErrorsError userInfo:userInfo];
}
- (BOOL)validateName:(id*)ioValue error:(NSError**)outError {
if (!ioValue || !*ioValue) return YES;
NSString *name = *ioValue;
NSFetchRequest *frq = [NSFetchRequest fetchRequestWithEntityName: @"Bookmark"];
NSPredicate *p = [NSPredicate predicateWithFormat: @"name = %@", name];
[frq setPredicate: p];
NSArray * arr = [[self managedObjectContext] executeFetchRequest: frq error: nil];
BOOL dupe = NO;
for (Bookmark *b in arr) {
if (b == self) continue;
dupe = YES;
break;
}
if (dupe && outError) {
NSDictionary *dict = @{ NSLocalizedFailureReasonErrorKey: @"duplicate name",
NSLocalizedDescriptionKey: @"duplicate name",
NSValidationKeyErrorKey: @"name",
NSValidationValueErrorKey: name,
NSValidationObjectErrorKey: self
};
NSError *e = [NSError errorWithDomain: @"Ample" code: 1 userInfo: dict];
if (*outError) {
*outError = [self errorFromOriginalError: *outError error: e];
} else {
*outError = e;
}
}
return !dupe;
}
@end
@@ -0,0 +1,28 @@
//
// Bookmark+CoreDataProperties.h
// Ample
//
// Created by Kelvin Sherlock on 2/6/2022.
// Copyright © 2022 Kelvin Sherlock. All rights reserved.
//
//
#import "Bookmark+CoreDataClass.h"
NS_ASSUME_NONNULL_BEGIN
@interface Bookmark (CoreDataProperties)
+ (NSFetchRequest<Bookmark *> *)fetchRequest;
@property (nullable, nonatomic, copy) NSString *name;
@property (nullable, nonatomic, copy) NSString *machine;
@property (nullable, nonatomic, retain) NSData *data;
@property (nullable, nonatomic, copy) NSDate *created;
@property (nullable, nonatomic, copy) NSDate *modified;
@property (nullable, nonatomic, copy) NSString *comment;
@property (nonatomic) BOOL automatic;
@end
NS_ASSUME_NONNULL_END
@@ -0,0 +1,26 @@
//
// Bookmark+CoreDataProperties.m
// Ample
//
// Created by Kelvin Sherlock on 2/6/2022.
// Copyright © 2022 Kelvin Sherlock. All rights reserved.
//
//
#import "Bookmark+CoreDataProperties.h"
@implementation Bookmark (CoreDataProperties)
+ (NSFetchRequest<Bookmark *> *)fetchRequest {
return [NSFetchRequest fetchRequestWithEntityName:@"Bookmark"];
}
@dynamic name;
@dynamic machine;
@dynamic data;
@dynamic created;
@dynamic modified;
@dynamic comment;
@dynamic automatic;
@end
+21
View File
@@ -0,0 +1,21 @@
//
// DiskImage+CoreDataClass.h
// Ample
//
// Created by Kelvin Sherlock on 2/7/2022.
// Copyright © 2022 Kelvin Sherlock. All rights reserved.
//
//
#import <Foundation/Foundation.h>
#import <CoreData/CoreData.h>
NS_ASSUME_NONNULL_BEGIN
@interface DiskImage : NSManagedObject
@end
NS_ASSUME_NONNULL_END
#import "DiskImage+CoreDataProperties.h"
+14
View File
@@ -0,0 +1,14 @@
//
// DiskImage+CoreDataClass.m
// Ample
//
// Created by Kelvin Sherlock on 2/7/2022.
// Copyright © 2022 Kelvin Sherlock. All rights reserved.
//
//
#import "DiskImage+CoreDataClass.h"
@implementation DiskImage
@end
@@ -0,0 +1,29 @@
//
// DiskImage+CoreDataProperties.h
// Ample
//
// Created by Kelvin Sherlock on 2/7/2022.
// Copyright © 2022 Kelvin Sherlock. All rights reserved.
//
//
#import "DiskImage+CoreDataClass.h"
NS_ASSUME_NONNULL_BEGIN
@interface DiskImage (CoreDataProperties)
+ (NSFetchRequest<DiskImage *> *)fetchRequest;
@property (nullable, nonatomic, copy) NSString *path;
@property (nullable, nonatomic, copy) NSDate *added;
@property (nonatomic) int64_t size;
@property (nullable, nonatomic, copy) NSDate *accessed;
@property (nullable, nonatomic, copy) NSString *name;
-(void)updatePath;
@end
NS_ASSUME_NONNULL_END
@@ -0,0 +1,52 @@
//
// DiskImage+CoreDataProperties.m
// Ample
//
// Created by Kelvin Sherlock on 2/7/2022.
// Copyright © 2022 Kelvin Sherlock. All rights reserved.
//
//
#import "DiskImage+CoreDataProperties.h"
#if 0
@interface DiskImage () {
NSString *_name;
}
@end
#endif
@implementation DiskImage (CoreDataProperties)
+ (NSFetchRequest<DiskImage *> *)fetchRequest {
return [NSFetchRequest fetchRequestWithEntityName:@"DiskImage"];
}
@dynamic path;
@dynamic added;
@dynamic size;
@dynamic accessed;
@dynamic name;
-(void)updatePath {
NSString *path = [self primitiveValueForKey: @"path"];
[self setName: [path lastPathComponent]];
}
-(void)awakeFromFetch {
[super awakeFromFetch];
[self updatePath];
}
#if 0
-(void)awakeFromInsert {
[super awakeFromInsert];
NSString *path = [self primitiveValueForKey: @"path"];
[self setName: [path lastPathComponent]];
}
#endif
@end
+3 -3
View File
@@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>MameComponentsDate</key>
<date>2021-07-01T16:00:00Z</date>
<date>2022-04-01T16:00:00Z</date>
<key>UseCustomMame</key>
<false/>
<key>AutoCloseLogWindow</key>
@@ -15,8 +15,8 @@
<key>NSQuitAlwaysKeepsWindows</key>
<true/>
<key>DefaultDownloadURL</key>
<string>https://archive.org/download/mame.0229</string>
<string>https://archive.org/download/mame-0.231-merged</string>
<key>DefaultDownloadExtension</key>
<string>zip</string>
<string>7z</string>
</dict>
</plist>
+14
View File
@@ -0,0 +1,14 @@
//
// DiskImage.h
// Ample
//
// Created by Kelvin Sherlock on 2/7/2022.
// Copyright © 2022 Kelvin Sherlock. All rights reserved.
//
#ifndef DiskImage_h
#define DiskImage_h
#import "DiskImage+CoreDataClass.h"
#endif /* DiskImage_h */
+50 -30
View File
@@ -9,19 +9,18 @@
#import "DiskImagesWindowController.h"
#import "TableCellView.h"
#import "Ample.h"
#import "DiskImage.h"
#import "BookmarkManager.h"
@interface DiskImagesWindowController ()
@property (weak) IBOutlet NSTableView *tableView;
@property (strong) IBOutlet NSArrayController *arrayController;
@property (strong) NSMutableArray *content;
@end
@implementation DiskImagesWindowController {
BOOL _dirty;
NSSet *_extensions;
NSTimer *_timer;
}
+(instancetype)sharedInstance {
@@ -44,7 +43,7 @@
if ((self = [super init])) {
[self loadRecentDiskImages];
//[self loadRecentDiskImages];
_extensions = [NSSet setWithObjects:
@"2img", @"2mg", @"chd", @"dc", @"do", @"dsk", @"hd", @"hdv", @"image", @"nib", @"po", @"wav", @"woz", @"iso", @"raw", nil
@@ -59,9 +58,6 @@
- (void)windowDidLoad {
if (!_content)
[self setContent: [NSMutableArray new]];
[super windowDidLoad];
NSWindow *window = [self window];
[window setRestorable: YES];
@@ -75,8 +71,12 @@
[_tableView setDraggingSourceOperationMask: NSDragOperationCopy forLocal: NO]; // enable drag/drop to othr apps.
// Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.
NSSortDescriptor *s = [NSSortDescriptor sortDescriptorWithKey: @"name" ascending: YES selector: @selector(caseInsensitiveCompare:)];
[_arrayController setSortDescriptors: @[ s ]];
}
#if 0
-(void)loadRecentDiskImages {
// NSError *error;
@@ -93,7 +93,7 @@
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
[nc addObserver: self selector: @selector(diskImageAdded:) name: @"DiskImageAdded" object: nil];
[nc addObserver: self selector: @selector(diskImageAdded:) name: kNotificationDiskImageAdded object: nil];
[nc addObserver: self selector: @selector(willTerminate:) name: NSApplicationWillTerminateNotification object: nil];
}
@@ -102,14 +102,16 @@
_timer = nil;
[self saveFile];
}
#endif
-(void)diskImageAdded: (NSNotification *)notification {
NSURL *url = [notification object];
if (!url) return;
[self addFile: url];
//[self addFile: url];
}
#if 0
-(void)markDirty {
_dirty = YES;
if (_timer) [_timer invalidate];
@@ -124,6 +126,7 @@
#endif
}
-(void)saveFile {
[_timer invalidate];
@@ -147,10 +150,11 @@
[self saveFile];
}
#endif
#if 0
-(BOOL)addFile: (NSObject *)pathOrURL {
NSString *path = nil;
@@ -182,7 +186,7 @@
NSFileManager *fm = [NSFileManager defaultManager];
NSError *error;
NSDictionary *attr = [fm attributesOfItemAtPath: path error: &error];
if (error) {
NSLog(@"%@ : %@", path, error);
@@ -198,18 +202,20 @@
[NSDate new], @"date",
nil];
#if 0
@synchronized (self) {
if (_arrayController)
[_arrayController addObject: d];
else
[_content addObject: d];
}
#endif
[self markDirty];
return YES;
}
-(NSMutableDictionary *)clickedItem {
#endif
-(DiskImage *)clickedItem {
NSArray *array = [_arrayController arrangedObjects];
NSInteger row = [_tableView clickedRow];
@@ -218,11 +224,21 @@
}
#pragma mark - IBActions
- (IBAction)filter:(id)sender {
NSString *text = [sender stringValue];
NSPredicate *p = nil;
if ([text length]) {
p = [NSPredicate predicateWithFormat: @"name CONTAINS[cd] %@",text];
}
[_arrayController setFilterPredicate: p];
}
- (IBAction)showInFinder:(id)sender {
NSMutableDictionary *item = [self clickedItem];
DiskImage *item = [self clickedItem];
if (!item) return;
NSString *path = [item objectForKey: @"path"];
NSString *path = [item path];
NSURL *url = [NSURL fileURLWithPath: path];
if (!url) return;
@@ -233,19 +249,19 @@
- (IBAction)eject:(id)sender {
NSMutableDictionary *item = [self clickedItem];
DiskImage *item = [self clickedItem];
if (!item) return;
@synchronized (self) {
if (_arrayController) {
[_arrayController removeObject: item];
} else {
[_content removeObject: item];
}
[self markDirty];
}
[_arrayController removeObject: item];
}
-(IBAction)doubleClick: (id)sender {
DiskImage *d = [self clickedItem];
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
NSDictionary *userInfo = @{ @"path": [d path] };
[nc postNotificationName: kNotificationDiskImageMagicRoute object: nil userInfo: userInfo];
}
@end
@@ -257,9 +273,9 @@
id objects = [_arrayController arrangedObjects];
NSDictionary *d = [objects objectAtIndex: row];
NSString *path = [d objectForKey: @"path"];
DiskImage *d = [objects objectAtIndex: row];
if (!d) return nil;
NSString *path = [d path];
NSURL *url = [NSURL fileURLWithPath: path];
return url;
@@ -296,6 +312,8 @@
-(BOOL)tableView:(NSTableView *)tableView acceptDrop:(id<NSDraggingInfo>)info row:(NSInteger)row dropOperation:(NSTableViewDropOperation)dropOperation {
BookmarkManager *bm = [BookmarkManager sharedManager];
if ([info draggingSource] == _tableView) return NO;
NSPasteboard * pb = [info draggingPasteboard];
@@ -314,7 +332,9 @@
if (!s) continue;
NSURL *url = [NSURL URLWithString: s];
if (!url) continue;
ok |= [self addFile: url];
ok |= [bm addDiskImage: url];
//ok |= [self addFile: url];
}
return ok;
}
+227 -87
View File
@@ -11,6 +11,9 @@
#import "Menu.h"
static NSString *Extensions[] = { @"zip", @"7z" };
enum {
kTagZip = 1,
kTag7z = 2,
@@ -81,6 +84,7 @@ enum {
@interface DownloadItem : NSObject
@property NSString *value;
@property NSString *name;
@property NSError *error;
@property NSString *pathName;
@@ -89,6 +93,7 @@ enum {
@property NSUInteger status;
@property NSUInteger index;
@property NSUInteger fileSize;
@property (readonly) NSColor *titleColor;
@property (readonly) NSColor *descriptionColor;
@@ -98,6 +103,8 @@ enum {
-(void)beginDownloadWithTask:(NSURLSessionDownloadTask *)task;
-(void)completeWithError: (NSError *)error;
-(NSString *)statusDescription;
-(void)refresh: (NSURL *)localURL;
@end
@@ -134,7 +141,7 @@ enum {
@end
@implementation DownloadWindowController {
NSArray *_items;
NSURL *_romFolder;
NSURL *_defaultDownloadURL;
@@ -143,7 +150,7 @@ enum {
NSURLSession *_session;
NSMutableDictionary *_taskIndex;
NSUserDefaults *_defaults;
NSArray<NSButton *> *_filterButtons;
}
@@ -167,7 +174,7 @@ enum {
#if 0
- (void)encodeWithCoder:(nonnull NSCoder *)coder {
}
#endif
@@ -177,11 +184,11 @@ enum {
-(void)windowWillLoad {
_defaults = [NSUserDefaults standardUserDefaults];
// set here so binding works.
NSString *s = [_defaults stringForKey: kDownloadExtension];
if (![s length]) s = [_defaults stringForKey: kDefaultDownloadExtension];
_downloadExtension = s;
}
@@ -193,12 +200,12 @@ enum {
[window setRestorable: YES];
[window setRestorationClass: [self class]];
#endif
_filterButtons = @[
_allFilterButton,
_missingFilterButton
];
// Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.
@@ -207,20 +214,20 @@ enum {
NSFileManager *fm = [NSFileManager defaultManager];
NSURL *url = [bundle URLForResource: @"roms" withExtension: @"plist"];
NSDictionary *d = [NSDictionary dictionaryWithContentsOfURL: url];
NSArray *roms = [NSArray arrayWithContentsOfURL: url];
NSURL *sd = SupportDirectory();
_romFolder = [sd URLByAppendingPathComponent: @"roms"];
[fm createDirectoryAtURL: _romFolder withIntermediateDirectories: YES attributes: nil error: &error];
// so blank URL isn't overwritten.
NSString *s = [_defaults stringForKey: kDefaultDownloadURL];
_defaultDownloadURL = [NSURL URLWithString: s];
[_downloadField setPlaceholderString: s];
s = [_defaults stringForKey: kDownloadURL];
if ([s length]) {
[_downloadField setStringValue: s];
@@ -228,23 +235,23 @@ enum {
} else {
_downloadURL = _defaultDownloadURL;
}
[self initializeExtensionMenu];
NSArray *roms = [d objectForKey: @"roms"];
[self initializeExtensionMenu];
[self setCurrentROM: @""];
[self setCurrentCount: 0];
[self setTotalCount: [roms count]];
[self setErrorCount: 0];
NSMutableArray *tmp = [NSMutableArray arrayWithCapacity: [roms count]];
unsigned ix = 0;
for (NSString *name in roms) {
for (NSDictionary *d in roms) {
DownloadItem *item = [DownloadItem new];
[item setName: name];
[item setValue: [d objectForKey: @"value"]];
[item setName: [d objectForKey: @"description"]];
[item setIndex: ix++];
[tmp addObject: item];
@@ -252,12 +259,12 @@ enum {
_items = tmp;
[self refreshROMs: nil];
[_arrayController setContent: _items];
//[_tableView reloadData];
NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
_session = [NSURLSession sessionWithConfiguration: config delegate: self delegateQueue: nil];
_taskIndex = [NSMutableDictionary dictionaryWithCapacity: [_items count]];
//[self download];
}
@@ -266,13 +273,13 @@ enum {
#if 0
-(void)validateURL: (NSString *)url {
NSURL *v;
if (![url length]) {
_effectiveURL = [NSURL URLWithString: _downloadURL];
[_downloadField setTextColor: nil];
return;
}
v = [NSURL URLWithString: url];
if (v) {
_effectiveURL = v;
@@ -290,36 +297,36 @@ enum {
NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
_session = [NSURLSession sessionWithConfiguration: config delegate: self delegateQueue: nil];
}
NSURLSessionDownloadTask *task;
NSString *s = [item name];
NSString *s = [item value];
NSString *path = [s stringByAppendingPathExtension: _downloadExtension];
NSURL *url = [_downloadURL URLByAppendingPathComponent: path];
task = [_session downloadTaskWithURL: url];
[item beginDownloadWithTask: task];
[_taskIndex setObject: item forKey: task];
[task resume];
}
-(void)download {
// run in thread?
//unsigned count = 0;
for (DownloadItem *item in _items) {
NSURLSessionDownloadTask *task;
NSString *s = [item name];
NSString *s = [item value];
NSString *path = [s stringByAppendingPathExtension: _downloadExtension];
NSURL *url = [_downloadURL URLByAppendingPathComponent: path];
task = [_session downloadTaskWithURL: url];
[_taskIndex setObject: item forKey: task];
[item setTask: task];
[task resume];
@@ -328,7 +335,7 @@ enum {
//if (count >= 2) break;
}
[self setActive: YES];
}
-(DownloadItem *)clickedItem {
@@ -339,24 +346,24 @@ enum {
}
#if 0
-(void)redrawRow: (NSUInteger)row {
//NSRect r = [_tableView rectOfRow: row];
//[_tableView setNeedsDisplayInRect: r];
NSIndexSet *rIx = [NSIndexSet indexSetWithIndex: row];
NSIndexSet *cIx = [NSIndexSet indexSetWithIndex: 0];
[_tableView reloadDataForRowIndexes: rIx columnIndexes: cIx];
}
#endif
-(void)initializeExtensionMenu {
unsigned tag;
// mark default download extension.
NSString *defaultExt = [_defaults stringForKey: kDefaultDownloadExtension];
tag = [DownloadExtensionTransformer stringToNumber: defaultExt];
NSMenuItem *item = [[_formatButton menu] itemWithTag: tag];
if (item) {
[item setAttributedTitle: ItalicMenuString([item title])];
@@ -373,6 +380,10 @@ enum {
#endif
}
-(void) defocus {
[[self window] makeFirstResponder: nil];
}
#pragma mark - IBActions
-(IBAction)cancelAll:(id)sender {
@@ -390,6 +401,7 @@ enum {
- (IBAction)downloadMissing:(id)sender {
[self defocus];
BOOL delta = NO;
for (DownloadItem *item in _items) {
NSURL *url = [item localURL];
@@ -399,7 +411,7 @@ enum {
delta = YES;
}
}
if (delta) {
[self setActive: YES];
}
@@ -411,30 +423,31 @@ enum {
}
-(IBAction)refreshROMs: (id)sender {
NSString *romdir = [SupportDirectoryPath() stringByAppendingPathComponent: @"roms"];
NSFileManager *fm = [NSFileManager defaultManager];
for (DownloadItem *item in _items) {
NSString *name = [item name];
NSString *s = [romdir stringByAppendingPathComponent: name];
NSDictionary *attr = nil;
NSString *value = [item value];
NSString *s = [romdir stringByAppendingPathComponent: value];
NSString *path;
path = [s stringByAppendingPathExtension: @"zip"];
if ([fm fileExistsAtPath: path]) {
[item setStatus: ItemFound];
[item setLocalURL: [NSURL fileURLWithPath: path]];
continue;
for (unsigned i = 0; i < 2; ++i) {
path = [s stringByAppendingPathExtension: Extensions[i]];
attr = [fm attributesOfItemAtPath: path error: nil];
if (attr) break;
}
path = [s stringByAppendingPathExtension: @"7z"];
if ([fm fileExistsAtPath: path]) {
if (attr) {
[item setStatus: ItemFound];
[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];
}
}
@@ -448,10 +461,29 @@ enum {
[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)download:(id)sender {
DownloadItem *item = [self clickedItem];
if (!item) return;
[self defocus];
[self downloadItem: item];
[self setActive: YES];
}
@@ -486,7 +518,7 @@ enum {
NSUInteger tag = [sender tag];
[sender setState: NSControlStateValueOn];
for (NSButton *b in _filterButtons) {
if (b != sender) [b setState: NSControlStateValueOff];
}
@@ -534,7 +566,7 @@ static NSInteger TaskStatusCode(NSURLSessionTask *task) {
error = [NSError errorWithDomain: NSURLErrorDomain code: NSURLErrorFileDoesNotExist userInfo: info];
}
// not sure if strictly necessary but this happens in a background thread
// and these are used in KVO binding. Also, main thread only
// means no race conditions.
@@ -551,22 +583,22 @@ static NSInteger TaskStatusCode(NSURLSessionTask *task) {
if ([taskIndex count] == 0) {
[self setActive: NO];
}
if (item) {
[item completeWithError: error];
}
});
}
- (void)URLSession:(NSURLSession *)session downloadTask:(nonnull NSURLSessionDownloadTask *)task didFinishDownloadingToURL:(nonnull NSURL *)location {
// NSLog(@"%@", task);
// NSLog(@"%@", [task response]);
if (TaskStatusCode(task) != 200) return;
// need to move to the destination directory...
// file deleted after this function returns, so can't move asynchronously.
@@ -574,18 +606,89 @@ static NSInteger TaskStatusCode(NSURLSessionTask *task) {
NSURL *src = [[task originalRequest] URL];
NSURL *dest = [_romFolder URLByAppendingPathComponent: [src lastPathComponent]];
NSError *error = nil;
[fm moveItemAtURL: location toURL: dest error: &error];
dispatch_async(dispatch_get_main_queue(), ^(void){
NSMutableDictionary *taskIndex = self->_taskIndex;
DownloadItem *item = [taskIndex objectForKey: task];
[item setLocalURL: dest];
[item refresh: dest];
});
NSLog(@"%@", src);
}
-(NSURLCredential *)credentialForChallenge: (NSURLAuthenticationChallenge *)challenge {
//if ([challenge previousFailureCount]) return nil;
NSURLCredential *credential = nil;
NSURLProtectionSpace *space = [challenge protectionSpace];
OSStatus status;
NSDictionary *query;
CFTypeRef item = nil;
query = @{
(id)kSecClass: (id)kSecClassInternetPassword,
(id)kSecReturnData: (id)kCFBooleanTrue,
(id)kSecReturnAttributes: (id)kCFBooleanTrue,
(id)kSecAttrServer: [space host],
//(id)kSecAttrProtocol: [space protocol],
(id)kSecMatchLimit: (id)kSecMatchLimitOne,
};
status = SecItemCopyMatching((CFDictionaryRef)query, &item);
//NSLog(@"%@", query);
if (status != 0) return nil;
NSDictionary *d = (__bridge NSDictionary *)item;
//NSLog(@"%@", d);
NSString *account = [d objectForKey: (id)kSecAttrAccount];
NSData *passwordData = [d objectForKey: (id)kSecValueData];
NSString *password = [[NSString alloc] initWithData: passwordData encoding: NSUTF8StringEncoding];
credential = [NSURLCredential credentialWithUser: account password: password persistence: NSURLCredentialPersistenceForSession];
return credential;
}
- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didReceiveChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential *credential))completionHandler {
NSLog(@"challenge: %@", challenge);
if ([challenge previousFailureCount]) {
completionHandler(NSURLSessionAuthChallengeCancelAuthenticationChallenge, nil);
return;
}
NSURLProtectionSpace *space = [challenge protectionSpace];
NSString *method = [space authenticationMethod];
if ([NSURLAuthenticationMethodHTTPBasic isEqualToString: method] ||
[NSURLAuthenticationMethodNTLM isEqualToString: method] ||
[NSURLAuthenticationMethodHTTPDigest isEqualToString: method]) {
NSURLCredential *credential = [self credentialForChallenge: challenge];
if (credential) {
completionHandler(NSURLSessionAuthChallengeUseCredential, credential);
return;
}
}
completionHandler(NSURLSessionAuthChallengePerformDefaultHandling, nil);
}
@end
@@ -619,15 +722,45 @@ static NSInteger TaskStatusCode(NSURLSessionTask *task) {
}
}
#if 0
// in practice, error and status set concurrently.
+(NSSet *)keyPathsForValuesAffectingStatus {
static NSSet *set = nil;
if (!set) set = [NSSet setWithObjects: @"error", nil];
return set;
}
#endif
-(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 {
return [NSSet setWithObjects: @"error", @"status", nil];
}
-(NSString *)statusDescription {
static NSString *Names[] = {
@@ -670,27 +803,34 @@ enum {
};
- (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];
if (row < 0) return NO;
DownloadItem *item = [[_arrayController arrangedObjects] objectAtIndex: row]; //[_items objectAtIndex: row];
#endif
NSUInteger status = [item status];
switch([menuItem tag]) {
case kOpenInFinder:
return status == ItemFound || status == ItemDownloaded;
break;
case kDownload:
return YES;
//return status == ItemMissing || status == ItemError || status == ItemCanceled;
break;
case kCancel:
return status == ItemDownloading;
break;
if (action == @selector(moveToTrash:)) {
return [item localURL] != nil;
}
if (action == @selector(showInFinder:)) {
return [item localURL] != nil;
}
if (action == @selector(download:)) {
return YES;
}
if (action == @selector(cancel:)) {
return status == ItemDownloading;
}
return NO;
}
+2 -2
View File
@@ -50,7 +50,7 @@
<key>LSMinimumSystemVersion</key>
<string>$(MACOSX_DEPLOYMENT_TARGET)</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2020-2021 Kelvin Sherlock. All rights reserved.</string>
<string>Copyright © 2020-2022 Kelvin Sherlock. All rights reserved.</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>
@@ -58,7 +58,7 @@
<key>NSSupportsAutomaticTermination</key>
<true/>
<key>NSSupportsSuddenTermination</key>
<true/>
<false/>
<key>SUFeedURL</key>
<string>https://ample.ksherlock.com/updates/appcast.xml</string>
<key>SUPublicEDKey</key>
+105 -40
View File
@@ -16,6 +16,7 @@
#import "AutocompleteControl.h"
#import "SoftwareList.h"
#import "BookmarkManager.h"
#import "Bookmark.h"
#include <sys/stat.h>
#include <wctype.h>
@@ -28,6 +29,7 @@ static NSString *kContextMachine = @"kContextMachine";
BOOL _loadingBookmark;
NSString *_machine;
NSDictionary *_machineDescription;
BookmarkManager *_manager;
}
@property (strong) IBOutlet MediaViewController *mediaController;
@property (strong) IBOutlet SlotViewController *slotController;
@@ -49,6 +51,7 @@ static NSString *kContextMachine = @"kContextMachine";
@property BOOL mameMouse;
@property BOOL mameSamples;
@property BOOL mameBGFX;
@property BOOL mameRewind;
@property BOOL mameAVI;
@property BOOL mameWAV;
@@ -78,10 +81,13 @@ static NSString *kContextMachine = @"kContextMachine";
@property (strong) IBOutlet NSWindow *addBookmarkWindow;
@property (strong) NSString *bookmarkName;
@property BOOL bookmarkDefault;
@property (weak) IBOutlet NSTextField *bookmarkTextField;
@property (weak) IBOutlet NSTextField *bookmarkErrorField;
@property BOOL optionKey;
@end
@interface LaunchWindowController (SoftwareList)
@@ -97,6 +103,8 @@ static NSString *kContextMachine = @"kContextMachine";
-(IBAction)defaultLoad:(id)sender;
-(void)bookmarkNotification: (NSNotification *)notification;
@end
#define SIZEOF(x) (sizeof(x) / sizeof(x[0]))
@@ -149,6 +157,7 @@ static int EffectsIndex(NSString *str) {
[self setMameSamples: NO];
[self setMameSquarePixels: NO];
[self setMameDebug: NO];
[self setMameRewind: NO];
[self setMameWindowMode: 1]; // default = 1x window.
[self setMameBackend: 0];
@@ -181,6 +190,8 @@ static int EffectsIndex(NSString *str) {
-(void)windowWillLoad {
_manager = [BookmarkManager sharedManager];
// if this calls [self window], it will recurse. that is bad.
//[self defaultLoad: nil];
[self reset];
@@ -205,16 +216,16 @@ static void AddSubview(NSView *parent, NSView *child) {
AddSubview(_mediaView, [_mediaController view]);
AddSubview(_machineView, [_machineViewController view]);
// can't be done until above views are set up.
[self defaultLoad: nil];
[_softwareListControl setMinWidth: 250];
[_softwareListControl setHidden: YES];
NSArray *keys = @[
//@"mameMachine", // - handled
@"mameSquarePixels", @"mameWindowMode",
@"mameMouse", @"mameSamples",
@"mameDebug",
@"mameDebug", @"mameRewind",
@"mameSpeed",
@"mameAVI", @"mameAVIPath",
@"mameWAV", @"mameWAVPath",
@@ -238,10 +249,17 @@ static void AddSubview(NSView *parent, NSView *child) {
[_machineViewController addObserver: self forKeyPath: @"machine" options: 0 context: (__bridge void * _Nullable)kContextMachine];
[_softwareListControl setMinWidth: 250];
[_softwareListControl setHidden: YES];
// can't be done until above views are set up.
[self defaultLoad: nil];
[self buildCommandLine];
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
[nc addObserver: self selector: @selector(bookmarkNotification:) name: kNotificationBookmarkMagicRoute object: nil];
}
@@ -444,11 +462,6 @@ static NSString *ShellQuote(NSString *s) {
//[argv addObject: @"mame"];
[argv addObject: _machine];
if (_software) {
NSString *name = [_softwareSet nameForSoftware: _software];
if (name) [argv addObject: name];
}
// -confirm_quit?
[argv addObject: @"-skip_gameinfo"];
@@ -460,7 +473,7 @@ static NSString *ShellQuote(NSString *s) {
[argv addObject: @"-nosamples"];
if (_mameDebug) [argv addObject: @"-debug"];
if (_mameRewind) [argv addObject: @"-rewind"];
/*
@@ -537,6 +550,12 @@ static NSString *ShellQuote(NSString *s) {
[argv addObjectsFromArray: tmp];
}
// software *AFTER* slots so, eg, apple2ee has access to the superdrive.
if (_software) {
NSString *name = [_softwareSet nameForSoftware: _software];
if (name) [argv addObject: name];
}
if (_mameSpeed < 0) {
[argv addObject: @"-nothrottle"];
} else if (_mameSpeed > 1) {
@@ -545,7 +564,7 @@ static NSString *ShellQuote(NSString *s) {
}
// audio video.
if (_mameAVI && [_mameAVIPath length]) {
[argv addObject: @"-aviwrite"];
[argv addObject: _mameAVIPath];
@@ -592,11 +611,15 @@ static NSString *ShellQuote(NSString *s) {
//return [super validateMenuItem: menuItem]; // not implemented?
}
-(void)defocus {
[[self window] makeFirstResponder: nil]; // in case text is being edited...
}
# pragma mark - IBActions
- (IBAction)launchAction:(id)sender {
[[self window] makeFirstResponder: nil]; // in case text is being edited...
[self defocus];
if (![_args count]) return;
[LogWindowController controllerForArgs: _args];
@@ -606,7 +629,7 @@ static NSString *ShellQuote(NSString *s) {
- (IBAction)listMedia:(id)sender {
[[self window] makeFirstResponder: nil]; // in case text is being edited...
[self defocus];
if (!_machine) return;
NSMutableArray *argv = [NSMutableArray new];
@@ -633,7 +656,7 @@ static NSString *ShellQuote(NSString *s) {
- (IBAction)listSlots:(id)sender {
[[self window] makeFirstResponder: nil]; // in case text is being edited...
[self defocus];
if (!_machine) return;
NSMutableArray *argv = [NSMutableArray new];
@@ -711,6 +734,7 @@ static NSString *ShellQuote(NSString *s) {
-(IBAction)resetAll:(id)sender {
[_manager setCurrentBookmark: nil];
[self reset];
[self resetSoftware];
[_slotController resetSlots: sender];
@@ -759,32 +783,40 @@ static NSString *ShellQuote(NSString *s) {
-(IBAction)defaultSave:(id)sender {
BookmarkManager *bm = [BookmarkManager sharedManager];
#if 0
NSDictionary *d = [self makeBookmark];
[bm saveDefault: d];
[_manager saveDefault: d];
#endif
}
-(IBAction)defaultLoad:(id)sender {
BookmarkManager *bm = [BookmarkManager sharedManager];
Bookmark *b = [_manager defaultBookmark];
NSDictionary *d = [bm loadDefault];
if (!d) {
if (!b) {
[self resetAll: sender];
[self setMachine: nil];
[_machineViewController reset];
[_slotController setMachine: nil];
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 {
if (!_machine) return;
NSString *name = nil;
if (_machineDescription) name = [_machineDescription objectForKey:@"description"];
if (!name) name = _machine;
@@ -793,8 +825,14 @@ static NSString *ShellQuote(NSString *s) {
if (_software) {
name = [name stringByAppendingFormat: @" - %@", [_software title]];
}
name = [_manager uniqueBookmarkName: name];
[self setBookmarkName: name];
[self setBookmarkDefault: NO];
[_bookmarkTextField selectText: nil];
[_bookmarkErrorField setStringValue: @""];
[[self window] beginSheet: _addBookmarkWindow completionHandler: nil];
}
@@ -804,19 +842,26 @@ static NSString *ShellQuote(NSString *s) {
}
-(IBAction)bookmarkSave:(id)sender {
BookmarkManager *bm = [BookmarkManager sharedManager];
if (![bm validateName: _bookmarkName]) {
#if 0
if (![_manager validateName: _bookmarkName]) {
[_bookmarkTextField selectText: nil];
NSBeep();
return;
}
#endif
NSDictionary *d = [self makeBookmark];
NSError *e;
[bm saveBookmark: d name: _bookmarkName];
if (( e = [_manager saveBookmark: d name: _bookmarkName automatic: _bookmarkDefault])) {
// probably a duplicate name...
[_bookmarkTextField selectText: nil];
[_bookmarkErrorField setStringValue: [e localizedDescription]];
NSBeep();
return;
}
[[self window] endSheet: _addBookmarkWindow];
[_addBookmarkWindow orderOut: nil];
@@ -824,22 +869,27 @@ static NSString *ShellQuote(NSString *s) {
}
-(void)bookmarkNotification: (NSNotification *)notification {
Bookmark *b = [notification object];
[self loadBookmark: b];
}
-(IBAction)bookmarkMenu:(id)sender {
NSURL *url = [sender representedObject];
if (!url) return;
NSDictionary *d = [NSDictionary dictionaryWithContentsOfURL: url];
if (!d) return; // oops...
[self loadBookmark: d];
// represented object is a Bookmark.
Bookmark *b = [sender representedObject];
[self loadBookmark: b];
}
-(void)loadBookmark: (NSDictionary *)d {
-(void)loadBookmark: (Bookmark *)b {
Class StringClass = [NSString class];
Class NumberClass = [NSNumber class];
NSDictionary *d = [b dictionary];
[_manager setCurrentBookmark: b];
NSString *machine = [d objectForKey: @"machine"];
if (!machine) return;
@@ -850,6 +900,7 @@ static NSString *ShellQuote(NSString *s) {
[_mediaController willLoadBookmark: d];
[self reset];
[self resetSoftware];
[self setMachine: machine];
[self updateSoftwareList];
@@ -873,6 +924,7 @@ static NSString *ShellQuote(NSString *s) {
#define _(a,b) n = [d objectForKey: a]; if ([n isKindOfClass: NumberClass]) [self b : [n boolValue]]
_(@"debug", setMameDebug);
_(@"rewind", setMameRewind);
_(@"squarePixels", setMameSquarePixels);
_(@"mouse", setMameMouse);
_(@"samples", setMameSamples);
@@ -931,7 +983,7 @@ static NSString *ShellQuote(NSString *s) {
-(NSDictionary *)makeBookmark {
[[self window] makeFirstResponder: nil];
[self defocus];
NSMutableDictionary *dict = [NSMutableDictionary new];
@@ -947,6 +999,7 @@ static NSString *ShellQuote(NSString *s) {
#define _(v,k) [dict setObject: v ? (NSObject *)kCFBooleanTrue : (NSObject *)kCFBooleanFalse forKey: k]
_(_mameDebug, @"debug");
_(_mameRewind, @"rewind");
_(_mameSquarePixels, @"squarePixels");
_(_mameMouse, @"mouse");
_(_mameSamples, @"samples");
@@ -985,10 +1038,22 @@ static NSString *ShellQuote(NSString *s) {
#pragma mark - NSMenuDelegate
#if 1
-(void)menuNeedsUpdate:(NSMenu *)menu {
NSEventModifierFlags modifiers = [NSEvent modifierFlags];
[self setOptionKey: modifiers & NSEventModifierFlagOption ? YES : NO];
}
#else
/* doesn't trigger when menu is the first responder. */
-(void)flagsChanged:(NSEvent *)event {
NSEventModifierFlags modifiers = [event modifierFlags];
[self setOptionKey: modifiers & NSEventModifierFlagOption ? YES : NO];
[super flagsChanged: event];
}
#endif
@end
+19
View File
@@ -18,8 +18,25 @@ typedef struct Media {
unsigned floppy_3_5;
unsigned pseudo_disk;
unsigned bitbanger;
unsigned midiin;
unsigned midiout;
unsigned picture;
uint64_t floppy_mask;
} Media;
typedef enum {
MediaTypeError = -1,
MediaTypeUnknown = 0,
MediaType_5_25,
MediaType_3_5,
MediaType_HardDisk,
MediaType_CDROM,
MediaType_Cassette,
MediaType_Picture,
MediaType_MIDI,
} MediaType;
struct Media MediaFromDictionary(NSDictionary *);
void MediaAdd(Media *dest, const Media *src);
@@ -28,4 +45,6 @@ BOOL MediaEqual(const Media *lhs, const Media *rhs);
extern const Media EmptyMedia;
MediaType ClassifyMediaFile(id file);
#endif /* Media_h */
+173 -70
View File
@@ -23,6 +23,9 @@ struct Media MediaFromDictionary(NSDictionary *dict) {
_(floppy_5_25);
_(pseudo_disk);
_(bitbanger);
_(midiin);
_(midiout);
_(picture);
return m;
#undef _
@@ -32,6 +35,12 @@ void MediaAdd(Media *dest, const Media *src) {
if (!src || !dest) return;
// could merge from src media but not currently set there.
unsigned count;
unsigned flops = dest->floppy_5_25 + dest->floppy_3_5;
#define _(name) dest->name += src->name;
_(cass);
_(cdrom);
@@ -40,7 +49,20 @@ void MediaAdd(Media *dest, const Media *src) {
_(floppy_5_25);
_(pseudo_disk);
_(bitbanger);
_(midiin);
_(midiout);
_(picture);
#undef _
if ((count = src->floppy_5_25)) {
uint64_t bits = (1 << count) - 1;
//dest->floppy_mask <<= count;
bits <<= flops;
dest->floppy_mask |= bits;
}
}
BOOL MediaEqual(const Media *lhs, const Media *rhs) {
@@ -56,6 +78,12 @@ BOOL MediaEqual(const Media *lhs, const Media *rhs) {
_(floppy_5_25);
_(pseudo_disk);
_(bitbanger);
_(midiin);
_(midiout);
_(picture);
_(floppy_mask);
return YES;
#undef _
}
@@ -64,13 +92,7 @@ BOOL MediaEqual(const Media *lhs, const Media *rhs) {
#include <unistd.h>
#include <sys/stat.h>
enum {
MediaType_5_25,
MediaType_3_5,
MediaType_HardDisk,
MediaType_CD,
MediaType_Cassette,
};
#define _x2(a,b) (a | (b << 8))
#define _x3(a,b,c) (a | (b << 8) | (c << 16))
@@ -80,12 +102,12 @@ static unsigned hash(const char *cp) {
int i, shift;
if (!cp) return 0;
for (i = 0, shift = 0; i < 4; ++i, shift += 8) {
unsigned c = cp[0];
unsigned c = cp[i];
if (!c) break;
c = tolower(c);
rv |= (c << shift);
}
if (i > 4) return 0;
//if (i > 4) return 0; // .image is 5....
return rv;
}
@@ -103,30 +125,37 @@ const char *extname(const char *path) {
return rv;
}
int ClassifyMediaFile(NSString *file) {
struct stat st;
ssize_t size;
unsigned char buffer[128];
int fd;
const char *path = [file fileSystemRepresentation];
const char *ext = extname(path);
unsigned ext_hash = hash(ext);
/*
* MAME cares deeply about file extensions. LIST NOT EXHAUSTIVE
*
* Hard Disk: .chd .hd .hdv .2mg .hdi
* CD-ROM: .chd .cue .toc .nrg .gdi .iso .cdr
* 5.25: .dsk .do .po .edd .woz .nib .mfi .dfi .rti
* 3.5: .dc42 .woz .2mg .mfi .dfi .hfe .mfm .td0 .imd
.d77 .d88 .1dd .cqm .cqi .dsk .ima .img .ufi
.360 .ipf [also .po and .hdv]
* Midi in: .mid
* Midi out: .mid
* Picture: .png
* Cassette: .wav
*/
memset(&st, 0, sizeof(st));
memset(buffer, 0, sizeof(buffer));
fd = open(path, O_RDONLY);
if (fd < 0) return -1;
fstat(fd, &st);
static bool is_raw_525(size_t disk_size) {
if (disk_size & 255) return NO;
size_t blocks = disk_size >> 8;
size = read(fd, buffer, sizeof(buffer));
close(fd);
if (size <= 0) return -1;
return blocks == 560 || blocks == 640;
}
static BOOL is_raw_35(size_t disk_size) {
if (disk_size & 511) return NO;
size_t blocks = disk_size >> 9;
return blocks == 800 || blocks == 1600 || blocks == 1440 || blocks == 2880;
}
static MediaType is_woz(const uint8_t *buffer, size_t file_size) {
// 13 sector support ? not on an event 512 block boundary.
// = 116480 bytes.
/* woz 1/2 ? */
if (!memcmp(buffer, "WOZ1\xff\x0a\x0d\x0a", 8) || !memcmp(buffer, "WOZ2\xff\x0a\x0d\x0a", 8)) {
@@ -135,68 +164,142 @@ int ClassifyMediaFile(NSString *file) {
if (type == 1) return MediaType_5_25;
if (type == 2) return MediaType_3_5;
}
return -1;
return MediaTypeUnknown;
}
/* 2mg? */
return MediaTypeError;
}
static MediaType is_dc42(const uint8_t *buffer, size_t file_size) {
if (buffer[0x52] == 0x01 && buffer[0x53] == 0x00 && buffer[0] >= 1 && buffer[0] <= 0x3f) {
int dsize = OSReadBigInt32(buffer, 0x40);
int tsize = OSReadBigInt32(buffer, 0x44);
if (dsize + tsize + 0x54 == file_size) {
if (is_raw_35(dsize)) return MediaType_3_5;
return MediaType_HardDisk;
}
}
return MediaTypeError;
}
static MediaType is_2img(const uint8_t *buffer, size_t file_size) {
if (!memcmp(buffer, "2IMG", 4)) {
int format = OSReadLittleInt32(buffer, 0x0c); // 0 - dos order, 1 = prodos order, 2 = nib data
int blocks = OSReadLittleInt32(buffer, 0x14); // prodos only.
//int bytes = OSReadLittleInt32(buffer, 0x1c);
if (format == 2 || format == 0) return MediaType_5_25; // nib and dos order
if (blocks == 280) return MediaType_5_25;
if (blocks == 800 || blocks == 1600 || blocks == 1440 || blocks == 2880) return MediaType_3_5;
if (blocks > 2880) return MediaType_HardDisk; //
return -1;
if (is_raw_525(blocks * 512)) return MediaType_5_25;
if (is_raw_35(blocks * 512)) return MediaType_3_5;
return MediaType_HardDisk; //
//return MediaTypeUnknown;
}
/* chd? */
return MediaTypeError;
}
static MediaType is_chd(const uint8_t *buffer, size_t file_size) {
if (!memcmp(buffer, "MComprHD", 8)) {
static int offsets[] = { 0, 0, 0, 28, 28, 32}; // offset for logival bytes.
int version = OSReadBigInt32(buffer, 12);
if (version >= 3 && version <= 5) {
long bytes = OSReadBigInt64(buffer, offsets[version]);
long blocks = bytes >> 9;
if ((bytes & 511) == 0) {
if (blocks == 800 || blocks == 1600 || blocks == 1440 || blocks == 2880) return MediaType_3_5;
if (blocks == 280) return MediaType_5_25;
if (blocks > 2880) return MediaType_HardDisk; // iso?
}
}
return -1;
}
/* dc 4.2? magic is pretty weak. */
if (buffer[0x52] == 0x01 && buffer[0x53] == 0x00 && buffer[0] >= 1 && buffer[0] <= 0x3f) {
int dsize = OSReadBigInt32(buffer, 0x40);
int tsize = OSReadBigInt32(buffer, 0x44);
if (dsize + tsize + 0x54 == st.st_size && (size & 511) == 0) {
int blocks = dsize >>= 9;
if (blocks == 800 || blocks == 1600 || blocks == 1440 || blocks == 2880) return MediaType_3_5;
if (is_raw_525(bytes)) return MediaType_5_25;
if (is_raw_35(bytes)) return MediaType_3_5;
return MediaType_HardDisk; // iso?
}
return MediaTypeUnknown;
}
return MediaTypeError;
}
MediaType ClassifyMediaFile(id file) {
struct stat st;
ssize_t size;
unsigned char buffer[128];
int fd;
const char *path = [file fileSystemRepresentation]; // or URL
const char *ext = extname(path);
unsigned ext_hash = hash(ext);
memset(&st, 0, sizeof(st));
memset(buffer, 0, sizeof(buffer));
fd = open(path, O_RDONLY);
if (fd < 0) return MediaTypeError;
fstat(fd, &st);
size = read(fd, buffer, sizeof(buffer));
close(fd);
if (size <= 0) return MediaTypeError;
// 13 sector support ? not on an event 512 block boundary.
// = 116480 bytes.
switch(ext_hash) {
case _x3('n', 'i', 'b'): return MediaType_5_25;
case _x3('w', 'a', 'v'): return MediaType_Cassette;
case _x3('w', 'o', 'z'):
return is_woz(buffer, st.st_size);
case _x3('2', 'm', 'g'):
case _x4('2', 'i', 'm', 'g'):
return is_2img(buffer, st.st_size);
case _x3('c', 'h', 'd'):
return is_chd(buffer, st.st_size);
// dc42 - dc,dc42,dsk,img,image
case _x2('d', 'c'): // n.b. as of .233, allowed for mac, not for apple2
case _x4('d', 'c', '4', '2'):
return is_dc42(buffer, st.st_size);
// dsk, image, img may also be raw or disk copy.
case _x3('d', 's', 'k'):
case _x3('i', 'm', 'g'):
case _x4('i', 'm', 'a', 'g'):
if (is_raw_525(st.st_size)) return MediaType_5_25;
if (is_raw_35(st.st_size)) return MediaType_3_5;
return is_dc42(buffer, st.st_size);
case _x2('d', 'o'):
case _x2('p', 'o'):
if (is_raw_525(st.st_size)) return MediaType_5_25;
if (is_raw_35(st.st_size)) return MediaType_3_5;
return MediaTypeUnknown;
// hdv - 3.5 or hard drive.
case _x3('h', 'd', 'v'):
case _x3('r', 'a', 'w'):
if (is_raw_35(st.st_size)) return MediaType_3_5;
if ((st.st_size & 511) == 0) return MediaType_HardDisk;
return MediaTypeUnknown;
case _x3('n', 'i', 'b'):
return MediaType_5_25;
case _x3('w', 'a', 'v'):
return MediaType_Cassette;
// cd-rom
case _x3('i', 's', 'o'):
case _x3('c', 'u', 'e'):
case _x3('c', 'd', 'r'):
return MediaType_CD;
return MediaType_CDROM;
case _x3('p', 'n', 'g'):
return MediaType_Picture;
case _x3('m', 'i', 'd'):
return MediaType_MIDI;
// po, do, hdv, dsk - based on size
case _x2('d', 'o'):
case _x3('d', 's', 'k'):
case _x2('p', 'o'):
case _x3('h', 'd', 'v'): // usually 3.5 or hard drive
if (st.st_size <= 143360) return MediaType_5_25;
if (st.st_size <= 1474560) return MediaType_3_5;
return MediaType_HardDisk;
return MediaType_HardDisk;
}
return -1;
return MediaTypeUnknown;
}
+3
View File
@@ -23,6 +23,9 @@ NS_ASSUME_NONNULL_BEGIN
-(IBAction)resetMedia:(id)sender;
-(BOOL)smartRouteURL: (NSURL *)url;
-(BOOL)smartRouteFile: (NSString *)file;
@end
@interface MediaViewController (Bookmark) <Bookmark>
+224 -46
View File
@@ -9,17 +9,6 @@
#import "MediaViewController.h"
#import "TableCellView.h"
enum {
kIndexFloppy525 = 0,
kIndexFloppy35,
kIndexHardDrive,
kIndexCDROM,
kIndexCassette,
kIndexDiskImage,
kIndexBitBanger,
};
#define CATEGORY_COUNT 7
#define SIZEOF(x) (sizeof(x) / sizeof(x[0]))
@@ -43,6 +32,7 @@ enum {
@property NSString *title;
@property NSInteger index;
@property NSInteger category;
@property (weak)NSOutlineView *view;
-(NSInteger)count;
-(id)objectAtIndex:(NSInteger)index;
@@ -141,7 +131,36 @@ enum {
return YES;
}
-(BOOL)pruneChildrenWithOutlineView: (NSOutlineView *)view {
-(BOOL)addURL: (NSURL *)url {
for (MediaItem *item in _children) {
if (![item occupied]) {
[item setUrl: url];
return NO;
}
}
// add an extra item...
if (!_children) _children = [NSMutableArray new];
NSUInteger ix = [_children count];
MediaItem *item = [MediaItem new];
[item setIndex: ix];
[item setCategory: _category];
[item setUrl: url];
[item setValid: ix < _validCount];
[_children addObject: item];
if (_view) {
NSIndexSet *set = [NSIndexSet indexSetWithIndex: ix];
[_view insertItemsAtIndexes: set
inParent: self
withAnimation: NSTableViewAnimationEffectFade];
}
return YES;
}
-(BOOL)pruneChildren {
NSUInteger count = [_children count];
BOOL delta = NO;
if (_validCount == count) return NO;
@@ -158,15 +177,15 @@ enum {
}
if (delta) {
if (view)
[view removeItemsAtIndexes: set inParent: self withAnimation: NSTableViewAnimationEffectFade];
if (_view)
[_view removeItemsAtIndexes: set inParent: self withAnimation: NSTableViewAnimationEffectFade];
return YES;
}
return NO;
}
-(BOOL)moveItemFrom: (NSInteger)oldIndex to: (NSInteger)newIndex outlineView: (NSOutlineView *)view {
-(BOOL)moveItemFrom: (NSInteger)oldIndex to: (NSInteger)newIndex {
if (newIndex == oldIndex) return NO;
NSUInteger count = [_children count];
if (oldIndex >= count) return NO;
@@ -179,7 +198,7 @@ enum {
} else {
[_children insertObject: item atIndex: newIndex];
}
if (view) [view moveItemAtIndex: oldIndex inParent: self toIndex: newIndex inParent: self];
if (_view) [_view moveItemAtIndex: oldIndex inParent: self toIndex: newIndex inParent: self];
// re-index and re-validate.
unsigned ix = 0;
@@ -191,7 +210,7 @@ enum {
++ix;
}
[self pruneChildrenWithOutlineView: view];
[self pruneChildren];
//[view reloadItem: self reloadChildren: YES];
return YES;
}
@@ -248,11 +267,23 @@ enum {
-(NSString *)viewIdentifier {
if (_category == kIndexBitBanger) return @"BBItemView";
if (_category == kIndexMidiOut) return @"MidiItemView";
if (_category == kIndexMidiIn) return @"MidiItemView";
return @"ItemView";
}
-(void)prepareView: (TablePathView *)view {
-(void)prepareView: (MediaTableCellView *)view {
/* set the path tag = category. */
[view prepareView: _category];
#if 0
if (_category == kIndexMidiIn || _category == kIndexMidiOut || _category == kIndexBitBanger) {
return;
}
NSPathControl *pc = [view pathControl];
[pc setTag: _category + 1]; // to differentiate 0 / no path control.
#endif
}
-(CGFloat)height {
@@ -271,7 +302,7 @@ enum {
@interface MediaViewController () {
MediaCategory *_data[CATEGORY_COUNT];
NSArray *_root;
NSMutableArray *_root;
Media _media;
BOOL _loadingBookmark;
@@ -298,10 +329,16 @@ enum {
_data[kIndexDiskImage] = [MediaCategory categoryWithTitle: @"Hard Disk Images"]; // Mac Nubus psuedo image device
_data[kIndexBitBanger] = [MediaCategory categoryWithTitle: @"Serial Bit Banger"]; // null_modem
for (unsigned i = 0; i < CATEGORY_COUNT; ++i)
_data[kIndexMidiIn] = [MediaCategory categoryWithTitle: @"MIDI (In)"];
_data[kIndexMidiOut] = [MediaCategory categoryWithTitle: @"MIDI (Out)"];
_data[kIndexPicture] = [MediaCategory categoryWithTitle: @"Picture"];
for (unsigned i = 0; i < CATEGORY_COUNT; ++i) {
[_data[i] setCategory: i];
[_data[i] setIndex: -1];
}
_root = @[];
_root = [NSMutableArray new];
}
@@ -310,35 +347,55 @@ enum {
-(void)rebuildArgs {
static char* prefix[] = {
"flop", "flop", "hard", "cdrm", "cass", "disk", "bitb",
"flop", "flop", "hard", "cdrm", "cass", "disk", "bitb", "min", "mout", "pic"
};
static_assert(SIZEOF(prefix) == CATEGORY_COUNT, "Missing item");
NSMutableArray *args = [NSMutableArray new];
unsigned counts[CATEGORY_COUNT] = { 0 };
//unsigned counts[CATEGORY_COUNT] = { 0 };
for (unsigned j = 0; j < CATEGORY_COUNT; ++j) {
uint64_t floppy_mask = _media.floppy_mask;
unsigned index = 0;
MediaCategory *cat = _data[j];
NSInteger valid = [cat validCount];
for (NSInteger i = 0; i < valid; ++i) {
counts[j]++;
MediaItem *item = [cat objectAtIndex: i];
NSString *arg = [item argument];
if (arg) {
[args addObject: [NSString stringWithFormat: @"-%s%u", prefix[j], counts[j]]];
[args addObject: arg];
if (j == kIndexFloppy525) {
// assumes < 64 floppies....
// infinite loop if no floppy device...
if (floppy_mask == 0) break;
while ((floppy_mask & 0x01) == 0) {
floppy_mask >>= 1;
++index;
}
} else if (j == kIndexFloppy35) {
while ((floppy_mask & 0x01)) {
floppy_mask >>= 1;
++index;
}
}
++index;
floppy_mask >>= 1;
if (!arg) continue;
[args addObject: [NSString stringWithFormat: @"-%s%u", prefix[j], index]];
[args addObject: arg];
}
if (j == 0) counts[1] = counts[0]; // 3.5/5.25
}
[self setArgs: args];
}
-(void)rebuildRoot {
NSMutableArray *tmp = [NSMutableArray new];
int ix = 0;
for (unsigned j = 0 ; j < CATEGORY_COUNT; ++j) {
@@ -362,6 +419,8 @@ enum {
-(void)setMedia: (Media)media {
// todo -- fancy diff algorithm to animate changes.
MediaCategory *cat;
BOOL delta = NO;
unsigned x;
@@ -369,6 +428,8 @@ enum {
if (MediaEqual(&_media, &media)) return;
_media = media;
[_outlineView beginUpdates];
#undef _
#define _(name, index) \
@@ -380,12 +441,24 @@ x = media.name; cat = _data[index]; delta |= [cat setItemCount: x]
_(floppy_5_25, kIndexFloppy525);
_(pseudo_disk, kIndexDiskImage);
_(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);
_(midiout, kIndexMidiOut);
#endif
_(picture, kIndexPicture);
if (delta) {
[self rebuildRoot];
if (!_loadingBookmark) [self rebuildArgs];
}
[_outlineView endUpdates];
}
-(void)resetDiskImages {
@@ -403,7 +476,7 @@ x = media.name; cat = _data[index]; delta |= [cat setItemCount: x]
[item setString: nil];
delta = YES;
}
if ([cat pruneChildrenWithOutlineView: _outlineView]) delta = YES;
if ([cat pruneChildren]) delta = YES;
}
if (delta) {
[self rebuildRoot];
@@ -413,7 +486,9 @@ x = media.name; cat = _data[index]; delta |= [cat setItemCount: x]
static NSString *kDragType = @"private.ample.media";
- (void)viewDidLoad {
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
[super viewDidLoad];
//NSOutlineView *view = [self view];
@@ -424,6 +499,21 @@ static NSString *kDragType = @"private.ample.media";
[_outlineView expandItem: nil expandChildren: YES];
[_outlineView registerForDraggedTypes: @[kDragType]];
for (unsigned i = 0; i < CATEGORY_COUNT; ++i)
[_data[i] setView: _outlineView];
[nc addObserver: self selector: @selector(magicRouteNotification:) name: kNotificationDiskImageMagicRoute object: nil];
}
-(void)viewWillDisappear {
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
[nc removeObserver: self];
for (unsigned i = 0; i < CATEGORY_COUNT; ++i)
[_data[i] setView: nil];
}
#pragma mark - NSOutlineViewDelegate
@@ -586,7 +676,7 @@ static NSString *kDragType = @"private.ample.media";
}
- (BOOL)outlineView:(NSOutlineView *)outlineView acceptDrop:(id<NSDraggingInfo>)info item:(id)item childIndex:(NSInteger)index {
if (index < 0) return NO;
@@ -620,7 +710,7 @@ static NSString *kDragType = @"private.ample.media";
NSInteger oldIndex = indexes[1];
[_outlineView beginUpdates];
[cat moveItemFrom: oldIndex to: index outlineView: _outlineView];
[cat moveItemFrom: oldIndex to: index];
[_outlineView endUpdates];
[self rebuildArgs];
@@ -646,24 +736,53 @@ static NSString *kDragType = @"private.ample.media";
if (![item valid]) {
MediaCategory *cat = [_outlineView parentForItem: item];
[_outlineView beginUpdates];
[cat pruneChildrenWithOutlineView: _outlineView];
[cat pruneChildren];
// remove the entire category??
if (![cat validCount] && ![cat count]) {
NSUInteger ix = [_root indexOfObject: cat];
if (ix != NSNotFound) {
NSIndexSet *set = [NSIndexSet indexSetWithIndex: ix];
[_outlineView removeItemsAtIndexes: set
inParent: nil
withAnimation: NSTableViewAnimationEffectFade];
[_root removeObjectAtIndex: ix];
[cat setIndex: -1];
}
}
[_outlineView endUpdates];
}
// todo -- if this eliminates a category completely, it will still be included
// since we're now using animaations instead of reloading.
[self rebuildArgs];
}
- (IBAction)pathAction:(id)sender {
NSURL *url = [(NSPathControl *)sender URL];
NSInteger tag = [sender tag];
// TODO - don't add to recent disks if this is a bitbanger / midi / printer device.
if (url && tag == 0) {
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
[nc postNotificationName: @"DiskImageAdded" object: url];
NSInteger tag = [sender tag] - 1;
switch(tag) {
case kIndexFloppy525:
case kIndexFloppy35:
case kIndexHardDrive:
case kIndexCDROM:
case kIndexCassette:
case kIndexDiskImage:
if (url) {
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
[nc postNotificationName: kNotificationDiskImageAdded object: url];
}
break;
// not disk images or don't use a path control.
case kIndexPicture:
case kIndexMidiIn:
case kIndexMidiOut:
case kIndexBitBanger:
default: break;
}
[self rebuildArgs];
@@ -672,11 +791,71 @@ static NSString *kDragType = @"private.ample.media";
-(IBAction)textAction: (id)sender {
[self rebuildArgs];
}
- (IBAction)midiAction:(id)sender {
[self rebuildArgs];
}
-(IBAction)resetMedia:(id)sender {
[self resetDiskImages];
}
-(void)magicRouteNotification: (NSNotification *)notification {
NSDictionary *userInfo = [notification userInfo];
id path = [userInfo objectForKey: @"path"];
if ([path isKindOfClass: [NSURL class]]) {
[self smartRouteURL: path];
return;
}
if ([path isKindOfClass: [NSString class]]) {
NSURL *url = [NSURL fileURLWithPath: path];
[self smartRouteURL: url];
return;
}
}
/*
* given a file, add it to the media list.
* TODO - how to handle if full or media type missing?
*/
-(BOOL)smartRouteURL: (NSURL *)url {
if (!url) return NO;
MediaType mt = ClassifyMediaFile(url);
if (mt < 1) return NO; // unknown / error.
unsigned ix = 0;
switch(mt) {
case MediaType_3_5: ix = kIndexFloppy35; break;
case MediaType_5_25: ix = kIndexFloppy525; break;
case MediaType_Cassette: ix = kIndexCassette; break;
case MediaType_HardDisk: ix = kIndexHardDrive; break;
case MediaType_CDROM: ix = kIndexCDROM; break;
case MediaType_Picture: ix = kIndexPicture; break;
case MediaType_MIDI: // ix = kIndexMidiIn; break;
case MediaTypeError:
case MediaTypeUnknown:
return NO;
}
[_outlineView beginUpdates];
// todo -- check root, insert if necessary?
MediaCategory *cat = _data[ix];
[cat addURL: url];
[_outlineView endUpdates];
[self rebuildArgs];
return YES;
}
-(BOOL)smartRouteFile: (NSString *)file {
return NO;
}
@end
@implementation MediaViewController (Bookmark)
@@ -694,7 +873,7 @@ static NSString *kDragType = @"private.ample.media";
}
static NSString * BookmarkStrings[] = {
@"flop_525", @"flop_35", @"hard", @"cdrm", @"cass", @"disk", @"bitb",
@"flop_525", @"flop_35", @"hard", @"cdrm", @"cass", @"disk", @"bitb", @"midiin", @"midiout", @"pic"
};
static_assert(SIZEOF(BookmarkStrings) == CATEGORY_COUNT, "Missing item");
@@ -730,7 +909,7 @@ static int BookmarkIndex(NSString *str) {
MediaItem *item = [cat objectAtIndex: i++];
if (![path length]) continue;
if (ix == kIndexBitBanger) {
if (ix == kIndexBitBanger || ix == kIndexMidiOut || ix == kIndexMidiIn) {
[item setString: path];
} else {
NSURL *url = [NSURL fileURLWithPath: path];
@@ -762,7 +941,7 @@ static int BookmarkIndex(NSString *str) {
MediaItem *item = [cat objectAtIndex: i++];
if (![path length]) continue;
if (ix == kIndexBitBanger) {
if (ix == kIndexBitBanger || ix == kIndexMidiOut || ix == kIndexMidiIn) {
[item setString: path];
} else {
NSURL *url = [NSURL fileURLWithPath: path];
@@ -817,5 +996,4 @@ static void CompressArray(NSMutableArray *array) {
return YES;
}
@end
+25
View File
@@ -0,0 +1,25 @@
//
// MidiManager.h
// Ample
//
// Created by Kelvin Sherlock on 8/6/2021.
// Copyright © 2021 Kelvin Sherlock. All rights reserved.
//
#ifndef MidiManager_h
#define MidiManager_h
extern NSString *kMidiSourcesChangedNotification;
extern NSString *kMidiDestinationsChangedNotification;
@interface MidiManager : NSObject
@property NSArray *sources;
@property NSArray *destinations;
+(instancetype)sharedManager;
@end
#endif /* MidiManager_h */
+153
View File
@@ -0,0 +1,153 @@
//
// Midi.m
// Ample
//
// Created by Kelvin Sherlock on 8/6/2021.
// Copyright © 2021 Kelvin Sherlock. All rights reserved.
//
#import <Foundation/Foundation.h>
#import <CoreMIDI/CoreMIDI.h>
#import "MidiManager.h"
static NSArray *MidiSources(void) {
ItemCount count = MIDIGetNumberOfSources();
if (count <= 0) return @[];
NSMutableArray *rv = [NSMutableArray arrayWithCapacity: count + 1];
MIDIEndpointRef ep;
for(int i = 0; i < count; ++i) {
ep = MIDIGetSource(i);
if (!ep) continue;
// https://developer.apple.com/library/archive/qa/qa1374/_index.html
CFStringRef str = NULL;
MIDIObjectGetStringProperty(ep, kMIDIPropertyDisplayName, &str);
if (str) {
[rv addObject: (__bridge id _Nonnull)(str)];
CFRelease(str);
}
}
return rv;
}
static NSArray *MidiDestinations(void) {
ItemCount count = MIDIGetNumberOfDestinations();
if (count <= 0) return @[];
NSMutableArray *rv = [NSMutableArray arrayWithCapacity: count + 1];
MIDIEndpointRef ep;
for(int i = 0; i < count; ++i) {
ep = MIDIGetDestination(i);
if (!ep) continue;
// https://developer.apple.com/library/archive/qa/qa1374/_index.html
CFStringRef str = NULL;
MIDIObjectGetStringProperty(ep, kMIDIPropertyDisplayName, &str);
if (str) {
[rv addObject: (__bridge id _Nonnull)(str)];
CFRelease(str);
}
}
return rv;
}
NSString *kMidiSourcesChangedNotification = @"Midi Sources Changed";
NSString *kMidiDestinationsChangedNotification = @"Midi Destinations Changed";
@interface MidiManager () {
MIDIClientRef _client;
}
-(void)objectAddRemove: (const MIDIObjectAddRemoveNotification *)message;
-(void)objectPropertyChanged: (const MIDIObjectPropertyChangeNotification *)message;
@end
static MidiManager *singleton = nil;
@implementation MidiManager
-(void)awakeFromNib {
if (!singleton) singleton = self;
}
+(instancetype)sharedManager {
if (!singleton) singleton = [MidiManager new];
return singleton;
}
-(instancetype)init {
if (singleton) return singleton;
OSStatus status;
status = MIDIClientCreateWithBlock(
CFSTR("serial_midi"),
&_client,
^(const MIDINotification *message){
switch(message->messageID) {
case kMIDIMsgObjectAdded:
case kMIDIMsgObjectRemoved:
[self objectAddRemove: (const MIDIObjectAddRemoveNotification *)message];
break;
case kMIDIMsgPropertyChanged:
[self objectPropertyChanged: (const MIDIObjectPropertyChangeNotification *)message];
default:
break;
}
});
_sources = MidiSources();
_destinations = MidiDestinations();
return self;
}
-(void)objectAddRemove: (const MIDIObjectAddRemoveNotification *)message {
const MIDIObjectAddRemoveNotification *m = (const MIDIObjectAddRemoveNotification *)message;
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
if (m->childType == kMIDIObjectType_Source) {
[self setSources: MidiSources()];
[nc postNotificationName: kMidiSourcesChangedNotification object: self];
}
if (m->childType == kMIDIObjectType_Destination) {
[self setDestinations: MidiDestinations()];
[nc postNotificationName: kMidiDestinationsChangedNotification object: self];
}
}
-(void)objectPropertyChanged: (const MIDIObjectPropertyChangeNotification *)message {
const MIDIObjectPropertyChangeNotification *m = (const MIDIObjectPropertyChangeNotification *)message;
if (m->propertyName == kMIDIPropertyDisplayName) {
[self setSources: MidiSources()];
[self setDestinations: MidiDestinations()];
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
[nc postNotificationName: kMidiSourcesChangedNotification object: self];
[nc postNotificationName: kMidiDestinationsChangedNotification object: self];
}
}
-(void)dealloc {
if (_client)
MIDIClientDispose(_client);
}
@end
+6 -3
View File
@@ -51,7 +51,7 @@
border: solid 1px black;
text-shadow: 0px 1px 0px black;
box-shadow: 1px 1px 2px 0px rgba(0,0,0,0.75);
background-color: rgb(101, 101, 101);
background-color: rgb(101, 101, 101);
}
}
</style>
@@ -104,14 +104,17 @@
<td>Toggle full screen mode</td>
</tr>
<tr>
<td><kbd>F12</kbd></td>
<td>
<span data-macbook=false><kbd>F12</kbd></span>
<span data-macbook=true><kbd>Fn</kbd>+<kbd>F12</kbd></span>
</td>
<td>Reset Key</td>
</tr>
</tbody>
</table>
<h1>Partial UI Mode</h1>
<table>
<colgroup>
<col style="width: 14em;" />
+508 -23
View File
@@ -5,7 +5,7 @@
<key>value</key>
<string>ace100</string>
<key>description</key>
<string>Franklin Ace 100</string>
<string>Franklin ACE 100</string>
<key>media</key>
<dict>
<key>cass</key>
@@ -368,7 +368,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -376,7 +376,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -403,6 +403,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -436,6 +441,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -540,6 +553,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -862,7 +891,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -870,7 +899,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -897,6 +926,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -930,6 +964,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -1034,6 +1076,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -1356,7 +1414,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -1364,7 +1422,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -1391,6 +1449,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -1424,6 +1487,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -1528,6 +1599,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -1850,7 +1937,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -1858,7 +1945,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -1885,6 +1972,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -1918,6 +2010,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -2022,6 +2122,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -2346,7 +2462,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -2354,7 +2470,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -2381,6 +2497,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -2414,6 +2535,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -2518,6 +2647,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -2842,7 +2987,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -2850,7 +2995,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -2877,6 +3022,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -2910,6 +3060,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -3014,6 +3172,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -3336,7 +3510,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -3344,7 +3518,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -3371,6 +3545,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -3404,6 +3583,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -3508,6 +3695,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -3652,6 +3855,11 @@
<string>Digital Vision ComputerEyes</string>
<key>devname</key>
<string>a2ceyes</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -3752,7 +3960,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -3870,7 +4078,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -3952,6 +4160,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -4365,7 +4581,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4483,7 +4699,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4611,6 +4827,11 @@
<string>MIDI In port</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>midiin</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
@@ -4634,6 +4855,11 @@
<string>MIDI Out port</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>midiout</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
@@ -4717,7 +4943,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4835,7 +5061,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4893,6 +5119,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4934,13 +5173,26 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
<key>description</key>
<string>CD-ROM</string>
<key>default</key>
<true/>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
@@ -4975,6 +5227,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5016,6 +5281,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5057,6 +5335,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5098,6 +5389,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5139,6 +5443,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5211,6 +5528,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5446,7 +5771,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -5617,6 +5942,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5753,6 +6086,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5910,6 +6251,150 @@
</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>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>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS232 Loopback</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS232 Null Modem</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS232 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>
+507 -22
View File
@@ -308,7 +308,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -316,7 +316,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -343,6 +343,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -376,6 +381,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -480,6 +493,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -802,7 +831,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -810,7 +839,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -837,6 +866,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -870,6 +904,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -974,6 +1016,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -1296,7 +1354,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -1304,7 +1362,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -1331,6 +1389,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -1364,6 +1427,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -1468,6 +1539,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -1790,7 +1877,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -1798,7 +1885,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -1825,6 +1912,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -1858,6 +1950,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -1962,6 +2062,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -2286,7 +2402,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -2294,7 +2410,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -2321,6 +2437,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -2354,6 +2475,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -2458,6 +2587,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -2782,7 +2927,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -2790,7 +2935,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -2817,6 +2962,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -2850,6 +3000,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -2954,6 +3112,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -3276,7 +3450,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -3284,7 +3458,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -3311,6 +3485,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -3344,6 +3523,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -3448,6 +3635,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -3592,6 +3795,11 @@
<string>Digital Vision ComputerEyes</string>
<key>devname</key>
<string>a2ceyes</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -3692,7 +3900,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -3810,7 +4018,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -3892,6 +4100,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -4305,7 +4521,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4423,7 +4639,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4551,6 +4767,11 @@
<string>MIDI In port</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>midiin</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
@@ -4574,6 +4795,11 @@
<string>MIDI Out port</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>midiout</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
@@ -4657,7 +4883,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4775,7 +5001,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4833,6 +5059,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4874,13 +5113,26 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
<key>description</key>
<string>CD-ROM</string>
<key>default</key>
<true/>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
@@ -4915,6 +5167,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4956,6 +5221,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4997,6 +5275,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5038,6 +5329,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5079,6 +5383,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5151,6 +5468,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5386,7 +5711,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -5557,6 +5882,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5693,6 +6026,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5850,6 +6191,150 @@
</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>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>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS232 Loopback</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS232 Null Modem</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS232 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>
File diff suppressed because it is too large. Load diff
+543
View File
@@ -0,0 +1,543 @@
<?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>ace500</string>
<key>description</key>
<string>Franklin ACE 500</string>
<key>media</key>
<dict>
</dict>
<key>resolution</key>
<array>
<integer>560</integer>
<integer>384</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>131072</integer>
<key>description</key>
<string>128K</string>
<key>value</key>
<string>128K</string>
<key>default</key>
<true/>
</dict>
</array>
</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>
<key>name</key>
<string>gameio</string>
<key>description</key>
<string>Game I/O</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>joy</string>
<key>description</key>
<string>Apple II analog joysticks</string>
<key>devname</key>
<string>a2joy</string>
</dict>
<dict>
<key>value</key>
<string>paddles</string>
<key>description</key>
<string>Apple II paddles</string>
<key>devname</key>
<string>a2pdls</string>
</dict>
<dict>
<key>value</key>
<string>compeyes</string>
<key>description</key>
<string>Digital Vision ComputerEyes</string>
<key>devname</key>
<string>a2ceyes</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>devname</key>
<string>a2gizmo</string>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>modem</string>
<key>description</key>
<string>Modem</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>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>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>loopback</string>
<key>description</key>
<string>RS232 Loopback</string>
<key>devname</key>
<string>rs232_loopback</string>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS232 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>RS232 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>rs232_sync_io</string>
<key>description</key>
<string>RS232 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>sl6: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>sl6: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>
<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>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>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS232 Loopback</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS232 Null Modem</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS232 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>apple2_flop_clcracked.xml</string>
<dict>
<key>name</key>
<string>apple2_flop_orig.xml</string>
<key>filter</key>
<string>A2C</string>
</dict>
<string>apple2_flop_misc.xml</string>
</array>
</dict>
</plist>
+22 -1
View File
@@ -396,6 +396,27 @@
</array>
</dict>
</array>
<key>bios</key>
<array>
<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>
<key>devices</key>
<array>
<dict>
@@ -476,7 +497,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
+16 -1
View File
@@ -492,6 +492,21 @@
</array>
</dict>
</array>
<key>bios</key>
<array>
<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>
<key>devices</key>
<array>
<dict>
@@ -572,7 +587,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
+507 -22
View File
@@ -308,7 +308,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -316,7 +316,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -343,6 +343,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -376,6 +381,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -480,6 +493,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -802,7 +831,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -810,7 +839,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -837,6 +866,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -870,6 +904,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -974,6 +1016,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -1296,7 +1354,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -1304,7 +1362,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -1331,6 +1389,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -1364,6 +1427,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -1468,6 +1539,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -1790,7 +1877,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -1798,7 +1885,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -1825,6 +1912,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -1858,6 +1950,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -1962,6 +2062,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -2286,7 +2402,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -2294,7 +2410,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -2321,6 +2437,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -2354,6 +2475,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -2458,6 +2587,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -2782,7 +2927,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -2790,7 +2935,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -2817,6 +2962,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -2850,6 +3000,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -2954,6 +3112,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -3276,7 +3450,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -3284,7 +3458,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -3311,6 +3485,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -3344,6 +3523,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -3448,6 +3635,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -3592,6 +3795,11 @@
<string>Digital Vision ComputerEyes</string>
<key>devname</key>
<string>a2ceyes</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -3692,7 +3900,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -3810,7 +4018,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -3892,6 +4100,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -4305,7 +4521,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4423,7 +4639,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4551,6 +4767,11 @@
<string>MIDI In port</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>midiin</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
@@ -4574,6 +4795,11 @@
<string>MIDI Out port</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>midiout</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
@@ -4657,7 +4883,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4775,7 +5001,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4833,6 +5059,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4874,13 +5113,26 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
<key>description</key>
<string>CD-ROM</string>
<key>default</key>
<true/>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
@@ -4915,6 +5167,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4956,6 +5221,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4997,6 +5275,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5038,6 +5329,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5079,6 +5383,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5151,6 +5468,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5386,7 +5711,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -5557,6 +5882,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5693,6 +6026,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5850,6 +6191,150 @@
</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>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>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS232 Loopback</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS232 Null Modem</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS232 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>
+507 -22
View File
@@ -308,7 +308,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -316,7 +316,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -343,6 +343,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -376,6 +381,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -480,6 +493,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -802,7 +831,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -810,7 +839,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -837,6 +866,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -870,6 +904,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -974,6 +1016,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -1296,7 +1354,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -1304,7 +1362,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -1331,6 +1389,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -1364,6 +1427,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -1468,6 +1539,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -1790,7 +1877,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -1798,7 +1885,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -1825,6 +1912,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -1858,6 +1950,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -1962,6 +2062,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -2286,7 +2402,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -2294,7 +2410,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -2321,6 +2437,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -2354,6 +2475,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -2458,6 +2587,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -2782,7 +2927,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -2790,7 +2935,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -2817,6 +2962,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -2850,6 +3000,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -2954,6 +3112,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -3276,7 +3450,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -3284,7 +3458,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -3311,6 +3485,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -3344,6 +3523,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -3448,6 +3635,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -3592,6 +3795,11 @@
<string>Digital Vision ComputerEyes</string>
<key>devname</key>
<string>a2ceyes</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -3692,7 +3900,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -3810,7 +4018,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -3892,6 +4100,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -4305,7 +4521,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4423,7 +4639,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4551,6 +4767,11 @@
<string>MIDI In port</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>midiin</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
@@ -4574,6 +4795,11 @@
<string>MIDI Out port</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>midiout</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
@@ -4657,7 +4883,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4775,7 +5001,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4833,6 +5059,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4874,13 +5113,26 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
<key>description</key>
<string>CD-ROM</string>
<key>default</key>
<true/>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
@@ -4915,6 +5167,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4956,6 +5221,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4997,6 +5275,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5038,6 +5329,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5079,6 +5383,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5151,6 +5468,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5386,7 +5711,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -5557,6 +5882,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5693,6 +6026,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5850,6 +6191,150 @@
</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>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>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS232 Loopback</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS232 Null Modem</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS232 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>
+507 -22
View File
@@ -308,7 +308,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -316,7 +316,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -343,6 +343,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -376,6 +381,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -480,6 +493,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -802,7 +831,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -810,7 +839,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -837,6 +866,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -870,6 +904,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -974,6 +1016,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -1296,7 +1354,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -1304,7 +1362,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -1331,6 +1389,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -1364,6 +1427,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -1468,6 +1539,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -1790,7 +1877,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -1798,7 +1885,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -1825,6 +1912,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -1858,6 +1950,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -1962,6 +2062,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -2286,7 +2402,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -2294,7 +2410,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -2321,6 +2437,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -2354,6 +2475,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -2458,6 +2587,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -2782,7 +2927,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -2790,7 +2935,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -2817,6 +2962,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -2850,6 +3000,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -2954,6 +3112,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -3276,7 +3450,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -3284,7 +3458,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -3311,6 +3485,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -3344,6 +3523,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -3448,6 +3635,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -3592,6 +3795,11 @@
<string>Digital Vision ComputerEyes</string>
<key>devname</key>
<string>a2ceyes</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -3692,7 +3900,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -3810,7 +4018,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -3892,6 +4100,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -4305,7 +4521,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4423,7 +4639,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4551,6 +4767,11 @@
<string>MIDI In port</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>midiin</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
@@ -4574,6 +4795,11 @@
<string>MIDI Out port</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>midiout</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
@@ -4657,7 +4883,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4775,7 +5001,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4833,6 +5059,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4874,13 +5113,26 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
<key>description</key>
<string>CD-ROM</string>
<key>default</key>
<true/>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
@@ -4915,6 +5167,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4956,6 +5221,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4997,6 +5275,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5038,6 +5329,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5079,6 +5383,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5151,6 +5468,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5386,7 +5711,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -5557,6 +5882,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5693,6 +6026,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5850,6 +6191,150 @@
</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>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>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS232 Loopback</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS232 Null Modem</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS232 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>
+522 -22
View File
@@ -368,7 +368,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -376,7 +376,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -403,6 +403,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -436,6 +441,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -540,6 +553,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -862,7 +891,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -870,7 +899,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -897,6 +926,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -930,6 +964,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -1034,6 +1076,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -1356,7 +1414,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -1364,7 +1422,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -1391,6 +1449,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -1424,6 +1487,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -1528,6 +1599,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -1850,7 +1937,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -1858,7 +1945,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -1885,6 +1972,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -1918,6 +2010,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -2022,6 +2122,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -2346,7 +2462,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -2354,7 +2470,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -2381,6 +2497,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -2414,6 +2535,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -2518,6 +2647,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -2842,7 +2987,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -2850,7 +2995,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -2877,6 +3022,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -2910,6 +3060,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -3014,6 +3172,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -3336,7 +3510,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -3344,7 +3518,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -3371,6 +3545,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -3404,6 +3583,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -3508,6 +3695,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -3652,6 +3855,11 @@
<string>Digital Vision ComputerEyes</string>
<key>devname</key>
<string>a2ceyes</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -3672,6 +3880,21 @@
</array>
</dict>
</array>
<key>bios</key>
<array>
<dict>
<key>value</key>
<string>default</string>
<key>description</key>
<string>Original Monitor</string>
</dict>
<dict>
<key>value</key>
<string>autostart</string>
<key>description</key>
<string>Autostart Monitor</string>
</dict>
</array>
<key>devices</key>
<array>
<dict>
@@ -3752,7 +3975,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -3870,7 +4093,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -3952,6 +4175,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -4365,7 +4596,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4483,7 +4714,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4611,6 +4842,11 @@
<string>MIDI In port</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>midiin</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
@@ -4634,6 +4870,11 @@
<string>MIDI Out port</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>midiout</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
@@ -4717,7 +4958,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4835,7 +5076,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4893,6 +5134,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4934,13 +5188,26 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
<key>description</key>
<string>CD-ROM</string>
<key>default</key>
<true/>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
@@ -4975,6 +5242,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5016,6 +5296,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5057,6 +5350,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5098,6 +5404,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5139,6 +5458,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5211,6 +5543,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5446,7 +5786,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -5617,6 +5957,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5753,6 +6101,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5910,6 +6266,150 @@
</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>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>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS232 Loopback</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS232 Null Modem</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS232 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>
+165
View File
@@ -92,6 +92,11 @@
<string>Digital Vision ComputerEyes</string>
<key>devname</key>
<string>a2ceyes</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -142,6 +147,14 @@
<key>devname</key>
<string>rs_serial_printer</string>
</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>loopback</string>
@@ -273,6 +286,14 @@
<key>devname</key>
<string>rs_serial_printer</string>
</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>loopback</string>
@@ -431,6 +452,150 @@
</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>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>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS232 Loopback</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS232 Null Modem</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS232 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>
+165
View File
@@ -117,6 +117,11 @@
<string>Digital Vision ComputerEyes</string>
<key>devname</key>
<string>a2ceyes</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -167,6 +172,14 @@
<key>devname</key>
<string>rs_serial_printer</string>
</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>loopback</string>
@@ -298,6 +311,14 @@
<key>devname</key>
<string>rs_serial_printer</string>
</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>loopback</string>
@@ -393,6 +414,150 @@
</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>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>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS232 Loopback</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS232 Null Modem</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS232 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>
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
+507 -22
View File
@@ -308,7 +308,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -316,7 +316,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -343,6 +343,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -376,6 +381,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -480,6 +493,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -802,7 +831,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -810,7 +839,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -837,6 +866,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -870,6 +904,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -974,6 +1016,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -1296,7 +1354,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -1304,7 +1362,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -1331,6 +1389,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -1364,6 +1427,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -1468,6 +1539,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -1790,7 +1877,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -1798,7 +1885,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -1825,6 +1912,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -1858,6 +1950,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -1962,6 +2062,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -2286,7 +2402,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -2294,7 +2410,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -2321,6 +2437,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -2354,6 +2475,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -2458,6 +2587,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -2782,7 +2927,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -2790,7 +2935,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -2817,6 +2962,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -2850,6 +3000,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -2954,6 +3112,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -3276,7 +3450,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -3284,7 +3458,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -3311,6 +3485,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -3344,6 +3523,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -3448,6 +3635,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -3592,6 +3795,11 @@
<string>Digital Vision ComputerEyes</string>
<key>devname</key>
<string>a2ceyes</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -3692,7 +3900,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -3810,7 +4018,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -3892,6 +4100,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -4305,7 +4521,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4423,7 +4639,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4551,6 +4767,11 @@
<string>MIDI In port</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>midiin</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
@@ -4574,6 +4795,11 @@
<string>MIDI Out port</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>midiout</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
@@ -4657,7 +4883,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4775,7 +5001,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4833,6 +5059,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4874,13 +5113,26 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
<key>description</key>
<string>CD-ROM</string>
<key>default</key>
<true/>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
@@ -4915,6 +5167,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4956,6 +5221,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4997,6 +5275,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5038,6 +5329,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5079,6 +5383,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5151,6 +5468,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5386,7 +5711,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -5557,6 +5882,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5693,6 +6026,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5850,6 +6191,150 @@
</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>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>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS232 Loopback</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS232 Null Modem</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS232 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>
+507 -22
View File
@@ -308,7 +308,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -316,7 +316,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -343,6 +343,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -376,6 +381,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -480,6 +493,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -802,7 +831,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -810,7 +839,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -837,6 +866,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -870,6 +904,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -974,6 +1016,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -1296,7 +1354,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -1304,7 +1362,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -1331,6 +1389,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -1364,6 +1427,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -1468,6 +1539,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -1790,7 +1877,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -1798,7 +1885,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -1825,6 +1912,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -1858,6 +1950,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -1962,6 +2062,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -2286,7 +2402,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -2294,7 +2410,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -2321,6 +2437,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -2354,6 +2475,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -2458,6 +2587,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -2782,7 +2927,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -2790,7 +2935,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -2817,6 +2962,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -2850,6 +3000,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -2954,6 +3112,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -3276,7 +3450,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -3284,7 +3458,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -3311,6 +3485,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -3344,6 +3523,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -3448,6 +3635,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -3592,6 +3795,11 @@
<string>Digital Vision ComputerEyes</string>
<key>devname</key>
<string>a2ceyes</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -3692,7 +3900,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -3810,7 +4018,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -3892,6 +4100,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -4305,7 +4521,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4423,7 +4639,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4551,6 +4767,11 @@
<string>MIDI In port</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>midiin</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
@@ -4574,6 +4795,11 @@
<string>MIDI Out port</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>midiout</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
@@ -4657,7 +4883,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4775,7 +5001,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4833,6 +5059,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4874,13 +5113,26 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
<key>description</key>
<string>CD-ROM</string>
<key>default</key>
<true/>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
@@ -4915,6 +5167,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4956,6 +5221,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4997,6 +5275,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5038,6 +5329,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5079,6 +5383,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5151,6 +5468,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5386,7 +5711,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -5557,6 +5882,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5693,6 +6026,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5850,6 +6191,150 @@
</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>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>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS232 Loopback</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS232 Null Modem</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS232 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>
+331 -4
View File
@@ -101,7 +101,7 @@
<key>value</key>
<string>cffa2</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -113,6 +113,22 @@
<key>disabled</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>softcard3</string>
<key>description</key>
<string>Microsoft SoftCard ///</string>
<key>devname</key>
<string>softcard3</string>
</dict>
<dict>
<key>value</key>
<string>focusdrive</string>
@@ -182,7 +198,7 @@
<key>value</key>
<string>cffa2</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -194,6 +210,22 @@
<key>disabled</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>softcard3</string>
<key>description</key>
<string>Microsoft SoftCard ///</string>
<key>devname</key>
<string>softcard3</string>
</dict>
<dict>
<key>value</key>
<string>focusdrive</string>
@@ -263,7 +295,7 @@
<key>value</key>
<string>cffa2</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -275,6 +307,22 @@
<key>disabled</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>softcard3</string>
<key>description</key>
<string>Microsoft SoftCard ///</string>
<key>devname</key>
<string>softcard3</string>
</dict>
<dict>
<key>value</key>
<string>focusdrive</string>
@@ -344,7 +392,7 @@
<key>value</key>
<string>cffa2</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -356,6 +404,22 @@
<key>disabled</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>softcard3</string>
<key>description</key>
<string>Microsoft SoftCard ///</string>
<key>devname</key>
<string>softcard3</string>
</dict>
<dict>
<key>value</key>
<string>focusdrive</string>
@@ -437,6 +501,14 @@
<key>devname</key>
<string>rs_serial_printer</string>
</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>loopback</string>
@@ -530,6 +602,21 @@
</array>
</dict>
</array>
<key>bios</key>
<array>
<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>
<key>devices</key>
<array>
<dict>
@@ -847,6 +934,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -888,6 +988,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -929,6 +1042,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -970,6 +1096,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -1011,6 +1150,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -1052,6 +1204,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -1093,6 +1258,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -1123,6 +1301,150 @@
</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>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>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS232 Loopback</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS232 Null Modem</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS232 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>
@@ -1234,6 +1556,11 @@
<string>Digital Vision ComputerEyes</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
+507 -22
View File
@@ -368,7 +368,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -376,7 +376,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -403,6 +403,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -436,6 +441,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -540,6 +553,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -862,7 +891,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -870,7 +899,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -897,6 +926,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -930,6 +964,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -1034,6 +1076,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -1356,7 +1414,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -1364,7 +1422,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -1391,6 +1449,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -1424,6 +1487,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -1528,6 +1599,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -1850,7 +1937,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -1858,7 +1945,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -1885,6 +1972,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -1918,6 +2010,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -2022,6 +2122,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -2346,7 +2462,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -2354,7 +2470,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -2381,6 +2497,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -2414,6 +2535,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -2518,6 +2647,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -2842,7 +2987,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -2850,7 +2995,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -2877,6 +3022,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -2910,6 +3060,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -3014,6 +3172,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -3336,7 +3510,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -3344,7 +3518,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -3371,6 +3545,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -3404,6 +3583,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -3508,6 +3695,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -3652,6 +3855,11 @@
<string>Digital Vision ComputerEyes</string>
<key>devname</key>
<string>a2ceyes</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -3752,7 +3960,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -3870,7 +4078,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -3952,6 +4160,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -4365,7 +4581,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4483,7 +4699,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4611,6 +4827,11 @@
<string>MIDI In port</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>midiin</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
@@ -4634,6 +4855,11 @@
<string>MIDI Out port</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>midiout</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
@@ -4717,7 +4943,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4835,7 +5061,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4893,6 +5119,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4934,13 +5173,26 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
<key>description</key>
<string>CD-ROM</string>
<key>default</key>
<true/>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
@@ -4975,6 +5227,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5016,6 +5281,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5057,6 +5335,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5098,6 +5389,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5139,6 +5443,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5211,6 +5528,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5446,7 +5771,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -5617,6 +5942,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5753,6 +6086,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5910,6 +6251,150 @@
</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>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>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS232 Loopback</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS232 Null Modem</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS232 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>
File diff suppressed because it is too large. Load diff
+1109 -18
View File
File diff suppressed because it is too large. Load diff
+1109 -18
View File
File diff suppressed because it is too large. Load diff
+1130 -18
View File
File diff suppressed because it is too large. Load diff
+1109 -18
View File
File diff suppressed because it is too large. Load diff
+507 -22
View File
@@ -308,7 +308,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -316,7 +316,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -343,6 +343,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -376,6 +381,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -480,6 +493,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -802,7 +831,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -810,7 +839,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -837,6 +866,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -870,6 +904,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -974,6 +1016,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -1296,7 +1354,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -1304,7 +1362,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -1331,6 +1389,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -1364,6 +1427,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -1468,6 +1539,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -1790,7 +1877,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -1798,7 +1885,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -1825,6 +1912,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -1858,6 +1950,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -1962,6 +2062,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -2286,7 +2402,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -2294,7 +2410,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -2321,6 +2437,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -2354,6 +2475,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -2458,6 +2587,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -2782,7 +2927,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -2790,7 +2935,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -2817,6 +2962,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -2850,6 +3000,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -2954,6 +3112,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -3276,7 +3450,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -3284,7 +3458,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -3311,6 +3485,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -3344,6 +3523,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -3448,6 +3635,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -3592,6 +3795,11 @@
<string>Digital Vision ComputerEyes</string>
<key>devname</key>
<string>a2ceyes</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -3692,7 +3900,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -3810,7 +4018,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -3892,6 +4100,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -4305,7 +4521,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4423,7 +4639,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4551,6 +4767,11 @@
<string>MIDI In port</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>midiin</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
@@ -4574,6 +4795,11 @@
<string>MIDI Out port</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>midiout</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
@@ -4657,7 +4883,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4775,7 +5001,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4833,6 +5059,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4874,13 +5113,26 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
<key>description</key>
<string>CD-ROM</string>
<key>default</key>
<true/>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
@@ -4915,6 +5167,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4956,6 +5221,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4997,6 +5275,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5038,6 +5329,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5079,6 +5383,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5151,6 +5468,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5386,7 +5711,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -5557,6 +5882,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5693,6 +6026,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5850,6 +6191,150 @@
</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>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>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS232 Loopback</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS232 Null Modem</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS232 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>
+507 -22
View File
@@ -308,7 +308,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -316,7 +316,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -343,6 +343,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -376,6 +381,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -480,6 +493,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -802,7 +831,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -810,7 +839,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -837,6 +866,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -870,6 +904,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -974,6 +1016,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -1296,7 +1354,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -1304,7 +1362,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -1331,6 +1389,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -1364,6 +1427,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -1468,6 +1539,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -1790,7 +1877,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -1798,7 +1885,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -1825,6 +1912,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -1858,6 +1950,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -1962,6 +2062,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -2286,7 +2402,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -2294,7 +2410,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -2321,6 +2437,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -2354,6 +2475,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -2458,6 +2587,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -2782,7 +2927,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -2790,7 +2935,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -2817,6 +2962,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -2850,6 +3000,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -2954,6 +3112,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -3276,7 +3450,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -3284,7 +3458,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -3311,6 +3485,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -3344,6 +3523,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -3448,6 +3635,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -3592,6 +3795,11 @@
<string>Digital Vision ComputerEyes</string>
<key>devname</key>
<string>a2ceyes</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -3692,7 +3900,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -3810,7 +4018,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -3892,6 +4100,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -4305,7 +4521,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4423,7 +4639,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4551,6 +4767,11 @@
<string>MIDI In port</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>midiin</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
@@ -4574,6 +4795,11 @@
<string>MIDI Out port</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>midiout</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
@@ -4657,7 +4883,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4775,7 +5001,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4833,6 +5059,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4874,13 +5113,26 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
<key>description</key>
<string>CD-ROM</string>
<key>default</key>
<true/>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
@@ -4915,6 +5167,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4956,6 +5221,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4997,6 +5275,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5038,6 +5329,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5079,6 +5383,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5151,6 +5468,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5386,7 +5711,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -5557,6 +5882,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5693,6 +6026,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5850,6 +6191,150 @@
</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>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>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS232 Loopback</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS232 Null Modem</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS232 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>
+507 -22
View File
@@ -308,7 +308,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -316,7 +316,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -343,6 +343,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -376,6 +381,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -480,6 +493,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -802,7 +831,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -810,7 +839,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -837,6 +866,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -870,6 +904,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -974,6 +1016,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -1296,7 +1354,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -1304,7 +1362,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -1331,6 +1389,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -1364,6 +1427,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -1468,6 +1539,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -1790,7 +1877,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -1798,7 +1885,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -1825,6 +1912,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -1858,6 +1950,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -1962,6 +2062,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -2286,7 +2402,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -2294,7 +2410,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -2321,6 +2437,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -2354,6 +2475,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -2458,6 +2587,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -2782,7 +2927,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -2790,7 +2935,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -2817,6 +2962,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -2850,6 +3000,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -2954,6 +3112,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -3276,7 +3450,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -3284,7 +3458,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -3311,6 +3485,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -3344,6 +3523,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -3448,6 +3635,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -3592,6 +3795,11 @@
<string>Digital Vision ComputerEyes</string>
<key>devname</key>
<string>a2ceyes</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -3692,7 +3900,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -3810,7 +4018,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -3892,6 +4100,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -4305,7 +4521,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4423,7 +4639,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4551,6 +4767,11 @@
<string>MIDI In port</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>midiin</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
@@ -4574,6 +4795,11 @@
<string>MIDI Out port</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>midiout</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
@@ -4657,7 +4883,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4775,7 +5001,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4833,6 +5059,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4874,13 +5113,26 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
<key>description</key>
<string>CD-ROM</string>
<key>default</key>
<true/>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
@@ -4915,6 +5167,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4956,6 +5221,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4997,6 +5275,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5038,6 +5329,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5079,6 +5383,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5151,6 +5468,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5386,7 +5711,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -5557,6 +5882,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5693,6 +6026,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5850,6 +6191,150 @@
</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>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>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS232 Loopback</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS232 Null Modem</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS232 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>
+507 -22
View File
@@ -308,7 +308,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -316,7 +316,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -343,6 +343,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -376,6 +381,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -480,6 +493,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -802,7 +831,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -810,7 +839,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -837,6 +866,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -870,6 +904,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -974,6 +1016,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -1296,7 +1354,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -1304,7 +1362,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -1331,6 +1389,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -1364,6 +1427,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -1468,6 +1539,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -1790,7 +1877,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -1798,7 +1885,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -1825,6 +1912,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -1858,6 +1950,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -1962,6 +2062,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -2286,7 +2402,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -2294,7 +2410,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -2321,6 +2437,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -2354,6 +2475,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -2458,6 +2587,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -2782,7 +2927,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -2790,7 +2935,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -2817,6 +2962,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -2850,6 +3000,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -2954,6 +3112,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -3276,7 +3450,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -3284,7 +3458,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -3311,6 +3485,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -3344,6 +3523,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -3448,6 +3635,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -3592,6 +3795,11 @@
<string>Digital Vision ComputerEyes</string>
<key>devname</key>
<string>a2ceyes</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -3692,7 +3900,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -3810,7 +4018,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -3892,6 +4100,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -4305,7 +4521,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4423,7 +4639,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4551,6 +4767,11 @@
<string>MIDI In port</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>midiin</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
@@ -4574,6 +4795,11 @@
<string>MIDI Out port</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>midiout</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
@@ -4657,7 +4883,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4775,7 +5001,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4833,6 +5059,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4874,13 +5113,26 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
<key>description</key>
<string>CD-ROM</string>
<key>default</key>
<true/>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
@@ -4915,6 +5167,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4956,6 +5221,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4997,6 +5275,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5038,6 +5329,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5079,6 +5383,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5151,6 +5468,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5386,7 +5711,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -5557,6 +5882,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5693,6 +6026,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5850,6 +6191,150 @@
</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>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>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS232 Loopback</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS232 Null Modem</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS232 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>
+507 -22
View File
@@ -308,7 +308,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -316,7 +316,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -343,6 +343,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -376,6 +381,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -480,6 +493,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -802,7 +831,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -810,7 +839,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -837,6 +866,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -870,6 +904,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -974,6 +1016,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -1296,7 +1354,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -1304,7 +1362,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -1331,6 +1389,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -1364,6 +1427,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -1468,6 +1539,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -1790,7 +1877,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -1798,7 +1885,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -1825,6 +1912,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -1858,6 +1950,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -1962,6 +2062,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -2286,7 +2402,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -2294,7 +2410,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -2321,6 +2437,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -2354,6 +2475,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -2458,6 +2587,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -2782,7 +2927,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -2790,7 +2935,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -2817,6 +2962,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -2850,6 +3000,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -2954,6 +3112,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -3276,7 +3450,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -3284,7 +3458,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -3311,6 +3485,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -3344,6 +3523,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -3448,6 +3635,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -3592,6 +3795,11 @@
<string>Digital Vision ComputerEyes</string>
<key>devname</key>
<string>a2ceyes</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -3692,7 +3900,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -3810,7 +4018,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -3892,6 +4100,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -4305,7 +4521,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4423,7 +4639,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4551,6 +4767,11 @@
<string>MIDI In port</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>midiin</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
@@ -4574,6 +4795,11 @@
<string>MIDI Out port</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>midiout</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
@@ -4657,7 +4883,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4775,7 +5001,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4833,6 +5059,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4874,13 +5113,26 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
<key>description</key>
<string>CD-ROM</string>
<key>default</key>
<true/>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
@@ -4915,6 +5167,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4956,6 +5221,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4997,6 +5275,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5038,6 +5329,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5079,6 +5383,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5151,6 +5468,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5386,7 +5711,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -5557,6 +5882,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5693,6 +6026,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5850,6 +6191,150 @@
</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>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>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS232 Loopback</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS232 Null Modem</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS232 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>
+165
View File
@@ -115,6 +115,11 @@
<string>Digital Vision ComputerEyes</string>
<key>devname</key>
<string>a2ceyes</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -165,6 +170,14 @@
<key>devname</key>
<string>rs_serial_printer</string>
</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>loopback</string>
@@ -296,6 +309,14 @@
<key>devname</key>
<string>rs_serial_printer</string>
</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>loopback</string>
@@ -391,6 +412,150 @@
</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>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>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS232 Loopback</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS232 Null Modem</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS232 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>
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
+507 -22
View File
@@ -308,7 +308,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -316,7 +316,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -343,6 +343,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -376,6 +381,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -480,6 +493,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -802,7 +831,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -810,7 +839,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -837,6 +866,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -870,6 +904,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -974,6 +1016,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -1296,7 +1354,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -1304,7 +1362,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -1331,6 +1389,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -1364,6 +1427,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -1468,6 +1539,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -1790,7 +1877,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -1798,7 +1885,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -1825,6 +1912,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -1858,6 +1950,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -1962,6 +2062,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -2286,7 +2402,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -2294,7 +2410,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -2321,6 +2437,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -2354,6 +2475,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -2458,6 +2587,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -2782,7 +2927,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -2790,7 +2935,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -2817,6 +2962,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -2850,6 +3000,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -2954,6 +3112,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -3276,7 +3450,7 @@
<key>value</key>
<string>cffa202</string>
<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>
<string>a2cffa02</string>
</dict>
@@ -3284,7 +3458,7 @@
<key>value</key>
<string>cffa2</string>
<key>description</key>
<string>CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)</string>
<string>CFFA 2.0 Compact Flash (65C02 firmware)</string>
<key>devname</key>
<string>a2cffa2</string>
</dict>
@@ -3311,6 +3485,11 @@
<string>Digital Vision ComputerEyes/2</string>
<key>devname</key>
<string>a2ceyes2</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -3344,6 +3523,14 @@
<key>devname</key>
<string>a2ezcgi5</string>
</dict>
<dict>
<key>value</key>
<string>grafex</string>
<key>description</key>
<string>Grafex-32</string>
<key>devname</key>
<string>a2grafex</string>
</dict>
<dict>
<key>value</key>
<string>swyft</string>
@@ -3448,6 +3635,22 @@
<key>devname</key>
<string>a2aplcrd</string>
</dict>
<dict>
<key>value</key>
<string>q68</string>
<key>description</key>
<string>Stellation Two Q-68</string>
<key>devname</key>
<string>a2q68</string>
</dict>
<dict>
<key>value</key>
<string>q68plus</string>
<key>description</key>
<string>Stellation Two Q-68 Plus</string>
<key>devname</key>
<string>a2q68plus</string>
</dict>
<dict>
<key>value</key>
<string>themill</string>
@@ -3592,6 +3795,11 @@
<string>Digital Vision ComputerEyes</string>
<key>devname</key>
<string>a2ceyes</string>
<key>media</key>
<dict>
<key>picture</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
@@ -3692,7 +3900,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -3810,7 +4018,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -3892,6 +4100,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -4305,7 +4521,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4423,7 +4639,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4551,6 +4767,11 @@
<string>MIDI In port</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>midiin</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
@@ -4574,6 +4795,11 @@
<string>MIDI Out port</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>midiout</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
@@ -4657,7 +4883,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4775,7 +5001,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -4833,6 +5059,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4874,13 +5113,26 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
<key>description</key>
<string>CD-ROM</string>
<key>default</key>
<true/>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
@@ -4915,6 +5167,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4956,6 +5221,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -4997,6 +5275,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5038,6 +5329,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5079,6 +5383,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -5151,6 +5468,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5386,7 +5711,7 @@
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Espon LX-810L</string>
<string>Epson LX-810L</string>
<key>default</key>
<false/>
</dict>
@@ -5557,6 +5882,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5693,6 +6026,14 @@
<key>default</key>
<false/>
</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>loopback</string>
@@ -5850,6 +6191,150 @@
</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>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>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS232 Loopback</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS232 Null Modem</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS232 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>
+91
View File
@@ -1135,6 +1135,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -1176,6 +1189,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -1217,6 +1243,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -1258,6 +1297,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -1299,6 +1351,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -1340,6 +1405,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -1381,6 +1459,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
+21
View File
@@ -55,6 +55,27 @@
</array>
</dict>
</array>
<key>bios</key>
<array>
<dict>
<key>value</key>
<string>v3</string>
<key>description</key>
<string>Loud Harmonicas</string>
</dict>
<dict>
<key>value</key>
<string>v2</string>
<key>description</key>
<string>Lonely Heifers</string>
</dict>
<dict>
<key>value</key>
<string>v1</string>
<key>description</key>
<string>Lonely Hearts</string>
</dict>
</array>
<key>devices</key>
<array>
<dict>
+91
View File
@@ -223,6 +223,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -264,6 +277,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -305,6 +331,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -346,6 +385,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -387,6 +439,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -428,6 +493,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -469,6 +547,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
+91
View File
@@ -203,6 +203,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -244,6 +257,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -285,6 +311,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -326,6 +365,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -367,6 +419,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -408,6 +473,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -449,6 +527,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
+106
View File
@@ -1007,6 +1007,21 @@
</array>
</dict>
</array>
<key>bios</key>
<array>
<dict>
<key>value</key>
<string>default</string>
<key>description</key>
<string>rev. B</string>
</dict>
<dict>
<key>value</key>
<string>original</string>
<key>description</key>
<string>rev. A</string>
</dict>
</array>
<key>devices</key>
<array>
<dict>
@@ -1135,6 +1150,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -1176,6 +1204,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -1217,6 +1258,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -1258,6 +1312,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -1299,6 +1366,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -1340,6 +1420,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -1381,6 +1474,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
+91
View File
@@ -703,6 +703,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -744,6 +757,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -785,6 +811,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -826,6 +865,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -867,6 +919,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -908,6 +973,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -949,6 +1027,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
+91
View File
@@ -685,6 +685,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -726,6 +739,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -767,6 +793,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -808,6 +847,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -849,6 +901,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -890,6 +955,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -931,6 +1009,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
+106
View File
@@ -1007,6 +1007,21 @@
</array>
</dict>
</array>
<key>bios</key>
<array>
<dict>
<key>value</key>
<string>default</string>
<key>description</key>
<string>rev. B</string>
</dict>
<dict>
<key>value</key>
<string>original</string>
<key>description</key>
<string>rev. A</string>
</dict>
</array>
<key>devices</key>
<array>
<dict>
@@ -1135,6 +1150,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -1176,6 +1204,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -1217,6 +1258,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -1258,6 +1312,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -1299,6 +1366,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -1340,6 +1420,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -1381,6 +1474,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
+91
View File
@@ -253,6 +253,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -294,6 +307,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -335,6 +361,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -376,6 +415,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -417,6 +469,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -458,6 +523,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -499,6 +577,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
+91
View File
@@ -783,6 +783,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -824,6 +837,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -865,6 +891,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -906,6 +945,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -947,6 +999,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -988,6 +1053,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -1029,6 +1107,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
+91
View File
@@ -783,6 +783,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -824,6 +837,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -865,6 +891,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -906,6 +945,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -947,6 +999,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -988,6 +1053,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -1029,6 +1107,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
+91
View File
@@ -1135,6 +1135,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -1176,6 +1189,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -1217,6 +1243,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -1258,6 +1297,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -1299,6 +1351,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -1340,6 +1405,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -1381,6 +1459,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
+91
View File
@@ -223,6 +223,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -264,6 +277,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -305,6 +331,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -346,6 +385,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -387,6 +439,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -428,6 +493,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -469,6 +547,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
+91
View File
@@ -213,6 +213,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -254,6 +267,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -295,6 +321,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -336,6 +375,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -377,6 +429,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -418,6 +483,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -459,6 +537,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
+91
View File
@@ -243,6 +243,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -284,6 +297,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -325,6 +351,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -366,6 +405,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -407,6 +459,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -448,6 +513,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -489,6 +567,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
+124
View File
@@ -85,6 +85,39 @@
</array>
</dict>
</array>
<key>bios</key>
<array>
<dict>
<key>value</key>
<string>v3</string>
<key>description</key>
<string>Loud Harmonicas</string>
</dict>
<dict>
<key>value</key>
<string>v2</string>
<key>description</key>
<string>Lonely Heifers</string>
</dict>
<dict>
<key>value</key>
<string>v1</string>
<key>description</key>
<string>Lonely Hearts</string>
</dict>
<dict>
<key>value</key>
<string>romdisk</string>
<key>description</key>
<string>mac68k.info self-boot (1/1/2015)</string>
</dict>
<dict>
<key>value</key>
<string>romdisk2</string>
<key>description</key>
<string>bigmessofwires.com ROMinator (2/25/2015)</string>
</dict>
</array>
<key>devices</key>
<array>
<dict>
@@ -213,6 +246,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -254,6 +300,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -295,6 +354,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -336,6 +408,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -377,6 +462,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -418,6 +516,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -459,6 +570,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
+91
View File
@@ -203,6 +203,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -244,6 +257,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -285,6 +311,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -326,6 +365,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -367,6 +419,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -408,6 +473,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -449,6 +527,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
+91
View File
@@ -253,6 +253,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -294,6 +307,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -335,6 +361,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -376,6 +415,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -417,6 +469,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -458,6 +523,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -499,6 +577,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
+91
View File
@@ -203,6 +203,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -244,6 +257,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -285,6 +311,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -326,6 +365,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -367,6 +419,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -408,6 +473,19 @@
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
@@ -449,6 +527,19 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>aplcdsc</string>
<key>description</key>
<string>Apple SCSI CD-ROM</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>cdrom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cdrom</string>
Loaded 100 of 131 files, more files were not shown because too many files have changed in this diff. Show more