Compare commits

...

5 Commits

Author SHA1 Message Date
Kelvin Sherlock c2323ac998 rom manager - double-click to download. 2024-03-18 16:47:29 -04:00
Kelvin Sherlock 45fe32893f download controller - delete existing file (if it exists) when re-downloading an existing rom. 2024-03-18 16:39:42 -04:00
Kelvin Sherlock 308b15277c add 4x window option, aspect ratio for oric square pixels. 2024-03-18 15:25:34 -04:00
Kelvin Sherlock bdd9df44ed add 3" floppy disk (pretend it's 3.5" for now). 2024-03-18 15:24:59 -04:00
Kelvin Sherlock c58ff589dd Add oric. 2024-03-18 13:17:53 -04:00
26 changed files with 2231 additions and 19 deletions

View File

@ -518,6 +518,14 @@
B6F7B539266FDA5B00624C6B /* MachineView.xib in Resources */ = {isa = PBXBuildFile; fileRef = B6F7B536266FDA5B00624C6B /* MachineView.xib */; };
B6F7B53C267017A200624C6B /* NewMachineViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B6F7B53B267017A200624C6B /* NewMachineViewController.m */; };
B6F7B53D267017A200624C6B /* NewMachineViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = B6F7B53B267017A200624C6B /* NewMachineViewController.m */; };
B6FECDD02BA8AA080025B402 /* prav8d.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6FECDCC2BA8AA080025B402 /* prav8d.plist */; };
B6FECDD12BA8AA080025B402 /* prav8d.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6FECDCC2BA8AA080025B402 /* prav8d.plist */; };
B6FECDD22BA8AA080025B402 /* telstrat.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6FECDCD2BA8AA080025B402 /* telstrat.plist */; };
B6FECDD32BA8AA080025B402 /* telstrat.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6FECDCD2BA8AA080025B402 /* telstrat.plist */; };
B6FECDD42BA8AA080025B402 /* orica.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6FECDCE2BA8AA080025B402 /* orica.plist */; };
B6FECDD52BA8AA080025B402 /* orica.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6FECDCE2BA8AA080025B402 /* orica.plist */; };
B6FECDD62BA8AA080025B402 /* oric1.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6FECDCF2BA8AA080025B402 /* oric1.plist */; };
B6FECDD72BA8AA080025B402 /* oric1.plist in Resources */ = {isa = PBXBuildFile; fileRef = B6FECDCF2BA8AA080025B402 /* oric1.plist */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
@ -932,6 +940,10 @@
B6F7B53A267017A200624C6B /* NewMachineViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NewMachineViewController.h; sourceTree = "<group>"; };
B6F7B53B267017A200624C6B /* NewMachineViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NewMachineViewController.m; sourceTree = "<group>"; };
B6FECAFA28C0093600E143DA /* las3000.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = las3000.plist; sourceTree = "<group>"; };
B6FECDCC2BA8AA080025B402 /* prav8d.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = prav8d.plist; sourceTree = "<group>"; };
B6FECDCD2BA8AA080025B402 /* telstrat.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = telstrat.plist; sourceTree = "<group>"; };
B6FECDCE2BA8AA080025B402 /* orica.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = orica.plist; sourceTree = "<group>"; };
B6FECDCF2BA8AA080025B402 /* oric1.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = oric1.plist; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@ -1130,6 +1142,10 @@
B6896E082B016CE000251FA4 /* vt102.plist */,
B6896DEA2B016CD800251FA4 /* vt240.plist */,
B6896DCD2B016CD100251FA4 /* zijini.plist */,
B6FECDCF2BA8AA080025B402 /* oric1.plist */,
B6FECDCE2BA8AA080025B402 /* orica.plist */,
B6FECDCC2BA8AA080025B402 /* prav8d.plist */,
B6FECDCD2BA8AA080025B402 /* telstrat.plist */,
B6EEFAAD2B9ABCAD0068B47C /* coco.plist */,
B6EEFAAC2B9ABCAD0068B47C /* coco2b.plist */,
B6EEFAA92B9ABCAD0068B47C /* coco3.plist */,
@ -1568,6 +1584,7 @@
B67878C82B01732700CFACF2 /* tk3000.plist in Resources */,
B678787E2B01732700CFACF2 /* ds3100.plist in Resources */,
B67878BA2B01732700CFACF2 /* pi4d35.plist in Resources */,
B6FECDD42BA8AA080025B402 /* orica.plist in Resources */,
B67878C42B01732700CFACF2 /* rtpc020.plist in Resources */,
B6DDECD62505A86E0093587A /* eject-16x16.png in Resources */,
B678788C2B01732700CFACF2 /* indigo2_4415.plist in Resources */,
@ -1668,6 +1685,7 @@
B67878C02B01732700CFACF2 /* rs2030.plist in Resources */,
B67878C22B01732700CFACF2 /* rtpc010.plist in Resources */,
B67878BE2B01732700CFACF2 /* roms.plist in Resources */,
B6FECDD02BA8AA080025B402 /* prav8d.plist in Resources */,
B678786D2B01732700CFACF2 /* am100.plist in Resources */,
B6EEFAC02B9ABCAE0068B47C /* coco.plist in Resources */,
B67878E02B01732700CFACF2 /* craft2p.plist in Resources */,
@ -1747,6 +1765,7 @@
B67878A82B01732700CFACF2 /* maclc575.plist in Resources */,
B67878FF2B01732700CFACF2 /* uniap2ti.plist in Resources */,
B67878CF2B01732700CFACF2 /* zijini.plist in Resources */,
B6FECDD22BA8AA080025B402 /* telstrat.plist in Resources */,
B67878A92B01732700CFACF2 /* macplus.plist in Resources */,
B6EEFABC2B9ABCAE0068B47C /* trs80l2.plist in Resources */,
B67878912B01732700CFACF2 /* ip2400.plist in Resources */,
@ -1761,6 +1780,7 @@
B6D6DE3B24FACF4F00661A5F /* Defaults.plist in Resources */,
B67878F92B01732700CFACF2 /* models.plist in Resources */,
B67878952B01732700CFACF2 /* ip6000.plist in Resources */,
B6FECDD62BA8AA080025B402 /* oric1.plist in Resources */,
B67878A62B01732700CFACF2 /* maclc3p.plist in Resources */,
B67878A22B01732700CFACF2 /* maciihmu.plist in Resources */,
);
@ -1849,6 +1869,7 @@
B67878192B01732600CFACF2 /* models~extra.plist in Resources */,
B67877D72B01732600CFACF2 /* apple2.plist in Resources */,
B67878072B01732600CFACF2 /* maccclas.plist in Resources */,
B6FECDD12BA8AA080025B402 /* prav8d.plist in Resources */,
B678783F2B01732600CFACF2 /* apple2e.plist in Resources */,
B67877DD2B01732600CFACF2 /* apple2gsr1.plist in Resources */,
B678781E2B01732600CFACF2 /* pdp11ub.plist in Resources */,
@ -1894,6 +1915,7 @@
B67879162B0195DB00CFACF2 /* sun3_50.plist in Resources */,
B67878322B01732600CFACF2 /* uniap2pt.plist in Resources */,
B6DE323926044C1100418375 /* caution.png in Resources */,
B6FECDD72BA8AA080025B402 /* oric1.plist in Resources */,
B678783A2B01732600CFACF2 /* ace2200.plist in Resources */,
B6DE323726044C1100418375 /* caution@2x.png in Resources */,
B67877F42B01732600CFACF2 /* indigo.plist in Resources */,
@ -1904,6 +1926,7 @@
B6EEFAC52B9ABCAE0068B47C /* dragon32.plist in Resources */,
B67878212B01732600CFACF2 /* pi4d25.plist in Resources */,
B67878582B01732600CFACF2 /* maclc3.plist in Resources */,
B6FECDD32BA8AA080025B402 /* telstrat.plist in Resources */,
B67878202B01732600CFACF2 /* pi4d20.plist in Resources */,
B67878112B01732600CFACF2 /* maclc575.plist in Resources */,
B6EEFABB2B9ABCAE0068B47C /* trs80.plist in Resources */,
@ -1950,6 +1973,7 @@
B67877DF2B01732600CFACF2 /* basis108.plist in Resources */,
B67878132B01732600CFACF2 /* macqd610.plist in Resources */,
B67878542B01732600CFACF2 /* maciicx.plist in Resources */,
B6FECDD52BA8AA080025B402 /* orica.plist in Resources */,
B636F5D12B1168C00063F9D8 /* electron.plist in Resources */,
B63C1B9725008A2700511A71 /* DownloadWindow.xib in Resources */,
B6E4B5D324FDE2670094A35C /* MainMenu.xib in Resources */,

