diff --git a/Ample.xcodeproj/project.pbxproj b/Ample.xcodeproj/project.pbxproj index 512bac8..cc6fefe 100644 --- a/Ample.xcodeproj/project.pbxproj +++ b/Ample.xcodeproj/project.pbxproj @@ -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 = ""; }; B65085B825B616AC00354EC9 /* maciici.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = maciici.plist; sourceTree = ""; }; 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 = ""; }; + B66116872A2535F50038A3E2 /* megast.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = megast.plist; sourceTree = ""; }; B66236A724FD9A34006CABD7 /* PreferencesWindowController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PreferencesWindowController.h; sourceTree = ""; }; B66236A824FD9A34006CABD7 /* PreferencesWindowController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PreferencesWindowController.m; sourceTree = ""; }; B66236B224FDA522006CABD7 /* SDL2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SDL2.framework; path = embedded/SDL2.framework; sourceTree = ""; }; @@ -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 */, diff --git a/Ample/Resources/megast.plist b/Ample/Resources/megast.plist new file mode 100644 index 0000000..132a050 --- /dev/null +++ b/Ample/Resources/megast.plist @@ -0,0 +1,727 @@ + + + + + value + megast + description + MEGA ST (USA) + media + + + resolution + + 844 + 516 + + slots + + + name + ramsize + description + RAM + options + + + intValue + 1048576 + description + 1M + value + 1M + default + + + + intValue + 2097152 + description + 2M + value + 2M + default + + + + intValue + 4194304 + description + 4M + value + 4M + default + + + + + + name + bios + description + ROM + options + + + value + + description + —Default— + default + + + + value + tos102 + description + TOS 1.02 (MEGA TOS) + + + value + tos104 + description + TOS 1.04 (Rainbow TOS) + + + + + name + smartport + description + Disk Drives + options + + + value + + description + + devname + smartport + default + + + + + + name + rs232 + description + Modem + options + + + value + + description + —None— + default + + + + value + ie15 + description + IE15 Terminal + devname + ie15_terminal + + + value + pty + description + Pseudo terminal + devname + pseudo_terminal + + + value + rs_printer + description + Radio Shack Serial Printer + devname + rs_serial_printer + + + value + patch + description + RS-232 Patch Box + devname + rs232_patch_box + + + value + loopback + description + RS232 Loopback + devname + rs232_loopback + + + value + dec_loopback + description + RS232 Loopback (DEC 12-15336-00) + devname + dec_rs232_loopback + + + value + null_modem + description + RS232 Null Modem + devname + null_modem + media + + bitbanger + 1 + + + + value + rs232_sync_io + description + RS232 Synchronous I/O + devname + rs232_sync_io + media + + bitbanger + 1 + + + + value + keyboard + description + Serial Keyboard + devname + serial_keyboard + + + value + printer + description + Serial Printer + devname + serial_printer + + + value + terminal + description + Serial Terminal + devname + serial_terminal + + + value + sunkbd + description + Sun Keyboard Adaptor + devname + sunkbd_adaptor + + + value + mockingboard + description + Sweet Micro Systems Mockingboard D + devname + mockingboardd + + + value + swtpc8212 + description + SWTPC8212 Terminal + devname + swtpc8212_terminal + + + + + name + centronics + description + Printer + options + + + value + + description + —None— + default + + + + value + printer + description + Centronics Printer + default + + devname + centronics_printer + + + value + pl80 + description + COMX PL-80 + devname + comx_pl80 + + + value + covox_stereo + description + Covox (Stereo-in-1) + devname + covox_stereo + + + value + covox + description + Covox Speech Thing + devname + covox + + + value + digiblst + description + Digiblaster (DIY) + devname + cpcdigiblst + + + value + ap2000 + description + Epson ActionPrinter 2000 + devname + ap2000 + + + value + ex800 + description + Epson EX-800 + devname + ex800 + + + value + lx800 + description + Epson LX-800 + devname + lx800 + + + value + lx810l + description + Epson LX-810L + devname + lx810l + + + value + p72 + description + NEC PinWriter P72 + devname + p72 + + + value + samdac + description + SAMDAC + devname + centronics_samdac + + + value + nlq401 + description + Schneider NLQ 401 Matrix Printer + devname + nlq401 + + + value + chessmec + description + Tasc ChessMachine EC Interface + devname + centronics_chessmec + + + value + smartboard + description + Tasc SmartBoard SB30 Interface + devname + centronics_smartboard + + + + + name + mdin + description + MIDI In + options + + + value + + description + —None— + default + + + + value + midiin + description + MIDI In port + default + + devname + midiin_port + media + + midiin + 1 + + + + + + name + mdout + description + MIDI Out + options + + + value + + description + —None— + default + + + + value + midiout + description + MIDI Out port + default + + devname + midiout_port + media + + midiout + 1 + + + + + + devices + + + name + smartport + slots + + + name + wd1772:0 + options + + + value + + description + —None— + default + + + + value + 35dd + description + 3.5" DD + default + + media + + floppy_3_5 + 1 + + + + + + name + wd1772:1 + options + + + value + + description + —None— + default + + + + value + 35dd + description + 3.5" DD + default + + media + + floppy_3_5 + 1 + + + + + + + + name + rs232_patch_box + slots + + + name + :dce + options + + + value + + description + —None— + default + + + + value + ie15 + description + IE15 Terminal + default + + + + value + pty + description + Pseudo terminal + default + + + + value + rs_printer + description + Radio Shack Serial Printer + default + + + + value + patch + description + RS-232 Patch Box + default + + + + value + loopback + description + RS232 Loopback + default + + + + value + dec_loopback + description + RS232 Loopback (DEC 12-15336-00) + default + + + + value + null_modem + description + RS232 Null Modem + default + + media + + bitbanger + 1 + + + + value + rs232_sync_io + description + RS232 Synchronous I/O + default + + media + + bitbanger + 1 + + + + value + keyboard + description + Serial Keyboard + default + + + + value + printer + description + Serial Printer + default + + + + value + terminal + description + Serial Terminal + default + + + + value + sunkbd + description + Sun Keyboard Adaptor + default + + + + value + mockingboard + description + Sweet Micro Systems Mockingboard D + default + + + + value + swtpc8212 + description + SWTPC8212 Terminal + default + + + + + + + + name + sunkbd_adaptor + slots + + + name + :keyboard + options + + + value + + description + —None— + default + + + + value + type3hle + description + Sun Type 3 Keyboard (HLE) + default + + + + value + type4hle + description + Sun Type 4 Keyboard (HLE) + default + + + + value + type5gbhle + description + Sun Type 5 Keyboard (Great Britain - HLE) + default + + + + value + type5jphle + description + Sun Type 5 Keyboard (Japan - HLE) + default + + + + value + type5sehle + description + Sun Type 5 Keyboard (Sweden - HLE) + default + + + + value + type5hle + description + Sun Type 5 Keyboard (U.S.A. - HLE) + default + + + + + + + + software + + st_flop.xml + st_cart.xml + + + diff --git a/Ample/Resources/models.plist b/Ample/Resources/models.plist index 842605b..5efd302 100644 --- a/Ample/Resources/models.plist +++ b/Ample/Resources/models.plist @@ -576,5 +576,26 @@ + + description + Atari ST + value + st + children + + + description + ST (USA) + value + st + + + description + MEGA ST (USA) + value + megast + + + diff --git a/Ample/Resources/roms.plist b/Ample/Resources/roms.plist index f02cb32..612580b 100644 --- a/Ample/Resources/roms.plist +++ b/Ample/Resources/roms.plist @@ -404,6 +404,12 @@ description Asante MC3NB Ethernet card + + value + st_kbd + description + Atari ST Keyboard/Mouse/Joystick + value basis108 @@ -692,6 +698,12 @@ description M&R Enterprises SUP'R'TERMINAL + + value + megast + description + MEGA ST (USA) + value mac128k @@ -1016,6 +1028,12 @@ description RasterOps Colorboard 264/SE30 + + value + st + description + ST (USA) + value swtpc8212_device @@ -1150,9 +1168,9 @@ value - votrax + votrsc01a description - Votrax SC-01 + Votrax SC-01-A value diff --git a/Ample/Resources/st.plist b/Ample/Resources/st.plist new file mode 100644 index 0000000..4f5dda0 --- /dev/null +++ b/Ample/Resources/st.plist @@ -0,0 +1,739 @@ + + + + + value + st + description + ST (USA) + media + + + resolution + + 844 + 516 + + slots + + + name + ramsize + description + RAM + options + + + intValue + 262144 + description + 256K + value + 256K + default + + + + intValue + 524288 + description + 512K + value + 512K + default + + + + intValue + 1048576 + description + 1M + value + 1M + default + + + + + + name + bios + description + ROM + options + + + value + + description + —Default— + default + + + + value + tos099 + description + TOS 0.99 (Disk TOS) + + + value + tos100 + description + TOS 1.0 (ROM TOS) + + + value + tos102 + description + TOS 1.02 (MEGA TOS) + + + value + tos104 + description + TOS 1.04 (Rainbow TOS) + + + + + name + smartport + description + Disk Drives + options + + + value + + description + + devname + smartport + default + + + + + + name + rs232 + description + Modem + options + + + value + + description + —None— + default + + + + value + ie15 + description + IE15 Terminal + devname + ie15_terminal + + + value + pty + description + Pseudo terminal + devname + pseudo_terminal + + + value + rs_printer + description + Radio Shack Serial Printer + devname + rs_serial_printer + + + value + patch + description + RS-232 Patch Box + devname + rs232_patch_box + + + value + loopback + description + RS232 Loopback + devname + rs232_loopback + + + value + dec_loopback + description + RS232 Loopback (DEC 12-15336-00) + devname + dec_rs232_loopback + + + value + null_modem + description + RS232 Null Modem + devname + null_modem + media + + bitbanger + 1 + + + + value + rs232_sync_io + description + RS232 Synchronous I/O + devname + rs232_sync_io + media + + bitbanger + 1 + + + + value + keyboard + description + Serial Keyboard + devname + serial_keyboard + + + value + printer + description + Serial Printer + devname + serial_printer + + + value + terminal + description + Serial Terminal + devname + serial_terminal + + + value + sunkbd + description + Sun Keyboard Adaptor + devname + sunkbd_adaptor + + + value + mockingboard + description + Sweet Micro Systems Mockingboard D + devname + mockingboardd + + + value + swtpc8212 + description + SWTPC8212 Terminal + devname + swtpc8212_terminal + + + + + name + centronics + description + Printer + options + + + value + + description + —None— + default + + + + value + printer + description + Centronics Printer + default + + devname + centronics_printer + + + value + pl80 + description + COMX PL-80 + devname + comx_pl80 + + + value + covox_stereo + description + Covox (Stereo-in-1) + devname + covox_stereo + + + value + covox + description + Covox Speech Thing + devname + covox + + + value + digiblst + description + Digiblaster (DIY) + devname + cpcdigiblst + + + value + ap2000 + description + Epson ActionPrinter 2000 + devname + ap2000 + + + value + ex800 + description + Epson EX-800 + devname + ex800 + + + value + lx800 + description + Epson LX-800 + devname + lx800 + + + value + lx810l + description + Epson LX-810L + devname + lx810l + + + value + p72 + description + NEC PinWriter P72 + devname + p72 + + + value + samdac + description + SAMDAC + devname + centronics_samdac + + + value + nlq401 + description + Schneider NLQ 401 Matrix Printer + devname + nlq401 + + + value + chessmec + description + Tasc ChessMachine EC Interface + devname + centronics_chessmec + + + value + smartboard + description + Tasc SmartBoard SB30 Interface + devname + centronics_smartboard + + + + + name + mdin + description + MIDI In + options + + + value + + description + —None— + default + + + + value + midiin + description + MIDI In port + default + + devname + midiin_port + media + + midiin + 1 + + + + + + name + mdout + description + MIDI Out + options + + + value + + description + —None— + default + + + + value + midiout + description + MIDI Out port + default + + devname + midiout_port + media + + midiout + 1 + + + + + + devices + + + name + smartport + slots + + + name + wd1772:0 + options + + + value + + description + —None— + default + + + + value + 35dd + description + 3.5" DD + default + + media + + floppy_3_5 + 1 + + + + + + name + wd1772:1 + options + + + value + + description + —None— + default + + + + value + 35dd + description + 3.5" DD + default + + media + + floppy_3_5 + 1 + + + + + + + + name + rs232_patch_box + slots + + + name + :dce + options + + + value + + description + —None— + default + + + + value + ie15 + description + IE15 Terminal + default + + + + value + pty + description + Pseudo terminal + default + + + + value + rs_printer + description + Radio Shack Serial Printer + default + + + + value + patch + description + RS-232 Patch Box + default + + + + value + loopback + description + RS232 Loopback + default + + + + value + dec_loopback + description + RS232 Loopback (DEC 12-15336-00) + default + + + + value + null_modem + description + RS232 Null Modem + default + + media + + bitbanger + 1 + + + + value + rs232_sync_io + description + RS232 Synchronous I/O + default + + media + + bitbanger + 1 + + + + value + keyboard + description + Serial Keyboard + default + + + + value + printer + description + Serial Printer + default + + + + value + terminal + description + Serial Terminal + default + + + + value + sunkbd + description + Sun Keyboard Adaptor + default + + + + value + mockingboard + description + Sweet Micro Systems Mockingboard D + default + + + + value + swtpc8212 + description + SWTPC8212 Terminal + default + + + + + + + + name + sunkbd_adaptor + slots + + + name + :keyboard + options + + + value + + description + —None— + default + + + + value + type3hle + description + Sun Type 3 Keyboard (HLE) + default + + + + value + type4hle + description + Sun Type 4 Keyboard (HLE) + default + + + + value + type5gbhle + description + Sun Type 5 Keyboard (Great Britain - HLE) + default + + + + value + type5jphle + description + Sun Type 5 Keyboard (Japan - HLE) + default + + + + value + type5sehle + description + Sun Type 5 Keyboard (Sweden - HLE) + default + + + + value + type5hle + description + Sun Type 5 Keyboard (U.S.A. - HLE) + default + + + + + + + + software + + st_flop.xml + st_cart.xml + + + diff --git a/Ample/Slot.h b/Ample/Slot.h index 6302136..740f9c0 100644 --- a/Ample/Slot.h +++ b/Ample/Slot.h @@ -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])) diff --git a/Ample/Slot.m b/Ample/Slot.m index 1cbf71e..62c5fa9 100644 --- a/Ample/Slot.m +++ b/Ample/Slot.m @@ -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 {