Compare commits

..

69 Commits

Author SHA1 Message Date
Kelvin Sherlock afa29a9e91 bump version. 2020-09-14 18:24:21 -04:00
Kelvin Sherlock 65a1a9e6c6 move agat 7/9 to their own category since they are
very different.  adjusted clone category list a little bit,
2020-09-14 18:24:21 -04:00
Kelvin Sherlock 7ef1edfe81 Add some pretty icons... 2020-09-13 14:30:40 -04:00
Kelvin Sherlock 2ab55c0454 minor fixes
1. remove old and unused properties
2. add mouse capture checkbox
3. disable square pixels checkbox in full screen mode
2020-09-13 12:04:54 -04:00
Kelvin Sherlock 8362692523 use some pretty animations when drag/dropping media. 2020-09-12 19:24:32 -04:00
Kelvin Sherlock 416310fe69 adjust media constraints since they were acting stupid at times. 2020-09-12 18:41:00 -04:00
Kelvin Sherlock 9d8f645c69 new slot view - tweak cell size and remove menu auto enable. 2020-09-12 18:35:06 -04:00
Kelvin Sherlock 9946d341a7 eliminate the format menu, move rom management to the window menu. 2020-09-12 18:34:26 -04:00
Kelvin Sherlock b2bfb6ea11 media view nib - remove focus ring 2020-09-12 18:02:01 -04:00
Kelvin Sherlock c6bd70f9ef download window - show missing ROMs in red. 2020-09-12 18:01:32 -04:00
Kelvin Sherlock d8f0794679 change laser order. 2020-09-12 18:01:08 -04:00
Kelvin Sherlock 09b9830840 add agat_fdc to rom list. 2020-09-12 18:00:50 -04:00
Kelvin Sherlock 6452cf5e0a switch to new slot view. 2020-09-12 18:00:34 -04:00
Kelvin Sherlock d7ffdd841a build fixes for New Slot View 2020-09-12 18:00:09 -04:00
Kelvin Sherlock 9905ddf96e switch ram options to be more consistent with slots. 2020-09-12 17:58:49 -04:00
Kelvin Sherlock 95c7a77982 new slot controller [wip] 2020-09-10 22:06:41 -04:00
Kelvin Sherlock 8b901fc415 tweak -nounevenstretch 2020-09-07 22:20:26 -04:00
Kelvin Sherlock 2ba85fc3f8 move the tabs around a bit. 2020-09-07 22:10:37 -04:00
Kelvin Sherlock 49e2462b28 adjusted launch window window size settings. 2020-09-07 22:00:10 -04:00
Kelvin Sherlock a829b4feea tweak eject button tracking instantiation 2020-09-07 17:08:42 -04:00
Kelvin Sherlock 0a78177485 Eject button - fix image when enabled status changes and mouseover active. 2020-09-07 15:01:36 -04:00
Kelvin Sherlock 5d54bbd636 re-order tabs. 2020-09-07 14:30:44 -04:00
Kelvin Sherlock 531cee122b Eject Button class. switches to the alt image when hovering. 2020-09-07 14:30:31 -04:00
Kelvin Sherlock e9fff9aa08 added some artwork for the drag indicator and the eject buttons. 2020-09-06 20:12:21 -04:00
Kelvin Sherlock ee02dee982 I figured out bgx enough to add some options. 2020-09-06 15:26:20 -04:00
Kelvin Sherlock 9a64879336 bold the media category title. 2020-09-06 11:29:17 -04:00
Kelvin Sherlock f45db5383d only show the media drag handle when moused over. 2020-09-06 11:25:59 -04:00
ksherlock 4b34ff977d Update README.md 2020-09-06 01:12:44 -04:00
ksherlock 2fa6a90374 Update README.md 2020-09-06 01:10:02 -04:00
Kelvin Sherlock 7b41e5bf46 updated screenshot 2020-09-06 01:05:57 -04:00
Kelvin Sherlock f2b08c45a3 clean up item moves a bit.
also switch media to be a mutable array (which it secretly was) and
modify in-place to be cleaner.
2020-09-06 00:31:09 -04:00
Kelvin Sherlock 498fd337eb version bump. 2020-09-06 00:02:27 -04:00
Kelvin Sherlock 3cdae0e386 finish up drag-n-drop 2020-09-05 23:58:03 -04:00
Kelvin Sherlock 9eb3727e1e drag-n-drop disk image re-ordering. WIP. 2020-09-05 23:29:30 -04:00
Kelvin Sherlock af3ad78b94 update machines for current mame.
tweaks description of mockingboard, adds gizmo, uthernet, cms scsi
2020-09-05 17:35:19 -04:00
Kelvin Sherlock 8906d7825f more launch window tweaks. 2020-09-05 11:00:29 -04:00
Kelvin Sherlock be04b5a00b apple2c was missing 5.25" drives. 2020-09-05 10:59:38 -04:00
Kelvin Sherlock 8e7e6fa396 update the built-in media list. previous logic was incorrect and
excluded apple 3 floppies (which are actually in slots 0,1,2, and 3)
and included and extra cassette for the Apple 1.
2020-09-05 01:20:28 -04:00
Kelvin Sherlock ad33f06f98 download window - decrease size of status text. 2020-09-04 23:40:06 -04:00
Kelvin Sherlock 3c77f0a309 media view - only enable eject button when there's something to eject. 2020-09-04 23:39:10 -04:00
Kelvin Sherlock 69023c4af3 tweak layout sizes a bit. 2020-09-04 19:22:18 -04:00
Kelvin Sherlock c1d9a03175 bump version. 2020-09-03 23:35:04 -04:00
Kelvin Sherlock 8b2f4c762b Clean up the ROM manager a little bit more. 2020-09-03 23:34:03 -04:00
Kelvin Sherlock ebdf8b9395 improved download manager
a few rough edges left but it displays the list of ROMs and allows
downloading individual items and viewing them in Finder.
2020-09-03 22:37:27 -04:00
Kelvin Sherlock 26dbdae365 Add chinese clones 2020-09-03 17:12:02 -04:00
Kelvin Sherlock fef59d29cf remove empty string from the ROM list. 2020-09-03 00:16:08 -04:00
Kelvin Sherlock 152197cae7 first pass at the ROM downloader. 2020-09-03 00:15:50 -04:00
Kelvin Sherlock e73ff01c00 add roms.plist of romfiles to download. 2020-09-02 22:17:52 -04:00
Kelvin Sherlock b262c8bf2f move python code into it's own directory. 2020-09-02 22:06:41 -04:00
Kelvin Sherlock fe7c71e7c7 center the launch window. 2020-09-02 19:12:32 -04:00
Kelvin Sherlock 8264aa1515 untar mame-data.tgz to the application support directory.
This just uses NSTask to launch tar in the background.
2020-09-02 19:12:17 -04:00
Kelvin Sherlock cfe0e950c4 set the current directory to the Application Support directory when
launching mame.

Eventually, application support directory will include bgfx, roms, etc.
2020-09-01 23:52:58 -04:00
Kelvin Sherlock e512fb982a use constants for default keys. 2020-09-01 23:52:11 -04:00
Kelvin Sherlock 90be56f96d remove unused headers. 2020-08-31 23:25:46 -04:00
Kelvin Sherlock 076af87f91 adjust log window title. 2020-08-31 23:25:37 -04:00
Kelvin Sherlock 13529d130c cleanup minor build warnings. 2020-08-31 22:48:51 -04:00
Kelvin Sherlock b0ff495fd3 tweak travis 2020-08-31 22:29:02 -04:00
Kelvin Sherlock 8c282596d6 add .travis.yml 2020-08-31 22:20:43 -04:00
Kelvin Sherlock fde5b664b4 Add "Ample Lite" target (for use with CI).
Target does not embed the SDL2 framework or mame64.