View File

@ -117,6 +117,7 @@
</tableColumn>
</tableColumns>
<connections>
<action trigger="doubleAction" selector="doubleClick:" target="-2" id="y2y-h7-cfD"/>
<binding destination="jhO-4z-Qwt" name="content" keyPath="arrangedObjects" id="2av-gV-V4K"/>
<outlet property="menu" destination="RJM-21-hjO" id="xpL-0n-1jm"/>
</connections>

View File

@ -159,10 +159,21 @@
<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"/>
<menuItem title="Window 3x" id="Dbh-Js-pMx" userLabel="Window 3x"/>
<menuItem title="Full Screen" state="on" id="0zZ-Ib-Fne">
<modifierMask key="keyEquivalentModifierMask"/>
</menuItem>
<menuItem title="Window 1x" id="3bZ-rq-fCt">
<modifierMask key="keyEquivalentModifierMask"/>
</menuItem>
<menuItem title="Window 2x" id="KA4-Rs-yyK">
<modifierMask key="keyEquivalentModifierMask"/>
</menuItem>
<menuItem title="Window 3x" id="Dbh-Js-pMx" userLabel="Window 3x">
<modifierMask key="keyEquivalentModifierMask"/>
</menuItem>
<menuItem title="Window 4x" id="GCs-En-3Jv">
<modifierMask key="keyEquivalentModifierMask"/>
</menuItem>
</items>
</menu>
</popUpButtonCell>

