Compare commits

...
8 Commits
42 changed files with 2352 additions and 58 deletions

No files matched your search

+16 -4
View File
@@ -145,6 +145,10 @@
B65085BE25B616AC00354EC9 /* maciici.plist in Resources */ = {isa = PBXBuildFile; fileRef = B65085B825B616AC00354EC9 /* maciici.plist */; };
B65D718625E70BD5008C5F87 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B65D718525E70BD5008C5F87 /* WebKit.framework */; };
B65D718725E70BE5008C5F87 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B65D718525E70BD5008C5F87 /* WebKit.framework */; };
B66116852A2535EF0038A3E2 /* st.plist in Resources */ = {isa = PBXBuildFile; fileRef = B66116842A2535EF0038A3E2 /* st.plist */; };
B66116862A2535EF0038A3E2 /* st.plist in Resources */ = {isa = PBXBuildFile; fileRef = B66116842A2535EF0038A3E2 /* st.plist */; };
B66116882A2535F60038A3E2 /* megast.plist in Resources */ = {isa = PBXBuildFile; fileRef = B66116872A2535F50038A3E2 /* megast.plist */; };
B66116892A2535F60038A3E2 /* megast.plist in Resources */ = {isa = PBXBuildFile; fileRef = B66116872A2535F50038A3E2 /* megast.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, ); }; };
B66236C124FDB7A6006CABD7 /* Credits.rtf in Resources */ = {isa = PBXBuildFile; fileRef = B66236BF24FDB7A6006CABD7 /* Credits.rtf */; };
@@ -470,6 +474,8 @@
B65085B725B616AC00354EC9 /* maclc3.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = maclc3.plist; sourceTree = "<group>"; };
B65085B825B616AC00354EC9 /* maciici.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = maciici.plist; sourceTree = "<group>"; };
B65D718525E70BD5008C5F87 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
B66116842A2535EF0038A3E2 /* st.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = st.plist; sourceTree = "<group>"; };
B66116872A2535F50038A3E2 /* megast.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = megast.plist; 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>"; };
@@ -607,6 +613,8 @@
B64E15AF24EA365E00E8AD3D /* Resources */ = {
isa = PBXGroup;
children = (
B66116842A2535EF0038A3E2 /* st.plist */,
B66116872A2535F50038A3E2 /* megast.plist */,
B6109A0824F5F373005CB652 /* ace100.plist */,
B63E57E12755AF1F00F8B5D1 /* ace500.plist */,
B646D10A263A5DF20014C586 /* ace1000.plist */,
@@ -1089,6 +1097,7 @@
B6109A3B24F5F377005CB652 /* apple2gsr1.plist in Resources */,
B65085BD25B616AC00354EC9 /* maciici.plist in Resources */,
B6301BE429107BE800495022 /* maclc520.plist in Resources */,
B66116882A2535F60038A3E2 /* megast.plist in Resources */,
B6374AE3260ECDDD0045CA16 /* maciihmu.plist in Resources */,
B6374ADF260ECB400045CA16 /* macse30.plist in Resources */,
B63C1F1225B147E10016A611 /* CheatSheet.html in Resources */,
@@ -1098,6 +1107,7 @@
B6109A1B24F5F377005CB652 /* uniap2pt.plist in Resources */,
B6109A3724F5F377005CB652 /* las128e2.plist in Resources */,
B6374AE5260ECDDD0045CA16 /* mac2fdhd.plist in Resources */,
B66116852A2535EF0038A3E2 /* st.plist in Resources */,
B63C1B90250088DD00511A71 /* roms.plist in Resources */,
B6109A2724F5F377005CB652 /* uniap2en.plist in Resources */,
B6109A2A24F5F377005CB652 /* apple3.plist in Resources */,
@@ -1148,10 +1158,12 @@
B6374AD6260ECB400045CA16 /* maciisi.plist in Resources */,
B6DE32472605482500418375 /* macclasc.plist in Resources */,
B6E4B5C324FDE2670094A35C /* am64.plist in Resources */,
B66116892A2535F60038A3E2 /* megast.plist in Resources */,
B6E4B5C424FDE2670094A35C /* LogWindow.xib in Resources */,
B6E4B5C524FDE2670094A35C /* Assets.xcassets in Resources */,
B6374AD4260ECB400045CA16 /* macii.plist in Resources */,
B6E4B5C624FDE2670094A35C /* apple2e.plist in Resources */,
B66116862A2535EF0038A3E2 /* st.plist in Resources */,
B64AF1EF250EC35B00A09B9B /* DiskImages.xib in Resources */,
B63C1BA2250192D800511A71 /* cecg.plist in Resources */,
B6E4B5C724FDE2670094A35C /* am100.plist in Resources */,
@@ -1624,7 +1636,7 @@
CODE_SIGN_ENTITLEMENTS = Ample/Ample.entitlements;
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 44;
CURRENT_PROJECT_VERSION = 46;
ENABLE_HARDENED_RUNTIME = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
@@ -1636,7 +1648,7 @@
"@executable_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 10.13;
MARKETING_VERSION = "0.254-u2";
MARKETING_VERSION = "0.256-u2";
PRODUCT_BUNDLE_IDENTIFIER = com.ksherlock.ample;
PRODUCT_NAME = "$(TARGET_NAME)";
};
@@ -1649,7 +1661,7 @@
CODE_SIGN_ENTITLEMENTS = Ample/Ample.entitlements;
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 44;
CURRENT_PROJECT_VERSION = 46;
ENABLE_HARDENED_RUNTIME = YES;
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
@@ -1661,7 +1673,7 @@
"@executable_path/../Frameworks",
);
MACOSX_DEPLOYMENT_TARGET = 10.13;
MARKETING_VERSION = "0.254-u2";
MARKETING_VERSION = "0.256-u2";
PRODUCT_BUNDLE_IDENTIFIER = com.ksherlock.ample;
PRODUCT_NAME = "$(TARGET_NAME)";
};
+1 -1
View File
@@ -3,7 +3,7 @@
<plist version="1.0">
<dict>
<key>MameComponentsDate</key>
<date>2023-04-27T12:00:00Z</date>
<date>2023-06-28T12:00:00Z</date>
<key>UseCustomMame</key>
<false/>
<key>AutoCloseLogWindow</key>
+8 -1
View File
@@ -46,7 +46,14 @@
//[self loadRecentDiskImages];
_extensions = [NSSet setWithObjects:
@"2img", @"2mg", @"chd", @"dc", @"do", @"dsk", @"hd", @"hdv", @"image", @"nib", @"po", @"wav", @"woz", @"iso", @"raw", nil
@"2img", @"2mg", @"chd", @"dc", @"do", @"dsk", @"hd", @"hdv", @"image", @"nib", @"po", @"wav", @"woz", @"iso", @"raw",
// st, etc.
@"mfm", @"st", @"msa", @"stx", @"ipf",
//
@"rom", @"bin",
// not supported/relevant.
// @"mfi", @"dfi", @"hfe", @"d77" @"d88", @"1dd", @"cqm", @"cqi", @"td0", @"imd",
nil
];
}
return self;
+2
View File
@@ -21,6 +21,7 @@ typedef struct Media {
unsigned midiin;
unsigned midiout;
unsigned picture;
unsigned rom;
uint64_t floppy_mask;
} Media;
@@ -35,6 +36,7 @@ typedef enum {
MediaType_Cassette,
MediaType_Picture,
MediaType_MIDI,
MediaType_ROM,
} MediaType;
struct Media MediaFromDictionary(NSDictionary *);
+61 -1
View File
@@ -26,6 +26,7 @@ struct Media MediaFromDictionary(NSDictionary *dict) {
_(midiin);
_(midiout);
_(picture);
_(rom);
return m;
#undef _
@@ -52,6 +53,7 @@ void MediaAdd(Media *dest, const Media *src) {
_(midiin);
_(midiout);
_(picture);
_(rom);
#undef _
@@ -81,6 +83,7 @@ BOOL MediaEqual(const Media *lhs, const Media *rhs) {
_(midiin);
_(midiout);
_(picture);
_(rom);
_(floppy_mask);
@@ -151,7 +154,8 @@ static BOOL is_raw_35(size_t disk_size) {
if (disk_size & 511) return NO;
size_t blocks = disk_size >> 9;
return blocks == 800 || blocks == 1600 || blocks == 1440 || blocks == 2880;
// atari st has 360 (single sided) and 720 (double-sided) disks..
return blocks == 800 || blocks == 1600 || blocks == 1440 || blocks == 2880 || blocks == 720 || blocks == 360;
}
static MediaType is_woz(const uint8_t *buffer, size_t file_size) {
@@ -216,7 +220,29 @@ static MediaType is_chd(const uint8_t *buffer, size_t file_size) {
return MediaTypeError;
}
static MediaType is_ipf(const uint8_t *buffer, size_t file_size) {
// http://justsolve.archiveteam.org/wiki/IPF
if (!memcmp(buffer, "CAPS\x00\x00\x00", 7)) return MediaType_3_5;
return MediaTypeUnknown;
}
static MediaType is_hxcf(const uint8_t *buffer, size_t file_size) {
// HxCFloppyEmulator
if (!memcmp(buffer, "HXCMFM", 6)) return MediaType_3_5;
return MediaTypeUnknown;
}
static MediaType is_msa(const uint8_t *buffer, size_t file_size) {
// Atari MSA
if (!memcmp(buffer, "\x0x\x0f", 2)) return MediaType_3_5;
return MediaTypeUnknown;
}
static MediaType is_pasti(const uint8_t *buffer, size_t file_size) {
// Atari STX/Pasti
if (!memcmp(buffer, "RSY\x00\x03\x00", 6)) return MediaType_3_5;
return MediaTypeUnknown;
}
MediaType ClassifyMediaFile(id file) {
@@ -298,6 +324,40 @@ MediaType ClassifyMediaFile(id file) {
case _x3('m', 'i', 'd'):
return MediaType_MIDI;
// atari st, etc, 3.5 disk?
// http://justsolve.archiveteam.org/wiki/Disk_Image_Formats
case _x3('i', 'p', 'f'):
return is_ipf(buffer, st.st_size);
case _x3('m', 'f', 'm'):
return is_hxcf(buffer, st.st_size);
case _x3('m', 's', 'a'):
return is_msa(buffer, st.st_size);
case _x2('s', 't'):
if (is_raw_35(st.st_size)) return MediaType_3_5;
return MediaTypeUnknown;
case _x3('s', 't', 'x'): // pasti
return is_pasti(buffer, st.st_size);
//case _x3('m', 'f', 'i'): // mame/mess floppy image [???]
//case _x3('d', 'f', 'i'): // disc ferret image
//case _x3('h', 'f', 'e'): // ???
//case _x3('t', 'd', '0'): // teledisk - may be split across multiple files (.td1, .td2, ...)
//case _x3('i', 'm', 'd'): // imagedisk
//case _x3('d', '7', '7'): //pc-88, may have multiple disk images
//case _x3('d', '8', '8'): //fm-77, may have multiple disk images.
//case _x3('1', 'd', 'd'): // related?
//case _x3('c', 'q', 'm'): // copyQM
//case _x3('c', 'q', 'i'): // copyQM
case _x3('r', 'o', 'm'):
case _x3('b', 'i', 'n'):
return MediaType_ROM;
}
return MediaTypeUnknown;
+6 -11
View File
@@ -332,6 +332,7 @@
_data[kIndexMidiIn] = [MediaCategory categoryWithTitle: @"MIDI (In)"];
_data[kIndexMidiOut] = [MediaCategory categoryWithTitle: @"MIDI (Out)"];
_data[kIndexPicture] = [MediaCategory categoryWithTitle: @"Picture"];
_data[kIndexROM] = [MediaCategory categoryWithTitle: @"ROM"];
for (unsigned i = 0; i < CATEGORY_COUNT; ++i) {
[_data[i] setCategory: i];
@@ -339,7 +340,6 @@
}
_root = [NSMutableArray new];
}
@@ -347,7 +347,7 @@
-(void)rebuildArgs {
static char* prefix[] = {
"flop", "flop", "hard", "cdrm", "cass", "disk", "bitb", "min", "mout", "pic"
"flop", "flop", "hard", "cdrm", "cass", "disk", "bitb", "min", "mout", "pic", "rom",
};
static_assert(SIZEOF(prefix) == CATEGORY_COUNT, "Missing item");
NSMutableArray *args = [NSMutableArray new];
@@ -441,17 +441,10 @@ x = media.name; cat = _data[index]; delta |= [cat setItemCount: x]
_(floppy_5_25, kIndexFloppy525);
_(pseudo_disk, kIndexDiskImage);
_(bitbanger, kIndexBitBanger);
// disable midi for now - it's either a midi file (which auto-plays too soon to be useful)
// or a midi device ("default" for first one).
// So we should build a device list (and pre-populate the default one)
// another approach is a separate utility to act as a midi/serial input converter
// and midi file / serial converter so the modem/serial port could be used.
#if 1
_(midiin, kIndexMidiIn);
_(midiout, kIndexMidiOut);
#endif
_(picture, kIndexPicture);
_(rom, kIndexROM);
if (delta) {
[self rebuildRoot];
@@ -782,6 +775,7 @@ static NSString *kDragType = @"private.ample.media";
case kIndexMidiIn:
case kIndexMidiOut:
case kIndexBitBanger:
case kIndexROM:
default: break;
}
@@ -836,6 +830,7 @@ static NSString *kDragType = @"private.ample.media";
case MediaType_CDROM: ix = kIndexCDROM; break;
case MediaType_Picture: ix = kIndexPicture; break;
case MediaType_ROM: ix = kIndexROM; break;
case MediaType_MIDI: // ix = kIndexMidiIn; break;
case MediaTypeError:
case MediaTypeUnknown:
@@ -873,7 +868,7 @@ static NSString *kDragType = @"private.ample.media";
}
static NSString * BookmarkStrings[] = {
@"flop_525", @"flop_35", @"hard", @"cdrm", @"cass", @"disk", @"bitb", @"midiin", @"midiout", @"pic"
@"flop_525", @"flop_35", @"hard", @"cdrm", @"cass", @"disk", @"bitb", @"midiin", @"midiout", @"pic", @"rom",
};
static_assert(SIZEOF(BookmarkStrings) == CATEGORY_COUNT, "Missing item");
+29
View File
@@ -142,6 +142,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>
+29
View File
@@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>
+29
View File
@@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>
+29
View File
@@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>
+29
View File
@@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>
+29
View File
@@ -171,6 +171,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>
+29
View File
@@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>
+29
View File
@@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>
+1 -1
View File
@@ -495,7 +495,7 @@
<key>name</key>
<string>rs232</string>
<key>description</key>
<string>RS232</string>
<string>Modem</string>
<key>options</key>
<array>
<dict>
+29
View File
@@ -142,6 +142,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>
+29
View File
@@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>
+29
View File
@@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>
+29
View File
@@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>
+29
View File
@@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>
+29
View File
@@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>
+2
View File
@@ -8,6 +8,8 @@
<string>Laser 3000</string>
<key>media</key>
<dict>
<key>cass</key>
<integer>1</integer>
</dict>
<key>resolution</key>
<array>
+29
View File
@@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>
+29
View File
@@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>
+727
View File
@@ -0,0 +1,727 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>value</key>
<string>megast</string>
<key>description</key>
<string>MEGA ST (USA)</string>
<key>media</key>
<dict>
</dict>
<key>resolution</key>
<array>
<integer>844</integer>
<integer>516</integer>
</array>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>ramsize</string>
<key>description</key>
<string>RAM</string>
<key>options</key>
<array>
<dict>
<key>intValue</key>
<integer>1048576</integer>
<key>description</key>
<string>1M</string>
<key>value</key>
<string>1M</string>
<key>default</key>
<false/>
</dict>
<dict>
<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>intValue</key>
<integer>4194304</integer>
<key>description</key>
<string>4M</string>
<key>value</key>
<string>4M</string>
<key>default</key>
<true/>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>bios</string>
<key>description</key>
<string>ROM</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—Default—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>tos102</string>
<key>description</key>
<string>TOS 1.02 (MEGA TOS)</string>
</dict>
<dict>
<key>value</key>
<string>tos104</string>
<key>description</key>
<string>TOS 1.04 (Rainbow TOS)</string>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>smartport</string>
<key>description</key>
<string>Disk Drives</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string></string>
<key>devname</key>
<string>smartport</string>
<key>default</key>
<true/>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>rs232</string>
<key>description</key>
<string>Modem</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>ie15</string>
<key>description</key>
<string>IE15 Terminal</string>
<key>devname</key>
<string>ie15_terminal</string>
</dict>
<dict>
<key>value</key>
<string>pty</string>
<key>description</key>
<string>Pseudo terminal</string>
<key>devname</key>
<string>pseudo_terminal</string>
</dict>
<dict>
<key>value</key>
<string>rs_printer</string>
<key>description</key>
<string>Radio Shack Serial Printer</string>
<key>devname</key>
<string>rs_serial_printer</string>
</dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>devname</key>
<string>rs232_patch_box</string>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS232 Loopback</string>
<key>devname</key>
<string>rs232_loopback</string>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string>
<key>devname</key>
<string>dec_rs232_loopback</string>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS232 Null Modem</string>
<key>devname</key>
<string>null_modem</string>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS232 Synchronous I/O</string>
<key>devname</key>
<string>rs232_sync_io</string>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>keyboard</string>
<key>description</key>
<string>Serial Keyboard</string>
<key>devname</key>
<string>serial_keyboard</string>
</dict>
<dict>
<key>value</key>
<string>printer</string>
<key>description</key>
<string>Serial Printer</string>
<key>devname</key>
<string>serial_printer</string>
</dict>
<dict>
<key>value</key>
<string>terminal</string>
<key>description</key>
<string>Serial Terminal</string>
<key>devname</key>
<string>serial_terminal</string>
</dict>
<dict>
<key>value</key>
<string>sunkbd</string>
<key>description</key>
<string>Sun Keyboard Adaptor</string>
<key>devname</key>
<string>sunkbd_adaptor</string>
</dict>
<dict>
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard D</string>
<key>devname</key>
<string>mockingboardd</string>
</dict>
<dict>
<key>value</key>
<string>swtpc8212</string>
<key>description</key>
<string>SWTPC8212 Terminal</string>
<key>devname</key>
<string>swtpc8212_terminal</string>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>centronics</string>
<key>description</key>
<string>Printer</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>printer</string>
<key>description</key>
<string>Centronics Printer</string>
<key>default</key>
<true/>
<key>devname</key>
<string>centronics_printer</string>
</dict>
<dict>
<key>value</key>
<string>pl80</string>
<key>description</key>
<string>COMX PL-80</string>
<key>devname</key>
<string>comx_pl80</string>
</dict>
<dict>
<key>value</key>
<string>covox_stereo</string>
<key>description</key>
<string>Covox (Stereo-in-1)</string>
<key>devname</key>
<string>covox_stereo</string>
</dict>
<dict>
<key>value</key>
<string>covox</string>
<key>description</key>
<string>Covox Speech Thing</string>
<key>devname</key>
<string>covox</string>
</dict>
<dict>
<key>value</key>
<string>digiblst</string>
<key>description</key>
<string>Digiblaster (DIY)</string>
<key>devname</key>
<string>cpcdigiblst</string>
</dict>
<dict>
<key>value</key>
<string>ap2000</string>
<key>description</key>
<string>Epson ActionPrinter 2000</string>
<key>devname</key>
<string>ap2000</string>
</dict>
<dict>
<key>value</key>
<string>ex800</string>
<key>description</key>
<string>Epson EX-800</string>
<key>devname</key>
<string>ex800</string>
</dict>
<dict>
<key>value</key>
<string>lx800</string>
<key>description</key>
<string>Epson LX-800</string>
<key>devname</key>
<string>lx800</string>
</dict>
<dict>
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Epson LX-810L</string>
<key>devname</key>
<string>lx810l</string>
</dict>
<dict>
<key>value</key>
<string>p72</string>
<key>description</key>
<string>NEC PinWriter P72</string>
<key>devname</key>
<string>p72</string>
</dict>
<dict>
<key>value</key>
<string>samdac</string>
<key>description</key>
<string>SAMDAC</string>
<key>devname</key>
<string>centronics_samdac</string>
</dict>
<dict>
<key>value</key>
<string>nlq401</string>
<key>description</key>
<string>Schneider NLQ 401 Matrix Printer</string>
<key>devname</key>
<string>nlq401</string>
</dict>
<dict>
<key>value</key>
<string>chessmec</string>
<key>description</key>
<string>Tasc ChessMachine EC Interface</string>
<key>devname</key>
<string>centronics_chessmec</string>
</dict>
<dict>
<key>value</key>
<string>smartboard</string>
<key>description</key>
<string>Tasc SmartBoard SB30 Interface</string>
<key>devname</key>
<string>centronics_smartboard</string>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>mdin</string>
<key>description</key>
<string>MIDI In</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>midiin</string>
<key>description</key>
<string>MIDI In port</string>
<key>default</key>
<true/>
<key>devname</key>
<string>midiin_port</string>
<key>media</key>
<dict>
<key>midiin</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>mdout</string>
<key>description</key>
<string>MIDI Out</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>midiout</string>
<key>description</key>
<string>MIDI Out port</string>
<key>default</key>
<true/>
<key>devname</key>
<string>midiout_port</string>
<key>media</key>
<dict>
<key>midiout</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
</array>
<key>devices</key>
<array>
<dict>
<key>name</key>
<string>smartport</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>wd1772:0</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>35dd</string>
<key>description</key>
<string>3.5" DD</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>wd1772:1</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>35dd</string>
<key>description</key>
<string>3.5" DD</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>rs232_patch_box</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:dce</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>ie15</string>
<key>description</key>
<string>IE15 Terminal</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>pty</string>
<key>description</key>
<string>Pseudo terminal</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>rs_printer</string>
<key>description</key>
<string>Radio Shack Serial Printer</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS232 Loopback</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS232 Null Modem</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS232 Synchronous I/O</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>keyboard</string>
<key>description</key>
<string>Serial Keyboard</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>printer</string>
<key>description</key>
<string>Serial Printer</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>terminal</string>
<key>description</key>
<string>Serial Terminal</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>sunkbd</string>
<key>description</key>
<string>Sun Keyboard Adaptor</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard D</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>swtpc8212</string>
<key>description</key>
<string>SWTPC8212 Terminal</string>
<key>default</key>
<false/>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>sunkbd_adaptor</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:keyboard</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>type3hle</string>
<key>description</key>
<string>Sun Type 3 Keyboard (HLE)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>type4hle</string>
<key>description</key>
<string>Sun Type 4 Keyboard (HLE)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>type5gbhle</string>
<key>description</key>
<string>Sun Type 5 Keyboard (Great Britain - HLE)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>type5jphle</string>
<key>description</key>
<string>Sun Type 5 Keyboard (Japan - HLE)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>type5sehle</string>
<key>description</key>
<string>Sun Type 5 Keyboard (Sweden - HLE)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>type5hle</string>
<key>description</key>
<string>Sun Type 5 Keyboard (U.S.A. - HLE)</string>
<key>default</key>
<false/>
</dict>
</array>
</dict>
</array>
</dict>
</array>
<key>software</key>
<array>
<string>st_flop.xml</string>
<string>st_cart.xml</string>
</array>
</dict>
</plist>
+29
View File
@@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>
+21
View File
@@ -576,5 +576,26 @@
</dict>
</array>
</dict>
<dict>
<key>description</key>
<string>Atari ST</string>
<key>value</key>
<string>st</string>
<key>children</key>
<array>
<dict>
<key>description</key>
<string>ST (USA)</string>
<key>value</key>
<string>st</string>
</dict>
<dict>
<key>description</key>
<string>MEGA ST (USA)</string>
<key>value</key>
<string>megast</string>
</dict>
</array>
</dict>
</array>
</plist>
+29
View File
@@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>
+29
View File
@@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>
+32 -2
View File
@@ -236,6 +236,18 @@
<key>description</key>
<string>Apple II Parallel Printer Interface Card</string>
</dict>
<dict>
<key>value</key>
<string>a2romfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
</dict>
<dict>
<key>value</key>
<string>a2romint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC))</string>
</dict>
<dict>
<key>value</key>
<string>a2scsi</string>
@@ -404,6 +416,24 @@
<key>description</key>
<string>Asante MC3NB Ethernet card</string>
</dict>
<dict>
<key>value</key>
<string>megast</string>
<key>description</key>
<string>Atari MEGA ST (USA)</string>
</dict>
<dict>
<key>value</key>
<string>st</string>
<key>description</key>
<string>Atari ST (USA)</string>
</dict>
<dict>
<key>value</key>
<string>st_kbd</string>
<key>description</key>
<string>Atari ST Keyboard/Mouse/Joystick</string>
</dict>
<dict>
<key>value</key>
<string>basis108</string>
@@ -1150,9 +1180,9 @@
</dict>
<dict>
<key>value</key>
<string>votrax</string>
<string>votrsc01a</string>
<key>description</key>
<string>Votrax SC-01</string>
<string>Votrax SC-01-A</string>
</dict>
<dict>
<key>value</key>
+29
View File
@@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>
+739
View File
@@ -0,0 +1,739 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>value</key>
<string>st</string>
<key>description</key>
<string>ST (USA)</string>
<key>media</key>
<dict>
</dict>
<key>resolution</key>
<array>
<integer>844</integer>
<integer>516</integer>
</array>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>ramsize</string>
<key>description</key>
<string>RAM</string>
<key>options</key>
<array>
<dict>
<key>intValue</key>
<integer>262144</integer>
<key>description</key>
<string>256K</string>
<key>value</key>
<string>256K</string>
<key>default</key>
<false/>
</dict>
<dict>
<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>intValue</key>
<integer>1048576</integer>
<key>description</key>
<string>1M</string>
<key>value</key>
<string>1M</string>
<key>default</key>
<true/>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>bios</string>
<key>description</key>
<string>ROM</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—Default—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>tos099</string>
<key>description</key>
<string>TOS 0.99 (Disk TOS)</string>
</dict>
<dict>
<key>value</key>
<string>tos100</string>
<key>description</key>
<string>TOS 1.0 (ROM TOS)</string>
</dict>
<dict>
<key>value</key>
<string>tos102</string>
<key>description</key>
<string>TOS 1.02 (MEGA TOS)</string>
</dict>
<dict>
<key>value</key>
<string>tos104</string>
<key>description</key>
<string>TOS 1.04 (Rainbow TOS)</string>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>smartport</string>
<key>description</key>
<string>Disk Drives</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string></string>
<key>devname</key>
<string>smartport</string>
<key>default</key>
<true/>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>rs232</string>
<key>description</key>
<string>Modem</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>ie15</string>
<key>description</key>
<string>IE15 Terminal</string>
<key>devname</key>
<string>ie15_terminal</string>
</dict>
<dict>
<key>value</key>
<string>pty</string>
<key>description</key>
<string>Pseudo terminal</string>
<key>devname</key>
<string>pseudo_terminal</string>
</dict>
<dict>
<key>value</key>
<string>rs_printer</string>
<key>description</key>
<string>Radio Shack Serial Printer</string>
<key>devname</key>
<string>rs_serial_printer</string>
</dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>devname</key>
<string>rs232_patch_box</string>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS232 Loopback</string>
<key>devname</key>
<string>rs232_loopback</string>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string>
<key>devname</key>
<string>dec_rs232_loopback</string>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS232 Null Modem</string>
<key>devname</key>
<string>null_modem</string>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS232 Synchronous I/O</string>
<key>devname</key>
<string>rs232_sync_io</string>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>keyboard</string>
<key>description</key>
<string>Serial Keyboard</string>
<key>devname</key>
<string>serial_keyboard</string>
</dict>
<dict>
<key>value</key>
<string>printer</string>
<key>description</key>
<string>Serial Printer</string>
<key>devname</key>
<string>serial_printer</string>
</dict>
<dict>
<key>value</key>
<string>terminal</string>
<key>description</key>
<string>Serial Terminal</string>
<key>devname</key>
<string>serial_terminal</string>
</dict>
<dict>
<key>value</key>
<string>sunkbd</string>
<key>description</key>
<string>Sun Keyboard Adaptor</string>
<key>devname</key>
<string>sunkbd_adaptor</string>
</dict>
<dict>
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard D</string>
<key>devname</key>
<string>mockingboardd</string>
</dict>
<dict>
<key>value</key>
<string>swtpc8212</string>
<key>description</key>
<string>SWTPC8212 Terminal</string>
<key>devname</key>
<string>swtpc8212_terminal</string>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>centronics</string>
<key>description</key>
<string>Printer</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>printer</string>
<key>description</key>
<string>Centronics Printer</string>
<key>default</key>
<true/>
<key>devname</key>
<string>centronics_printer</string>
</dict>
<dict>
<key>value</key>
<string>pl80</string>
<key>description</key>
<string>COMX PL-80</string>
<key>devname</key>
<string>comx_pl80</string>
</dict>
<dict>
<key>value</key>
<string>covox_stereo</string>
<key>description</key>
<string>Covox (Stereo-in-1)</string>
<key>devname</key>
<string>covox_stereo</string>
</dict>
<dict>
<key>value</key>
<string>covox</string>
<key>description</key>
<string>Covox Speech Thing</string>
<key>devname</key>
<string>covox</string>
</dict>
<dict>
<key>value</key>
<string>digiblst</string>
<key>description</key>
<string>Digiblaster (DIY)</string>
<key>devname</key>
<string>cpcdigiblst</string>
</dict>
<dict>
<key>value</key>
<string>ap2000</string>
<key>description</key>
<string>Epson ActionPrinter 2000</string>
<key>devname</key>
<string>ap2000</string>
</dict>
<dict>
<key>value</key>
<string>ex800</string>
<key>description</key>
<string>Epson EX-800</string>
<key>devname</key>
<string>ex800</string>
</dict>
<dict>
<key>value</key>
<string>lx800</string>
<key>description</key>
<string>Epson LX-800</string>
<key>devname</key>
<string>lx800</string>
</dict>
<dict>
<key>value</key>
<string>lx810l</string>
<key>description</key>
<string>Epson LX-810L</string>
<key>devname</key>
<string>lx810l</string>
</dict>
<dict>
<key>value</key>
<string>p72</string>
<key>description</key>
<string>NEC PinWriter P72</string>
<key>devname</key>
<string>p72</string>
</dict>
<dict>
<key>value</key>
<string>samdac</string>
<key>description</key>
<string>SAMDAC</string>
<key>devname</key>
<string>centronics_samdac</string>
</dict>
<dict>
<key>value</key>
<string>nlq401</string>
<key>description</key>
<string>Schneider NLQ 401 Matrix Printer</string>
<key>devname</key>
<string>nlq401</string>
</dict>
<dict>
<key>value</key>
<string>chessmec</string>
<key>description</key>
<string>Tasc ChessMachine EC Interface</string>
<key>devname</key>
<string>centronics_chessmec</string>
</dict>
<dict>
<key>value</key>
<string>smartboard</string>
<key>description</key>
<string>Tasc SmartBoard SB30 Interface</string>
<key>devname</key>
<string>centronics_smartboard</string>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>mdin</string>
<key>description</key>
<string>MIDI In</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>midiin</string>
<key>description</key>
<string>MIDI In port</string>
<key>default</key>
<true/>
<key>devname</key>
<string>midiin_port</string>
<key>media</key>
<dict>
<key>midiin</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>mdout</string>
<key>description</key>
<string>MIDI Out</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>midiout</string>
<key>description</key>
<string>MIDI Out port</string>
<key>default</key>
<true/>
<key>devname</key>
<string>midiout_port</string>
<key>media</key>
<dict>
<key>midiout</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
</array>
<key>devices</key>
<array>
<dict>
<key>name</key>
<string>smartport</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>wd1772:0</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>35dd</string>
<key>description</key>
<string>3.5" DD</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>wd1772:1</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>35dd</string>
<key>description</key>
<string>3.5" DD</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>rs232_patch_box</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:dce</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>ie15</string>
<key>description</key>
<string>IE15 Terminal</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>pty</string>
<key>description</key>
<string>Pseudo terminal</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>rs_printer</string>
<key>description</key>
<string>Radio Shack Serial Printer</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>patch</string>
<key>description</key>
<string>RS-232 Patch Box</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>loopback</string>
<key>description</key>
<string>RS232 Loopback</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>dec_loopback</string>
<key>description</key>
<string>RS232 Loopback (DEC 12-15336-00)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>null_modem</string>
<key>description</key>
<string>RS232 Null Modem</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>rs232_sync_io</string>
<key>description</key>
<string>RS232 Synchronous I/O</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>bitbanger</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>keyboard</string>
<key>description</key>
<string>Serial Keyboard</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>printer</string>
<key>description</key>
<string>Serial Printer</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>terminal</string>
<key>description</key>
<string>Serial Terminal</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>sunkbd</string>
<key>description</key>
<string>Sun Keyboard Adaptor</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>mockingboard</string>
<key>description</key>
<string>Sweet Micro Systems Mockingboard D</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>swtpc8212</string>
<key>description</key>
<string>SWTPC8212 Terminal</string>
<key>default</key>
<false/>
</dict>
</array>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>sunkbd_adaptor</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:keyboard</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>type3hle</string>
<key>description</key>
<string>Sun Type 3 Keyboard (HLE)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>type4hle</string>
<key>description</key>
<string>Sun Type 4 Keyboard (HLE)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>type5gbhle</string>
<key>description</key>
<string>Sun Type 5 Keyboard (Great Britain - HLE)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>type5jphle</string>
<key>description</key>
<string>Sun Type 5 Keyboard (Japan - HLE)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>type5sehle</string>
<key>description</key>
<string>Sun Type 5 Keyboard (Sweden - HLE)</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>type5hle</string>
<key>description</key>
<string>Sun Type 5 Keyboard (U.S.A. - HLE)</string>
<key>default</key>
<false/>
</dict>
</array>
</dict>
</array>
</dict>
</array>
<key>software</key>
<array>
<string>st_flop.xml</string>
<string>st_cart.xml</string>
</array>
</dict>
</plist>
+29
View File
@@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>
+29
View File
@@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>
+29
View File
@@ -82,6 +82,35 @@
<key>devname</key>
<string>a2ram16k</string>
</dict>
<dict>
<key>value</key>
<string>romcardfp</string>
<key>description</key>
<string>Apple II ROM Card (Applesoft BASIC)</string>
<key>devname</key>
<string>a2romfp</string>
</dict>
<dict>
<key>value</key>
<string>romcard</string>
<key>description</key>
<string>Apple II ROM Card (Custom)</string>
<key>devname</key>
<string>a2romusr</string>
<key>media</key>
<dict>
<key>rom</key>
<integer>1</integer>
</dict>
</dict>
<dict>
<key>value</key>
<string>romcardint</string>
<key>description</key>
<string>Apple II ROM Card (Integer BASIC)</string>
<key>devname</key>
<string>a2romint</string>
</dict>
<dict>
<key>value</key>
<string>ssram</string>
+3 -3
View File
@@ -11,11 +11,11 @@
#import "Media.h"
/* number of slot types. bitmask used so should be < sizeof(unsigned *8) */
#define SLOT_COUNT 23
#define SLOT_COUNT 26
static_assert(SLOT_COUNT <= sizeof(unsigned) * 8, "too many slot types");
#define kSMARTPORT_SLOT 21
#define kBIOS_SLOT 22
#define kSMARTPORT_SLOT 1
#define kBIOS_SLOT 2
#ifndef SIZEOF
#define SIZEOF(x) (sizeof(x) / sizeof(x[0]))
+30 -24
View File
@@ -77,34 +77,39 @@ static NSDictionary *IndexMap = nil;
IndexMap = @{
@"ramsize": @0,
@"sl0": @1,
@"sl1": @2,
@"sl2": @3,
@"sl3": @4,
@"sl4": @5,
@"sl5": @6,
@"sl6": @7,
@"sl7": @8,
@"exp": @9,
@"aux": @10,
@"rs232": @11,
@"gameio": @12,
@"modem": @13,
@"printer": @14,
@"smartport": @1,
@"bios": @2,
@"sl0": @3,
@"sl1": @4,
@"sl2": @5,
@"sl3": @6,
@"sl4": @7,
@"sl5": @8,
@"sl6": @9,
@"sl7": @10,
@"exp": @11,
@"aux": @12,
@"rs232": @13,
@"gameio": @14,
@"modem": @15,
@"printer": @16,
//nubus mac
@"nb9": @15,
@"nba": @16,
@"nbb": @17,
@"nbc": @18,
@"nbd": @19,
@"nbe": @20,
@"nb9": @17,
@"nba": @18,
@"nbb": @19,
@"nbc": @20,
@"nbd": @21,
@"nbe": @22,
@"smartport": @21,
@"bios": @22,
@"centronics": @23,
@"mdin": @24,
@"mdout": @25
};
static_assert(kSMARTPORT_SLOT == 21, "Smartport != 21");
static_assert(kBIOS_SLOT == 22, "Bios != 22");
static_assert(kSMARTPORT_SLOT == 1, "Smartport != 1");
static_assert(kBIOS_SLOT == 2, "Bios != 2");
}
-(void)reset {
@@ -526,6 +531,7 @@ https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/KeyVa
_(midiin);
_(midiout);
_(picture);
_(rom);
#undef _
for (Slot *s in _children) {
+2 -1
View File
@@ -22,11 +22,12 @@ enum {
kIndexMidiIn,
kIndexMidiOut,
kIndexPicture, // computer eyes -pic, .png only.
kIndexROM,
// kIndexPrintout // -prin, .prn extension only?
kIndexLast
};
#define CATEGORY_COUNT 10
#define CATEGORY_COUNT 11
static_assert(kIndexLast == CATEGORY_COUNT, "Invalid Category Count");
+11 -1
View File
@@ -38,6 +38,9 @@ MACHINES = (
# 128k clones
# "unitron", "utrn1024",
#atari
"st", "megast"
)
@@ -54,6 +57,9 @@ SLOTS = (
# mac nubus
"nb1", "nb2", "nb3", "nb4", "nb5", "nb6", "nb7",
"nb8", "nb9", "nba", "nbb", "nbc", "nbd", "nbe",
# st
"centronics", "mdin", "mdout"
)
SLOT_NAMES = {
@@ -69,7 +75,7 @@ SLOT_NAMES = {
"sl7": "Slot 7",
"exp": "Expansion",
"aux": "Auxiliary",
"rs232": "RS232",
"rs232": "Modem",
"gameio": "Game I/O",
"modem": "Modem",
"printer": "Printer",
@@ -80,4 +86,8 @@ SLOT_NAMES = {
"nbc": "Slot C",
"nbd": "Slot D",
"nbe": "Slot E",
"centronics": "Printer",
"mdin": "MIDI In",
"mdout": "MIDI Out",
}
+17 -6
View File
@@ -210,6 +210,8 @@ def find_media(parent, include_slots=False):
"bitbanger": "bitbanger", # null_modem, etc.
"picture_image": "picture", # a2ceyes
# "printer_image": "printout",
"midiin": "midiin",
"midiout": "midiout",
}
remap_slot = {
# now handled at the slot level.
@@ -252,7 +254,12 @@ def find_media(parent, include_slots=False):
# n.b. - floppies are 5.25" 360k or 180k. not bootable, not usable from prodos
# without special prodos file or loading driver into pc transporter ram.
if parent.get("name") == "pcxport":
media.get["floppy_5_25"] = media.get("floppy_5_25", 0) + 2
media["floppy_5_25"] = media.get("floppy_5_25", 0) + 2
# special case for a2romusr
if parent.get("name") == "a2romusr":
media["rom"] = media.get("rom", 0) + 1
if not media: return None
return media
@@ -278,6 +285,7 @@ DEVICE_REMAP = {
'35hd': '3.5" HD',
'35dd': '3.5" DD',
'35sd': '3.5" SD',
'a2romusr': 'ROM',
}
DEVICE_MEDIA = {
'cdrom': 'cdrom',
@@ -292,6 +300,7 @@ DEVICE_MEDIA = {
'aplcdsc': 'cdrom',
# 'null_modem': 'bitbanger',
# 'rs232_sync_io': 'bitbanger',
'a2romusr': 'rom',
}
DEVICE_EXCLUDE = set([
@@ -310,6 +319,7 @@ DEVICE_EXCLUDE = set([
'smoc501',
'cfp1080s',
'cf', # ATA compact flash
'cp2024', # Conner Peripherals CP-2024 hard disk
])
def make_device_options(slot):
@@ -320,6 +330,7 @@ def make_device_options(slot):
for option in slot.findall("./slotoption"):
name = option.get("name")
devname = option.get("devname")
if name in DEVICE_EXCLUDE: continue
device = None
@@ -384,7 +395,6 @@ def make_devices():
for name in names:
m = submachines[name]
# print(" {}".format(name))
slots = make_device_slots(m)
if slots:
devices.append({
@@ -445,8 +455,6 @@ def make_bios(m):
}
def make_smartport(machine):
@@ -457,12 +465,14 @@ def make_smartport(machine):
# maclc <slot name="scsi:1" .. "scsi:7" (but 4-7 not configurable)
# maciix <slot name="scsi:6">
# macse <slot name="scsibus:6">
# atari st, etc: <slot name="wd1772:[0-1]">
slots = []
SLOTS = [
*['fdc:' + str(x) for x in range(0,4)],
*['scsi:' + str(x) for x in range(0,7)],
*['scsibus:' + str(x) for x in range(0,7)],
*['wd1772:' + str(x) for x in range(0,4)],
"sl6:0", "sl6:1", "0", "1", "2", "3"
]
@@ -485,9 +495,10 @@ def make_smartport(machine):
"slots": slots
}
def fix_machine_description(x):
def fix_machine_description(x, devname):
#
x = x.replace(", www.dreher.net","")
x = x.replace("))", ")") # Apple II ROM Card (Integer BASIC))
return x
def make_slot(m, slotname, nodes):
@@ -502,7 +513,7 @@ def make_slot(m, slotname, nodes):
default = x.get("default") == "yes"
disabled = name in DISABLED or (m, name) in DISABLED
d = { "value": name, "description": fix_machine_description(desc) } # "devname": devname or ''}
d = { "value": name, "description": fix_machine_description(desc, devname) } # "devname": devname or ''}
if default: d["default"] = True
if disabled: d["disabled"] = True
if not disabled:
+3
View File
@@ -33,6 +33,8 @@ mac_nubus_children = [
mac_128k_children = ["mac128k", "mac512k", "mac512ke", "macplus",
"macse", "macsefd", "macse30", "macclasc", "macclas2", "maccclas"]
atari_st_children = ["st", "megast"]
tree = [
("Apple I", "apple1", apple1_children),
("Apple ][", "apple2", apple2_children),
@@ -48,6 +50,7 @@ tree = [
("China Education Computer", None, cec_children),
("Macintosh (Compact)", "macse30", mac_128k_children),
("Macintosh (NuBus)", "maciix", mac_nubus_children),
("Atari ST", "st", atari_st_children)
]
env = {'DYLD_FALLBACK_FRAMEWORK_PATH': '../embedded'}
+3 -2
View File
@@ -110,9 +110,10 @@ EXCLUDE = set([
])
def fix_machine_description(x):
def fix_machine_description(x, devname):
# CFFA 2.0 Compact Flash (65C02 firmware, www.dreher.net)
x = x.replace(", www.dreher.net","")
if devname in ("st", "megast"): x = "Atari " + x
return x
def build_known_roms_list():
@@ -190,7 +191,7 @@ for m in machines:
# if full: ROMS = list(mnames)
# else: ROMS = list(mnames.difference(EXCLUDE))
ROMS = [{ 'value': k, 'description': fix_machine_description(v)} for k, v in mnames.items()];
ROMS = [{ 'value': k, 'description': fix_machine_description(v, k)} for k, v in mnames.items()];
ROMS.sort(key=lambda x: x.get('description'))
# data = []