xcodebuild -project Ample.xcodeproj -target "Ample Lite"
2020-08-31 22:07:16 -04:00
Kelvin Sherlock a653ca575b Bump version, add credits. 2020-08-31 19:09:21 -04:00
Kelvin Sherlock 48513422f5 add some mame build notes so I don't forget. 2020-08-31 18:33:58 -04:00
Kelvin Sherlock 598e95a6ca embed mame and sdl2 framework.
components will NOT be included in the repository.
2020-08-31 18:24:41 -04:00
Kelvin Sherlock 348353199f Change wording on system mame preference.
disable path when using standard mame
new functions to calculate mame executable path.
2020-08-31 18:23:48 -04:00
Kelvin Sherlock 1f47c7be88 git ignore. 2020-08-31 18:20:52 -04:00
Kelvin Sherlock 931488ac4c move log window to proper location. 2020-08-31 18:20:42 -04:00
Kelvin Sherlock 337b3eb1f2 Preferences Window Controller
validate the Mame executable path
option for system mame (doesn't do anything yet...)
2020-08-31 17:14:05 -04:00
Kelvin Sherlock 3cbc69bf38 improved error logging if mame can't be launched. 2020-08-31 16:39:48 -04:00
Kelvin Sherlock e003aea884 version bump 2020-08-30 11:45:26 -04:00
Kelvin Sherlock 24ff2471a0 eliminate dead space below the slot menus.
also adds command-return as an equivalent to launch
and command-R as an equivalent to reset slots.
2020-08-30 11:43:05 -04:00
111 changed files with 22362 additions and 1030 deletions
+6
View File
@@ -0,0 +1,6 @@
dist
embedded/mame64
embedded/SDL2.framework
build
embedded/mame-data.tgz
__pycache__
+12
View File
@@ -0,0 +1,12 @@
language: objective-c
osx_image:
- xcode12
- xcode11.3
- xcode10.1
xcode_project: Ample.xcodeproj
xcode_scheme: Ample Lite
script:
- set -o pipefail
- xcodebuild -project "${TRAVIS_XCODE_PROJECT}" -target "Ample Lite" | xcpretty
+454 -9
View File
@@ -9,8 +9,9 @@
/* Begin PBXBuildFile section */
B6004DF024FB05D600D38596 /* LogWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = B6004DEE24FB05D600D38596 /* LogWindowController.m */; };
B6004DF124FB05D600D38596 /* LogWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = B6004DEF24FB05D600D38596 /* LogWindow.xib */; };
B608E17F2502FE0C00D53465 /* TransparentScroller.m in Sources */ = {isa = PBXBuildFile; fileRef = B608E17E2502FE0C00D53465 /* TransparentScroller.m */; };
B608E1802502FE0C00D53465 /* TransparentScroller.m in Sources */ = {isa = PBXBuildFile; fileRef = B608E17E2502FE0C00D53465 /* TransparentScroller.m */; };
B60A6E1424EE0AE2004B7EEF /* FlippedView.m in Sources */ = {isa = PBXBuildFile; fileRef = B60A6E1324EE0AE2004B7EEF /* FlippedView.m */; };
B61099E724F5F231005CB652 /* SlotView.xib in Resources */ = {isa = PBXBuildFile; fileRef = B61099E324F5F230005CB652 /* SlotView.xib */; };
B61099E824F5F231005CB652 /* MediaView.xib in Resources */ = {isa = PBXBuildFile; fileRef = B61099E524F5F230005CB652 /* MediaView.xib */; };
B6109A1724F5F377005CB652 /* apple2e.plist in Resources */ = {isa = PBXBuildFile; fileRef = B61099EA24F5F36E005CB652 /* apple2e.plist */; };
B6109A1824F5F377005CB652 /* hkc8800a.plist in Resources */ = {isa = PBXBuildFile; fileRef = B61099EB24F5F36E005CB652 /* hkc8800a.plist */; };
@@ -57,10 +58,34 @@
B6109A4124F5F377005CB652 /* apple2cp.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6109A1424F5F376005CB652 /* apple2cp.plist */; };
B6109A4224F5F377005CB652 /* apple2p.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6109A1524F5F376005CB652 /* apple2p.plist */; };
B6109A4324F5F377005CB652 /* agat7.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6109A1624F5F376005CB652 /* agat7.plist */; };
B63C1B8B24FF4BF700511A71 /* Ample.m in Sources */ = {isa = PBXBuildFile; fileRef = B63C1B8A24FF4BF700511A71 /* Ample.m */; };
B63C1B8C24FF4BF700511A71 /* Ample.m in Sources */ = {isa = PBXBuildFile; fileRef = B63C1B8A24FF4BF700511A71 /* Ample.m */; };
B63C1B8E25004C6D00511A71 /* mame-data.tgz in Resources */ = {isa = PBXBuildFile; fileRef = B63C1B8D25004C6D00511A71 /* mame-data.tgz */; };
B63C1B90250088DD00511A71 /* roms.plist in Resources */ = {isa = PBXBuildFile; fileRef = B63C1B8F250088DC00511A71 /* roms.plist */; };
B63C1B9425008A2700511A71 /* DownloadWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = B63C1B9225008A2700511A71 /* DownloadWindowController.m */; };
B63C1B9525008A2700511A71 /* DownloadWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = B63C1B9225008A2700511A71 /* DownloadWindowController.m */; };
B63C1B9625008A2700511A71 /* DownloadWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = B63C1B9325008A2700511A71 /* DownloadWindow.xib */; };
B63C1B9725008A2700511A71 /* DownloadWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = B63C1B9325008A2700511A71 /* DownloadWindow.xib */; };
B63C1B9D250192D800511A71 /* cece.plist in Resources */ = {isa = PBXBuildFile; fileRef = B63C1B98250192D700511A71 /* cece.plist */; };
B63C1B9E250192D800511A71 /* cece.plist in Resources */ = {isa = PBXBuildFile; fileRef = B63C1B98250192D700511A71 /* cece.plist */; };
B63C1B9F250192D800511A71 /* ceci.plist in Resources */ = {isa = PBXBuildFile; fileRef = B63C1B99250192D700511A71 /* ceci.plist */; };
B63C1BA0250192D800511A71 /* ceci.plist in Resources */ = {isa = PBXBuildFile; fileRef = B63C1B99250192D700511A71 /* ceci.plist */; };
B63C1BA1250192D800511A71 /* cecg.plist in Resources */ = {isa = PBXBuildFile; fileRef = B63C1B9A250192D700511A71 /* cecg.plist */; };
B63C1BA2250192D800511A71 /* cecg.plist in Resources */ = {isa = PBXBuildFile; fileRef = B63C1B9A250192D700511A71 /* cecg.plist */; };
B63C1BA3250192D800511A71 /* cec2000.plist in Resources */ = {isa = PBXBuildFile; fileRef = B63C1B9B250192D800511A71 /* cec2000.plist */; };
B63C1BA4250192D800511A71 /* cec2000.plist in Resources */ = {isa = PBXBuildFile; fileRef = B63C1B9B250192D800511A71 /* cec2000.plist */; };
B63C1BA5250192D800511A71 /* cecm.plist in Resources */ = {isa = PBXBuildFile; fileRef = B63C1B9C250192D800511A71 /* cecm.plist */; };
B63C1BA6250192D800511A71 /* cecm.plist in Resources */ = {isa = PBXBuildFile; fileRef = B63C1B9C250192D800511A71 /* cecm.plist */; };
B63C1BA8250192E600511A71 /* zijini.plist in Resources */ = {isa = PBXBuildFile; fileRef = B63C1BA7250192E600511A71 /* zijini.plist */; };
B63C1BA9250192E600511A71 /* zijini.plist in Resources */ = {isa = PBXBuildFile; fileRef = B63C1BA7250192E600511A71 /* zijini.plist */; };
B64979C224EF6703008ABD20 /* MediaViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B64979C124EF6703008ABD20 /* MediaViewController.m */; };
B64E15A924EA1D5300E8AD3D /* MachineViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B64E15A824EA1D5300E8AD3D /* MachineViewController.m */; };
B65593B124ECB61800722E0C /* SlotViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B65593B024ECB61800722E0C /* SlotViewController.m */; };
B658DBF324FB58EC0063AB5F /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6BA258624E99BEB005FB8FF /* Info.plist */; };
B66236A924FD9A34006CABD7 /* PreferencesWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = B66236A824FD9A34006CABD7 /* PreferencesWindowController.m */; };
B66236B524FDA527006CABD7 /* SDL2.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = B66236B224FDA522006CABD7 /* SDL2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
B66236BC24FDA72E006CABD7 /* mame64 in CopyFiles */ = {isa = PBXBuildFile; fileRef = B66236B724FDA686006CABD7 /* mame64 */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
B66236C124FDB7A6006CABD7 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = B66236BF24FDB7A6006CABD7 /* Credits.rtf */; };
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 */; };
B6BA258224E99BEB005FB8FF /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B6BA258124E99BEB005FB8FF /* Assets.xcassets */; };
B6BA258524E99BEB005FB8FF /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = B6BA258324E99BEB005FB8FF /* MainMenu.xib */; };
@@ -69,12 +94,129 @@
B6D6DE3B24FACF4F00661A5F /* Defaults.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6D6DE3A24FACF4F00661A5F /* Defaults.plist */; };
B6D6DE3E24FADF8B00661A5F /* LaunchWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = B6D6DE3C24FADF8B00661A5F /* LaunchWindow.xib */; };
B6D6DE4124FADFAC00661A5F /* LaunchWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = B6D6DE4024FADFAC00661A5F /* LaunchWindowController.m */; };
B6DDECC025057A550093587A /* drag-handle-4x10.png in Resources */ = {isa = PBXBuildFile; fileRef = B6DDECBD25057A550093587A /* drag-handle-4x10.png */; };
B6DDECC125057A550093587A /* drag-handle-4x10.png in Resources */ = {isa = PBXBuildFile; fileRef = B6DDECBD25057A550093587A /* drag-handle-4x10.png */; };
B6DDECC225057A550093587A /* drag-handle-4x10@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B6DDECBE25057A550093587A /* drag-handle-4x10@2x.png */; };
B6DDECC325057A550093587A /* drag-handle-4x10@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B6DDECBE25057A550093587A /* drag-handle-4x10@2x.png */; };
B6DDECC425057A550093587A /* drag-handle-4x10@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B6DDECBF25057A550093587A /* drag-handle-4x10@3x.png */; };
B6DDECC525057A550093587A /* drag-handle-4x10@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B6DDECBF25057A550093587A /* drag-handle-4x10@3x.png */; };
B6DDECCC2505A86E0093587A /* eject-16x16@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B6DDECC62505A86E0093587A /* eject-16x16@2x.png */; };
B6DDECCD2505A86E0093587A /* eject-16x16@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B6DDECC62505A86E0093587A /* eject-16x16@2x.png */; };
B6DDECCE2505A86E0093587A /* eject-16x16@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B6DDECC72505A86E0093587A /* eject-16x16@3x.png */; };
B6DDECCF2505A86E0093587A /* eject-16x16@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B6DDECC72505A86E0093587A /* eject-16x16@3x.png */; };
B6DDECD02505A86E0093587A /* eject-hover-16x16.png in Resources */ = {isa = PBXBuildFile; fileRef = B6DDECC82505A86E0093587A /* eject-hover-16x16.png */; };
B6DDECD12505A86E0093587A /* eject-hover-16x16.png in Resources */ = {isa = PBXBuildFile; fileRef = B6DDECC82505A86E0093587A /* eject-hover-16x16.png */; };
B6DDECD22505A86E0093587A /* eject-hover-16x16@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B6DDECC92505A86E0093587A /* eject-hover-16x16@2x.png */; };
B6DDECD32505A86E0093587A /* eject-hover-16x16@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = B6DDECC92505A86E0093587A /* eject-hover-16x16@2x.png */; };
B6DDECD42505A86E0093587A /* eject-hover-16x16@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B6DDECCA2505A86E0093587A /* eject-hover-16x16@3x.png */; };
B6DDECD52505A86E0093587A /* eject-hover-16x16@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = B6DDECCA2505A86E0093587A /* eject-hover-16x16@3x.png */; };
B6DDECD62505A86E0093587A /* eject-16x16.png in Resources */ = {isa = PBXBuildFile; fileRef = B6DDECCB2505A86E0093587A /* eject-16x16.png */; };
B6DDECD72505A86E0093587A /* eject-16x16.png in Resources */ = {isa = PBXBuildFile; fileRef = B6DDECCB2505A86E0093587A /* eject-16x16.png */; };
B6E4B5B024FDE2670094A35C /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = B6BA258724E99BEB005FB8FF /* main.m */; };
B6E4B5B124FDE2670094A35C /* LaunchWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = B6D6DE4024FADFAC00661A5F /* LaunchWindowController.m */; };
B6E4B5B224FDE2670094A35C /* MachineViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B64E15A824EA1D5300E8AD3D /* MachineViewController.m */; };
B6E4B5B324FDE2670094A35C /* MediaViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B64979C124EF6703008ABD20 /* MediaViewController.m */; };
B6E4B5B424FDE2670094A35C /* FlippedView.m in Sources */ = {isa = PBXBuildFile; fileRef = B60A6E1324EE0AE2004B7EEF /* FlippedView.m */; };
B6E4B5B524FDE2670094A35C /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = B6BA257F24E99BE9005FB8FF /* AppDelegate.m */; };
B6E4B5B624FDE2670094A35C /* LogWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = B6004DEE24FB05D600D38596 /* LogWindowController.m */; };
B6E4B5B724FDE2670094A35C /* PreferencesWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = B66236A824FD9A34006CABD7 /* PreferencesWindowController.m */; };
B6E4B5BC24FDE2670094A35C /* apple2eeuk.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6109A0624F5F372005CB652 /* apple2eeuk.plist */; };
B6E4B5BD24FDE2670094A35C /* las128ex.plist in Resources */ = {isa = PBXBuildFile; fileRef = B61099F724F5F36F005CB652 /* las128ex.plist */; };
B6E4B5BE24FDE2670094A35C /* space84.plist in Resources */ = {isa = PBXBuildFile; fileRef = B61099F024F5F36E005CB652 /* space84.plist */; };
B6E4B5BF24FDE2670094A35C /* agat9.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6109A1224F5F375005CB652 /* agat9.plist */; };
B6E4B5C024FDE2670094A35C /* LaunchWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = B6D6DE3C24FADF8B00661A5F /* LaunchWindow.xib */; };
B6E4B5C124FDE2670094A35C /* apple1.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6109A0424F5F372005CB652 /* apple1.plist */; };
B6E4B5C224FDE2670094A35C /* ace100.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6109A0824F5F373005CB652 /* ace100.plist */; };
B6E4B5C324FDE2670094A35C /* am64.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6109A0724F5F372005CB652 /* am64.plist */; };
B6E4B5C424FDE2670094A35C /* LogWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = B6004DEF24FB05D600D38596 /* LogWindow.xib */; };
B6E4B5C524FDE2670094A35C /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = B6BA258124E99BEB005FB8FF /* Assets.xcassets */; };
B6E4B5C624FDE2670094A35C /* apple2e.plist in Resources */ = {isa = PBXBuildFile; fileRef = B61099EA24F5F36E005CB652 /* apple2e.plist */; };
B6E4B5C724FDE2670094A35C /* am100.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6109A0F24F5F374005CB652 /* am100.plist */; };
B6E4B5C824FDE2670094A35C /* laser2c.plist in Resources */ = {isa = PBXBuildFile; fileRef = B61099F824F5F36F005CB652 /* laser2c.plist */; };
B6E4B5C924FDE2670094A35C /* laser128.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6109A1024F5F375005CB652 /* laser128.plist */; };
B6E4B5CA24FDE2670094A35C /* apple2ep.plist in Resources */ = {isa = PBXBuildFile; fileRef = B61099FB24F5F370005CB652 /* apple2ep.plist */; };
B6E4B5CB24FDE2670094A35C /* apple2ees.plist in Resources */ = {isa = PBXBuildFile; fileRef = B61099EC24F5F36E005CB652 /* apple2ees.plist */; };
B6E4B5CC24FDE2670094A35C /* prav8c.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6109A0C24F5F374005CB652 /* prav8c.plist */; };
B6E4B5CD24FDE2670094A35C /* ivelultr.plist in Resources */ = {isa = PBXBuildFile; fileRef = B61099EF24F5F36E005CB652 /* ivelultr.plist */; };
B6E4B5CE24FDE2670094A35C /* maxxi.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6109A0B24F5F373005CB652 /* maxxi.plist */; };
B6E4B5CF24FDE2670094A35C /* apple2eefr.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6109A0124F5F371005CB652 /* apple2eefr.plist */; };
B6E4B5D124FDE2670094A35C /* spectred.plist in Resources */ = {isa = PBXBuildFile; fileRef = B61099FF24F5F371005CB652 /* spectred.plist */; };
B6E4B5D224FDE2670094A35C /* apple2cp.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6109A1424F5F376005CB652 /* apple2cp.plist */; };
B6E4B5D324FDE2670094A35C /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = B6BA258324E99BEB005FB8FF /* MainMenu.xib */; };
B6E4B5D424FDE2670094A35C /* prav82.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6109A0D24F5F374005CB652 /* prav82.plist */; };
B6E4B5D524FDE2670094A35C /* apple2euk.plist in Resources */ = {isa = PBXBuildFile; fileRef = B61099F324F5F36F005CB652 /* apple2euk.plist */; };
B6E4B5D624FDE2670094A35C /* uniap2ti.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6109A0224F5F371005CB652 /* uniap2ti.plist */; };
B6E4B5D724FDE2670094A35C /* apple2c.plist in Resources */ = {isa = PBXBuildFile; fileRef = B61099F124F5F36F005CB652 /* apple2c.plist */; };
B6E4B5D824FDE2670094A35C /* microeng.plist in Resources */ = {isa = PBXBuildFile; fileRef = B61099ED24F5F36E005CB652 /* microeng.plist */; };
B6E4B5D924FDE2670094A35C /* albert.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6109A1124F5F375005CB652 /* albert.plist */; };
B6E4B5DA24FDE2670094A35C /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = B66236BF24FDB7A6006CABD7 /* Credits.rtf */; };
B6E4B5DB24FDE2670094A35C /* apple2p.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6109A1524F5F376005CB652 /* apple2p.plist */; };
B6E4B5DC24FDE2670094A35C /* hkc8800a.plist in Resources */ = {isa = PBXBuildFile; fileRef = B61099EB24F5F36E005CB652 /* hkc8800a.plist */; };
B6E4B5DD24FDE2670094A35C /* apple2gsr0.plist in Resources */ = {isa = PBXBuildFile; fileRef = B61099F624F5F36F005CB652 /* apple2gsr0.plist */; };
B6E4B5DE24FDE2670094A35C /* mprof3.plist in Resources */ = {isa = PBXBuildFile; fileRef = B61099F924F5F370005CB652 /* mprof3.plist */; };
B6E4B5DF24FDE2670094A35C /* basis108.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6109A0524F5F372005CB652 /* basis108.plist */; };
B6E4B5E024FDE2670094A35C /* agat7.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6109A1624F5F376005CB652 /* agat7.plist */; };
B6E4B5E124FDE2670094A35C /* elppa.plist in Resources */ = {isa = PBXBuildFile; fileRef = B61099FE24F5F370005CB652 /* elppa.plist */; };
B6E4B5E224FDE2670094A35C /* apple2gsr1.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6109A0E24F5F374005CB652 /* apple2gsr1.plist */; };
B6E4B5E324FDE2670094A35C /* Defaults.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6D6DE3A24FACF4F00661A5F /* Defaults.plist */; };
B6E4B5E424FDE2670094A35C /* models.plist in Resources */ = {isa = PBXBuildFile; fileRef = B61099F524F5F36F005CB652 /* models.plist */; };
B6E4B5E524FDE2670094A35C /* craft2p.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6109A1324F5F375005CB652 /* craft2p.plist */; };
B6E4B5E624FDE2670094A35C /* uniap2pt.plist in Resources */ = {isa = PBXBuildFile; fileRef = B61099EE24F5F36E005CB652 /* uniap2pt.plist */; };
B6E4B5E724FDE2670094A35C /* las128e2.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6109A0A24F5F373005CB652 /* las128e2.plist */; };
B6E4B5E824FDE2670094A35C /* MediaView.xib in Resources */ = {isa = PBXBuildFile; fileRef = B61099E524F5F230005CB652 /* MediaView.xib */; };
B6E4B5E924FDE2670094A35C /* uniap2en.plist in Resources */ = {isa = PBXBuildFile; fileRef = B61099FA24F5F370005CB652 /* uniap2en.plist */; };
B6E4B5EA24FDE2670094A35C /* apple3.plist in Resources */ = {isa = PBXBuildFile; fileRef = B61099FD24F5F370005CB652 /* apple3.plist */; };
B6E4B5EB24FDE2670094A35C /* apple2ee.plist in Resources */ = {isa = PBXBuildFile; fileRef = B61099F424F5F36F005CB652 /* apple2ee.plist */; };
B6E4B5EC24FDE2670094A35C /* dodo.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6109A0924F5F373005CB652 /* dodo.plist */; };
B6E4B5ED24FDE2670094A35C /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = B6D6DE3724FAC8B500661A5F /* Preferences.xib */; };
B6E4B5EF24FDE2670094A35C /* apple2gs.plist in Resources */ = {isa = PBXBuildFile; fileRef = B61099FC24F5F370005CB652 /* apple2gs.plist */; };
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 */; };
B6E9A18025088B1B005E7525 /* NewSlotViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B6E9A17F25088B1B005E7525 /* NewSlotViewController.m */; };
B6E9A18325088B36005E7525 /* NewSlotView.xib in Resources */ = {isa = PBXBuildFile; fileRef = B6E9A18125088B36005E7525 /* NewSlotView.xib */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
B66236B124FDA443006CABD7 /* Embed Frameworks */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
B66236B524FDA527006CABD7 /* SDL2.framework in Embed Frameworks */,
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
};
B66236BB24FDA71D006CABD7 /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 6;
files = (
B66236BC24FDA72E006CABD7 /* mame64 in CopyFiles */,
);
runOnlyForDeploymentPostprocessing = 0;
};
B6E4B5F324FDE2670094A35C /* Embed Frameworks */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
B6004DED24FB05D600D38596 /* LogWindowController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LogWindowController.h; sourceTree = "<group>"; };
B6004DEE24FB05D600D38596 /* LogWindowController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LogWindowController.m; sourceTree = "<group>"; };
B6004DEF24FB05D600D38596 /* LogWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = LogWindow.xib; sourceTree = "<group>"; };
B6004DEF24FB05D600D38596 /* LogWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = LogWindow.xib; path = Base.lproj/LogWindow.xib; sourceTree = "<group>"; };
B608E17D2502FE0C00D53465 /* TransparentScroller.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TransparentScroller.h; sourceTree = "<group>"; };
B608E17E2502FE0C00D53465 /* TransparentScroller.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TransparentScroller.m; sourceTree = "<group>"; };
B60A6E0B24ECE23F004B7EEF /* apple2gs.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = apple2gs.plist; sourceTree = "<group>"; };
B60A6E1224EE0AE2004B7EEF /* FlippedView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FlippedView.h; sourceTree = "<group>"; };
B60A6E1324EE0AE2004B7EEF /* FlippedView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FlippedView.m; sourceTree = "<group>"; };
@@ -125,13 +267,34 @@
B6109A1424F5F376005CB652 /* apple2cp.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = apple2cp.plist; sourceTree = "<group>"; };
B6109A1524F5F376005CB652 /* apple2p.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = apple2p.plist; sourceTree = "<group>"; };
B6109A1624F5F376005CB652 /* agat7.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = agat7.plist; sourceTree = "<group>"; };
B63C1B8924FF4B7100511A71 /* Ample.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Ample.h; sourceTree = "<group>"; };
B63C1B8A24FF4BF700511A71 /* Ample.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Ample.m; sourceTree = "<group>"; };
B63C1B8D25004C6D00511A71 /* mame-data.tgz */ = {isa = PBXFileReference; lastKnownFileType = file; name = "mame-data.tgz"; path = "embedded/mame-data.tgz"; sourceTree = "<group>"; };
B63C1B8F250088DC00511A71 /* roms.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = roms.plist; sourceTree = "<group>"; };
B63C1B9125008A2700511A71 /* DownloadWindowController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DownloadWindowController.h; sourceTree = "<group>"; };
B63C1B9225008A2700511A71 /* DownloadWindowController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DownloadWindowController.m; sourceTree = "<group>"; };
B63C1B9325008A2700511A71 /* DownloadWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = DownloadWindow.xib; path = Base.lproj/DownloadWindow.xib; sourceTree = "<group>"; };
B63C1B98250192D700511A71 /* cece.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = cece.plist; sourceTree = "<group>"; };
B63C1B99250192D700511A71 /* ceci.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = ceci.plist; sourceTree = "<group>"; };
B63C1B9A250192D700511A71 /* cecg.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = cecg.plist; sourceTree = "<group>"; };
B63C1B9B250192D800511A71 /* cec2000.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = cec2000.plist; sourceTree = "<group>"; };
B63C1B9C250192D800511A71 /* cecm.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = cecm.plist; sourceTree = "<group>"; };
B63C1BA7250192E600511A71 /* zijini.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = zijini.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>"; };
B64E15A724EA1D5300E8AD3D /* MachineViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MachineViewController.h; sourceTree = "<group>"; };
B64E15A824EA1D5300E8AD3D /* MachineViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MachineViewController.m; sourceTree = "<group>"; };
B65593AF24ECB61800722E0C /* SlotViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SlotViewController.h; sourceTree = "<group>"; };
B65593B024ECB61800722E0C /* SlotViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SlotViewController.m; sourceTree = "<group>"; };
B66236A724FD9A34006CABD7 /* PreferencesWindowController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PreferencesWindowController.h; sourceTree = "<group>"; };
B66236A824FD9A34006CABD7 /* PreferencesWindowController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PreferencesWindowController.m; sourceTree = "<group>"; };
B66236B224FDA522006CABD7 /* SDL2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL2.framework; path = embedded/SDL2.framework; sourceTree = "<group>"; };
B66236B724FDA686006CABD7 /* mame64 */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; name = mame64; path = embedded/mame64; sourceTree = "<group>"; };
B66236B824FDA698006CABD7 /* mame64 */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.executable"; name = mame64; path = embedded/mame64; sourceTree = "<group>"; };
B66236C024FDB7A6006CABD7 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.rtf; name = Base; path = Base.lproj/Credits.rtf; sourceTree = "<group>"; };
B67BD48424EE249D0073E334 /* apple1.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = apple1.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; };
B6BA257E24E99BE9005FB8FF /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
B6BA257F24E99BE9005FB8FF /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
@@ -145,6 +308,19 @@
B6D6DE3D24FADF8B00661A5F /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchWindow.xib; sourceTree = "<group>"; };
B6D6DE3F24FADFAC00661A5F /* LaunchWindowController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LaunchWindowController.h; sourceTree = "<group>"; };
B6D6DE4024FADFAC00661A5F /* LaunchWindowController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LaunchWindowController.m; sourceTree = "<group>"; };
B6DDECBD25057A550093587A /* drag-handle-4x10.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "drag-handle-4x10.png"; sourceTree = "<group>"; };
B6DDECBE25057A550093587A /* drag-handle-4x10@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "drag-handle-4x10@2x.png"; sourceTree = "<group>"; };
B6DDECBF25057A550093587A /* drag-handle-4x10@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "drag-handle-4x10@3x.png"; sourceTree = "<group>"; };
B6DDECC62505A86E0093587A /* eject-16x16@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "eject-16x16@2x.png"; sourceTree = "<group>"; };
B6DDECC72505A86E0093587A /* eject-16x16@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "eject-16x16@3x.png"; sourceTree = "<group>"; };
B6DDECC82505A86E0093587A /* eject-hover-16x16.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "eject-hover-16x16.png"; sourceTree = "<group>"; };
B6DDECC92505A86E0093587A /* eject-hover-16x16@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "eject-hover-16x16@2x.png"; sourceTree = "<group>"; };
B6DDECCA2505A86E0093587A /* eject-hover-16x16@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "eject-hover-16x16@3x.png"; sourceTree = "<group>"; };
B6DDECCB2505A86E0093587A /* eject-16x16.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "eject-16x16.png"; sourceTree = "<group>"; };
B6E4B5FA24FDE2670094A35C /* Ample Lite.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Ample Lite.app"; sourceTree = BUILT_PRODUCTS_DIR; };
B6E9A17E25088B1B005E7525 /* NewSlotViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NewSlotViewController.h; sourceTree = "<group>"; };
B6E9A17F25088B1B005E7525 /* NewSlotViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NewSlotViewController.m; sourceTree = "<group>"; };
B6E9A18225088B36005E7525 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/NewSlotView.xib; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -155,6 +331,13 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
B6E4B5B924FDE2670094A35C /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
@@ -170,6 +353,13 @@
B64E15AF24EA365E00E8AD3D /* Resources */ = {
isa = PBXGroup;
children = (
B63C1B8F250088DC00511A71 /* roms.plist */,
B63C1B9B250192D800511A71 /* cec2000.plist */,
B63C1B98250192D700511A71 /* cece.plist */,
B63C1B9A250192D700511A71 /* cecg.plist */,
B63C1B99250192D700511A71 /* ceci.plist */,
B63C1B9C250192D800511A71 /* cecm.plist */,
B63C1BA7250192E600511A71 /* zijini.plist */,
B6109A0824F5F373005CB652 /* ace100.plist */,
B6109A1624F5F376005CB652 /* agat7.plist */,
B6109A1224F5F375005CB652 /* agat9.plist */,
@@ -219,12 +409,32 @@
path = Resources;
sourceTree = "<group>";
};
B66236B624FDA686006CABD7 /* Frameworks */ = {
isa = PBXGroup;
children = (
B66236B724FDA686006CABD7 /* mame64 */,
);
name = Frameworks;
sourceTree = "<group>";
};
B66236BD24FDA7EA006CABD7 /* Embedded Content */ = {
isa = PBXGroup;
children = (
B63C1B8D25004C6D00511A71 /* mame-data.tgz */,
B66236B824FDA698006CABD7 /* mame64 */,
B66236B224FDA522006CABD7 /* SDL2.framework */,
);
name = "Embedded Content";
sourceTree = "<group>";
};
B6BA257224E99BE9005FB8FF = {
isa = PBXGroup;
children = (
B6BA257D24E99BE9005FB8FF /* Ample */,
B66236BD24FDA7EA006CABD7 /* Embedded Content */,
B6BA257C24E99BE9005FB8FF /* Products */,
B649798C24EEC165008ABD20 /* Recovered References */,
B66236B624FDA686006CABD7 /* Frameworks */,
);
sourceTree = "<group>";
};
@@ -232,6 +442,7 @@
isa = PBXGroup;
children = (
B6BA257B24E99BE9005FB8FF /* Ample.app */,
B6E4B5FA24FDE2670094A35C /* Ample Lite.app */,
);
name = Products;
sourceTree = "<group>";
@@ -239,8 +450,14 @@
B6BA257D24E99BE9005FB8FF /* Ample */ = {
isa = PBXGroup;
children = (
B6E9A17E25088B1B005E7525 /* NewSlotViewController.h */,
B6E9A17F25088B1B005E7525 /* NewSlotViewController.m */,
B63C1B9125008A2700511A71 /* DownloadWindowController.h */,
B63C1B9225008A2700511A71 /* DownloadWindowController.m */,
B6BA257E24E99BE9005FB8FF /* AppDelegate.h */,
B6BA257F24E99BE9005FB8FF /* AppDelegate.m */,
B63C1B8924FF4B7100511A71 /* Ample.h */,
B63C1B8A24FF4BF700511A71 /* Ample.m */,
B6D6DE3F24FADFAC00661A5F /* LaunchWindowController.h */,
B6D6DE4024FADFAC00661A5F /* LaunchWindowController.m */,
B65593B024ECB61800722E0C /* SlotViewController.m */,
@@ -251,14 +468,21 @@
B64E15A824EA1D5300E8AD3D /* MachineViewController.m */,
B60A6E1324EE0AE2004B7EEF /* FlippedView.m */,
B60A6E1224EE0AE2004B7EEF /* FlippedView.h */,
B608E17D2502FE0C00D53465 /* TransparentScroller.h */,
B608E17E2502FE0C00D53465 /* TransparentScroller.m */,
B6004DED24FB05D600D38596 /* LogWindowController.h */,
B6004DEE24FB05D600D38596 /* LogWindowController.m */,
B66236A724FD9A34006CABD7 /* PreferencesWindowController.h */,
B66236A824FD9A34006CABD7 /* PreferencesWindowController.m */,
B6B9EA652506A5550080E70D /* EjectButton.h */,
B6B9EA642506A5550080E70D /* EjectButton.m */,
B6BA258124E99BEB005FB8FF /* Assets.xcassets */,
B64E15AF24EA365E00E8AD3D /* Resources */,
B6BA258624E99BEB005FB8FF /* Info.plist */,
B6D6DE3A24FACF4F00661A5F /* Defaults.plist */,
B6BA258724E99BEB005FB8FF /* main.m */,
B6BA258924E99BEB005FB8FF /* Ample.entitlements */,
B6DDECBC25057A550093587A /* images */,
B6D6DE4224FAEE8900661A5F /* Nibs */,
);
path = Ample;
@@ -267,16 +491,35 @@
B6D6DE4224FAEE8900661A5F /* Nibs */ = {
isa = PBXGroup;
children = (
B6BA258324E99BEB005FB8FF /* MainMenu.xib */,
B6E9A18125088B36005E7525 /* NewSlotView.xib */,
B63C1B9325008A2700511A71 /* DownloadWindow.xib */,
B66236BF24FDB7A6006CABD7 /* Credits.rtf */,
B6D6DE3C24FADF8B00661A5F /* LaunchWindow.xib */,
B6004DEF24FB05D600D38596 /* LogWindow.xib */,
B6D6DE3724FAC8B500661A5F /* Preferences.xib */,
B6BA258324E99BEB005FB8FF /* MainMenu.xib */,
B61099E524F5F230005CB652 /* MediaView.xib */,
B6D6DE3724FAC8B500661A5F /* Preferences.xib */,
B61099E324F5F230005CB652 /* SlotView.xib */,
);
name = Nibs;
sourceTree = "<group>";
};
B6DDECBC25057A550093587A /* images */ = {
isa = PBXGroup;
children = (
B6DDECBD25057A550093587A /* drag-handle-4x10.png */,
B6DDECBE25057A550093587A /* drag-handle-4x10@2x.png */,
B6DDECBF25057A550093587A /* drag-handle-4x10@3x.png */,
B6DDECCB2505A86E0093587A /* eject-16x16.png */,
B6DDECC62505A86E0093587A /* eject-16x16@2x.png */,
B6DDECC72505A86E0093587A /* eject-16x16@3x.png */,
B6DDECC82505A86E0093587A /* eject-hover-16x16.png */,
B6DDECC92505A86E0093587A /* eject-hover-16x16@2x.png */,
B6DDECCA2505A86E0093587A /* eject-hover-16x16@3x.png */,
);
path = images;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
@@ -287,6 +530,8 @@
B6BA257724E99BE9005FB8FF /* Sources */,
B6BA257824E99BE9005FB8FF /* Frameworks */,
B6BA257924E99BE9005FB8FF /* Resources */,
B66236B124FDA443006CABD7 /* Embed Frameworks */,
B66236BB24FDA71D006CABD7 /* CopyFiles */,
);
buildRules = (
);
@@ -297,6 +542,24 @@
productReference = B6BA257B24E99BE9005FB8FF /* Ample.app */;
productType = "com.apple.product-type.application";
};
B6E4B5AE24FDE2670094A35C /* Ample Lite */ = {
isa = PBXNativeTarget;
buildConfigurationList = B6E4B5F724FDE2670094A35C /* Build configuration list for PBXNativeTarget "Ample Lite" */;
buildPhases = (
B6E4B5AF24FDE2670094A35C /* Sources */,
B6E4B5B924FDE2670094A35C /* Frameworks */,
B6E4B5BB24FDE2670094A35C /* Resources */,
B6E4B5F324FDE2670094A35C /* Embed Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = "Ample Lite";
productName = MA2ME;
productReference = B6E4B5FA24FDE2670094A35C /* Ample Lite.app */;
productType = "com.apple.product-type.application";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
@@ -325,6 +588,7 @@
projectRoot = "";
targets = (
B6BA257A24E99BE9005FB8FF /* Ample */,
B6E4B5AE24FDE2670094A35C /* Ample Lite */,
);
};
/* End PBXProject section */
@@ -336,54 +600,72 @@
files = (
B6109A3324F5F377005CB652 /* apple2eeuk.plist in Resources */,
B6109A2424F5F377005CB652 /* las128ex.plist in Resources */,
B63C1BA8250192E600511A71 /* zijini.plist in Resources */,
B6109A1D24F5F377005CB652 /* space84.plist in Resources */,
B6109A3F24F5F377005CB652 /* agat9.plist in Resources */,
B63C1B9D250192D800511A71 /* cece.plist in Resources */,
B6D6DE3E24FADF8B00661A5F /* LaunchWindow.xib in Resources */,
B6109A3124F5F377005CB652 /* apple1.plist in Resources */,
B6109A3524F5F377005CB652 /* ace100.plist in Resources */,
B6109A3424F5F377005CB652 /* am64.plist in Resources */,
B6DDECCC2505A86E0093587A /* eject-16x16@2x.png in Resources */,
B6004DF124FB05D600D38596 /* LogWindow.xib in Resources */,
B6BA258224E99BEB005FB8FF /* Assets.xcassets in Resources */,
B6109A1724F5F377005CB652 /* apple2e.plist in Resources */,
B6109A3C24F5F377005CB652 /* am100.plist in Resources */,
B6DDECD02505A86E0093587A /* eject-hover-16x16.png in Resources */,
B6109A2524F5F377005CB652 /* laser2c.plist in Resources */,
B6109A3D24F5F377005CB652 /* laser128.plist in Resources */,
B6109A2824F5F377005CB652 /* apple2ep.plist in Resources */,
B6DDECC225057A550093587A /* drag-handle-4x10@2x.png in Resources */,
B6109A1924F5F377005CB652 /* apple2ees.plist in Resources */,
B6109A3924F5F377005CB652 /* prav8c.plist in Resources */,
B6109A1C24F5F377005CB652 /* ivelultr.plist in Resources */,
B6109A3824F5F377005CB652 /* maxxi.plist in Resources */,
B6109A2E24F5F377005CB652 /* apple2eefr.plist in Resources */,
B658DBF324FB58EC0063AB5F /* Info.plist in Resources */,
B6109A2C24F5F377005CB652 /* spectred.plist in Resources */,
B6109A4124F5F377005CB652 /* apple2cp.plist in Resources */,
B6BA258524E99BEB005FB8FF /* MainMenu.xib in Resources */,
B6109A3A24F5F377005CB652 /* prav82.plist in Resources */,
B6109A2024F5F377005CB652 /* apple2euk.plist in Resources */,
B6109A2F24F5F377005CB652 /* uniap2ti.plist in Resources */,
B6DDECD42505A86E0093587A /* eject-hover-16x16@3x.png in Resources */,
B6DDECD62505A86E0093587A /* eject-16x16.png in Resources */,
B6109A1E24F5F377005CB652 /* apple2c.plist in Resources */,
B6109A1A24F5F377005CB652 /* microeng.plist in Resources */,
B6109A3E24F5F377005CB652 /* albert.plist in Resources */,
B66236C124FDB7A6006CABD7 /* Credits.rtf in Resources */,
B6109A4224F5F377005CB652 /* apple2p.plist in Resources */,
B6109A1824F5F377005CB652 /* hkc8800a.plist in Resources */,
B6109A2324F5F377005CB652 /* apple2gsr0.plist in Resources */,
B63C1BA1250192D800511A71 /* cecg.plist in Resources */,
B63C1BA3250192D800511A71 /* cec2000.plist in Resources */,
B6109A2624F5F377005CB652 /* mprof3.plist in Resources */,
B63C1B9F250192D800511A71 /* ceci.plist in Resources */,
B6109A3224F5F377005CB652 /* basis108.plist in Resources */,
B6109A4324F5F377005CB652 /* agat7.plist in Resources */,
B6DDECC425057A550093587A /* drag-handle-4x10@3x.png in Resources */,
B6109A2B24F5F377005CB652 /* elppa.plist in Resources */,
B63C1B8E25004C6D00511A71 /* mame-data.tgz in Resources */,
B6DDECCE2505A86E0093587A /* eject-16x16@3x.png in Resources */,
B6109A3B24F5F377005CB652 /* apple2gsr1.plist in Resources */,
B63C1B9625008A2700511A71 /* DownloadWindow.xib in Resources */,
B6D6DE3B24FACF4F00661A5F /* Defaults.plist in Resources */,
B6109A2224F5F377005CB652 /* models.plist in Resources */,
B6109A4024F5F377005CB652 /* craft2p.plist in Resources */,
B6109A1B24F5F377005CB652 /* uniap2pt.plist in Resources */,
B6109A3724F5F377005CB652 /* las128e2.plist in Resources */,
B61099E824F5F231005CB652 /* MediaView.xib in Resources */,
B63C1B90250088DD00511A71 /* roms.plist in Resources */,
B6109A2724F5F377005CB652 /* uniap2en.plist in Resources */,
B6109A2A24F5F377005CB652 /* apple3.plist in Resources */,
B6109A2124F5F377005CB652 /* apple2ee.plist in Resources */,
B63C1BA5250192D800511A71 /* cecm.plist in Resources */,
B6E9A18325088B36005E7525 /* NewSlotView.xib in Resources */,
B6DDECC025057A550093587A /* drag-handle-4x10.png in Resources */,
B6DDECD22505A86E0093587A /* eject-hover-16x16@2x.png in Resources */,
B6109A3624F5F377005CB652 /* dodo.plist in Resources */,
B6D6DE3924FAC8B500661A5F /* Preferences.xib in Resources */,
B61099E724F5F231005CB652 /* SlotView.xib in Resources */,
B6109A2924F5F377005CB652 /* apple2gs.plist in Resources */,
B6109A1F24F5F377005CB652 /* apple2jp.plist in Resources */,
B6109A3024F5F377005CB652 /* apple2.plist in Resources */,
@@ -391,6 +673,82 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
B6E4B5BB24FDE2670094A35C /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
B6DDECCF2505A86E0093587A /* eject-16x16@3x.png in Resources */,
B6E4B5BC24FDE2670094A35C /* apple2eeuk.plist in Resources */,
B63C1BA0250192D800511A71 /* ceci.plist in Resources */,
B6E4B5BD24FDE2670094A35C /* las128ex.plist in Resources */,
B6E4B5BE24FDE2670094A35C /* space84.plist in Resources */,
B63C1BA6250192D800511A71 /* cecm.plist in Resources */,
B6E4B5BF24FDE2670094A35C /* agat9.plist in Resources */,
B6E4B5C024FDE2670094A35C /* LaunchWindow.xib in Resources */,
B6E4B5C124FDE2670094A35C /* apple1.plist in Resources */,
B6E4B5C224FDE2670094A35C /* ace100.plist in Resources */,
B6E4B5C324FDE2670094A35C /* am64.plist in Resources */,
B6E4B5C424FDE2670094A35C /* LogWindow.xib in Resources */,
B6E4B5C524FDE2670094A35C /* Assets.xcassets in Resources */,
B6E4B5C624FDE2670094A35C /* apple2e.plist in Resources */,
B63C1BA2250192D800511A71 /* cecg.plist in Resources */,
B6E4B5C724FDE2670094A35C /* am100.plist in Resources */,
B6E4B5C824FDE2670094A35C /* laser2c.plist in Resources */,
B6DDECC125057A550093587A /* drag-handle-4x10.png in Resources */,
B6E4B5C924FDE2670094A35C /* laser128.plist in Resources */,
B6E4B5CA24FDE2670094A35C /* apple2ep.plist in Resources */,
B6DDECCD2505A86E0093587A /* eject-16x16@2x.png in Resources */,
B6E4B5CB24FDE2670094A35C /* apple2ees.plist in Resources */,
B6E4B5CC24FDE2670094A35C /* prav8c.plist in Resources */,
B6E4B5CD24FDE2670094A35C /* ivelultr.plist in Resources */,
B6E4B5CE24FDE2670094A35C /* maxxi.plist in Resources */,
B6E4B5CF24FDE2670094A35C /* apple2eefr.plist in Resources */,
B6E4B5D124FDE2670094A35C /* spectred.plist in Resources */,
B63C1B9725008A2700511A71 /* DownloadWindow.xib in Resources */,
B6E4B5D224FDE2670094A35C /* apple2cp.plist in Resources */,
B6E4B5D324FDE2670094A35C /* MainMenu.xib in Resources */,
B6E4B5D424FDE2670094A35C /* prav82.plist in Resources */,
B6E4B5D524FDE2670094A35C /* apple2euk.plist in Resources */,
B6E4B5D624FDE2670094A35C /* uniap2ti.plist in Resources */,
B6E4B5D724FDE2670094A35C /* apple2c.plist in Resources */,
B6E4B5D824FDE2670094A35C /* microeng.plist in Resources */,
B6E4B5D924FDE2670094A35C /* albert.plist in Resources */,
B6E4B5DA24FDE2670094A35C /* Credits.rtf in Resources */,
B6E4B5DB24FDE2670094A35C /* apple2p.plist in Resources */,
B6DDECD12505A86E0093587A /* eject-hover-16x16.png in Resources */,
B63C1BA4250192D800511A71 /* cec2000.plist in Resources */,
B6DDECD32505A86E0093587A /* eject-hover-16x16@2x.png in Resources */,
B6E4B5DC24FDE2670094A35C /* hkc8800a.plist in Resources */,
B6DDECC525057A550093587A /* drag-handle-4x10@3x.png in Resources */,
B6E4B5DD24FDE2670094A35C /* apple2gsr0.plist in Resources */,
B6E4B5DE24FDE2670094A35C /* mprof3.plist in Resources */,
B6E4B5DF24FDE2670094A35C /* basis108.plist in Resources */,
B6DDECD52505A86E0093587A /* eject-hover-16x16@3x.png in Resources */,
B6E4B5E024FDE2670094A35C /* agat7.plist in Resources */,
B6E4B5E124FDE2670094A35C /* elppa.plist in Resources */,
B6E4B5E224FDE2670094A35C /* apple2gsr1.plist in Resources */,
B6E4B5E324FDE2670094A35C /* Defaults.plist in Resources */,
B6E4B5E424FDE2670094A35C /* models.plist in Resources */,
B63C1BA9250192E600511A71 /* zijini.plist in Resources */,
B6E4B5E524FDE2670094A35C /* craft2p.plist in Resources */,
B6E4B5E624FDE2670094A35C /* uniap2pt.plist in Resources */,
B6E4B5E724FDE2670094A35C /* las128e2.plist in Resources */,
B63C1B9E250192D800511A71 /* cece.plist in Resources */,
B6E4B5E824FDE2670094A35C /* MediaView.xib in Resources */,
B6E4B5E924FDE2670094A35C /* uniap2en.plist in Resources */,
B6E4B5EA24FDE2670094A35C /* apple3.plist in Resources */,
B6E4B5EB24FDE2670094A35C /* apple2ee.plist in Resources */,
B6E4B5EC24FDE2670094A35C /* dodo.plist in Resources */,
B6E4B5ED24FDE2670094A35C /* Preferences.xib in Resources */,
B6DDECD72505A86E0093587A /* eject-16x16.png in Resources */,
B6E4B5EF24FDE2670094A35C /* apple2gs.plist in Resources */,
B6E4B5F024FDE2670094A35C /* apple2jp.plist in Resources */,
B6E4B5F124FDE2670094A35C /* apple2.plist in Resources */,
B6DDECC325057A550093587A /* drag-handle-4x10@2x.png in Resources */,
B6E4B5F224FDE2670094A35C /* prav8m.plist in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@@ -398,14 +756,38 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
B608E17F2502FE0C00D53465 /* TransparentScroller.m in Sources */,
B6E9A18025088B1B005E7525 /* NewSlotViewController.m in Sources */,
B6BA258824E99BEB005FB8FF /* main.m in Sources */,
B63C1B8B24FF4BF700511A71 /* Ample.m in Sources */,
B6B9EA662506A5550080E70D /* EjectButton.m in Sources */,
B6D6DE4124FADFAC00661A5F /* LaunchWindowController.m in Sources */,
B64E15A924EA1D5300E8AD3D /* MachineViewController.m in Sources */,
B64979C224EF6703008ABD20 /* MediaViewController.m in Sources */,
B60A6E1424EE0AE2004B7EEF /* FlippedView.m in Sources */,
B6BA258024E99BE9005FB8FF /* AppDelegate.m in Sources */,
B6004DF024FB05D600D38596 /* LogWindowController.m in Sources */,
B65593B124ECB61800722E0C /* SlotViewController.m in Sources */,
B66236A924FD9A34006CABD7 /* PreferencesWindowController.m in Sources */,
B63C1B9425008A2700511A71 /* DownloadWindowController.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
B6E4B5AF24FDE2670094A35C /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
B608E1802502FE0C00D53465 /* TransparentScroller.m in Sources */,
B6E4B5B024FDE2670094A35C /* main.m in Sources */,
B63C1B8C24FF4BF700511A71 /* Ample.m in Sources */,
B6B9EA672506A5550080E70D /* EjectButton.m in Sources */,
B6E4B5B124FDE2670094A35C /* LaunchWindowController.m in Sources */,
B6E4B5B224FDE2670094A35C /* MachineViewController.m in Sources */,
B6E4B5B324FDE2670094A35C /* MediaViewController.m in Sources */,
B6E4B5B424FDE2670094A35C /* FlippedView.m in Sources */,
B6E4B5B524FDE2670094A35C /* AppDelegate.m in Sources */,
B6E4B5B624FDE2670094A35C /* LogWindowController.m in Sources */,
B6E4B5B724FDE2670094A35C /* PreferencesWindowController.m in Sources */,
B63C1B9525008A2700511A71 /* DownloadWindowController.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -428,6 +810,14 @@
name = MediaView.xib;
sourceTree = "<group>";
};
B66236BF24FDB7A6006CABD7 /* Credits.rtf */ = {
isa = PBXVariantGroup;
children = (
B66236C024FDB7A6006CABD7 /* Base */,
);
name = Credits.rtf;
sourceTree = "<group>";
};
B6BA258324E99BEB005FB8FF /* MainMenu.xib */ = {
isa = PBXVariantGroup;
children = (
@@ -452,6 +842,14 @@
name = LaunchWindow.xib;
sourceTree = "<group>";
};
B6E9A18125088B36005E7525 /* NewSlotView.xib */ = {
isa = PBXVariantGroup;
children = (
B6E9A18225088B36005E7525 /* Base */,
);
name = NewSlotView.xib;
sourceTree = "<group>";
};
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
@@ -571,6 +969,7 @@
CODE_SIGN_ENTITLEMENTS = Ample/Ample.entitlements;
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
INFOPLIST_FILE = Ample/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
@@ -588,6 +987,7 @@
CODE_SIGN_ENTITLEMENTS = Ample/Ample.entitlements;
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
INFOPLIST_FILE = Ample/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
@@ -598,6 +998,42 @@
};
name = Release;
};
B6E4B5F824FDE2670094A35C /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = Ample/Ample.entitlements;
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
INFOPLIST_FILE = Ample/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = "com.ksherlock.ample-lite";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Debug;
};
B6E4B5F924FDE2670094A35C /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CODE_SIGN_ENTITLEMENTS = Ample/Ample.entitlements;
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
INFOPLIST_FILE = Ample/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/../Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = "com.ksherlock.ample-lite";
PRODUCT_NAME = "$(TARGET_NAME)";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -619,6 +1055,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
B6E4B5F724FDE2670094A35C /* Build configuration list for PBXNativeTarget "Ample Lite" */ = {
isa = XCConfigurationList;
buildConfigurations = (
B6E4B5F824FDE2670094A35C /* Debug */,
B6E4B5F924FDE2670094A35C /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = B6BA257324E99BE9005FB8FF /* Project object */;
@@ -4,6 +4,16 @@
<dict>
<key>SchemeUserState</key>
<dict>
<key>Ample Lite.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>1</integer>
</dict>
<key>Ample copy.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
<integer>1</integer>
</dict>
<key>Ample.xcscheme_^#shared#^_</key>
<dict>
<key>orderHint</key>
+23
View File
@@ -0,0 +1,23 @@
//
// Ample.h
// Ample
//
// Created by Kelvin Sherlock on 9/1/2020.
// Copyright © 2020 Kelvin Sherlock. All rights reserved.
//
#ifndef Ample_h
#define Ample_h
#import <Cocoa/Cocoa.h>
NSURL *SupportDirectory(void);
NSString *SupportDirectoryPath(void);
/* NSUserDefaults keys */
extern NSString *kUseCustomMame;
extern NSString *kMamePath;
extern NSString *kAutoCloseLogWindow;
extern NSString *kMameComponentsDate;
#endif /* Ample_h */
+41
View File
@@ -0,0 +1,41 @@
//
// Ample.m
// Ample
//
// Created by Kelvin Sherlock on 9/1/2020.
// Copyright © 2020 Kelvin Sherlock. All rights reserved.
//
#include "Ample.h"
NSURL *SupportDirectory(void) {
static NSURL *cached = nil;
if (!cached) {
NSFileManager *fm = [NSFileManager defaultManager];
NSError *error = nil;
NSURL *url = [fm URLForDirectory: NSApplicationSupportDirectory inDomain: NSUserDomainMask appropriateForURL: nil create: YES error: &error];
cached = [url URLByAppendingPathComponent: @"Ample"];
[fm createDirectoryAtURL: cached withIntermediateDirectories: YES attributes: nil error: &error];
}
return cached;
}
NSString *SupportDirectoryPath(void) {
static NSString *cached = nil;
if (!cached) {
NSURL *url = SupportDirectory();
cached = [NSString stringWithCString: [url fileSystemRepresentation] encoding: NSUTF8StringEncoding];
}
return cached;
}
NSString *kUseCustomMame = @"UseCustomMame";
NSString *kMamePath = @"MamePath";
NSString *kAutoCloseLogWindow = @"AutoCloseLogWindow";
NSString *kMameComponentsDate = @"MameComponentsDate";
+92 -5
View File
@@ -5,19 +5,21 @@
// Created by Kelvin Sherlock on 8/16/2020.
// Copyright © 2020 Kelvin Sherlock. All rights reserved.
//
#import "Ample.h"
#import "AppDelegate.h"
#import "SlotViewController.h"
#import "MediaViewController.h"
#import "LaunchWindowController.h"
#import "PreferencesWindowController.h"
#import "DownloadWindowController.h"
@interface AppDelegate ()
@property (weak) IBOutlet NSWindow *installWindow;
@end
@implementation AppDelegate {
NSWindowController *_prefs;
NSWindowController *_launcher;
NSWindowController *_downloader;
}
@@ -37,10 +39,87 @@
[[NSUserDefaults standardUserDefaults] registerDefaults: dict];
}
_launcher = [LaunchWindowController new];
if ([self installMameComponents]) {
[self displayLaunchWindow];
}
}
-(void)displayLaunchWindow {
if (!_launcher) {
_launcher = [LaunchWindowController new];
}
[_launcher showWindow: nil];
}
-(BOOL)installMameComponents {
/* install the mame data components. */
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSBundle *bundle = [NSBundle mainBundle];
NSURL *sd = SupportDirectory();
NSURL *ample_url = [sd URLByAppendingPathComponent: @"Ample.plist"];
NSMutableDictionary *d = [NSMutableDictionary dictionaryWithContentsOfURL: ample_url];
NSDate *oldDate = [d objectForKey: kMameComponentsDate];
NSDate *newDate = [defaults objectForKey: kMameComponentsDate];
if (![newDate isKindOfClass: [NSDate class]])
newDate = nil;
if (!newDate) return YES; //????
if (oldDate && [oldDate compare: newDate] >= 0) return YES;
NSString *path = [bundle pathForResource: @"mame-data" ofType: @"tgz"];
if (!path) return YES; // Ample Lite?
NSWindow *win = _installWindow;
[win makeKeyAndOrderFront: nil];
NSTask *task = [NSTask new];
NSArray *argv = @[
@"xfz",
path
];
[task setExecutableURL: [NSURL fileURLWithPath: @"/usr/bin/tar"]];
[task setArguments: argv];
[task setCurrentDirectoryURL: sd];
dispatch_time_t when = dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC));
[task setTerminationHandler: ^(NSTask *task){
dispatch_after(when, dispatch_get_main_queue(), ^{
int st = [task terminationStatus];
if (st) {
NSAlert *alert = [NSAlert new];
[alert setMessageText: @"An error occurred extracting MAME components"];
[alert runModal];
[win close];
return;
}
if (d) {
[d setObject: newDate forKey: kMameComponentsDate];
[d writeToURL: ample_url atomically: YES];
} else {
[@{ kMameComponentsDate: newDate } writeToURL: ample_url atomically: YES];
}
[win close];
[self displayLaunchWindow];
});
}];
[task launch];
return NO;
}
- (void)applicationWillTerminate:(NSNotification *)aNotification {
// Insert code here to tear down your application
@@ -58,10 +137,18 @@
- (IBAction)displayPreferences:(id)sender {
if (!_prefs) {
_prefs = [[NSWindowController alloc] initWithWindowNibName: @"Preferences"];
_prefs = [PreferencesWindowController new];
}
[_prefs showWindow: sender];
}
- (IBAction)downloadROMS:(id)sender {
if (!_downloader) {
_downloader = [DownloadWindowController new];
}
[_downloader showWindow: sender];
}
@end
@@ -1,53 +1,63 @@
{
"images" : [
{
"idiom" : "mac",
"size" : "16x16",
"idiom" : "mac",
"filename" : "icon-16.png",
"scale" : "1x"
},
{
"idiom" : "mac",
"size" : "16x16",
"idiom" : "mac",
"filename" : "icon-32.png",
"scale" : "2x"
},
{
"idiom" : "mac",
"size" : "32x32",
"idiom" : "mac",
"filename" : "icon-32.png",
"scale" : "1x"
},
{
"idiom" : "mac",
"size" : "32x32",
"idiom" : "mac",
"filename" : "icon-64.png",
"scale" : "2x"
},
{
"idiom" : "mac",
"size" : "128x128",
"idiom" : "mac",
"filename" : "icon-128.png",
"scale" : "1x"
},
{
"idiom" : "mac",
"size" : "128x128",
"idiom" : "mac",
"filename" : "icon-256.png",
"scale" : "2x"
},
{
"idiom" : "mac",
"size" : "256x256",
"idiom" : "mac",
"filename" : "icon-256.png",
"scale" : "1x"
},
{
"idiom" : "mac",
"size" : "256x256",
"idiom" : "mac",
"filename" : "icon-512.png",
"scale" : "2x"
},
{
"idiom" : "mac",
"size" : "512x512",
"idiom" : "mac",
"filename" : "icon-512.png",
"scale" : "1x"
},
{
"idiom" : "mac",
"size" : "512x512",
"idiom" : "mac",
"filename" : "icon-1024.png",
"scale" : "2x"
}
],
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 447 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

+47
View File
@@ -0,0 +1,47 @@
{\rtf1\ansi\ansicpg1252\cocoartf1671\cocoasubrtf600
{\fonttbl\f0\fswiss\fcharset0 Helvetica-Bold;\f1\fswiss\fcharset0 Helvetica;}
{\colortbl;\red255\green255\blue255;\red0\green0\blue0;\red255\green255\blue255;\red38\green38\blue38;
}
{\*\expandedcolortbl;;\cssrgb\c0\c0\c0;\cssrgb\c100000\c100000\c100000;\cssrgb\c20000\c20000\c20000;
}
\margl1440\margr1440\vieww9000\viewh8400\viewkind0
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\pardirnatural\partightenfactor0
\f0\b\fs36 \cf2 Ample\cf0
\f1\b0\fs28 would like to thank\'85\
\
\pard\pardeftab720\qc\partightenfactor0
{\field{\*\fldinst{HYPERLINK "https://www.mamedev.org"}}{\fldrslt
\f0\b\fs36 \cf0 \cb3 \expnd0\expndtw0\kerning0
MAME}}\cb3 \expnd0\expndtw0\kerning0
\
\pard\pardeftab720\partightenfactor0
\cf0 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qj\partightenfactor0
\cf0 \cb1 \kerning1\expnd0\expndtw0 The MAME project as a whole is distributed under the terms of the {\field{\*\fldinst{HYPERLINK "https://opensource.org/licenses/GPL-2.0"}}{\fldrslt GNU General Public License, 2}} (GPL-2.0), since it contains code made available under multiple GPL-compatible licenses. A great majority of files (over 90% including core files) are under the {\field{\*\fldinst{HYPERLINK "https://opensource.org/licenses/BSD-3-Clause"}}{\fldrslt BSD-3-Clause License}} and we would encourage new contributors to distribute files under this license.\
\
Please note that MAME is a registered trademark of Gregory Ember, and permission is required to use the "MAME" name, logo or wordmark.\cb3 \expnd0\expndtw0\kerning0
\
\pard\pardeftab720\partightenfactor0
\cf0 \
\pard\pardeftab720\qc\partightenfactor0
{\field{\*\fldinst{HYPERLINK "https://libsdl.org"}}{\fldrslt
\f0\b\fs36 \cf0 SDL}}\
\pard\pardeftab720\partightenfactor0
\cf0 \
\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qj\partightenfactor0
\cf0 \cb1 \kerning1\expnd0\expndtw0 SDL 2.0 is distributed under the {\field{\*\fldinst{HYPERLINK "https://libsdl.org/license.php"}}{\fldrslt zlib license}}. This license allows you to use SDL freely in any software.\
\
\pard\pardeftab720\qc\partightenfactor0
{\field{\*\fldinst{HYPERLINK "https://usdawatercolors.nal.usda.gov/pom/catalog.xhtml?id=POM00001916"}}{\fldrslt
\f0\b\fs36 \cf0 \cb3 \expnd0\expndtw0\kerning0
Icon}}
\f0\b\fs36 \cb3 \expnd0\expndtw0\kerning0
\
\pard\pardeftab720\qj\partightenfactor0
\f1\b0\fs28 \cf0 \
\pard\pardeftab720\qj\partightenfactor0
\cf4 \cb3 R.C. Steadman, 6-1-\'9221.\
\
U.S. Department of Agriculture Pomological Watercolor Collection. Rare and Special Collections, National Agricultural Library, Beltsville, MD 20705}
+192
View File
@@ -0,0 +1,192 @@
<?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">
<dependencies>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="15705"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="DownloadWindowController">
<connections>
<outlet property="tableView" destination="FLX-Wt-y53" id="a4O-pk-EAt"/>
<outlet property="window" destination="F0z-JX-Cv5" id="gIp-Ho-8D9"/>
</connections>
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<window title="ROMs" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="F0z-JX-Cv5">
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES"/>
<rect key="contentRect" x="196" y="240" width="400" height="500"/>
<rect key="screenRect" x="0.0" y="0.0" width="2560" height="1417"/>
<value key="minSize" type="size" width="300" height="300"/>
<view key="contentView" id="se5-gp-TjO">
<rect key="frame" x="0.0" y="0.0" width="400" height="500"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="rg5-Qf-4Mw">
<rect key="frame" x="324" y="19" width="56" height="23"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
<buttonCell key="cell" type="roundTextured" title="Cancel" bezelStyle="texturedRounded" alignment="center" lineBreakMode="truncatingTail" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="i6Z-OM-lqE">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
<string key="keyEquivalent">.</string>
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
<connections>
<binding destination="-2" name="enabled" keyPath="self.active" id="mBP-8S-yGB"/>
</connections>
</buttonCell>
<connections>
<action selector="cancelAll:" target="-2" id="ycl-eJ-ByB"/>
</connections>
</button>
<scrollView fixedFrame="YES" autohidesScrollers="YES" horizontalLineScroll="51" horizontalPageScroll="10" verticalLineScroll="51" verticalPageScroll="10" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="CMD-nT-mEa">
<rect key="frame" x="0.0" y="58" width="402" height="443"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<clipView key="contentView" ambiguous="YES" drawsBackground="NO" id="Igp-aH-flp">
<rect key="frame" x="1" y="1" width="400" height="441"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView verticalHuggingPriority="750" ambiguous="YES" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" selectionHighlightStyle="none" alternatingRowBackgroundColors="YES" columnReordering="NO" columnResizing="NO" multipleSelection="NO" autosaveColumns="NO" rowHeight="49" rowSizeStyle="automatic" viewBased="YES" id="FLX-Wt-y53">
<rect key="frame" x="0.0" y="0.0" width="400" height="441"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
<tableViewGridLines key="gridStyleMask" dashed="YES"/>
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
<tableColumns>
<tableColumn width="397" minWidth="40" maxWidth="1000" id="5jP-bY-fhI">
<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="VZP-ti-Ti8">
<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"/>
<prototypeCellViews>
<tableCellView identifier="Cell" focusRingType="none" id="aBv-F5-XWo">
<rect key="frame" x="1" y="1" width="397" height="17"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="pWm-hb-BXB">
<rect key="frame" x="0.0" y="0.0" width="397" height="17"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="p71-gJ-vFV">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
</subviews>
<connections>
<outlet property="textField" destination="pWm-hb-BXB" id="NNG-rj-AAQ"/>
</connections>
</tableCellView>
<tableCellView identifier="DownloadCell" focusRingType="none" id="onK-6l-2iV" customClass="DownloadTableCellView">
<rect key="frame" x="1" y="20" width="397" height="49"/>
<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="371" 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"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</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"/>
</progressIndicator>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="hfu-hP-QAH">
<rect key="frame" x="25" y="3" width="371" 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"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
</subviews>
<connections>
<outlet property="activity" destination="jBN-UJ-tWi" id="ZwD-yU-Vne"/>
<outlet property="statusTextField" destination="hfu-hP-QAH" id="8Hv-BB-kYA"/>
<outlet property="textField" destination="A44-us-TEl" id="Ta5-nd-ed1"/>
</connections>
</tableCellView>
</prototypeCellViews>
</tableColumn>
</tableColumns>
<connections>
<outlet property="dataSource" destination="-2" id="Ghf-k9-bRK"/>
<outlet property="delegate" destination="-2" id="rpR-0W-4Nu"/>
<outlet property="menu" destination="RJM-21-hjO" id="xpL-0n-1jm"/>
</connections>
</tableView>
</subviews>
<nil key="backgroundColor"/>
</clipView>
<scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="pcd-MD-gho">
<rect key="frame" x="1" y="314" width="480" height="15"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="jGc-PE-vaF">
<rect key="frame" x="224" y="17" width="15" height="102"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
</scrollView>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Fhd-vr-Q2G">
<rect key="frame" x="20" y="19" width="124" height="23"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<buttonCell key="cell" type="roundTextured" title="Download Missing" bezelStyle="texturedRounded" alignment="center" lineBreakMode="truncatingTail" state="on" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="AKx-eg-iLS">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="downloadMissing:" target="-2" id="azE-F0-5wx"/>
<binding destination="-2" name="enabled" keyPath="self.active" id="NOL-Db-hgp">
<dictionary key="options">
<string key="NSValueTransformerName">NSNegateBoolean</string>
</dictionary>
</binding>
</connections>
</button>
</subviews>
</view>
<connections>
<outlet property="delegate" destination="-2" id="0bl-1N-AYu"/>
</connections>
<point key="canvasLocation" x="142" y="179"/>
</window>
<menu id="RJM-21-hjO">
<items>
<menuItem title="Show in Finder" tag="1" id="hDp-fh-9nU">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="showInFinder:" target="-2" id="ltL-yL-7EP"/>
</connections>
</menuItem>
<menuItem title="Download" tag="2" id="ree-Zg-jYB">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="download:" target="-2" id="2ua-nq-Zy1"/>
</connections>
</menuItem>
<menuItem title="Cancel" tag="3" id="7fY-83-Ads">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="cancel:" target="-2" id="cHE-Wq-jwc"/>
</connections>
</menuItem>
</items>
<connections>
<outlet property="delegate" destination="-2" id="fC3-h6-xe2"/>
</connections>
<point key="canvasLocation" x="-348" y="164"/>
</menu>
</objects>
</document>
+307 -74
View File
@@ -13,7 +13,7 @@
<outlet property="mediaController" destination="t7c-zy-czN" id="a7d-HC-TWx"/>
<outlet property="mediaView" destination="J9O-xI-P5J" id="PmZ-VC-4SN"/>
<outlet property="slotController" destination="lyS-mc-3Tf" id="LXo-Ii-fDX"/>
<outlet property="slotView" destination="P9d-sS-qEb" id="T2q-ON-owm"/>
<outlet property="slotView" destination="P9d-sS-qEb" id="qlH-u0-hzq"/>
<outlet property="window" destination="Vze-YF-m6e" id="JUs-Eb-MW8"/>
</connections>
</customObject>
@@ -21,39 +21,16 @@
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<window title="Ample" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="Vze-YF-m6e">
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES"/>
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
<rect key="contentRect" x="335" y="390" width="718" height="947"/>
<rect key="contentRect" x="335" y="390" width="718" height="795"/>
<rect key="screenRect" x="0.0" y="0.0" width="2560" height="1417"/>
<view key="contentView" id="Ssv-Jw-EE0">
<rect key="frame" x="0.0" y="0.0" width="718" height="947"/>
<rect key="frame" x="0.0" y="0.0" width="718" height="795"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<customView fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="oVt-eD-aaj">
<rect key="frame" x="0.0" y="747" width="718" height="200"/>
<rect key="frame" x="0.0" y="615" width="718" height="180"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
</customView>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="zVI-uU-muo">
<rect key="frame" x="18" y="102" width="71" height="18"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="check" title="Window" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="vx1-I7-8kN">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<binding destination="-2" name="value" keyPath="self.mameWindow" id="uS7-cg-wqb"/>
</connections>
</button>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="ZUp-ni-Rr6">
<rect key="frame" x="18" y="82" width="62" height="18"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="check" title="Debug" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="6is-QN-JEc">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<binding destination="-2" name="value" keyPath="self.mameDebug" id="vkc-sR-KnB"/>
</connections>
</button>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" textCompletion="NO" translatesAutoresizingMaskIntoConstraints="NO" id="pKK-yY-vnY">
<rect key="frame" x="0.0" y="0.0" width="718" height="52"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMaxY="YES"/>
@@ -67,74 +44,330 @@
</connections>
</textField>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="nKp-px-nHg">
<rect key="frame" x="595" y="53" width="111" height="32"/>
<rect key="frame" x="587" y="58" width="111" height="23"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
<buttonCell key="cell" type="push" title="Launch" bezelStyle="rounded" image="NSAppleMenuImage" imagePosition="left" alignment="center" borderStyle="border" inset="2" id="Ct1-Rb-7uI">
<buttonCell key="cell" type="roundTextured" title="Launch" bezelStyle="texturedRounded" image="NSAppleMenuImage" imagePosition="left" alignment="center" borderStyle="border" inset="2" id="Ct1-Rb-7uI">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
<string key="keyEquivalent" base64-UTF8="YES">
DQ
</string>
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
</buttonCell>
<connections>
<action selector="launchAction:" target="-2" id="a4d-zv-1CU"/>
</connections>
</button>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="rLP-n2-0eY">
<rect key="frame" x="18" y="62" width="91" height="18"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="check" title="No Throttle" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="NyE-jT-WqC">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<binding destination="-2" name="value" keyPath="self.mameNoThrottle" id="tUN-EX-7PF"/>
</connections>
</button>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="D5h-dm-fuZ">
<rect key="frame" x="131" y="102" width="104" height="18"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="check" title="Square Pixels" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="yWK-BP-7Z9">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<binding destination="-2" name="value" keyPath="self.mameSquarePixels" id="BiP-wC-Hpn"/>
</connections>
</button>
<customView fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="P9d-sS-qEb" customClass="FlippedView">
<rect key="frame" x="20" y="169" width="306" height="570"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
</customView>
<customView fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="J9O-xI-P5J" customClass="FlippedView">
<rect key="frame" x="392" y="169" width="306" height="570"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/>
</customView>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="zoQ-mU-ARl">
<rect key="frame" x="261" y="102" width="67" height="18"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="check" title="No Blur" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="r3s-5h-Xv5">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<binding destination="-2" name="value" keyPath="self.mameNoBlur" id="Pvn-zw-OsQ"/>
</connections>
</button>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="nNO-3T-OAy">
<rect key="frame" x="595" y="77" width="109" height="32"/>
<rect key="frame" x="470" y="58" width="109" height="23"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
<buttonCell key="cell" type="push" title="Reset Slots" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="Uii-5h-2R2">
<buttonCell key="cell" type="roundTextured" title="Reset Slots" bezelStyle="texturedRounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="Uii-5h-2R2">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="system"/>
<string key="keyEquivalent">r</string>
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
</buttonCell>
<connections>
<action selector="resetSlots:" target="lyS-mc-3Tf" id="1qi-N0-Q8B"/>
</connections>
</button>
<customView id="P9d-sS-qEb" customClass="FlippedView">
<rect key="frame" x="20" y="92" width="306" height="363"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
</customView>
<tabView initialItem="nr5-4o-DyG" id="l8R-bg-6Zm">
<rect key="frame" x="13" y="453" width="692" height="160"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<font key="font" metaFont="system"/>
<tabViewItems>
<tabViewItem label="Video" identifier="" id="zUN-Qs-haG">
<view key="view" id="QQT-HS-xjI">
<rect key="frame" x="10" y="33" width="672" height="114"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="pD8-dV-ijg">
<rect key="frame" x="143" y="87" width="172" height="25"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<popUpButtonCell key="cell" type="push" title="Default" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="g0W-Ka-7bb" id="ceP-aK-me8">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="menu"/>
<menu key="menu" id="ajo-1k-sbD">
<items>
<menuItem title="Default" state="on" id="g0W-Ka-7bb"/>
<menuItem title="Metal" tag="1" id="93g-cb-opl"/>
<menuItem title="OpenGL" tag="2" id="B1R-9E-dMw"/>
</items>
</menu>
</popUpButtonCell>
<connections>
<binding destination="-2" name="enabled" keyPath="self.mameBGFX" id="ZuQ-OY-TrP"/>
<binding destination="-2" name="selectedIndex" keyPath="self.mameBackend" id="oE1-Ho-H22"/>
</connections>
</popUpButton>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="qGO-Pm-SD1">
<rect key="frame" x="79" y="92" width="60" height="16"/>
<autoresizingMask key="autoresizingMask"/>
<textFieldCell key="cell" lineBreakMode="clipping" title="Backend:" id="WDr-Pl-lV1">
<font key="font" metaFont="system"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="ctE-fX-twN">
<rect key="frame" x="318" y="92" width="51" height="16"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" lineBreakMode="clipping" title="Effects:" id="Sqk-7k-PxQ">
<font key="font" metaFont="system"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="826-p8-in8">
<rect key="frame" x="15" y="91" width="57" height="18"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="check" title="BGFX" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="Ubs-KZ-mpu">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<binding destination="-2" name="value" keyPath="self.mameBGFX" id="9Ua-MZ-qbe"/>
</connections>
</button>
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="hM8-FM-Agh">
<rect key="frame" x="382" y="87" width="172" height="25"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<popUpButtonCell key="cell" type="push" title="Default" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="Dsm-bi-Txy" id="mBS-h4-BWC">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="menu"/>
<menu key="menu" id="WdF-Hw-YI9">
<items>
<menuItem title="Default" state="on" id="Dsm-bi-Txy"/>
<menuItem title="Unfiltered" tag="1" id="xgz-We-TFg"/>
<menuItem title="HLSL" tag="2" id="1UE-ea-V9a"/>
<menuItem title="CRT Geometry" tag="3" id="Dsx-wI-m3r"/>
<menuItem title="CRT Geometry Deluxe" tag="4" id="Ylw-Of-TM5"/>
</items>
</menu>
</popUpButtonCell>
<connections>
<binding destination="-2" name="enabled" keyPath="self.mameBGFX" id="DVB-Ex-VYF"/>
<binding destination="-2" name="selectedIndex" keyPath="self.mameEffects" id="rCg-d6-OR6"/>
</connections>
</popUpButton>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="D5h-dm-fuZ">
<rect key="frame" x="318" y="60" width="104" height="18"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="check" title="Square Pixels" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="yWK-BP-7Z9">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<binding destination="-2" name="enabled" keyPath="self.mameWindowMode" id="X80-2K-kTO"/>
<binding destination="-2" name="value" keyPath="self.mameSquarePixels" id="BiP-wC-Hpn"/>
</connections>
</button>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="6gd-45-eLr">
<rect key="frame" x="15" y="60" width="94" height="16"/>
<autoresizingMask key="autoresizingMask"/>
<textFieldCell key="cell" lineBreakMode="clipping" title="Window Mode:" id="l8n-CI-o4t">
<font key="font" metaFont="system"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="sei-LG-VM6">
<rect key="frame" x="143" y="55" width="172" height="25"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<popUpButtonCell key="cell" type="push" title="Full Screen" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="0zZ-Ib-Fne" id="lsw-Vk-WcZ">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="menu"/>
<menu key="menu" id="m4N-Qw-mem">
<items>
<menuItem title="Full Screen" state="on" id="0zZ-Ib-Fne"/>
<menuItem title="Window 1x" id="3bZ-rq-fCt"/>
<menuItem title="Window 2x" id="KA4-Rs-yyK"/>
</items>
</menu>
</popUpButtonCell>
<connections>
<binding destination="-2" name="selectedIndex" keyPath="self.mameWindowMode" id="B9e-SK-3RY"/>
</connections>
</popUpButton>
<button verticalHuggingPriority="750" id="9Db-wA-FP9">
<rect key="frame" x="15" y="29" width="115" height="18"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="check" title="Capture Mouse" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="3xh-Q7-WFl">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<binding destination="-2" name="value" keyPath="self.mameMouse" id="vWu-od-2d6"/>
</connections>
</button>
</subviews>
</view>
</tabViewItem>
<tabViewItem label="CPU" identifier="" id="nr5-4o-DyG">
<view key="view" id="ElY-YI-LLI">
<rect key="frame" x="10" y="33" width="672" height="114"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="ZUp-ni-Rr6">
<rect key="frame" x="15" y="60" width="62" height="18"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="check" title="Debug" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="6is-QN-JEc">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<binding destination="-2" name="value" keyPath="self.mameDebug" id="vkc-sR-KnB"/>
</connections>
</button>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="PGK-yK-2ZK">
<rect key="frame" x="15" y="91" width="43" height="16"/>
<autoresizingMask key="autoresizingMask"/>
<textFieldCell key="cell" lineBreakMode="clipping" title="Speed" id="D9w-Mz-PXs">
<font key="font" metaFont="system"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="FE4-gG-fPb">
<rect key="frame" x="62" y="86" width="107" height="25"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<popUpButtonCell key="cell" type="push" title="100%" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" tag="1" imageScaling="proportionallyDown" inset="2" selectedItem="yoI-Ra-evu" id="M40-f0-awc">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="menu"/>
<menu key="menu" id="8Tv-0j-JhQ">
<items>
<menuItem title="100%" state="on" tag="1" id="yoI-Ra-evu"/>
<menuItem title="200%" tag="2" id="UqT-yd-8o3"/>
<menuItem title="300%" tag="3" id="awG-S1-uM4"/>
<menuItem title="400%" tag="4" id="qJ5-Ed-W5U"/>
<menuItem title="500%" tag="5" id="Phc-uW-Qog"/>
<menuItem title="No Throttle" tag="-1" id="gAc-ME-eim"/>
</items>
</menu>
</popUpButtonCell>
<connections>
<binding destination="-2" name="selectedTag" keyPath="self.mameSpeed" id="nFG-yA-KC1"/>
</connections>
</popUpButton>
</subviews>
</view>
</tabViewItem>
<tabViewItem label="A/V" identifier="" id="0T5-BN-lxE">
<view key="view" id="knw-WE-UU3">
<rect key="frame" x="10" y="33" width="672" height="114"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="vWt-Dx-OGG">
<rect key="frame" x="15" y="91" width="102" height="18"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="check" title="Generate AVI" bezelStyle="regularSquare" imagePosition="left" inset="2" id="hRp-Lh-Ebr">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
<connections>
<binding destination="-2" name="value" keyPath="self.mameAVI" id="G1O-YP-DXa"/>
</connections>
</buttonCell>
</button>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Ejn-wC-UXH">
<rect key="frame" x="15" y="60" width="110" height="18"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="check" title="Generate WAV" bezelStyle="regularSquare" imagePosition="left" inset="2" id="7Aa-N2-MHn">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<binding destination="-2" name="value" keyPath="self.mameWAV" id="4r0-ZQ-nNC"/>
</connections>
</button>
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="5Yf-ZJ-8kx">
<rect key="frame" x="132" y="59" width="523" 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.wav" drawsBackground="YES" id="Xqc-zw-28b">
<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>
<binding destination="-2" name="enabled" keyPath="self.mameWAV" id="lZM-6n-jAS"/>
<binding destination="-2" name="value" keyPath="self.mameWAVPath" id="475-s3-0e4">
<dictionary key="options">
<string key="NSNullPlaceholder">/path/to/file.wav</string>
</dictionary>
</binding>
</connections>
</textField>
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="ne8-5I-D1H">
<rect key="frame" x="132" y="28" width="523" 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.vgm" drawsBackground="YES" id="xGs-Mi-wzj">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
<connections>
<binding destination="-2" name="enabled" keyPath="self.mameVGM" id="TJV-4j-uVi"/>
<binding destination="-2" name="value" keyPath="self.mameVGMPath" id="aK1-2A-QWB">
<dictionary key="options">
<string key="NSNoSelectionPlaceholder">/path/to/file.vgm</string>
</dictionary>
</binding>
</connections>
</textFieldCell>
<connections>
<binding destination="-2" name="enabled" keyPath="self.mameVGM" id="JZX-dA-3Bn"/>
<binding destination="-2" name="value" keyPath="self.mameVGMPath" id="m7G-a0-QDZ">
<dictionary key="options">
<string key="NSNullPlaceholder">/path/to/file.vgm</string>
</dictionary>
</binding>
</connections>
</textField>
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Xht-PS-Hw8">
<rect key="frame" x="132" y="90" width="523" 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.avi" drawsBackground="YES" id="iY4-FF-x2e">
<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>
<binding destination="-2" name="enabled" keyPath="self.mameAVI" id="o4R-KR-zVV"/>
<binding destination="-2" name="value" keyPath="self.mameAVIPath" id="dSK-1u-lh6">
<dictionary key="options">
<string key="NSNullPlaceholder">/path/to/file.avi</string>
</dictionary>
</binding>
</connections>
</textField>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="YVz-a3-9Pj">
<rect key="frame" x="15" y="29" width="111" height="18"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="check" title="Generate VGM" bezelStyle="regularSquare" imagePosition="left" inset="2" id="F9b-kg-ZMV">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<binding destination="-2" name="value" keyPath="self.mameVGM" id="Oyp-Pc-Uad"/>
</connections>
</button>
</subviews>
</view>
</tabViewItem>
</tabViewItems>
</tabView>
<customView fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="J9O-xI-P5J" customClass="FlippedView">
<rect key="frame" x="392" y="92" width="306" height="363"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/>
</customView>
</subviews>
</view>
<point key="canvasLocation" x="769" y="196.5"/>
<point key="canvasLocation" x="769" y="120.5"/>
</window>
<viewController title="Media View" nibName="MediaView" id="t7c-zy-czN" customClass="MediaViewController"/>
<viewController title="Slot View" nibName="SlotView" id="lyS-mc-3Tf" customClass="SlotViewController"/>
<viewController title="Slot View" nibName="NewSlotView" id="lyS-mc-3Tf" customClass="NewSlotViewController"/>
<customObject id="RgH-d9-xl8" customClass="MachineViewController"/>
</objects>
<resources>
@@ -14,7 +14,7 @@
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<window title="Window" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="F0z-JX-Cv5">
<window title="Ample Log" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="F0z-JX-Cv5">
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
<windowPositionMask key="initialPositionMask" leftStrut="YES" rightStrut="YES" topStrut="YES" bottomStrut="YES"/>
<rect key="contentRect" x="196" y="240" width="800" height="270"/>
@@ -36,7 +36,7 @@
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
<size key="minSize" width="785" height="270"/>
<size key="maxSize" width="788" height="10000000"/>
<size key="maxSize" width="800" height="10000000"/>
<color key="insertionPointColor" name="textColor" catalog="System" colorSpace="catalog"/>
</textView>
</subviews>
+33 -263
View File
@@ -3,6 +3,7 @@
<dependencies>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="15705"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="NSApplication">
@@ -12,7 +13,11 @@
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<customObject id="Voe-Tx-rLC" customClass="AppDelegate"/>
<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"/>
<menu title="Main Menu" systemMenu="main" id="AYu-sK-qS6">
<items>
@@ -346,268 +351,6 @@
</items>
</menu>
</menuItem>
<menuItem title="Format" id="jxT-CU-nIS">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Format" id="GEO-Iw-cKr">
<items>
<menuItem title="Font" id="Gi5-1S-RQB">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Font" systemMenu="font" id="aXa-aM-Jaq">
<items>
<menuItem title="Show Fonts" keyEquivalent="t" id="Q5e-8K-NDq">
<connections>
<action selector="orderFrontFontPanel:" target="YLy-65-1bz" id="WHr-nq-2xA"/>
</connections>
</menuItem>
<menuItem title="Bold" tag="2" keyEquivalent="b" id="GB9-OM-e27">
<connections>
<action selector="addFontTrait:" target="YLy-65-1bz" id="hqk-hr-sYV"/>
</connections>
</menuItem>
<menuItem title="Italic" tag="1" keyEquivalent="i" id="Vjx-xi-njq">
<connections>
<action selector="addFontTrait:" target="YLy-65-1bz" id="IHV-OB-c03"/>
</connections>
</menuItem>
<menuItem title="Underline" keyEquivalent="u" id="WRG-CD-K1S">
<connections>
<action selector="underline:" target="-1" id="FYS-2b-JAY"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="5gT-KC-WSO"/>
<menuItem title="Bigger" tag="3" keyEquivalent="+" id="Ptp-SP-VEL">
<connections>
<action selector="modifyFont:" target="YLy-65-1bz" id="Uc7-di-UnL"/>
</connections>
</menuItem>
<menuItem title="Smaller" tag="4" keyEquivalent="-" id="i1d-Er-qST">
<connections>
<action selector="modifyFont:" target="YLy-65-1bz" id="HcX-Lf-eNd"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="kx3-Dk-x3B"/>
<menuItem title="Kern" id="jBQ-r6-VK2">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Kern" id="tlD-Oa-oAM">
<items>
<menuItem title="Use Default" id="GUa-eO-cwY">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="useStandardKerning:" target="-1" id="6dk-9l-Ckg"/>
</connections>
</menuItem>
<menuItem title="Use None" id="cDB-IK-hbR">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="turnOffKerning:" target="-1" id="U8a-gz-Maa"/>
</connections>
</menuItem>
<menuItem title="Tighten" id="46P-cB-AYj">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="tightenKerning:" target="-1" id="hr7-Nz-8ro"/>
</connections>
</menuItem>
<menuItem title="Loosen" id="ogc-rX-tC1">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="loosenKerning:" target="-1" id="8i4-f9-FKE"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Ligatures" id="o6e-r0-MWq">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Ligatures" id="w0m-vy-SC9">
<items>
<menuItem title="Use Default" id="agt-UL-0e3">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="useStandardLigatures:" target="-1" id="7uR-wd-Dx6"/>
</connections>
</menuItem>
<menuItem title="Use None" id="J7y-lM-qPV">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="turnOffLigatures:" target="-1" id="iX2-gA-Ilz"/>
</connections>
</menuItem>
<menuItem title="Use All" id="xQD-1f-W4t">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="useAllLigatures:" target="-1" id="KcB-kA-TuK"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Baseline" id="OaQ-X3-Vso">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Baseline" id="ijk-EB-dga">
<items>
<menuItem title="Use Default" id="3Om-Ey-2VK">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="unscript:" target="-1" id="0vZ-95-Ywn"/>
</connections>
</menuItem>
<menuItem title="Superscript" id="Rqc-34-cIF">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="superscript:" target="-1" id="3qV-fo-wpU"/>
</connections>
</menuItem>
<menuItem title="Subscript" id="I0S-gh-46l">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="subscript:" target="-1" id="Q6W-4W-IGz"/>
</connections>
</menuItem>
<menuItem title="Raise" id="2h7-ER-AoG">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="raiseBaseline:" target="-1" id="4sk-31-7Q9"/>
</connections>
</menuItem>
<menuItem title="Lower" id="1tx-W0-xDw">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="lowerBaseline:" target="-1" id="OF1-bc-KW4"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem isSeparatorItem="YES" id="Ndw-q3-faq"/>
<menuItem title="Show Colors" keyEquivalent="C" id="bgn-CT-cEk">
<connections>
<action selector="orderFrontColorPanel:" target="-1" id="mSX-Xz-DV3"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="iMs-zA-UFJ"/>
<menuItem title="Copy Style" keyEquivalent="c" id="5Vv-lz-BsD">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="copyFont:" target="-1" id="GJO-xA-L4q"/>
</connections>
</menuItem>
<menuItem title="Paste Style" keyEquivalent="v" id="vKC-jM-MkH">
<modifierMask key="keyEquivalentModifierMask" option="YES" command="YES"/>
<connections>
<action selector="pasteFont:" target="-1" id="JfD-CL-leO"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="Text" id="Fal-I4-PZk">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Text" id="d9c-me-L2H">
<items>
<menuItem title="Align Left" keyEquivalent="{" id="ZM1-6Q-yy1">
<connections>
<action selector="alignLeft:" target="-1" id="zUv-R1-uAa"/>
</connections>
</menuItem>
<menuItem title="Center" keyEquivalent="|" id="VIY-Ag-zcb">
<connections>
<action selector="alignCenter:" target="-1" id="spX-mk-kcS"/>
</connections>
</menuItem>
<menuItem title="Justify" id="J5U-5w-g23">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="alignJustified:" target="-1" id="ljL-7U-jND"/>
</connections>
</menuItem>
<menuItem title="Align Right" keyEquivalent="}" id="wb2-vD-lq4">
<connections>
<action selector="alignRight:" target="-1" id="r48-bG-YeY"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="4s2-GY-VfK"/>
<menuItem title="Writing Direction" id="H1b-Si-o9J">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="Writing Direction" id="8mr-sm-Yjd">
<items>
<menuItem title="Paragraph" enabled="NO" id="ZvO-Gk-QUH">
<modifierMask key="keyEquivalentModifierMask"/>
</menuItem>
<menuItem id="YGs-j5-SAR">
<string key="title"> Default</string>
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="makeBaseWritingDirectionNatural:" target="-1" id="qtV-5e-UBP"/>
</connections>
</menuItem>
<menuItem id="Lbh-J2-qVU">
<string key="title"> Left to Right</string>
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="makeBaseWritingDirectionLeftToRight:" target="-1" id="S0X-9S-QSf"/>
</connections>
</menuItem>
<menuItem id="jFq-tB-4Kx">
<string key="title"> Right to Left</string>
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="makeBaseWritingDirectionRightToLeft:" target="-1" id="5fk-qB-AqJ"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="swp-gr-a21"/>
<menuItem title="Selection" enabled="NO" id="cqv-fj-IhA">
<modifierMask key="keyEquivalentModifierMask"/>
</menuItem>
<menuItem id="Nop-cj-93Q">
<string key="title"> Default</string>
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="makeTextWritingDirectionNatural:" target="-1" id="lPI-Se-ZHp"/>
</connections>
</menuItem>
<menuItem id="BgM-ve-c93">
<string key="title"> Left to Right</string>
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="makeTextWritingDirectionLeftToRight:" target="-1" id="caW-Bv-w94"/>
</connections>
</menuItem>
<menuItem id="RB4-Sm-HuC">
<string key="title"> Right to Left</string>
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="makeTextWritingDirectionRightToLeft:" target="-1" id="EXD-6r-ZUu"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem isSeparatorItem="YES" id="fKy-g9-1gm"/>
<menuItem title="Show Ruler" id="vLm-3I-IUL">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="toggleRuler:" target="-1" id="FOx-HJ-KwY"/>
</connections>
</menuItem>
<menuItem title="Copy Ruler" keyEquivalent="c" id="MkV-Pr-PK5">
<modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
<connections>
<action selector="copyRuler:" target="-1" id="71i-fW-3W2"/>
</connections>
</menuItem>
<menuItem title="Paste Ruler" keyEquivalent="v" id="LVM-kO-fVI">
<modifierMask key="keyEquivalentModifierMask" control="YES" command="YES"/>
<connections>
<action selector="pasteRuler:" target="-1" id="cSh-wd-qM2"/>
</connections>
</menuItem>
</items>
</menu>
</menuItem>
</items>
</menu>
</menuItem>
<menuItem title="View" id="H8h-7b-M4v">
<modifierMask key="keyEquivalentModifierMask"/>
<menu key="submenu" title="View" id="HyV-fh-RgO">
@@ -655,6 +398,13 @@
<action selector="performZoom:" target="-1" id="DIl-cC-cCs"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="kE9-em-OHN"/>
<menuItem title="Manage ROMs…" id="St3-qR-2Y8">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="downloadROMS:" target="Voe-Tx-rLC" id="jFm-nv-kRC"/>
</connections>
</menuItem>
<menuItem isSeparatorItem="YES" id="eu3-7i-yIM"/>
<menuItem title="Bring All to Front" id="LE2-aR-0XJ">
<modifierMask key="keyEquivalentModifierMask"/>
@@ -680,5 +430,25 @@
</items>
<point key="canvasLocation" x="132" y="154"/>
</menu>
<window title="Window" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" restorable="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" frameAutosaveName="" animationBehavior="default" id="jWX-pY-Zpb">
<rect key="contentRect" x="283" y="305" width="226" height="56"/>
<rect key="screenRect" x="0.0" y="0.0" width="2560" height="1417"/>
<view key="contentView" id="L7W-DF-UXe">
<rect key="frame" x="0.0" y="0.0" width="226" height="56"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="iC1-A6-a6T">
<rect key="frame" x="18" y="20" width="190" height="16"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" lineBreakMode="clipping" title="Installing MAME components…" id="ura-rh-zmZ">
<font key="font" usesAppearanceFont="YES"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
</subviews>
</view>
<point key="canvasLocation" x="13" y="-182"/>
</window>
</objects>
</document>
+38 -45
View File
@@ -14,21 +14,20 @@
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<scrollView borderType="none" autohidesScrollers="YES" horizontalLineScroll="20" horizontalPageScroll="10" verticalLineScroll="20" verticalPageScroll="10" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" id="nVT-kT-bWl">
<rect key="frame" x="0.0" y="0.0" width="306" height="500"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<clipView key="contentView" drawsBackground="NO" copiesOnScroll="NO" id="IBD-wb-pch">
<rect key="frame" x="0.0" y="0.0" width="306" height="500"/>
<scrollView focusRingType="none" borderType="none" autohidesScrollers="YES" horizontalLineScroll="30" horizontalPageScroll="10" verticalLineScroll="30" verticalPageScroll="10" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" horizontalScrollElasticity="none" translatesAutoresizingMaskIntoConstraints="NO" id="nVT-kT-bWl">
<rect key="frame" x="0.0" y="0.0" width="306" height="363"/>
<clipView key="contentView" autoresizesSubviews="NO" focusRingType="none" ambiguous="YES" copiesOnScroll="NO" translatesAutoresizingMaskIntoConstraints="NO" id="IBD-wb-pch">
<rect key="frame" x="0.0" y="0.0" width="306" height="363"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<outlineView focusRingType="none" verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="none" selectionHighlightStyle="none" columnResizing="NO" multipleSelection="NO" autosaveColumns="NO" rowSizeStyle="automatic" viewBased="YES" outlineTableColumn="pBj-py-R6a" id="sIz-DD-PZQ">
<rect key="frame" x="0.0" y="0.0" width="306" height="500"/>
<outlineView focusRingType="none" verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="none" selectionHighlightStyle="none" columnResizing="NO" multipleSelection="NO" autosaveColumns="NO" typeSelect="NO" rowHeight="27" rowSizeStyle="automatic" viewBased="YES" outlineTableColumn="pBj-py-R6a" id="sIz-DD-PZQ">
<rect key="frame" x="0.0" y="0.0" width="306" height="363"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<size key="intercellSpacing" width="2" height="3"/>
<color key="backgroundColor" white="1" alpha="0.0" colorSpace="custom" customColorSpace="calibratedWhite"/>
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
<tableColumns>
<tableColumn editable="NO" width="304" minWidth="40" maxWidth="1000" id="pBj-py-R6a">
<tableColumn editable="NO" width="280" minWidth="40" maxWidth="1000" id="pBj-py-R6a">
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border">
<font key="font" metaFont="smallSystem"/>
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
@@ -39,35 +38,16 @@
<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="e4I-r0-vWM">
<rect key="frame" x="1" y="1" width="304" height="17"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Mig-Wj-m5e">
<rect key="frame" x="0.0" y="0.0" width="304" height="17"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="ZcN-bl-2D8">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
</subviews>
<connections>
<outlet property="textField" destination="Mig-Wj-m5e" id="FYh-hX-PTU"/>
</connections>
</tableCellView>
<tableCellView identifier="CategoryView" focusRingType="none" id="33q-UT-ur5">
<rect key="frame" x="1" y="21" width="304" height="17"/>
<rect key="frame" x="1" y="1" width="280" height="17"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Pep-mX-LHY">
<rect key="frame" x="0.0" y="0.0" width="304" height="17"/>
<rect key="frame" x="0.0" y="0.0" width="280" height="17"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Table View Cell" id="Rrg-wr-8eL">
<font key="font" metaFont="system"/>
<font key="font" metaFont="systemBold"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
@@ -77,13 +57,13 @@
<outlet property="textField" destination="Pep-mX-LHY" id="hUe-cf-6vq"/>
</connections>
</tableCellView>
<tableCellView identifier="ItemView" id="yGq-lc-RCM" customClass="TablePathView">
<rect key="frame" x="1" y="41" width="304" height="27"/>
<tableCellView identifier="ItemView" translatesAutoresizingMaskIntoConstraints="NO" id="yGq-lc-RCM" customClass="TablePathView">
<rect key="frame" x="1" y="21" width="280" height="22"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<pathControl focusRingType="none" verticalHuggingPriority="750" fixedFrame="YES" allowsExpansionToolTips="YES" translatesAutoresizingMaskIntoConstraints="NO" id="f7R-TO-fmF">
<rect key="frame" x="0.0" y="1" width="251" height="22"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
<rect key="frame" x="20" y="0.0" width="228" height="22"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<pathCell key="cell" controlSize="small" selectable="YES" editable="YES" focusRingType="none" alignment="left" pathStyle="popUp" id="dcz-8y-tKb">
<font key="font" metaFont="smallSystem"/>
</pathCell>
@@ -91,20 +71,26 @@
<action selector="pathAction:" target="-2" id="4oX-bW-ANp"/>
</connections>
</pathControl>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="zNo-ij-mUl">
<rect key="frame" x="256" y="5" width="23" height="18"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES" flexibleMaxY="YES"/>
<buttonCell key="cell" type="bevel" bezelStyle="rounded" image="NSNavEjectButton.normalSelected" imagePosition="overlaps" alignment="center" controlSize="small" imageScaling="proportionallyDown" inset="2" id="IZA-Tu-olu">
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" id="6g1-NT-J1w">
<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="x7F-qD-5y9"/>
</imageView>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="zNo-ij-mUl" customClass="EjectButton">
<rect key="frame" x="261" 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="IZA-Tu-olu">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="smallSystem"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="deleteAction:" target="-2" id="XAl-eQ-nUj"/>
<action selector="ejectAction:" target="-2" id="XAl-eQ-nUj"/>
</connections>
</button>
</subviews>
<connections>
<outlet property="deleteButton" destination="zNo-ij-mUl" id="9br-3c-ddI"/>
<outlet property="dragHandle" destination="6g1-NT-J1w" id="odc-Sw-3WS"/>
<outlet property="ejectButton" destination="zNo-ij-mUl" id="uzY-tA-5Wf"/>
<outlet property="pathControl" destination="f7R-TO-fmF" id="oH7-N3-JC7"/>
</connections>
</tableCellView>
@@ -117,20 +103,27 @@
</connections>
</outlineView>
</subviews>
<nil key="backgroundColor"/>
<color key="backgroundColor" name="windowBackgroundColor" catalog="System" colorSpace="catalog"/>
</clipView>
<scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="9Vz-lW-4GG">
<rect key="frame" x="-100" y="-100" width="306" height="15"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="f8l-nC-KhG">
<scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="NO" id="f8l-nC-KhG" 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>
<point key="canvasLocation" x="-161" y="55"/>
<point key="canvasLocation" x="-161" y="54.5"/>
</scrollView>
</objects>
<resources>
<image name="NSNavEjectButton.normalSelected" width="128" height="128"/>
<image name="drag-handle-4x10" width="4" height="10"/>
<image name="eject-16x16" width="8" height="9"/>
<image name="eject-hover-16x16" width="16" height="16"/>
</resources>
</document>
+103
View File
@@ -0,0 +1,103 @@
<?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">
<dependencies>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="15705"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="NewSlotViewController">
<connections>
<outlet property="outlineView" destination="Xj3-Qf-yek" id="AWE-Rg-XUM"/>
<outlet property="view" destination="D45-lv-6Fv" id="av3-OE-ph2"/>
</connections>
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<scrollView focusRingType="none" borderType="none" autohidesScrollers="YES" horizontalLineScroll="27" horizontalPageScroll="10" verticalLineScroll="27" verticalPageScroll="10" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" horizontalScrollElasticity="none" id="D45-lv-6Fv">
<rect key="frame" x="0.0" y="0.0" width="306" height="386"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<clipView key="contentView" focusRingType="none" copiesOnScroll="NO" id="8x1-xN-a7c">
<rect key="frame" x="0.0" y="0.0" width="306" height="386"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<outlineView focusRingType="none" verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="none" selectionHighlightStyle="none" columnReordering="NO" columnResizing="NO" multipleSelection="NO" autosaveColumns="NO" typeSelect="NO" rowHeight="25" rowSizeStyle="automatic" viewBased="YES" indentationPerLevel="16" outlineTableColumn="u7T-p8-F2Z" id="Xj3-Qf-yek">
<rect key="frame" x="0.0" y="0.0" width="306" height="386"/>
<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="280" minWidth="40" maxWidth="1000" id="u7T-p8-F2Z">
<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="FM7-eO-FE4">
<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 identifier="MenuCell" id="1RI-9K-5qj" customClass="SlotTableCellView">
<rect key="frame" x="1" y="1" width="280" height="25"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="qIF-d4-kOf">
<rect key="frame" x="0.0" y="5" width="90" height="17"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="RAM:" id="tIz-xZ-ZJH">
<font key="font" metaFont="system"/>
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<popUpButton verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="zQ8-o3-yBB">
<rect key="frame" x="87" y="0.0" width="193" height="25"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMinY="YES"/>
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" autoenablesItems="NO" selectedItem="tGi-yg-GFr" id="gt4-HK-pd1">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="menu"/>
<menu key="menu" autoenablesItems="NO" id="KWV-nn-eiB">
<items>
<menuItem title="Item 1" state="on" id="tGi-yg-GFr"/>
<menuItem title="Item 2" id="XJr-Gb-4D4"/>
<menuItem title="Item 3" id="JeB-Fb-DeQ"/>
</items>
</menu>
</popUpButtonCell>
<connections>
<action selector="menuChanged:" target="-2" id="9MH-mu-u5V"/>
</connections>
</popUpButton>
</subviews>
<connections>
<outlet property="menuButton" destination="zQ8-o3-yBB" id="zZf-nm-tCI"/>
<outlet property="textField" destination="qIF-d4-kOf" id="zIF-4n-v1e"/>
</connections>
</tableCellView>
</prototypeCellViews>
</tableColumn>
</tableColumns>
<connections>
<outlet property="dataSource" destination="-2" id="OV9-yE-OFp"/>
<outlet property="delegate" destination="-2" id="kXs-TN-3VL"/>
</connections>
</outlineView>
</subviews>
<color key="backgroundColor" name="windowBackgroundColor" catalog="System" colorSpace="catalog"/>
</clipView>
<scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="rYF-ld-adB">
<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="4pL-Dn-e75" customClass="TransparentScroller">
<rect key="frame" x="224" y="17" width="15" height="102"/>
<autoresizingMask key="autoresizingMask"/>
</scroller>
<point key="canvasLocation" x="-100" y="154"/>
</scrollView>
</objects>
</document>
+19 -5
View File
@@ -6,9 +6,10 @@
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="NSWindowController">
<customObject id="-2" userLabel="File's Owner" customClass="PreferencesWindowController">
<connections>
<outlet property="window" destination="QvC-M9-y7g" id="SHw-b5-d6g"/>
<outlet property="pathField" destination="Oz5-Xb-btk" id="EnV-kr-0XI"/>
<outlet property="window" destination="QvC-M9-y7g" id="xJa-tx-X62"/>
</connections>
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
@@ -23,7 +24,7 @@
<autoresizingMask key="autoresizingMask"/>
<subviews>
<textField verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Oz5-Xb-btk">
<rect key="frame" x="98" y="229" width="362" height="21"/>
<rect key="frame" x="98" y="181" width="362" height="21"/>
<autoresizingMask key="autoresizingMask" flexibleMinX="YES" widthSizable="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" borderStyle="bezel" drawsBackground="YES" id="vDR-2V-qxd">
<font key="font" usesAppearanceFont="YES"/>
@@ -31,11 +32,13 @@
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
<connections>
<action selector="pathChanged:" target="-2" id="RRj-dC-q2y"/>
<binding destination="yvB-HG-64y" name="enabled" keyPath="values.UseCustomMame" id="iex-A9-Db6"/>
<binding destination="yvB-HG-64y" name="value" keyPath="values.MamePath" id="H3O-1l-peo"/>
</connections>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Qmb-Ag-Xyr">
<rect key="frame" x="18" y="232" width="74" height="16"/>
<rect key="frame" x="18" y="184" width="74" height="16"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<textFieldCell key="cell" lineBreakMode="clipping" title="MAME Path" id="Xcq-4g-Wlw">
<font key="font" metaFont="system"/>
@@ -44,7 +47,7 @@
</textFieldCell>
</textField>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="KAN-P2-ydI">
<rect key="frame" x="96" y="205" width="217" height="18"/>
<rect key="frame" x="96" y="234" width="217" height="18"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="check" title="Close log window on normal exit" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="QMz-O0-06U">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
@@ -54,6 +57,17 @@
<binding destination="yvB-HG-64y" name="value" keyPath="values.AutoCloseLogWindow" id="q0L-GA-wM2"/>
</connections>
</button>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="j7D-jC-17Q">
<rect key="frame" x="96" y="208" width="139" height="18"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<buttonCell key="cell" type="check" title="Use Custom MAME" bezelStyle="regularSquare" imagePosition="left" state="on" inset="2" id="V61-mz-QFo">
<behavior key="behavior" changeContents="YES" doesNotDimImage="YES" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<binding destination="yvB-HG-64y" name="value" keyPath="values.UseCustomMame" id="lH4-dm-kQC"/>
</connections>
</button>
</subviews>
</view>
<point key="canvasLocation" x="140" y="147"/>
+47 -47
View File
@@ -28,10 +28,10 @@
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<gridView autoresizesSubviews="NO" xPlacement="leading" yPlacement="bottom" rowAlignment="none" translatesAutoresizingMaskIntoConstraints="NO" id="OM3-7F-wiN">
<rect key="frame" x="0.0" y="0.0" width="306" height="534"/>
<gridView autoresizesSubviews="NO" misplaced="YES" xPlacement="leading" yPlacement="bottom" rowAlignment="none" translatesAutoresizingMaskIntoConstraints="NO" id="OM3-7F-wiN">
<rect key="frame" x="0.0" y="0.0" width="306" height="459"/>
<rows>
<gridRow yPlacement="center" height="30" id="tHD-ui-hIL">
<gridRow yPlacement="center" height="25" id="tHD-ui-hIL">
<connections>
<binding destination="-2" name="hidden" keyPath="machine.ram" id="ze9-jx-lv0">
<dictionary key="options">
@@ -40,7 +40,7 @@
</binding>
</connections>
</gridRow>
<gridRow yPlacement="center" height="30" id="Ccd-U2-Gx5">
<gridRow yPlacement="center" height="25" id="Ccd-U2-Gx5">
<connections>
<binding destination="-2" name="hidden" keyPath="machine.sl0" id="YsR-kI-yrh">
<dictionary key="options">
@@ -49,7 +49,7 @@
</binding>
</connections>
</gridRow>
<gridRow yPlacement="center" height="30" id="JGU-aq-3uw">
<gridRow yPlacement="center" height="25" id="JGU-aq-3uw">
<connections>
<binding destination="-2" name="hidden" keyPath="machine.sl1" id="1io-aZ-v2G">
<dictionary key="options">
@@ -58,7 +58,7 @@
</binding>
</connections>
</gridRow>
<gridRow yPlacement="center" height="30" id="gVW-Ya-phU">
<gridRow yPlacement="center" height="25" id="gVW-Ya-phU">
<connections>
<binding destination="-2" name="hidden" keyPath="machine.sl2" id="AgS-hm-ePr">
<dictionary key="options">
@@ -67,7 +67,7 @@
</binding>
</connections>
</gridRow>
<gridRow yPlacement="center" height="30" id="3fP-qp-zmi">
<gridRow yPlacement="center" height="25" id="3fP-qp-zmi">
<connections>
<binding destination="-2" name="hidden" keyPath="machine.sl3" id="98U-4P-iRh">
<dictionary key="options">
@@ -76,7 +76,7 @@
</binding>
</connections>
</gridRow>
<gridRow yPlacement="center" height="30" id="86u-5p-UT6">
<gridRow yPlacement="center" height="25" id="86u-5p-UT6">
<connections>
<binding destination="-2" name="hidden" keyPath="machine.sl4" id="hsy-pm-Qjk">
<dictionary key="options">
@@ -85,7 +85,7 @@
</binding>
</connections>
</gridRow>
<gridRow yPlacement="center" height="30" id="Wdg-xb-xQx">
<gridRow yPlacement="center" height="25" id="Wdg-xb-xQx">
<connections>
<binding destination="-2" name="hidden" keyPath="machine.sl5" id="0QC-RB-278">
<dictionary key="options">
@@ -94,7 +94,7 @@
</binding>
</connections>
</gridRow>
<gridRow yPlacement="center" height="30" id="ein-Fe-vBw">
<gridRow yPlacement="center" height="25" id="ein-Fe-vBw">
<connections>
<binding destination="-2" name="hidden" keyPath="machine.sl6" id="731-3P-DUy">
<dictionary key="options">
@@ -103,7 +103,7 @@
</binding>
</connections>
</gridRow>
<gridRow yPlacement="center" height="30" id="qjB-2w-AWE">
<gridRow yPlacement="center" height="25" id="qjB-2w-AWE">
<connections>
<binding destination="-2" name="hidden" keyPath="machine.sl7" id="sew-Ds-4I9">
<dictionary key="options">
@@ -112,7 +112,7 @@
</binding>
</connections>
</gridRow>
<gridRow yPlacement="center" height="30" id="EEX-dh-jwn">
<gridRow yPlacement="center" height="25" id="EEX-dh-jwn">
<connections>
<binding destination="-2" name="hidden" keyPath="machine.exp" id="EOZ-lS-QHF">
<dictionary key="options">
@@ -121,7 +121,7 @@
</binding>
</connections>
</gridRow>
<gridRow yPlacement="center" height="30" id="OaZ-ZQ-gKK">
<gridRow yPlacement="center" height="25" id="OaZ-ZQ-gKK">
<connections>
<binding destination="-2" name="hidden" keyPath="machine.aux" id="OlF-v7-JZx">
<dictionary key="options">
@@ -130,7 +130,7 @@
</binding>
</connections>
</gridRow>
<gridRow yPlacement="center" height="30" id="wQi-Oz-7Ye">
<gridRow yPlacement="center" height="25" id="wQi-Oz-7Ye">
<connections>
<binding destination="-2" name="hidden" keyPath="machine.rs232" id="AeP-bn-blv">
<dictionary key="options">
@@ -139,7 +139,7 @@
</binding>
</connections>
</gridRow>
<gridRow yPlacement="center" height="30" id="gr2-eY-995">
<gridRow yPlacement="center" height="25" id="gr2-eY-995">
<connections>
<binding destination="-2" name="hidden" keyPath="machine.gameio" id="x3I-Bd-9di">
<dictionary key="options">
@@ -148,7 +148,7 @@
</binding>
</connections>
</gridRow>
<gridRow yPlacement="center" height="30" id="1xN-lm-s4l">
<gridRow yPlacement="center" height="25" id="1xN-lm-s4l">
<connections>
<binding destination="-2" name="hidden" keyPath="machine.printer" id="T9a-lH-z5K">
<dictionary key="options">
@@ -157,7 +157,7 @@
</binding>
</connections>
</gridRow>
<gridRow yPlacement="center" height="30" id="M2s-qn-SIT">
<gridRow yPlacement="center" height="25" id="M2s-qn-SIT">
<connections>
<binding destination="-2" name="hidden" keyPath="machine.modem" id="PSe-R3-S3e">
<dictionary key="options">
@@ -174,7 +174,7 @@
<gridCells>
<gridCell row="tHD-ui-hIL" column="zpB-Rf-dWg" id="deJ-sv-Hb7">
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="nHa-QG-HjJ">
<rect key="frame" x="-2" y="511" width="104" height="16"/>
<rect key="frame" x="-2" y="439" width="104" height="16"/>
<textFieldCell key="cell" lineBreakMode="clipping" title="RAM:" id="CvY-8m-Ni9">
<font key="font" usesAppearanceFont="YES"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -184,7 +184,7 @@
</gridCell>
<gridCell row="tHD-ui-hIL" column="6Vn-yh-FoQ" id="dak-Ha-01u">
<popUpButton key="contentView" verticalHuggingPriority="750" tag="16" translatesAutoresizingMaskIntoConstraints="NO" id="Yks-M5-vi0">
<rect key="frame" x="104" y="506" width="205" height="25"/>
<rect key="frame" x="104" y="433" width="205" height="25"/>
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="92u-m2-3yN" id="XFo-KF-ueS">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="menu"/>
@@ -206,7 +206,7 @@
</gridCell>
<gridCell row="Ccd-U2-Gx5" column="zpB-Rf-dWg" xPlacement="fill" yPlacement="center" id="QI6-Cz-URX">
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="v8c-Rp-Mnt">
<rect key="frame" x="-2" y="475" width="104" height="16"/>
<rect key="frame" x="-2" y="408" width="104" height="16"/>
<textFieldCell key="cell" lineBreakMode="clipping" title="Slot 0:" id="EF7-NX-RMW">
<font key="font" metaFont="system"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -216,7 +216,7 @@
</gridCell>
<gridCell row="Ccd-U2-Gx5" column="6Vn-yh-FoQ" xPlacement="fill" yPlacement="center" id="0KQ-Qt-8KP">
<popUpButton key="contentView" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Jw1-t7-YyU">
<rect key="frame" x="104" y="470" width="205" height="25"/>
<rect key="frame" x="104" y="402" width="205" height="25"/>
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="8Iv-mH-mEI" id="47g-IO-4Xt">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="menu"/>
@@ -236,7 +236,7 @@
</gridCell>
<gridCell row="JGU-aq-3uw" column="zpB-Rf-dWg" xPlacement="fill" yPlacement="center" id="Y1R-Ob-g2b">
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="0gP-wH-DVr">
<rect key="frame" x="-2" y="439" width="104" height="16"/>
<rect key="frame" x="-2" y="377" width="104" height="16"/>
<textFieldCell key="cell" lineBreakMode="clipping" title="Slot 1:" id="bfg-tf-E34">
<font key="font" usesAppearanceFont="YES"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -246,7 +246,7 @@
</gridCell>
<gridCell row="JGU-aq-3uw" column="6Vn-yh-FoQ" xPlacement="fill" yPlacement="center" id="v8q-Rj-E4q">
<popUpButton key="contentView" verticalHuggingPriority="750" tag="1" translatesAutoresizingMaskIntoConstraints="NO" id="bta-RS-JT4">
<rect key="frame" x="104" y="434" width="205" height="25"/>
<rect key="frame" x="104" y="371" width="205" height="25"/>
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="dXO-at-nGw" id="kNn-6b-ysf">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="menu"/>
@@ -266,7 +266,7 @@
</gridCell>
<gridCell row="gVW-Ya-phU" column="zpB-Rf-dWg" xPlacement="fill" yPlacement="center" id="tpv-Yc-qii">
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="EHZ-ol-QVz">
<rect key="frame" x="-2" y="403" width="104" height="16"/>
<rect key="frame" x="-2" y="346" width="104" height="16"/>
<textFieldCell key="cell" lineBreakMode="clipping" title="Slot 2:" id="FlL-pN-rn7">
<font key="font" usesAppearanceFont="YES"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -276,7 +276,7 @@
</gridCell>
<gridCell row="gVW-Ya-phU" column="6Vn-yh-FoQ" xPlacement="fill" yPlacement="center" id="OzN-rM-Pgi">
<popUpButton key="contentView" verticalHuggingPriority="750" tag="2" translatesAutoresizingMaskIntoConstraints="NO" id="cDU-b1-x5a">
<rect key="frame" x="104" y="398" width="205" height="25"/>
<rect key="frame" x="104" y="340" width="205" height="25"/>
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="vCY-qF-aB3" id="jvL-SH-nvG">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="menu"/>
@@ -296,7 +296,7 @@
</gridCell>
<gridCell row="3fP-qp-zmi" column="zpB-Rf-dWg" xPlacement="fill" yPlacement="center" id="LbW-TT-AQ7">
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="zGs-8d-L0S">
<rect key="frame" x="-2" y="367" width="104" height="16"/>
<rect key="frame" x="-2" y="315" width="104" height="16"/>
<textFieldCell key="cell" lineBreakMode="clipping" title="Slot 3:" id="KZK-h8-8cw">
<font key="font" usesAppearanceFont="YES"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -306,7 +306,7 @@
</gridCell>
<gridCell row="3fP-qp-zmi" column="6Vn-yh-FoQ" xPlacement="fill" yPlacement="center" id="h8H-TB-p2z">
<popUpButton key="contentView" verticalHuggingPriority="750" tag="3" translatesAutoresizingMaskIntoConstraints="NO" id="aSh-cs-0Nn">
<rect key="frame" x="104" y="362" width="205" height="25"/>
<rect key="frame" x="104" y="309" width="205" height="25"/>
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="2yS-4z-8OR" id="HaE-TD-5Wx">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="menu"/>
@@ -326,7 +326,7 @@
</gridCell>
<gridCell row="86u-5p-UT6" column="zpB-Rf-dWg" xPlacement="fill" yPlacement="center" id="hJR-nJ-yYi">
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="zsX-jd-6ba">
<rect key="frame" x="-2" y="331" width="104" height="16"/>
<rect key="frame" x="-2" y="284" width="104" height="16"/>
<textFieldCell key="cell" lineBreakMode="clipping" title="Slot 4:" id="WXv-RF-e7f">
<font key="font" usesAppearanceFont="YES"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -336,7 +336,7 @@
</gridCell>
<gridCell row="86u-5p-UT6" column="6Vn-yh-FoQ" xPlacement="fill" yPlacement="center" id="dHu-cL-FyO">
<popUpButton key="contentView" verticalHuggingPriority="750" tag="4" translatesAutoresizingMaskIntoConstraints="NO" id="kU5-cR-hPZ">
<rect key="frame" x="104" y="326" width="205" height="25"/>
<rect key="frame" x="104" y="278" width="205" height="25"/>
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="NaS-CV-XQm" id="rOP-eY-UKe">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="menu"/>
@@ -356,7 +356,7 @@
</gridCell>
<gridCell row="Wdg-xb-xQx" column="zpB-Rf-dWg" xPlacement="fill" yPlacement="center" id="dsM-t5-8ng">
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ANg-c1-hGf">
<rect key="frame" x="-2" y="295" width="104" height="16"/>
<rect key="frame" x="-2" y="253" width="104" height="16"/>
<textFieldCell key="cell" lineBreakMode="clipping" title="Slot 5:" id="EhN-EV-65V">
<font key="font" usesAppearanceFont="YES"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -366,7 +366,7 @@
</gridCell>
<gridCell row="Wdg-xb-xQx" column="6Vn-yh-FoQ" xPlacement="fill" yPlacement="center" id="ffm-pA-jjo">
<popUpButton key="contentView" verticalHuggingPriority="750" tag="5" translatesAutoresizingMaskIntoConstraints="NO" id="8z4-8f-kLU">
<rect key="frame" x="104" y="290" width="205" height="25"/>
<rect key="frame" x="104" y="247" width="205" height="25"/>
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="gH7-4J-xsg" id="cmc-Gf-Slp">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="menu"/>
@@ -386,7 +386,7 @@
</gridCell>
<gridCell row="ein-Fe-vBw" column="zpB-Rf-dWg" xPlacement="fill" yPlacement="center" id="PSw-Jx-eS2">
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Cr1-RK-Z7V">
<rect key="frame" x="-2" y="259" width="104" height="16"/>
<rect key="frame" x="-2" y="222" width="104" height="16"/>
<textFieldCell key="cell" lineBreakMode="clipping" title="Slot 6:" id="uzy-th-5Yc">
<font key="font" usesAppearanceFont="YES"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -396,7 +396,7 @@
</gridCell>
<gridCell row="ein-Fe-vBw" column="6Vn-yh-FoQ" xPlacement="fill" yPlacement="center" id="FsV-vO-KAs">
<popUpButton key="contentView" verticalHuggingPriority="750" tag="6" translatesAutoresizingMaskIntoConstraints="NO" id="GLb-F4-PWe">
<rect key="frame" x="104" y="254" width="205" height="25"/>
<rect key="frame" x="104" y="216" width="205" height="25"/>
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="VaX-M9-Op0" id="CjU-rC-HUT">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="menu"/>
@@ -416,7 +416,7 @@
</gridCell>
<gridCell row="qjB-2w-AWE" column="zpB-Rf-dWg" xPlacement="fill" yPlacement="center" id="1WE-Mm-0O3">
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="3Ia-XB-C6D">
<rect key="frame" x="-2" y="223" width="104" height="16"/>
<rect key="frame" x="-2" y="191" width="104" height="16"/>
<textFieldCell key="cell" lineBreakMode="clipping" title="Slot 7:" id="32J-6e-nRV">
<font key="font" usesAppearanceFont="YES"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -426,7 +426,7 @@
</gridCell>
<gridCell row="qjB-2w-AWE" column="6Vn-yh-FoQ" xPlacement="fill" yPlacement="center" id="Yvr-uR-Hr5">
<popUpButton key="contentView" verticalHuggingPriority="750" tag="7" translatesAutoresizingMaskIntoConstraints="NO" id="IV2-3M-qfw">
<rect key="frame" x="104" y="218" width="205" height="25"/>
<rect key="frame" x="104" y="185" width="205" height="25"/>
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="8nb-Bq-4R4" id="nKb-Ar-bCb">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="menu"/>
@@ -446,7 +446,7 @@
</gridCell>
<gridCell row="EEX-dh-jwn" column="zpB-Rf-dWg" xPlacement="fill" yPlacement="center" id="iRl-IX-FSD">
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Avf-lX-f2Q">
<rect key="frame" x="-2" y="187" width="104" height="16"/>
<rect key="frame" x="-2" y="160" width="104" height="16"/>
<textFieldCell key="cell" lineBreakMode="clipping" title="Expansion:" id="PEU-OV-910">
<font key="font" usesAppearanceFont="YES"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -456,7 +456,7 @@
</gridCell>
<gridCell row="EEX-dh-jwn" column="6Vn-yh-FoQ" xPlacement="fill" yPlacement="center" id="Ehv-aA-Llc">
<popUpButton key="contentView" verticalHuggingPriority="750" tag="8" translatesAutoresizingMaskIntoConstraints="NO" id="San-wP-1ez">
<rect key="frame" x="104" y="182" width="205" height="25"/>
<rect key="frame" x="104" y="154" width="205" height="25"/>
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="jtv-Qx-oVD" id="42u-b4-3kx">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="menu"/>
@@ -476,7 +476,7 @@
</gridCell>
<gridCell row="OaZ-ZQ-gKK" column="zpB-Rf-dWg" xPlacement="fill" yPlacement="center" id="wRB-Wh-7kG">
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="EMz-7i-H38">
<rect key="frame" x="-2" y="151" width="104" height="16"/>
<rect key="frame" x="-2" y="129" width="104" height="16"/>
<textFieldCell key="cell" lineBreakMode="clipping" title="Auxiliary:" id="SoV-Qy-h2g">
<font key="font" usesAppearanceFont="YES"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -486,7 +486,7 @@
</gridCell>
<gridCell row="OaZ-ZQ-gKK" column="6Vn-yh-FoQ" xPlacement="fill" yPlacement="center" id="bx6-Rc-x2V">
<popUpButton key="contentView" verticalHuggingPriority="750" tag="9" translatesAutoresizingMaskIntoConstraints="NO" id="3kq-qn-7YR">
<rect key="frame" x="104" y="146" width="205" height="25"/>
<rect key="frame" x="104" y="123" width="205" height="25"/>
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="vWX-Cb-ldP" id="NqP-Uq-Knv">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="menu"/>
@@ -506,7 +506,7 @@
</gridCell>
<gridCell row="wQi-Oz-7Ye" column="zpB-Rf-dWg" xPlacement="fill" yPlacement="center" id="KoQ-xV-fQu">
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="JAG-sJ-u2B">
<rect key="frame" x="-2" y="115" width="104" height="16"/>
<rect key="frame" x="-2" y="98" width="104" height="16"/>
<textFieldCell key="cell" lineBreakMode="clipping" title="RS 232:" id="iG2-rY-VDv">
<font key="font" usesAppearanceFont="YES"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -516,7 +516,7 @@
</gridCell>
<gridCell row="wQi-Oz-7Ye" column="6Vn-yh-FoQ" xPlacement="fill" yPlacement="center" id="zWk-jd-i0V">
<popUpButton key="contentView" verticalHuggingPriority="750" tag="10" translatesAutoresizingMaskIntoConstraints="NO" id="6ln-U2-0Pi">
<rect key="frame" x="104" y="110" width="205" height="25"/>
<rect key="frame" x="104" y="92" width="205" height="25"/>
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="uu3-rr-iD8" id="daT-eX-4Vu">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="menu"/>
@@ -536,7 +536,7 @@
</gridCell>
<gridCell row="gr2-eY-995" column="zpB-Rf-dWg" id="xIE-bJ-mzr">
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Svb-pu-WPf">
<rect key="frame" x="-2" y="79" width="104" height="16"/>
<rect key="frame" x="-2" y="67" width="104" height="16"/>
<textFieldCell key="cell" lineBreakMode="clipping" title="Game I/O:" id="2Gc-mV-zCZ">
<font key="font" usesAppearanceFont="YES"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -546,7 +546,7 @@
</gridCell>
<gridCell row="gr2-eY-995" column="6Vn-yh-FoQ" id="nhy-Gp-GLL">
<popUpButton key="contentView" verticalHuggingPriority="750" tag="11" translatesAutoresizingMaskIntoConstraints="NO" id="K8G-bZ-6mZ">
<rect key="frame" x="104" y="74" width="205" height="25"/>
<rect key="frame" x="104" y="61" width="205" height="25"/>
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="GOm-Tf-6qc" id="Mig-Nu-gZB">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="menu"/>
@@ -566,7 +566,7 @@
</gridCell>
<gridCell row="1xN-lm-s4l" column="zpB-Rf-dWg" id="vPV-KN-NNp">
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="31K-iE-RCe">
<rect key="frame" x="-2" y="43" width="104" height="16"/>
<rect key="frame" x="-2" y="36" width="104" height="16"/>
<textFieldCell key="cell" lineBreakMode="clipping" title="Printer:" id="QZI-H7-i8m">
<font key="font" usesAppearanceFont="YES"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -576,7 +576,7 @@
</gridCell>
<gridCell row="1xN-lm-s4l" column="6Vn-yh-FoQ" id="KRc-Z8-drK">
<popUpButton key="contentView" verticalHuggingPriority="750" tag="12" translatesAutoresizingMaskIntoConstraints="NO" id="sTp-en-8Wd">
<rect key="frame" x="104" y="38" width="205" height="25"/>
<rect key="frame" x="104" y="30" width="205" height="25"/>
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="TU9-ed-ofw" id="1OL-aw-xNL">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="menu"/>
@@ -596,7 +596,7 @@
</gridCell>
<gridCell row="M2s-qn-SIT" column="zpB-Rf-dWg" id="8R2-aA-mLq">
<textField key="contentView" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="MH0-Nk-5Py">
<rect key="frame" x="-2" y="7" width="104" height="16"/>
<rect key="frame" x="-2" y="5" width="104" height="16"/>
<textFieldCell key="cell" lineBreakMode="clipping" title="Modem:" id="HQq-VN-Ju9">
<font key="font" usesAppearanceFont="YES"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -606,7 +606,7 @@
</gridCell>
<gridCell row="M2s-qn-SIT" column="6Vn-yh-FoQ" id="idI-pW-e7v">
<popUpButton key="contentView" verticalHuggingPriority="750" tag="13" translatesAutoresizingMaskIntoConstraints="NO" id="KHf-kC-BpZ">
<rect key="frame" x="104" y="2" width="205" height="25"/>
<rect key="frame" x="104" y="-1" width="205" height="25"/>
<popUpButtonCell key="cell" type="push" title="Item 1" bezelStyle="rounded" alignment="left" lineBreakMode="truncatingTail" state="on" borderStyle="borderAndBezel" imageScaling="proportionallyDown" inset="2" selectedItem="CxO-3g-va1" id="jDr-6p-C7y">
<behavior key="behavior" lightByBackground="YES" lightByGray="YES"/>
<font key="font" metaFont="menu"/>
+4
View File
@@ -2,6 +2,10 @@
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>MameComponentsDate</key>
<date>2020-09-02T16:00:00Z</date>
<key>UseCustomMame</key>
<false/>
<key>AutoCloseLogWindow</key>
<true/>
<key>MamePath</key>
+39
View File
@@ -0,0 +1,39 @@
//
// DownloadWindowController.h
// Ample
//
// Created by Kelvin Sherlock on 9/2/2020.
// Copyright © 2020 Kelvin Sherlock. All rights reserved.
//
#import <Cocoa/Cocoa.h>
NS_ASSUME_NONNULL_BEGIN
@interface DownloadWindowController : NSWindowController
@property NSString *currentROM;
@property NSInteger currentCount;
@property NSInteger totalCount;
@property NSInteger errorCount;
@property BOOL active;
@end
@interface DownloadWindowController (URL) <NSURLSessionTaskDelegate, NSURLSessionDownloadDelegate>
@end
@interface DownloadWindowController (Table) <NSTableViewDelegate, NSTableViewDataSource>
@end
@interface DownloadWindowController (Menu) <NSMenuDelegate, NSMenuItemValidation>
@end
@interface DownloadTableCellView : NSTableCellView
@property (weak) IBOutlet NSTextField *statusTextField;
@property (weak) IBOutlet NSProgressIndicator *activity;
@end
NS_ASSUME_NONNULL_END
+442
View File
@@ -0,0 +1,442 @@
//
// DownloadWindowController.m
// Ample
//
// Created by Kelvin Sherlock on 9/2/2020.
// Copyright © 2020 Kelvin Sherlock. All rights reserved.
//
#import "Ample.h"
#import "DownloadWindowController.h"
enum {
ItemMissing = 0,
ItemFound,
ItemDownloading,
ItemDownloaded,
ItemCanceled,
ItemError
};
@interface DownloadItem : NSObject
@property NSString *name;
@property NSError *error;
@property NSString *pathName;
@property NSURLSessionDownloadTask *task;
@property NSURL *localURL;
@property NSUInteger status;
@property NSUInteger index;
-(void)cancelDownload;
-(void)beginDownloadWithTask:(NSURLSessionDownloadTask *)task;
-(void)completeWithError: (NSError *)error;
-(NSString *)statusDescription;
@end
@interface DownloadWindowController ()
@property (weak) IBOutlet NSTableView *tableView;
@end
@implementation DownloadWindowController {
NSArray *_items;
NSURL *_romFolder;
NSURL *_sourceURL;
NSURLSession *_session;
NSMutableDictionary *_taskIndex;
}
-(NSString *)windowNibName {
return @"DownloadWindow";
}
- (void)windowDidLoad {
[super windowDidLoad];
// Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.
NSError *error = nil;
NSBundle *bundle = [NSBundle mainBundle];
NSFileManager *fm = [NSFileManager defaultManager];
NSURL *url = [bundle URLForResource: @"roms" withExtension: @"plist"];
NSDictionary *d = [NSDictionary dictionaryWithContentsOfURL: url];
NSURL *sd = SupportDirectory();
NSString *romdir = [SupportDirectoryPath() stringByAppendingPathComponent: @"roms"];
_romFolder = [sd URLByAppendingPathComponent: @"roms"];
[fm createDirectoryAtURL: _romFolder withIntermediateDirectories: YES attributes: nil error: &error];
NSArray *roms = [d objectForKey: @"roms"];
[self setCurrentROM: @""];
[self setCurrentCount: 0];
[self setTotalCount: [roms count]];
[self setErrorCount: 0];
_sourceURL = [NSURL URLWithString: @"https://archive.org/download/mame0224_rom"]; // hardcoded....
NSMutableArray *tmp = [NSMutableArray arrayWithCapacity: [roms count]];
unsigned ix = 0;
for (NSString *name in roms) {
DownloadItem *item = [DownloadItem new];
[item setName: name];
[item setIndex: ix++];
[tmp addObject: item];
// check if the file exists.
NSString *s = [romdir stringByAppendingPathComponent: name];
NSString *path;
path = [s stringByAppendingPathExtension: @"zip"];
if ([fm fileExistsAtPath: path]) {
[item setStatus: ItemFound];
[item setLocalURL: [NSURL fileURLWithPath: path]];
continue;
}
path = [s stringByAppendingPathExtension: @"7z"];
if ([fm fileExistsAtPath: path]) {
[item setStatus: ItemFound];
[item setLocalURL: [NSURL fileURLWithPath: path]];
continue;
}
}
_items = tmp;
NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
_session = [NSURLSession sessionWithConfiguration: config delegate: self delegateQueue: nil];
_taskIndex = [NSMutableDictionary dictionaryWithCapacity: [_items count]];
//[self download];
}
-(void)downloadItem: (DownloadItem *)item {
if (!_session) {
NSURLSessionConfiguration *config = [NSURLSessionConfiguration defaultSessionConfiguration];
_session = [NSURLSession sessionWithConfiguration: config delegate: self delegateQueue: nil];
}
NSURLSessionDownloadTask *task;
NSString *s = [item name];
NSString *path = [s stringByAppendingString: @".7z"]; // hardcoded.
NSURL *url = [_sourceURL 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 *path = [s stringByAppendingString: @".7z"]; // hardcoded.
NSURL *url = [_sourceURL URLByAppendingPathComponent: path];
task = [_session downloadTaskWithURL: url];
[_taskIndex setObject: item forKey: task];
[item setTask: task];
[task resume];
//++count;
//if (count >= 2) break;
}
[self setActive: YES];
}
-(DownloadItem *)clickedItem {
NSInteger row = [_tableView clickedRow];
if (row < 0 || row >= [_items count]) return nil;
return [_items objectAtIndex: row];
}
-(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];
}
#pragma mark - IBActions
-(IBAction)cancelAll:(id)sender {
for (DownloadItem *item in _items) {
[item cancelDownload];
}
[_session invalidateAndCancel];
_session = nil;
[_taskIndex removeAllObjects];
[self setCurrentCount: 0];
[self setActive: NO];
[_tableView reloadData];
//[_tableView setNeedsDisplay: YES]; // doesn't work...
}
- (IBAction)downloadMissing:(id)sender {
BOOL delta = NO;
for (DownloadItem *item in _items) {
NSURL *url = [item localURL];
id task = [item task];
if (!url && !task) {
[self downloadItem: item];
delta = YES;
}
}
if (delta) {
[self setActive: YES];
[_tableView reloadData];
}
}
- (IBAction)showInFinder:(id)sender {
DownloadItem *item = [self clickedItem];
if (!item) return;
NSURL *url = [item localURL];
if (!url) return;
NSWorkspace *ws = [NSWorkspace sharedWorkspace];
[ws activateFileViewerSelectingURLs: @[url]];
}
- (IBAction)download:(id)sender {
DownloadItem *item = [self clickedItem];
if (!item) return;
[self downloadItem: item];
[self setActive: YES];
[self redrawRow: [item index]];
}
- (IBAction)cancel:(id)sender {
DownloadItem *item = [self clickedItem];
if (!item) return;
[item cancelDownload];
[self redrawRow: [item index]];
}
#pragma mark - NSURLSessionDelegate
-(void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didCompleteWithError:(NSError *)error {
// 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.
dispatch_async(dispatch_get_main_queue(), ^(void){
if (error)
[self setErrorCount: self->_errorCount + 1];
else
[self setCurrentCount: self->_currentCount + 1];
NSMutableDictionary *taskIndex = self->_taskIndex;
DownloadItem *item = [taskIndex objectForKey: task];
[taskIndex removeObjectForKey: task];
if ([taskIndex count] == 0) {
[self setActive: NO];
}
if (item) {
[item completeWithError: error];
NSUInteger row = [item index];
[self redrawRow: row];
}
});
}
- (void)URLSession:(NSURLSession *)session downloadTask:(nonnull NSURLSessionDownloadTask *)task didFinishDownloadingToURL:(nonnull NSURL *)location {
// need to move to the destination directory...
// file deleted after this function returns, so can't move asynchronously.
NSFileManager *fm = [NSFileManager defaultManager];
NSURL *src = [[task originalRequest] URL];
NSURL *dest = [_romFolder URLByAppendingPathComponent: [src lastPathComponent]];
NSError *error = nil;
[fm moveItemAtURL: location toURL: dest error: &error];
DownloadItem *item = [_taskIndex objectForKey: task];
[item setLocalURL: dest];
/*
dispatch_async(dispatch_get_main_queue(), ^(void){
[item setLocalURL: dest];
}
*/
NSLog(@"%@", src);
}
@end
@implementation DownloadWindowController (Table)
- (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView {
return [_items count];
}
- (id)tableView:(NSTableView *)tableView objectValueForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
return [_items objectAtIndex: row];
}
- (NSView *)tableView:(NSTableView *)tableView viewForTableColumn:(NSTableColumn *)tableColumn row:(NSInteger)row {
DownloadItem *item = [_items objectAtIndex: row];
DownloadTableCellView *v = [tableView makeViewWithIdentifier: @"DownloadCell" owner: self];
NSTextField *tf;
tf = [v textField];
[[v textField] setObjectValue: [item name]];
if ([item localURL]) {
[tf setTextColor: [NSColor blackColor]];
} else {
[tf setTextColor: [NSColor redColor]];
}
tf = [v statusTextField];
[tf setObjectValue: [item statusDescription]];
if ([item error]) {
[tf setTextColor: [NSColor redColor]];
} else {
[tf setTextColor: [NSColor blackColor]];
//if ([tableView isRowSelected: row]){
//[tf setTextColor: [NSColor whiteColor]];
//}
}
if ([item task]) {
[[v activity] startAnimation: nil];
} else {
[[v activity] stopAnimation: nil];
}
return v;
}
@end
@implementation DownloadTableCellView
@end
@implementation DownloadItem
-(void)beginDownloadWithTask:(NSURLSessionDownloadTask *)task {
_task = task;
_error = nil;
if (task) _status = ItemDownloading;
}
-(void)cancelDownload {
if (!_task) return;
[_task cancel];
_task = nil;
_status = ItemCanceled;
}
-(void)completeWithError: (NSError *)error {
_task = nil;
if (error) {
_error = error;
_status = ItemError;
} else {
// what if there was an error moving it?
_error = nil;
_status = ItemDownloaded;
}
}
-(NSString *)statusDescription {
static NSString *Names[] = {
@"ROM missing",
@"ROM found",
@"Downloading…",
@"Downloaded",
@"Canceled",
@"Error"
};
if (_error) return [_error description];
if (_status > sizeof(Names)/sizeof(Names[0])) return @"Unknown";
return Names[_status];
}
@end
@implementation DownloadWindowController (Menu)
enum {
kOpenInFinder = 1,
kDownload,
kCancel,
};
- (BOOL)validateMenuItem:(NSMenuItem *)menuItem {
NSInteger row = [_tableView clickedRow];
if (row < 0) return NO;
DownloadItem *item = [_items objectAtIndex: row];
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;
}
return NO;
}
@end
+17
View File
@@ -0,0 +1,17 @@
//
// EjectButton.h
// Ample
//
// Created by Kelvin Sherlock on 9/7/2020.
// Copyright © 2020 Kelvin Sherlock. All rights reserved.
//
#import <Cocoa/Cocoa.h>
NS_ASSUME_NONNULL_BEGIN
@interface EjectButton : NSButton
@end
NS_ASSUME_NONNULL_END
+60
View File
@@ -0,0 +1,60 @@
//
// EjectButton.m
// Ample
//
// Created by Kelvin Sherlock on 9/7/2020.
// Copyright © 2020 Kelvin Sherlock. All rights reserved.
//
#import "EjectButton.h"
static NSImage *ejectImage = nil;
static NSImage *ejectHoverImage = nil;
@implementation EjectButton {
NSTrackingRectTag _tracking;
BOOL _mouse;
}
+(void)initialize {
// content tint only works with template images.
ejectImage = [NSImage imageNamed: @"eject-16x16"];
ejectHoverImage = [NSImage imageNamed: @"eject-hover-16x16"];
[ejectImage setTemplate: YES];
[ejectHoverImage setTemplate: YES];
}
-(void)awakeFromNib {
[super awakeFromNib];
[self setButtonType: NSButtonTypeMomentaryPushIn];
[self setImage: ejectImage];
[self setAlternateImage: ejectHoverImage];
// _tracking = [self addTrackingRect: [self bounds] owner: self userData: nil assumeInside: NO];
}
-(void)viewDidMoveToWindow {
if (!_tracking)
_tracking = [self addTrackingRect: [self bounds] owner: self userData: nil assumeInside: NO];
}
-(void)mouseEntered:(NSEvent *)event {
_mouse = YES;
if ([self isEnabled])
[self setImage: ejectHoverImage];
}
-(void)mouseExited:(NSEvent *)event {
_mouse = NO;
if ([self isEnabled])
[self setImage: ejectImage];
}
-(void)setEnabled:(BOOL)enabled {
[super setEnabled: enabled];
if (_mouse) {
[self setImage: enabled ? ejectHoverImage : ejectImage];
}
}
@end
+2 -2
View File
@@ -17,9 +17,9 @@
<key>CFBundlePackageType</key>
<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>release 1</string>
<string>release 6</string>
<key>CFBundleVersion</key>
<string>1</string>
<string>6</string>
<key>LSMinimumSystemVersion</key>
<string>$(MACOSX_DEPLOYMENT_TARGET)</string>
<key>NSHumanReadableCopyright</key>
+200 -52
View File
@@ -6,9 +6,10 @@
// Copyright © 2020 Kelvin Sherlock. All rights reserved.
//
#import "Ample.h"
#import "LaunchWindowController.h"
#import "MediaViewController.h"
#import "SlotViewController.h"
#import "NewSlotViewController.h"
#import "MachineViewController.h"
#import "LogWindowController.h"
@@ -18,7 +19,7 @@ static NSString *kContextMachine = @"kContextMachine";
@interface LaunchWindowController ()
@property (strong) IBOutlet MediaViewController *mediaController;
@property (strong) IBOutlet SlotViewController *slotController;
@property (strong) IBOutlet NewSlotViewController *slotController;
@property (strong) IBOutlet MachineViewController *machineViewController;
@property (weak) IBOutlet NSView *machineView;
@@ -30,13 +31,26 @@ static NSString *kContextMachine = @"kContextMachine";
@property NSArray *args;
@property NSString *mameMachine;
@property BOOL mameWindow;
@property BOOL mameNoThrottle;
@property BOOL mameDebug;
@property BOOL mameSquarePixels;
@property BOOL mameNoBlur;
@property BOOL mameMouse;
@property BOOL mameAVI;
@property BOOL mameWAV;
@property BOOL mameVGM;
@property NSString *mameAVIPath;
@property NSString *mameWAVPath;
@property NSString *mameVGMPath;
@property NSInteger mameSpeed;
@property BOOL mameBGFX;
@property NSInteger mameBackend;
@property NSInteger mameEffects;
@property NSInteger mameWindowMode;
@end
@@ -47,6 +61,12 @@ static NSString *kContextMachine = @"kContextMachine";
return @"LaunchWindow";
}
-(void)windowWillLoad {
[self setMameSpeed: 1];
[self setMameBGFX: YES];
[self setMameMouse: NO];
}
- (void)windowDidLoad {
[super windowDidLoad];
@@ -57,23 +77,31 @@ static NSString *kContextMachine = @"kContextMachine";
[_mediaView addSubview: [_mediaController view]];
[_machineView addSubview: [_machineViewController view]];
[self addObserver: self forKeyPath: @"mameMachine" options:0 context: (__bridge void * _Nullable)(kMyContext)];
[self addObserver: self forKeyPath: @"mameWindow" options:0 context: (__bridge void * _Nullable)(kMyContext)];
[self addObserver: self forKeyPath: @"mameSquarePixels" options:0 context: (__bridge void * _Nullable)(kMyContext)];
[self addObserver: self forKeyPath: @"mameDebug" options:0 context: (__bridge void * _Nullable)(kMyContext)];
[self addObserver: self forKeyPath: @"mameNoThrottle" options:0 context: (__bridge void * _Nullable)(kMyContext)];
[self addObserver: self forKeyPath: @"mameNoBlur" options:0 context: (__bridge void * _Nullable)(kMyContext)];
NSArray *keys = @[
@"mameMachine", @"mameSquarePixels", @"mameWindowMode",
@"mameMouse",
@"mameDebug",
@"mameSpeed",
@"mameAVI", @"mameAVIPath",
@"mameWAV", @"mameWAVPath",
@"mameVGM", @"mameVGMPath",
@"mameBGFX", @"mameBackend", @"mameEffects",
];
for (NSString *key in keys) {
[self addObserver: self forKeyPath: key options:0 context: (__bridge void * _Nullable)(kMyContext)];
}
[_slotController addObserver: self forKeyPath: @"args" options: 0 context: (__bridge void * _Nullable)(kMyContext)];
[_mediaController addObserver: self forKeyPath: @"args" options: 0 context: (__bridge void * _Nullable)(kMyContext)];
[_mediaController bind: @"media" toObject: _slotController withKeyPath: @"media" options: 0];
[self buildCommandLine];
[_machineViewController addObserver: self forKeyPath: @"machine" options: 0 context: (__bridge void * _Nullable)kContextMachine];
[self buildCommandLine];
}
@@ -84,13 +112,46 @@ static NSString *kContextMachine = @"kContextMachine";
} else if (context == (__bridge void *)kContextMachine) {
NSString *machine = [_machineViewController machine];
[self setMameMachine: machine];
[_slotController setModel: machine];
[_slotController setMachine: machine];
[self buildCommandLine];
} else {
[super observeValueForKeyPath: keyPath ofObject: object change: change context: context];
}
}
static NSURL *MameURL(void) {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSBundle *bundle = [NSBundle mainBundle];
if ([defaults boolForKey: kUseCustomMame]) {
NSString *path = [defaults stringForKey: kMamePath];
if (![path length]) return [NSURL fileURLWithPath: path];
}
return [bundle URLForAuxiliaryExecutable: @"mame64"];
return nil;
}
static NSString *MamePath(void) {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSBundle *bundle = [NSBundle mainBundle];
NSString *path;
if ([defaults boolForKey: kUseCustomMame]) {
path = [defaults stringForKey: kMamePath];
if ([path length]) return path;
}
path = [bundle pathForAuxiliaryExecutable: @"mame64"];
if ([path length]) return path;
return nil;
}
static NSString * JoinArguments(NSArray *argv) {
static NSCharacterSet *safe = nil;
@@ -110,7 +171,10 @@ static NSString * JoinArguments(NSArray *argv) {
//unsigned ix = 0;
[rv appendString: @"mame"];
//[rv appendString: @"mame"];
NSString *path = MamePath();
path = path ? [path lastPathComponent] : @"mame";
[rv appendString: path];
for (NSString *s in argv) {
[rv appendString: @" "];
NSUInteger l = [s length];
@@ -161,6 +225,7 @@ static NSString * JoinArguments(NSArray *argv) {
-(void)buildCommandLine {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if (!_mameMachine) {
[self setCommandLine: @""];
@@ -171,34 +236,89 @@ static NSString * JoinArguments(NSArray *argv) {
//[argv addObject: @"mame"];
[argv addObject: _mameMachine];
if (_mameDebug) [argv addObject: @"-debug"];
if (_mameWindow) {
[argv addObject: @"-window"];
[argv addObject: @"-nomax"];
}
// -confirm_quit?
[argv addObject: @"-skip_gameinfo"];
if (_mameWindow && _mameSquarePixels) {
NSSize screen = [_slotController resolution];
NSString *res = [NSString stringWithFormat: @"%ux%u", (unsigned)screen.width, (unsigned)screen.height];
NSString *aspect = [NSString stringWithFormat: @"%u:%u", (unsigned)screen.width, (unsigned)screen.height];
[argv addObject: @"-nounevenstretch"];
if (_mameMouse)
[argv addObject: @"-mouse"]; // capture the mouse cursor when over the window.
if (_mameDebug) [argv addObject: @"-debug"];
[argv addObject: @"-resolution"];
[argv addObject: res];
[argv addObject: @"-aspect"];
[argv addObject: aspect];
if (_mameNoBlur) {
[argv addObject: @"-video"];
[argv addObject: @"soft"];
}
/*
* -window -nomax uses a 4:3 aspect ratio - ie, height = width * 3 / 4 (since height is always the limiting factor)
* for square pixels, should pass the true size and true aspect ratio.
*/
NSSize screen = [_slotController resolution];
switch(_mameWindowMode) {
case 0: // full screen;
// no uneven stretch doesn't do anything in full-screen mode.
break;
case 1: // 1x
// make the command-line a bit shorter and more pleasant.
if (!_mameSquarePixels) {
[argv addObject: @"-window"];
[argv addObject: @"-nomax"];
break;
}
// drop through.
case 2: // 2x
if (_mameSquarePixels) {
// NSString *aspect = [NSString stringWithFormat: @"%u:%u", (unsigned)screen.width, (unsigned)screen.height];
// [argv addObject: @"-aspect"];
// [argv addObject: aspect];
[argv addObject: @"-nounevenstretch"];
} else {
screen.height = round(screen.width * 3 / 4);
}
[argv addObject: @"-window"];
NSString *res = [NSString stringWithFormat: @"%ux%u",
(unsigned)(_mameWindowMode * screen.width),
(unsigned)(_mameWindowMode * screen.height)
];
[argv addObject: @"-resolution"];
[argv addObject: res];
break;
}
if (_mameBGFX) {
if (_mameBackend) {
static NSString *Names[] = {
@"-",
@"metal",
@"opengl",
};
[argv addObject: @"-bgfx_backend"];
[argv addObject: Names[_mameBackend]];
}
if (_mameEffects) {
static NSString *Names[] = {
@"-",
@"unfiltered",
@"hlsl",
@"crt-geom",
@"crt-geom-deluxe",
};
[argv addObject: @"-bgfx_screen_chains"];
[argv addObject: Names[_mameEffects]];
}
} else {
[argv addObject: @"-video"];
[argv addObject: @"soft"];
}
// -speed n
// -scale n
@@ -213,10 +333,34 @@ static NSString * JoinArguments(NSArray *argv) {
[argv addObjectsFromArray: tmp];
}
if (_mameNoThrottle) [argv addObject: @"-nothrottle"];
if (_mameSpeed < 0) {
[argv addObject: @"-nothrottle"];
} else if (_mameSpeed > 1) {
[argv addObject: @"-speed"];
[argv addObject: [NSString stringWithFormat: @"%d", (int)_mameSpeed]];
}
// audio video.
if (_mameAVI && [_mameAVIPath length]) {
[argv addObject: @"-aviwrite"];
[argv addObject: _mameAVIPath];
}
if (_mameWAV && [_mameWAVPath length]) {
[argv addObject: @"-wavwrite"];
[argv addObject: _mameWAVPath];
}
// vgm only valid for custom mame.
if (![defaults boolForKey: kUseCustomMame]) {
if (_mameVGM && [_mameVGMPath length]) {
[argv addObject: @"-vgmwrite"];
[argv addObject: _mameVGMPath];
}
}
[self setCommandLine: JoinArguments(argv)]; //[argv componentsJoinedByString:@" "]];
[self setCommandLine: JoinArguments(argv)];
[self setArgs: argv];
}
@@ -224,27 +368,31 @@ static NSString * JoinArguments(NSArray *argv) {
- (IBAction)launchAction:(id)sender {
if (![_args count]) return;
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSURL *url = MameURL();
NSString *path = [defaults stringForKey: @"MamePath"];
if (![path length]) path = @"/usr/local/bin/mame";
NSURL *url = [NSURL fileURLWithPath: path];
if (!url) {
NSAlert *alert = [NSAlert new];
[alert setMessageText: @"Unable to find MAME executable path"];
[alert runModal];
return;
}
NSTask *task = [NSTask new];
[task setExecutableURL: url];
[task setArguments: _args];
#if 0
// interferes w/ termination notification.
[task setTerminationHandler: ^(NSTask *t){
}];
#endif
if (![defaults boolForKey: kUseCustomMame]) {
// run in Application Support/Ample.
[task setCurrentDirectoryURL: SupportDirectory()];
}
[LogWindowController controllerForTask: task];
}
+7 -3
View File
@@ -6,6 +6,7 @@
// Copyright © 2020 Kelvin Sherlock. All rights reserved.
//
#import "Ample.h"
#import "LogWindowController.h"
static NSMutableSet *LogWindows;
@@ -65,12 +66,15 @@ static NSMutableSet *LogWindows;
if (error) {
NSLog(@"launchAction: %@", error);
NSURL *url = [task executableURL];
NSString *path = [NSString stringWithCString: [url fileSystemRepresentation] encoding: NSUTF8StringEncoding];
NSLog(@"NSTask error. Path = %@ error = %@", path, error);
[self appendString: path];
[self appendString: [error description]];
return error;
}
_task = task;
NSString *title = [NSString stringWithFormat: @"Log Window - %u", [task processIdentifier]];
NSString *title = [NSString stringWithFormat: @"Ample Log - %u", [task processIdentifier]];
[[self window] setTitle: title];
_handle = [pipe fileHandleForReading];
@@ -145,7 +149,7 @@ static NSMutableSet *LogWindows;
[[self window] setDocumentEdited: NO];
if (ok && [[NSUserDefaults standardUserDefaults] boolForKey: @"AutoCloseLogWindow"]) {
if (ok && [[NSUserDefaults standardUserDefaults] boolForKey: kAutoCloseLogWindow]) {
[[self window] close];
//[LogWindows removeObject: self]; // close sends WindowWillClose notification.
+3 -3
View File
@@ -16,7 +16,7 @@ NS_ASSUME_NONNULL_BEGIN
@property (nonatomic) NSDictionary *media;
@property NSArray *args;
- (IBAction)deleteAction:(id)sender;
- (IBAction)ejectAction:(id)sender;
- (IBAction)pathAction:(id)sender;
@@ -28,8 +28,8 @@ NS_ASSUME_NONNULL_BEGIN
@interface TablePathView : NSTableCellView
@property (weak) IBOutlet NSPathControl *pathControl;
@property (weak) IBOutlet NSButton *deleteButton;
@property (weak) IBOutlet NSButton *ejectButton;
@property (weak) IBOutlet NSImageView *dragHandle;
@end
NS_ASSUME_NONNULL_END
+244 -21
View File
@@ -9,7 +9,38 @@
#import "MediaViewController.h"
@implementation TablePathView
@implementation TablePathView {
NSTrackingRectTag _trackingRect;
}
#if 0
-(void)awakeFromNib {
// this is apparently necessary for setTintColor to work.
NSImage *img;
img = [_ejectButton image];
[img setTemplate: YES];
img = [_ejectButton alternateImage];
[img setTemplate: YES];
}
#endif
-(void)viewDidMoveToSuperview {
return;
if (_trackingRect) {
[self removeTrackingRect: _trackingRect];
}
NSRect rect = [_dragHandle frame];
_trackingRect = [self addTrackingRect: rect owner: self userData: NULL assumeInside:NO];
}
-(void)mouseEntered:(NSEvent *)event {
[_dragHandle setHidden: NO];
}
-(void)mouseExited:(NSEvent *)event {
[_dragHandle setHidden: YES];
}
@end
@@ -22,14 +53,16 @@
-(NSString *)viewIdentifier;
-(void)prepareView: (NSTableCellView *)view;
-(CGFloat)height;
-(NSInteger)index;
@end
@interface MediaCategory : NSObject <MediaNode> {
}
@property NSInteger validCount;
@property NSArray *children; // URLs?
@property NSMutableArray *children; // URLs?
@property NSString *title;
@property NSInteger index;
-(NSInteger)count;
-(id)objectAtIndex:(NSInteger)index;
@@ -40,6 +73,7 @@
@property NSURL *url;
@property BOOL valid;
@property NSInteger index;
-(NSInteger)count;
-(id)objectAtIndex:(NSInteger)index;
@@ -92,53 +126,88 @@
}
unsigned count = (unsigned)[_children count];
NSMutableArray *tmp = [NSMutableArray arrayWithArray: _children];
_validCount = newCount;
if (!_children) _children = [NSMutableArray new];
for (unsigned i = count; i < newCount; ++i) {
[tmp addObject: [MediaItem new]];
MediaItem *item = [MediaItem new];
[item setIndex: i];
[_children addObject: item];
}
// delete excess items, if blank. otherwise, mark invalid.
unsigned ix = 0;
for(MediaItem *item in tmp) {
for(MediaItem *item in _children) {
[item setValid: ix++ < newCount];
}
for (unsigned i = newCount; i < count; ++i) {
MediaItem *item = [tmp lastObject];
MediaItem *item = [_children lastObject];
if ([item url]) break;
[tmp removeLastObject];
[_children removeLastObject];
}
[self setChildren: tmp];
return YES;
}
-(BOOL)pruneChildren {
-(BOOL)pruneChildrenWithOutlineView: (NSOutlineView *)view {
NSUInteger count = [_children count];
BOOL delta = NO;
if (_validCount == count) return NO;
NSMutableIndexSet *set = [NSMutableIndexSet new];
NSMutableArray *tmp = [NSMutableArray arrayWithArray: _children];
for (NSInteger i = _validCount; i < count; ++i) {
MediaItem *item = [tmp lastObject];
MediaItem *item = [_children lastObject];
if ([item url]) break;
[tmp removeLastObject];
[_children removeLastObject];
[set addIndex: [_children count]];
delta = YES;
}
if (delta) {
[self setChildren: tmp];
if (view)
[view removeItemsAtIndexes: set inParent: self withAnimation: NSTableViewAnimationEffectFade];
return YES;
}
return NO;
}
-(BOOL)moveItemFrom: (NSInteger)oldIndex to: (NSInteger)newIndex outlineView: (NSOutlineView *)view {
if (newIndex == oldIndex) return NO;
NSUInteger count = [_children count];
if (oldIndex >= count) return NO;
MediaItem *item = [_children objectAtIndex: oldIndex];
[_children removeObjectAtIndex: oldIndex];
if (newIndex > oldIndex) newIndex--;
if (newIndex >= count) {
[_children addObject: item];
} else {
[_children insertObject: item atIndex: newIndex];
}
if (view) [view moveItemAtIndex: oldIndex inParent: self toIndex: newIndex inParent: self];
// re-index and re-validate.
unsigned ix = 0;
for (MediaItem *item in _children) {
[item setIndex: ix];
[item setValid: ix < _validCount];
[view reloadItem: item];
++ix;
}
[self pruneChildrenWithOutlineView: view];
//[view reloadItem: self reloadChildren: YES];
return YES;
}
@end
@implementation MediaItem
-(instancetype)initWithURL: (NSURL *)url {
@@ -168,14 +237,20 @@
-(void)prepareView: (TablePathView *)view {
NSPathControl *pc = [view pathControl];
NSButton *button = [view ejectButton];
[pc setURL: _url]; //??? will binding take care of it?
[pc unbind: @"value"];
[pc bind: @"value" toObject: self withKeyPath: @"url" options: nil];
[button unbind: @"enabled"];
NSValueTransformer *t = [NSValueTransformer valueTransformerForName: NSIsNotNilTransformerName];
NSDictionary *options = @{ NSValueTransformerBindingOption: t};
[button bind: @"enabled" toObject: self withKeyPath: @"url" options: options];
NSColor *tintColor = nil;
if (!_valid) tintColor = [NSColor redColor];
[[view deleteButton] setContentTintColor: tintColor];
[button setContentTintColor: tintColor];
}
-(CGFloat)height {
@@ -265,13 +340,20 @@ enum {
-(void)rebuildRoot {
NSMutableArray *tmp = [NSMutableArray new];
int ix = 0;
for (unsigned j = 0 ; j < 5; ++j) {
MediaCategory *cat = _data[j];
if ([cat count]) [tmp addObject: cat];
[cat setIndex: -1];
if ([cat count]) {
[cat setIndex: ix++];
[tmp addObject: cat];
}
}
_root = tmp;
//[_outlineView reloadItem: nil reloadChildren: YES];
// todo - switch this to use removeItemsAtIndexes:inParent:withAnimation:
// and insertItemsAtIndexes:inParent:withAnimation:
[_outlineView reloadData];
[_outlineView expandItem: nil expandChildren: YES];
}
@@ -310,6 +392,7 @@ enum {
}
}
static NSString *kDragType = @"private.ample.media";
- (void)viewDidLoad {
[super viewDidLoad];
@@ -317,8 +400,11 @@ enum {
//NSOutlineView *view = [self view];
//[view expandItem: nil expandChildren: YES];
// Do view setup here.
[_outlineView reloadData];
[_outlineView expandItem: nil expandChildren: YES];
[_outlineView registerForDraggedTypes: @[kDragType]];
}
#pragma mark - NSOutlineViewDelegate
@@ -402,9 +488,139 @@ enum {
return [item height];
}
#if 0
- (id<NSPasteboardWriting>)outlineView:(NSOutlineView *)outlineView pasteboardWriterForItem:(id<MediaNode>)item {
if ([item isGroupItem]) return nil;
NSPasteboardItem *pb = [NSPasteboardItem new];
return pb;
}
#endif
- (BOOL)outlineView:(NSOutlineView *)outlineView writeItems:(NSArray *)items toPasteboard:(NSPasteboard *)pasteboard {
if ([items count] > 1) return NO;
//NSLog(@"%s", sel_getName(_cmd));
MediaItem *item = [items firstObject];
if (![item isKindOfClass: [MediaItem class]]) return NO;
// find the category. only allow if more than 1 item in the category.
MediaCategory *cat = nil;
for (MediaCategory *c in _root) {
NSUInteger ix = [[c children] indexOfObject: item];
if (ix != NSNotFound){
cat = c;
break;
}
}
if (!cat) return NO;
if ([cat count] < 2) return NO;
NSInteger indexes[2] = { 0, 0 };
indexes[0] = [cat index];
indexes[1] = [item index];
NSData *data =[NSData dataWithBytes: indexes length: sizeof(indexes)];
[pasteboard setData: data forType: kDragType];
return YES;
}
/*
* IF item is present, it's a MediaCategory and index is the index of the MediaItem it would be inserted as.
* IF item is nil, index is the MediaCategory index, which should be converted to moving to the end.
* IF index < 0, dragging far beyond the category list, so NOPE it.
*
*/
- (NSDragOperation)outlineView:(NSOutlineView *)outlineView validateDrop:(id<NSDraggingInfo>)info proposedItem:(id)item proposedChildIndex:(NSInteger)index {
if (index < 0) return NSDragOperationNone;
NSPasteboard *pb = [info draggingPasteboard];
NSData *data = [pb dataForType: kDragType];
if (!data) return NSDragOperationNone;
NSInteger indexes[2];
if ([data length] != sizeof(indexes)) return NSDragOperationNone;
[data getBytes: &indexes length: sizeof(indexes)];
//NSLog(@"%d - %d", (int)indexes[0], (int)indexes[1]);
MediaCategory *cat = item;
if (!item) {
// move to the END of the previous category.
if (index == 0) return NSDragOperationNone;
cat = [_root objectAtIndex: index - 1];
index = [cat count]; // -1; - interferes w/ -1 logic below.
}
//NSLog(@"%d - %d", (int)[(MediaCategory *)item index], (int)index);
if ([cat index] != indexes[0]) return NSDragOperationNone;
if (indexes[1] == index) return NSDragOperationNone;
if (indexes[1] == index-1) return NSDragOperationNone;
return NSDragOperationMove;
}
- (BOOL)outlineView:(NSOutlineView *)outlineView acceptDrop:(id<NSDraggingInfo>)info item:(id)item childIndex:(NSInteger)index {
if (index < 0) return NO;
NSPasteboard *pb = [info draggingPasteboard];
NSData *data = [pb dataForType: kDragType];
if (!data) return NSDragOperationNone;
NSInteger indexes[2];
if ([data length] != sizeof(indexes)) return NO;
[data getBytes: &indexes length: sizeof(indexes)];
//NSLog(@"%d - %d", (int)indexes[0], (int)indexes[1]);
MediaCategory *cat = item;
if (!item) {
// move to the END of the previous category.
if (index == 0) return NO;
cat = [_root objectAtIndex: index - 1];
index = [cat count]; // -1; - interferes w/ -1 logic below.
}
//NSLog(@"%d - %d", (int)[(MediaCategory *)item index], (int)index);
if ([cat index] != indexes[0]) return NO;
if (indexes[1] == index) return NO;
if (indexes[1] == index-1) return NO;
NSInteger oldIndex = indexes[1];
[_outlineView beginUpdates];
[cat moveItemFrom: oldIndex to: index outlineView: _outlineView];
[_outlineView endUpdates];
[self rebuildArgs];
//[_outlineView reloadItem: cat reloadChildren: YES];
return YES;
}
#pragma mark - IBActions
- (IBAction)deleteAction:(id)sender {
- (IBAction)ejectAction:(id)sender {
NSInteger row = [_outlineView rowForView: sender];
if (row < 0) return;
@@ -417,12 +633,19 @@ enum {
// if item is invalid, should attempt to remove...
if (![item valid]) {
MediaCategory *cat = [_outlineView parentForItem: item];
if ([cat pruneChildren]) [self rebuildRoot];
[_outlineView beginUpdates];
[cat pruneChildrenWithOutlineView: _outlineView];
[_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 {
// need to update the eject button...
[self rebuildArgs];
}
@end
+47
View File
@@ -0,0 +1,47 @@
//
// NewSlotViewController.h
// Ample
//
// Created by Kelvin Sherlock on 9/9/2020.
// Copyright © 2020 Kelvin Sherlock. All rights reserved.
//
#import <Cocoa/Cocoa.h>
NS_ASSUME_NONNULL_BEGIN
@interface NewSlotViewController : NSViewController
@property NSArray *args;
@property NSDictionary *media;
@property NSSize resolution;
@property (nonatomic) NSString *machine;
@end
@interface NewSlotViewController (OutlineView) <NSOutlineViewDelegate, NSOutlineViewDataSource>
@end
@interface SlotTableCellView : NSTableCellView
@property (weak) IBOutlet NSPopUpButton *menuButton;
@end
@interface SlotItem : NSObject
@property unsigned index;
@property NSArray *children;
@property NSArray *menuItems;
@property NSInteger defaultIndex;
@property NSInteger selectedIndex;
-(NSDictionary *)selectedItem;
-(NSDictionary *)selectedMedia;
-(BOOL)hasDefault;
-(void)reset;
@end
NS_ASSUME_NONNULL_END
+510
View File
@@ -0,0 +1,510 @@
//
// NewSlotViewController.m
// Ample
//
// Created by Kelvin Sherlock on 9/9/2020.
// Copyright © 2020 Kelvin Sherlock. All rights reserved.
//
#import "NewSlotViewController.h"
static NSFont *ItalicMenuFont(void) {
NSFont *font = [NSFont menuFontOfSize: 0];
NSFontDescriptor *fd = [font fontDescriptor];
NSFontDescriptor *fd2 = [fd fontDescriptorWithSymbolicTraits: NSFontDescriptorTraitItalic];
return [NSFont fontWithDescriptor: fd2 size: [font pointSize]];
}
static NSAttributedString *ItalicMenuString(NSString *s) {
static NSDictionary *attr = nil;
if (!attr) {
attr = @{
NSFontAttributeName: ItalicMenuFont()
};
}
return [[NSAttributedString alloc] initWithString: s attributes: attr];
}
@implementation SlotTableCellView
@end
@implementation SlotItem
-(id)init {
_defaultIndex = -1;
_selectedIndex = -1;
return self;
}
-(NSString *)label {
static NSString *Names[] = {
@"RAM:",
@"Slot 0:",
@"Slot 1:",
@"Slot 2:",
@"Slot 3:",
@"Slot 4:",
@"Slot 5:",
@"Slot 6:",
@"Slot 7:",
@"Expansion:",
@"Auxiliary:",
@"RS232:",
@"Game I/O:",
@"Modem:",
@"Printer:"
};
return Names[_index];
}
-(NSString *)flag {
static NSString *Names[] = {
@"-ramsize",
@"-sl0",
@"-sl1",
@"-sl2",
@"-sl2",
@"-sl4",
@"-sl5",
@"-sl6",
@"-sl7",
@"-exp",
@"-aux",
@"-rs232",
@"-gameio",
@"-modem",
@"-printer"
};
return Names[_index];
}
-(void)buildMenuWithSelectedValue: (NSString *)value {
NSMutableArray *tmp = [NSMutableArray arrayWithCapacity: [_children count]];
_defaultIndex = -1;
_selectedIndex = -1;
int ix = 0;
for (NSDictionary *d in _children) {
NSString *title = [d objectForKey: @"description"];
NSMenuItem *mi = [[NSMenuItem alloc] initWithTitle: title action: NULL keyEquivalent: @""];
// row 0 for slots is -- None -- which should be nil...
[mi setRepresentedObject: d];
BOOL disabled = [(NSNumber *)[d objectForKey: @"disabled"] boolValue];
if (disabled) {
[mi setEnabled: NO];
}
BOOL def = [(NSNumber *)[d objectForKey: @"default"] boolValue];
if (def) {
[mi setAttributedTitle: ItalicMenuString(title)];
_defaultIndex = ix;
}
if (value) {
NSString *v = [d objectForKey: @"value"];
if ([value compare: v] == NSOrderedSame) {
_selectedIndex = ix;
}
}
[tmp addObject: mi];
++ix;
}
[self setMenuItems: tmp];
if (_selectedIndex < 0) _selectedIndex = _defaultIndex;
if (_selectedIndex < 0) _selectedIndex = 0;
}
-(void)reset {
[self setSelectedIndex: _defaultIndex >= 0 ? _defaultIndex : 0];
}
-(NSDictionary *)selectedItem {
if (_selectedIndex < 0) return nil;
return [_children objectAtIndex: _selectedIndex];
}
-(NSDictionary *)selectedMedia {
if (_selectedIndex < 0) return nil;
NSDictionary *d = [_children objectAtIndex: _selectedIndex];
return [d objectForKey: @"media"];
}
-(BOOL)hasDefault {
return _defaultIndex >= 0;
}
-(void)prepareView: (SlotTableCellView *)view {
NSPopUpButton *button = [view menuButton];
NSTextField *text = [view textField];
[text setObjectValue: [self label]];
[button unbind: @"selectedIndex"];
[[button menu] setItemArray: _menuItems];
[button bind: @"selectedIndex" toObject: self withKeyPath: @"selectedIndex" options: nil];
[button setTag: _index];
}
@end
@interface NewSlotViewController ()
@property (weak) IBOutlet NSOutlineView *outlineView;
@end
@implementation NewSlotViewController {
NSMutableArray *_root;
unsigned _slots_explicit;
unsigned _slots_valid;
unsigned _slots_default;
NSDictionary *_slot_object[16];
NSDictionary *_slot_media[16];
NSString *_slot_value[16]; // when explicitely set.
NSDictionary *_machine_media;
NSDictionary *_machine_data;
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do view setup here.
_root = [NSMutableArray new];
}
-(void)resetMachine {
[_root removeAllObjects];
[_outlineView reloadData];
_slots_valid = 0;
_slots_explicit = 0;
_slots_default = 0;
_machine_media = nil;
_machine_data = nil;
for (unsigned i = 0; i < 16; ++i) {
_slot_media[i] = nil;
_slot_object[i] = nil;
_slot_value[i] = nil;
}
[self setResolution: NSMakeSize(0, 0)];
[self setArgs: @[]];
[self setMedia: @{}];
}
-(void)loadMachine {
static NSString *Keys[] = {
@"ram",
@"sl0", @"sl1", @"sl2", @"sl3",
@"sl4", @"sl5", @"sl6", @"sl7",
@"exp", @"aux", @"rs232",
@"gameio", @"printer", @"modem",
};
static unsigned SizeofKeys = sizeof(Keys)/sizeof(Keys[0]);
NSBundle *bundle = [NSBundle mainBundle];
NSURL *url= [bundle URLForResource: _machine withExtension: @"plist"];
NSDictionary *d = [NSDictionary dictionaryWithContentsOfURL: url];
if (!d) {
[self resetMachine];
return;
}
NSArray *r = [d objectForKey: @"resolution"];
NSSize res = NSMakeSize(0, 0);
if (r) {
res.width = [(NSNumber *)[r objectAtIndex: 0 /*@"width"*/] doubleValue];
res.height = [(NSNumber *)[r objectAtIndex: 1 /*@"height"*/] doubleValue];
}
[self setResolution: res];
_slots_valid = 0;
//_slots_explicit = 0;
_slots_default = 0;
_machine_media = [d objectForKey: @"media"];
_machine_data = d;
[_root removeAllObjects];
unsigned mask = 1;
for (unsigned i = 0; i < SizeofKeys; ++i, mask <<= 1) {
NSString *v = [_slot_object[i] objectForKey: @"value"];
_slot_media[i] = nil;
_slot_object[i] = nil;
if (v) _slot_value[i] = v;
NSArray *options = [d objectForKey: Keys[i]];
if (!options) continue;
_slots_valid |= mask;
SlotItem *item = [SlotItem new];
[item setIndex: i];
[item setChildren: options];
[item buildMenuWithSelectedValue: _slot_value[i]];
if ([item defaultIndex] >= 0) {
_slots_default |= mask;
}
// default media...
_slot_media[i] = [item selectedMedia];
[_root addObject: item];
}
[_outlineView reloadData];
[self rebuildMedia];
[self rebuildArgs];
}
-(void)setMachine: (NSString *)machine {
if (_machine == machine) return;
if (_machine && machine && [machine compare: _machine] == NSOrderedSame) return;
_machine = machine;
if (!machine) {
[self resetMachine];
return;
}
[self loadMachine];
}
-(void)rebuildMedia {
#define _(var, o) var += [[o objectForKey: @ # var ] unsignedIntValue]
unsigned cass = 0;
unsigned cdrm = 0;
unsigned hard = 0;
unsigned flop_5_25 = 0;
unsigned flop_3_5 = 0;
#if 0
for (SlotItem *item in _root) {
NSDictionary *tmp = [item selectedMedia];
if (tmp) {
_(cass, tmp);
_(cdrm, tmp);
_(hard, tmp);
_(flop_5_25, tmp);
_(flop_3_5, tmp);
}
}
#endif
#if 1
unsigned mask = 1;
for (unsigned i = 0; i < 16; ++i, mask <<= 1) {
if (_slots_valid & mask) {
NSDictionary *tmp = _slot_media[i];
if (tmp) {
_(cass, tmp);
_(cdrm, tmp);
_(hard, tmp);
_(flop_5_25, tmp);
_(flop_3_5, tmp);
}
}
}
#endif
NSDictionary *tmp = _machine_media;
if (tmp) {
_(cass, tmp);
_(cdrm, tmp);
_(hard, tmp);
_(flop_5_25, tmp);
_(flop_3_5, tmp);
}
[self setMedia: @{
@"cass": @(cass),
@"cdrm": @(cdrm),
@"hard": @(hard),
@"flop_5_25": @(flop_5_25),
@"flop_3_5": @(flop_3_5),
}];
}
static NSString *SlotFlagForIndex(unsigned index){
static NSString *Names[] = {
@"-ramsize",
@"-sl0",
@"-sl1",
@"-sl2",
@"-sl2",
@"-sl4",
@"-sl5",
@"-sl6",
@"-sl7",
@"-exp",
@"-aux",
@"-rs232",
@"-gameio",
@"-modem",
@"-printer"
};
return Names[index];
}
-(void)rebuildArgs {
NSMutableArray *args = [NSMutableArray new];
for (SlotItem *item in _root) {
NSDictionary *d = [item selectedItem];
if ([(NSNumber *)[d objectForKey: @"default"] boolValue]) {
continue; // default, don't include it.
}
NSString *value = [d objectForKey: @"value"];
if (!value || ![value length]) {
if (![item hasDefault]) continue;
value = @"";
}
[args addObject: [item flag]];
[args addObject: value];
}
#if 0
unsigned mask = 1;
for (unsigned i = 0 ; i < 16; ++i, mask <<= 1) {
if (!(_slots_valid & mask)) continue;
NSDictionary *d = _slot_object[i];
if ([(NSNumber *)[d objectForKey: @"default"] boolValue]) {
continue; // default, don't include it.
}
NSString *value = [d objectForKey: @"value"];
if (!value) {
// if slot has a default, need to overwrite it.
if (!(_slots_default & mask)) continue;
value = @"";
}
[args addObject: SlotFlagForIndex(i)];
[args addObject: value];
}
#endif
[self setArgs: args];
}
- (IBAction)menuChanged:(NSPopUpButton *)sender {
unsigned index = (unsigned)[sender tag];
unsigned mask = 1 << index;
// index 0 = ram = special case...
NSDictionary *d = [[sender selectedItem] representedObject];
_slots_explicit |= mask;
_slot_value[index] = [d objectForKey: @"value"];
//_slots_default &= ~mask;
//_slot_object[index] = d;
// media...
NSDictionary *newMedia = [d objectForKey: @"media"];
NSDictionary *oldMedia = _slot_media[index];
if (newMedia != oldMedia) {
_slot_media[index] = newMedia;
[self rebuildMedia];
}
[self rebuildArgs];
}
-(IBAction)resetSlots:(id)sender {
_slots_explicit = 0;
for (unsigned i = 0; i < 16; ++i) {
_slot_media[i] = nil;
_slot_object[i] = nil;
_slot_value[i] = nil;
}
for (SlotItem *item in _root) {
[item reset];
// if children, reset them too...
unsigned index = [item index];
_slot_media[index] = [item selectedMedia];
}
//[_outlineView reloadData]; // will need to reload if changing the default makes children disappear.
[self rebuildMedia];
[self rebuildArgs];
}
@end
@implementation NewSlotViewController (OutlineView)
- (NSInteger)outlineView:(NSOutlineView *)outlineView numberOfChildrenOfItem:(id)item {
if (!item) return [_root count];
return 0;
}
- (id)outlineView:(NSOutlineView *)outlineView child:(NSInteger)index ofItem:(id)item {
if (!item) return [_root objectAtIndex: index];
return nil;
}
- (BOOL)outlineView:(NSOutlineView *)outlineView isItemExpandable:(id)item {
return NO;
}
- (NSView *)outlineView:(NSOutlineView *)outlineView viewForTableColumn:(NSTableColumn *)tableColumn item:(SlotItem *)item {
SlotTableCellView *v = [outlineView makeViewWithIdentifier: @"MenuCell" owner: self];
[item prepareView: v];
return v;
}
@end
+17
View File
@@ -0,0 +1,17 @@
//
// PreferencesWindowController.h
// Ample
//
// Created by Kelvin Sherlock on 8/31/2020.
// Copyright © 2020 Kelvin Sherlock. All rights reserved.
//
#import <Cocoa/Cocoa.h>
NS_ASSUME_NONNULL_BEGIN
@interface PreferencesWindowController : NSWindowController
@end
NS_ASSUME_NONNULL_END
+52
View File
@@ -0,0 +1,52 @@
//
// PreferencesWindowController.m
// Ample
//
// Created by Kelvin Sherlock on 8/31/2020.
// Copyright © 2020 Kelvin Sherlock. All rights reserved.
//
#import "Ample.h"
#import "PreferencesWindowController.h"
@interface PreferencesWindowController ()
@property (weak) IBOutlet NSTextField *pathField;
@end
@implementation PreferencesWindowController
-(NSString *)windowNibName {
return @"Preferences";
}
- (void)windowDidLoad {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[super windowDidLoad];
// Implement this method to handle any initialization after your window controller's window has been loaded from its nib file.
[self validateMamePath: [defaults stringForKey: kMamePath]];
}
-(void)validateMamePath: (NSString *)path {
NSFileManager * fm = [NSFileManager defaultManager];
if ([path length] == 0 || [fm isExecutableFileAtPath: path]) {
[_pathField setTextColor: [NSColor blackColor]];
} else {
[_pathField setTextColor: [NSColor redColor]];
}
}
- (IBAction)pathChanged:(id)sender {
NSString *path = [sender stringValue];
[self validateMamePath: path];
}
@end
+42 -16
View File
@@ -9,74 +9,92 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>4096</integer>
<key>description</key>
<string>4K</string>
<key>value</key>
<string>4K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>8192</integer>
<key>description</key>
<string>8K</string>
<key>value</key>
<string>8K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>12288</integer>
<key>description</key>
<string>12K</string>
<key>value</key>
<string>12K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>16384</integer>
<key>description</key>
<string>16K</string>
<key>value</key>
<string>16K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>20480</integer>
<key>description</key>
<string>20K</string>
<key>value</key>
<string>20K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>24576</integer>
<key>description</key>
<string>24K</string>
<key>value</key>
<string>24K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>32768</integer>
<key>description</key>
<string>32K</string>
<key>value</key>
<string>32K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>36864</integer>
<key>description</key>
<string>36K</string>
<key>value</key>
<string>36K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>49152</integer>
<key>description</key>
<string>48K</string>
<key>value</key>
<string>48K</string>
<key>default</key>
<true/>
</dict>
@@ -496,7 +514,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -945,7 +963,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1394,7 +1412,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1843,7 +1861,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<true/>
</dict>
@@ -2292,7 +2310,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2741,7 +2759,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3190,7 +3208,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3295,6 +3313,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>joyport</string>
+3 -3
View File
@@ -9,18 +9,18 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>32768</integer>
<key>description</key>
<string>32K</string>
<key>value</key>
<string>32K</string>
<key>default</key>
<true/>
</dict>
</array>
<key>media</key>
<dict>
<key>flop_5_25</key>
<integer>2</integer>
<key>cass</key>
<integer>1</integer>
</dict>
+3 -3
View File
@@ -9,18 +9,18 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>131072</integer>
<key>description</key>
<string>128K</string>
<key>value</key>
<string>128K</string>
<key>default</key>
<true/>
</dict>
</array>
<key>media</key>
<dict>
<key>flop_5_25</key>
<integer>2</integer>
<key>cass</key>
<integer>1</integer>
</dict>
+24 -10
View File
@@ -9,26 +9,32 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>16384</integer>
<key>description</key>
<string>16K</string>
<key>value</key>
<string>16K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>32768</integer>
<key>description</key>
<string>32K</string>
<key>value</key>
<string>32K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>49152</integer>
<key>description</key>
<string>48K</string>
<key>value</key>
<string>48K</string>
<key>default</key>
<true/>
</dict>
@@ -448,7 +454,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -897,7 +903,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1346,7 +1352,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1795,7 +1801,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<true/>
</dict>
@@ -2244,7 +2250,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2693,7 +2699,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3142,7 +3148,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3247,6 +3253,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>joyport</string>
+24 -10
View File
@@ -9,26 +9,32 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>16384</integer>
<key>description</key>
<string>16K</string>
<key>value</key>
<string>16K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>32768</integer>
<key>description</key>
<string>32K</string>
<key>value</key>
<string>32K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>49152</integer>
<key>description</key>
<string>48K</string>
<key>value</key>
<string>48K</string>
<key>default</key>
<true/>
</dict>
@@ -448,7 +454,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -897,7 +903,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1346,7 +1352,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1795,7 +1801,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<true/>
</dict>
@@ -2244,7 +2250,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2693,7 +2699,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3142,7 +3148,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3247,6 +3253,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>joyport</string>
+24 -10
View File
@@ -9,26 +9,32 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>16384</integer>
<key>description</key>
<string>16K</string>
<key>value</key>
<string>16K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>32768</integer>
<key>description</key>
<string>32K</string>
<key>value</key>
<string>32K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>49152</integer>
<key>description</key>
<string>48K</string>
<key>value</key>
<string>48K</string>
<key>default</key>
<true/>
</dict>
@@ -448,7 +454,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -897,7 +903,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1346,7 +1352,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1795,7 +1801,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<true/>
</dict>
@@ -2244,7 +2250,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2693,7 +2699,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3142,7 +3148,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3247,6 +3253,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>joyport</string>
+36 -14
View File
@@ -9,106 +9,128 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>4096</integer>
<key>description</key>
<string>4K</string>
<key>value</key>
<string>4K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>8192</integer>
<key>description</key>
<string>8K</string>
<key>value</key>
<string>8K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>12288</integer>
<key>description</key>
<string>12K</string>
<key>value</key>
<string>12K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>16384</integer>
<key>description</key>
<string>16K</string>
<key>value</key>
<string>16K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>20480</integer>
<key>description</key>
<string>20K</string>
<key>value</key>
<string>20K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>24576</integer>
<key>description</key>
<string>24K</string>
<key>value</key>
<string>24K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>28672</integer>
<key>description</key>
<string>28K</string>
<key>value</key>
<string>28K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>32768</integer>
<key>description</key>
<string>32K</string>
<key>value</key>
<string>32K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>36864</integer>
<key>description</key>
<string>36K</string>
<key>value</key>
<string>36K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>40960</integer>
<key>description</key>
<string>40K</string>
<key>value</key>
<string>40K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>45056</integer>
<key>description</key>
<string>44K</string>
<key>value</key>
<string>44K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>49152</integer>
<key>description</key>
<string>48K</string>
<key>value</key>
<string>48K</string>
<key>default</key>
<true/>
</dict>
</array>
<key>media</key>
<dict>
<key>cass</key>
<integer>1</integer>
</dict>
<key>resolution</key>
<array>
+42 -16
View File
@@ -9,74 +9,92 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>4096</integer>
<key>description</key>
<string>4K</string>
<key>value</key>
<string>4K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>8192</integer>
<key>description</key>
<string>8K</string>
<key>value</key>
<string>8K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>12288</integer>
<key>description</key>
<string>12K</string>
<key>value</key>
<string>12K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>16384</integer>
<key>description</key>
<string>16K</string>
<key>value</key>
<string>16K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>20480</integer>
<key>description</key>
<string>20K</string>
<key>value</key>
<string>20K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>24576</integer>
<key>description</key>
<string>24K</string>
<key>value</key>
<string>24K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>32768</integer>
<key>description</key>
<string>32K</string>
<key>value</key>
<string>32K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>36864</integer>
<key>description</key>
<string>36K</string>
<key>value</key>
<string>36K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>49152</integer>
<key>description</key>
<string>48K</string>
<key>value</key>
<string>48K</string>
<key>default</key>
<true/>
</dict>
@@ -496,7 +514,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -945,7 +963,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1394,7 +1412,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1843,7 +1861,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<true/>
</dict>
@@ -2292,7 +2310,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2741,7 +2759,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3190,7 +3208,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3295,6 +3313,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>joyport</string>
+13 -1
View File
@@ -9,16 +9,20 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>131072</integer>
<key>description</key>
<string>128K</string>
<key>value</key>
<string>128K</string>
<key>default</key>
<true/>
</dict>
</array>
<key>media</key>
<dict>
<key>flop_5_25</key>
<integer>2</integer>
</dict>
<key>resolution</key>
<array>
@@ -59,6 +63,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
</array>
<key>printer</key>
<array>
+23 -5
View File
@@ -9,42 +9,52 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>131072</integer>
<key>description</key>
<string>128K</string>
<key>value</key>
<string>128K</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>393216</integer>
<key>description</key>
<string>384K</string>
<key>value</key>
<string>384K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>655360</integer>
<key>description</key>
<string>640K</string>
<key>value</key>
<string>640K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>917504</integer>
<key>description</key>
<string>896K</string>
<key>value</key>
<string>896K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>1179648</integer>
<key>description</key>
<string>1152K</string>
<key>value</key>
<string>1152K</string>
<key>default</key>
<false/>
</dict>
@@ -95,6 +105,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
</array>
<key>printer</key>
<array>
+165 -8
View File
@@ -9,10 +9,12 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>65536</integer>
<key>description</key>
<string>64K</string>
<key>value</key>
<string>64K</string>
<key>default</key>
<true/>
</dict>
@@ -53,6 +55,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -285,6 +295,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -445,7 +468,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -542,6 +565,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -774,6 +805,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -934,7 +978,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1031,6 +1075,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -1263,6 +1315,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -1423,7 +1488,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1520,6 +1585,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -1752,6 +1825,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -1912,7 +1998,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<true/>
</dict>
@@ -2009,6 +2095,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -2241,6 +2335,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -2401,7 +2508,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2498,6 +2605,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -2730,6 +2845,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -2890,7 +3018,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2987,6 +3115,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -3219,6 +3355,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -3379,7 +3528,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3519,6 +3668,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
</array>
</dict>
</plist>
+165 -8
View File
@@ -9,10 +9,12 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>65536</integer>
<key>description</key>
<string>64K</string>
<key>value</key>
<string>64K</string>
<key>default</key>
<true/>
</dict>
@@ -53,6 +55,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -285,6 +295,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -445,7 +468,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -542,6 +565,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -774,6 +805,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -934,7 +978,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1031,6 +1075,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -1263,6 +1315,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -1423,7 +1488,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1520,6 +1585,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -1752,6 +1825,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -1912,7 +1998,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<true/>
</dict>
@@ -2009,6 +2095,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -2241,6 +2335,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -2401,7 +2508,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2498,6 +2605,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -2730,6 +2845,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -2890,7 +3018,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2987,6 +3115,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -3219,6 +3355,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -3379,7 +3528,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3519,6 +3668,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
</array>
</dict>
</plist>
+165 -8
View File
@@ -9,10 +9,12 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>65536</integer>
<key>description</key>
<string>64K</string>
<key>value</key>
<string>64K</string>
<key>default</key>
<true/>
</dict>
@@ -53,6 +55,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -285,6 +295,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -445,7 +468,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -542,6 +565,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -774,6 +805,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -934,7 +978,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1031,6 +1075,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -1263,6 +1315,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -1423,7 +1488,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1520,6 +1585,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -1752,6 +1825,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -1912,7 +1998,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<true/>
</dict>
@@ -2009,6 +2095,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -2241,6 +2335,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -2401,7 +2508,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2498,6 +2605,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -2730,6 +2845,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -2890,7 +3018,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2987,6 +3115,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -3219,6 +3355,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -3379,7 +3528,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3519,6 +3668,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
</array>
</dict>
</plist>
+165 -8
View File
@@ -9,10 +9,12 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>65536</integer>
<key>description</key>
<string>64K</string>
<key>value</key>
<string>64K</string>
<key>default</key>
<true/>
</dict>
@@ -53,6 +55,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -285,6 +295,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -445,7 +468,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -542,6 +565,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -774,6 +805,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -934,7 +978,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1031,6 +1075,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -1263,6 +1315,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -1423,7 +1488,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1520,6 +1585,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -1752,6 +1825,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -1912,7 +1998,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<true/>
</dict>
@@ -2009,6 +2095,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -2241,6 +2335,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -2401,7 +2508,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2498,6 +2605,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -2730,6 +2845,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -2890,7 +3018,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2987,6 +3115,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -3219,6 +3355,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -3379,7 +3528,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3519,6 +3668,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
</array>
</dict>
</plist>
+165 -8
View File
@@ -9,10 +9,12 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>65536</integer>
<key>description</key>
<string>64K</string>
<key>value</key>
<string>64K</string>
<key>default</key>
<true/>
</dict>
@@ -53,6 +55,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -285,6 +295,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -445,7 +468,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -542,6 +565,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -774,6 +805,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -934,7 +978,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1031,6 +1075,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -1263,6 +1315,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -1423,7 +1488,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1520,6 +1585,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -1752,6 +1825,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -1912,7 +1998,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<true/>
</dict>
@@ -2009,6 +2095,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -2241,6 +2335,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -2401,7 +2508,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2498,6 +2605,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -2730,6 +2845,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -2890,7 +3018,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2987,6 +3115,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -3219,6 +3355,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -3379,7 +3528,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3519,6 +3668,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
</array>
</dict>
</plist>
+165 -8
View File
@@ -9,10 +9,12 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>65536</integer>
<key>description</key>
<string>64K</string>
<key>value</key>
<string>64K</string>
<key>default</key>
<true/>
</dict>
@@ -53,6 +55,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -285,6 +295,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -445,7 +468,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -542,6 +565,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -774,6 +805,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -934,7 +978,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1031,6 +1075,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -1263,6 +1315,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -1423,7 +1488,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1520,6 +1585,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -1752,6 +1825,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -1912,7 +1998,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<true/>
</dict>
@@ -2009,6 +2095,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -2241,6 +2335,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -2401,7 +2508,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2498,6 +2605,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -2730,6 +2845,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -2890,7 +3018,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2987,6 +3115,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -3219,6 +3355,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -3379,7 +3528,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3519,6 +3668,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
</array>
</dict>
</plist>
+165 -8
View File
@@ -9,10 +9,12 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>65536</integer>
<key>description</key>
<string>64K</string>
<key>value</key>
<string>64K</string>
<key>default</key>
<true/>
</dict>
@@ -53,6 +55,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -285,6 +295,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -445,7 +468,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -542,6 +565,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -774,6 +805,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -934,7 +978,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1031,6 +1075,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -1263,6 +1315,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -1423,7 +1488,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1520,6 +1585,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -1752,6 +1825,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -1912,7 +1998,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<true/>
</dict>
@@ -2009,6 +2095,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -2241,6 +2335,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -2401,7 +2508,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2498,6 +2605,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -2730,6 +2845,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -2890,7 +3018,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2987,6 +3115,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -3219,6 +3355,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -3379,7 +3528,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3519,6 +3668,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
</array>
</dict>
</plist>
+186 -15
View File
@@ -9,66 +9,82 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>1048576</integer>
<key>description</key>
<string>1M</string>
<key>value</key>
<string>1M</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>2097152</integer>
<key>description</key>
<string>2M</string>
<key>value</key>
<string>2M</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>3145728</integer>
<key>description</key>
<string>3M</string>
<key>value</key>
<string>3M</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>4194304</integer>
<key>description</key>
<string>4M</string>
<key>value</key>
<string>4M</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>5242880</integer>
<key>description</key>
<string>5M</string>
<key>value</key>
<string>5M</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>6291456</integer>
<key>description</key>
<string>6M</string>
<key>value</key>
<string>6M</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>7340032</integer>
<key>description</key>
<string>7M</string>
<key>value</key>
<string>7M</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>8388608</integer>
<key>description</key>
<string>8M</string>
<key>value</key>
<string>8M</string>
<key>default</key>
<false/>
</dict>
@@ -111,6 +127,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -283,6 +307,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -427,7 +464,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -516,6 +553,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -688,6 +733,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -832,7 +890,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -921,6 +979,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -1093,6 +1159,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -1237,7 +1316,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1326,6 +1405,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -1498,6 +1585,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -1642,7 +1742,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1731,6 +1831,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -1903,6 +2011,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -2047,7 +2168,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2136,6 +2257,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -2308,6 +2437,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -2452,7 +2594,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2541,6 +2683,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -2713,6 +2863,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -2857,7 +3020,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2954,6 +3117,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
</array>
<key>printer</key>
<array>
+198 -19
View File
@@ -9,98 +9,122 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>262144</integer>
<key>description</key>
<string>256K</string>
<key>value</key>
<string>256K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>524288</integer>
<key>description</key>
<string>512K</string>
<key>value</key>
<string>512K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>786432</integer>
<key>description</key>
<string>768K</string>
<key>value</key>
<string>768K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>1048576</integer>
<key>description</key>
<string>1M</string>
<key>value</key>
<string>1M</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>1310720</integer>
<key>description</key>
<string>1280K</string>
<key>value</key>
<string>1280K</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>2097152</integer>
<key>description</key>
<string>2M</string>
<key>value</key>
<string>2M</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>3145728</integer>
<key>description</key>
<string>3M</string>
<key>value</key>
<string>3M</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>4194304</integer>
<key>description</key>
<string>4M</string>
<key>value</key>
<string>4M</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>5242880</integer>
<key>description</key>
<string>5M</string>
<key>value</key>
<string>5M</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>6291456</integer>
<key>description</key>
<string>6M</string>
<key>value</key>
<string>6M</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>7340032</integer>
<key>description</key>
<string>7M</string>
<key>value</key>
<string>7M</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>8388608</integer>
<key>description</key>
<string>8M</string>
<key>value</key>
<string>8M</string>
<key>default</key>
<false/>
</dict>
@@ -143,6 +167,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -315,6 +347,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -459,7 +504,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -548,6 +593,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -720,6 +773,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -864,7 +930,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -953,6 +1019,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -1125,6 +1199,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -1269,7 +1356,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1358,6 +1445,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -1530,6 +1625,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -1674,7 +1782,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1763,6 +1871,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -1935,6 +2051,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -2079,7 +2208,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2168,6 +2297,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -2340,6 +2477,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -2484,7 +2634,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2573,6 +2723,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -2745,6 +2903,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -2889,7 +3060,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2986,6 +3157,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
</array>
<key>printer</key>
<array>
+198 -19
View File
@@ -9,98 +9,122 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>262144</integer>
<key>description</key>
<string>256K</string>
<key>value</key>
<string>256K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>524288</integer>
<key>description</key>
<string>512K</string>
<key>value</key>
<string>512K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>786432</integer>
<key>description</key>
<string>768K</string>
<key>value</key>
<string>768K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>1048576</integer>
<key>description</key>
<string>1M</string>
<key>value</key>
<string>1M</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>1310720</integer>
<key>description</key>
<string>1280K</string>
<key>value</key>
<string>1280K</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>2097152</integer>
<key>description</key>
<string>2M</string>
<key>value</key>
<string>2M</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>3145728</integer>
<key>description</key>
<string>3M</string>
<key>value</key>
<string>3M</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>4194304</integer>
<key>description</key>
<string>4M</string>
<key>value</key>
<string>4M</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>5242880</integer>
<key>description</key>
<string>5M</string>
<key>value</key>
<string>5M</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>6291456</integer>
<key>description</key>
<string>6M</string>
<key>value</key>
<string>6M</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>7340032</integer>
<key>description</key>
<string>7M</string>
<key>value</key>
<string>7M</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>8388608</integer>
<key>description</key>
<string>8M</string>
<key>value</key>
<string>8M</string>
<key>default</key>
<false/>
</dict>
@@ -143,6 +167,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -315,6 +347,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -459,7 +504,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -548,6 +593,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -720,6 +773,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -864,7 +930,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -953,6 +1019,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -1125,6 +1199,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -1269,7 +1356,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1358,6 +1445,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -1530,6 +1625,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -1674,7 +1782,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1763,6 +1871,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -1935,6 +2051,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -2079,7 +2208,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2168,6 +2297,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -2340,6 +2477,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -2484,7 +2634,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2573,6 +2723,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -2745,6 +2903,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -2889,7 +3060,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2986,6 +3157,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
</array>
<key>printer</key>
<array>
+24 -10
View File
@@ -9,26 +9,32 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>16384</integer>
<key>description</key>
<string>16K</string>
<key>value</key>
<string>16K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>32768</integer>
<key>description</key>
<string>32K</string>
<key>value</key>
<string>32K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>49152</integer>
<key>description</key>
<string>48K</string>
<key>value</key>
<string>48K</string>
<key>default</key>
<true/>
</dict>
@@ -448,7 +454,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -897,7 +903,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1346,7 +1352,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1795,7 +1801,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<true/>
</dict>
@@ -2244,7 +2250,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2693,7 +2699,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3142,7 +3148,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3247,6 +3253,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>joyport</string>
+24 -10
View File
@@ -9,26 +9,32 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>16384</integer>
<key>description</key>
<string>16K</string>
<key>value</key>
<string>16K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>32768</integer>
<key>description</key>
<string>32K</string>
<key>value</key>
<string>32K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>49152</integer>
<key>description</key>
<string>48K</string>
<key>value</key>
<string>48K</string>
<key>default</key>
<true/>
</dict>
@@ -448,7 +454,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -897,7 +903,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1346,7 +1352,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1795,7 +1801,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<true/>
</dict>
@@ -2244,7 +2250,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2693,7 +2699,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3142,7 +3148,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3247,6 +3253,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>joyport</string>
+63 -3
View File
@@ -9,32 +9,40 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>131072</integer>
<key>description</key>
<string>128K</string>
<key>value</key>
<string>128K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>262144</integer>
<key>description</key>
<string>256K</string>
<key>value</key>
<string>256K</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>524288</integer>
<key>description</key>
<string>512K</string>
<key>value</key>
<string>512K</string>
<key>default</key>
<false/>
</dict>
</array>
<key>media</key>
<dict>
<key>flop_5_25</key>
<integer>4</integer>
</dict>
<key>resolution</key>
<array>
@@ -72,6 +80,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>focusdrive</string>
@@ -130,6 +151,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>focusdrive</string>
@@ -188,6 +222,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>focusdrive</string>
@@ -246,6 +293,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>focusdrive</string>
+42 -16
View File
@@ -9,74 +9,92 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>4096</integer>
<key>description</key>
<string>4K</string>
<key>value</key>
<string>4K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>8192</integer>
<key>description</key>
<string>8K</string>
<key>value</key>
<string>8K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>12288</integer>
<key>description</key>
<string>12K</string>
<key>value</key>
<string>12K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>16384</integer>
<key>description</key>
<string>16K</string>
<key>value</key>
<string>16K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>20480</integer>
<key>description</key>
<string>20K</string>
<key>value</key>
<string>20K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>24576</integer>
<key>description</key>
<string>24K</string>
<key>value</key>
<string>24K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>32768</integer>
<key>description</key>
<string>32K</string>
<key>value</key>
<string>32K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>36864</integer>
<key>description</key>
<string>36K</string>
<key>value</key>
<string>36K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>49152</integer>
<key>description</key>
<string>48K</string>
<key>value</key>
<string>48K</string>
<key>default</key>
<true/>
</dict>
@@ -496,7 +514,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -945,7 +963,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1394,7 +1412,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1843,7 +1861,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<true/>
</dict>
@@ -2292,7 +2310,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2741,7 +2759,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3190,7 +3208,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3295,6 +3313,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>joyport</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
+24 -10
View File
@@ -9,26 +9,32 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>16384</integer>
<key>description</key>
<string>16K</string>
<key>value</key>
<string>16K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>32768</integer>
<key>description</key>
<string>32K</string>
<key>value</key>
<string>32K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>49152</integer>
<key>description</key>
<string>48K</string>
<key>value</key>
<string>48K</string>
<key>default</key>
<true/>
</dict>
@@ -448,7 +454,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -897,7 +903,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1346,7 +1352,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1795,7 +1801,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<true/>
</dict>
@@ -2244,7 +2250,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2693,7 +2699,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3142,7 +3148,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3247,6 +3253,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>joyport</string>
+24 -10
View File
@@ -9,26 +9,32 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>16384</integer>
<key>description</key>
<string>16K</string>
<key>value</key>
<string>16K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>32768</integer>
<key>description</key>
<string>32K</string>
<key>value</key>
<string>32K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>49152</integer>
<key>description</key>
<string>48K</string>
<key>value</key>
<string>48K</string>
<key>default</key>
<true/>
</dict>
@@ -448,7 +454,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -897,7 +903,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1346,7 +1352,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1795,7 +1801,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<true/>
</dict>
@@ -2244,7 +2250,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2693,7 +2699,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3142,7 +3148,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3247,6 +3253,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>joyport</string>
+24 -10
View File
@@ -9,26 +9,32 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>16384</integer>
<key>description</key>
<string>16K</string>
<key>value</key>
<string>16K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>32768</integer>
<key>description</key>
<string>32K</string>
<key>value</key>
<string>32K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>49152</integer>
<key>description</key>
<string>48K</string>
<key>value</key>
<string>48K</string>
<key>default</key>
<true/>
</dict>
@@ -448,7 +454,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -897,7 +903,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1346,7 +1352,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1795,7 +1801,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<true/>
</dict>
@@ -2244,7 +2250,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2693,7 +2699,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3142,7 +3148,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3247,6 +3253,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>joyport</string>
+24 -10
View File
@@ -9,26 +9,32 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>16384</integer>
<key>description</key>
<string>16K</string>
<key>value</key>
<string>16K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>32768</integer>
<key>description</key>
<string>32K</string>
<key>value</key>
<string>32K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>49152</integer>
<key>description</key>
<string>48K</string>
<key>value</key>
<string>48K</string>
<key>default</key>
<true/>
</dict>
@@ -448,7 +454,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -897,7 +903,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1346,7 +1352,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1795,7 +1801,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<true/>
</dict>
@@ -2244,7 +2250,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2693,7 +2699,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3142,7 +3148,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3247,6 +3253,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>joyport</string>
+24 -10
View File
@@ -9,26 +9,32 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>16384</integer>
<key>description</key>
<string>16K</string>
<key>value</key>
<string>16K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>32768</integer>
<key>description</key>
<string>32K</string>
<key>value</key>
<string>32K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>49152</integer>
<key>description</key>
<string>48K</string>
<key>value</key>
<string>48K</string>
<key>default</key>
<true/>
</dict>
@@ -448,7 +454,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -897,7 +903,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1346,7 +1352,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1795,7 +1801,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<true/>
</dict>
@@ -2244,7 +2250,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2693,7 +2699,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3142,7 +3148,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3247,6 +3253,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>joyport</string>
+23 -5
View File
@@ -9,42 +9,52 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>131072</integer>
<key>description</key>
<string>128K</string>
<key>value</key>
<string>128K</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>393216</integer>
<key>description</key>
<string>384K</string>
<key>value</key>
<string>384K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>655360</integer>
<key>description</key>
<string>640K</string>
<key>value</key>
<string>640K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>917504</integer>
<key>description</key>
<string>896K</string>
<key>value</key>
<string>896K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>1179648</integer>
<key>description</key>
<string>1152K</string>
<key>value</key>
<string>1152K</string>
<key>default</key>
<false/>
</dict>
@@ -93,6 +103,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
</array>
<key>printer</key>
<array>
+67 -7
View File
@@ -9,42 +9,52 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>131072</integer>
<key>description</key>
<string>128K</string>
<key>value</key>
<string>128K</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>393216</integer>
<key>description</key>
<string>384K</string>
<key>value</key>
<string>384K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>655360</integer>
<key>description</key>
<string>640K</string>
<key>value</key>
<string>640K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>917504</integer>
<key>description</key>
<string>896K</string>
<key>value</key>
<string>896K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>1179648</integer>
<key>description</key>
<string>1152K</string>
<key>value</key>
<string>1152K</string>
<key>default</key>
<false/>
</dict>
@@ -85,6 +95,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -317,6 +335,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -477,7 +508,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -574,6 +605,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -806,6 +845,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -966,7 +1018,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1071,6 +1123,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
</array>
<key>printer</key>
<array>
+67 -7
View File
@@ -9,42 +9,52 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>131072</integer>
<key>description</key>
<string>128K</string>
<key>value</key>
<string>128K</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>393216</integer>
<key>description</key>
<string>384K</string>
<key>value</key>
<string>384K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>655360</integer>
<key>description</key>
<string>640K</string>
<key>value</key>
<string>640K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>917504</integer>
<key>description</key>
<string>896K</string>
<key>value</key>
<string>896K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>1179648</integer>
<key>description</key>
<string>1152K</string>
<key>value</key>
<string>1152K</string>
<key>default</key>
<false/>
</dict>
@@ -85,6 +95,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -317,6 +335,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -477,7 +508,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -574,6 +605,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -806,6 +845,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -966,7 +1018,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1071,6 +1123,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
</array>
<key>printer</key>
<array>
+24 -10
View File
@@ -9,26 +9,32 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>16384</integer>
<key>description</key>
<string>16K</string>
<key>value</key>
<string>16K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>32768</integer>
<key>description</key>
<string>32K</string>
<key>value</key>
<string>32K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>49152</integer>
<key>description</key>
<string>48K</string>
<key>value</key>
<string>48K</string>
<key>default</key>
<true/>
</dict>
@@ -448,7 +454,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -897,7 +903,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1346,7 +1352,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1795,7 +1801,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<true/>
</dict>
@@ -2244,7 +2250,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2693,7 +2699,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3142,7 +3148,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3247,6 +3253,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>joyport</string>
+24 -10
View File
@@ -9,26 +9,32 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>16384</integer>
<key>description</key>
<string>16K</string>
<key>value</key>
<string>16K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>32768</integer>
<key>description</key>
<string>32K</string>
<key>value</key>
<string>32K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>49152</integer>
<key>description</key>
<string>48K</string>
<key>value</key>
<string>48K</string>
<key>default</key>
<true/>
</dict>
@@ -448,7 +454,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -897,7 +903,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1346,7 +1352,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1795,7 +1801,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<true/>
</dict>
@@ -2244,7 +2250,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2693,7 +2699,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3142,7 +3148,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3247,6 +3253,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>joyport</string>
+24 -10
View File
@@ -9,26 +9,32 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>16384</integer>
<key>description</key>
<string>16K</string>
<key>value</key>
<string>16K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>32768</integer>
<key>description</key>
<string>32K</string>
<key>value</key>
<string>32K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>49152</integer>
<key>description</key>
<string>48K</string>
<key>value</key>
<string>48K</string>
<key>default</key>
<true/>
</dict>
@@ -448,7 +454,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -897,7 +903,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1346,7 +1352,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1795,7 +1801,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<true/>
</dict>
@@ -2244,7 +2250,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2693,7 +2699,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3142,7 +3148,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3247,6 +3253,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>joyport</string>
+97 -45
View File
@@ -140,39 +140,6 @@
<key>value</key>
<string>apple3</string>
</dict>
<dict>
<key>description</key>
<string>Laser</string>
<key>value</key>
<string>laser128</string>
<key>children</key>
<array>
<dict>
<key>description</key>
<string>Laser 128 (version 4.2)</string>
<key>value</key>
<string>laser128</string>
</dict>
<dict>
<key>description</key>
<string>Laser //c</string>
<key>value</key>
<string>laser2c</string>
</dict>
<dict>
<key>description</key>
<string>Laser 128ex (version 4.5)</string>
<key>value</key>
<string>las128ex</string>
</dict>
<dict>
<key>description</key>
<string>Laser 128ex2 (version 6.1)</string>
<key>value</key>
<string>las128e2</string>
</dict>
</array>
</dict>
<dict>
<key>description</key>
<string>II Clones</string>
@@ -184,18 +151,6 @@
<key>value</key>
<string>ace100</string>
</dict>
<dict>
<key>description</key>
<string>Agat-7</string>
<key>value</key>
<string>agat7</string>
</dict>
<dict>
<key>description</key>
<string>Agat-9</string>
<key>value</key>
<string>agat9</string>
</dict>
<dict>
<key>description</key>
<string>Albert</string>
@@ -323,6 +278,103 @@
<key>value</key>
<string>spectred</string>
</dict>
<dict>
<key>description</key>
<string>Zi Jin I</string>
<key>value</key>
<string>zijini</string>
</dict>
</array>
</dict>
<dict>
<key>description</key>
<string>Laser</string>
<key>value</key>
<string>laser128</string>
<key>children</key>
<array>
<dict>
<key>description</key>
<string>Laser //c</string>
<key>value</key>
<string>laser2c</string>
</dict>
<dict>
<key>description</key>
<string>Laser 128 (version 4.2)</string>
<key>value</key>
<string>laser128</string>
</dict>
<dict>
<key>description</key>
<string>Laser 128ex (version 4.5)</string>
<key>value</key>
<string>las128ex</string>
</dict>
<dict>
<key>description</key>
<string>Laser 128ex2 (version 6.1)</string>
<key>value</key>
<string>las128e2</string>
</dict>
</array>
</dict>
<dict>
<key>description</key>
<string>Agat</string>
<key>value</key>
<string>agat7</string>
<key>children</key>
<array>
<dict>
<key>description</key>
<string>Agat-7</string>
<key>value</key>
<string>agat7</string>
</dict>
<dict>
<key>description</key>
<string>Agat-9</string>
<key>value</key>
<string>agat9</string>
</dict>
</array>
</dict>
<dict>
<key>description</key>
<string>China Education Computer</string>
<key>children</key>
<array>
<dict>
<key>description</key>
<string>China Education Computer 2000</string>
<key>value</key>
<string>cec2000</string>
</dict>
<dict>
<key>description</key>
<string>China Education Computer E</string>
<key>value</key>
<string>cece</string>
</dict>
<dict>
<key>description</key>
<string>China Education Computer G</string>
<key>value</key>
<string>cecg</string>
</dict>
<dict>
<key>description</key>
<string>China Education Computer I</string>
<key>value</key>
<string>ceci</string>
</dict>
<dict>
<key>description</key>
<string>China Education Computer M</string>
<key>value</key>
<string>cecm</string>
</dict>
</array>
</dict>
</array>
+165 -8
View File
@@ -9,10 +9,12 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>131072</integer>
<key>description</key>
<string>128K</string>
<key>value</key>
<string>128K</string>
<key>default</key>
<true/>
</dict>
@@ -53,6 +55,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -285,6 +295,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -445,7 +468,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -542,6 +565,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -774,6 +805,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -934,7 +978,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1031,6 +1075,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -1263,6 +1315,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -1423,7 +1488,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1520,6 +1585,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -1752,6 +1825,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -1912,7 +1998,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<true/>
</dict>
@@ -2009,6 +2095,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -2241,6 +2335,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -2401,7 +2508,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2498,6 +2605,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -2730,6 +2845,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -2890,7 +3018,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2987,6 +3115,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -3219,6 +3355,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -3379,7 +3528,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3519,6 +3668,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
</array>
</dict>
</plist>
+24 -10
View File
@@ -9,26 +9,32 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>16384</integer>
<key>description</key>
<string>16K</string>
<key>value</key>
<string>16K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>32768</integer>
<key>description</key>
<string>32K</string>
<key>value</key>
<string>32K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>49152</integer>
<key>description</key>
<string>48K</string>
<key>value</key>
<string>48K</string>
<key>default</key>
<true/>
</dict>
@@ -448,7 +454,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -897,7 +903,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1346,7 +1352,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1795,7 +1801,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<true/>
</dict>
@@ -2244,7 +2250,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2693,7 +2699,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3142,7 +3148,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3247,6 +3253,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>joyport</string>
+165 -8
View File
@@ -9,10 +9,12 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>65536</integer>
<key>description</key>
<string>64K</string>
<key>value</key>
<string>64K</string>
<key>default</key>
<true/>
</dict>
@@ -53,6 +55,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -285,6 +295,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -445,7 +468,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -542,6 +565,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -774,6 +805,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -934,7 +978,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1031,6 +1075,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -1263,6 +1315,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -1423,7 +1488,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1520,6 +1585,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -1752,6 +1825,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -1912,7 +1998,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<true/>
</dict>
@@ -2009,6 +2095,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -2241,6 +2335,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -2401,7 +2508,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2498,6 +2605,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -2730,6 +2845,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -2890,7 +3018,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2987,6 +3115,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -3219,6 +3355,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -3379,7 +3528,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3519,6 +3668,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
</array>
</dict>
</plist>
+24 -10
View File
@@ -9,26 +9,32 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>16384</integer>
<key>description</key>
<string>16K</string>
<key>value</key>
<string>16K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>32768</integer>
<key>description</key>
<string>32K</string>
<key>value</key>
<string>32K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>49152</integer>
<key>description</key>
<string>48K</string>
<key>value</key>
<string>48K</string>
<key>default</key>
<true/>
</dict>
@@ -448,7 +454,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -897,7 +903,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1346,7 +1352,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1795,7 +1801,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<true/>
</dict>
@@ -2244,7 +2250,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2693,7 +2699,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3142,7 +3148,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3247,6 +3253,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>joyport</string>
+68
View File
@@ -0,0 +1,68 @@
<?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>source</key>
<string>https://archive.org/download/mame0224_rom</string>
<key>type</key>
<string>7z</string>
<key>version</key>
<string>0.224</string>
<key>roms</key>
<array>
<string>a1cass</string>
<string>a2aevm80</string>
<string>a2ap16</string>
<string>a2ap16a</string>
<string>a2aplcrd</string>
<string>a2cffa02</string>
<string>a2cffa2</string>
<string>a2corvus</string>
<string>a2diskii</string>
<string>a2diskiing</string>
<string>a2focdrv</string>
<string>a2hsscsi</string>
<string>a2iwm</string>
<string>a2memexp</string>
<string>a2mouse</string>
<string>a2pic</string>
<string>a2ramfac</string>
<string>a2scsi</string>
<string>a2ssc</string>
<string>a2surance</string>
<string>a2swyft</string>
<string>a2thunpl</string>
<string>a2tmstho</string>
<string>a2twarp</string>
<string>a2ultrme</string>
<string>a2ulttrm</string>
<string>a2vidtrm</string>
<string>a2vtc1</string>
<string>a2vulcan</string>
<string>a2vulgld</string>
<string>a2vuliie</string>
<string>a2zipdrv</string>
<string>a3fdc</string>
<string>agat_fdc</string>
<string>apple1</string>
<string>apple2</string>
<string>apple2c</string>
<string>apple2e</string>
<string>apple2gs</string>
<string>apple3</string>
<string>cec2000</string>
<string>cece</string>
<string>cecg</string>
<string>ceci</string>
<string>cecm</string>
<string>cga</string>
<string>cmsscsi</string>
<string>d2fdc</string>
<string>diskii13</string>
<string>keytronic_pc3270</string>
<string>m68705p3</string>
<string>votrax</string>
<string>zijini</string>
</array>
</dict>
</plist>
+24 -10
View File
@@ -9,26 +9,32 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>16384</integer>
<key>description</key>
<string>16K</string>
<key>value</key>
<string>16K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>32768</integer>
<key>description</key>
<string>32K</string>
<key>value</key>
<string>32K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>49152</integer>
<key>description</key>
<string>48K</string>
<key>value</key>
<string>48K</string>
<key>default</key>
<true/>
</dict>
@@ -448,7 +454,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -897,7 +903,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1346,7 +1352,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1795,7 +1801,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<true/>
</dict>
@@ -2244,7 +2250,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2693,7 +2699,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3142,7 +3148,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3247,6 +3253,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>joyport</string>
+165 -8
View File
@@ -9,10 +9,12 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>65536</integer>
<key>description</key>
<string>64K</string>
<key>value</key>
<string>64K</string>
<key>default</key>
<true/>
</dict>
@@ -53,6 +55,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -285,6 +295,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -445,7 +468,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -542,6 +565,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -774,6 +805,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -934,7 +978,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1031,6 +1075,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -1263,6 +1315,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -1423,7 +1488,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1520,6 +1585,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -1752,6 +1825,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -1912,7 +1998,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<true/>
</dict>
@@ -2009,6 +2095,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -2241,6 +2335,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -2401,7 +2508,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2498,6 +2605,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -2730,6 +2845,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -2890,7 +3018,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2987,6 +3115,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>uthernet</string>
<key>description</key>
<string>a2RetroSystems Uthernet</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>alfam2</string>
@@ -3219,6 +3355,19 @@
<integer>2</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>cmsscsi</string>
<key>description</key>
<string>CMS SCSI II Card</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>hard</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>corvus</string>
@@ -3379,7 +3528,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3519,6 +3668,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
</array>
</dict>
</plist>
+24 -10
View File
@@ -9,26 +9,32 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>16384</integer>
<key>description</key>
<string>16K</string>
<key>value</key>
<string>16K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>32768</integer>
<key>description</key>
<string>32K</string>
<key>value</key>
<string>32K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>49152</integer>
<key>description</key>
<string>48K</string>
<key>value</key>
<string>48K</string>
<key>default</key>
<true/>
</dict>
@@ -448,7 +454,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -897,7 +903,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1346,7 +1352,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1795,7 +1801,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<true/>
</dict>
@@ -2244,7 +2250,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2693,7 +2699,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3142,7 +3148,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3247,6 +3253,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>joyport</string>
+24 -10
View File
@@ -9,26 +9,32 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>16384</integer>
<key>description</key>
<string>16K</string>
<key>value</key>
<string>16K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>32768</integer>
<key>description</key>
<string>32K</string>
<key>value</key>
<string>32K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>49152</integer>
<key>description</key>
<string>48K</string>
<key>value</key>
<string>48K</string>
<key>default</key>
<true/>
</dict>
@@ -448,7 +454,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -897,7 +903,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1346,7 +1352,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1795,7 +1801,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<true/>
</dict>
@@ -2244,7 +2250,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2693,7 +2699,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3142,7 +3148,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3247,6 +3253,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>joyport</string>
+24 -10
View File
@@ -9,26 +9,32 @@
<key>ram</key>
<array>
<dict>
<key>value</key>
<key>intValue</key>
<integer>16384</integer>
<key>description</key>
<string>16K</string>
<key>value</key>
<string>16K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>32768</integer>
<key>description</key>
<string>32K</string>
<key>value</key>
<string>32K</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<key>intValue</key>
<integer>49152</integer>
<key>description</key>
<string>48K</string>
<key>value</key>
<string>48K</string>
<key>default</key>
<true/>
</dict>
@@ -448,7 +454,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -897,7 +903,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1346,7 +1352,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -1795,7 +1801,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<true/>
</dict>
@@ -2244,7 +2250,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -2693,7 +2699,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3142,7 +3148,7 @@
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard</string>
<string>Sweet Micro Systems Mockingboard Sound/Speech I</string>
<key>default</key>
<false/>
</dict>
@@ -3247,6 +3253,14 @@
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>gizmo</string>
<key>description</key>
<string>HAL Labs Gizmo</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>joyport</string>
File diff suppressed because it is too large Load Diff
+4 -4
View File
@@ -175,10 +175,10 @@ static void DeactivateMenus(NSArray *items, NSPopUpButton *button) {
// if ram was explicitly set, try to keep it.
for (NSDictionary *d in items) {
unsigned size = [(NSNumber *)[d objectForKey: @"value"] unsignedIntValue];
unsigned size = [(NSNumber *)[d objectForKey: @"intValue"] unsignedIntValue];
if (size == _memoryBytes) {
[_ram_menu selectItemAtIndex: ix];
[self setMemory: [d objectForKey: @"description"]];
[self setMemory: [d objectForKey: @"value"]];
return;
}
++ix;
@@ -190,8 +190,8 @@ static void DeactivateMenus(NSArray *items, NSPopUpButton *button) {
NSDictionary *d = [items objectAtIndex: default_index];
[_ram_menu selectItemAtIndex: default_index];
[self setMemory: [d objectForKey: @"description"]];
[self setMemoryBytes: [(NSNumber *)[d objectForKey: @"value"] unsignedIntValue]];
[self setMemory: [d objectForKey: @"value"]];
[self setMemoryBytes: [(NSNumber *)[d objectForKey: @"intValue"] unsignedIntValue]];
} else {
[self setMemoryBytes: 0];
[self setMemory: @""];
+19
View File
@@ -0,0 +1,19 @@
//
// TransparentScroller.h
// Ample
//
// Created by Kelvin Sherlock on 9/4/2020.
// Copyright © 2020 Kelvin Sherlock. All rights reserved.
//
#import <Cocoa/Cocoa.h>
NS_ASSUME_NONNULL_BEGIN
@interface TransparentScroller : NSScroller
@property NSColor *backgroundColor;
@end
NS_ASSUME_NONNULL_END
+23
View File
@@ -0,0 +1,23 @@
//
// TransparentScroller.m
// Ample
//
// Created by Kelvin Sherlock on 9/4/2020.
// Copyright © 2020 Kelvin Sherlock. All rights reserved.
//
#import "TransparentScroller.h"
@implementation TransparentScroller
- (void)drawRect:(NSRect)dirtyRect {
//[super drawRect:dirtyRect];
NSColor *color = _backgroundColor;
if (color) {
[color setFill];
NSRectFill(dirtyRect);
}
[self drawKnob];
}
@end
Binary file not shown.

After

Width:  |  Height:  |  Size: 133 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 225 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 348 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 210 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 298 B

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