View File

@ -481,6 +481,10 @@ enum {
}
-(IBAction)doubleClick:(id)sender {
[self download: sender];
}
- (IBAction)download:(id)sender {
DownloadItem *item = [self clickedItem];
if (!item) return;
@ -610,13 +614,16 @@ static NSInteger TaskStatusCode(NSURLSessionTask *task) {
NSURL *dest = [_romFolder URLByAppendingPathComponent: [src lastPathComponent]];
NSError *error = nil;
/* just in case ... */
[fm removeItemAtURL: dest error: NULL];
[fm moveItemAtURL: location toURL: dest error: &error];
dispatch_async(dispatch_get_main_queue(), ^(void){
NSMutableDictionary *taskIndex = self->_taskIndex;
DownloadItem *item = [taskIndex objectForKey: task];
[item refresh: dest];
if (error) [item completeWithError: error];
else [item refresh: dest];
});
NSLog(@"%@", src);

View File

@ -25,6 +25,20 @@ static NSString *kMyContext = @"kMyContext";
static NSString *kContextMachine = @"kContextMachine";
static NSString *NeedsAspectRatio(NSString *machine) {
static NSDictionary *dict = nil;
if (!dict) {
dict = @{
@"oric1": @"2:1",
@"orica": @"2:1",
@"prav8d": @"2:1",
@"telstrat": @"2:1",
};
}
return [dict objectForKey: machine];
}
@interface LaunchWindowController () {
BOOL _loadingBookmark;
NSString *_machine;
@ -500,6 +514,7 @@ static NSString *ShellQuote(NSString *s) {
// drop through.
case 2: // 2x
case 3: // 3x
case 4: // 4x
if (_mameSquarePixels) {
// NSString *aspect = [NSString stringWithFormat: @"%u:%u", (unsigned)screen.width, (unsigned)screen.height];
@ -509,6 +524,8 @@ static NSString *ShellQuote(NSString *s) {
float hscale = round((screen.width * 3 / 4) / screen.height);
if (hscale < 1) hscale = 1;
screen.height *= hscale;
} else {
screen.height = round(screen.width * 3 / 4);
}
@ -523,12 +540,20 @@ static NSString *ShellQuote(NSString *s) {
[argv addObject: res];
if (_mameSquarePixels) {
[argv addObject: @"-nounevenstretch"];
NSString *aspect = NeedsAspectRatio(_machine);
if (aspect) {
[argv addObject: @"-aspect"];
[argv addObject: aspect];
}
}
break;
}
if (_mameBGFX) {
[argv addObject: @"-video"];
[argv addObject: @"bgfx"];

View File

@ -2344,6 +2344,11 @@
<string>3" double-sided floppy drive</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
@ -2367,6 +2372,11 @@
<string>3" double-sided floppy drive</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>

View File

@ -291,7 +291,7 @@
<key>name</key>
<string>ext</string>
<key>description</key>
<string>Coco Cart</string>
<string>Expansion</string>
<key>options</key>
<array>
<dict>

View File

@ -220,7 +220,7 @@
<key>name</key>
<string>ext</string>
<key>description</key>
<string>Coco Cart</string>
<string>Expansion</string>
<key>options</key>
<array>
<dict>

View File

@ -220,7 +220,7 @@
<key>name</key>
<string>ext</string>
<key>description</key>
<string>Coco Cart</string>
<string>Expansion</string>
<key>options</key>
<array>
<dict>

View File

@ -220,7 +220,7 @@
<key>name</key>
<string>ext</string>
<key>description</key>
<string>Coco Cart</string>
<string>Expansion</string>
<key>options</key>
<array>
<dict>

View File

@ -186,7 +186,7 @@
<key>name</key>
<string>ext</string>
<key>description</key>
<string>Coco Cart</string>
<string>Expansion</string>
<key>options</key>
<array>
<dict>

View File

@ -186,7 +186,7 @@
<key>name</key>
<string>ext</string>
<key>description</key>
<string>Coco Cart</string>
<string>Expansion</string>
<key>options</key>
<array>
<dict>

View File

@ -186,7 +186,7 @@
<key>name</key>
<string>ext</string>
<key>description</key>
<string>Coco Cart</string>
<string>Expansion</string>
<key>options</key>
<array>
<dict>

View File

@ -49,7 +49,7 @@
<key>name</key>
<string>ext</string>
<key>description</key>
<string>Coco Cart</string>
<string>Expansion</string>
<key>options</key>
<array>
<dict>

View File

@ -186,7 +186,7 @@
<key>name</key>
<string>ext</string>
<key>description</key>
<string>Coco Cart</string>
<string>Expansion</string>
<key>options</key>
<array>
<dict>

View File

@ -683,6 +683,37 @@
</dict>
</array>
</dict>
<dict>
<key>description</key>
<string>Oric</string>
<key>children</key>
<array>
<dict>
<key>description</key>
<string>Oric-1</string>
<key>value</key>
<string>oric1</string>
</dict>
<dict>
<key>description</key>
<string>Oric Atmos</string>
<key>value</key>
<string>orica</string>
</dict>
<dict>
<key>description</key>
<string>Pravetz 8D</string>
<key>value</key>
<string>prav8d</string>
</dict>
<dict>
<key>description</key>
<string>Oric Telestrat</string>
<key>value</key>
<string>telstrat</string>
</dict>
</array>
</dict>
<dict>
<key>description</key>
<string>Tandy</string>

459
Ample/Resources/oric1.plist Normal file
View File

@ -0,0 +1,459 @@
<?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>oric1</string>
<key>description</key>
<string>Oric-1</string>
<key>media</key>
<dict>
</dict>
<key>resolution</key>
<array>
<integer>240</integer>
<integer>224</integer>
</array>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>bios</string>
<key>description</key>
<string>ROM</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—Default—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>ver10</string>
<key>description</key>
<string>Basic 1.0</string>
</dict>
<dict>
<key>value</key>
<string>ver10uk</string>
<key>description</key>
<string>Basic 1.0 UK</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>ext</string>
<key>description</key>
<string>Expansion</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>jasmin</string>
<key>description</key>
<string>Jasmin Floppy Drive Interface</string>
<key>devname</key>
<string>oric_jasmin</string>
</dict>
<dict>
<key>value</key>
<string>microdisc</string>
<key>description</key>
<string>Microdisc Floppy Drive Interface</string>
<key>devname</key>
<string>oric_microdisc</string>
</dict>
</array>
</dict>
</array>
<key>devices</key>
<array>
<dict>
<key>name</key>
<string>oric_jasmin</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:fdc:0</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:fdc:1</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:fdc:2</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:fdc:3</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</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>oric_microdisc</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:fdc:0</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:fdc:1</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:fdc:2</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:fdc:3</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
</array>
</dict>
</array>
<key>software</key>
<array>
<string>oric1_cass.xml</string>
</array>
</dict>
</plist>

591
Ample/Resources/orica.plist Normal file
View File

@ -0,0 +1,591 @@
<?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>orica</string>
<key>description</key>
<string>Oric Atmos</string>
<key>media</key>
<dict>
</dict>
<key>resolution</key>
<array>
<integer>240</integer>
<integer>224</integer>
</array>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>bios</string>
<key>description</key>
<string>ROM</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—Default—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>ver11</string>
<key>description</key>
<string>Basic 1.1</string>
</dict>
<dict>
<key>value</key>
<string>ver12</string>
<key>description</key>
<string>Basic 1.2 (Pascal Leclerc)</string>
</dict>
<dict>
<key>value</key>
<string>ver121</string>
<key>description</key>
<string>Basic 1.21 (Pascal Leclerc)</string>
</dict>
<dict>
<key>value</key>
<string>ver122</string>
<key>description</key>
<string>Basic 1.22 (Pascal Leclerc)</string>
</dict>
<dict>
<key>value</key>
<string>ver11de</string>
<key>description</key>
<string>Basic 1.1 DE</string>
</dict>
<dict>
<key>value</key>
<string>ver11es</string>
<key>description</key>
<string>Basic 1.1 ES</string>
</dict>
<dict>
<key>value</key>
<string>ver11fr</string>
<key>description</key>
<string>Basic 1.1 FR</string>
</dict>
<dict>
<key>value</key>
<string>ver11se</string>
<key>description</key>
<string>Basic 1.1 SE</string>
</dict>
<dict>
<key>value</key>
<string>ver11uk</string>
<key>description</key>
<string>Basic 1.1 UK</string>
</dict>
<dict>
<key>value</key>
<string>ver12es</string>
<key>description</key>
<string>Basic 1.2 ES</string>
</dict>
<dict>
<key>value</key>
<string>ver12fr</string>
<key>description</key>
<string>Basic 1.2 FR</string>
</dict>
<dict>
<key>value</key>
<string>ver12ge</string>
<key>description</key>
<string>Basic 1.2 GE</string>
</dict>
<dict>
<key>value</key>
<string>ver12sw</string>
<key>description</key>
<string>Basic 1.2 SW</string>
</dict>
<dict>
<key>value</key>
<string>ver12uk</string>
<key>description</key>
<string>Basic 1.2 UK</string>
</dict>
<dict>
<key>value</key>
<string>ver121es</string>
<key>description</key>
<string>Basic 1.211 ES</string>
</dict>
<dict>
<key>value</key>
<string>ver121fr</string>
<key>description</key>
<string>Basic 1.211 FR</string>
</dict>
<dict>
<key>value</key>
<string>ver121ge</string>
<key>description</key>
<string>Basic 1.211 GE</string>
</dict>
<dict>
<key>value</key>
<string>ver121sw</string>
<key>description</key>
<string>Basic 1.211 SW</string>
</dict>
<dict>
<key>value</key>
<string>ver121uk</string>
<key>description</key>
<string>Basic 1.211 UK</string>
</dict>
<dict>
<key>value</key>
<string>ver122es</string>
<key>description</key>
<string>Basic 1.22 ES</string>
</dict>
<dict>
<key>value</key>
<string>ver122fr</string>
<key>description</key>
<string>Basic 1.22 FR</string>
</dict>
<dict>
<key>value</key>
<string>ver122ge</string>
<key>description</key>
<string>Basic 1.22 GE</string>
</dict>
<dict>
<key>value</key>
<string>ver122sw</string>
<key>description</key>
<string>Basic 1.22 SW</string>
</dict>
<dict>
<key>value</key>
<string>ver122uk</string>
<key>description</key>
<string>Basic 1.22 UK</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>ext</string>
<key>description</key>
<string>Expansion</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>jasmin</string>
<key>description</key>
<string>Jasmin Floppy Drive Interface</string>
<key>devname</key>
<string>oric_jasmin</string>
</dict>
<dict>
<key>value</key>
<string>microdisc</string>
<key>description</key>
<string>Microdisc Floppy Drive Interface</string>
<key>devname</key>
<string>oric_microdisc</string>
</dict>
</array>
</dict>
</array>
<key>devices</key>
<array>
<dict>
<key>name</key>
<string>oric_jasmin</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:fdc:0</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:fdc:1</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:fdc:2</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:fdc:3</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</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>oric_microdisc</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:fdc:0</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:fdc:1</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:fdc:2</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:fdc:3</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
</array>
</dict>
</array>
<key>software</key>
<array>
<string>oric1_cass.xml</string>
</array>
</dict>
</plist>

View File

@ -0,0 +1,430 @@
<?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>prav8d</string>
<key>description</key>
<string>Pravetz 8D</string>
<key>media</key>
<dict>
</dict>
<key>resolution</key>
<array>
<integer>240</integer>
<integer>224</integer>
</array>
<key>slots</key>
<array>
<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>ext</string>
<key>description</key>
<string>Expansion</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>jasmin</string>
<key>description</key>
<string>Jasmin Floppy Drive Interface</string>
<key>devname</key>
<string>oric_jasmin</string>
</dict>
<dict>
<key>value</key>
<string>microdisc</string>
<key>description</key>
<string>Microdisc Floppy Drive Interface</string>
<key>devname</key>
<string>oric_microdisc</string>
</dict>
</array>
</dict>
</array>
<key>devices</key>
<array>
<dict>
<key>name</key>
<string>oric_jasmin</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:fdc:0</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:fdc:1</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:fdc:2</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:fdc:3</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</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>oric_microdisc</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:fdc:0</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:fdc:1</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:fdc:2</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:fdc:3</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
</array>
</dict>
</array>
<key>software</key>
<array>
<string>oric1_cass.xml</string>
</array>
</dict>
</plist>

View File

@ -632,6 +632,12 @@
<key>description</key>
<string>Iskra-1030 Keyboard</string>
</dict>
<dict>
<key>value</key>
<string>oric_jasmin</string>
<key>description</key>
<string>Jasmin Floppy Drive Interface</string>
</dict>
<dict>
<key>value</key>
<string>keytronic_pc3270</string>
@ -800,6 +806,12 @@
<key>description</key>
<string>Micro-Robotics Scorpion Intelligent Controller</string>
</dict>
<dict>
<key>value</key>
<string>oric_microdisc</string>
<key>description</key>
<string>Microdisc Floppy Drive Interface</string>
</dict>
<dict>
<key>value</key>
<string>pd3_30hr</string>
@ -866,6 +878,12 @@
<key>description</key>
<string>Orange Micro Grappler+ Printer Interface</string>
</dict>
<dict>
<key>value</key>
<string>oric1</string>
<key>description</key>
<string>Oric-1</string>
</dict>
<dict>
<key>value</key>
<string>a2aplcrd</string>

View File

@ -1340,6 +1340,12 @@
<key>description</key>
<string>JAFA Mode 7 Display Unit</string>
</dict>
<dict>
<key>value</key>
<string>oric_jasmin</string>
<key>description</key>
<string>Jasmin Floppy Drive Interface</string>
</dict>
<dict>
<key>value</key>
<string>bbc_kenda</string>
@ -1550,6 +1556,12 @@
<key>description</key>
<string>Micro-Robotics Scorpion Intelligent Controller</string>
</dict>
<dict>
<key>value</key>
<string>oric_microdisc</string>
<key>description</key>
<string>Microdisc Floppy Drive Interface</string>
</dict>
<dict>
<key>value</key>
<string>pd3_30hr</string>
@ -1700,6 +1712,12 @@
<key>description</key>
<string>Orange Micro Grappler+ Printer Interface</string>
</dict>
<dict>
<key>value</key>
<string>oric1</string>
<key>description</key>
<string>Oric-1</string>
</dict>
<dict>
<key>value</key>
<string>electron_ap1</string>

View File

@ -186,7 +186,7 @@
<key>name</key>
<string>ext</string>
<key>description</key>
<string>Coco Cart</string>
<string>Expansion</string>
<key>options</key>
<array>
<dict>

View File

@ -0,0 +1,568 @@
<?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>telstrat</string>
<key>description</key>
<string>Oric Telestrat</string>
<key>media</key>
<dict>
</dict>
<key>resolution</key>
<array>
<integer>240</integer>
<integer>224</integer>
</array>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>smartport</string>
<key>description</key>
<string>Disk Drives</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string></string>
<key>devname</key>
<string>smartport</string>
<key>default</key>
<true/>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>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>ext</string>
<key>description</key>
<string>Expansion</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>jasmin</string>
<key>description</key>
<string>Jasmin Floppy Drive Interface</string>
<key>devname</key>
<string>oric_jasmin</string>
</dict>
<dict>
<key>value</key>
<string>microdisc</string>
<key>description</key>
<string>Microdisc Floppy Drive Interface</string>
<key>devname</key>
<string>oric_microdisc</string>
</dict>
</array>
</dict>
</array>
<key>devices</key>
<array>
<dict>
<key>name</key>
<string>smartport</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>fdc:0</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>fdc:1</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>fdc:2</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>fdc:3</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</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>oric_jasmin</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:fdc:0</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:fdc:1</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:fdc:2</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:fdc:3</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</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>oric_microdisc</string>
<key>slots</key>
<array>
<dict>
<key>name</key>
<string>:fdc:0</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<false/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</string>
<key>default</key>
<true/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:fdc:1</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:fdc:2</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
<dict>
<key>name</key>
<string>:fdc:3</string>
<key>options</key>
<array>
<dict>
<key>value</key>
<string></string>
<key>description</key>
<string>—None—</string>
<key>default</key>
<true/>
</dict>
<dict>
<key>value</key>
<string>3dsdd</string>
<key>description</key>
<string>3" double-sided floppy drive</string>
<key>default</key>
<false/>
<key>media</key>
<dict>
<key>floppy_3_5</key>
<integer>1</integer>
</dict>
</dict>
</array>
</dict>
</array>
</dict>
</array>
<key>software</key>
<array>
<string>oric1_cass.xml</string>
</array>
</dict>
</plist>

View File

@ -50,6 +50,10 @@ MACHINES = (
"trs80", "trs80l2",
"dragon32", "dragon64", "d64plus", "dragon200", "dragon200e", "tanodr64",
# oric
"oric1", "orica", "prav8d", "telstrat",
# mt65, micron, mt6809 -- need tanbus support...
)
@ -208,9 +212,12 @@ SLOT_NAMES = {
"fdc": "Disk Drives",
"ext": "Coco Cart",
# "ext": "Coco Cart",
"ext": "Expansion",
"floppy0": "Floppy 1",
"floppy1": "Floppy 2",
"floppy2": "Floppy 3",
"floppy3": "Floppy 4",
}

View File

@ -45,6 +45,7 @@ import mame
#
# don't allow these for now. generally because they add floppy/hard drives
# but don't work with normal disk images
DISABLED = set((
@ -315,9 +316,11 @@ DEVICE_MEDIA = {
'hdd': 'hard',
'harddisk': 'hard',
'525': 'floppy_5_25',
'35hd': 'floppy_3_5',
'35dd': 'floppy_3_5',
'35ed': 'floppy_3_5',
'35hd': 'floppy_3_5',
'35sd': 'floppy_3_5',
'35ssdd': 'floppy_3_5',
'midiin': 'midiin',
'midiout': 'midiout',
'aplcdsc': 'cdrom',
@ -339,7 +342,11 @@ DEVICE_MEDIA = {
"8sssd": "floppy_8",
# trs dragon32, etc
"qd": "floppy_5_25"
"qd": "floppy_5_25",
# oric, amstrad, sinclair, etc, used a 3" disk. We'll round up.
"3dsdd": "floppy_3_5",
"3ssdd": "floppy_3_5",
}

View File

@ -54,6 +54,10 @@ tandy_children = [
"dragon32", "dragon64", "d64plus", "dragon200", "dragon200e", "tanodr64",
]
oric_children = [
"oric1", "orica", "prav8d", "telstrat",
]
amiga_children = ["a500", "a500n", "a1000", "a1000n", "a2000", "a2000n" ]
@ -90,7 +94,8 @@ TREE = [
("Macintosh (Quadra)", None, mac_quadra_children),
("Macintosh (LC)", None, mac_lc_children),
("Atari ST", "st", atari_st_children),
("Tandy", None, tandy_children)
("Oric", None, oric_children),
("Tandy", None, tandy_children),
]
TREE_EXTRA = TREE + [