From 58b422771a89171d1130b783e9352405ace4aa4c Mon Sep 17 00:00:00 2001 From: optixx Date: Tue, 1 Sep 2009 17:10:59 +0200 Subject: [PATCH 1/7] add command wrapper class --- tools/Quickdev16/AppController.h | 15 +- tools/Quickdev16/AppController.m | 78 +-- tools/Quickdev16/CommandWrapper.h | 20 + tools/Quickdev16/CommandWrapper.m | 58 ++ tools/Quickdev16/English.lproj/MainMenu.xib | 105 +-- .../Quickdev16.xcodeproj/david.mode1v3 | 130 +++- .../Quickdev16.xcodeproj/david.pbxuser | 620 +++++++++++++++++- .../Quickdev16.xcodeproj/project.pbxproj | 10 +- .../Quickdev16.pbxindex/cdecls.pbxbtree | Bin 573652 -> 573652 bytes .../Quickdev16.pbxindex/decls.pbxbtree | Bin 571880 -> 571880 bytes .../Quickdev16.pbxindex/files.pbxbtree | Bin 6964 -> 7052 bytes .../Quickdev16.pbxindex/imports.pbxbtree | Bin 20388 -> 20476 bytes .../Quickdev16.pbxindex/pbxindex.header | Bin 24 -> 24 bytes .../Quickdev16.pbxindex/protocols.pbxbtree | Bin 2940 -> 2940 bytes .../Quickdev16.pbxindex/refs.pbxbtree | Bin 436276 -> 436276 bytes .../strings.pbxstrings/control | Bin 1048596 -> 1048596 bytes .../strings.pbxstrings/strings | Bin 1257699 -> 1257908 bytes .../Quickdev16.pbxindex/subclasses.pbxbtree | Bin 3188 -> 3188 bytes .../Quickdev16.pbxindex/symbols0.pbxsymbols | Bin 2156184 -> 2154184 bytes 19 files changed, 864 insertions(+), 172 deletions(-) create mode 100644 tools/Quickdev16/CommandWrapper.h create mode 100644 tools/Quickdev16/CommandWrapper.m diff --git a/tools/Quickdev16/AppController.h b/tools/Quickdev16/AppController.h index e3f86cd..ad7c407 100644 --- a/tools/Quickdev16/AppController.h +++ b/tools/Quickdev16/AppController.h @@ -2,18 +2,9 @@ @interface AppController : NSObject { IBOutlet NSTextField *textField; - IBOutlet NSColorWell *colorWell; - IBOutlet NSButton *stopButton; - IBOutlet NSTableView *tableView; - NSSpeechSynthesizer *speechSynth; } -- (IBAction)sayIt:(id)sender; -- (IBAction)stopIt:(id)sender; -- (IBAction)changeTextColor:(id)sender; -- (void)speechSynthesizer:(NSSpeechSynthesizer *)send - didFinishSpeaking:(BOOL)finishedSpeaking; -- (int)numberOfRowsInTableView:(NSTableView *) aTableView; --(id)tableView:(NSTableView*) aTableView -objectValueForTableColumn:(NSTableColumn *) aTableColumn row:(int)row; +- (IBAction)romInfo:(id)sender; +- (IBAction)romUpload:(id)sender; + @end diff --git a/tools/Quickdev16/AppController.m b/tools/Quickdev16/AppController.m index 887e434..8f6f719 100644 --- a/tools/Quickdev16/AppController.m +++ b/tools/Quickdev16/AppController.m @@ -1,91 +1,34 @@ #import "AppController.h" +#import "CommandWrapper.h" @implementation AppController - (id) init { [super init]; NSLog(@"init"); - speechSynth = [[NSSpeechSynthesizer alloc] initWithVoice:nil]; - [speechSynth setDelegate:self]; return self; } - (void)awakeFromNib{ - NSColor *initialColor = [ textField textColor]; - NSLog(@"setting init color %@",initialColor); - [colorWell setColor:initialColor]; - NSString *defaultVoice = [NSSpeechSynthesizer defaultVoice]; - NSArray *voices = [NSSpeechSynthesizer availableVoices]; - int defaultRow = [voices indexOfObject:defaultVoice]; - [tableView selectRow:defaultRow byExtendingSelection:NO]; - [tableView scrollRowToVisible:defaultRow]; - + NSLog(@"awakeFromNib"); } -- (IBAction)sayIt:(id)sender { + +- (IBAction)romInfo:(id)sender { NSString *string = [textField stringValue]; if ( [string length] == 0) { NSLog(@"No message"); return; } - [speechSynth startSpeakingString:string]; NSLog(@"Have started speaking: %@", string); - [stopButton setEnabled:YES]; + //[stopButton setEnabled:YES]; } -- (IBAction)stopIt:(id)sender { - NSLog(@"stopping"); - [speechSynth stopSpeaking]; - -} - -- (void)speechSynthesizer:(NSSpeechSynthesizer *)send - didFinishSpeaking:(BOOL)finishedSpeaking -{ - NSLog(@"didFinished=%d",finishedSpeaking); - [stopButton setEnabled:NO]; - -} - - -- (IBAction)changeTextColor:(id)sender{ - NSColor *newColor = [sender color]; - NSLog(@"Change Color %@",newColor); - [textField setTextColor:newColor]; +- (IBAction)romUpload:(id)sender { + NSLog(@"romUpload"); + CommandWrapper *cw=[[CommandWrapper alloc] init]; + [cw doPipedCommand]; } -- (int)numberOfRowsInTableView:(NSTableView *) aTableView{ - NSLog(@"numberOfRowsInTableView %d", [[NSSpeechSynthesizer availableVoices] count]); - - return [[NSSpeechSynthesizer availableVoices] count]; -} --(id)tableView:(NSTableView*) aTableView - objectValueForTableColumn:(NSTableColumn *) aTableColumn row:(int)row{ - NSString *voice = [[NSSpeechSynthesizer availableVoices] objectAtIndex:row ]; - return [[NSSpeechSynthesizer attributesForVoice:voice] valueForKey:NSVoiceName]; -} - -- (void)tableViewSelectionDidChange:(NSNotification *)nofication{ - NSArray *availableVoices = [NSSpeechSynthesizer availableVoices]; - int row = [tableView selectedRow]; - if ( row == -1) { - return; - } - - NSString *selectedVoice = [availableVoices objectAtIndex:row]; - [speechSynth setVoice:selectedVoice]; - NSLog(@"new voice=%@",selectedVoice); -} - --(BOOL)selectionShouldChangeInTableView:(NSTableView *) aTableView -{ - if ([speechSynth isSpeaking]){ - NSBeep(); - return NO; - } else { - return YES; - } -} - -(NSSize)windowWillResize:(NSWindow *)send toSize:(NSSize) framesize; { float w = framesize.width; @@ -98,8 +41,7 @@ } - (void) dealloc { - NSLog(@"dealloc"); - [speechSynth release]; + NSLog(@"dealloc"); [super dealloc]; } diff --git a/tools/Quickdev16/CommandWrapper.h b/tools/Quickdev16/CommandWrapper.h new file mode 100644 index 0000000..433a605 --- /dev/null +++ b/tools/Quickdev16/CommandWrapper.h @@ -0,0 +1,20 @@ +// +// CommandWrapper.h +// Quickdev16 +// +// Created by David Voswinkel on 09-09-01. +// Copyright 2009 __MyCompanyName__. All rights reserved. +// + +#import + + +@interface CommandWrapper : NSObject { + + + IBOutlet NSTextField *textField; +} +- (void)doCommand; +- (void)doPipedCommand; + +@end diff --git a/tools/Quickdev16/CommandWrapper.m b/tools/Quickdev16/CommandWrapper.m new file mode 100644 index 0000000..6ba1f28 --- /dev/null +++ b/tools/Quickdev16/CommandWrapper.m @@ -0,0 +1,58 @@ +// +// CommandWrapper.m +// Quickdev16 +// +// Created by David Voswinkel on 09-09-01. +// Copyright 2009 __MyCompanyName__. All rights reserved. +// + +#import "CommandWrapper.h" + + +@implementation CommandWrapper + +- (void)doCommand { + + NSTask *command=[[NSTask alloc] init]; + + [command setLaunchPath:@"/bin/ls"]; + [command setArguments:[NSArray arrayWithObjects:@"-l",@"/System",nil]]; + [command launch]; + + [command release]; +} + + + +- (void)doPipedCommand { + NSTask *ls=[[NSTask alloc] init]; + NSPipe *pipe=[[NSPipe alloc] init]; + NSFileHandle *handle; + NSString *string; + + [ls setLaunchPath:@"/bin/ls"]; + [ls setArguments:[NSArray arrayWithObjects:@"-l",@"/System",nil]]; + [ls setStandardOutput:pipe]; + handle=[pipe fileHandleForReading]; + + [ls launch]; + + string=[[NSString alloc] initWithData:[handle readDataToEndOfFile] + encoding:NSASCIIStringEncoding]; // convert NSData -> NSString + + + NSLog(@"doPipedCommand: %@", textField); + NSLog(@"doPipedCommand: %@", string); + [textField setString:string]; + + [string release]; + [pipe release]; + [ls release]; +} + +@end + + + + + diff --git a/tools/Quickdev16/English.lproj/MainMenu.xib b/tools/Quickdev16/English.lproj/MainMenu.xib index 0b266a0..ebab2a2 100644 --- a/tools/Quickdev16/English.lproj/MainMenu.xib +++ b/tools/Quickdev16/English.lproj/MainMenu.xib @@ -1317,7 +1317,7 @@ 263 2 - {{157, -335}, {504, 796}} + {{157, 186}, {480, 275}} 611844096 Quickdev16 NSWindow @@ -1331,14 +1331,14 @@ 12 - {{13, 531}, {454, 213}} + {{13, 10}, {454, 213}} YES 1 - + 256 YES @@ -1349,7 +1349,7 @@ YES - -1805517311 + -2073952767 272629760 Log Field @@ -1381,6 +1381,7 @@ {{10, 33}, {434, 167}} + Log @@ -1397,7 +1398,7 @@ 2 - + 256 YES @@ -1420,27 +1421,26 @@ {{10, 33}, {434, 167}} - Info - + 0 YES YES YES - + 268 - {{20, 774}, {106, 23}} + {{20, 253}, {106, 23}} YES @@ -1460,7 +1460,7 @@ 268 - {{20, 745}, {106, 23}} + {{20, 224}, {106, 23}} YES @@ -1480,7 +1480,7 @@ 268 - {{354, 774}, {106, 23}} + {{354, 253}, {106, 23}} YES @@ -1498,7 +1498,7 @@ - {504, 796} + {480, 275} {{0, 0}, {1440, 878}} {1.79769e+308, 1.79769e+308} @@ -1512,6 +1512,9 @@ AppController + + CommandWrapper + @@ -2190,11 +2193,27 @@ - sayIt: + romUpload: - + - 592 + 593 + + + + romUpload: + + + + 597 + + + + textField + + + + 598 @@ -3365,6 +3384,11 @@ + + 595 + + + @@ -3608,6 +3632,7 @@ 588.IBPluginDependency 589.IBPluginDependency 590.IBPluginDependency + 595.IBPluginDependency 72.IBPluginDependency 72.ImportedFromIB2 73.IBPluginDependency @@ -3846,9 +3871,9 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - {{936, 60}, {504, 796}} + {{346, 412}, {480, 275}} com.apple.InterfaceBuilder.CocoaPlugin - {{936, 60}, {504, 796}} + {{346, 412}, {480, 275}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -3875,6 +3900,7 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -3918,7 +3944,7 @@ - 592 + 598 @@ -3930,39 +3956,36 @@ YES YES - changeTextColor: - sayIt: - stopIt: + romInfo: + romUpload: YES id id - id - YES - - YES - colorWell - stopButton - tableView - textField - - - YES - NSColorWell - NSButton - NSTableView - NSTextField - + textField + NSTextField IBProjectSource AppController.h + + CommandWrapper + NSObject + + textField + NSTextField + + + IBProjectSource + CommandWrapper.h + + Quickdev16AppDelegate NSObject @@ -4061,14 +4084,6 @@ AppKit.framework/Headers/NSCell.h - - NSColorWell - NSControl - - IBFrameworkSource - AppKit.framework/Headers/NSColorWell.h - - NSControl NSView diff --git a/tools/Quickdev16/Quickdev16.xcodeproj/david.mode1v3 b/tools/Quickdev16/Quickdev16.xcodeproj/david.mode1v3 index 861b25b..75065b3 100644 --- a/tools/Quickdev16/Quickdev16.xcodeproj/david.mode1v3 +++ b/tools/Quickdev16/Quickdev16.xcodeproj/david.mode1v3 @@ -197,7 +197,48 @@ Notifications OpenEditors - + + + Content + + PBXProjectModuleGUID + 630AE62A104D6EC40091039C + PBXProjectModuleLabel + CommandWrapper.m + PBXSplitModuleInNavigatorKey + + Split0 + + PBXProjectModuleGUID + 630AE62B104D6EC40091039C + PBXProjectModuleLabel + CommandWrapper.m + _historyCapacity + 0 + bookmark + 630AE62C104D6EC40091039C + history + + 630AE624104D6E950091039C + + + SplitCount + 1 + + StatusBarVisibility + + + Geometry + + Frame + {{0, 20}, {992, 721}} + PBXModuleWindowStatusBarHidden2 + + RubberWindowFrame + 15 116 992 762 0 0 1440 878 + + + PerspectiveWidths -1 @@ -229,6 +270,8 @@ Layout + BecomeActive + ContentConfiguration PBXBottomSmartGroupGIDs @@ -264,6 +307,8 @@ PBXSmartGroupTreeModuleOutlineStateExpansionKey 29B97314FDCFA39411CA2CEA + 080E96DDFE201D6D7F000001 + 29B97317FDCFA39411CA2CEA 29B97323FDCFA39411CA2CEA 19C28FACFE9D520D11CA2CBB 1C37FABC05509CD000000102 @@ -271,7 +316,8 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 3 + 7 + 1 0 @@ -311,7 +357,7 @@ PBXProjectModuleGUID 1CE0B20306471E060097A5F4 PBXProjectModuleLabel - + CommandWrapper.h PBXSplitModuleInNavigatorKey Split0 @@ -319,7 +365,20 @@ PBXProjectModuleGUID 1CE0B20406471E060097A5F4 PBXProjectModuleLabel - + CommandWrapper.h + _historyCapacity + 0 + bookmark + 630AE629104D6EC40091039C + history + + 630AE5FB104D6B680091039C + 630AE608104D6C580091039C + 630AE618104D6D240091039C + 630AE619104D6D240091039C + 630AE627104D6EC40091039C + 630AE628104D6EC40091039C + SplitCount 1 @@ -330,18 +389,16 @@ GeometryConfiguration Frame - {{0, 0}, {654, 0}} + {{0, 0}, {654, 717}} RubberWindowFrame 0 115 936 763 0 0 1440 878 Module PBXNavigatorGroup Proportion - 0pt + 717pt - BecomeActive - ContentConfiguration PBXProjectModuleGUID @@ -352,14 +409,14 @@ GeometryConfiguration Frame - {{0, 5}, {654, 717}} + {{0, 722}, {654, 0}} RubberWindowFrame 0 115 936 763 0 0 1440 878 Module XCDetailModule Proportion - 717pt + 0pt Proportion @@ -378,9 +435,9 @@ TableOfContents - 631A5172104CF32500E73564 + 630AE573104D18A40091039C 1CE0B1FE06471DED0097A5F4 - 631A5173104CF32500E73564 + 630AE574104D18A40091039C 1CE0B20306471E060097A5F4 1CE0B20506471E060097A5F4 @@ -518,8 +575,13 @@ 5 WindowOrderList + 630AE57D104D18A40091039C + 630AE57E104D18A40091039C + 1CD10A99069EF8BA00B06720 631E1885104C5D80001A8B18 + 1C78EAAD065D492600B07095 /Users/david/Devel/arch/avr/code/quickdev16/tools/Quickdev16/Quickdev16.xcodeproj + 630AE62A104D6EC40091039C WindowString 0 115 936 763 0 0 1440 878 @@ -543,7 +605,7 @@ PBXProjectModuleGUID 1CD0528F0623707200166675 PBXProjectModuleLabel - + CommandWrapper.m StatusBarVisibility @@ -560,6 +622,8 @@ 218pt + BecomeActive + ContentConfiguration PBXProjectModuleGUID @@ -599,7 +663,7 @@ TableOfContents 631E1885104C5D80001A8B18 - 631A5174104CF32500E73564 + 630AE575104D18A40091039C 1CD0528F0623707200166675 XCMainBuildResultsModuleGUID @@ -643,8 +707,8 @@ yes sizes - {{0, 0}, {316, 185}} - {{316, 0}, {378, 185}} + {{0, 0}, {316, 198}} + {{316, 0}, {378, 198}} VerticalSplitView @@ -659,8 +723,8 @@ yes sizes - {{0, 0}, {694, 185}} - {{0, 185}, {694, 196}} + {{0, 0}, {694, 198}} + {{0, 198}, {694, 183}} @@ -693,7 +757,7 @@ 148 Frame - {{316, 0}, {378, 185}} + {{316, 0}, {378, 198}} RubberWindowFrame 21 433 694 422 0 0 1440 878 @@ -721,13 +785,13 @@ TableOfContents 1CD10A99069EF8BA00B06720 - 631E189F104CF2FD001A8B18 + 630AE576104D18A40091039C 1C162984064C10D400B95A72 - 631E18A0104CF2FD001A8B18 - 631E18A1104CF2FD001A8B18 - 631E18A2104CF2FD001A8B18 - 631E18A3104CF2FD001A8B18 - 631E18A4104CF2FD001A8B18 + 630AE577104D18A40091039C + 630AE578104D18A40091039C + 630AE579104D18A40091039C + 630AE57A104D18A40091039C + 630AE57B104D18A40091039C ToolbarConfiguration xcode.toolbar.config.debugV3 @@ -854,6 +918,8 @@ Dock + BecomeActive + ContentConfiguration PBXProjectModuleGUID @@ -864,18 +930,18 @@ GeometryConfiguration Frame - {{0, 0}, {650, 209}} + {{0, 0}, {504, 721}} RubberWindowFrame - 21 605 650 250 0 0 1440 878 + 936 116 504 762 0 0 1440 878 Module PBXDebugCLIModule Proportion - 209pt + 721pt Proportion - 209pt + 721pt Name @@ -889,17 +955,17 @@ TableOfContents 1C78EAAD065D492600B07095 - 631E18A5104CF2FD001A8B18 + 630AE57C104D18A40091039C 1C78EAAC065D492600B07095 ToolbarConfiguration xcode.toolbar.config.consoleV3 WindowString - 21 605 650 250 0 0 1440 878 + 936 116 504 762 0 0 1440 878 WindowToolGUID 1C78EAAD065D492600B07095 WindowToolIsVisible - + Identifier diff --git a/tools/Quickdev16/Quickdev16.xcodeproj/david.pbxuser b/tools/Quickdev16/Quickdev16.xcodeproj/david.pbxuser index 98c37d4..158fbd0 100644 --- a/tools/Quickdev16/Quickdev16.xcodeproj/david.pbxuser +++ b/tools/Quickdev16/Quickdev16.xcodeproj/david.pbxuser @@ -2,7 +2,7 @@ { 256AC3D80F4B6AC300CF3369 /* Quickdev16AppDelegate.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {593, 472}}"; + sepNavIntBoundsRect = "{{0, 0}, {593, 685}}"; sepNavSelRange = "{353, 0}"; sepNavVisRange = "{0, 353}"; sepNavWindowFrame = "{{15, 60}, {992, 818}}"; @@ -10,8 +10,8 @@ }; 256AC3D90F4B6AC300CF3369 /* Quickdev16AppDelegate.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {593, 472}}"; - sepNavSelRange = "{0, 0}"; + sepNavIntBoundsRect = "{{0, 0}, {593, 662}}"; + sepNavSelRange = "{377, 0}"; sepNavVisRange = "{0, 384}"; }; }; @@ -23,8 +23,10 @@ }; }; 29B97313FDCFA39411CA2CEA /* Project object */ = { + activeArchitecturePreference = i386; activeBuildConfigurationName = Debug; activeExecutable = 631E1874104C5D72001A8B18 /* Quickdev16 */; + activeSDKPreference = macosx10.6; activeTarget = 8D1107260486CEB800E47090 /* Quickdev16 */; addToTargets = ( 8D1107260486CEB800E47090 /* Quickdev16 */, @@ -56,25 +58,601 @@ PBXFileDataSource_Target_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 273478436; - PBXWorkspaceStateSaveDate = 273478436; + PBXPerProjectTemplateStateSaveDate = 273487179; + PBXWorkspaceStateSaveDate = 273487179; + }; + perUserProjectItems = { + 630AE571104D18A40091039C /* PBXTextBookmark */ = 630AE571104D18A40091039C /* PBXTextBookmark */; + 630AE572104D18A40091039C /* PBXTextBookmark */ = 630AE572104D18A40091039C /* PBXTextBookmark */; + 630AE5B5104D19900091039C /* PBXTextBookmark */ = 630AE5B5104D19900091039C /* PBXTextBookmark */; + 630AE5CE104D63B00091039C /* PBXTextBookmark */ = 630AE5CE104D63B00091039C /* PBXTextBookmark */; + 630AE5CF104D63B00091039C /* XCBuildMessageTextBookmark */ = 630AE5CF104D63B00091039C /* XCBuildMessageTextBookmark */; + 630AE5D0104D63B00091039C /* PBXTextBookmark */ = 630AE5D0104D63B00091039C /* PBXTextBookmark */; + 630AE5E2104D65F90091039C /* PBXTextBookmark */ = 630AE5E2104D65F90091039C /* PBXTextBookmark */; + 630AE5E3104D65F90091039C /* PBXTextBookmark */ = 630AE5E3104D65F90091039C /* PBXTextBookmark */; + 630AE5E4104D65F90091039C /* PBXTextBookmark */ = 630AE5E4104D65F90091039C /* PBXTextBookmark */; + 630AE5E5104D65F90091039C /* PBXTextBookmark */ = 630AE5E5104D65F90091039C /* PBXTextBookmark */; + 630AE5E6104D65F90091039C /* PBXTextBookmark */ = 630AE5E6104D65F90091039C /* PBXTextBookmark */; + 630AE5E7104D65F90091039C /* PBXTextBookmark */ = 630AE5E7104D65F90091039C /* PBXTextBookmark */; + 630AE5E8104D65F90091039C /* PBXTextBookmark */ = 630AE5E8104D65F90091039C /* PBXTextBookmark */; + 630AE5EF104D66E30091039C /* PBXTextBookmark */ = 630AE5EF104D66E30091039C /* PBXTextBookmark */; + 630AE5F0104D66E30091039C /* PBXTextBookmark */ = 630AE5F0104D66E30091039C /* PBXTextBookmark */; + 630AE5F1104D66E30091039C /* PBXTextBookmark */ = 630AE5F1104D66E30091039C /* PBXTextBookmark */; + 630AE5F2104D66E30091039C /* PBXTextBookmark */ = 630AE5F2104D66E30091039C /* PBXTextBookmark */; + 630AE5F6104D686E0091039C /* PBXTextBookmark */ = 630AE5F6104D686E0091039C /* PBXTextBookmark */; + 630AE5F8104D6B040091039C /* PBXTextBookmark */ = 630AE5F8104D6B040091039C /* PBXTextBookmark */; + 630AE5F9104D6B040091039C /* PBXTextBookmark */ = 630AE5F9104D6B040091039C /* PBXTextBookmark */; + 630AE5FA104D6B680091039C /* PBXTextBookmark */ = 630AE5FA104D6B680091039C /* PBXTextBookmark */; + 630AE5FB104D6B680091039C /* PBXTextBookmark */ = 630AE5FB104D6B680091039C /* PBXTextBookmark */; + 630AE5FC104D6B680091039C /* PBXTextBookmark */ = 630AE5FC104D6B680091039C /* PBXTextBookmark */; + 630AE5FD104D6B680091039C /* PBXTextBookmark */ = 630AE5FD104D6B680091039C /* PBXTextBookmark */; + 630AE5FE104D6B680091039C /* PBXTextBookmark */ = 630AE5FE104D6B680091039C /* PBXTextBookmark */; + 630AE5FF104D6B680091039C /* PBXTextBookmark */ = 630AE5FF104D6B680091039C /* PBXTextBookmark */; + 630AE600104D6B680091039C /* PBXTextBookmark */ = 630AE600104D6B680091039C /* PBXTextBookmark */; + 630AE606104D6C580091039C /* PBXTextBookmark */ = 630AE606104D6C580091039C /* PBXTextBookmark */; + 630AE607104D6C580091039C /* PBXTextBookmark */ = 630AE607104D6C580091039C /* PBXTextBookmark */; + 630AE608104D6C580091039C /* PBXTextBookmark */ = 630AE608104D6C580091039C /* PBXTextBookmark */; + 630AE609104D6C580091039C /* PBXTextBookmark */ = 630AE609104D6C580091039C /* PBXTextBookmark */; + 630AE60A104D6C580091039C /* PBXTextBookmark */ = 630AE60A104D6C580091039C /* PBXTextBookmark */; + 630AE611104D6CAA0091039C /* PBXTextBookmark */ = 630AE611104D6CAA0091039C /* PBXTextBookmark */; + 630AE612104D6CAA0091039C /* PBXTextBookmark */ = 630AE612104D6CAA0091039C /* PBXTextBookmark */; + 630AE613104D6CAA0091039C /* PBXTextBookmark */ = 630AE613104D6CAA0091039C /* PBXTextBookmark */; + 630AE614104D6CAA0091039C /* PBXTextBookmark */ = 630AE614104D6CAA0091039C /* PBXTextBookmark */; + 630AE615104D6CAA0091039C /* PBXTextBookmark */ = 630AE615104D6CAA0091039C /* PBXTextBookmark */; + 630AE617104D6D240091039C /* PBXTextBookmark */ = 630AE617104D6D240091039C /* PBXTextBookmark */; + 630AE618104D6D240091039C /* PBXTextBookmark */ = 630AE618104D6D240091039C /* PBXTextBookmark */; + 630AE619104D6D240091039C /* PBXTextBookmark */ = 630AE619104D6D240091039C /* PBXTextBookmark */; + 630AE61A104D6D240091039C /* PBXTextBookmark */ = 630AE61A104D6D240091039C /* PBXTextBookmark */; + 630AE61B104D6D240091039C /* PBXTextBookmark */ = 630AE61B104D6D240091039C /* PBXTextBookmark */; + 630AE61E104D6DFB0091039C /* PBXTextBookmark */ = 630AE61E104D6DFB0091039C /* PBXTextBookmark */; + 630AE61F104D6DFB0091039C /* PBXTextBookmark */ = 630AE61F104D6DFB0091039C /* PBXTextBookmark */; + 630AE620104D6DFB0091039C /* PBXTextBookmark */ = 630AE620104D6DFB0091039C /* PBXTextBookmark */; + 630AE624104D6E950091039C /* PBXBookmark */ = 630AE624104D6E950091039C /* PBXBookmark */; + 630AE627104D6EC40091039C /* PBXTextBookmark */ = 630AE627104D6EC40091039C /* PBXTextBookmark */; + 630AE628104D6EC40091039C /* PBXTextBookmark */ = 630AE628104D6EC40091039C /* PBXTextBookmark */; + 630AE629104D6EC40091039C /* PBXTextBookmark */ = 630AE629104D6EC40091039C /* PBXTextBookmark */; + 630AE62C104D6EC40091039C /* PBXTextBookmark */ = 630AE62C104D6EC40091039C /* PBXTextBookmark */; + 637BA3E1104D153700331E35 = 637BA3E1104D153700331E35 /* PBXTextBookmark */; + 637BA3E2104D153700331E35 = 637BA3E2104D153700331E35 /* PBXTextBookmark */; }; sourceControlManager = 631E1887104C5D80001A8B18 /* Source Control */; userBuildSettings = { }; }; + 630AE571104D18A40091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 26"; + rLen = 0; + rLoc = 326; + rType = 0; + vrLen = 946; + vrLoc = 547; + }; + 630AE572104D18A40091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 26"; + rLen = 0; + rLoc = 326; + rType = 0; + vrLen = 1013; + vrLoc = 0; + }; + 630AE5B5104D19900091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 26"; + rLen = 0; + rLoc = 326; + rType = 0; + vrLen = 1010; + vrLoc = 0; + }; + 630AE5C4104D62B20091039C /* untitled.m */ = { + isa = PBXFileReference; + fileEncoding = 4; + lastKnownFileType = sourcecode.c.objc; + name = untitled.m; + path = /Users/david/Devel/arch/avr/code/quickdev16/tools/Quickdev16/untitled.m; + sourceTree = ""; + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {593, 685}}"; + sepNavSelRange = "{143, 0}"; + sepNavVisRange = "{0, 197}"; + }; + }; + 630AE5C8104D62CE0091039C /* CommandWrapper.h */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {593, 685}}"; + sepNavSelRange = "{246, 9}"; + sepNavVisRange = "{0, 308}"; + }; + }; + 630AE5C9104D62CE0091039C /* CommandWrapper.m */ = { + uiCtxt = { + sepNavIntBoundsRect = "{{0, 0}, {933, 767}}"; + sepNavSelRange = "{1002, 0}"; + sepNavVisRange = "{3, 1151}"; + sepNavWindowFrame = "{{15, 60}, {992, 818}}"; + }; + }; + 630AE5CE104D63B00091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C4104D62B20091039C /* untitled.m */; + name = "untitled.m: 9"; + rLen = 0; + rLoc = 143; + rType = 0; + vrLen = 197; + vrLoc = 0; + }; + 630AE5CF104D63B00091039C /* XCBuildMessageTextBookmark */ = { + isa = PBXTextBookmark; + comments = "'commandlaunch' undeclared (first use in this function)"; + fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; + fallbackIsa = XCBuildMessageTextBookmark; + rLen = 1; + rLoc = 19; + rType = 1; + }; + 630AE5D0104D63B00091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; + name = "CommandWrapper.m: 19"; + rLen = 0; + rLoc = 396; + rType = 0; + vrLen = 296; + vrLoc = 209; + }; + 630AE5E2104D65F90091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 256AC3D80F4B6AC300CF3369 /* Quickdev16AppDelegate.h */; + name = "Quickdev16AppDelegate.h: 20"; + rLen = 0; + rLoc = 353; + rType = 0; + vrLen = 353; + vrLoc = 0; + }; + 630AE5E3104D65F90091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; + name = "CommandWrapper.m: 16"; + rLen = 0; + rLoc = 253; + rType = 0; + vrLen = 458; + vrLoc = 0; + }; + 630AE5E4104D65F90091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */; + name = "CommandWrapper.h: 17"; + rLen = 0; + rLoc = 276; + rType = 0; + vrLen = 270; + vrLoc = 0; + }; + 630AE5E5104D65F90091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A6104CF59900E73564 /* AppController.h */; + name = "AppController.h: 11"; + rLen = 0; + rLoc = 176; + rType = 0; + vrLen = 176; + vrLoc = 0; + }; + 630AE5E6104D65F90091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 256AC3D90F4B6AC300CF3369 /* Quickdev16AppDelegate.m */; + name = "Quickdev16AppDelegate.m: 17"; + rLen = 0; + rLoc = 377; + rType = 0; + vrLen = 384; + vrLoc = 0; + }; + 630AE5E7104D65F90091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 41"; + rLen = 0; + rLoc = 830; + rType = 0; + vrLen = 778; + vrLoc = 0; + }; + 630AE5E8104D65F90091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 21"; + rLen = 0; + rLoc = 394; + rType = 0; + vrLen = 780; + vrLoc = 0; + }; + 630AE5EF104D66E30091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */; + name = "CommandWrapper.h: 12"; + rLen = 14; + rLoc = 186; + rType = 0; + vrLen = 270; + vrLoc = 0; + }; + 630AE5F0104D66E30091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; + name = "CommandWrapper.m: 16"; + rLen = 85; + rLoc = 235; + rType = 0; + vrLen = 458; + vrLoc = 0; + }; + 630AE5F1104D66E30091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 26"; + rLen = 0; + rLoc = 501; + rType = 0; + vrLen = 788; + vrLoc = 0; + }; + 630AE5F2104D66E30091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 45"; + rLen = 0; + rLoc = 831; + rType = 0; + vrLen = 859; + vrLoc = 0; + }; + 630AE5F6104D686E0091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 45"; + rLen = 0; + rLoc = 831; + rType = 0; + vrLen = 859; + vrLoc = 0; + }; + 630AE5F8104D6B040091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 23"; + rLen = 0; + rLoc = 424; + rType = 0; + vrLen = 859; + vrLoc = 0; + }; + 630AE5F9104D6B040091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */; + name = "CommandWrapper.h: 18"; + rLen = 0; + rLoc = 293; + rType = 0; + vrLen = 294; + vrLoc = 0; + }; + 630AE5FA104D6B680091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 256AC3D80F4B6AC300CF3369 /* Quickdev16AppDelegate.h */; + name = "Quickdev16AppDelegate.h: 20"; + rLen = 0; + rLoc = 353; + rType = 0; + vrLen = 353; + vrLoc = 0; + }; + 630AE5FB104D6B680091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 256AC3D90F4B6AC300CF3369 /* Quickdev16AppDelegate.m */; + name = "Quickdev16AppDelegate.m: 17"; + rLen = 0; + rLoc = 377; + rType = 0; + vrLen = 384; + vrLoc = 0; + }; + 630AE5FC104D6B680091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 23"; + rLen = 0; + rLoc = 424; + rType = 0; + vrLen = 859; + vrLoc = 0; + }; + 630AE5FD104D6B680091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */; + name = "CommandWrapper.h: 18"; + rLen = 0; + rLoc = 293; + rType = 0; + vrLen = 294; + vrLoc = 0; + }; + 630AE5FE104D6B680091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A6104CF59900E73564 /* AppController.h */; + name = "AppController.h: 11"; + rLen = 0; + rLoc = 176; + rType = 0; + vrLen = 176; + vrLoc = 0; + }; + 630AE5FF104D6B680091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; + name = "CommandWrapper.m: 41"; + rLen = 0; + rLoc = 890; + rType = 0; + vrLen = 1034; + vrLoc = 42; + }; + 630AE600104D6B680091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; + name = "CommandWrapper.m: 41"; + rLen = 0; + rLoc = 890; + rType = 0; + vrLen = 1037; + vrLoc = 39; + }; + 630AE606104D6C580091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; + name = "CommandWrapper.m: 41"; + rLen = 0; + rLoc = 890; + rType = 0; + vrLen = 1038; + vrLoc = 39; + }; + 630AE607104D6C580091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */; + name = "CommandWrapper.h: 18"; + rLen = 0; + rLoc = 293; + rType = 0; + vrLen = 294; + vrLoc = 0; + }; + 630AE608104D6C580091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 256AC3D80F4B6AC300CF3369 /* Quickdev16AppDelegate.h */; + name = "Quickdev16AppDelegate.h: 20"; + rLen = 0; + rLoc = 353; + rType = 0; + vrLen = 353; + vrLoc = 0; + }; + 630AE609104D6C580091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A6104CF59900E73564 /* AppController.h */; + name = "AppController.h: 11"; + rLen = 0; + rLoc = 176; + rType = 0; + vrLen = 176; + vrLoc = 0; + }; + 630AE60A104D6C580091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 28"; + rLen = 0; + rLoc = 549; + rType = 0; + vrLen = 859; + vrLoc = 0; + }; + 630AE611104D6CAA0091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A6104CF59900E73564 /* AppController.h */; + name = "AppController.h: 11"; + rLen = 0; + rLoc = 176; + rType = 0; + vrLen = 176; + vrLoc = 0; + }; + 630AE612104D6CAA0091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 21"; + rLen = 46; + rLoc = 342; + rType = 0; + vrLen = 859; + vrLoc = 0; + }; + 630AE613104D6CAA0091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */; + name = "CommandWrapper.h: 18"; + rLen = 0; + rLoc = 293; + rType = 0; + vrLen = 294; + vrLoc = 0; + }; + 630AE614104D6CAA0091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; + name = "CommandWrapper.m: 22"; + rLen = 0; + rLoc = 445; + rType = 0; + vrLen = 1036; + vrLoc = 39; + }; + 630AE615104D6CAA0091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; + name = "CommandWrapper.m: 43"; + rLen = 0; + rLoc = 1029; + rType = 0; + vrLen = 1089; + vrLoc = 24; + }; + 630AE617104D6D240091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */; + name = "CommandWrapper.h: 18"; + rLen = 0; + rLoc = 293; + rType = 0; + vrLen = 294; + vrLoc = 0; + }; + 630AE618104D6D240091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 21"; + rLen = 46; + rLoc = 342; + rType = 0; + vrLen = 859; + vrLoc = 0; + }; + 630AE619104D6D240091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A6104CF59900E73564 /* AppController.h */; + name = "AppController.h: 11"; + rLen = 0; + rLoc = 176; + rType = 0; + vrLen = 176; + vrLoc = 0; + }; + 630AE61A104D6D240091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; + name = "CommandWrapper.m: 43"; + rLen = 0; + rLoc = 1029; + rType = 0; + vrLen = 1089; + vrLoc = 24; + }; + 630AE61B104D6D240091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; + name = "CommandWrapper.m: 54"; + rLen = 0; + rLoc = 1154; + rType = 0; + vrLen = 966; + vrLoc = 145; + }; + 630AE61E104D6DFB0091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */; + name = "CommandWrapper.h: 18"; + rLen = 0; + rLoc = 293; + rType = 0; + vrLen = 294; + vrLoc = 0; + }; + 630AE61F104D6DFB0091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; + name = "CommandWrapper.m: 44"; + rLen = 0; + rLoc = 962; + rType = 0; + vrLen = 980; + vrLoc = 145; + }; + 630AE620104D6DFB0091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; + name = "CommandWrapper.m: 44"; + rLen = 0; + rLoc = 1002; + rType = 0; + vrLen = 1068; + vrLoc = 86; + }; + 630AE624104D6E950091039C /* PBXBookmark */ = { + isa = PBXBookmark; + fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; + }; + 630AE627104D6EC40091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; + name = "CommandWrapper.m: 44"; + rLen = 0; + rLoc = 1002; + rType = 0; + vrLen = 1147; + vrLoc = 3; + }; + 630AE628104D6EC40091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */; + name = "CommandWrapper.h: 18"; + rLen = 0; + rLoc = 293; + rType = 0; + vrLen = 294; + vrLoc = 0; + }; + 630AE629104D6EC40091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */; + name = "CommandWrapper.h: 15"; + rLen = 9; + rLoc = 246; + rType = 0; + vrLen = 308; + vrLoc = 0; + }; + 630AE62C104D6EC40091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; + name = "CommandWrapper.m: 44"; + rLen = 0; + rLoc = 1002; + rType = 0; + vrLen = 1151; + vrLoc = 3; + }; 631A51A6104CF59900E73564 /* AppController.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {593, 449}}"; - sepNavSelRange = "{0, 0}"; - sepNavVisRange = "{0, 614}"; + sepNavIntBoundsRect = "{{0, 0}, {593, 662}}"; + sepNavSelRange = "{176, 0}"; + sepNavVisRange = "{0, 176}"; + sepNavWindowFrame = "{{15, 60}, {992, 818}}"; }; }; 631A51A9104CF5B700E73564 /* AppController.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {933, 1261}}"; - sepNavSelRange = "{782, 0}"; - sepNavVisRange = "{597, 1402}"; + sepNavIntBoundsRect = "{{0, 0}, {593, 662}}"; + sepNavSelRange = "{342, 46}"; + sepNavVisRange = "{0, 859}"; sepNavWindowFrame = "{{15, 60}, {992, 818}}"; }; }; @@ -122,6 +700,26 @@ isa = PBXCodeSenseManager; indexTemplatePath = ""; }; + 637BA3E1104D153700331E35 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 26"; + rLen = 0; + rLoc = 326; + rType = 0; + vrLen = 376; + vrLoc = 547; + }; + 637BA3E2104D153700331E35 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 26"; + rLen = 0; + rLoc = 326; + rType = 0; + vrLen = 946; + vrLoc = 547; + }; 8D1107260486CEB800E47090 /* Quickdev16 */ = { activeExec = 0; executables = ( diff --git a/tools/Quickdev16/Quickdev16.xcodeproj/project.pbxproj b/tools/Quickdev16/Quickdev16.xcodeproj/project.pbxproj index 2b2e569..c5ccda4 100644 --- a/tools/Quickdev16/Quickdev16.xcodeproj/project.pbxproj +++ b/tools/Quickdev16/Quickdev16.xcodeproj/project.pbxproj @@ -9,8 +9,8 @@ /* Begin PBXBuildFile section */ 1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58140DA1D0A300B32029 /* MainMenu.xib */; }; 256AC3DA0F4B6AC300CF3369 /* Quickdev16AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 256AC3D90F4B6AC300CF3369 /* Quickdev16AppDelegate.m */; }; + 630AE5CA104D62CE0091039C /* CommandWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; }; 631A51AA104CF5B700E73564 /* AppController.m in Sources */ = {isa = PBXBuildFile; fileRef = 631A51A9104CF5B700E73564 /* AppController.m */; }; - 631A5252104CF9FB00E73564 /* BGHUDAppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 631A5251104CF9FB00E73564 /* BGHUDAppKit.framework */; }; 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; }; 8D11072D0486CEB800E47090 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; settings = {ATTRIBUTES = (); }; }; 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; }; @@ -27,9 +27,10 @@ 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; 29B97325FDCFA39411CA2CEA /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; + 630AE5C8104D62CE0091039C /* CommandWrapper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CommandWrapper.h; sourceTree = ""; }; + 630AE5C9104D62CE0091039C /* CommandWrapper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CommandWrapper.m; sourceTree = ""; }; 631A51A6104CF59900E73564 /* AppController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppController.h; sourceTree = ""; }; 631A51A9104CF5B700E73564 /* AppController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppController.m; sourceTree = ""; }; - 631A5251104CF9FB00E73564 /* BGHUDAppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = BGHUDAppKit.framework; path = /Users/david/Devel/arch/osx/code/BGHUDAppKit/build/Release/BGHUDAppKit.framework; sourceTree = ""; }; 8D1107310486CEB800E47090 /* Quickdev16-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Quickdev16-Info.plist"; sourceTree = ""; }; 8D1107320486CEB800E47090 /* Quickdev16.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Quickdev16.app; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -40,7 +41,6 @@ buildActionMask = 2147483647; files = ( 8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */, - 631A5252104CF9FB00E73564 /* BGHUDAppKit.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -54,6 +54,8 @@ 631A51A6104CF59900E73564 /* AppController.h */, 256AC3D80F4B6AC300CF3369 /* Quickdev16AppDelegate.h */, 256AC3D90F4B6AC300CF3369 /* Quickdev16AppDelegate.m */, + 630AE5C8104D62CE0091039C /* CommandWrapper.h */, + 630AE5C9104D62CE0091039C /* CommandWrapper.m */, ); name = Classes; sourceTree = ""; @@ -120,7 +122,6 @@ children = ( 1058C7A0FEA54F0111CA2CBB /* Linked Frameworks */, 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */, - 631A5251104CF9FB00E73564 /* BGHUDAppKit.framework */, ); name = Frameworks; sourceTree = ""; @@ -183,6 +184,7 @@ 8D11072D0486CEB800E47090 /* main.m in Sources */, 256AC3DA0F4B6AC300CF3369 /* Quickdev16AppDelegate.m in Sources */, 631A51AA104CF5B700E73564 /* AppController.m in Sources */, + 630AE5CA104D62CE0091039C /* CommandWrapper.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/cdecls.pbxbtree b/tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/cdecls.pbxbtree index 4c2cc5d870f47c89fed16455ae2f33bb50744739..69a2cb02a54cf236eb7dbd5b9718906fac49d5fd 100644 GIT binary patch delta 2623 zcmZXW3s}xs9>>r1|Nj@si?@19ikR5wB8yZCrBO&sm~kujOCgy-(~$Lyaak&F9IRFr zV`pVV%&|sgTz1@*^>?@U2YFZYRTdq<>R{tH>H=$3;TW~uUhP??J6JIf1i?j9wlLmt-g z5!A1lOoT2`(-LS1t9R&)3DleW*|4s+&T;Z6n3C3ZO1^1DNq^V`aLik%^NF+zyS_oQ zB>Iq3KlNlVo#M06A;?)Q{3RgJd7gsYdO}ISW2&>0>Ds>X9Sl{b-PX_q8?~#{tu#`t z-%96eYa10!WCCi7wQV=`>6XA3<$u@dKK`57!fY z`T>pbF#IuCCx>?B>|8rXJbL*9SigXfp6?PerOIe`o2Dw6CU&^Ye>-&l z3F!y2>KG}uIQh)K5q*0(TP;~sm7bH&#=aqkpzX){@_u$Yi2Ca-HLRs8ZK?L(X9+%u zahx>#KuO_E_P=P)2Q0I{=QuRp50Ws?d9Y_e#%ivTH=DltKv&+n1-A2Y91n3DhrM5e zNqvZjuarwX_fw(q{E*9W_-=!R`p01&E_Nv_Df)=oQ#6qqf;;OaKQ#1)+?^@;AGp|aP9_gWO4E)>>u^XK;iDiT36_A zVnn5FnarqYXU-aTpVw~yBGlZ%gFZ_MdvH0#-Rd9=%&syHXz= zeNgPCvM-vf*H1ndrm2Q3r$RLx5&mWo8t?HE%IByUq-P%$X|Al!p}#&Wg1xAxqW8oE z^EsyC?GVls!&jA+NU2xd6H8L%2=up0+oR-D7gbV6WedAWHZ`H-7dt0EfTwn@0{hDp zBR`3e{3P|Svxc`W=r1>gv13&_c)sk~O{E=VLQO1{&5bUYN4P`1S1PCL+EV$flPVj9 zIo`M;yS03@ijg{SKOV^jPQ-H+a#gl9a#u2vyHY1!l^!nCN2OQG5$aI2Y|Yb~bLY5B zyYl~s6#8+sY#L&3zyQBIL3%&qB_xqlTPGu^Nj^f#u-FUO^B$dy z6qPrU3cbFQQDn+l2tTgF!i*S6zt&mZjYuy0!?#KAi7@;+V)U=ljbzn+ywP6AjW-07 z15x`YJ!qm4WEnZ=InSXNW*Aqf9D|B-{q{^_mK8W3`W&dkNl%8|4$PB`q``g$x*42Y zy2i2h4&{HH3Egy_ae}d0hq|)B2*!tgxxfflL)KcBj?FRNl$~1O_Dj1eN!CF^Tq8J1 zy~{}6DMr5A$%q|$w_-N#ZggCz_AfF5)wM;&R5=mlgE~IX_*S^YLcbHm$$KiL%Icxh zJ~T$V(Hvc|#uz4OuC^)Tmf2wdf;NMiV~i|2&&aor87ac`(X$yRt6wrQ8g+ZMeY5eM zu${!x&wxwd4p^k!wi(U{xd1We_4b>_mzu&okTq{9QC?`E&SELl3)VbcsV+~&V(|V&n^__;=D)7*Sky9Cz)B|4} z-f;MqD_etchow36PYuRQQ-;E~R8JFTcFV@}wp6XB8RfC66(iH5Il1jd{tJAE;Knnn zr+S$e;@I~N-D`~5qM2<9`ltXYxPp>kx2Q2Q%sRL6kOx4Y=Zt)y(lbm?`y~`#R5LOF zu8Vj#d!byQS7n$xsZoz|{an?1rg=s7fnRCIEOSYd*C(MQ$Bb3q=a?OvCFXL{NN4Qk zV2Ad2-<(Y49K@f{i*wCzZ?o|m?yIy^OtoyQZ>%%Rq^f>tNaks%nE9q%m2NVlWK2FM zV^vtO8Khekn;l)7j7H|SL6>>h^kffaS7{5e(6k+9ktL5JdycA_-%aWz5*ZaHyX#}OrY}5vn+L}(h8M>G3Yk+q|!?A+}-Bk zv&Mf$HL095X-7yj{wxe|2vt|Z!qmPMGS+O2*j8bw&HK1Lq=z@IbMWiK5emH$?0C*e z$_qwR10xSsadNGeleB-n-i24UiHfbVgxfj{{OXXwo@qR2*{UQ`NcBmDGA+?hK~%cY9rZjgdpR9z~p$aPg#lq&d%%7NE7nT@u819`}%FxZbk nR0t)Jpcm*39yVs)98S_vr$H=yeL!C@68>oToa%#0tH-|q?Uvz5 delta 2610 zcmY+GdvwiL7RS%~_e+T6Cb`K??#+XQh!6>eL_$0gL1=;oRV7l@B0;E8sghJnX-VRS zgUX2UnpV^!II1h6qn%bCsza#P5|!$zM;p^oLs^|Kf6Q8Q*ZQoz&))m&v(N9m?wRtK zGvzUr!J+RBqU5qa`QI-XS}#hf29MIs(|GK@+D}5|Ah#ej_0wH5ecR_keIJZ|nUgdS z1-%r+LhlK=+IzP{6pgHR#^eOCwx0UJ-idALhxJv1mJ68=|K9qD?3;cx-0PF?w$2Aq zGUAx+jmiJ8z9s+gSQ_Q6smpM;h6(bLN01iC+aMSE3t*#1crVt)*GKOzN|L>itg621 z@}6hqNT`1^S*bLtolJnfOi$0I-C2dpY|N(N+#P@^J$;gsUlJ+tI4QXhOvw<)Y$w&H zhtqEA`UXmJe=#hF{>-Uc-+79@=q?Kt#|G&jo{LbJ7EHmDx9v-Aj=jp_l31%UGOrLY-sI zFJp~Vx}pDB*Sy7krNO#t1?v-j9@TY0rSF57;e-qZCHEMqvCa1@*lNkPHJG^-Y*Htg zjK1%fri1Lu1R7wrTxCJN)TIyJWZCY6NHQJnPa$1MG!^>rOimu&peFPdD;^R$7?!_) z9Mm};vK|zz<~nz?6=4qd;GRGlq?qUyVtR9-O4bvzc%@G!91C26 zOg4A3`0tVJdm%*yNM1zAQl#w*eJz;Y#7Ge2EaP~A*Y`rLpKjoj6%E%NYk6*X3tans z81Y@l$c}PGsGE|TXfIl7R@d?i{xTi`Zq$rL5Oe7O zpBNR<9+pL*WgaJEAU^<3%1Jt;Hu-0GPr7fpE;T3Oguja& zIBG6rh@+u00>)QN%{Xy|%RfP{H095V$(A>-kI*fJB3eg3FVe%`z(&0-7`YFczzs0r z5haC>%!KE~%64?3`JqHyiQn7$TV1JyFcbHP zW?$OD^gAN6thz3i=F2|Fx5hZr<*zqEPR`&*wi0u#PTq~z zc`M+X^BEVq`K(OhAB73+e@;5BCgkjdBNuZ{wl{g_WPlI#=qb%|9Lx0RL(MYMTTmRV zqi;)LTAO9t?#?Rgt3U2=a_HZj;b=*0$P%+sJ0dJX+ zQ&obkj$vW`;W3Mg)LAO~!?D3UGfU03FD!Jn6?Yl=Zr0M>9Y$}qIaIRm(E*j+h#zi8Y;U5;c6^6CrQZ>LVQy>iN>(`KQL1E z1tUN1V#Jxn$;vsLgdy|GdfyTir!Os0Q)MRFn@v`kx+r`)K%bD#$v6}Lrtv;zzX`5>!pK|SFmkb#k!qWhly;n~e#A&W_|_ZeX7!_R48{87fHB|| zeEI_8w@rCdKfbOF~2=jvn=U=t;kFl*1RBnYKM~gYN(YF(tvUw!BYrU1v4_EA1B}YVGRf_L|G|ea;GO=NO8ptzZ=Hqppz4^>Z_=dwv6;z6%EahmlEoN|6=nJdEc3W=4j= zbQ&+L3+;JkRgtxes;2pzESsoAI%iEnbH)QVR> zp)ti{LSD6|Q8^mnyG{8bt7o|Nc=gipWMwqtL|j^D?Umlv3gQ1ws3Pt0Mmaz!cImsD ztYLJLPOh;MOmL0W*|$v{G9E|gDHtL*ggJG=VobGQr&Vq1me;K$U2xyBcXr)tEs!3B zEilP(_PI>v@EG4Bds?LbZfrIGvG@mpt+u0q>5}cNpLb5NFvnKfc`{-c`fLOK*xN%O zw}2? zA@#sUJJk938Q2K^?20|8t^zM|Tfxe(W z_!+*wb2-U^uNDk|Z6Fu~#={;7+d^G)%0 z!S>`(Lhjcmj@t8d?ITMDZlxsYG$UVQ(kYniG%Q}wMxLst9#<~idR@fo)&WYiyPD5Q Sn+}BZ!{4OE9(|<2p8H>@4#hkG diff --git a/tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/decls.pbxbtree b/tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/decls.pbxbtree index 1d07e1a64c6f30dc4414a54da31c9fb25eda41b6..aeb435c79c810d5e82ab9126eab7ef88c9411289 100644 GIT binary patch delta 2594 zcmZXW3v`Z08pmhmeP`y4RFY5fkvCr=7mPw#f)oP2hgX%#EITmP=o8UP32GoG-fo4f;O697C6+GW% zlDY#^R_^G>lOWXruj55l>)%0oKvFX!uN~N0-!7UjM)R)+s(+a5McbD;AIAnwL!e%^ zNmk%NI&2==sj!8v(*BS89w>Y4384Ne&5x$G8$Q?|KYdI87hT~;ulV!92=KNliKNlI z2jm)E6G?Ntcnb7p6%$88`Ad)=>$Et!-kZM&{gJ-jho&;tWb3#@TII_g+4`GQx}Qr2 z-ufS}3$=X=P0=^T(B}s5AsDbl-z%n)vKMUqa|ylb@D70A;3iH+oFMAv&N|L&2pK|v3Fxp<-e83V|wyiohvt)MvUwURU+Yn4I z=!XHuidH-k12*WwP-9SpS0*afzGaE(Op=j9+o+z&MhBIdY&@@5CL4if{1`az04wGi zWFl-i$h*MEuV7b!sELdSFb{nr(0*5+8Df0c*Xsm=eg&54jfKWz7fZ4AhONeJ;+q~uCFF!9%$RNZ0ow)0g)eNfBDDA@ObtYaig*Bvn@OBQibM}2HY zNgATk>dg+a3~Q|nG}YXCGsO38G|nJ1PXIyj-l#V_>e_nKbkU{y%uRDD<#Q45gpR*u z-s-|edvuVKe-O?Wpz~9Gq8BgCaP)#+3kD%^V_|pdyb}H(lD1XTs(5ej^_XHG!Z)}~ zwfi6sQ3tDdC$;aYVd?Ly`1j%JqY7rKYiWk5nlADYYTzXvD98Cz0(AN%ekF#+x9ox4 z$i)>y~G&|5P^z7>)SeH8ej1~XuffKcc(*zKyzbdm1-E#yJ4 z2WiJhqD{D@|h(f_`T7D+*5Roh%R+IEaewP z@$$38MIY2QX^FTT+Bt%fvO-4A4`pOenjn5njFfehzgYFpGV0W$3q+(pU7{DP6X`)L z%hvTf#SqT3v53RkSuQ?h)TOTP6I1=CBGVg?*4Odq9QbmUfvh``bxb_FQuwt}+cK!B z+($&Fa?cR~t)J{7faWJ)89_w8u%H< z;cEs-T570U%VnC}u$>T~y1He!a<4`C$GK&gTI!aa+Qb#WdFg+n%iU5?{t6aVtE&rT z0apz%(o%^-VHAaTva&E+x&=>7u z?X^X2ZX=VS|A14aBEjgW8_H#*$w#8=J^gUMoM7-f?-FuH748)sRD&DK3_B@I?XHsh z;>4zCLV{BieaBj)_uiC6DW&c(Qxy*|%uNeXjaOr>VA&JdnegN%*R_`{v z4`x`epY*fxeMHN#J5cL|BdnSJ?18PXPPIM@pl5aEd@CnFWgRuRJztVd_YJZNS)75d z=_Sw?fk)Y@|7xqh=$=PN_dL`mN^e_j)wW@cF6EOd|(WaJij z?hzyH!FgYUY(uE=2(=Y95q2yn!V$iFj&Q25YHOf(%jlhlERurWf@QLw@~>kZadNm+ zw<;@;569}askADqt5EnorIJ;9j}@f4c`Q=}R$0Lz!6Phk7Eb?nv!Jg^U8=HjLRzLk zuxD=1E}y3^xPW3eX{*`JL-RvWKbw+AAcPvEJKC$2!(;VMv9V2C2*j(l{9c&&ib49} laVhA7GkO51#P%M5_C|0c-yri~PXQ-FO@^&hZ+fiMe*@=`+Ts8J delta 2620 zcmZXVdwh+_8OLYdd1vO0AUR2n59WwRE+Vud6qYlB5xjzvRj zN%lmhyJT0(y318E$)crOmK0^tb#JtkR_l{3)+MF;JNc`h_Iy6y&+~hp^SsYH^US<6 z_a8;ve-u#^6udW$k~4m!^|$??L2OXHDJdQ_L^baEis0w-WYTqene9x<5d3V(VtkiQ1ct%@UQS8j)VPaln> zIX*lRdXGV%m0^6%}S8ERt>)d^oP3GZC;EI^sZ|Or?^{Ax2 zKRsoTIM|;9dD)KxwM%I^J6yIK*A*SRL=?aogIe%3I9R&2_vvT*VzTOm*i99}{{OQ%JxRW}!gd zpA3@VXOcHYFmhxuBOh|6Gq3WS(KJBCGqIm`R5zK(kvH&6PnYRgU~{PR=a{K;O)*Ti zE5;I}qr@nb+N+QHia|d7b?9Qv?IPbn>-5rCF}fX%Q>PO}VVga*R_jh2Q?IjE z$Su>+X(Gm#PS)cxM7jtchgc<;a*~pejf9K^cR)0@fD`e>`go@JR`7V}jk+vLVmID9~mBv%(Y;= z-6Yp446@3_$ZYhi09&p*;_K9fbHd4!A%CI2J16p`anPk_{ZYK=Wb1(70#FjiNJrR3 zdck8cgHoHi{6vJZcnti}6A`V#z86h=01`gY{He${ZNo6NbdU*_U{6ic8(Ksm=QiZb z)pjZ`wh#v`-wS5OB=1_v?{8q7Qw_V?4%{N;NN)if8o z{!+9|avVk8OXR%^J_<6(e?lmkoy^Fem2HOEOCg=>Dcxm`AMcBdkM-$(GO?>_Dz$h- zI49Ra7?~&0{|-1ej}r0;n%xI^MPS5S=6UdKPxZTH`2NOBw=7*UT{a1P@r!b0U*non zRp-hPs?tYTb$K$*PW^TKN~vh514q$~lZ*^|#mIyejAUXlQn8nsFw}JP>iQ~~p?bTe zt8@!B)mv^EChPIn9GqBNSIJJQ$SvEp`5PkB@nCF$E_X{o`I{KhLEW%g7I2R{%v1@5 zGJ%z%-26fru1gB#Au@~A>KnjasQ!U|nQY~^ z7v6KWzD_S5Y0U~WHiqb1Q>|};Xojv@XypW{qFBZw7D`h3JtOPU%;P9{8e9Mry>Wpg zbRco1mF&s4Me6MvtWyDocB=MDcF^u^RyRlMDUiB7QII@Ld^Fy-54;JT2tuKkfk@~d z!)^i!dMxY#;D!!>{fYO~bovZ|+zwJyxVE~eBXw2~kAeSFb-B*!r3RJJB$c8q%W(+7 z|GPgB+vdGPa#Zsp&egbjtHzOz;4aWOmy#Et6E5i>`14hGgVlG4_YU_Gf-U8pgZHlQ zjK7zH|Gw+P;V%c?yFL@P9C+{hBv_@&8mx4cGKE`g8M;-lQYNeBS}Ub>S(!UqsES(4 Z?)08Vx#;NsoJr(UJmWo=)Z|#!NL#<#J7O#eL(ykL`$(StN@C20NKtG zEEByoC)Pv=2>^BQa56Bc0O^R`ObjN{6Yo`RPGDRk$*e8SGP#gNb+Q8s$3!2E$M6r;~3XTGV@5YOfF2fq{pUfk6dG9|FoP@t=4vXflt#$L0n`6~D;}5-gJ! Pn6mJqX_cPrWUK)I=m{XR delta 114 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 Jy2iK){{`&bRm}hZ delta 3528 zcmX|D2UJ#95`J^b0SP&vcuwv9$Km}2;U^{YlF|nXe zGiDbR4Ym_wd+0UBL~I*1wyc;nmZ$+N2NN;ISfa_!k9+dYnKSp^H#2wUo4Ipu`NgK? z7n>Fb2EEw`w4Pl1>+4ISD533*ZVnB1?+2}v$gV(hDQg(Ka6x->NV7K3(wyHc1o~O) zn+145uC=#iAK))s!hG6lu~pD|rvVeK@PvHes|;aoOpLTHCgylSq7^?NE0WE3TD#_4 z4TVH=X~{;fhrvRdKvHeickxm*PNwnj^yV5YTca{>hI zC$RuSXp`vgNg6w8JdQT6`Xt;QO5+c5xE5^smj!S)8Ea7%YZa8`Fm}MOe%^XjLcVo+ zXAqdxpPl80J_c*|u8sl*TDSML0MlLWbPan2+IvK6PcrS~H%vQDbTyi3VLqA_UH&

x(=1Yz*kO@$S~&+xb)RHHtrCQ0Ys9ROBV7QWNqxKdtilab%;2M=d3ms~@{eYK zRe5ZL@S94~iD9}nVx^|l7HL+(*LwkTqGewz=Cnh=0yF8H%ba-bCG;`JpTFz%YzWiL zcbPTlLTVr+o13bF%)?a?=7Xx2UPTKvEpRi#cE@F`<*sqG@XaRMMe}qm{4%4Q^{_!S z@S%plJUis7dv?ff&rTWY-B<_(%=}RVs%2e4gyW(&g$>t@g$8Q-Scm|atiBxw{|L6n z62`4_xfX_F7C?}_FHKX)a)esE0REKmgJ}NF46bz}3ZZdJ;+=^j@l@iAh&LkMy*+5% zh`JKJMf5YRcb(3)UU;++0-C=;BC)jGlV~rQZ%*^-JgyBU-Wa&nT|Fs;!M@~G(rTCh z{E|!HZWDT`XC{<}Fx^o9v|y?qq@w*epwBrfiWn+{_epHyaoB-rC*Uy5QT`|4zYws1 z{$vkjn$?kMdx+ZBa%rdZdH#Xh3Cux>^&$Mwjm=>c>c4OPZ*c>NL9mjs) z$I_V^G@dQ@gBEyW2CIU%@#svpgjlaxY@z;?RPPq3Gqc#C2EP4iawZ$JW`shZTD64b z3oPzLxpEY-Jv@;%KT^a-VnQ0LQ;rXqjX|0UUdGx3JL$sY<*YT&&C*ofayBp=M&Z!| z%;Zl9mBEU|@>&{vsMu#J?jXC>1cqVr3v8j^41(wSGNxq*fcA(awq0PiF~Ba?;l(Fl zQyso#C%o-JR!)JeU%#+LYCrke{ayvyA7-Gs?4`a2Q#-(|IW`Yf(BovAk5V?PA2 z28LSjl5K9v{0$Wv#8<~dH?=>Vn+(RPq~SaZ_)H4O8o^ts>m&Fwzu<5(G_AimhhW=Iw>D7l{}8KGcFvpnm2{NsX43pg>Y!2k`8lMIF`ogHq5T!bvG3T?Ey{ge-~F}tz9lW59V%QBVB zL^5L$Th#_3-Ui6P+fsDny~taaE+QcflXUT?8sH_I9Gc;HZ!y81K!NwCK-1M_Z!wxf zE9}xxw1CE#(NOe+x75cCMSp-Us>VxZFk8ir6nVfqlI*9WM6MYcg95g0+_N=>@+(>3A{Lmev4wUC=@Ra z&}}{m+n6?M2h(a?LYezSb82=sWS}~0iI@gdcCtb!tV^T{s;Cex*-9tgsSxkkR}q^1 zZ!#?zQ;&))RdG}Zs5hT897q(TP-l+`w>QkjpU#R;*mo|q;v502D$k3$hI${0aR+&Q zL#*(Ib}HkZ@Zq>9Mi)4-R-E+_a63N`r%=?Y+mHHaTm#T@ z>G((D(nq3-e@kUldj@*oo?k>|y(edvP>Gdo0|%Bo7UdYWo%(0yuOi~LpPrCZ@e`2_ zW{aquun^Zi6<_lWhET(wiC9qUo{LNY2k`kT5e>bu;~%0ATjNx7{}5dP_sk^agMW(d zz~7~PFMP-vqXXn?fISE(LLjjbWTOm}ro9Peb4>?2Yq%*;Cir|wp}eA{_eixWP@W?P zQV4X?ax{?*1g2y#f$pXlC0EQRsd%8(aWyn(+M@<79VWa$oBnoJbf z1P?Wn(;;6)z9C(d@DOQWL5MtPwvTeED7O?GhO5{XlJ4qw?A22K?p;ci*qw820ayK6 zNpFr7F%(yNm@EbUkequOE+g4h7q)IIL$NfM1!87fIl~@DyTw0a+9B_KfwZ>lYs|`k~=RM?DfR1WpPubZ9Bh;!s@(6&xN==d`hjCalK>m)^ z17!(1X6fmwGFj#{f$^%>cn^*P@;qnieVIn*E}QPDffHmc(AZFEljL>qs-W#pkXIom zSTH{l&(z>7xru>NPo~IxfVpbQG}?{NqH=DRD3DbQ?T$W=_c_sj2lF! zF6Aca?3^!SsN&~Io1eWm*J=~Fc8EN@NT>VpayipeMgd#>tC`6dAdX!PNapx9U zjCE&tpc=4MW&__+-^y310o!Gmcl{dxXYZ2}`D2Ra<~|94)s|cbV{m@C4C0OH@S5c^ z*OQ$BRd_%;7z|Wv56V9QvT*Go8RB=4eE5|D%OaXX4qAs~xYvDJ97B_9hh!?BOGes# z;W1tKh&u?}L{)NFI(5uxNj>n^hf?^gea^M*FSyp1M2{bnJ*e-VkO%8?;N!G0t*Z~c z`+PNZ;e<@`;Jv55f2vdemiHLA)!x&x1=JrkPH%bK7%T7NiErcs{Tli4n+tcHl}%7A z*BzK*P(p8=mFXZ8=-;Ope_rNcF_%%Q`n-H5AVuA{B%{6Rp+x63nTZA0bNuSa%0$X(HSs|d@n}Dpi_U5phHs~_2UszOu8YJPS>6VPuYQGs zZ{T@*k`KPRV9+0H{Pasc0|>hpR91du;D|#X;?b>qEm!BSC-#ANRF@3BO5&os%!cmK zdKzCzqIskB3_g%5*RO*d@6oxZ++%bCHtr*;gYFY_2l$*L)BDD1+ROb6ZK00pBizgzK>(nRy`1+Rnk_ymfGxJ+7V^?GJcynLG2Z~m_6G61Hh($ diff --git a/tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/strings.pbxstrings/control b/tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/strings.pbxstrings/control index c2d0bb443b89b2c1fb46efcb7c70478108635817..0505979ae9cf588bc337dd60f3e9be1bdd6782f7 100644 GIT binary patch literal 1048596 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ɆJ|cALjiul*2To$ci7u;7R1dxu+s_&@CVFNvsnG-LjO z{+IQ9M*IW(@gjNIm-@$}MzFGC<{wXTKgisE^gj_;pG9)!p9p-9vi*7T4FdaE;j`2m zy&RE#`y>5EpXfiHkJr^RPvUP}QW$Tw0ioR|4EYA~7gcGEzk$4wxf5s>#YI1(--Mxm z+~+x6l$XZegyDY9JO_OffcaCrZxn(2G22?OgY|7=Zj^0jXg`%?^`tWQGath8&fA-T z^R*nx4s^s2uLM!tnc+Y@;HQT|p-BS#Syr+MX5zXD;6WO5s{D&F1pwU}g%%QwV z)2PS^`TVuhAp$<-i>81|i2s>`Ef*Q`g+!3QczYcmi;}Z99im7UdCmRNCpJR4XY5-% zmVpZkyu~3LYM9iJn2qP(%G}?4;uy65tj$|o{T82Q;OEWW;ujo>>i=w&=;54q_L@&( z5qJ&HG?>H%qEa*LkC(SOq!35S((afP$%6M?02zO%bIDE8aQ1d_&Hgi0q^lm4W#X4q z`93O(LHws4hvb>!7k^gECpSWW?mZcmo8^e|_;5@PdGexk9(2g zlOh7+=$mp@1>|pNztX`XD⩔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%0A5`kWLiwEyL|IyqH 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 MiJX#|C7J72;UC8>ShN~8pYBq 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 literal 1048596 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ⅅDUB#*|uKcen2kyr4`4Gq)Ac^$x~qW(b+H{|V{ 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 h(#vH) diff --git a/tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/subclasses.pbxbtree b/tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/subclasses.pbxbtree index 6d89400461a93d6ca389d523f57c18bb9f6a25d6..ec5ab71bbe224e100c26a1419910f7ce702fbf9a 100644 GIT binary patch delta 47 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

    =kF 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Έ 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

    *Ty`t&|W)B7BH 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Ϥc+B{pkKY>q^YN1L&-X;dU;!E? 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 z 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
    +8{uri1G} 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
    M{_OF(;jl;j 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 z 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 J^`Du?_}}N}F~tA? literal 2156184 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%0ADw%E>;LGo{z(r8BXn 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

    Oit$74Vj*d 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 z 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

    G7iJofd* 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

    `~pA){6PItLVFUY2R9ne_Prno$&H03eH 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
    1G8KV9B%9NnYyx&p4EeqkTybz?l@do7RTUhl55 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

    (7SWIIF3P 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

    j`9I_&-?2-%Lm-v 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 Date: Wed, 2 Sep 2009 18:07:15 +0200 Subject: [PATCH 2/7] add some NSTask testing --- tools/Quickdev16/AppController.m | 11 + tools/Quickdev16/CommandWrapper.m | 3 +- .../Quickdev16.xcodeproj/david.mode1v3 | 67 +----- .../Quickdev16.xcodeproj/david.pbxuser | 206 ++++++++++++++++-- .../Quickdev16.pbxindex/cdecls.pbxbtree | Bin 573652 -> 573652 bytes .../Quickdev16.pbxindex/decls.pbxbtree | Bin 571880 -> 571880 bytes .../Quickdev16.pbxindex/files.pbxbtree | Bin 7052 -> 7052 bytes .../Quickdev16.pbxindex/imports.pbxbtree | Bin 20476 -> 20476 bytes .../Quickdev16.pbxindex/pbxindex.header | Bin 24 -> 24 bytes .../Quickdev16.pbxindex/refs.pbxbtree | Bin 436276 -> 436276 bytes .../strings.pbxstrings/control | Bin 1048596 -> 1048596 bytes .../strings.pbxstrings/strings | Bin 1257908 -> 1257950 bytes .../Quickdev16.pbxindex/symbols0.pbxsymbols | Bin 2154184 -> 2154184 bytes 13 files changed, 212 insertions(+), 75 deletions(-) diff --git a/tools/Quickdev16/AppController.m b/tools/Quickdev16/AppController.m index 8f6f719..4ca0357 100644 --- a/tools/Quickdev16/AppController.m +++ b/tools/Quickdev16/AppController.m @@ -24,9 +24,20 @@ - (IBAction)romUpload:(id)sender { NSLog(@"romUpload"); + CommandWrapper *cw=[[CommandWrapper alloc] init]; [cw doPipedCommand]; + + NSString* myString = [[NSString alloc] init]; + myString = @"test"; + [textField setStringValue:myString]; + if ( [myString length] != 0) { + NSLog(@"message: %@", myString); + return; + } + + } -(NSSize)windowWillResize:(NSWindow *)send toSize:(NSSize) framesize; diff --git a/tools/Quickdev16/CommandWrapper.m b/tools/Quickdev16/CommandWrapper.m index 6ba1f28..00c3753 100644 --- a/tools/Quickdev16/CommandWrapper.m +++ b/tools/Quickdev16/CommandWrapper.m @@ -41,9 +41,8 @@ encoding:NSASCIIStringEncoding]; // convert NSData -> NSString - NSLog(@"doPipedCommand: %@", textField); NSLog(@"doPipedCommand: %@", string); - [textField setString:string]; + [textField setStringValue:string]; [string release]; [pipe release]; diff --git a/tools/Quickdev16/Quickdev16.xcodeproj/david.mode1v3 b/tools/Quickdev16/Quickdev16.xcodeproj/david.mode1v3 index 75065b3..db2e5e2 100644 --- a/tools/Quickdev16/Quickdev16.xcodeproj/david.mode1v3 +++ b/tools/Quickdev16/Quickdev16.xcodeproj/david.mode1v3 @@ -197,48 +197,7 @@ Notifications OpenEditors - - - Content - - PBXProjectModuleGUID - 630AE62A104D6EC40091039C - PBXProjectModuleLabel - CommandWrapper.m - PBXSplitModuleInNavigatorKey - - Split0 - - PBXProjectModuleGUID - 630AE62B104D6EC40091039C - PBXProjectModuleLabel - CommandWrapper.m - _historyCapacity - 0 - bookmark - 630AE62C104D6EC40091039C - history - - 630AE624104D6E950091039C - - - SplitCount - 1 - - StatusBarVisibility - - - Geometry - - Frame - {{0, 20}, {992, 721}} - PBXModuleWindowStatusBarHidden2 - - RubberWindowFrame - 15 116 992 762 0 0 1440 878 - - - + PerspectiveWidths -1 @@ -270,8 +229,6 @@ Layout - BecomeActive - ContentConfiguration PBXBottomSmartGroupGIDs @@ -316,8 +273,6 @@ PBXSmartGroupTreeModuleOutlineStateSelectionKey - 7 - 1 0 @@ -352,12 +307,14 @@ Dock + BecomeActive + ContentConfiguration PBXProjectModuleGUID 1CE0B20306471E060097A5F4 PBXProjectModuleLabel - CommandWrapper.h + AppController.m PBXSplitModuleInNavigatorKey Split0 @@ -365,19 +322,19 @@ PBXProjectModuleGUID 1CE0B20406471E060097A5F4 PBXProjectModuleLabel - CommandWrapper.h + AppController.m _historyCapacity 0 bookmark - 630AE629104D6EC40091039C + 630AE65F104D76D60091039C history - 630AE5FB104D6B680091039C 630AE608104D6C580091039C - 630AE618104D6D240091039C - 630AE619104D6D240091039C - 630AE627104D6EC40091039C - 630AE628104D6EC40091039C + 630AE63B104D74E40091039C + 630AE648104D753E0091039C + 630AE649104D753E0091039C + 630AE64A104D753E0091039C + 630AE64B104D753E0091039C SplitCount @@ -575,13 +532,13 @@ 5 WindowOrderList + 630AE660104D76D60091039C 630AE57D104D18A40091039C 630AE57E104D18A40091039C 1CD10A99069EF8BA00B06720 631E1885104C5D80001A8B18 1C78EAAD065D492600B07095 /Users/david/Devel/arch/avr/code/quickdev16/tools/Quickdev16/Quickdev16.xcodeproj - 630AE62A104D6EC40091039C WindowString 0 115 936 763 0 0 1440 878 diff --git a/tools/Quickdev16/Quickdev16.xcodeproj/david.pbxuser b/tools/Quickdev16/Quickdev16.xcodeproj/david.pbxuser index 158fbd0..44e4727 100644 --- a/tools/Quickdev16/Quickdev16.xcodeproj/david.pbxuser +++ b/tools/Quickdev16/Quickdev16.xcodeproj/david.pbxuser @@ -112,6 +112,22 @@ 630AE628104D6EC40091039C /* PBXTextBookmark */ = 630AE628104D6EC40091039C /* PBXTextBookmark */; 630AE629104D6EC40091039C /* PBXTextBookmark */ = 630AE629104D6EC40091039C /* PBXTextBookmark */; 630AE62C104D6EC40091039C /* PBXTextBookmark */ = 630AE62C104D6EC40091039C /* PBXTextBookmark */; + 630AE638104D74C20091039C /* PBXBookmark */ = 630AE638104D74C20091039C /* PBXBookmark */; + 630AE63B104D74E40091039C /* PBXTextBookmark */ = 630AE63B104D74E40091039C /* PBXTextBookmark */; + 630AE63C104D74E40091039C /* PBXTextBookmark */ = 630AE63C104D74E40091039C /* PBXTextBookmark */; + 630AE63D104D74E40091039C /* PBXTextBookmark */ = 630AE63D104D74E40091039C /* PBXTextBookmark */; + 630AE63E104D74E40091039C /* PBXTextBookmark */ = 630AE63E104D74E40091039C /* PBXTextBookmark */; + 630AE63F104D74E40091039C /* PBXTextBookmark */ = 630AE63F104D74E40091039C /* PBXTextBookmark */; + 630AE642104D74E40091039C /* PBXTextBookmark */ = 630AE642104D74E40091039C /* PBXTextBookmark */; + 630AE648104D753E0091039C /* PBXTextBookmark */ = 630AE648104D753E0091039C /* PBXTextBookmark */; + 630AE649104D753E0091039C /* PBXTextBookmark */ = 630AE649104D753E0091039C /* PBXTextBookmark */; + 630AE64A104D753E0091039C /* PBXTextBookmark */ = 630AE64A104D753E0091039C /* PBXTextBookmark */; + 630AE64B104D753E0091039C /* PBXTextBookmark */ = 630AE64B104D753E0091039C /* PBXTextBookmark */; + 630AE64C104D753E0091039C /* PBXTextBookmark */ = 630AE64C104D753E0091039C /* PBXTextBookmark */; + 630AE653104D763D0091039C /* PBXTextBookmark */ = 630AE653104D763D0091039C /* PBXTextBookmark */; + 630AE657104D76700091039C /* PBXTextBookmark */ = 630AE657104D76700091039C /* PBXTextBookmark */; + 630AE65B104D76A10091039C /* PBXTextBookmark */ = 630AE65B104D76A10091039C /* PBXTextBookmark */; + 630AE65F104D76D60091039C /* PBXTextBookmark */ = 630AE65F104D76D60091039C /* PBXTextBookmark */; 637BA3E1104D153700331E35 = 637BA3E1104D153700331E35 /* PBXTextBookmark */; 637BA3E2104D153700331E35 = 637BA3E2104D153700331E35 /* PBXTextBookmark */; }; @@ -171,9 +187,9 @@ }; 630AE5C9104D62CE0091039C /* CommandWrapper.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {933, 767}}"; - sepNavSelRange = "{1002, 0}"; - sepNavVisRange = "{3, 1151}"; + sepNavIntBoundsRect = "{{0, 0}, {677, 754}}"; + sepNavSelRange = "{580, 26}"; + sepNavVisRange = "{3, 1112}"; sepNavWindowFrame = "{{15, 60}, {992, 818}}"; }; }; @@ -261,7 +277,7 @@ fRef = 631A51A9104CF5B700E73564 /* AppController.m */; name = "AppController.m: 41"; rLen = 0; - rLoc = 830; + rLoc = 1031; rType = 0; vrLen = 778; vrLoc = 0; @@ -301,7 +317,7 @@ fRef = 631A51A9104CF5B700E73564 /* AppController.m */; name = "AppController.m: 26"; rLen = 0; - rLoc = 501; + rLoc = 506; rType = 0; vrLen = 788; vrLoc = 0; @@ -311,7 +327,7 @@ fRef = 631A51A9104CF5B700E73564 /* AppController.m */; name = "AppController.m: 45"; rLen = 0; - rLoc = 831; + rLoc = 1032; rType = 0; vrLen = 859; vrLoc = 0; @@ -321,7 +337,7 @@ fRef = 631A51A9104CF5B700E73564 /* AppController.m */; name = "AppController.m: 45"; rLen = 0; - rLoc = 831; + rLoc = 1032; rType = 0; vrLen = 859; vrLoc = 0; @@ -461,7 +477,7 @@ fRef = 631A51A9104CF5B700E73564 /* AppController.m */; name = "AppController.m: 28"; rLen = 0; - rLoc = 549; + rLoc = 554; rType = 0; vrLen = 859; vrLoc = 0; @@ -511,7 +527,7 @@ fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; name = "CommandWrapper.m: 43"; rLen = 0; - rLoc = 1029; + rLoc = 986; rType = 0; vrLen = 1089; vrLoc = 24; @@ -551,7 +567,7 @@ fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; name = "CommandWrapper.m: 43"; rLen = 0; - rLoc = 1029; + rLoc = 986; rType = 0; vrLen = 1089; vrLoc = 24; @@ -561,7 +577,7 @@ fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; name = "CommandWrapper.m: 54"; rLen = 0; - rLoc = 1154; + rLoc = 1116; rType = 0; vrLen = 966; vrLoc = 145; @@ -591,7 +607,7 @@ fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; name = "CommandWrapper.m: 44"; rLen = 0; - rLoc = 1002; + rLoc = 963; rType = 0; vrLen = 1068; vrLoc = 86; @@ -605,7 +621,7 @@ fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; name = "CommandWrapper.m: 44"; rLen = 0; - rLoc = 1002; + rLoc = 963; rType = 0; vrLen = 1147; vrLoc = 3; @@ -635,24 +651,178 @@ fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; name = "CommandWrapper.m: 44"; rLen = 0; - rLoc = 1002; + rLoc = 963; rType = 0; vrLen = 1151; vrLoc = 3; }; + 630AE638104D74C20091039C /* PBXBookmark */ = { + isa = PBXBookmark; + fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; + }; + 630AE63B104D74E40091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */; + name = "CommandWrapper.h: 15"; + rLen = 9; + rLoc = 246; + rType = 0; + vrLen = 308; + vrLoc = 0; + }; + 630AE63C104D74E40091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A6104CF59900E73564 /* AppController.h */; + name = "AppController.h: 4"; + rLen = 9; + rLoc = 90; + rType = 0; + vrLen = 176; + vrLoc = 0; + }; + 630AE63D104D74E40091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 30"; + rLen = 0; + rLoc = 637; + rType = 0; + vrLen = 919; + vrLoc = 0; + }; + 630AE63E104D74E40091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; + name = "CommandWrapper.m: 40"; + rLen = 113; + rLoc = 817; + rType = 0; + vrLen = 1130; + vrLoc = 24; + }; + 630AE63F104D74E40091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; + name = "CommandWrapper.m: 40"; + rLen = 113; + rLoc = 817; + rType = 0; + vrLen = 1133; + vrLoc = 24; + }; + 630AE642104D74E40091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; + name = "CommandWrapper.m: 46"; + rLen = 0; + rLoc = 1040; + rType = 0; + vrLen = 1134; + vrLoc = 24; + }; + 630AE648104D753E0091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A6104CF59900E73564 /* AppController.h */; + name = "AppController.h: 4"; + rLen = 9; + rLoc = 90; + rType = 0; + vrLen = 176; + vrLoc = 0; + }; + 630AE649104D753E0091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 256AC3D90F4B6AC300CF3369 /* Quickdev16AppDelegate.m */; + name = "Quickdev16AppDelegate.m: 17"; + rLen = 0; + rLoc = 377; + rType = 0; + vrLen = 384; + vrLoc = 0; + }; + 630AE64A104D753E0091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; + name = "CommandWrapper.m: 31"; + rLen = 26; + rLoc = 580; + rType = 0; + vrLen = 1112; + vrLoc = 3; + }; + 630AE64B104D753E0091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 30"; + rLen = 0; + rLoc = 637; + rType = 0; + vrLen = 951; + vrLoc = 0; + }; + 630AE64C104D753E0091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 32"; + rLen = 0; + rLoc = 637; + rType = 0; + vrLen = 972; + vrLoc = 0; + }; + 630AE653104D763D0091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 34"; + rLen = 0; + rLoc = 675; + rType = 0; + vrLen = 970; + vrLoc = 0; + }; + 630AE657104D76700091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 33"; + rLen = 0; + rLoc = 635; + rType = 0; + vrLen = 958; + vrLoc = 0; + }; + 630AE65B104D76A10091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 33"; + rLen = 0; + rLoc = 633; + rType = 0; + vrLen = 979; + vrLoc = 0; + }; + 630AE65F104D76D60091039C /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 36"; + rLen = 0; + rLoc = 742; + rType = 0; + vrLen = 990; + vrLoc = 0; + }; 631A51A6104CF59900E73564 /* AppController.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {593, 662}}"; - sepNavSelRange = "{176, 0}"; + sepNavSelRange = "{90, 9}"; sepNavVisRange = "{0, 176}"; sepNavWindowFrame = "{{15, 60}, {992, 818}}"; }; }; 631A51A9104CF5B700E73564 /* AppController.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {593, 662}}"; - sepNavSelRange = "{342, 46}"; - sepNavVisRange = "{0, 859}"; + sepNavIntBoundsRect = "{{0, 0}, {593, 754}}"; + sepNavSelRange = "{742, 0}"; + sepNavVisRange = "{0, 990}"; sepNavWindowFrame = "{{15, 60}, {992, 818}}"; }; }; diff --git a/tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/cdecls.pbxbtree b/tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/cdecls.pbxbtree index 69a2cb02a54cf236eb7dbd5b9718906fac49d5fd..233a6747b686166fdec9756cfea85c89581e4370 100644 GIT binary patch delta 360 zcmcc8sC=bSd4dSzw2h+PW=y71latJ}m>WeHH}{)8X`ukB3oi`bR&;Vy*^p7KZyD85xv6Y|ry&oVJ-w0H|J4YC9J*)4n#QRH^n; zolM(Lbu!!C6l<1dVNe6gIso&0?>pF65E|L+02~Ts(~_% zQrqit*vcj_B}#4o_J_^LaC$=oBg^y$rW_qxhs)ru&OAiB30CJ+W=!imrWY<{vYM*E#In61 xhvS1Re+JMf{xD_+`BO{`%l0yXq-`e`cT>y^DAO#>!VnCkGbLCUyn%G1^mMso7CUAQZiemg$t)YaIrD*{talk0 zo=p#&%4|ISf+8c&^a*S%EZbw&vq=19(*;T!OKz`P!+NNOZ3EDh3)0)2G}+9Y*{Xmt z4U*gIa@fiyFeONC|MrK?$Z&E&F3a=@-YhKB4fNP;rWfe3J52we#mX_g;V>J^_8ofc z9Tn_yAdS*2)BVMmM5iaz0mT!Rv#&V999g{}yYOW?@j1VqtIw;!Ft^hDIRYT559CZ!6}?b&Q**|9%<5 zTqDD{y*Yrf(vitrYWly4jC#yTc8uHgCov`-XRik8Ym{P{E*;6FxP3ofu1|J1%3?pWL9pvYlfd^OpYU1s7Raryta1 zN#~9MnpNw~$S~WRae99zhuC&cJ(j~AOa)Tg`L?sz2{Xz}_dUfDJblS27M1NsPO;p0 z&3*xB!v+bK>8rP}%5FcfjrGlPM&apeJ-?ufCBbFbFAw) MY`2$ma+DYV0O%BDlK=n! delta 315 zcmaFyS?R@Rr3oU8Q#Xq0{}wZoWMOEQW?={h(wP!04BkMxQF?OJZ!6|JPlnCYf4>Z2 zKBmO5y*Yrf(vitsa{9lCjC#y|jttxNCov`-XRiXPZ;)h}E*;6FxP3}QWIhzlU z=&?vlZV+UdzMzwXb-Sk?%i#{De97&6+ga>{8D*#Yo?;1RVvw9Z?-YyL_7kUAuDoX7 z0CevKX_o1$x3J1?Kd_DU&2mPe>1*TI%%{JIWAg!2R=L2~=46>PI~ znbIYJ-?mfCBzNpIO&&*lsWB IpF literal 24 ccmb=(%Pdf2VPIG!$-=L>5sA ziDh^pT&Rgg3o&Q(3{epjE`($V7iC0|Nk);Oi#8K>YjGC$ob&y@@195uBQYFI=FZ0{ zHDz!xE8J8z&sn;?k%SXu$n`%#&tk1m5F`OOoO3{@j!p%|N9^NoCwpx?9 z;TFtSE12y!XSOfE96x~Z49QNS9NJ#}ruV;8o^bA3a0!Z#?uWTo@K$;^&r7*DjZ!B? z`56jC`SMlhM5-s$pmmezX2y7@p}}2{J&-8s649uA5-n zW_=&h{8v~=h7zR9aTrG^MV*%>ip41((;HryMLlU^Jp?I8O?O4NAG(p=tcl)4+m?|Z zFkyFlj%#;6NE+P|g9%WKbH#Gn2N#h(`{eiz>x!{*A@%#Ew;x)O7C*?QoluBW_)AuT zEov~;CgJx*eu!o^WxWfIAOTmM+16__JBrksqoy5@g_K{YW)-XkX{AW5C`ZU#`4$)K zEYkB5)mtKx3@7ImWKeyFTDLo6#(Bmds!aQahd0o@9#vKVh`(po=FS- E0;y@YQUCw| delta 597 zcmW-cUr5tY6vuz}+umqZE1(I~>o80w^`%~^*=PVo&_$WmJRF1U)lMP6ZkpE28(r<%3XJ2SA+$+pi$t=M;6@-`vrP`vnnv0 zRybp4^2ZFRz_C>pE`l=xf$(ORepa!!cI+tOqbArbaEF(Vb1+A7VGm#6rmG6yB~)t= z_@bP5l+zNyWXWp~7>@B}V?nLrW9q@IlgZmYQiBiMx!(g`A!qw|DV!I$+Q+9&v|i-D zxIcV+gumS6QPR4S#v3(leF9{#7IIkGq%RiHxT^nG# xl$P%qkd^h!h))vwoC{h6#{2cBRJO*Lk$Tb~8|TRey%eYU;*J07Vc(Dr{{XM=x#Iu; diff --git a/tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/strings.pbxstrings/control b/tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/strings.pbxstrings/control index 0505979ae9cf588bc337dd60f3e9be1bdd6782f7..bb7bbe8bddc44ae120cd004da2a26f61aac128a2 100644 GIT binary patch delta 706 zcmWlVZAepb6vlV{-g|eq-ECg2rKYy&%#>BmgiV=EY$<_nsF|X@!OA4@rDhTsD$I>S zk_*D6Tvmcnkmb1AiI`ZV_@xlaFi0AeAb}_mR>W9c&!>lTIKT5eXSlCuxUWd>si`>v ziay2Gx}~_b{+1_2k%$U=sKOX`||#8KP2c*N_G*0-q}x`mfR8 zl7@YY1rR5>UzMgozV!H8>361B!3?yei%_oGAsAyZBw9wuGUOo@AiF5AVDdeJDp2CmBhrwljJHl@_;OU3_nJ6kL4%(6 zWZ4f*Sk@S0m>@zEx>@Rk0XPh$QVUl2iry-!*#w!m-bwi_@>S0$rEGwD?DqT?2=Bru7t5n3N3Z`Y2}{!B>6m3dlB zgf{eq>4hc8LdO)-`$MLN#+Ck2*oiI|8>XNP&Bxd%N8(sC*Rho1H+ny^&KS8r_lcdo0{Pp9?o_MJSAtRCvvB{I>RBDs z;p!h%Zv`08U8?Tpp;KI`S8u`qzG+a4#gK;XfLf$s93%JD|H>hZkxg}bwmff5(lC`I zn1Y@bP4J=o*muv(MnFp(_kI7 zRd8$R5Wv7CZuYR8wkgOxT>wtttyp+f>ti8^bN$-ub{Rh3=s80K-h^E*v{5^>2z(OW z{HdJ>SjE~c?OL9Uab)Y9G}r__AEyuMN-jeNM#gmQDPY3ZmpW%EWNgR&@L9L_22^9@ If<8g~4}E0z00000 delta 694 zcmWksdq`7p6yEvm-n+Z^X0e>Qx#=hyS}NL>&1N+xfiLn=l2F#lBFi4LFcclBqq6j( za4B__P!uF3(+-4U;bi|5{gGjixS&7+Q6wyjVcmUyopZi(zVqPpw-@xc7pT1z6$e1n zE?Qj@2_Sr3GvywwVyuu8thFXHa68zNX){40r_Bp4m!Go0da$yoM;;4g2X($y8ghgE zT_5s59rU~{N`cJa^KV5zm@E;~c_EdD66t2nq(Q@bpv^?{2QAAG$p#rxX3}+zd|k!v zZemk`o)6t8^^n4+50E)XMQV_2p&${H9ukxSjkC{4jlM5;IvxwB$qo&$=>16M{E&ym zN5#4k(z}2jmO88xhzTPV&VoDGQBKvH!Hi3nD1W-p(Ho#7HBgK#zo{@0q+Ne0rxJRx zLqb2u1V5+MW4@gZlt5q1T_w{)neF%l>yqn4GcIxL-Tq#f!+um zo)vt@7}K^Ys7^eV_yeFumy3;1P=J<$?1qA9LujdH%cKkuvEy|Yd0&Jiai%n!JjQOg zV^vSs9u3rEF|sx@RAI+w)+rWLLtogbtB@8OXy}mibQvf)?RLxQQ+Z7T&0 zdWvM%v~ZlCKO$R!llZPi#_xwD^bE>)8aRwTlKm@zNsO+@8m$7~kRWHu$jbmFn;XHv-0kJBdL-Ji-CfFZ10Q!eHRF7M2#)7Pc1l7LFFq7OocV7M>Q~7QPn#7J(MQ7NIS|TMV^A tQj1Fza#I;{D}zglGV{_IJQB-N6^cs|i%L>c7;;mKixbmRtrS!p7yzUU9%ujn delta 47 zcmV~$NfCfB5CE{@zM+5;d{h*VNLoF7YJ}t~IZA$2YK>N>HyBN3i`8a#NKRMW@%*YX B5D)+W diff --git a/tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/symbols0.pbxsymbols b/tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/symbols0.pbxsymbols index 3b65cf3a7f192d0f8606ae13f589651008d088ef..d0922fe3d25cc0d4e0282f4155da3ae11c4d0b4c 100644 GIT binary patch delta 8630 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 HyVU;!;#X(i delta 8482 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 From a6e8d7e0337571a181cb2c0ccefb8ca219d3df62 Mon Sep 17 00:00:00 2001 From: optixx Date: Wed, 2 Sep 2009 21:34:10 +0200 Subject: [PATCH 3/7] check bootloader enalbe io line --- avr/bootloader/bootloader.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/avr/bootloader/bootloader.c b/avr/bootloader/bootloader.c index b09a1f6..874e184 100644 --- a/avr/bootloader/bootloader.c +++ b/avr/bootloader/bootloader.c @@ -33,6 +33,10 @@ #include "config.h" #include "usbdrv/usbdrv.c" + + + + /* * USBasp requests, taken from the original USBasp sourcecode */ @@ -74,6 +78,10 @@ (LED_DIR ^= (1 << LED_PIN)));} +#define AVR_BTLDR_EN_PORT PORTC +#define AVR_BTLDR_EN_DIR DDRC +#define AVR_BTLDR_EN_PIN PC1 +#define AVR_BTLDR_EN_IN PINC /* @@ -449,6 +457,18 @@ int __attribute__ ((noreturn, OS_main)) main(void) uint16_t delay = 0; timeout = TIMEOUT; + DDRC &= ~(1 << AVR_BTLDR_EN_PIN); + PORTC &= ~(1 << AVR_BTLDR_EN_PIN); + + if ((AVR_BTLDR_EN_IN & ( 1 << AVR_BTLDR_EN_PIN)) == 0){ + banner(); + uart_puts("Bootloader flashing is disabled\n\r"); + MCUSR = 0; + leave_bootloader(); + + } + + /* * if power-on reset, quit bootloader via watchdog reset From 3a1f58ce189a955478702ed89f2ff308a41cc4f3 Mon Sep 17 00:00:00 2001 From: optixx Date: Wed, 2 Sep 2009 21:50:47 +0200 Subject: [PATCH 4/7] fix bootloader enable routine --- avr/bootloader/bootloader.c | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/avr/bootloader/bootloader.c b/avr/bootloader/bootloader.c index 874e184..8a677f4 100644 --- a/avr/bootloader/bootloader.c +++ b/avr/bootloader/bootloader.c @@ -460,6 +460,18 @@ int __attribute__ ((noreturn, OS_main)) main(void) DDRC &= ~(1 << AVR_BTLDR_EN_PIN); PORTC &= ~(1 << AVR_BTLDR_EN_PIN); + /* + * if watchdog reset, disable watchdog and jump to app + */ + if (reset & _BV(WDRF)) { + uart_puts("Found watchdog reset\n\r"); + MCUSR = 0; + wdt_disable(); + uart_puts("Jump to 0x0000\n\r"); + jump_to_app(); + } + + if ((AVR_BTLDR_EN_IN & ( 1 << AVR_BTLDR_EN_PIN)) == 0){ banner(); uart_puts("Bootloader flashing is disabled\n\r"); @@ -467,8 +479,6 @@ int __attribute__ ((noreturn, OS_main)) main(void) leave_bootloader(); } - - /* * if power-on reset, quit bootloader via watchdog reset @@ -479,17 +489,6 @@ int __attribute__ ((noreturn, OS_main)) main(void) MCUSR = 0; leave_bootloader(); } - /* - * if watchdog reset, disable watchdog and jump to app - */ - else if (reset & _BV(WDRF)) { - uart_puts("Found watchdog reset\n\r"); - MCUSR = 0; - wdt_disable(); - uart_puts("Jump to 0x0000\n\r"); - jump_to_app(); - } - banner(); uart_puts("Enter programming mode\n\r"); /* From 90d4a0d0197515f1218e887748158774d43288fc Mon Sep 17 00:00:00 2001 From: optixx Date: Mon, 7 Sep 2009 08:19:38 +0200 Subject: [PATCH 5/7] get some command wrapper stuff working --- tools/Quickdev16/AppController.h | 4 +- tools/Quickdev16/AppController.m | 87 +- tools/Quickdev16/CommandWrapper.h | 6 +- tools/Quickdev16/CommandWrapper.m | 23 +- tools/Quickdev16/English.lproj/MainMenu.xib | 183 ++- .../Quickdev16.xcodeproj/david.mode1v3 | 64 +- .../Quickdev16.xcodeproj/david.pbxuser | 1304 +++++++---------- .../Quickdev16.xcodeproj/project.pbxproj | 6 - .../Quickdev16.pbxindex/categories.pbxbtree | Bin 2508 -> 2508 bytes .../Quickdev16.pbxindex/cdecls.pbxbtree | Bin 573652 -> 622420 bytes .../Quickdev16.pbxindex/decls.pbxbtree | Bin 571880 -> 622408 bytes .../Quickdev16.pbxindex/files.pbxbtree | Bin 7052 -> 6964 bytes .../Quickdev16.pbxindex/imports.pbxbtree | Bin 20476 -> 20476 bytes .../Quickdev16.pbxindex/pbxindex.header | Bin 24 -> 24 bytes .../Quickdev16.pbxindex/protocols.pbxbtree | Bin 2940 -> 2940 bytes .../Quickdev16.pbxindex/refs.pbxbtree | Bin 436276 -> 463312 bytes .../strings.pbxstrings/control | Bin 1048596 -> 1048596 bytes .../strings.pbxstrings/strings | Bin 1257950 -> 1323841 bytes .../Quickdev16.pbxindex/subclasses.pbxbtree | Bin 3188 -> 3260 bytes .../Quickdev16.pbxindex/symbols0.pbxsymbols | Bin 2154184 -> 2338472 bytes 20 files changed, 735 insertions(+), 942 deletions(-) diff --git a/tools/Quickdev16/AppController.h b/tools/Quickdev16/AppController.h index ad7c407..9d8b2d3 100644 --- a/tools/Quickdev16/AppController.h +++ b/tools/Quickdev16/AppController.h @@ -1,7 +1,9 @@ #import @interface AppController : NSObject { - IBOutlet NSTextField *textField; + IBOutlet NSTextField *textFieldLog; + IBOutlet NSTextField *textFieldInfo; + } - (IBAction)romInfo:(id)sender; - (IBAction)romUpload:(id)sender; diff --git a/tools/Quickdev16/AppController.m b/tools/Quickdev16/AppController.m index 4ca0357..8734cc1 100644 --- a/tools/Quickdev16/AppController.m +++ b/tools/Quickdev16/AppController.m @@ -1,6 +1,10 @@ #import "AppController.h" #import "CommandWrapper.h" +#define UCON64 "/usr/local/bin/ucon64" +#define ROMFILE "/Users/david/Devel/arch/avr/code/quickdev16/roms/mrdo.smc" + + @implementation AppController - (id) init { [super init]; @@ -8,36 +12,73 @@ return self; } -- (void)awakeFromNib{ +- (void)awakeFromNib { + [textFieldLog setStringValue:@"Log field"]; + [textFieldInfo setStringValue:@"Info field"]; + NSLog(@"awakeFromNib"); } -- (IBAction)romInfo:(id)sender { - NSString *string = [textField stringValue]; - if ( [string length] == 0) { - NSLog(@"No message"); - return; - } - NSLog(@"Have started speaking: %@", string); - //[stopButton setEnabled:YES]; +- (IBAction)romUpload:(id)sender { + NSLog(@"romUpload:"); + NSTask *ls=[[NSTask alloc] init]; + NSPipe *pipe=[[NSPipe alloc] init]; + NSFileHandle *handle; + + [ls setLaunchPath:@UCON64]; + [ls setArguments:[NSArray arrayWithObjects:@"-smc",@"--port=usb",@"--xquickdev16",@ROMFILE,nil]]; + [ls setStandardOutput:pipe]; + handle=[pipe fileHandleForReading]; + + [ls launch]; + + [NSThread detachNewThreadSelector:@selector(copyData:) + toTarget:self withObject:handle]; + + [pipe release]; + [ls release]; } -- (IBAction)romUpload:(id)sender { - NSLog(@"romUpload"); + +- (void)copyData:(NSFileHandle*)handle { + NSAutoreleasePool *pool=[[NSAutoreleasePool alloc] init]; + NSData *data; + + while([data=[handle availableData] length]) { // until EOF (check reference) + NSString *string=[[NSString alloc] initWithData:data + encoding:NSASCIIStringEncoding]; + + [textFieldLog setStringValue:string]; + [string release]; + } + + [pool release]; +} + + + +- (IBAction)romInfo:(id)sender { + NSTask *ls=[[NSTask alloc] init]; + NSPipe *pipe=[[NSPipe alloc] init]; + NSFileHandle *handle; + NSString *string; + NSLog(@"romInfo"); - CommandWrapper *cw=[[CommandWrapper alloc] init]; - [cw doPipedCommand]; - - - NSString* myString = [[NSString alloc] init]; - myString = @"test"; - [textField setStringValue:myString]; - if ( [myString length] != 0) { - NSLog(@"message: %@", myString); - return; - } - + [ls setLaunchPath:@"/usr/local/bin/ucon64"]; + [ls setArguments:[NSArray arrayWithObjects:@ROMFILE,nil]]; + [ls setStandardOutput:pipe]; + handle=[pipe fileHandleForReading]; + + [ls launch]; + + string=[[NSString alloc] initWithData:[handle readDataToEndOfFile] + encoding:NSASCIIStringEncoding]; // convert NSData -> NSString + NSLog(@"romInfo: %@", string); + [textFieldInfo setStringValue:string]; + [string retain]; + [pipe release]; + [ls release]; } -(NSSize)windowWillResize:(NSWindow *)send toSize:(NSSize) framesize; diff --git a/tools/Quickdev16/CommandWrapper.h b/tools/Quickdev16/CommandWrapper.h index 433a605..4bf7c3d 100644 --- a/tools/Quickdev16/CommandWrapper.h +++ b/tools/Quickdev16/CommandWrapper.h @@ -10,11 +10,9 @@ @interface CommandWrapper : NSObject { - - - IBOutlet NSTextField *textField; } - (void)doCommand; -- (void)doPipedCommand; +- (NSString *)doPipedCommand; +- (void)doThreadedCommand; @end diff --git a/tools/Quickdev16/CommandWrapper.m b/tools/Quickdev16/CommandWrapper.m index 00c3753..6fd0e74 100644 --- a/tools/Quickdev16/CommandWrapper.m +++ b/tools/Quickdev16/CommandWrapper.m @@ -11,27 +11,27 @@ @implementation CommandWrapper + +- (void)awakeFromNib { + NSLog(@"awakeFromNib"); +} + - (void)doCommand { - NSTask *command=[[NSTask alloc] init]; - [command setLaunchPath:@"/bin/ls"]; [command setArguments:[NSArray arrayWithObjects:@"-l",@"/System",nil]]; [command launch]; - [command release]; } - - -- (void)doPipedCommand { +- (NSString *)doPipedCommand { NSTask *ls=[[NSTask alloc] init]; NSPipe *pipe=[[NSPipe alloc] init]; NSFileHandle *handle; NSString *string; - [ls setLaunchPath:@"/bin/ls"]; - [ls setArguments:[NSArray arrayWithObjects:@"-l",@"/System",nil]]; + [ls setLaunchPath:@"/usr/local/bin/ucon64"]; + [ls setArguments:[NSArray arrayWithObjects:@"/Users/david/Devel/arch/avr/code/quickdev16/roms/super01.smc",nil]]; [ls setStandardOutput:pipe]; handle=[pipe fileHandleForReading]; @@ -40,15 +40,14 @@ string=[[NSString alloc] initWithData:[handle readDataToEndOfFile] encoding:NSASCIIStringEncoding]; // convert NSData -> NSString - NSLog(@"doPipedCommand: %@", string); - [textField setStringValue:string]; - - [string release]; + //[string retain]; [pipe release]; [ls release]; + return string; } + @end diff --git a/tools/Quickdev16/English.lproj/MainMenu.xib b/tools/Quickdev16/English.lproj/MainMenu.xib index ebab2a2..1db7d5b 100644 --- a/tools/Quickdev16/English.lproj/MainMenu.xib +++ b/tools/Quickdev16/English.lproj/MainMenu.xib @@ -12,6 +12,7 @@

    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

YES + @@ -1324,7 +1325,7 @@ {1.79769e+308, 1.79769e+308} - + 256 YES @@ -1338,26 +1339,26 @@ 1 - + 256 YES - + 268 - {{-3, -10}, {440, 174}} + {{-3, -3}, {440, 167}} YES - + -2073952767 272629760 - Log Field + LucidaGrande 13 1044 - + YES 6 @@ -1381,7 +1382,6 @@ {{10, 33}, {434, 167}} - Log @@ -1398,22 +1398,22 @@ 2 - + 256 YES - + 268 - {{-3, -3}, {440, 174}} + {{-3, -3}, {440, 167}} YES - + -1805517311 272629760 - Info + - + YES @@ -1421,20 +1421,21 @@ {{10, 33}, {434, 167}} + Info - + 0 YES YES YES - + @@ -1499,13 +1500,11 @@ {480, 275} + {{0, 0}, {1440, 878}} {1.79769e+308, 1.79769e+308} - - Quickdev16AppDelegate - NSFontManager @@ -2079,14 +2078,6 @@ 493 - - - delegate - - - - 495 - alignCenter: @@ -2201,19 +2192,35 @@ - romUpload: + romInfo: - + - 597 + 604 - textField + textFieldLog - + - 598 + 614 + + + + textFieldLog + + + + 619 + + + + textFieldInfo + + + + 620 @@ -3094,11 +3101,6 @@ - - 494 - - - 496 @@ -3296,7 +3298,7 @@ YES - + @@ -3305,7 +3307,7 @@ YES - + @@ -3351,34 +3353,6 @@ - - 587 - - - YES - - - - - - 588 - - - - - 589 - - - YES - - - - - - 590 - - - 591 @@ -3389,6 +3363,34 @@ + + 608 + + + YES + + + + + + 609 + + + + + 611 + + + YES + + + + + + 612 + + + @@ -3628,11 +3630,10 @@ 57.editorWindowContentRectSynchronizationRect 58.IBPluginDependency 58.ImportedFromIB2 - 587.IBPluginDependency - 588.IBPluginDependency - 589.IBPluginDependency - 590.IBPluginDependency - 595.IBPluginDependency + 608.IBPluginDependency + 609.IBPluginDependency + 611.IBPluginDependency + 612.IBPluginDependency 72.IBPluginDependency 72.ImportedFromIB2 73.IBPluginDependency @@ -3871,9 +3872,9 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - {{346, 412}, {480, 275}} + {{334, 517}, {480, 275}} com.apple.InterfaceBuilder.CocoaPlugin - {{346, 412}, {480, 275}} + {{334, 517}, {480, 275}} com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -3900,7 +3901,6 @@ com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -3944,7 +3944,7 @@ - 598 + 620 @@ -3966,8 +3966,17 @@ - textField - NSTextField + YES + + YES + textFieldInfo + textFieldLog + + + YES + NSTextField + NSTextField + IBProjectSource @@ -3977,27 +3986,11 @@ CommandWrapper NSObject - - textField - NSTextField - IBProjectSource CommandWrapper.h - - Quickdev16AppDelegate - NSObject - - window - NSWindow - - - IBProjectSource - Quickdev16AppDelegate.h - - YES diff --git a/tools/Quickdev16/Quickdev16.xcodeproj/david.mode1v3 b/tools/Quickdev16/Quickdev16.xcodeproj/david.mode1v3 index db2e5e2..0cc7b56 100644 --- a/tools/Quickdev16/Quickdev16.xcodeproj/david.mode1v3 +++ b/tools/Quickdev16/Quickdev16.xcodeproj/david.mode1v3 @@ -265,14 +265,16 @@ 29B97314FDCFA39411CA2CEA 080E96DDFE201D6D7F000001 + 29B97315FDCFA39411CA2CEA 29B97317FDCFA39411CA2CEA - 29B97323FDCFA39411CA2CEA 19C28FACFE9D520D11CA2CBB 1C37FABC05509CD000000102 PBXSmartGroupTreeModuleOutlineStateSelectionKey + 2 + 1 0 @@ -326,15 +328,14 @@ _historyCapacity 0 bookmark - 630AE65F104D76D60091039C + 63F767641054DD5C00ACB8E1 history - 630AE608104D6C580091039C - 630AE63B104D74E40091039C - 630AE648104D753E0091039C - 630AE649104D753E0091039C - 630AE64A104D753E0091039C - 630AE64B104D753E0091039C + 63F766F41052D56400ACB8E1 + 63F766F51052D56400ACB8E1 + 63F7670F1052D93A00ACB8E1 + 63F767561054069800ACB8E1 + 63F767581054069800ACB8E1 SplitCount @@ -346,14 +347,14 @@ GeometryConfiguration Frame - {{0, 0}, {654, 717}} + {{0, 0}, {654, 502}} RubberWindowFrame 0 115 936 763 0 0 1440 878 Module PBXNavigatorGroup Proportion - 717pt + 502pt ContentConfiguration @@ -366,14 +367,14 @@ GeometryConfiguration Frame - {{0, 722}, {654, 0}} + {{0, 507}, {654, 215}} RubberWindowFrame 0 115 936 763 0 0 1440 878 Module XCDetailModule Proportion - 0pt + 215pt Proportion @@ -392,9 +393,9 @@ TableOfContents - 630AE573104D18A40091039C + 63F766B41052CDD000ACB8E1 1CE0B1FE06471DED0097A5F4 - 630AE574104D18A40091039C + 63F766B51052CDD000ACB8E1 1CE0B20306471E060097A5F4 1CE0B20506471E060097A5F4 @@ -532,13 +533,12 @@ 5 WindowOrderList - 630AE660104D76D60091039C - 630AE57D104D18A40091039C - 630AE57E104D18A40091039C + 63F766BF1052CDD000ACB8E1 + 63F766C01052CDD000ACB8E1 1CD10A99069EF8BA00B06720 631E1885104C5D80001A8B18 - 1C78EAAD065D492600B07095 /Users/david/Devel/arch/avr/code/quickdev16/tools/Quickdev16/Quickdev16.xcodeproj + 1C78EAAD065D492600B07095 WindowString 0 115 936 763 0 0 1440 878 @@ -562,7 +562,7 @@ PBXProjectModuleGUID 1CD0528F0623707200166675 PBXProjectModuleLabel - CommandWrapper.m + AppController.m StatusBarVisibility @@ -620,7 +620,7 @@ TableOfContents 631E1885104C5D80001A8B18 - 630AE575104D18A40091039C + 63F766B61052CDD000ACB8E1 1CD0528F0623707200166675 XCMainBuildResultsModuleGUID @@ -664,8 +664,8 @@ yes sizes - {{0, 0}, {316, 198}} - {{316, 0}, {378, 198}} + {{0, 0}, {316, 201}} + {{316, 0}, {378, 201}} VerticalSplitView @@ -680,8 +680,8 @@ yes sizes - {{0, 0}, {694, 198}} - {{0, 198}, {694, 183}} + {{0, 0}, {694, 201}} + {{0, 201}, {694, 180}} @@ -714,7 +714,7 @@ 148 Frame - {{316, 0}, {378, 198}} + {{316, 0}, {378, 201}} RubberWindowFrame 21 433 694 422 0 0 1440 878 @@ -742,13 +742,13 @@ TableOfContents 1CD10A99069EF8BA00B06720 - 630AE576104D18A40091039C + 63F766B71052CDD000ACB8E1 1C162984064C10D400B95A72 - 630AE577104D18A40091039C - 630AE578104D18A40091039C - 630AE579104D18A40091039C - 630AE57A104D18A40091039C - 630AE57B104D18A40091039C + 63F766B81052CDD000ACB8E1 + 63F766B91052CDD000ACB8E1 + 63F766BA1052CDD000ACB8E1 + 63F766BB1052CDD000ACB8E1 + 63F766BC1052CDD000ACB8E1 ToolbarConfiguration xcode.toolbar.config.debugV3 @@ -912,7 +912,7 @@ TableOfContents 1C78EAAD065D492600B07095 - 630AE57C104D18A40091039C + 63F766BD1052CDD000ACB8E1 1C78EAAC065D492600B07095 ToolbarConfiguration diff --git a/tools/Quickdev16/Quickdev16.xcodeproj/david.pbxuser b/tools/Quickdev16/Quickdev16.xcodeproj/david.pbxuser index 44e4727..1d107e2 100644 --- a/tools/Quickdev16/Quickdev16.xcodeproj/david.pbxuser +++ b/tools/Quickdev16/Quickdev16.xcodeproj/david.pbxuser @@ -1,20 +1,5 @@ // !$*UTF8*$! { - 256AC3D80F4B6AC300CF3369 /* Quickdev16AppDelegate.h */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {593, 685}}"; - sepNavSelRange = "{353, 0}"; - sepNavVisRange = "{0, 353}"; - sepNavWindowFrame = "{{15, 60}, {992, 818}}"; - }; - }; - 256AC3D90F4B6AC300CF3369 /* Quickdev16AppDelegate.m */ = { - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {593, 662}}"; - sepNavSelRange = "{377, 0}"; - sepNavVisRange = "{0, 384}"; - }; - }; 256AC3F00F4B6AF500CF3369 /* Quickdev16_Prefix.pch */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {656, 183}}"; @@ -31,6 +16,9 @@ addToTargets = ( 8D1107260486CEB800E47090 /* Quickdev16 */, ); + breakpoints = ( + 63F766C41052D19000ACB8E1 /* CommandWrapper.h:13 */, + ); codeSenseManager = 631E1888104C5D80001A8B18 /* Code sense */; executables = ( 631E1874104C5D72001A8B18 /* Quickdev16 */, @@ -58,771 +46,90 @@ PBXFileDataSource_Target_ColumnID, ); }; - PBXPerProjectTemplateStateSaveDate = 273487179; - PBXWorkspaceStateSaveDate = 273487179; + PBXPerProjectTemplateStateSaveDate = 273862070; + PBXWorkspaceStateSaveDate = 273862070; }; perUserProjectItems = { - 630AE571104D18A40091039C /* PBXTextBookmark */ = 630AE571104D18A40091039C /* PBXTextBookmark */; - 630AE572104D18A40091039C /* PBXTextBookmark */ = 630AE572104D18A40091039C /* PBXTextBookmark */; - 630AE5B5104D19900091039C /* PBXTextBookmark */ = 630AE5B5104D19900091039C /* PBXTextBookmark */; - 630AE5CE104D63B00091039C /* PBXTextBookmark */ = 630AE5CE104D63B00091039C /* PBXTextBookmark */; - 630AE5CF104D63B00091039C /* XCBuildMessageTextBookmark */ = 630AE5CF104D63B00091039C /* XCBuildMessageTextBookmark */; - 630AE5D0104D63B00091039C /* PBXTextBookmark */ = 630AE5D0104D63B00091039C /* PBXTextBookmark */; - 630AE5E2104D65F90091039C /* PBXTextBookmark */ = 630AE5E2104D65F90091039C /* PBXTextBookmark */; - 630AE5E3104D65F90091039C /* PBXTextBookmark */ = 630AE5E3104D65F90091039C /* PBXTextBookmark */; - 630AE5E4104D65F90091039C /* PBXTextBookmark */ = 630AE5E4104D65F90091039C /* PBXTextBookmark */; - 630AE5E5104D65F90091039C /* PBXTextBookmark */ = 630AE5E5104D65F90091039C /* PBXTextBookmark */; - 630AE5E6104D65F90091039C /* PBXTextBookmark */ = 630AE5E6104D65F90091039C /* PBXTextBookmark */; - 630AE5E7104D65F90091039C /* PBXTextBookmark */ = 630AE5E7104D65F90091039C /* PBXTextBookmark */; - 630AE5E8104D65F90091039C /* PBXTextBookmark */ = 630AE5E8104D65F90091039C /* PBXTextBookmark */; - 630AE5EF104D66E30091039C /* PBXTextBookmark */ = 630AE5EF104D66E30091039C /* PBXTextBookmark */; - 630AE5F0104D66E30091039C /* PBXTextBookmark */ = 630AE5F0104D66E30091039C /* PBXTextBookmark */; - 630AE5F1104D66E30091039C /* PBXTextBookmark */ = 630AE5F1104D66E30091039C /* PBXTextBookmark */; - 630AE5F2104D66E30091039C /* PBXTextBookmark */ = 630AE5F2104D66E30091039C /* PBXTextBookmark */; - 630AE5F6104D686E0091039C /* PBXTextBookmark */ = 630AE5F6104D686E0091039C /* PBXTextBookmark */; - 630AE5F8104D6B040091039C /* PBXTextBookmark */ = 630AE5F8104D6B040091039C /* PBXTextBookmark */; - 630AE5F9104D6B040091039C /* PBXTextBookmark */ = 630AE5F9104D6B040091039C /* PBXTextBookmark */; - 630AE5FA104D6B680091039C /* PBXTextBookmark */ = 630AE5FA104D6B680091039C /* PBXTextBookmark */; - 630AE5FB104D6B680091039C /* PBXTextBookmark */ = 630AE5FB104D6B680091039C /* PBXTextBookmark */; - 630AE5FC104D6B680091039C /* PBXTextBookmark */ = 630AE5FC104D6B680091039C /* PBXTextBookmark */; - 630AE5FD104D6B680091039C /* PBXTextBookmark */ = 630AE5FD104D6B680091039C /* PBXTextBookmark */; - 630AE5FE104D6B680091039C /* PBXTextBookmark */ = 630AE5FE104D6B680091039C /* PBXTextBookmark */; - 630AE5FF104D6B680091039C /* PBXTextBookmark */ = 630AE5FF104D6B680091039C /* PBXTextBookmark */; - 630AE600104D6B680091039C /* PBXTextBookmark */ = 630AE600104D6B680091039C /* PBXTextBookmark */; - 630AE606104D6C580091039C /* PBXTextBookmark */ = 630AE606104D6C580091039C /* PBXTextBookmark */; - 630AE607104D6C580091039C /* PBXTextBookmark */ = 630AE607104D6C580091039C /* PBXTextBookmark */; - 630AE608104D6C580091039C /* PBXTextBookmark */ = 630AE608104D6C580091039C /* PBXTextBookmark */; - 630AE609104D6C580091039C /* PBXTextBookmark */ = 630AE609104D6C580091039C /* PBXTextBookmark */; - 630AE60A104D6C580091039C /* PBXTextBookmark */ = 630AE60A104D6C580091039C /* PBXTextBookmark */; - 630AE611104D6CAA0091039C /* PBXTextBookmark */ = 630AE611104D6CAA0091039C /* PBXTextBookmark */; - 630AE612104D6CAA0091039C /* PBXTextBookmark */ = 630AE612104D6CAA0091039C /* PBXTextBookmark */; - 630AE613104D6CAA0091039C /* PBXTextBookmark */ = 630AE613104D6CAA0091039C /* PBXTextBookmark */; - 630AE614104D6CAA0091039C /* PBXTextBookmark */ = 630AE614104D6CAA0091039C /* PBXTextBookmark */; - 630AE615104D6CAA0091039C /* PBXTextBookmark */ = 630AE615104D6CAA0091039C /* PBXTextBookmark */; - 630AE617104D6D240091039C /* PBXTextBookmark */ = 630AE617104D6D240091039C /* PBXTextBookmark */; - 630AE618104D6D240091039C /* PBXTextBookmark */ = 630AE618104D6D240091039C /* PBXTextBookmark */; - 630AE619104D6D240091039C /* PBXTextBookmark */ = 630AE619104D6D240091039C /* PBXTextBookmark */; - 630AE61A104D6D240091039C /* PBXTextBookmark */ = 630AE61A104D6D240091039C /* PBXTextBookmark */; - 630AE61B104D6D240091039C /* PBXTextBookmark */ = 630AE61B104D6D240091039C /* PBXTextBookmark */; - 630AE61E104D6DFB0091039C /* PBXTextBookmark */ = 630AE61E104D6DFB0091039C /* PBXTextBookmark */; - 630AE61F104D6DFB0091039C /* PBXTextBookmark */ = 630AE61F104D6DFB0091039C /* PBXTextBookmark */; - 630AE620104D6DFB0091039C /* PBXTextBookmark */ = 630AE620104D6DFB0091039C /* PBXTextBookmark */; - 630AE624104D6E950091039C /* PBXBookmark */ = 630AE624104D6E950091039C /* PBXBookmark */; - 630AE627104D6EC40091039C /* PBXTextBookmark */ = 630AE627104D6EC40091039C /* PBXTextBookmark */; - 630AE628104D6EC40091039C /* PBXTextBookmark */ = 630AE628104D6EC40091039C /* PBXTextBookmark */; - 630AE629104D6EC40091039C /* PBXTextBookmark */ = 630AE629104D6EC40091039C /* PBXTextBookmark */; - 630AE62C104D6EC40091039C /* PBXTextBookmark */ = 630AE62C104D6EC40091039C /* PBXTextBookmark */; - 630AE638104D74C20091039C /* PBXBookmark */ = 630AE638104D74C20091039C /* PBXBookmark */; - 630AE63B104D74E40091039C /* PBXTextBookmark */ = 630AE63B104D74E40091039C /* PBXTextBookmark */; - 630AE63C104D74E40091039C /* PBXTextBookmark */ = 630AE63C104D74E40091039C /* PBXTextBookmark */; - 630AE63D104D74E40091039C /* PBXTextBookmark */ = 630AE63D104D74E40091039C /* PBXTextBookmark */; - 630AE63E104D74E40091039C /* PBXTextBookmark */ = 630AE63E104D74E40091039C /* PBXTextBookmark */; - 630AE63F104D74E40091039C /* PBXTextBookmark */ = 630AE63F104D74E40091039C /* PBXTextBookmark */; - 630AE642104D74E40091039C /* PBXTextBookmark */ = 630AE642104D74E40091039C /* PBXTextBookmark */; - 630AE648104D753E0091039C /* PBXTextBookmark */ = 630AE648104D753E0091039C /* PBXTextBookmark */; - 630AE649104D753E0091039C /* PBXTextBookmark */ = 630AE649104D753E0091039C /* PBXTextBookmark */; - 630AE64A104D753E0091039C /* PBXTextBookmark */ = 630AE64A104D753E0091039C /* PBXTextBookmark */; - 630AE64B104D753E0091039C /* PBXTextBookmark */ = 630AE64B104D753E0091039C /* PBXTextBookmark */; - 630AE64C104D753E0091039C /* PBXTextBookmark */ = 630AE64C104D753E0091039C /* PBXTextBookmark */; - 630AE653104D763D0091039C /* PBXTextBookmark */ = 630AE653104D763D0091039C /* PBXTextBookmark */; - 630AE657104D76700091039C /* PBXTextBookmark */ = 630AE657104D76700091039C /* PBXTextBookmark */; - 630AE65B104D76A10091039C /* PBXTextBookmark */ = 630AE65B104D76A10091039C /* PBXTextBookmark */; - 630AE65F104D76D60091039C /* PBXTextBookmark */ = 630AE65F104D76D60091039C /* PBXTextBookmark */; - 637BA3E1104D153700331E35 = 637BA3E1104D153700331E35 /* PBXTextBookmark */; - 637BA3E2104D153700331E35 = 637BA3E2104D153700331E35 /* PBXTextBookmark */; + 63B6D2051050696F002672A2 = 63B6D2051050696F002672A2 /* PBXTextBookmark */; + 63B6D2061050696F002672A2 = 63B6D2061050696F002672A2 /* PBXTextBookmark */; + 63B6D2071050696F002672A2 = 63B6D2071050696F002672A2 /* PBXTextBookmark */; + 63B6D2081050696F002672A2 = 63B6D2081050696F002672A2 /* PBXTextBookmark */; + 63B6D21D10517F9F002672A2 = 63B6D21D10517F9F002672A2 /* PBXTextBookmark */; + 63F766B31052CDD000ACB8E1 /* PBXTextBookmark */ = 63F766B31052CDD000ACB8E1 /* PBXTextBookmark */; + 63F766C91052D1D800ACB8E1 /* XCBuildMessageTextBookmark */ = 63F766C91052D1D800ACB8E1 /* XCBuildMessageTextBookmark */; + 63F766CA1052D1D800ACB8E1 /* PBXTextBookmark */ = 63F766CA1052D1D800ACB8E1 /* PBXTextBookmark */; + 63F766CD1052D1F500ACB8E1 /* PBXTextBookmark */ = 63F766CD1052D1F500ACB8E1 /* PBXTextBookmark */; + 63F766CE1052D1F500ACB8E1 /* XCBuildMessageTextBookmark */ = 63F766CE1052D1F500ACB8E1 /* XCBuildMessageTextBookmark */; + 63F766CF1052D1F500ACB8E1 /* PBXTextBookmark */ = 63F766CF1052D1F500ACB8E1 /* PBXTextBookmark */; + 63F766D21052D20200ACB8E1 /* PBXTextBookmark */ = 63F766D21052D20200ACB8E1 /* PBXTextBookmark */; + 63F766D31052D20200ACB8E1 /* PBXTextBookmark */ = 63F766D31052D20200ACB8E1 /* PBXTextBookmark */; + 63F766D41052D20200ACB8E1 /* PBXTextBookmark */ = 63F766D41052D20200ACB8E1 /* PBXTextBookmark */; + 63F766D51052D20200ACB8E1 /* XCBuildMessageTextBookmark */ = 63F766D51052D20200ACB8E1 /* XCBuildMessageTextBookmark */; + 63F766D61052D20200ACB8E1 /* PBXTextBookmark */ = 63F766D61052D20200ACB8E1 /* PBXTextBookmark */; + 63F766D91052D24400ACB8E1 /* PBXTextBookmark */ = 63F766D91052D24400ACB8E1 /* PBXTextBookmark */; + 63F766DA1052D24400ACB8E1 /* PBXTextBookmark */ = 63F766DA1052D24400ACB8E1 /* PBXTextBookmark */; + 63F766DB1052D24400ACB8E1 /* PBXTextBookmark */ = 63F766DB1052D24400ACB8E1 /* PBXTextBookmark */; + 63F766E51052D2C200ACB8E1 /* PBXTextBookmark */ = 63F766E51052D2C200ACB8E1 /* PBXTextBookmark */; + 63F766E61052D2C200ACB8E1 /* PBXTextBookmark */ = 63F766E61052D2C200ACB8E1 /* PBXTextBookmark */; + 63F766E71052D2C200ACB8E1 /* PBXTextBookmark */ = 63F766E71052D2C200ACB8E1 /* PBXTextBookmark */; + 63F766E81052D2C200ACB8E1 /* PBXTextBookmark */ = 63F766E81052D2C200ACB8E1 /* PBXTextBookmark */; + 63F766F31052D56400ACB8E1 /* PBXTextBookmark */ = 63F766F31052D56400ACB8E1 /* PBXTextBookmark */; + 63F766F41052D56400ACB8E1 /* PBXTextBookmark */ = 63F766F41052D56400ACB8E1 /* PBXTextBookmark */; + 63F766F51052D56400ACB8E1 /* PBXTextBookmark */ = 63F766F51052D56400ACB8E1 /* PBXTextBookmark */; + 63F766F61052D56400ACB8E1 /* PBXTextBookmark */ = 63F766F61052D56400ACB8E1 /* PBXTextBookmark */; + 63F766F71052D56400ACB8E1 /* PBXTextBookmark */ = 63F766F71052D56400ACB8E1 /* PBXTextBookmark */; + 63F766FD1052D57C00ACB8E1 /* PBXTextBookmark */ = 63F766FD1052D57C00ACB8E1 /* PBXTextBookmark */; + 63F767011052D6A000ACB8E1 /* PBXTextBookmark */ = 63F767011052D6A000ACB8E1 /* PBXTextBookmark */; + 63F767021052D6D700ACB8E1 /* PBXTextBookmark */ = 63F767021052D6D700ACB8E1 /* PBXTextBookmark */; + 63F767051052D70400ACB8E1 /* PBXTextBookmark */ = 63F767051052D70400ACB8E1 /* PBXTextBookmark */; + 63F767061052D70400ACB8E1 /* PBXTextBookmark */ = 63F767061052D70400ACB8E1 /* PBXTextBookmark */; + 63F767071052D70400ACB8E1 /* PBXTextBookmark */ = 63F767071052D70400ACB8E1 /* PBXTextBookmark */; + 63F7670F1052D93A00ACB8E1 /* PBXTextBookmark */ = 63F7670F1052D93A00ACB8E1 /* PBXTextBookmark */; + 63F767101052D93A00ACB8E1 /* PBXTextBookmark */ = 63F767101052D93A00ACB8E1 /* PBXTextBookmark */; + 63F767111052D93A00ACB8E1 /* PBXTextBookmark */ = 63F767111052D93A00ACB8E1 /* PBXTextBookmark */; + 63F767171052DA7500ACB8E1 /* PBXTextBookmark */ = 63F767171052DA7500ACB8E1 /* PBXTextBookmark */; + 63F7671B1052DAA800ACB8E1 /* PBXTextBookmark */ = 63F7671B1052DAA800ACB8E1 /* PBXTextBookmark */; + 63F767461052DC9E00ACB8E1 /* PBXTextBookmark */ = 63F767461052DC9E00ACB8E1 /* PBXTextBookmark */; + 63F7674E1052DCDE00ACB8E1 /* PBXTextBookmark */ = 63F7674E1052DCDE00ACB8E1 /* PBXTextBookmark */; + 63F767531053FF8F00ACB8E1 /* PBXTextBookmark */ = 63F767531053FF8F00ACB8E1 /* PBXTextBookmark */; + 63F767561054069800ACB8E1 /* PBXTextBookmark */ = 63F767561054069800ACB8E1 /* PBXTextBookmark */; + 63F767581054069800ACB8E1 /* PBXTextBookmark */ = 63F767581054069800ACB8E1 /* PBXTextBookmark */; + 63F767591054069800ACB8E1 /* PBXTextBookmark */ = 63F767591054069800ACB8E1 /* PBXTextBookmark */; + 63F767641054DD5C00ACB8E1 /* PBXTextBookmark */ = 63F767641054DD5C00ACB8E1 /* PBXTextBookmark */; }; sourceControlManager = 631E1887104C5D80001A8B18 /* Source Control */; userBuildSettings = { }; }; - 630AE571104D18A40091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 631A51A9104CF5B700E73564 /* AppController.m */; - name = "AppController.m: 26"; - rLen = 0; - rLoc = 326; - rType = 0; - vrLen = 946; - vrLoc = 547; - }; - 630AE572104D18A40091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 631A51A9104CF5B700E73564 /* AppController.m */; - name = "AppController.m: 26"; - rLen = 0; - rLoc = 326; - rType = 0; - vrLen = 1013; - vrLoc = 0; - }; - 630AE5B5104D19900091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 631A51A9104CF5B700E73564 /* AppController.m */; - name = "AppController.m: 26"; - rLen = 0; - rLoc = 326; - rType = 0; - vrLen = 1010; - vrLoc = 0; - }; - 630AE5C4104D62B20091039C /* untitled.m */ = { - isa = PBXFileReference; - fileEncoding = 4; - lastKnownFileType = sourcecode.c.objc; - name = untitled.m; - path = /Users/david/Devel/arch/avr/code/quickdev16/tools/Quickdev16/untitled.m; - sourceTree = ""; - uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {593, 685}}"; - sepNavSelRange = "{143, 0}"; - sepNavVisRange = "{0, 197}"; - }; - }; 630AE5C8104D62CE0091039C /* CommandWrapper.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {593, 685}}"; - sepNavSelRange = "{246, 9}"; - sepNavVisRange = "{0, 308}"; + sepNavIntBoundsRect = "{{0, 0}, {593, 447}}"; + sepNavSelRange = "{215, 0}"; + sepNavVisRange = "{0, 298}"; + sepNavWindowFrame = "{{15, 60}, {992, 818}}"; }; }; 630AE5C9104D62CE0091039C /* CommandWrapper.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {677, 754}}"; - sepNavSelRange = "{580, 26}"; - sepNavVisRange = "{3, 1112}"; + sepNavIntBoundsRect = "{{0, 0}, {831, 689}}"; + sepNavSelRange = "{517, 646}"; + sepNavVisRange = "{210, 971}"; sepNavWindowFrame = "{{15, 60}, {992, 818}}"; }; }; - 630AE5CE104D63B00091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 630AE5C4104D62B20091039C /* untitled.m */; - name = "untitled.m: 9"; - rLen = 0; - rLoc = 143; - rType = 0; - vrLen = 197; - vrLoc = 0; - }; - 630AE5CF104D63B00091039C /* XCBuildMessageTextBookmark */ = { - isa = PBXTextBookmark; - comments = "'commandlaunch' undeclared (first use in this function)"; - fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; - fallbackIsa = XCBuildMessageTextBookmark; - rLen = 1; - rLoc = 19; - rType = 1; - }; - 630AE5D0104D63B00091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; - name = "CommandWrapper.m: 19"; - rLen = 0; - rLoc = 396; - rType = 0; - vrLen = 296; - vrLoc = 209; - }; - 630AE5E2104D65F90091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 256AC3D80F4B6AC300CF3369 /* Quickdev16AppDelegate.h */; - name = "Quickdev16AppDelegate.h: 20"; - rLen = 0; - rLoc = 353; - rType = 0; - vrLen = 353; - vrLoc = 0; - }; - 630AE5E3104D65F90091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; - name = "CommandWrapper.m: 16"; - rLen = 0; - rLoc = 253; - rType = 0; - vrLen = 458; - vrLoc = 0; - }; - 630AE5E4104D65F90091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */; - name = "CommandWrapper.h: 17"; - rLen = 0; - rLoc = 276; - rType = 0; - vrLen = 270; - vrLoc = 0; - }; - 630AE5E5104D65F90091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 631A51A6104CF59900E73564 /* AppController.h */; - name = "AppController.h: 11"; - rLen = 0; - rLoc = 176; - rType = 0; - vrLen = 176; - vrLoc = 0; - }; - 630AE5E6104D65F90091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 256AC3D90F4B6AC300CF3369 /* Quickdev16AppDelegate.m */; - name = "Quickdev16AppDelegate.m: 17"; - rLen = 0; - rLoc = 377; - rType = 0; - vrLen = 384; - vrLoc = 0; - }; - 630AE5E7104D65F90091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 631A51A9104CF5B700E73564 /* AppController.m */; - name = "AppController.m: 41"; - rLen = 0; - rLoc = 1031; - rType = 0; - vrLen = 778; - vrLoc = 0; - }; - 630AE5E8104D65F90091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 631A51A9104CF5B700E73564 /* AppController.m */; - name = "AppController.m: 21"; - rLen = 0; - rLoc = 394; - rType = 0; - vrLen = 780; - vrLoc = 0; - }; - 630AE5EF104D66E30091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */; - name = "CommandWrapper.h: 12"; - rLen = 14; - rLoc = 186; - rType = 0; - vrLen = 270; - vrLoc = 0; - }; - 630AE5F0104D66E30091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; - name = "CommandWrapper.m: 16"; - rLen = 85; - rLoc = 235; - rType = 0; - vrLen = 458; - vrLoc = 0; - }; - 630AE5F1104D66E30091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 631A51A9104CF5B700E73564 /* AppController.m */; - name = "AppController.m: 26"; - rLen = 0; - rLoc = 506; - rType = 0; - vrLen = 788; - vrLoc = 0; - }; - 630AE5F2104D66E30091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 631A51A9104CF5B700E73564 /* AppController.m */; - name = "AppController.m: 45"; - rLen = 0; - rLoc = 1032; - rType = 0; - vrLen = 859; - vrLoc = 0; - }; - 630AE5F6104D686E0091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 631A51A9104CF5B700E73564 /* AppController.m */; - name = "AppController.m: 45"; - rLen = 0; - rLoc = 1032; - rType = 0; - vrLen = 859; - vrLoc = 0; - }; - 630AE5F8104D6B040091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 631A51A9104CF5B700E73564 /* AppController.m */; - name = "AppController.m: 23"; - rLen = 0; - rLoc = 424; - rType = 0; - vrLen = 859; - vrLoc = 0; - }; - 630AE5F9104D6B040091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */; - name = "CommandWrapper.h: 18"; - rLen = 0; - rLoc = 293; - rType = 0; - vrLen = 294; - vrLoc = 0; - }; - 630AE5FA104D6B680091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 256AC3D80F4B6AC300CF3369 /* Quickdev16AppDelegate.h */; - name = "Quickdev16AppDelegate.h: 20"; - rLen = 0; - rLoc = 353; - rType = 0; - vrLen = 353; - vrLoc = 0; - }; - 630AE5FB104D6B680091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 256AC3D90F4B6AC300CF3369 /* Quickdev16AppDelegate.m */; - name = "Quickdev16AppDelegate.m: 17"; - rLen = 0; - rLoc = 377; - rType = 0; - vrLen = 384; - vrLoc = 0; - }; - 630AE5FC104D6B680091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 631A51A9104CF5B700E73564 /* AppController.m */; - name = "AppController.m: 23"; - rLen = 0; - rLoc = 424; - rType = 0; - vrLen = 859; - vrLoc = 0; - }; - 630AE5FD104D6B680091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */; - name = "CommandWrapper.h: 18"; - rLen = 0; - rLoc = 293; - rType = 0; - vrLen = 294; - vrLoc = 0; - }; - 630AE5FE104D6B680091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 631A51A6104CF59900E73564 /* AppController.h */; - name = "AppController.h: 11"; - rLen = 0; - rLoc = 176; - rType = 0; - vrLen = 176; - vrLoc = 0; - }; - 630AE5FF104D6B680091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; - name = "CommandWrapper.m: 41"; - rLen = 0; - rLoc = 890; - rType = 0; - vrLen = 1034; - vrLoc = 42; - }; - 630AE600104D6B680091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; - name = "CommandWrapper.m: 41"; - rLen = 0; - rLoc = 890; - rType = 0; - vrLen = 1037; - vrLoc = 39; - }; - 630AE606104D6C580091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; - name = "CommandWrapper.m: 41"; - rLen = 0; - rLoc = 890; - rType = 0; - vrLen = 1038; - vrLoc = 39; - }; - 630AE607104D6C580091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */; - name = "CommandWrapper.h: 18"; - rLen = 0; - rLoc = 293; - rType = 0; - vrLen = 294; - vrLoc = 0; - }; - 630AE608104D6C580091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 256AC3D80F4B6AC300CF3369 /* Quickdev16AppDelegate.h */; - name = "Quickdev16AppDelegate.h: 20"; - rLen = 0; - rLoc = 353; - rType = 0; - vrLen = 353; - vrLoc = 0; - }; - 630AE609104D6C580091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 631A51A6104CF59900E73564 /* AppController.h */; - name = "AppController.h: 11"; - rLen = 0; - rLoc = 176; - rType = 0; - vrLen = 176; - vrLoc = 0; - }; - 630AE60A104D6C580091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 631A51A9104CF5B700E73564 /* AppController.m */; - name = "AppController.m: 28"; - rLen = 0; - rLoc = 554; - rType = 0; - vrLen = 859; - vrLoc = 0; - }; - 630AE611104D6CAA0091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 631A51A6104CF59900E73564 /* AppController.h */; - name = "AppController.h: 11"; - rLen = 0; - rLoc = 176; - rType = 0; - vrLen = 176; - vrLoc = 0; - }; - 630AE612104D6CAA0091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 631A51A9104CF5B700E73564 /* AppController.m */; - name = "AppController.m: 21"; - rLen = 46; - rLoc = 342; - rType = 0; - vrLen = 859; - vrLoc = 0; - }; - 630AE613104D6CAA0091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */; - name = "CommandWrapper.h: 18"; - rLen = 0; - rLoc = 293; - rType = 0; - vrLen = 294; - vrLoc = 0; - }; - 630AE614104D6CAA0091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; - name = "CommandWrapper.m: 22"; - rLen = 0; - rLoc = 445; - rType = 0; - vrLen = 1036; - vrLoc = 39; - }; - 630AE615104D6CAA0091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; - name = "CommandWrapper.m: 43"; - rLen = 0; - rLoc = 986; - rType = 0; - vrLen = 1089; - vrLoc = 24; - }; - 630AE617104D6D240091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */; - name = "CommandWrapper.h: 18"; - rLen = 0; - rLoc = 293; - rType = 0; - vrLen = 294; - vrLoc = 0; - }; - 630AE618104D6D240091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 631A51A9104CF5B700E73564 /* AppController.m */; - name = "AppController.m: 21"; - rLen = 46; - rLoc = 342; - rType = 0; - vrLen = 859; - vrLoc = 0; - }; - 630AE619104D6D240091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 631A51A6104CF59900E73564 /* AppController.h */; - name = "AppController.h: 11"; - rLen = 0; - rLoc = 176; - rType = 0; - vrLen = 176; - vrLoc = 0; - }; - 630AE61A104D6D240091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; - name = "CommandWrapper.m: 43"; - rLen = 0; - rLoc = 986; - rType = 0; - vrLen = 1089; - vrLoc = 24; - }; - 630AE61B104D6D240091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; - name = "CommandWrapper.m: 54"; - rLen = 0; - rLoc = 1116; - rType = 0; - vrLen = 966; - vrLoc = 145; - }; - 630AE61E104D6DFB0091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */; - name = "CommandWrapper.h: 18"; - rLen = 0; - rLoc = 293; - rType = 0; - vrLen = 294; - vrLoc = 0; - }; - 630AE61F104D6DFB0091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; - name = "CommandWrapper.m: 44"; - rLen = 0; - rLoc = 962; - rType = 0; - vrLen = 980; - vrLoc = 145; - }; - 630AE620104D6DFB0091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; - name = "CommandWrapper.m: 44"; - rLen = 0; - rLoc = 963; - rType = 0; - vrLen = 1068; - vrLoc = 86; - }; - 630AE624104D6E950091039C /* PBXBookmark */ = { - isa = PBXBookmark; - fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; - }; - 630AE627104D6EC40091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; - name = "CommandWrapper.m: 44"; - rLen = 0; - rLoc = 963; - rType = 0; - vrLen = 1147; - vrLoc = 3; - }; - 630AE628104D6EC40091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */; - name = "CommandWrapper.h: 18"; - rLen = 0; - rLoc = 293; - rType = 0; - vrLen = 294; - vrLoc = 0; - }; - 630AE629104D6EC40091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */; - name = "CommandWrapper.h: 15"; - rLen = 9; - rLoc = 246; - rType = 0; - vrLen = 308; - vrLoc = 0; - }; - 630AE62C104D6EC40091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; - name = "CommandWrapper.m: 44"; - rLen = 0; - rLoc = 963; - rType = 0; - vrLen = 1151; - vrLoc = 3; - }; - 630AE638104D74C20091039C /* PBXBookmark */ = { - isa = PBXBookmark; - fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; - }; - 630AE63B104D74E40091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */; - name = "CommandWrapper.h: 15"; - rLen = 9; - rLoc = 246; - rType = 0; - vrLen = 308; - vrLoc = 0; - }; - 630AE63C104D74E40091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 631A51A6104CF59900E73564 /* AppController.h */; - name = "AppController.h: 4"; - rLen = 9; - rLoc = 90; - rType = 0; - vrLen = 176; - vrLoc = 0; - }; - 630AE63D104D74E40091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 631A51A9104CF5B700E73564 /* AppController.m */; - name = "AppController.m: 30"; - rLen = 0; - rLoc = 637; - rType = 0; - vrLen = 919; - vrLoc = 0; - }; - 630AE63E104D74E40091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; - name = "CommandWrapper.m: 40"; - rLen = 113; - rLoc = 817; - rType = 0; - vrLen = 1130; - vrLoc = 24; - }; - 630AE63F104D74E40091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; - name = "CommandWrapper.m: 40"; - rLen = 113; - rLoc = 817; - rType = 0; - vrLen = 1133; - vrLoc = 24; - }; - 630AE642104D74E40091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; - name = "CommandWrapper.m: 46"; - rLen = 0; - rLoc = 1040; - rType = 0; - vrLen = 1134; - vrLoc = 24; - }; - 630AE648104D753E0091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 631A51A6104CF59900E73564 /* AppController.h */; - name = "AppController.h: 4"; - rLen = 9; - rLoc = 90; - rType = 0; - vrLen = 176; - vrLoc = 0; - }; - 630AE649104D753E0091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 256AC3D90F4B6AC300CF3369 /* Quickdev16AppDelegate.m */; - name = "Quickdev16AppDelegate.m: 17"; - rLen = 0; - rLoc = 377; - rType = 0; - vrLen = 384; - vrLoc = 0; - }; - 630AE64A104D753E0091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; - name = "CommandWrapper.m: 31"; - rLen = 26; - rLoc = 580; - rType = 0; - vrLen = 1112; - vrLoc = 3; - }; - 630AE64B104D753E0091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 631A51A9104CF5B700E73564 /* AppController.m */; - name = "AppController.m: 30"; - rLen = 0; - rLoc = 637; - rType = 0; - vrLen = 951; - vrLoc = 0; - }; - 630AE64C104D753E0091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 631A51A9104CF5B700E73564 /* AppController.m */; - name = "AppController.m: 32"; - rLen = 0; - rLoc = 637; - rType = 0; - vrLen = 972; - vrLoc = 0; - }; - 630AE653104D763D0091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 631A51A9104CF5B700E73564 /* AppController.m */; - name = "AppController.m: 34"; - rLen = 0; - rLoc = 675; - rType = 0; - vrLen = 970; - vrLoc = 0; - }; - 630AE657104D76700091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 631A51A9104CF5B700E73564 /* AppController.m */; - name = "AppController.m: 33"; - rLen = 0; - rLoc = 635; - rType = 0; - vrLen = 958; - vrLoc = 0; - }; - 630AE65B104D76A10091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 631A51A9104CF5B700E73564 /* AppController.m */; - name = "AppController.m: 33"; - rLen = 0; - rLoc = 633; - rType = 0; - vrLen = 979; - vrLoc = 0; - }; - 630AE65F104D76D60091039C /* PBXTextBookmark */ = { - isa = PBXTextBookmark; - fRef = 631A51A9104CF5B700E73564 /* AppController.m */; - name = "AppController.m: 36"; - rLen = 0; - rLoc = 742; - rType = 0; - vrLen = 990; - vrLoc = 0; - }; 631A51A6104CF59900E73564 /* AppController.h */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {593, 662}}"; - sepNavSelRange = "{90, 9}"; - sepNavVisRange = "{0, 176}"; + sepNavIntBoundsRect = "{{0, 0}, {933, 667}}"; + sepNavSelRange = "{77, 11}"; + sepNavVisRange = "{0, 218}"; sepNavWindowFrame = "{{15, 60}, {992, 818}}"; }; }; 631A51A9104CF5B700E73564 /* AppController.m */ = { uiCtxt = { - sepNavIntBoundsRect = "{{0, 0}, {593, 754}}"; - sepNavSelRange = "{742, 0}"; - sepNavVisRange = "{0, 990}"; + sepNavIntBoundsRect = "{{0, 0}, {719, 1235}}"; + sepNavSelRange = "{1356, 0}"; + sepNavVisRange = "{913, 928}"; sepNavWindowFrame = "{{15, 60}, {992, 818}}"; }; }; @@ -833,7 +140,7 @@ argumentStrings = ( ); autoAttachOnCrash = 1; - breakpointsEnabled = 0; + breakpointsEnabled = 1; configStateDict = { }; customDataFormattersEnabled = 1; @@ -855,6 +162,8 @@ showTypeColumn = 0; sourceDirectories = ( ); + variableFormatDictionary = { + }; }; 631E1887104C5D80001A8B18 /* Source Control */ = { isa = PBXSourceControlManager; @@ -870,25 +179,482 @@ isa = PBXCodeSenseManager; indexTemplatePath = ""; }; - 637BA3E1104D153700331E35 /* PBXTextBookmark */ = { + 63B6D2051050696F002672A2 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 631A51A9104CF5B700E73564 /* AppController.m */; - name = "AppController.m: 26"; - rLen = 0; - rLoc = 326; + name = "AppController.m: 11"; + rLen = 146; + rLoc = 264; rType = 0; - vrLen = 376; - vrLoc = 547; + vrLen = 934; + vrLoc = 0; }; - 637BA3E2104D153700331E35 /* PBXTextBookmark */ = { + 63B6D2061050696F002672A2 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A6104CF59900E73564 /* AppController.h */; + name = "AppController.h: 8"; + rLen = 0; + rLoc = 211; + rType = 0; + vrLen = 176; + vrLoc = 0; + }; + 63B6D2071050696F002672A2 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */; + name = "CommandWrapper.h: 13"; + rLen = 0; + rLoc = 214; + rType = 0; + vrLen = 338; + vrLoc = 0; + }; + 63B6D2081050696F002672A2 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + comments = "'textField' undeclared (first use in this function)"; + fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; + rLen = 1; + rLoc = 15; + rType = 1; + }; + 63B6D21D10517F9F002672A2 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; + name = "CommandWrapper.m: 16"; + rLen = 0; + rLoc = 234; + rType = 0; + vrLen = 1566; + vrLoc = 564; + }; + 63F766B31052CDD000ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; + name = "CommandWrapper.m: 77"; + rLen = 0; + rLoc = 1183; + rType = 0; + vrLen = 1576; + vrLoc = 533; + }; + 63F766C41052D19000ACB8E1 /* CommandWrapper.h:13 */ = { + isa = PBXFileBreakpoint; + actions = ( + ); + breakpointStyle = 0; + continueAfterActions = 0; + countType = 0; + delayBeforeContinue = 0; + fileReference = 630AE5C8104D62CE0091039C /* CommandWrapper.h */; + hitCount = 0; + ignoreCount = 0; + lineNumber = 13; + modificationTime = 273942772.37427; + originalNumberOfMultipleMatches = 1; + state = 2; + }; + 63F766C91052D1D800ACB8E1 /* XCBuildMessageTextBookmark */ = { + isa = PBXTextBookmark; + comments = "'textFieldLog' undeclared (first use in this function)"; + fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; + fallbackIsa = XCBuildMessageTextBookmark; + rLen = 1; + rLoc = 15; + rType = 1; + }; + 63F766CA1052D1D800ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; + name = "CommandWrapper.m: 16"; + rLen = 0; + rLoc = 234; + rType = 0; + vrLen = 336; + vrLoc = 149; + }; + 63F766CD1052D1F500ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; + name = "CommandWrapper.m: 16"; + rLen = 0; + rLoc = 234; + rType = 0; + vrLen = 311; + vrLoc = 149; + }; + 63F766CE1052D1F500ACB8E1 /* XCBuildMessageTextBookmark */ = { + isa = PBXTextBookmark; + comments = "Expected ']' before 'setStringValue'"; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + fallbackIsa = XCBuildMessageTextBookmark; + rLen = 1; + rLoc = 16; + rType = 1; + }; + 63F766CF1052D1F500ACB8E1 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 631A51A9104CF5B700E73564 /* AppController.m */; - name = "AppController.m: 26"; + name = "AppController.m: 13"; rLen = 0; - rLoc = 326; + rLoc = 335; rType = 0; - vrLen = 946; - vrLoc = 547; + vrLen = 278; + vrLoc = 98; + }; + 63F766D21052D20200ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A6104CF59900E73564 /* AppController.h */; + name = "AppController.h: 6"; + rLen = 0; + rLoc = 142; + rType = 0; + vrLen = 214; + vrLoc = 0; + }; + 63F766D31052D20200ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */; + name = "CommandWrapper.h: 13"; + rLen = 0; + rLoc = 215; + rType = 0; + vrLen = 298; + vrLoc = 0; + }; + 63F766D41052D20200ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; + name = "CommandWrapper.m: 16"; + rLen = 0; + rLoc = 234; + rType = 0; + vrLen = 1151; + vrLoc = 42; + }; + 63F766D51052D20200ACB8E1 /* XCBuildMessageTextBookmark */ = { + isa = PBXTextBookmark; + comments = "Expected ']' before 'setStringValue'"; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + fallbackIsa = XCBuildMessageTextBookmark; + rLen = 1; + rLoc = 16; + rType = 1; + }; + 63F766D61052D20200ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 12"; + rLen = 0; + rLoc = 334; + rType = 0; + vrLen = 1195; + vrLoc = 0; + }; + 63F766D91052D24400ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A6104CF59900E73564 /* AppController.h */; + name = "AppController.h: 5"; + rLen = 0; + rLoc = 140; + rType = 0; + vrLen = 218; + vrLoc = 0; + }; + 63F766DA1052D24400ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 13"; + rLen = 0; + rLoc = 350; + rType = 0; + vrLen = 1199; + vrLoc = 0; + }; + 63F766DB1052D24400ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 44"; + rLen = 0; + rLoc = 1373; + rType = 0; + vrLen = 1062; + vrLoc = 657; + }; + 63F766E51052D2C200ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A6104CF59900E73564 /* AppController.h */; + name = "AppController.h: 5"; + rLen = 0; + rLoc = 140; + rType = 0; + vrLen = 218; + vrLoc = 0; + }; + 63F766E61052D2C200ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */; + name = "CommandWrapper.h: 13"; + rLen = 0; + rLoc = 215; + rType = 0; + vrLen = 298; + vrLoc = 0; + }; + 63F766E71052D2C200ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 44"; + rLen = 0; + rLoc = 1373; + rType = 0; + vrLen = 1158; + vrLoc = 0; + }; + 63F766E81052D2C200ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 44"; + rLen = 0; + rLoc = 1373; + rType = 0; + vrLen = 801; + vrLoc = 0; + }; + 63F766F31052D56400ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; + name = "CommandWrapper.m: 33"; + rLen = 21; + rLoc = 672; + rType = 0; + vrLen = 970; + vrLoc = 209; + }; + 63F766F41052D56400ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C8104D62CE0091039C /* CommandWrapper.h */; + name = "CommandWrapper.h: 13"; + rLen = 0; + rLoc = 215; + rType = 0; + vrLen = 298; + vrLoc = 0; + }; + 63F766F51052D56400ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A6104CF59900E73564 /* AppController.h */; + name = "AppController.h: 5"; + rLen = 0; + rLoc = 140; + rType = 0; + vrLen = 218; + vrLoc = 0; + }; + 63F766F61052D56400ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 24"; + rLen = 0; + rLoc = 601; + rType = 0; + vrLen = 807; + vrLoc = 0; + }; + 63F766F71052D56400ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 27"; + rLen = 0; + rLoc = 607; + rType = 0; + vrLen = 869; + vrLoc = 329; + }; + 63F766FD1052D57C00ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 4"; + rLen = 0; + rLoc = 92; + rType = 0; + vrLen = 801; + vrLoc = 0; + }; + 63F767011052D6A000ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 28"; + rLen = 0; + rLoc = 668; + rType = 0; + vrLen = 866; + vrLoc = 94; + }; + 63F767021052D6D700ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 4"; + rLen = 0; + rLoc = 71; + rType = 0; + vrLen = 860; + vrLoc = 0; + }; + 63F767051052D70400ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; + name = "CommandWrapper.m: 34"; + rLen = 60; + rLoc = 746; + rType = 0; + vrLen = 977; + vrLoc = 211; + }; + 63F767061052D70400ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 4"; + rLen = 0; + rLoc = 71; + rType = 0; + vrLen = 854; + vrLoc = 26; + }; + 63F767071052D70400ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 29"; + rLen = 0; + rLoc = 704; + rType = 0; + vrLen = 968; + vrLoc = 290; + }; + 63F7670F1052D93A00ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; + name = "CommandWrapper.m: 28"; + rLen = 646; + rLoc = 517; + rType = 0; + vrLen = 971; + vrLoc = 210; + }; + 63F767101052D93A00ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 22"; + rLen = 0; + rLoc = 432; + rType = 0; + vrLen = 779; + vrLoc = 172; + }; + 63F767111052D93A00ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 65"; + rLen = 0; + rLoc = 1662; + rType = 0; + vrLen = 879; + vrLoc = 1181; + }; + 63F767171052DA7500ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 29"; + rLen = 0; + rLoc = 660; + rType = 0; + vrLen = 904; + vrLoc = 413; + }; + 63F7671B1052DAA800ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 5"; + rLen = 0; + rLoc = 163; + rType = 0; + vrLen = 871; + vrLoc = 0; + }; + 63F767461052DC9E00ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 50"; + rLen = 0; + rLoc = 1280; + rType = 0; + vrLen = 940; + vrLoc = 807; + }; + 63F7674E1052DCDE00ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 50"; + rLen = 0; + rLoc = 1280; + rType = 0; + vrLen = 945; + vrLoc = 807; + }; + 63F767531053FF8F00ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 17"; + rLen = 0; + rLoc = 335; + rType = 0; + vrLen = 329; + vrLoc = 54; + }; + 63F767561054069800ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 63F767571054069800ACB8E1 /* AppController.s */; + name = "AppController.s: 1"; + rLen = 0; + rLoc = 0; + rType = 0; + vrLen = 512; + vrLoc = 17448; + }; + 63F767571054069800ACB8E1 /* AppController.s */ = { + isa = PBXFileReference; + name = AppController.s; + path = "/Users/david/Devel/arch/avr/code/quickdev16/tools/Quickdev16/build/Quickdev16.build/Debug/Quickdev16.build/Objects-normal/i386/AppController.s"; + sourceTree = ""; + }; + 63F767581054069800ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 52"; + rLen = 0; + rLoc = 1283; + rType = 0; + vrLen = 936; + vrLoc = 938; + }; + 63F767591054069800ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 55"; + rLen = 0; + rLoc = 1356; + rType = 0; + vrLen = 928; + vrLoc = 913; + }; + 63F767641054DD5C00ACB8E1 /* PBXTextBookmark */ = { + isa = PBXTextBookmark; + fRef = 631A51A9104CF5B700E73564 /* AppController.m */; + name = "AppController.m: 55"; + rLen = 0; + rLoc = 1356; + rType = 0; + vrLen = 928; + vrLoc = 913; }; 8D1107260486CEB800E47090 /* Quickdev16 */ = { activeExec = 0; diff --git a/tools/Quickdev16/Quickdev16.xcodeproj/project.pbxproj b/tools/Quickdev16/Quickdev16.xcodeproj/project.pbxproj index c5ccda4..3d70dfb 100644 --- a/tools/Quickdev16/Quickdev16.xcodeproj/project.pbxproj +++ b/tools/Quickdev16/Quickdev16.xcodeproj/project.pbxproj @@ -8,7 +8,6 @@ /* Begin PBXBuildFile section */ 1DDD58160DA1D0A300B32029 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1DDD58140DA1D0A300B32029 /* MainMenu.xib */; }; - 256AC3DA0F4B6AC300CF3369 /* Quickdev16AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 256AC3D90F4B6AC300CF3369 /* Quickdev16AppDelegate.m */; }; 630AE5CA104D62CE0091039C /* CommandWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 630AE5C9104D62CE0091039C /* CommandWrapper.m */; }; 631A51AA104CF5B700E73564 /* AppController.m in Sources */ = {isa = PBXBuildFile; fileRef = 631A51A9104CF5B700E73564 /* AppController.m */; }; 8D11072B0486CEB800E47090 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 089C165CFE840E0CC02AAC07 /* InfoPlist.strings */; }; @@ -21,8 +20,6 @@ 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; 13E42FB307B3F0F600E4EEF1 /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = /System/Library/Frameworks/CoreData.framework; sourceTree = ""; }; 1DDD58150DA1D0A300B32029 /* English */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = English; path = English.lproj/MainMenu.xib; sourceTree = ""; }; - 256AC3D80F4B6AC300CF3369 /* Quickdev16AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Quickdev16AppDelegate.h; sourceTree = ""; }; - 256AC3D90F4B6AC300CF3369 /* Quickdev16AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Quickdev16AppDelegate.m; sourceTree = ""; }; 256AC3F00F4B6AF500CF3369 /* Quickdev16_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Quickdev16_Prefix.pch; sourceTree = ""; }; 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 29B97324FDCFA39411CA2CEA /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = /System/Library/Frameworks/AppKit.framework; sourceTree = ""; }; @@ -52,8 +49,6 @@ children = ( 631A51A9104CF5B700E73564 /* AppController.m */, 631A51A6104CF59900E73564 /* AppController.h */, - 256AC3D80F4B6AC300CF3369 /* Quickdev16AppDelegate.h */, - 256AC3D90F4B6AC300CF3369 /* Quickdev16AppDelegate.m */, 630AE5C8104D62CE0091039C /* CommandWrapper.h */, 630AE5C9104D62CE0091039C /* CommandWrapper.m */, ); @@ -182,7 +177,6 @@ buildActionMask = 2147483647; files = ( 8D11072D0486CEB800E47090 /* main.m in Sources */, - 256AC3DA0F4B6AC300CF3369 /* Quickdev16AppDelegate.m in Sources */, 631A51AA104CF5B700E73564 /* AppController.m in Sources */, 630AE5CA104D62CE0091039C /* CommandWrapper.m in Sources */, ); diff --git a/tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/categories.pbxbtree b/tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/categories.pbxbtree index d567da0baa96fe92aa7b0985355f22d79c2340af..8e96b5b1c0d1795928b98f604f6c5d1292df54b4 100644 GIT binary patch literal 2508 zcmb7`d2Cf>5XDd5yh00Ti-3VriIBQ4R1^cHqDVmq0W@qv#Nq;#P!ys;;sO+lEHNws zg0Ub41;QdNlt5&wBxn&K;tG*f1XIFd1OyWmfAd~%d#Uh;UpW2fz4M(pb7t@3}MBoiDSlG;5gj2s&C#=OUu==8=Q_ zAUXFD+tN(!qSExnrZNbI^)wCPTyJvr<;bELfb-5>&bbTd+x4bYr%cKL8_AQLFMS8n z(KQWSbw_i*D!$Jj5ncX}dKO7{f@jxAXTe?Lq)TXTHc9%Hx}2Y1wRNae2~yF$nVOQ& z?b=g_xdf(Df5+i*Z(PrqiQFSDZ8kjMC^7#K6Gh8hwDg^WKOpe(3+``#dmo6vvlOq- zw24-Gh=kY*^beRS?FLEsA8-}J+i96}Xob{%rF5KJf&Q@0VsxbAw|hPnl;Oi3;QE93 z@bv_^%0G$sX5tp9^u~yKrA4aaz1}vfrQF5zy;lC^o1{-cL2`l`ZmsFpuk^~j?s+bv zZrehGkM~@so->Vn-t-RW zl4g1WF-~-2sZhxGYmJH)EL{_j@^e z?KwDvt{gaBPc{YxbK&`&pjih~Ax5NhF*PRcL`Tyv{O;bkmT=CT0^V!0Ogk4d$2&~x zf$ONO(&F)*;Ohg%fEl22o#{M?!v8231b!k%;CzZ{}u>5xYq7k z+)Mw)j0fTG{MF8Qyw81jzJElg&-m3=(A&VXp`D{D1%Y=s*-2g5<@9&ukh{$H5bz-#~j literal 2508 zcmb7`eP~x@6vw~6=W(giG@~>yBUCbFk3l(K5y&iG(oNL;bfu+PvOeejcDL))KYG}A54-m~-}61+bMC!M zmQ=%H)7@Tj?CoOG19qWyC9&s#vMJJnX;LBRk}EC#T-x2rYwdLD))`V!f%Fq-LToX= zHcXVZ5tp}2D#(}0H%KoOIis6anf&dCF8f;9odafjipyIrM~E>$>SoT`Y)Hd zvaccMAwq81J9Xt;3OR>xWahilhnzQVLR5ynwKJuIoNuv3+Dx8G zVmD8cD$(^Sx=v=nTN|IY%4yF^>H!x)$|k7YNu z(_Xcdc;Y5ff7_Q5-k6@jbGS$CmlngbMEZu9!^9jw%XGAKh(u;&O*oEz&y_cv#5UsF#Tb@ z(d+x*%iWmhO~!USJ0DZlg;-s@)%!2GI*qo)44f?8M(-bHP8Y&u=bAT_?#jkDu4lZ>9I)?1 z(`fFWyBJdwX6edCr}6B|zja!{&QGv%_-*rMGd+?yGJWRVWdhR5omQLa|8rTLc0O8v zHXam%PG@532FlJRJc(7s0$(h?;q}ybEYM&2XH3<2HS$xZY!LP-+K(TY>Bii%TDop_ zTJ@Pz`c@b833~!P#?x|%*WS}E;JbwH>+mn+ZG}gb_+$L$N0etFTzyJh@JwFCq<%j- z?K+m=H;YVv>o1)~fOc)XhH`&Bm{8^v2lxNsR3NXU7^sc6Too<6GFy7R1-k5V>IFLQ zaq14*@Eq3wi?==;qaUq*aq4~4X+Bs-{v)6oBp-L014dQi1M&9GnFh@7wd@V&U?-aT z!)bcbF({l1%fADHEAZryxVqZu4&rv7;T^)?p_XXQJ}Jy@x>wa8<~Yl1KQJA8Yqgm6 z_NSbBfMFmDXp~noPyv63->C_FO%CHX@1q_k#hnK84z%}RuSQpy1>`3(-Y0Re})foXD54o#QDz5$3tDb$~t%@!*9JRC5QEL2no%{C-LBBJvcy3 zQz?7_e52{ra~XKTp7ey*y_{P-&ubDrwK>QE59WHk4jO*TdZHt`LhqvJn;fdM~P)E+wUbhdyceEibc)vuyOOK_ap|96Lc#qRJ z`%Z<+^qcqL^N^G0btkdmbCEghTKyJpv-UwMJvzaAk^J3zqIsFuuaA0d9pKgNS+BGa zUY$nP&qDD#Ua3Q`y=NX4jPvp*nbCaS6U!65GX6ri$2M+MH|uGWy|Tc*DPHlZ^|K%P z8TD=346oC(y%rtu+733tHT6{eEMxNxzy0R_Yz(w>1sLD(e}T}mo9(7$2alb7WAZ`t zJAb1y7H{51=X)G^`Uo78$q`?e! diff --git a/tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/cdecls.pbxbtree b/tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/cdecls.pbxbtree index 233a6747b686166fdec9756cfea85c89581e4370..f75dfe310ba005586b184118b4bbf68f5913fd13 100644 GIT binary patch literal 622420 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

(~@!tNP0xj&qK-`VT+i3o1w4 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

oy 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

SxD_)}~+J(G%V`U(L2} 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�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 literal 573652 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 CMvJutEehKana^hPzF?W@ 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 diff --git a/tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/decls.pbxbtree b/tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/decls.pbxbtree index e27ed8130674c08a56805c5fce74f9b613b78792..52ed6bf180130694a028c7680e048df1a0886a2b 100644 GIT binary patch literal 622408 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

    29{Mp11gnN3E;u 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�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
      G~n%^@BObHIm+KpAeR%;W3*&ke0slNNV#4ok(~V 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∾{W)g3|2sxq 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ⓈQ`WB>OV$+LWR^ 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 uA24|(sot8QLmeJou2ktZBa`GIM7X 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

      ST^7e?*ER}^yNk%J7L|jjD5hzm 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Μ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

      *9o)3;#kIE(UgzraS`0$lVwx{6F>g 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

      $7>=NHyuy>i&^+8GX| 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%0ABHcs>+BArwI|6h}#vMp=|cMN~#r zR7XwJMqSj$yriCs&6)TH#`0909>=cNHiu%9{hl{`7Wq5JyP%RjKa1Qvd6q9VgpEX| z?-l1=&1MPaN95E7C)l3-&FRgWYF)r=ahkb&{O^N;sw@-BUG6*d6}|`O^D}||>IZ#y ziQoT9hU13qLeh&EXS*6o*j#p*hx^r+&bB`h2W>BtHyf?&=W=dB+keQv zhBfknrKfQe)9g=@-j+6VZe-^Uv;B>{BhpOrvLlD>;wX;-i0^nDY(Y*;cFs@I2h!rw z_RbkEohN-E9V`C_+b5-mu@!IakHKo&6|o4H?GHvz*9^fx^g%zwR<>TwX@KYYOu%0V z$b;674VBkIT25LTRgel_;%k&~?H$M4*v@LZ9Y0aLDJnuCD3s+;{e`Ae6k1(oXUl%Wq}Bmb3)gVY*|B9eaff7%eY} zb2{Ol;jiJ}{UELP$$$giv4`}8_s-&7^CCKu;a|r@U&jaI-;Ry;_W$kpm}390F(RFb ze?L~*%KMKPFAd%2|HhbU?m5@k;i=i%Pxumd>X;v42M(v}=iC;Tc*Boj+r(fuT#g$y zC`9aIuef$#tVO%SS3nHJL@cB+fBgmiQU1y*NMIdG;VE?YUhRcezZqW`fLrK^%c$j8 zPgFujEbYPO;;US4gY;QN^mNKssTLP1N__j@Qy+2`f`epYC7Vqki1!N2 zH)i9bJBaZoAWnc5%|H)UdF-K=z{Jzlb_%7(*JT}Q-5b{ykzf=WOI(e!zJ_s z8*}$abFyrm-?U*E%I2+q3TLNX%Mk^|^pY_G>l;t=Y;Rh6EQ`V6-MGM@; zPJHs5G0Hbh`EK(i=6m)Yc3SffVghK0;m#}MJytmpXqP_vr2V*=)~s-mR^3qVtPmVVb<%k=e0n-9woptYe-`RSq$ld5$f8 z&lgdL8QF6^++$8rJ|e#>o%aaEU;aip54gVSLi*M5hvMFCrI*>a`L$n8WZ|b*X_{;qQ-UUgm!?eR=pMjbD{?s@7lrul&qnke8mJ`*!KvEH{Q8~kRTxxFr8 zqg8(sM>4kmrWX7+L^=O9ag-E%r9IOFS;eZ4C z4?K`R9p!EsJIB~v(!vNvUSvg4+D89ny2z!{#>^`dz#r=EPZ=+9b%)$oF z$A{|87n*KfcBg)$9|Yn^XT?FzBeTAlZih1JzrU;td^Z;q)L7pi%YPdr7F&w%^ucvI z=*t$~BZqO6LErkw$BE3Be3jU`tEbA63)9G@|-dqLk87io=y*n>ZC z0!`5Zjc^)$uonH$4IS_eR^eN8Mo)~#99+avr1PBQ_#9s#5t5;Zeh|_3s;-}Xbi zKq&iB(dI2*I+D2_bVDEfcmFeG^p{?Eyo_Bm#o8|Nqvj=c!aRM)n(l>Saz)AQDi}hK zR5r)FN`CWx<^ajZ9CX|vamJhJ%^O6t&Wj!oRY2@i9P=zW6z9jFpj)%)db;&7`LH>X z`90gw$eqyEu@oRHF1tS6Yw?Ru=JL#g)?Mj4sV)533uGyob`Qze2oaGPOUUE7cwNbF ze>4|!ZAk}ABB#ib65oiMpo{z@@*g`Vf@252ViU48x_u))oY&a*4xhF2dze%Fo(5ZF zs~B8FdNWAg>!;?GUxclpksM!T^{?+#aig+>S?)lI-v~`Zx$!o%73SmUc2XAan;_Q6?9Q~>F@XK zhVIJs^(%huTXvuFrBJ@=(X@Xu@%fBoc4qNd^
      omzt3t4v!OT0g)ZE8c{@)qkF~ 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 G|9=2RbfrZA diff --git a/tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/strings.pbxstrings/control b/tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/strings.pbxstrings/control index bb7bbe8bddc44ae120cd004da2a26f61aac128a2..541c9567bcd86a90acd8ead67cd5e77e410e4bab 100644 GIT binary patch literal 1048596 zcmce<2b>dC_db3ny=Rgvy-jG+b~h|-=@WV<6s6-Vy$A-7E-)*gbRtru-<2vgfD}<- z7LbmFUIdwy-Xv5}1b^qw?lAjL$h+wK{=di1$A@$8x#v0Owz-*^WIt-trY?ne)bB3@ zq9XtM@5S+>M?|~|sl+n^3TTn>@pK+x3b`Ja6j4AOMPT`J7KcO?GL-y?LtzRz7rsOk z{O71sf~ROT(tgniQw$Z=PA)L+d4?%Ysn@q3!BM=T%XYC)HEuhmfM35+U?`D7_E*Ds z3gU<*s+WHv6-yz@*B3FtNYUTf#j1c`e|!e33Q&mFuEHuzA%mk0QUxKe!o4^Zj@{Yn z!`)aliuN1HV?dLT+LyB(>QM=+fgepdFCjgsAE(A@r0R8mQ-|K7eFU+(<_lKCLc0(3 zNCW)pVJb{?W7~C%hEpNiqX}5ULEh!&@uc20dJfhEC}i5TQ_uueNV~KR(g->8>X&We zwRG%$iU{kqs$M^o)AG>YmD^%1Z$MPj{Gt}}HQ5eH<@Ul&kXDHHYbdD|wBhKubU)1G zb&OK(C~=F?!3af)kxlbHx0)F}> zk4!@Je3I>Bp)S52GW%ejYmSNpjpAXJAT@qDV}|@ytIzNRO=ShfjA7ng*9)Ycj_ZWY zun*Ha+F+u~5|{g3)*M!JxjYuC%WP#V+1f|isoz`0S^_ZsVg_RYe)F+HnCQ0K?WFQZ z`+usN&0gLL{B*l2$jYgZcj|#r^MCr>IAkk5rs9tk^k*^+PV;H-CQ(xfrE9 z(vRhr6P$}v>dl)O!3F$QY+_un|2YQ?!me!m=3QpdB~VDyrX1@6{z%d4zGLDLoKtF@ z#BsoH33^c+6Kxk)^j$6v##t6e{gX_bAJ*5|J3<^EyI*DdNVIB7GI3!F>26eHa{<5U z>mber{LZwwJkeu`A>#$k#l_~+wr|el!r-@OGel6$)#h>ufO#LVxkAvtd!}Kc+spP6 zh;ACTh0Bd%^J&@y*xYP%y=ih)Hn(3Xx78fRI(Zm$w1Jx%=|TEPNzkq`j=0dtMRqdSb_+`?Z3Y z_YM5&8)`N$hP*1wW(dk+y^c}d5UkHDf1|u2tlO5gao(^Nna0bKFGvE-%2R+{!_G^oXF*e{n zhHKXF<%sCU+4GnJ0-TF;pArj%;5y^31PJ~7^If3;%m>%2Ya+4J&=Z(~v<|5@R%Qz_ zx+psJ^c_q==x^#)m@NqF&oW{xPju9x1X~c=qc(27U_co!*@0a};erDAzw(qV2)vQv zJUv+`guw6ICrlw4&WqdoVuF_UN3#TtyQYhUSlFM=Sa_o6BpUTgR0yk)>p-Gd2t%A- zIoU#jvTsGUrxq*_3Io4(=VhKC-J>@y{2zGYa@S`Ib2-N$^Vo{_WeW??-*FeY!qES& zGY^Hr5RdczIj(RR#%oF+u?X;*(i}WNq}k($pFltsU47*|9vBG=xfT#=A+z0~hqfrN_xAm)S{u$%WmcQ}0QOM0IaTz}z#k)C0w{987xp~;n$E_FKaQ=xD zecmywTY%4{p<|*O&Vf0Js{f~AQAUGQKhy_=_3}figoX+4F-1KJuk6QMysJ=@@E`a^ zLTB?_63X@e6xFqyY%vDrW3y`#Iu_<)i?KP!jk?ap#R5uvrrnK&VnOgz2H|3`&T|sF z+)B1Mt+bD{cTArz7KiJ<#oZkj=VIGY@qO6hICg!c-$-3s)XSG3`48>S5&XXrqoo%r z`5*F+jKj44xmeN<=ZY0S2qk$qcc&d@OY*QDR?Qbm!nxbLa2YNcfPHMp3<<5tV+5kx zhgl>&(x0rW%4}udfqADbx?gzbE%MidzsK(Yujc7EfuOVeQ}G?b^Ls_^o#5N|pQF|U zu@oI`Z$DlJmxB4Hsba#Vd`i8^-heIT2fj--rWEk%CeK5q0!qD{k7e&Az7(84Y<(_s zr9yE1|5c4jiLgJ{@o}YuXnReSg19sjT`v2}35~0+@ue}u^>s_aQhbs%b|E=itlW;js@nhVQ&Xwa8UG}e;xtl2$gzH-TAqnMj^xg|p z4&qkVs>2eD6hpy{Ogy8HERND0AI{+8{mQ;*sc{X*2j1YX?`}RG`rpv^FA4R{3$yWW z;zdo_1X^it{>z6GJTMQ`t+)hMDUS*yt3c!0f)aq=)UydDXlwVUNYGlMv5+8u-Y=Dr z@S=-N2u1rdbr{4X(!h79jhM(p*UP-R>h*<0PN{e0?aw9hiZ0vbgsOYDQDPYG3;)pp z5XPh6dH~93LFx2)>q9No;wn=sM?qzPteI<RHS{MgA{5))moQ-97S`Cxn!8uCe;3ehJ_OcKmLTjdgL5)b}2?GTaz&|g0SV!-`v zF+u0%R#LfZ! zK1Y>sJ)|4@gd@81&*n%fmm6fEW%7G$r7+a5`h~9y{H}3NC5$kOt?KHd%Ko;<^d-ks z_G^&-r}kWB;4@BI%T~rP&lc@Qm4ncK3111M+|u|M*uy@sw>d}3bqDJSmBV_Z&r_GL z90vYD1NkZthb*RspK(<@xe$s!iK?)*<>J>!749ll0e?A(F;ARWMNlDQo`H;nUAo~a z;v3poTBBsT;%j#X&r~tllg;kK7AV=5O@D2f^^XseQE~vrVf{9o4Ee{D_zaXRmVo{^ z0Qev5Vmf$pg;Dn#Q#D{xD&udVs=*>i)AC1DRfy(MPiu#&hLv)=roLE>hIQyaDpX@& zJbLuwt1-&;MRu%ND{$2~u!n zCs@Lt!cw{H?=^n3L97n^k)j&dp0CbAdHkQKx-S>f-~5HG4*bTn+(LCfthdq@wmPpx z)U(HI^?(}187gws+1UF8b$ypuT~s0J`n62F5ub(cNr;M6MKzebNR^OB(p5b>XW^(U z3}#^{6Z?#lP<>5@Ye2tQBxartOAL(tZ4D3q&^^;~|T7WmZ-uZn5`zbyI= zm2qvP=yG{ZXr=8;Z9mMnSyR~ByfWVAAFhhEf%mms*~Qfsl=GC)_8isD#{b$b>mQa^ z`4G!wYaeM4p=*X{5zCW(Zy(Q+{3FCN^Bv3z(d7|l2sN$7dTH`G<`>Qj{OTT@==Ff# znOg-?{Tt5K)a;pcN8~({AIBl)}sb~SbtCAa07_L zL3vrCs|xX41FS*j8zH6v@K~Ph#0`Mobg(ts0Pg?UCXPZ4LeOqi0n{KEeSMMr(--|h zLl1oZt9FZP$g1Exv4wBwQ}|^&3%?9Cg#AA!(KLR+Hw0c|ur*6CQViep!;NUTuJtU; zG=lu8^D~4-9t$$JZ-*LrAP;^8YUG3a8h`L?BM#1ezOhUrAKdq_rV5RC=-19&IZ|#M zcbjd5p}#No5*h`gd8|dNFpWf|-0|uaYK#=!!mmP&nVj>9jGub%me4o=ad)^OVPt(Q zopOG{Gy#6Yf}s-HdoN>~&;}G2_W{#{fxN0Gqb95pU!)(+sSm^^JmhUXFA$`M=VqH= zxV|piAT|kVknQAH+=TSQJ~odiEa*lFA}t!-Y(hM&io*uJ@cU~Q{a`w)p-!t6f3%1?wB5Cn})2inj_lM z58!4V#g8uU7hE&o*PHXR%{b_eIl*RtjE7XEj zA*Z92*n)-loFdnP17ttoC2ZG(A!zMA4YvpYUUs7vaJ{EXof2E{iXY7{g;0x-6Y2KO z5L<{a?#~BtEktGg8~FNsOInGCs@7X*`G$OryT;>|z$XhmV<+1Z`rrAppJ@qvssgJ~ zOI#G`Ql5$};Xb4+baFnvWeEDcQa83G@M{h|5nF}<4;PS7zqB*sgL!W$dqX7kbaGRH z*we{9MS|$B4WiFS^bHKrwT}~#&p#2~3urF-fR|1dGwrL^mh9;*&2dXH+jaAS!1$n@ zH9SE={gDNnFAV$J%yp7Zu`FsuLp)OvCxWvct@8&tynj*2lSGiW{;I=#hH<2 zd}FqiAMD3}hzQDJ{jL*gg_V9qPmZyz1UMhB^@yzm#ZI=5ME$MeY-`|+6kC2b)7l5? zG^2-vj+MtGR0qn4ts#F|;&jjX)>s)w?XDl#*1)UXeLy5gt*?bzi+0d&azs~oW^-*2 z!L1@et>EP)d*MqY;hwz`8mM!qbr|O7hPH^<86OoF+i;*?Esxv4_-lIK650fyKgaKv z>dgl)pf*80GJJZ0X(Onh{5C_{*(X?~dQJXZLL2aBpRkFQ{0)4?w563itOslJZ9Uoa z-|M2bK1G-FMQN*0TmIeGsxjq#+!iZ#hJJ~BTi{2#HZyHQuz#%V%(jK|zx~t(L@-kH z-Ik+w8Ku2kPi;Af-t`$}6=^ixxOe?<|K$YDyz7s)cWqw4yc>)zmmN^GRxlYBY#Ksy+E`-*HI_*L+@+X%GDRdled0Uru8>gx+A+ zYB=8!!92>fQ0R!1dIz&v=;(oSTS6_iBWp*N{VJg&3+rrMUalhtd0f2DcI4pP=dLE% z>H3yI9RqMbDQ{E0BZlXOWj+u)2I2fLb0$YHQjG8H5IcsUT$hA8q3TFAdK_TENHe4w zhjAz1rClQ>lnty$%kiE3P`;`^>cm5T{<#`=0)DIeYYEZPFyAQ%?_=ejiaPm$N5!B{ zCydBAWHIU#G9XvJ4nila#O1p5t=O4XbeTs+%Dr3Y?1TRQy{t%3z3xkvpw8#Qo&CUT zT7)}8zo1ezQD^K#RK^#8t&n=8o$Cxd^wF1MXFhtp%l>1bE8h^I3;Tw+s{ewz_-%+9 z_a$Kc*Ug<1PjX#=&-v*f313%a{lj*8Cf7w&{5enW5V|5oNBdU_U72igItrt%tOcpI zt_7@*jQNMNU18kq>+0aHkiR27FYd}`YoEoVI+9E18iaLVY{hg9!aTV=7RGsD5S%c73A@?1cTbc>HMTma@t8#UsB2Bi9UKj0Olo_2`mU_R>p z?jUj@*k7g=6}T|;&&%((Pzw3{ zv!n&!vzTVOd*#`bkP>f9!>kHpT2H2%C!75eAL{0thtx}30>b_7lze~?_o6*aH$I!4 z^$WHeE`^YFHDGc~8vS><#BSki?XoN_4Uz2#;@wg=>|f&1Y-0!n#Q z`^n?j9>7oij)WefVrNR2#q|U}?Y-t)Pa5`>1e)tf=KF@WBGGk+KjwR~Fb~cg!aaS2 zrw8iELA;6W*q(mS(_acbdDvfgCr`=^1^2T(G3>j+YC_MT!V?uwR)KoLF|HSadADpk zBB&j_f$PP9e&8DJ1^o1rbgq|2*$=4Z%}_56_;2-NdjY@d`YEm#uY>PH9Ax2}9!Niz zLcMU#ypi$f6GyYXfzMP&UF^pfcCk#Q?-)%)wt{xEN`-YS_ zR5O#=zG1kIk6bSHL%^HSANK?P9HrhYt{<1pE-@hX1OM8?8@PS}xIZ#_HPbHue%m_5 zez1?dt!Uq?%lCg9{s@Qaz%Pqt;S#PtR&;&0yQn|Bf8qLU4%1&y$~EV=GyTKL zdk=DZ88x5xXFl*K_HucSXdQ+y^10Kg{dx+y`OBzrJlrW&q@`@3N8` zz$oQ%`$#mM$kMvS z5a!jy*&;z%w5rS8KvB`<@<`Or8_0ajP23FD^>Dqwq=I zAAbA1{@Zvouk7NWF!XEbA$TxScVisV)E*0)L@4p z#Xi!|RB$9SjMXAX{u1mkAH0WEup*y{eI$&u|EIdie-8}@e%CkS1cLu7p?~`W4G%{9 zqyI?7!^!zSODH^v83DZNt%rpXFb_<~X90P|+?P&@)h?=RXDdGUx)v|l+6{k9Leku>bTUG}4qz;EDRvLijPPjI>Tk*p3` z#;4(t@ct>XFBL~}u#fy&6OHu8_9y!_#r-6V6r$si>m!l=w!b*)4f*Rl_t;Us*nH}n zZgx}vt`~#s%qUFGk-Pa!ydV%XIhzWj0!n*Jt)KZ(Vd&5I(%I1n@|@&E1S7>IEXAWC z|F;#*0TVkK_##C&T*HnILBD;R&W#q8dOdu){up?T)Grc7wu{sq&qVfP4&GnaaLmUX z+z$~4;g5MZe`)^ah>om3upeU%Ikh!;qC53%vv8DD?=sPlC z#y}j-)l+$b=A-X&V?0FPgEPzjMiTz4VhFmH6=R7X*RuMEpn2zLW=tUV_bzM&F0f-D z|5&0oo#e*S(e-ryRADR&_gMxW;m5LY-{hBXIijnpJmkmvVcZHZcq|W}i?;;1u>t7c za%Kt9se8=WV6?wj{Hm_`xN$VR4>sT`Ae?)z)IkKP#+TV~Y-~S{Hq*s%e9rTmdfpL_ z3u%y%)-dD5Xn%CKyetp*A7Y6yR}0MhAm7J@8G;)6cb50Vdrx-`FuWh~ZnGTo0Vsc5 z8u1v;OE+~AYL6Whcmc+%0n74yG;b`vSmm~(rEw|;eu^{~Qh`?%{qog9D)8HncSNc1 z{54Xn;$xH=g3pudSKw4pX%}hdYS4oHgo#}*+fyBi2%lu*m&>*H#tWZdn71dsU254jSmw1ot4m8 zfgxz0*G$sw^FEU5?emsM<+6WmRSz=(cykiV>f!tZ$e(g2F%y7K^~`}L0KXOAm&$G9 z`%C4rAKUe3!h{gS)1?tNL5%iKeYTpLNW*og+BTkGPU1@Lf+zZ;?da3La}#mS>meuq z|FmAe@gnlOc*2=}MQ7vKomJ8ux-mnD$v-h6fvQtZ@CTH#3^&~tx;C$Y-;I5J*(Z3AW!?0@Pt z)$t_A*Ra`!Ct>J^ZZmnJYqo#POagx6&X;IX2=>tf?eQddAIUMQJvT{+_N$x9bCVe* zj!3?@)v5e5*~vlRoe?Ka27dLu_RQqa+xs=lyTwfLyuG~~m$qFzGX?V3cA0|-QrpXk zQ-D8~7^dxJrlQ#OvD(SyRCNQM%0r&-ZegdA{+^JCrUEb8mWrlA{%BWuo}h92BaYaa z%XQ(W3d(+BsQ5LW_FwSJamc6{`dpX>{Q4ULOVEC=0Xt35Ao{y?cp8kq;mG^!G!f!x zc0odvTArB>{Klidv(pir7xsL>PG{ggRO(J{x<`xb*LMojvz>o*X?euyTy%e_HeKeY z!};sK6>XQ1;tb$N11_K$9?e_3Q~zlfW(1=59oy;h{0u=UcU`|E%z$f(LzoqY=RVXbbl2C0+v!ffExRz8dgMvCQ1GB=x3%Jt()@UwY{ ze_TC|;A=^6quD_RvJI_)X9u&DXBikfe1c~~{*gkrt|-jO#;f^yJ~M}nwlj6%xH)kD z7bTQKb9g)81V9tgt^s=z&+J?L91On+;rJ5G5tQ}jymm&IBP#w(!|$?l5sdH0V|jwE z@Nztt&Q>4Sm7B|go=^qNCF?C=CZG}NUv*&Sa$tY8BtI9ff5w!V%-jH+e|&ZE+-#pi zbQ7O2a|Kuzizo4OL(t!zc+lZKLf-9|=+2+>GV_4of#OHR?{@|c*=9(^g;z<&@BcoJ2BaQ#Uf z0|?Ipze{Dm6m#}x+;|Vq_eI;Oj{L~a=b=2IJDN}WJ>fe*!ea)6&&`R`0O5SH&@Ie| z{?XZ3cD?}Pk+7MY9|rxqyX<`EC!@0zT0n!In!qn$VBcC15avT%mXrHLqMO=xV;1-b z&j7T51HTCe0AZXGa|1%ZB`yMl>yL+#Q2kCVZUM{-b$mN+0pzJ^w3%Dr2Y;vgbHtzi z+jz7fO!Tpc=(bWpW&sED<6$2(pC|Kr1X>99zfi)7OiXkG5}qI+;qd^1-S#ouLf~;U z{9IT7<<33xSmMvQH?M?|<6_TU0xcA?^<%;%vH~t`#C@6QsRaoBJwXZ06mH|!!KeS@cT=>(4qjm@0gy%FA6{&&Caj{UrWMGv?xS) zS_2ZEP$qg>0)m|QNv5N&*Pal0Ep|$m1esMTwK1;_r%n}$Ul;}rG$o`Y~2#}0Nzf9e8 zDHF@rl~6r(4_@Mj`S!&`en}AS8*DoyED6GWqQuYfk`VAu8_F!!F>9gK#@qCW3NcN5?WRi5OJ8CbG`zdkz2n#Lc28RXH-5nAmJOIh1WANskwxX7GWk$P~v@if-KAO zZuAvT{Ljw9$C;SaUPAi5UHB@X_}BNG$$ll4RcK025SJmP9yycvWn}-4YXS)I7kdva zW1zl#Ike12c$Q{j5(0$sq#l|2?_4VwB0*Gs4O-3sPm(nY{Ss=gOcR!Sz;01tVHuzysi(Ny z59h&U`J{Hbo+p^);Lq{FG>OOA>6Ew}!#wU)Rzh3BiGL+%nDAaca~_2SMZSc^fCMj;8zcxi&kKWB- z{Gg;{v@$?==1NGZ_etf{Ut{q~;HUmtAfb+4!L9^;Q?ALJ)GorIxyB%F74Tb`ZTn_b00{Cn%N#GWeJ60HgleV?SeRu5-a@zL={(8X4h z)}qxOxUY(j@vDJ9QdG;Di>t}L7a>mmDq4*ddvkw1zgmF)?Ej90vbnl)8GdzGv6IXH zf5!of*{?;o{r^^~wtTnr!(~4Sp5ZK>s_w zoWiXM7~!1uA+si^`a;`+&Yg1 z-s}GYtz%(+bs3D-0l#W&F=ibX9Y-uba=DW^kJr5+e@bJ(>!JS*Yv-c%bhKaB(}(PO za{bE^o#|b6JYylI*ihsK7FH8{5{knUNm|zIzPlk^Vib_1rpA(o(khl6_3crbl z^JSl|XcI%mX@!LLvKzTgtl}?{@89Z%wX4ylFv+6}Al!FqRE6D)%&*{M|x@XKO7Xk@q0iY}K& zVXorb7EW0Ya=l^g2DBwW^64(2uJveUOAxNNM=GN&!0&8Sg584MviWPY*KUQrK?<+7 z&~pA8hFnJ;uoCX`ODH$6mDV%gaIk(BS@Ac1xQ^}0$A6P8f2;2x{st@YSvMQ;H^85h z*#4f*Z-xA+!z;P1z;D>t3vKl%?X>3_v0HtLo|C`Gddmafax@boj z=GoMW%(n>kg|BZ5-_meDApcYREe-v!p&a+EC)$tfPexPGe)wBnu`}L#EPRWVbu8Q2 zxpK_6gg-)TEoosV@XMlIa82CFD7suOqj}p7ekYf${<|H*PQExYS9{9tg!>H+O&Z$C z!+x@NAiEPQc3Pv0+xZ55*{_V+W<8ki-oS4Rc0u3y6o2-FztDGnWgn8;N1|naG2uHQ zww>le2ljiI=g#x(`0o*n%eZ08_ix~Ll>QulpN(JUp^j8T-}5lfr;pc#H$Q0}V=!Ex- zPqOL2Z#obF9iAW9CIi}$+3p4`3h#jh0lUC+g?^auS^P6VFM=%3*JA$8-nXglr24ADp)~4g#!-Y*)_!S`ocM04#{;oma&4 z09@xU3;^AR=-VV76LO$YSn$ETcs525f^dC{U&!q7!@jkkF1H8zUA174NKk$81iJ^~ zvo1U?ka}msZqOd?x9?lXrZb>lY%Qikz4PK230+s~Lw$RBco21O4Y!v8f6gMzUJuNh zqe(15`;)y=x#Q@McrUArv+9DpP_v| z4RWx(L07Kt_B>meeUP_3&tq1?eBVfD=6m6NL5MrQTGDNW-b4FBL@$8$@$ft_P!-B` zufw)YttR|PD|r~7)@6SL{#c^Y|Hb_1k6kafvzk)aABCLlWP9`@686J5{m8_~pb%XiY4^X<4Qna(5ag{|Fhx8B>r}O1 zCr8k+_(Md>BgHVUF*=N3|CrewAEsgdS+*7tbbj7KB<0Ro2@)DMa_F!R)_>tl)CA(0 z!+zMmmt18I^Kd;V)e9eHqWwqm$-1l5a(p-p_Mes)j}V@p>oElNO)oM>VEsD^cSlFE z`|EWO9|8VIQ70DUj==hp#Z-EucmykUu2R3^BZ8vKb~5T7CyGab_qFtHkB?^OeO;0H z5B1$d<|ujoktL2FlF?Bfp1a8UoWtlShV#U*cetb3;?RHm2ptW>QJMJQEItn7 zU<{7O$02{Z>PY5zNcp}*tT;4nccBmy%_G~>e~0)G7hP}E6=y@)zW*TG%V>j7nIXvE zwq*!M&_08cbh_0%k?8*`F%I}vIDuh3J=%>3YFa(SCj>a34s61o03Orxq5KJ$SElFl zB~%@pFPubh{i=FGAmwi>#@r@!(yyH7-nLyVJ6+v1!YTR<{m}3}I>o|1L&tFvx_XEN z(b;GGDLoC-p_1=rCj$ltJ#me5iE1y6Lxumj?$uyP$o z4a4Ykw(Gwfr?Upjoz8Z>m&;${Jcd2ZE4|@1x6Q_ACSU?`AFK2^!`NLT5ctKf=jLeukaGXF1Tn_=6+<;?&c` zvwnEa`!W}MHURHM|1v^68-V%u%PfJQEY?9wnX_R3e=R2USmvAn`|RDh=p69tR`wRp ziLeh>|B5B$t|5zsb7Ho6kQJc0^Hu)5Cpup3kyrRU_s_?LzPeX95B#n@e@XbZ{a~5U zo4vp)aj1{nXD)DxF8k3HP~!^$Sm$?+a2GJ(u)O?*AmrV38+!rrG-*c&q}+D1h(L75 zom!lPciZ9%f(FHv`w3k{ieHCYFJ6TFjh9a{7h(Q8+%qNJ>W*VBa?rkL9!Zz^Wwd-- z0AIu~zfyecMc`9+xx!rpK6L)3a1rvC#eDEbd@&63v2>HO9?O$m|4M8# z;_+qRN1HF=%K;10wb$XxkiWjcM3$f|`mrt0<&bhtk;`MDX3xj?7mw0DmYrO#3QuN# z3BW#JSqli`o_A{|F71haf&S2sjcH+l~8}UqU(iw;#WPuCUO*y3@=RUm;|6 zPUf!oAiuGL(G|ZA8NR&0T;ZYL6F$IKI4EzMOT3aTZ`-7<;uRq_k8^3VAR@RP-|3D; z8s_zoO03AhKDKnERE``|kO=(hfeQd3ucf~M!r$u{J3&G^=^hs0a~yrU6BapWZ`#O^ zdS~&yP!8*@`6Da}vH5MCw~84E&g-L`Cff~p89ey^c?6#U{hy;W&p;Wl->F9B0wjFR0O9&j<2U@P#JgJ3&10@- z;<6*muZ#))?$&4MSLk=s%&){>f!AKIJpR?MIdT`Clw9{0ifZn%_si!u1D< ze+s__AwLKB2UOz}D2ILc7qx_u@mkJyWUexhN68D!RS)6YDiXAe=*M04fuGcq;#Cgj zgR3~Y>IZ%YLRWdPcT@oczVTrRsl#&swUO>$>pGvCy&5L|4~o|iN2{pGXa@YKj2mcgwnBTs2;CfHpLx24|UnD4ts#qW42F`Xaqz|AQ0?F$b zAn{*N(sijzvM?;6qgglc2E=DhvWPb!e{)h*hM;3S7HAo)0H&77!VQ3MAL&jDbQ9X^*1ap08&}uEH-pe_`fcu}5B~nn^j8e= zYizWIy+uR$jAa7RO*4L!(A?pKaLWVpK+^@#$-{9M0pHAm2FX*BOA({VMmPF0~E14ZOP46PdVfl7!~Z zzLwCk_Y`}ZH6v%p0($IuF8h>oO$W4A1TEgy4IQd)J~nkeB7^d*}`(aXymb zbTmBA-toY`+N?Ob%ffou!?L8_xu=aN+5OIocLTuF@EN)b<+^oGBs9Zww7VGmmM+cQ zg?Mbehj4dAWxmS&g35~c9<7v{8(!z{dBFdleG$PZY4``a=ZD{~?o^h$=LfrsdANJL zVyAg*X6^+Qov!z_a4)3jQT}2Tl=GweEc~tlJU6?~!uNqUP7>~OFrPj;0Xp>eTq}Pc zc#V4s@%ICYf4cikd_Nn%Bl!e({|)@EdBwTk5bQH`Tch7-Sa&xn0uukHC5#HozC-*C z_$~Gan4o<~b>_F!vB+fBpx=Psx#vFn8&=}5Jo^j%CMbH8Ke^yTCwc(9|0~g4YL6cT zVLzc3un*w=pT5Z~;Xw%I)AYQ|1F|3GAo^Ap`LHMFcud_f3iBGIy5;1e5YK9*AlzPqQ?=TPj ziXJN+lXe$+n63YHS9dWF#n|n%KRxFjF)*(TtI;EP56{u4z3>S3VNJIw!Xw~!G#Vu7 zmKCjqN5HSMIhaR0py{soC;;nv+-K|~4D+bSyF4j37u_Kew5FZJk9ak*-blueLNE@m z@}Ngym@k(%OLneHy?El^@(IU32L8Cjj~T*i^X%nL2aA9ZORX*JQvlBj}spQzaiKJKY{(vQRA8T1Sx*)KYqbH zDX-`&yDdfJS7wycf`b=-fxS-+@0Tv2=Q${~dU>Czdn6ll=E>;|N+h zjh4#e3gyB?M~>?3?;$9^GzUre)1^UmDGE+$Pp|EZp7U^Stacndhy1nhy^ZG>&gbK6anA)<2QTh3&k6s{c&LZZ7u#A2 z&q-YWQs|X+(I0-Yj^ZTL%pAx30sc(!(=fre71PjX%%3P{duqmV@lPLICyX6ff|gI8 zbAQ6~Fw1B0JV9ApwPrAXLf*(fh50iG^Wjl%_D=!M$DS1N&k&p!>-5g7&uU;A6hbcu ze|tN60rSsXvjOvh&N&{LFB0kT)$j}8ckZ3f5;WY}B)$NC!|lNgK~!!bdLe2MWvK<| zMAV@J=*5G-k-_E%U77!peyR4oguftfs^dfn<$BGO=KNngoTCSiMt=pMe-`KCGV!>W ziBA}UhD|r{Um@5(7r42<;G7dF`nF%OFKMX%v;+H+iJiYS{vi93Q|b*S4SLDLd|mJ* z_Y%JUVJ|cebf~{KiF+A@{o%*y_@w~z@4*KCr2xM>I@G|t#K2>k!@Y$5aF}ytV*D=2 z&e54duV`gFU&p!lYxK%zM5>M>0bx8$xW;|v!YF1H=OEYR?8LE5jE0Pz;C&{pHgwL?<2X6IMY=44gM;u zp;RHI+)RbjRAEJzd1TbrnMJ8R@H>M){*bO_|NZ#cMx97e3$b}rBOg-mtv_V!bQciT zk+mft>|2FCk&y1#C6(xL@pZi#$Ul}?2KUI&1Ylj|OOP;m$;Q3v*&aafyEnJii@|VTZ zsfb$_1iMbPDT20%mojuAsPB;G)`@UkR2TOWw7#>;tw&IQca)dZyJp3?bf1D!#G?lE}?Z-X)kH7&rrEdz)#;FmO*sY(v4{* zHg-JJ+9N3@9`1)GT%t@ojCaf2=_U;G`}F!$QxMwMIYF5O7+>|NR8t82eroWVz^@}W zlV-v>uWMD@l2kLSf5V~cl-URV=AOp%PqXs>VSJuVq^tsr%cyiO!AP-p*pqHUu-|p~Q^Lsl zNZoL~WvY#Xb$ju88bMj8o*z=SfC=`S{(xqr`f6W>EeP|X`CQOpzR$P^x?->YWs}zy zR&?1&F;_E{^5gE7(zr*$5JFzIkNEGOjOUx!n2vE$uFTkI5Umd z8+SDE+M$08)xS@n83X+Ng#?QBzLHCnn|(9eciC(;S3 zwyvjKg#Q-pb@7m2msON20OJxoltSud(L8VMb!FpsI(4bi^N^a?wSAr!Jrt z8B)#OT)-bG=GlLFb8*?qzul9Pi-#F=;{}xq`oX#Hp*I)KRv+O&Pj97iiDX@l1BCt? z`7|Rpf;=}?Ny|+`|2=G!LC{`kvQ+PC*Z@$AtPgsm<@P~8e>piLHwT}$ckGu?cCT4< zAw72h)(3Y;LX~Pil{*OjOD#*y9nd0OucxWGLs0JvxpTwkA5*0yDt7?hS8dw?>S3Q9 z)W@3#!Fli8Id>ig?#B!|D(R^G+_XIG8}ixlojZ>o)?I_eR309FH+)mTod^6_*FVe1 z1J4=J_Wa&F!8f$a3Rr#m_tZRLI3JBW<<1j^`Mmy=H!rQ&tM-<6=k-9m?|+h>7tTSZ z+4(4<#}eDG-Q9TuvFl^CQ!hz%=R?Z8ay8gN8xpW=VRe_*EDUs`QFqIF&t~J zo^a<2!sms}>(lcIaQ$t3FeP6IuJ5lVrsNX=>CIF=_}v3z!B*+{krKD%Wok-(M$u*W z#*8ZI`F+vlw)cg!{BZqu4EZ~Spe(8n&!y%Ee#$h0$}i+aszXaDqN@&V_DbmcJuQEj z=!YcTaQH0PMfF}MovDJH zGF~ccdv8J5|5Vmd5?U*N;w^|_-gg(Nf{^dO6=SF2R3Q)C?>D~>sPM(|N2Qxn3I(G1 z=wn4w3JLK1gO)PK0}7b`%;VeVE=#8-b>Kg@PWIC zw*b;Eg?e7Gr)>GDA{d^#wSV9(5`_CKSe;sg-1o(~0HOUVtCyf*Mx z<)MnwFs{uXr4(ggKb~3NU6fJwp~&{KZrIwzU6eN<=lXDJ(EyCg#`5VB27i=vs_ygj zqQLJcZ%Zi}QsOY5u9i|1cq7H$9j6w13*N|fM%BjjV!$6uTm^f(i)G`tHvKH6ST=rx zcS3q`T50dNx!hgc1O4)FZ$@zzKDWI0PHJ&h=?|;@WqNVHVlVS*3nZo#$4a?&jEyP| z`D@2C@e=%BiMdo98-6`(`{<%Nbz`hx!5Ui*C$!VqNf8JjE z%?IvM(ErXyzfz^%!0)X0skap5{aWmwW|R`azIaoSSbk%b)A@C& zr-m*Ocd}c)t#*@}2a?^YHvH{|&&xIfh4< z9pH`^mHX@Z1r^c~kirwof!VPzBLVm=oiC&j)Mu1RP4L6{j+*UGfPSW^uOw8D{Vg>C z`d>XIB%yWhBsbBGYv!dUgkU`Ow@OI}MDuAXE~gUd=yEw8`;kK4M0oyyG#+mvr`S<< zU%3-gXUb+V(fIz?DT$%C*tfDgSh<3f$D{CQ&#!TNd~h9DG1^NoQY;30swV*bV~Eef zyXlf{)Mw&Le})J8!CK>pRIk5sI?WR%`dvxa^c$I4o(8? zUU7Gl5dHVt=Ts`RRQvsMKgJ>w<5$FOX!Zx+!eDu=hWsanp)8h`=2R2wIbwifut)!{{K`c zD(Hq#kaPOP6oT5BPra2G@H6gPcO?&;pI7uqt;ELmYy0^xZzUeq+vJSYN&(2L;zv}a z0Nj_leK(Di>l#>7DhaSYJv*pMAy|KR^Mk!|?zG>o>#dC7d3DAKsxti_cxrUdsO*cb zHx-@dtqeS}(2deFDr4y9X){tP2Vov;-|ZzRi>^U$s_^CBbsbn(#-?dFi=3)Jo?U|MwP});3|42y|pg$^LDjDXV$ut;rrC#={ zzBnhNDh=b`ek@h>E%=Q)s-{!u7N2uz+Z>YN|qk6Xdohx-z z4Z{B~#lTc|*WjU_KiQR5;|+P!)egIB2+Df1Qbp5hWaE#d)z0pgQIm;|$9jcMtLcMs zrk}ee2YDp_o>J4V*l7xWo>CL|saKkmny~)Rk>cq!gHV6>c}mS7y#Lm4OGZr$ai%}W zAa=G-#gv)?>|cc*rPf05x&BN|Z_SY6FETD`vnr{ze879d83%|QcA71QbF`TPMdDB@K4^5%M zDQpPFr)*a@3%r^lr6gT$hnm(+_0o!;*X3{d4=UHVG;aX@zCkB=&=YurpGNO{y}*yk zw@LSA%iI3j&XhU`_Cw-G>tJ#}0bccm zI4nEuDRl(6?i~C$v%cuzv^wG&;>#j5-fEXomx1=n`$=e9eLJHr^uO)v58MPJh5n?h zw=N&spXHAgR9)cDNi>BPrqrXe*=avaspnC2L-kL+^?cF%k$(RlbMGDJMAgNO&&;Nm z-RuUXD3A%l0|*j9DTK%EW_-ZkY~~7d4HeZ`RBXm-gD3QoZIHkWHwQB9LY8CW1RDvc^c$neXVuV z1QoOXO*cRs%JUOgQm-Bsk2Q$G|Dbp1hLpr3f2$JR(1d;rX7LTd&r~eIHMC0g*-t;g zHFRX)_eFErhQo#@(?8T@rLQ;}f;UB`^ISv1`#_YAm)J&y_{H*cC|6$dG;&DolkK#> z*QFczrF!+^g`P%1Tp!oXjx`EO<;m^R>Dj+L&Aw*E`Lj$V=WF(&+bbG=NWWHyKb_xn z<(j#TxyGiV$5~sx2i-U~eLNZ2d0b=ke}@0J7{O$bmFeefoJcK~KY4_1V#2!VyTjAO zg834h;Avuo-oJyB=z4ZJ*TjK+>9C$Bc1F)%f-d@(mw$zA;>W&N#~vf7Xzb;h1QEy2 zzwu2XSg*>49)hB%xTl;=DM^<%`!>|n1iQm8#F~PSDRaux)Qa!#J={XjH7za*D7F_- zR%V^EsSnqOy3aeC;{2svIhG~5UjLC$t_kk(G%duN6FkW_O-Q_=AF8RGZ3g~yqDgqU zW)5k5m~~&U&D?mOvhj0Vv$wWV>i2DYGk^N_>HOw=_fD+2L24%}bH&-*f_>{$WoL8j zJG5y&-P|tKr}IN){yWzE5&Q#zbIdCt=!i1w=;u@>M>7Db(VY)eCGxiNZyYl-|b zmydI{d_?}Ly>021ZhRjy6Y#Y3;W^>$&$*UNZbHcP74nx|*jI1^vJud`t98PS2JsX{X-rVOv=czj;@zrJLa4SS#>r%AclN zIgp3U=xK$0&{(d#P)}74(XGI*ZXfZq0*~(NEnF)<-ka}xhi?@`9NB|Ct-zagb|BXZ zJj%0|=~fA>uX8yp!K|MGPCJGB+XhkAZa{mz(qp#}-cvEV30SVWz)w~GinfDSJ4X*h zzgT~D+7XYY`ZJ1aUol ziD%n@pUK|Ow~3&Jc8H{IB_`ErVx(~oN##OG*ph6v@_IbRmw+$93) zY#|`Y?|T8obzv-5BG%4=d0C|o+s;}FJZ?eH$ZG3p2VU*$0NpMZ>(=`j-_8wvP9Ajh z%a}vXcJQa2^P^C&ox8rkPIUYLwY$rN+9eP_J<>^#dPBjrH{jfQa-^rd0s7ZpIon$> z&t`v1x3?01?+Qo_>*8q-er2zf&i0Oyly+_g$}x{@Wrg~Tfu&>Z!LQywgKeJ=KeeyM z+6R$e*V<0vCu?0zzP+9F+niW?itwCscEG&X&i<9|0AB6fG6L$f9oY`3*V!5hy0P55 zvGx&M7Y1%)J2=q(g`60%PZs8>QK1g#f9C1&P65k2&lAkbs^lT4o&5&gAxd~^2&l95 z7BF+x;#f!cQ!c#2cQj%A*bGlc6XG>2651v6q|@oDb(|gj@IQMj-7%l=v=%UHOXX0< zAohdIQ65rn7*N$o^y~!&zGD#mb?wJcr$^+I%%k7knCs-gyx-Z!*(nz|Zx-DN*B`n5 zhO?6oJdL*@6lh=UjLKXdf8FLOjd(XZy)!E_h!YrefFAk*P0+XeGX6uREC zY?nvmFITB!T@qN|*}v0WDal@Jr{4b-+tq@2pP0dRwG#Xp2)n%b9MLmAXdUZnPkk;W zwl50xWqNa6!Ee0kq`Oh6{gPp>$9E(AMTm0p_)s^umQtwN(A|8Gu=m#pbqj7szvXe= z9?=gO{cdsH!LL#s;JafS9w^RfO;zrYhT#3+s+Rc@)Ldlcn|$8g;fSU*>n(mlYhopeP& z`QebWhiN#)oa^E2VZnZJ*e}?r?lcMYup`cUjaY)ZVrOBG|G#W9itgb?Tz8-3d$?1_ zG2_N!zDMv8{gS3%<(;~)4io&(xZ-hG$b8$w5&U0?<~ZwdL{sB@T>o^l22Q5~??>xi zVV$}79>2ObIj0-@Se0w66aDaah3=Reb5ZHrWko0RE^GRFg?^UD1zv5*&p3jHMT?+g z|J%QWb>(9o{C+a#3Su08`8ei^knyhTaYZG6+Rd|KJt;}gIs7c&(}e5(SH%S^Dj#}d zM^8`i%2$=42{J2A#CrPi{_YMN+Y|3!WF0KV^$cR22j7QX`u|&?hCEBZVZgZmmM36V z%hOJxi=zMiF8zib`Ry9Zy@CEuCyFQK{2P9$U9k#W?2TZ0`*eODmUo)X_p-uY_rHMH zCy%}x>*bLAi*~Agd-+~I^zWv=T(3g>VttV~Y`e2J^35*RofoiA1pyzn({7@B+l!vJ zOp7kD-lYGnC+Ob!sc}B^_uvoBuw`r?O0rXGX-^*$*$+yveJsdlgO=@M#d*?IEJVt) zE19@HR{Va*hP9zSxmfqrD$=C*QQXhgSxEPZO63pR zKlnr2xgFmZ{EsWLHE(0*h#=loG3V(1ZmgSyjhy|Ff6kT=Pf!&3?oQ7Bxc`$M|D5d~#5z6x7j)#GwI|d+g8gAq zKXw2m*{gPq;Rcu_UAA#4J-{mIqF)h>HxF|I-0AB@yL71is0BR`{IU<%I|m~Foc;Hm z1HrFse=j!B^3VOI2>0IzD z4h^MqquAf-on&)^c>noYEsm7yuQ?y!Ql9A4d#$;l7Q{2-grLi&|3weAL!Vhsu*;g+ zr@$^LP~}Ue*igR|zxG#4Y$*5@n@Vs);a7EF0!vVNuMijhhzUq7M1D~ zes}`U1sb*UjKKL;neAss;Jlk@?naNG&>xF-u_G}5GR-ptJu_51M9MQy^rlB3E<^L( zJkdo_ywHss;gfXgY8TIleC(&;VljgMRC3zc&^?Nw)8+(<|I>#)|-&NI@F`8D%J z0skrQ|EqSH#v!3mQ7ND7e^sMLWBrSgv%jx%v`MNL%hMsv9}A6kKfZlBKgs3lx%Id) z80VsdX&`NcD8Lw)9x=)7uZR<0!1_KYUJtTIEhbXFha? z##yl6bZHbK<>|z*ephImTYAq~{=#{FoIkyNIzQBl!|Cw`?8mOY+;|h#m+1q~c#||Q z(zbh0q3H2jXuPjzUgpW^p7Bv!U!S}!U^>6X1*2jUkbkkK*Kh>?uINXej!no%9u1qZ z6N1=JHnfUOh!A|kNifIShn;}W<&9PLg(f75_OCtL&NI=TYNz}8o@b&P?nd9NGuuHk*w z>&vHf-^n?mi=tZp3GD^HYW*1j#d1n{g!6*;q11en%>%E-;N%D@mn~=WEE-Dv`RZ7n zMY2;Y%Z}wa5clCKp}bt!|8Oys2R_yMU38w0;CTT>zx3YOp}ZhI?|Jb{J}-iE-tq;` zJj5f4c1dw=G9~F^c{)_B57CpsuUa1~zz=8v)7ckQuBkRUH02Tes`dNmDac#3{&E3+ zAQv#%U(N}?XNo&D{>)G2a8vTJ|M)BMQ-b)t0sbBkzvr`i8BLJsK8c=^zV*jl0rhuZIY)dI_dII@;Q;jAl zihNETdWH$(qI;L0VL|yXz1bO7To>!-a|BiEN6-a$S3t3y`sP-8hEMWCpU+@ta2waWk;*XT0CjIg=uO|Dg3Dp{M`6A?IMP(CojFw`_VH zezqI$cTH~x#CxY357M*UN)O!81`?)!V<{vXY%FYS7lf3_ZRa52P{9Jn~-$PF|_4HgHIX~WG z=lXD-_^PFIZa&Tl@rmr*AU-c?{j76t1mp0;Q{3Dr`r-WvvAGHP!{&6E%b|G&GESpe zg0f5do%2kYRQAdR^gOG?tMK+?=Q+T0I>OJ(mC7GF`XB$HyPZ$_3h^hqSIiF5KDQJ{ z&U1E;&kz0QB~D*H$!8r)kooMT5JA~rS9xC$>p4)4^F_&h|8d?I0p8x_A(%rNEKl&kF9eyQHjY&HLOP|`&^5mg(v(DNy&UjDS5pO1WU z?mx}XNB*Lylmnde!OK)uc;-8#aqv1pchbh z|Gi3MAoS6Hc@}_QzPb}fP~jcNF0f)8ZnvT5W53MqwSprk3UeLxSpW3$60rq7#CO{S z9qo7B6Li(akLd+|Jhv`6%tPuQR}7zg8CqybwP*TNa4vM@;Cr-B#uny+$NvPs5PWon zy6i&uSFKvb68&*S@!@7}5hd9hG~ap_nWXENYU56NkyWY}{puE0axMaYQKBBg@{5A# z$E#j`Q3U6;)7#iZL7dN>4OpVFSr>b6}7aMS0&mHevOiBAfQT~~gTiC_!rznO0 zGtXi-=4ac>A%eR4&+?0Xsqv{c4yPAKrTo(Q*Y(fr%BfVJTaqu?i|rm4vpSUZyz3~s|BCXb9eW`5ZlX{e9X0$?W_Mb@??JoPZqs27wfIs7Jg}=&-G+^TVhL*f3hh0vh31`RIWUe z$u2F-pWNVY>Y2@M#g_Rnzl%)?Edzg+p7t!u$G9uc(aVC;enAb5dX`18UfVY3m;DER zg|`#?o<)kcsBki})^qQHpUGYCd=Ky6=}ym%z30byq+e6|J*+qSh0@%65zGT?DE1!s zRogAj_kyrDt_m%uupTdl+2sbTKX1fC%Cq15!?PUypH|w==9cF^ethZtsES<(t)No< z=$2Fut*}V^sz2JqR@fywI(C#>0evXw39)gc6bln52KLYz&KF%M-I5a!T`V*<`neU6!yh%;TNA2Qy z6ZWyD#aZ5pad|1~Nn(+Yx z@@n*Xh@dE%mlik!;Me>(g$-Eop6B)#oB{BwHU{ZHF6ME^k39kK#6i$c()lTV*2pIYG~U zJsKkQ*Uv=O!ZWZ`4^U66_xl{8I?Ws>X#8!cyp0|c3s9Im2UKPcB zYW}=u75X7(rjA<;9#M4f?BrHkQm=y)Ol%$aL{aX)&HWprlOjt8vj4V7b}9A$j|y`3zwKOKsQ={^kMZlRSbsh0 zvFkDZ^r3U~dWRg(Ef)hZzq*g2*Sj%qYh-ilA2AQ;RqwLvgIEV!R6N0S!t`ci9~kgF zq+TWZ0~6-+D2s=n;>}9j2UfIq+;VX7Fp{1}^e=zq8F~Zq{$Giz&&T|RAojcd7ugNqr^{7$Zip7` zUv?(IZ+yi3%kFr~v(b^-AL>SfJsW*R`^{ci#OY*#&&9d*-W0)3|F0Hwz7O-p z`yrd3k9qsj`>}jC_R~+^73|XWtFGKfo=pZRo^*D}<;=tkb`$&;CAwNavYR59$G<(r zZHgAMAJo_L5ry&DeUbhM{D#qIpktn|E6WoUMd4k>eq=AyPOSK+*k&mGQR08-FDZ`9 z{)e2K^O4uTcX~Dlao*auFt#~@?_2%%=YpPOo>o;AtLNNemHHvskkKZbTiogEMSJbd zRos>c=EL;G^p-;XuRU&~w^Gu6B44nN-fBwUFUD?PdbT=J>oY2c*sVS(4rBf*=T_vO zEc#9P{MJJJO#G?PHmY>8*+V_M_o&b|ocl!4eSeVM27crD+5EO#sa&kj4sNBl`SJNe zR<+o+e0-yF_5~o$jn1m{wqR;JV!NEG!?^8+LiJ%=XuGA5{=iVT=Y`PrN93=nbuhHu zmuhc(a}l>4y!xT{+3gXWJFeaeZI7nfiE(7zAIX1gDpX(1@BG+Gt_M*d?x!1-cYbWg z`d_=BCFKw0>=*pU;5T-=>-pGUsQiIJ)|i#-$KV&m`2NPw#|dfN#d29g-uVgmOo6yi@8G+MW)D#{U?#gGg8P^%pYQ}l(e~?!Uvk3t zQ%)|%?lfS3>_3m*iFma6Yq*^h=Iw7i_?;G#mp!%<`DX_`>`n*X=Qy%aK+(_RqJgSM z?~F?PV!OxIGqW zo~YN1;PyO%PxLF_b%ERCll+P0#wmA0dxELu${(Wi9>V|5c~6i6F5zMX)fd~aLb>SR z0cvKC=YoWPP(5c5<8S=_x-)1uQX1wO9dxJq&vMQ41oNeG`O>esU_{cB+^4ElM}0^O6AHXo1G!>>pNU>hI~?as>4T@FiRDoFeUY~;@l28Y)akN#n$=` zcbs8|#KXMn4~5;>@869Gs4c1I!-yv%v7Za)W4;|x)8U|GFZ!YDPGZ9e*j=tj6BI>x zct>oniJTYLvwIPTzN5mq*Mj|U;9hR89qV#T4*^B{tYPayd%>4Z6z9&+dxPZj=dQq1 zJIz}c_|K@+_qX&8H~$%Ul`o*)ia7g@3VjCt|G$Z9ih|pR{57TQo_%iY2i?ng_W9Gt zsaRRVvo9*u8ytGieoE4d%1@K%!R>dX&X1g(i@E(ie12PTG`Ao8#VWqufb z*wRDLu<}-nAl0O-=YSj7d7YD>u67mA0U!2}jyw1R;7=zC`M}VD1g?WUZh8)aU%m4) zmgu5rzn;$>v`D&GE}|CSOK~t4*Mnxh&_VDjI&9|;`Y=zA#zF_dt9|*Tljx5t%*uuA zA%mP!#%2ShcG+JyqYqi7^(p$(esqdH1b$Hz)2^|Hz$aUFJ$4BEnu^Ph{b^a$LS#Ga-)+!0)9hByXVLw`rpvDpXZ1V&p{6Kbsq6cJoL|>$BqQC z{;oeKpl*MFCVH}HD{l`SHIQ+6jXw&0`iJqcqm~@#a|E5K_zQg${Kn3M1U=|o3@*q6RL7>j^k_g$1DsPB81dPe9p6 zzr?=6=bzc{{^tD3jrTD(d+4wHIG!IWM>i)^jV@uCG~G|{p0Gg`djGZxc}83E6pAEf#-US*ztT|m5KcE zAkHVBeOaI1=tI}pzrKlimAd45oq z``Rt}ryIY=e(lG6${9fuEJ~E`zQUiPa2-{ibe?*|JYYHur%zcc73Jn(eNNrh^eMkI zpR_M;;!Xu|-+QJHe+r*}%gglyqJQ?@r%&O%K>eJ3(53ruW258jX%q77Hi|us{x?po z&YiXvoyWrflKxPzmHE@)7ll5&i9Q{bbp5|8aA%OW_T;C|GX|+#v`YLH$OoZn(Aoj~Le}&FjasEHIfja$4tl&igR#&&_b2NB?VUL;mNx`9%9E?_K`H*_JPq*UXcj$KHgUNs^{%CmEJJHMq! z|927E83*(fP<8uj{#!eVy9fQPgJ2&4#rTRs{WGUx-$u}18=v9`iel_U^HJoVEXDx? z=%__1r@J4aqu|f%zr`5^zbMSdHad!V#{|n3;H3>L(dAWFgra_|vt!j`L{Ap&vI~4P zLGlr>a%w05L{x1KDzi7cc=+vLTXvI1#J~4I?{PcifJV9mi65PdH z^xyT9g1zX^@XkU0BKlpF%yA3Yi$U0Z{SkjLLJ)ohyjy^$%09rCflA7FYBPH=BBwI; zIQdH!%yGm>g>~X6Mqf5aes$IO&}Hyu8#_8LgI5%$QWfs91LvIn4MLX@ zN7kJUvCDW4m`<3CXZXuO%uiW%0dBq$6ZD@Kg)T?YZqP8#ci^XPy%r+K{Qd`hIg0&G zew)4=1S(1wU>S>tl*@BU#=b+G>fI~&%MlWH3Bg|W)fx6XAM&-`VZU?Z`-DE4M}L=( z{_b>~|IRJNpDs?ZT#>h%{oa&nuTnk3e{Ywr(~2?W`0sPG#b)WTjgI~vd88BFtWNwD z3g4gfQyI?{kyel456Vpmbw7w*zmtkQbcRJp)jai{m6 zj+dT!)_Em?aT&e{D7BY&+Zg)+yb9MP`UjJi%96dq{{a4fD#p%N_#cAl+Z&&l#QsR7 zuYbt)lq|0)0Me)Nyv&zQLuSoFEq_+4@KCzCYJB7a8T{@hQG;1}zQ zLRlNMk4W(wf9dV{DS`D@_Cxk6#=j`howho!f?qM`W%{Z^@{`<7KK=vlsvqlO`eyDb zu6Nm`j__B5`2C`h#XMKBzdW`~X+~eOVE!%B#|Wkq`H4}nYmeyv%)K={*YeZ16a6VZ zEJ^=NVZR-h5HS09AN#W*wOwX@pU}_t)N;{JGOF4<6Z#qas`kyD1k(xqfj@Q~pTE!_ zE~l>}4)y$UJi(mP7g3J>Zv8fQ-HPkN&NJL~@MjNi?z!%e#!K1bGJV~h-hVn?W?pmd zdZJLf4Zm{ZkVL}nAX$j8`f02AV3xJ-$zolxO|2oV^i2e^z*sCc1IL_0UZN_WxaPus6Z4dTJ(j(^T%ETkXbio||^q zmAopTSfQ=t=We<&Zh77Ln?A&OeinVxk9=PUv7}rc+~T1?+8FxRAnrTp6F{to)5kr(BLAX9 z*QX`>n+5B5+`tgQbfR9bkNxIOUoW=P-u}_~TLk@o=eB^#v$Z|HB@j%;untMU-kJYPI?*DviO$$pB` zGx~f(|89{!htaj^ANt)+cog*S;FpK5c?c#8{mfPNcR%>2jNu8=OV-i92Vvi>3@6|x zzX*CUoyGGz#^oQ2_E-83oO{(3>+yf&;yN>MCI1KV&hD_u^9RnK%ry`D2i8Ax_ZkrA zkJ6O{6#10j1h_vEXvg$p?@{>wL05VHo-bPsX-V`*E5t6|!ay1w)Whca|j;>nqFh+!y6PmWX6RU7|e7(4vZ zTLl!$AL9A_amH7)pNIAj{?N^w7{FV%$;A(Ky3-6M!}|Ds^_HMF1Nmo9su0LP|ECkx z=+#Wd%@$O~%}ZVx@|P8B%MjGA?P<Kzt59_6?ytso6u-xMD7&!n#sC zm2Fey;yS!eW>$e;Q(PHW`Ebsh_*Z~nQDXS@oK2N@gk7=iakUBmA8>erS8bAhr%l%R z-;COxYMli&s-V`^L5TmhG5o>CtVs7Lm4*Q z_i8Lszbn>GW;Ebetb0~KRo-GolZ)qEEp=W}u2TKTXngqpd-X9O&P}eS~py+w}w zXGuU`XdFa4P0f`7eXhhKmZw9y$1{vRf;fjP^Xj8gJJsGnwoEE@JVZZ=*|V5Tt7NaV zEwp7i@LuGF)vinj#(lb($#hHWRc?Adkm;A~ML))ux`Z>q|Bq$UcqYsK_uDJ-#+kE% zSeLcG5iptGSay8eKo#uqT2s`fH-S>QZgdNq0sOM;&2fVRXq;sxC`!h<{a%9) z^Q^MUZ1AZlo#W?#Az!Mew|x*cM6fQpE%6$nm}kd#LdWkm)_OmlU8w)nSzVdzLcF5? zWK>?C#$@M8{*&wJre|E)`OcnpRgIhulqFMB`AtM|CZNSh*vBx z3XORy&BmbQ$H-d4#wgaKsZYR|kk+HtGt^tmfc1VU>@9}tk9KA&LC-p|A1L*kcJB&T zF^A+YnO~9jp}CkJ*MkgAyjXsEJLTCwm}1CZd9ISJ06WGDaF2kx1z3#C;jQ~KXkhW2c9g%uhpN37pJ6gNcJb{s(RPW z#lf$RUS7r$@u_3uC#o+G?wF6qYpv+XDgXN9;znZk`c+C8ClO;3fCWIWIq9oQ_QYXCaGSG!*DAaD3$w&@-L?ZO8N15 z%G<4(Qu*-zb^kEYmGsBqQiXU#KSg2A^D*;N*7W_Xd%HdJ6!JDs(*+0?CE8ghT~Cqx zlZ5{F4D-_loP&PeXd`H3!vZFmQJK|H?~wM@2MZU=*_Y4o01;6U{^JW3>d~GYhs{+!QbD6TpTT?6$E}M&W@Y>x#S@es+y~Rr~ zS(srP!)5XQfg-Py*+gOAGrVmpn@F`wZbxUn&6wa%ncrH#tWu4=CU^SzncV(y^_+?s z3~RxBtbD=C{)c_WaP@f?>qfpccLiAFpVcqJ#bUjQqFkU0utD5cbjkVggBDDqW| z7Iez?B4ft*XXJD-n+>>6$mwe~oABJsNXHA%C+M>6PY28<^sjrP&5ZqDyR(>!*lSO& z37Z{+|BC=YL-XN+o$Q`IY|h7c6+dbg@DqoNpz-r&F5>sUmKEE*<#KVK)L|+R`*LQf zKsg_9Zipee8s{sbtFPRRmviIu^68bl<%0M<#;cXXL>DDz)vMuWDD?BHO9G1J88^0g zpRr(^7mp1POcqtYF3dBz+K0uOvSHUV;8V2x-t~+h>-J5%jp#)Q({``7Jo-PUOc`%^ zL(%rh{!}%84U~63emnZgB6Im@S$vLpAY49Lbi1tMF>?j0)L+T`qONwFv{gX9@`ZiE z6_CH`^=HEs^3flxF;F3heylskRe{`pb}GwMcnn_AZ!$98Cgy)RijJGEd5rlN_*FwP zfL8n;!f5lqf_Toc|Ca4vh4?k2O4%w>h;PR!rs6;7|K#|xso$82{-WcP9U9@Pn83O1 z(5e7I<2PN*mB25ryNIb|D!P3#uc+&NGi{ap22sWPy*JI3g6aKb&$=70Oci@*Puc1* zmBF9=Y8i873+C}&-dou!&2!1{|NcvTWRR<}FO|o*u1&l$`aR>7tU%?6R8Q9`&Qwld zzZs{9KTApF|F>8C-22;^wr4T_vU{{;2tKaR7s>~o&ByZy_i^UgU{2a*itS6hRlu)$ zVo-pfW_KN?3RQ=qCRH(4LH?p>6z_Vg*d<*o7m;pujj7_p_|+Kfs^TX&!%XnMmF!)2 z0#zT8x5C}XRy7y^KK!MZ(WHu+KNp*q+1x zg)n^@#-DRzT^ZY$pF{q}2?5u0KIuIN9cy5o3*x$TzbbrO6`i`RlRuJRox`n8~06iRY%^*VsQRws}6p} zzRiK^7=P87ini)Lsa=kBm$^FDpD3BXz8J0^LBH0Yz*LVCTqI?bG6lCFUA#thX;t*lHBwPix<)A5#PTvb?H5V_Gw@g0B9A?FB35%jXrt zFW4~;8hX7%FG}cIRhbv^aUNe$U%+I0`FE#WFC=h&`uwBt3km6dLjLNzffr4w{*`&> zm>0qSPlfq*4fA3|YOl!aXMPdq>IdrNOYx=ir^x%#{1W&@kr(?T@RAAVX2)m&#q!K|FFB;= zE=pI-`;uE~FWT!WY!AN#{)`u@+FlBxKR$B@2r9fW^GlIbd&P{GnU@Wzi_wQ_K%CIN#)~p!LMfi z2oubCb^=hko@Ec#GIjkp&kxKH(9k5qRX2#=5wTfpb&z@S|~ z*`$SDYcBfpMprYz%%!h|t%y^zvLj>7C)ek18LOet_>TIMu|{FnT^S}QitOB;0B4YN zv0Oy;hp)yt_*LiK4RDTBJAK{yHqHmWZ{jY_kNs-YJQoLkLx&v<=5O?BP zhM*{Fc74ERl60{=Ep}?j*xVSus|uUV_b*B_Qx~^^KTG2<+rZ1rTW7O9Vty;k4x6nI zuR_1ZR^I?W8}5hegFiDq(?!r=>k+SSD%5{Tff%pH1NGgh^CjnIXDST8TvBG3^0IcGnz5!7odnj8A1{$N&q$21ILoEejVy6?^b)%czE zEL%gIJ2XQVGL0zQ?>Rm}c`CoilR1CBw~<|nLtCf3tx+!W{$#PY5qLGSA6$*xI;?*? z)5wQ?=4*qwQ9kyAJ)El%_|;c7*&0O<-+n$o+GS38E!-%A^TNtfu*ZH`exI!o_;VUK zy^RtQkH{~gs!uWIHAnh5MLTs)-258&Wo7fiuYo_~wfW}PB6we{%M$NvB#u4(ysv@B zu=%feV@mRuwY9FRv5BE*)lH_cWgx|HdA7z@T=zQP4>Y!5oYo$&HMXaZPvobrHZV8N z$NUfd6(IOfoRiFrqmr&3wuNazN!L?(sYJMmNveO?u82RFL?v4jAO3Hp*jMo;KD2kv zGdC&BTSR-=^+tiFhE!ffUWU0T$zS!UtEm;w{S0T~P3;)h*uR8w%IP;Zb(8DOT31u> zX6)F*H1(tY@){Q@7bSDDKio7T>0)^@>L@#oQHn*@mqW;q_!Yv$+C{JqtP<381w+Q0C^NZiY1nKWzWm-gW4r71xwjlg_ z;(?Y_N$d|Lg>u7;jX>$W6T`h)wwBgZK4bslftKj+%*9p1E!|k(eY3+YeOOl?c^HD! z*s)B@e2kA*4OCLvg-Sus`RM@D5^*F;R+Y(2D+A&(KW}SglIrO{#+qAU-ZAzeu2y#G zxx&NtojNnEz)y{Qwg5*j1F{qoc`M$^kM%l64jtd$`<=?xDuQ`n{w>}riZ^~1b#=9h zDyVE(vL?S3u1#CtY^%(|>-**va#cOB@jY2lUp00=u_+Kfnk2d~1O| zzn6fDykcfM^3B|AX6)e4omRy{##X&u4c8U3aM=)7qq>vc|=Lc;0aH zq)`4a-=se@KeTtXCi(wOVRjS`w@#qHCsbz$YDa$(XhY$1(nZaoV_eG@XWAG@|IyI# zdH9iLwl;Ryop3V*MbVbYv9$rewoDZPWw$2U+W4hi-^H|ZV4utHCZOW}CIMxhLAG|_S4{mm z(9VzbF#aiq=-Tbiq8@Q~jGEg;urJuu-Grn1Y9akX=&=h6JQlWA|k_dPG@43z9L zKWrXv5B|p$h3OAl`yl3D@M9OjWHH>xc6FezJ_a9jb-+0{W7Psz2h2OejbFl~JX=#e z(4o+Mxop(3@^&Ko zdZ0_7lSQh}vBX@RNd9BJOs8C2A7ZqC$?cQ%>)Dwi+J40JZ( zJa=TXnIN_NMW(YA{jqrl&_ZSWlxgd1S5UHxHK5}<^+dZsXE*X)?GbcMxtN)hYd1`X zPTJKBbPl4QD*S2d41V?6!2)JpW?jV2@bU0CLD|Jx%ZWGe+Igfb7=G`)7`{TRD3hgKq+25Y3^>txPDp;x{1=h?FS-` zA2NVAufKNO+ub^ZGB$nN+}$Gi75$5-`~7uW_lQ(aAKJ@wPvE)Xf(AhNo8Bzk!=S)9 z?H6wkgJh>DbJE;{@ZUQU=wZh=SMG1_;m}ib%bDRG4pRQ3nUt&k)Cl#eKdZ(I^cDij zzuf2Q5yZTo7hrk>SxOyPZ|mWPf4UUYj`H@1 zV&60~<{lB?b4TM23$BN`L8iwo4W;*wcR6yUIH}=t7>BQrE++mrQD1tB*J+acWK_N6 zbz&W79aRZP4IjxkNxZFFFwR^x#kA-MU7813C+66ken}VU70(>DIgy7b*?&wkI}?~E z)L|gbH*cN^xC~M~wd-Gu%W@CoQG1WuuKQmjmNAe-Lyzl~rmeun=G71+&YK z^|$X_fS{suKbtF9$gdc{15|gJ#q^}4dd-He=AI@=Pcna~>IYPe_so^ zUb#45&&ss*a^v~bolE9kKJXkIFO+B8(gk|uW4=Dq4my7S&$mgi%ULl(s88k*b$Nqc zOmCCKN72k|RFMDvnUwPV62QjTPwN8lIYz?|Z2kOL zhxKEwenHH$AD)MO(d&hI?SpWClQa*Fy>o5-(f{-rhUt&|W#caZTjBS_x7+%IKeK!D zaDTfLr@X_5w*KHvC%PXRg!@O+*Ng2GU%X`=U_n28S;bp`?-$@#r(A-5%vONM9cDp4 zey9LXJmVGg6Y~Y6&p+oK5Jddv8!-eGC$0yC`jf8SAi!fP7rv7Fd~q z7zf?ebMXPlKV$QH*T4kEFY}A=An?nER5lY`He|F=uBW~U55RR^&rCNDLR`j%hin54 z=#OIU0)rgT$NCt8qA=C-m_a_=zvTtugM8RuwjXd2%v@N)JSd2DH@S^#Py{$T$4pRp zSY;cOfWPuNw!z@fT==?+*kx9`5Fd>3&pug!A?3-Ek>8ma?7;b}<058oF4jRaUeHB5 zMfHCN2K!UnDbF7;4+d|tWVJfx9r6esYQ%JAh(&rXmfTL%GbV0fhPct6oSJ_LM<%4~WbnA#s=dqqy8@Nnd(dLqL+JRkG4>r&V7V0!;zJ8GPo8DYS= zrq}7f2m|boR11u-5S%0+Gb3DpGqVI#{?(5efqu|^{~p@m`nu*-AozOATqD3wU7yH| z06(*@xPT9Nw%=t&L^CPcxC)p)F5SBq%p(c^15qrKhez5aT`VsWr=PctME=UlChy3| zon`N}&A`@bk^M}60*T=etdrOYTd_K`PjwoyLGzx=Q=Fe+b7 zse?`Xlck^rF{oGQVu)TJM;MlxNm6otQCru9i+@H#!8y zS|oeXPP=U>GuDAPkKPQ7&Bgt?Ct)6o{?~ZR0~w0>oZ3%M%`Nh2D0Mcbo<7{~FGWcSxV(XKo#68}A11i4ErQ;LRCV zEh&&%8uB2*v$467^Rg~2{0sId|?h8)D#M6yb*sh2%egkU2jHG?X*nEfE)dtd3I&kZ9u>O zR1b*xSm!I7+k)%bm&+Kp72khdhWENL@BguEI~s6D@Sfy1cCR~v=M3~Y=+b^l)nCVW zz@IGIy=`3{E8@C2$?GY^uRh+?<;lf;$DrG0j~mymR}2A<59gpBZ+ks{C8d9Uxlk|q zGblF1J>X9k^^qsSUgWPCx!gt2_|`G67xSSg(aS$zyx>nKiUHpQy!nW`MmL)`h|k^X z{~GW{u#Qh{4ts-m-u&lCvo`_WzJA7=zctDNvw*UFTf=!4)c5-?Ae8rCEZC`U za^^e-%KM*k3FQMa1bfW@6Y5bu;1lQsj|-?;9P;J`p$~jLAe0Z13wFwPzBT71RFrzf zXW_{t|3UR#1@&EpcA7yrz>&BH%@%Vs9qab7t!&^Fms0_7h(sQ>H%UU-0a3vh7B zfY5$$op=Fuauwhx0hQZ#2PTs^2d^;`UgaAtTvH6_&y5~tiYW`vTiypMQ6CiQHG@w- z!0QD#L?xhnca``QH{yD&N_dJ7{)U(z)N=tLpCOKT0Zwui;8Fp#Yx>8hc{@FdxdR^1NrRR6qp*sJQ#PLnTmN}$XW!HQ#t2evQ0(Y#w8V)sqkaGc@yJ= z_W(1hyQb#icK~!HyaYuttQ;JeX2(9VZ4NUHezVIrFVNeyb4`OESq+Yv=EMJ)tsWhp z=0hGc)2%l3Lj0nC!=A~3nHV4KsHbf+?df?%`=XHkeL#F> z6!Z1>TMWTu$q9SBvrMVw`U^jpXFUeLEGB1WJx2b?ycuKOH_t}?%K5e81dS)!LdU%M z_RH{WYwCGYR=p!L8}l=}bu(tRTNoc2Id$fKUt$4 zt~nOeU%bZ5vCe6h!(c)>Nr6+vh znrD*yiiS)}rFmW?n-^5z|M&k7b?+Un#MQMA4-CB==71U#8#1<7QKQBdk+CH{nJpKG6@MJ>SuyrvX@MjW2Row0aenDhezj%Fdaa|JZ#zTEwKfEG; zS*6X=9~|)f>eQdEADqz7E1$W3aEtMT`tpxD*nddMUwVrR`~Z1MZ(VdD#I;vIhjW5X z4LaZ(kDu%L3nX;;S2yhw&9JU@FDgal8tRH=A_jaPp9@TMz;%B!kU$ML)Qieh-P*?{ zdce+8E`+AZ1;fby-wHl|w|9~`bA9z3vt^PK`0md3PJ;XmRIAt|n18zWCIu$>VBPtI9IWV1LwQ|k%3rcm$L zWH^6i62(G`WpWhyZE4=v_k6hEtVjRJq3DxT>Sf&BLAnFl+ z1g7~#U3YA&cN)w){jm-9X%Tqe`wc~SS~R`C6;tf4=>+umtX^J(xfRL0?Uw0D{HgVn z5}SQ`C@Ef{xt8fs=$9Y*NfD-s;d*Q73>fDo<~P9fa=~BT{d3n0cjj`zFBMf(XX%V2 zUSfS$`%Da;gM>B*Wcb*8U$rbqNk z72Uz8jdE%&%Z9bK&>)auVGHr*y7g0l)J>1?B>8_Ncc2)A!k&;$-J}-|mO^uTlkX zcvb3mrjIw{Ml9g>WzI7-PO2^$*CH^F$hp3HQVsh&C#<8DD@qY6`nPk<^T56rbcB&k z1iws_o4&eZLHhrdNLn`t2iy>U&UJ6VW5OhDoL;08Wmka?=VDduAe|uTrk^QqefvRrb#n@b22la_3E;bJP(7kfr`53f& zXrTZ?d8HQK`DUcs61r*Y4EuarI=?J`4a$*LnUezxte|t{61w0gX*|`tzzLr( zPw5_8;DmM->?d6S{I4zj&)63Lzx?gGmW3Fc^QQdbMX3L1bzmX1gD|(YEJXJ|DWdT% zl`aHcjrZ^iyzE7~Jn)fsq3>U`BPD(&Rr08neUT&mcYugLN`@D`V*StBcEh_U`1=*S+`TVc!nh`&Qmn8A)es;Q+B=O6S4X`YM^N0M{ zvH(KW`MsdSbBeqL!%N`$YcCXwEeXN(F4NDxBvc6AYd>OHY6gANN8zOyte=?Di_o~R z#S6Tbz}&W-`BagoaRc zJ1YPGiztqj2rq~JH@Wgi5n?;?cz+^5A5`bLo*@y=T*4&&^>EIaZS#PDoWV5M2q1^Y|Xu5+z)!gUX;V+dbYG@5PF zmB61WTI+UKkVv*=sYjNRMBC7T7nTMzkbDzP>`%Xt6Zxv zbRG{$R}rv|I*oxm(Vws^ zvag2oH~yegU^Vc+t|+VFuGPS=e!tLjg!|;xKG0*~@aiD&Jw0wm<$@?}C#0)^Upucx z0AWsIsMx`>#+Kwa^1f@06V`!cZ-&>n#eG&=p|*4l@M0fo>}&im{-!kwtby?+eej1A z>AJ3M18Y!wx>b}S#1vI5YvQ1HKWag`di|>KS^{)85k|V+Q5ovP|Hl=b>skx^lHrqF zYaMW|>Au*$2A%ggTGsnym}bs;K+!H6J>Rk(_zgS9+1H1v zrH0E-7|HTp(uqdPN?uJqrrjX@Z+cgieg;p9hc@ZkUeb>9y33{zYv8`^%XYn)pRtL<7yuO6L>8o#C zTj4peAbO^EU~33{-`mIp3U&dr5B?F`2K>Z=$=+>{eT8ew z8V+Hw{xe5hA>h~kT2qP;yNP*2R@g_l#W92u!!TFK0nde|p!9r3iD9tVX57zd*j2`?&NM4~z@NBf#{0@elp6 zUx43G*J=MHk~yww6dTx?#H$>)&A!tL{n_Ap0AWs|ZZSE$(+BNuaXEp4zu~hBv7I6K z|B=t0CNPhrv3+L**1e&6`%XB=M1WmL8L7w#dc$&zlk0Z-fcDu#V^tL-WJzx;1@)C@I+v@ z8}3hMT@LJq{?8zjO&*HM&$_UkK*&haA|&JYEtODK6cQiRXC1p4C-l z*>BCt{+hR+dH4Ipdg`A`$MyriAj+q;Ec>IPZYWg!nn3zRV!+0pM4j z)d(DU)bcp5BQZ=OqfnR-Snf;(gmZ@5pTmAA z>Ap*dmlfDyj{turksWuqA`Xamyh{wB?r}eR#3{BjQ@z~UWxlqS-+*7Xp;8QC_V^k0 z-w61>r5e>-zrp<1PyGN;4cHzK-mjQC-~~=fVD|VGVdSqnI4Jg;Kj(Jo4Ify3i;MYc zrZ$*fPLfKNXucT=$Cahf9$YF+y^q%mp%K*ayTN^lg!L#ISl;r&GiBZ z4c@1gBN&wD^-GVKVSTA2^&W=($@H$ya>ORq%M?G=t{T-ea3l!xc<^WTBO$mS(3i0v zf%jikdIk{bvlFNtbTRfj2EY7L`icE_0{r6Xlzf^zSKUM8Vt?6+jt(wJ-I)Sgvhy+RjY6y6=M6v0yr1CVzdS0f9e&KciH-Yx%yr$aC z0w3cnqPw*^Pv*c=K@hL*YTdTLci5o7eM&BBD>x#a55;?%bK<=b}}OBLOk42J8%m4|E);# zZ}y%_+JEp5&e%`+)7K-sd`;=82#n|2bl_A{JM{ggJ?+=HK?y&dh%L z?nCUS{Ucw7A;RB=PlwXm^U~qPANYo1t}_IT??`t@)X_`N0>7*%5k@G8WS1>)7WkEo!+`Mrqv3IZvr!n|7q=!*@DotI zr1Xdb8;nQwAlEsYc+OBB4BF4RVV)hKEayCMKicYo_nZ&*`5%ke&n3-& zeYf_mb0M)F(PgmfTr_=ul>T(Y8-@JkODRhY@6wSQFjJn#!* zthLL2-U{Ep+~=YFJmjxfv)OVU_!VOfvGY#&o{F#S;qx{He2;2B*Le^0L%2ZfJmjC< z+3GzH{b4)>^}vqh{at!KB*qouYoy->&c|WBs8CB9!_vzIKg0PV-k1&6kMr-^5t?f4 z3&fK8L0X&-#DGs)qVNlJB~YlJiuiJiJr)Jtqs=U_D7*(g>9Bs59k-LPW_l#A=T#IrlVdos5_m0!?R-|P+WkiR-eCQvhMs`mnF zN9}&b7r0vDa|JhQ`H*G0GJufFCCT=c>Btaq_{FT(qW%0{8UMc~)a zzq&30KbCis^kM}1wM9P5#VE8#-aU2^+CzL!te1e)ZZf1vA$-G#G5Z6wh3q8ZVQs`D?ZPPY;ZH|0&m>N&A4{j~CtJ`V;ck7@m3) zXl#|x4W@#DKciYqH@<7^GR6w-8BsA}s{OJ9*4btE?3bN6w;T7b3|~&lUor5_z-2gp zDgz5#mm{zqE-My8D2Qa)*zgrX)CK#0jpvqmuY}FurySuv~?8C@WYT5cju_k;C`a#k6JMVQ2+Lu+-g37bY6_Z{EenHf(LgDMS%I?jMNG2_$;v4c~n7~GinT>7H{t$AccF{rCh)3swd^q{?vzW`O@uzAHLM=y#@TT{)-YQUpU!t*3 z6T)#A2d3T+!*QD!SAXgYX&mxpr8Tcvj)UiR|xiTbKF>jQUzS2b5- zzlQ;;+Su^~*^jHPM@?)qTA?7r7> z2YA(k3Iy%}8V4F;s2#>%g5JAkm=7KI2kt>!ymHiq(D>xjz&!_yzkw|S_c0k}dh{@S z8xz+Voi1PCzEvDQFUMQTABt7yy!Smh`)MVY0{7wir;5J#rPu>3bA3~Ejr{@ieBAt*_g^< znd51^Rqan9f6dcU-lq=ueWYB9>dSS3ry((}bn@2lQyBk>o!ebcQ9tbIU`MD_)P0Vs zo-w2wZ>e3+%uv2s<$Y#@>(=`p*E8Uk-wX$yIn&pL)aIz?cMd-bio8O(gm2(_2K=d_ z^tR(Mlz-McJO;e-A&qH-inZU8m=&$#6&R$a3hw$I$2_9lIItv-`9(d||8;d@_IXlb z%Y8iA2m>bpepzs50_CmG;z*Z|zm?EU6~E;q5m+xzEyX3F+{ew-ZpG?~jMM|`D^`${ z`owsuJaI-E6!p~l%KSwrX&k<%VC-cIo(jDzHh4a#adZ0hdFk-t55?NeB<_am)3+mu zdvx%90(u;Wc4#_wq;P15ZhU1P_d}jF2a!mZeX)keBbnPH#Fv+A%*xErU)3Aa2nETW zdKi~E#CB%wZ^_AkACH#eWWbw~WcO^t%Oc|bo|C_f`-_rWVcb1^lSG(FBsI2Ea^RP2 zUdPHkB&M{=X}L$_kuNSt%0sZvHNYr@@|!1FIgEeh?`9Gqv2Z*CZ+BqXo7RyEES*O- zCCV#o5P#E8l)?e)?8u_H!U^+r-w0X(_XV;QXK;lF*3+^DX@t^tKT--m>`VPl@(J8| zfmH<4<7Uc7+k7CaOuGJx-%n9W8`S^%39STvxw$Z_bVB^KH8`bPjH@X6h*J7QJvF}m zjdQ#*0{!sYLlU7Nn(TX|3KMm~E}(My0ZIk@#MXBJ;lA|7VqWFMG3mV#tP0v8ePjY1 z#zFQOUgZIN%b2j^g_=FLw|_*dpk4TYb7aDAL@ONm$v()(A;j(~Sv3aw`N=HO6|28y zkgl;8{5RJ7GQid<>m^A z%K`oAW~l`JG=R=>LcO7Vd4yU|6*3EW312^`4=Z|^^=wuU>SskbgsCDa-j>OVLwn2b zCbQz{<4I>7%^R#xzjglvX8D(L1{=ihtE3ID$X|%B=}?k0_@SLss*nbBAMip{J(seE zNP0We59ZPYmd-EKOU3MtPbdQN&8_HS-;+cr_x{-VE=;yLXMcj6%4WOGFPow0Ux3Q? z!F3w)2Z>NyW+C;X zSif&+SYs4)bz{)s`v@-d$4wZlbMAGl3Ha3;Rxl>WU($FvXR<=PeSee4P83=}BQ!o8 z%_6&L)H4>R%8+>>f5W<7JiJPQX+kIQ zydkk(YJAPmRd_y3EI0L@hvzek*IQrzT{fRBecjaWbkq5OUthQklMndS{qIoue2}k| zrt-n(4~9!WlllDcI~m{3A@g};m@(gdJ|DD45XHKoWWKn_E7(S2l0Uya7C_)h)?4;JtA5+L8<^m;YUfe_@?l8TV6f z`rx@jt-;)zz-yYj9e)%0+f+r%ycx&3Ods5LL32A+tx4z{o;AW6k10W1pa?3TCN0L$R_ei8}uX#IpI1lx(W#AAIToF zkO$WH2^PH2E8aH|cqP`-R3XS;{*!_%6oq;E&utRv|6hr&?ax2i4vB2~2B$F*RAl59bE1EM6pO|2GZk!WBXJ->ShDiNd*UXm7Ge zJQuuXFK)I$Ki^qNBg`cFQuj!+FLQZnJ?$-uHz)DSzQg#UMDFXS#!J;zqj|Py@P8Li zvF;pcalks;@C(Xp(e~)JkZ}GN--8+I-hj@4%(75{#6BwGZy&VHIqo# z2PA2Rb$Y`z9HFV=EDm9AMPDbtk$%xXYjIPaOyWb`R6Dj>$1g?__Nz>;){hKkByBJDAZTEakf|-)~n;Y+2X*PD$2b# z@#0q4-+VQx;;{e9%w4$RHt=tx2fYercz-Qh+$}zj5b7)6H&Mlt_$AlhWQ+f&{C``F zm%!k?(Q5OU5(L}_K59&sFhhHa)S^lNKmKG%LYGN~(a0{7ZlMtBl?J*526@?rQ6(Jd z?Z=Kv`4U0VuIoRKE)juwJ7zywA}ZR2c1ueI$dW|5T^Ey(C2i?;p`PYybE>2#b9q)v zD^oHgUdNa9+7_To#v#A)`SDVahwN-$veYa11%CncKY8g=&U8MN?L)ehPYL_a1G^z1{r^egWBQh5!Jdy-{rV!gETrp@Ux9$3%6Y)+Q(rTeLRJRr-! z_*eD(EP0<4vvajIJ z7$}zo`ock`9OO^POX3I(Z5PnxoFZ>dVYE+ps$2-h`TZ(Xxd{B9H=)4GMPVIzXFXFc zlKy_Gy!bSxycyQRM^m}-R)pK1<6|q6(4UMT5oX!cB=SoY$(dbbc|Yp!583j;^m4&p zeZLo8J`VY07vw4=t+PV;OMEn$s$hfj=gRwh1y~0&iMn=6yn+wf+i?evP_=$ISpn`l z1<@J~k`*E_4u`bl5oQv3^=~LEG6d6*=73i6>VZ3f;|;wXXnxt zfnN~WcX^nKK~Wd%0;=4fvlW3~y{0u?=|Aur3l--o{fB-R;$=1OMpjDV7wj*w@(89< zL~M^bYbRML4!@7HH;z|M;+MW%m#J*7iz%jUq$^wDI!=4aRJMurUdBuL10PWwuMGV1 zc>~zWe$ik4Q4_v$2+l1()MpXu{J+r%a}vqgChR-FpDOBke^c)`)9tB#Iq9YvEcZ@4 zJ&t_RO|FVL-JVlCq1@O3(s`sF(2I2WcjiNY0RjP@J3{qTOJWDbdR-Klr*cj5iJoWyYI2vwcHG08q9 zS=}tQN4L{TRsRq39}g0Ab&u%(lBZ}y_gO*GUr|7RJJB+RY{H8bFXKFycrZ+YuP%?iwSp)d-cNdT~fL~(z zoUIW-=y{G$tbp*n^RphZHKMS-RjWqTBw+nM%7NfH2-8BwY*c zJN2t7FW~slQT# ztL;d)3+1V3daPn=2cf@v*QRTS;G8!7EkKxumc?}KDExl$=7V@`Xb(205cwV^{@!nD zoSbx-rU?1oEBZgRp6>4o?0di`?{SWQFN*L1j!@UD4TBJWI)to4=rH}q4Y>E>&~L$$ zTphERZ}vBj*gCNPW{>`vs^ieX_m73RI&QH%mG7ng&QYpP2zdIpX6m4Pa}d?VnXC;4B`$%bs)j=_3bx+9M;Riqb; zl-&mBx$LT(-H~3N>W@D?z}WrpJ87=Bc{}hM`xK+?&>y)KNxlG2nPJ?1)q_PSucDz5 z3S#mOA}Ob+3-(l0NZbqs{PLDJDJlf(v3U+lMRKl}8YfjZh17gKCwvcsVFg~#4e{m_ zC+m6Odm`tQ1B87>I+LuI^xP?%Zb#J%N#Xs!Rb;(a@Z;I@sQTDzw5x7OzCQ5lIyR!~ z1HY>3K(@X|liEy7HF7drKM3VL*OK*tU**=nz)lG?a6>s%o+|PpQ}_l+{heB_7`=>a z0R69i+>=8{&_k#O&R|JviS(SK`80D zMctNsLk#j6v7T*6K%5t%8Gn;%Xic9l*{z>24I%&RHueN6%C4pxdLaILf3XdLU)A6+ z-OvyE?A~O2xvLM%ef*ISrI&<^dBI~3CObtnqy`k~JfNEEGsHwwY$W7m6-?_*-# zLfn^lsRH-D4dRq2LBDTHzppS{pUb@ON$)2`^{UkSkiYaCmUnwc?oe0o9b|lZ7|=s)=Xo^ zzlbjcNH0!$rb$x%(%HXJO>%MnBZQZoZ9+Eji|v%f zaJESZ=F5gnOp^%AkH5}xO`?Fq>XS|4I{00beK^w9ZA#Eh5dXH$B+`klr>LedFVsuQ zkWFncu3NU}n>xVWtz5!x8rUb{C-ADeKVzHvV4YL;V4C{j9QIRLs%cPchv1hJ8aXM` z%$!tjZUeGey*coFtQ*-3+L68gG2hIYetuH89#hTW^IrMUqHHsN`gkNtKH-{0#JJh| zkyNv|sOQwKOy!bFcCNVx&F7D)=AOK;-_)d=L;m=PT}*SxUzX)!nulN?{;UDt9QcXC zUvS8tM>&{j?i2a53)I0K1pL3lCmT5jA=(Wm%JB{ue~O-!c?X<73>_!24hPJ~c^^vA$&`f4MEP!P$5`ur#6%zR4OeC89U=r7dMZ`M(t_@Muue$Iaa`M<8HcPwIC z5MsTokzTxoRn$}CX@~A0Tex9eSXu^e0rwwSM=SCzV81n#n})Y=o8W#si)|5v{yo)& zYY~ERTV*rYp}fi=2BEP_h;ISy%---f(-MR8$?h+hmcXC=b7>sunM6{$0on2u`3wHi ze5iw_KSfdl$3h~!G&9wRtyz2g=$X0P!2Pz(*TE#!X zvYUU&w}$-xTT#{ik#3!I{WXj9Wb07Qab=q~;BA0k(fBlpP!Pka52!Zq{(Y(#o>ipU zxZ(GqCVb7b@xZzNz)x%&AIzg6dbSOmKXuIx^GGMK;t4-Om4|B+f$RG_j<*S=Utgle z4(d}PXQgtgx2l=>6!=p`(!V18X%O1g<8vIL^kyIY z(+GTS_~-;6w6m}wf!Z52nNOjAvig0*AiE%vch&4?R%n0IZ1%IH{TJ`Oga0gP|55a> zO??LAKl@7`_ZhtZkt&kKJ($lRzK+`qnBI@6{_-}<*w4*kJ5tME>J=3D=k9brW1o-c z&;99koxdgZIpnAF_h%7i5_#hf$+o%Se-XfVvNPA#1NT`ce@tMexY^Z0eA^^ml~%^J zjl;gxOG~xGV7>nENJ5uc)^hD~!LJ&#jBn=_^H9`W#Ee?O;6QB&tyx`Svy#Fa7(H?UTlzP*30W4%yx#wnKdbW7;R( zf9dB~>GmP9T(16`Z4dmZqBicrorGwYAK6AZt)i~~lA@dr$nWU@-syyO{^1VV=?48? zHxePS>G-M!L*mJfci1#`Owbwdq6B1$k%B z=*PP}a6dNdlLTrMTGHi*eRbLy*5ylYZ%*x0wflpmllTSytQuWe+99?}MqI;b`21Vf zz7tDB{@Jt6CeV2LLkj7F$miWmS#q z5NbZ9=r16Dso@a)1*|*rZTYw_fYsJ2^zV;m!`WlUr=Jz=uz}OLj`) z7wp7_4S1)d{FSGg;GKX+d8!|WP~XwRbtXVxxrpm*PU4Adr8@(^Ao~1csLoEYT(Aph z{JbdD`4#+F>*09kNH4)HBO19COc&rcNq*%Js%}cDF1E~kLLhz9%5)c>=$GXjhj$6W zI&tYf-6aI)dFKeGO9bMbYD9I3!uzkpd!UQ`C%c%3{1V>(%SmKI9+6)<^JjE3IL|R( z`q6W@FKL7(3D12A{CUc^A?1ZR#rw+P8fu`xPekbE;n^UA}N3`IQImUptm& zzDmkpXX(d%mBeQ(r)0l^{9jkH<__n(+QfRQx7spYosgHgH-}IV?O#)wu1WlYJryN; zqj=Yw&r;2pw%$g%8}T-#TlN{*%?$n5>>mbUs^~7Xpt~jU3grrAYq}foD~CO#yZK=r zU7ncGC1>ta-9qnUs?PVBZjirr%pks76wW(e^&$}x5BpKwG1%YM7p1$y`lA~49p9Zu z=arrQ8t?89?eeu_$nI`YSDiL8-F>32d*@xcdl2G}t4Veb<^1`R>Bk9d4+7d%;WpXB z+!~YIIm-92!t<=VEfZ)sIs`E1I6{Bq7WEzfCVOJyJjhf}+Vl?F(*f;iR~YZ*;~@ZFYMe;Y(p9Y){BPRpe{8kUgVtZryQ@MJR}JV0qRJ{jYy#1LZcS z&jVsZjC2EkPNJxHo^<=6J!_AWZs3>Q(vj{EV2>@lI|BPa-n+Ovi8rTsy7MdPUN(_e zlE=mOa>Db45##t?ZWyPfIlPxAy}kMg>!@D9PrP@C>lK21a#=UB7x3pK(hK{z-jKiM zaB~Ww;j709l(jYTy&YnGS@uD)w;P^|bn!5~J)%7|zI;2u_J;gbqoF=vsz__}X8K?- zFNSOBJ_PEwn`9p|?B`GVaL6wCXEN2tCf3uPJpD&co!Wq@%0 zGSs9I<|OiUO0rKJczV7^_I<_p(@j}U_qB?=*xR2_eH~(4MW>o%U*OLuvd3iKAndb~ zom}4_+y}2SlYK+rU)V$SjY7U#zTx{u#PwcZ#me@B^6vCVY*L=_)drbLP7Z+n7et+vj~x&Zb=A@K z)POkbTiwbeFuUOsdLRb>3Av&dHPBoOQ{7%f546fLZR`B_Kr32zTH*s8VtpZQDk_If zAO}L;M7Lx3K!5tYR2$zS2PWm8T3b1TvlP07KS*iOmy zE6iZ%_m?t#G&9&H#?#lel7pRaZd})u9PEbce6JTf*eRA1kq+Eol=lfYH8=?6?^dFb zZW?i!85|M)g!q~v)A%7+x?L#GgtEs&*&)E6r|3~?hzH(}y%}VO_<-*N9fR=yN|ej5 z;6ou_WuzL3P&KzQHPi$1#a4zNiu$EybAG5F&L`!@hFL|s?AsCeFbC{gKNv`af=I?q<%R)|^y(UFm`91>rsX`+4JS7+!~C!w z4x2>|^NapMy;M}p+D#58(*1PXk5a>JqFujuHZ$BQ>OvevJDeZxOScQd!ne^D;TtqSnJrl2L)Fs{n`QyRcxCf2@ z97NZtJMD=>JLY5bNZ^-^tAme({8PnP3jjAxsmjx*=+<$7iP6Gu0#u}0#pq~}Z zafGQNYtWu!9O?E{KVzS%G~`E+j|8{1YU*bSZMQ4W927 zJIRlBKzYNW+-RrBBcE-iMtekEsE3_A&yEgC;P)M;F{49bx%|Vs)M&&vl;99%5?RCQ z+!!nPO>9Sxv59`_do(%5De9(v96rV)>Z$S69YW-o5PUCw$wBOxkm#pvxE&vZ@@+_S zV=>V#)K|`|O^vnYeEt*s1ym26#g6sEIBF$f$3p&s$Qlme#zsV4u;Z&n(&K>NIAKu& z1$!pc@k_~Z&h$8fzkGY`E|j^RP(KrzTFzp}JJRcG z-a5{V_lR~?-_GQC;7t`{wT;|(c<=gkh3NJ<_pJ^7uk`K7^tW)o`EP}I%+cSzqW^On zPco$||J^I{&ux9dPru~?`CT-yPG#y!`hOc)mVQ%Y7dKzxPP?`#7vW?S^p(v6b&KJ_6R64@xJ>jfYoKK6B>& z5b_sL|8`B*2mHo9D`;O5zfdlqX0em%4M23KG6pK^-YYQ=m5WxGx>>5;4zlxCb|LZ zbfqSGlInN+ft=_E|Ed)jgz~~=IfR+S@bw^m5+;`G$kOyAGhCM{U0H;x!rR$NHo#RJ ziBLD@I5o)$&uOY`!%?~1-h-Ls0spF63hCOlg{Vn>i1)!`d{Pkh@5${*WPe>zc%|%Q zE1aKfeYnZ6|Hw~n<0r%TCsu#MAiJW*26i&!pDOaoOZdsaFK;lCM3^f0{H6HhXu3Vs zPtav|zNUY)!TG-KJM@nZzyP}yBfl)?`}mJe$ooJY_D4_7 zJet7`s3{m+uRGtnn+FcluI?I=^Cm6Jv9RLt3{cq(eyZ} z6}0Vcv(v0O`=!>)Nhi4Cv$5S?L$jktK*&PEt1Nc?%b|jIWDp_~*_zY*dUH9j0ZU*pUpIjnm z0KcjAMGB!H>Sy0EGa{lc*i%tDxC}QF_;V}75t^L|=g(BhwojpF2I0M!N#Bq&Loi>v zl;vjvf1XN5@tMj0_jdUWeijDpJ=24lg~9*1>{KwblK5pi?9?on|FRuAc9tV^yCn5$ zld~ZI?2!>_mS2YDF)vQ&3Ugg<7VzutwjvRxinPa4YBunvis5QDJKLIWPxaF@8^F!> zyuz>g`|RwXXjhHR;%7%hJvEM?k0L9i|P(hZcZH5 ztGt8pxsbnM^hXKIRA1$(%FK1ZxV-<}b9~exf$9Z3IT!NRUtUI{a{c8i3A_GE(HA(A zLUx1m18Qy%&c#p0;&Y?v`4F29a(>wV1yN34N%^hmenPo`y7BW_|0~9yNnIBA1K;b4 z?%+Ifo;maXV;DN@rRF)sxF&TGd>-VVNr>Ug@OdHl{I>rTYF-4ctNbcG?-luHPq@Se zh*!j!9^?Zy*ayd5=K~HkCcAx}M!HhEiVrxUzjxAXzys%=6%Dz75BisF#RvQ_pVWFh z;DG(9_!BM=65|psKO2a`K7HsIABcmWtpSZtkgQ9+8P<&I8*zj>?mLFHWqxnRFz6n| zdZ2yn&X6qd8@mK})(`Qzl_A+6?3evFvClCAIy|5I&P%Z&XlK)}NrYL0xAF)LwF=Vn zF@*gSNDOYtBApl<;}UqaRw9l{K8Ky}gmL&=Yid4x&kX({&CT~fdrw@)=R4BhKN9lF zgvM{P@ddz>b=J!-AjEz!eO8iNU={V$`jYQHpclBIeeWz}5oQw8fo1H1kXWuhH=kV) z6?H?6veZIM1MBr)fN))^AD|bSA)n3r_=T_@nzma3;kn|U3Th#of7DMV;0v9=JL*Fo zVXDaMKcE)+VIOK9;t=ZbS=7Q%x?gI&OuFJoQ+AQ<-`AJL>avS~Uq9hDa!~|u@wXJx z1yPopj4#IEy6-5@Eym!S5?(E~zn5B4OUz<@qS9CR5}O7ix*P(8?}=_xm|9{J%cZ3bb4xtp|3Bg@ z7vM|$@P6yczY{1a5B?#TuT}Ka65v->=>`bnm&SQy*T#S0mSXVz_hZ_VOJV)XQ)no; z)C}(@6k43XOzjoyiuP0Kr5>?8f;}UaYC$fIzQVssBW4-oFUvEDTxJ%_@s*?SWj2`K zE6)Hz`!8H$mO0^il^nn>gX^K%Py}D*0lgGOBi*!n9k~qhH|;SdP-sWinaA{!# zAf9Dx0#p5Ex3AO7BVt~u<(YKVw+Hy2fL}YP3xhBxk$c*)Klx#tA6UdA{BK3S;TE;R z2JxmoWL7v}-p_o@tbpqv2)?pAzQTiJxLrZ5@KuECv;}mrT<}Xpylb3X5zo1OvIX_H zm5?{_?OJ+e60Z;suXYk&>4Ek9>N##D^uIb^C2FN#e9ohb4kK5Fa^?}@38;R1Cm*!J z{*kv26SOG>b4Jwh8_6K>r;0k?L^25PU#Ro_!39I`-1d#q%yVR(KG7d^zRF{k^PYPO=+IMVI- zox1oM7;l7PF1H5tL+@w!nxyO`Lh1DczTBdu)oFY!@Jrf+6PR5yn_ue|<7O4O z%dYi_x)4|X=P-6H@M|L)5~2QN{R9f-_{xv*by#}83gwy5*q|x74*1nyoTt`#(s?u0 zOSS8Ze2%Zj((9{wEaKN&VI6FvrPkZTa^-XjyWT14sqtP{*YswX4Ztt2%g`GL$Y*aY zeggrYCp62;ZvcJ;c7onu(_;$BBz^%tWjFZK z+o$R|nconB_5EHE3SlNudJN3Z5J&r20sd#;m)w+-Kj&iI&13$P{MncD`kaXuYw|I^ zkpSMo_Y;`vr(I338y({RE2_Ts^Bdi;?%r5MZiMllNfZML@f$p~ePzR3gEZQ*a^CLiEq3BAb&@3AyAu*goh+fkcx z(Jw0ZTz)g~Ys!wN5auMhU(b-6fj^UI?~I`~2cbQl@951TSa&^}c!UboF>-Sh+I7Li zpmN2>3VsU)dHg(%-2&rI_g67;%PaWxhdSU}9Ps?$?GUrY3Fo8IZ*vGUiK@pjehb7; z73Gwr?3O6}u4#P}V0yX!P$zt=Io&SAkuQ^wTb-{cU)_@3>VxygyKUE!)}B8rQx9o#H(~5k#6|Xo$yzlsYGsz!+IF#gKvj;_@&m& zb^^XP^vf6VgoIyU*0FEs?T++3)Nh`mw|l_en8UaG(#wS~@*oLHO>IiUaK`MFR~2l-UNcUYmnTGypRJ{Ygu zO(q2GHq|e|hRm=o|Jg6$Z@RLQL-kB&s^L4p4=dG=+yU`Z#c=C$W=AC5uBiA883ulZ zcN-NZpdAGmdFgO+|ECaToo&i<=FI$9mX_t5VmWcGFvodB{bjhqZFvs(O<%<* zE(G`2M?2zN1lIq`V;L^`3jY@smCd*EznGK8$IF1P_lJD>LGl;i&q?%EX0SUkbX}_h zivGHp0cxjJ)P*>@vJz^iQ?#pgzsv4~&%aV7yW3TIC(3`t?+Mgbna}Qo`#=4#0pw2T z2SKumj^TG<;`1hHv7yv1v$!t^emS9`?{#LE55~`|)$A@me9q<>NACiDL3FI2+XcKj zc6S05r3y2<;;`P9s!r{Oyt9fg;ZeEtx0CE{=>M#%j}m@{^6Tl{W*Gl@-=}v);d`@= zRG@Z4{?aoK*xhaomK`Vy2zlO8GP|O%zW+6W*`0L$SCksW><+=YwyX)gI|9FRe7Z8b z8?~bpO(D!lO!Zr`du-``GW+Mu9^l1lWaE20na7KKQ898)NUX2yHksZN6?K6>dw6wr zFOhB+$`vz@@p~O&xlX?o-wXUi+>h@Ce&P<5!0h}sYOhc9Q*a!$H;G?}C!pzmA9^1K z>(QMV^giI18=7(1@7!n#nZE`v}uuNJe<0obnA4jG+e+_; z>u+lCH@QEOUXLhSmO4Pddev!10!>3de~!aiJTBuOY{5tQ}&Pp#^d+5 z$wN-qXFif7^sG1D;S=^At*Apj=+{1W z*>e9Lkfd29?l(Wo-_RfyVX7#lzf!*ezdHB}jxbe-2~zH`Ss|MH-NX;u;6CWS6+irn z{?k+nk%v974t?_;eb|>CPYm?${vv+5Odo;!FD=oAJp%mFsTH{+PVsu+SB>NmPa!Pp zt!dm558MxZxS2cR7uzAp|Cm1#g7)|Njzwq~q#+Teimccy_ICpOj=#tLj^^J)J@vaa z-7mEspXIUZncw5-@ztM>Cy$y%yQzK?_NWcU4cm!7 z>JaThJo(amin=DgnK=gh%BPE%V^LV|mYfBY3t@AO@`b0# zKb&IR+*XuyCGkJt{3HFL0$_T5eTO6LaYD4q-~5|BZWVRetkL9gho}p@>Q!^u;~toA zwX2fHeQ=Ix(Ud`G%G-iMcIAgx@Z%xazmC-c%>6tT;^!K7I@lAyE1~iwFjGC#i2lrp zDC|4#2KQT{Zn|3uNR z$2$&O-mIdVR9L%-h=R7d(gBtRj56%TmuW?9E6;q$K%sH6&5QJ-iR z$|YasBcmbs{BRi!2=xmbr>!vQ) zGMD33$I%x&FdjSXV=lnCQ`LPlk91?FM*IbT=6V``oVft~E{J;FcIqM_>ViGDs8JI5 zMc?b!SFbwHUczAimkuQ_{Re)@`Zm-h2i&js-AGKTh0Cn{jDmZ zWB!Ex&nW92kbg#GnB>|v_Rna0OnIy@^Jf&+i%YG@KjW}JUt7li8G-X*ILuwf#PN|S zp7h8V`m$SWkEvsR`mzt&vGNvq8S*y`qgbTtPDr@R@cEzaL_R?1zZ2zO;0FoJ{!&I> zfv13(M7FabeZ?m7r26UZO~9`}{(`8LHSsIJFV)EDD?uESlplg$2_e0FLYIBil(`aw z`Ov3O0@d$rqfoiN^lcK=BT8GjE5Y=BG!0))U3G{&0$(OHEt*DN4Z?fb<}%z>h@UF> z!Xxa}c)Fc~*-_x|{X5 z>jYe{+XY#Kc$G=ybt|kF&-&8WZBk59bOd|d0qbTLmPDvp{t15F2J7d-XXJGc^xKsD z^mV5SGgfRxUU!Q9mq#|2x}LV^;6P5i~&@TdEw*2|ySt^f=nS@6k7% zu>Kz!kia~$9Td{jWPUgNW)Sl1=I0RRB!+4$xm$$jmq&J(x&{2IwL7U>Hk9AJgq{|s z!&v;52k!gEFQIOEVBWkYt(EU`18o+30>N-02Q~wd0JMnhJ2r7V z9OnP=_TKSLRsa9^O>%BVlQcI? z*(<=U$PRl61bWL-B#0uSLWNtF3T4SuBHoIkLSzZfKySgpC|i&b0AW&pZmLPQP4Sc zXzIBj{9k!v%Q^777qm}3msvcH*nBkIIBIkD`E=}~#}8INU$or^-CjE%D(=U+>4PKZ z?~%WC_~%E?gFoS~Na_WO;5@V5bb&%X%OA_W;4SV)d z50$N!-!=Sy|FA7sTm3@*KluHB&F^aV8rM=U`kA|W(v*GK7t?h=N&YhZFQPxm%(4A1 zB7f8OO;az1v2I>GenipZiS5+V{uc{T|J)AKB}yM(SA!>CyL6BINvdhfC0zeCaX;{N z>ZMHGf6_xUvM(w89UsrW1b$6C`?jWDieNtPlU3BpHT2YcKl?JJ+iT_2uV1EK_M!a9 zd(|)d@%inTrrDSMMeLmYvM(3mr(aoRx(t5mxr3(5Va&e?zXR|8e%m;aRKJ4re>_Q8 z?y7zzfc(ZX*;mqw#1Yeg8I@wX0)Dqm*rK4h^5*JSBADm4c}EoeU(0i6OjrH!+ak;K# z{+x%DZK-zvm8bIz|KMdA9N8sMmV@RF0?auoXC?LWm+=m+Mxw|MFvd7DxW z5h|2OSu*PLR9NTvukn`D&iL7}TC zHDaG&u3r(25$umbcga|Ye%+GJ8gX4on)#%JyA_I_T3t4I_4tgtj`1e=(ZoEf6l+Sy zIyhpGOyGBo`CTvtD`?d^uB%2&xq3U(z(0v8U)K$#wz4MhYm#(zuSghO*UDqjwrvMT z!2fS0ao`?-fIo3iA5p=jb55H`?a7KnHcdJ>X_sE}-PIKl^ z{PyN?zldh=TTRaj3Tl!tJiuDOYo9=fg~2?jBXbJ6^Loqp)&Z4Vdn0G@7uhGZhIf$J zohDm~x_xZ@ zztt0RHcB?|(-YEV8}ir0Fztk3i=f{pg@L#ZzS>$vTdyE%L!R~lR>_v{)XeW2O|@pT z37J^;&5v;jL7k5_y2S+WJ5D8v3CN$cuOTFW-?p|Bt029goR|)^ApqJyFFz1zg@Al9F! zN(0VG>Fs0dOVS-TH}FpIlhPfC6M5SzF5?x96>_?_=tTap;;dGSB>n@xdt50#(T{$s z^oEMD?KPbqnnDu6OU_Od6T>=>y>+3O_&SpR_P=Zt#;9ja0mAAM*zpo-VqGh_82U$-pt{X=$aGnURkM&oJo`1-{q`c_G8`$K4a$e~K)UQXjPwTSD3V*>( z6)m$ziOFGaN$#+}SjFT*tk>0xR4lQ<9RqSDSuT~X=NYe^XK@d?R4)4G#kbi~|3lvK z{FhYjeE%W2H2C9*ZLOazjr>aza`{2Nj9<4iSMv*HkiX;YpLhjHi}GBVAjaj^GhCTW ztY_+Lu1r|p*G*>^vt=;!>SEaIrdOJgQAE_MpH6ed}E0zPlaZ(Gu z9QL1tYbLQ=0Q2SDGHkhY#QW4WPQ^dEOXYArBH`(5xe%^@RW6DOYGUcPm6VI%diHRN zST0{L*XoTunhWJ|&eFuOJC!Z(h5tzw6}9qzi-xiZeED4bKE%scxbh1B-xtO5;CC@D zu6z{x6tiDN$E~w$1q%Dw4;w|rjt*ZGD}diI_q0&KM^o+!C!y={nZ`FK71E36p~Yux zbdgjD<9)B?lf?@7{V!Advr+~4wYRZ|6_o4HQ=`QSQN)v7m9J2Ue*3heSdoIh*e+Kn zgx@Dd@fE$wd$NC#3Wzsx({{E(F6Kd3R<4jsQ%u2MTtx=+t->WyY46GFAt`!Nr9-4* zsCZoNij-Ip=Z*UnxK6&AOnTlZlr--F*E zCb5+R*pELLAS&n@lFlg@PYgfz;3{v{e`h(7>mydqM>~5CtDq*HBYT7@R1?bcm%vuR zIM}?8NL9dZd!U=BV6xFASD|ojy^z3F0iVrqOIDB!KP^|ugl--nDZ2AxhOZLDyq#rH zbyJTGLX}+1r$q}`1u1t`wn{$mqXM}~)QSHWA<0#6UC_kho+){mBI9IQ$9a8t4%6%x z6*aqfNN&B#c|({NbKa7@n17BLEb)Rjsa{(_Dff&Is2Hz(Y`Lr1lWbM+|F1&Vx*=AL zpdZ>7$O@X9KgueY7>XJ3*>4+ zeEzlXZ$Z)j{}Lwu5LZ2j^SsMMs-vHcCq{_X!&t9b5mrI>n|;LUk@)f0&qjHcLj332 z+`&UY>|5u~%SyTP%{H8Zt|$7jEcPiX`wYjX!{6)WST+;>PrR+x$II6tw_w=_#@{eg zRcc)zh<(0$RH#8gw^f9W-`}!rlvJ!W=eD0a{vFR;6l(-@K8;sH`}kX= zMhMsMk4v*P!n&RDa!sKI_!DNXW)*aFzbMqm$9Nyh7Hfe2e#Lfb9sl4z@N0e?k0l5X z7U8$IsV+XKTzBpW$^DCaFj}0~@!D~@CWCd_>qS!2i+T6*4qnk++m5p}{l)Dyf3avd z`3hGP`;XytQ|UGiSJBxho3ELV@w@c0Tr-N#iw?Nhnux=5?K4t~!anEzfUN~SQecRzTkm%;UzgwK7dq0xytSnYvwUJn?k*#B)-u!jjuD-wY9I`|)|> zZ@q=u0nDSiH@VvB@#ndvZjjUtV;*iJmbn%cZBKRK>L3ospXWKHoV@a*P$vkxx0VwH-5b%)Z>3B<(uF#?(6@}_>jZIs zx@EbFrh=Vpov0p{Ix_-3(sX$cF@kDK|ZaVmn&KDF+ z>UeB>SFy}ILB$GT&fb;P`8#9)r9mT@mW}(Vr8ESTBHlM>mn`r31IwYvi z5JAyx3p=y*BDjtxZ(tQYR&1fxq&@|^nJ=lBRIZ6o-y45?wf3%3m!@uZdyWDAwo2{oFC#% z^JN8XTZR!|5dHPwC!8;&`_cRvg{hn`g6pZUMMbULwy+)RD=coW)yG52&Ih>$;Efea ztq-^c_uw~q9wiMTy1nV-`)q@#t|v{uDmSDsk7i6((eq9o*N`GqQXqviMBbX1-ur+w z47ezI$zyCo@Y`2b=Ne{W9*(2Ah5_`$YvcHa;7?%oaSg*jPkB~BW}g5Z^Y;%~RPp>I z6;0zCk%onshs$ru3MMU=)%Hm%URE*L-GelYU>=N{FEsLFzU}ylRWMfUKhGzPg2l^Y z?P7I9-+r_ps{q;T9Br`d-m@-uVQfv}la<|-k^B8Fo!M^$T<99Gq zMSGhLViR1K+^a^ACi(ZzPhJY}O^f7xm*}^rNmJx+v~T8{V!VxxD=H@3G>J{Y|6j$p z`z5}azexMvs*z^*;3v1viOq`i|9|Ck=6}RB_hNqcsx3A572&<(&~&Ja-25K=v3%z0 zU4`a2|7c>bdsb|Y-<{FK@zf}}c_H?ZU5j`H9nJq>Tj2g9@lZQePnwq@wV<$%GCidh zh=*w;OD&3Ae@$J^k`|e|e^af;*%tT6pLA=LZW72+N%w*)^u;TyJP81cUSEZ-9IfO%)GtYZEsQN>*oRP->Tq?U*$o>+!;;#&Fi zdQ#{RTLqwxJ1MtH2hXAxSVbrF(`>6C^e;B4y6xR&s;>DpJe(-CDsrEvmESL#bLWwV z{5V%m`$1OFIrTa6Pyp|5ip^Hh#>9g@f5PKFlNYdeR2@n{Iu~w#fufwWU&MDi6CT_{lyc^yT|zs*Zf_9xitTXz*2Hu^NZN(a&y^-~?ZO!MpME6m!dQP#^b*@e zurGHg&$r8Ok9Fc<+vTHQKAO+9i+U(yk6K)Nss?4*-im97cr4pLQPCzAutv?_!HjWB6AeRqecSDfj>zU zMMY1_>8zp_pXHrLIS%~)RxD$l5;>gzsO;s0%lF)ObH@iZKFwF0&s{28N=r9V2FA;# zWnvz`$cPFi?k|5^f6z=qQ(8%#IM*6 z4D827fcm^*lDmi<{CfXs2_&0dARUU#KTih-*CABgFWEAZ?Erpr<Z+mMs@L26WxT|0H+J)O9T`4U^e6 zY{y)^o~A~K9pN`tT#{MtL=npJ>)UK62J`N~A4EY-Jcq`Kosd7hXcgNjfbz<++$kON zd)(u4r%d!$-gU84K<_V4hk;_Ju-;zt6Aul0>I$7H{NBeMN!rRtor~nHm1}6ZRfg*f zeoYd;?k98(>bh30p}A8}zHn4hwvHw}ST;#e?*r$^G zqzm%4jhw`HE>!Gi6U8o}a^7u>Ji#gD?om#m3#I34-1Rlv-4FrDr)7f28H6IA(S7hBR?9}{o8|!)C}RXzD`;7>SB$=$-3x2OBv!G$V1Z-r&0-uO`p+bxRcR;Pa#yG3z*pEOwL zmW%!9y$(_U?|;OV8&l-~_?dDm1qJCPJR8W=4IB;6Urb@EBEyC3@Zgj4M8-`7#m zbh)+AJrmEX9La3=Ow7M$UlY0qb^o@t0k(TC+NXZPc1Qo4j%^{`^YJ~G6D@f~w;b*x zbca9ZreB1|D7{^5+>Ey^_n1F^y=HIU@tp8j2=o8SX8tkszb1~01=3^Svkv-0cntiE z`v>l^h+dyiZ!zid5B$_oqu4{?KRQTO(D?9Np@-iL{2V&2|6d1GB>g`Ydw}2m(_yYh z5bpu^U&Jc*js^qS9uegELIqAiP0Zup=6WFi`xWE9+3e$idz`~#9GGWKXCDuj>^HgE z=i=kwx0EZ#K0y_qF9~1$!9C%N?{Z3xrTPvYPM$}e!Xe&QK={RnW^=GX1s_0H|d!h-(K@;$lgMpq^eVf z>|cZ@@f_4PrZ;q4hsKP8UUGYzG=@AGEZNTbqJeudzhpZtuDjTIqSVVDza4X}Jl9K^ zZ!5nMdm(?z(l_N^MdtrqKX?8x_U|b6!sm~cgQJCBh1jo7wSA*7%NQv2U71M`P()(CA}latJU*zZ>)d&TipajXWExxdq*%&V#Muf zMV`j_UK7LO!Q^S=&v>4Zp7vv3U)7p_`X0QReJt8HKPEg4K22T>hoSJF9~fY zv-xKNXg7ZadFDCXA@uLeJ%jhK?pJI>_OQ?7>v6=kbG)`%eir>7E2d2k@z45;mz(FN z$7LFBG3e{_am?R>64UnX_2#gZJ<0O2hd+Ud+dj7jk{P z%6lh+NgwpTeZ)w;rzMpJG*9 zoGtdjxx}+=GyLFuQEHQAK~eFzCzm>-qGo43dqnIDe(NP0ui|x{ zRnXb5ozOQO?T7KCZwT|O`7@+%81YTIAoaz2K%Ruxh*F=pz$f(0M?XB=Tg9Y})k)u| z&a3g1gv_f$gmn0`ecXhkXDaKL2jX+i!-Ir$@F(`_Eh`vL>>by#=}{NuI1>=k!S6V` zl2b6A*rcQ6Ilsa)7>N7%-)0Mno?N$$T5ez8Sa|Lppa0kv<+9J^;`%>ugYaAgw=c?T`6q{p@F{ ze;9dptu6OQ{`3N))IWlGlewAgAHn_3@Ukk}+B6lFa$EcAx3SY0zJD(E-B$*({qNCF zjBO0h-y?t1@i5_o@H?s|P~W%g4_6g<@O!>pCGg<+U&T6#B^m#4{%|&}!Dk@sm}pAl6to_}l8!Q6mQkvtE+APqqN z@x=Vs7BZkv;VBQ)`z@aR{g%6acvu=3*5|SLuWe)?`rkUL6cFD>@1D;MjAGpLcd-NW zao?1CRv3i*tfnclf(dKa@`D(}U2!8j$cO!+<$7t5ANf~#M;PSS{c7>h+uI6*f)4cC zE;1;Dc8Qm`L1CcFt)g+QmmQRgdDyl*uasLyF|doDFa3dE8tjeVZ`M(EGB}-32@PH1 z;Pm)*T6`Kh4t&fG&c}W;WD7Sq3LF{`6?BdJnjb=8o?cp_mTUIbQD!p4r^jjfxt2I2 zfd1;xgA4($X<;W}NG8_V^K&H?$LzU{;|8eZhS&NDLy))e(>X*zy328PNErRT;3_vH zg7*(Dp5=!WqCeK|C(l#3AF~9cAwle)TnAxDK5#$}R%u86swqD2N1PJ|@`@fS#NAwY z9_?bqaIhWwJl1nOG0i^3J`a9-*Rh;}_bZ0&^Mn`Db$jQV`}r5Z@9x+WSbTnzGE^d1w^pfi2V6p%HveIAXInjKcHV z*+d?OI2;Eykzx1fhlDm2+0t>`Qe%P-qzX! zWOxwoO-5r9781UCZwhFUp5<$X9o z9D)3e)ei|Hf_QIk{bE+JbFQz?jtJqLKWd~jBCO9x%e)rih$!a6$A1b6Iv=@>u9nGa zxfYLx%+lw`NSr@Q64U9L?8uP*`{*UvYxUN}KgpvgoEvhV2mbr^njh!8EyYnG>|;+I z6-I@T*NpPQDCAH7v{V`u!G4+eH8(0Bm&q|}vAOEXZ zIvy5AgFjXhKe)z?2EXal05ZA=kF&~~>`N5JsquCGB?{-fr;OrDUW{XKmh_Sj<22IC;=8)z?w*ii9u zt=_eJ5E+|ayq^*pb(Y3acy3U@lW|P^_L?7K|M~K`bbUQ(mW*0SS}e=$jTj~kbd z{%iG#I4+9&y6@%#?_qbRq0{IQ#-l$qu~`;Lx-zol1WG72c3Cnp zitmY+>CI0pv}kVcV$#;l(#u}7o0}oO?2A9nS_9kaGSbUI-M?0Do$Vnn=O*HQXE^(E zq+~zt6|K2fnBwzO^JjX$vHVH^&yNp2%DWMFpSf2GbzQTwZv07}g#2U0I=cm#6u|urQ%{^!gg@5KvAQ}x3G4m8 zigk8633>@->e+-3`ijRvvTDe|f8dYD>)Jk73Kq%VI{Rr7ypQ`H^M>u*tN!9~#N%=H zT*khNeb2eRs`x7Ufpq+ldo_Z2d21%Qjq6pk&h7~$_?^ru++<4kpRl(&H`$B*Vebm* zHvXidam7R2WQ@PvT1imK?bcNJHjW_*T4#4Bla>1#R~>G080&OPd+4}clz)#*PA@+H z5(e)SCKrO|g$`tLk$I3*dNcPL{CR%*{WktwL&bRcYUSp^40#QFhU#B%uYup$G{7qu zPZCZE!fW7l_2|b6RD8R5?X`0Eo=uz(EV;d*Q9~l+Bd#T^Bt&(4)5CR0mcl>04VT4W zoX%Xjt=}Oar}D%sKlX!fnhIHdJZJi5lzbaEsi?(4ddX}S@^_!UAZLYfKT&$MsOYwL zbLFfE{EoaRXMx{*<~mW(KI}zNDUT=iEz70XeevsK+qujR_I2EtN#I(V6F-B|@K8{cAIFT8*Mp3*(UDFNNyI&v48l1V7T;HvVJU=>^! zN^?^}dc9$~SD2EE^T3bqvI;sT{mf1IhkRr6p-#QWzTrbYTT)dddy<7W0?Imik-Xto zaIT7`meb`of=Zr0LdSZty}-Q@(&KQX?`Ge?I&%)~Aia^Vzvr#-B_(!{-lVWTK7N+G z$;^YF?|}M!w`La)?P(|YH^CoINLnfOP2_Fv+=INCk2tFxCT~Xd^=N;=K&ImSYd9t*4}5Ns?geN2Y?Goa3aa$lJE)f{Kn)`z57Z6Gxe4+*I%z*E{*C z;CGbyPFD29tPey5?+QJTeX9sBx$&&@+m}@VfAJAikab!M5Dn_}q&Oex83D{E3%F2nu@U zjUaDh{>Mr}&?&wReox=Bf`Ya$UT5E7fPJfwcf3x@GseKG_3H!Bi+@fM>o0Lmj_^(h z<8b{$;T`a5!qmAWyc5xNt-K_(ewQsy!}-Hpx-mD+UvhhzKFUr5zi0Rl?6e~M=367k zH1IpVUCmC5VBEL<#4BjL`Lr|*dEc*CR;TgP1DKah9uuag$8TqPEW%F*zje)X;`Cg7 zo@+cz!DIaNX#Dn?T|9K`y+T6&z^}DS#Cv?9T%E`2Y%hlLbzQU5ki5N5dY6e`&-i{3 z-VNY<^=K@%knef*ZGEpp9%hiUOV`i;I*#(k<7&P$5HS$ z5c9YHSNzOKasJqTF?3nQ&0@@y>w6PB3+G@*RZ*VhLwrBh=4K(D`xR#9c5zl1@f|!a z&&t)~zT3Wasyr)tkMcVPbj1tuY%i``{k~OEYnL#onmjuYznx~Mp>5I6?Cg8-YX*1F zuyzGMhr;z?#eSk-JYfd65a-;BzjYINP7v*uHf0s0!#{{~!nz;#(8r}Y5q*4P{oBUO zChz?NZ>)XdfF$<4blrb!y{5Y>o+s}if7^~j+g4j=gpUW#q|JH_6%HxS+@oVzDX#9HX+Fj&*FV6W>s`2mpaGvb6 zUsCXX#ZzUK{C*hrEg0ebT<1ytzaD=}AAsL-fe4E3T=XpWL4>Bvf|2_G{0U_bOA03TJScwwTVkr4Ag!jbL#tR?9-~CGBf$!LlsQC7dt)qmG{Cd4Xe1?3K zUYat0JOda%-jet&bDkGJDvX~GDLagOtX%)w9hN`#V}Cd?5_<9e*Ld8S9k`Ft-_)v} z(#Pn3)7mWd<6PjETSNupO8XY%6Dodv;!KP93G%mIY$AOU!2W)fAqtZH<@rxCvA)e4 z)N;p|dAw2{E7q?z@t@#56Z46&pWO}A~VFNX{DcpL}ju=5#R*X*nX(}nry|5!1f zc$v%xzkTT!D#q4py1Cm%c7CLId#%1CG_?GgTL6CRcfXJYe(VcNbAkB%j#h8T3o`M2 ziIs{mnNaz6I}K^_+5rtTz0;4J{V83qx!seJ^mCc!oTbJ zFL)J)`cx#Jt>Hu;%C829TK@T0L=0eG={8js)0Of}PA$JWLq%r%JVDW!3F#`DPuwJ8 zF5;y>=fnus!JsmNn2*nCoG%bDf_=jIl_cW2=&pDgcG!Qm{vnB8>|Z^bk{n<>v8`#z z=A`TO)+Wd0oS>B=2Os2eLg=Tj4~hzwB#9TpVoo9AeP;`|kU|{oUlSKH#oL*B{zex1 zQEqI?FAPk?|4pgMt9lFpIs1mV5WG&~Wffzpi>a0)oy3LUj}@nHKUswQlPdlwF2eZ! zuj2W&m9Qv+{r;18q(%7{x81$jMN#Z)e?34J-Ge`t&wM^x`c%pPKZ>b&n0yL;O{{+w z$e)70Byr5!LO%29?F@siNS_6e$55y6S-M`X`LTtbkUtCQ+J{w@7YF0}H&?kOEC#j|nopn%WX$ckoI&RxIm|X&X z*DFKhC4TH1{a+Up^o(jlmSF$Y#ASYxT@orDhr8`}(h~5;iaAt+Us8zuBDoY%(CNrv zmog>4KV&J_on4w<+@I#(^ig|xY1oPX12vRi8jf$L*<0pJ5|?5Bu~}xa%P7QSJ<2I) zo%p)6%m+O(i!Afwd^hGNepvwf)q7Tc*?pXQ=$~q^%W{kJ8*|2zWl>z;mpuw3lvU)V zT<|$|uOPX2?&fTNfmP}g&%6sA{r+M%)n1EN!-TyqDHr{pu)n3CpzTL1pBpO9r`c<0 zsP18Nqs4!(L9364WSXB}j{G%AD*dOlyvX=#<^L<1PJcyKcy%5k8pRdpe@&cA9+Fn1 z<2<F0p@J`fup^Kmj+ zjeciV9cL9Z5A<=Xi{$UFyPaP{;eD+6hr~7DH!>Z`8n1~m*4fCa*mwh3
      htMRAP} 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 } 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�?99&>+AcNdo(bo#Vog_~ry1VQS?iEJ&BYN>%!2o{sS(AX z3QSK2+)D@TBYQdo9-iM=av{|-fuFbYDBZ9I?HPvW!og=L7Nz-?<2~c4ad`hXMR|=6 znO=Xxue|m)-3xemkykbmy@1~+-WKhR!1qNY-DwW5USL?esg#!JjR^jxOQrGNj@0vp zkEdT;jp*%z-+$ZNjYHo4rYO^uA^Jf7^MWlg(S2b4VS86oeH<`f`}HUK!1!Z(cX7J< z!+TU857^6JjrQ@uJfGT+?&F7jpjVt^F}Gr>@DAhDr~1o=+#;Md;Cr_>>I8mXq;uL+ zPPd?|Hk@ai!2e&1?v#V>3+pafvNQw8z6t!IJy)2%z_0kEH_f8##vHP5HtY{)hTwgJ zus>WJL$LOAf;GQF_tU2@PggIuc6q)gM87c1t1@z&#bi;?-;@1;U!*Ng^fyC)fAuNO z>iQ1`GyTn}_cddgLrj0SFdxxValAjwKk-KgnErmapX758{bBr#=lX(Oc>kTu%j;QY zA29&<(up+BFmwRSf8)J6=m2MWKY8%4=m6kN7PR71d;sK)6)8cnm@JYmkD>#C-)Npm z4AcvGsg~zO2ikJ~d&$XhGwKtb;)4*OJ+jeV@j+%m&saanL3Ft!GYI-$ziL2qP&UL_ z5kLn8VZXaF1s}xbJ+}usC<6WPxF5x$u5cH6P#oTW9$G*ThWyisw0|vPumk4z6*bNx z`t==hurt-)*ja@R_6v5CGmZ`pis1eAZE`U1nxsy& zuV97%uWWrFI)vpNKLH=&hW8`&zD8NQvihf>r_R$%Jjvzq<)`tXW{A5&&tY=8dJBOL zbqYK>!bcDFKtB>!84m4LIpphU?tIM*g?nB``8W?gOfU3{WLIBem{s86>nqN6VTM8e znqAeREF$##)G$vzzW5)bsS1S-PvHN@fs!hU%W2W!!PNbecQX_{gpWXEaG#z|j6j6^ z`SSm3G}iqAC6OHZdBYr%v})o1EBgZ_tqlCZjc5}39cy`%Cf!Q-|5Pi| zq!rdz-hw#kgL!cFPp}Jls6Sl7kU{Vdx}szl-Xjz}PLL6}-(5s;GN*ZA+E2US`G*%B zlb><{ZzhrVxQM%eUsn1S>GDH6{&+yR{BY0RPtY#l*JwVbT)=Pg-Hy7lb1@$?5K5&- zn33-EaWthVawNRx){hV2BZKh$gtZT-k-(2Nt4)uD{8f%;)W|rrci|1(jX;02Da@6t z49{`5S?E8k^%c@>6LeX{a+KRC=zKF3r;n3v$UmK+Psc{xz_0sXMGn*X@pkE-Q|M9F z^znE<`S{WFC{Hf@h8!YB0sp@h>9VHi=p6F@r*WlM7UE+NIQNii^cYwNvf6*rW6VN3 zm3kFE#%4s6{R%N-Y;Ye49HPhA(vLge4n?hX)R=4`4sYjCT5~TtCJy`d7MvIp*CFan z_vo?u^!|K3Mg5i0u{q=~z8xjU`XJu8!vu@Q&c)HO{><_CxH9>AVw^tpxtK3cMpV@R z9p{F592gKC=YjRVB*csZUS1@hRVT;6{70uvLC58^&R;p|t}i6UL%*9&;0%kh2Cazk zW>^=4Hq#uA-A!^h*Z2~Btr%9vnu+Q04j2!8Wn#Qj7!T8pvG{mc_q<4N^(4m!Vcn1D z7iBS%h^ckV1hY^-*dG;>TfElr{n2&A%D}J2gJK@4>awc4+!6nDsmlv*9q@O@~j5^ zZ{l90$#=8i^DyU9{M{hLQPqyV8y5T(TaQHFjSKplwhw#ZqNcfp`i8vch-p4pHwWu6 z(-PKyy12&u^XX~-f zk1oFv)2(ohtXzt-<;fxsbVR4SQ|-piwbAMRRC{v$WL>@T0rMX4%1ZAf-!nsdmdqsH zgZ3Ca*C^I*I&&2C)VSJne(F6>sy#V=CSBjKE;%C?-@oJINa}8)X1u}kmb6_tW=1&o z?NqhBO3$>W`YTF&PS13v+WB@#+l^;tLjNlUHXvBcBx?8E=qyC=ldY7Jv&^t=c1Y-1 zz;Aqhg2UuE(so;!S#IE2tEFdog!;*ThF;sEvw}jooSse3iU{YUe(6YRb^?ELeQEn9 z%xoLfe>j1j?SSu-{@6G=+X?4XKUH)#@F$CG_<`tbKeTJZUXsOR5zY9Km>q$AYrUF7 zTG@Q%248gWt^j92(F|#9X+4iRVsd=7u59 zLo#$O@M|BHrshWAdubo#BjzFSynpuxdY&HE-_lylJTr{@l(z{sj=uR7e4b4>-_r7T z+>FliL7c#N4%7N26-autq~`;_q~UF5KJZJ%ZsbtaZ9mEC(u;Yh`8N0*ZQLnlz61LG zyG8hXBz=2KO*`WAq21|3^!Tgj{77oK>S8r?0r2r64=h6$Sb=YMWpV-V^P)85BNjLX zKi+O^xrtujOSSXm=`wHpR3wkEL#X0?xE99aejH|_pE()jTk=dh+5As)6-$JpNPOwH8?Q=>H ztc4K}{GR_s`+ygDk;S2S!a~&Nhd5{x(g*F}1^cQH?MvX-A3IF=;;_C?IHSHe{H`B! z7k^(b?8|&T-K9F{`!=}Wt?Ey|?|^&6HY@r*%lk@Xi+V-hXZh0zs((bhA533vnmUeJ zjHEA54lAl~n_8T}FTL_Ly%_j4d76?eO4_KY#c==9v@hYxljHEZ@%;_tk{tM@ zFWQkyteM-T{kjmo1bF`|k@dMiEH%UV_48lEQs6f@21b`!;q%@KGw`L*|F32G0(z-C zL4Q>s%8QUo{p|TSDaxX8+HOwg>*-w$@ud;?p7o|R%+ff_)3fKPrIGZ{pW;EI$z`zr ziyK`fmjS=H=@kz7c$rY?`hZ%-&i@Re`0OsdTo3J`=HV=+6LGcT#BwLRhy3sde7PIO zoqQkk^!~d3?~==b-&7_azC4_R--}Z83M2>ns|IMVRH9bc;2g?Y6J6mD{NzJt5G#P6 z7x98R_zItqR}sO3wW>{xyicud} zh4_46?UTXO2av!1yC7iZ_cf|sP0eB=Gop?uB<^oLd3T30h=xRT_7wpx8!=&QZs%B$PVl|vQ$s#K>hFSysykOt8qSn|1T{^5jvBnAe z{MA$F8n8rUiLQym`rP?|_y~dZ{Y*)-sQB>= z&f1kq9rF=lhTrG@5dX*wpa1V!AN|My{qprjnnjV}_vlA%Xh*$~#77>;H@t$=vGR{- z){X_s5-iHjts*}P0{)Bw$`LU&f%*vcTkU)c^HD@-PjY*CU0vfk>9+}f`pZ{IzZ2RS z?ZfyXzI1s>-0y+*9=4-?pWw&W&n?PCt?0G-^z}u%_u^~e`Ab`)5V;okO}^~M!>$RF#2%=*K=NpIMRm*bn1zJRD^aEAW*5I2-m;_`Sc6!_aTdkC7ioggBDpd8tnj zL6;G0h)>MGJMS6FqOn+A`V$!cOrrR10`Up(qZ3D=pZJA%n(rLMCqY4%m0d`G5`lB; zTo2-tIE-6~CFG|FiziVQb)8ypdM3W)a`A;__@}_HuG1Ceu={-uwYA%$pZcL)qkfHk z3i&6C{6@LxXTYniTQB;V9`;j5Ba%hqJP*OzRq-SAXEs(}!>~Hi{UQFDGkt#;`;4JJ z^C$3BDu{j-1pWFjlEdT%BE1NR;)9+j^)4H1YMU6 z>-5EB@+EGhSQH~Tu`V0FN3}Z}Ul#{Iye|GZ0`|7MqMt*l=4S`P`lS<9uTJRaIq;_Q zPqynHScuOf>EmnrS0%nMr!UukcbopgnfiC4l74FD3t#$r$?Y(_I7fXE7k(!$xjeVJ zq*xPTJ^b#d%4H(f1HbAX8D&w|LKa=`Pd`sIb7oQN;8U zLqE4|O>Kt$*R>snzQhHu^lT1geS4vsgRsBv{gq%5o45eo4E#F6%J~}~-6l4NQ}f~5 z`)^UTJ%VQgFRH8&Wl?|sFpa#B~E6+>JSMVhk+{U4-{|kHz0^_-VF|);*8kdicJv32UJVLp# zkC)ow7j)h)9V!F$h^@e**iAB9^)OC>)i|q5o7Q2r0N z9`v=l^h_RNn_rlxe1UxJHgsE9h>JZRk8X<#I`5Z^ib5p5-3I&QTi=i@@}k}EX12Rw zeT{vG;P7lSV!H?Q@Z0!yzu?FFE9-5KZU=s>$vm7zQ{^fYi|Wyx@vo3n|JU`R_o80` zuWEgB;wuN-n^xkSuARRXboe}=QDgcmC;a`*jbY4JKJe=~g}9aMhYRio&~`U`&Q2?1dH1DL-;PpU)OUm%GqO!iJfuik4FrYgS~!Da+f1DKF_CY z=%;q&z;7(uCb|pi%P={;D-7$b@D>r>|EovsioksO{0zR^1MfqQG+=h?VVs8bAlP!rwEF1oY-oSWbDW)Tr*W^3*$wr0 z5&v?N*@Fn{m$xUQ%+`qB14FS&p|>x2f8)OM@34#9)K&x`41 zH8kh|o|}H=CGO^QzC0Nv{&(?UHq6sUWk?of;iq&k47hd#5sW}yn|@?iJ)LM*Hp0KL z3gw#TEvauDu%A|07ySnE=S8CKKz!qY^;WPl&7%173E~?+_<45IEM^kTZ|4J8E)^Q(k0C)yp^^Vpu_Xe z;l=bp;O9m5-ZAo^S-vHrv zPJYG!g?lz%Pqud`dB`g8m||s^LylBG-e1yY8F9!b_`kM)KZZO6`SYTzdWJa^f$_@z z20avqb<^r8aVR3JUsKca__vV1!atAxHi4h7ukdyuzlHquW3Dsby5aNVF-z!g6Yd`} z`El}Fzre@W(|X!7--c7|e7Whz&dgzb`f{{MOZ>0{#`Ve8D2tgyAsc}o&W8E8xFB&D z`rmY59dkGg>*wHgK;eF5TyT;&f(Y^SWtHd=vlNkAKcSCUApd906YC zX&rL}@;CHSMvu6KdVG5%t3%|G9P$_S+d>`zew6Hhvxr6elSd*DXa7C)NMiqwokJf5 zK5?_w^iiu2Up1ive$*l8JYObMZtF}O4Z``|pcr)&`T-e8kVkibLKX>2iZQ8DV)oAy39x zo&_AD$F7pB-7tAL!ywRad7niYEA-=CC(gio0ONrY6a&22r&B4$3G?Ylmnh?g?;AY3 zKrL*#1A5JNfpiF;@$EW}YX9#4nj!gCW^VK{S2&-Py@ z>J;!Ni&PY*PQmkrG5#@m$|;meUOtYd;;&>lfnWXkE<6mMKPd8Fp~G?LpBtiRIFiaM+xtHGofXFWq#k9F7g04Y z@tqUyaVNi~zjMOpBHeo6-?@cy-Y*#?Bjn_F;mm%rHd3cO>DwhIE6}H5-&HMdNuGx9 zA!DC@Nu7=e{>s&-@iPeA$69nG&cMA}+hG|XoX;?BXRLx>I{sw4;+^xv8ULHt!^$j1 z&jN2c(VokPo^=T2nlI+iXWddnGwEXVtfw}jt!F0A`r!GfO@KKI{EFGziL=?TE-J;q zPuLgav#SwjA%DpSE9tXw_+4mfBd5#P)MHq?;#&&;!3@94wcrwzL%&Fdkw4hjd-x*` zH7lAiKR7{G^>}Gljp0x1s{E~{z$shc%{s;A;SVXI}qJDtyC8Kp$aDHfmO0Tfh zOKdupL;c+U;cR{5SNRAQO_du_=gg4rrVVyrw3dX%^)j4wL7B-&EyY^1LI}pXV`kt;U>Z+ugM(&SI8m8+zU+ zoPWGuCX|g@NL~QmbRzn`9C5)ZlP=+rj&5$6Ss61o)W6NZFGK#xBAyR+8_c8Ub(zb+uM&9(7O|=aiOWvGU-Cgw@-pxvJ$6x- z{qQ;BjW3DIz>nZfaXNmm@;GWWG$g$+M1%0Iz7iIT~@N#?iL3QV~D2*LWU} zWW#*HrDz2B(V(2eEL9#V5=@I&p9 zimV`6N?@Er(jb4d>f1`)Y71;lc%NtWy5y;1|BYGA1#ap*=s4O%kdexjz zKkx~D)uBWbEgCXcop7E!>PugRb462fGkq2KQS)i^suS>nle+4Fd0g%SeHHkPt&7uF zeX##rEd~BUJNb4cqp9H({F+(#dw1!tN9k)eSO;qd0K#)*tD5vR;CWM#N@ft(!f+l2 zgUmJP2V<$a9BOyhL4QHu_kK1$C4SMf?`LLFznH;~@zAXPeQNsa!?iOMg-cG^*+I( zsZ}SM^*6QJ$RQtxM{(PS)J+(7nWYJR(*g7AmnS%jvVfPl3HKlL=KCb8>*zC_U6);f zVfAE@)SFJ+45!+Y{dir|XCHaX3gh#W9c2-{RE)j_adp4`0J?CWQXYAV-||3vzGz0> z^1=P5-V)*#|P=)fh>TM>x6csqG34DpnwNY>w2elUH@ zpZ@)lcG5KFHt=ibeoNnWNP*`w; z|I^rMIsKc5oj;>q;>>R;R?jjXCV$IjpX+ZgPwH}zyA$ix^^Vn z)rX?d-~H+NlKn+9KaEC_Mz77L*7fM9S*VW&+Tl@{|Gbzy*;Ldil=Jr7qM`9EItuS! zc+t<9&%_WRo_KwPh?$jq@oSVJ%jlQ`_L1XZA_n`vc70_g<_7(QHOlJgL=?@-#Deg> zf(74^u^>B6*J&2tRK)FK)E(g0EbouA$O|@U1%1aO=)CZ0#^5_g>@L@{{)eb>q6H6zL* zFVcK7nY(^LmsvUycZ0AWIR`{plqsLncO!7G|MWS27skcZx*L5DN$_8+MDLjeosTQK zcO!bwQG{1tqiT3<^qvRCCEr;Nk<%}Tdwy1rzO?6;QCxY=<53pTZ_Cj4BCyW4xruv_ zzhv7ToJHlJX4HK>x5lFPdt&K4coWgoc zE=Q|PqaFaSa*&65kexZ6uHtd@Av}NSpV*0q(2h)^k~r~)PT0@Q2K*u1zmyx=Fb_R2 zznWg79zx!RCi~EbaPFiNlf@o=7)j5gyYVggM-J;hT|CwL1H>P|uRGcmWf7Se!T<0B zPLcq^`KP?V{1JqCH@Y0b*cvbC#(MR#r{f_7Pze3sdD(IiU&x>vl zM*XEvZHHmORq`(zJV#XM!~EqC{P}w5(1pZbp3MEl`zNCwT}D4fgnNg4dSmLbIhBX6 zryMk%dhCRLi^oY8lf~fQ8GQ`nj!ylCc$^LUlciqtF^s>d>1OJ&AJDF5Sj6b+ETx`UQ{yN5=^s3eK7ssA<4V#jCX1<+mwp2Lych-sh$j(27gzX{e2Tz%HmD5x zR1fQD^&R>ttVdq7>pL?~ZGt~<=h3w27WLEvdA&ah5I&D9$}>Jg4HEI-lm^J{`yK9@P~b6b1CMz6~31sC-LVt@ISv0Wl?#fF#g;L{uMWq z&)uwl34-&V(E@+&gYp^2X%@9x&r{ER#Sz1wT_6thPnp{I^Dw+mJD^3M1D`@RhvHB% zgwth@z9wGi;d?2@rwnH=zKXNUi_Ah_0I#C1iu2di8Ns}OeloQd(=QNqULB-fcwj!Q zP*N{g-h_SIJ>I|NqLa*z_GH zg8cujNOnE5i_LH@-u4Apl&EUD#5UN!o6YsIy4t@eBzC|#{&~?DtD9Pn53uELDvHYm zFmW8_)fZ1=5@h)6>IT>8n8YlsW6^{f774`HUMXs4krzqbc>#$VzIWtlZkKojJ71m& zC0n{#B*1UHP$C9ztq^139(F0rD@nzJE~%Ndx8>}79BGr;At~f-xYIEvbqej{%hREF zj02Mf;XVDBD=ujm=IQF0UKS0_cXKE^S0@HkE@@yfFQmVAbA#Y@o#v+dh?UWgu zE(Id!nc_=USG6ddFz-COy)W_5D-3bS*T>T>CFE})m7LDEQ!`)bRUwei z#rM6c1b)6;-+Tk6vcWydIo6_bz<%32*r>PB-m5;?>xIcXt+`FrRXrKiW?l=>lEy|n~m&Rj}p;W?+2K9 zTy&GYE^S1p&*!1omp_04|GyPOIUW2V8hkFit7Ht#hH-Va@uGgfz9l)-&TovN3H;Kg z#qAgZ^Yr>N7Y5^>Ni?6<31H65dGc|x6cuAw5Z>RN8(_i0(67@U*|7wE-j7FF)|i0K zocn%|zEi`c^T4?2>tQ+{tiRvgA)O!oA2#D6PFL03YS9HD-lShFI^fr}nIF(ag!XH0 z-i+xH_`Kle6N?`HSCM29{Wi<4x54*wCyN4lTl#h>n}|Ys;Qzl8X}>cTgCjM*XzTHi z0rJO8Yh5fRi@HWAWMK3EhoU%8+G6~h`zJc}%a}0-UYWd|-Ixvg$n-;)5%|#oH!&mh zf3nCM77v*auun2sOmP3x&DdgRb;-WN0h1N>%lS`SCR=JfY)|))$qnOfyJj(Y*!!r+ zW%9v1pD-z8^22^K!fQ8W!@lu+yqzsq;IlDPScs#-T4JWS91%4b639Yyh}ij#H%kxg zoU9F);==q$Zm(hZkKQaNw9Bbh4yKvJFz^FUpmp%Z4=59lp_*UY{?T&@2C3et}CxTwOm~ACoC__ z|8!zlP}r51tEOG`6BT91?P(e^2OnITK3lWvUYT7b1Yw6 z@Xy4Xu3WYBJ$ru0U)^Y~m&G>~?O%kYfEniTJ~_tXYgx58RKNlGi3i3CI1}uz9I$1- zcnkR8+$?h5Qox^nyk5u4@DDB8C{)mz%7aX*Xer3@S24Q^x?!BpEDsd)KzlE(4-^D` zJ<}d52>hZY1p)=LVf}BZ%Ax-BWzKGN4)PZCv*%HRmpGyV*x7vF!U_g+;7ij^>7yl~ zLcpIQjc$Yr`Gs|!|K@Y7mV3;V8|=?4#e<-i*9TaCUQ}znf#UH5UC}C5LjUjo9+{8Nqjvv*Pzm7Y#W-aP zRw4rP@#}ek5()gKzWrP!^>8k3GHee+q!g%RA zPPCUoa$ld1!=rJ^39M8Czoy(5fl_{ z2@3m8CjNBgT8BGO)&cJihl;SW&h+gw_U+~^n~=Y8D)lM^4YL|94N=3I=TrfABO#VadB7q zAd3?@G`*;1XX~dEU7^#V3b5bkid5zh=`a(k;7sqIE)H+kwms&m0PD~2P64b!9NIml zE>;l{;>lV+@m4eoI$w`RZATwgF&F&O>xDxVVg4!itFemE51B;2v|H#ceP%y}$rO4k z7yRk?#NLV6TM^jj_HBv11^NGLIo8mE!~QRxlOGV~MZWVE+z0EV)dd&shkf=eVP|zs zxu5KKwj9x3z2{|hbap8_4(k%T(9DGg;ko!qfJ0fQ<1ULC?vd8)fCb41^Qr@8vB5d~ z%OJ1C0rtu-z%J}(ncA-$yc)AWd}Ms7fF&&CtKKmHv&02GB~IxY-bz+DXN&H4RRVr# zp9|hfz^^D)JjUwU*i=dyeQ?3H|}ag|m7a8*jU|D^D} zp}}a%7qGfhd5qKIE~{U#8>{z@S)rfN-@mb2!?5nYI&R_c(B7CeF8HORmtH>*s0{gP zo;?XwcBJ~N-xI|u!}zP;Guc^uQ;|;n$zBDMy=TXx83rp1;;`8M^%Gb@ss`^snD0e)@ssg{Zvp>e7 z?&Q5t)vyE+nSO~?jl;T`)iG8L_$5QV>tFntXe|98VUSwY^#-^Z!T0 z=k*$UPsOS`U>&|&BUat1LiBZK1gg7*_|o6MvRC&(9(TR=>V9E7)Ve&e>X5g=e#OqB zd~oAX^$5h-c+k$G%&u|OK!i9F-xXI4GqiK+tw0U47BSTx9IIgy%2j7S$7(nQoo}D& z?E&5zz^_;>!fN;-e$Qc`!+w)@k*fym!~b82=yXL(P3V7KB!eke%^>8xsFQ`oWKp~O z#%dujFZ&#J)zU+M3^?qqWrqIRUk0mXhX3zwRwt|$%s;7QsJ)g0*5RR&v06?zcXxac zs^tbhWHZL1rp8=vEgy?(LM;AQqG)@=QXAGAT4IT}wk`K@<^8(bYiGmr&v09yb`Z|N z;S)Jjy|+44I|%EbXH@!tUJ+p_p-XlbCtui^?z9us2dhON0(2|8>$QIKa=Q- zAG6f634Xe|U0wB@@c(FjeA`~n4Zqu3cSWe46YfX9XzcZTI{5z}hlT3pkUwVqGgdDQ z{r;kzrCvnnuT1=z%1sCRWA#1IzP+pL_2K*Pq6=k0^?k7K##_beXTv^scZ#=u5Z=G5 z-g4Cke$Cplf%@?GIJp&VrCte#O@W?*vAG4X^UOIUZW;3VqsYYH2*_?16LB8?Y z+(JEhXNcp2bEfGxE*6tTa^`Zt7EZN`_Mfmf0)FYO8Lme9)N($K*3&!G$N}X&N?IBL zKhl$UiM+!rH2vuhHS)vy$lJ@+C~@DdGc48!_!VcDVT~f`d6L2*$ctlGW1G+qlEcff z#w>p>MSA7~OXDEyzq8BOS>#2De2z7a!+c!+#L@&2?9!!TZxgei^Zsv&`qJOqn`8^m z;mFAg_9l?Oc-}~iMd^TI78X^(unwow1IJ?S6PUZ=3;2+WKA`#4N0PElnmXWN@Q zbBOzA7guwi2oc?{%Axkm^+0o9T|^~&;%y#;b=K5mZyttvMJi&=6Y`hNDQ|B9{Jdyp z?y$5l3%cRL4Xj1N{Nw$S5uMN})&lr5%A`V;776^B{Ed@CSW8#qL z1s(N0*2w>2X8=@;F%v^J-oUuf}muGUV$U$LdK zt2OXzZ{eZV(Eq6Zc#K8W*ctZLz;D`cEzsHn-yg7q?XAP0kEj!4FrD0I%h5yG_O^bQ@3S{>X!`I{h}GXz^k2@j5LSWrP3!ai3eA%k z5rpwrYYh<4@A`VnF(R1SucEeQyFG{e`8cK%$1%GD_RR^SV|K`2I;oJ0#bnV}S{JbU zVH_?ju-LOzTJ>=A)qF`VR3pwEbpHn|_dmT3Dza1}P4hPg5+tcoF!}}1?P>j?02E0Pi_(EPs zHmr+wC%ldz@YX78aR5KsVxFDFe=3q0)$Hw^5O3iWdwbwd7E!J4miB(&IZ1d~RF`@u z&>r#;t?ln^54@VY3qVhO4=Mk(kG+FFH69;dF{@ahgF`46)uJpNfM4QJS~_^3Un*R) zvzS&a>#+{NFMo(|XefHa(jk(I`F*omtfP(Xzo3Oh`SqGfNlX z|ED7Em*3t6`d!?wDTk*2$-Q0t@V>XwLsyr-dH}I{Uk~M-Z_0NA@1!)cE36ePTTkpSpC$}6Zm;Sr)_fe%prfQ)R92X9QgTqnGn6)CD6+OJe5mhy__&kg+KQ80)FkC zlQCA;-nkKA5&LDZx0eV0j^N7ApxLABGmNi%(;Me+|+WSOczRpL>cUn!Y{o-&=tlb&wkHGtN+jAFdH#I86As?Sd zb=B#i{tkH0_W5ORe+Qg<S9s-^8$=TUewJ_2KomD9c>l0 z^p6O-+PxARfWSWV%Xyg`fLriWM)!mU z_~0BqS~fJm5B4hUu>p|3slrkY`TChqf4Wj^pjntNhP|^w18u4ACHOe<;e)V&(EqPx zW&_ti;8(6H85juXE-(5u!@UE;Fpn+cyaOXbyZLe+W$k7K20{L&MzvflqH8<32HD_# zd|hc7WK+QJ)XMCGoI-uW?33O>9^pRE$9ZGS&Sx2{7viF`aQk4ZpucgvR~0nGF3aE` zvbz1895ZMLp*=ePRm?u2=F6qEH5!lBGQlQxrQd> zFY40IH8cl)<%ub=p$Yw;CR~bH`s89@Xc*S_aB*yCuqmYSUp*kr>De*0l)I}g%FF_yX`O*O*;m-hQ(o@8#K={T%TG`y>eA(xDEWf z9Jdd5q?Vh;JPZtn`LDVArDeDe{Mzmb4fhLvih6?s!{Pg{`qDK4Vc(eJ^bU`}=gQZ1 z1%|V{4?e?2AYeZ~7ZBEOjSBV=&<<1W-CVip{s$J;j`{9mBNF&c`fO~3Ti{8~m)A|T zzYmN6-rS0!LR~v)PW9L723Sbompf*8NoQ&~A7B1pEJpfaAN#T%hrC@ozNCu`L;vr5 z5+Wn%>+1)SUYA)|4|4lai_0eXn`-|WaOJ?SX|U4kO88tsG_JPSl`Yic+o4%n*Wyax zmsXbrM#BED>ozPj63$&+_dE8H>^b~OxM#17AAPg!hNszVzj)eG<$a zhH}di%pGCp-8~Mm0%U--8^7$&>BeKQ8O8D^OO4jC(a`^yL^`B@Y_vnDZ>m!zFxt)LF%KK<0sQrheKeeZ(l$jc zqk$jme%U)Zo5cqhi~2j4LZgFl5C6GsXmkYDTZ8-9=&&%)cz#({b?+E6%+nkFLu0JM zxq>cT=p6&+KQGcYHp>{`Pbcbb4%ZmqHMBQ-#{jQp4DA{dPW4x2*Km!6{53Bc1Ii&E zA2t^FwacHx##$AK`iI|LV`2WObnURQ4zRBvu(4KnPjowvcP#7+yqK!|6&veIjn9`S zBlaQV9UITRzkJUbY#i|OBJF(#8|Q}pEZE;Z&Lh}$BNhe5`C%WMbsLZ!pUc=d$RGJM zuYFt?=GpAIoSl!8TU4!Y?-~#M=%`kfmpCZEA}`p{1A*~AxF_rxj*a)Hp0m;?Hv;2< zpBKgMD)#YlSif7P_6Z2!wo@2~+snMdcCT>UD_qSXV(E!ZaI(*H1w$NO_zF-B^KO`B zf(P;)+8xT_^OTjN0~0*(I~o%yY(h4)duAu^gdptWo3`2~_+frEZxomS{J9lrn`M@X z4&a?J$37AGc`?lW-9FI+^I>F9??kx&O4d$yO@#Ql6}f94HVJ`tshh?o>4kcxVJiD1 zm}iE{okNpskk5(*_DR6ciwgU|JIO8Rrb`zClYDUhJzFI-$uG=H-ajoK@_HvD5a-*o zFY!CCeKNZroS6s+_A~1^6pJ3b#H?0cwp_ZgB&SO^IyjWKkcTFF!2in`*ks6GR{5%z zMOA}~fyvNL)!4n9pX8&;vB?qG7doA?Pd3BfSMFsXo*aHJ?7aXRSASx(Yl>Nk7?wBp zPKLaV^*-b5Sb0xi3gmBWVvBL@tE9uGKwRmO|A)Buj&q{=-p41K-ezW#1r!8BQ>0{; zA|O&iQxV8SM4F;OiXxCKB8t?|dnQzALg+mcx&lJzJrjC|PzA(H0O<<9b7vVQuY|b3 z+t2rR{(1J?d+vG8xpUi0CfWY3UcjsGyv*Lqqrnu@%&uO*E1%mZ&?^X^dvmS4y@D{l z{@88pWm90XDm$#bfL|1I>t2E07(B<-EsFI{*muNwRma|VZ;0c+7UQ&9c<;Crhw88U zcpp;I)A3~vvD*7M^R`RZUiD2EyiXK8-x&ZX`N>ih@b(4%EY(lezR&0f+1=W)z7Du< zgWd}FbrgN-Ui|Ms4} zAMmFWeUpxXem-;`Tnq2#m-e%aKnJ{E2K?k*4T|5u`X{GqEqJbz9n8N0jT{d3?PuzR!}p=$g^SAXDF zHe4R-?+1NCK0(juH{RPH@>i*Tj`a_L{hf+@~Yy=)x-yz-5eyaPO7|L1=D04H2uJ`f(@hxZ*b z%K$HomzuPFfCcbo3m5V$ikhB_4*>pTQ4E+97zp-xi7wx~z(C;FeW}F}X7QqHs~4SUcY&EV318}r&;?2KFA4qFCG;e1iXqq1-ye2 zet%!&O-566i*-;$I?t$o4a5e;CBIMYjXPa~Em9sC=ZA#{L;ve4{A?c#acGJU#s?$* z(;EVVf#29`0FKI&C3EHZ@Zcc$>5&x}9D?!SpNLR;2jF-a z=`SmI{kpLc!Mxk!7yE=q0^jpW#*WRgk@lhVQFF2~Oj{<)4NYXXR|BQTQ;_gdh5 z(0RRpT1_zEwZXXPzQXQx7%@ZRPPo?z>%~`wA6XWk}%Z za>m6xV;xri*3`~G{^~9r!wm2fK|PLiT{PliJkQ9F4_O(=KVw@90aZg^^D+@whmJIh zF(H`uGwWE9p7~*00d-$q5BT8ugR-Ix_gTQMQ*FC18}@zbklhFKkEk@>iqL$ux66lk z^NkPqawJ~E=MJmS2kUZ!elee4Di_noSGKqNfbV~nVsGJNoZyFQ>m8H8|Dt~7UzG`u ziKoV+thV1Z7V^i=vG%dqFuvX`Y!&n;1X^V~@7RR-N0yG`V?C*U#CS9}_Ql4A($^E7 z+xBr-`g+k%I+Rt~VjTzHdsOcG)H}`x`{Tmx-f@072VPZ&#|7a!5B)(v`CW5tTtp|i zDcRmT4&~o)Vho|aS4Dh03FAS%(}i@h-e<1y*{N}5PFd+1pOC+1>QQ_=0)_0)UK~)pAdra`tYG^0_=auk|95BoruBn zHMp(_mG$PkCR!k$qQBV@X5PDPooLIO&$xF}U?M#KGp+jDKJgj-An$M`JTU_O+JLN$Wcjm=aCzN9-Td+8g-PY{@Q5^NW4zzwnFgo)=Xf zH9j>i`A^qQzh*H$%?A7X76>>IYd@2&J|+4x$i*lj7X}z zSZ}H^-|i=&{?qrp{)GNlj0#%)wp4#&yZ_gyJ$EBK6ZQLVJp%|eQ-8!~dZ0hn%(Tw* zrO!`{)2KfYm>C7TgDdcvad@sB(Z^=N|6hJ#v6jSV<-oo&{Z@Du@EiWv6`lqB@|9%+ zv;3g1Z5|Ww`Zl55_{|$QvNJCDLqL2%f9tFeJojAi*el?|{<-+~X)9`HnsU!I8-w+v zYe#%GjDO?dk=EI8-Zb5-VV@O(^{hq>`)uGh>Zb>0gWs1GLvXWo4)7S3=>^0M<}lK6 zL(^Quy)Hqw=F6?ORu@q1IO?4P{P>7Yu{pp`%>F~LC+57Gi}QYRp?1Ur%!?3fUCufu z0`|4r+vh|9M;XHii3c`2s?V%j6Q2WlW^5l9o@;@8^{WGOEvURh43%fro#R57Eb<0z z>~lTEG2)%E*14Y4^Eh!QUtn$s&aHmhH8-Sy-&H#on;Xr*vdSq0#5E)FdB874qwjcu6y{|Taki7jtctHr}pWkR- z2>f#UQu{(u@=IuLxE5x^{Q9&pzR(8v@lg9hhg2`}=uVgMF7%*zaxu2h2kQZUIJ^+< z{|wc)Tam7xJr7?9JlMOtV+$jx?e%{Yz!xF@nl14~B;fZS2q^l0QB)mUYhUD-cr-VR z_C+Dc+c^zi^bCHj;YMIFmO5_J@v2FbmE3?Ep-tRwZhlM}wNv(W$Pge>=loee!dPqLqkbL+!Fo8(_s>uNaYgmvOV zA1gw9&>cJo*F*l}A#V__zr5?ZSkMpSsT$}Im$pD%S1<(QW6mW!7=ij(SRfdM=WR_- z#DWQN$+Ew3EhFI^KYPCwp}g6M@Um=b_a>(;}#eAfqYk4%) zzj4ba_7%XNELuZ%`wCln|7PPz?+TC9&eZCfb%h`1;kEnT6+x+7^sD=rvabOC%yxeJ z3ON5Hi)Pq|-jx>E?{*E2t;|knU*SD`r32R2j9#vl&V=$O4sfmP1b^-^1sv91E%yhNe$cvnIG zsPdmsz;E2M*}fY3L36aFb#*X(JerlO?W^OkemL3%);uHs zWFEsDU0{tPy+6gE?)Ei^e^Xcc8h?7bWWS=W$*2?lg@paOkv#T`=*bYC)G|d zOXvLs_!SH5x)AC!u;M-z>6@Q7?sxoYcaSEO&Yn@0)J+w#xA6rCk?S9{i)pTkFRwk=ua!2 z{fB<#weZ>mUe(QS@wE}Dea7kf-nDUQ92>*mTGu7=J=<;GrNxx^I_U4rBi_Ke1b(rh zdhvtsx+q+a=x>2_aVZ|L{)Mr6>DYRYX) zzhSBC(9`;*3-RA<>F=LKJJa1|_TPLGpI9!U{MJMJZ@@4Aiw_HUcXzJ-z$KspE8+bu z0`G6hd@h8lnHQ}aNEjFS#<@0NfUFG4pFj=&^2jPw2SF5*pH#!u6GThfg~b z4v`7%pEy!{Hz^RZ!TX7i$^=4=)OwLmJ8W7ke^8gyjw9Tu5|4c=Z^)pI^cZP_9nj7nHtyAcE<1RTm6vt>HdK595Aay zY-=!Y|9Ic)_HB^ADCW-?@3w64bHicXW`l8CXAZs%@%Jc#Z);NkQBHPgByDDfGpRK<5B@EZ*UygT6ktmY-^ z-X8~cLjP;(7`;1zKcho+@6LqlFR%Qucc%y5uW8yKu+suP9^NUiD_e?RXK7;J<&bpM&9?Zi97)%y2Y7e+ zVEq}oKeo#c<0ZSiYZt^J3Zd^8*cE~24h^fsc15Lf{fdZnH}>B@-_$ty@a`bIe`)&F zyBqQ+j}i9W5ox~{<9cp9vedc<<$tuOfXXty*d8aGr$+R)?}2{6?=dli=KSNmf?bkh z1^sty59FUL^57$U?{kblZOb$Ey}++GHI5;CD%;P-_QLlLMNv4q$M!=1D?4X<5vp!Z z$M*&iZWd5q=A3euW1@^*zAc}fZReT=_&uxz7x9=kp{EG%pQ0pK9`?D zmm}Gc!N;+EzV!X8e6xprUj)W+(ULKQqUfotKp2yBu{;@7H{nGpN2;A}=NtAgjDJnP z!rrhC@_w_6Jq&s4-}wX&2jQH6e;YvMc?sV5go`6n?PRaccX2i}@5Y8X*oV`J_GH@_ zm%x+JuXBKd@u$dH?BYV;H&YSgBJiB#^H01SjDOWl9_QkzeChlvIBE8nFX@X?@A$ zdwCDQ{MX(Jh7Uv}JFN9a>w$QJ{*)m157o`N_`&S-^`g0U*B|zSz^@wH+I7$e<89a_ z`#~T4KH;1h_JcvVA6zjvjOt~7HEIa1r{ZTVt{ zJUFJVRL^zD2jjlu7}p_K4~&YBpd5JbSFj#}{AKsg3TRYxhI+7@zZ*XkhjEK3O?p{>){+YR~=blJq+zdQBS~Qhy9W+mZw8a zsR`aAm}H+ZF~@tv0^i5{HfTL!k*;HMd)3XA_z~dGQ_jx{9|^&D_aE{iOcuqtHi4tS zuj}5?h46XBq{;Rk%}IS8rq%BcABE5VOkJ0GkNUxHrB7o=q5q8|7Q2oY4 zW6`yQ;R*h*z2er>B*x1Np3x1f$^x>6hoL<>?hX==m**K zxq%aoRQu%i>h@j3C!WEdY?q>U8yGlA!u2XzB6bpZQ^dLwKZ*Fu&lb?&DCI&rZr&3+ znFGHsQF547s84B_TcA2p&3iHe?YsRLI2i@3kQqA}Pvz0J?uDOv2EY8&hQKM{lkHj) zIOT-rw^P5wk^Z7$zNQSELi}kYbGjyW`d{W#w!|kU%u>Mt!22T6Z`%P~5qPqNQ z`|ugaSH82F{frZ^UP1g!4)p)*>0YE`(M$Ll;FoXPXFcOb=bd4KZn)6Nj&$IEMKN-hC&(056%zHK)&Mkkp^qzHq z{oz~Qv(R4Ku|Zg{+qXM>)&uM5-F1L+EGsK4@Qe8=BR>1t5L~y)b?j#mUpiU;SvZ=w z&xv*=|FlPK5MTX=v8XNmdT3gAz#H|!dc6J%0mbG-uj_#*@awjA!lVDfZ#34hpCeP_ zQ~cB_e9k7#XJf;U1LvHQoyj`gdd?&1B5w+o&&JO^gFoX!vDkU&cTtp$-uIrjz&UO} z4;*1SAy)3Np3l)^`XW8T=M(rdSI>=|_e=g#+ArK4J0FGX!MO!A_YGMuVAAmhx|1Y;sT}+Jt>gS?h?2{!h61JhquE zw)GkYan0&xy+*<~+;=N*EgQyj)=m302b?zsw*-{@D$nJ2UGuVYOFYk<9x24vbYM-@V&w=?mzCif8 zM}?WE{O-N(f%j~tngmSe@4qV7_uAn76ZmzuUEV*T|1%s5Tz~pff4h@ChVrkd z#bYG&$0xKsMoOPIXeJ!+#-5RXUVdM+US{kO=7B$*WW7elcn6#--W`GSPWYbUYo!86 z&$zVH%6s5B>vcz%NBw{A5svUhMX~N5Zyfj)>kB@?YEQ7$6YTW_rwNEvVDWek*#CAm zw|v8>T-;dU2_DYHP)`As>IZln`cZRXUN|0s^GdBhV)3{JGhicPNH<&#hU3|=KVcPJ z@i?HeM?gT;)LdQtoq*coP4OF$KX!k<_eKubZ66c60e-cu-uB+`fquQP75OvX>Ld77 z6E6FW5X|3QbG^tP(Gc=*!an)hgBY?m9cXEdTc96%=cbJuDsE~d(#Pdf4#_#bVb*tv6~)iHw7#Pcn4E% z@p^BDV4vP{$c|8^>x$ou!uNFDJ7YH?9_5yMx%FFX3iawL3&S`4Fs?uO$aRZ^{xbIr z-?G8yPv3P5+yXxJcZ@X`m$`EBpn$3iM*A%v_#1M`dJEdC?hlRK^27f1-94{h*S$tS zz@8^Shx>8knD8y&*O-HLYepdZWL7cirk#&yRAzpGa4WcZFvg=G{smkc2urtrwZSJe$!N(9JphF&;7@n zymy>1-aftQz2kxZyG1Ou-^qb;er@H5!m1@2|1t|R!E&DMLsBZ_Lq4A(sm%)da17(#u`Yk_;d z)bH&YR=n@M7lF@fhVBX9i^4o8Jk5G94p^ijj?k!Y7PuFI@%L>H*L@g&FDu%%`(pR~ zQha&&A@6kwKfu!4tP7S z$C%Ofhn{EnUvyZ=2>uRg@Q4aL$!JNP&Px^L-JEy~sfZyD+w-ur4tSH( z$G|T?HO%$c0?+R*8e@+wh^LYDF}m)_^4)vZ$G~s?q-x-?2lgMbQTVY>@|SEb>KVZY zfyYsJ?|lD&*yFflub-rLW26@TKY|Vreh+4C>s$<<7SQ0FCZP7wd;)U-ql(JmP^(~C25491c1F)IgtEpd#JTO_|J z_T#@~56wlyIj>D`hNhm_8 z@g>`7mmQ&%WU8HZ!@HEymRc^h*HjtAD?RD!WhakO$^?GZZw6W!O>ZyyeNn_GW6rVZk8lk}?KG9A@Ji9ut`4@k9 zr30)6_%jEpIgJn21)3+2uH80?(gZ(YuIy`)j6c|fYu+NbqV~UeKH!)d_(CVe{FCQ zp-bR5ygAve$0VNQc2D&g7brdCZ!GWyjZl<~9TcJW!1JgpuMm14j34V{M(>yEMLSu6 znzSDN|4&BIX@ovv#N?H_5&Af+BbVJ!j@F$Sw1I?mYxg7CV1f1E%`I+JuK2SwW3Wm7 z$f6BsgOh~k-|y0f9H<|*i$SO_6=n=Rup?@)26+EZ8(zX2AP&RG9*hCvGmIR=8Q^z9 zGRr;??8Ug!A<6&48M7r`(a!Xqo;NzB@r#`+${Rhc#cE9T_X*wz_dVFH$CNP$`+fbl zDPu_TqgpziHp2KzCt0PJ5x6D6f0CivIhx0vl0W>d8Vv4{^d$4Ns;=-bHy$@&neToG znA+Z4{5nHG{-kaTPuSAOqyP9DjsSj5-~9~XOZ6iLKvvyF6A>66ON+5Y6#Tx^nnAi| zx|<;}*hec_Spvp~>Q-NZw50bV`pXOThc*&q5Z0%`DvAuj{d2zoGzomlQJ)E@x;2;} z;}A#jSKVYNeSWIn2GW@}SYImd;WD8gGVfRcrROu)tW9jD2gc!Ne^Qw~xNp9H1a!2% zTqZL8aNfE#ipUJXIIQrxfa&5^ZDME>3Hw{8<^qa#WZ@pH3Hb98)vaZO3HZr%lW7z1 zzNqLgu3*i;Z@N-|He2#;pH57#$$5YG2 zxDCIX`K)ZIUfJvmBFiD^qMfXAGdjxyeE>v zsl8^&5Q%7n3$bywCAMl&5d`9O3eq!BaE+6DA z|8fJLF9_#sY_=QKV@(u9z6d;bIsPr3FADQu-$53ku3JkwKZejv3D~2sfOwl$T>fnE z_c%i5w@C4ru5_dGJ0)EVOSA6-D!&ibl_mv<{C>F4ZPHXg&Ay&=eu&HDE=A?{L%T&4 z`20~Aucl0Q{x~ZCFt=QE^aSOBZft>UcwWBZ9l8L-p~#UD2u)W;2s&22AWDi)1>yOtcDRf$_zeH5KbzA9Vf_EEqUf=eFXRBea+|qA&V)Rg)Fuj{=Z;N! z1H!u4WG*0#zm{Zf`5*7Ig@VwJf7YQ3!TpGK_eH*tANsk*S*8&5OFGFM_zm+~w)B3U z>fUzZHQ+Z5TOwe(b}G~7%xmC3^Ybhkq3rv!)NB93lkCTA-bNI*pm?2h;p`XhH|1~} zRTy~l5>>~axx#Va>3D(=@SEzCfSn$)0(P#*=i+@qmo>^DXX=Td)=Q} zZcv_PUyr1gi~XekX(3}Fm6#sxk1Q6+PX5MFw*`0;){Bqzfa8Ki~7KCZQ5NF_*La?bkQL6XU)+> z(NHRn`OXJa(KwX1I7}47VBWO22?+D3CIU{W&5A#68_XUlG~|Iyi1gb z=WQpp(>1jcB^_w}Ysi;$=H1RvOu?26rrN2e&0|VJ{@Rs?IfTzEh7m624dBm9)Qe*L z8-6%Pciq9i0sN|Of29yAW6>vIx~f`?yPGr;o=}EKHR0q^}p_QqL<-mqO3~ zpNM+ha=uhtYNu4!r`{qZU9|hZM$L-pTxkr}<5~`S>o2%0)3O zsLhskN;> zT_yzieeefe2F@|$XWw#VB4Gb#j4l(0eY#*Zs*DfztyNu^vhcpM>B?;a*_*C65>R%@ z&Xk4wE!m~-0byKd^to8BZ!WgGlZ)+(2&kA8;>za0dFXSqyKE4~zvUcL7W^5i)FR3P z5An)8!H#(4uz;#NkEn7O8vi*0pSi?H9`%R09?zh-%=P^OX1($gQN{!NqS{WBb3#9z z}mT`u}Bc4-{QDmh~ksO8gf$wU%DY(9xk8UxPAKH%_#h~`a0>x;G zgzIqY2ZD+~d}>DUpQRhaQy%m=cLqhl`l0E2m&pb@{gmB+@E#%l4n;X%6T^Lqnk*lc z4g8{LX3t}?!H+1)fydZvzod)hs-w5)Y~cUD7GGjDD%fD2JQ&2FdijCI zOa-TuhpPEPqJjtdt>V{o1vpGw>))OO~rO^AvP@~InL{*6S%9LY{Lk!C6apK|pn4x#$d&um4AgIMKH_JVxHD9rbQ0e8i?)LwL~KhTV-WRc2c3of#iY>@xu+k7S1|24`XR3)cW zpRs;8RSD*$dj3)tp(v_bpAwaV(5~+^x>8887wbhN)=wnf#-w)g8G7#R1b)%(Wl_F7 z#J&yubcDNd2zr6;S!ht8oo+YYHu#_6JHgRbkT1zs*d(@S54r}_&(^a znj^K7HQUZt^}#%9@kl_ieJ0+Bt{RfAuUMWIi`^&Qu|U5~F2cT(oqDb@m8;6VQn!sds}?xmcfq?`|QgW3bL0 zXXxrA+9z@ZT|K_HyLvXvo7xd5hwm?b?WU_cK<^(A?958PV3*?W1q<~4e(oB;FN*Tr zRdfxDq-!U>&DDVSY_tI z@kD2z=;0^&O+i;^d$Kh#^uFs7z9z&$e{blh4Lp3<+HyaYQes% ztXPh(m5{&4C!*oZKTIvB6c^cC&DZik{6$qvE#Q$ynp3qP?#%0-aj0Ar^QC-rE#Sp_ zl%Q%wrS@XIh_X6Gc^mL6{wd?OWv90j?L|~yszca--?*#}YxBeJaLzc%+JX>|Un`(e zKA*Dzf3hh4sp_tcrIsh#y{xVnV4-V=q<+x%JWkYpM*fP~Z_#x~$b0tt971`=LTsIE z(C74Kgz`BHiCo+%=<1=h+^Al4YbsI419~-G*>W*mCo07y<|pguqUu^;9RB5T*R{aDy8CN)T^s!WE^M!$i*_PrbXrH$h3l+2 z4R(Oqdmr(2eG=bOyEZfEx)JzZ$$;kWy1Tn~S zh*_w5m%!gNvZiJb0a_5E-@{%b2$KM3<| z=wPmX2-f{t7m50zqL{%vAlJUlLk`swTmPWy!@itOw7>sDyk~>+@x@j2dk%?LU%epr zUJmrfyf+0@-D*m_=Y#WC_jjrHfL|Rh$s^sEzX>3$pVlM%dm;E7vLiL$T^m}p1 zpUAIePP6Y@pkFpuVcyS9trzXmp?u;B=6!!^KIYcHa_>i8+@Hv!I6R;G!0|8b*Sbm-t9CcQ;5r^DN;OEh{`z;j@eOS7 zp74fG=m!7BFA_aL*%=q#AgIE0MfwsApubi93J?u|Usr@>kp5qZ=1m*>p-0M7_E8`9 zL&#gv@CbpBG~8l81U}{AE5wH=|3xGC52G;O4*U&z-f?7QyZDB-Y)m`tG20OG*M48n z-Ovf|{gKB2VO%$BO*QmL{N%<8bi;(}j}INlHw;Pj>GGEU)PQb8=KXvRU)6+Y1iUXQ znFAYejUa#Rw;rZZ6y{w+mTnY<=PZt61VZ(urc7hl|MC*De15v|OYn<+vx?WG8v~yx zN+ZeJG3dv>Z_{=X=IbjIZMUS)FXP9%ggt>DKjxwA9tEaoGm^3U(zg@&@M@;ZIvd7GJ&r+`;V8<`4j8}1ZgMnS|BOZl+;k4im%CrlsGO{FkD?v$zHu`-LEB)x z8TgHW`uG@@4nh6IyBrOl@00fn(5OCHw8w*#1NvXjPvjl{lD~H3Z;S)-mlZ3?I)Gmk z`TYL0!>7cw4`gnK5BhQSddA_G>h zz6l2XY*bNANWjxFqKO6O@BNx=lWd6Z`e7cGWAa8^69?L_SixQ-#BWz&ns{LRy#Eo? z1kQcBK|`n}eu+=%sYy2p!F4MCkU;pnLY`;oj}d>{^~}e%^zAagxypa+fpJlJ8u76Y z;;Vd#Mf!`1%3F|Wit4#7{oa?kijw`rk{XBTz+`F8eBw+UzheD!<8UYONgO`U zs*;cWBo6a~dXH#E7KY!YxI{N2;rV9~IU}Hj08Cw%vW!!>W;v^cmB_CfS**)Mr~bQ+dqSuTd?0aQ}ioW?T5-`npFlErNhKt0;u&By+|%z9k0l z)rAUCElJ2@p-}?fZtF&iZVQ_xi)yUn-g3u|Tp~N_@6~tleR)KHj0Q~M% z24SX!aHI0f;wu=0=2q9}R<;CwrHW}4lyq~I?rf`wq^FBBuX4O?CGJzFQ96}xU7BA>|5hvB-Gdj3G z%YnR=1BuT(5^s{(f2OKVw9EN}nm($HjXX1{oj z{?|=u!h8{db*|Z5K=_=&TZ;Z7o;R;vU66I!;Cn}F*3wRgWUp>qmUHI7{JC6_6)-lH z&&59l)H&-@PQPT2O&v)%fnRg>E|2hk6@8nzd>i0T7Ug#f=r+Jhp1tpG69kMF5>Ul- zXWIM+yvcm(sh#OBq5t*f%@jhVzdi9K@atbGCX~xoPh`IgLHW*12BE&7l@shYs(6IN z;eF6fj_Kr|(``wpKV6b)Yk_s8SySdq4}9)3sv^}E`ajd@0{is)9zNL0wuSplQ8WW? zGi@P%ZO!gPTi{iE7$w?5{@OZUa!8leD8jXkL;3c(L^}+wh1 z>9z^`gRDsjww(j^k?F5vudYID{`M+O{_pr{WtTKGktsfm14|SeyN^3 z*O2-uflrygI{#Hvs(;Zq^0HTEHFJNRz@L}>e_gNbU7G3mFZ{ZXTGJgNe?#Y6ZiM=& zzZ2hJ@VuhrI|35lw-Av0qAiQ+^Acm-Pu$;lV0;~!$bSR(fn>{L+&6w{9zJbY-f)OQ(UVL2;;j$Ev_@fkxmr9S9Ety$kTLq643?t z(}|*4X}*gM@`_ia1iX_?Bh-)mo9zPe7}x5#E;&+rd0;)&#V_gU{3e$x-`G#P$QN%X z`XO@KGA=m(l6Uq|u7Am2v{!GN$+_aGe5zi}-ENCiu4^{P?S_1H%_0Kocivyj)B zr~T|C?*?Au>0eod$)dn7bM6SNuM;m5?r3VgXs^9vqH-+K_|>bwqH=8T-bIHRY!2K9 zknKy;InMO$ML)@Cy!I!T1N_E6m|To4%f(0E2q>?%i0w+E_Yf8{T}iNe6cNhtjKC9o zARsX;n5)nJk?EQP^KPUew|rz10Tm4k5MBLHK4o8S`IN`GIQ`dLoT13YU~aj*=wjkq z49*F!E+D#+4vZ|;$NeolkIZa1lR*B>zw~2rqOW3EilRhLRO%N)hb7#%P_Me&n)%lA z;{B1_Kk0O>cMH)C`d_}XKh@0v`?vQF=)iZQy}MfuJO^6W8xY4g&eX9}iT^#PSPXvhW!1L1b)-Arf2j<85x1Qic8tM826G49!%ji3w z>mGuB**cs?Xw-Fng7*Y`Y2KuUioxH~-}_SYFwv8U?}1m8%vCFh?-Rz6Se_Ru>J=n@ za7cbcd-KCT=^r3pQQ+&A#1DQLm+-w$gvmnQyXgKQntHAw?;G4b$W(j7qpR*7w$yU{ zJC%tZIjQBze0k~S5(oJou~a__q9gTVwp4E1x|#hE@;7dt#sBDpa~pSp`tce3@-lFI#|O?g<* z)v8IksNS55n(eum^$w5Psq+~HR9SW~J%L|2b2`y8g3f=lbL)$q%f(`+1=KD->h9@* zaog!A)6)s(kug;SoitO>9-il#!vZG9|FSySEyVPSr;dY{^_Q-l+5aos8}d&lI_wXk z4+h`YT2PScgQd4i*IqVa3EKzyE#vQNZiN4}kY8s}ePR85QPDUnFnxot?lj_Pg!(Rb z1zq%GSTNk(H~!zpYqnQ+_w%RstBsA~`$eUC*|nLh2YZhEO8r559B_VB=CB?ojN|(g z2~UpXN6bq^_2`y_2l9SdQBSim{j=fuslAcAzwPDyi2SPSO1^&t*2U|uyZc9qW9s-1 zeE&G?`|WBI12D7?Z4pqkPe%PQ6+OTK>rc@y+yfwgQ4~8rWCwU){n+WG1l(mL5UM&Y zV+RBk@IAA+?0^u=XL&Pz0PvgbpScG_rS_tqypYtt%?@fD>T0TKHcOkf8@E$UGzY9Ce0`D(P+rbRWhW8b?nxLm&AGH43 z%rFn!Pp|ucLTKFQV235}E6bjA4+}y4j&}4g*vHJr)-wp7S2VwmbPtF3x)h(k!VP!8 z_4)mVplhxaVTaq`y_YNFKu5TPLMWfm-96k7c2^y_%L<~WUDcCjX}f+8=60B8H9O>>b;)s5x}1;%7ZoBBO)*! zZ&oG{{;#56P}w~a&i$I{4VaN0IJcDjPSDlXAUhKHb!7%K2t`rv*vpUn7hY5S?!+j_ zKUv5kr|3~O*vC4Qr$;$pyc9jfjreolBTFYia&V>Iveqx=Ul-eBH-Oec;J43@WD z2K^SnIP$i8>HMFwq3q5a!skrA?qYNK*MG1+KfDJ}>Mrj~$lrKlGv|vufBec7edsaS z(2oXRry>8deRy8_I(5ae5} zAwLfKUtda2kBh+jP|bI9# z$ls10ABFF$oK_O!f!{Pi$4*GdUzyd0o$vzr>%&W!2_7>ho6?h+0Q}0en*=od;dCQC zS;%cPJt3M}F4`%_-{&U+f9BPx%*5>UcA|YUYKIuPiT>1f+7^qMiILQDtkE6fCoHwx zFnPH9r|i_v3zPX?RyS5r@IS>RUfq}y>?9IC2YG)dHwp4rzW)z_Q2p3IBh+d-QIlZ3 z&FJW0CplpsZ+4TIWP|l`PEBT#NAe@aqkMRPofHH=e-C+rQ2`A{e9WZK|1i!(f+RFt zAeqU&)Hqc5DrRyB&g1zD5ePNQClQn3I%rl@6OiC~uv0K89>c+{?kSd3KTqjqMwuxI z@4r4RPx`~)xlK%g{K++M@Cfq~?N^@>Q%ULjJ$c!S_2in`{M3a0S5_NGP4(x^C$`sA zsliUe(EZP!1i};DKpxj$97oQm5vmbKPa$tY2wS%7q=a9^XrvyE@y}HwNZdwTL zkD7l&PlJ9pD>8Yc=OuX02Helt@cp#nzq=92Kl+aN*^zfUy+OhL?1%CC+5z_GAY5lE zKl?NA;jxnx(#h9$aR^0G7JZ$bj=?xBU!Fo}Y4WR|V+VSsAI`tGyh6FE&LV1N2(J5|G78nJ!*A0wqf&c(vYnZQNqRD$o?1rDvVs50 zXWg?LVAt44%yNRijXrJ`^ox9N2WFNB#?7{79Kwv2I%XE^d-5fF=vjVgTqOHVr^|l) zmYZ!!ACK5BbLJ21Z20^+V{ZX|Ht;^L=&AM8?5Jd~{Y$~j!C-xim!{{C&~Lgv6hh+u zDjJplUx}hw7kW-y@~`bvjGqggV+&rITFP0lO_jAt+N##06 zH)>u~(nY)f6;-|M^!#V=8@B3+`5`@K9yFGk4{>OZUE=2_@Dm$%5eqOW9z*XE^a2Z< z6Tj#}EJ(=T^kGYWfdkgz5)`|@DcL8-E$g#}Ti^$~=||WFLCH?LyE?rf0_)4g+r)y1 zRE|IT*u5};KiS{&>V|jAvI~6>cbTE?g}`s>cUZu@+7k_L(TiaJCx=A=rMUF*s_dd{ zST7nonME+q^*1KCk^Zt`wiVzPCFGs#M?3mQ_hJ&(uPKwb#TLjz%TbGg&%A3HhsudJ zeavD9=)3z7i(#D>#T;tEF808AEYz7nm`;eRUSe@1A7=QaB(pdQ=i5pJ`NdJmUVfHh zmw;d88!eb6z_0Sn;g-z;AwI6TdkOHrs2IwA!Yv6&?exPkm?gk(_?Tu9;(dq{+!Tn?*H?h>F!n7MoQA=&mKZn}TOJQF$4A|se3hyJ~ z&3C&|xx8HueyLw-pI5x*i__TvCiR1IXL~kaQDVx2Cy9UsuE(K#6vDhjhj-utKDbU5 zWIV#>6%u~Fk4@kwjWbx*B3<9S{Fuj{;8+j57g@az&pv}!_sdp>4W-7Tj#cN`gnrJ8 zN32)A-<}UTQ~inc$tYWWg$)9~w!u^Z71ejr!6@uAzMtGd;3xQ60w%Z1OV@6^%rDDH zjYC~4lV0YB@m01PhfwAW@XLTdFUdSOi&;*lw=Q4JD}3;KK4&c43O~eA@BLg{Tb5rDf_Y)>z^;J%{&bSz{Mx

      ppqM=T>SN#wCqMu|`y>8=I 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

      f$oXi@c|)Nb4_ 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%0A*++n`;ILqu!fPbG$aCZ@Fyt~>gT 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 literal 1048596 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�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%0D0t%V;Fyp$vde-euH{C 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 z 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 z116K
      y1*I|knUxzKk~t!A;ngTuvGt-h`v%M>pY2 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
      d(OSFrQoz)^YM3dUSJrn!Zzito*^Vk1Ul{C-y) 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 h(k%=j-GcjSJ|VuQSs@@BVCljP@J& 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

    1. MELO@qw&n(F`5asgxbD6G0QoR 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

      $5Vx^Dff4Ug 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ȯ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≊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

      F4lAGr1btv+yFuV8#!;`N_RM$PHc#+5JzGS?} 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

      M+Vo!g|^YL@t%Y^0W z;8QHV=e@w_#ZKQ3N;%i3_#QYOc`N31m4fFw40+NQgXcOCDd!3PyPS&rcR96k_rI!~ zvR-Am`eC1y)8khe?OHS-s4A+22OF=lX$;r{=N$1?m0YH4pW@$75a(?FMIGnIGp$ z*P;Ky`F3O2A1(`>yj@czfZjcY2bSRukT?8 z?oQ!*X#2YOeWpLw>+1k$x4Ax0ImOnM<90rNj_MX)mp(bQE{%3xLck8&~Dyuij(p4=486`U7yAU-xzDiiZca`E_5X-sbDnpf(t=+i`Tcgu5I({ zj*s{{^_Z_ygX%gpsE%hrb)CAhFrTmEO7LoTo6p;WDh|ru*p&qvZ|-nE1>!wK=~uD@4@-%7GI}!S^>3jx`pSwzdjeJ)gKGE)gQiI zu%p+?C#a6UL9PDqb%a}bZN7RwUZ3!Jnh~Fm0p*YD*t$*)YU6RAr#a5or?)u09s5&J zZZi2Z@8|1p>r2kN&$|7#k3;Umz0N3C)e&E(c3J_|=LhAFyylnl)iGbE-s0=dpt?>C z%Kmo+ls~R}+x`__rv}e_;rN5!H>u_msD0ng@4)#b&Rc-;H->QtpR>|7S{?Is>ZA9w zP7S%vLmZV_r*^$2@Wl9S+~;vBzV15d>(twvf1j^Y@9_DiYkVCSypG2}b^O*|Sf{md zny*u@^mXbHU#A}Pb?W1M9e0bb<6dU#t?~P;Y%@Ntzow_W-P*A*AH?w*+a(>pf$I1T zRP(LZ*QrN*o%-4Fiv?MiV4@RuR9>MzJc~y*QbJYgj?}m z;&$i%5ABN9vuIaz|5MPe=>Df`FfP@0-`ku23)>maQ?i}W_GHA{lQC}}K(#$Vd!y^w zpt_z7T-y^+ohRM0(Eez<0bb`xE8d=f#_f#GlY-|j-e<-2Wo=JD6>s<0zNZmyPe8Rj z0o8gJRNIp+-kyMJ{Q#=^6>m>K6$j;S>;i8`wmH3hKkdo9wdeYmI9p0W?Zy(0IJptAB1eCvUf0gcg+T!6WzV8WC^9fYjlWop} z>T`qgH+F-!C-dH(jCgypYCr7>YbvLhnb94E4LNaPgYf#YS}Mfd+x?!DG7S3h3f2z?UBC711x zDmhSjy+b~)<(8Kh$+yUXTAo@g50C?umlw-#wcPU55?O-KlRz%1E(OhN9C|XZk3mDK zk}G%02KoWHA=2R=(Wu`iPvS_9JpGFqayYo5_J6CU1?(U&w)r(e%0On4Afm1fEY`ACu>k z17E7;E9G@szEW<`@|E%tEng{LB2T5|r{ustl4sNM7jmHT)Os1hCY%JOu|0Ez4RR7W z@GM}ix<$?=2Wok0n>wCwXw9Dk_RWr!{orfk{3>r^SZ%-mjH8R z*pUO@OJ3b050e9Red>E8)dLP(3(N(l$wqSEY2>Xl%~kt=|?^11R7a^P!#DU2IjIDWjM z&+MmrfgC?xgz@9IDUsKsJXbwlu7N%Y8%5oXhirKROsEVCJmM{WL{ zvbcXP{=Fq^JS;PnE*Yb~f8asowJzD9+{ArnXzXTzyQq&otbWCGxAIxwM@>$?Js2^o1;@0})mYCfvf_{d4 z%(O?b)UWL|3%pDH*m~S9{c=CKF+-ewIU3`sFQJyPw$`m3_ z0=Y1{_7C{ezK(vO<2pExH@Rw;`~me$0=dkhUH`^ySg%x{T!H^4fn18|KJ9n2z$?|Rr3JZipS+rOKrXYDK6wMn-S*1# zYkjl88`Y1sBVOL>zz@XrQoqRu_%YQ@KE;aFfp^69nvDZ&#N&k49{9buy$qQ6z@NtS zTreQVz$bx!0Oqm-(mex3pji*#IpD!jvmUv^pge_kz&y~`&mO^e!*S(&j4S73 z-G|VJa;XkkgC?5@^f;aECo+3 zlH-AsKrIgz$x3pdmS-2qUUFcL_Ju`qAvsXX%Zp@+99U#|b&-_Gf$sxOXO;-2Dstp3 zgEQAJk*|UW`-6wLKHRstG)p*GVhMs!@u2?Y__##AY3#LN3I|uln*rXV`p7Zzs&SJ; z51I05>6H7RAF((CoKbr-5Rv~zxfyp4S-a_Ur~HL}7H5EMe&B6>)^0k}Da)3@&*BWQ z%@4fI&)QArJ7p*REY1Mi{J`7%tle~}Q_iNJ#Tj6mA9$OewVSSVN`ZbBXMk;f;B9`^ zZo1YfucV*F8DN_qc$=TKn+`kW?ew!a18nmHZ}YQu)6ylMpr6GVVBBvCT>AmA2D@N? zdq1FkTU>C)<9z!+ft+tY04&ye^te6?e1vh1@+c2I?9utaEbuYaIXmEZ(`$6#Acpqf zsL^NBy|R|v9A2JxV zEQOx$)Ad*=)LBc#08>9OG^$Q<;9g9x|SEbyn)kGkzQXxgPTD8EwO z_LGXW2XI3qhtOs~MFxMK8 z-;e{92ZQoQa^PQCo*k5x&<12+M4^+7qC9C$u?YfxTD4tyDTYN@=99QZC^ ze7!D2zfYbA`~~ZEj;>dyyaeUZc|c;la`i5`j^#kTKG5otw~_uRNa| z_zEDmgKjr_p5j|?H=jJu&L^M8^-guj)0hX4OC8fMZ70M_&P$iBHSHJg7k9(%rHJF} z2X6kT{kb(P)fNWCJ;HA23%~A!m>SFCZ_kkc-HHdGhKCc`Z5c-N0!Xk$Zth zEEdxvI$q8Ie*!(&uLsZvou0%)8RI`|5yuOLlZn=d9HBpsEnM7q&S3n$PqosJF=r%f37?#vxqwh>`in1N99`JB=9Zd z^-=j7IdEyf@-f*9oCKato?R&~BnMstjQ0n3KJ2#RQ_vrNfNAoF*&phi@?zj5kPAms zz20j36}j&3DRVwd?#^S_zt|7r+nrqd6Z~1u>jIxgE4>3w|M5p`PLEY_B@XBEuLxey2US5x96Q0 z*U35WdQ^3?5Xa|UnI#_xwccV0^Dz1YJ61C;8IFUYnZI!!)vG#Zb7PH5@?4VphJ0KU%UwB;S{N*aO zGspcR<{g|za{f_LoecgMmk-h($fa0Ws`JoU;9Jzr%sX>+jNh~aa>-%V^?q`leZjA^ z%+8ON$-k+eogc}N&O2v;A5)#PP_FNge1`sZ$1YZe>^yZyzNmI4Z(irVlXgJ$%MQ!k zF5odw>nI%l(7-{sPzKafkYv|Q)Ev%sIJ9cRO^t1g#^ zX$Ry|loh6b0smL+Z2wAI9r(w%URt5^!C9cJVSnW8ka1VYVsMU|%Ihnoj~qAz%(Yg^ zS>(WT$y2N31?0e&k=IwrjpRTs#c-8gpPL2V3_Uo?t97s|jLRX~0l5@w<9dB?7I>T5 zp`&8SWmn7Xv;%S}=2z==yjkFv)s9#7VAonL4cY;@6tPmgzBdc}j@psIuDnKmKsz9p zVr7lae`kRYsvT#;unX48FK7qkQp~K?dG##t4{FC*HtY&%IiBM#kPF8zJ?`1@FIP{? z%>l}RRbZ}_mQRrb?;uYF@@;b9_kqQ9VEQTWf5F{(T`s#${zyCE@$2AMT_>Z!N#I&? z+^5)24m?0!STA{U;N|4?_40ah;0@&24f0`f;HSu|o8=yIAeUlovz|xI0v~`L9Br9? z7i^JV(hjJ0nJs!=H4A)9?Rb{Ocw3}*J>yxs+7>;}ngynz2S<6<1-oFY?4ccyOEI%m z&$DKUYR9uK#@i}S)_B&gwpGu&W`UQh9nZoTZ<}1J@wSm7-ZniCn+3i_?RZwkc-!P= zjc4s@+w{C_7WfIZ<5?QxZI`cUyzQijw_VTEW`Xyq9nabrZ@c_L<5|1fc0F&K1^!O$ zcoqk{@(%eM?SNd0l^w$K%~@do2DS?s?6Ny$9DEYUrI_ET=k>F|Eo#TJeAu;i${yMQ zxfErWp6|~B&r~~}{kI>_Z-UNwZ4Suuj17-0&8<&~+;TkY?T`xN0lDM~9r96fpz`b@ z`J$F%;)jLzFTMpH;GBU=F1uKMq~*8|0n8N^%iqX>i#LLo7t0#pByb~neX(T8f#;Fq zKI!wwf#kfd%=o;n{4((1C>iWpeez1$0hMR_<$7|U@@l`li5#drH6S;W1CQu3vrA?T$+h;7oX>KvWe}|EnUD|xm%t>4!jf?Zx@}XCEDd@ zi2X48O>n%l=m+G&c8bsIc>X%Wa^RnVJdd~tLk-U(o(-H0JLG*pd$`58y+}S0n7rZm)afQj6sW;Jp9--$3@K-;o15G4$lJOJo&r61bH-)hQUNVBaYh1LN!WE##Hl z?$7KHb3Z$^NbY6+z~uU|pRiv)iE)8kiWT&C9)Ez(h8`RxgI%yhUO+n_mttm#-rt%9 zzD(_Sw+nWyC2}?GfLw~wY3_#sOKMj(cGXUKJ?(&MSL@XKW3#{;)Q)${5U zm+ke?VU5b`K_-qH2WZckO{5<+^PGqe><&Zt9<=^55B17FXxyQPD7m;iZ(v1DAeX>w zra3+ks!lttFS4`sIXwN3$`b^j_pHm*_iq7DCrKa5Uo0-ahd^g5< ze!}fL1AIXBqom=Xhs^jt8xF_}b=x0v0j@KF^E%UFOc9EuK`nn2xC}fvN^9s9s{=Pi zde}Cu{QIW)>T zUPBIi8+i-Y$;g4XlBas)v*f_9kq5YMLJs^Pc^2pGBE9{Zx0?(&_^7`>xl{2G;Ed1=hf`4^$~eXP zFHUB;ZNKFvAKN}n=>JUnM4ahxxvme9`4hRHO&wXT<4s(r|Fo>o{E2E0q~4KTq4^YX zUd#2EzYJ0i-z`gn5x}VnLFh64Qn;J3sfonNX^Qew!y~WCy=FtG& z;LXF7H&GsMZ`Z!Xn)L_1$LDX$n?RrcL}8^IqFsmUgM9GUt{6`H4d&P z(0`(}MjrFU2^WZyUTfk2HBNS|`cKr?%A%c~_Nf^=*KSe!NLu^bG*IINY4x8dr=`yq zr)2Er#i^xDK0uArGX4|UK$iRBWCFFD7pD}MI6#e4HU1N+b+XzQN7nh{WY(EDK#fx{ z{uA|eve6f(wm=+NZ{h$=`>a?0iSl~c>5Ee`cJtP&X5#=&`xyTTTt_+C7bmm9zh0#c zwtY-_N7eXG1RLdaU!3$tf1LbAv)zH3PuciSv^L5Ud~w1B;-ohj|Li99o2YJ*3w{0- zV>ho|!c96pO#?NL)MoXcC~TIe`r_m_``4$kS;xs~pvI{i|B37tdA2W3W{W>gX^R=J zfEuT2{3lYlUgV1-Tm5k|TW$X{Oyzc2R1$!zzpS82QLf2O>nYWycsJLFxyII_bZC$q!0k16jc z82^d-4!PMEr?x;G*=gHnr){5|>K{Kp{}AHw{M_A#x)}GNR^jycPdFv#eW*{MJh~5+ zN?fPOV4kb_gu>;p{^k6xOaF7%Z`^pwd2@sDfZqmkUi%|*p#FZi&@B&WdAIzW<>hWU zMh?897rfdn|3eOZl;!nq`2#udFXS!Eqsf6CyTDUDvINL^Z6A5iBZK5Xy}z05kx_Es z8kQG&Bp?TFAuspH4szgL@_LW#BL|*I-s+J9IVZBM1J9Jm{C-k^}!t zp6!>vk^}WTq0lcKCx8QcfV?j@Kn`3^-s+bza^M>B)PSrb2W}-V49HG$;9m0bfb1g& zPLNjzO} z2g!k-B(D$3?c~6_$Z`Md8|1(rl4qC7Pso8k)AAuXs^vrSsFn}OAGLf)7VU<8VMw}w zlfYr}@{o*@12>VkhGZK#a1VKESWYDe9v}~f9a@;R_4>|AVC&z;WX>#CJ^1_Jh zBnR##ua3w*a^RWdsZlvV4$P5fN996t;8V#9qw)-L;AQ0HQF$IY@Sn)5qjEJl@HOQ1 zQF%Q%@ZIFCQF#wJ@K*Bdn0$;J_!;uTn0%fb_!aW{nAFLE-z0C1$#=+s-zQJ4l>5nn zAvw-7j*tUq$jd9`f60M=ByX*hS#sdwlW4z6x`C6xA@cGn86gLz$*Zem13B;n^7<;- zLk>Kh9Oo5Ta^U&og>kuv9QYLS^0+*m9GEAsj>{A|@Cx$QxV)4ccr|%;wOm6E{AY5U zSGH zyqCPXMt)2VJVKsYD-V+ce@k9iD}N*hlBeu-{Vaal<&KN-`xU3*sMcI;uET3N?0MXb z`~4MhlJ|jnVDmHh@%sGYJ**!Wsj%eA9kPrZI1bEZ7s+;V;6CyKewR%Sd>VOqkz7s= zyqY|nE#D#s-cO$Dm1E?< zKadB#(sMF6a3zq(&t2reGsp{l@+5NLGs(++@&a<;%gC#^E=mqOsOA0gPA%`3ikA1w zr?tFazCvE_mwU*8KOrv<$S=u(zay^>$Z@AI9-d18^7t}B4os7m2W1yI@NvL+KX?{+ zvLCSjY{1+qR~NaQen2j9zbAYA-h_GAcKFr%L^LkvX1HU=`$1}ten_5crKHHXKrXq$ zaq&9{DXf@Gok!~4OL z_pMIDetfBJzYh5@{pw~v=5~nRza)3}={SB&=NHLmVSmKpObPdU!EqlY#d)|$9*lEYEWe8LG`35eXBNxS$Hn637t8uMFD;hcab8(0XT*7Jv0Pv{)5HCp z#d2w!3+}hYd3uRl73Y~H^4d7hFOeJLytG7aiSx=5`9z%8mdF?5JX|8*iF4_c2jV>4 zDZh^MOs8}_Uf18`pYN367(Z0%)a{XL;dx-_ybrJyIF;{Gy#d@u`;lYZY+-a>1D#9q zye8gn-Ux?ezv)4L_@M1KH=;b=Z?vC{+4~aNMRI`o0QLFH0>*!Gpq?L<7s*q|fqH&a zT_n#Y2kQAz9luW|2kQAzYmr<@4%G9b)MB}o9H{3<*~Rh(av;x-8t4b_01xbau4uiX z>v|6<;J&xz_CEYUBe(58HzN+);S)gK@2}u~|Hm-KH`orX<$2`57m^onf0rCs zB`>UJ;m$@9p8R|6ZkANV$)dp_l` zX(s&s0S62$$^Odos$0~5Kt4`?!SA?Fhn?NNkw0|xx7)#O=SF%^p6;`UuJ(32MfRCN zdA`pcy4nvLboM-tnua~kqpk(!T1#cy8Q{P@z+8Emgyg{gCP(6LJQEyv1CYNT+?xRh z?guvV!}4<=igk(B4>}ju&s_bD(y;t7J6YJNg4a;huJ#@8C zws$xzJAL-h)jpYzESJ-L_R!TnnNNDTT;Q{ZuJ*}%GRx&spFMQ7Pv(=y{U@J2bhS_B zQ(7+9`0SypeKMcQa(S!I9=h5m^QkSDs?Q#}+9&e~m&@%wd+2JP%tuzp*M0WT)jpX| zdWHPZXAfQN6ZuROR`~l*euW%koJ2m;&}X0%Sx%emooL~A zycy5_8!oW^R-cZcwnvO>d)T-WsS*G9AR}gbCELU5e7-`r7f{7TB+CoMb=9*fpxK*@$Yvf z8z;G5(9c1?nZmsbWl6Tm8 zCQ_sR@m5Ane@?a=blpE}`LqYMKIq(USg!TidM1KV|9G9Y^(FfgblqQUIiK&*{V0Z7 zA2|0TmTP^soV zpWh@qeet1tVpV=%qUwr7^ z_@&Kqu`fRKc>HF>L)8!JUtDjfY?i0^>VwY3%@djt4^@x+!_D$cU;WUzxPIMq+|IKj zf7v1hU;WV4-yL5aPx@!J$P0Y+Lsx%ye0O{(R6VLczeQf+s~@`hyZRkZ`d7BdmGn=Z zKR{RiMXvGLLyy-NF1o@}4=R(XSO{h-I|YdW6v&u^8t`|5|@ zR=?x+eQ#0zrLFR>zWSlJ)$e%HzqVCw@zoDKUVl_yxK-!JuHPP3D?TUDUSDLN-X^#D z;zRew&uo+1eCq>U?UVD*(l+^wFFy2m{APkj`Bk>b9lrXY$Lnh*c;p{$ldt*ehu&6y zf=B+cUGDPL552Aa1dseP+vS_S`k}|`kL>f?OQtebYPTf4uRneX{@McgpX5@u7R; zmv+iyzWC79J{iBZQx;9k<#|}Gu)jf9`{ei+?v!rY+c=RubhS^$Pw$dJUwr7^_?ca@ z!WSR9H-2fCtoFr+?u}pBC7XTmp?l+pyW}KaeCXcza)O-dix1r!KXZbdPJ26UM(qjR z8$W-79Prsg_r|ZBAUR+D(7o|%C&QC^Y@&sRTm^-tVaZ`Ah4kA3w)_u9)|dB7JRy4u_R-AwQ(zw}-? z=Bp37`n&#@;E{iRul&|mKlHZx6Fl-S?Ug_J>WAJ|e}YH;wY~CJU;WVA>QC^i7>G#zSJzifk!6X0D$ujJ#A9`E;e}_l$ zDksaRFCXY_`TQLo#S2fC)r@Da+aJ~_JfE=f64&z^a*C|?*+bX*llJLTWUJ2}y4OB) zik#rHhaR_YCU~?y`BUT+pFi}te`H@eMNaeCL-*QOPLYhy9=g}Qc8Z+svxn}r4^NQ` zeD=`2_HwE`$!8DUYo9(RC%7y9=g}QbgI0_XAj+LUpZA? z?z4yPwXdBjSNrUtd+ozh<<&lW=w5r-C;#lThwimc?~^zB?4f(@GyCKQpFMQ1eSV+Z zU-JWjsl^M@Yy zkL>f0lkfWMp?mF1kCXd+_R!<@%><9?t2|DcK7Z(K{s|uW*B&P=pFi}te`Fs%PLBHQ zp?mG+@iODHhwilxA1}Z0*+ci*r%#hV`|P26?K7vzaZi}*H;2^<{SUg=K7X2Y`s|^5 z?MtW0fX^Pf*S>O^tn}GK_uAJ^leF5KetKA~czt65`|vc`?28ZG8(;RzE?<1;Ui;F1 zIYsRg=d;kg_Lco|hR+_l*IrJSbA0(j_u8jVmkWLN(Bt;a1V5;yxc`tjU7qaohu-F& z;E{j+ba{@?A9|brLOeNMmQI)F`{F@wiOb#%>2$fuXJ1Rym*7!- z;ptMQe{%i~UF&n_PmU+&pK^x0nf~@X>9BgCe?wP)cmCvf(m#EM{0sf99{EF8f2%hW z{GgU{`{VmQK7Z(K{s|uW=g*Lj`uw4{`6qbfUphlR<@1N$=AYn^f8`AMyw4wcoB!Y8 zE*`&o^d-dOcaOdf>tp*_L7m`(>~cBpnL7p8F|bXAG+7R zl#%1l_2ds-?QMTQsEq5Ik;OiH=w5rtN|(nmktz-JHL zYhTOCGM_zkwRibBp3G0qlI1>s=<)iR3GUi6S2#;n!G99C7MLraB~Ks+UPxX&ORgjb zzM8y#mVAgDcpG`^EV-8)_!IKf0XgnGaNrVPE;t~&$bl!5XAj7wiG=aU2VxsTR)axpnjpZ7`SPwBOnSO`PJ*VWJ^W}3&%<}2| zX#du6@_gN17F>n^o`~4Ca3_Ymz&I;bY8RHE+-zI39o`o+IP!1tB>2*L-Jo@^JFN3wnIV;fN%E9B7^c?UsPNW#5yN>XEJFKz$Ch+#@HF1NQ;>9h59NP~V%= z>XCEFf%@K@RIgk_4%GMN1ikV!a-hC9C)+E}CI{+!a|*rkJaVAEH>cbyFD3`-dvmJz z-W54e-U(nv{qlWs zU=zsq+=S#neQ!=3@690x{+i{je)%0aP~V#q49H{Tz(p4_{{iU&@;iu2l@H2t<%6=C zyf7#ykONO8FAvIj!MxxfEr&em83t_*Lk^QGP`W&s9`b$Tz_6wK#+4qwZn3n^(z*{788a z(*B+45w+)gT^@qY_qynF(B%>NB{@+0e|1FuOb)!F*F2xHGXvbJ`sl;VbLO&9Iazu8_Y0@;#=Z&Ug737_JUX8%mPYk`{xiVy)&D48 z?;jqzWmNN-mNEH9=tnHhq{rmNYG)24Gnp~DD$es`a$SrUOJn*yiy7eSR6okkTi`vp z7$DXlZ{S;vPKx>In7k|IKNF702b7z3o|2Vj{eictZr4A(Qa+{JY}c90O1VS%*f3`z zhw>|RJ!XMlr9N_utA+kHF5kpId=HFnuhzJHj~uAmE45mhc7V1Q(q(Js{b03Piu`li5#f;q}Ix_$$^?ruvRW72WmdqwK7c()O-qStqFa zYn^SM^|FpUwcfVRdf7!DthdJ(d`E-4yxzuNFB9ZdJom5@_1D+SKac~pKeX1%Q^|p* z{Wr*S$Wt3^{0;H~@?e9;pDt~XmxJGXy}_AVHpq40^S(n`*?`^(Ju!cqxpRZO*=JvC zx1R!Mhi^LF^#8CKT066QMdQLdkK3quP3JetdlCQ0Wd^58MxU`5>>quY`On<4QEv6+ zQQ2tnw(*;e+x1BDBFedcM*2~*aE>SPEY@Jp@elYZt^X(~-utmp?oe(jI&|D7U61L? zCaFU|VsWarN!N46qFbM0xXHu?w#Ajr?QzqaHD0d1S?)&MN#Om!Tx+xZh8*}e@?eXs zej>N~7TE&KWw*#~a^Pv?g)MS`9C$H#d5c^^4ty?ob&I^19QaD|`W7jX1K&d4+9K~F z2Uf^~t@2@V;OEE-TjeX{z;9{!Hu;{GZpPhz}nrk~?Ik{6K!wV$W9%QMM= z+RqEy<@w~mmjZL;?ea=;V41wSUEW9zypg=VU2Y}^-b&uuE}tR?egQa}*&%lV19SMA z`&}D!F3EnM3wFvk=?^sRxl?{Xp51BMudq`dAP4>em@Ds;Uy}p>44lsIlH;Dter<5( z`d!imK5xG(VbJ!}KU3Ky!)iaIAs|??dSm)jpRxNsd9E1pY5DS2#(Ie+oFT8`!Aqks;u`?E^jDK267y+tKN! z+Gw0PsNQqu^O1kT&Ub$1&KGaR`QnW@eR<^|^Ijt7<2;1#apJ=HU;KJSd_GBka(BMM z`Qf8sr>x|9?jCqBg#V+`C7WWL-*-8Q+~#+fm0*d!*OJJ)k?xj#zIKDo#l>klo@_U# zC*sa)w*~APnQl4Y$(P^t;6$tm)I7|zY>p@DYvjA-TwfgM8VA@G$MIyGQny^>ivykC zMQQ>~9I_Zs#;M?YG@dw3=<09ni{LyUMEY($K7{jhBS-zRQN#PXFmAi;6K!Yc@%U5L zuIY4q$B};3P|aj2G;x|h^)tnx+kOq{kr#Q^qX=E|2CARUujzQQJ<>gLl_yRUy87=9 z6(erw-1=sEvIy7~dVew7~i zpvSKXUG0;no=d*_%w{IqRv|iFHcY6H!{YbNYaT0+gu>GA~`T^s9(RX`>Le--<={{M?IDyJ@^CIY6+ttADbe z<@;ov&mOwhzSO7lsCnZg^tk<$wTs^CHFAv8uW%vVt^Y(B-&^fTi#kKPb3Fwd1{$FOZ}G_9xRi~$$?s)T_#tO1Cv(n$nUW6`|wXx-XR5GuGJxLCI`L;7_VmuIIq{o>v1prLVG`a1pS}=Fn(UrgE@AO?k7v+x4NI0 z{FCP)Ma&QHg6}NwG1vu1$+(~3KF1}f56ERYgYQCvAF;^q(G7tI`^U7W@_Te+%FT)& zsu=qz>65k4r%Qvfh5pwYoT&_&?~gnG+Mw)?`Ok!dvM0`EshpyGx#lyIUMi=@_*7=8 z<~IX8p!&!$<~x&LD(5ISdCk<8%Eiiqkb!0%S}K>A@`uO|^ADD0XvVd`m__r|nd6qp zbA0w<#w};xblmO7j+->1c*XQGZTFdV%jCHl_b4~RLs1?m=i=fz`=-;?oc-I{CF0MV zwM?$?<(p}b8+~8Q_Q!}P;!RbSnRW)gLgSito~kX=?K}g#%Ie(i)lk#Nb+Kh~t;s`$ znaq%sm5&WP2xTTeB(IC{soIdK2ly7%?e@8xfR^S%6f9VoRz?j{H7 zb+urHe4iYs*VVEsUFjH3VDPasMpn6E95uiz&`vv;-~sYF-q%JB zd?I;kM4mwoERbi%^I5V0m_2enbw`{Ho*9 zA_uzrE59I5+50Qy)$&_%;GclJUvm62Xun#zfqbw2a&q7}u#sLXn}NysaS=NEQ4`3; z^{<1<;Fnn|yXj~5E4QEXyWZ*t^!nx3%Bem-=;{ab`jytoexDz7^#gkSDr@C{&kwr# z0lj{;wUYDsL03PZ*DqWv7yJC6s~<4#R|Mxk*^G3uFdA3+zPL*m&yK&Yotw}#PBboC zZnsAf4B0KQV&$IMTo_JOYP zf>4p)nK$!H7th%LU%J-s;w0RS8M&W4(E>R(6xTIeGGg6y?QK7Z?4fJ@$$pnvFF*C! zLsxq@UVv*mIX&6F`StRUFAns0oG8!IdijOV9=h5m^Q^3wU-|5zd+lrM<@Y{&=yCgI zf=Bs<>*X=}C)<-Sl%CC)o~y`{_7;oY(%)v(c|mNrP>$+rnz z{jGhHyZVb2vtAA07RIsdb6CAG4}h+5lKW?EgY2e#a{q*`_Q`e)H^`~JJfW+-YcFuq zFRVVVUu={!JaLM$(f9#1p4-lj+jgLxxgOx`+OJzQ(i`O*Py8lyjqBooYaFL1t}8S$ z8}<6fyzL5I9~#Sws)hlQ3^hP=v=TpLt^xM z4VM?nH7{qE$SYUfBv&BrB#`F~4cRPLvYurBfX>C~QC^wNa;?uEy3f8CZr1JH0KSfX z$$kr6{cOLA-cOipkIWW%tEb)~bhE#2F>!2s>N>9iYJAa&Gbu-U(nSL==GDW@*(=!^>Xz^?+dhgl1J^H-YTE;<)I+xBvK6-&mx0sIQnGdf5szOJy4okl-OM(b_1G7oYdt`3J*91u z!gbF1{nGlO+~-%6?HacM?4*BkKZCA*Q9o^RV?6!OeM~)$RNvvYR&^?vRU_kM%#S(XgMo-)*_= zoZwMj`5khJZ+)Qa`T#XQ*G`VxxJ7V1&Nw}BoN1JHNZu2_30>p5IN%z`>B%^i9eUk= zUi(4UIIjJ`wf&s#+Rt%UAGkR_y7eQQyC2f1?U0xI@`kSUxpqzPBDltNdSX3_vQyi& z0sMcAZ`(E6ZqVD}FT@l5vY6gw;sUSp#f5I-1|hMTalfm3h%|Ox!0N_q&d%)@k)OIn z=YP%o0`Z*g;yLcx&++8?ly;f(aUhq#+zyz_)9E&D(QA+ObasjO&B_A#I^D)SXjU^? z&s=MlybkR<34ALsmpVc2AP0U8*pS`wFfiFqi_mp{0-E(9i_Is}yXDtDKj`WQjQcem zcl{Y$`<>Gh{jQPOEwi5ZP3RiewoegU>vMWyT+Ib1O2@OXzQA7KMBzlq0+Z|8%%9ly zeexo>#s&Tf^G(<9UHeX#j6Q{rl|HXM9i{<>@`gFzm9WqF+dU&F)?=;YH*4vRf zN%PIM_Q-i$58xy)m)a};L=L=`JlHEAAP0VoJiAwZOb+}Rd3~=uN)9{@_px)Wy|NTI z2@J?nC(B9XzzOo;WO*7n@cHD`lXd>t5_rvUjofESVj-%8%#OBO(STDg=QsJy&Z-b@ZuUR^6+CI>37r)7p5xblU_ zx0RODfs?>1$Wwv5l^pnGa!kM;BnS3g0iF$HH*ga8Z1O@NWpdyr$;*L!pByMJ0?*$3yzn!qdfY3OAF8Ikpn*tB)iX$WsHdg&cS?c`zXR z$${sQX9whBa^SPb3j;Dm4tzOzc|cxC4tx!e`@inz*zfs!hg@q=E@C?YU%+-tEtPkZ z13w3hx7!n5Y}$>#w|38??pZ9dTidNuCQ;7sUvgnR@#l8Q7y3Q7KHpd9lFR51bpG+@ z|MIA)+skP4072a*#SNYJQ>LQ{Ab3>XG%kIZk$(! zWHQccL-LF`4~Jwb&Sh9$66fh*xjN1>!*YF`=ZEDjab6mho8r7OEY&!#4a>*lJRFwK z$9OKaTx#Hxz;6N%WtMCE@&5b|R3DKRFo$vcujIhKmvTFd$T*Pq=apkz-%bwH?GlX2 zDda%CU!5J518P5N`auE519G4~7gHXUOUZ%y{8x2UUO*1i=kHph@(Oa`wZI&9jMtL` z^?AHtOl~3vn&85yy^6jW2AF&GHc`wzBth1af;yDE>5@Y(sVp={?RC{k$3sxLXXF7{v95*TWyUT z^2LK5k2eLb?dEhmFF{@n)hs&CNyX-qE6`#2yE=Egcq-msuxF9T@9ptoHOI}^@#6nF zKHM3a2=E@F(Q0Fy z95)RP>;>ksYh)EUa3hev&*Ae~4ItYK^Bo-sqw&@KZf7Xe^>O<%e}AKXz`cl*^mFA+ zlyhtWC2m7{qBW~*j z*Lt0vs5d@dUW9t%zeDEl?r%q!n{jT=^O8$Y?#@fNUoA9Va$eskb;v(*J%UgZiMA7T zz0L{b;(k}++L_Ni(2vhOyb#Fe9!liEHvr@LzNFBeFQ4Z;KEV5bm~UZ;T#fSh^PJby z9=o@De$%}l#Bn`d*m0Tbr|n_wkEAhpV42DE%B{%5jTihK^=&bJsATMBfuEvoc6-dn zt$*nJhfO^EzS{U3ekk3i`YiDCasQIhXDWTR{$X{PsYU+E4~5nr_?4JH&+EPp&ht8* zSGDl|7IL7OuMWtA&Sl(NBKhM;_hok_LXI_ z+gCqyuYGNqoJ{*+EuL!+=wAEukUU=PjYE_VbgzAWNHVk!LM@N%p&NTs&`j_mxbAOG zxAzr_C94C~-`#I;eCQ$7qk5cffA7^y@Pld{n@?A8Ug*iU2;JQ0Xs>r6-Nh}|hID^w z054+Pquje<{SG=8*T0$x?&37UA$gMKrRHV+QnYbLmh(?~CuSJ6KR)!x-xgs%MpsBvt6 zjQnt3UZ$VfOtE&d_U?WH>@*J07pIsv*O?&`5|=ImH& ztpAsm%MFa5$hQbx;{)5`JMQ9x>v}jn*&dbUa+4>16S~F?!jM=5*EmkMaTd~}_O9W& zHsdG9cj#Q)_A7#Ge5bqk3+T&7Lj=IJAp^alsALi=KuaK|NK6%`MuJzjO-E`dk zE-G5j(h50De{&d_s}FjczvD^&$_n`p`kUQz&L4W4zvI#GvTV6+-zcAOh1{$0%nC*A z2)!+yw7BhplVlThRjz0KcomyhGgd@3Vygz?4_@u0WGbKJ#qJQ+_$WyZwQfKh(X z+u}Ly;yIp-ml>7cF`m_5 z{r&IoC|)=w8DBi;8qd}f+2cCPxxV#*uJ*SegJO9ZL25ydu63Ok#Up#4!Vh( z*lx9z@(f=d(AD0?iSiCt%5!KxZ$DTdKCYKP-jLS!T`9oLx3;Uti`w_|ZO|O=3dh@gPu0Ghc)$e$+{qw8kyNs9Y&(P!k(fWp~<$mA#LigIs z8hOwcAG+En_pi(vIqI{AuJ(3Zi1Mkekzdh1+5e%deR6#T@2T|JLs$F6af#Q5o{Q`G z?z%FcJ3DQF*S!KsU5$E=lEu!Cplh6Dzp4b%OZ#LyLl3B%$Mf}hv5n-(yla8%@cBdc z)+g&^e=N>izglPQf2KHJS2;SaMeUqkCueK@VY?r6E`giRCwLLujMvuAj@QME)q(17 z_2~Jnp+tVp&efCPE>DMz+B&(2`OX_xY<*U5!cOaV`;Ftt_7B&|(|qj-UHy~WTh>d# zXAfQN-SKrHp6G{se(Z8zJm_ul5I8IFTFu-^~Hm(@oayLo-<4K&&&q-1pO2JozI!|VrY(@BRfjQ`z0IX zV{JNFY(AUcAfNZegRb#_TmlylT;oN$iPr?L#o~}RV(S^TXK90cGiG;Kqa$zVTF+3Z z81Z@iVS{`x7B}**SpPwtuFpMxmTbRpgEZ-Hw^QT~UF%Qo-|3BV%vT?DV;?FO!Oi$* zbvOPkphwSdC9j)gtba8AwR6{w4jZM7@@rpy(A)9@*ZiFB@>@WUp5sc6&z1IkB0HO} z%gbRS+$giY{Ghkx2d?=!-Q~A{-jq$oKiPgxckP$pE-#0T%qCg@V}=Bx8$V>TjQa9}u6elpz%@UoyY^c^Z>Ft(vi+Ry@=Ne}`Q#a;TmImhztdg* z3+T~vjmh>6ZCsaMg3rq@jrUjk@`K)%AGqe{beG=(dehmt_RZLM$^Po}q@By(l`qu3 z`7N@K`6u^(=$ij-OxQzgN5`#Q#90o*X35$o&s!>6LuIR6#W?1+c5($$+vmdo6lF8_1tFaNvvo5_YbGM%KZKz{{F(hbclQ(mpu6X!VJpe z?=MXLUSr*J%=s(*bJ@jm2lAN&J_&vksU`9|pt~;;t-mahu50FWzSnP%-0m+$aLpgM zf_ftV>C6%thfZW1BK?W9C+>-rcN9z>x#|-68uJ65hw_O6zMlo0mtVfKJwNca{J=Fo zpf|rtryN&A9ze|xsQCdkKcMDk%RA~Ok6fxtzQO!}E8#y;?~*SA=jB)HYR?b+KWS(C zOA%c21A6llyf>Tq0X07${mC^ypyp@GJA!V_gWpqnjQIh73HynlN3OdT_1gXzZQpc{ z$`-B7XQ|19Q?PKi7P5T(VBQ>b?@VSD`Y#-pGtUt9>ZYp`&N0zqN z4<6q>#q?6sK0t5(&7&M~r-7OmP}>Kn?E^IZ$CP)JO&;-a@7-vp`0v#CyRU2dMP5E` ze)shO?dMB${H&+uz60fc=M^6Z`JVlc!hYU<3Z07^*P{3AyZsd9x}Q3`#5l+I=YN`U zt$ozLptr?MaK2w(<2pSVH{Y$}^t^nbYuq4IY&!17WpFd@S-WK1Qn!w;^Ws8pi|e?H z3$AgUo{U@R)^TxOTuu5q27j2m|Ac;d#1sC}VpTsM9=ZjaY)|KR)c@8kBd zc9B1H^>@ej1dsePJ-WZn^M~G6zvIdJ^F4CZS3mT&`W?6J64hVok^k}aFX(Ol2_E@Z zdgOOLf9P%g2_E^^dh~cQZ~dXGziWTT6YF0LdvyCYfE^fj+&tm1dSm_vUE{dzkl;}s zg7?(Yf8KU9zqfSzUu2)|mF2Wg?w8QDKC4IX$G35dDA)ez>=ONv@5g6(1DN)$5A^u@ zMET@D34N~JlmHC^tL<_Jo2yf$#Z@F(AD4dGslzr zYt60)@I}7$fZi6zaku@gf79v7?Ud=4X~qpgjT5yGbd78ErsMYb6LH(_@%fqhCF{xe zOVQU3(AD0xgX1>;rsK)$^QC@ytuG#QjhAT0My+4oO#9^c1Krr06>TPX5nTJZ)068J z_RHI~{WQ$n`7iXgxQ^TQEP|W;$J!<1%7EPDiwj-jx;Wq($LYy9=>d74Z@r;woWy?9 z$P7r;XAfQNllO=71M(rCJ#=sU(tv!_XAj*QzcL`7q`mDQht&%EFLbqc{lxL)`qT#G zbM#MMmxZqWwjG;}yZIHk+3waZ*{uO{3-%sMc6VCHUzJGwv zN1X;={se`7@%IJ9&sQ6z`RA)Q;`HR)+7YN5=ewQ$%JKC1G34|J1`Yo>Qcw$XW#0b2#BRFwJ24w-ho)u zwo*l{*6mJsiMzO+he==L1ik=e*zLocFxv zoOivIS+dsW)md`9&ujQSY~?m!Pt<40naZuB>}lY4)RE6XdA6Jloxf*&Iq*6dapdK&XqT*eJ1?dr~k)y51=z%6Ue_Z-XkU- z&B!MEK~kG5cVqvgz&q$?oNUrh6FUFe{qHtq*uFkj{wfkTf&O)Pn4B-hNweIpfq9m8 zc6j9ZCeYOmsPWVcX`!T^lR13_PIQp(AA$i-g7&dr|pvhKNPV`pld!r zvk&VrRC4yf`(yUd)gBnLPbyZP0zX50SKoHtL(sXunn1O8^=jwe9-leBH`M+g!uy>K;?roB_#(cADJnSk^_~G&XmW=fy((}&zr!3 z%KNat$$`oT@!l*sQ2EFLIe{Fgd=%exAO~uGV+-UGa-f#)$L}4H1C@6yl$VnOm7}3+ z*#av;n7c7F;w+ui@YyKB&f zH?!UMi~OE;KyCNF4w-%nIB*e=-)~z+4&+};rb!tb&&Mj~d*a8k9H`~>X|h?%7h8F` zOSZ8bsO6O|Ia|xEKMjm^$;B)OYI)WrS8KW5|4pj+T``;@w}3ZLA1A{+T$s0e9r)*}lX2eemW!wZ?@*l#de*J=X#wA(I%@}AaK91%Y60(4oeX-ZNAqt1 zKczZr1HICtdAEQMsm@wJZ}eFHz(-Vf`DZgt>CHd$gm;WL;j(quBe|+chSLDF|0uJE&SkvDE4qONvD6f*W z=_pOnCBL}L#!8P(2IgsW4 zyz(pX;=F=efjyl*PL_r$nk_`P!VGsDH5DK8`+nQ7l~#QdL-1NA$OV>9KQy8TT1j^qBB z@*#4de#fx`zyC`P)bBW!XUQYvz$rH%Uf(SFIXO_jQS;e2XhTLtaMS zcZTuNtaAl0PNizsr?hCaIQR=E|QhOWw`$=Ns?4LT)Ap(tmzj&KB8rmmQbyMmew3 zy=L$A1JB~P{A7v!dWu|v@?Ajw@p_vc$GG0d>uDSxUdVFbn}96W^M$;8rre?Blk55S zkmESk^>4>4`5-w^*T>~q@@aCQa;#4t*7Di5{pf7@iP}3pHd_vn1J&RD*)rpAz=7s} zj;tofalHY^@4cQv4%G6&xw3;CsC*3HWhDn{{Jwee65W2Dm51X*&yE|2Pz-kAdiy+mG9pmzat0sya)Cj8)XS_ z7f^Y5qpT$dD(~AUr;-Dek8G6l$$?h^2Szu_>&Su1$MBtVa-j148|7|tpmH3)50C@- zH!!+M{zdIKx%zLCZ>aqyYp?yAzgwmAz4W(LRssk5w#p82;N|3l zTjh1+z}v`2w#o;|fuAHF-74QF2OcCJ+bUDv2M$~S9Oye!P9g_d`)`-+%D2lUEFau1 zmy-i;Bp=x>FChp18TsgTxs4q7F7h#q1LVMulkeXy50V4FP2RCXeo78}ioCo-X59@A zJOVh-w?j@P2ks;v+#xrR17ATtvP1rg9C#1;=nnZ3Iq(PM9p^~L`@w`}X^t?e8`QVCoVvUh1--Nr|IJYNND zpRcwWGvp!iC3CeO^7os+rsa0N%I^$+N6Q_r&XgZ&IVy<1Rt@U{EjKcA&VCzU-_vmdG%wjAR68r|Y~*g5hW{NtcQ-j7!Qz`%dz zbfELEarekvwI3=Owj9Dg-AW7B(f)vcl$Y4~c1spW*Wa?e+UMUmA3!;O4|q29aZMZN z-^N?Og{reO!}+({9(aVmeZzPQc%VBo*B zT@pQ|4p-Q3@6*OnzM;7Q(gNxfw40Nkd! zYlnu@f#>*o=5*jCzAk0+54^_rUozeT-mE%H*=lOc&WE~G$z{^zUaD#TKIvse8uh&kt;{o``s`GeYJDPn9_%hY$ z4eix9S^f`syZ>g!Tfp0NJCh-=J)X!G_1^;Sqdv}PXt&Z9`3|}J9z#+w-U2qMkFyl{R=3E{$lZHYt=blO z+UNBxGJVu5Z)}m}KF_wuu|Aj6<#eByPM7mMo>Wd(e=XqE)W_)^YnZXq<>mO-F5v$G z4p+Cz2Y?41Cbg~FA0~hgK+o3)b*BTzJbh2Y?1wVLmP3rwbc^wJoBD47ze&4s${D`5 ze5U*q|2pV!qH?DEg5}$6;+&|SDZljio|#)o@#l2l6SNzrj5yhu@-+T+ z(BXufCBI{NJ5K2=>A1(^m9wPF=hd@hw#WC>&QgCvb;FiJT_)JkFAp z;0GNhQqlFw1klZgT%h2%b2`w?hpO+XRMdW`YS?m!xO9v6N-A;`{&CP@Qg?oUR=;uc z-*7t6+QI3W(~0-6J)ACmF3&#KE~f7(^=Z7Jiebwk@?jd7Z~9~t{kV0|-g+NYd>6gZ zCuc%GkoCzK)at=Yai-8{cj-mAJ>FIJom+~e!jow|N*0Y9qxxQ$=6ow_b<0Y9fY zSE+c8q`p(W4Bi4hN`2|$q}gx-{_&544wKCMO#pwv?Y526J&u>NHU0$f*QPTa+|!ag?}7$m}KYccsv2@zE|VwfSkw$rUU2uddca) zrM_NqI`Ak@-&4In;|-~Y6AFG z+m6#0);CTEKI-Xv>KALAp@w10A=;7QabDtdU`D%f%E((TQQiXnLUoq1K9|@$4E(L? zZXV7q(eup~u%$ZBKH*<>S-%H%@1cM8d-y5sa_iAuGFNr3N1<1C>G?_vxJGq7&A_@~ zm!2oIfXAt>rw6F_E{h91MRkjtRxgt?$;-^bd#(yP|Jr(cJ(p(BmvbW9C(xg+WBmub zME#RZt^?D?3*_2}T@yP0o)f2Xt^9Fh`vkhi0mkE8C$EgzHLf!|V9c%q*BkiPw^ZcZ z-FE%r_71yldD_j_4Q$1E;st9tpJOgZ`7R)@lZ;^-|GFf(-e32wUlgxr_}4G+daCI4 zlBst6V_;;KyaD<1cZ>KpFgi=#K@L=o>x*@A;75RbU-09~=eheP^W>k&$J)P3G+#bX zJ~&^##O((c$}`Frs=q_oLYe(Rw7)wK9_U*n>%n<{?_wZ-N8(CyU_w5!NNynq-bX&V zNbV;GD&N0I9w7%l!}1RNj?dqL1C?XKIEoy2K5(FKv0O$Dd=2^FVtE5O@Luwf#q#&$ zK;@&0p!{k8aeM{s$zU6WsIZ*lFa`^^1@JW`BESG1=fvf)kd~~@S z1=Qb9A|G2W=aU0pLB4;vypA0Be)5hL@Z^`>s$REgoz5j@H1g>YS z2e!|Lcs=73pVwE)4xcwx%0=W$?1D!N-yyt$++D92!gmI%;4R=wRA2fy`DmtxpA6Mp zIq`gt0KVsUHPe}j`Ah&;(SDmH#Oo@|Yyx@rvgS!nKf@)b_m(wJa{3vrnBF;9)_nNg zJZ6*v&)4{c{Ge-oz#uR zyH!6+=#aKwKT`j=F^n>A?CI9~hD1aOUQ$L@r6|MA*SCV)qo&TfPC`g-jL6Tpq8U!!_yz3%S`;F+d# z_hY@jUiZ@k@Ep^*+i={j*Y=zMUTQj<7snBvgTOx~fY+H$Dtqed@qZkbz?V>OkBhk8 z$RnP=3;qV`-(JMVW%-O5wo173N% ze>b7W;w5sT`b~jfiP*Kvn<)3=QfGas>-;lLmgV`R)f44M^yiL`b{_oQXsrh@@CUBP z12E`k;M&iCem}d-nn%*ciSk4&4s?wJ^y4(a{o^75*SNsoI0Vg5jh_Nn(w{rN^7ewR{(!!}wp|l?&|cu0H!zxac9NVK%Nx4J0S0lv zbw2}R`#Gs^wtfzLzUCkHbCz?Z)C5+w+}2Hb{pDmG$5Y^qTF!BNavbCJd3tOD|IG8B z+gDFk|0(cIp8vf4TzL~1i=Q@5mcOK3@pyx-c>`m1N$C{ZZ@_nJTpJhjxX{%e7`3li zc?!HQmbWW!0;BfXDSH1W1%5{Dc{j*wH|QE4IOh3JJpCb0&)c(ds;;L~;8(Pqt833M zboC32=2bt{_9yULYG2r&(A6FowU^VhAEv+qYR_Kj#fPr;z?gl9cirIEu;+6R{&jvc@GPH(qo zt1?~I(@$YtlR#HLK>v7ag2((M)#aU@5b$p5o5o2oAJ3AHlNZ{( z3Egie^4R&)P<6I^1@?JvNfzktu>_ULyRwx=JR&wxwRkBv*z*)UCDNw?Q_ z%JTS?WfmWJTr56x>#xg#_-mu6}`jy%KP(2k-@I z=js8j^#DfeQ7cU{u1bF4~*K^ z*J<1o_?Izz=xPu2?Rg)bXR`cmFwc+M=iTIf|IYUV&gXdKr@(tPPGP=)ZuLASj00Wc z0E0N-u{ivG>kBu)$b+hevV8kO{gWAwwQpK|o?ON4iv0#UN1!Iq>TBZ>xgRg@A5xK*#QZ>4 zKS19P?`vy+2KxQE2_E&2`?|Nr{6km&z`#Ga`UeL7!K41G{c?BAKXhw{{?I>k^$+y@ z=j~D7DW8h@gKqim4E*JG*?IDfm>qPr0|xa3*M0#E`Z@Rk`f1O1;F>RRf_mXPVp_UD zo{GhVu5p1uTyXUVT=dCFe~G6r_w>p7T`a4q7yDawv8&(3VI1gIzl($V@xG?^b70WV z!K3}Wa+z$3#f7f*0|xa2w{h(<*`f6ydbEP`kcS6z8dAlb@h!sB40QP z>*_I)L6rOVv1+C){RrN{u4mA9%pl4 z{W3-CHvx3(aaI@C;VjXdD;Zvp$&@6yM~M>A%J^?SvY121H`6=zAk(_PQ# zlyiXq#~)y@eg|iRHGyv3 zOFFrJue$ia*Tv#P*Z4p`e&Xz!z}r2$yk3oI+CC}p?OM*(^6CX${Q?8O;93u0u$~6j zdH|#KD0Nvp;61T;&@~<~hzD-tc2^h=I`>2q7_DE;>{8%oG#4@R zu6}^NAHM(3ai$5hbvv2y*tn9Grb{K}A3Bc=UI#M&cAOmUx=>ofb(EMN=;{X;_yKRX z8}rNSn@yK$%nx++0}T9tNB!V>%gbVZpsOEX;0HYFr#?g881n;N{Q!MG?Rxm@i#uUo zTwna6OXRCZV|_7#c^c)rfF(?UV;%1KAa~vF;C44JR^7Y^^yfv+dwPG$-DjG(r#(N~ zf@B{X7k|yV+s+*~?K~&;w&zWonDXr#@$ETJ@(Sq0fqY)o8QjYIqM9&-q{`x+xsOc%~L-q@O5fOuiktG-R8%6!TzD0&5!d6 z^W!|NcN67qK4!f$ZqI&4{SL<2G)_9X-e@eeJb>?wUuN?ma9sTr=4t5a z4;c6ZkNHbwg>-y|?QH#NA9pJL66op&==;gr11nTiOPBwY`C6%e}d}pdWtnmut7s@prFo*}P@qj@*aE%9y z#;aO+3VclCSw8!i6#f$E8V?x61K0flj9wS5O_e{;Uvb=ouKs|5KXA<-7~~JG#|3rG zPY;WHyyEo|=8*yye3r*)VgEwcc)%bYxW)qp@xZmcfYJ79xOl)#v3Srm9x#XpuJM3D zJaCN%jKxa@*JBu`*pAS7L^gpI$BxegT=xrb(95rV{H3K%xhduky7~hK{=n5AFuI>B zoiY;h2VMOE1ApMwPdkHl$n&dq%DZCzpsPP%;168$1N!+T;M%UhXuH-r<)g7U&@~P) zhy!l@Gt4`Iu5p0TIQ32$i^YMiaezS_aO;0@fBt;=d-yHRmpiabe(SM3FYK1tpW}I9 zcl5llh35k{pd9O~;Ca*py3J2BgK@nHUF%mkFXQ(m&ZVEi`9K2Q=AD8c=rKP@eWqP^ z1`g3*@wzkgs9j^Gj+ZUq?P|yI(z{*^J-F@+9=-0I&9v*zzz%czxTp+o&dV*&ZHPu@m)gdKzH4l6xX9?Y5gaF?z%IZ1J{LTY5n+JYbp_H;uCx`OGyP_#00@SX+Qn#$RCd z0|xbLEU@|kgZgC)tbV|tezMT&2Mp?0T4?nH-pcy|+s3tidnyYxehawd^IkowiOXQWXYXNI&zw~kPQT4*>=1Z*{ z_zsp^G1iaE-1>2u+(-R6>&InGBOlk>;~$@oU>rU_@p-i)^VVI^ZGCiPczi#qLccmr0)y-5;Oqe0{(EY#{UPJ_Y*6Y4Oegiuch|W*@jKBhA1~%<&*e88 z>w-M_T?B4Pz2^&)c9ZqrsO^|GHp)CLXRG@4-{|VUvEX;3tKY`L`f#JG-^N1y@I5Kb zV`IF2c)pX7Q{Zv2JfQ1-00!${aBXK`uucWndIO{NE}g7)Dezp4M=xHzp{qSGYG0dt zuHm|vJ<8P{=-W5J{o^9v54A0p5Ad~7e_NctEd_sDg5xUp*EqwSm!Bbjt^Nw@T9jMA zI3x52J(^!*oAb9#{yyq&oAbA=;BQ+rzqEFiJVZam>kZJY-OdXAK#%5C-)?yU|238u zboB=e_5--@uL<5BpEC4=b~~oEo$@sO7T1H&Ezg~yU+BTO0Pc?qxnDU~7Jo6~7rOcd z`uQf{9A}$AyFNi?JT{J|wE;OH<{vtbvnJ5|+wo2wvbG&RTpjZZUHt+BzudUJO(=E zMHb_EP}m z$k{c4cY1d1e!%l)?iZdn->v0jUVB1UzresRxYh&c&u_V3=`_EQLr|z#5_=5)emAmei+e24-VAQ@e z&Fq0cqrF|Wn|x0RI$O30G<$33c6+6@Y0@z^+28ZH&^0d5kDGwodFZs@{F%C4Cz&Sm z=+EVm$H}J2(pVhmnjg^5F9Fy60rdN8?yu4%N5}j@SAW33AGrDhZqxj1Kjr@FU2<;B zA9VEx4E%v>eSyJo2Ci{{(Y&QwUJ#1|UE=_QIN;jez~H(KxW)(m3H`ON*Me(&;A>*_ ztaeK+79YCC2L|!MH9pXf-)^_P4O}3{-+`=K-U+`4q(?ps++D&0X!uL2J^KDr3;0FN zhi^kcZ{WFrkMcaDN4~8(nRom{w|?K_@*y+3w%$~`NnP`V-MHtEaTu4+6FjLp+2r`< z&qq`CK6gI)8n6H3RY`uIdm+mCeeM#bh_R0FJ~z3}XUpw{70azS+bga;OWpEH=m#oz9)wu!mV1b`ZrMkycgq1{qg$RPX5F&%L7?== zsl-x`Tu7|+$cu>89=VlR?~yuDrpuV>)8$dsr^|l;cQ@R7CAdGze#HBv(^4MKcDy7F zcb^nkRy};btO=ce&z(PKX*;CVS#rACu~oeN4V`hCz{|CqY;r&GJD#*ifiH~NL)UQ~ z_zo>6V}HT-hw-l_@ZG9gKWq2jB%5b`fggzZg|2>qfnRXmIBx>Ks&-^vzPK)+`2rt_ z`Gu~2fq`Fe?cYE<4y}LZ`Bs-Wze}X!A?}xAJ1%j4mlXV(T@&_Y&o1{{U+T^qmdY_& zUN}EOIU_ZJzJ229XUF`?a`OwkH0Bq&`UM7l!EGE{F0WKO>wkH^jTL&_q`=o}IgcW* zKS8(tup(%O+&(+P+7b9}FYkSHg1-d1?e`-Bd+M4m(9bvbD{Cw-;Qg_@psQbCu;0P0 z9oEGCHcIY%vm_6z-@^Vux!ME$y!gF`%j)d^C3!;a$h>}9vF}#$dknvg`Gu~2fq`G} z^XM07e#tz)jb81?DR3nk^*QTh=(c})!*+mf_2>=awc9tXA0_?tS7tPCe?w;vXaX%y z>kkRI9{<4D@z3{fZi@MXuKs|5KXCO2jQT4bCvT1UgRcI7fj@8^M}V<$B*pvoAB*{e zuKs|5KXCO2jQXo>kRQbSLAUyD2>n6V{Q;byof~g%v*wqya)LY^^9No10fYR&tv{U* z_gC8_^S%_>ztAneO@Y659{xPO4)(?K%2#1ps;{^6%1tOg+<7JEaeYtK&Ew>HpQAmm z%M`f)_Iy74O6G}qoqRO22I2j3eU1otBg>2Dm(cmw?!WE)c^*c8De%>5M>g5Nd4HLI z&#|jaH9O#&V|LJ^cJ)qu?;r)fPwniz1MEuuYeMJWbK^}jyUH}#8?%ERwUaKh1O7N> z2R&-naCX3FV|LJ^c33B|Mk#RFm$@Gb^@AR@!@5cBfLmjB(4%%(SMj(@fiF-yTMx9` zGl8z-9WXfWbaqYP+dRA5Gz#XSioIu?0zcrD=YFB9Utr+Z+4245sNc-_1%5l`7rOcd z27bZM`2faQ;M}jUUCB6KPS@`+Q(vq)zsl^*2h|zYKERb)UT7ca8V?x613&u~!~X^S$!CeW2@j2#mGE-U?no$KQeKOt}^I2Wm6rK4N{Qe1q7SDNho!nX>$= zSRaes*Gfuuzm31|br$q|eOxo10T?+T z%51$}ngahp?RoXoix1uU%j~e7p{rlu4`X@N=4g2eJm8h*?F?Q00)zbrZr6q9$lR~7 zoh+ZczO}hFegRi#c{uLz_ifGZ+=Ab^t{vw__bY$@RmW4{u`$2U)h{r}*V#3J+dR8G z--fOG`TNv6wA}Vz-VV?iw+W2eSLf^Z5>nvRYR|7Hc>4#s+5>(21YGwIP_M`8{b}zw zkOj7XfG>{a1zr6D-|5vWadu6h@7LG$I&v{y!{QwR*6DAPZIIwTDf2u8{JO7Koes== zz2A;y^_xv}U4qW5wvdH2BPxkea(}9=zdd2C$m-%|t>A;$=*PIS~zpvMw z4*X|dZ#W(J9beC!4xI3HS?uy(EZyJm>RWO;aE-55oDMw2*Q-tk?(+4T(}Az{^}5r6 zclmn5>A=+2OG_+I;1j-HaXPT`n_m7^rvsPydd=y;<9)sEbl~%Rz2S7=CBB|H9eA^^ z3x2=iAJGqiiLaNO4!q0PD^3S~#Mi4%2Y$}e{q^S8z8J1Ix8QrI?>k=PKQ`EU^ZO|O z|5~=MfjLu~_bm#e=T%6VQ*x=R`ir?KjQMG!D4N0Y>9g z?f6K655(d?*Em2wP6Dpimx00cZE(FV1N@r$bJqpIt-ecwJm`m4DtO)L5#8RdTTHft z%dfFSei_RTy0t?gKj?N{V~Nc84%=g#6wi&g{DAYQ7w@Z8mg~5X0+(xfVg81$@qj^l zfa`t+2KyOY>kahVKLKz1IaA}1dGmGM@^` zl~zXYvm}{|2mG#Qm#;gaTfT*O&aMfJT@OlX_TAkS_*l#@bgM_E&P&-@K zxBWFyKKr|De>=YN<2`fnfQ!8H$$A|Ax~s;6T@cUtYXbdvyiWUybr^Smr)wNC@A#{& z((ehUz#Ur7uM2zQJ#?%0s>1$r-$6q8)oNF`E}c2Qz#C(Jq1%2c_=Rr$F!Y;1XA3rg z(fx<(#>_kg{&_4Obd3iL`XRU;4?sO0Z1}|cO?Xd;@qoec;OXK0@k#&pYkWrY+Bq|S zDe!Avdrj`|HLiYZ;`Phy`gIEYH??Qh-hP5^?NbWu`MqLmPh2m5;JNcaS}Dsj^jD@g z&mVO42lU&UzZ0d$CvYcf*#5o~b!|tW-S;NT^5=sRS?lh9td+Ts(5`UZ9_1Pj7{mkr z4m>r1=9diP7`W}9wQ{ujBQss+0hIgmKz`g+T^_)bVtGK4{4TP_x8(-bNiIGx zh!1Y_|KZ~I>hBGu)n3`D@qbol-g!TOZt;7A_z86L+Z(MH?=Mv8&#i}Yf6&z*(63Jd zuKs}0b}FsY{h0z^qkiqc$o)cBzd+w_-p;k7b^oNmw`)CZ|K#@2)gI{EC*U^zA075D z=$bFk&zIZlJPfRB95VC+aGh6y{(8&b-hV!Wy7njFhrN7#{efKf`gQ#ntw##{f|j#Z z-u{HH;|?$wcfj@jCU9Ks-2HoSttZg0XWp)ItldunPIz{CyF#~d?$|IMbZu{7(B9x0 z59r5Bz_ne0e!J#*)Xgph&i@{dXL|AL?c$-_kC)pEzN-d{6u2Q~58d*O-w#Ua&K`Jf z#J&lgf9-K?GOm5+IhEt(2DK~nOX%7Ufc|qU{4Tb&)A2z&P5NE$#<%ryi~22&Z}<+g z&L`{TLt1YAq$%seaRuDs<2%rKfAi*%x|OHE`(yb-*Em2wPM&9FgO;bj%*$h+wib>X z=-PjPet&I(>+#~om$tvXrHyKNpt4bBexK*F8)Y4_woy(e);G!p#KuM$BxW1s)kNI? zx`S9fK|VsPogfbZcQ;N@e@S+NJud_Ncj)DD_q>dpsPEtNyU}!- ze}(*@Ykt5WKTi+xgRc1z{rte05x*Pl=a=VEKgsd{UKz^+y7iNj!aO`Z$OF2@14iRD zHe3G(-lXvg{U5s3dvh=zB%Xe|+PVD&-Riwr-WAk)v#a-JxmR_!U$DJhZ^m~CdHr;p z4ExLT^Re8IH-6Xfon@Str@&8Zc_DA;nm5oN#}ZEu@`kQ?1B1N5wf%rW-rn}n{P11m z?|vNl0l%gBk$L?cx*o4U|9Iv1lr?W)khiA?c|+H{fkEEjnl~`I-|^l8?NZ>AdHZ_# zLAUlhHO#})gFK*HJHg)=_oMCKykBRh+WrE{4_IEWB|Ofdb41{GJnegmHa@idQD5~#9w+9n-403B z>{8$cEia5K&@~<~7+1ipohsq}^Ym!EQlI|5V+wq}#%#0$BDGEL*5_r2VMOE z1ApL`)e#36TyF!{egd4Q*Nw=$IQ1R!saPE78V4A}0oUuYz~H(pxUO4){`x*|SLv5; z$KpWOI6yy66Fj)?3U2G-{f20E0N-8VBgdNx=0w8ZdSpEiLVoRsS04XV5i1(E2AC`}JJ$6mo(1N_Dg}U(RgSr@z(9pK)wn zIwzbLq3gT|jIC4B%6amEXnoIf^*t}l3)|Z`ab9>G61t5O=Y{8^p6*|V%=fFDFAv7z zL)Ufz2JHf_?E-w*uRplP2Zravlll*J`@;BDJzpM+#fPr(fkAw5jSqa%i=Wr0alZUM z<`25<=g?nnSGhnI|0r@?LRULrkO#P)M*#ivh}>WO0y#S754!pT2L8a+A28}qE|k+_ z{-CQrVBim2{Q+bC_EsZzb)Vw zpttW6rj1?l1M=d$3EkRzSC|)c+BbneS3hLld{(_&eiQQtUHt)rdV=fk1p)t{{@nRL zxYi%o(`3G6lW~&j6}B!0F3|GA`2lo`cZFN$kzqWBZtJ`&ym2j4-TLJf(yRW+YKJI+{HKFsbeSGBm zU9QpgNr5lZxYl3Vb_sM_FI^Ljo7S(9+iACak^0Z=psO7)ny*}I`2s(#ak=&6`9l-B z+Bv^@zV&PMxtJ8#R6G57?#cTR&@HaBch`Ayd%4cVy-ue6nC%?KO;ApcP2ff?H~+bP z-Pr?Ai`hfh;}2-#gSBUFFW0;FzFw+oUu^H|Eq`nmZMV$IQ{Y=-@m+Zn7_%Q3smdo{ zw+pxkPvjn~S9QN7jjC`yp8)E0(`|bHIYu*e zhxOv1j!zT7A8Wb&plMPW)bV=)_)F7uB2KDK2jVsyzvH6%o*Fp*TEO|#-S=Dj_YcZZ zZjiHBPu(4p#|O)` zKER+p;JW?+`s?&|{~OL+{DUq(xly+p_K^ODI&ai^5xI^UF5PJD(0ilR3!MIao%?wR z<@_Do;i@YKs=uKdb-%`R_JiS?+ulR9yT#=J)I93W-<}(-{lGPkqTX=Zr7o_=HD2b* z54v)XYdxTAJWuET8TNRvoeb%H>0zL?-;nDsL;CxS}!g>Scm(_8c0B`mBUEY7{rVl&p z95X+O++=<`Zj!gh{Gwd_0;7IQrVl&p>@z<}?It-7`Sg$6B=@UdGVeG*x#fG4{6Nde zu-@_X$2@(q9=82({U%{~=a~6VN;g|Q$~ViCYFB6=2I5^ z+h>65kuSF2{{wE+eC>JmcKf8Im&i#mJLo#U0sZl{ZI{%oJOyr3zv2AWgzjIDY1?%y zx5WCEiu~Od!{>5O!*jViI`MlboB90bRQV^A?*f*l#NX%E=X&9fzdtyJ|AP0x@SfAv z$g2gsk@?~0rU6+}>T=)R>XMgHFTVeUa{jg3v7LAOyWEHBUGhfSwb#vfzlk+J1pI4X z&zuhYh_6exZ4dmsuUDN8{I;*xoDTf8uh*RpTzJ6CN9;YPL%=h9z3Oz}E?=+A(Dq4z zFQq=t*7A-!=yu<=@ZJw}?H|C`tDWtC{vM&uOTZD;b$ZAB+ZlFU3wWFA_B>kNzNJ}~ z2k`B&JfLeHz~FrlaLof4aE0R23g;Gd%Z_IJ?0AM|+py&-P*9nHh?&-27{)QrdX zcMfW~)q5Ws4SxxAwqO(Zl$Kk2=JwS&npX;Z#`B-sLsxrX)V@Af+c5?9{Dk|<+A+6> zuJ*vFJ>E~z{DDWPeIbA77Jq)+K6CG}05`|%p{qSG9^c-tNUMwFf|xyYi@zvp?~flZ zhQ0qDDWB^zcQV8KD_;a-@JVy_mf6p10 zYSYvozZ3I}+R?jr{6g2`1{fSS;P!mdG?{ad`MB>%L)YU57+hBa*Yho)f4;%*$}nOR zxRidzE&gPG@3QBDs`#A+EnnRT@`G;obHd+8;O{S}U*HLzU+S6%FvtVku6uOJX5HTA z^E{8t{H4Ht&tHDrK-WBgK|6u-2;uL~yg=>jcuBxDKVY=pS&!`(;7~N4d*2l0!F?=n z-7mmfXxH8^;JROc!F~bP_5cR$0dD#A1o5>P@~F8yfa9?|pj*E#tq%;5}2eV+vfNc4Xf11zqz12K@$H+XEQ12e`HeFlY~O%>(G?!SCMc zegsDQnar~MfZJpFLD&3%L4M%&9Nnz2ouF$!0|xB`uK59j{J=FoU^G9>gS6v(`8v&y z%xgdBY7Y#Kb7#kS^gW&(=U2@esMjytcdV#u-oWVdX$^~$0{>E~|0uOlQxxFjrcW|Qib$d@I1^!0u3+)Kq`pJ^Gy?cKy z1$IBi{$I?0smp(9+`h5Y)(ya=F?;A59~jNQ=H90Pu8-M6S9@U8K6CcKGh+78)gI{E zC*ay|ffuPA+2r|JQgQFA0I!bug|2>qfnRVvj)DGhd>cDA{`h_hBc;Gs=5f7#58d(& z{pR+y$@f>@9Lo#kY7g}D%I)z!3HNXcyeDQ4-Qpj{zH)>;7Xkc)+83USfUfqyX#Bc+ zj|BLoSbXSe4~*K2y;qR}e;BieuJ*vV{c5Yftd?Iy?N>Yd)q#D2?RDG+c8*UTC%4&d z#eEm&7r4qR-{+NUUMTnTYTGrTNBuUOU*JhGztGh$F!1Z_n!u>vlD)r?0{dfrp{rk@ zKmO+RtvP$(AI0pUt35DkUoB~Q3Ve;)b8GK7fUffsFqog5T@&d0O~7^k0Pptlp{~a{ z(4U|3dNf=fz>mc8fUbD}gFKuazt807k^3!`t$x7o#{5E8zret+vugrwFA6)$`Ymw^!Dx=L4m+vIFG@Dr@CxVs)(y6KiYbc4A|#e3+Q6mCqBUSH4Fq z^~x`am0s!i8L-+bi;1;fIhk1RmGgkR8@(DQ$$B-P7H|-HzWyt1(E9=@a9DNTCGh$u zbgefqs5dzMG=c9_J2I|o%^&rEtskBsNB?|s985g@q=K&JAt?9HL)!a0so3-7De!F1 zF3$tH<^c@)t+Q(agL-@V%RGPWINbg%1zq!l9?h?Mk{hQ^lKa%Ia9p8W^8*I?IlCq> z=pW#A9pfZey}-=2VMIkFo*}P@qn>-LzR;yL!6|3vc&~H z7K;mA;{yG94uR9Y34E4zxPC!Cnz8pve*HU?Dz%y4M%0Ke?!;&fqwqDdt&~9 z>fhXFdH<o?ECX6@Ena_ zxb6ns>UBmKAG$pUdxm{y-F@eZ{&argUiohV z-=hBPJ^*#=r(5HBWbQlqz<0;;fUbD}gFL|XIY!{8z4l7LH6Acl@3i(j`8u~R>u#C6 z-w$2m0E0N-T3?`F-*&%AOJ~Y&V*a43KcMd~x2v2b3nn6YKvz4UZe}wW zGw5$Ty#JD972D6ibG5v1yg;}1t%UKQTRT>w?U>Z<`Qt;tLHcdquPE7b#D{<{_w~Bd zfw%d3X@}P95b*uJj^}n+-$THU`+CWqQ#}Oys;}3b4s7~*$)3+V1bo8R>rMyG_@$q} zJ%4$qbhfPZ^}5r6r}%p59GCw&vdh=&P6yuP>!owu_UFoOU#~kIc(1RQ&U4$JC;NQ8 z?sVV}eZ4f`wjYqEe7){;V9$T}^|j{@50%cBlCRgD4&3hRr3;*YJm2T*c+SuE7tq&B z7rN~)lsEZ$-RZ#h`g-jm+aCB)Uzdwb2R3}Y=5*kXe7$~&%jXjLm9Lj}xqNoXiYL5w zs5>2any;5Gb=zMmSNVF~>A+X}dg(H^{bllAU#~kI_(fkYJ>PBre93&h?sVXkUwL_! zE_d5sE~|aL?sQNKtE8rO5Q-b%2nz&sb1y22Y!{@=h-E7rvvx-dg%pr zeIGckdg1y$bX`vX{q;lwZsYF@!f_2c^KAnEp#I3Xu6}{dqrmRpus-g667aU4wW^cZ z_BuYIJT}iH)oax*1)k{H?V~aNSgv^kgS^36!zS?gYG?K3_G~ZemN%LC(fptX`GM=Y z02tH<+|FaKmFv_$S*H2eJbi7vKDF!Yz98_A)vmBUfv)ud2K52gJb>?2JJ+t@T2G)~ z&-VP7)UUVit|JYR_(0a^LQw? zepU_RLAU-uT`C`>#fflgElV%*K2uUUWTsu0?*TO%O?TXc)%bY zIFFkq(E0}%>J6^@6&TG!ZnSy>FZbf)^@gtX1}0ig2EWd(34DuZ*WQ2rebh%k8{S9d za~Q`j5P9cmd=3L+1j_%r`>6lj_jt!T+;bj>xv$Fd7yrb*hsNhPhDuZ9Zsgkn-p9O` zK2DkqRh$ldz|;9%UY*x~U!Tm)0i*zLfenYd3jb)P&Bz_PV#dpLoBMTc*I>5j&Ra@dUg_%k6l| z?Q4_Y+5LMhx8r-CMniu@c|2~9`>tD$jHzAWesr}bZrA9se1YGMUTyodg5Q&*UD-O&J_9`WGRy3Mz8!Ua&Kmd`jYo$0 z%+nw8^mZKno+aBM1wNwXwtwA1}8Td?y!?QsB>X|C7gC0$uHaQTwWU&IdU4 zKiO{z@u90dFlyhJyx&+-d+T?3{wTM0K8$_I-7f_0jM+n1dtfwv&DjHQirGU~dtlT) zbN0a7WA@P19vHQ+%+=#A1%4=I4_)nnQTw{H2R;CpP=tU~$jkB^qZr1W}zTkI-Tzb+Vvh7T_FDmeHZXSAiqz#@@a738Nh+^ zLirnV;1|gU@q4q+fCIMyllmg-@4&mk+w)9b4_Dp<`u&Y|w*M9t_TQu)w5PXyv^{09 z+kcDYi<(Dq|1Ea?c5#>o>})?RmLQ&|$Kx$=@s`NXqVblv{(|oX>p0B4>0K|bIeXyr z|6;op@^$4+;3-~td%q>Mr4}D}rdOV~yDM)3efzc@^%r_}x!-J=?N8tJ9vmmw#Sw=$aoe$PZle0|t3`dXR^w zNAsw!aO3O>`M%~+9B18g4%p5gC-Zj3^9$VLDe$+kdO+8478tib!r31oOP`JPANQO= z?TEO2X3r6%z&^Dv?&no*Kd%bfv7P_k%4+TwTz^?D*TDWjZMD3SSYIvo5F4xI%fQ{4 zZI@KnSiZntLVr$whi>EDnrOVF;(licIKM^v!n_3C_IoL?r=6Z>0;AVMDrKARfE%KI z%g%4P;J57jmg9a)?)Qs;m&W`;*L;C~KW(>fQgime7sc$Mt35DgpJqqOEwn4^ZkoKG z0A1~XQM<}odB56aYPiqLv2I=K+F@;AN8OIAwem&HGdy0?`dayVEDz|K2hh(W0q1ei z1pZ3>*|j^jyvcY2N=Ww*Svu>wF}!hsT`%(2U6hM zwVYQAymdcx^$YaPIV2f&ZlbSnBzMuKs{Ae+j;q$S0@x9ma2} zec?GO=w^RRU{5q|K^E%N~>HY)OLqPuVy3SK?vgB0@*;Bk&XF$7gU@-N&Ad9gV5>$zH@M< z=F`7_ro1_pm&^+DD$TOIfI(gr{5~eyqY1RUtRLig)vcV@Ei^BnwinRaYnJUtaLsFM zmgdvnH(UNDmKUxo=>BWBS8cZC1q|}4&({6a1X^C!5AwWZj_pUF<^|NefSMOj_ajjA zD$mh;V#oa`j$a=47vi{Ih|7jooMFfPA7NbhpB(qJ=W+i^ZV%iI92o7Cd&z;HARp_L z?~wx^19IHZac8-WI|F^)@?o^sF5vf9V*9~v`6M~;_v9npGDZ&k2GIZg+n<5+_g7oQ zQjg4(4%uC?>zMrgugw@2`p59T1ayo)I-cy~L4`m5J}v*+{kq-0!!lj{b)x^%ZlGg^ z91YwBJej;a179=&2VPI!hxg*hfp?M*&X9j12R=wXGDCh$4t#=qbcW3700*uC4vfu^ zo#eo4$oJ#@J96MVfc!lX9Y;rJ%KhNa8Als-yyW9(X2($z==ZC3{dk>@{)l$Gxqc1K z?K=l&X`G~C{l9Hvo%hFe#;); zkAC|Vjcffs-)|M`?|FTzb{sT;(YOtFyZ|*WP~!r%zWXgs|L9!#KI0X~xyIb^xXtFO zpC-_c$KStVyYhFe?6@WK=C7)iCqT^usCfYCXBeo*>&QIKqrYRm9E{~tnjhvzQFPU2Kh7=*tiC? zdi@amC ze4QNFBrmU))lTQ{=#Jk&l$*adP04F7S@BtN`u; zo>h_~J zk0J-^_G3rN<>Wx!zHhDk2|3X6Un_4WA6)D5Un`^JBWqp$z4BS|j$W64uY8NV-0Sl1 zm7kLL^}76f<-f?sdR_j#va|<$f3M4bot#YGvCiecPIi%xtaJIVlNXVXu5C|~5Tefok5;;ldFFEXc>+ShW=flAcc@N_NOH;Vcn<5_t-|LX? znSKuZKxK+NOsr0kap3NnZI{&D`=-Da^!&Nz%y|F)Dbh2YI!nFvAt*-j}B8 zJU9&Gd^TK}Dyv~XT%D@(9Fchp*QN^RPa^Xf&ZcUfo#km7FR4zh=a13&HompT<#u@! z+nwx{xAPdTPm?W-3uHOh`~NT-^N_=$-sVJI|2ezP!7gEZzQ4~At$(yjF4TD8{M0UQ zVmr$x9RG%K9-#REH6P#@^Kr;>U;m$SZl~*eXWu#6t@-hMK)_xTHiu{apg^*)i<0k zhh>J<7pV0DYJYLaa$j$AqV^Y8-idV;<0t6d+Fv?m%Ih_sLVt1PO`zpd=r5I-mJd+l z0=2(594_epQ_k(Qzc~BO4t)23`C>h${iP4zPtbe|{l%5@{KfJu^q1N!%NMBm0=2(5 z94_epTbyyUzqt6FIA3D@608T=1Nuj1%O0(7p})BDCeZ3z=r4`gR$rjj7pVQk;c!83 zbE5VaSKc`?N8|JN@wC5;&5_S&K860`%K3h$rd@39rNUyvHs%9xjwag3;m@s&-HIBPr$XmI2;CQzW>Xdakam=_?=i6 zvwlfszV(;B`SO!ke{tnapw&0*FG|3CIlG*~>?;{K3S@m1k@2kxz z7as_sAKs_aemb&Lu2H{*c5vmqk7s@h?a(m$VW9dQS*CstHkRr7Cjm0<1n?K5SPyL* z*TnX?@)qz_jO)HfcQA8yKt`GXIy()#$CbB$w|I6*X}S98FE5vOX+7w5ay`cK8~+yP zgFveX+2r})Fz&-W0E?t*+a)#gH{4jR*WZTH<(daM?T2NB>76U&Utl)`WS-Qy{yA)U z#o6_nUFYBm%{RgQJ7&~BxC9=l+$NZ&Er!_eX#E2>Frb&%NWfKi*f? z_CLbqPv*D(5w87hJN}LyJq$OFaP5DDYk#vJ#(T+{f9ERK{;OR3jS#`6hL|53TLLN}kdDEx*b3U#0mpv7NQQ)o-%>SGo2#KYY(w^RKLS?Z4W!|7zF% zPQS(UA)vMYYRkWNnDU0xQ`^21=fBK1DXnq+e~m1i$?+`g|4o!@-gxdbZ1**mcg^gF z8*5y9uW{{dcEeI~?Ok&1U2^SRa{c`<GGLu=aTE^CD+cy zeqOSCrR@55*|l%kwQt$AuhVZaeF$jnTXy~XFy#%Wr?!3P{<7wolyILD?c85JQZCl^ zwf*1DyNPmbU!14%FYgzXBVGHN{cz(**S<%(_BFdYdb$w}6jP zA7?4Aw@y)>0-sWyrIX`T6FUFOWrciy@_GP090Jan1%I2&VUjr=c!H-7m8Qxi;4R?Q zsxN(*Rh>u6}`mUr+b_Hla_)llUBjO;4&K8hAGOWo zU~QUi&+8<-(>wuulG|+?*Bj4CW12if9r(2Aq_~dZbl~rOUAk<0;FQ_w$F?sy9oX&Z z6O}HRqudVcJ=HGFrv+S0y}gdAo1QefEKlG%^J95tP6r(Xu815fhxlGA~w`Fh3a zz~_1TM73LXDtCF-Z~)`41-y{D%hSJqbUk$5KYBG0*Du~mtn|pe#A=WH3$cdh-ih@d znE>u?xcf_4kNe%Y9_g3^|Lxz6t4w##-AtDysu!Q4Ok%InkZH~~IS%fs=5<@D4927bZWuc%+Ec4U+NFTr&Z+NHoh^77f&jtgCnU!Z^d z(oX#XqkgMqmjd4q%h#1Rfq`Fe^$Yasxpa20H(qGym16 zXnj-Qi`0&_pPc`i&|`L~OqDlq`?412{h$dwwtZ5aYH@&f#^OMa*`E2K5lpm;F_?&1Hy+Qc@`O$gO<;K* z`=R;E`+vpe#}s&!mWS=n=Z)-rp~81Dq3iQyz-I@rU)^(Y+MkDe zv{*do8V?w(cfh#<;d4xXq;|F*$?G9qwts;)#QZ{6zresRxIN$371jefXBfV3_GjwP z=9@fT)$CH>ty*r+*R}UA-#63#0gU#KhWp+p@GiBtcFOIcTmL$YeW}~lXTT4uePMkD zUG0H>`~=*_$?jm>$?H|K?Fso%o<4PE^L1Ha%l zP9DZ@rN`O<_=i|KKv%!Oz%RJ^1^VM}-VSvuPl4;^^SI&Glj9PfgHgZ0z^}9Wzl^RXy zs(Y%c4_5izWfM9am={gh<@nv(n6T@GO`gjWwkPb9!p?+!U)Y_n-+|Lvu+#iN?~9rP z4_&Fe!uzLm9#;?4yx=6)%l+~G&;RnH^Z%6Fi7_vNhwt<(s{Bro)}JZD0r1hXi_ep$ z=ciZEV(IxwzyE%gY2I(+`RT2c|GD$i(O(SfAoKH2`F!N(zj%Jq^RO==4?Pe2x5{Vj ze$lMej^`!tozm}fT~>X5(RHBw^uXKPPHcYv_tEv2pMM7ZrZE!iz+Q!23q6ddrRzC# zwPzpvq1%Q1H}IQJSpGpS?IbX#MSlS!d0qg$ai4h9QFO#11G&ae0OPJk1mTo zSY_Yqj@ky(ZbAP(7(~;BzpW^w1<7&`8=CbYZajn zz9Wg3`_u32o)7r{ZLxr_*d!(>2Zr2H$YbKv*T2iJccuD`g>?}7VWFTH;bJ+#L}v0mu%qwBQsgXB*vnUC0_;1^u#2Q1_P_dLL~om+5^2d42- z{p}t{TV>o=UmWI-;Co%yd?_2;FVcEYWz++2t;$d3$`35$2lqU{`8+b;Zm0a5JejGz z^W&(M#W>*Cs^X|zalk?xxW@tK<1l`}tK#fxEKyjFyCwDu;!LwHK!2?)yq~%UPOQ=K zP}&bF_xMXn@t4H-OOp7sE8F{ZI~d;A5x(=+hgapL_fLB}gY~NTDp!24P=C1BA3Wdf z#HdfAKeD8IUX&N|f>-60&RZUbpYpurTg+P~8{xY8>6HJuc}sbolFnnc8sA00ehz$( z@?E=MG}HZPo$+-Ye7p4WbM)xpx@fp~{SxhTo!n3C?4Y$^cf?K>W+V0pp^e&8!RcDKj@5l?jYxA~ z8+|aJtu6HS>49%?U9FXjTj<^%VBvZW?)3xH`ssT%^4|wP?Eb{)KZ*XyM9=G``>yiW z1Ml*3u_O<4W!4A()yqSk1N$1+E$BUPZ{mNqobadXF}DXR?c32F{8N=Zy4!=5_7=Wp z(*qAZxT0U7yFFNC-)pkoUv~A7?;vkf%4o@WGU=pvh$n)ue zwW3bVpZ>EX#HYLvA0GP8lG6JMmc;jRF0t^w zg3|jTyP>=X);*8Xdt}hPzF;99+~a}i`w<5HmGgzl4}j;$Z~oq-X4JteQ@tH^@cLBm zL>+u>s&}IfemK>$sDuBK>K4AQZ~**qs@I|p4j-E2*@!xLc&ay}4xW|j?WluKO!ZFG z!55`^H|pSfQ$341_~}$EMrMIHQQsyCtzu34AVs~L6hoK$Z|9ehTrccKoy zBh|Z62Y04=7Ip9^scy?-{>$y)!;*YzQ3t0|o%MC0|17s>qO89d+;@Q@s;) za9^r-qYjQ8KA%rIpSc%Z^O?pGLxbm0FJ+88ZWHsFP5e%Wz8TctT!-)D!0U&E2Yajh z`~rV^zU|>W-zGn&$j{CZJ63)`{q5xERgcSHthiNvULXBj9{rph^Z5_-JRkke;C{Hz zqqwP`Z{W9FuYYIz3+0FB8T-ly)ZY}(dHqTpe8iFPJ&Wy+;^3kq_1p&EcL6tp=bc13 z>w^y$2ai?x7UsF)U_*Qx-+vJYuM*$6#GWAz-Xy+fiM>o5yhZ+omf9P|!S{OkQoF;; zc|J>gi1!G2`7-;tczv1uuQ)hS6Q8tG!Oh?W;#(%|W^wSX;(I2UW5B_0d--zig{geG zEvi$_^G^>3H-pZ%FSoPB!AGim=W@GI9K2b4%L@CbIJi@M&kEZw4h|iq@|AWhxEVZK zeA`O9TpWCw_@0&a263<>KD5d{Ar9^oudlN2i-WUZx?kT?v0txazrIBKbsN7QYrlc| z+lhX|(r};fG*I081^q?+PCR|STHgu!72C~$fjZrZehLg9Jn>rYf%SpO!Y?8 z!Ivlc)TR~oCirIX!(dhW=Ew0P;_>%kwJ*nSN9~&&$G$&k$MSJ}7ssQHzx+6UEPh_J z(Ckk6;W^9QI*vj8X+Ips(6EC2ayqw8%lkziG#yOv(Arowq76bBzS!$)MskwU~9lP zgI9o4^@Hu%;^58Vn+~@3ii7`8e9OW1O>yw2;@b|k(PQA?5#ZGJgY67)@KNGB54NX? zgD(bKc1Xwrd>cH^L+fnC=fDrRE=Id-ImGVbzs=xR!Ks~x*zw28-ywD$IJM^xyGk7V zOYxyY?TzB#2gU1$+Be0)pNelf)Yd!z4xR)~Z8_Ag5(ocEeA}V+ZgKDq@u7A0Z{px@ z#5b+84adoTot+0xZChv05eHu_zH^=3B@X_(_|Rdt@`18H%uWEOwjXBKiGwY$RXaSi z2lz_(pgkIg`}i;izSDJ$7WAKP+#dW$x_uUP@C&KVdQ#u-;5Spf7IknY(e=FK@8No0 z()%InL{}US2hZnNo3kVBczAxkzOiwnod@3+QSZ@_zgh6n+HT{FDE1)mdirO*AJsDm#|b*qKA;46Y2;?`q`Fu z+!wLMdQvsuEchaH_KUaYj%L_y4!l|V+Wj(PzZ@0%ANUUGGwOdC`+vQCNIagmrs{nE z1-=6wfhyWaQ=E~Jny^`UGq@=u6XHMvzMMveReV*(0K<`zB-RwGF|)~vApi3 ze7`PT*CKmA&v72od1-57*d`vN^U$yz1d^XZDL>4DGnJj(0dVm!*zczRCP*Y|+F-ZWp|4cDD3J->Ui`wRE62JtL>r&aei-G>C#K^d z++UTR?$114uQp+ewSBptqlfk_#X+JAiJI1%K@0I;vd+zVM-_rK_U0wOk9<|s`3VDd`9oSJ`Y1at9Pt2ab*j~>28=3#9 zTg=;0{w1|%jMs;MHQ{-_t>$98K=H3--Sj8jkLbJ~%B$kfPA|55jHfLfrb4C_x%J`?WfsW7Tfo${C7(J;qD(S_=mfHu+smo#kQ}?f4AsAZ>Jr5!+p@X zY_ZMCE`Pq{sJJem5x!?V3l{oQb4js3O)shLPwlu}sejDgvZT5{b*i`5`?0(~?OIaZ zpD3@|pZU6m*}Y4u`%|{0*q`8){mGVw{xrO_x<64~8NadA?<>uo&wKDsRlo8ZN%Q@X za<_~9D&H@&*Df9GNAU8||n@er6{KV~bpGyb0^p!f!2J1e#udLqz(bL~A#jE1& z7+&W7b^mfw{$oFAHI~Ko`^)TD>E(5jlpX7hyid8?gH`su+N8a&DlWR)fvH^!uA2A3s&>%#0`98v zhwlEs)L&lzebe!NXlK&faTY8b@7>AJZwBX&$?D@hi`$it_u=K$$2<33E03F6`2A}3 zsO8niJLOe&JI-Go`f+2qeOv7i`?2oh{@mNePhW%MN%wif{A+n}zJjjn-99*en)QhvNiX;oFz4Z_)La_piL&TeiaE_rMd}F3kT1{TAJi6EHoFW#{X7zzf|j ztgn);9@qyjb3OD&>3&>+h2sjYcG31%`u1X)KdtcglOFn+S~EG`8X4EQb`!G%n?9s!1t+wxVR@j}gD7{@JK?I%6-7qR5H z?S{O1;7yc-bvg6%3%xhT+Z9Z&Kl0Tv!A|HbV~=U;TU2P^FxtG#`D;E&wCG>)LVJy>PmYp%9G zR<#GZ+ksVft#-^CTywhiLn&``w+E~2d!5yGg6zus0p0Du)K1??3H@SqWxp8WKDPdN zZIJy7e)aq9MWF7Zzv`N+re4H7^S`_(+(*9`UH8%TcW*7M>)6`hy#wg8;BUeD#gYx!>9gIE;9v92S2j!g+J5lA}1+iRwP~IJ}OH>X%K9-9Q z%Cix>M&;mhV!8OBocrd_RXOGnyn;YSNyVk3ISmg)**egEQ z8MV)gm&UI?y8iNc{LRj2-z^L58*INB`~f(%hxZtq2?y7KQ$q{wEOGEs@%lo0hB){l z@l6Zu-QwVF;#(Hl*Tlg+;@fx+!9(HTYH(`%LVJif_%QLE3+?IR;0wj~EVOrtgC7+i z8nds8gFh6nkJ->!aBvl<_e-B54mQNMjM>%V;Pv9$#_S#9;0M99-|dE%``w%9cb|>@ z?rXA({Z7x{{t$kj{*SKq?}PuX@)DCEBv6lAF$vDp89FQuRmJX zS);Z>erCkX^8Kmx!KyG&`!pD)qf4ovGa zh}T_eQ&sWML!L_uc71d|ztlsVfgfW&Smg)Z{eWrwR&9kJAARuovYXM-lC+<#w&_ZL ztE0cw1%HD)vV-hRRd(o}2bkuO+ok=n*XH-Z(m42Bl3RLl7zb~~f8HPUdtkbrNY5Rf zH_dk2N9>c@4%`K59nCk~Zp8jWe9wseL>&ArsOQ_XLTC;g+Nkyj>xDEftbl7=xOpLd zw=J;s;^0F;ea}GK>$%kP!TO9?vj5Sg=y!leC*>{pqqy{weue8|^X;$uT*2>RyE?Jk zt&RBG+F9)N?1S!?_o=Af+cPg_KC(FaUtH-wZSQB{zuewGTwr!~Z13k$p11eb=0ZPT z=)EYfR9vWNAZI1bQVh(&q&~=)~bbsq(;`P$+BIx?d$B~;u+ScPbuj|_fVRzJZ zy{LG)4*Z(RXT)?raJl=J?!UjxDB65GYJTx;ZC@|>LwA2*>aX97=jnRp2AVJE$moMV z^0?*Wg!k7~`Dgu(`v+71THm7#`(S0hyr1oNRsPUJ{SPbn>vs+-j0Y{=>*o1_mHBpR zHgQfxd!T>h2=&LB9jx*hG0kghAugEKL)%sT-lgqxKeEsLuW-*Z*JFM2{BmqHj`g^`=CO8~w@c`EyWN}4 zKgUMDLCEd4c8>Go2m0{2=&M5>eYjuG91?^)uU7Ze;3qrP7Hj)>91Z-S*QLkv zbqlWJxep%e+lwW~SM78=A=y6n(?a+D3a0%g&!g8k%Px{#J>)yEL-+Fpn4TwEaQ6pR z`fG2rCs+9Eqw6n^Gl*{udsfBvEp#8R!NPc5YsC6A3h`TwMmV0q%Hz3qp|z^wpnDv! z5T|irtmlP=IQ`~@g?`>@Ul_-w3oDQFbbS9O;%j`@dQn|h==(=nC;mSd>wGqD3(nK| zEUq`t#_dRWJzSO-=83tVe4Xl4^kWaxd3nV46DM7#>f6&<%Ij2fKlwUUtv7!SmopRc zLmuCfpJY9;Zy(p4P7U$gvGN6d{oSSsJ4+n&^;J73>@smMtgl*RPZQt5?|52YRbOn+ z69*4)Xie>0Y_IX{7uz4iH!ZQZi-V(DC%%X8gouMn#kcXiqB!X5)>$Y1b#d?rmG4|; z`^3QqIG?oNIOjgF_$JnSHz)^vUHi`EcBnWw<>h=w)yr4d72>RSJyRUqBEDs%O^Jig z^zxPVL@!@yf9>U~>^WY(%GzGO%BH=1mA%HxSKC{?e6_vJ%U9cNUcNf4i{EyTb;ZGt zs(fgTeN!C#wD`_7_9JodZs!NvADtg;Uv++nt=XjVL+szgw;XB@76Xz4&v!1wS(o_*aqu`V zKhplq%X#0X_?{!}m*U`6;@fIAa=!f4>?z_ybz3D4-r(hRJKoFd_EPcsQFg94_;=#l zkFrOJgYWh7^>&??ueXnR`Fd-4`FguseA5Pdn>hGg@twT4Q5^iCmmh6k_Hx$ec{%Iv zy!>ceaI)-=u~{!a##W1OKgRwj4z9U?d2RhzI~3duo~rVl$J$Ba;JIKrE_^7C3;A)V z_2T#Nt)my}I2@X=J9Qj_`rFBIoX)ew({*^_<@MtEaV!5SPuGu&r|Zx4yS1;w1ur7c ze4VeJ1G!51gU<%_oW(1}!FP*q<2%jb;N9ZeC+%zE;E%<3PTH@0`6R)qZB^Swlg&hUzIgQK2!L8!k zSJ>Oc!H2Xf6rRGQsrP+x6k@{@u7o#J*d{xzf2tT z@p{w2_EvFFB=S=W6@-JJ`N<&^15T6AiPVzo#qwF74~w6==40c%Dy)+vL5-Y25bV zzJF)I$A|p1yP2mS9`XST`E(Bt`G8MJ^I^Ta{#uPA!h6KQcJOyGm%%*8aYSeb(0|{K z?a*o;5!MfbkGb9J9o7$bj`00H3%)Y=Q8%ETN5uNXcFT?kd4h#JjfcSa)B5?>rg=7k zuJ!S{BG>x(n5SQ$Ykj;D(E9j7K3&$`YyW_Se6k~p`B*LF1E%@3YPC>*Fs=WNMlIwC zelX3m9rW35E#_Cxv|+1JkL#^jcb>LavmWvT3;DI{#r!(;xL@nV{IYuNr}bif?V}Wy zapfrcr!>EA&|9`X>~FBJziaDbeb?KT&-#A#{-^K5di#RK{MX0)*BA0{wb#e~$@`T< zKZyNveXPg&LOphL*N1$;AEfzOxL#{Dc<-_HJ6PE7%?%+hu#i`KL&ytE+qKo%5b^>G zd3860yuiZ#&o;#N-B4(c9p<+g>8D5A(8H7CyAkx+_R+=tZ^wi@!9t$3V?v%_A%kOIjz14YO%=>|M zWANwwZAUlSfv=Vx$Iq#uN!?rSnxB2k_1S)cT?yX|J_X#Dh3#6k6Mef`@WsK8%os;b^!AtqUmkQd5B|gbfjRKi(xd;m z&WZL;@q8Yz=R~^$z8Tbcc&>JmeI+U1*W~2w?RS#f&2~<*eJbBLBR8~P*nSrLP0(d- zJF;Lm2aaDlAAets$*cS|9~At71%K@adHh*0_1Ee=C_D!Ru9LrwGyWXZj&ATb2Og8g zF($eE%{ET9^FFO{>yTAHfbVDqeGWV?-M$m_R(5j83oPVi4-R>Og}iDH4tarTUaiK1 z-Ty53=#a0%5&yxS*Bto7G=BFK*Jth2V!pLg!}j3w)9srsR`;}!7g%V=?6i;7Ny|dtlLcV&;*LJiY67mHkKisHkHO}Epv#)ke z+&|}pakF_&Vcgu&4&`&;cG>0g@ou!UbAugN7;kIm`gk@AeoA&c59jUK;ANTo&4G6% z{_brDz12O}G3={wf#K%IeattTX1Sy!=@gk zc52uY!KqD~>_&0WuY;`f0)#5`J+O6VX zSA5fj_8;P)-)E{{Wd9`&E`GG^FR}-Ko5AzMw_I#*6bEnf@{8?HUVgEy+f03$4-5SR zd^S8hk4Zahf0(u5n?Y}6G1o2G|x2KAOe=WY{ z;WjM}zD0c7!)?1bc>DDeH=Ze*HUiseMNr^y}aHrS>y%(64_tU1|$1hl9HQo!WA# z9VQO`NqpO-_F!@FB5-Q^rFMxp$WO+^yVRQE;9skJ=n?ihaqt7;^+#A&9Q=;>mPgo+ z#KHd&-~LFOd@LM125i}8zrQ>OKJ9VZPrBPooK2hU1@O(F@2BmX?bYJo+rgYJyIOp zD!%h_yIvf8nfTCS?eE0F_ls|Otlc3Fep!6mW9>WQ;LpW(KGuFO4z9dP_E*>u;AZd) z@l99Q1>)cn#kXByPZtMU;ybUfSBiu079V>hD&pZK=N*)PSxMUR*L z<7^GM89YtAex)_U!7IeKTxnax!JEXlUuiED2j42b=SsUp9Q>qs{VLlj4t_^`%T=~l z9Q>{L_N#3439`S+4g;t5TxAas2hSC+Ki;Oq!E3~~Jl>um4!%Hq`{V89;^4c)_dMSI zK^*+7c>M|XMRD-^;#;0zKNbi1pg8tVuqEJT@M!TpPp}7zgO31P-D|wR^}ws(^%?cP z--B-qmU} zL;b;zd3mY+&1Ucm7V6(_hWdkr`gfY4{$Qd0-Kc|w`e)5hf3Q%0+Y;&z7V2Ny61E4^ z`sejY?_<9<-p5YY%{_CW+2!1qo7!piR^7)2^|zD8E#J5H`{40;a+RO|i12*6-ixxe zG3x8rw7%@qYPYrfuQ`K`v6bhnzYL!P_ef{`h4}W&!*INg*>B-mueIihdQN@Jw?6-VnbX}j)t*baPKy4@b$L$2+>d$nC{QP>XrZMt23u^oI3+kt0*Tbql+ zcHq_U`M68$McQuL5_^lb>n@3Lm)M=@c6*lE*R&n@V{KPk7UM3n@h2tz>XWt}uJ<9G z2X1Xn#<-K#Ot;&%-2O(}fp6D#-Q_Xva{F|;-JTV8ueJk!q3vobW89TC`Q#+-rd4)4 zd^314xV611YzICy*=`r>H}to+!@4H)>2Bb=jD?rdYisSD=zAO7#}+o%T36U!Yv0oL zov__5z60pn+dA8?^4dE4ld!>k=BDh{*>S=)?>`ZC*4gF4?mBx0IGx4&&yAY*r(UyW zFF~)*sCOmf5xV+SAN2bwGh&Pj?OOQmJor|(3-3YdcWU+?@%Vdxs~gvCfR(?O*VfxD z+P?19vE2a}*VcPpeK0()67tf0z>jStAF$_f#gcUZc8qy zX<;VSzqokMXi|+owg1`2O@%Qx;qrXyq+&6ew zl|OX%2d4h=ajRE5)t)4~(EXBjKQ-74?YLg~Xq6p$sOP!WcI{2JTXyC4Mt3_f&9e{p_ehr3tMu$*+f(HS z-Ti>6pH}VSxUS-2`-AM_dc0QSV!w~v2gCaRu)eR=j5;`Ut+o$(zQ5A*%sA!cb#jYG z%xX-Pb)H#Hd48VJdr7noTJI%UFTZQ|i)MNczqq~+bDH!SvH9a(--Xd%-fnpwz4o|G zY5V)M=eYapQ~u<{pVk-pdKoZ1{#)JgaGZdZ>s2@pJf$iQx-#v9g*e%g5C=@-^sTr~ zwN+ahk9Xc1&B$?|^`?yPEycahaj`PQrMwUq9@fvSjPnMuWIXDuvA?UT2fEh-EcolL z3H1QedbF}Np}oM$_Tu-+_gBS1_c&l7PW#Xh2TbGW`?C|bX}@RM{mfVSUM(G_4_3BU zgZEff#YOkHU>bMOk2*)%x2o*WL%SSVX_p=c`>`({2dilOZSgobK>6S}Xb$`O{W);) zb?o1@`?Y*O)At|5dz}SVlRhJs90%w=9>o4I$e(_DmbNeV6Lfj#gO5r4slR(a0mJ;V z)KA)r?W!t&=nF!itZ>!kfq`~hyi*Av_w z(xjai`hWF$=9srjj+*}}uI9fF2GjO>!RhyHud`{de~#_-GRpJz+KE2BCCtY^$xm$J z>ADf|p({iA6h9e?m)EKM@>Rw1x3Qhxd#LTF_6*tE6%YI zg}6U2k?>wS_{+(=yL>lJm<`+TQ$QQBLxr^wI|H0TM(fRiTP+s}m0i(!F?#<`MzxMTu`eS^8$Kn+7;64VFwP{3ElmH1%GhgFJQV~2L5Ub z?O9d+(A^)H`pfO~eJ1VK9{BRA`k}i$SZUu}=*NZLXZKFG*HMzRFS^@H93VwukJklgXbk>ZSwK^!ZzO{7j{PNL&EN; zeNLE-+Bb#9ci@DL1@=2(dx0%`2H06(M+>_P>@0A)vC!+O?|75RL^)%B=LLT?b6Hp1HE#8)FwQ> z-oLlY?L7SayZ}8MAEob}psSvJ@EdL?#(5I{J@L}~NAF+L7W&Th-emjTo)z^)S7g1n z?Z3S|2MkpHja=cYCnXp8Ezq&V%(Td-RY$ z&&4MBx6r+vz(PC0y`Acrx4@vDjmhxcd+-#G^WEb47Tx23g*b_RzT0Ul&0FGofl6`G zaph5LUmjO3U1aw3M}~3bTFUQlT+w{p$E9Tce)Jc^b;m0y(|4?1fxW(C^)BVLcE4z* z?@M`q1#g#L?yu*4sGZ}&J(Q(njy9`;B6eJU}XU*h{W!NT{O;Qsw4 zu<-pRxWA7EOurL1XwOc3-zm7)^DB?9F%QZM`w8y-0xaYK58tgS<$><)3>MlMUNxTf z8hjt|SylaXacr0TyHV)zhxL)yQ!uxjz`v=|k16Zv8 z{QDczc!PGWh4&mD05{2R{$A}y)WK$|H=_=|G}YTt2X9ODPSnAFPxWrp!T(M5Eb8Df z&rb5;e5U<)0K7QWYf%TUOZ7(7!Iz|ZGwNU`)!R`AKbPvAsDs~4^={O`-==yNb?}hq zr1{71P}wrunCkql?DYbloa&9JgD*|>X4JudNcDEq!QH9ei8}c6RPRO|TzY+yXBKtv z!KrTXJ5=Chsa}gZ_*bdkh&uS@RBuKdyff9?Q3t<~>Yb>A|DEdHsDrEiD$PIY8PA=j zy2bBPfmft@E$ZO&QoRv%@YYmsMjiZGs<)#K{xsD)Q3qGvkmT8oI{45;-=)Q8{O#ra zBu(_ajTQD1VRMDOTi9MxEsulO)Vm+9$wii|cD^;eB9p;JxU%AHDa>=d0jtAak*|1-yXu-zD#E^T{jHdUGHI?J@_4Mw{b?)uUlQO@x9YjZ^Z4v zy{X=eI=Da8+ffI9p6Z>bg9lQ*8+Gvash&k0wC5#x+DOcw@3E(PE$ZNsRBuEbT$$?4 zsDp>3dOPZ1E!8_w2aiqlZq&h(Qay`0_>e^3Vex)5xKVn3zuD&R(_SLIJin)0fBF1z zaK39U@cpfM?Nx54y`Rp*=kJ65T@U*i&C=%kqwX8Z!oSa6WlwpS*DbKrUUup)ebD<+ z=tkTZnb*A^Rp{Q2Ds=Bh6}tDM3f=orh3@^RLic`Dp?g27(7hj3=-!VibnizMy7!|B z-TP66?)|7j_kI-h`Tf5z?tk82R<-|{@q4~tVgJE>9;tG-3**_qZx+Af0lqUS->uHW zpY9`ueo^v^uKuL^njcN_8Tf6E#eB!?j--6xmvZ+D7V{ko{SCd)-{9U4!9ssa^g@42 z^g@42^g@42^g@42^g@42^g@42^g@42^g@42^g@42^g@42^g@42^g@42^g@42^veF0 zjrq8x`)1$p{ijhZ8E??T{vWH}|Bdmm|G|A#`ybu+KUmoRa7F5a7kx(KScseVtMt5j z1^q8Quj)HS`p)>fFAL|@Cgu5gb*j#qVsWs>sYdr_()+;T`$uy;QA!$jS)NIuM@o;b@2RD??xTGCe=Bw`1~7uZldcw ziZ2&0|DK5ciC<~{GHUNr`Ha~7`9Z%!ex%9{-R;0iyKL0%4tAOR4UTX0Fm9CY3!#U8 zGiv|td5F#Dp>-yH{|nsb<)z;-(e-zq^CRaY<*D=AZ`>}_Z$6*-^IPFQ0Nd|jKkEFp z;3l<;Sdve3q5XsWf|Fh@medp7+Xt*_AN}r8mt9>}i5pMR_e+AD?%IE7D{ZgL#9oTnyU(X%X2fV`VOW$2W_x%G_?w`g)um_)CWsmOmU}~@X zDqdf(Dz9F5!futndRA;Fbni!CVZXscp4|8GJVHNeC3+fvzW(w1Dcld=?RKU4KYH-H zsN{E%_wzpGKXNrtOk{7o?AV*PO<|(s{cbfnE72?4x3MJjPw?U@zv%84Eci|ID!;uN_etch zd>o;Nc3o=QJf7J6e(ANB+H0!p(A^HKveUZxk6bD7s~4*Zt%@Y$95 zaSvVF_rc$Kxft^(c$kMRv!NHrF6>Wj_b2V&dX}--;QDc{&G#j=U1=QGcOA}k-8Ua> z-^xN>J@8WZU+NF&o)=ii3+{P=g}mTZdFi_f+FsvdcwSPE-AbN6m3tg8jg$AgUX%MO zN&W*n^w4hAcKQx*_+5niFCMpaUZ7lmdH=}cwX)#12Y%JR8e?!RY) zzjM3ryPEuIzx2UHFVub%(>yt}i}a&i5BpcT`ib-hyDm1rpVRrw#gv!lGnaCo;2$3y z<};6@eDhBG|2=<6=PUXhTN&wh?3RHsm|4j8- zoWFp7NcF}7d$sxzc+iW~j$+CA5nXv{y-<4pSL=mx{XuRgHs78ti|bCnbG*EC9H6^B zSn!+Zso&gRpYm%4{<8Vwt{Z;e*1FB-dwKcy*BFoTLOi(V0T$xHm9f@qR>jkN;_Zr4 zSFMxwLU(^)Ar4$EtNBE@KOfpz^Nf7^G=6^E^qS-L@v1oJZU?4ztwjH>w}ZBt-!GbP z{GiGoy88nQ{t~^)U#l5^R{RV4+_n+ZXam^g>>VUYS>OiM^&OFLbq3AKa0& zTMO>(1>Tmn7u@Rs7V=8;LSBhpm6yJ=r5@J?7f@AdGrmGr{~dUPKWDwtykB5^^YpARXPg8b^o7R zhrN~a;4ZeG1OG*KYxj$0yE;qUelPp=dkA~8CH51cEw$f))3v2u-fD#JlFfmOUaa;A z=Z}5uSl(Ic>kenZgH^t9#upy8x={y@P4z75;3=tYyzjKD-vgHA@8uG;9W@$;Kh1N` z*7or}^{#f%_jZ=qBhmMEm)RC!w#;r4+N8Z+SmV1~!uF(n0i5oJd6?!s`dxeu{5E?2 zJ>*@@!sZIQ4V-R=-*r}{fTv%Bu+dqUmn?OR#=o)F&$s$3UOx!0q#{%pr^=;(8{ z%KB=z{CA2*{0+M;ZZ=>rkKVRg>VXM8$_d^f-Q?efh;}p8jx52{oJX{^S4|+cj z-JEsy^Sbx*3f=p8qWgLb?3T9Y`W|=QZYM@OxaS8J@`HPRU?D%a=Lc5i*Nyps53R}%J={Mj<%h20 zy$@b3yOU=`dEPPR2Nv>!dwyUcKe*=yR_2$*{J^JF<%b@wze@R`dwyUcKe)FaSjZ3V z`GJM};GQ3t=BMv1g>}}e;&WzUo%LY9H&*+2tnU%L&hysjoXpG6)f4()VZ4F+xB|8> zQUCK{cK&*y8U2FWtNfz7U$Ed8?ta14Zwv1A0AF{t;uY)BYp=G?C{CT^)BMpr4w%Ln z)V~|Qy9EA==UJZLM0?6B?X!??5B$E{hjthoH|QQ8thBd-yuLl~zpCuf-5#v6@6`^n ziES12Mt3_fwQIq>pU941PU~S9nBQ*=-mlI6?tzEN?~GX5AEIB%Q@?}uY#$WX+k+>$ zeQCWtdKecEDvl%Qo-dgCZNdHi1X#7+zLg#1$4L*I@_0IGl6=wKFPQqx^X=Ih+fvnj z=xzt5b}hIcmtgu`wt>Ie8hd_~KXms87W~28ADABJ1AmP*_J%5d= z4R^m_>R0}JJ`JYNK}q-PH!!_^%iFirhQe!v5%UW+<7_R_?EBkJHGsosn_cuJzD z*QZbB%u&8Ry^hP9=UyJJPyd4Q^!l{?J9TO=Zck7R# z=hv6}hQsf}`aYP>kF#Lmx{UkBejSv5pZVGa@w%+OH=}&qRxLOtfX3v8$A7q82<8qWv9=fEEYT{PQTTWG(L4laDT zZ!enZxvRC}rQebCT$b$n;3+Df5##y(h4#w(i|&8>{0%IuXMu-xOL0BR$-c0Q-x2wq9Q~pX9^>=PaNj5O zb3<42PoF19Gn=r7dU>fm(L+5-e$m5vjR{-#E7ha4 zUZb`s3l{bh-2H-8etXSDcD?-7L%R&x8$Hy&VvNw)Q|Rts|BUM zX^>ygLw{Ig?{&SjA1vI5KLFmL^1NSmq7Ht&pvUJCxDWZORIkN#{@~hIq<*5_;r?-= z_iD@RDdOdNqlb1}R%*v(;l2muh5H_GZx6809&m3DFl~>#|LMN;bX9!x(C(%9=srII z-zU3#{Wko2nty;{{voFR9rFSUdBMYex}Utd%j`o{d7*n=V4;7(eVzrT^T-z5+XXDd zhkJams$E*#Z`Jv<2j1)T6q`SPsoed7>G+HY+IsQ-%U_}%&M)1Oym zPkE?+ZeNVwYp=A;va74sNxjiS+?ADad)<|GU6mbrh?m_ zcjEWE!8f~o7+(hC7`oeoslC33?dJ`!aNdCXcmq2_ktaoLQ1!4s&f4@mo7Iv@dwE`z^IEddTRXp@ik33#pj~I{gLOi&~11sa%;h}!uO;z#Gy?$U}f55|i zufy%NZYRcmLf5>z55CiNv7l={Fa1{6#gcy9hkSt6A3WUOD&>K$`FS4< zd5Dn*-17jd^5}IAw=XGvd3;0nb^r_Q06*wK!~yqv-eSaod%psI>3Xrh_Oiomt||_? z*Apz%6Yg=qLL9iq0W0G)jVY-H~=J@%A>3w7(HHkF>Xe)9p~M?`>%ungc(jyz<|dvsi95 zFP{ZpxR>K_W7wcotA*d4!MlIry8rIHqfzs?bKpJlm;YYa4!j3`&*P{x89&jzox!x7 z2giFi+Jir@vPbv!1Jm})?bG`!Csf>D`S3!1|Gy&KUpeRhxW7_<&szC@i{HPA_fK|Z zL*5>HZP-R%L;Kf;?QmgZ*v(X~=wY5+ zT1SuW_npBHxLx>tMgDvo0B=S6;&VV?;df5B z-@gTa>~T>c{(B++P@P^LV>DV_|=E z$86Q#vL7MJ|> z>4QtZrSq9sa$e5jds@KlZl|L%+0W?i7cA5l9>&2%g?`^c_jq6$PrC1CuyQ}M9z}7q zZt3$${)7F29J{dGx`4SACZG^-&-6@zbx5lH;v88S(@Fwkkh#&kro*2lxE| z7WM<&_XAki4{*;LOy5t@f_vUzA#eC~dvu-5_gOXWm-Dve9;XL>*z+#+V|4GwV4)ww zy&r?=_}zkg9^iZ)8gG_|yum`=aL*5{%&)WD_g@dZ%kvB4;-G({d%J>#c7=Q1U?Fd~ z=LZ(@gL}Jzh5X>2A6S)NdY<}M^1ILP01QtzK92L$CT4|{Zw70eLUf-${T*PgHe$b1 z{Z204w{D?({lK(-eYpR=R$Biv$N6CC>+n;)Ka3vy6wf<-^eR8P->z|I4m?W!{JzWl zdo=s#m3ED=-gyo@&+RncCU)pIu|6?>Z&n}v;)LhpzTOLVf#QRYaX(_IpSb?HRR4W# zUg*SMs}siOSup**pw(UE?K}&H^;eS`}W{>rI+v9qw6ofzR2UX8f!gH5B!naDQa?_ME8CP7Wy}Q@)Mz-WNa@#J|2Q= zq{n%$bTwEXtoiode%T;?c1Va1{&!V;bdL|F@mtZZ57z%l@j~7Mzs$eYK0R>w^=c2X zq+aOm7cBUNdp*D>r1gM%J;2I(G}niC;6YXK&^;blhzAenk@dxR=&Dg4tghdNa9-eh zttWWA(s=>h?ZHa>?3iE=o>gU!?)G46--oCDc+lS21HwEGyv+TT=5gr3-vdhi9#HA8 z*L|Q}D?f4k*v-DvUkly+fQ7u^m3ehf40(aqSLKBs{GC|xccQKSROsJ|+h@Dne+JL% z-D^L{ULn7AZI$#dboUDu@`R_y&A^YHVsEYTgYJI7)K3epai$Oc&ikntdBUs4m0otL zeXzNUu-ak_n~$`88x0SkWMm43Qs+CNwML3cl3!4JIBPv-Tyj+ zU2W|>&Y;~PJB#i1W zw$MiGDk1Zc8-$G!d!4X3VjmE;N9=B4XT*LW?2gzUh1rO$dn0J0c7~97$Yx<<)c!)) z_Nd(|?2KAh*yTOl!fe#$gtovAeG|xhn}y6r?hrP4UxKhRWpx6cXN%dPL_%Wc8CRKDEmLR(=E6*6zRO4wLo&l5IR*xQBe z754vx9iBfB+DiL_u(r|;emB@yX=ezVEA4T@_DXx6u(Q(MDD3k7Dq(GveO=gCW&4Hv zo@4I;+pLQhW~=OEp{=$lVQsZtD{QQ`=L?&w?d`($YP(a|U2WeMW~=RILOaM7{Jr#p z>~LXYjh!cKuCXV$&N@wD#`;9pnP-91?X^B0v^rs4H3xnLJ)c*l@MC-s|Vt(t4cg?+45^M{SL^FVAn$tDbkz`z8E31w27^G`A&uR8y3?JTlqV?PJp6#R;2EslF%Zv$?V zUY@t3>o1>QLK8K+*R&Z z&z+=pdLG5w1N8O?%`uqov^btMv+jXE^L$G4Y;@JP52k(x?ZI*G?EwyTw0}$cDVF!a z)V>7|*9ClUDY*{G{r2o&TPuI%dZK$iV8LIaA2-Nj{{C36!|!@k{?OeYSnvne@u2TA zh54r#^G|qH|8HgMLOXzu9>h=jYb@`BX`K1`9$`t+&6g@`vvJz=FR-zoRn04fgpe ze~k?>zYPU{gL*ZOwl7!Np?e-+n#aH{JC<{8MgK&1J216t!GFSW)(0PXr>^J40% z>G|*1#3`Tu{=jnAU+Da|(`;n>{m;91(rL@@p(_6#RbKD={=4Sa@5;XXdsVs~Snt2~ z-#5Uc$m71x%~!uiPR(LFz~kRROh1K;O%VvPH6e|{YNxa;A$ zd+DABSeZvNzJCe4yDAU#&`x8;JkUe^#;X0=cvuet{;T^ftp`C5=g-o*PIQk47U~W6 z-+{p2x<4`M4fj02s`{nx-yXU}^TcsmEzHL4M4?UC!-cg8`%7VC!d@$EPS}Tp?Fsvm zurpyl0jIkY3d{Y{2|s^m-ttHEeBRh!Y`H)m^L>;_1 z)tRrT<_Ey1q0C`d;P#$6T97^8MuEOfA0nh z@uHo6he+cM>XFUAPqXWOL;VMSDOX&*H?z{d9loQZ_q_DozBIo>cYCnXzB%sWn%1fR z*6l+(58|V{J($|3>(MuPdxf~ty&b`W->3c~mW<0b5y!0wJJ!p~~3rS?GgJitO8aL)rQC7L_V%jy z=pG*|#D{x)@S-$6JRFyk#eRtH>ncIN?@(ID+3QT&r>f$kdwj4EAMWwNLVUQ#2h-zV zP|wD4`(9NXbdLiT;=nx)Scn4;$LI3c&SLZDjb66gM*g9y-^DnTr*Q`PwO80tRd(o} zA6R9V&M(fxzC6G9Ecf$Y_=Ip>@i@vi@3i}!UlisOT%)|0?e)H!wWRQ$isV!QbJnYQ!(4Bo7Dhclr+ z=k2vilO+E1`@%g$((ekt6n2O0kPm=1V&{U>%y;zHYR2ab!M{Quj8C07{{i3Vdg(nT z==!V2aU_qgd6R0`18;Y`P~Y9Ywd#F8c8$?s2Y#!{4!ts7C)$B?Rd(oAc0J}1$9z!j z@5O`X7xmm+*k21v`-}J0X@3p&1Mlyqo|=zbEI%`1+K=)5bYO8mE-dZGh2Gw>zs&8` z`pNN98?$Sx@)v`F=-we`707UW-3{2l>5f53ZBMw`bl=%-`m} zuXcyZ%hyAc>o0G|ygs{X;ds~YmG@w$-z$GEY>(K|4}%@Pn+&GkQ&aosdumss57ztI z0?$j=RX4bJ`u$y3h3otUHu-Cfmtq{JY%l-%9@;anRvfXQ`+XMlw|Sg!pCzx4 zu5T2%2kxlK1Kslg3-ds@#{&!T;2saGinpt~Q0a0XVWHhaJpDfULt$;q{s)|HjCpyh z8Lofkz@;Bied0W`G48wvu6JFfNxPw|K6-EbIbI&xRlmb{yMgofM>4MO#=|;2uxg!N zk9qzj@>BP;=EqfZj{~N02JPC6>wLkdc^)DE-N6m#DW30Co?xYYZT>yduX6h^4h-xm zcYCnPK0WR}jD33C>3+oBoJQI@?sl4ef%0^|kiI8iuFJkre13k^pT1W(@==Z}a1F?O zK{VUdjOXe0ussk#zx!VTPIrSoXCwABZC{>GpvzAmY^!`mO#PPcsBqj!Pv6rbUiF;( zzVpLznVo2BoQw@cqAza{@Zd2!ujzf7XCB`CXLld*GdJ7ut8wkI?=21`EH( z!L{G@{qlRN}qUrN{h)%M}NTVi2*)kAvxT~BoWcfD?i(*rXK>N6qE zAU|~PA7I))^7?7~9KB8bO0`eM0d%(mQ#*~5o(~v)SMziRzpLpz#79>7LwA2*!5`fF zDVX-tL4M5zc3zb~boU1q{K4HHSn02`z?xP5(A^)H`pffZb>sbh@I|sOzb6;n?ZHZW zTNvJ31-{AcOYf~h59h1%pxZ#wNDc_0BI;kG1wIv0p{pJAJ?Zc~yqKw?MYNK{rl|OXP15Eo(Zr5sr^HLAI+v^d|OM`l#yFFNG-yHS+s_z?r+wIkRllq{$ zJy>P0^Xvaq<&ExkU}~rHr6SCqFGIXReY&Gzyaf-rUHz&w-lBWI0So;G?(x7vJh&gf zVAXp9)A9BU;-%xQuG7xu=eyl;ynO`a>3CbdPP=n)7;j%m18V$D?>CA6x!;bfN36sdSr{j zcmaOc?MveYy7xn{FkZmjFPQq(b4@zF`d~QEi0L?rzfXZx<4CKsIJ77DjjDQ}hknoc zVZToyrt{k3*zXq?+YQ~X+rj^GfAM}tqW|uG^x-?y-{-dv_qi6^O4mcbRNP!Y;(qkw z6MfL$wj>@`OYB@PFCSM+;_B7wVblg?gfUeZWFJ6TMK+ zL{ID4O7v@z`ltF0B|WcK)wqzp2mhtmY5n*6gtpYaD6B2DS#Y|sRKtbsY6sN%@5xV4 z-sL^^!fdHsDYRwwd~mw9ENtHlsCD1(RC#Ba?NoU;=q(G+zg{>rY5URh`*4GCg7R=Z z!uNdcRJmAkeu(xrf+`=4e)OFq)%(Kwq%Cnfv1GiX-2H-;exv=3v3xZ8X*HtXO_O#~ zm0!x;FL+s1zR~{1SUwv4=y_W8j|1Rl+2!kOno$Rzlj`01?>xUQ)oUw)AMnmp=l3i3 z4}K@rv#5i=OZ7&0U;P2_s81&ObfOMEGSw}7m-zsAW2!f!4sK8NZq&iMQ@yr2=D*s0 zoa*hUgUkLg$%pmwq1||YbE2p7rpKd~=S@H5cIMBn;W~BOkUfR+%^*`5pBI(yXa8UG zBwtUTystC8-@U6FuKV_pddE&nR)EVQ2syS&%&Q((5x9w@XiYY1y&cDb-IX3rKj$LzJj_L$uw z?2K7g*d4Qf7iMF2KxpH(_|sr*+)f6k8)3ecuSc0{j@y;!`Ej|g6U)0{{xb{udZLYC z0;KmD>OS-=_zc-?obemqnh)v9U>1CS(EUPTw#Gcd`Q#5&@g0q@UTqG1we)x&ZeKgD zW9x)@&Mf$@;78rVc66g1`2N(+;`7C|@P5Hr@SlR6pP=-8ps#(EyujCdL-!eGM0x%< z*v)}oOZ|1Czi#v=O#NkHy@;Mm{z=e7eiol627i_MYXn{EIHb>lBmd9aP1JU@qaCgVTw=qrEib2mW0eryKNE7QV|e3*Hv&{KTN=9JIZ@qZ0d_XqJ9QWoP1V zS9AXS^h0!=pZ+N9F0;cv17^GzP-v6(Sa7-)zn{YRt$=gjv(X3rza7gvL7xSuRladX zo3XAntdp1pUmJ99SACDg_b>RKp!@#K&kM7h7v7(2zoQnu(=rEsLVCX6n?cue6ACyB zrtx=lq8)g5VyEXC{5lKlOE2HgLD%1XuCr{lk6%6T7jCD~EIH4j`}`Ix{7wbexX}my z*X_h;AGjJsx*xxBeWLi-XUQx7T^#P`S}E=Np?h9nA+KoH2Tx4w z2J_1-`w#%4^@Tc?h!p||zG{$Vbu*vtmh3zqG z3Oi%=B4KyT-Yd*FUki=<6=3?_B+Yc^8sqje^n5@2eXkFs}xljEq)#n0}}KD4{iKJ>69KbW;ge#NmJUP&CAy9#3h0u%fXH-V6ZF$@F< zkIg?K1kzkaVytT*AtV>bKTpOmI0^}`5GO#mVI>Ax1Odw%oQAZ-fD{nWI1W!4?)RNj z-BaCNa_)bBKl|vMufB6mRaaN{RCiUsi*kKd?x9R(W&HiTA9B~Jy1l=67IGWx*?4*u zDdN5Ai_G3K@`L9}@w`X1)*fkDhAr5pN&lu9?$Eaa^haQSET(x~i zqSlg*S7#vo=RHwpN&CYY$nP_c8&0u%;J7d8aXbULd0p*1thnATX}h0+++lVe2F#aO zd!2#2%tSIJ@rLV`FTXp+k^T&%-;QSl-*57sn??1lT8}f3 zZaplkh4(P94if)31L@YoQpN8Rd>4v#NcS9_D(*+^KH)6nT`*+r#P2!j{RQMP+ROJB zu=8(aMMeJHm*4$izvB0TzMwp6-t_@?z3xC3t~=0mT@hq)|Gn)tp9A|h)t{S(g0Ax< zkl$Ck%@;7f-e*8gV^Gh=CED2!Vo2TJLJJnXuw59AK@SE>)} zb{#F%2X>u@f-K|>UGs)4JPFojzHJEA^p6w`+z9fq3tt(e1^8G9oIZh*wrtj?>FbS z-2TFlFI9f&{s?yELk9VY<3qkS#E0GDhxvon`SMn6k3>&^Ja5=7?)l-k^_@Dta-ZUX z#d?nhx)K4gf`@4?)!dE0rL$Aw*akUo#!k{EQS-*Lp358Zw?cWtu6aWi z+7-Iy2U*Auy5f?Fspjygj{sTCZC?$RrdGc8v#F zi061QWFa1OJAUj-0KZ8y$~!XIefAe`g_2((ievsU}D2?)OxElY9pT{%%?xK(;o?Pf&L7+>^47 z=Z&h*$!jT-IXMD(Ky1G3h?_U#bC$1Yxy>^EL6lqFB6Z68f;^hCg?%@CQL zAVc5t{W|Q~@4g7X8|=PoQD%xQ-#+S&i!YH^=Vd?ysgo8M=>;ln&G)JDgJ_k%yfyjE!S@`9b2^8V`= zy}Wr}rg=dY@`A2;L57ZhgzG)qa{$>=f7HBquxmWXLOkd;-k&FLe=+l?Hp)M0?Q(v1 z$$_9>eE*E~Ksn#<==fZqc@KIQ$eqe(Exf#7S3YEr-@3@wK|&r^erX*f>=qy86sN}f zem6cten;&bt-X4!+kWK($g#WG->lyGc?i4ug)I1muEzoLGUZXj{WNrKN8+A8+P{eB z2r=XhYNs~J!yk9PK8A4vKQH*+%Ommn8{eDxS3HLK@muXZ#UH|c%VE)RXYUD-OYz9& z7Dye3Hj6w1`Vz`N+&v%qW_a;QUCAziu$8oQq*<7d#`=`_o&!kbe~}lFMt2f-_M@q%kOFFK7txVpD*EM*$z9;PI`W~C7`}3r%pU&fYxZXE7-9N7% z{2|m6=k?c*jp=!P?3SDNqHD<^^zXfUCgeuow?Oibey@L}9rx@!_>BW2eea2y{5;D; zKH&FUHp$zlLn^*9EALf(R*pjYd0zy* zocGf)w!EKt-!UN#@*uOkb^Jm7v++mk4W0FFw`#J1^4w?bUmqE?RIY5W%L=ba`E-z%Jy`|uC$7d`$jYNwh+tCL#pEaVjJL$bVi zK!?YW{4*Ta4e0cf+fPv&jn`*elQK(xJM8%x+kXK%+n;}XSEgizI^=H1y?dtQ8tRZg zLH&*?xt==YBUGQ3n^m7y{y?yQ3-p!i77`lr>k;gl7v$53m-32mpGSNE`AiSb_%ZCd zkB0MmP@~~Kbah5v6p9BsTP%jW=ESIda$ajjUPa!Dra8(JcI82acz*x78P`MhuU%+h zUhi(3YwdjsZdd1?X6Hen-|rcdUqyNDW3K&nY(ic@9dbY9-jxY?Ep*7M1o57f)o=l^`Uo#)y0uzbDs$A$aweEE%R zf4eP4{4Mf6=(j-L1G#t47CA{BQa;Rlw#W?REs(13-y&B~hgAKJE%IpUkg6ZX{+QGu zRX>66%29{B6LRku_Q|6Tsrt%-e3Uw*>U$RC8`L3HzjZ;j9ET36`hL8ZL>*G~JMf&E zI;84{@m!iZ-9AQ-@T24Eu#shx`X6GD zz)vj8F34LTe~S9pR#~ME*`kgGe$S!~c{}wz_`O9P@*UJ~-74><4ypS7t@1hQkl!VK z2L^(VLx-$Gp2c(NDFFb9WxG6>`c5NFkb6&TmnTw(yp{Uc4*3o0 zkT0gbXNPpDL-KsSx4T1L51sN2ko;~tbv`#f1i3P#mW;+V*g3w&kpG)_dHhWb=e+LS z9-fWAocE>27&0dA{Ac57R6oz+Lw?o6b3W|65XO*a)xTaAN6#Nt4d?UeiBB*;!*f3D z8Xs~y@pAl*iw{}%@SG1j+bM>8nBvruQT(3a1IVB8@SG33#)o`@=l`G`UKu3k$&+X= zUH4+xpYPct=qB;;R1r+lB2{{nfy;Zg5=JrB-8ei8PS zQ#>nhpHknc`dP?tsh#MTM*Wp`?Jqm!hs5>%$9S22;*%qL)=o!SxIp3WWM`+$06*E= zDRsyL>t^To3E1LiAsdCf9_GdOl85<#r;yh%JHM~4JjiGHJj|0D?*jR4 zmUsHz6Bo*U=(j-L2D$gvi{u{akYA*J;v#v-r-)x9KMCpISKJ2Ozpprm`wD)yYsb^= zI;{5{s1ENtcpdhCH{M$t)8pD+9g|nX&soUVL*jmuDxTk(K7jlS+D{Q3jT15K{99R3 zF*-li9S`!I0bT^V_G`$0R-78*dG=!^JMTkd;Ga@EwNXDCB*18QdF1^ac4izyepPvv ze|G!_g7thM9_-44^m$zGsOJHs?pIMdf1EaQS~YwCIrHg2 zd&7P=pAWAj+Ta;)&>5FqEbr_`6-9f(uJIuKc(iN#L)!X8YyaF|Z(J@9`GZ~kK^FW$ zSAUQX)x6#D^z1i!_B_t|xI8Kp2X>7E>Boto`}L2YYh1`+J(6*GqWZT6$=d~X^$%I_ z58d~l<#|ME>VW&_KNbE?uGZuQkOx|3AM|SSicmdZw|1!&^5gHm%x?3m)?QgWuJ3+B zz+VizpI-#s>R67#KeIS7?EK5l+pPZFPgHr3p9=9{5AqVngFG4Faep3d zFUXtT%X(28jU$mvTUo2xoq85O=Q%sqtt+pOb>to|D^Hv~DF$BneU!xqPF}R`{0t`K z{|Wg4u6}?A{QxJA`?J`2G$GFm`2nuKmxdGabmBwzdnwBYIC=ces`_cvWPivHa61mQ z!g0vk2RM0A%jQMXcFo?4%lbL&d`~WGr<~{PX}4zY%YDLb6xTYYSIRp(uhZIZ`q*bq z>qSkl=e+3^p0j7y<#bS!JG7o0J-}Nxy~1;L?zh76EUit-TQwfFMAl%ZUg0_W?afIY z?~ZjR(epKZkx}hb6BkzfZ_Q zYdzDmcFyy3_KhLdtNY~>(<|kjo$If(UbRiKs(D+z)?lYz;W<0MtILubP0Zu^JlLsM zc+MWR9IuW2$~|6Ip12-g;KAbyoV=*x{B$?jdkES22|L$yWd06j$I;o-KEBVwxOsb; zUMb%*dpg`CEx&wXdZoOxa~-<2XJb}we>D4(YfspzS9s3O^=8Uz&dRgBc3Fd+dWGlg z+^1cSLw7cO9s;-X1?$dmoy~qK<$`svSx&pY7i2YApAaGrNukIsI)F~oO{ zd7X9hW^1qq??;@S-{(|bZLWAf0(61>DB_xpR#7#^d)s z)lYLSeEk8g*B{^y{vSN9rRxuHz5cZ3^!ZrYo|8Y+eE76%)E~K?PxArp-v{K!12}p7 z-Vd1@-8t!p`~X)!z=M8(lb81A9ZsfRmTj=4ImZfjsa&6z{uZ;NMpN)V%Q*IC)WhUhm7(#=PvHpCRwkll;6OZpRtl z&&CxkpHI&EIdJl#migIe<9pd5KfvwyoWl=r@}l0nUPm|j^Tq2Z?7{1(vvXf-?PtSz z`9;Pr_gCP0zXUvZzXY7T2=9$qzsGvZkRRaI9-E8LH}m!|9@l4Dzuzn`4fz4Cewyd- z1Dw2Gce7s4P7gNAYoR9}G@a`*Im5b9+v3*i*?j97>|B?S^`pH1JNrgsi~KF~DfipD z`HO+SN%J*-IUhKA(drg$$F#Xc-mT@>s<=Oboq8p%vvc2W?eFa^a+JJse+O>Yc|6C{ z{#v?U08U=iaelg6?#xZKr4z&)qnFHJ9a; z^p{Q@zwc59OtXS zYt?PuFu^?HPeV_3n|=(EzpE+r_iB4g_5jb%1J{l*?D{>26&`iWD`)N7vhrznOdd;~ zd+xi|F}+ehXYUOxkJB|g$6!8_3h- z2tApcaP44nqd6gm197+?rk)SL{c$coF2Kp-Je{^@dqTdTeyE{8!%n?&e4L&0a9Ynk z=FbB0IX`zF?b&+Mtlhz5`E)QLTfV@4l(4&Ce#rDnJZI;Akb3>ad3gbO<@;0M%qIq} z?K`yNnAaCLd54!gzum^@ycP9oUREw0*5nZ^ztae7 ziRqQ{&d&4v2`s-|tF7}})GOt2p3|N-uwT3SH^N%o^h$YWPcbe$pXG5G6P-% zp0+3DMe5%OYc10&<()n4PRi{p@7~v0>zH0C@9b$G`_rp`BdqmIuatN8bTBD>_3z5B zn_emJ?CEe){?7a>VJ$JeQr_9q+LRn)c|3p7_7T%7<()lkV4r%Hckkb=)lILIcXsZR zul=++CI3cVHt!8P^$O3~IlstX44hy5cjdX?Bd}Ai@SHt+&Y1S6Isb={7;UL4HE zBjDuqYBL(|baO@?4L!NZbbe=9$H(rBJX!tQ_?Wd%47-juZoJ6-g2(dQcT@TO8Ts`P zA9m%t@gwJh$MVs-;}2%!r6E4-%6H>Q&Iga>xxbahAI`|{h4`>rd~=ZV!DD%U9`;Qk ze$9P9+Ko3kUp5KLM|C%k+raneLwwjRzB$PG;IVu*pPM!}$p=Gx*p=_bqny8L<+FL+ zw7p3_8RElk@y$WbZ&~?lJ~!=dl7A2JVYm1te#gr5`)_vqH^~n|{C*x^9pv%BV|ngd zs{Fww+5T_r-_%CuTMWC#cjH;k2ao0X9Zfs_o1_uq4;|l)Z#f@4mXE~E|JJZ?Xn;?g zXKoB!^Kj!`?guz|{yg%}hWxC~>i8EoGe4#I6X4|Wdl*`u_N@Fu$PaM+-3Z+BvGFj^ z2RM1r`mCPs8-rPSuKKZY>ZltRV%U{mKCi)JdCn)3!TIDU#D`t^i>Zd<12SR>;>v;{_{FKgX;N%^uZPx3z|GW5n-0%Cpi~0Tyzk~ObXW6`m{%-c( z6ZPL4&E6B;w~F^b;eY64)Ux+D&p=-EHvGQ4!6quAj=bffI z^dr;HLcWdmQ$#VJQ6JZG%@w>qlH0v`Ea2K6kb4*>pT`^73-cX%w~KhI=67FfTs{Q9 z?e@6lPn~}Db(|f)OPN1)`q|erd+o60!}m`Zzd45QTWNlFJdS2@fU_nsWc?_ob|?w^p)XdHK+n8g9E?EqP52k06fG8n&S<@Z4nZ{znW zkE5?^9)~S%_WQFrR+H1AJn;L{>RXdx$gjg=$bw(b9`w6j)88L_ z-*Y$pX7}ycafMym4Kj56qQvC|`IDi%VCV0f81gZm|E%3lHzx5;InK1*lQy5yGP%*7 zlxJyqn?J~|2mC(0<^#NtPxdAoSNkZ>_ue zK+MDGjN}L1d?2LG2SW0_m}8Kf7o^nrQ5n52cqv;~`_AjvUCT~aJV!;`uiK>-*?pywIpw!4Ci}x-|+C< z5BTJ9o{uA9+MJN(lk9J9e02Tm|7ISLJkA4ZKJAI(b7Rm>yeEISv`QOAK<t<)GvV3AKwSm{xz78N2z~m zqy9*o$2A5XJZ`|rONSHk9P(Fepc?fbmmlz_<^FLUPuz6~_Tabyoc?&7VCHG9CK37N z=N`bd{=kF%6F7N%&rto~dhx1|AK>Z-xbKHN9p7LN<_Vns`28I9-^BBakbmInAGq&7 z@3+9o<9m$ir(Kixh5P_lKfrxIiUjy!?WAFqdcUUX~nMfG1gFM#Xu1|B@#z{&I9 zgZu{lxZmG=50ZLz{PX%bJKuxkd)b^%{+{xvB|4u>y~0Cz+Id}5-VpiY;oQp5@nEN3 z;W;~>BXKDSsl?+?J4FYg~T|2Dp>7s?;Fz2B4NPtAXhW<1_s zsGshnye{MixSk)tgXb}D@}i#YZ@~Haf2N=EbptrZ;~4lMjYAFNnd8y^R*#q07dZX# zJzG8h29wxVE#MzG?=xcH`kmDwHTZWt+CSs*a{s{TkMsE7C0-tfWy;zSc<_BI;N)>$ z|Ds`lUw3@qK0jOU6T`lZyz)FUc=Q*wrrdF!lE-Pe()k3O_gis$N}7sO!+Qo-hW#r)LHn1qM;>+klIw=Fe?wk#!t3AAInKtA_FW`u_#FtH$A|V`V;nvH z$iw-|^8wC0(&3bJ1Nm@W5!Z*tz+a|*sNp<;9?TQvHBZPwp3pT<$U>gbHBZO~%o8~C zOKa2ex1l^`+S(oXJul<&vv%im5X~RIZ|Ld|@&WS(&OEbqTxoY&c72)cR%+Ld z>mR@i{R4LGAFvnd1G~nDJy;*$S|7+leV}W7APe<@uKpk&us*<+7cd@iQ` zhqLnikbj5Az`y0;xgX%<@%fngso{CcsZl%S^##uU7z4L+cxg!F+&|$LC$@r#UZo zh5P{5e1He@0Z!hb?!2Dwrw8+L9D4G>d2R0$>l8juzbj}|{N?=^>l7F_2Cn_jPPftT z0pR2v>TXtlE!m>}lG+yeGW}1Q&h-TM1^wIm{xNWW9wl$bRpX`YE%KufzvcMAeLmMC z==lMAa6T3|{iWS4vi%d=887WG$n7CM z_EXmO1-^~*$l3Ef&%V>M=lKGszjUx5@AUkxt(%^;XI|df)8T>~@yciA_#H59AK-rb z(5}}_*l+Tm?`795;PjW)7Ugpxzp`k4f%|^*ynvIJVtvS0Lj1bpbNz__9zX1w7wo~j zfYV>vT$Jg5AN9+;zN^kJaNlp97jW{@_M%)7;(?m9zwG`lg0AOL$jCuV~o_VFsB{>_) zZ*|G7i(7K@prv_4;N)?=)WTN-{lDYd2e@62*xKm7u=Dp^40~|i3ON07UDXvKzdgqX z9^?ZjkL#;eL;Q8e2k!H^F3b8~G2gtsfYV=!^;gdb`K@Ce7JvT$5B@#@P9E23y(GlP zx-9+O1HACN2X^%fd(ba%`a9HL*6YdX;j;W0^yJISdY#GEcWpGb%0Dr#`<-w!n+K}9 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

      BQb4E7_x+#Q9{=c4{s)`Krma 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 z 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%0AxE`y- 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

      V~Tx`Zt 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 z%0D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%0D>^-w-tefr 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�UTX-seu48-ov{<-GQ%mN{XfC%Y&t=97;bhdCrFI%V|BKjAb+5Ek0R=e6D;n% zSXbcNZ##Vd3DWfO@)~VVI-AzW+sqD|7t~Ys9>23~jVv0j1IzUNerNX@+2`ZUHQN4k z7S_l&4QF$NcpScWjU+zacKCj*C%{@7)Tfp{cKG2na;A^VT5ab$V{7Fa!!4e&!#Ay! zC;ND9t>xS9weoDmT{&pE^n2IJ&(W@?>&2qVI<=ov*Gc7D{rwXS;FJgY5e|=H=%FD< zdh4Y3S=3Y3EZ}>4CJ*R2oae5-f^il5QG)mBu-66e+gnK2kAbHi->+-Gu)aRuF9aU! z7do8hrT$IGZ`=6={|55zIx@fDsTWl?XnV(VRR2-aX>*730ZbmaUWX_34f5HL-x^X*9G2>EAtPYdVEj))Q~>j zH>*DQpgwr&@!Z&#g!C)+p1KP@xbFiz^`e@4pItx2`Y&$&y8)d2nSuN1aGnSI){x(} z^9w%c7d-W%*!k_9BJZP})Gu(#1AZNzR8N&pg#1?QJ#-g*&@XuEMK$-nx_+vB!}klE z@_=85CrhWw10la{=NEj?FL>%jvGd!*@0fqRCJ*>!dZbJ6KKXBdI(S}A7x>%vVL#I< zef;~+OU2SB_0wedLFhTYQ8RhKkHeECocGGOitRxAH2L8i<~6|Ig|)mJk5KZ~Pl2ai z6kEEacbfI%T)GBu_Ui`xIy|Z4y=%yCt*qmtF8Hg+AK_@p^9!DOQPa{T^JRIum#zVv z@_=85N9B!LKO}P-^YaqGgYyy&PnI^y&GfU;@;$X5we7ub7ks!Jm|hgS_rJZ3a=XTB z^UV$5lv8^PX*=t1p0ld+)N`lH|KsZcr#ztN@T7OTe3j{o@y4gi-gpS-cATF7ZX9r( z*9QLND|s$xI!|=Eyx*n&ocgEa-4E!|PlET3CyodF;k~2!1E2d&9dNY^JZKj@?Inw6 z$P+?#Th1={oL%6|uP$)^eni04AMl_*@bts?qHhZMlR3K%@V>w7eu1Z6GB+pfkbc?e zgZ~J5>kjsxU+~mR=I3N~B9MUH5--_>bpc&e}WRvD&rvj=1JK@E>{p zi0gd@p1aRp`d@hIv+D!TxcI(wdnmrjndT3CFn_>PFR7m?yF>alrw=}uKj5jC%%3T* z4CyzWKKP)2@YG8d&y-e3zvcA72mOPm9?!r1R7k&lrnTGPgY7nW>hZnrw?q2znK};a zg8!ZMJjcn_$?|=%_6L9m?SiMhq;ytzep=45`DyUE`Dx(VPXeBspZ4(nd??0&9^Ri1 z_38oeIzK&smW)k?%CCz9{O9h(oRvbW?wat@yMlIq#=l#t!Z*{+<|K%KeuEFQ#|2;f6{}0^m|2et*$^3!m{C_fkj=Ujs9nEuG{c=t?AHY*D zs+_BScs}nhZ)87$UNLR~PI-Uv{ei>z{+IWO?|;8c|L#7e>B(DuotulFxYhsX%0AVj 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 lylOb;uYJ5` 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 Date: Thu, 10 Sep 2009 21:18:40 +0200 Subject: [PATCH 6/7] add missing pullup to cs --- avr/usbload/sram.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/avr/usbload/sram.h b/avr/usbload/sram.h index 404cd68..7ff7d8f 100644 --- a/avr/usbload/sram.h +++ b/avr/usbload/sram.h @@ -151,7 +151,8 @@ (AVR_CS_DIR |= (1 << AVR_CS_PIN))) #define snes_bus_active() ((AVR_SNES_SW_PORT |= (1 << AVR_SNES_SW_PIN)),\ - (AVR_CS_DIR &= ~(1 << AVR_CS_PIN))) + (AVR_CS_DIR &= ~(1 << AVR_CS_PIN)),\ + (AVR_CS_PORT |= (1 << AVR_CS_PIN))) #define HI_LOROM_SW_PORT PORTD #define HI_LOROM_SW_DIR DDRD From 99cee555c1458cc7de4663aec33f2eeb783dbab6 Mon Sep 17 00:00:00 2001 From: optixx Date: Wed, 16 Sep 2009 08:41:12 +0200 Subject: [PATCH 7/7] add org ucon64 to prepare patch --- tools/ucon64-2.0.0-src/FILE_ID.DIZ | 11 + tools/ucon64-2.0.0-src/VERSION | 1 + tools/ucon64-2.0.0-src/changes.html | 783 ++ tools/ucon64-2.0.0-src/developers.html | 590 ++ tools/ucon64-2.0.0-src/faq.html | 1889 ++++ tools/ucon64-2.0.0-src/hardware.html | 210 + tools/ucon64-2.0.0-src/images/bg.jpg | Bin 0 -> 9803 bytes tools/ucon64-2.0.0-src/images/cameralink.png | Bin 0 -> 7067 bytes tools/ucon64-2.0.0-src/images/cd_rw.png | Bin 0 -> 7365 bytes tools/ucon64-2.0.0-src/images/dexdrive.png | Bin 0 -> 14248 bytes tools/ucon64-2.0.0-src/images/f2a.png | Bin 0 -> 16083 bytes tools/ucon64-2.0.0-src/images/fal.png | Bin 0 -> 11620 bytes tools/ucon64-2.0.0-src/images/fig.png | Bin 0 -> 42659 bytes tools/ucon64-2.0.0-src/images/gbx.png | Bin 0 -> 7444 bytes tools/ucon64-2.0.0-src/images/ggpro.png | Bin 0 -> 44022 bytes tools/ucon64-2.0.0-src/images/hr.png | Bin 0 -> 161 bytes tools/ucon64-2.0.0-src/images/icon.png | Bin 0 -> 1282 bytes tools/ucon64-2.0.0-src/images/logo.png | Bin 0 -> 16448 bytes tools/ucon64-2.0.0-src/images/mdpro.png | Bin 0 -> 76571 bytes tools/ucon64-2.0.0-src/images/msg.png | Bin 0 -> 24216 bytes tools/ucon64-2.0.0-src/images/pcepro.png | Bin 0 -> 67817 bytes tools/ucon64-2.0.0-src/images/sf3.png | Bin 0 -> 30078 bytes tools/ucon64-2.0.0-src/images/smc.png | Bin 0 -> 23227 bytes tools/ucon64-2.0.0-src/images/smd.png | Bin 0 -> 10733 bytes tools/ucon64-2.0.0-src/images/smspro.png | Bin 0 -> 88758 bytes tools/ucon64-2.0.0-src/images/swc.png | Bin 0 -> 12056 bytes tools/ucon64-2.0.0-src/images/v64.png | Bin 0 -> 12354 bytes tools/ucon64-2.0.0-src/images/v64jr.png | Bin 0 -> 9834 bytes tools/ucon64-2.0.0-src/install.html | 5 + tools/ucon64-2.0.0-src/libieee1284.diff | 372 + tools/ucon64-2.0.0-src/license.html | 343 + tools/ucon64-2.0.0-src/readme.html | 594 ++ tools/ucon64-2.0.0-src/src/GoodCodes.txt | 173 + tools/ucon64-2.0.0-src/src/Makefile.in | 380 + tools/ucon64-2.0.0-src/src/Makefile.orig | 380 + tools/ucon64-2.0.0-src/src/Makefile.vc6 | 223 + .../src/backup/NTSC-PAL notes.txt | 118 + .../src/backup/SWC-compatibility.txt | 419 + tools/ucon64-2.0.0-src/src/backup/backup.h | 62 + tools/ucon64-2.0.0-src/src/backup/cartlib.c | 768 ++ tools/ucon64-2.0.0-src/src/backup/cd64.c | 504 ++ tools/ucon64-2.0.0-src/src/backup/cd64.h | 41 + tools/ucon64-2.0.0-src/src/backup/cmc.c | 985 +++ tools/ucon64-2.0.0-src/src/backup/cmc.h | 32 + tools/ucon64-2.0.0-src/src/backup/dex.c | 139 + tools/ucon64-2.0.0-src/src/backup/dex.h | 34 + tools/ucon64-2.0.0-src/src/backup/doctor64.c | 399 + tools/ucon64-2.0.0-src/src/backup/doctor64.h | 31 + .../ucon64-2.0.0-src/src/backup/doctor64jr.c | 587 ++ .../ucon64-2.0.0-src/src/backup/doctor64jr.h | 31 + tools/ucon64-2.0.0-src/src/backup/f2a.c | 1637 ++++ tools/ucon64-2.0.0-src/src/backup/f2a.h | 34 + tools/ucon64-2.0.0-src/src/backup/fal.c | 1671 ++++ tools/ucon64-2.0.0-src/src/backup/fal.h | 35 + tools/ucon64-2.0.0-src/src/backup/ffe.c | 316 + tools/ucon64-2.0.0-src/src/backup/ffe.h | 80 + tools/ucon64-2.0.0-src/src/backup/fig.c | 739 ++ tools/ucon64-2.0.0-src/src/backup/fig.h | 100 + tools/ucon64-2.0.0-src/src/backup/gbx.c | 1991 +++++ tools/ucon64-2.0.0-src/src/backup/gbx.h | 34 + tools/ucon64-2.0.0-src/src/backup/gd.c | 1144 +++ tools/ucon64-2.0.0-src/src/backup/gd.h | 49 + .../ucon64-2.0.0-src/src/backup/interceptor.c | 46 + .../ucon64-2.0.0-src/src/backup/interceptor.h | 31 + .../src/backup/libcd64/Makefile | 169 + .../src/backup/libcd64/Makefile.vc6 | 62 + .../src/backup/libcd64/cd64.def | 28 + .../src/backup/libcd64/cd64io.c | 1005 +++ .../src/backup/libcd64/cd64io.h | 114 + .../src/backup/libcd64/cd64lib.c | 990 +++ .../src/backup/libcd64/ultra64/cartmem.h | 13 + .../backup/libcd64/ultra64/host/cartinfo.h | 8 + .../src/backup/libcd64/ultra64/host/cd64lib.h | 189 + .../src/backup/libcd64/ultra64/rom.h | 60 + tools/ucon64-2.0.0-src/src/backup/lynxit.c | 1055 +++ tools/ucon64-2.0.0-src/src/backup/lynxit.h | 31 + tools/ucon64-2.0.0-src/src/backup/mccl.c | 158 + tools/ucon64-2.0.0-src/src/backup/mccl.h | 30 + tools/ucon64-2.0.0-src/src/backup/mccl.png | Bin 0 -> 4806 bytes tools/ucon64-2.0.0-src/src/backup/mcd.c | 144 + tools/ucon64-2.0.0-src/src/backup/mcd.h | 30 + tools/ucon64-2.0.0-src/src/backup/md-pro.c | 395 + tools/ucon64-2.0.0-src/src/backup/md-pro.h | 37 + tools/ucon64-2.0.0-src/src/backup/mgd.c | 466 + tools/ucon64-2.0.0-src/src/backup/mgd.h | 185 + tools/ucon64-2.0.0-src/src/backup/msg.c | 250 + tools/ucon64-2.0.0-src/src/backup/msg.h | 46 + tools/ucon64-2.0.0-src/src/backup/pce-pro.c | 204 + tools/ucon64-2.0.0-src/src/backup/pce-pro.h | 35 + tools/ucon64-2.0.0-src/src/backup/pl.c | 782 ++ tools/ucon64-2.0.0-src/src/backup/pl.h | 33 + tools/ucon64-2.0.0-src/src/backup/psxpblib.c | 1068 +++ tools/ucon64-2.0.0-src/src/backup/psxpblib.h | 208 + tools/ucon64-2.0.0-src/src/backup/sflash.c | 371 + tools/ucon64-2.0.0-src/src/backup/sflash.h | 33 + tools/ucon64-2.0.0-src/src/backup/smc.c | 407 + tools/ucon64-2.0.0-src/src/backup/smc.h | 47 + tools/ucon64-2.0.0-src/src/backup/smd.c | 343 + tools/ucon64-2.0.0-src/src/backup/smd.h | 53 + tools/ucon64-2.0.0-src/src/backup/smsgg-pro.c | 348 + tools/ucon64-2.0.0-src/src/backup/smsgg-pro.h | 37 + tools/ucon64-2.0.0-src/src/backup/ssc.c | 46 + tools/ucon64-2.0.0-src/src/backup/ssc.h | 34 + tools/ucon64-2.0.0-src/src/backup/swc.c | 1358 +++ tools/ucon64-2.0.0-src/src/backup/swc.h | 72 + tools/ucon64-2.0.0-src/src/backup/tototek.c | 428 + tools/ucon64-2.0.0-src/src/backup/tototek.h | 47 + tools/ucon64-2.0.0-src/src/backup/ufo.c | 45 + tools/ucon64-2.0.0-src/src/backup/ufo.h | 144 + tools/ucon64-2.0.0-src/src/backup/yoko.c | 46 + tools/ucon64-2.0.0-src/src/backup/yoko.h | 26 + tools/ucon64-2.0.0-src/src/backup/z64.c | 46 + tools/ucon64-2.0.0-src/src/backup/z64.h | 26 + tools/ucon64-2.0.0-src/src/config.h.in | 128 + tools/ucon64-2.0.0-src/src/config.h.orig | 129 + tools/ucon64-2.0.0-src/src/config.h.vc6 | 129 + tools/ucon64-2.0.0-src/src/configure | 5619 ++++++++++++ tools/ucon64-2.0.0-src/src/configure.in | 183 + tools/ucon64-2.0.0-src/src/console/boardnames | 65 + .../src/console/boardtable.txt | 782 ++ tools/ucon64-2.0.0-src/src/console/console.h | 38 + tools/ucon64-2.0.0-src/src/console/dc.c | 646 ++ tools/ucon64-2.0.0-src/src/console/dc.h | 29 + tools/ucon64-2.0.0-src/src/console/gb.c | 703 ++ tools/ucon64-2.0.0-src/src/console/gb.h | 39 + tools/ucon64-2.0.0-src/src/console/gba.c | 850 ++ tools/ucon64-2.0.0-src/src/console/gba.h | 37 + tools/ucon64-2.0.0-src/src/console/genesis.c | 1728 ++++ tools/ucon64-2.0.0-src/src/console/genesis.h | 43 + tools/ucon64-2.0.0-src/src/console/jaguar.c | 109 + tools/ucon64-2.0.0-src/src/console/jaguar.h | 27 + tools/ucon64-2.0.0-src/src/console/lynx.c | 357 + tools/ucon64-2.0.0-src/src/console/lynx.h | 54 + tools/ucon64-2.0.0-src/src/console/n64.c | 743 ++ tools/ucon64-2.0.0-src/src/console/n64.h | 37 + tools/ucon64-2.0.0-src/src/console/neogeo.c | 259 + tools/ucon64-2.0.0-src/src/console/neogeo.h | 33 + tools/ucon64-2.0.0-src/src/console/nes.c | 7707 +++++++++++++++++ tools/ucon64-2.0.0-src/src/console/nes.h | 236 + tools/ucon64-2.0.0-src/src/console/ngp.c | 112 + tools/ucon64-2.0.0-src/src/console/ngp.h | 26 + tools/ucon64-2.0.0-src/src/console/pce.c | 1200 +++ tools/ucon64-2.0.0-src/src/console/pce.h | 31 + tools/ucon64-2.0.0-src/src/console/psx.c | 66 + tools/ucon64-2.0.0-src/src/console/psx.h | 25 + tools/ucon64-2.0.0-src/src/console/sms.c | 699 ++ tools/ucon64-2.0.0-src/src/console/sms.h | 36 + tools/ucon64-2.0.0-src/src/console/snes.c | 4403 ++++++++++ tools/ucon64-2.0.0-src/src/console/snes.h | 65 + tools/ucon64-2.0.0-src/src/console/swan.c | 206 + tools/ucon64-2.0.0-src/src/console/swan.h | 27 + tools/ucon64-2.0.0-src/src/genpal.txt | 1 + tools/ucon64-2.0.0-src/src/install.sh | 45 + tools/ucon64-2.0.0-src/src/install_beos.sh | 51 + .../src/libdiscmage/Makefile.in | 267 + .../src/libdiscmage/Makefile.orig | 267 + .../src/libdiscmage/Makefile.vc6 | 73 + .../src/libdiscmage/config.h.in | 109 + .../src/libdiscmage/discmage.def | 18 + .../src/libdiscmage/djimport.c | 226 + .../src/libdiscmage/dllinit.c | 162 + .../ucon64-2.0.0-src/src/libdiscmage/dlopen.c | 294 + .../ucon64-2.0.0-src/src/libdiscmage/dlopen.h | 27 + .../src/libdiscmage/dxe_misc.c | 590 ++ .../src/libdiscmage/dxedll_priv.h | 74 + .../src/libdiscmage/dxedll_pub.h | 159 + .../src/libdiscmage/format/ccd.c | 1 + .../src/libdiscmage/format/ccd.h | 1 + .../src/libdiscmage/format/cdi.c | 309 + .../src/libdiscmage/format/cdi.h | 27 + .../src/libdiscmage/format/cue.c | 273 + .../src/libdiscmage/format/cue.h | 25 + .../src/libdiscmage/format/format.c | 358 + .../src/libdiscmage/format/format.h | 24 + .../src/libdiscmage/format/nero.c | 519 ++ .../src/libdiscmage/format/nero.h | 26 + .../src/libdiscmage/format/other.c | 183 + .../src/libdiscmage/format/other.h | 26 + .../src/libdiscmage/format/toc.c | 177 + .../src/libdiscmage/format/toc.h | 25 + .../ucon64-2.0.0-src/src/libdiscmage/getopt.h | 132 + .../src/libdiscmage/libdiscmage.h | 202 + .../src/libdiscmage/libdm_misc.c | 900 ++ .../src/libdiscmage/libdm_misc.h | 123 + tools/ucon64-2.0.0-src/src/libdiscmage/map.c | 129 + tools/ucon64-2.0.0-src/src/libdiscmage/map.h | 72 + tools/ucon64-2.0.0-src/src/libdiscmage/misc.c | 3181 +++++++ tools/ucon64-2.0.0-src/src/libdiscmage/misc.h | 617 ++ .../src/libdiscmage/misc_wav.c | 148 + .../src/libdiscmage/misc_wav.h | 41 + .../ucon64-2.0.0-src/src/libdiscmage/misc_z.c | 666 ++ .../ucon64-2.0.0-src/src/libdiscmage/misc_z.h | 86 + .../ucon64-2.0.0-src/src/libdiscmage/unzip.c | 1253 +++ .../ucon64-2.0.0-src/src/libdiscmage/unzip.h | 275 + tools/ucon64-2.0.0-src/src/mdntsc.txt | 1 + tools/ucon64-2.0.0-src/src/misc/archive.c | 677 ++ tools/ucon64-2.0.0-src/src/misc/archive.h | 85 + tools/ucon64-2.0.0-src/src/misc/bswap.h | 207 + tools/ucon64-2.0.0-src/src/misc/chksum.c | 556 ++ tools/ucon64-2.0.0-src/src/misc/chksum.h | 105 + tools/ucon64-2.0.0-src/src/misc/dlopen.c | 294 + tools/ucon64-2.0.0-src/src/misc/dlopen.h | 27 + tools/ucon64-2.0.0-src/src/misc/dxedll_pub.h | 159 + tools/ucon64-2.0.0-src/src/misc/file.c | 1009 +++ tools/ucon64-2.0.0-src/src/misc/file.h | 134 + tools/ucon64-2.0.0-src/src/misc/getopt.c | 1060 +++ tools/ucon64-2.0.0-src/src/misc/getopt.h | 132 + tools/ucon64-2.0.0-src/src/misc/getopt2.c | 469 + tools/ucon64-2.0.0-src/src/misc/getopt2.h | 85 + tools/ucon64-2.0.0-src/src/misc/itypes.h | 57 + tools/ucon64-2.0.0-src/src/misc/map.c | 129 + tools/ucon64-2.0.0-src/src/misc/map.h | 72 + tools/ucon64-2.0.0-src/src/misc/misc.c | 1456 ++++ tools/ucon64-2.0.0-src/src/misc/misc.h | 344 + tools/ucon64-2.0.0-src/src/misc/parallel.c | 985 +++ tools/ucon64-2.0.0-src/src/misc/parallel.h | 54 + tools/ucon64-2.0.0-src/src/misc/property.c | 254 + tools/ucon64-2.0.0-src/src/misc/property.h | 67 + tools/ucon64-2.0.0-src/src/misc/string.c | 240 + tools/ucon64-2.0.0-src/src/misc/string.h | 92 + tools/ucon64-2.0.0-src/src/misc/unzip.c | 1253 +++ tools/ucon64-2.0.0-src/src/misc/unzip.h | 275 + tools/ucon64-2.0.0-src/src/misc/usb.c | 99 + tools/ucon64-2.0.0-src/src/misc/usb.h | 37 + tools/ucon64-2.0.0-src/src/patch/aps.c | 528 ++ tools/ucon64-2.0.0-src/src/patch/aps.h | 29 + tools/ucon64-2.0.0-src/src/patch/bsl.c | 116 + tools/ucon64-2.0.0-src/src/patch/bsl.h | 26 + tools/ucon64-2.0.0-src/src/patch/gg.c | 1133 +++ tools/ucon64-2.0.0-src/src/patch/gg.h | 27 + tools/ucon64-2.0.0-src/src/patch/ips.c | 524 ++ tools/ucon64-2.0.0-src/src/patch/ips.h | 29 + tools/ucon64-2.0.0-src/src/patch/pal4u.c | 43 + tools/ucon64-2.0.0-src/src/patch/pal4u.h | 24 + tools/ucon64-2.0.0-src/src/patch/patch.h | 32 + tools/ucon64-2.0.0-src/src/patch/ppf.c | 502 ++ tools/ucon64-2.0.0-src/src/patch/ppf.h | 29 + tools/ucon64-2.0.0-src/src/patch/xps.c | 43 + tools/ucon64-2.0.0-src/src/patch/xps.h | 24 + tools/ucon64-2.0.0-src/src/snescopy.txt | 66 + tools/ucon64-2.0.0-src/src/snesntsc.txt | 34 + tools/ucon64-2.0.0-src/src/snespal.txt | 14 + tools/ucon64-2.0.0-src/src/snesslow.txt | 14 + tools/ucon64-2.0.0-src/src/ucon64.c | 1437 +++ tools/ucon64-2.0.0-src/src/ucon64.h | 211 + tools/ucon64-2.0.0-src/src/ucon64_dat.c | 1248 +++ tools/ucon64-2.0.0-src/src/ucon64_dat.h | 69 + tools/ucon64-2.0.0-src/src/ucon64_defines.h | 400 + tools/ucon64-2.0.0-src/src/ucon64_misc.c | 2780 ++++++ tools/ucon64-2.0.0-src/src/ucon64_misc.h | 303 + tools/ucon64-2.0.0-src/src/ucon64_opts.c | 2193 +++++ tools/ucon64-2.0.0-src/src/ucon64_opts.h | 26 + 252 files changed, 91849 insertions(+) create mode 100644 tools/ucon64-2.0.0-src/FILE_ID.DIZ create mode 100644 tools/ucon64-2.0.0-src/VERSION create mode 100644 tools/ucon64-2.0.0-src/changes.html create mode 100644 tools/ucon64-2.0.0-src/developers.html create mode 100644 tools/ucon64-2.0.0-src/faq.html create mode 100644 tools/ucon64-2.0.0-src/hardware.html create mode 100644 tools/ucon64-2.0.0-src/images/bg.jpg create mode 100644 tools/ucon64-2.0.0-src/images/cameralink.png create mode 100644 tools/ucon64-2.0.0-src/images/cd_rw.png create mode 100644 tools/ucon64-2.0.0-src/images/dexdrive.png create mode 100644 tools/ucon64-2.0.0-src/images/f2a.png create mode 100644 tools/ucon64-2.0.0-src/images/fal.png create mode 100644 tools/ucon64-2.0.0-src/images/fig.png create mode 100644 tools/ucon64-2.0.0-src/images/gbx.png create mode 100644 tools/ucon64-2.0.0-src/images/ggpro.png create mode 100644 tools/ucon64-2.0.0-src/images/hr.png create mode 100644 tools/ucon64-2.0.0-src/images/icon.png create mode 100644 tools/ucon64-2.0.0-src/images/logo.png create mode 100644 tools/ucon64-2.0.0-src/images/mdpro.png create mode 100644 tools/ucon64-2.0.0-src/images/msg.png create mode 100644 tools/ucon64-2.0.0-src/images/pcepro.png create mode 100644 tools/ucon64-2.0.0-src/images/sf3.png create mode 100644 tools/ucon64-2.0.0-src/images/smc.png create mode 100644 tools/ucon64-2.0.0-src/images/smd.png create mode 100644 tools/ucon64-2.0.0-src/images/smspro.png create mode 100644 tools/ucon64-2.0.0-src/images/swc.png create mode 100644 tools/ucon64-2.0.0-src/images/v64.png create mode 100644 tools/ucon64-2.0.0-src/images/v64jr.png create mode 100644 tools/ucon64-2.0.0-src/install.html create mode 100644 tools/ucon64-2.0.0-src/libieee1284.diff create mode 100644 tools/ucon64-2.0.0-src/license.html create mode 100644 tools/ucon64-2.0.0-src/readme.html create mode 100644 tools/ucon64-2.0.0-src/src/GoodCodes.txt create mode 100644 tools/ucon64-2.0.0-src/src/Makefile.in create mode 100644 tools/ucon64-2.0.0-src/src/Makefile.orig create mode 100644 tools/ucon64-2.0.0-src/src/Makefile.vc6 create mode 100644 tools/ucon64-2.0.0-src/src/backup/NTSC-PAL notes.txt create mode 100644 tools/ucon64-2.0.0-src/src/backup/SWC-compatibility.txt create mode 100644 tools/ucon64-2.0.0-src/src/backup/backup.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/cartlib.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/cd64.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/cd64.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/cmc.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/cmc.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/dex.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/dex.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/doctor64.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/doctor64.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/doctor64jr.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/doctor64jr.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/f2a.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/f2a.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/fal.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/fal.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/ffe.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/ffe.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/fig.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/fig.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/gbx.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/gbx.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/gd.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/gd.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/interceptor.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/interceptor.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/libcd64/Makefile create mode 100644 tools/ucon64-2.0.0-src/src/backup/libcd64/Makefile.vc6 create mode 100644 tools/ucon64-2.0.0-src/src/backup/libcd64/cd64.def create mode 100644 tools/ucon64-2.0.0-src/src/backup/libcd64/cd64io.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/libcd64/cd64io.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/libcd64/cd64lib.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/libcd64/ultra64/cartmem.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/libcd64/ultra64/host/cartinfo.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/libcd64/ultra64/host/cd64lib.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/libcd64/ultra64/rom.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/lynxit.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/lynxit.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/mccl.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/mccl.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/mccl.png create mode 100644 tools/ucon64-2.0.0-src/src/backup/mcd.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/mcd.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/md-pro.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/md-pro.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/mgd.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/mgd.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/msg.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/msg.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/pce-pro.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/pce-pro.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/pl.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/pl.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/psxpblib.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/psxpblib.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/sflash.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/sflash.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/smc.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/smc.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/smd.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/smd.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/smsgg-pro.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/smsgg-pro.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/ssc.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/ssc.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/swc.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/swc.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/tototek.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/tototek.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/ufo.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/ufo.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/yoko.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/yoko.h create mode 100644 tools/ucon64-2.0.0-src/src/backup/z64.c create mode 100644 tools/ucon64-2.0.0-src/src/backup/z64.h create mode 100644 tools/ucon64-2.0.0-src/src/config.h.in create mode 100644 tools/ucon64-2.0.0-src/src/config.h.orig create mode 100644 tools/ucon64-2.0.0-src/src/config.h.vc6 create mode 100755 tools/ucon64-2.0.0-src/src/configure create mode 100644 tools/ucon64-2.0.0-src/src/configure.in create mode 100644 tools/ucon64-2.0.0-src/src/console/boardnames create mode 100644 tools/ucon64-2.0.0-src/src/console/boardtable.txt create mode 100644 tools/ucon64-2.0.0-src/src/console/console.h create mode 100644 tools/ucon64-2.0.0-src/src/console/dc.c create mode 100644 tools/ucon64-2.0.0-src/src/console/dc.h create mode 100644 tools/ucon64-2.0.0-src/src/console/gb.c create mode 100644 tools/ucon64-2.0.0-src/src/console/gb.h create mode 100644 tools/ucon64-2.0.0-src/src/console/gba.c create mode 100644 tools/ucon64-2.0.0-src/src/console/gba.h create mode 100644 tools/ucon64-2.0.0-src/src/console/genesis.c create mode 100644 tools/ucon64-2.0.0-src/src/console/genesis.h create mode 100644 tools/ucon64-2.0.0-src/src/console/jaguar.c create mode 100644 tools/ucon64-2.0.0-src/src/console/jaguar.h create mode 100644 tools/ucon64-2.0.0-src/src/console/lynx.c create mode 100644 tools/ucon64-2.0.0-src/src/console/lynx.h create mode 100644 tools/ucon64-2.0.0-src/src/console/n64.c create mode 100644 tools/ucon64-2.0.0-src/src/console/n64.h create mode 100644 tools/ucon64-2.0.0-src/src/console/neogeo.c create mode 100644 tools/ucon64-2.0.0-src/src/console/neogeo.h create mode 100644 tools/ucon64-2.0.0-src/src/console/nes.c create mode 100644 tools/ucon64-2.0.0-src/src/console/nes.h create mode 100644 tools/ucon64-2.0.0-src/src/console/ngp.c create mode 100644 tools/ucon64-2.0.0-src/src/console/ngp.h create mode 100644 tools/ucon64-2.0.0-src/src/console/pce.c create mode 100644 tools/ucon64-2.0.0-src/src/console/pce.h create mode 100644 tools/ucon64-2.0.0-src/src/console/psx.c create mode 100644 tools/ucon64-2.0.0-src/src/console/psx.h create mode 100644 tools/ucon64-2.0.0-src/src/console/sms.c create mode 100644 tools/ucon64-2.0.0-src/src/console/sms.h create mode 100644 tools/ucon64-2.0.0-src/src/console/snes.c create mode 100644 tools/ucon64-2.0.0-src/src/console/snes.h create mode 100644 tools/ucon64-2.0.0-src/src/console/swan.c create mode 100644 tools/ucon64-2.0.0-src/src/console/swan.h create mode 100644 tools/ucon64-2.0.0-src/src/genpal.txt create mode 100755 tools/ucon64-2.0.0-src/src/install.sh create mode 100755 tools/ucon64-2.0.0-src/src/install_beos.sh create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/Makefile.in create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/Makefile.orig create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/Makefile.vc6 create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/config.h.in create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/discmage.def create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/djimport.c create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/dllinit.c create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/dlopen.c create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/dlopen.h create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/dxe_misc.c create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/dxedll_priv.h create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/dxedll_pub.h create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/format/ccd.c create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/format/ccd.h create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/format/cdi.c create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/format/cdi.h create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/format/cue.c create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/format/cue.h create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/format/format.c create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/format/format.h create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/format/nero.c create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/format/nero.h create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/format/other.c create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/format/other.h create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/format/toc.c create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/format/toc.h create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/getopt.h create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/libdiscmage.h create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/libdm_misc.c create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/libdm_misc.h create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/map.c create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/map.h create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/misc.c create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/misc.h create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/misc_wav.c create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/misc_wav.h create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/misc_z.c create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/misc_z.h create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/unzip.c create mode 100644 tools/ucon64-2.0.0-src/src/libdiscmage/unzip.h create mode 100644 tools/ucon64-2.0.0-src/src/mdntsc.txt create mode 100644 tools/ucon64-2.0.0-src/src/misc/archive.c create mode 100644 tools/ucon64-2.0.0-src/src/misc/archive.h create mode 100644 tools/ucon64-2.0.0-src/src/misc/bswap.h create mode 100644 tools/ucon64-2.0.0-src/src/misc/chksum.c create mode 100644 tools/ucon64-2.0.0-src/src/misc/chksum.h create mode 100644 tools/ucon64-2.0.0-src/src/misc/dlopen.c create mode 100644 tools/ucon64-2.0.0-src/src/misc/dlopen.h create mode 100644 tools/ucon64-2.0.0-src/src/misc/dxedll_pub.h create mode 100644 tools/ucon64-2.0.0-src/src/misc/file.c create mode 100644 tools/ucon64-2.0.0-src/src/misc/file.h create mode 100644 tools/ucon64-2.0.0-src/src/misc/getopt.c create mode 100644 tools/ucon64-2.0.0-src/src/misc/getopt.h create mode 100644 tools/ucon64-2.0.0-src/src/misc/getopt2.c create mode 100644 tools/ucon64-2.0.0-src/src/misc/getopt2.h create mode 100644 tools/ucon64-2.0.0-src/src/misc/itypes.h create mode 100644 tools/ucon64-2.0.0-src/src/misc/map.c create mode 100644 tools/ucon64-2.0.0-src/src/misc/map.h create mode 100644 tools/ucon64-2.0.0-src/src/misc/misc.c create mode 100644 tools/ucon64-2.0.0-src/src/misc/misc.h create mode 100644 tools/ucon64-2.0.0-src/src/misc/parallel.c create mode 100644 tools/ucon64-2.0.0-src/src/misc/parallel.h create mode 100644 tools/ucon64-2.0.0-src/src/misc/property.c create mode 100644 tools/ucon64-2.0.0-src/src/misc/property.h create mode 100644 tools/ucon64-2.0.0-src/src/misc/string.c create mode 100644 tools/ucon64-2.0.0-src/src/misc/string.h create mode 100644 tools/ucon64-2.0.0-src/src/misc/unzip.c create mode 100644 tools/ucon64-2.0.0-src/src/misc/unzip.h create mode 100644 tools/ucon64-2.0.0-src/src/misc/usb.c create mode 100644 tools/ucon64-2.0.0-src/src/misc/usb.h create mode 100644 tools/ucon64-2.0.0-src/src/patch/aps.c create mode 100644 tools/ucon64-2.0.0-src/src/patch/aps.h create mode 100644 tools/ucon64-2.0.0-src/src/patch/bsl.c create mode 100644 tools/ucon64-2.0.0-src/src/patch/bsl.h create mode 100644 tools/ucon64-2.0.0-src/src/patch/gg.c create mode 100644 tools/ucon64-2.0.0-src/src/patch/gg.h create mode 100644 tools/ucon64-2.0.0-src/src/patch/ips.c create mode 100644 tools/ucon64-2.0.0-src/src/patch/ips.h create mode 100644 tools/ucon64-2.0.0-src/src/patch/pal4u.c create mode 100644 tools/ucon64-2.0.0-src/src/patch/pal4u.h create mode 100644 tools/ucon64-2.0.0-src/src/patch/patch.h create mode 100644 tools/ucon64-2.0.0-src/src/patch/ppf.c create mode 100644 tools/ucon64-2.0.0-src/src/patch/ppf.h create mode 100644 tools/ucon64-2.0.0-src/src/patch/xps.c create mode 100644 tools/ucon64-2.0.0-src/src/patch/xps.h create mode 100644 tools/ucon64-2.0.0-src/src/snescopy.txt create mode 100644 tools/ucon64-2.0.0-src/src/snesntsc.txt create mode 100644 tools/ucon64-2.0.0-src/src/snespal.txt create mode 100644 tools/ucon64-2.0.0-src/src/snesslow.txt create mode 100644 tools/ucon64-2.0.0-src/src/ucon64.c create mode 100644 tools/ucon64-2.0.0-src/src/ucon64.h create mode 100644 tools/ucon64-2.0.0-src/src/ucon64_dat.c create mode 100644 tools/ucon64-2.0.0-src/src/ucon64_dat.h create mode 100644 tools/ucon64-2.0.0-src/src/ucon64_defines.h create mode 100644 tools/ucon64-2.0.0-src/src/ucon64_misc.c create mode 100644 tools/ucon64-2.0.0-src/src/ucon64_misc.h create mode 100644 tools/ucon64-2.0.0-src/src/ucon64_opts.c create mode 100644 tools/ucon64-2.0.0-src/src/ucon64_opts.h diff --git a/tools/ucon64-2.0.0-src/FILE_ID.DIZ b/tools/ucon64-2.0.0-src/FILE_ID.DIZ new file mode 100644 index 0000000..71cdd09 --- /dev/null +++ b/tools/ucon64-2.0.0-src/FILE_ID.DIZ @@ -0,0 +1,11 @@ + .:_______________________/\ucon64.sf.net + __/ _____/ __ /_/ / /__ \ /____ ___/\ +_/_/ / / /__/ \ / / \ / / / /\_\/ +\ \_____/______/______/__/___/_____/__/ / . + \/_____\______\______\__\___\_____\__\/ . +. : +: uCON64 2.0.0 | +| | +|Back To Wipe Away All Bullshit/Proprietary| +|Console Tools w/o Sources, Style And Love!| +`-------[UNIX/Windows/DOS/BeOS/Amiga/Mac]--' diff --git a/tools/ucon64-2.0.0-src/VERSION b/tools/ucon64-2.0.0-src/VERSION new file mode 100644 index 0000000..227cea2 --- /dev/null +++ b/tools/ucon64-2.0.0-src/VERSION @@ -0,0 +1 @@ +2.0.0 diff --git a/tools/ucon64-2.0.0-src/changes.html b/tools/ucon64-2.0.0-src/changes.html new file mode 100644 index 0000000..b62141d --- /dev/null +++ b/tools/ucon64-2.0.0-src/changes.html @@ -0,0 +1,783 @@ + + +uCON64 - Changes
      +The original uCON for SNES and Genesis was written by Chicken & chp in +1993-1995
      +
      +

      +1.9.0
      +- completely re-written
      +- this is the first real version with support for the most consoles
      +

      +1.9.1
      +- bug fixes
      +- fixed the -xv64 routine for receive and emulation on N64
      +- cosmetical changes
      +- removed the stupid curses GUI
      +- optimized noisette.h for speed
      +- added more OPTIONS and CONSOLE SYSTEMS
      +

      +1.9.2
      +- started to add missing Sega System16(A/B)/System 18/dual 68000 support
      +- -xv64 shows now the filename on the Doctor instead of "UCON64" (sorry)
      +- removed -xmp3 option for SongBoy (latest information says that it will + be a USB device with copyprotected MPE standard instead of MP3.. HAHAHAHA!!!)
      +- TODO: -xmp3 send MP3 file(s) to SongBoy (MP3 player for Game Boy)
      +- removed options which were added by mistake (like parallel transfer for Z64)
      +- added -ispad (looks for repeating bytes at the end of a probably padded ROM)
      +- added -rn (some people might find it useful)
      +- added -mg, -bin and 'show ROM' support for PC-Engine
      +- added -usms for Jos Kwanten's ultraSMS an Sega Master System/Game Gear + emulator for the Nintendo64
      +- fixed aps (GRRNNNNN!!!)
      +- added an universal frontend (in Java) for all platforms and all programs that + need a filename
      +- added CD32, CD-i and Real 3DO support
      +- added -bin and -ffe option for Sega Master System/Game Gear
      +- added database for NES roms (that enlarged the ucon64 executable by 190kb + grnnn...) "You gotta do what you gotta do." (Futurama)
      +- added -db and -dbv database commands... now everyone can check if the + uCON64 version he uses has new database entries for a console system
      +

      +1.9.3
      +- added -mka create APS patch support
      +- added -na change APS description
      +- added -hd, -nhd switches for SMS/Game Gear
      +- added auto-detection and some information for Jaguar ROMs
      +- added -ssc convert to Super Smart Card (Game Boy)
      +- fixed/added -chk fix checksum (Game Boy)
      +- added -gg Game Genie support for SNES
      +- cleaned up the usage output
      +- added -chk fix checksum for Super NES/Super Famicom
      +- removed most CDROM based consoles from usage since uCON64 could support + them only by showing some informations about the CDROM itself (option -cdrom)
      +- added -gd3 convert to Professor SF(2) Game Doctor SF3/6/7 (autojoin)
      +- added -gdf fix Professor SF(2) Game Doctor SF3/6/7 savegame problems
      +

      +1.9.4
      +- included all databases for every console system that has ROMs without a + header with text
      +- added 324 entries to SMS database
      +- added -sam convert SAM/M.A.M.E. sound to WAV; --rom=SAMFILE
      +- added -b2i convert BIN/RAW(2352)/Mode2(2336) to ISO; --rom=BIN_IMAGE
      +- added -ppf apply PPF patch (<=2.0); --rom=ISO_IMAGE --file=PATCHFILE
      +- added -nppf change PPF description; --rom=PATCHFILE --file=DESCRIPTION
      +- added -mkppf create PPF patch; --rom=ISO_IMAGE --file=CHANGED_IMAGE
      +- added -ip extract ip0000.bin (GD-ROM header/256 bytes); --rom=/dev/<cdrom>
      +- added -fds convert Famicom Disk System file (diskimage) from FAM to FDS
      +- changed the FAQ a bit
      +- overworked the whole tool to make it easier to develop
      +- searched a new site for it (http://ucon64.sourceforge.net)
      +

      +1.9.5
      +- after the update release of 1.9.4 I had a closer look at my sources + and realized that my style heavily changed since 1.9.3 the result is + that I had to make more changes in the source starting from ucon64.c
      +- Gilligan wrote a nice routine to read out NeoGeo Pocket roms (added)
      +- reorganized the whole source
      +- added Game Boy Advance support
      +- added (GBA) -n change ROM name; --file=NEWNAME
      +- added (GBA) -logo restore ROM logo character data 0x04-0x9F
      +- added (GBA) -chk fix ROM checksum
      +- added (GB/Game Gear/NES) -gg apply Game Genie code (permanent)
      +- added (GB/Game Gear/NES/GEN/SNES) -gge encode Game Genie code
      +- added (GB/Game Gear/NES/GEN/SNES) -ggd decode Game Genie code
      +- added (LYNX) -lyx convert to LYX/RAW (strip 64 Bytes LNX header)
      +- added (LYNX) -lnx convert to LNX (uses default values for the header)
      +- added (LYNX) -n change ROM name (LNX only); --file=NEWNAME
      +- added (LYNX) -nrot set no rotation (LNX only)
      +- added (LYNX) -rotl set rotation left (LNX only)
      +- added (LYNX) -rotr set rotation right (LNX only)
      +- added (LYNX) -b0 change Bank0 kBytes size (LNX only); --file={0,64,128,256,512}
      +- added (LYNX) -b1 change Bank1 kBytes size (LNX only); --file={0,64,128,256,512}
      +- added -idppf change PPF FILE_ID.DIZ (2.0); --rom=PATCHFILE --file=FILE_ID.DIZ
      +- added -strip strip Bytes from end of ROM; --file=VALUE
      +- added -e emulate/run ROM (check INSTALL and $HOME/.ucon64rc for more)
      +- added (GBA) -sram patch ROM for SRAM saving
      +- added (GBA) -crp slow down Flash Advance Linker access for ROM (crash patch)
      +- added (GBA) -strip strip Bytes from end of ROM (use -ispad before); --file=VALUE
      +- added (GBA) -xfal send/receive to/from Flash Advance Linker; --file=PORT
      +

      +1.9.6
      +- this release brings you full support for the Super Wild Card
      +- added (SNES) -xswc send/receive to/from Super Wild Card*/(all)SWC; --file=PORT + (by dbjh)
      +- added (SNES) -xswcs send/receive SRAM to/from Super Wild Card*/(all)SWC; + --file=PORT (by dbjh)
      +- added (GB) -sgb convert from GB Xchanger/GB/GBC to Super Backup Card/GX/GBX + (by NoisyB)
      +- added (GB) -gbx convert from Super Backup Card/GX/GBX to GB Xchanger/GB/GBC + (by NoisyB)
      +- made a few small bug fixes and code cleanups (by NoisyB; thanks to dbjh)
      +- DOS port of uCON64 available (by dbjh)
      +- BeOS port of uCON64 available (by dbjh)
      +- added wildcard support to -find find string in ROM (by NoisyB)
      +- added (SNES) some new NTSC/PAL and SlowROM fix codes (by NoisyB)
      +- added (SNES) -swcs convert emulator *.srm to Super Wild Card*/(all)SWC (by + NoisyB)
      +

      +1.9.7
      +- added (NES) -fdsl list Famicom Disk System/FDS (diskimage) contents (by + NoisyB)
      +- updated (GBA) -xfal send/receive ROM to/from Flash Advance Linker; --file=PORT + (by dbjh)
      +- added (GBA) -xfalc<n> specify chip size in Mbits of ROM in Flash + Advance Linker when receiving (by dbjh)
      +- added (GBA) -xfalm use SPP mode, default is EPP (by dbjh)
      +- added (Neo Geo) -bios convert NeoCD Bios to work with NeoCD emulator (by + NoisyB; thanks to Caz)
      +- changed the whole internal ROM database code (by NoisyB)
      +- added -dbs search ROM database (all entries) by CRC32; --rom=0xCRC32 (by + NoisyB)
      +- added (Virtual Boy) show info (by NoisyB)
      +- added (WonderSwan) show info (by NoisyB)
      +- added (ColecoVision) show info (by NoisyB)
      +- added (Vectrex) show info (by NoisyB)
      +- added ROMs to database for Virtual Boy, WonderSwan, ColecoVision and Vectrex + (by NoisyB)
      +- added (Intellivision) show info (by NoisyB)
      +- made the internal ROM Database optional; compiled without DB uCON64 will be + only ~250kB in size! (by NoisyB)
      +- updated (all) fixed -cs (file compare) (by dbjh)
      +- updated (SNES) fixed dumping of `special' SNES cartridges (for the meaning of + special, see src/backup/swc.c) (by dbjh; thanks to Caz)
      +- updated (SNES) fixed -k (crack) (by dbjh)
      +- updated (SNES) fixed -f (NTSC/PAL fix) (by dbjh)
      +- uCON64 will recognize *ANY* kind of ROM or Console System via DB now...
      + give it a Atari2600 ROM and it will just recognize it :) (by NoisyB)
      +- updated the internal DB; it can recognize 12387 different ROMs (by NoisyB)
      +- updated (SNES) fixed -s (split ROM) (by dbjh)
      +- updated (Genesis) fixed -s (by NoisyB)
      +- updated (all) fixed -swc & -ins (and others) for files with a size a + multiple of 32kB (by dbjh)
      +- updated (SNES) fixed -swc when ROM file has a name that already has the + extension .swc fixed the same problem for -smc and -fig (by dbjh)
      +- added -lsv like -ls but more verbose; --rom=DIRECTORY (by NoisyB)
      +- updated (SNES) fixed checksum output (by NoisyB)
      +- updated (SNES) fixed -j (join multi files) (by dbjh)
      +- updated (SNES) fixed checksum output for Broadcast Satellaview ROMs (by dbjh; + thanks to Cowering)
      +- added (SNES) -figs convert emulator *.srm (SRAM) to *Pro Fighter*/(all)FIG (by + dbjh; thanks to Caz)
      +- added (SNES) -ufos convert emulator *.srm (SRAM) to Super UFO (by dbjh; thanks + to Caz)
      +- added (SNES) -int, -int2 & -nint force ROM is (not) in interleaved format + (2) (by dbjh)
      +- added (SNES) -dint convert ROM to non-interleaved format (by dbjh)
      +- added 2830 new ROMs to internal ROM database (by NoisyB)
      +- added (Genesis) -xsmd send/receive ROM to/from Super Magic Drive/SMD; + --file=PORT (by NoisyB)
      +- added (Genesis) -xsmds send/receive SRAM to/from Super Magic Drive/SMD; + --file=PORT (by NoisyB)
      +- added support for CD based consoles again; uCON64 now uses cdrdao as burn + engine (by NoisyB)
      +- added Dreamcast, PSX (one), PS2, Real3DO, CD-i, CD32 and Saturn support (by + NoisyB)
      +- added (Genesis) -smds convert emulator (*.srm) SRAM to Super Magic Drive/SMD + (by NoisyB)
      +- added -r2i convert RAW to ISO9660; --rom=RAW_IMAGE (by NoisyB)
      +

      +1.9.8-1
      +- added more verbose WonderSwan ROM info (by NoisyB; thanks to dox)
      +- updated (GBA) used Jeff Frohwein's Flash Advance Linker code V1.72 (by dbjh)
      +- added (GBA) -xfals send/receive SRAM to/from Flash Advance Linker; --file=PORT + (by dbjh)
      +- added (GBA) -xfalb<n> send/receive SRAM to/from Flash Advance Linker + bank n; --file=PORT (by dbjh)
      +- removed (GBA) -xfalm (use SPP mode), because it is not needed anymore (by + dbjh)
      +- updated (SNES) fixed checksum function for Far East of Eden Zero (J) (by dbjh)
      +- added (GBA) -multi{1,2,3} make multirom for Flash Advance Linker (by dbjh)
      +- updated/added (SNES) Game Doctor ROM file support (-gd3 & -s) (by John + Weidman)
      +- updated (all) fixed DOS specific bug in IPS code (by dbjh)
      +- updated (SNES) fixed DOS specific problem for -swc, -fig and -smc (by dbjh)
      +- updated (all) fixed DOS specific bug in -ins code (by dbjh)
      +- introducing config file updates without overwrites of old values for more + comfort (by NoisyB)
      +- added (WS/WSC) -chk fix ROM checksum (for WonderSwan(Color)) (by NoisyB; + thanks to dox)
      +- updated (SNES) changed -swcs, -figs and -ufos to always create a file of 32.5 + kB. This solves some problems where SRAM files created with an emulator would + not work on a copier (by dbjh; thanks to Caz for investigating the problem and + providing a solution)
      +- added -mkcue generate CUE file; --rom=CD_IMAGE --file=TRACK_MODE (by NoisyB)
      +- ported the whole project to FreeBSD (by NoisyB)
      + +- updated (GBA) changed -xfalb<n> to -xfalb <n> (space between + option and argument) (by dbjh). Did the same thing for -xfalc<n>
      +- updated (GB) changed -xgbxb<n> to -xgbxb <n> (space between + option and argument) (by dbjh)
      +- switched internal workflow to getopt() and made numerous cosmetical + changes/clean ups (by NoisyB)
      +- added -hdn=BYTES force ROM has backup unit/emulator header with BYTES size (by + NoisyB)
      + detects the correct TRACK_MODE of IMAGES w/o *.cue file
      +- added --rrom rename all ROMs in DIR to their internal names; --rom=DIR (by + NoisyB)
      +- added --rr83 like --rrom but with 8.3 filenames; --rom=DIR (by NoisyB)
      +- added --stpn=N strip N Bytes from ROM beginning (by NoisyB)
      +- added --insn=N insert N Bytes (0x00) before ROM (by NoisyB)
      +- added --xmccl send/receive BYTES to/from Mad Catz Camera Link (experimental) + (by NoisyB)
      +- speed --rrom, --rr83 and --ls have been sped up significantly
      +- updated (N64) added 512 Mb ROM support for transfers to Doctor V64 Junior + (by NoisyB; thanks to TenOfTen (tenoften@jahej.com))
      +- updated (SNES) fixed -fig to give the same output as a Super Pro Fighter (by + dbjh; thanks to JohnDie for the information)
      +- updated (all) parallel port is only accessed for copier I/O (by dbjh)
      +- added (SNES) -bs & -nbs force ROM is a Broadcast Satellaview dump/regular + cartridge dump (by dbjh)
      +- added (NES) -unif convert to UNIF format/UNF {iNES, UNIF}->UNIF (by dbjh)
      +- updated (NES) -ines convert to iNES format {iNES, UNIF, Pasofami}->iNES (by + dbjh)
      +- added (NES) -dint convert ROM to non-interleaved format (by dbjh)
      +- added (NES) -pasofami convert to Pasofami format iNES->Pasofami (by dbjh)
      +- updated (NES) ROM information for iNES, UNIF, FFE and Pasofami (by dbjh)
      +- updated (NES) fixed -j so that it converts properly from Pasofami to iNES (by + dbjh)
      +- updated (NES) fixed -s so that it converts properly from iNES to Pasofami (by + dbjh)
      +- updated (NES) fixed -ineshd (extract iNES header to .hdr file) (by dbjh)
      +- added (NES) -ctrl set controller type for ROM (UNIF only) (by dbjh)
      +- added (NES) -ntsc set TV compatibility to NTSC (UNIF only) (by dbjh)
      +- added (NES) -pal set TV compatibility to PAL (UNIF only) (by dbjh)
      +- added (NES) -bat set battery backup (by dbjh)
      +- added (NES) -nbat set no battery backup (by dbjh)
      +- added (NES) -vram set VRAM override (UNIF only) (by dbjh)
      +- added (NES) -nvram set no VRAM override (UNIF only) (by dbjh)
      +- added (NES) -mirr set mirroring type (by dbjh)
      +- added (NES) -n change internal ROM name (UNIF only) (by dbjh)
      +- added (NES) -mapr=NAME specify board name or mapper number for conversion + options (by dbjh)
      +- added (NES) -dumpinfo use dumper info when converting to UNIF (by dbjh)
      + +- updated (NES) UNIF code works also on big endian machines (by dbjh)
      +- updated (GBA) changed meaning of -xfalc. In order to dump N megabits of a + cartridge specifying -xfalc=N <filename> is enough (by dbjh)
      +- updated (NES) fixed some minor format conversion problems (by dbjh)
      +- updated (LYNX) fixed some problems with endianess (by dbjh)
      +- added (LYNX) --lynxit send/receive ROM to/from Lynxit interface (by NoisyB)
      +- updated (SNES) fixed checksum function for Momotaro Dentetsu Happy (J) (by + dbjh)
      +- updated (SNES) fixed SNES info for Dai Kaiju Monogatari 2 (J) (by dbjh)
      +- updated (SNES) improved SNES chip type info (by dbjh)
      +- added gzip support (by dbjh)
      +- updated (Genesis) fixed several bugs (header is correct after -j/-s, correct + behaviour if switch -nbak is active, -smd/-mgd if already in SMD/MGD format, + -lsv) (by dbjh)
      +- added --padn=N pad ROM to N Bytes (put Bytes with value 0x00 after end) (by + dbjh)
      + +- updated (NES) FDS images are recognized without -fdsl (by dbjh)
      +- added (GBA) -xfalmulti send multiple ROMs to Flash Advance Linker (by dbjh)
      +- updated (GBA) changed -multi so that it takes a size argument (by dbjh)
      +- removed (GBA) -multi{1,2,3}, -multi can be used instead (by dbjh)
      +- some code clean ups (by NoisyB)
      +- added read-only zip support (by dbjh) Note that only the first file inside the + zip archive will be looked at. Use -ls{v} to see info about all files in the + zip archive
      +- added (SNES) NSRT header support (by dbjh)
      +- updated (SNES) fixed an SWC problem for HiROM games without SRAM (by dbjh)
      +- updated (SNES) -k also cracks Killer Instinct (by dbjh)
      +- updated (SNES) -smc writes a correct SMC header (by dbjh)
      +- added (SNES) -ctrl{2} specify type of controller in port 1/2 for emu when + converting (by dbjh)
      +- updated (Genesis) replaced Charles MacDonald's SMD code with our own (by dbjh)
      +- added experimental (PSX/N64) --xdex send/receive BLOCK N to/from DexDrive (by + NoisyB)
      +- added 664 new ROMs to the internal database (by NoisyB)
      +- updated (SNES) replaced Cowering's BS detection code with John Weidman's (by + dbjh)
      + +- updated (all) fixed two bugs in IPS creation code (by dbjh)
      +- updated (all) -mki generates RLE compressed IPS files (by dbjh)
      +- updated (SNES) fixed split file detection for SWC and FIG dumps (by dbjh)
      +- updated (Genesis) fixed -s for RAW images (by dbjh)
      +- updated (SNES) added crack for Donkey Kong Country, Diddy's Kong Quest & + Mega Man X (by dbjh; many thanks to CL of NSRT)
      +- updated (SNES) fixed bug in Game Genie code (by dbjh)
      +- updated (all) fixed subtle bug in function that is used for -k, -f, -l & + -crp (by dbjh)
      +- updated (SNES) added crack for BS The Legend of Zelda Remix & Demon's + Crest (by dbjh, based on info of John Weidman)
      + +- updated (SNES) added crack for at least the following games: Breath of Fire II, + Kirby's Dream Course (many thanks to John Weidman), Lufia II - Rise of the + Sinistrals and Earthbound (thanks to CL) (by dbjh)
      +- updated (SNES) crack for Mega Man X should work (better) (by dbjh)
      +- updated (SNES) added NTSC/PAL fix for at least the following games: + Final Fight Guy, Gokujyou Parodius, Kirby No Kira Kizzu, Robotrek and + Seiken Densetsu 3 (by dbjh)
      +- updated (SNES) added crack for Uniracers/Unirally and NTSC/PAL fix for + Seiken Densetsu 2 and Secret of Mana (by dbjh; thanks to John Weidman)
      +- updated (all) fixed problem with reading environment variables under DOS and + Windows (by dbjh)
      +- updated (all) environment variables take precedence over configuration file + variables (by dbjh)
      +- updated (SNES) fixed some problems with joining GD3 files (by dbjh)
      +- added (SNES) -xgd3 send ROM to Game Doctor SF3(SF6/SF7); --file=PORT + (by John Weidman and dbjh)
      +- added (SNES) -dbuh display backup unit header and see if it matches with what + uCON64 found while analyzing the ROM data (by dbjh, based on an idea by + JohnDie)
      +- removed (SNES) -gdf (fix Game Doctor savegame problems), because -gd3 already + provides this functionality (by dbjh)
      +- updated (SNES) fixed some -xgd3 problems, uppercase filenames sent to unit, + buffer data correct for all files, transfer file size fixed (by John)
      +- updated (SNES) checksums and deinterleaves for HiROM 24 Mbit Game Doctor + format should work (by John)
      +- added (SNES) -xswc2 send ROM to Super Wild Card and enable Real Time Save + mode (by dbjh)
      +- updated (SNES) added NTSC/PAL fix for Live-a-Live (by dbjh)
      +- updated (all) added full wildcard support ("ucon64 -fig *.swc"). Don't forget + to read the FAQ (by dbjh)
      +- added (all) -q be quiet (don't show ROM info) (by dbjh)
      +- updated (all) uCON64 handles multiple options on the same command line (by + dbjh)
      +- added (SNES) --ssize=SIZE specify split part size in Mbit (not for Game + Doctor SF3) (by dbjh)
      + +- updated (SNES) added NTSC/PAL fix for Terranigma (by dbjh; thanks to John)
      +- added (all) full support for all existing DAT files (GoodXXXX, RomCenter) + they'll be used to identify (test) or rename your ROMs or any other purpose + you might need a ROM manager for (by NoisyB)
      +- updated (SNES) fixed BS ROM detection affecting BS Zootte Mahjong! IVT (by + John)
      +- added (all) --lsd to list all ROMs using RomCenter or GoodXXXX DAT files (by + NoisyB)
      +- updated (all) improved support for zip files that contain more than one file + (by dbjh)
      +- updated (SNES) added NTSC/PAL fix and crack for Mario no Super Picross (by + dbjh; thanks to John)
      +- renamed (N64) --sram to --lsram (by NoisyB)
      +- replaced --file with option arguments for the following options: --strip, + --find, -c, --cs, --dbs, -b, -i, --mki, -a, --mka, --na, --ppf, --mkppf, + --nppf, --idppf, --crp, -n, --bot, --lsram, --usms, --n2, --n2gb, --b0, --b1, + --sam, --bios and --dumpinfo (by NoisyB)
      +- updated (PSX) PPF code works correctly and generates correct patches on + big-endian machines (by dbjh)
      +- added (patch) --patch option to specify the patch file for APS, IPS, BSL and + PPF (by NoisyB)
      +- updated (SNES) added NTSC/PAL fix for Dual Orb 2 (thanks to John), Dr. Mario, + Dragon - The Bruce Lee Story (U) and Wolfenstein 3D (U) (by dbjh)
      +- updated (N64) APS code works correctly and generates correct patches on + big-endian machines (by dbjh)
      +- added (all) -o specify output directory. Note that now uCON64 by default + writes its output files to the current directory (by NoisyB and dbjh)
      +- added (all) --poke=OFF:V change byte at file offset OFF to value V (by dbjh)
      + +- updated (SNES) fixed problem where it was necessary to run uCON64 twice on a + ROM with the option -chk, before the checksum was really fixed (by dbjh)
      +- added (all) --rename (by NoisyB and dbjh)
      +- added (all) --scan like: GoodXXXX scan ... (by NoisyB)
      +- added (SNES) uCON64 is able to use an "addendum file" for the options -k + (snescopy.txt), -f (snesntsc.txt or snespal.txt) and -l (snesslow.txt). You + can add new search patterns to those files if the latest binary doesn't + support them yet. See the FAQ for a more elaborate explanation (by dbjh)
      +- added Visual C++ build support (including libdiscmage) (by dbjh)
      +- updated (GBA) fixed a bug that would crash FAL code on compressed files (by + dbjh)
      +- (re)added (GBA) -xfalm (try to enable EPP mode). Note that the meaning is + reversed. Enabling EPP mode only when this switch is specified makes it + possible to use the Windows versions of uCON64 under Windows XP (NT/2000) + (by dbjh)
      +- added support for the I/O port driver inpout32.dll to the Windows ports. See + the FAQ for more information (by dbjh)
      +- uCON64 can also be compiled with g++; configure with "CC=g++ ./configure" + (by dbjh)
      +- updated (SNES) uCON64 uses one maker/publisher list for all SNES games (by + dbjh; thanks to FluBBa for the help)
      +- updated (GB & GBA) fixed maker info (by dbjh; thanks to FluBBa for the + info)
      +- updated (SNES, GB & GBA) fixed huge mistake in the way the Nintendo + publisher list was used (resulting in incorrect maker info) (by dbjh)
      +- updated (SNES) fixed problem with splitting HiROM Game Doctor files smaller + than or equal to 8 Mbit (by dbjh)
      +- replaced internal handling/conversion of DiscJuggler and Nero images with + included libdiscmage. The recognition of ISO, BIN, CDI and NRG images works + in 80% of the cases. Every other function like ripping/converting is still + flakey and therefore disabled in this beta release (by NoisyB)
      + +- updated (all) fixed problems with -rename & -rrom for files without a + suffix (by dbjh)
      +- updated (all) links (including symbolic links) are handled correctly for + -rename & -rrom (by dbjh)
      +- added support for I/O port driver io.dll to the Windows ports. See the FAQ + for more information (by dbjh)
      +- added (SNES) -xfig send/receive ROM to/from Pro Fighter; --file=PORT (by + JohnDie and dbjh)
      +- added (SNES) -xfigs send/receive SRAM to/from Pro Fighter; --file=PORT (by + JohnDie and dbjh)
      +- added (all) --mkdat=DATFILE create DAT file based on a directory/list of ROMs + (by dbjh)
      +- updated (N64) fixed -usms (by dbjh)
      +- updated (all) fixed problem with -rename when output directory is on another + file system (M$ speak: drive) (by dbjh)
      +- added MinGW build support (including libdiscmage) (by dbjh)
      +- changed name of two property variables: now configdir is named + ucon64_configdir and datdir is named ucon64_datdir (by dbjh)
      +- updated (SNES) changed checksum calculation function so that it is stricter + (by dbjh; thanks to Nach)
      +- updated (SNES) added more verbose BS info (by dbjh, based on info of Derrick + Sobodash)
      +- updated (GB) fixed -n2gb, -gbx & -sgb (by dbjh)
      +- updated (SNES) replaced -ehi with -erom (force ROM is "Extended") in order to + support the two Extended LoROM dumps in the known universe (by dbjh)
      +- updated (SNES) added initial support for Sufami Turbo ROMs (by dbjh; thanks + to Nach for some info)
      +- added support for GameCube images to libdiscmage (by NoisyB; thanks to + gc-nfo.com)
      +- updated (SNES) improved detection of interleaved ROMs (by dbjh)
      +- updated (SNES) -smc, -swc, -fig, -mgd & -gd3 (if it's a LoROM dump) + automatically deinterleave the ROM data if the ROM is detected as interleaved + (by dbjh)
      +- updated (SNES) -gd3 can convert Tales of Phantasia and Dai Kaiju Monogatari 2 + (by dbjh)
      +- updated (SNES) interleaved extended HiROM dumps are handled correctly (by + dbjh)
      +- updated (SNES) uCON64 follows the "uCONRST standard" for calculating the + "search CRC32" of BS dumps (by dbjh)
      +- updated (all) both the search CRC32 and the "data CRC32" are displayed if + they differ (by dbjh)
      +- updated (SNES) applied anomie's GD patch which solved a problem with one-part + split files (by dbjh)
      +- updated (SNES) replaced John Weidman's BS detection code with Nach's (by + dbjh)
      +- updated (SNES) uCON64 now recognises a complete GoodSNES 0.999.5 set (by + JohnDie and dbjh)
      +- added (SNES) -dmirr strip mirrored block from end of ROM (by dbjh)
      +- added (SNES) support for native Super UFO file format (by John and dbjh) Use + -ufo to convert a file to Super UFO format, use -s to split the resulting + file (required for HiROM games)
      +- updated (SMS) -mgd is recognised again, -smd won't crash uCON64 anymore and + -smds calls the SMS function when -sms is specified (by dbjh)
      +- updated (SMS) -sms in no longer required for SMD files, they are + automatically detected (by dbjh)
      +- updated (SNES) fixed -b (apply Baseline patch) (by dbjh)
      +- updated (all) added support for non-standard parallel port addresses (by + dbjh)
      +- updated (SNES) added crack for Tetris Attack (by dbjh; thanks to CL)
      +

      +1.9.8-2
      +- updated (SNES) -gd3 produces a more logical format for Daikaijuu Monogatari 2 + (by dbjh; thanks to Nach for the idea)
      +- updated (SMS) -smd interleaves SMS files (by dbjh; thanks to nori-p for + testing and feedback)
      +- updated (GBA) fixed stupid bug introduced in 1.9.8beta8 that caused + -xfalmulti to hang (-multi and -xfal still worked) (by dbjh)
      +- updated (SNES) hopefully fixed last problem with splitting GD3 files (by + dbjh)
      +- updated (SNES) added crack for Dixie Kong's Double Trouble (by dbjh, based on + IPS patch by Black Hole of Infernal Affairs)
      +- files of 0 bytes won't be detected as WonderSwan files anymore (by dbjh)
      +- removed (NES) support for bad FDS DAT files (by dbjh) If you really want to + use FDS DAT files created by tools that erroneously include the header in the + CRC32 calculation, use the switch -nhd. Someone with a complete FDS + collection should create a new DAT file
      +- updated (SNES) fixed crashing on first split file of Tales of Phantasia and + Daikaijuu Monogatari 2 (by dbjh)
      +- added (SNES) -xgd6 send ROM to Game Doctor SF6/SF7. This probably solves the + problems people are having with -xgd3 (by John)
      +- added (SNES) -xgd6s send/receive SRAM to/from Game Doctor SF6/SF7 (by John)
      +- added (SNES) -xgd3s send SRAM to Game Doctor SF3/SF6/SF7 (by John)
      +- added (Genesis) -multi can create a multi-game file for use on the MD-PRO + flash card. The downside: creating a multirom for the FAL doesn't work + without -gba anymore (by dbjh; thanks to Enemy and acem77 for testing)
      +- added (Genesis) -f can fix region protections, addendum files are genpal.txt + and mdntsc.txt (by dbjh)
      +- added (SNES) -id force -gd3 to produce a unique file name. This switch + doesn't show in the help, because it "fails" for 130 dumps of the GoodSNES + "0.999.6--" set. 128 IDs are each shared by 2 games, 2 IDs are shared by 3 + games (by dbjh)
      +- updated (all) the patch generation options (-mka, -mki, -mkppf) use the + modified ROM name for the patch to create. They used to use the name of the + original ROM (by dbjh)
      +- updated (N64) fixed major bug in APS creation code (by dbjh)
      +- updated (SNES) added NTSC/PAL fix for Magical Pop'n (J) and Metal Warriors + (U) (by dbjh)
      +- added (Genesis) recognition of real MGD files (by dbjh; thanks to + acem77 for the feedback)
      +- updated (Genesis) -mgd now produces proper MGD files (by dbjh)
      +- added (Genesis) -bin convert to binary format. This option produces files in + the format that uCON64 1.9.8-1 produces with the option -mgd (by dbjh)
      +- added (Genesis) -xmd & -xmds send/receive ROM/SRAM to/from MD-PRO flash + card programmer (by dbjh and NoisyB with many thanks to timofonic and of + course ToToTEK Multi Media for providing us with the necessary information. + Special thanks go to Leo of ToToTEK for being very helpful and willing to + answer our questions)
      +- added (Genesis) -ssize=SIZE specify split part size in Mbit (by dbjh)
      +- updated (SNES, SMS, PC-Engine & Genesis) -mgd produces correct file names + (by dbjh; thanks to acem77 for testing and feedback)
      +- updated (Genesis) -mgd automatically pads files to the right size (by dbjh)
      +- added (PC-Engine) -swap invert/swap bits of all bytes of a file. This + effectively converts PC-Engine games between Japan and U.S.A. "mode" (by + dbjh; thanks to acem77 for the information)
      +- added (SMS) backup unit header length detection (by dbjh; thanks to acem77 + for pointing this out) This made a problem with the current SMS DAT file + surface: some CRC32 values are the result of including a backup unit header + in the calculation. Someone with a complete GoodSMS collection should create + a new DAT file
      +- updated (PC-Engine) auto-detection of bit-swapped files (by dbjh; thanks to + Cowering for the info)
      +- updated (PC-Engine) -mgd automatically bit-swaps the file if it is detected + as being in Japan "mode" (by dbjh)
      +- updated (PC-Engine) -smg automatically bit-swaps the file if it is detected + as being in U.S.A. "mode" (by dbjh) I don't know if this correct. Please give + feedback
      +- added (GB) -logo restore ROM logo character data (offset: 0x104-0x134) + (by NoisyB)
      +

      +1.9.8-3
      +- added (SNES) -xswc-super option to force 32 Mbit dump (by John Weidman)
      +- updated (SNES) enabled -hi & -nhi for -xswc-super, -xswc (dumping) and + -xfig (dumping) (by dbjh)
      + You should explicitly specify the parallel port address when you use -hi or + -nhi in combination with one of the mentioned dump options
      +- updated (Genesis) fixed problem with -multi that caused problems with some + games when run on the MD-PRO (by dbjh)
      +- updated (SNES, Genesis, PC-Engine, SMS, Game Gear & GB) -mgd now produces + correct file names. This time for real! :-) (by dbjh; thanks to acem77 for + testing and feedback)
      +- added (SNES) -xswcr send/receive RTS data to/from Super Wild Card*/(all)SWC + (by dbjh)
      +- updated (PC-Engine) reversed how -mgd & -smg work. -mgd bit-swaps a file + if it is detected as not being bit-swapped ("Japan mode"/"unencrypted"). -smg + bit-swaps a file if it is detected as being bit-swapped + ("U.S.A. mode"/"encypted") (by dbjh; thanks to kyuusaku for the feedback)
      + Note that if you want to play a game with an MGD2 on a PC-Engine that you + have to manually bit-swap the file with -swap (or specify -int while + converting).
      +- updated (SMS) improved detection of SMS and Game Gear files. In most cases + specifying -sms is no longer necessary (by dbjh)
      +- added (SMS) -chk fix checksum (by dbjh)
      +- updated (PC-Engine) it's Magic Super Griffin, not Super Magic Griffin. Thus + the option -smg has been renamed to -msg (by dbjh; thanks to kyuusaku for the + info)
      +- added (PC-Engine) -xmsg send/receive to/from Magic Super Griffin (by dbjh; + thanks to kyuusaku for testing)
      +- added (PC-Engine) -f fix region protection (by dbjh; thanks to kyuusaku for + testing)
      +- updated (NES) -ffe writes correct headers for the NES games that actually run + on the Super Magic Card (by dbjh; thanks to kyuusaku for the info and + testing)
      +- added (NES) -xsmc send to Super Magic Card (by dbjh; thanks to kyuusaku for + testing)
      +- added (NES) -xsmcr send/receive RTS data to/from Super Magic Card (by dbjh)
      +- added (all) -pattern=FILE change ROM based on patterns specified in FILE (by + dbjh)
      +- added (N64) -swap2 word-swap ROM (1234 <-> 3412) (by dbjh)
      +- added (SNES) -xgd3r & -xgd6r send/receive RTS data to/from Game Doctor + SF3/6/7 (by John Weidman) -xgd3r can currently only be used for sending
      +- added (SNES) -gd3s convert emulator *.srm (SRAM) to GD BRAM format (by dbjh)
      +- updated (SNES) added crack for Front Mission - Gun Hazard (by dbjh; many + thanks to John) This crack is only necessay when the game is modified, for + example by -f.
      +- updated (SNES) added NTSC/PAL fix for Pop'n Twinbee (by dbjh)
      +- updated (SNES, Genesis, PC-Engine & NES) (dumping) functions for FFE + copiers and Pro Fighter should work correctly with very fast PCs (by JohnDie)
      +- updated (N64) added work-around for old bug in DJGPP and Solaris. Now -swap, + -swap2, -v64 and -z64 work correctly for large files (larger than 8 or 12 MB + respectively) when using the DOS or Solaris port of uCON64 (by dbjh)
      +- updated (Genesis) replaced -pal with -region=CODE. Now it should be possible + to create multi-game files for the MD-PRO that work on all three console + types (by dbjh; many thanks to SamIAm for the info that brought me up the + idea)
      +

      +1.9.8-4
      +- updated (all) fixed 2 bugs in code of -pattern (by dbjh)
      +- added (SNES) -xfigc and -xswcc option to transfer SRAM to/from cartridge in + *Pro Fighter* and Super Wild Card copiers (by JohnDie)
      +- added support for Linux/PPC (by dbjh; thanks to Tobias Pflug and Misty De Meo)
      +- updated (SNES, Genesis, PC-Engine & NES) fixed subtle bug in code of FFE + dumping routines (by dbjh; thanks to Neill Corlett for pointing this out)
      +- updated (SNES) implemented SRAM size display for Super FX ROMs (by JohnDie)
      +- updated (SMS) fixed bug that caused -chk not to work for uninterleaved files + with a header (by dbjh)
      +- added support for Mac OS X (including libdiscmage) (by dbjh; many thanks to + Steve Paige for his help)
      +- added (SNES) -xswc-dm=MODE specify SWC dump mode (by dbjh)
      +- removed (SNES) -xswc-super, use -xswc -xswc-dm=1 instead (by dbjh)
      +- updated (all) uCON64 won't accept a parallel port address without using --port + anymore (by dbjh)
      + This used to be possible:
      + ucon64 <transfer option> <rom> <parallel port address>
      + Now you should use a command like this:
      + ucon64 <transfer option> <rom> --port=<parallel port address>
      + Or of course, if uCON64 automatically detects the right port or if you have + specified the correct port in the configuration file, a command like this:
      + ucon64 <transfer option> <rom>
      + This change removes the requirement of specifying the parallel port address + when using additional command line options (switches) like -xfalm or -xswc-dm. + It also prevents uCON64 from accessing I/O ports not associated to the + parallel port if you specify additional transfer switches while <rom> + has a name that starts with a number
      +- updated (SNES, Genesis, PC-Engine, SMS, Game Gear & GB) -mgd produces + correct index files (MULTI-GD) (by dbjh)
      +- updated (SNES & Genesis) -s produces an index file if the ROM dump is in + MGD format (by dbjh)
      +- added support for ppdev (GNU/Linux-only) (by dbjh)
      + This solves two problems:
      + 1.) It's no longer necessary for uCON64 to be setuid root in order to + communicate with a backup unit. Just make sure /dev/parport<n> has the + right permissions or get yourself added to the correct group
      + 2.) Non-standard parallel port addresses do not have to be specified. uCON64 + still uses the first parallel port by default. It's possible to override that + by setting parport_dev in the configuration file or by setting an environment + variable
      + Use the configure option --enable-ppdev to enable the code
      +- added (all) -md5 calculate MD5 checksum of ROM (by NoisyB)
      +- added (all) -sha1 calculate SHA-1 checksum of ROM (by NoisyB)
      +- added (GBA) support for the Flash 2 Advance (Ultra); options are -xf2a + (transfer ROM data), -xf2ac=N (dump N Mbits), -xf2as (transfer 256 kB of SRAM + data) and -xf2ab=BANK (transfer 64 kB of SRAM data to "bank" BANK) (by NoisyB + and dbjh, based on source code of Ulrich Hecht and David Voswinkel; many + thanks to David Voswinkel for testing the parallel port code)
      +- added (GBA) -xfa2multi=SIZE send multiple ROMs to the F2A. You should not + specify a loader file on the command line as a file argument. Specify one in + the configuration file or set an environment variable (by dbjh)
      +- added (SNES) -dnsrt restore name, region and checksum from NSRT header and + remove it (by dbjh)
      +- updated (SNES) fixed shameful bug that caused -chk and -n not to work + correctly for interleaved ROM dumps (by dbjh)
      +- updated (SNES) added/updated code to dump special-chip cartridges. Now it's + possible to dump Super FX (2), S-DD1, SA-1 and SPC7110 cartridges, but see the + comment in swc.c! (by JohnDie)
      +- updated (SNES) made -xswc-dm active for -xswcc so that SRAM data can be + transferred to and from Super FX 2 cartridges (by dbjh)
      +- updated (SNES) renamed -xswc-dm to -xswc-io, because it can also be used for + sending an SRAM file (by dbjh)
      +- updated (GBA) made -xfalmulti use gbaloader to be consistent with -xf2amulti. + So, don't specify a loader as file argument anymore (by dbjh)
      +

      +2.0.0
      +- updated (GBA) fixed F2A USB send code (by dbjh; many thanks to David Gauchard + for feedback, testing and sending a patch to fix the problem)
      +- updated (N64) cleaned up Doctor V64 Junior transfer source code (by dbjh; + thanks to TenOfTen and GameCopierUser0666 for testing)
      +- updated (SNES) added new SWC "I/O mode" 0x100, dump BIOS (by dbjh)
      +- updated (GB) improved ROM info (by dbjh)
      +- updated (GB) fixed problem with dumping "Rocket Games" cartridges with the + Game Boy Xchanger (by dbjh; thanks to Anna Kubisty for reporting the problem + and testing, and thanks to Cowering for his help and providing us with the + necessary information)
      +- updated (GB) cleaned up Game Boy Xchanger transfer source code (by dbjh; many + thanks to Anna Kubisty for testing)
      +- added (DC) --scr scramble 1ST_READ.BIN for selfboot CDs (by NoisyB)
      +- added (DC) --unscr unscramble 1ST_READ.BIN for non-selfboot CDs (by NoisyB)
      +- added (DC) --mkip generate IP.BIN file with default values (by NoisyB)
      +- added (DC) --parse=TEMPLATE parse TEMPLATE file into a IP.BIN (by NoisyB)
      +- updated (SNES) corrected output of -dbuh (by dbjh)
      +- added (GB) --xgbxm try to enable EPP mode (by dbjh)
      +- added (SMS/Game Gear) --xgg & --xggs send/receive ROM/SRAM to/from + SMS-PRO/GG-PRO flash card programmer (by dbjh; thanks to timofonic and Leo of + ToToTEK Multi Media for providing us with the necessary information, many + thanks to Walter van Niftrik for testing)
      +- added (PCE) --xpce send/receive ROM to/from PCE-PRO flash card programmer (by + dbjh; thanks to timofonic and Leo of ToToTEK Multi Media for providing us with + the necessary information)
      +- added (PCE) --multi create a multi-game file for use on a PCE-PRO flash card + (by dbjh)
      +- added (SMS/Game Gear) --multi create a multi-game file for use on an SMS-PRO + or GG-PRO flash card (by dbjh; thanks to Walter van Niftrik for his patch and + for testing)
      +- added (SMS/Game Gear) --xggb=BANK send/receive SRAM to/from SMS-PRO/GG-PRO + BANK (by dbjh; thanks to Walter van Niftrik for the suggestion and testing)
      +- added (Genesis) --xmdb=BANK send/receive SRAM to/from MD-PRO BANK (by dbjh)
      +- added support for I/O port driver DlPortIO to the Windows ports. See the FAQ + for more information (by dbjh)
      +- the Windows versions of uCON64 won't crash anymore without a (working) I/O + port driver under Windows NT/2000/XP. They display a helpful error message + instead (by dbjh)
      +- updated (GBA) improved recognition of GBA files and fixed start address + information (by dbjh)
      +- updated (GBA) added support for Linux 2.5 (and later) to F2A USB code (by + dbjh; thanks to colle for sending a patch and testing)
      +- added support for OpenBSD (by dbjh; thanks to timofonic for testing)
      +- added (N64) --xcd64, --xcd64b, --xcd64s, --xcd64f, --xcd64e, --xcd64m & + --xcd64p transfer ROM/boot emu/SRAM/flash RAM/EEPROM/memory pack data to/from + CD64 (by dbjh; thanks to Ryan Underwood for libcd64 and testing)
      +- added (Genesis) support for Mike Pavone's Genesis/Sega CD transfer cable (by + dbjh; thanks to Mike Pavone for the information and thanks to timofonic for + his PR work ;-)
      +- updated (SNES) -gd3 does not produce 28 Mbit HiROM files anymore, it + automatically pads them to 32 Mbit (by dbjh)
      +- added (Genesis) support for Cyan's Megadrive ROM copier (by Cyan Helkaraxe and + dbjh; thanks to timofonic for his PR work)
      +- moved and split some files in the codebase and changed the workflow. Adding a + new option/function now requires only two changes in the code (by NoisyB)
      +- added --dual show ROM as dualdump (by NoisyB)
      +- added --code show ROM as code (by NoisyB)
      +- added --print show ROM in printable characters (by NoisyB)
      +- added --findi find STRING in ROM and ignore case of alpha bytes (by NoisyB)
      +- added --findr find STRING in ROM but look also for shifted/relative + similarities (by NoisyB)
      +- added (NeoGeo Pocket) --xpl send/receive ROM to/from Pocket Linker, --xpli + show information about inserted cartridge & --xplm try to enable EPP mode + (by Walter van Niftrik)
      +- added (SNES) --multi create a multi-game file for use on a Super Flash flash + card (by JohnDie)
      +- added (SNES) --xsf send/receive ROM to/from Super Flash card, --xsfs to + send/receive SRAM to/from Super Flash card (by JohnDie)
      +- updated (Genesis) added support for 32 Mbit Intel MD-PRO flash card (by dbjh; + thanks to Marc Haisenko for sending a patch and testing)
      +- updated (Genesis) fixed -n and -n2 (-n did what -n2 should do and vice versa) + (by dbjh)
      +- added (Genesis) support for splitting and joining binary (Magicom) files (by + dbjh; thanks to T. Reid for the information)
      +- updated (NES) fixed -dumpinfo so that the year field is read correctly from + the dumper info file if it has more than 2 digits (by dbjh)
      +- updated (SNES) --swcs, --figs, --ufos & --gd3s now also work for backup + unit SRAM files, i.e., files with a header (by dbjh)
      +- updated (SNES) fixed a bug that caused several headerless dumps to be detected + as SWC RTS or SWC SRAM files (by dbjh; many thanks to Dweezledap for reporting + this bug and for testing)
      +- updated (N64) added support for 6105 boot codes to check sum routine (by dbjh)
      +- updated (SNES) fixed some other issues with auto-detection (by dbjh; many + thanks to Dweezledap for reporting these problems and for testing)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      diff --git a/tools/ucon64-2.0.0-src/developers.html b/tools/ucon64-2.0.0-src/developers.html new file mode 100644 index 0000000..e102b2d --- /dev/null +++ b/tools/ucon64-2.0.0-src/developers.html @@ -0,0 +1,590 @@ + + +uCON64 - Developers
      +Q1: Who develops uCON64?
      +
      +Q2: How can I take part?
      +
      +Q3: How do I get the source of uCON64, using CVS as an anonymous user?
      +
      +Q4: How do I connect to the CVS repository as developer with read/write access?
      +
      +Q5: How do I create a patch from the CVS repository?
      +
      +Q6: How is the source of uCON64 organized?
      +
      +Q7: What coding style is preferred?
      +
      +
      +

      +Q1: Who develops uCON64?
      +A: Written/modified by:
      + 1999 - 2004 NoisyB (Dirk) <noisyb AT gmx.net>
      + 2001 - 2004 dbjh
      +
      + Additional developers:
      + 2002 - 2004 John Weidman <jweidman AT sonic.net>
      + Contributed several SNES-related features like Game Doctor & Super UFO + support, the second version of the BS (Broadcast Satellaview) detection code, + SNES cracks & NTSC/PAL fixes.
      +
      + 2002 - 2004 Jan-Erik Karlsson
      + Maintainer of the Amiga ports.
      +
      + 2003 - 2004 JohnDie
      + Also contributed several SNES-related features like Pro Fighter support and + Super Wild Card transfer code improvements.
      +
      +
      + uCON64 uses code (or at least ideas) from:
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      Chicken & chpronaldm AT netcom.com (chp)original uCON
      Silo / BlackBagAPS patcher
      madmanIPS patcher
      The White Knight / ATXBSL patcher
      Icarus / ParadoxPPF patcher
      WyrmCorphttp://wyrmcorp.comGame Genie "codec"
      Marat Fayzullinfms AT cs.umd.edu
      + + http://www.komkon.org/fms/
      some Famicom Disk System routines and NESLIST
      Andreas Sterbenzstan AT sbox.tu-graz.ac.atN64 checksum algorithm
      Kamim-kami AT da2.so-net.ne.jp
      + + http://www.playoffline.com
      NES emulator for Game Boy
      Gilligan / DC-Sshow info for Neogeo Pocket
      LaCN64 makesram
      Jeff Frohweininfo AT devrs.com
      + + http://www.devrs.com
      Flash Advance Linker transfer code
      Omar Kilanigbautil AT aurore.netGame Boy Advance SRAM patching and "crash patching" code
      Richard Daviesrichard AT debaser.force9.co.uk
      + + http://www.debaser.force9.co.uk
      PSX memory card code
      Cazturok2 AT currantbun.com
      + + http://www.infernal.currantbun.com
      I/O port driver for BeOS, SWC help and Super UFO SRAM header format
      Coweringhotemu AT hotmail.comold BS ROM detection, BS checksum, some PC-Engine info & code and more
      Jerremy Kootjkoot AT snes9x.com
      + + http://www.snes9x.com
      old interleave detection and old deinterleave code (SNES)
      Gary Hendersongary AT snes9x.com
      + + http://www.snes9x.com
      old interleave detection and old deinterleave code (SNES)
      Evan Teranemt3734 AT ritvax.isc.rit.edulib_unif (NES)
      NSRT authorsjoecool22us AT yahoo.com
      + http://nsrt.edgeemu.com
      checksum algorithm for Momotaro Dentetsu Happy, their SNES add-on + chip information page, SNES cracks (thanks to CL), third version of + BS detection code (thanks to Nach) and general help and ideas
      Gilles Vollantinfo AT winimage.comunzip.c & unzip.h
      Tiptoniumhttp://www.tiptonium.comdonated a Super Magic Drive (SMD)
      FluBBamaker (publisher) info for SNES, GB, CGB & GBA
      gc-nfo.comGameCube image specs
      ToToTEK Multi Mediarayman AT tototek.com
      + + http://www.tototek.com
      MD-PRO, SMS-PRO/GG-PRO & PCE-PRO transfer code (Delphi) and help + with that code
      timofonicuCON64 PR work ;-)
      Felipe XnaKfelipe AT ComPorts.com
      + + http://www.classicgaming.com/launchtool
      some info from his Genesis ROM format document
      Ulrich Hechtuli AT emulinks.de
      + + http://www.emulinks.de/software.html
      F2A (USB) code
      David Voswinkeld.voswinkel AT netcologne.deF2A parallel port code
      Ryan Underwoodlibcd64
      Mike Pavonemask_of_destiny AT hotmail.com
      + + http://www.retrodev.com
      Genesis/Sega CD transfer code
      Cyan Helkaraxecyan AT emulationzone.org
      + + http://www.emulationzone.org/projects/cyan/docs
      Cyan's Megadrive ROM copier transfer code

      + and others...
      +
      +

      +Q2: How can I take part?
      +A: Install CVS and + checkout the latest version from + http://ucon64.sourceforge.net. + Then make your changes, email noisyb AT gmx.net + and you will be named in this file and in the sources of course. Just the + typical way of open source development.
      +
      +

      +Q3: How do I get the source of uCON64, using CVS as an + anonymous user?
      +A: For read-only access you must have CVS installed. First you have to + login. To login, type:
      +    cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ucon64 login
      + Then CVS will ask you for a password. Since you are logged in as anonymous + you do not have a password, so just press the enter key at the password + prompt. To download the uCON64 source, type:
      +    cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ucon64 checkout -PR ucon64
      + The uCON64 source will then be downloaded to the directory ./ucon64.
      + It can be very busy at SourceForge which may result in a message like:
      +    cvs [login aborted]: recv() from server cvs.sourceforge.net: EOF
      + or
      +    cvs [checkout aborted]: recv() from server cvs.sourceforge.net: EOF
      + If you get that message simply try again.
      + You can speed up the download by using the option -z with a compression level + parameter. For example:
      +    cvs -z 9 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ucon64 checkout -PR ucon64
      + If you want to get up to date with the newest source code later, enter the + directory ucon64 and type:
      +    cvs update -PRd
      +
      +

      +Q4: How do I connect to the CVS repository as developer with + read/write access?
      +A: For read/write access you must have CVS and SSH installed and set the + environment variable CVS_RSH=ssh. To download the source code, type:
      +    cvs -z 9 -d:ext:<name>@cvs.sourceforge.net:/cvsroot/ucon64 checkout -PR ucon64
      + <enter password at prompt>
      + If you never logged on to cvs.sourceforge.net before you may get a message + (from ssh) like:
      +    The authenticity of host 'cvs.sourceforge.net (66.35.250.207)' can't be established.
      +    DSA key fingerprint is 02:ab:7c:aa:49:ed:0b:a8:50:13:10:c2:3e:92:0f:42.
      +    Are you sure you want to continue connecting (yes/no)?
      + Type yes (the whole word). Ssh will respond with a message like:
      +    Warning: Permanently added 'cvs.sourceforge.net' (DSA) to the list of known hosts.
      + Now all files will be downloaded. Afterwards you can simply cd into the top + level directory and continue by just typing:
      +    cvs update -PRd
      +    cvs commit -R
      +    cvs add <file>
      +    cvs remove -f <file>
      + You don't need to specify + -d:ext:<name>@cvs.sourceforge.net:/cvsroot/ucon64 anymore, because + that information is stored in the CVS directories then.
      + If you use the update command in combination with (-)d, never forget to also + use the option -P or you will get a lot of crap.
      +
      +

      +Q5: How do I create a patch from the CVS repository?
      +A: As developer:
      + cvs -d:ext:<name>@cvs.sourceforge.net:/cvsroot/ucon64 diff -u >mychanges.patch
      + <enter password at prompt>
      + As anonymous:
      +    cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ucon64 login
      + <just press enter at password prompt>
      +    cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/ucon64 diff -u >mychanges.patch
      +
      +

      +Q6: How is the source of uCON64 organized?
      +A: The heart of uCON64 is ucon64.h/st_ucon64_t. This struct is + designed to hold all workflow relevant informations and it has pointers + to different structs which will be != NULL depending on which type or + format uCON64 did detect for the current ROM. libdiscmage (if compiled) + is involved in this process as well.

      + uCON64 starts with the name of a ROM and possibly some arguments. Then it + checks if a configuration file exists and creates one if that is not the + case. For example the value of + ucon64.parport, the variable that contains the I/O address of the parallel + port, will initially be set to the value that is found in the configuration + file.
      + After these initial functions every ROM will be processed.

      + Processing a ROM.
      + The command line will be scanned for switches. Switches are command line + arguments that will not result in an action by themselves, but they + influence the other type of command line arguments, options.
      + uCON64 sets some other values in ucon64.h/st_ucon64_t, based on the + switches. This code can be found in ucon64_opts.c/ucon64_switches(). + This is also the place where ucon64.c/ucon64.quiet is set. This variable + determines whether or not uCON64 displays ROM information.
      + Then uCON64 starts scanning the command line for options. This code can be + found in ucon64_opts.c/ucon64_options(). From this code almost all + operations of uCON64 are executed. Under Unix this is also the point where + root privileges are given up with a call to misc.c/drop_privileges().
      + First uCON64 tries to find out what console system the ROM belongs to using + for example the init function for SNES (console/snes.c/snes_init() or + console/nes.c/nes_init() for NES). Each init function tries to determine if the + ROM file belongs to its console type. If that is the case it returns 0, + otherwise -1.
      + Some ROM file types contain information such as the internal name, country + and creator of the game that can be used to fill ucon64.c/main()/rom. SNES + ROM files are an example of this type of file. For other ROM file types this + information is not present inside the ROM file. NES ROMs are an example of + that type. In that case uCON64 uses the DAT files in the data file + directory. That makes it possible to display the full name of the game. + ucon64.c/ucon64_rom_handling() calls the function + ucon64_dat.c/ucon64_dat_search() that uses the CRC32 of the ROM file data to + find the required information in the DAT files. If the information could be + found ucon64_dat.c/ucon64_dat_search() fills ucon64.c/ucon64.dat with it. + ucon64.c/ucon64_rom_handling() copies the name to ucon64.rominfo->name.
      + After that if ucon64.c/ucon64.quiet has a value smaller than 1 uCON64 will + call ucon64.c/ucon64_nfo() which displays the values and strings of ucon64. + For some options it doesn't make sense to display ROM info. If one of those + options has been specified on the command line + (ucon64.c/ucon64.flags & WF_NFO) will be zero.
      + After all this the option will be executed (ucon64_opts.c/ucon64_options()).
      +
      +

      +Q7: What coding style is preferred?
      +A:
      +
      + Keywords
      + Always put a space after a keyword. That includes the keyword sizeof.
      +
      + Indentation
      + Two spaces instead of a real tab. The curly braces of functions should not + be indented.
      + If an if statement has an else part, that part should be + aligned with the if part. For a do-while compound statement, + do and while should also be aligned.
      + If else is immediately followed by an if statement, the + if keyword together with the condition statement should be put on the + same line as the else keyword. Example:
      +

      +   if (...)
      +     {
      +       ...
      +     }
      +   else if (...)
      +     {
      +       ...
      +     }
      +   else
      +     {
      +       ...
      +     }
      +
      + Note that this doesn't apply to the case where else is followed by a + curly brace.
      +
      + New lines
      + The statement(s) for if, while and for should always + start on a new line. That also applies to one-line statements.
      +
      + Compound statements
      + The curly braces should be indented and the code of the compound statement + should be indented again. The only exception is the switch statement. + The labels inside a switch statement should be aligned with the curly + braces. Example:
      +
      +   int
      +   function (int value)
      +   {
      +     if (value < 0)
      +       {
      +         printf ("Invalid argument: %d\n", value);
      +         exit (1);
      +       }
      +     switch (value)
      +       {
      +       case 0:
      +       case 1:
      +       case 2:                                     // falling through
      +         puts ("lesser than or equal to 2\n");
      +       case 3:
      +       case 4:
      +         puts ("lesser than or equal to 4\n");
      +         break;
      +       default:
      +         puts ("greater than 4\n");
      +         break;
      +       }
      +
      +     return 0;
      +   }
      +
      + A do-while compound statement should have this layout:
      +
      +   do
      +     {
      +       ...
      +     }
      +   while (...);
      +
      +
      + Functions
      + Function calls should contain one space after the name of the function. + Every parameter of the function should be separated from a previous one with + a space after the comma.
      + For a function implementation the return type should be specified on its own + line. This doesn't apply to function prototypes. If a function needn't be + known at global scope it should be declared or defined as static. + Function implementations should be separated from each other by two new + lines.
      +
      + Variables
      + Variables of the same type should be defined in one group. Example:
      +
      +   int x, y = 0, z;
      +   char str1[] = "xyz", *str2;
      +
      + Variables that need to be known at file scope but not at global scope should + be defined as static. Variables that do need to be known at global + scope should be defined in a source file, not in a header file. The header + file should contain an extern statement for the variable.
      +
      + Types (structs)
      + A struct tag of a struct should have the prefix "st_". A new + type based on a struct should have the same prefix and the suffix + "_t". Example:
      +
      +   typedef struct st_unif_chunk
      +   {
      +     unsigned long id;
      +     unsigned long length;
      +     void *data;
      +   } st_unif_chunk_t;
      +
      +
      + Line length
      + The length of lines shouldn't be much longer than 90 characters. This + doesn't necessarily include the length of comment. Longer lines should be + broken into several shorter ones. Example:
      +
      +   static const int unif_prg_ids[] = {PRG0_ID, PRG1_ID, PRG2_ID, PRG3_ID,
      +                                      PRG4_ID, PRG5_ID, PRG6_ID, PRG7_ID,
      +                                      PRG8_ID, PRG9_ID, PRGA_ID, PRGB_ID,
      +                                      PRGC_ID, PRGD_ID, PRGE_ID, PRGF_ID};
      +
      +
      + Comment
      + Single or two-line comments should use //. Comments that need more lines + should use the pair /* and */. A two-line comment should signify that it is + one two-line comment instead of two one-line comments by putting one extra + space after the //. Single or two-line comments should start at column 49 if + that's possible. Example:
      +
      +   char buf[SIZE_INFO], number[80];              // 4 should be enough, but don't
      +                                                 //  be too sensitive to errors
      +
      + Long comments should use the same indentation as the code that follows it:
      +
      +   if (deinterleave)
      +     /*
      +       This is a bit of a hack, i.e., putting the following code in this
      +       ...
      +     */
      +     {
      +       unsigned char *data;
      +       int size, n = 0, prg = 0, chr = 0;
      +       ...
      +
      +
      + Preprocessor directives
      + Preprocessor directives should not be indented. This does not only apply to + #include, but to all preprocessor directives.
      + For #if and #ifdef blocks that are complex or enclose many lines of code the + corresponding #else, #elif or #endif should contain a comment that signifies + to which #if or #ifdef it belongs. Example:
      +
      +   #ifdef  __unix__                                // wait 32 milliseconds
      +     usleep (32000);
      +     ...
      +   #elif   defined __MSDOS__                       // __unix__
      +     delay (32);
      +     ...
      +   #elif   defined __BEOS__                        // __MSDOS__
      +     snooze (32000);
      +     ...
      +   #endif                                          // __BEOS__
      +
      + Standard system header files should be included by specifying the name of + the header file between angle brackets. Non-standard header files should be + included with the name between double quotes. Example:
      +
      +   #include <stdio.h>
      +   #ifdef  __unix__
      +   #include <unistd.h>
      +   #endif
      +   #include "ucon64.h"
      +
      +
      + Header files
      + Header files should be protected against being included multiple times by + putting the entire file inside an #ifndef block. Define the constant for + which the #ifndef checks inside the #ifndef block. For example, for the file + swc.h:
      +
      +   #ifndef SWC_H
      +   #define SWC_H
      +   ...
      +   #endif // SWC_H
      +
      + Header files should only contain information about their corresponding + source file that may be needed by other source files. They should not + include information about variables or function definitions that are used + only inside the source file.
      +
      + Portability
      + Platform-specific function calls, variable types and #includes of header + files should be put inside #ifdef or #if blocks. For an example see the + first code example in the section Preprocessor + directives.
      +
      +

      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      diff --git a/tools/ucon64-2.0.0-src/faq.html b/tools/ucon64-2.0.0-src/faq.html new file mode 100644 index 0000000..9fdd780 --- /dev/null +++ b/tools/ucon64-2.0.0-src/faq.html @@ -0,0 +1,1889 @@ + + +uCON64 - FAQ + + +Q1: Why uCON64?
      +
      +Q2: How do I get started using uCON64?
      +
      +Q3: How do I compile/build uCON64?
      +
      +Q4: How do I install uCON64?
      +
      +Q5: Sometimes my terminal seems to be locked after "ucon64 -xswc + <file> | more"
      +
      +Q6: How do I make uCON64 only display information about a ROM?
      +
      +Q7: I have two parallel ports in my PC and my Flash Advance Linker + is connected to the second. However, when I try to use uCON64 to send a demo + to the FAL something goes wrong. What happened?
      +
      +Q8: I tried to dump a SNES cartridge using a Super Wild Card + connected to my PC with an interlink cable, but it did not work. What is + wrong?
      +
      +Q9: I have a SNES ROM of which GoodSNES says it is good, but + uCON64 says it is bad. Who is right?
      +
      +Q10: I have a SNES ROM of which Snes9x and ZSNES say it is bad, + but uCON64 says it is good. Who is right?
      +
      +Q11: I have a SNES ROM of which uCON64 said it was bad, so I used + the -chk option. Now uCON64, Snes9x and ZSNES all say the ROM is good, but + GoodSNES still says it is bad. How can that be, I did fix the ROM, right?
      +
      +Q12: Some SNES games do not work on my Super Wild Card. What can + I do about that?
      +
      +Q13: Which backup devices are supported by uCON64?
      +
      +Q14: I use Windows XP (NT/2000). When I try to run + ucon64.exe under command.com (start -> Run... -> command) uCON64 + crashes. What do I do wrong?
      +
      +Q15: I do not like the command line. Are there graphical + frontends available?
      +
      +Q16: Where do I get PPF, APS or IPS patches?
      +
      +Q17: Where do I get ROMs/Games?
      +
      +Q18: What does "[ROM|IMAGE|SRAM|FILE|DIR|ARCHIVE]..." mean in the + help?
      +
      +Q19: Why is my backup unit (still) not supported?
      +
      +Q20: How do I specify a bank number for the GB Xchanger?
      +
      +Q21: What is the difference between the Flash Advance Linker + options -xfals and -xfalb <n>?
      +
      +Q22: uCON64 exits with the message "ERROR: Flash card erase + failed" when I try to write a multi-game file to my flash card. What is + wrong?
      +
      +Q23: Where can I get that loader or "game pack" file?
      +
      +Q24: What is the meaning of the -col option (SNES)?
      +
      +Q25: Why does uCON64 create ucon64.cfg (DOS executable) or + .ucon64rc (Win32 executable) files all over the place under DOS and + Windows 9x (command.com)?
      +
      +Q26: When I try to create a multi-game file under Windows I get + the message "The system cannot execute the specified program." (or something + similar). What does that mean?
      +
      +Q27: I tried to run a Win32 executable of uCON64 but Windows gave + an error message that cygwin1.dll, cygz.dll or zlib.dll could not be + found.
      +
      +Q28: How do I make uCON64 display one help screen at a time?
      +
      +Q29: I tried to send a ROM dump to my copier under + Windows XP (NT/2000), but uCON64 crashed. What is wrong?
      +
      +Q30: I want to convert a NES ROM in iNES format to UNIF. How do I + know what board name to use?
      +
      +Q31: How do I convert a NES ROM from Pasofami to FFE? Or from + UNIF to Pasofami?
      +
      +Q32: How do I specify dumper information when converting to UNIF?
      +
      +Q33: How do I specify that a NES game in UNIF format supports + multiple controller types?
      +
      +Q34: How do I enable or disable colors in the display output of + uCON64?
      +
      +Q35: When I try to convert a large number of files using + wildcards, uCON64 will only convert the first file. Is this a bug?
      +
      +Q36: Does uCON64 support DAT (RomCenter/GoodXXXX) files?
      +
      +Q37: Some SNES games do not work on my Super Pro Fighter Q(+). + What can I do about that?
      +
      +Q38: uCON64 displays too many lines for my DOS-box. What can I do + about that?
      +
      +Q39: When will the next version of uCON64 be released? I have + heard the next version is able to crack my favourite SNES game, but I do not + know how to use CVS or a compiler.
      +
      +Q40: What is the format of the snes*.txt files?
      +
      +Q41: Is it possible to force uCON64 to send or dump (an) SRAM + (file) instead of that it depends on whether the file exists?
      +
      +Q42: Why does uCON64 support DAT files?
      +
      +Q43: How should the option --mkdat be used?
      +
      +Q44: What tools do you recommend besides uCON64?
      +
      +Q45: What is an interleaved ROM?
      +
      +Q46: The pre-compiled GNU/Linux binary does not work on my + system, while a binary compiled by me works fine. How can that be?
      +
      +Q47: I use Windows XP (NT/2000) and every time I run uCON64 I get + this error message about ntuser.dat. What does it mean?
      +
      +Q48: Is there any way to make uCON64 convert a ROM dump to Game + Doctor SF3/SF6/SF7 format and split it, in one command?
      +
      +Q49: How do I use the command line?
      +
      +Q50: I configured uCON64 to use ppdev and tried to send a file to + my backup unit as a regular user. I got an error message that the parallel + port device could not be opened. What did I do wrong?
      +
      +Q51: What do I need to do before I can upload files to my Flash 2 + Advance?
      +
      +
      +

      +Q1: Why uCON64?
      +A: uCON64 is designed for people who want to play all the games on the + original hardware. Here you got a powerful tool to backup, restore games and + for many other operations. It is just a keep-old-hardware-alive tool :-)
      + uCON64 is also useful for people without backup units as it can be used to + manage ROM collections (it can be used to identify, rename, patch or convert + files) and it can operate as an intelligent frontend for every + available emulator.
      +
      +

      +Q2: How do I get started using uCON64?
      +A: On the uCON64 homepage you can find a link to a + + download section. There are two types of packages, binary and source. + You can tell a package is a binary package if it has "bin" (without the + quotes) in its name. The source code packages have "src" in their name. + Unless you are a software developer you probably do not need to download any + of the source packages.
      + Choose a binary package for your system. GNU/Linux users should choose a + package with "linux" in its name, BeOS users a package with "beos" in its + name and DOS users a package with "dos" in its name. Windows users can + choose any or all of the packages with "win32" or "dos" in their name. + Normally, they should choose a package with "win32" in its name. The DOS + version also runs under Windows, but has some limitations. For example, the + DOS version cannot handle long command lines. The Cygwin version does not + have any serious limitations compared to the "normal" Win32 versions, but + behaves a bit more Unix-like than Windows users might want. Users accustomed + to Unix might prefer the Cygwin version. The Cygwin version needs some + additional files, though. See question 27.
      + For installation instructions (for all versions) see + question 4.
      +
      +

      +Q3: How do I compile/build uCON64?
      +A: Unless you are a software developer you probably do not need to + compile it. Just download one of the pre-built binary distributions and + proceed to question 4.
      + To compile uCON64 you need a compiler :-) You can use either GCC (GNU + Compiler Collection) or the Visual C++ compiler. GCC can be freely + downloaded from + http://www.gnu.org/order/ftp.html. Visual C++ can be bought for about 60 + euro (at 15 May 2003) in most computer shops.
      + uCON64 can be compiled for Unix (GNU/Linux, Solaris, FreeBSD, OpenBSD), DOS, + BeOS, Windows (95/98/ME/NT/2000/XP), AmigaOS (PPC/68K) and Mac OS X.
      + A DOS port of GCC (and other GNU development tools) named DJGPP is + available from + http://www.delorie.com/djgpp/. A Win32 port of GCC (and many other GNU + tools and libraries) named Cygwin is available from + http://www.cygwin.com. + Another Win32 port of GCC (and other tools) named MinGW is available from + http://www.mingw.org.
      +
      + Configuring uCON64
      + Some features of uCON64 are configurable (only) at compile time. They are:
      + - whether uCON64 will produce debug output (default: no)
      + - whether uCON64 will have support for parallel port backup units (default: + yes)
      + - whether uCON64 will use the ppdev interface for parallel port I/O (default: + no)
      + - whether uCON64 will be able to use color in its display output (default: + yes)
      + - whether add-on libraries will be dynamically loaded or linked (default: + loaded)
      + - whether uCON64 will be able to use the discmage library (default: yes)
      + - whether uCON64 will have support for the CD64 (default: no)
      + - whether uCON64 will be able to read .gz and .zip files (default: not if a + Makefile "template" is used, see below)
      + - whether uCON64 will use libusb/have support for USB backup units (default: + no)
      +
      + The presence or settings of these features is controlled by the header file + config.h in combination with the makefiles. There are two ways to create a + config.h and makefiles for uCON64:
      + (Before executing one of these steps read the section below concerning gzip + & zip support)
      + 1.) Run the configure script "configure".
      + If you want default settings type:
      +    ./configure
      + Otherwise you have to pass options to the configure script. To see which + features can be controlled with the configure script, type:
      +    ./configure --help
      + 2.) Copy a tried-and-tested config.h "template" to a file config.h and copy + a Makefile "template" to a file Makefile.
      +
      + The first way does not work under command.com or cmd.exe as these shells + cannot (directly) execute Bash shell scripts. command.com is the default + shell on Windows 9x, cmd.exe is the default shell on Windows XP + (NT/2000).
      + So, for DOS (DJGPP) copy config.h.orig to config.h and to + libdiscmage/config.h, Makefile.orig to Makefile and + libdiscmage/Makefile.orig to libdiscmage/Makefile. You can do the same for + Cygwin, but in Cygwin you can get the same effect much easier by just + running the configure script.
      + For Windows (Visual C++) copy config.h.vc6 to config.h and to + libdiscmage/config.h. Do not copy any of the Makefile.vc6 files. You may do + so, but do not complain if these instructions do not seem to be right after + having done that.
      + To save us some work, for MinGW we only support configuring and building + uCON64 from within MSYS (MinGW's POSIX build environment, a port of Bash).
      +
      + Support for files in gzip (.gz) or zip format (.zip)
      + For gzip & zip support you need zlib. If you do not have zlib you can + get it from + http://www.gzip.org/zlib/. There are two ways to get gzip & zip + support for uCON64:
      + 1.) When using the configure script.
      + By default gzip & zip support will be enabled if configure can find zlib + on your system. If you want to disable the feature, pass the option + --without-zlib to the configure script.
      + 2.) When using config.h and Makefile "templates".
      + By default gzip & zip support is disabled. If you want to enable it you + have to define the constant HAVE_ZLIB_H in config.h and libdiscmage/config.h + (remove the "//" in front of the line that defines it) and ZLIB in + Makefile and libdiscmage/Makefile (remove the "#" in front of the line that + defines it).
      +
      + If you want to change other things in config.h or the makefiles do so before + proceeding to the next step.
      + You have finished the configuration steps now. The next instructions will + tell you how to compile uCON64 with the settings you just made.
      +
      + Compiling uCON64
      + By default the library discmage will also be compiled. Discmage is used for + several CD-related functions in uCON64, but is not required for non + CD-related functions. For example, you will not need discmage for any of the + SNES functions. Skip the next step if you do not want uCON64 to use + discmage.
      +
      + If you do not have a reason not to compile discmage and you are using DJGPP, + Cygwin or MinGW you need the library libgcc.a. This library comes with those + compilers but is usually not located in the standard library directory. + However, the compiler needs to know where to find it. There are two possible + ways to solve this problem:
      + 1.) Copy the file libgcc.a to the standard library directory.
      + 2.) Edit the file libdiscmage/Makefile so that the variable GCCA_DIR points + to the directory containing libgcc.a.
      + The first option (copying the file) is preferred.
      +
      + Now read the relevant section for the compiler you are using.
      +
      + GCC (including DJGPP and Cygwin)
      + If you use Bash you may have to take one extra step before running make. + Because of a strange design decision made by the authors of Bash, the + environment variable OSTYPE is not exported on all platforms. Because of + that, on several platforms (like FreeBSD and Mac OS X), you have to export it + manually before running make. You can do that with the following command:
      +    export OSTYPE
      +
      + If you have compiled uCON64 in the same directory before, first type:
      +    make clean
      +
      + If you want to compile the source code including discmage, type:
      +    make
      + If you do not want to compile discmage the last command should look like + this for DJGPP, Cygwin and MinGW:
      +    make ucon64.exe
      + Otherwise it should look like this:
      +    make ucon64
      +
      + If you use Mac OS X and get an error message that dlfcn.h cannot be found, + please install the library + dlcompat + and try again.
      + On Unix systems other than GNU/Linux you might need to use "gmake" (GNU + make) instead of "make". If the last make command has been successfully + executed you can find the executable in the directory where you ran make. + For DOS, Cygwin and MinGW you are now ready to proceed to + question 4. For the other platforms one extra command is + needed (or simply handy):
      +    make install
      +
      + Under Unix this command will ask for root's password, because uCON64 needs + to be setuid root for parallel port access and because regular users usually + do not have write access in the default installation directory, + /usr/local/bin. If you configured uCON64 without support for parallel port + backup units or if you configured it to use ppdev, uCON64 need not be setuid + root. Just copy ucon64 to any directory you like.
      + Under Mac OS X it is usual to install programs in /usr/bin. You can override + the default destination directory /usr/local/bin by setting the environment + variable DESTDIR. So, in order to install uCON64 in the directory /usr/bin + use a command like:
      +    DESTDIR=/usr/bin make install
      + This works also on Unix.
      + "make install" also creates a configuration directory for uCON64 and copies + discmage.so (Unix and BeOS) or discmage.dylib (Mac OS X) to it, so you may + find it easier to use it.
      + Under BeOS this command will open a dialog window. Just follow the + instructions.
      +
      + Visual C++
      + Start a command shell or "prompt" and go to the correct directory. If you + have compiled uCON64 in the same directory before, first type:
      +    nmake /f Makefile.vc6 clean
      +
      + If you want to compile the source code including discmage, type:
      +    nmake /f Makefile.vc6
      + If you do not want to compile discmage the last command should look like + this:
      +    nmake /f Makefile.vc6 ucon64.exe
      +
      + Under GNU/Linux, DOS and Windows you could use UPX to compress the + executable. UPX is available from + + http://upx.sourceforge.net.
      +
      +

      +Q4: How do I install uCON64?
      +A: It depends on what operating system you use. First read the + information specific for your operating system. Then continue to the section + "How to configure the uCON64 executable".
      +
      + Unix (GNU/Linux, FreeBSD, Solaris), BeOS & Mac OS X
      + Start a command line shell like Bash. Then extract the binary package. + To extract or unpack a package in .tar.gz format use a command line like + this:
      +    tar xvzf ucon64-1.9.8-1-linux-bin.tar.gz
      + Old versions of tar might not support the option z. In that case use a + command line like:
      +    gunzip -c ucon64-1.9.8-1-linux-bin.tar.gz | tar xvf -
      + To unzip a .zip file use a command line like this:
      +    unzip ucon64-1.9.8-1-beos-bin.zip
      + You should replace the file name with the name of the file you downloaded + for your operating system. Unpacking or extracting a package does not have + to be done on the command line. You could also use a program with a GUI + (Graphical User Interface) like KDE's ark or a similar program.
      + After you have extracted the package install uCON64 by running the install + script. On Unix, if you do not have root access, copy the uCON64 executable + to a directory in your PATH. If you do have root access (i.e., know the root + password), run the shell script install.sh. On BeOS just run the script + install_beos.sh. For Unix do something like this:
      +    cd ucon64-1.9.8-1-linux-bin
      +    ./install.sh
      + By default install.sh will try to copy ucon64 to /usr/local/bin. You can + specify another directory by setting the environment variable DESTDIR. + On Mac OS X programs are usually installed in the directory /usr/bin. Users + of that OS might want to install uCON64 with a command like:
      +    DESTDIR=/usr/bin ./install.sh
      +
      + For copier I/O BeOS users will need Caz's driver inside ioport.zip or + available at + http://www.infernal.currantbun.com. You only need this driver if you + will use uCON64 for communication with a backup unit. After you have decided + whether to download ioport.zip continue on BeOS with:
      +    cd ucon64-1.9.8-1-beos-bin
      +    ./install_beos.sh
      + After the last command a dialog window will come up. Simply follow the + instructions.
      +
      + Now continue to the section + "How to configure the uCON64 executable".
      +
      + Windows (95/98/ME/NT/2000/XP) & DOS
      + On Windows, unpack the package with a program like + WinZip, + WinRAR or + Power Archiver. + On plain DOS (DOS without Windows) use a program like + PKUNZIP.
      + We recommend to extract the package to a directory (or folder) of its own. + The zip file contains a directory, but you need not use that directory.
      + Windows NT/2000/XP users are likely to need a driver for copier I/O. You + do not need a driver if you use Windows 95, 98 or ME. A driver is also + not needed when you will not use uCON64 to communicate with a backup unit.
      + You could use a driver like UserPort, DlPortIO, io.dll or inpout32.dll. + + You can download DlPortIO at + + http://www.driverlinx.com/DownLoad/dnload.htm#Windows%2095/NT%20Port%20I/O%20Driver, directly at + + http://www.driverlinx.com/DownLoad/DlPortIO.htm or from + the uCON64 homepage. + You can find io.dll in a file named io.zip at + + http://www.geekhideout.com/iodll.shtml and you can find inpout32.dll in + a file named inpout32_source_and_bins.zip at + http://www.logix4u.net. + UserPort and io.dll are included with the binary release. We recommend + DlPortIO and io.dll. To install DlPortIO simply start port95nt.exe. After the + installation is completed, copy DLPORTIO.dll from the Windows system(32) + directory to uCON64's configuration directory. To install io.dll or + inpout32.dll, put them in uCON64's configuration directory. See the section + "How to configure the uCON64 executable" for more + information about the configuration directory.
      + uCON64 displays a message if it finds DLPORTIO.dll, io.dll or inpout32.dll + before communicating with a copier. It displays this message before it + displays file information, so you might want to use the command line switch + -q. Only the Windows versions of uCON64 are able to use DLPORTIO.dll, io.dll + or inpout32.dll. If more than one I/O driver is present in the configuration + directory, uCON64 will first try to load DLPORTIO.dll. If that fails it will + try to load io.dll. If that also fails it will try to load inpout32.dll.
      + It is possible to use the DOS version of uCON64 as a transfer tool + under Windows XP without UserPort. We have received reports from people + who were able to send and receive ROMs under Windows XP as a regular + user (no Administrator rights and not "Power Users").
      +
      +The command line environment
      + uCON64 is a command line program and is usually started from a program like + command.com (Windows 9x/ME) or cmd.exe (Windows NT/2000/XP). You + can start command.com or cmd.exe by choosing the option "Run..." from the + start menu. You have to type the word command.com or cmd.exe yourself. + Command.com and cmd.exe are command line interpreters. That means that they + will try to interpret any command you type followed by a press on the enter + or return key. When you type a command, the command line interpreter will + first look in the current directory and if it cannot find a program file + with the correct name it will search the so-called "path". This means that + the program file of uCON64 (ucon64.exe) must either be present in the + current directory or in one of the directories of your path. It is really + comfortable to have ucon64.exe present in your path, because you can simply + use the name ucon64 from any directory without first having to copy + ucon64.exe to that directory.
      + The path is defined by the environment variable PATH. You can check the + current value of that variable with the command:
      +    echo %PATH%
      + You could copy uCON64 to one of those directories. However, we recommend + putting ucon64.exe in a directory of its own (on Windows). So, you should + modify the value of PATH. On Windows 9x/ME you should do that in the + following way. Edit the file c:\autoexec.bat and add a line like:
      +    set PATH=%PATH%;c:\ucon64
      + Replace c:\ucon64 with the drive and directory where you extracted the + uCON64 files to. Save the modified c:\autoexec.bat and reboot. + On Windows XP (NT/2000?) you should press the buttons or icons start + -> Control Panel -> System -> Advanced -> Environment + Variables and edit the value of path in the section System variables or + else in the section User variables. You have to start a new instance of + cmd.exe before the changes take effect. + After you have made your changes (and have rebooted your PC if you are using + Windows 9x/ME or DOS) check the value of PATH again. It should now list + the directory you just added.
      + For information on how to use the command line see + question 49.
      +
      +How to configure the uCON64 executable
      + First run uCON64 once. Use a command like:
      +    ucon64 -version
      + If you have not run uCON64 before you should see a message that it created + a file with a name like ucon64.cfg (DOS version) or .ucon64rc (all other + versions). If you are using GNU/Linux and uCON64 crashes see + question 46.
      + Then search for the line that starts with "configuration file". It should + say "present" between the parentheses. The file name after the colon is the + name of the configuration file. The configuration file may contain names of + variables that influence the behaviour of uCON64. Here follows a table of + the variable names uCON64 recognises:
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      variable namemeaning
      versionversion of configuration file
      backupsuCON64 will create backups of the files it modifies if it is 1
      ansi_coloruCON64 will use color in its display output if it is 1
      parport_devname of parallel port device (AmigaOS or Linux with ppdev)
      parporthardware address of parallel port (AmigaOS: port number)
      discmage_pathpath to discmage DLL
      ucon64_configdirname of configuration directory of uCON64
      ucon64_datdirname of DAT file directory of uCON64
      emulate_<console>command line to use to start emulator for <console>
      emulate_<CRC32>command line to use to start emulator for file with that CRC32
      emulate_0x<CRC32>command line to use to start emulator for file with that CRC32
      f2afirmwarepath to F2A USB firmware
      iclientupath to GBA client binary (for USB code)
      iclientppath to GBA client binary (for parallel port code)
      ilogopath to iLinker logo file
      gbaloaderpath to GBA multi-game loader

      + Each of these variables can also be set in the command line environment. If + they are they take precedence over the values set in the configuration file. + For example, if you set the environment variable ansi_color to 0 while the + configuration file sets it to 1 uCON64 will not use color. In command.com or + cmd.exe you can set an environment variable with the command "set", in Bash + you should do it with the command "export". For example:
      +    export ansi_color=0
      + Some variables can be overruled with command line switches. For example, to + disable the use of color even if both the configuration file and the + environment have the variable ansi_color set to 1, use the switch -ncol:
      +    ucon64 "Rock Fall (PD).zip" -ncol
      + The variable ucon64_configdir is only really important for the Windows + versions of uCON64. To install the I/O port driver io.dll or inpout32.dll + place it (or both) in the directory that uCON64 lists as its configuration + directory.
      + If you use DOS or Windows 9x and do not want uCON64 to create + ucon64.cfg or .ucon64rc files all over the place (current directories) see + question 25.
      + You might also want to make use of DAT files. See + question 36 for more information.
      +
      +

      +Q5: Sometimes my terminal seems to be locked after "ucon64 + -xswc <file> | more"
      +A: You are right, it seems to be locked, but the only thing that + happened is that the character echoing of the terminal is disabled by more. + Just do not do that ;-)
      +
      +

      +Q6: How do I make uCON64 only display information about a + ROM?
      +A: If you want to display information about a ROM just run uCON64 with + the name of the ROM as the only argument. Sometimes you will have to specify + the console type for uCON64, because the ROM dump is damaged or simply not + detected correctly by uCON64. For example:
      +    ucon64 -snes "Super Aleste (J) [t1].swc"
      +
      +

      +Q7: I have two parallel ports in my PC and my Flash Advance + Linker is connected to the second. However, when I try to use uCON64 to send + a demo to the FAL something goes wrong. What happened?
      +A: Well, many things could have gone wrong, but uCON64 only detects your + first parallel port (it stops probing for a parallel port if it finds one). + So, you should specify the address of the second parallel port on the + command line. For example:
      +    ucon64 -xfal demo.gba -port 0x278
      +
      + The I/O address of the parallel port could be 0x3bc, 0x378 or 0x278. If you + do not want to type the address of the parallel port every time you want to + transfer something to your FAL (or another copier) edit .ucon64rc or + ucon64.cfg (for the DOS version) and remove the hash symbol in front of the + line that starts with "parport=" (without the quotes). If that line is not + present add one. You do not have to use the prefix 0x. For example:
      +    parport=278
      + You can also set an environment variable with the name parport to the right + value. The value of the environment variable takes precedence over the value + in the configuration file.
      +
      +

      +Q8: I tried to dump a SNES cartridge using a Super Wild Card + connected to my PC with an interlink cable, but it did not work. What is + wrong?
      +A: You should not use an interlink cable, but a standard bidirectional + parallel cable, i.e., a cable with male DB-25 connectors at both ends where + the pins are connected in the following way:
      + pin 1  <-> pin 1
      + pin 2  <-> pin 2
      + pin 3  <-> pin 3
      + pin 4  <-> pin 4
      + pin 5  <-> pin 5
      + pin 6  <-> pin 6
      + pin 7  <-> pin 7
      + pin 8  <-> pin 8
      + pin 9  <-> pin 9
      + pin 10 <-> pin 10
      + pin 11 <-> pin 11
      + pin 12 <-> pin 12
      + pin 13 <-> pin 13
      + pin 15 <-> pin 15
      + pin 25 <-> pin 25
      + The other pins may be left unconnected. Pins 2-9 are used for output, pins + 10-13 & 15 for input and pin 25 is ground.
      +
      +

      +Q9: I have a SNES ROM of which GoodSNES says it is good, but + uCON64 says it is bad. Who is right?
      +A: It depends.
      + If uCON64 displays the text "Checksum: Bad" GoodSNES might be right.
      + There may be several reasons why uCON64 reports that the check sum is bad. + It could have made a mistake while determining if the ROM is a HiROM or a + LoROM dump. Try the switches -hi and -nhi and see if uCON64 reports the + check sum differently. Sometimes ROM dumps are detected as not being + interleaved while they actually are. Try the switches -int and -int2 and see + if you get better results. It could also be that uCON64 detects the ROM as + interleaved while it is not. The switch -nint might help in that case. If + the check sum is reported as good it is likely that the ROM is really good. + Alternatively, you may want to convert the ROM to a non-interleaved format + with -dint and run uCON64 on the converted ROM. Luckily you will not find + many interleaved ROM dumps that uCON64 cannot handle, probably because + Snes9x and ZSNES often cannot handle them either.
      + Perhaps "Ok" looks nicer than "Bad", but it is far more important that + uCON64 displays DAT file information. If you installed a SNES DAT file (see + question 36) and uCON64 does not display a line with the + text "DAT info:" then the ROM dump could not be identified. It could be that + you have an unknown ROM dump, but it is more likely that you have a modified + (i.e. bad) dump or an overdump. GoodSNES 0.999.5 does not use the CRC32 to + identify files, so if uCON64 does not display DAT info, but GoodSNES + identified it as good then uCON64 is right. For reasons see + question 42.
      +
      +

      +Q10: I have a SNES ROM of which Snes9x and ZSNES say it is + bad, but uCON64 says it is good ("Checksum: Ok"). Who is right?
      +A: uCON64, probably :-)
      + Neither Snes9x 1.39 nor ZSNES 1.36 calculate the check sum correctly for BS + ROMs, so you can be pretty sure the ROM is good if it is a BS ROM. See + previous answer.
      +
      +

      +Q11: I have a SNES ROM of which uCON64 said it was bad, so + I used the -chk option. Now uCON64, Snes9x and ZSNES all say the ROM is + good, but GoodSNES still says it is bad. How can that be, I did fix the ROM, + right?
      +A: No, you did not. When you use -chk uCON64 changes four bytes in the + ROM dump, so that they match with the calculated check sum. However, the ROM + stays just as bad as it was.
      + Use -chk with care. -chk might be useful if you want to store a ROM + somewhere without using a database with its check sum. You can then later + check if the ROM is still the same as it was when you stored it by using the + check sum that is stored in the ROM.
      + That said, it is a much better idea to create a DAT file from your + ROM collection if you plan to store it somewhere. See + question 42 for reasons and question 43 + for information on how to create a DAT file.
      +
      +

      +Q12: Some SNES games do not work on my Super Wild Card. + What can I do about that?
      +A: You can do several things. First make sure the original game + cartridge does not contain any special chips that your Super Wild Card + does not support (look at the ROM type information). For example, if you are + trying to run a game like Super Mario Kart (which uses a DSP chip) your + Super Wild Card should have an extension with the correct DSP chip (or have + the right cartridge with that chip plugged in your SWC). Then make sure you + are using a good dump (look at the check sum information). After you have + done that, check if the file is interleaved (look at the line that starts + with "Interleaved/Swapped:"). If the file is interleaved convert it to Super + Wild Card format (deinterleaved) by using the option -swc. Also verify that + the backup unit header is correct. The option -dbuh can be helpful with + that. You can make uCON64 rewrite the header also with -swc. uCON64 uses the + information in the ROM dump's header when sending the file to the Super Wild + Card, so this is important! You can also try to rewrite the header while + using one of the switches -hi or -nhi to force uCON64 to handle it as a + HiROM or a LoROM dump. Additionally you could use one of the switches -hd, + -nhd or -hdn to specify the backup unit header size. For example:
      +    ucon64 -swc -nhi -hd "Batman Revenge of the Joker (U).swc"
      + There are many (good) ROMs on the internet with incorrect headers, so this + might well solve the problem.
      + Several games contain a copy protection that prevents them from running on + a backup unit, so this can also be a reason why the game does not work. You + can try -k to remove that protection. Several games also check if they are + running on a PAL or an NTSC SNES. Use -f to remove that form of copy + protection. Some other games check the ROM speed. You can use -l for those. + Some games have more than one type of copy protection, so it could be + necessary to use uCON64 several times with a different option.
      + See question 39 and question 40 for more + information about a new feature in uCON64 1.9.8beta8 that can be used to + update or improve the options -k, -f and -l without having to (re)compile + the source code.
      +
      + Some games seem to work, but after a while it becomes clear that they do not + run as was intended. Two examples of such games are Demon's Crest and Mega + Man X. Here follows an explanation on how to get them to work. All credits + go to Gideon Zhi for sharing this info on cherryroms. Start with ROM images + in SWC format.
      +
      + Demon's Crest:
      +    ucon64 -stp "Demon's Crest.swc"
      +    cat "Demon's Crest.swc" "Demon's Crest.swc" > "Demon's Crest (SWC-fix).swc"
      +    ucon64 -swc "Demon's Crest (SWC-fix).swc"
      +
      + Mega Man X:
      +    ucon64 -stp "Mega Man X.swc"
      +    ucon64 -padn=2097152 "Mega Man X.swc"
      +    cat "Mega Man X.swc" "Mega Man X.swc" > "Mega Man X (SWC-fix).swc"
      +    ucon64 -swc "Mega Man X (SWC-fix).swc"
      +
      + WinDOS users without the program cat should use the command copy. For + example:
      +    copy /b "Mega Man X.swc" + "Mega Man X.swc" "Mega Man X (SWC-fix).swc"
      +
      + However, starting from version 1.9.8beta6 the method described above is not + necessary anymore for Demon's Crest. Use the option -k instead. For + Mega Man X you will need version 1.9.8beta7 or later.
      +
      + Finally, you could have a look at an incomplete + + + Super Wild Card compatibility list on the uCON64 homepage (it can also be + found in the source package) to see if it is possible to run a certain game + on a Super Wild Card 2.8cc 32 Mbit PAL.
      +
      +

      +Q13: Which backup devices are supported by uCON64?
      +A: See hardware.html.
      +
      +

      +Q14: I use Windows XP (NT/2000). When I try to run + ucon64.exe under command.com (start -> Run... -> command) uCON64 + crashes. What do I do wrong?
      +A: You should not use command, use cmd instead. However, starting from + version 1.9.8 uCON64 should run fine under command.com.
      +
      +

      +Q15: I do not like the command line. Are + there graphical frontends available?
      +A: Yes, have a look at + + http://ucon64.sourceforge.net/index2.html#ucon64gui
      +
      +

      +Q16: Where do I get PPF, APS or IPS patches?
      +A:
      +

      + + +

      + + Google +

      +

      +
      +
      + +
      +
      +

      +Q17: Where do I get ROMs/Games?
      +A: www.ebay.com
      +
      +

      +Q18: What does "[ROM|IMAGE|SRAM|FILE|DIR|ARCHIVE]..." mean + in the help?
      +A: The pipe symbol ('|') should be read as "or".
      + The square brackets indicate that "ROM|IMAGE|SRAM|FILE|DIR|ARCHIVE" is + optional. For many options you have to specify either a ROM or a CD image or + an SRAM file or some other file or a directory or an archive. However, there + are a few options that do not need any of those arguments.
      + The ellipses indicate that you may specify one or more ROMs, CD images etc. + Several options even support combinations of ROMs, directories and + archives.
      + For the current version of uCON64, archive should be read as "ZIP file".
      +
      +

      +Q19: Why is my backup unit (still) not supported?
      +A: Get us the protocol or the sources of existing transfer tools and you + will see what happens. uCON64 already supports all important backup units + which were and are available. Manufacturers of devices which are still not + supported are welcome to contact us.
      +
      +

      +Q20: How do I specify a bank number for the GB Xchanger?
      +A: Separate the bank number from the option -xgbxb with either a space or + an equal sign. For example:
      +    ucon64 -xgbxb 0 "Pokemon (Green).sav"
      + or:
      +    ucon64 -xgbxb=0 "Pokemon (Green).sav"
      +
      +

      +Q21: What is the difference between the Flash Advance + Linker options -xfals and -xfalb <n>?
      +A: When saving -xfals saves all 256 kB while -xfalb <n> saves + only the 64 kB of bank n. When restoring -xfals starts restoring the SRAM in + bank 1 while -xfalb <n> starts in bank n. For example, if you have + Super Mario Advance 2 (J) on your flash card in "ROM bank" 4 and would like + to save/restore SRAM bank 4 you should do something like:
      +    ucon64 -xfalb 4 "Super Mario Advance 2 (J).sav"
      + The file size determines how many bytes are restored, even when you use + -xfalb <n>. So, if the file is greater than 64 kB more than one bank + will be written to.
      +
      +

      +Q22: uCON64 exits with the message "ERROR: Flash card erase + failed" when I try to write a multi-game file to my flash card. What is + wrong?
      +A: The multi-game file you created is too large for your flash card. When + you make a multi-game file do not forget that the loader or "game pack" file + also needs some space (32 kB) on the flash card. Do not pass a size to -multi + that is larger than your flash card. Passing a smaller size is correct + though. For example, to create a multi-game file that fits on a 128 Mb (16 + MB) card use a command line like this:
      +    ucon64 -gba -multi=128 loader.bin rom1.gba rom2.gba rom3.gba rom4.gba multi.bin
      + You can also send it directly by using -xfalmulti:
      +    ucon64 -xfalmulti=128 rom1.gba rom2.gba rom3.gba rom4.gba
      + Please note that when using -multi you have to specify a loader and the name + of the multi-game file to create, while when using -xfalmulti you must omit + them. -xfalmulti uses the variable gbaloader to find the loader. See + "How to configure the uCON64 executable".
      + Just like sometimes happens with Visoly's tool it is possible to get the + same message when the multi-game file is small enough. It will probably work when + you try again (with the same multi-game file).
      +
      +

      +Q23: Where can I get that loader or "game pack" file?
      +A: You can get it from + Visoly's site. It is in a file with a name like + preboot32.zip. + You can find it also on the uCON64 homepage.
      +
      +

      +Q24: What is the meaning of the -col option (SNES)?
      +A: Back in the days stupid people released games with green blood. + You can use a GFX or HTML editor to find an identical green color and + write down the color values in HTML style (#RRGGBB). Now you run + "ucon64 -col #RRGGBB" and it will calculate the hex value for the + corresponding SNES color. Ok? No? Then you do not need this option :-)
      +
      +

      +Q25: Why does uCON64 create ucon64.cfg (DOS executable) or + .ucon64rc (Win32 executable) files all over the place under DOS and + Windows 9x (command.com)?
      +A: uCON64 needs to know where it can find the configuration file or a + directory where it can create one. It checks the environment for a variable + with the name UCON64_HOME, HOME, USERPROFILE or HOMEDRIVE and HOMEPATH (in + that order). Under Unix HOME is normally set. Under Windows XP and 2000 + (NT?) USERPROFILE, HOMEDRIVE and HOMEPATH are usually set. If uCON64 cannot + find one of those environment variables it will look for the configuration + file in the current directory. If it cannot find a configuration file it + will create one. Under DOS and Windows 9x none of those environment + variables are usually set. So, if you run uCON64 under DOS or + Windows 9x in a directory where no configuration file exists it will + create one there. If you do not like this behaviour you should set one of + the mentioned environment variables yourself. You can do that by adding the + following line to the end of the file c:\autoexec.bat:
      +    set UCON64_HOME=c:\ucon64
      + and reboot. You can also type that line on the command line. The directory + c:\ucon64 must exist, of course. If you want uCON64 to use another directory + you should change c:\ucon64 to a directory of your choice. You should not + let the last character of the environment variable be a forward or backward + slash.
      + If you have Cygwin installed, the Cygwin runtime system will create an + internal environment for the uCON64 executable with HOME set to Cygwin's + home directory if it has not already been set. You can override this value + with the method mentioned earlier. However, if you set UCON64_HOME this does + not matter as the value of HOME will not be checked if UCON64_HOME is set.
      + You can check which configuration file uCON64 uses by specifying the option + -version on the command line.
      +
      +

      +Q26: When I try to create a multi-game file under Windows I + get the message "The system cannot execute the specified program." (or + something similar). What does that mean?
      +A: You can get that message with the DOS executable if you pass more + than 127 characters as argument to uCON64. There are two solutions:
      + 1.) Use a Win32 executable (download one from + the uCON64 + homepage).
      + 2.) Rename the ROMs so that their combined names are short enough to fit + into 127 characters.
      +
      +

      +Q27: I tried to run a Win32 executable of uCON64 but Windows + gave an error message that cygwin1.dll, cygz.dll or zlib.dll could + not be found.
      +A: The Cygwin-compiled Win32 executable of uCON64 needs cygwin1.dll and + cygz.dll in order to run. The Visual C++-compiled Win32 executable needs + zlib.dll. You can download these files from + the uCON64 homepage. + Copy the file(s) to the same directory as the uCON64 executable or to a + directory in your PATH.
      +
      +

      +Q28: How do I make uCON64 display one help screen at a + time?
      +A: Just as is stated in the last few lines of the help, pass the output + of uCON64 to a program that waits for a key after one screen of text. You + could use the program "more". In order to pass the output of uCON64 to more + you have to use the pipe symbol, '|'. On an international keyboard you can + type this symbol with the same key you use for the backslash ('\'). For + example:
      +    ucon64 -help|more
      + To get only help on the options for a specific console, specify the console + on the command line. For example, to see only the help on Game Boy Advance + options:
      +    ucon64 -help -gba|more
      + Press the space bar to see the next help screen, the enter key to see the + next line or q to quit.
      +
      +

      +Q29: I tried to send a ROM dump to my copier under + Windows XP (NT/2000), but uCON64 crashed. What is wrong?
      +A: If the message looks like this (for the Win32 (Cygwin) executable):
      +    0 [main] ucon64 356 handle_exceptions: Exception: STATUS_PRIVILEGED_INSTRUCTION
      + 5570 [main] ucon64 356 open_stackdumpfile: Dumping stack trace to ucon64.exe.stackdump
      + or like this:
      +    Illegal instruction (core dumped)
      + then you did not install an I/O driver (correctly). In this case "install" + means that the I/O driver is running at the time uCON64 tries to access the + parallel port. See question 4.
      + You will also see this message (with a Windows version of uCON64) if you + tried to enable EPP mode for the FAL under Windows XP (NT/2000) , i.e., you + specified the switch -xfalm, without an appropriate I/O port driver. + UserPort is inappropriate for this, because it enables access to I/O + ports up to 0x3ff. However, in order to enable EPP mode the FAL code tries + to access an I/O port with an address higher than 0x3ff. If you want to be + able to use EPP mode try io.dll or inpout32.dll.
      + Starting with version 2.0.0 uCON64 will not crash anymore if it cannot + access the parallel port at start up (unless you use UserPort in combination + with a Windows version of uCON64).
      +
      +

      +Q30: I want to convert a NES ROM in iNES format to UNIF. + How do I know what board name to use?
      +A: The file + + boardtable.txt contains a table where you can find what game uses what + board. The file + + boardnames contains a list of all known board names.
      +
      +

      +Q31: How do I convert a NES ROM from Pasofami to FFE? Or + from UNIF to Pasofami?
      +A: Use iNES as intermediate format. So, to do the conversion Pasofami + -> FFE, do this conversion instead: first Pasofami -> iNES and then + iNES -> FFE.
      + To answer the second question, to do the conversion UNIF -> Pasofami do + this: UNIF -> iNES and then iNES -> Pasofami.
      +
      +

      +Q32: How do I specify dumper information when converting to + UNIF?
      +A: Create a text file with three lines. The first line should contain + the name (or "handle") of the person who dumped the cartridge. This line may + be 99 characters long at maximum. The next line should contain the date when + the cartridge was dumped. The format is dd-mm-yyyy. Instead of the hyphen + ('-') you may also use the slash ('/'). If day or month is smaller than 10 + you may use 1 or 2 digits, for example:
      +    02/02/2002
      + or
      +    2-2-2002
      + The third and last line should contain information about the dumping means + that was used. This line may also contain 99 characters at maximum. Here is + an example info file:
      +    Dirk <noisyb@gmx.net>
      +    26-7-2002
      +    Custom built hardware
      + To get this information in a UNIF file, you should use the -dumpinfo switch + in combination with the -unif option. Say you store the dumper information + in the file info.txt. This would get the info in a UNIF file:
      +    ucon64 -unif smb.nes -mapr NROM -dumpinfo info.txt
      + If you already have a UNIF file the command line looks almost the same:
      +    ucon64 -unif smb.unf -dumpinfo info.txt
      + For an existing UNIF file you need not specify the board name, but you might + want to specify it if you want to change the board name in the file. + Afterwards run uCON64 on the newly written ROM to see if you were + successful. uCON64's display output should contain a dump info section then.
      +
      +

      +Q33: How do I specify that a NES game in UNIF format + supports multiple controller types?
      +A: Use the -ctrl switch multiple times on the same command line. + For example, to specify that a game supports the controller types "regular + joypad" and "power pad" you should use a command line like this:
      +    ucon64 -unif smb.nes -mapr NROM -ctrl 0 -ctrl 4
      +
      +

      +Q34: How do I enable or disable colors in the display + output of uCON64?
      +A: For the Windows and Unix executables colors are enabled by default. + For the DOS executable ANSI.SYS must be loaded. Under DOS and + Windows 9x ANSI.SYS can be loaded by adding a line to the end of + c:\config.sys of the format "device=<full path to ANSI.SYS>". + Say ANSI.SYS is located in the directory c:\windows\command, then the line + would have to look like this:
      +    device=c:\windows\command\ansi.sys
      + Changes made to config.sys under DOS and Windows 9x will become active + only after a reboot.
      + Under Windows XP/NT you should add a similar line to your + %SystemRoot%\system32\CONFIG.NT:
      +    device=%SystemRoot%\system32\ansi.sys
      + The use of color can be disabled by specifying the switch -ncol on the + command line. You can also add the following line to the configuration file:
      +    ansi_color=0
      +
      +

      +Q35: When I try to convert a large number of files using + wildcards, uCON64 will only convert the first file. Is this a bug?
      +A: No, it is not. uCON64 versions before 1.9.8beta7 just do not support + wildcards. For example, to convert all files with the suffix (M$ speak: + extension) .mgd to Super Wild Card format, try this in Bash:
      +    find -name \*.mgd -exec ucon64 --snes --swc {} \;
      + or this in command.com or cmd.exe:
      +    for %f in (*.mgd) do ucon64 --snes --swc "%f"
      + However, this functionality has been added to uCON64 1.9.8beta7. With that + version you can do the same thing with:
      +    ucon64 --snes --swc *.mgd
      + In case something goes terribly wrong and uCON64 crashes it might still be + necessary to use one of the previous methods, because every file will be + processed and not only the files before the crash.
      +
      +

      +Q36: Does uCON64 support DAT (RomCenter/GoodXXXX) files?
      +A: Yes, starting with version 1.9.8beta8 it does. First use the option + -version to see which configuration file uCON64 uses + (see question 25). Then open that file in an editor and + look for a line that starts with "ucon64_datdir=" (without the quotes). If + that line is not present add one. For example on Unix:
      +    ucon64_datdir=~/.ucon64/dat
      + or on Windows:
      +    ucon64_datdir=c:\ucon64\dat
      + You can use the tilde ('~') also on DOS and Windows. It will be interpreted + by uCON64 as the "home directory". The home directory is the directory + specified by the environment variable HOME or USERPROFILE or HOMEDRIVE and + HOMEPATH. If none of those environment variables are set, the current + directory will be handled as the home directory. Again, see + question 25.
      + You can also set an environment variable with the name ucon64_datdir. The + value of the environment variable takes precedence over the value in the + configuration file.
      + Then copy all DAT files you have into that directory. You can download DAT + files from sites like + + http://emulationrealm.com/, + + http://www.romcenter.com/ or + + http://www.rommanager.com/. You can also find some DAT files on + + the uCON64 homepage.
      + uCON64 will automatically create index files which speed up the access to + the DAT files dramatically. Now uCON64 uses the information inside the DAT + files to identify or rename ROMs without an internal header.
      + Starting with version 1.9.8beta8 uCON64 does not have an internal database + anymore, so you will need DAT files for files like NES ROM dumps.
      + You can check which DAT files are used by uCON64 with the option -db. You + can view or list all DAT entries with the option -dbv. You can search for a + specific CRC32 value with the option -dbs. The force-console-type options + can be used in combination with -db, -dbv and -dbs. For example, to see + which DAT files are used to identify SNES ROM dumps, type:
      +    ucon64 -db -snes
      + If uCON64 reports that it found 0 DAT files you did not install the DAT + file(s) correctly.
      +
      +

      +Q37: Some SNES games do not work on my Super Pro Fighter + Q(+). What can I do about that?
      +A: First read the answer to question 12. + Starting with versions after 1.9.8beta8 you can send (and dump) games with + the option -xfig. It could be that some games need to be in Super Wild Card + format in order for them to work correctly what SRAM concerns if you load + them from diskette. So, instead of converting them with -fig you have to use + the option -swc. For example Earthbound and "Lufia & The Fortress of + Doom" have all sorts of problems when they are in FIG format, but not when + they are in SWC format. Other games work best when you convert them with + -fig. For example Seiken Densetsu 3 will run best when converted with -fig.
      + There seems to be a bit of an overheating problem with some Super Pro + Fighter Q(+) models. After playing half an hour or so, this may result in + reboots or other strange behaviour. We have received a report of one user + who solved this by removing the case of the Super Pro Fighter Q(+) and + placing a CPU fan on top of the SPFQ's RAM chips.
      +
      +

      +Q38: uCON64 displays too many lines for my DOS-box. What + can I do about that?
      +A: You can do several things:
      + 1.) Change the number of lines that can be displayed at once with this + command:
      +    mode con lines=50
      + 2.) Use the program "more". See question 28.
      + 3.) Redirect the output of uCON64 to a file. For example:
      +    ucon64 rom.swc > output.txt
      + You can then open the file output.txt in an editor.
      +
      +

      +Q39: When will the next version of uCON64 be released? I + have heard the next version is able to crack my favourite SNES game, but I + do not know how to use CVS or a compiler.
      +A: We know when we will release a new version only just before we do so. + But starting with uCON64 1.9.8beta8 this is not a problem for you at all. + The only requirement is that you are able to read and use a text editor ;-)
      + First visit the uCON64 homepage and from there follow a link to the + + uCON64 SourceForge page. You should be able to find a page where you can + browse the CVS repository. Download the latest version of the file snes.c. + Open the file in an editor and search for the text snes_k. If you are + looking for NTSC or PAL fixes search either for snes_fix_pal_protection or + snes_fix_ntsc_protection, depending on what you need. For example, you will + have to search for snes_fix_pal_protection, if you want to fix a game so + that it will run on an NTSC SNES.
      + Then read the comment to see what "code" your game requires. However, surely + not every game will be mentioned in the comments. In that case search for + the corresponding "line" a bit below. For example, for Mega Man X you will + find this text in the comments:
      +    af/bf XX 80 00 cf/df XX 80 40 f0
      + => af/bf XX 80 00 cf/df XX 80 40 80
      + Then you could search for the sequence \x80\x40\xf0. It is just a subset of + the search pattern with each element prefixed with "\x". Searching for + \xaf/\xbf will not bring you far. Searching for \xXX\x80 neither. It takes a + bit too much text to explain all the details, so just follow the directions. + Note that I did not advise to search for \x80\x40\x80, because that is what + the sequence should be after uCON64 has cracked or fixed the game.
      + For Mega Man X you will find the lines:
      +    n += change_mem (buffer, bytesread, "!*\x80\x00!*\x80\x40\xf0", 9, '*', '!', "\x80", 1, 0,
      +                + "\xaf\xbf", 2, "\xcf\xdf", 2);
      + Now open the file snescopy.txt. If you are trying to get uCON64 support new + NTSC or PAL cracks open snesntsc.txt or snespal.txt respectively. Then copy + the parts "!*\x80\x00!*\x80\x40\xf0", '*', '!', "\x80", 0, "\xaf\xbf" and + "\xcf\xdf" to a new line in that file. Note that 0 is the 9th parameter. + Also note that "\xaf\xbf" and "\xcf\xdf" are all parameters between double + quotes after the 9th parameter.
      + Remove the double and single quotes and separate the parts by a colon. Then + replace the prefix \x with a space. If you followed the directions the line + will look like this:
      +    !* 80 00!* 80 40 f0: *: !: 80: 0: af bf: cf df
      + You are almost done now. Only one thing has to be done. Look at what the + "wildcard" and "escape" symbols are. They are defined by the 5th and 6th + parameter of change_mem(), respectively. In our example the 5th parameter is + '*', so the wildcard character is: *. The 6th parameter is '!', so the + escape character is: !. And now the last step: replace the wildcard and + escape characters with a (hexadecimal) number that does not occur in the + rest of the character sequence (except other wildcards and escape symbols or + values). Be sure to have at least one space between the numbers. In our + example we could choose the values 1 and 2. In that case the finished line + would look like this:
      +    2 1 80 00 2 1 80 40 f0: 1: 2: 80: 0: af bf: cf df
      + If for example the 5th parameter would have been \x01, the wildcard would be + 01. In that case you would not have to change it, because it is already a + number.
      + Now save the changed file and place it either in the directory from where + you will run uCON64 (this is not necessarily the same directory as the one + where the uCON64 executable might be located!) or in uCON64's configuration + directory. Use the option -version to find out which directory that is. Then + try if uCON64 is able to crack your game. uCON64 will display a warning + message if it detects an error in your new line. If you made a mistake with + escape symbols uCON64 might very well crash. You can use the switch -v (in + combination with -k, -f or -l) to make uCON64 display what information it + reads from the file.
      + If you cannot find which line you need you will either have to add a line to + snescopy.txt, snespal.txt or snesntsc.txt for every code that is not already + mentioned in those files or ask someone else to do it for you. For example + on an emulation web forum like + the cherryroms + + copier and hardware forum.
      +
      +

      +Q40: What is the format of the snes*.txt files?
      +A: Zero or more lines of the following format:
      + <search> : <wc> : <esc> : <new> : <off> + [: <set>]*
      + Where search is the search pattern, wc the wildcard value, + esc the escape value, new the replacement byte sequence, + off the offset and set a set of bytes for each escape value in + the search pattern. uCON64 does not accept this information to be specified + across several lines. All values should be specified in hexadecimal, except + the offset.
      + If the search pattern does not contain any escape bytes, you need not specify + a set as it will not be used. If it does contain escape bytes you will have + to specify a set for each one of them. Take for example the pattern:
      +    01 00 01 00 42 84 ff 75 : ff : 00 : 02 03 : -6 : 22 11 : 19 75
      + This will match amongst 1020 others with the following byte sequences:
      +    01 22 01 19 42 84 19 75
      +    01 11 01 19 42 84 91 75
      +    01 22 01 75 42 84 00 75
      +    01 11 01 75 42 84 ff 75
      + A wildcard value in the search pattern matches with any value.
      + Using the above search pattern, uCON64 will search and replace two bytes six + bytes "back" from the end of any matched byte sequence. + For example, any occurence of the byte sequence 01 22 01 19 42 84 19 75 will + be changed into 01 02 03 19 42 84 19 75.
      +
      +

      +Q41: Is it possible to force uCON64 to send or dump (an) + SRAM (file) instead of that it depends on whether the file exists?
      +A: No, but you could use a simple script or batch file to force sending + or dumping. Here is an example batch file to force dumping SRAM with a Pro + Fighter:
      +   @echo off
      +   if exist %1 goto error
      +   ucon64 -xfigs %1
      +   goto exit
      +   :error
      +   echo %1 already exists, use a different name
      +   :exit
      + Save that text to a file that ends with ".bat" (without the quotes). Say you + save it to a file named dumpsram.bat. Then you can dump the SRAM of the Pro + Fighter with a command line like:
      +   dumpsram save1.sav
      + You do not have to check if save1.sav exists anymore as the batch file will + do it for you.
      + Here is the Bash script equivalent of the above batch file:
      +   #! /bin/bash
      +   if [ -e "$1" ]; then
      +   echo $1 already exists, use a different name
      +   exit
      +   fi
      +   ucon64 -xfigs "$1"
      + You do not have to give the file a specific name. Just do not forget to make + the file executable. Say you name it dumpsram, then you could make it + executable with:
      +   chmod +x dumpsram
      + Now you can dump the SRAM with:
      +   ./dumpsram save1.sav
      +
      +

      +Q42: Why does uCON64 support DAT files?
      +A: uCON64 supports DAT files for two reasons:
      + 1.) In order to reliably identify ROM dumps.
      + 2.) In order to rename ROM dumps to their "official" name.
      + Some ROM dump formats contain enough information to identify them, but none + of the formats supported by uCON64 can be reliably identified.
      + The check sum algorithms that are used to calculate the internal check sum + of the files that have one is a simple addition of a range of bytes. So, + several bytes can be swapped and still yield the same check sum. Even the + range can be different and produce the same check sum. The latter case often + occurs with overdumps. Some ROM dump formats do not even use the entire file + for the check sum calculation...
      + uCON64 solves these problems as it uses the CRC32 algorithm for file + identification. The CRC32 algorithm will produce a different check sum if + bytes are swapped or if the range is different. When uCON64 is run on a ROM + dump it first calculates the CRC32 of that file and then searches in its DAT + files for that CRC32. If the CRC32 is present uCON64 will display the + information it found in the DAT file. If uCON64 could not find the CRC32 it + will not display DAT information.
      + At the risk of labouring the obvious I might add that even if all formats + used a check sum algorithm like CRC32, DAT files would still be necessary as + it is not possible to reliably identify a file without an external + reference.
      +
      +

      +Q43: How should the option --mkdat be used?
      +A: With care ;-)
      + Seriously, let me first state that it would not be helpful if people would + start creating DAT files from their ROM collections and publish them without + some form of coordination. At the time of this writing (2 June 2003) + Cowering's GoodXXXX utilities are the standard for most consoles.
      + In order to create a DAT file first make sure that all the ROMs you want to + create a DAT file from, have the name you want them to have. This is + important as DAT files are used not only for identification, but also for + renaming files (when using the option --rename). Also make sure all the + files have a suffix (or "extension"). Then start uCON64 with the --mkdat + option. For example, to create a DAT file from all the SNES ROM dumps in the + directory c:\snesrom use a command line like:
      +   ucon64 --mkdat=snes-02062003.dat c:\snesrom
      + In this case a DAT file named snes-02062003.dat will be created. When you + copy this file to uCON64's DAT directory uCON64 will use it to identify SNES + ROMs. Note that the name ends with ".dat". uCON64 will only see DAT files if + they have a name that ends with ".dat". Note also that the name starts with + "snes". uCON64 will use all DAT files (in its DAT directory) that start with + "snes" to identify SNES ROM dumps. The letter case is not important, so you + could also use a name that starts with "SNES" or "Snes". If you use an + incorrect name uCON64 will not use the DAT file, but will print a warning + message each time you run uCON64 on a ROM dump. Here follows a table to see + which name uCON64 uses for what console:
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      consoleDAT file name prefix
      "Atari hardware"Good2600, Good5200, Good7800, 2600, 5200 or 7800
      ColecoGoodCOL or Coleco
      Game Boy AdvanceGoodGBA or GBA
      Game Boy (Color)GoodGBX or GBX
      Genesis or Mega DriveGoodGEN or GEN
      IntellivisionGoodINTV or Intelli
      JaguarGoodJAG or JAG
      LynxGoodLynx or Lynx
      "M.A.M.E. hardware"MAME
      Neo GeoNeo-Geo
      Neo Geo PocketGoodNGPX or NGP
      NESGoodNES, NES or FDS
      Nintendo 64GoodN64 or N64
      PC-EngineGoodPCE or PCE
      Sega Master System and Game GearGoodSMS, GoodGG, SMS or GG
      SNESGoodSNES or SNES
      VectrexGoodVECT or Vectrex
      Virtual BoyGoodVBOY or VBOY
      WonderSwanGoodWSX or swan
      +
      + You can create a DAT file from a subset of the files in a directory by + explicitly specifying the files on the command line:
      +   ucon64 --mkdat=snes-02062003.dat c:\snesrom\*.swc
      + uCON64 uses the first file to determine for which console a DAT file is + meant. So, if you want to create a DAT file from a set of ROMs of several + consoles, the first file uCON64 encounters will determine the DAT file type. + You can do two things in such a case to be sure for which console the + resulting DAT file will be meant:
      + 1.) Specify one extra ROM dump as first file on the command line. For + example:
      +   ucon64 --mkdat=n64-02062003.dat c:\rom\mario64.v64 c:\rom
      + 2.) Use a force recognition switch. For example:
      +   ucon64 --mkdat=sms-02062003.dat c:\rom --sms
      +
      + The second option should only be used when you are sure all the files are + for a certain console and uCON64 fails to recognise some.
      + You can control what information uCON64 displays when creating a DAT file + with the switches -v and -q. --mkdat uses three levels of verbosity:
      + 1.) When the switch -v is specified uCON64 will display a warning if it + could not determine the console type for a file. uCON64 will also display a + warning if it encounters a file that has the same CRC32 as a file uCON64 + already processed (a "duplicate").
      + 2.) When neither -v nor -q is specified uCON64 will display a warning only + if it finds a duplicate or if the console type of the first file could not + be determined.
      + 3.) When -q is specified uCON64 will display a warning only if the console + type of the first file could not be determined.
      +
      + If you had to specify a first file you could suppress the warning about a + duplicate by using the switch -q. For example:
      +   ucon64 --mkdat=n64-02062003.dat c:\rom\mario64.v64 c:\rom -q
      +
      +

      +Q44: What tools do you recommend besides uCON64?
      +A: For SNES, only + NSRT (Nach's SNES ROM + Tools). That is, starting from version 3.0 Release Candidate 1. NSRT has some + features that uCON64 does not have. The two most interesting features are + arguably that it is able to fix some hacked ROM dumps and that it has an + internal database which is spend a lot of effort on to have it contain only + correct entries (as opposed to GoodSNES and the GoodSNES DAT files). What the + second feature is concerned let us remind you that the quality of uCON64's + ROM database support stands or falls with the quality of the DAT files. So, + if you would create a DAT file of a ROM dump collection processed with NSRT + uCON64 would get a SNES database that is similar to the one in NSRT. See + question 43. Another advantage NSRT has over uCON64 (as + seen from a SNES user's viewpoint) is that it is written only for SNES. NSRT + also handles some strange formats that uCON64 does not handle.
      +
      +

      +Q45: What is an interleaved ROM?
      +A: Strictly speaking, interleaved ROMs do not exist. Interleaved ROM + dumps do. Or perhaps it is better to say ROM dumps in interleaved format. + The meaning of "interleaved" depends on the console type. Interleaved + formats exist for NES, Sega Master System, Game Gear, PC-Engine, Genesis, + SNES and Nintendo 64.
      + Deinterleaving is the opposite of interleaving a ROM dump. It is the process + of converting the data to "binary" format. Binary in the sense as how the + data (in a cartridge) is presented to the CPU.
      + ROM dumps can be interleaved (not for NES) and deinterleaved with uCON64.
      +
      + NES
      + NES dumps can contain two types of data, "PRG data" and "CHR data". + Interleaved NES dumps have the PRG data stored at the even offsets in the + file and the CHR data at the odd offsets. Non-interleaved dumps first + contain all the PRG data followed by the CHR data (if present).
      + Cannot be interleaved with uCON64.
      + Can be deinterleaved with uCON64 using the option -dint.
      +
      + Sega Master System, Game Gear and Genesis
      + Interleaved Sega Master System, Game Gear and Genesis dumps are produced by + the Super Magic Drive and the Multi Game Doctor 2.
      + For the SMD: for each block of 16384 bytes of the ROM all bytes at even + offsets are stored in the upper half of the dumped block. The bytes at odd + offsets are stored in the lower half. So, each dumped block first contains + 8192 "odd bytes" then 8192 "even bytes".
      + For the MGD2: all odd bytes of the file are stored in the first half of the + file, all even bytes in the second half.
      + Can be interleaved with uCON64 using the option -smd or -mgd.
      + Can be deinterleaved with uCON64 using the option -bin.
      +
      + PC-Engine
      + Interleaved PC-Engine or TurboGrafx-16 dumps are not produced by a specific + copier. It depends on the HuCARD (PC-Engine/TurboGrafx-16 game cartridge). + American HuCARDs produce an interleaved dump, because the 8 data pins are + reversed compared to Japanese HuCARDs. Perhaps "bit-swapped" is a better + word to describe the format, but using the word interleaved prevents + confusion (as bit-swapped implies a non bit-swapped reference).
      + Can be interleaved with uCON64 using the option -mgd, making the game + suitable for a TurboGrafx-16. You can use the option -swap afterwards if you + want to play the game on a PC-Engine.
      + Can be deinterleaved with uCON64 using the option -msg.
      +
      + SNES
      + Interleaved SNES dumps are produced by the Game Doctor and the Super UFO + when dumping a HiROM cartridge. The simplest interleaved format first + contains all upper halfs of each 64 kB block of the ROM (HiROM "banks"), + then all lower halfs. There are several interleaved formats, but except for + one they all share the principle of dividing each 64 kB block in two.
      + SNES ROMs contain a block of 48 bytes, some call it the internal SNES + header, that contains information about the ROM. Information like game name, + check sum, size and the bank type. There are two bank types, HiROM and LoROM + (as far as we know these are terms not used by Nintendo). HiROM ROMs have + banks of 64 kB, LoROM ROMs have banks of 32 kB. The first bank contains the + internal SNES header at a fixed offset relative to the end of the bank. + However, because the bank sizes differ for HiROM and LoROM the absolute + locations differ for the two in non-interleaved dumps. If dumps are + interleaved the absolute locations are te same.
      + The interleaved format was probably introduced so that a copier can + (the Game Doctor does only if the dump has no header) always check the same + location in a dump to tell whether it should handle it as a LoROM or a HiROM + dump.
      + Can be interleaved with uCON64 using the option -gd3 or -ufo.
      + Can be deinterleaved with uCON64 using the option -dint, but it is + better to use one of the regular conversion options -smc, -swc, -fig or + -mgd. Some SNES tools erroneously interleave LoROM dumps. These dumps + can be deinterleaved with the options -gd3 and -ufo as well as with the + aformentioned (SNES) options.
      +
      + Nintendo 64
      + Interleaved Nintendo 64 dumps are produced by the Doctor V64 and the Doctor + V64 Junior. Perhaps "byte-swapped" is a better term for Nintendo 64 dumps. + For each two bytes the first and the second byte are swapped.
      + Can be interleaved with uCON64 using the option -v64.
      + Can be deinterleaved with uCON64 using the option -dint, but it is better to + use the regular conversion option -z64.
      +
      +

      +Q46: The pre-compiled GNU/Linux binary does not work on my + system, while a binary compiled by me works fine. How can that be?
      +A: If you get this output on the command line:
      +   libgcc_s.so.1: cannot open shared object file: No such file or directory
      + Or when the command "ldd discmage.so" gives output that looks like this:
      +   libz.so.1 => /usr/lib/libz.so.1 (0x4002b000)
      +   libgcc_s.so.1 => not found
      +   libc.so.6 => /lib/libc.so.6 (0x40039000)
      +   /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)
      + (note the text "not found") then you are experiencing a binary + incompatibility problem with the add-on discmage library. You can either + remove the discmage library from the directory where uCON64 looks for it + (see question 4) or compile the library yourself (see + question 3).
      +
      +

      +Q47: I use Windows XP (NT/2000) and every time I run uCON64 + I get this error message about ntuser.dat. What does it mean?
      +A: If you see lines in the display output of uCON64 that look like + these:
      +   Create: ntuser.idx
      +   ERROR: Can't open "C:\Documents and Settings\Daniël\ntuser.dat" for reading
      + you should modify the configuration file so that ucon64_datdir points to + another directory.
      + By default uCON64 will use the home directory as the directory where it + searches for DAT files (the "DAT file directory"). uCON64 handles all files + in the DAT file directory that have a name that ends with ".dat" as DAT + files. ntuser.dat seems to be a standard file in a Windows XP user's home + directory (and should not be removed), but it is not a DAT file for use with + uCON64. See question 36 for more information on how to + configure uCON64 so that it uses "real" DAT files. If you only want to get + rid of that error message either make ucon64_datdir in the configuration + file point to an existing directory that does not contain any files with a + name that ends with ".dat" or make an environment variable with the name + ucon64_datdir point to such a directory. Do not forget that the environment + variable will not be set the next time you start a DOS session.
      +
      +

      +Q48: Is there any way to make uCON64 convert a ROM dump to + Game Doctor SF3/SF6/SF7 format and split it, in one command?
      +A: Not directly, but it can be done with the help of a shell script or + batch file. See question 41 for some information on how to + make a shell script or batch file run. Here is a Bash script:
      +   #! /bin/bash
      +
      +   usage ()
      +   {
      +    echo "Usage: $0 file_to_convert_and_split"
      +    exit
      +   }
      +
      +   GD3DIR="convert"
      +   SPLITDIR="split"
      +
      +   if [ ! -n "$1" ]; then usage; fi
      +   if [ ! -e "$1" ]; then usage; fi
      +
      +   if [ ! -e "$GD3DIR" ]; then mkdir "$GD3DIR"; fi
      +   if [ ! -e "$SPLITDIR" ]; then mkdir "$SPLITDIR"; fi
      +
      +   rm -f "$GD3DIR"/*
      +   rm -f "$SPLITDIR"/*
      +
      +   ucon64 -q -gd3 "$1" -o "$GD3DIR"
      +   ucon64 -q -s "$GD3DIR"/* -o "$SPLITDIR"
      +
      + And here is a batch file:
      +   @echo off
      +
      +   set GD3DIR="convert"
      +   set SPLITDIR="split"
      +
      +   if .==.%1 goto usage
      +   if not exist %1 goto usage
      +
      +   if not exist %GD3DIR% mkdir %GD3DIR%
      +   if not exist %SPLITDIR% mkdir %SPLITDIR%
      +
      +   del /q %GD3DIR%\*
      +   del /q %SPLITDIR%\*
      +
      +   ucon64 -q -gd3 %1 -o %GD3DIR%
      +   ucon64 -q -s %GD3DIR%\* -o %SPLITDIR%
      +   goto exit
      +
      +   :usage
      +   echo Usage: %0 file_to_convert_and_split
      +
      +   :exit
      +
      + Say you saved the batch file to the name cs.bat, then you can convert a + file to Game Doctor format and split it with:
      +   cs somegame.swc
      + Afterwards you can find a file in Game Doctor format in the directory + convert and the split parts in the directory split. Modify the scripts above + if you want them to make uCON64 write its output to other directories. Do + not make GD3DIR or SPLITDIR point to the current directory or to your + SNES ROM directory as the scripts will remove all files in the directories + pointed to by GD3DIR or SPLITDIR. Starting with empty directories is the + main reason why the scripts work (actually, this is only true for GD3DIR).
      +
      +

      +Q49: How do I use the command line?
      +A: There are some commands that are very common when using uCON64. I + will only explain how to use those. Search the internet if you want to know + more.
      + First read the section "The command line + environment". + The first principle you should understand is how the space on your + harddisk(s) is organised. Before an operating system is able to use the + harddisk it needs to have a file system. A harddisk can contain + several file systems. When you are using DOS or Windows each file system is + called a "drive" and gets assigned a drive letter. A file system can + store files and directories. Directories can be seen as special files + that themselves "contain" files and directories. By using directories it is + possible to quickly oversee the structure of a file system and keep it + organised. Under GNU/Linux file systems are visible in the directory + structure (e.g. /mnt/windows). With Windows XP it is possible to make + file systems visible/accessible in the same manner.
      + When using the command line there is something called the current + directory. + The current directory is like an implicit directory. Several commands and + programs use the current directory when a directory is not explicitly + specified. For example, the command dir (Unix: ls) lists the + contents of a directory. When you do not specify a directory it will list + the contents of the current directory. You can change the current directory + with the command cd. For example, to change the current directory to + "roms" on drive C: type:
      +   cd c:\roms
      + On DOS and Windows there is also a current drive. You can change the + current drive by specifying the drive letter followed by a colon. For + example to change the current drive to D: type:
      +   d:
      + Under DOS and Windows the current directory is a bit different than it is on + Unix: each drive has its own current directory. It is possible to change the + current directory of a drive while the current directory of the current + drive is not changed. The first example with cd does just that when + C: is not the current drive. When C: was the current drive you would not + have to specify the drive letter as the command line interpreter would + assume you intended to change the current directory of C:. When a text + refers to the current directory under DOS and Windows the author usually + means the combination of current drive and current directory. In other + words, when directed to change the current directory to c:\ucon64 you + actually have to change the current drive to C: and the current directory on + C: to ucon64.
      + Let us assume you have the following directory structure:
      +   C:
      +   +--roms
      +   | +--snes
      +   | | +--gd3
      +   | +--n64
      +   +--tmp
      +   D:
      +   +--roms
      +     +--sms
      +
      + To change the current directory (of drive C:) to c:\roms\snes\gd3 type:
      +   cd c:\roms\snes\gd3
      + You can see that each directory is separated from its parent by a backslash + ('\'). Under Unix (or Bash under Windows) you would refer to the same + directory by replacing the backslashes with forward slashes and perhaps + replacing "c:" with the appropriate mount point (e.g., + /mnt/windows/roms/snes/gd3). Note that "c:" is a valid directory name on a + GNU/Linux file system.
      + You can refer to the other directories (and files) in a relative manner. Say + c:\roms\snes contains the file + Secret of Mana (U).swc. You can make uCON64 display + information about that file with:
      +   ucon64 "c:\roms\snes\Secret of Mana (U).swc"
      + but also with:
      +   ucon64 "..\Secret of Mana (U).swc"
      + The quotes are necessary or else uCON64 would handle Secret, of, Mana and + (U).swc as separate files. This is usual behaviour for command line + programs, it is not specific to uCON64.
      + ".." is a special directory. Each directory contains two special + directories, "." and "..". "." refers to the current directory, ".." to the + directory one level higher in the directory structure. For example, to see + the contents of the directory "roms" you could type:
      +   dir c:\roms
      + but also:
      +   dir ..\..
      + Or on Unix:
      +   ls ../..
      + c:\roms\snes is called a path. To be more specific, an absolute + path. It is the path to follow in the directory structure to get to the + file Secret of Mana (U).swc. "..\.." is a relative + path. In c:\roms\snes "..\.." refers to another directory than in + c:\roms\snes\gd3 (c:\ and c:\roms respectively). To change the current + directory to c:\roms\snes type:
      +   cd ..
      + Say you want to convert Secret of Mana (U).swc to + Game Doctor format, place the converted file in c:\roms\snes\gd3, split that + file in pieces, place those pieces in c:\tmp and transfer the pieces to a + Game Doctor SF7. You could type the following commands:
      +   ucon64 -gd3 "Secret of Mana (U).swc" -o .\gd3
      +   ucon64 -s gd3\sf16Sec -o c:\tmp
      +   ucon64 -xgd3 ..\..\tmp\SF16SECA.078
      +
      + Besides dir (Unix: ls) and cd there are some other + commands that you may find useful:
      + del (Unix: rm) to delete or remove a file
      + xcopy (Unix: cp) to copy a file
      + md (Unix (and Windows): mkdir) to create a directory
      + rd (Unix (and Windows): rmdir) to remove a directory
      + set (Unix (Bash): export) to set (and export) an environment + variable
      + rmdir cannot remove a directory if there are still files (or + directories) in it. Under DOS and Windows you can get more information about + these commands by using the option /?. Under Unix the equivalent is --help. + For example, if you want to get more information about del you could + type:
      +   del /?
      +
      + Here follows a final example that uses the commands mentioned above:
      +   cd \
      +   md test
      +   cd test
      +   xcopy "c:\roms\snes\Secret of Mana (U).swc" mana.swc
      +   set parport=378
      +   ucon64 -xswc mana.swc
      +   del mana.swc
      +   cd ..
      +   rd test
      +
      + First the current directory is changed to c:\. Then the directory "test" is + created. Then the current directory is changed to "test". Then the file + c:\roms\snes\Secret of Mana (U).swc is copied to the file + mana.swc. Then an environment variable with the name parport is set to the + value 378. Then uCON64 is used to transfer mana.swc to a Super Wild Card + while using parallel port address 0x378. Then the file mana.swc is removed. + Finally the directory "test" is removed.
      +
      +

      +Q50: I configured uCON64 to use ppdev and tried to send a + file to my backup unit as a regular user. I got an error message that the + parallel port device could not be opened. What did I do wrong?
      +A: There are two possibilities:
      + 1.) You specified an incorrect parallel port device in the configuration + file.
      + In most cases the correct device is /dev/parport0. Only change the device + name if you are sure /dev/parport0 is not the device associated with the + parallel port your backup unit is connected to. Try for example /dev/parport1 + or /dev/parport2.
      + 2.) You do not have the required privileges.
      + It is true that regular users can transfer files to and from their backup + units (without the executable being setuid root), but that does not mean + any user can do that. It is quite common that only users in the group + "lp" have access to /dev/parport<n>. So, you should add yourself to + that group. Say your login name is helanren. Root could use the following + command to give you the privilege to use /dev/parport0:
      +   usermod -G `echo \`id -Gn helanren\` | sed "s/ /,/g"`,lp helanren
      + Explanation:
      + usermod -G <groups> helanren is used to make helanren a member + of those groups.
      + id -Gn helanren lists the groups helanren is currently a member of, + separated by spaces.
      + sed "s/ /,/g" replaces all spaces with commas.
      +
      +

      +Q51: What do I need to do before I can upload files to my + Flash 2 Advance?
      +A: Download the package that contains the support files from + the uCON64 homepage. + Extract the package and update the configuration file. See + "How to configure the uCON64 executable". + If you want to use the parallel port version of the F2A, you should set at + least the variable iclientp. If you want to send multiple files to your F2A, + also set gbaloader. If you want to see a different background while + uploading, set ilogo.
      + The USB version of the F2A is currently only supported under GNU/Linux. If + you want to use the USB version, you should set at least the variables + f2afirmware and iclientu. If you want to send multiple files to your F2A, set + gbaloader. Additional requirements are:
      + - libusb (included in recent + GNU/Linux distributions)
      + - usbdevfs has to be mounted (most (?) distributions have usbdevfs mounted by + default, but you can do it manually with "mount -t usbdevfs none /proc/bus/usb")
      + - if you use Linux 2.4 or older then the EZUSB2131 firmware upload driver has + to be loaded, see http://ezusb2131.sourceforge.net/
      + - if you use Linux 2.5 or later fxload should be present in /sbin
      + - you need to have read/write access to /proc/ezusb and /proc/bus/usb, so you + have to run uCON64 as root (or setuid root) for the USB version of the F2A
      +
      + By default, uCON64 tries to access a parallel port to communicate with an + F2A. In order to make uCON64 communicate with an F2A connected to a USB port, + use the switch -port. For example:
      +   ucon64 -xf2a "Wario Ware Inc.zip" -port=usb
      + uCON64 detects to which USB port the F2A is connected, so you do not have to + specify a specific port.
      +
      +

      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      diff --git a/tools/ucon64-2.0.0-src/hardware.html b/tools/ucon64-2.0.0-src/hardware.html new file mode 100644 index 0000000..70b754f --- /dev/null +++ b/tools/ucon64-2.0.0-src/hardware.html @@ -0,0 +1,210 @@ + + +uCON64 - Hardware +The following backup units are currently supported by
      +
      +If your backup unit is NOT supported yet, you might find what you need at http://mfm.subport.org
      +For more information about backup units check http://www.robwebb.clara.co.uk/backup/
      + +
      +
      +

      + + + + + +
      +
      +Super Wild Card 1.6XC/Super Wild Card 2.8CC/Super Wild Card DX(2)/SWC
      +19XX Front Far East/FFE http://www.front.com.tw
      +(uCON64 options: --xswc, --xswc2, --xswcs, --xswcr, --xswcc, -xswc-io)
      +
      +
      +
      +
      +Super Pro Fighter (Q/Q+)/Pro Fighter X (Turbo 2)/Double Pro Fighter (X Turbo)
      +19XX China Coach Limited/CCL http://www.ccltw.com.tw
      +(uCON64 options: --xfig, --xfigs, --xfigc)
      +
      +
      +
      +
      +Game Doctor SF3(SF6/SF7)/Professor SF(SF II)
      +19XX Bung Enterprises Ltd http://www.bung.com.hk
      +(uCON64 options: --xgd3, --xgd6, --xgd3s, --xgd6s, --xgd3r, --xgd6r)
      +
      +
      +
      +
      +Super Com Pro (HK)/Super Magic Drive/SMD
      +19XX Front Far East/FFE http://www.front.com.tw
      +(uCON64 options: --xsmd, --xsmds)
      +
      +
      +
      +
      +Super Magic Card
      +19XX Front Far East/FFE http://www.front.com.tw
      +(uCON64 options: --xsmc, --xsmcr)
      +
      +
      +
      +
      +Magic Super Griffin/MSG
      +19XX Front Far East/FFE http://www.front.com.tw
      +(uCON64 option: --xmsg)
      +
      +
      +
      +
      +Doctor V64
      +19XX Bung Enterprises Ltd http://www.bung.com.hk
      +(uCON64 option: --xv64)
      +
      +
      +
      +
      +Doctor V64 Junior
      +19XX Bung Enterprises Ltd http://www.bung.com.hk
      +(uCON64 option: --xdjr)
      +
      +
      +
      +
      +DexDrive (PSX and Nintendo 64 SRAMs)
      +19XX InterAct http://www.dexdrive.de
      +(uCON64 option: --xdex)
      +
      +
      +
      +
      +
      +Game Boy Xchanger
      +19XX Bung Enterprises Ltd http://www.bung.com.hk
      +(uCON64 options: --xgbx, --xgbxs, --xgbxb, --xgbxm)
      +
      +
      +
      +
      +Mad Catz Camera Link (Game Boy Camera)
      +XXXX Mad Catz Inc. http://www.madcatz.com
      +(uCON64 option: --xmccl)
      +
      +
      +
      +
      +Flash Advance Linker
      +2001 Visoly http://www.visoly.com
      +(uCON64 options: --xfal, --xfalmulti, --xfalc, --xfals, --xfalb, --xfalm)
      +
      +
      +
      +
      +Flash 2 Advance (Ultra)
      +2003 Flash2Advance http://www.flash2advance.com
      +(uCON64 options: --xf2a, --xf2amulti, --xf2ac, --xf2as, --xf2ab)
      +
      +
      +
      +Lynxit (Lynx cartridge backup board)
      +1997 K. Wilkins (custom selfmade)
      +(uCON64 option: --xlit)
      +
      +
      +
      +
      +(uCON64 options: --mksheet, --cdirip, and --nrgrip)
      +
      +
      +
      +
      +MD-PRO flash card programmer
      +200X ToToTEK http://www.tototek.com
      +(uCON64 options: --xmd, --xmds)
      +
      +
      +
      +
      +PCE-PRO flash card programmer
      +200X ToToTEK http://www.tototek.com
      +(uCON64 option: --xpce)
      +
      +
      +
      +
      +SMS-PRO flash card programmer
      +200X ToToTEK http://www.tototek.com
      +(uCON64 options: --xgg, --xggs)
      +
      +
      +
      +
      +GG-PRO flash card programmer
      +200X ToToTEK http://www.tototek.com
      +(uCON64 options: --xgg, --xggs)
      +
      +
      +
      + +Cyan's Megadrive Copier
      +1999-2004 Cyan Helkaraxe
      +(uCON64 options: --xcmc, --xcmct, --xcmcm)
      +
      +
      +
      + +Mike Pavone's Genesis/Sega CD transfer cable
      +200X Mike Pavone
      +(uCON64 options: --xmcd)
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      diff --git a/tools/ucon64-2.0.0-src/images/bg.jpg b/tools/ucon64-2.0.0-src/images/bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1c40cc00e3d887d5d681186a5bed6cb18a0f3e0f GIT binary patch literal 9803 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 M_5WWp&0SOdKl|k$KL7v# literal 0 HcmV?d00001 diff --git a/tools/ucon64-2.0.0-src/images/cameralink.png b/tools/ucon64-2.0.0-src/images/cameralink.png new file mode 100644 index 0000000000000000000000000000000000000000..662407bd1c88cad762d7a0c9a360cf25c0a1e550 GIT binary patch literal 7067 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

      =FB&M5qF(e$Pu#^ zEbYL!Nw_q46xVE4jN`m1VX#-{#Q!wIO;tZd7@uMpDz%x?n31$1dH3Q0mU))F z{*>8x@vU#Z_QsZr=cYkUAPw-tTpFunm~vo1T`MQMF>=7{qj=IG54o1lN^^bV*Oa@g z|I0FRDpQqW{!40hd!b13CV&Q$Rl*0sY$`{df8j5mfAOWG?|tjN_r87h{o_a8W#9R( z^}UzQe(=gG=e~dRogcja;p;zq=>n~N@9$rI`|Xb|(&t~C{?R}92ag^qz5d-3n|^$Z zlIpmWz*yqf9ALv@s?}`+8#b2)%)TPxWsbM!FeBz1{n-C23@{R^O#PKJu!H2C{0=9u z92)52K{SWKmybR9!se@9`SQ7ceCa1Y{HLEjdEn@Y4_>N$aQwr6zWDlw&3C82e}Qd& z=hbgAGWg-%QXF*(#Bi0|fhLYp z0E`8Wm!-nd=WzCO+zq#)*2mpcZk}a8Q=#U-mzV?U#HyB)4@f3t5!@^_UVZKO@mF6x z_LWzUzi|A>`RQZcOHZAAaq~+TF8=hzlP8;J*~R0Be)jVp{37qse|eeG_pjIAJ@L!T zzxvNT>wWn<|HhvA)ia)P=5h&aAJ_qDNHS+bNTb6RaMzkOjGVBG*7$OBEF(9^P0_h- zir-df)hgz95RxwtCCmIB%tsl4y+fS#U-;`|$6kN><;~9?x&Fvkj{N)Ezkcpp7k>89 z(P!TK?i;`PUheze#pj+p|Ks-#uTueD)?c@2F0t zVW6~9Y)Q)WWo6RSm zfBodk$6q`9llOoA?ZMw49cX^*D(Cp%J13v6ovS?c;ra8wc;lN!p?3Y_@BZlA`Rm^z zH1olUll1%_E}lF4!5=nxhO?BLIBDwOsiY1H7A`5pxWBaxqm_LL7OX8Tg9F%_7gcNjN>i7Qvd ztuT`lsh%dpVkt@(4#U(8PnJl-FsyWl45WiM81fVP1txgMj3dt(MZ^y(Db!D8d2FpS zXjmK2so^zskdN+B6afR(s(JaEQOSc1*D$O1AVQFW=OzGt6o{DsHi#JnI!Z%|Y2aWb zTUiUz=xAl7$VxhuOs85(hGSPEDG3Ro87XQg0kx%AYAfkdTRohKv=9b5gc?;n8v284 zSOIJTy4acujGK9RP^W|ekey%-RWtlrq6r$8Kv+BI<}r@~r861}ZPEaI*#v2H$2bpe*98n zTgPe5I@W>(EocpCFN(xK)`3rEWLLz^pkeA5H@ahxy<3_hU$eY8w}8@HEcF(9f#6W& zjb7dj^d~^&KP{Jg$`SPdl`o;goO(h!+;J%Urm?qJDJp z>(+t$0PRyC&RLA8c~$_Il4p>c=P|aeTeAk0HqQnI288p>058&@(~w z)6pT-YF-V<$pEF-J*-fAHS|_`c$G*beAi7Rcpvome!};s2hAxna81{7 zAQ#sQAdPgp&0P;VA6^6z?xO%Ml!vUyoy^Z=qeLCDIAD@Sy zl1k`M&~3CPG45ntBg99um4#^91xHa}4wLZkPRJiev;0fwAX|@dObk-t#V8MgHo+1D zJi*&MbA@R)S~XxE%i*E$8d-AvsUQdpGvW9Fc$3b&7-$0sAO{=X}A;qdw^o+c0zpa5XHMAms1}*D2yBOao>g zOE`EAbt>VTaAOdR+iaL{hg6Iz*hXYDRur-@Mbe74Dw*b`Zk?gvG_-xc71pSNz=H{1 zm=Gx!qQH*;b-2cA5a@Ynf>&a?tqxUFlZp@>R!R&m0Tc&l8ywjn@f6j!nW6e50bm7y z71uss1u$i(XT&uO%*DaPlVNDam!$=2VsXo}ZgdE@8N`Jw2ltXNeq8;Kk||b9Ya)o@ zK>(5*jReMXaSm%)Tvh?r$XXmD{uH1_JFY>C@jAZZc_>?u3JD9H!~-Cxb6yA|ah1yO z+r404hA4vaxQ<$=g9J?<vA{*4b95f@m^gEK?gX#I5^@s*0E>> za%!V2cu&u-^nzH@3Zp_s6wn8g%^GQ_B&(P@G0VVNyhgIR1Mu5m4t263t;JFtSPN(r z_$Y8=U1RX59VHp=F zuT)bkkd&xk#cc;fmg49g9)X~l(o#w&2$7sb1_b#lFh$`XA3s%$> zAp&43Eh{OG3pEjAlVL0t2p9vaW!our4weN@lw?N=IZ<+qd$2eo;2quVQw=l7^rEgA z<_^=TIwl;lyw$-DLhsB(NlA?^BhN3KGlm=pJ%lu=Bb3S(5FJ1&OgSzO zDcS(I3!+oz8Le>4T9FUVHE{drg~57Kk#RsHsh(Qc?4YU~w*Zi+fJWS`$xO$`LQmGf zG=w_91X7T#R()LmK+DjDtA?ZkOTCGpF~zItARfprh**K-Rc&-p=%{?ZMo^9(Bv#y0 zb!*6l$Ta}t08>9jT9wY}hz5x?!|FvZ1~a&d}bt zVZ-Qcw+%097rrerjkGzmVWLBo3a4%2PiYaCPVwZ$`b38M+9oa|Jy5eg8C zA+W8(NV5XoI|^^P4c;(30^=Bl5scv5>-Ew4D7?B31KBXNzNq>-0JMp=RqZf-aOE8u z@lgtuamkZMtL?x|_2 z(Hr=bW+M;~6m{{9tX&OF&fvnplpfbm^9x7DcAo0WWDaIBnQSRjEM`l~J5Q}#+Q}0% zNJAjqIJI!mc+Yr`>U%YoX}c^2(g1z3)CsfEthkn~)wYg|-FfGoV|Oj;=!ijHYs<8^ zTr8GL834zGG#sahd^Kb#7MpB01kh>`;$(2imaLI%W`f#kM~9ltWY8C&ycAX{Wzy<8 zswxLF6S^Xtk z`1%C0fo5Sz8LmL}a!f1N?;I1<7mGdvvT$2AVXAa3g@j8pZoZKL&- zvE}vQCW~cC9y@cU=y=7VXRX}tYKd6F$n=y=&!Kub;TnEP)gFXCkj9mvG_;BOy*J-? z-(T#C+sn3%jd4cqztvt4OLnNqsr4K0x;(bKUxSbo+*Ima_`vY!=O^2f{qkgcftxEb zkP{50xf@EV(z3hm+^AwUQ`yMbpuE2{HntJbVj*?wop-HWg%FutBLaffx$TZe?z?Xy z4s0-bW4Y>hj#qY^9>*c&`+uL%V$=e-KR^9F)~zPu$kC zXL9eJy_&Xc8z>aAac8~R9z$siF1dF@dhdfW_yA(=aEgn!4&A!*p_tttpS*!7p*T`4 z2n;<*B`sYseCr)>$t=2c__Grdhn$v{xnp>1&Vq5Lciua)*2cv)a8tYzuXYY~?A<## zsja9F8Nh}gi)ED_qdntGH+J3inFYRV&~iqV^$FTbG|i`__1ffai0zrSRa~hMUa;7M z`ySjEv!pHcvHEB49~&FlIIQl&WoA3LuYSjZ8~Qbje1>yVap~6mL;H8bH$karh@T?U zP@@_aa?_0*VLc0SNrrwZL^dD-i-wjIWm&WW;4Ah;fY8?R`t6j(99i=mWrrL;4N$52XX%(S1SB}MjF6|#TUjEcI*AO9{AiBK=>;b?8Dl$ z<`uiT4m>}QNN=?W41*pP6&7dYWLJXBOCGn75@MsD#mDX%gyOMF~128xBCY0 zQoul1?nLBgue|H?mU3v(BiBm1+f$eq*m6528nRaCS$y;7m)s=Z_#ha+ZTI)@-G_(- zf<|cNsj#XTVdL4#T8nu4f=N|QEb~Uf5P2YMOj%wZ0w60-=Z`mY7eZ&90RJNimqxC&lF%xkAcw#Pk+!ejKQwgv(9nLQt+xXk z%1sYo6ZgCC{v&*r)b_MP2AI#ZT^-YKy2I)%k6;YEU~J#MeYD6#mgbHbh3PVd6V!c`Eylbc_ z#nkcrTO$IF#+7(HSby`)kE}2Lip`d4TR90Nyfm*yi?|5t(@|Lq zprL!J{Lth>lm8>}#DJIClBorIcki9ty$|Pi-|oG;cRvJ!=t%4eKzbQ;xZNNNu2qVa z;>kbHVqv;vc|i;$fPX0L?{DW4fMoniZYCg+b|7%0b{Y~Dm~UQ_z#@DqEo=iPBo(pH zGLf`cSr->f++pb`_V5E$q!_PU#x9`+Fdleqcth3@wd+i^4z^vkPe=lGun{m4$jn74 z1N~yOnkn3ACQbbxJyjaSLmK(4f!PHh! zhO>u>FwKLNKq68jJTPJvj^MJo?-R&3c;zZj5|ExC7*haKwF69#huMamw8UssURX`> zAu0F|yd-8KScA2-=#P3*v zyS6ij_&2)+d)-meYe)ZA6s75IO;hHuVJWTUozTvNK$Y+hb+eI&mvA_#q4u6=YkRb- ztLxBXrLHoZOIK~$w54m)p+k=yx(fEk9^dl#mMvXfxWRsCZRycssZ=bjUAwkR5cI;M zf=Zh=ZQj(idDB&g0A3$@^w1&LABA7p0t7$vI6mA3t;Zk5J8%PO%Q5)0ULt;SOIP14 r_4GsyJivX?UKw@vtnOKT-GToF&E0K~e0W6700000NkvXXu0mjf{2~qa literal 0 HcmV?d00001 diff --git a/tools/ucon64-2.0.0-src/images/dexdrive.png b/tools/ucon64-2.0.0-src/images/dexdrive.png new file mode 100644 index 0000000000000000000000000000000000000000..55981fac4c4cb4eb772d5581e6fbd8d5570cca9d GIT binary patch literal 14248 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 literal 0 HcmV?d00001 diff --git a/tools/ucon64-2.0.0-src/images/f2a.png b/tools/ucon64-2.0.0-src/images/f2a.png new file mode 100644 index 0000000000000000000000000000000000000000..76ee4d37a86530da7b27f549d141158346b3db8c GIT binary patch literal 16083 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 n{f{61&g)-`W0XIQ)y00000NkvXXu0mjfCp;K< literal 0 HcmV?d00001 diff --git a/tools/ucon64-2.0.0-src/images/gbx.png b/tools/ucon64-2.0.0-src/images/gbx.png new file mode 100644 index 0000000000000000000000000000000000000000..cd9c784bbf72145d5dd004e74daa75940078cfaf GIT binary patch literal 7444 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�N8RZdxsQo2=06f!ZMIzy}M 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 y@yCfG3%y%iUA4L~_plKDCg;ad?+1@t!2S!;v t^zDA|A1K7<>EaktF(#u34N zP`1Pv4ViAbrSXk9%oe93GIeZXY^ctSj=ew}ALd+$SkM$*75Wa`eYoScYL@IIH}^g# z=lt&foaZ@@P^;GQ`jmzf*=mmU>|)w`2Y`$FK4Q-N*%Y;u5vG-vGyB=S`W9hYNum*e zRS9j>ne70m_}7M~sualfmp`Vepj3eXyt$~B{8#=4P<-(w)T(vdGSqM{dYM%99hRmg zQZjEIs}EnGxTHvm4}Pt#K-jsX4S*yX@oW=GUjGKkxl2&pGSqN(!=MuE^J!W0X%EFE zMUt`Ji?QCzYKIYHy_fbwBT{be0tvvgO~f&DhQx6}F3mX7!AnQ-NL9;a-I%)1@&$_| zW4#vut7S31;RLLf#jH6YV669IH9e^)^_@B%D{UYnLqac->h}l}DOnPLd(};9va|}U zZ{SxtJV92RG?TW~%iRw$0O)?TT9_UQqxx)@AM_&b<_acKvZTKJ_t1vm`Og#R@C51b z1bMgXDjl96g`H-l1wjq;v{X>_zm zmF)jy=R?5sz55Z{6XZx|uM2l`1(ufexXV%qWv<1gm4TtmwM_dqq0%3K;7I`7%@sI% zUCNJyxebTVI9sJXt1FR zJ|X4hHty+gT^;19XeM!Q?p^MnKy;1^baz+7|KK%}l+Kg}e&#B~o zv4ny7naX(*3|se-aO!~cc4i2;#4mDJBmeSlxjopbmK;b4mwz8nFQd7+a^S212i#}8qHO5SJojO`~CvEigSoW zB7EC*4$(gf`fTtG5%7-_4Uh56nGKA$U4m90mm8nu_E?na(}RjCA3w(KBYiN7#UT#lIP;ZNTUW~Zx_UM4Rr;^x;{M1|rT;)>S9mXgi#`iISc zpJ;fD!wGY+9CR?yS%_to8|Y_zJc#MJqe3Lo4uI;#Y5BUCOv%LXz(Gcu%=s(&p`r+2 zptF#?ECHCq{rLcv;x6oklU<)a?IsY zx-o*w)dPUdwnBl#TPUqT$x3Q*Z=?k07*qoM6N<$f-W3pH2?qr literal 0 HcmV?d00001 diff --git a/tools/ucon64-2.0.0-src/images/logo.png b/tools/ucon64-2.0.0-src/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..05ad618a76c777ac3a60db50d4cabe575810c39d GIT binary patch literal 16448 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 z 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 literal 0 HcmV?d00001 diff --git a/tools/ucon64-2.0.0-src/images/msg.png b/tools/ucon64-2.0.0-src/images/msg.png new file mode 100644 index 0000000000000000000000000000000000000000..90048a4eb6f171742125c9b66ba9fa86644adfeb GIT binary patch literal 24216 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 JMjc9-hty#YX!(P7|TaSto4vS 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 literal 0 HcmV?d00001 diff --git a/tools/ucon64-2.0.0-src/images/sf3.png b/tools/ucon64-2.0.0-src/images/sf3.png new file mode 100644 index 0000000000000000000000000000000000000000..86462a4e51a204a7517144556fc51a950ae34dad GIT binary patch literal 30078 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 literal 0 HcmV?d00001 diff --git a/tools/ucon64-2.0.0-src/images/smd.png b/tools/ucon64-2.0.0-src/images/smd.png new file mode 100644 index 0000000000000000000000000000000000000000..fa9d9eebfe51d43e4520ea8d8fee560f1841e3d0 GIT binary patch literal 10733 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 literal 0 HcmV?d00001 diff --git a/tools/ucon64-2.0.0-src/images/smspro.png b/tools/ucon64-2.0.0-src/images/smspro.png new file mode 100644 index 0000000000000000000000000000000000000000..44f5f6c2d32a4c8586110755bdb593e124cf61f6 GIT binary patch literal 88758 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�Ss<-xL|QOrN-T4%C~y=H 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

      nVFG{$}ihhGm=>&QAjirP<2eNH&G<5 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 literal 0 HcmV?d00001 diff --git a/tools/ucon64-2.0.0-src/images/v64jr.png b/tools/ucon64-2.0.0-src/images/v64jr.png new file mode 100644 index 0000000000000000000000000000000000000000..49a5ac900c14985cd826ab99af973d9f3df0bcd6 GIT binary patch literal 9834 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 + +uCON64 - Install +What you expect here can be found in faq.html + diff --git a/tools/ucon64-2.0.0-src/libieee1284.diff b/tools/ucon64-2.0.0-src/libieee1284.diff new file mode 100644 index 0000000..a610a72 --- /dev/null +++ b/tools/ucon64-2.0.0-src/libieee1284.diff @@ -0,0 +1,372 @@ +--- parallel.c 2004-09-02 19:09:23.000000000 +0200 ++++ parallel.c.libieee1284 2004-09-04 03:07:38.000000000 +0200 +@@ -25,6 +25,11 @@ + #include "config.h" + #endif + ++#define USE_LIBIEEE1284 ++#if defined USE_LIBIEEE1284 && defined USE_PPDEV ++#undef USE_PPDEV ++#endif ++ + #ifdef USE_PARALLEL + + #include +@@ -40,7 +45,9 @@ + #include + #include + #include +-#elif defined __linux__ && defined __GLIBC__ // USE_PPDEV ++#elif defined USE_LIBIEEE1284 // USE_PPDEV ++#include ++#elif defined __linux__ && defined __GLIBC__ // USE_LIBIEEE1284 + #ifdef HAVE_SYS_IO_H // necessary for some Linux/PPC configs + #include // ioperm() (glibc), in{b, w}(), out{b, w}() + #else +@@ -78,8 +85,12 @@ + #include "getopt2.h" + #include "ucon64.h" + ++#if defined USE_LIBIEEE1284 && defined USE_PPDEV ++#undef USE_PPDEV ++#endif ++ + +-#if defined USE_PPDEV || defined __BEOS__ || defined __FreeBSD__ || defined AMIGA ++#if defined USE_PPDEV || defined __BEOS__ || defined __FreeBSD__ || defined AMIGA || defined USE_LIBIEEE1284 + static void close_io_port (void); + #endif + #if defined __i386__ || defined __x86_64__ // GCC && x86 +@@ -92,8 +103,12 @@ + + #if defined USE_PPDEV || defined __BEOS__ || defined __FreeBSD__ + static int parport_io_fd; +-#ifdef USE_PPDEV ++#endif ++#if defined USE_PPDEV || defined USE_LIBIEEE1284 + static enum { FORWARD = 0, REVERSE } parport_io_direction; ++#ifdef USE_LIBIEEE1284 ++struct parport *libieee1284_port; ++#else + static int parport_io_mode; + #endif + #endif +@@ -113,7 +128,7 @@ + #endif + + +-#if defined _WIN32 || defined __CYGWIN__ ++#if (defined _WIN32 || defined __CYGWIN__) && !defined USE_LIBIEEE1284 + + #define NODRIVER_MSG "ERROR: No (working) I/O port driver. Please see the FAQ, question 4\n" + +@@ -172,7 +187,7 @@ + static void (*output_word) (unsigned short, unsigned short) = outpw_func; + + #endif +-#endif // _WIN32 || __CYGWIN__ ++#endif // (_WIN32 || __CYGWIN__) && !USE_LIBIEEE1284 + + + #if defined __i386__ || defined __x86_64__ // GCC && x86 +@@ -275,6 +290,43 @@ + exit (1); + } + return byte; ++#elif defined USE_LIBIEEE1284 ++ int ppreg = port - ucon64.parport; ++ unsigned char byte; ++ ++ switch (ppreg) ++ { ++ case 0: // data ++ if (parport_io_direction == FORWARD) // dir is forward? ++ { ++ parport_io_direction = REVERSE; // change it to reverse ++ ieee1284_data_dir (libieee1284_port, parport_io_direction); ++ } ++ byte = (unsigned char) ieee1284_read_data (libieee1284_port); ++ break; ++ case 1: // status ++ byte = (unsigned char) (ieee1284_read_status (libieee1284_port) ^ S1284_INVERTED); ++ break; ++ case 2: // control ++ byte = (unsigned char) (ieee1284_read_control (libieee1284_port) ^ C1284_INVERTED); ++ break; ++ case 3: // EPP/ECP address ++ ieee1284_epp_read_addr (libieee1284_port, F1284_NONBLOCK, (char *) &byte, 1); ++ break; ++ case 4: // EPP/ECP data ++ ieee1284_epp_read_data (libieee1284_port, F1284_NONBLOCK, (char *) &byte, 1); ++ break; ++ case 0x402: // ECP register ++ printf ("WARNING: Ignored read from ECP register, returning 0\n"); ++ byte = 0; ++ break; ++ default: ++ fprintf (stderr, ++ "ERROR: inportb() tried to read from an unsupported port (0x%x)\n", ++ port); ++ exit (1); ++ } ++ return byte; + #elif defined __BEOS__ + st_ioport_t temp; + +@@ -358,6 +410,26 @@ + exit (1); + } + return buf[0] | buf[1] << 8; // words are read in little endian format ++#elif defined USE_LIBIEEE1284 ++ int ppreg = port - ucon64.parport; ++ unsigned char buf[2]; ++ ++ switch (ppreg) ++ { ++ case 3: // EPP/ECP address ++ ieee1284_epp_read_addr (libieee1284_port, F1284_NONBLOCK | F1284_FASTEPP, (char *) buf, 2); ++ break; ++ case 4: // EPP/ECP data ++ ieee1284_epp_read_data (libieee1284_port, F1284_NONBLOCK | F1284_FASTEPP, (char *) buf, 2); ++ break; ++ // the data, status, control and ECP registers should only be accessed in "8-bit mode" ++ default: ++ fprintf (stderr, ++ "ERROR: inportw() tried to read from an unsupported port (0x%x)\n", ++ port); ++ exit (1); ++ } ++ return buf[0] | buf[1] << 8; // words are read in little endian format + #elif defined __BEOS__ + st_ioport_t temp; + +@@ -434,6 +506,37 @@ + port); + exit (1); + } ++#elif defined USE_LIBIEEE1284 ++ int ppreg = port - ucon64.parport; ++ ++ switch (ppreg) ++ { ++ case 0: // data ++ if (parport_io_direction == REVERSE) // dir is reverse? ++ { ++ parport_io_direction = FORWARD; // change it to forward ++ ieee1284_data_dir (libieee1284_port, parport_io_direction); ++ } ++ ieee1284_write_data (libieee1284_port, byte); ++ break; ++ case 2: // control ++ ieee1284_write_control (libieee1284_port, (unsigned char) (byte ^ C1284_INVERTED)); ++ break; ++ case 3: // EPP/ECP address ++ ieee1284_epp_write_addr (libieee1284_port, F1284_NONBLOCK, (char *) &byte, 1); ++ break; ++ case 4: // EPP/ECP data ++ ieee1284_epp_write_data (libieee1284_port, F1284_NONBLOCK, (char *) &byte, 1); ++ break; ++ case 0x402: // ECP register ++ printf ("WARNING: Ignored write to ECP register\n"); ++ break; ++ default: ++ fprintf (stderr, ++ "ERROR: outportb() tried to write to an unsupported port (0x%x)\n", ++ port); ++ exit (1); ++ } + #elif defined __BEOS__ + st_ioport_t temp; + +@@ -499,6 +602,28 @@ + port); + exit (1); + } ++#elif defined USE_LIBIEEE1284 ++ int ppreg = port - ucon64.parport; ++ unsigned char buf[2]; ++ ++ // words are written in little endian format ++ buf[0] = (unsigned char) word; ++ buf[1] = word >> 8; ++ switch (ppreg) ++ { ++ case 3: // EPP/ECP address ++ ieee1284_epp_write_addr (libieee1284_port, F1284_NONBLOCK | F1284_FASTEPP, (char *) buf, 2); ++ break; ++ case 4: // EPP/ECP data ++ ieee1284_epp_write_data (libieee1284_port, F1284_NONBLOCK | F1284_FASTEPP, (char *) buf, 2); ++ break; ++ // the data, control and ECP registers should only be accessed in "8-bit mode" ++ default: ++ fprintf (stderr, ++ "ERROR: outportw() tried to write to an unsupported port (0x%x)\n", ++ port); ++ exit (1); ++ } + #elif defined __BEOS__ + st_ioport_t temp; + +@@ -529,7 +654,7 @@ + } + + +-#if (defined __i386__ || defined __x86_64__ || defined _WIN32) && !defined USE_PPDEV ++#if (defined __i386__ || defined __x86_64__ || defined _WIN32) && !defined USE_PPDEV && !defined USE_LIBIEEE1284 + #define DETECT_MAX_CNT 1000 + static int + parport_probe (unsigned int port) +@@ -557,6 +682,7 @@ + #endif + + ++#ifndef USE_LIBIEEE1284 + #ifdef _WIN32 + static LONG + new_exception_filter (LPEXCEPTION_POINTERS exception_pointers) +@@ -584,6 +710,7 @@ + return EXCEPTION_CONTINUE_SEARCH; + } + #endif ++#endif + + + int +@@ -637,6 +764,48 @@ + + parport_io_direction = FORWARD; // set forward direction as default + ioctl (parport_io_fd, PPDATADIR, &parport_io_direction); ++#elif defined USE_LIBIEEE1284 ++ struct parport_list list; ++ int capabilities, ucon64_parport; ++ ++ if (port == PARPORT_UNKNOWN) ++ port = 0; ++ ++ if (ieee1284_find_ports (&list, 0) != E1284_OK) ++ { ++ fputs ("ERROR: Could not get port list\n", stderr); ++ exit (1); ++ } ++ ++ if (port < list.portc) ++ libieee1284_port = list.portv[port]; ++ else ++ { ++ fprintf (stderr, "ERROR: libieee1284 port %d not available\n", port); ++ exit (1); ++ } ++ ++ if (ieee1284_open (libieee1284_port, F1284_EXCL, &capabilities) != E1284_OK) ++ { ++ fprintf (stderr, "ERROR: Could not open libieee1284 port %d\n", port); ++ exit (1); ++ } ++ // TODO: Handle ECP mode correctly ++ if (ucon64.parport_mode == UCON64_EPP || ucon64.parport_mode == UCON64_ECP) ++ if ((capabilities & (CAP1284_EPP | CAP1284_ECP)) == 0) ++ printf ("WARNING: EPP or ECP mode was requested, but not available\n"); ++ ++ ieee1284_free_ports (&list); ++ ++ if (ieee1284_claim (libieee1284_port) != E1284_OK) ++ { ++ fprintf (stderr, "ERROR: Could not claim libieee1284 port %d\n", port); ++ ieee1284_close (libieee1284_port); ++ exit (1); ++ } ++ ++ parport_io_direction = FORWARD; ++ ieee1284_data_dir (libieee1284_port, parport_io_direction); + #elif defined __BEOS__ + parport_io_fd = open ("/dev/misc/ioport", O_RDWR | O_NONBLOCK); + if (parport_io_fd == -1) +@@ -710,16 +879,18 @@ + } + #endif + +-#if defined USE_PPDEV || defined __BEOS__ || defined __FreeBSD__ ++#if defined USE_PPDEV || defined __BEOS__ || defined __FreeBSD__ || defined USE_LIBIEEE1284 + if (register_func (close_io_port) == -1) + { ++#ifndef USE_LIBIEEE1284 + close (parport_io_fd); ++#endif + fprintf (stderr, "ERROR: Could not register function with register_func()\n"); + exit(1); + } + #endif + +-#if defined __linux__ && (defined __i386__ || defined __x86_64__) && !defined USE_PPDEV ++#if defined __linux__ && (defined __i386__ || defined __x86_64__) && !defined USE_PPDEV && !defined USE_LIBIEEE1284 + /* + Some code needs us to switch to the real uid and gid. However, other code + needs access to I/O ports other than the standard printer port registers. +@@ -751,7 +922,7 @@ + } + #endif + +-#if (defined __i386__ || defined __x86_64__ || defined _WIN32) && !defined USE_PPDEV ++#if (defined __i386__ || defined __x86_64__ || defined _WIN32) && !defined USE_PPDEV && !defined USE_LIBIEEE1284 + + #if defined _WIN32 || defined __CYGWIN__ + /* +@@ -914,9 +1085,9 @@ + exit (1); + } + } +-#endif // (__i386__ || __x86_64__ || _WIN32) && !USE_PPDEV ++#endif // (__i386__ || __x86_64__ || _WIN32) && !USE_PPDEV && !USE_LIBIEEE1284 + +-#ifdef USE_PPDEV ++#if defined USE_PPDEV || defined USE_LIBIEEE1284 + // the following two calls need a valid value for ucon64.parport + ucon64_parport = ucon64.parport; + ucon64.parport = port; +@@ -924,7 +1095,7 @@ + outportb ((unsigned short) (port + PARPORT_CONTROL), + (unsigned char) (inportb ((unsigned short) (port + PARPORT_CONTROL)) & 0x0f)); + // bit 4 = 0 -> IRQ disable for ACK, bit 5-7 unused +-#ifdef USE_PPDEV ++#if defined USE_PPDEV || defined USE_LIBIEEE1284 + ucon64.parport = ucon64_parport; + #endif + +@@ -932,7 +1103,7 @@ + } + + +-#if defined USE_PPDEV || defined __BEOS__ || defined __FreeBSD__ || defined AMIGA ++#if defined USE_PPDEV || defined __BEOS__ || defined __FreeBSD__ || defined AMIGA || defined USE_LIBIEEE1284 + void + close_io_port (void) + { +@@ -947,6 +1118,9 @@ + // it ppdev will do it for us... + ioctl (parport_io_fd, PPNEGOT, &parport_io_mode); + ioctl (parport_io_fd, PPRELEASE); ++#elif defined USE_LIBIEEE1284 ++ ieee1284_release (libieee1284_port); ++ ieee1284_close (libieee1284_port); + #else // __BEOS__ || __FreeBSD__ + close (parport_io_fd); + #endif +@@ -958,7 +1132,7 @@ + parport_close (int parport) + { + (void) parport; +-#if defined USE_PPDEV || defined __BEOS__ || defined __FreeBSD__ || defined AMIGA ++#if defined USE_PPDEV || defined __BEOS__ || defined __FreeBSD__ || defined AMIGA || defined USE_LIBIEEE1284 + if (unregister_func (close_io_port) == 0) // call func only if it can be removed! + close_io_port (); // (or else it will be called twice) + #elif defined _WIN32 || defined __CYGWIN__ +@@ -976,6 +1150,9 @@ + { + #ifdef USE_PPDEV + printf ("Using parallel port device: %s\n", ucon64.parport_dev); ++#elif defined USE_LIBIEEE1284 ++ printf ("Using parallel port device: %s, base address 0x%lx\n", ++ libieee1284_port->filename, libieee1284_port->base_addr); // ->name + #elif defined AMIGA + printf ("Using parallel port device: %s, port %d\n", ucon64.parport_dev, ucon64.parport); + #else diff --git a/tools/ucon64-2.0.0-src/license.html b/tools/ucon64-2.0.0-src/license.html new file mode 100644 index 0000000..239551b --- /dev/null +++ b/tools/ucon64-2.0.0-src/license.html @@ -0,0 +1,343 @@ + + +uCON64 - License + GNU GENERAL PUBLIC LICENSE
      + Version 2, June 1991
      +
      + Copyright (C) 1989, 1991 Free Software Foundation, Inc.
      + 675 Mass Ave, Cambridge, MA 02139, USA
      + Everyone is permitted to copy and distribute verbatim copies
      + of this license document, but changing it is not allowed.
      +
      + Preamble
      +
      + The licenses for most software are designed to take away your
      +freedom to share and change it. By contrast, the GNU General Public
      +License is intended to guarantee your freedom to share and change free
      +software--to make sure the software is free for all its users. This
      +General Public License applies to most of the Free Software
      +Foundation's software and to any other program whose authors commit to
      +using it. (Some other Free Software Foundation software is covered by
      +the GNU Library General Public License instead.) You can apply it to
      +your programs, too.
      +
      + When we speak of free software, we are referring to freedom, not
      +price. Our General Public Licenses are designed to make sure that you
      +have the freedom to distribute copies of free software (and charge for
      +this service if you wish), that you receive source code or can get it
      +if you want it, that you can change the software or use pieces of it
      +in new free programs; and that you know you can do these things.
      +
      + To protect your rights, we need to make restrictions that forbid
      +anyone to deny you these rights or to ask you to surrender the rights.
      +These restrictions translate to certain responsibilities for you if you
      +distribute copies of the software, or if you modify it.
      +
      + For example, if you distribute copies of such a program, whether
      +gratis or for a fee, you must give the recipients all the rights that
      +you have. You must make sure that they, too, receive or can get the
      +source code. And you must show them these terms so they know their
      +rights.
      +
      + We protect your rights with two steps: (1) copyright the software, and
      +(2) offer you this license which gives you legal permission to copy,
      +distribute and/or modify the software.
      +
      + Also, for each author's protection and ours, we want to make certain
      +that everyone understands that there is no warranty for this free
      +software. If the software is modified by someone else and passed on, we
      +want its recipients to know that what they have is not the original, so
      +that any problems introduced by others will not reflect on the original
      +authors' reputations.
      +
      + Finally, any free program is threatened constantly by software
      +patents. We wish to avoid the danger that redistributors of a free
      +program will individually obtain patent licenses, in effect making the
      +program proprietary. To prevent this, we have made it clear that any
      +patent must be licensed for everyone's free use or not licensed at all.
      +
      + The precise terms and conditions for copying, distribution and
      +modification follow.
      +
      + GNU GENERAL PUBLIC LICENSE
      + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
      +
      + 0. This License applies to any program or other work which contains
      +a notice placed by the copyright holder saying it may be distributed
      +under the terms of this General Public License. The "Program", below,
      +refers to any such program or work, and a "work based on the Program"
      +means either the Program or any derivative work under copyright law:
      +that is to say, a work containing the Program or a portion of it,
      +either verbatim or with modifications and/or translated into another
      +language. (Hereinafter, translation is included without limitation in
      +the term "modification".) Each licensee is addressed as "you".
      +
      +Activities other than copying, distribution and modification are not
      +covered by this License; they are outside its scope. The act of
      +running the Program is not restricted, and the output from the Program
      +is covered only if its contents constitute a work based on the
      +Program (independent of having been made by running the Program).
      +Whether that is true depends on what the Program does.
      +
      + 1. You may copy and distribute verbatim copies of the Program's
      +source code as you receive it, in any medium, provided that you
      +conspicuously and appropriately publish on each copy an appropriate
      +copyright notice and disclaimer of warranty; keep intact all the
      +notices that refer to this License and to the absence of any warranty;
      +and give any other recipients of the Program a copy of this License
      +along with the Program.
      +
      +You may charge a fee for the physical act of transferring a copy, and
      +you may at your option offer warranty protection in exchange for a fee.
      +
      + 2. You may modify your copy or copies of the Program or any portion
      +of it, thus forming a work based on the Program, and copy and
      +distribute such modifications or work under the terms of Section 1
      +above, provided that you also meet all of these conditions:
      +
      + a) You must cause the modified files to carry prominent notices
      + stating that you changed the files and the date of any change.
      +
      + b) You must cause any work that you distribute or publish, that in
      + whole or in part contains or is derived from the Program or any
      + part thereof, to be licensed as a whole at no charge to all third
      + parties under the terms of this License.
      +
      + c) If the modified program normally reads commands interactively
      + when run, you must cause it, when started running for such
      + interactive use in the most ordinary way, to print or display an
      + announcement including an appropriate copyright notice and a
      + notice that there is no warranty (or else, saying that you provide
      + a warranty) and that users may redistribute the program under
      + these conditions, and telling the user how to view a copy of this
      + License. (Exception: if the Program itself is interactive but
      + does not normally print such an announcement, your work based on
      + the Program is not required to print an announcement.)
      +
      +These requirements apply to the modified work as a whole. If
      +identifiable sections of that work are not derived from the Program,
      +and can be reasonably considered independent and separate works in
      +themselves, then this License, and its terms, do not apply to those
      +sections when you distribute them as separate works. But when you
      +distribute the same sections as part of a whole which is a work based
      +on the Program, the distribution of the whole must be on the terms of
      +this License, whose permissions for other licensees extend to the
      +entire whole, and thus to each and every part regardless of who wrote it.
      +
      +Thus, it is not the intent of this section to claim rights or contest
      +your rights to work written entirely by you; rather, the intent is to
      +exercise the right to control the distribution of derivative or
      +collective works based on the Program.
      +
      +In addition, mere aggregation of another work not based on the Program
      +with the Program (or with a work based on the Program) on a volume of
      +a storage or distribution medium does not bring the other work under
      +the scope of this License.
      +
      + 3. You may copy and distribute the Program (or a work based on it,
      +under Section 2) in object code or executable form under the terms of
      +Sections 1 and 2 above provided that you also do one of the following:
      +
      + a) Accompany it with the complete corresponding machine-readable
      + source code, which must be distributed under the terms of Sections
      + 1 and 2 above on a medium customarily used for software interchange; or,
      +
      + b) Accompany it with a written offer, valid for at least three
      + years, to give any third party, for a charge no more than your
      + cost of physically performing source distribution, a complete
      + machine-readable copy of the corresponding source code, to be
      + distributed under the terms of Sections 1 and 2 above on a medium
      + customarily used for software interchange; or,
      +
      + c) Accompany it with the information you received as to the offer
      + to distribute corresponding source code. (This alternative is
      + allowed only for noncommercial distribution and only if you
      + received the program in object code or executable form with such
      + an offer, in accord with Subsection b above.)
      +
      +The source code for a work means the preferred form of the work for
      +making modifications to it. For an executable work, complete source
      +code means all the source code for all modules it contains, plus any
      +associated interface definition files, plus the scripts used to
      +control compilation and installation of the executable. However, as a
      +special exception, the source code distributed need not include
      +anything that is normally distributed (in either source or binary
      +form) with the major components (compiler, kernel, and so on) of the
      +operating system on which the executable runs, unless that component
      +itself accompanies the executable.
      +
      +If distribution of executable or object code is made by offering
      +access to copy from a designated place, then offering equivalent
      +access to copy the source code from the same place counts as
      +distribution of the source code, even though third parties are not
      +compelled to copy the source along with the object code.
      +
      + 4. You may not copy, modify, sublicense, or distribute the Program
      +except as expressly provided under this License. Any attempt
      +otherwise to copy, modify, sublicense or distribute the Program is
      +void, and will automatically terminate your rights under this License.
      +However, parties who have received copies, or rights, from you under
      +this License will not have their licenses terminated so long as such
      +parties remain in full compliance.
      +
      + 5. You are not required to accept this License, since you have not
      +signed it. However, nothing else grants you permission to modify or
      +distribute the Program or its derivative works. These actions are
      +prohibited by law if you do not accept this License. Therefore, by
      +modifying or distributing the Program (or any work based on the
      +Program), you indicate your acceptance of this License to do so, and
      +all its terms and conditions for copying, distributing or modifying
      +the Program or works based on it.
      +
      + 6. Each time you redistribute the Program (or any work based on the
      +Program), the recipient automatically receives a license from the
      +original licensor to copy, distribute or modify the Program subject to
      +these terms and conditions. You may not impose any further
      +restrictions on the recipients' exercise of the rights granted herein.
      +You are not responsible for enforcing compliance by third parties to
      +this License.
      +
      + 7. If, as a consequence of a court judgment or allegation of patent
      +infringement or for any other reason (not limited to patent issues),
      +conditions are imposed on you (whether by court order, agreement or
      +otherwise) that contradict the conditions of this License, they do not
      +excuse you from the conditions of this License. If you cannot
      +distribute so as to satisfy simultaneously your obligations under this
      +License and any other pertinent obligations, then as a consequence you
      +may not distribute the Program at all. For example, if a patent
      +license would not permit royalty-free redistribution of the Program by
      +all those who receive copies directly or indirectly through you, then
      +the only way you could satisfy both it and this License would be to
      +refrain entirely from distribution of the Program.
      +
      +If any portion of this section is held invalid or unenforceable under
      +any particular circumstance, the balance of the section is intended to
      +apply and the section as a whole is intended to apply in other
      +circumstances.
      +
      +It is not the purpose of this section to induce you to infringe any
      +patents or other property right claims or to contest validity of any
      +such claims; this section has the sole purpose of protecting the
      +integrity of the free software distribution system, which is
      +implemented by public license practices. Many people have made
      +generous contributions to the wide range of software distributed
      +through that system in reliance on consistent application of that
      +system; it is up to the author/donor to decide if he or she is willing
      +to distribute software through any other system and a licensee cannot
      +impose that choice.
      +
      +This section is intended to make thoroughly clear what is believed to
      +be a consequence of the rest of this License.
      +
      + 8. If the distribution and/or use of the Program is restricted in
      +certain countries either by patents or by copyrighted interfaces, the
      +original copyright holder who places the Program under this License
      +may add an explicit geographical distribution limitation excluding
      +those countries, so that distribution is permitted only in or among
      +countries not thus excluded. In such case, this License incorporates
      +the limitation as if written in the body of this License.
      +
      + 9. The Free Software Foundation may publish revised and/or new versions
      +of the General Public License from time to time. Such new versions will
      +be similar in spirit to the present version, but may differ in detail to
      +address new problems or concerns.
      +
      +Each version is given a distinguishing version number. If the Program
      +specifies a version number of this License which applies to it and "any
      +later version", you have the option of following the terms and conditions
      +either of that version or of any later version published by the Free
      +Software Foundation. If the Program does not specify a version number of
      +this License, you may choose any version ever published by the Free Software
      +Foundation.
      +
      + 10. If you wish to incorporate parts of the Program into other free
      +programs whose distribution conditions are different, write to the author
      +to ask for permission. For software which is copyrighted by the Free
      +Software Foundation, write to the Free Software Foundation; we sometimes
      +make exceptions for this. Our decision will be guided by the two goals
      +of preserving the free status of all derivatives of our free software and
      +of promoting the sharing and reuse of software generally.
      +
      + NO WARRANTY
      +
      + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
      +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
      +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
      +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
      +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
      +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
      +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
      +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
      +REPAIR OR CORRECTION.
      +
      + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
      +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
      +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
      +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
      +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
      +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
      +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
      +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
      +POSSIBILITY OF SUCH DAMAGES.
      +
      + END OF TERMS AND CONDITIONS
      +
      + Appendix: How to Apply These Terms to Your New Programs
      +
      + If you develop a new program, and you want it to be of the greatest
      +possible use to the public, the best way to achieve this is to make it
      +free software which everyone can redistribute and change under these terms.
      +
      + To do so, attach the following notices to the program. It is safest
      +to attach them to the start of each source file to most effectively
      +convey the exclusion of warranty; and each file should have at least
      +the "copyright" line and a pointer to where the full notice is found.
      +
      +
      + Copyright (C) 19yy
      +
      + This program is free software; you can redistribute it and/or modify
      + it under the terms of the GNU General Public License as published by
      + the Free Software Foundation; either version 2 of the License, or
      + (at your option) any later version.
      +
      + This program is distributed in the hope that it will be useful,
      + but WITHOUT ANY WARRANTY; without even the implied warranty of
      + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
      + GNU General Public License for more details.
      +
      + You should have received a copy of the GNU General Public License
      + along with this program; if not, write to the Free Software
      + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
      +
      +Also add information on how to contact you by electronic and paper mail.
      +
      +If the program is interactive, make it output a short notice like this
      +when it starts in an interactive mode:
      +
      + Gnomovision version 69, Copyright (C) 19yy name of author
      + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
      + This is free software, and you are welcome to redistribute it
      + under certain conditions; type `show c' for details.
      +
      +The hypothetical commands `show w' and `show c' should show the appropriate
      +parts of the General Public License. Of course, the commands you use may
      +be called something other than `show w' and `show c'; they could even be
      +mouse-clicks or menu items--whatever suits your program.
      +
      +You should also get your employer (if you work as a programmer) or your
      +school, if any, to sign a "copyright disclaimer" for the program, if
      +necessary. Here is a sample; alter the names:
      +
      + Yoyodyne, Inc., hereby disclaims all copyright interest in the program
      + `Gnomovision' (which makes passes at compilers) written by James Hacker.
      +
      + , 1 April 1989
      + Ty Coon, President of Vice
      +
      +This General Public License does not permit incorporating your program into
      +proprietary programs. If your program is a subroutine library, you may
      +consider it more useful to permit linking proprietary applications with the
      +library. If this is what you want to do, use the GNU Library General
      +Public License instead of this License.
      +
      \ No newline at end of file diff --git a/tools/ucon64-2.0.0-src/readme.html b/tools/ucon64-2.0.0-src/readme.html new file mode 100644 index 0000000..1bf2e85 --- /dev/null +++ b/tools/ucon64-2.0.0-src/readme.html @@ -0,0 +1,594 @@ + + +uCON64 - ReadMe
      +uCON64 - THE tool for all your video game console concerns.
      +
      +Its main features are:
      +- It is Open Source Software
      +- (Therefore) support for MANY platforms like: Unix, Win32, MSDOS, etc...
      +- Support for 14+ different cartridge and disc-based video game console systems
      +- Support for ALL common patch file formats like: IPS *), APS, BSL, PPF and
      +  Game Genie
      +  *) with RLE compression
      +- Support for 10+ different backup units to backup/restore ROM(s), disc(s) and
      +  SRAM(s) like: Flash Advance Linker, Flash 2 Advance, Doctor V64 (Junior),
      +  Super Wild Card, Game Doctor, Dexdrive, Super Magic Drive, Game Boy Xchanger,
      +  Mad Catz Camera Link, Lynxit, MD-PRO, SMS-PRO, PCE-PRO, GG-PRO, Super Flash
      +  and your CD-writer.
      +- Finally 150+(!) different options/features for every kind of ROM
      +  handling/management known to man :-)
      +
      +  Including:
      +  *VERY* verbose ROM information for ALL systems, detection of bad dumps using
      +  internal checksums or DAT files, CRC32 calculation, ROM comparison,
      +  modification (strip, pad, etc...), SRAM conversion (emulator <-> backup
      +  unit), DiscJuggler and Nero image conversions, complete gzip and zip support
      +  for all file-related funtions, etc...
      +- Always up-to-date with support for new shit, trends, formats, and headers
      +  like UNIF (NES), NSRT (SNES), new DAT file formats, etc...
      +
      +For console specific options check the following usage:
      +
      +uCON64 2.0.0 Unix (Linux) 1999-2005
      +Uses code from various people. See 'developers.html' for more!
      +This may be freely redistributed under the terms of the GNU Public License
      +
      +Usage: ucon64 [OPTION]... [ROM|IMAGE|SRAM|FILE|DIR|ARCHIVE]...
      +
      +Options
      +   -o=DIRECTORY specify output directory
      +  --nbak        prevents backup files (*.BAK)
      +  --ncol        disable ANSI colors in output
      +  --port=PORT   specify USB or parallel PORT={USB0, USB1, 3bc, 378, 278, ...}
      +  --hdn=N       force ROM has backup unit/emulator header with size of N Bytes
      +  --hd          same as --hdn=512
      +                  most backup units use a header with a size of 512 Bytes
      +  --nhd         force ROM has no backup unit/emulator header
      +  --ns          force ROM is not split
      +   -e           emulate/run ROM (check .ucon64rc for all Emulator settings)
      +  --crc         show CRC32 value of ROM
      +  --sha1        show SHA1 value of ROM
      +  --md5         show MD5 value of ROM
      +  --ls          generate ROM list for all recognized ROMs
      +  --lsv         like --ls but more verbose
      +  --hex[=ST]    show ROM as hexdump; use "ucon64 --hex ...|less"
      +                  ST is the optional start value in bytes
      +  --dual[=ST]   show ROM as dualdump; use "ucon64 --dual ...|less"
      +  --code[=ST]   show ROM as code; use "ucon64 --code ...|less"
      +  --print[=ST]  show ROM in printable characters; use "ucon64 --print ...|less"
      +  --find=STRING find STRING in ROM (wildcard: '?')
      +  --findi=STR   like --find but ignores the case of alpha bytes
      +  --findr=STR   like --find but looks also for shifted/relative similarities
      +                  (wildcard: disabled)
      +   -c=FILE      compare FILE with ROM for differences
      +  --cs=FILE     compare FILE with ROM for similarities
      +  --help        display this help and exit
      +  --version     output version information and exit
      +   -q           be quiet (don't show ROM info)
      +   -v           be more verbose (show backup unit headers also)
      +
      +Padding
      +  --ispad       check if ROM is padded
      +  --pad         pad ROM to next Mb
      +   -p           same as --pad
      +  --padn=N      pad ROM to N Bytes (put Bytes with value 0x00 after end)
      +  --strip=N     strip N Bytes from end of ROM
      +  --stpn=N      strip N Bytes from start of ROM
      +  --stp         same as --stpn=512
      +                  most backup units use a header with a size of 512 Bytes
      +  --insn=N      insert N Bytes (0x00) before ROM
      +  --ins         same as --insn=512
      +                  most backup units use a header with a size of 512 Bytes
      +
      +DATabase (support for DAT files)
      +  --db          DATabase statistics
      +  --dbv         like --db but more verbose
      +  --dbs=CRC32   search ROM with CRC32 in DATabase
      +  --scan        generate ROM list for all ROMs using DATabase
      +                  like: GoodXXXX scan ...
      +  --lsd         same as --scan
      +  --mkdat=DATFILE create DAT file; use -o to specify an output directory
      +  --rrom        rename ROMs to their internal names
      +  --rename      rename ROMs to their DATabase names
      +                  use -o to specify an output directory
      +  --rr83        force to rename to 8.3 filenames
      +  --force63     force to rename all filenames into Joliet CD format
      +                  like: GoodXXXX rename inplace force63 ...
      +                  TIP: using --nes would process only NES ROMs
      +  --rl          rename ROMs to lowercase
      +  --ru          rename ROMs to uppercase
      +
      +Patching
      +  --poke=OFF:V  change byte at file offset OFF to value V (both in hexadecimal)
      +  --pattern=FILE change ROM based on patterns specified in FILE
      +  --patch=PATCH specify the PATCH for the following options
      +                  use this option or uCON64 expects the last commandline
      +                  argument to be the name of the PATCH file
      +   -b           apply Baseline/BSL PATCH to ROM
      +   -i           apply IPS PATCH to ROM (IPS<=v1.2)
      +  --mki=ORG_ROM create IPS patch; ROM should be the modified ROM
      +   -a           apply APS PATCH to ROM (APS<=v1.2)
      +  --mka=ORG_ROM create APS patch; ROM should be the modified ROM
      +  --na=DESC     change APS single line DESCRIPTION
      +  --ppf         apply PPF PATCH to IMAGE (PPF<=v2.0); ROM should be an IMAGE
      +  --mkppf=ORG_IMG create PPF patch; ROM should be the modified IMAGE
      +  --nppf=DESC   change PPF single line DESCRIPTION
      +  --idppf=FILE_ID.DIZ change FILE_ID.DIZ of PPF PATCH (PPF v2.0)
      +  --gge=CODE    encode and display Game Genie code
      +                  example: --gge=CODE --sms or --gge=CODE --gb
      +                  CODE='AAAA:VV' or CODE='AAAA:VV:CC'
      +                  --gge=CODE --gen
      +                  CODE='AAAAAA:VVVV'
      +                  --gge=CODE --nes
      +                  CODE='AAAA:VV' or CODE='AAAA:VV:CC'
      +                  --gge=CODE --snes
      +                  CODE='AAAAAA:VV'
      +  --ggd=GG_CODE decode Game Genie code
      +                  example: --ggd=GG_CODE --sms or --ggd=GG_CODE --gb
      +                  GG_CODE='XXX-XXX' or GG_CODE='XXX-XXX-XXX'
      +                  --ggd=GG_CODE --gen
      +                  GG_CODE='XXXX-XXXX'
      +                  --ggd=GG_CODE --nes
      +                  GG_CODE='XXXXXX' or GG_CODE='XXXXXXXX'
      +                  --ggd=GG_CODE --snes
      +                  GG_CODE='XXXX-XXXX'
      +  --gg=GG_CODE  apply Game Genie code (permanently)
      +                  example: like above but a ROM is required
      +                  supported are:
      +                  Game Boy/(Super GB)/GB Pocket/Color GB/(GB Advance),
      +                  Sega Master System(II/III)/Game Gear (Handheld),
      +                  Genesis/Sega Mega Drive/Sega CD/32X/Nomad,
      +                  Nintendo Entertainment System/NES/Famicom/Game Axe (Redant),
      +                  Super Nintendo Entertainment System/SNES/Super Famicom
      +
      +All disc-based consoles
      +  --disc        force recognition; NEEDED
      +  --rip=N       rip/dump track N from IMAGE
      +  --bin2iso=N   convert track N to ISO (if possible) by resizing
      +                  sectors to 2048 Bytes
      +  --isofix=N    fix corrupted track N (if possible)
      +                  if PVD points to a bad DR offset it will add padding data
      +                  so actual DR gets located in right absolute address
      +  --mkcue       generate CUE sheet for IMAGE or existing TOC sheet
      +  --mktoc       generate TOC sheet for IMAGE or existing CUE sheet
      +
      +Dreamcast
      +  --dc          force recognition
      +  --scr         scramble 1ST_READ.BIN for selfboot CDs
      +  --unscr       unscramble 1ST_READ.BIN for non-selfboot CDs
      +  --mkip        generate IP.BIN file with default values
      +  --parse=TEMPLATE parse TEMPLATE file into a IP.BIN;
      +                  creates an empty template when TEMPLATE does not exist
      +
      +Playstation (One)/Playstation 2 (CD only)
      +  --psx         force recognition
      +DexDrive
      +  --xdex=N      send/receive Block N to/from DexDrive; --port=PORT
      +                  receives automatically when SRAM does not exist
      +
      +Game Boy Advance
      +  --gba         force recognition
      +   -n=NEW_NAME  change internal ROM name to NEW_NAME
      +  --logo        restore ROM logo character data (offset: 0x04-0x9F)
      +  --chk         fix ROM header checksum
      +  --sram        patch ROM for SRAM saving
      +  --crp=WAIT_TIME slow down ROM access ("crash patch");
      +                  WAIT_TIME=0  default in most crash patches
      +                  WAIT_TIME=4  faster than 0, slower than 8
      +                  WAIT_TIME=8  faster than 4, slower than 28
      +                  WAIT_TIME=12 slowest cartridge access speed
      +                  WAIT_TIME=16 faster than 28, but slower than 20
      +                  WAIT_TIME=20 default in most original cartridges
      +                  WAIT_TIME=24 fastest cartridge access speed
      +                  WAIT_TIME=28 faster than 8 but slower than 16
      +  --multi=SIZE  make multi-game file for use with FAL/F2A flash card, truncated
      +                  to SIZE Mbit; file with loader must be specified first, then
      +                  all the ROMs, multi-game file to create last
      +Flash 2 Advance (Ultra)
      +  --xf2a        send/receive ROM to/from Flash 2 Advance (Ultra); --port=PORT
      +                  receives automatically (32 Mbits) when ROM does not exist
      +  --xf2amulti=SIZE send multiple ROMs to Flash 2 Advance (Ultra); specify a
      +                  loader in the configuration file; --port=PORT
      +  --xf2ac=N     receive N Mbits of ROM from Flash 2 Advance (Ultra);
      +                  --port=PORT
      +  --xf2as       send/receive SRAM to/from Flash 2 Advance (Ultra); --port=PORT
      +                  receives automatically when SRAM does not exist
      +  --xf2ab=BANK  send/receive SRAM to/from Flash 2 Advance (Ultra) BANK
      +                  BANK should be a number >= 1; --port=PORT
      +                  receives automatically when SRAM does not exist
      +Flash Advance Linker
      +  --xfal        send/receive ROM to/from Flash Advance Linker; --port=PORT
      +                  receives automatically (32 Mbits) when ROM does not exist
      +  --xfalmulti=SIZE send multiple ROMs to Flash Advance Linker (makes temporary
      +                  multi-game file truncated to SIZE Mbit); specify a loader in
      +                  the configuration file; --port=PORT
      +  --xfalc=N     receive N Mbits of ROM from Flash Advance Linker; --port=PORT
      +                  N can be 8, 16, 32, 64, 128 or 256
      +  --xfals       send/receive SRAM to/from Flash Advance Linker; --port=PORT
      +                  receives automatically when SRAM does not exist
      +  --xfalb=BANK  send/receive SRAM to/from Flash Advance Linker BANK
      +                  BANK can be 1, 2, 3 or 4; --port=PORT
      +                  receives automatically when SRAM does not exist
      +  --xfalm       try to enable EPP mode, default is SPP mode
      +
      +Nintendo 64
      +  --n64         force recognition
      +  --int         force ROM is in interleaved format (2143, V64)
      +  --nint        force ROM is not in interleaved format (1234, Z64)
      +   -n=NEW_NAME  change internal ROM name to NEW_NAME
      +  --v64         convert to Doctor V64 (and compatibles/interleaved)
      +  --z64         convert to Mr. Backup Z64 (not interleaved)
      +  --dint        convert ROM to (non-)interleaved format (1234 <-> 2143)
      +  --swap        same as --dint, byte-swap ROM
      +  --swap2       word-swap ROM (1234 <-> 3412)
      +  --bot=BOOTCODE replace/extract BOOTCODE (4032 Bytes) in/from ROM;
      +                  extracts automatically if BOOTCODE does not exist
      +  --lsram=SRAM  LaC's SRAM upload tool; ROM should be LaC's ROM image
      +                  the SRAM must have a size of 512 Bytes
      +                  this option generates a ROM which can be used to transfer
      +                  SRAMs to your cartridge's SRAM (EEPROM)
      +  --usms=SMSROM Jos Kwanten's UltraSMS (Sega Master System/Game Gear emulator);
      +                  ROM should be Jos Kwanten's UltraSMS ROM image
      +                  works only for SMS ROMs which are <= 4 Mb in size
      +  --chk         fix ROM checksum
      +                  supports only 6102 and 6105 boot codes
      +Doctor V64
      +  --xv64        send/receive ROM to/from Doctor V64; --port=PORT
      +                  receives automatically when ROM does not exist
      +Doctor V64 Junior
      +  --xdjr        send ROM to Doctor V64 Junior; --port=PORT
      +CD64
      +  --xcd64       send/receive ROM to/from CD64; --port=PORT
      +                  receives automatically (64 Mbits) when ROM does not exist
      +  --xcd64c=N    receive N Mbits of ROM from CD64; --port=PORT
      +  --xcd64b      send boot emu to CD64; --port=PORT
      +  --xcd64s      send/receive SRAM to/from CD64; --port=PORT
      +                  receives automatically when SRAM file does not exist
      +  --xcd64f      send/receive flash RAM to/from CD64; --port=PORT
      +                  receives automatically when flash RAM file does not exist
      +  --xcd64e      send/receive EEPROM data to/from CD64; --port=PORT
      +                  receives automatically when EEPROM file does not exist
      +  --xcd64m=INDEX send/receive memory pack data to/from CD64; --port=PORT
      +                  INDEX is ignored for CD64 BIOS protocol
      +                  receives automatically when memory pack file does not exist
      +  --xcd64p=PROT use protocol PROT when communicating with CD64; --port=PORT
      +                  PROT=0 CD64 BIOS
      +                  PROT=1 Ghemor
      +                  PROT=2 UltraLink
      +DexDrive
      +  --xdex=N      send/receive Block N to/from DexDrive; --port=PORT
      +                  receives automatically when SRAM does not exist
      +
      +Super Nintendo Entertainment System/SNES/Super Famicom
      +  --snes        force recognition
      +  --hi          force ROM is HiROM
      +  --nhi         force ROM is not HiROM
      +  --erom        force ROM is "Extended" (combine with -hi for Extended HiROM)
      +  --int         force ROM is in interleaved format (GD3/UFO)
      +  --int2        force ROM is in interleaved format 2 (SFX)
      +  --nint        force ROM is not in interleaved format
      +  --bs          force ROM is a Broadcast Satellaview dump
      +  --nbs         force ROM is a regular cartridge dump
      +   -n=NEW_NAME  change internal ROM name to NEW_NAME
      +  --fig         convert to *Pro Fighter*/FIG
      +  --figs        convert emulator *.srm (SRAM) to *Pro Fighter*/FIG
      +  --gd3         convert to Game Doctor SF3(SF6/SF7)/Professor SF(SF II)
      +  --gd3s        convert emulator *.srm (SRAM) to GD SF3(SF6/SF7)/Professor SF*
      +  --mgd         convert to Multi Game*/MGD2/MGH/RAW
      +  --smc         convert to Super Magicom/SMC
      +  --swc         convert to Super Wild Card*/SWC
      +  --swcs        convert emulator *.srm (SRAM) to Super Wild Card*/SWC
      +  --ufo         convert to Super UFO
      +  --ufos        convert emulator *.srm (SRAM) to Super UFO
      +  --stp         convert SRAM from backup unit for use with an emulator
      +                  --stp just strips the first 512 bytes
      +  --dbuh        display (relevant part of) backup unit header
      +  --dint        deinterleave ROM (regardless whether the ROM is interleaved)
      +  --ctrl=TYPE   specify type of controller in port 1 for emu when converting
      +                  TYPE=0 gamepad
      +                  TYPE=1 mouse
      +                  TYPE=2 mouse / gamepad
      +                  TYPE=6 multitap
      +  --ctrl2=TYPE  specify type of controller in port 2 for emu when converting
      +                  TYPE=0 gamepad
      +                  TYPE=1 mouse
      +                  TYPE=2 mouse / gamepad
      +                  TYPE=3 super scope
      +                  TYPE=4 super scope / gamepad
      +                  TYPE=5 Konami's justifier
      +                  TYPE=6 multitap
      +                  TYPE=7 mouse / super scope / gamepad
      +  --col=0xCOLOR convert 0xRRGGBB (HTML) <-> 0xXXXX (SNES)
      +   -j           join split ROM
      +   -s           split ROM; default part size is 8 Mb
      +  --ssize=SIZE  specify split part size in Mbit (not for Game Doctor SF3)
      +   -k           remove protection (crack)
      +   -f           remove NTSC/PAL protection
      +   -l           remove SlowROM checks
      +  --chk         fix ROM checksum
      +  --multi=SIZE  make multi-game file for use with Super Flash flash card,
      +                  truncated to SIZE Mbit; file with loader must be specified
      +                  first, then all the ROMs, multi-game file to create last
      +  --dmirr       "de-mirror" ROM (strip mirrored block from end of ROM)
      +  --dnsrt       "de-NSRT" ROM (restore name and checksum from NSRT header)
      +Super Com Pro/Super Magicom/SMC/Super Wild Card (1.6XC/2.7CC/2.8CC/DX/DX2)/SWC
      +  --xswc        send/receive ROM to/from Super Wild Card*/SWC; --port=PORT
      +                  receives automatically when ROM does not exist
      +  --xswc2       same as --xswc, but enables Real Time Save mode (SWC only)
      +  --xswc-io=MODE specify SWC I/O mode; use with -xswc or -xswcc
      +                  MODE=0x001 force 32 Mbit dump
      +                  MODE=0x002 use alternative method for determining ROM size
      +                  MODE=0x004 Super FX
      +                  MODE=0x008 S-DD1
      +                  MODE=0x010 SA-1
      +                  MODE=0x020 SPC7110
      +                  MODE=0x040 DX2 trick (might work with other SWC models)
      +                  MODE=0x080 Mega Man X 2
      +                  MODE=0x100 dump BIOS
      +                  It is possible to combine flags. MODE=0x44 makes it possible
      +                  to dump for example Yoshi's Island
      +  --xswcs       send/receive SRAM to/from Super Wild Card*/SWC; --port=PORT
      +                  receives automatically when SRAM does not exist
      +  --xswcc       send/receive SRAM to/from cartridge in Super Wild Card*/SWC;
      +                  --port=PORT
      +                  receives automatically when SRAM does not exist
      +  --xswcr       send/receive RTS data to/from Super Wild Card*/SWC; --port=PORT
      +                  receives automatically when RTS file does not exist
      +Game Doctor SF3(SF6/SF7)/Professor SF(SF II)
      +  --xgd3        send ROM to Game Doctor SF3/SF6/SF7; --port=PORT
      +                  this option uses the Game Doctor SF3 protocol
      +  --xgd6        send ROM to Game Doctor SF6/SF7; --port=PORT
      +                  this option uses the Game Doctor SF6 protocol
      +  --xgd3s       send SRAM to Game Doctor SF3/SF6/SF7; --port=PORT
      +  --xgd6s       send/receive SRAM to/from Game Doctor SF6/SF7; --port=PORT
      +                  receives automatically when SRAM does not exist
      +  --xgd6r       send/receive saver (RTS) data to/from Game Doctor SF6/SF7;
      +                  --port=PORT
      +                  receives automatically when saver file does not exist
      +Super Pro Fighter (Q/Q+)/Pro Fighter X (Turbo 2)/Double Pro Fighter (X Turbo)
      +  --xfig        send/receive ROM to/from *Pro Fighter*/FIG; --port=PORT
      +                  receives automatically when ROM does not exist
      +  --xfigs       send/receive SRAM to/from *Pro Fighter*/FIG; --port=PORT
      +                  receives automatically when SRAM does not exist
      +  --xfigc       send/receive SRAM to/from cartridge in *Pro Fighter*/FIG;
      +                  --port=PORT
      +                  receives automatically when SRAM does not exist
      +Super Flash flash card programmer
      +  --xsf         send/receive ROM to/from Super Flash flash card programmer
      +                  --port=PORT
      +                  receives automatically (64 Mbits) when ROM does not exist
      +  --xsfs        send/receive SRAM to/from Super Flash flash card programmer
      +                  --port=PORT
      +                  receives automatically when SRAM does not exist
      +
      +Neo Geo/Neo Geo CD(Z)/MVS
      +  --ng          force recognition
      +  --bios=BIOS   convert NeoCD BIOS to work with NeoCD emulator
      +  --sam=SAMFILE convert SAM/M.A.M.E. sound to WAV
      +
      +Genesis/Sega Mega Drive/Sega CD/32X/Nomad
      +  --gen         force recognition
      +  --int         force ROM is in interleaved format (SMD)
      +  --int2        force ROM is in interleaved format 2 (MGD)
      +  --nint        force ROM is not in interleaved format (BIN/RAW)
      +   -n=NEW_NAME  change foreign ROM name to NEW_NAME
      +  --n2=NEW_NAME change Japanese ROM name to NEW_NAME
      +  --smd         convert to Super Magic Drive/SMD
      +  --smds        convert emulator (*.srm) SRAM to Super Magic Drive/SMD
      +  --bin         convert to Magicom/BIN/RAW
      +  --mgd         convert to Multi Game*/MGD2/MGH
      +  --stp         convert SRAM from backup unit for use with an emulator
      +                  --stp just strips the first 512 bytes
      +   -j           join split ROM
      +   -s           split ROM; default part size is 8 Mb (4 Mb for SMD)
      +  --ssize=SIZE  specify split part size in Mbit
      +   -f           remove NTSC/PAL protection
      +  --chk         fix ROM checksum
      +  --1991        fix old third party ROMs to work with consoles build after
      +                  October 1991 by inserting "(C) SEGA" and "(C)SEGA"
      +  --multi=SIZE  make multi-game file for use with MD-PRO flash card, truncated
      +                  to SIZE Mbit; file with loader must be specified first, then
      +                  all the ROMs, multi-game file to create last
      +  --region=CODE enable region function; use with -multi
      +                  CODE=0 force NTSC/Japan for all games
      +                  CODE=1 force NTSC/U.S.A. for all games
      +                  CODE=2 force PAL for all games
      +                  CODE=x use whatever setting games expect
      +Super Com Pro/Super Magic Drive/SMD
      +  --xsmd        send/receive ROM to/from Super Magic Drive/SMD; --port=PORT
      +                  receives automatically when ROM does not exist
      +  --xsmds       send/receive SRAM to/from Super Magic Drive/SMD; --port=PORT
      +                  receives automatically when SRAM does not exist
      +MD-PRO flash card programmer
      +  --xmd         send/receive ROM to/from MD-PRO flash card programmer
      +                  --port=PORT
      +                  receives automatically (32/64 Mbits) when ROM does not exist
      +  --xmds        send/receive SRAM to/from MD-PRO flash card programmer
      +                  --port=PORT
      +                  receives automatically when SRAM does not exist
      +  --xmdb=BANK   send/receive SRAM to/from MD-PRO BANK
      +                  BANK can be a number from 1 to 4; --port=PORT
      +                  receives automatically when SRAM does not exist
      +Mike Pavone's Genesis/Sega CD transfer cable
      +  --xmcd        receive ROM from Genesis/Sega CD; --port=PORT
      +Cyan's Megadrive ROM copier
      +  --xcmc        receive ROM from Cyan's Megadrive ROM copier; --port=PORT
      +  --xcmct=TEST  run test TEST
      +                  TEST=1 burn-in reliability test (specify speed)
      +                  TEST=2 testbench mode (experts only)
      +  --xcmcm=SPEED specify transfer speed
      +                  SPEED=1 slow (debug)
      +                  SPEED=2 medium
      +                  SPEED=3 fast (default)
      +                  SPEED=4 full speed (risky)
      +
      +Game Boy/(Super GB)/GB Pocket/Color GB/(GB Advance)
      +  --gb          force recognition
      +   -n=NEW_NAME  change internal ROM name to NEW_NAME
      +  --logo        restore ROM logo character data (offset: 0x104-0x134)
      +  --mgd         convert to Multi Game*/MGD2/RAW
      +  --ssc         convert to Super Smart Card/SSC
      +  --sgb         convert from GB Xchanger/GB/GBC to Super Backup Card/GX/GBX
      +  --gbx         convert from Super Backup Card/GX/GBX to GB Xchanger/GB/GBC
      +  --n2gb=NESROM KAMI's FC EMUlator (NES emulator);
      +                  ROM should be KAMI's FC Emulator ROM image
      +                  NESROM should contain 16 kB of PRG data and 8 kB of CHR data
      +  --chk         fix ROM checksum
      +Game Boy Xchanger/GBDoctor
      +  --xgbx        send/receive ROM to/from GB Xchanger; --port=PORT
      +                  receives automatically when ROM does not exist
      +  --xgbxs       send/receive SRAM to/from GB Xchanger; --port=PORT
      +                  receives automatically when SRAM does not exist
      +  --xgbxb=BANK  send/receive 64 kbits SRAM to/from GB Xchanger BANK
      +                  BANK can be a number from 0 to 15; --port=PORT
      +                  receives automatically when ROM does not exist
      +  --xgbxm       try to enable EPP mode, default is SPP mode
      +Mad Catz Camera Link (Game Boy Camera)
      +  --xmccl       receives from Mad Catz Camera Link; --port=PORT
      +
      +Handy (prototype)/Lynx/Lynx II
      +  --lynx        force recognition
      +  --lyx         convert to LYX/RAW (strip 64 Bytes LNX header)
      +  --lnx         convert to LNX (uses default values for the header);
      +                  adjust the LNX header with the following options
      +   -n=NEW_NAME  change internal ROM name to NEW_NAME (LNX only)
      +  --nrot        set no rotation (LNX only)
      +  --rotl        set rotation left (LNX only)
      +  --rotr        set rotation right (LNX only)
      +  --b0=N        change Bank0 kBytes size to N={0,64,128,256,512} (LNX only)
      +  --b1=N        change Bank1 kBytes size to N={0,64,128,256,512} (LNX only)
      +Lynxit (Lynx cartridge backup board)
      +  --xlit        receive ROM from Lynxit interface; --port=PORT
      +
      +PC-Engine (CD Unit/Core Grafx(II)/Shuttle/GT/LT/Super CDROM/DUO(-R(X)))
      +Super Grafx/Turbo (Grafx(16)/CD/DUO/Express)
      +  --pce         force recognition
      +  --int         force ROM is in interleaved (bit-swapped) format
      +  --nint        force ROM is not in interleaved (bit-swapped) format
      +  --msg         convert to Magic Super Griffin/MSG
      +  --mgd         convert to Multi Game Doctor*/MGD2/RAW
      +  --swap        swap bits of all bytes in file (TurboGrafx-16 <-> PC-Engine)
      +   -f           fix region protection
      +  --multi=SIZE  make multi-game file for use with PCE-PRO flash card, truncated
      +                  to SIZE Mbit; file with loader must be specified first, then
      +                  all the ROMs, multi-game file to create last
      +Magic Super Griffin/MSG
      +  --xmsg        send/receive ROM to/from Magic Super Griffin/MSG; --port=PORT
      +                  receives automatically when ROM does not exist
      +PCE-PRO flash card programmer
      +  --xpce        send/receive ROM to/from PCE-PRO flash card programmer
      +                  --port=PORT
      +                  receives automatically (32 Mbits) when ROM does not exist
      +
      +Nintendo Entertainment System/NES/Famicom/Game Axe (Redant)
      +  --nes         force recognition
      +   -n=NEW_NAME  change internal ROM name to NEW_NAME (UNIF only)
      +  --unif        convert to UNIF format/UNF (uses default values)
      +  --ines        convert to iNES format/NES (uses default values)
      +  --ineshd      extract iNES header from ROM (16 Bytes)
      +   -j           join Pasofami/PRM/700/PRG/CHR/split ROM (Pasofami -> iNES)
      +  --pasofami    convert to Pasofami/PRM/700/PRG/CHR
      +   -s           convert/split to Pasofami/PRM/700/PRG/CHR (iNES -> Pasofami)
      +  --ffe         convert to FFE format (Super Magic Card)
      +  --mapr=MAPR   specify board name or mapper number for conversion options
      +                  MAPR must be a board name for UNIF or a number for Pasofami
      +                  and iNES
      +  --dint        deinterleave ROM (regardless whether the ROM is interleaved)
      +  --ctrl=TYPE   specify controller type (UNIF only)
      +                  TYPE=0 regular joypad
      +                  TYPE=1 zapper
      +                  TYPE=2 R.O.B.
      +                  TYPE=3 Arkanoid controller
      +                  TYPE=4 powerpad
      +                  TYPE=5 four-score adapter
      +  --ntsc        specify TV standard is NTSC (UNIF only)
      +  --pal         specify TV standard is PAL (UNIF only)
      +  --bat         specify battery is present
      +  --nbat        specify battery is not present
      +  --vram        specify VRAM override (UNIF only)
      +  --nvram       specify no VRAM override (UNIF only)
      +  --mirr=MTYPE  specify mirroring type
      +                  MTYPE=0 horizontal mirroring
      +                  MTYPE=1 vertical mirroring
      +                  MTYPE=2 mirror all pages from $2000 (UNIF only)
      +                  MTYPE=3 mirror all pages from $2400 (UNIF only)
      +                  MTYPE=4 four screens of VRAM
      +                  MTYPE=5 mirroring controlled by mapper hardware (UNIF only)
      +  --cmnt=TEXT   specify that TEXT should be used as comment (UNIF only)
      +  --dumpinfo=FILE use dumper info from FILE when converting to UNIF
      +  --fds         convert Famicom Disk System file (diskimage) from FAM to FDS
      +  --fdsl        list Famicom Disk System/FDS (diskimage) contents
      +Super Magic Card
      +  --xsmc        send ROM (in FFE format) to Super Magic Card; --port=PORT
      +  --xsmcr       send/receive RTS data to/from Super Magic Card; --port=PORT
      +                  receives automatically when RTS file does not exist
      +
      +Sega Master System(II/III)/Game Gear (Handheld)
      +  --sms         force recognition
      +  --int         force ROM is in interleaved format (SMD)
      +  --nint        force ROM is not in interleaved format (RAW)
      +  --mgd         convert to Multi Game*/MGD2/MGH/RAW (gives SMS name)
      +  --mgdgg       same as --mgd, but gives GG name
      +  --smd         convert to Super Magic Drive/SMD
      +  --smds        convert emulator (*.srm) SRAM to Super Magic Drive/SMD
      +  --chk         fix ROM checksum (SMS only)
      +  --multi=SIZE  make multi-game file for use with SMS-PRO/GG-PRO flash card,
      +                  truncated to SIZE Mbit; file with loader must be specified
      +                  first, then all the ROMs, multi-game file to create last
      +SMS-PRO/GG-PRO flash card programmer
      +  --xgg         send/receive ROM to/from SMS-PRO/GG-PRO flash card programmer
      +                  --port=PORT
      +                  receives automatically (32 Mbits) when ROM does not exist
      +  --xggs        send/receive SRAM to/from SMS-PRO/GG-PRO flash card programmer
      +                  --port=PORT
      +                  receives automatically when SRAM does not exist
      +  --xggb=BANK   send/receive SRAM to/from SMS-PRO/GG-PRO BANK
      +                  BANK can be a number from 1 to 4; --port=PORT
      +                  receives automatically when SRAM does not exist
      +
      +WonderSwan/WonderSwan Color/SwanCrystal
      +  --swan        force recognition
      +  --chk         fix ROM checksum
      +
      +Panther(32bit prototype)/Jaguar64/Jaguar64 CD
      +  --jag         force recognition
      +
      +Neo Geo Pocket/Neo Geo Pocket Color
      +  --ngp         force recognition
      +Pocket Linker
      +  --xpl         send/receive ROM to/from Pocket Linker; --port=PORT
      +                  receives automatically when ROM does not exist
      +  --xpli        show information about inserted cartridge; --port=PORT
      +  --xplm        try to enable EPP mode, default is SPP mode
      +
      +Atari VCS 2600(aka Stella)/Atari 5200 SuperSystem/Atari CX7800/Atari 2600 Jr
      +  --ata         force recognition
      +
      +DATabase: 32626 known ROMs (DAT files: /mnt/hd2-1/home/daniel/.ucon64/dat)
      +
      +NOTE: You only need to specify PORT if uCON64 doesn't detect the (right)
      +      parallel port. If that is the case give a hardware address. For example:
      +        ucon64 --xswc "rom.swc" --port=0x378
      +      In order to connect a copier to a PC's parallel port you need a standard
      +      bidirectional parallel cable
      +
      +TIP: ucon64 --help --snes (would show only SNES related help)
      +     ucon64 --help|less (to see everything in less)
      +     Give the force recognition switch a try if something went wrong
      +
      +Please report any problems/ideas/fixes to noisyb@gmx.net or
      +ucon64-announce@lists.sf.net or visit http://ucon64.sf.net
      +
      +
      diff --git a/tools/ucon64-2.0.0-src/src/GoodCodes.txt b/tools/ucon64-2.0.0-src/src/GoodCodes.txt new file mode 100644 index 0000000..f91b686 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/GoodCodes.txt @@ -0,0 +1,173 @@ + .................. +...............: STANDARD CODES ::............... +: :\ +: [a] Alternate [p] Pirate :\ +: [b] Bad Dump [t] Trained :\ +: [f] Fixed [T-] OldTranslation :\ +: [T+] NewerTranslation :\ +: [h] Hack (-) Unknown Year :\ +: [o] Overdump [!] Verified Good Dump :\ +: (M#) Multilanguage (# of Languages) :\ +: (###) Checksum (??k) ROM Size :\ +: ZZZ_ Unclassified (Unl) Unlicensed :\ +:...............................................:\ + \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ + + ................. +................: SPECIAL CODES ::............... +: :\ +: .-----Gameboy-----. .----Super Nintendo----. :\ +: [ [C] Color ] [ (BS) BS ROMs ] :\ +: [ [S] Super ] [ (ST) Sufami Turbo ] :\ +: [ [BF] Bung Fix ] [ (NP) Nintendo Power ] :\ +: `-----------------' `----------------------' :\ +: .--------Atari---------. :\ +: .-----Genesis-----. [ (PAL) Euro Version ] :\ +: [ (1) Japan ] `----------------------' :\ +: [ (4) USA ] .---------GBA----------. :\ +: [ (5) NTSC Only ] [ [hI??] Intro hacks ] :\ +: [ (8) PAL Only ] `----------------------' :\ +: [ (B) non USA ] .--------Coleco--------. :\ +: [ [c] Checksum ] [ (Adam) ADAM Version ] :\ +: [ [x] Bad Checksum] `----------------------' :\ +: [ [R-] Countries ] :\ +: `-----------------' :\ +: .--------NES/FC--------. :\ +: .--NeoGeo Pocket--. [ (PC10) PlayChoice 10 ] :\ +: [ [M] Mono Only ] [ (VS) Versus ] :\ +: `-----------------' [ [hFFE] FFE Copier fmt] :\ +: `----------------------' :\ +:...............................................:\ + \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ + + ................. +................: COUNTRY CODES ::............... +: :\ +: (1) Japan & Korea (4) USA & BrazilNTSC :\ +: (A) Australia (J) Japan :\ +: (B) non USA (Genesis) (K) Korea :\ +: (C) China (NL) Netherlands :\ +: (E) Europe (PD) Public Domain :\ +: (F) France (S) Spain :\ +: (F) World (Genesis) :\ +: (FC) French Canadian (SW) Sweden :\ +: (FN) Finland (U) USA :\ +: (G) Germany (UK) England :\ +: (GR) Greece (Unk) Unknown Country :\ +: (HK) Hong Kong (I) Italy :\ +: (H) Holland (Unl) Unlicensed :\ +:...............................................:\ + \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ + + ....................... +.............: STANDARD CODE NOTES ::............ +: :\ +: [a] This is simply an alternate version of a :\ +: ROM. Many games have been re-released to :\ +: fix bugs or even to eliminate Game Genie :\ +: codes (Yes, Nintendo hates that device). :\ +: ------------------- :\ +: [b] A bad dump often occurs with an older :\ +: game or a faulty dumper (bad connection). :\ +: Another common source of [b] ROMs is a :\ +: corrupted upload to a release FTP. :\ +: ------------------- :\ +: [f] A fixed game has been altered in some way :\ +: so that it will run better on a copier :\ +: or emulator. :\ +: ------------------- :\ +: [h] Something in this ROM is not quite as it :\ +: should be. Often a hacked ROM simply has :\ +: a changed header or has been enabled to :\ +: run in different regions. Other times it :\ +: could be a release group intro, or just :\ +: some kind of cheating or funny hack. :\ +: ------------------- :\ +: [o] An overdumped ROM image has more data :\ +: than is actually in the cart. The extra :\ +: information means nothing and is removed :\ +: from the true image. :\ +: ------------------- :\ +: [t] A trainer is special code which executes :\ +: before the game is begun. It allows you :\ +: to access cheats from a menu. :\ +: ------------------- :\ +: [!] Verified good dump. Thank God for these! :\ +:...............................................:\ + \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ + + ...................... +.............: SPECIAL CODE NOTES ::............. +: :\ +: **** SNES **** :\ +: (BS) These Japanese ROMs were distributed :\ +: through a satellite system in Japan :\ +: known as the Broadcast Satellaview. :\ +: They were transmitted along with a TV :\ +: show which was connected to the game in :\ +: some way. These games were only playable :\ +: during the show, and thus stop after an :\ +: hour, and many were timed so that only :\ +: certain time periods were playable. :\ +: ------------------- :\ +: (ST) The Sufami Turbo device allowed two :\ +: GameBoy sized carts to be plugged into :\ +: the SNES. Certain carts combined into :\ +: new games much like the Sonic & Knuckles :\ +: lock-on technology by Sega. :\ +: ------------------- :\ +: (NP) Nintendo Power has been known to release :\ +: games only available to its subscribers. :\ +: Most of these ROMs are Japanese, as this :\ +: practice occured mainly in Japan. :\ +: ------------------- :\ +: :\ +: **** Genesis **** :\ +: (1) Carts with this code will run on both :\ +: Japanese and Korean machines. :\ +: ------------------- :\ +: (4) While this code is technically the same :\ +: as a (U) code, it is a newer header :\ +: format and represents that the cart will :\ +: run on USA and Brazil NTSC machines. :\ +: ------------------- :\ +: (B) This country code indicates that the :\ +: cart will run on any non US machine. :\ +: ------------------- :\ +: [c] This code represents a cart with known :\ +: faulty checksum routines. :\ +: ------------------- :\ +: :\ +: **** GameBoy **** :\ +: [BF] Bung released a programmable cartridge :\ +: compatable with the GameBoy which could :\ +: hold any data you wished to play. :\ +: However, many games do not function on :\ +: Bung v1.0 carts and have to be 'fixed.' :\ +: ------------------- :\ +: :\ +: **** Nintendo **** :\ +: PC10 The PlayChoice 10 was an arcade unit :\ +: which played exact copies of NES games :\ +: in an arcade cabinet. The machines had a :\ +: choice of 10 games to choose from and :\ +: ran for about 3 minutes on 25 cents. :\ +: ------------------- :\ +: :\ +: VS The Versus system ran on similar hard- :\ +: ware to the PC10 machines, but simply :\ +: allowed you to play against each other. :\ +:...............................................:\ + \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ + + ........... +...................: Credits ::.................. +: :\ +: Document written by Psych0phobiA / q^-o|o-^p :\ +: :\ +: All codes developed by Cowering for the :\ +: Goodxxxx series ROM file renaming utilities. :\ +: :\ +: Visit #rareroms on NewNet in IRC! :\ +:...............................................:\ + \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \ No newline at end of file diff --git a/tools/ucon64-2.0.0-src/src/Makefile.in b/tools/ucon64-2.0.0-src/src/Makefile.in new file mode 100644 index 0000000..7c73fef --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/Makefile.in @@ -0,0 +1,380 @@ +.PHONY: all clean distclean install uninstall + +@DEFINE_DLOPEN_MAKE@ +@DEFINE_ZLIB_MAKE@ +@DEFINE_DISCMAGE_MAKE@ +@DEFINE_USB_MAKE@ +@DEFINE_LIBCD64_MAKE@ + +CC=@CC@ +CFLAGS=-I. -Wall -W -O3 @DEFS@ +LDFLAGS=-s +TARGETS= + +ifdef USE_DISCMAGE +LIBNAME_DM=discmage +endif + +# The test for Cygwin should be done before the test for DJGPP, because the +# environment variable DJGPP can be set under Bash for people who have +# installed both GCC (and friends) ports. + +GCC_WIN=0 +# test cygwin before DJGPP; OSTYPE is not exported on Cygwin +ifeq ($(TERM),cygwin) +GCC_WIN=1 +endif +# test msys before DJGPP; MSYS, MinGW's POSIX build environment +ifeq ($(OSTYPE),msys) +GCC_WIN=1 +endif + +ifeq ($(GCC_WIN),1) + +ifdef USE_DISCMAGE +FULLLIBNAME_DM=$(LIBNAME_DM).dll +ifndef DLOPEN +LDFLAGS+=libdiscmage/$(LIBNAME_DM).a +endif +endif + +else +ifdef DJGPP + +ifdef USE_DISCMAGE +FULLLIBNAME_DM=$(LIBNAME_DM).dxe +ifndef DLOPEN +LDFLAGS+=libdiscmage/$(LIBNAME_DM).a +endif +endif + +else # Unix, BeOS or Mac OS X (Darwin) + +ifeq ($(findstring openbsd,$(OSTYPE)),openbsd) # for example "openbsd3.4" +# i386_iopl() is located in libi386.a +LDFLAGS+=@LIBI386_MAKE@ +endif + +ifdef USE_DISCMAGE +ifeq ($(findstring darwin,$(OSTYPE)),darwin) # for example "darwin7.0" +FULLLIBNAME_DM=$(LIBNAME_DM).dylib +else +FULLLIBNAME_DM=$(LIBNAME_DM).so +endif +endif + +ifdef DLOPEN + +ifneq ($(OSTYPE),beos) +ifeq ($(findstring freebsd,$(OSTYPE)),) # false if OSTYPE contains "freebsd" +ifeq ($(findstring openbsd,$(OSTYPE)),) # false if OSTYPE contains "openbsd" +LDFLAGS+=-ldl +endif +endif +endif + +else # DLOPEN +ifdef USE_DISCMAGE # GNU specific: "simply expanded variable" +FULLLIBNAME_DM:=$(addprefix lib,$(FULLLIBNAME_DM)) +LDFLAGS+=-Llibdiscmage -l$(LIBNAME_DM) +endif + +endif + +endif # DJGPP +endif # GCC_WIN + +TARGETS+=libdiscmage/$(FULLLIBNAME_DM) + + +ifdef USE_LIBCD64 +LDFLAGS+=backup/libcd64/libcd64.a +TARGETS+=backup/libcd64/libcd64.a +endif + + +OBJECTS=ucon64.o ucon64_dat.o ucon64_misc.o ucon64_opts.o \ + misc/chksum.o misc/file.o misc/getopt.o misc/getopt2.o \ + misc/misc.o misc/parallel.o misc/property.o misc/string.o \ + patch/aps.o patch/bsl.o patch/gg.o patch/ips.o patch/pal4u.o \ + patch/ppf.o patch/xps.o \ + console/dc.o console/gb.o console/gba.o console/genesis.o \ + console/jaguar.o console/lynx.o console/n64.o console/neogeo.o \ + console/nes.o console/ngp.o console/pce.o console/psx.o console/sms.o \ + console/snes.o console/swan.o \ + backup/cd64.o backup/cmc.o backup/dex.o backup/doctor64.o \ + backup/doctor64jr.o backup/f2a.o backup/fal.o backup/ffe.o \ + backup/fig.o backup/gbx.o backup/gd.o backup/interceptor.o \ + backup/lynxit.o backup/mccl.o backup/mcd.o backup/md-pro.o \ + backup/mgd.o backup/msg.o backup/pce-pro.o backup/pl.o \ + backup/psxpblib.o backup/sflash.o backup/smc.o backup/smd.o \ + backup/smsgg-pro.o backup/ssc.o backup/swc.o backup/tototek.o \ + backup/ufo.o backup/yoko.o backup/z64.o +ifdef USE_ZLIB +LDFLAGS+=-lz +OBJECTS+=misc/archive.o misc/map.o misc/unzip.o +endif +ifdef USE_USB +LDFLAGS+=-lusb +OBJECTS+=misc/usb.o +endif + +ifdef DLOPEN +OBJECTS+=misc/dlopen.o +ifndef USE_ZLIB +ifeq ($(GCC_WIN),1) +else +ifdef DJGPP # DJGPP code in dlopen needs map code +OBJECTS+=misc/map.o +endif # DJGPP +endif # GCC_WIN +endif # USE_ZLIB +else +ifeq ($(GCC_WIN),1) # Cygwin/MinGW code in ucon64_misc needs dlopen code +OBJECTS+=misc/dlopen.o +endif # GCC_WIN +endif # DLOPEN + + +TARGET=ucon64 +ifeq ($(GCC_WIN),1) +TARGET:=$(addsuffix .exe,$(TARGET)) # adding .exe avoids "problems" with Cygwin/MinGW +else +ifdef DJGPP # OSTYPE is not defined by default under DOS +TARGET:=$(addsuffix .exe,$(TARGET)) +endif # DJGPP +endif # GCC_WIN +TARGETS+=$(TARGET) + +all: $(TARGETS) + + +CLEAN_CMD=rm -f $(TARGET) $(OBJECTS) *.core *.stackdump *~ */*~ */*/*~; \ +cd libdiscmage && $(MAKE) clean; \ +cd ../backup/libcd64 && $(MAKE) clean + +clean: +ifeq ($(GCC_WIN),1) + $(CLEAN_CMD) +else +ifdef DJGPP + del *.o + del patch\*.o + del console\*.o + del backup\*.o + del misc\*.o + del $(TARGET) + cd libdiscmage + $(MAKE) clean + cd ../backup/libcd64 + $(MAKE) clean + cd ../.. +else # Unix, BeOS or Mac OS X (Darwin) + $(CLEAN_CMD) +endif # DJGPP +endif # GCC_WIN + + +DISTCLEAN_CMD=rm -f Makefile config.log config.status config.cache config.h; \ +cd libdiscmage && $(MAKE) distclean; \ +cd ../backup/libcd64 && $(MAKE) clean +# libcd64 Makefile has no distclean target + +distclean: clean +ifeq ($(GCC_WIN),1) + $(DISTCLEAN_CMD) +else +ifdef DJGPP + del Makefile + del config.log + del config.status + del config.cache + del config.h + cd libdiscmage + $(MAKE) distclean + cd ../backup/libcd64 + $(MAKE) clean + cd ../.. +else + $(DISTCLEAN_CMD) +endif # DJGPP +endif # GCC_WIN + + +.c.o: + $(CC) $(CFLAGS) -c $< -o $@ + +backup/cd64.o: backup/cd64.c + $(CC) $(CFLAGS) -Ibackup/libcd64 -c $< -o $@ + + +ifdef USE_DISCMAGE +libdiscmage/$(FULLLIBNAME_DM): +ifeq ($(GCC_WIN),1) + cd libdiscmage && $(MAKE) +else +ifdef DJGPP + cd libdiscmage + $(MAKE) + cd .. +else + cd libdiscmage && $(MAKE) +endif # DJGPP +endif # GCC_WIN +endif # USE_DISCMAGE + +ifdef USE_LIBCD64 +backup/libcd64/libcd64.a: +ifeq ($(GCC_WIN),1) + cd backup/libcd64 && $(MAKE) +else +ifdef DJGPP + cd backup/libcd64 + $(MAKE) + cd ../.. +else + cd backup/libcd64 && $(MAKE) +endif # DJGPP +endif # GCC_WIN +endif # USE_DISCMAGE + +$(TARGET): $(OBJECTS) + $(CC) $(OBJECTS) $(LDFLAGS) -o $@ + + +install: +ifeq ($(TERM),cygwin) # test cygwin before DJGPP +else +ifeq ($(OSTYPE),msys) # test msys before DJGPP +else +ifdef DJGPP +else +ifeq ($(OSTYPE),beos) + ./install_beos.sh +else + ./install.sh +endif # beos +endif # DJGPP +endif # msys +endif # cygwin +ifndef DLOPEN + cd libdiscmage && $(MAKE) install +endif + + +uninstall: +ifeq ($(TERM),cygwin) # test cygwin before DJGPP +else +ifeq ($(OSTYPE),msys) # test msys before DJGPP +else +ifdef DJGPP +else +ifeq ($(OSTYPE),beos) + rm -f $(HOME)/config/bin/$(TARGET) +else + rm -f /usr/local/bin/$(TARGET) +endif # beos +endif # DJGPP +endif # msys +endif # cygwin +ifndef DLOPEN + cd libdiscmage && $(MAKE) uninstall +endif + + +# Dependencies + +# Most source files include these +UCON64_STD_H=ucon64.h ucon64_misc.h misc/misc.h config.h ucon64_defines.h + +misc/archive.o: misc/archive.h misc/map.h config.h +misc/chksum.o: misc/chksum.h config.h +misc/dlopen.o: misc/dlopen.h misc/dxedll_pub.h config.h +misc/getopt.o: misc/getopt.h +misc/map.o: misc/map.h config.h +misc/misc.o: misc/misc.h misc/archive.h config.h +misc/parallel.o: misc/parallel.h config.h +misc/usb.o: misc/usb.h config.h +misc/unzip.o: misc/unzip.h config.h +ucon64.o: misc/dlopen.h misc/getopt.h ucon64_dat.h ucon64_opts.h \ + console/dc.h console/gb.h console/gba.h console/genesis.h \ + console/jaguar.h console/lynx.h console/n64.h console/neogeo.h \ + console/nes.h console/ngp.h console/pce.h console/psx.h console/sms.h \ + console/snes.h console/swan.h \ + backup/cd64.h backup/dex.h backup/doctor64.h backup/doctor64jr.h \ + backup/f2a.h backup/fal.h backup/ffe.h backup/fig.h backup/gbx.h \ + backup/gd.h backup/interceptor.h backup/lynxit.h backup/mccl.h \ + backup/mcd.h backup/md-pro.h backup/mgd.h backup/msg.h \ + backup/pce-pro.h backup/pl.h backup/smc.h backup/smd.h \ + backup/smsgg-pro.h backup/ssc.h backup/swc.h backup/tototek.h \ + backup/ufo.h backup/yoko.h backup/z64.h \ + patch/aps.h patch/bsl.h patch/gg.h patch/ips.h patch/pal4u.h \ + patch/ppf.h patch/xps.h $(UCON64_STD_H) +ucon64_dat.o: ucon64_dat.h $(UCON64_STD_H) +ucon64_misc.o: misc/dlopen.h $(UCON64_STD_H) +ucon64_opts.o: misc/dlopen.h misc/getopt.h ucon64_dat.h ucon64_opts.h \ + console/dc.h console/gb.h console/gba.h console/genesis.h \ + console/jaguar.h console/lynx.h console/n64.h console/neogeo.h \ + console/nes.h console/ngp.h console/pce.h console/psx.h \ + console/sms.h console/snes.h console/swan.h \ + backup/cd64.h backup/dex.h backup/doctor64.h \ + backup/doctor64jr.h backup/f2a.h backup/fal.h backup/ffe.h \ + backup/fig.h backup/gbx.h backup/gd.h backup/interceptor.h \ + backup/lynxit.h backup/mccl.h backup/mcd.h backup/md-pro.h \ + backup/mgd.h backup/msg.h backup/pce-pro.h backup/pl.h \ + backup/smc.h backup/smd.h backup/smsgg-pro.h backup/ssc.h \ + backup/swc.h backup/tototek.h backup/ufo.h backup/yoko.h \ + backup/z64.h \ + patch/aps.h patch/bsl.h patch/gg.h patch/ips.h patch/pal4u.h \ + patch/ppf.h patch/xps.h $(UCON64_STD_H) +console/dc.o: console/dc.h $(UCON64_STD_H) +console/gb.o: console/gb.h backup/mgd.h $(UCON64_STD_H) +console/gba.o: console/gba.h $(UCON64_STD_H) +console/genesis.o: console/genesis.h backup/smd.h backup/mgd.h $(UCON64_STD_H) +console/jaguar.o: console/jaguar.h $(UCON64_STD_H) +console/lynx.o: console/lynx.h $(UCON64_STD_H) +console/n64.o: console/n64.h $(UCON64_STD_H) +console/neogeo.o: console/neogeo.h $(UCON64_STD_H) +console/nes.o: console/nes.h $(UCON64_STD_H) +console/ngp.o: console/ngp.h $(UCON64_STD_H) +console/pce.o: console/pce.h backup/mgd.h $(UCON64_STD_H) +console/psx.o: console/psx.h $(UCON64_STD_H) +console/sms.o: console/sms.h backup/smd.h backup/mgd.h $(UCON64_STD_H) +console/snes.o: console/snes.h backup/mgd.h $(UCON64_STD_H) +console/swan.o: console/swan.h $(UCON64_STD_H) +backup/cd64.o: backup/cd64.h $(UCON64_STD_H) +backup/cmc.o: backup/cmc.h $(UCON64_STD_H) +backup/dex.o: backup/dex.h backup/psxpblib.h $(UCON64_STD_H) +backup/doctor64.o: backup/doctor64.h $(UCON64_STD_H) +backup/doctor64jr.o: backup/doctor64jr.h $(UCON64_STD_H) +backup/f2a.o: backup/f2a.h $(UCON64_STD_H) +backup/fal.o: backup/fal.h backup/cartlib.c $(UCON64_STD_H) +backup/ffe.o: backup/ffe.h $(UCON64_STD_H) +backup/fig.o: backup/fig.h console/snes.h $(UCON64_STD_H) +backup/gd.o: backup/gd.h console/snes.h $(UCON64_STD_H) +backup/gbx.o: backup/gbx.h $(UCON64_STD_H) +backup/lynxit.o: backup/lynxit.h $(UCON64_STD_H) +backup/mccl.o: backup/mccl.h $(UCON64_STD_H) +backup/mcd.o: backup/mcd.h $(UCON64_STD_H) +backup/md-pro.o: backup/md-pro.h backup/tototek.h $(UCON64_STD_H) +backup/mgd.o: backup/mgd.h $(UCON64_STD_H) +backup/msg.o: backup/msg.h backup/ffe.h $(UCON64_STD_H) +backup/pce-pro.o: backup/pce-pro.h backup/tototek.h $(UCON64_STD_H) +backup/pl.o: backup/pl.h $(UCON64_STD_H) +backup/psxpblib.o: backup/psxpblib.h $(UCON64_STD_H) +backup/sflash.o: backup/sflash.h backup/tototek.h $(UCON64_STD_H) +backup/smc.o: backup/smc.h backup/ffe.h $(UCON64_STD_H) +backup/smd.o: backup/smd.h backup/ffe.h $(UCON64_STD_H) +backup/smsgg-pro.o: backup/smsgg-pro.h backup/tototek.h $(UCON64_STD_H) +backup/swc.o: backup/swc.h backup/ffe.h console/snes.h $(UCON64_STD_H) +backup/tototek.o: backup/tototek.h $(UCON64_STD_H) +backup/ufo.o: backup/ufo.h $(UCON64_STD_H) +backup/yoko.o: backup/yoko.h $(UCON64_STD_H) +backup/z64.o: backup/z64.h $(UCON64_STD_H) +patch/aps.o: patch/aps.h $(UCON64_STD_H) +patch/bsl.o: patch/bsl.h $(UCON64_STD_H) +patch/gg.o: patch/gg.h $(UCON64_STD_H) +patch/ips.o: patch/ips.h $(UCON64_STD_H) +patch/pal4u.o: patch/pal4u.h $(UCON64_STD_H) +patch/ppf.o: patch/ppf.h $(UCON64_STD_H) +patch/xps.o: patch/xps.h $(UCON64_STD_H) diff --git a/tools/ucon64-2.0.0-src/src/Makefile.orig b/tools/ucon64-2.0.0-src/src/Makefile.orig new file mode 100644 index 0000000..ccb1e17 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/Makefile.orig @@ -0,0 +1,380 @@ +.PHONY: all clean distclean install uninstall + +DLOPEN=1 +#USE_ZLIB=1 +USE_DISCMAGE=1 +#USE_USB=1 +USE_LIBCD64=1 + +CC=gcc +CFLAGS=-I. -Wall -W -O3 -DHAVE_CONFIG_H +LDFLAGS=-s +TARGETS= + +ifdef USE_DISCMAGE +LIBNAME_DM=discmage +endif + +# The test for Cygwin should be done before the test for DJGPP, because the +# environment variable DJGPP can be set under Bash for people who have +# installed both GCC (and friends) ports. + +GCC_WIN=0 +# test cygwin before DJGPP; OSTYPE is not exported on Cygwin +ifeq ($(TERM),cygwin) +GCC_WIN=1 +endif +# test msys before DJGPP; MSYS, MinGW's POSIX build environment +ifeq ($(OSTYPE),msys) +GCC_WIN=1 +endif + +ifeq ($(GCC_WIN),1) + +ifdef USE_DISCMAGE +FULLLIBNAME_DM=$(LIBNAME_DM).dll +ifndef DLOPEN +LDFLAGS+=libdiscmage/$(LIBNAME_DM).a +endif +endif + +else +ifdef DJGPP + +ifdef USE_DISCMAGE +FULLLIBNAME_DM=$(LIBNAME_DM).dxe +ifndef DLOPEN +LDFLAGS+=libdiscmage/$(LIBNAME_DM).a +endif +endif + +else # Unix, BeOS or Mac OS X (Darwin) + +ifeq ($(findstring openbsd,$(OSTYPE)),openbsd) # for example "openbsd3.4" +# i386_iopl() is located in libi386.a +LDFLAGS+= +endif + +ifdef USE_DISCMAGE +ifeq ($(findstring darwin,$(OSTYPE)),darwin) # for example "darwin7.0" +FULLLIBNAME_DM=$(LIBNAME_DM).dylib +else +FULLLIBNAME_DM=$(LIBNAME_DM).so +endif +endif + +ifdef DLOPEN + +ifneq ($(OSTYPE),beos) +ifeq ($(findstring freebsd,$(OSTYPE)),) # false if OSTYPE contains "freebsd" +ifeq ($(findstring openbsd,$(OSTYPE)),) # false if OSTYPE contains "openbsd" +LDFLAGS+=-ldl +endif +endif +endif + +else # DLOPEN +ifdef USE_DISCMAGE # GNU specific: "simply expanded variable" +FULLLIBNAME_DM:=$(addprefix lib,$(FULLLIBNAME_DM)) +LDFLAGS+=-Llibdiscmage -l$(LIBNAME_DM) +endif + +endif + +endif # DJGPP +endif # GCC_WIN + +TARGETS+=libdiscmage/$(FULLLIBNAME_DM) + + +ifdef USE_LIBCD64 +LDFLAGS+=backup/libcd64/libcd64.a +TARGETS+=backup/libcd64/libcd64.a +endif + + +OBJECTS=ucon64.o ucon64_dat.o ucon64_misc.o ucon64_opts.o \ + misc/chksum.o misc/file.o misc/getopt.o misc/getopt2.o \ + misc/misc.o misc/parallel.o misc/property.o misc/string.o \ + patch/aps.o patch/bsl.o patch/gg.o patch/ips.o patch/pal4u.o \ + patch/ppf.o patch/xps.o \ + console/dc.o console/gb.o console/gba.o console/genesis.o \ + console/jaguar.o console/lynx.o console/n64.o console/neogeo.o \ + console/nes.o console/ngp.o console/pce.o console/psx.o console/sms.o \ + console/snes.o console/swan.o \ + backup/cd64.o backup/cmc.o backup/dex.o backup/doctor64.o \ + backup/doctor64jr.o backup/f2a.o backup/fal.o backup/ffe.o \ + backup/fig.o backup/gbx.o backup/gd.o backup/interceptor.o \ + backup/lynxit.o backup/mccl.o backup/mcd.o backup/md-pro.o \ + backup/mgd.o backup/msg.o backup/pce-pro.o backup/pl.o \ + backup/psxpblib.o backup/sflash.o backup/smc.o backup/smd.o \ + backup/smsgg-pro.o backup/ssc.o backup/swc.o backup/tototek.o \ + backup/ufo.o backup/yoko.o backup/z64.o +ifdef USE_ZLIB +LDFLAGS+=-lz +OBJECTS+=misc/archive.o misc/map.o misc/unzip.o +endif +ifdef USE_USB +LDFLAGS+=-lusb +OBJECTS+=misc/usb.o +endif + +ifdef DLOPEN +OBJECTS+=misc/dlopen.o +ifndef USE_ZLIB +ifeq ($(GCC_WIN),1) +else +ifdef DJGPP # DJGPP code in dlopen needs map code +OBJECTS+=misc/map.o +endif # DJGPP +endif # GCC_WIN +endif # USE_ZLIB +else +ifeq ($(GCC_WIN),1) # Cygwin/MinGW code in ucon64_misc needs dlopen code +OBJECTS+=misc/dlopen.o +endif # GCC_WIN +endif # DLOPEN + + +TARGET=ucon64 +ifeq ($(GCC_WIN),1) +TARGET:=$(addsuffix .exe,$(TARGET)) # adding .exe avoids "problems" with Cygwin/MinGW +else +ifdef DJGPP # OSTYPE is not defined by default under DOS +TARGET:=$(addsuffix .exe,$(TARGET)) +endif # DJGPP +endif # GCC_WIN +TARGETS+=$(TARGET) + +all: $(TARGETS) + + +CLEAN_CMD=rm -f $(TARGET) $(OBJECTS) *.core *.stackdump *~ */*~ */*/*~; \ +cd libdiscmage && $(MAKE) clean; \ +cd ../backup/libcd64 && $(MAKE) clean + +clean: +ifeq ($(GCC_WIN),1) + $(CLEAN_CMD) +else +ifdef DJGPP + del *.o + del patch\*.o + del console\*.o + del backup\*.o + del misc\*.o + del $(TARGET) + cd libdiscmage + $(MAKE) clean + cd ../backup/libcd64 + $(MAKE) clean + cd ../.. +else # Unix, BeOS or Mac OS X (Darwin) + $(CLEAN_CMD) +endif # DJGPP +endif # GCC_WIN + + +DISTCLEAN_CMD=rm -f Makefile config.log config.status config.cache config.h; \ +cd libdiscmage && $(MAKE) distclean; \ +cd ../backup/libcd64 && $(MAKE) clean +# libcd64 Makefile has no distclean target + +distclean: clean +ifeq ($(GCC_WIN),1) + $(DISTCLEAN_CMD) +else +ifdef DJGPP + del Makefile + del config.log + del config.status + del config.cache + del config.h + cd libdiscmage + $(MAKE) distclean + cd ../backup/libcd64 + $(MAKE) clean + cd ../.. +else + $(DISTCLEAN_CMD) +endif # DJGPP +endif # GCC_WIN + + +.c.o: + $(CC) $(CFLAGS) -c $< -o $@ + +backup/cd64.o: backup/cd64.c + $(CC) $(CFLAGS) -Ibackup/libcd64 -c $< -o $@ + + +ifdef USE_DISCMAGE +libdiscmage/$(FULLLIBNAME_DM): +ifeq ($(GCC_WIN),1) + cd libdiscmage && $(MAKE) +else +ifdef DJGPP + cd libdiscmage + $(MAKE) + cd .. +else + cd libdiscmage && $(MAKE) +endif # DJGPP +endif # GCC_WIN +endif # USE_DISCMAGE + +ifdef USE_LIBCD64 +backup/libcd64/libcd64.a: +ifeq ($(GCC_WIN),1) + cd backup/libcd64 && $(MAKE) +else +ifdef DJGPP + cd backup/libcd64 + $(MAKE) + cd ../.. +else + cd backup/libcd64 && $(MAKE) +endif # DJGPP +endif # GCC_WIN +endif # USE_DISCMAGE + +$(TARGET): $(OBJECTS) + $(CC) $(OBJECTS) $(LDFLAGS) -o $@ + + +install: +ifeq ($(TERM),cygwin) # test cygwin before DJGPP +else +ifeq ($(OSTYPE),msys) # test msys before DJGPP +else +ifdef DJGPP +else +ifeq ($(OSTYPE),beos) + ./install_beos.sh +else + ./install.sh +endif # beos +endif # DJGPP +endif # msys +endif # cygwin +ifndef DLOPEN + cd libdiscmage && $(MAKE) install +endif + + +uninstall: +ifeq ($(TERM),cygwin) # test cygwin before DJGPP +else +ifeq ($(OSTYPE),msys) # test msys before DJGPP +else +ifdef DJGPP +else +ifeq ($(OSTYPE),beos) + rm -f $(HOME)/config/bin/$(TARGET) +else + rm -f /usr/local/bin/$(TARGET) +endif # beos +endif # DJGPP +endif # msys +endif # cygwin +ifndef DLOPEN + cd libdiscmage && $(MAKE) uninstall +endif + + +# Dependencies + +# Most source files include these +UCON64_STD_H=ucon64.h ucon64_misc.h misc/misc.h config.h ucon64_defines.h + +misc/archive.o: misc/archive.h misc/map.h config.h +misc/chksum.o: misc/chksum.h config.h +misc/dlopen.o: misc/dlopen.h misc/dxedll_pub.h config.h +misc/getopt.o: misc/getopt.h +misc/map.o: misc/map.h config.h +misc/misc.o: misc/misc.h misc/archive.h config.h +misc/parallel.o: misc/parallel.h config.h +misc/usb.o: misc/usb.h config.h +misc/unzip.o: misc/unzip.h config.h +ucon64.o: misc/dlopen.h misc/getopt.h ucon64_dat.h ucon64_opts.h \ + console/dc.h console/gb.h console/gba.h console/genesis.h \ + console/jaguar.h console/lynx.h console/n64.h console/neogeo.h \ + console/nes.h console/ngp.h console/pce.h console/psx.h console/sms.h \ + console/snes.h console/swan.h \ + backup/cd64.h backup/dex.h backup/doctor64.h backup/doctor64jr.h \ + backup/f2a.h backup/fal.h backup/ffe.h backup/fig.h backup/gbx.h \ + backup/gd.h backup/interceptor.h backup/lynxit.h backup/mccl.h \ + backup/mcd.h backup/md-pro.h backup/mgd.h backup/msg.h \ + backup/pce-pro.h backup/pl.h backup/smc.h backup/smd.h \ + backup/smsgg-pro.h backup/ssc.h backup/swc.h backup/tototek.h \ + backup/ufo.h backup/yoko.h backup/z64.h \ + patch/aps.h patch/bsl.h patch/gg.h patch/ips.h patch/pal4u.h \ + patch/ppf.h patch/xps.h $(UCON64_STD_H) +ucon64_dat.o: ucon64_dat.h $(UCON64_STD_H) +ucon64_misc.o: misc/dlopen.h $(UCON64_STD_H) +ucon64_opts.o: misc/dlopen.h misc/getopt.h ucon64_dat.h ucon64_opts.h \ + console/dc.h console/gb.h console/gba.h console/genesis.h \ + console/jaguar.h console/lynx.h console/n64.h console/neogeo.h \ + console/nes.h console/ngp.h console/pce.h console/psx.h \ + console/sms.h console/snes.h console/swan.h \ + backup/cd64.h backup/dex.h backup/doctor64.h \ + backup/doctor64jr.h backup/f2a.h backup/fal.h backup/ffe.h \ + backup/fig.h backup/gbx.h backup/gd.h backup/interceptor.h \ + backup/lynxit.h backup/mccl.h backup/mcd.h backup/md-pro.h \ + backup/mgd.h backup/msg.h backup/pce-pro.h backup/pl.h \ + backup/smc.h backup/smd.h backup/smsgg-pro.h backup/ssc.h \ + backup/swc.h backup/tototek.h backup/ufo.h backup/yoko.h \ + backup/z64.h \ + patch/aps.h patch/bsl.h patch/gg.h patch/ips.h patch/pal4u.h \ + patch/ppf.h patch/xps.h $(UCON64_STD_H) +console/dc.o: console/dc.h $(UCON64_STD_H) +console/gb.o: console/gb.h backup/mgd.h $(UCON64_STD_H) +console/gba.o: console/gba.h $(UCON64_STD_H) +console/genesis.o: console/genesis.h backup/smd.h backup/mgd.h $(UCON64_STD_H) +console/jaguar.o: console/jaguar.h $(UCON64_STD_H) +console/lynx.o: console/lynx.h $(UCON64_STD_H) +console/n64.o: console/n64.h $(UCON64_STD_H) +console/neogeo.o: console/neogeo.h $(UCON64_STD_H) +console/nes.o: console/nes.h $(UCON64_STD_H) +console/ngp.o: console/ngp.h $(UCON64_STD_H) +console/pce.o: console/pce.h backup/mgd.h $(UCON64_STD_H) +console/psx.o: console/psx.h $(UCON64_STD_H) +console/sms.o: console/sms.h backup/smd.h backup/mgd.h $(UCON64_STD_H) +console/snes.o: console/snes.h backup/mgd.h $(UCON64_STD_H) +console/swan.o: console/swan.h $(UCON64_STD_H) +backup/cd64.o: backup/cd64.h $(UCON64_STD_H) +backup/cmc.o: backup/cmc.h $(UCON64_STD_H) +backup/dex.o: backup/dex.h backup/psxpblib.h $(UCON64_STD_H) +backup/doctor64.o: backup/doctor64.h $(UCON64_STD_H) +backup/doctor64jr.o: backup/doctor64jr.h $(UCON64_STD_H) +backup/f2a.o: backup/f2a.h $(UCON64_STD_H) +backup/fal.o: backup/fal.h backup/cartlib.c $(UCON64_STD_H) +backup/ffe.o: backup/ffe.h $(UCON64_STD_H) +backup/fig.o: backup/fig.h console/snes.h $(UCON64_STD_H) +backup/gd.o: backup/gd.h console/snes.h $(UCON64_STD_H) +backup/gbx.o: backup/gbx.h $(UCON64_STD_H) +backup/lynxit.o: backup/lynxit.h $(UCON64_STD_H) +backup/mccl.o: backup/mccl.h $(UCON64_STD_H) +backup/mcd.o: backup/mcd.h $(UCON64_STD_H) +backup/md-pro.o: backup/md-pro.h backup/tototek.h $(UCON64_STD_H) +backup/mgd.o: backup/mgd.h $(UCON64_STD_H) +backup/msg.o: backup/msg.h backup/ffe.h $(UCON64_STD_H) +backup/pce-pro.o: backup/pce-pro.h backup/tototek.h $(UCON64_STD_H) +backup/pl.o: backup/pl.h $(UCON64_STD_H) +backup/psxpblib.o: backup/psxpblib.h $(UCON64_STD_H) +backup/sflash.o: backup/sflash.h backup/tototek.h $(UCON64_STD_H) +backup/smc.o: backup/smc.h backup/ffe.h $(UCON64_STD_H) +backup/smd.o: backup/smd.h backup/ffe.h $(UCON64_STD_H) +backup/smsgg-pro.o: backup/smsgg-pro.h backup/tototek.h $(UCON64_STD_H) +backup/swc.o: backup/swc.h backup/ffe.h console/snes.h $(UCON64_STD_H) +backup/tototek.o: backup/tototek.h $(UCON64_STD_H) +backup/ufo.o: backup/ufo.h $(UCON64_STD_H) +backup/yoko.o: backup/yoko.h $(UCON64_STD_H) +backup/z64.o: backup/z64.h $(UCON64_STD_H) +patch/aps.o: patch/aps.h $(UCON64_STD_H) +patch/bsl.o: patch/bsl.h $(UCON64_STD_H) +patch/gg.o: patch/gg.h $(UCON64_STD_H) +patch/ips.o: patch/ips.h $(UCON64_STD_H) +patch/pal4u.o: patch/pal4u.h $(UCON64_STD_H) +patch/ppf.o: patch/ppf.h $(UCON64_STD_H) +patch/xps.o: patch/xps.h $(UCON64_STD_H) diff --git a/tools/ucon64-2.0.0-src/src/Makefile.vc6 b/tools/ucon64-2.0.0-src/src/Makefile.vc6 new file mode 100644 index 0000000..3c794c5 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/Makefile.vc6 @@ -0,0 +1,223 @@ +DLOPEN=1 +#USE_ZLIB=1 +USE_DISCMAGE=1 +#USE_USB=1 +USE_LIBCD64=1 + +CC=cl.exe +CFLAGS=/nologo /I. /W3 /O2 /DHAVE_CONFIG_H +LDFLAGS=/NOLOGO setargv.obj +TARGETS= + +!ifdef USE_DISCMAGE +LIBNAME_DM=discmage +!endif + +!ifdef USE_DISCMAGE +FULLLIBNAME_DM=$(LIBNAME_DM).dll +!ifndef DLOPEN +LDFLAGS=$(LDFLAGS) libdiscmage/$(LIBNAME_DM).lib +!endif +!endif + +TARGETS=$(TARGETS) libdiscmage/$(FULLLIBNAME_DM) + + +!ifdef USE_LIBCD64 +LDFLAGS=$(LDFLAGS) backup/libcd64/cd64.lib +TARGETS=$(TARGETS) backup/libcd64/cd64.lib +!endif + + +OBJECTS=ucon64.obj ucon64_dat.obj ucon64_misc.obj ucon64_opts.obj \ + misc/chksum.obj misc/file.obj misc/getopt.obj misc/getopt2.obj \ + misc/misc.obj misc/parallel.obj misc/property.obj misc/string.obj \ + misc/dlopen.obj \ + patch/aps.obj patch/bsl.obj patch/gg.obj patch/ips.obj \ + patch/pal4u.obj patch/ppf.obj patch/xps.obj \ + console/dc.obj console/gb.obj console/gba.obj console/genesis.obj \ + console/jaguar.obj console/lynx.obj console/n64.obj \ + console/neogeo.obj console/nes.obj console/ngp.obj console/pce.obj \ + console/psx.obj console/sms.obj console/snes.obj console/swan.obj \ + backup/cd64.obj backup/cmc.obj backup/dex.obj backup/doctor64.obj \ + backup/doctor64jr.obj backup/f2a.obj backup/fal.obj backup/ffe.obj \ + backup/fig.obj backup/gbx.obj backup/gd.obj backup/interceptor.obj \ + backup/lynxit.obj backup/mccl.obj backup/mcd.obj backup/md-pro.obj \ + backup/mgd.obj backup/msg.obj backup/pce-pro.obj backup/pl.obj \ + backup/psxpblib.obj backup/sflash.obj backup/smc.obj backup/smd.obj \ + backup/smsgg-pro.obj backup/ssc.obj backup/swc.obj backup/tototek.obj \ + backup/ufo.obj backup/yoko.obj backup/z64.obj +!ifdef USE_ZLIB +LDFLAGS=$(LDFLAGS) zlib.lib +OBJECTS=$(OBJECTS) misc/map.obj misc/archive.obj misc/unzip.obj +!endif +!ifdef USE_USB +LDFLAGS=$(LDFLAGS) usb.lib +OBJECTS=$(OBJECTS) misc/usb.obj +!endif + + +TARGET=ucon64.exe +TARGETS=$(TARGETS) $(TARGET) + +all: $(TARGETS) + + +clean: + del *.obj + del patch\*.obj + del console\*.obj + del backup\*.obj + del misc\*.obj + del $(TARGET) + cd libdiscmage + $(MAKE) /NOLOGO /f Makefile.vc6 clean + cd ..\backup\libcd64 + $(MAKE) /NOLOGO /f Makefile.vc6 clean + cd ..\.. + + +distclean: clean + del config.h + cd libdiscmage + $(MAKE) /NOLOGO /f Makefile.vc6 distclean + cd ..\backup\libcd64 +# libcd64 Makefile has no distclean target + $(MAKE) /NOLOGO /f Makefile.vc6 clean + cd ..\.. + + +.c.obj: + $(CC) $(CFLAGS) /c $< /Fo$@ + +backup/cd64.obj: + $(CC) $(CFLAGS) /Ibackup/libcd64 /c $*.c /Fo$@ + + +!ifdef USE_DISCMAGE +libdiscmage/$(FULLLIBNAME_DM): + cd libdiscmage + $(MAKE) /NOLOGO /f Makefile.vc6 + cd .. +!endif + +!ifdef USE_LIBCD64 +backup/libcd64/cd64.lib: + cd backup/libcd64 + $(MAKE) /NOLOGO /f Makefile.vc6 + cd ../.. +!endif + + +$(TARGET): $(OBJECTS) + link.exe $(OBJECTS) $(LDFLAGS) /OUT:$@ + + +install: + cd libdiscmage + $(MAKE) /NOLOGO /f Makefile.vc6 install + cd .. + + +uninstall: + cd libdiscmage + $(MAKE) /NOLOGO /f Makefile.vc6 uninstall + cd .. + + +# Dependencies + +# Most source files include these +UCON64_STD_H=ucon64.h ucon64_misc.h misc/misc.h config.h ucon64_defines.h + +misc/archive.obj: misc/archive.h misc/map.h config.h +misc/chk.obj: misc/chksum.h config.h +misc/dlopen.obj: misc/dlopen.h misc/dxedll_pub.h config.h +misc/getopt.obj: misc/getopt.h +misc/map.obj: misc/map.h config.h +misc/misc.obj: misc/misc.h misc/archive.h config.h +misc/parallel.obj: misc/parallel.h config.h +misc/usb.obj: misc/usb.h config.h +misc/unzip.obj: misc/unzip.h config.h +ucon64.obj: misc/dlopen.h misc/getopt.h ucon64_dat.h ucon64_opts.h \ + console/dc.h console/gb.h console/gba.h console/genesis.h \ + console/jaguar.h console/lynx.h console/n64.h console/neogeo.h \ + console/nes.h console/ngp.h console/pce.h console/psx.h \ + console/sms.h console/snes.h console/swan.h \ + backup/cd64.h backup/dex.h backup/doctor64.h backup/doctor64jr.h \ + backup/f2a.h backup/fal.h backup/ffe.h backup/fig.h backup/gbx.h \ + backup/gd.h backup/interceptor.h backup/lynxit.h backup/mccl.h \ + backup/mcd.h backup/md-pro.h backup/mgd.h backup/msg.h \ + backup/pce-pro.h backup/pl.h backup/smc.h backup/smd.h \ + backup/smsgg-pro.h backup/ssc.h backup/swc.h backup/tototek.h \ + backup/ufo.h backup/yoko.h backup/z64.h \ + patch/aps.h patch/bsl.h patch/gg.h patch/ips.h patch/pal4u.h \ + patch/ppf.h patch/xps.h $(UCON64_STD_H) +ucon64_dat.obj: ucon64_dat.h $(UCON64_STD_H) +ucon64_misc.obj: misc/dlopen.h $(UCON64_STD_H) +ucon64_opts.obj: misc/dlopen.h misc/getopt.h ucon64_dat.h ucon64_opts.h \ + console/dc.h console/gb.h console/gba.h console/genesis.h \ + console/jaguar.h console/lynx.h console/n64.h \ + console/neogeo.h console/nes.h console/ngp.h console/pce.h \ + console/psx.h console/sms.h console/snes.h console/swan.h \ + backup/cd64.h backup/dex.h backup/doctor64.h \ + backup/doctor64jr.h backup/f2a.h backup/fal.h backup/ffe.h \ + backup/fig.h backup/gbx.h backup/gd.h backup/interceptor.h \ + backup/lynxit.h backup/mccl.h backup/mcd.h backup/md-pro.h \ + backup/mgd.h backup/msg.h backup/pce-pro.h backup/pl.h \ + backup/smc.h backup/smd.h backup/smsgg-pro.h backup/ssc.h \ + backup/swc.h backup/tototek.h backup/ufo.h backup/yoko.h \ + backup/z64.h \ + patch/aps.h patch/bsl.h patch/gg.h patch/ips.h patch/pal4u.h \ + patch/ppf.h patch/xps.h $(UCON64_STD_H) +console/dc.obj: console/dc.h $(UCON64_STD_H) +console/gb.obj: console/gb.h backup/mgd.h $(UCON64_STD_H) +console/gba.obj: console/gba.h $(UCON64_STD_H) +console/genesis.obj: console/genesis.h backup/smd.h backup/mgd.h $(UCON64_STD_H) +console/jaguar.obj: console/jaguar.h $(UCON64_STD_H) +console/lynx.obj: console/lynx.h $(UCON64_STD_H) +console/n64.obj: console/n64.h $(UCON64_STD_H) +console/neogeo.obj: console/neogeo.h $(UCON64_STD_H) +console/nes.obj: console/nes.h $(UCON64_STD_H) +console/ngp.obj: console/ngp.h $(UCON64_STD_H) +console/pce.obj: console/pce.h backup/mgd.h $(UCON64_STD_H) +console/psx.obj: console/psx.h $(UCON64_STD_H) +console/sms.obj: console/sms.h backup/smd.h backup/mgd.h $(UCON64_STD_H) +console/snes.obj: console/snes.h backup/mgd.h $(UCON64_STD_H) +console/swan.obj: console/swan.h $(UCON64_STD_H) +backup/cd64.obj: backup/cd64.h $(UCON64_STD_H) +backup/cmc.obj: backup/cmc.h $(UCON64_STD_H) +backup/dex.obj: backup/dex.h backup/psxpblib.h $(UCON64_STD_H) +backup/doctor64.obj: backup/doctor64.h $(UCON64_STD_H) +backup/doctor64jr.obj: backup/doctor64jr.h $(UCON64_STD_H) +backup/f2a.obj: backup/f2a.h $(UCON64_STD_H) +backup/fal.obj: backup/fal.h backup/cartlib.c $(UCON64_STD_H) +backup/ffe.obj: backup/ffe.h $(UCON64_STD_H) +backup/fig.obj: backup/fig.h console/snes.h $(UCON64_STD_H) +backup/gd.obj: backup/gd.h console/snes.h $(UCON64_STD_H) +backup/gbx.obj: backup/gbx.h $(UCON64_STD_H) +backup/lynxit.obj: backup/lynxit.h $(UCON64_STD_H) +backup/mcd.obj: backup/mcd.h $(UCON64_STD_H) +backup/mccl.obj: backup/mccl.h $(UCON64_STD_H) +backup/md-pro.obj: backup/md-pro.h backup/tototek.h $(UCON64_STD_H) +backup/mgd.obj: backup/mgd.h $(UCON64_STD_H) +backup/msg.obj: backup/msg.h backup/ffe.h $(UCON64_STD_H) +backup/pce-pro.obj: backup/pce-pro.h backup/tototek.h $(UCON64_STD_H) +backup/pl.obj: backup/pl.h $(UCON64_STD_H) +backup/psxpblib.obj: backup/psxpblib.h $(UCON64_STD_H) +backup/sflash.obj: backup/sflash.h backup/tototek.h $(UCON64_STD_H) +backup/smc.obj: backup/smc.h backup/ffe.h $(UCON64_STD_H) +backup/smd.obj: backup/smd.h backup/ffe.h $(UCON64_STD_H) +backup/smsgg-pro.obj: backup/smsgg-pro.h backup/tototek.h $(UCON64_STD_H) +backup/swc.obj: backup/swc.h backup/ffe.h console/snes.h $(UCON64_STD_H) +backup/tototek.obj: backup/tototek.h $(UCON64_STD_H) +backup/ufo.obj: backup/ufo.h $(UCON64_STD_H) +backup/yoko.obj: backup/yoko.h $(UCON64_STD_H) +backup/z64.obj: backup/z64.h $(UCON64_STD_H) +patch/aps.obj: patch/aps.h $(UCON64_STD_H) +patch/bsl.obj: patch/bsl.h $(UCON64_STD_H) +patch/gg.obj: patch/gg.h $(UCON64_STD_H) +patch/ips.obj: patch/ips.h $(UCON64_STD_H) +patch/pal4u.obj: patch/pal4u.h $(UCON64_STD_H) +patch/ppf.obj: patch/ppf.h $(UCON64_STD_H) +patch/xps.obj: patch/xps.h $(UCON64_STD_H) diff --git a/tools/ucon64-2.0.0-src/src/backup/NTSC-PAL notes.txt b/tools/ucon64-2.0.0-src/src/backup/NTSC-PAL notes.txt new file mode 100644 index 0000000..a1e5521 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/NTSC-PAL notes.txt @@ -0,0 +1,118 @@ +Legend for Code1: +0 = seems to work without modification +1 = needs crack (uCON64 option -k) +2 = needs NTSC/PAL fix (uCON64 option -f) +3 = needs backup unit header fix +4 = seems to work, but doesn't work correctly +5 = music doesn't work +6 = copy protection screen +7 = wrong television standard (NTSC/PAL) screen +8 = corrupted/distorted graphics +9 = doesn't work + + +Legend for Code2: +N1 = 3f 21 29/89 10 f0 3f 21 29/89 10 80 +N2 = ad 3f 21 29 10 d0 ad 3f 21 29 10 ea ea +P3 = ad 3f 21 89 10 d0 ad 3f 21 89 10 80 - Terranigma +N4 = ad 3f 21 89 10 d0 ad 3f 21 89 10 80/(ea ea) - Live A Live +N5 = 3f 21 29/89 10 00 f0 3f 21 29/89 10 00 80 - Clock Tower +N6 = 3f 21 29/89 10 00 d0 3f 21 29/89 10 00 ea ea - Mario no Super Picross +P7 = ad 3f 21 29 10 00 d0 ad 3f 21 29 10 00 80 +P8 = ad 3f 21 89 10 00 d0 a9 10 00 89 10 00 d0 - Eric Cantona Football ? +N9 = 3f 21 89 10 c2 XX f0 3f 21 89 10 c2 XX 80 - Front Mission - Gun Hazard +N10 = 3f 21 89 10 c2 XX d0 3f 21 89 10 c2 XX ea ea - Robotrek +N11 = 3f 21 29/89 10 c9 10 f0 3f 21 29/89 10 c9 10 80 +N12 = ad 3f 21 29 10 c9 00 f0 ad 3f 21 29 10 c9 00 80/(ea ea) <= original uCON used 80 +N13 = ad 3f 21 29 10 c9 00 d0 ad 3f 21 29 10 c9 00 80 +N14 = ad 3f 21 29 10 c9 10 d0 ad 3f 21 29 10 c9 10 ea ea +P15 = ad 3f 21 29 10 cf bd ff XX f0 ad 3f 21 29 10 cf bd ff XX 80 - Pop'n Twinbee E +N16 = 3f 21 29 10 cf XX YY 80 f0 3f 21 29 10 cf XX YY 80 80 - Gokujyou Parodius/Tokimeki Memorial +N17 = ad 3f 21 8d XX YY 29 10 8d ad 3f 21 8d XX YY 29 00 8d - Dragon Ball Z - Super Butoden 2 ? +N18 = 3f 21 00 29/89 10 f0 3f 21 00 29/89 10 80 - Kirby's Dream Course U +P19 = af 3f 21 00 29 10 d0 af 3f 21 00 29 10 80 +N20 = af 3f 21 00 29/89 10 d0 af 3f 21 00 29/89 10 ea ea - Kirby no Kirakira Kids/Final Fight Guy +P21 = af 3f 21 00 29 10 00 d0 af 3f 21 00 29 10 00 ea ea +N22 = af 3f 21 00 29/89 10 00 f0 af 3f 21 00 29/89 10 00 80 +P23 = af 3f 21 00 29 XX c9 XX f0 af 3f 21 00 29 XX c9 XX 80 - Secret of Mana E +N24 = af 3f 21 00 29 XX c9 XX f0 af 3f 21 00 29 XX c9 XX 80 - Seiken Densetsu 3 +N25 = af 3f 21 00 29 10 80 2d 00 1b af 3f 21 00 29 00 80 2d 00 1b - Seiken Densetsu 2/Secret of Mana U +N26 = 3f 21 00 89 10 c2 XX f0 3f 21 00 89 10 c2 XX 80 - Dragon - The Bruce Lee Story U +N27 = af 3f 21 00 XX YY 29 10 00 d0 af 3f 21 00 XX YY 29 10 00 ea ea - Fatal Fury Special ? +N28 = 3f 21 c2 XX 29 10 00 f0 3f 21 c2 XX 29 10 00 80 - Metal Warriors +N29 = 3f 21 c2 XX 29 10 00 d0 3f 21 c2 XX 29 10 00 ea ea - Dual Orb II +N30 = af 3f 21 ea 89 10 00 d0 a9 00 00 ea 89 10 00 d0 - Super Famista 3 ? +P31 = a2 18 01 bd 27 20 89 10 00 f0 01 a2 18 01 bd 27 20 89 10 00 ea ea - Donkey Kong Country E +N32 = a2 18 01 bd 27 20 89 10 00 d0 01 a2 18 01 bd 27 20 89 10 00 ea ea - Donkey Kong Country U +N33 = 29 10 00 a2 00 00 c9 10 00 d0 29 10 00 a2 00 00 c9 10 00 80 - Wolfenstein 3D U + + +Comment: +Code1 is valid for an SWC 2.8cc 32 Mbit PAL. For example Terranigma has a Code1 +of 0, but a Code2 of P3, because it runs without modification on a PAL SNES but +needs an NTSC/PAL fix for an NTSC SNES. +The prefix N indicates an NTSC protection code, the prefix P indicates a PAL +protection code. Cracking or fixing an NTSC protection code makes a game run +on a PAL SNES and vice versa. + + +Code1 Code2 Game +2 N5 Clock Tower (J) <= 0x29 +1 + 2 N1 Demon's Crest (U) <= (0xad) 0x29 +1 + 2 + 4 N6 Donkey Kong Country 2 - Diddy's Kong Quest (U) (V1.1) <= can't get past the first level; 0x29 +1 P31 Donkey Kong Country (E) (V1.0) +1 P31 Donkey Kong Country (E) (V1.1) +1 + 2 N32 Donkey Kong Country (U) (V1.0) +1 + 2 N32 Donkey Kong Country (U) (V1.1) +2 N26 Dragon - The Bruce Lee Story (U) +2 N4 Dr. Mario (J) (NP) <= 0xea 0xea +2 N29 Dual Orb II (J) +1 + 2 N18 Earthbound (U) <= 0x29 +2 + 3 N1 Final Fight 3 (U) <= emulation mode select byte: 0x1c; (0xad) 0x29 +2 N20 Final Fight Guy (U) <= 0x89 +2 + 3 N1 Final Fight Tough (J) <= emulation mode select byte: 0x1c; (0xad) 0x29 +1 + 2 N9 Front Mission - Gun Hazard (J) <= modification protection; code 0 for NTSC SNES; 0x20 +2 N16 Gokujou Parodius (J) <= 0xad 0xff +2 N1 Illusion of Gaia (U) <= (0xad) 0x89 +2 + 9 N16 Jikkyou Oshaberi Parodius (J) <= 0xad 0xff +2 N1 Joe & Mac 2 - Lost in the Tropics (U) (35468) <= (0xad) 0x29 +2 N1 Joe & Mac 2 - Lost in the Tropics (U) (54227) <= (0xad) 0x29 +2 + 9 N5 Kaite Tukutte Asoberu Dezaemon (J) <= 0x89 +2 N20 Kirby no Kirakira Kids (J) (NP) <= 0x29 +1 + 2 N18 Kirby's Dream Course (U) <= 0x29 +2 N4 Live A Live (J) <= 0xea 0xea +2 N28 Magical Pop'n (J) +1 + 2 N6 Mario no Super Picross (J) <= 0x89 +2 N1 Mega Man's Soccer (U) <= (0xad) 0x89 +2 N1 Mega Man VII (U) <= (0xad) 0x29 +2 + 9 N1 Mega Man X 2 (U) <= the intro can be viewed; (0xad) 0x89 +1 + 2 N1 Mega Man X (U) (V1.0) <= (0xad) 0x89 +1 + 2 N1 Mega Man X (U) (V1.1) <= (0xad) 0x89 +2 N28 Metal Warriors (U) +2 + 3 N1 + N2 Mickey to Donald Magical Adventure 3 (J) <= emulation mode select byte: 0x1c; (0xad) 0x29 +2 N2 Ninja Gaiden Trilogy (U) +0 P15 Pop'n Twinbee (E) <= 0x80 +0 P15 Pop'n Twinbee - Rainbow Bell Adventures (E) <= 0x00 +2 N10 Robotrek (U) <= 0x20 +2 N18 Romancing Sa-Ga 2 (J) <= 0x89 +2 N18 Romancing Sa-Ga 3 (J) (V1.0) <= 0x89 +2 N18 Romancing Sa-Ga 3 (J) (V1.1) <= 0x89 +2 N25 Secret of Mana (U) +0 P23 Secret of Mana (E) (V1.0) <= 0x10 0x10 +0 P23 Secret of Mana (E) (V1.1) <= 0x10 0x10 +2 N25 Seiken Densetsu 2 (J) +2 N24 Seiken Densetsu 3 (J) <= 0x10 0x00 +2 N1 Street Fighter II Turbo (U) <= (0xad) 0x29 +1 + 2 N1 Super Mario All-Stars (U) <= (0xad) 0x89 +1 + 2 N1 Super Mario All-Stars & World (U) <= (0xad) 0x89 +1 + 2 N1 Super Mario Collection (J) (V1.1) <= (0xad) 0x89 +1 + 2 N1 Super Metroid (JU) <= (0xad) 0x89 +0 P3 Terranigma (E) +1 P3 Tetris Attack (E) +1 + 2 N1 Tetris Attack (U) <= (0xad) 0x89 +2 + 8 + 9 N16 Tokimeki Memorial - Densetsu no Ki no Shita de (J) (V1.1) <= the game halts after a while; 0xad 0xff +2 N33 Wolfenstein 3D (U) +2 N1 Yoshi's Safari (U) <= I don't have a Super Scope...; (0xad) 0x29 +2 N2 Ys V - Expert (J) + +EOF diff --git a/tools/ucon64-2.0.0-src/src/backup/SWC-compatibility.txt b/tools/ucon64-2.0.0-src/src/backup/SWC-compatibility.txt new file mode 100644 index 0000000..5662973 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/SWC-compatibility.txt @@ -0,0 +1,419 @@ +A Super Wild Card compatibility list +Version: 1.27 +Author: dbjh "of uCON64" with great help from CL "of NSRT" and The Dumper +Date: 30 November 2003 +Hardware: Super Wild Card 2.8cc 32 Mbit PAL +Software: uCON64 1.9.8-3 + + +Legend: +0 = seems to work without modification +1 = needs crack (uCON64 option -k) +2 = needs NTSC/PAL fix (uCON64 option -f) +3 = needs backup unit header fix +4 = seems to work, but doesn't work correctly +5 = music doesn't work +6 = copy protection screen +7 = wrong television standard (NTSC/PAL) screen +8 = corrupted/distorted graphics +9 = doesn't work + + +Comment: +I use the word seems, because I have tested most games only for a few minutes +or so. Even for games that I played from the beginning till the end I can't be +sure if they run as they do from a cartridge. +Of course I tried to crack or fix the games that displayed a copy protection +screen. The games that have that code can't be cracked with uCON64. +Non-playing music seems to be a BS-specific problem. +For some games I put an extra comment after the character sequence "<=". In +some comments I mention the so-called emulation mode select byte. This is the +byte at offset 2 in the header. You can check the value of the emulation mode +select byte by passing the command line option -dbuh to uCON64. You can change +it with a hex(adecimal) editor or by using the uCON64 option -poke (new in +version 1.9.8beta8). For example, to change the emulation mode select byte for +Mickey to Donald Magical Adventure 3 (J).swc you would type: + ucon64 -poke=2:1c "Mickey to Donald Magical Adventure 3 (J).swc" +I have sent all games to the Super Wild Card via a parallel cable. Note that +for LoROM games that don't use SRAM uCON64 adjusts the emulation mode select +byte before sending the game. This causes that some games don't have code 3, +because uCON64 already makes the required modification. For example, if Addams +Family Values is loaded from diskette the emulation mode select byte should +have the value 0x2c instead of the value 0x0c (before the file is split). +For games marked with an asterisk uCON64 1.9.8-3 is required (or an updated +version of snescopy.txt and/or snesntsc.txt/snespal.txt). + + +Code Game +0 - 7th Saga, The (U) +0 - AAAHH!!! Real Monsters (U) +8 + 9 - Ace wo Nerae! (J) <= it does work with Super Mario Kart (E) plugged in +0 - ActRaiser 2 (E) +4 - ActRaiser 2 (U) <= level(s?) (Industen) can't be entered +0 - ActRaiser (U) +0 - Addams Family, The (E) +0 - Addams Family, The - Pugsley's Scavenger Hunt (Beta) +0 - Addams Family, The - Pugsley's Scavenger Hunt (E) +0 - Addams Family Values (E) +0 - Adventures of Batman & Robin, The (E) +0 - Aladdin (E) +0 - Alcahest (J) +0 - Alfred Chicken (E) (4285) +0 - Alfred Chicken (E) (6937) +0 - Alfred Chicken (U) +0 - Alien 3 (E) +0 - Alien vs. Predator (U) +0 - Another World (E) +0 - Arabian Nights - Sabaku no Seirei Ou (J) +0 - Arcade's Greatest Hits (E) +0 - Axelay (E) +0 - Bahamut Lagoon (J) +0 - Bastard!! Ankoku no Hakai-shin (J) +0 - Batman Returns (E) +0 - Batman Returns (J) +3 - Batman - Revenge of the Joker (U) <= emulation mode select byte: 0x0c +0 - Battletoads & Double Dragon - The Ultimate Team (U) +0 - Battletoads in Battlemaniacs (U) (26454) +0 - Beauty and the Beast (E) +0 - Bishoujo Senshi Sailor Moon (J) +0 - Brawl Brothers (U) +1 - Breath of Fire II (E) +0 - Breath of Fire (U) +9 - BS Bandai Satellaview-X BIOS +0 - BS Chrono Trigger - Character Library (J) +0 - BS Chrono Trigger - Jet Bike Special (J) +0 - BS Chrono Trigger - Music Library (J) +8 - BS Dan Dan Belt Conveyor Ukulele no Maki (J) (NG-Dump Known) +0 - BS Dr. Mario (J) +0 - BS Dynami Tracer (J) +0 - BS F-Zero Grand Prix 2 (J) +0 - BS Koi ha Balance - Battle of Lovers (J) +5 - BS Mario Collection 3 (J) +8 - BS Pokekame Magajin (J) +9 - BS Radical Dreamers (J) [f1] <= with the translation patch it does work +9 - BS Radical Dreamers (J) <= idem +0 - BS Super Earth Defense Force (J) +0 - BS Super Famicom Wars (J) [h1] +0 - BS Super Famicom Wars (J) +5 - BS Super Mario USA 4 (J) +8 - BS Treasure Conflix (J) +0 - BS Wai Wai Check 3-7th (J) +0 - BS Wario no Mori (J) +0 - BS Yoshi no Panepon (J) +0 - BS Zelda no Densetsu - Kamigami no Triforce (J) +9 - BS Zelda no Densetsu Kodai no Sekiban Dai 1 Hanashi (J) +9 - BS Zelda no Densetsu Kodai no Sekiban Dai 3 Hanashi (J) +1 - BS Zelda no Densetsu Remix (J) +0 - BS Zootto Mahjong! Event Version (J) +0 - Bubsy II (U) +0 - Bubsy in Claws Encounters of the Furred Kind (E) +0 - Castlevania - Vampire's Kiss (E) +0 - Choh Makai-Mura (J) +0 - Choplifter III (U) (30545) +0 - Chou Jikuu Yousai Macross - Scrambled Valkyrie (J) +0 - Chrono Trigger - Kurono Toriga (J) +0 - Chrono Trigger (U) +0 - Chuck Rock (U) +0 - Clay Fighter 2 - Judgment Clay (E) +0 - Clay Fighter (E) +7 - Clay Fighter (U) +2 - Clock Tower (J) +0 - Contra III - The Alien Wars (U) +0 - Cybernator (U) +0 - Daffy Duck - The Marvin Missions (U) +7 - Dai-3-Ji Super Robot Taisen (J) +9 - Daikaijuu Monogatari 2 (J) <= works on an SWC DX2 64 Mbit PAL +0 - Darius Twin (E) +0 - Darius Twin (U) +1 + 2 - Demon's Crest (U) +0 - Der Langrisser (J) (V1.1) +0 - Desert Strike - Return to the Gulf (U) +9 - Dirt Trax FX (E) +0 - Donald Duck Mahou no Boushi (J) +1 - Donkey Kong Country 2 - Diddy's Kong Quest (E) +1+2+4 - Donkey Kong Country 2 - Diddy's Kong Quest (U) (V1.1) <= can't get past the first level +1 - Donkey Kong Country 3 - Dixie Kong's Double Trouble (E) +0 - Donkey Kong Country - Competition Cartridge (U) +1 - Donkey Kong Country (E) (V1.0) +1 - Donkey Kong Country (E) (V1.1) +1 + 2 - Donkey Kong Country (U) (V1.0) +1 + 2 - Donkey Kong Country (U) (V1.1) +9 - Doom (U) +0 - Doraemon - Nobita to Yosei no Kuni (J) +0 - Dragon Quest I & II (J) +0 - Dragon Quest III (J) +0 - Dragon Quest VI (J) +0 - Dragon Quest V (J) +0 - Dragon's Lair (Beta) +0 - Dragon's Lair (E) +0 - Dragon - The Bruce Lee Story (E) [a1] +2 - Dragon - The Bruce Lee Story (U) +2 - Dr. Mario (J) (NP) +2 - Dual Orb II (J) +1 + 2 - Earthbound (U) +0 - Earthworm Jim 2 (U) +0 - Earthworm Jim (U) +0 - Eek! The Cat (E) +0 - E.V.O. Search For Eden (U) +0 - F-1 Grand Prix (J) +8 + 9 - F1 ROC II - Race of Champions (U) <= course is not visible +0 - Final Fantasy III (U) (V1.0) +0 - Final Fantasy III (U) (V1.1) +0 - Final Fantasy II (U) (V1.0) +0 - Final Fantasy IV (J) +0 - Final Fantasy - Mystic Quest (U) (V1.0) +0 - Final Fantasy VI (J) +0 - Final Fantasy V (J) +0 - Final Fight 2 (E) +2 + 3 - Final Fight 3 (U) <= emulation mode select byte: 0x1c +2 - Final Fight Guy (U) +2 + 3 - Final Fight Tough (J) <= emulation mode select byte: 0x1c +0 - Final Fight (U) +0 - Flashback (E) (M2) +0 - Frogger (U) +1*+2* - Front Mission - Gun Hazard (J) <= modification protection; code 0 for NTSC SNES +0 - Front Mission (J) (V1.0) +0 - F-Zero (E) +0 - Ganbare Goemon - Yuki hime Kyuushuutsu emaki (J) (V1.2) +0 - Ganpuru - Gunman's Proof (J) +2 - Gokujou Parodius (J) +0 - Goof Troop (E) +0 - Gradius III (U) +0 - Harvest Moon (U) +9 - Hayazashi Nidan Morita Shogi 2 (J) <= halts on "TRANSMIT WAIT" +0 - Hebereke's Popoitto (E) +9 - Hoshi no Kirby 3 (J) +2 - Illusion of Gaia (U) +0 - Illusion of Time (E) +0 - International Superstar Soccer Deluxe (E) +0 - International Superstar Soccer (E) +0 - Itchy & Scratchy Game, The (E) <= was 8 + 9!? +2 + 9 Jikkyou Oshaberi Parodius (J) +2 - Joe & Mac 2 - Lost in the Tropics (U) (35468) +2 - Joe & Mac 2 - Lost in the Tropics (U) (54227) +0 - Joe & Mac - Caveman Ninja (E) +0 - Joe & Mac (U) +0 - J.R.R. Tolkien's The Lord of the Rings - Volume 1 (U) +0 - Juutei Senki (J) +2 + 9 - Kaite Tukutte Asoberu Dezaemon (J) +0 - Kiki KaiKai - Nazo no Kuro Manto (J) +1 - Killer Instinct (E) +2 - Kirby no Kirakira Kids (J) (NP) +1 - Kirby's Dream Course (E) +1 + 2 - Kirby's Dream Course (U) +9 - Kirby's Dream Land 3 (U) +9 - Kirby's Fun Pak (E) +0 - Kirby's Ghost Trap (E) +0 - Krusty's Super Fun House (U) (V1.1) +0 - Legend of The Mystical Ninja, The (E) +0 - Legend of Zelda, The - A Link to the Past (E) +0 - Legend of Zelda, The - A Link to the Past (U) +0 - Lemmings (E) +2 - Live A Live (J) +0 - Lost Vikings II, The (E) +0 - Lost Vikings, The (U) +1 - Lufia II - Rise of the Sinistrals (H) +1 - Lufia II - Rise of the Sinistrals (U) +0 - Lufia & The Fortress of Doom (U) +0 - Magical Drop (J) +2 - Magical Pop'n (J) +0 - Magical Quest Starring Mickey Mouse, The (Beta) +0 - Magical Quest Starring Mickey Mouse, The (E) +0 - Magical Quest Starring Mickey Mouse, The (U) +1 + 2 - Mario no Super Picross (J) +0 - Mario Paint (E) <= I don't have a SNES mouse... +0 - Mario & Wario (J) <= idem +9 - Masou Kishin - Super Robot Taisen Gaiden - The Lord of Elemental (J) +2 - Mega Man's Soccer (U) +2 - Mega Man VII (U) +9 - Mega Man X 2 (E) <= the intro can be viewed +2 + 9 - Mega Man X 2 (U) <= idem +8 + 9 - Mega Man X 3 (U) <= game can be started, but sprites are not visible +1 - Mega Man X (E) +1 + 2 - Mega Man X (U) (V1.0) +1 + 2 - Mega Man X (U) (V1.1) +8 + 9 - Metal Combat - Falcon's Revenge (U) <= sprites are not visible +2 - Metal Warriors (U) +2 + 3 - Mickey to Donald Magical Adventure 3 (J) <= emulation mode select byte: 0x1c +0 - Micro Machines 2 - Turbo Tournament (E) +0 - Micro Machines (U) +9 - Momotarou Dentetsu Happy (J) <= halts on "SPC7110 check program v3.0" +0 - Mortal Kombat 3 (E) +0 - Mortal Kombat (Beta) +0 - Mortal Kombat (E) +0 - Mortal Kombat II (E) (V1.0) +0 - Mortal Kombat II (U) (V1.1) +0 - NBA Jam (Beta) +0 - NBA Jam (E) (V1.0) +2 - Ninja Gaiden Trilogy (U) +0 - Ogre Battle - The March of the Black Queen (U) +0 - Out of This World (U) +0 - Parodius Da! Shinwa kara Owarai he (J) +0 - Parodius - Non-Sense Fantasy (E) +0 - Phalanx - The Enforce Fighter A-144 (E) +9 - Pilotwings (E) <= black screen as soon as the real flying begins +9 - Pilotwings (U) <= with the DSP patch it does work with Super Mario Kart (E) +0 - Pitfall - The Mayan Adventure (Beta) +0 - Pitfall - The Mayan Adventure (E) +0 - Pocky & Rocky 2 (U) (54250) +0 - Pocky & Rocky (E) +0 - Pop'n Twinbee (E) +0 - Pop'n Twinbee - Rainbow Bell Adventures (E) +0 - Primal Rage (E) +0 - Primal Rage (U) (With Sound Test) +0 - Prince of Persia 2 - The Shadow & The Flame (E) +0 - Prince of Persia (E) +0 - Prince of Persia (J) +0 - Push-Over (E) +0 - Puzzle Bobble (E) +0 - Ranma Nibun no Ichi - Akanekodan no Hihou (J) +0 - Ranma Nibun no Ichi - Hard Battle (U) +2 - Robotrek (U) +0 - Rockman & Forte (J) +0 - Rock N' Roll Racing (E) +0 - Romance of the Three Kingdoms IV - Wall of Fire (U) +2 - Romancing Sa-Ga 2 (J) +2 - Romancing Sa-Ga 3 (J) (V1.0) +2 - Romancing Sa-Ga 3 (J) (V1.1) +0 - Romancing Sa-Ga (J) (V1.0) +0 - RPG Tsukuru 2 (J) +0 - R-Type III - The Third Lightning (E) (21451) +0 - Rudra no Hihou (J) +0 - Sanrio World Smash Ball! (J) +0 - Secret of Evermore (U) +0 - Secret of Mana (E) (V1.0) +0 - Secret of Mana (E) (V1.1) +2 - Secret of Mana (U) +2 - Seiken Densetsu 2 (J) +0 - Seiken Densetsu 3 (J) (Sample) +2 - Seiken Densetsu 3 (J) +0 - Shadowrun (E) +0 - Shin Megami Tensei (J) (V1.0) +0 - Sim Ant (U) (37113) +0 - Sim City (E) +0 - Sim City (U) +0 - Simpsons, The - Bart's Nightmare (U) +0 - Smash Tennis (E) +0 - Smurfs, The (E) +0 - Soldiers of Fortune (U) +0 - Sonic the Hedgehog (Unl) [p1][h1] +0 - Soul Blazer (U) +0 - Spider-Man and the X-Men in Arcade's Revenge (E) +9 - Star Fox 2 (Beta) +9 - Star Fox 2 (Beta TD) +9 - Star Fox Super Weekend Competition (U) +9 - Star Fox (U) (V1.0) +9 - Star Fox (U) (V1.2) +9 - Star Ocean (J) +9 - StarWing (E) (V1.0) +9 - StarWing (E) (V1.1) +9 - Street Fighter Alpha 2 (E) [b1] +9 - Street Fighter Alpha 2 (E) +9 - Street Fighter Alpha 2 (U) +0 - Street Fighter II Champ. Edition (Hack) +0 - Street Fighter II - The World Warrior (E) +0 - Street Fighter II - The World Warrior (U) +0 - Street Fighter II Turbo (E) (V1.1) +2 - Street Fighter II Turbo (U) +9 - Street Fighter Zero 2 (J) +0 - Street Racer (Beta) +0 - Street Racer (E) +0 - Strike Gunner (E) +9 - Stunt Race FX (E) +0 - Sunset Riders (E) +0 - Super Adventure Island II (U) +0 - Super Adventure Island (U) +0 - Super Aleste (E) +0 - Super Aleste (J) +0 - Super Aleste (J) [t1] +0 - Super Battletank - War in the Gulf (U) (V1.0) +0 - Super Bomberman 2 (E) +0 - Super Bomberman 3 (E) +0 - Super Bomberman 4 (J) +0 - Super Bomberman 5 (J) +0 - Super Bomberman (E) +0 - Super Castlevania IV (E) +0 - Super Earth Defense Force (E) +0 - Super Famicom Wars (J) (NP) +0 - Super Ghouls 'N Ghosts (E) +1 - Super Mario All-Stars (E) +1 + 2 - Super Mario All-Stars (U) +1 - Super Mario All-Stars & World (E) +1 + 2 - Super Mario All-Stars & World (U) +1 + 2 - Super Mario Collection (J) (V1.1) +9 - Super Mario Kart (E) <= it does work with Super Mario Kart (E) plugged in +9 - Super Mario Kart (U) <= idem +9 - Super Mario RPG (J) (V1.0) +9 - Super Mario RPG (J) (V1.1) (NG-Dump Known) +9 - Super Mario RPG - Legend of the Seven Stars (U) +9 - Super Mario World 2 - Yoshi's Island (E) (V1.0) +0 - Super Mario World (E) (V1.1) +0 - Super Mario World (U) +1 - Super Metroid (E) +1 + 2 - Super Metroid (JU) +0 - Super NES Super Scope 6 (U) <= I don't have a Super Scope... +0 - Super Off Road (U) +0 - Super Power League 3 (J) +9 - Super Power League 4 (J) <= halts on "SPC7110 check program v3.0" +0 - Super Probotector - The Alien Rebels (E) +0 - Super Punch-Out!! (U) +0 - Super Puyo Puyo (J) (V1.2) +0 - Super R-Type (E) +0 - Super R-Type (U) +0 - Super Smash T.V. (E) +0 - Super Smash T.V. (U) +0 - Super Star Wars (E) +0 - Super Star Wars - Return of the Jedi (E) +0 - Super Star Wars - The Empire Strikes Back (Beta) +0 - Super Star Wars - The Empire Strikes Back (E) +0 - Super Star Wars - The Empire Strikes Back (U) (V1.1) +0 - Super Star Wars (U) (31438) +0 - Super Street Fighter II - The New Challengers (E) +0 - Super Tennis (E) (V1.0) +0 - Super Turrican (E) +0 - Syndicate (E) +0 - T2 - The Arcade Game (U) +0 - Tactics Ogre - Let Us Cling Together (J) (V1.2) +9 - Tales of Phantasia (J) <= works on an SWC DX2 64 Mbit PAL +0 - Teenage Mutant Hero Turtles IV - Turtles in Time (E) +0 - Teenage Mutant Hero Turtles - Tournament Fighters (E) +0 - Teenage Mutant Ninja Turtles IV - Turtles in Time (A) +0 - Teenage Mutant Ninja Turtles IV - Turtles in Time (Beta) +0 - Teenage Mutant Ninja Turtles - Turtles in Time (J) +0 - Tenchi Muyou! Game Hen (J) +9 - Tengai Makyou Zero (J) +9 - Tengai Makyou Zero - Shounen Jump no Sho (J) +0 - Terranigma (E) +0 - Terranigma (S) +0 - Test Drive II - The Duel (U) (20429) +1 - Tetris Attack (E) +1 + 2 - Tetris Attack (U) +0 - Theme Park (E) +0 - Thoroughbred Breeder III (J) +0 - Tiny Toon Adventures - Buster Busts Loose! (E) +2+8+9 - Tokimeki Memorial - Densetsu no Ki no Shita de (J) (V1.1) <= the game halts after a while +0 - Tom & Jerry (U) +0 - Top Racer (J) +0 - Treasure Hunter G (J) +0 - Ultimate Mortal Kombat 3 (U) +0 - Ultima VII - The Black Gate (Beta) +0 - Ultima VII - The Black Gate (U) +1 - Uniracers (U) +1 - Unirally (E) +0 - U.N. Squadron (E) +9 - Vortex (E) +0 - Wario's Woods (U) +0 - Wolfenstein 3D (E) +2 - Wolfenstein 3D (U) +0 - Wolverine - Adamantium Rage (U) +0 - Worms (E) +0 - WWF Super Wrestlemania (E) +9 - X-Band Modem BIOS (U) +0 - X-Men - Mutant Apocalypse (E) +2 - Yoshi's Safari (U) <= I don't have a Super Scope... +2 - Ys V - Expert (J) +2 - Yuu Yuu Hakusho - Tokubetsuhen (J) +0 - Zelda no Densetsu - Kamigami no Triforce (J) (V1.0) +0 - Zombies (E) + +EOF diff --git a/tools/ucon64-2.0.0-src/src/backup/backup.h b/tools/ucon64-2.0.0-src/src/backup/backup.h new file mode 100644 index 0000000..f997bab --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/backup.h @@ -0,0 +1,62 @@ +/* +backup.h - single header file for all backup unit functions + +Copyright (c) 2003 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef BACKUP_H +#define BACKUP_H +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#ifdef USE_PARALLEL +#include "cd64.h" +#include "cmc.h" +#include "dex.h" +#include "doctor64.h" +#include "doctor64jr.h" +#include "fal.h" +//#include "ffe.h" +#include "fig.h" +#include "gbx.h" +#include "gd.h" +#include "interceptor.h" +#include "lynxit.h" +#include "mccl.h" +#include "mcd.h" +#include "md-pro.h" +#include "mgd.h" +#include "msg.h" +#include "pce-pro.h" +#include "pl.h" +//#include "psxpblib.h" +#include "sflash.h" +#include "smc.h" +#include "smd.h" +#include "smsgg-pro.h" +#include "ssc.h" +#include "swc.h" +#include "ufo.h" +#include "yoko.h" +#include "z64.h" +#endif // USE_PARALLEL +#if defined USE_PARALLEL || defined USE_USB +#include "f2a.h" +#endif + +#endif // BACKUP_H diff --git a/tools/ucon64-2.0.0-src/src/backup/cartlib.c b/tools/ucon64-2.0.0-src/src/backup/cartlib.c new file mode 100644 index 0000000..848ecc9 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/cartlib.c @@ -0,0 +1,768 @@ +/* +cartlib.c - Flash Linker Advance support for uCON64 + +Copyright (c) 2001 Jeff Frohwein +Copyright (c) 2002 - 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + + +#ifdef USE_PARALLEL + +// *** GBA flash cart support routines in GCC *** +// This library allows programming FA/Visoly (both Turbo +// and non-Turbo) and official Nintendo flash carts. They +// can be used with the Flash Linker or can be called +// from GBA code to allow in-system flash cart programming. +// NOTE: ALL OF THESE ROUTINES MUST BE LOCATED IN GBA RAM +// IF THIS LIBRARY IS USED FOR IN-SYSTEM PROGRAMMING. +// +// by Jeff Frohwein, Started 2001-Aug-29 +// +// v1.0 - 2001-Sept-25 - Original release +// v1.1 - 2001-Nov-13 - Slightly modified SetVisolyBackupRWMode by removing >>1. +// +// Routines - +// +// void SetFAFlashRWMode (void) +// +// Used to enable modifications of FA/Visoly cart flash chip(s) +// and also used for CartTypeDetect routine. YOU MUST CALL THIS +// ROUTINE BEFORE USING ANY OF THE OTHER FA/VISOLY ROUTINES. +// +// u8 CartTypeDetect (void) +// Return a value indicating type of cart installed: +// 0x00 = Hudson Cart, 0x2e = Standard ROM +// 0xe2 = N Flash Cart, 0xff = Unknown +// 0x17 = FA 64M, 0x96 = Turbo FA 64M +// 0x18 = FA 128M, 0x97 = Turbo FA 128M +// +// u32 EraseNintendoFlashBlocks (u32 StartAddr, u32 BlockCount) +// +// Erase official Nintendo flash cart blocks. +// Ex: EraseNintendoFlashBlocks (0x8000000, 1); // erase block 1 +// EraseNintendoFlashBlocks (0x8010000, 2); // erase blocks 2 & 3 +// +// u32 EraseNonTurboFABlocks (u32 StartAddr, u32 BlockCount) +// +// Erase older (non-Turbo) Visoly flash cart blocks. +// Ex: EraseNonTurboFABlocks (0x8000000, 1); // erase block 1 +// EraseNonTurboFABlocks (0x8020000, 2); // erase blocks 2 & 3 +// +// u32 EraseTurboFABlocks (u32 StartAddr, u32 BlockCount) +// +// Erase newer (Turbo) Visoly flash cart blocks. +// Ex: EraseTurboFABlocks (0x8000000, 1); // erase block 1 +// EraseTurboFABlocks (0x8040000, 2); // erase blocks 2 & 3 +// +// u32 WriteNintendoFlashCart (u32 SrcAddr, u32 FlashAddr, u32 Length) +// +// Write 2 x Length bytes to official Nintendo flash cart. +// Ex: WriteNintendoFlashCart (SrcAddr, 0x8000000, 2) // write 4 bytes +// +// u32 WriteNonTurboFACart (u32 SrcAddr, u32 FlashAddr, u32 Length) +// +// Write 32 x Length bytes to older (non-Turbo) Visoly flash cart. +// Ex: WriteNonTurboFACart (SrcAddr, 0x8000000, 2) // write 64 bytes +// +// u32 WriteTurboFACart (u32 SrcAddr, u32 FlashAddr, u32 Length) +// +// Write 64 x Length bytes to newer (Turbo) Visoly flash cart. +// Ex: WriteTurboFACart (SrcAddr, 0x8000000, 2) // write 128 bytes +// +// To reduce the library size and remove support for any +// of the following types, comment out one or more of +// the following lines using // +#define NONTURBO_FA_SUPPORT 1 // Visoly Non-Turbo flash carts +#define TURBO_FA_SUPPORT 1 // Visoly Turbo flash carts +#define NOA_FLASH_CART_SUPPORT 1 // Official Nintendo flash carts +//#define SET_CL_SECTION 1 // Enable setting code section for cartlib + +// +// +// + +#ifdef TURBO_FA_SUPPORT +#define COMMON_FA_SUPPORT 1 +#endif +#ifdef NONTURBO_FA_SUPPORT +#define COMMON_FA_SUPPORT 1 +#endif + +#ifdef FLINKER + // FLinker programming defines +#define _MEM_INC 1 +#define FP_TIMEOUT1 0x4000 +#define FP_TIMEOUT2 0x8000 +#define FP_TIMEOUT3 0x80000 +#define _CART_START 0 +#define FLINKER_SET l40226c () +#define READ_NTURBO_SR(a,b) WriteFlash (a, INTEL28F_READSR); \ + outpb (SPPCtrlPort, 0); \ + b = (PPReadWord() & 0xff) +#define READ_NTURBO_S(a) outpb (SPPCtrlPort, 0); \ + a = (PPReadWord() & 0xff) +#define READ_TURBO_SR(a) WriteFlash (0, INTEL28F_READSR); \ + PPWriteWord (INTEL28F_READSR); \ + outpb (SPPCtrlPort, 0); \ + a = PPReadWord() & 0xff; \ + a += (PPReadWord() & 0xff) << 8 +#define READ_TURBO_S(a) outpb (SPPCtrlPort, 0); \ + a = PPReadWord() & 0xff; \ + a += (PPReadWord() & 0xff) << 8 +#define READ_TURBO_S2(a,b,c) outpb (SPPCtrlPort, 0); \ + b = PPReadWord () & 0x80; \ + c = PPReadWord () & 0x80 +#define WRITE_FLASH_NEXT(a,b) PPWriteWord (b) +#define SET_CART_ADDR(a) SetCartAddr (a); \ + l4021d0 (3) +#define CTRL_PORT_0 outpb (SPPCtrlPort, 0) +#define CTRL_PORT_1 outpb (SPPCtrlPort, 1) + +void +WriteRepeat (int addr, int data, int count) +{ + int i; + for (i = 0; i < count; i++) + WriteFlash (addr, data); +} + +#else + // GBA in-system programming defines +#define _MEM_INC 2 +#define FP_TIMEOUT1 0x4000 // Probably could be MUCH smaller +#define FP_TIMEOUT2 0x8000 // Probably could be MUCH smaller +#define FP_TIMEOUT3 0x80000 // Probably could be MUCH smaller +#define INTEL28F_BLOCKERASE 0x20 +#define INTEL28F_CLEARSR 0x50 +#define INTEL28F_CONFIRM 0xD0 +#define INTEL28F_QUIRY 0x98 +#define INTEL28F_READARRAY 0xff +#define INTEL28F_READSR 0x70 +#define INTEL28F_RIC 0x90 +#define INTEL28F_WRTOBUF 0xe8 + +#define SHARP28F_BLOCKERASE 0x20 +#define SHARP28F_CONFIRM 0xD0 +#define SHARP28F_WORDWRITE 0x10 +#define SHARP28F_READARRAY 0xff +// typedef volatile unsigned char vu8; +// typedef volatile unsigned short int vu16; +// typedef volatile unsigned int vu32; +// typedef volatile unsigned long long int vu64; + +// typedef unsigned char u8; +// typedef unsigned short int u16; +// typedef unsigned int u32; +// typedef unsigned long long int u64; + +#define _CART_START 0x8000000 +#define _BACKUP_START 0xe000000 +#define FLINKER_SET {} +#define READ_NTURBO_SR(a,b) *(vu16 *)a = INTEL28F_READSR; \ + b = *(vu16 *)a +#define READ_NTURBO_S(a) a = *(vu16 *)_CART_START +#define READ_TURBO_SR(a) *(vu16 *)_CART_START = INTEL28F_READSR; \ + *(vu16 *)(_CART_START+2) = INTEL28F_READSR; \ + a = *(vu16 *)_CART_START & 0xff; \ + a += (*(vu16 *)(_CART_START+2) & 0xff) << 8 +#define READ_TURBO_S(a) a = *(vu16 *)_CART_START & 0xff; \ + a += (*(vu16 *)(_CART_START+2) & 0xff) << 8 +#define READ_TURBO_S2(a,b,c) b = *(vu16 *)a & 0x80; \ + c = *(vu16 *)(a+2) & 0x80 +#define WRITE_FLASH_NEXT(a,b) WriteFlash (a, b) +#define SET_CART_ADDR(a) {} +#define CTRL_PORT_0 {} +#define CTRL_PORT_1 {} +#define CL_SECTION __attribute__ ((section (".iwram"))) + +#ifdef SET_CL_SECTION + // Prototypes to allow placing routines in any section +void +WriteFlash (u32 addr, u16 data) + CL_SECTION; + u16 ReadFlash (u32 addr) CL_SECTION; + void WriteRepeat (u32 addr, u16 data, u16 count) CL_SECTION; + void VisolyModePreamble (void) CL_SECTION; + void SetVisolyFlashRWMode (void) CL_SECTION; + void SetVisolyBackupRWMode (int i) CL_SECTION; + u8 CartTypeDetect (void) CL_SECTION; + u32 EraseNintendoFlashBlocks (u32 StartAddr, u32 BlockCount) CL_SECTION; + u32 EraseNonTurboFABlocks (u32 StartAddr, u32 BlockCount) CL_SECTION; + u32 EraseTurboFABlocks (u32 StartAddr, u32 BlockCount) CL_SECTION; + u32 WriteNintendoFlashCart (u32 SrcAddr, u32 FlashAddr, + u32 Length) CL_SECTION; + u32 WriteNonTurboFACart (u32 SrcAddr, u32 FlashAddr, + u32 Length) CL_SECTION; + u32 WriteTurboFACart (u32 SrcAddr, u32 FlashAddr, u32 Length) CL_SECTION; +#endif + + void WriteFlash (u32 addr, u16 data) +{ + *(vu16 *) addr = data; +} + +u16 +ReadFlash (u32 addr) +{ + return (*(vu16 *) addr); +} + +void +WriteRepeat (u32 addr, u16 data, u16 count) +{ + u16 i; + for (i = 0; i < count; i++) + *(vu16 *) (_CART_START + (addr << 1)) = data; +} +#endif + +#ifdef COMMON_FA_SUPPORT +void +VisolyModePreamble (void) // 402438 +{ + FLINKER_SET; + WriteRepeat (0x987654, 0x5354, 1); + WriteRepeat (0x12345, 0x1234, 500); + WriteRepeat (0x7654, 0x5354, 1); + WriteRepeat (0x12345, 0x5354, 1); + WriteRepeat (0x12345, 0x5678, 500); + WriteRepeat (0x987654, 0x5354, 1); + WriteRepeat (0x12345, 0x5354, 1); + WriteRepeat (0x765400, 0x5678, 1); + WriteRepeat (0x13450, 0x1234, 1); + WriteRepeat (0x12345, 0xabcd, 500); + WriteRepeat (0x987654, 0x5354, 1); +} + +void +SetVisolyFlashRWMode (void) +{ + VisolyModePreamble (); + WriteRepeat (0xf12345, 0x9413, 1); +} + +void +SetVisolyBackupRWMode (int i) // 402550 +{ + VisolyModePreamble (); + WriteRepeat (0xa12345, i, 1); +} +#endif + +// Cart Type Detect +// Return a value indicating type of cart installed: +// 0xdc = Hudson Cart, 0x2e = Standard ROM Cart +// 0xe2 = N Flash Cart, 0xff = Unknown +// 0x17 = FA 64M, 0x96 = Turbo FA 64M +// 0x18 = FA 128M, 0x97 = Turbo FA 128M + +u8 +CartTypeDetect (void) +{ + u8 type = 0xff; + u16 Manuf, Device; + + WriteFlash (_CART_START, INTEL28F_RIC); // Read Identifier codes from flash. + // Works for intel 28F640J3A & Sharp LH28F320BJE. + Manuf = ReadFlash (_CART_START); + Device = ReadFlash (_CART_START + _MEM_INC); + + switch (Manuf) + { + case 0: // Hudson Cart + type = 0xdc; + break; + case 0x2e: // Standard ROM + type = (u8) Manuf; + break; + case 0x89: // Intel chips + switch (Device) + { + case 0x16: // i28F320J3A + case 0x17: // i28F640J3A + case 0x18: // i28F128J3A + type = (u8) Device; + break; + default: + // Check to see if this is a Visoly "Turbo" cart + Device = ReadFlash (_CART_START + _MEM_INC + _MEM_INC); + switch (Device) + { + case 0x16: // 2 x i28F320J3A + case 0x17: // 2 x i28F640J3A + case 0x18: // 2 x i28F128J3A + type = Device + 0x80; + break; + } + } + break; + case 0xb0: // Sharp chips + switch (Device) + { + case 0xe2: + type = (u8) Device; + break; + } + break; + } + WriteFlash (_CART_START, INTEL28F_READARRAY); // Set flash to normal read mode + return type; +} + +#ifdef NOA_FLASH_CART_SUPPORT +// Erase official Nintendo flash cart blocks +// Function returns true if erase was successful. +// Each block represents 64k bytes. + +u32 +EraseNintendoFlashBlocks (u32 StartAddr, u32 BlockCount) +{ + int i = 0; + int j, k; + time_t starttime = time (NULL); + + for (k = 0; k < (int) BlockCount; k++) + { + i = StartAddr + (k * 32768 * _MEM_INC); + + do + { + READ_NTURBO_SR (i, j); + } + while ((j & 0x80) == 0); + WriteFlash (i, SHARP28F_BLOCKERASE); // Erase a 64k byte block + WriteFlash (i, SHARP28F_CONFIRM); // Comfirm block erase + ucon64_gauge (starttime, (k + 1) * 64 * 1024, BlockCount * 64 * 1024); + } + + do + { + READ_NTURBO_SR (i, j); + } + while ((j & 0x80) == 0); + WriteFlash (i, SHARP28F_READARRAY); // Set normal read mode + return 1; +} +#endif + +#ifdef NONTURBO_FA_SUPPORT +// Erase older (non-Turbo) FA/Visoly flash cart blocks +// (Single flash chip) +// Function returns true if erase was successful. +// Each block represents 128k bytes. + +u32 +EraseNonTurboFABlocks (u32 StartAddr, u32 BlockCount) +{ + u16 k; + u16 Ready = 1; + u32 i = 0; + u32 Timeout; + time_t starttime = time (NULL); + + for (k = 0; k < BlockCount; k++) + { + i = StartAddr + (k * 65536 * _MEM_INC); + + Ready = 0; + Timeout = FP_TIMEOUT2; + + while ((Ready == 0) && (Timeout != 0)) + { + READ_NTURBO_SR (_CART_START, Ready); + Ready &= 0x80; + Timeout--; + } + + if (Ready) + { + WriteFlash (i, INTEL28F_BLOCKERASE); // Erase a 128k byte block + Ready = 0; + Timeout = FP_TIMEOUT3; + + while ((!Ready) && (Timeout != 0)) + { + READ_NTURBO_S (Ready); + Ready = (Ready == 0x80); + Timeout--; + } + + if (Ready) + { + WriteFlash (i, INTEL28F_CONFIRM); // Comfirm block erase + Ready = 0; + Timeout = FP_TIMEOUT3; + + while ((!Ready) && (Timeout != 0)) + { + READ_NTURBO_S (Ready); + Ready = (Ready == 0x80); + Timeout--; + } + + if (Ready) + { + READ_NTURBO_SR (_CART_START, Ready); + Ready = (Ready == 0x80); + + if (!Ready) + break; + } + else + break; + } + else + break; + } + else + break; + ucon64_gauge (starttime, (k + 1) * 128 * 1024, + BlockCount * 128 * 1024); + } + + if (!Ready) + { + WriteFlash (i, INTEL28F_CLEARSR); // Clear flash status register + } + + WriteFlash (i, INTEL28F_READARRAY); // Set flash to normal read mode + WriteFlash (i, INTEL28F_READARRAY); // Set flash to normal read mode + + return Ready != 0; +} +#endif + +#ifdef TURBO_FA_SUPPORT +// Erase newer (Turbo) FA/Visoly flash cart blocks +// (Dual chip / Interleave) +// Function returns true if erase was successful. +// Each block represents 256k bytes. + +u32 +EraseTurboFABlocks (u32 StartAddr, u32 BlockCount) +{ + u16 j, k; + u16 done1, done2; + u16 Ready = 1; + u32 i = 0; + u32 Timeout; + time_t starttime = time (NULL); + + for (k = 0; k < BlockCount; k++) + { + i = StartAddr + (k * 131072 * _MEM_INC); + + Ready = 0; + Timeout = FP_TIMEOUT2; + + while ((!Ready) && (Timeout != 0)) + { + READ_TURBO_SR (j); + Ready = (j == 0x8080); + Timeout--; + } + + if (Ready) + { + done1 = 0; + done2 = 0; + Ready = 0; + Timeout = FP_TIMEOUT3; + + while ((!Ready) && (Timeout != 0)) + { + if (done1 == 0) + WriteFlash (i, INTEL28F_BLOCKERASE); // Erase a 128k byte block in flash #1 + if (done2 == 0) + WriteFlash (i + _MEM_INC, INTEL28F_BLOCKERASE); // Erase a 128k byte block in flash #2 + + READ_TURBO_S2 (_CART_START, done1, done2); + Ready = ((done1 + done2) == 0x100); + + Timeout--; + } + + if (Ready) + { + WriteFlash (i, INTEL28F_CONFIRM); // Comfirm block erase in flash #1 + WriteFlash (i + _MEM_INC, INTEL28F_CONFIRM); // Comfirm block erase in flash #2 + + Ready = 0; + Timeout = FP_TIMEOUT3; + j = 0; + + while (((j & 0x8080) != 0x8080) && (Timeout != 0)) + { + READ_TURBO_S (j); + Ready = (j == 0x8080); + + Timeout--; + } + + if (!Ready) + break; + } + else + break; + } + else + break; + ucon64_gauge (starttime, (k + 1) * 256 * 1024, + BlockCount * 256 * 1024); + } + + if (!Ready) + { + WriteFlash (i, INTEL28F_CLEARSR); + WriteFlash (i + _MEM_INC, INTEL28F_CLEARSR); + } + + WriteFlash (_CART_START, INTEL28F_READARRAY); + WriteFlash (_CART_START + _MEM_INC, INTEL28F_READARRAY); + WriteFlash (_CART_START, INTEL28F_READARRAY); + WriteFlash (_CART_START + _MEM_INC, INTEL28F_READARRAY); + + return Ready != 0; +} +#endif + +#ifdef NOA_FLASH_CART_SUPPORT +// Write 2 x Length bytes to official Nintendo flash cart. +// Function returns true if write was successful. + +u32 +WriteNintendoFlashCart (u32 SrcAddr, u32 FlashAddr, u32 Length) +{ + int j; + int LoopCount = 0; + u16 *SrcAddr2 = (u16 *) +#ifdef __LP64__ + (u64) +#endif + SrcAddr; + + while (LoopCount < (int) Length) + { + do + { + READ_NTURBO_SR (FlashAddr, j); + } + while ((j & 0x80) == 0); + + WriteFlash (FlashAddr, SHARP28F_WORDWRITE); + WriteFlash (FlashAddr, *SrcAddr2); + SrcAddr2 += 2; + FlashAddr += _MEM_INC; + LoopCount++; + } + + do + { + READ_NTURBO_SR (FlashAddr, j); + } + while ((j & 0x80) == 0); + + WriteFlash (_CART_START, SHARP28F_READARRAY); +// CTRL_PORT_0; + return 1; +} +#endif + +#ifdef NONTURBO_FA_SUPPORT +// Write 32 x Length bytes to older (non-Turbo) FA/Visoly flash cart. +// Function returns true if write was successful. + +u32 +WriteNonTurboFACart (u32 SrcAddr, u32 FlashAddr, u32 Length) +{ + int Ready = 0; + int Timeout = 0; + int LoopCount = 0; + u16 *SrcAddr2 = (u16 *) +#ifdef __LP64__ + (u64) +#endif + SrcAddr; + + while (LoopCount < (int) Length) + { + Ready = 0; + Timeout = FP_TIMEOUT1; + + while ((Ready == 0) && (Timeout != 0)) + { + WriteFlash (FlashAddr, INTEL28F_WRTOBUF); + READ_NTURBO_S (Ready); + Ready &= 0x80; + + Timeout--; + } + + if (Ready) + { + int i; + + WriteFlash (FlashAddr, 15); // Write 15+1 16bit words + + SET_CART_ADDR (FlashAddr); + + for (i = 0; i < 16; i++) + { + WRITE_FLASH_NEXT (FlashAddr, *SrcAddr2); + SrcAddr2 += 2; + FlashAddr += _MEM_INC; + } + + WRITE_FLASH_NEXT (FlashAddr, INTEL28F_CONFIRM); + + Ready = 0; + Timeout = FP_TIMEOUT1; + + while ((Ready == 0) && (Timeout != 0)) + { + READ_NTURBO_SR (_CART_START, i); + Ready = i & 0x80; + + Timeout--; + } + + if (Ready) + { + if (i & 0x7f) + { + // One or more status register error bits are set + CTRL_PORT_1; + WriteFlash (0, INTEL28F_CLEARSR); + Ready = 0; + break; + } + } + else + { + CTRL_PORT_1; + WriteFlash (0, INTEL28F_CLEARSR); + break; + } + } + else + { + break; + } + + LoopCount++; + } + WriteFlash (_CART_START, INTEL28F_READARRAY); // Set flash to normal read mode + WriteFlash (_CART_START, INTEL28F_READARRAY); // Set flash to normal read mode + return Ready != 0; +} +#endif + +#ifdef TURBO_FA_SUPPORT +// Write 64 x Length bytes to newer (Turbo) FA/Visoly flash cart. +// Function returns true if write was successful. + +u32 +WriteTurboFACart (u32 SrcAddr, u32 FlashAddr, u32 Length) +{ + int i, k; + int done1, done2; + int Timeout; + int Ready = 0; + int LoopCount = 0; + u16 *SrcAddr2 = (u16 *) +#ifdef __LP64__ + (u64) +#endif + SrcAddr; + + while (LoopCount < (int) Length) + { + done1 = 0; + done2 = 0; + Ready = 0; + Timeout = 0x4000; + + while ((!Ready) && (Timeout != 0)) + { + if (done1 == 0) + WriteFlash (FlashAddr, INTEL28F_WRTOBUF); + if (done2 == 0) + WriteFlash (FlashAddr + _MEM_INC, INTEL28F_WRTOBUF); + + SET_CART_ADDR (FlashAddr); + READ_TURBO_S2 (FlashAddr, done1, done2); + + Ready = ((done1 + done2) == 0x100); + + Timeout--; + } + + if (Ready) + { + WriteFlash (FlashAddr, 15); // Write 15+1 16bit words + WRITE_FLASH_NEXT (FlashAddr + _MEM_INC, 15); // Write 15+1 16bit words + + SET_CART_ADDR (FlashAddr); + + for (i = 0; i < 32; i++) + { + WRITE_FLASH_NEXT (FlashAddr, *SrcAddr2); + SrcAddr2 += 2; + FlashAddr += _MEM_INC; + } + WRITE_FLASH_NEXT (FlashAddr, INTEL28F_CONFIRM); + WRITE_FLASH_NEXT (FlashAddr + _MEM_INC, INTEL28F_CONFIRM); + + Ready = 0; + Timeout = 0x4000; + k = 0; + + while (((k & 0x8080) != 0x8080) && (Timeout != 0)) + { + READ_TURBO_S (k); + Ready = (k == 0x8080); + + Timeout--; + } + + if (!Ready) + break; + } + else + break; + LoopCount++; + } + + WriteFlash (_CART_START, INTEL28F_READARRAY); + CTRL_PORT_0; + WriteFlash (_CART_START + _MEM_INC, INTEL28F_READARRAY); + CTRL_PORT_0; + + if (!Ready) + { + WriteFlash (_CART_START, INTEL28F_CLEARSR); + WriteFlash (_CART_START + _MEM_INC, INTEL28F_CLEARSR); + } + return Ready != 0; +} +#endif + +#endif // USE_PARALLEL diff --git a/tools/ucon64-2.0.0-src/src/backup/cd64.c b/tools/ucon64-2.0.0-src/src/backup/cd64.c new file mode 100644 index 0000000..1073d4f --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/cd64.c @@ -0,0 +1,504 @@ +/* +cd64.c - CD64 support for uCON64 + +Copyright (c) 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#include "misc/misc.h" +#include "misc/parallel.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ucon64_dat.h" +#include "ucon64_misc.h" +#include "cd64.h" + + +const st_getopt2_t cd64_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "CD64"/*"19XX UFO http://www.cd64.com"*/, + NULL + }, +#if defined USE_PARALLEL && defined USE_LIBCD64 + { + "xcd64", 0, 0, UCON64_XCD64, + NULL, "send/receive ROM to/from CD64; " OPTION_LONG_S "port=PORT\n" + "receives automatically (64 Mbits) when ROM does not exist", + &ucon64_wf[WF_OBJ_N64_DEFAULT_STOP_NO_ROM] + }, + { + "xcd64c", 1, 0, UCON64_XCD64C, + "N", "receive N Mbits of ROM from CD64; " OPTION_LONG_S "port=PORT", + &ucon64_wf[WF_OBJ_N64_STOP_NO_ROM] + }, + { + "xcd64b", 0, 0, UCON64_XCD64B, + NULL, "send boot emu to CD64; " OPTION_LONG_S "port=PORT", + &ucon64_wf[WF_OBJ_N64_DEFAULT_STOP] + }, + { + "xcd64s", 0, 0, UCON64_XCD64S, + NULL, "send/receive SRAM to/from CD64; " OPTION_LONG_S "port=PORT\n" + "receives automatically when SRAM file does not exist", + &ucon64_wf[WF_OBJ_N64_STOP_NO_ROM] + }, + { + "xcd64f", 0, 0, UCON64_XCD64F, + NULL, "send/receive flash RAM to/from CD64; " OPTION_LONG_S "port=PORT\n" + "receives automatically when flash RAM file does not exist", + &ucon64_wf[WF_OBJ_N64_STOP_NO_ROM] + }, + { + "xcd64e", 0, 0, UCON64_XCD64E, + NULL, "send/receive EEPROM data to/from CD64; " OPTION_LONG_S "port=PORT\n" + "receives automatically when EEPROM file does not exist", + &ucon64_wf[WF_OBJ_N64_STOP_NO_ROM] + }, + { + "xcd64m", 1, 0, UCON64_XCD64M, + "INDEX", "send/receive memory pack data to/from CD64; " OPTION_LONG_S "port=PORT\n" + "INDEX is ignored for CD64 BIOS protocol\n" + "receives automatically when memory pack file does not exist", + &ucon64_wf[WF_OBJ_N64_STOP_NO_ROM] + }, + { + "xcd64p", 1, 0, UCON64_XCD64P, + "PROT", "use protocol PROT when communicating with CD64; " OPTION_LONG_S "port=PORT\n" + "PROT=0 CD64 BIOS\n" + "PROT=1 Ghemor\n" + "PROT=2 UltraLink", + &ucon64_wf[WF_OBJ_N64_SWITCH] + }, +#endif // USE_PARALLEL && USE_LIBCD64 + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + + +#if defined USE_PARALLEL && defined USE_LIBCD64 + +static time_t cd64_starttime; + + +static void +cd64_progress (uint32_t current, uint32_t total) +{ + ucon64_gauge (cd64_starttime, current, total); +} + + +static int +cd64_notice_helper (FILE *file, const char *prefix, const char *format, + va_list argptr) +{ + int n_chars; + + fputs (prefix, file); + n_chars = vfprintf (file, format, argptr); + fputc ('\n', file); + fflush (file); + + return n_chars; +} + + +static int +cd64_notice (const char *format, ...) +{ + va_list argptr; + int n_chars; + + va_start (argptr, format); + n_chars = cd64_notice_helper (stdout, "NOTE (libcd64): ", format, argptr); + va_end (argptr); + + return n_chars; +} + + +static int +cd64_notice2 (const char *format, ...) +{ + va_list argptr; + int n_chars; + + va_start (argptr, format); + n_chars = cd64_notice_helper (stderr, "ERROR (libcd64): ", format, argptr); + va_end (argptr); + + return n_chars; +} + + +static int +fread_wrapper (void *io_id, void *buffer, uint32_t size) +{ + return fread (buffer, 1, size, (FILE *) io_id); +} + + +static int +fwrite_wrapper (void *io_id, void *buffer, uint32_t size) +{ + return fwrite (buffer, 1, size, (FILE *) io_id); +} + + +static int32_t +ftell_wrapper (void *io_id) +{ + return (int32_t) ftell ((FILE *) io_id); +} + + +static int +fseek_wrapper (void *io_id, int32_t offset, int whence) +{ + return fseek ((FILE *) io_id, offset, whence); +} + + +static struct cd64_t * +cd64_init (void) +{ + struct cd64_t *cd64; +#ifdef USE_PPDEV + uint16_t port = strtol (&ucon64.parport_dev[strlen (ucon64.parport_dev) - 1], NULL, 10); + method_t method = PPDEV; +#else + uint16_t port = ucon64.parport; + method_t method = RAWIO; +#endif + int is_parallel = 1; + + if ((cd64 = (struct cd64_t *) calloc (1, sizeof (struct cd64_t))) == NULL) + { + fprintf (stderr, ucon64_msg[BUFFER_ERROR], sizeof (struct cd64_t)); + exit (1); + } + +#ifndef USE_PPDEV + if (ucon64.parport == UCON64_UNKNOWN) + { + fputs ("ERROR: No port or invalid port specified\n" + "TIP: Specify one with --port or in the configuration file\n", stderr); + exit (1); + } + if (port >= 0x300 && port <= 0x330) + is_parallel = 0; +#endif + + cd64->notice_callback = cd64_notice; + cd64->notice_callback2 = cd64_notice2; + + if (!cd64_create (cd64, method, port, (protocol_t) ucon64.io_mode, is_parallel)) + { + fputs ("ERROR: Could not initialise libcd64\n", stderr); + exit (1); + } + + cd64->read_callback = fread_wrapper; // actually f*2(), if zlib + cd64->write_callback = fwrite_wrapper; // support is enabled + cd64->tell_callback = ftell_wrapper; + cd64->seek_callback = fseek_wrapper; + cd64->progress_callback = cd64_progress; + strcpy (cd64->io_driver_dir, ucon64.configdir); + + // parport_print_info() displays a reasonable message (even if we're using a + // comms link) + parport_print_info (); + + if (!cd64->devopen (cd64)) + { + fputs ("ERROR: Could not open I/O device for CD64\n", stderr); + exit (1); + } +#if defined __unix__ && !defined __MSDOS__ + drop_privileges (); +#endif + + return cd64; +} + + +int +cd64_read_rom (const char *filename, int size) +{ + FILE *file; + struct cd64_t *cd64 = cd64_init (); + + if ((file = fopen (filename, "w+b")) == NULL) // cd64_download_cart() also + { // reads from file + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + exit (1); + } + + cd64_starttime = time (NULL); + cd64_download_cart (cd64, file, size * MBIT, NULL); + + cd64->devclose (cd64); + fclose (file); + free (cd64); + + return 0; +} + + +int +cd64_write_rom (const char *filename) +{ + FILE *file; + struct cd64_t *cd64 = cd64_init (); + + if ((file = fopen (filename, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + exit (1); + } + + cd64_starttime = time (NULL); + cd64_upload_dram (cd64, file, ucon64.file_size, NULL, 1); + + cd64->devclose (cd64); + fclose (file); + free (cd64); + + return 0; +} + + +int +cd64_write_bootemu (const char *filename) +{ + FILE *file; + struct cd64_t *cd64 = cd64_init (); + + if ((file = fopen (filename, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + exit (1); + } + + cd64_starttime = time (NULL); + cd64_upload_bootemu (cd64, file, ucon64.file_size, NULL); + + cd64->devclose (cd64); + fclose (file); + free (cd64); + + return 0; +} + + +int +cd64_read_sram (const char *filename) +{ + FILE *file; + struct cd64_t *cd64 = cd64_init (); + + if ((file = fopen (filename, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + exit (1); + } + + cd64_starttime = time (NULL); + cd64_download_sram (cd64, file); + + cd64->devclose (cd64); + fclose (file); + free (cd64); + + return 0; +} + + +int +cd64_write_sram (const char *filename) +{ + FILE *file; + struct cd64_t *cd64 = cd64_init (); + + if ((file = fopen (filename, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + exit (1); + } + + cd64_starttime = time (NULL); + cd64_upload_sram (cd64, file); + + cd64->devclose (cd64); + fclose (file); + free (cd64); + + return 0; +} + + +int +cd64_read_flashram (const char *filename) +{ + FILE *file; + struct cd64_t *cd64 = cd64_init (); + + if ((file = fopen (filename, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + exit (1); + } + + cd64_starttime = time (NULL); + cd64_download_flashram (cd64, file); + + cd64->devclose (cd64); + fclose (file); + free (cd64); + + return 0; +} + + +int +cd64_write_flashram (const char *filename) +{ + FILE *file; + struct cd64_t *cd64 = cd64_init (); + + if ((file = fopen (filename, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + exit (1); + } + + cd64_starttime = time (NULL); + cd64_upload_flashram (cd64, file); + + cd64->devclose (cd64); + fclose (file); + free (cd64); + + return 0; +} + + +int +cd64_read_eeprom (const char *filename) +{ + FILE *file; + struct cd64_t *cd64 = cd64_init (); + + if ((file = fopen (filename, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + exit (1); + } + + cd64_starttime = time (NULL); + cd64_download_eeprom (cd64, file); + + cd64->devclose (cd64); + fclose (file); + free (cd64); + + return 0; +} + + +int +cd64_write_eeprom (const char *filename) +{ + FILE *file; + struct cd64_t *cd64 = cd64_init (); + + if ((file = fopen (filename, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + exit (1); + } + + cd64_starttime = time (NULL); + cd64_upload_eeprom (cd64, file); + + cd64->devclose (cd64); + fclose (file); + free (cd64); + + return 0; +} + + +int +cd64_read_mempack (const char *filename, int index) +{ + FILE *file; + struct cd64_t *cd64 = cd64_init (); + + if ((file = fopen (filename, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + exit (1); + } + + if (ucon64.io_mode == CD64BIOS) + index = -1; + cd64_starttime = time (NULL); + cd64_download_mempak (cd64, file, (int8_t) index); + + cd64->devclose (cd64); + fclose (file); + free (cd64); + + return 0; +} + + +int +cd64_write_mempack (const char *filename, int index) +{ + FILE *file; + struct cd64_t *cd64 = cd64_init (); + + if ((file = fopen (filename, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + exit (1); + } + + if (ucon64.io_mode == CD64BIOS) + index = -1; + cd64_starttime = time (NULL); + cd64_upload_mempak (cd64, file, (int8_t) index); + + cd64->devclose (cd64); + fclose (file); + free (cd64); + + return 0; +} + +#endif // USE_PARALLEL && USE_LIBCD64 diff --git a/tools/ucon64-2.0.0-src/src/backup/cd64.h b/tools/ucon64-2.0.0-src/src/backup/cd64.h new file mode 100644 index 0000000..5d90829 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/cd64.h @@ -0,0 +1,41 @@ +/* +cd64.h - CD64 support for uCON64 + +Copyright (c) 2001 NoisyB +Copyright (c) 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef CD64_H +#define CD64_H + +extern const st_getopt2_t cd64_usage[]; + +#if defined USE_PARALLEL && defined USE_LIBCD64 +extern int cd64_read_rom(const char *filename, int size); +extern int cd64_write_rom(const char *filename); +extern int cd64_write_bootemu (const char *filename); +extern int cd64_read_sram(const char *filename); +extern int cd64_write_sram(const char *filename); +extern int cd64_read_flashram(const char *filename); +extern int cd64_write_flashram(const char *filename); +extern int cd64_read_eeprom(const char *filename); +extern int cd64_write_eeprom(const char *filename); +extern int cd64_read_mempack(const char *filename, int index); +extern int cd64_write_mempack(const char *filename, int index); +#endif // USE_PARALLEL && USE_LIBCD64 + +#endif // CD64_H diff --git a/tools/ucon64-2.0.0-src/src/backup/cmc.c b/tools/ucon64-2.0.0-src/src/backup/cmc.c new file mode 100644 index 0000000..c136c31 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/cmc.c @@ -0,0 +1,985 @@ +/* +cmc.c - Cyan's Megadrive ROM copier support for uCON64 + +Copyright (c) 1999 - 2004 Cyan Helkaraxe + +Special thanks to dbjh for helping with the uCON64 integration +of this software, and providing the wrapping code. + +CMC version: 2.5 +For hardware version 1.x + +Copies Sega Megadrive/Genesis cartridges into .BIN format ROM files. + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +/* +Additional information: +This software is distributed in accordance with the GNU General +Public License. The author of the hardware design/documentation and +software, Cyan Helkaraxe, retains the copyright over the 'cmc' code +('software'), the hardware design and construction documentation itself. +Cyan grants you the rights of the GNU General Public License over +the software, as stated above. The copyright does not affect your +rights in relation to the 'cmc' code under the GNU General Public +License in any way. +Cyan Helkaraxe does NOT grant you any rights relating to the hardware +design/documentation, over and above the right to build the device for +personal, not-for-profit use. Likewise, the same applies to the ROM +copier construction documentation, available at +http://www.emulationzone.org/projects/cyan/docs/ for not-for-profit +personal use. + +Obviously, feel free to make changes to this software, but if you do so, +*please* clearly mark the fact it is modified, to avoid confusion. +A define is provided below this commented area, which should be edited +as described. This is to inform users which version of the code they are +using at runtime, and if they encounter a problem, it makes it far easier +for me to help debug it. I have no evil nefarious intentions. =P + +Obviously, your changes must adhere to the GNU GPL, and please keep the +copyright, Cyan's name, e-mail and web site address in the comments +somewhere. + +If you wish to do anything with the hardware design or the documentation +that goes beyond personal use, get in touch with Cyan first; +cyan@emulationzone.org + +Disclaimer / Warranty: +This is to emphasise, not replace, any warranty information provided in +the GNU GPL or uCON64. +There is no warranty whatsoever, for either the software or accompanying +hardware/design/documentation. This software is provided free of charge, +AS-IS, in the hope that it may be useful. +Use it at your own risk. The author does not make any guarantee that you +will be able to use this software or accompanying +hardware/design/documentation, or that it will perform smoothly. There is +a possibility that damage or loss (including but not limited to financial +loss, hardware or software damage, data corruption, privacy violation, +or personal injury, suffering, legal action, imprisonment or death) may +arise through the use of this software or the accompanying +hardware/design/documentation, in addition to many other possible outcomes. +You take sole responsibility for any outcomes; by using this software or +accompanying hardware/design/ documentation, you agree that the author will +not be held responsible for anything that may occur. If your jurisdiction +does not allow the author to be isolated from responsibility, then you +must *not* use this software or accompanying hardware/design/documentation. +The author does not condone software piracy. You may not use this software +to engage in piracy. The author is not responsible for anything you choose +to use this software for, although the author strongly recommends that you +use the software for the purpose for which it was intended to be used -- +primarily as an educational tool, and secondarily to make backup copies of +your expensive/rare game cartridges, or a similarly harmless and legal +purpose. +Note that although the author isn't aware of any patent violations caused +by this software/hardware/design/documentation, it is possible that +there may be patents covering parts of this device. It is your +responsibility to check this before building or using the hardware or +software, and Cyan may not be held responsible in the event of an +infringement. + +That being said, if you do encounter any problems with the hardware or +software, then feel free to get in touch with the author; use the subject +line 'ROM Copier Technical Support'. No promises or guarantees are made, +however. + +Also note that the author is not affiliated with anyone involved with uCON64; +therefore, only correspondence relating to this particular file (the 'cmc' +code) or the accompanying hardware design should be directed to Cyan. +If you have more general uCON64 questions, Cyan is *not* the person to ask. +Likewise, the terms "the author" and "software" in this file (cmc.c, and +additionally cmc.h), along with similar terms, apply only to Cyan, and the +CMC software you see in this file. The disclaimer above, for example, relates +exclusively to the CMC code. + +All trademarks, indicated or otherwise, are the property of their +respective owners. +*/ + +/* + NOTE! + Please edit the following line, and remove the word "original" from it + if you have made any modifications to this file. This reduces user + confusion. +*/ +#define INTRO_TEXT "Cyan's Megadrive Copier (c) 1999-2004 Cyan Helkaraxe\n" \ + "Software version 2.5 original, designed for hardware version 1.x\n\n" + + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#include "misc/bswap.h" +#include "misc/misc.h" +#include "misc/parallel.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ucon64_misc.h" +#include "cmc.h" + +#ifdef USE_PARALLEL + +#define RSLO 0x40 // reset line 1 d7 +#define RSHI 0x01 // reset line 2 d0 +#define CNLO 0x10 // counter line 1 d4 +#define CNHI 0x04 // counter line 2 d2 +#define INLO 0x40 // input 1 ack (int disabled) +#define INHI 0x10 // input 2 selectin + +#define MBYTE (1024 * 1024) +#define DEFAULT_SPEED 3 + +#ifdef _MSC_VER +// Visual C++ doesn't allow inline in C source code +#define inline __inline +#endif + + +/************************ + * Internal functions * + ************************/ + +static inline void +cyan_write_copier (unsigned char data, unsigned int parport) +// write a value to the data register of the parallel port +{ + outportb ((unsigned short) (parport + PARPORT_DATA), data); +} + + +static inline unsigned char +cyan_read_copier (unsigned int parport) +// read a value from the status register of the parallel port +{ + return inportb ((unsigned short) (parport + PARPORT_STATUS)); +} + + +static inline unsigned char +cyan_verify_copier (unsigned int parport) +// read a value back from the data register for verification +{ + return inportb ((unsigned short) (parport + PARPORT_DATA)); +} + + +/**** non-hardware, non-accessing ****/ + +static unsigned long +cyan_calculate_rom_size (unsigned char *buffer, int test_mode) +/* + Calculate the ROM size, by looking at the ROM size entry in the ROM 'header', + and the overall structure. + This function always returns a value rounded to a power of two between 128 + kbytes and 4 Mbytes. It also inspects the ROM for 0's or ffh's. If test_mode + is 1 it causes an error on that condition, frees the buffer and exits. +*/ +{ + unsigned long i = 0x80000000, reported_size; + + // look at reported size + reported_size = (buffer[0x1a4] << 24) + + (buffer[0x1a5] << 16) + + (buffer[0x1a6] << 8) + + buffer[0x1a7] + 1; + // cap + // there is a minimum valid size for ROMs, according to some sources + if (reported_size < MBIT) + reported_size = MBIT; + if (reported_size > 4 * MBYTE) + reported_size = 4 * MBYTE; + // round + if (reported_size & (reported_size - 1)) + { + while (!(reported_size & 0x80000000)) + { + i >>= 1; + reported_size = (reported_size << 1) | 1; + } + reported_size = i << 1; + } + // calculate real size + for (i = 2 * MBYTE; i >= 65536; i >>= 1) + if (memcmp (buffer, buffer + i, i)) + { + i >>= 1; + break; + } + i <<= 2; + if (reported_size < i) + reported_size = i; // pick the safest (largest) of the two + if (i == MBIT) + { + for (i = 0; i < MBIT; i++) + if ((buffer[i] != 0xff) && (buffer[i] != 0x00)) + break; + if (i == MBIT) + { + FILE *output; + + if (test_mode) + { + output = stderr; + fputs ("\nERROR: ", stderr); + } + else + { + output = stdout; + fputs ("\nWARNING: ", stdout); + } + + // "WARNING: " + fputs ( "The ROM file appears to consist of nothing but 0x00 / 0xff values.\n" + " This usually indicates a serious problem. Perhaps your parallel port\n" + " isn't configured correctly, or there is some problem with the ROM\n" + " copier. Is it getting power? Is a cartridge inserted? Is it properly\n" + " attached to the PC?\n", + output); + if (test_mode) + { + free (buffer); + exit (1); + } + } + } + return reported_size; +} + + +static int +cyan_checksum_rom (unsigned char *buffer) +// return 0 on success, -1 on failure +{ + unsigned char *buffer2 = buffer; + unsigned short reported_sum, running_sum = 0; + + reported_sum = (buffer2[0x18e] << 8) + buffer2[0x18f]; + buffer2 += ((buffer2[0x1a4] << 24) + + (buffer2[0x1a5] << 16) + + (buffer2[0x1a6] << 8) + + (buffer2[0x1a7] & 0xfe)) + 2; + if (buffer2 > buffer + 4 * MBYTE) + buffer2 = buffer + 4 * MBYTE; + buffer += 0x200; + if (buffer2 < buffer + 2) + return -1; + + while (buffer2 != buffer) + { + running_sum += *--buffer2; + running_sum += (*--buffer2) << 8; + } + + return (running_sum & 0xffff) != reported_sum ? -1 : 0; +} + + +static inline unsigned long +cyan_get_address (unsigned long b) +// return the true address (word -- 0 - 2 M) based on word input +{ + return ((b & 0x000800) >> 11) | // bit 0 + ((b & 0x002000) >> 12) | // bit 1 + ((b & 0x004000) >> 12) | // bit 2 + ((b & 0x000020) >> 2) | // bit 3 + ((b & 0x100000) >> 16) | // bit 4 + ((b & 0x020000) >> 12) | // bit 5 + ((b & 0x000400) >> 4) | // bit 6 + ((b & 0x000001) << 7) | // bit 7 + ((b & 0x000002) << 7) | // bit 8 + ((b & 0x000010) << 5) | // bit 9 + ((b & 0x000040) << 4) | // bit 10 + ((b & 0x040000) >> 7) | // bit 11 + ((b & 0x080000) >> 7) | // bit 12 + ((b & 0x000080) << 6) | // bit 13 + ((b & 0x008000) >> 1) | // bit 14 + ((b & 0x010000) >> 1) | // bit 15 + ((b & 0x001000) << 4) | // bit 16 + ((b & 0x000004) << 15) | // bit 17 + ((b & 0x000008) << 15) | // bit 18 + ((b & 0x000200) << 10) | // bit 19 + ((b & 0x000100) << 12); // bit 20 +} + + +/**** non-hardware, indirectly accessing ****/ + +static inline void +cyan_delay (int speed, unsigned int parport) +// Delays a certain amount of time depending on speed selected. 0=long delay, +// used for reset and hi counter. +{ + int i, scritch = 0; + + switch (speed) + { + case 0: + for (i = 0; i < 128; i++) + scritch += cyan_read_copier (parport); + case 1: // falling through + for (i = 0; i < 64; i++) + scritch += cyan_read_copier (parport); + case 2: // falling through + for (i = 0; i < 12; i++) + scritch += cyan_read_copier (parport); + case 3: // falling through + scritch += cyan_read_copier (parport); + scritch += cyan_read_copier (parport); + } +} + + +static void +cyan_reset (unsigned int parport) +// resets the copier +{ + cyan_delay (0, parport); + // zero all data outputs first, before going into SPP mode + cyan_write_copier (0, parport); + // reset the port to SPP, float all control lines high + cyan_write_copier (0, parport + PARPORT_CONTROL); + cyan_delay (0, parport); + cyan_write_copier (RSLO | RSHI, parport); // both reset lines hi + cyan_delay (0, parport); + cyan_write_copier (0, parport); // both reset lines lo + cyan_delay (0, parport); +} + + +static inline unsigned short +cyan_get_word (int speed, unsigned int parport) +// gets a byte pair from the ROM and return two bytes in big endian byte order +{ + unsigned short value = 0; + unsigned char tempz; + + cyan_write_copier (0, parport); + cyan_delay (speed, parport); + tempz = cyan_read_copier (parport); + value |= tempz & INLO; // bit 6 + value |= (tempz & INHI) << 8; // bit 12 + + cyan_write_copier (CNLO, parport); + cyan_delay (speed, parport); + tempz = cyan_read_copier (parport); + value |= (tempz & INLO) >> 5; // bit 1 + value |= (tempz & INHI) << 9; // bit 13 + + cyan_write_copier (0, parport); + cyan_delay (speed, parport); + tempz = cyan_read_copier (parport); + value |= (tempz & INLO) << 3; // bit 9 + value |= (tempz & INHI) << 10; // bit 14 + + cyan_write_copier (CNLO, parport); + cyan_delay (speed, parport); + tempz = cyan_read_copier (parport); + value |= (tempz & INLO) >> 1; // bit 5 + value |= (tempz & INHI) << 11; // bit 15 + + cyan_write_copier (0, parport); + cyan_delay (speed, parport); + tempz = cyan_read_copier (parport); + value |= (tempz & INLO) >> 4; // bit 2 + value |= (tempz & INHI) << 4; // bit 8 + + cyan_write_copier (CNLO, parport); + cyan_delay (speed, parport); + tempz = cyan_read_copier (parport); + value |= (tempz & INLO) << 4; // bit 10 + value |= (tempz & INHI) >> 4; // bit 0 + + cyan_write_copier (0, parport); + cyan_delay (speed, parport); + tempz = cyan_read_copier (parport); + value |= (tempz & INLO) >> 2; // bit 4 + value |= (tempz & INHI) << 3; // bit 7 + + cyan_write_copier (CNLO, parport); + cyan_delay (speed, parport); + tempz = cyan_read_copier (parport); + value |= (tempz & INLO) >> 3; // bit 3 + value |= (tempz & INHI) << 7; // bit 11 + + return me2be_16 (value); +} + + +static inline int +check_exit (void) +// check for user abort +{ + int temp; + + if (ucon64.frontend) + return 0; + if (!kbhit ()) + return 0; + temp = getch (); + if (temp == 'q' || (temp == 27)) + return 1; + return 0; +} + + +static unsigned char * +cyan_read_rom (int speed, unsigned int parport, unsigned char *buffer) +/* + Read the ROM and return a pointer to a 4 MB area of memory containing all ROM + data. Designed to be used from inside cyan_copy_rom(), although it can be + called elsewhere if a raw (but decoded) dump is required. +*/ +{ + unsigned long q; + time_t t; + + // allocate the dump area + if (!buffer) + if ((buffer = (unsigned char *) malloc (4 * MBYTE)) == NULL) + { + fprintf (stderr, ucon64_msg[ROM_BUFFER_ERROR], 4 * MBYTE); + exit (1); + } + + cyan_reset (parport); // reset the copier + + t = time (NULL); + // copy routine + for (q = 0; q < 2 * MBYTE; ) // loop through all words + { + // get a (16-bit) word from the ROM + ((unsigned short *) buffer)[cyan_get_address (q)] = cyan_get_word (speed, parport); + + // periodically update progress bar, without hammering ucon64_gauge() + if (!(q & (0xfff >> (5 - speed)))) + { + if (check_exit ()) + { + free (buffer); + puts ("\n" + "Copy aborted.\n" + "Don't forget to turn the ROM copier off and never insert or remove a cartridge\n" + "with the power on"); + break; + } + ucon64_gauge (t, q * 2, 4 * MBYTE); + } + + if (!(++q & 0x3ff)) // advance loop counter and carry to hi counter (11 bits) + { + cyan_delay (0, parport); + cyan_write_copier (CNHI, parport); + cyan_delay (0, parport); + cyan_write_copier (0, parport); + cyan_delay (0, parport); + } + } + + // make sure it's left in a state where it's safe to remove the cart + cyan_reset (parport); + + if (q != 2 * MBYTE) + return NULL; + + ucon64_gauge (t, q * 2, 4 * MBYTE); // make the progress bar reach 100% + + return buffer; +} + + +static void +cyan_test_parport (unsigned int parport) +// Test the parallel port to see if it appears to be functioning correctly, and +// terminate if there's an error. +{ + unsigned short temp; + + cyan_reset (parport); + fputs ("Basic parallel port test: ", stdout); + fflush (stdout); + cyan_write_copier (170, parport); + cyan_delay (0, parport); + temp = cyan_verify_copier (parport) & 170; + cyan_reset (parport); + + // even in unidirectional mode, the parallel port is bidirectional; at + // least, for a few short moments before the driver IC smokes + if ((cyan_verify_copier (parport) & 170) != 0 || temp != 170) + { + puts ("FAILED"); + fputs ("ERROR: Parallel port error\n" + " Check that your parallel port is configured properly, in the BIOS, OS,\n" + " and uCON64, and check for short circuits on the parallel port connector.\n" + " Also ensure that the ROM copier is getting power, and a cartridge is\n" + " inserted\n", + stderr); + exit (1); + } + else + puts ("Passed"); + + // discharge caps to see if we've got power + cyan_reset (parport); + cyan_reset (parport); + cyan_write_copier (CNLO + CNHI, parport); + cyan_delay (0, parport); + for (temp = 0; temp < 1000; temp++) + { + cyan_write_copier (0, parport); + cyan_delay (3, parport); + cyan_write_copier (CNLO + CNHI, parport); + cyan_delay (3, parport); + } + cyan_reset (parport); + cyan_reset (parport); + + fputs ("Parallel port output test: ", stdout); + fflush (stdout); + cyan_write_copier (255, parport); + cyan_delay (0, parport); + temp = (cyan_verify_copier (parport) != 255); + cyan_write_copier (0, parport); + cyan_delay (0, parport); + temp |= (cyan_verify_copier (parport) != 0); + cyan_write_copier (CNLO, parport); + cyan_delay (0, parport); + temp |= (cyan_verify_copier (parport) != CNLO); + cyan_write_copier (CNHI, parport); + cyan_delay (0, parport); + temp |= (cyan_verify_copier (parport) != CNHI); + cyan_write_copier (RSLO, parport); + cyan_delay (0, parport); + temp |= (cyan_verify_copier (parport) != RSLO); + cyan_write_copier (RSHI, parport); + cyan_delay (0, parport); + temp |= (cyan_verify_copier (parport) != RSHI); + cyan_reset (parport); + + // if it's still okay after that, then try reading the first set of inputs + // with lines high and low + if (!temp) + { + fputs ("Passed\n" + "Input crosstalk test: ", + stdout); + fflush (stdout); + temp = cyan_read_copier (parport) & (INLO | INHI); + cyan_write_copier (255 - CNLO, parport); + cyan_delay (0, parport); + temp = (temp != (cyan_read_copier (parport) & (INLO | INHI))); + cyan_reset (parport); + } + + if (temp) + { + puts ("FAILED"); + fputs ("ERROR: Parallel port error\n" + "Possible causes: ROM copier not getting power (check or replace battery)\n" + " Short circuit or bad connection (on parallel port or board)\n" + " Cartridge not inserted properly (or not inserted at all)\n" + " Parallel port not configured correctly\n" + " Orange, grey or green wire(s) soldered to the wrong locations\n" + " Chips inserted backwards\n" + "NOTE: Don't forget the ROM copier needs to be turned on before starting!\n", + stderr); + exit (1); + } + else + puts ("Passed"); +} + + +static int +cyan_test_copier (int test, int speed, unsigned int parport) +{ + unsigned char *buffer1, *buffer2 = NULL; + int count = 1; + + fputs (INTRO_TEXT, stdout); + parport_print_info (); + + switch (test) + { + // reliability test -- note: this test may be required to run for 8 hours or more + case 1: + printf ("Reliability test mode selected, speed %d\n", speed); + cyan_test_parport (parport); + puts ("\n" + "Entering non-stop reliability test mode (press escape or q to exit, and turn\n" + "ROM copier off immediately afterwards)\n" + "\n" + "Copy process will continue indefinitely until an error is encountered, at\n" + "which point the program will terminate.\n" + "A large number of passes suggests that the copier is working reliably at the\n" + "selected speed\n"); + printf (" P %2d", + count); + fflush (stdout); + if (ucon64.frontend) + fputc ('\n', stdout); + buffer1 = cyan_read_rom (speed, parport, NULL); + if (!buffer1) // user abort + exit (0); + + // detect if ROM is all 0x00 or 0xff and print an error if so + cyan_calculate_rom_size (buffer1, 1); + + while (1) + { + clear_line (); // remove last gauge + printf (" Pass %2d OK\n", count); + count++; + + // verify checksum of first pass + if (count == 2) // check only in first iteration + if (cyan_checksum_rom (buffer1)) // verify checksum + puts ("\n" + "WARNING: Checksum of ROM does not appear to be correct.\n" + " This may be normal for this ROM, or it may indicate a bad copy\n"); + + printf (" P %2d", + count); + fflush (stdout); + if (ucon64.frontend) + fputc ('\n', stdout); + buffer2 = cyan_read_rom (speed, parport, buffer2); + if (!buffer2) + { + free (buffer1); + exit (0); + } + if (memcmp (buffer1, buffer2, 4 * MBYTE)) + { + // error + printf ("\n" + "\n" + "Error detected on pass number %d\n" + "\n", + count); + if (count == 2) + puts ("A failure this early suggests a critical fault, such as a misconfigured or\n" + "incompatible parallel port, extremely poor wiring, or power supply problems --\n" + "you may wish to replace the battery or try another power supply, and use\n" + "shorter cables.\n" + "Try lowering the speed and running this test again, as a too high speed can\n" + "often cause these symptoms.\n" + "Alternatively, it may have been a one-time glitch; re-run the test to be sure.\n" + "When (if?) you find a lower speed which works reliably, use that speed for\n" + "copying ROMs\n"); + else + puts ("The first couple of passes were successful. This indicates that you have a\n" + "minor intermittent problem; most likely power supply problems, bad wiring, or\n" + "some kind of one-time glitch.\n" + "You may wish to replace the battery or try another power supply, and use\n" + "shorter cables.\n" + "Make sure no electrical appliances turn on or off during the copy.\n" + "Re-run the test to be sure; it's recommended that you use a lower speed\n"); + free (buffer1); + free (buffer2); + exit (1); + } + } + + free (buffer1); + free (buffer2); + break; + // manual test + case 2: + cyan_reset (parport); + cyan_write_copier (CNHI, parport); + cyan_delay (0, parport); + cyan_write_copier (0, parport); + cyan_delay (0, parport); + + if (speed != DEFAULT_SPEED) + puts ("Ignoring specified speed; test bench mode does not require a speed setting"); + // print screen + puts ("Entering manual test bench mode\n" + "\n" + "Probe the board and verify that the counters are being clocked, and are\n" + "counting correctly. The upper counter should be one count ahead of the lower\n" + "counter, with both clocked at the same rate.\n" + "Inject logic levels into the multiplexers to verify that the data bits are\n" + "being read correctly:\n" + "*=high .=low, layout: L H L H L H L H (L=low multiplexer, H=high multiplexer)\n" + "NOTE: The signals in question are the chip native signals; D0 below corresponds\n" + "to D0 on the multiplexer, NOT D0 on the cartridge port. Likewise with the\n" + "address lines. The input lines are in counter order, left to right.\n" + "Press escape or q to exit; be sure to turn the ROM copier off immediately after\n" + "exiting, to reset the device.\n" + "\n" + "If the above didn't make any sense to you, press escape or q and turn the ROM\n" + "copier off immediately!\n" + "This test is designed for advanced users only\n"); + while (1) + { + const char *status[2] = {"* ", ". "}; + + fputc ('\r', stdout); + + cyan_write_copier (0, parport); + cyan_delay (1, parport); + count = cyan_read_copier (parport); + fputs (status[((count ^ INLO) >> 6) & 1], stdout); + fputs (status[((count ^ INHI) >> 4) & 1], stdout); + + cyan_write_copier (CNLO | CNHI, parport); + cyan_delay (1, parport); + count = cyan_read_copier (parport); + fputs (status[((count ^ INLO) >> 6) & 1], stdout); + fputs (status[((count ^ INHI) >> 4) & 1], stdout); + + cyan_write_copier (0, parport); + cyan_delay (1, parport); + count = cyan_read_copier (parport); + fputs (status[((count ^ INLO) >> 6) & 1], stdout); + fputs (status[((count ^ INHI) >> 4) & 1], stdout); + + cyan_write_copier (CNLO | CNHI, parport); + cyan_delay (1, parport); + count = cyan_read_copier (parport); + fputs (status[((count ^ INLO) >> 6) & 1], stdout); + fputs (status[((count ^ INHI) >> 4) & 1], stdout); + + cyan_write_copier (0, parport); + cyan_delay (1, parport); + count = cyan_read_copier (parport); + fputs (status[((count ^ INLO) >> 6) & 1], stdout); + fputs (status[((count ^ INHI) >> 4) & 1], stdout); + + cyan_write_copier (CNLO | CNHI, parport); + cyan_delay (1, parport); + count = cyan_read_copier (parport); + fputs (status[((count ^ INLO) >> 6) & 1], stdout); + fputs (status[((count ^ INHI) >> 4) & 1], stdout); + + cyan_write_copier (0, parport); + cyan_delay (1, parport); + count = cyan_read_copier (parport); + fputs (status[((count ^ INLO) >> 6) & 1], stdout); + fputs (status[((count ^ INHI) >> 4) & 1], stdout); + + cyan_write_copier (CNLO | CNHI, parport); + cyan_delay (1, parport); + count = cyan_read_copier (parport); + fputs (status[((count ^ INLO) >> 6) & 1], stdout); + fputs (status[((count ^ INHI) >> 4) & 1], stdout); + + cyan_write_copier (0, parport); + cyan_delay (1, parport); + fflush (stdout); + + if (check_exit ()) + { + cyan_reset (parport); + puts ("\nUser aborted test"); + exit (0); + } + } + break; + default: // cmc_test() should only pass a correct speed value + fputs ("INTERNAL ERROR: Invalid test number passed to cyan_test_copier()\n", stderr); + exit (1); + } + return 0; +} + + +static int +cyan_copy_rom (const char *filename, int speed, unsigned int parport) +/* + Copy a ROM file -- this assumes the filename is valid and the file does not + already exist, since it will blindly try to write (overwrite) the filename you + give it. + If the open failed due to an invalid filename or path, it prints an error. + Speed setting should be between 1-4, 3 is default, and this is verified. +*/ +{ + unsigned long romsize; + unsigned char *buffer; + FILE *f; + + fputs (INTRO_TEXT, stdout); + parport_print_info (); + + if (!strlen (filename)) + { + fputs ("ERROR: Filename not specified\n" + " You must specify a filename on the commandline, as follows:\n" + " ucon64 " OPTION_LONG_S "xcmc dump.bin\n", stderr); + exit (1); + } + + printf ("Speed %d selected\n", speed); + cyan_test_parport (parport); + printf ("Destination file: %s\n", filename); + + if ((f = fopen (filename, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + exit (1); + } + fclose (f); + + puts ("NOTE: Dumping copier's full address space (file will be automatically trimmed\n" + " after dumping)\n" + "Press escape or q to abort\n"); + + buffer = cyan_read_rom (speed, parport, NULL); + if (!buffer) + { + remove (filename); + exit(0); + } + + fputc ('\n', stdout); + romsize = cyan_calculate_rom_size (buffer, 0); + + fputs ("Writing ROM to disk... ", stdout); + fflush (stdout); + if ((f = fopen (filename, "wb")) == NULL) + { + puts ("FAILED"); + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + free (buffer); + exit (1); + } + if (fwrite (buffer, 1, romsize, f) != romsize) + { + puts ("FAILED"); + fprintf (stderr, ucon64_msg[WRITE_ERROR], filename); + free (buffer); + fclose (f); + exit (1); + } + fclose (f); + printf ("%d kBytes OK\n" + "Verifying checksum... ", (int) (romsize / 1024)); + fflush (stdout); + + if (cyan_checksum_rom (buffer)) + { + puts ("FAILED\n" + "WARNING: Checksum of ROM does not appear to be correct.\n" + " This may be normal for this ROM, or it may indicate a bad copy.\n" + " Please verify the ROM, and consider running a copier test"); + } + else + puts ("OK"); + + puts ("Copy complete!\n" + "Don't forget to turn the ROM copier off, and never insert or remove a\n" + "cartridge with the power on"); + + free (buffer); + return 0; + +} + +#endif // USE_PARALLEL + + +/******************* + * uCON64 wrapping * + *******************/ + +const st_getopt2_t cmc_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Cyan's Megadrive ROM copier"/*"1999-2004 Cyan Helkaraxe"*/, + NULL + }, +#ifdef USE_PARALLEL + { + "xcmc", 0, 0, UCON64_XCMC, + NULL, "receive ROM from Cyan's Megadrive ROM copier; " OPTION_LONG_S "port=PORT", + &ucon64_wf[WF_OBJ_GEN_STOP_NO_ROM] + }, + { + "xcmct", 1, 0, UCON64_XCMCT, + "TEST", "run test TEST\n" + "TEST=1 burn-in reliability test (specify speed)\n" + "TEST=2 testbench mode (experts only)", + &ucon64_wf[WF_OBJ_GEN_STOP_NO_ROM] + }, + { + "xcmcm", 1, 0, UCON64_XCMCM, + "SPEED", "specify transfer speed\n" + "SPEED=1 slow (debug)\n" + "SPEED=2 medium\n" + "SPEED=3 fast (default)\n" // verify with value of DEFAULT_SPEED + "SPEED=4 full speed (risky)", + &ucon64_wf[WF_OBJ_GEN_SWITCH] + }, +#endif // USE_PARALLEL + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + + +#ifdef USE_PARALLEL + +int +cmc_read_rom (const char *filename, unsigned int parport, int speed) +{ +#if (defined __unix__ || defined __BEOS__) && !defined __MSDOS__ + init_conio (); +#endif + + if (speed < 1 || speed > 4) + speed = DEFAULT_SPEED; + cyan_copy_rom (filename, speed, parport); + +#if (defined __unix__ || defined __BEOS__) && !defined __MSDOS__ + deinit_conio (); +#endif + + return 0; +} + + +int +cmc_test (int test, unsigned int parport, int speed) +{ +#if (defined __unix__ || defined __BEOS__) && !defined __MSDOS__ + init_conio (); +#endif + + if (test < 1 || test > 2) + { + fputs ("ERROR: Choose a test between 1 and 2 (inclusive)\n", stderr); + exit (1); + } + if (speed < 1 || speed > 4) + speed = DEFAULT_SPEED; + cyan_test_copier (test, speed, parport); + +#if (defined __unix__ || defined __BEOS__) && !defined __MSDOS__ + deinit_conio (); +#endif + + return 0; +} + +#endif // USE_PARALLEL diff --git a/tools/ucon64-2.0.0-src/src/backup/cmc.h b/tools/ucon64-2.0.0-src/src/backup/cmc.h new file mode 100644 index 0000000..23eed34 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/cmc.h @@ -0,0 +1,32 @@ +/* +cmc.h - Cyan's Megadrive ROM copier support for uCON64 + +Copyright (c) 1999-2004 Cyan Helkaraxe + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +// See cmc.c for important information +#ifndef CMC_H +#define CMC_H + +extern const st_getopt2_t cmc_usage[]; + +#ifdef USE_PARALLEL +extern int cmc_read_rom (const char *filename, unsigned int parport, int speed); +extern int cmc_test (int test, unsigned int parport, int speed); +#endif + +#endif diff --git a/tools/ucon64-2.0.0-src/src/backup/dex.c b/tools/ucon64-2.0.0-src/src/backup/dex.c new file mode 100644 index 0000000..fcfca41 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/dex.c @@ -0,0 +1,139 @@ +/* +dex.c - DexDrive support for uCON64 + +Copyright (c) 2002 NoisyB +Copyright (c) 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include "misc/misc.h" +#include "misc/file.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ucon64_misc.h" +#include "dex.h" +#include "psxpblib.h" +#include "misc/parallel.h" + + +const st_getopt2_t dex_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "DexDrive"/*"19XX InterAct http://www.dexdrive.de"*/, + NULL + }, + { + "xdex", 1, 0, UCON64_XDEX, + "N", "send/receive Block N to/from DexDrive; " OPTION_LONG_S "port=PORT\n" + "receives automatically when SRAM does not exist", + &ucon64_wf[WF_OBJ_ALL_DEFAULT_STOP_NO_ROM] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + + +#ifdef USE_PARALLEL + +#define CONPORT 1 +#define TAP 1 +#define DELAY 4 +#define FRAME_SIZE 128 +#define BLOCK_SIZE (64*FRAME_SIZE) + +static int print_data; + + +static unsigned char * +read_block (int block_num) +{ + return psx_memcard_read_block (print_data, CONPORT, TAP, DELAY, block_num); +} + + +static int +write_block (int block_num, unsigned char *data) +{ + return psx_memcard_write_block (print_data, CONPORT, TAP, DELAY, block_num, + data); +} + + +#if 0 +char * +read_frame (int frame, char *data) +{ + return psx_memcard_read_frame (print_data, CONPORT, TAP, DELAY, frame); +} + + +int +write_frame (int frame, char *data) +{ + return psx_memcard_write_frame (print_data, CONPORT, TAP, DELAY, frame, + data); +} +#endif + + +int +dex_read_block (const char *filename, int block_num, unsigned int parport) +{ + unsigned char *data; + + print_data = parport; + parport_print_info (); + + if ((data = read_block (block_num)) == NULL) + { + fprintf (stderr, ucon64_msg[PARPORT_ERROR]); + exit (1); + } + + ucon64_fwrite (data, 0, BLOCK_SIZE, filename, "wb"); + + return 0; +} + + +int +dex_write_block (const char *filename, int block_num, unsigned int parport) +{ + unsigned char data[BLOCK_SIZE]; + + print_data = parport; + parport_print_info (); + + ucon64_fread (data, 0, BLOCK_SIZE, filename); + + if (write_block (block_num, data) == -1) + { + fprintf (stderr, ucon64_msg[PARPORT_ERROR]); + exit (1); + } + + return 0; +} + +#endif // USE_PARALLEL diff --git a/tools/ucon64-2.0.0-src/src/backup/dex.h b/tools/ucon64-2.0.0-src/src/backup/dex.h new file mode 100644 index 0000000..babf816 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/dex.h @@ -0,0 +1,34 @@ +/* +dex.h - DexDrive support for uCON64 + +Copyright (c) 2002 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef DEX_H +#define DEX_H + +extern const st_getopt2_t dex_usage[]; + +#define DEX_HEADER_START 0 +#define DEX_HEADER_LEN 0 + +#ifdef USE_PARALLEL +extern int dex_read_block (const char *filename, int block_num, unsigned int parport); +extern int dex_write_block (const char *filename, int block_num, unsigned int parport); +#endif // USE_PARALLEL + +#endif diff --git a/tools/ucon64-2.0.0-src/src/backup/doctor64.c b/tools/ucon64-2.0.0-src/src/backup/doctor64.c new file mode 100644 index 0000000..6cce152 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/doctor64.c @@ -0,0 +1,399 @@ +/* +doctor64.c - Bung Doctor V64 support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#include +#ifdef HAVE_UNISTD_H +#include +#endif +#include "misc/misc.h" +#include "misc/file.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ucon64_misc.h" +#include "doctor64.h" +#include "misc/parallel.h" + + +const st_getopt2_t doctor64_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Doctor V64"/*"19XX Bung Enterprises Ltd http://www.bung.com.hk"*/, + NULL + }, +#ifdef USE_PARALLEL + { + "xv64", 0, 0, UCON64_XV64, + NULL, "send/receive ROM to/from Doctor V64; " OPTION_LONG_S "port=PORT\n" + "receives automatically when ROM does not exist", + &ucon64_wf[WF_OBJ_N64_DEFAULT_STOP_NO_ROM] + }, +#endif + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + + +#ifdef USE_PARALLEL + +#define SYNC_MAX_CNT 8192 +#define SYNC_MAX_TRY 32 +#define SEND_MAX_WAIT 0x300000 +#define REC_HIGH_NIBBLE 0x80 +#define REC_LOW_NIBBLE 0x00 +#define REC_MAX_WAIT SEND_MAX_WAIT + + +static int +parport_write (char src[], int len, unsigned int parport) +{ + int maxwait, i; + + for (i = 0; i < len; i++) + { + maxwait = SEND_MAX_WAIT; + if ((inportb ((unsigned short) (parport + 2)) & 1) == 0) // check ~strobe + { + while (((inportb ((unsigned short) (parport + 2)) & 2) != 0) && maxwait--) + ; // wait for + if (maxwait <= 0) + return 1; // auto feed == 0 + outportb ((unsigned short) parport, src[i]); // write data + outportb ((unsigned short) (parport + 2), 5); // ~strobe = 1 + } + else + { + while (((inportb ((unsigned short) (parport + 2)) & 2) == 0) && maxwait--) + ; // wait for + if (maxwait <= 0) + return 1; // auto feed == 1 + outportb ((unsigned short) parport, src[i]); // write data + outportb ((unsigned short) (parport + 2), 4); // ~strobe = 0 + } + } + return 0; +} + + +static int +parport_read (char dest[], int len, unsigned int parport) +{ + int i, maxwait; + unsigned char c; + + for (i = 0; i < len; i++) + { + outportb ((unsigned short) parport, REC_HIGH_NIBBLE); + maxwait = REC_MAX_WAIT; + while (((inportb ((unsigned short) (parport + 1)) & 0x80) == 0) && maxwait--) + ; // wait for ~busy=1 + if (maxwait <= 0) + return len - i; + c = (inportb ((unsigned short) (parport + 1)) >> 3) & 0x0f; // ~ack, pe, slct, ~error + + outportb ((unsigned short) parport, REC_LOW_NIBBLE); + maxwait = REC_MAX_WAIT; + while (((inportb ((unsigned short) (parport + 1)) & 0x80) != 0) && maxwait--) + ; // wait for ~busy=0 + if (maxwait <= 0) + return len - i; + c |= (inportb ((unsigned short) (parport + 1)) << 1) & 0xf0; // ~ack, pe, slct, ~error + + dest[i] = c; + } + outportb ((unsigned short) parport, REC_HIGH_NIBBLE); + return 0; +} + + +int +syncHeader (unsigned int baseport) +{ + int i = 0; + + outportb ((unsigned short) baseport, 0); // data = 00000000 + outportb ((unsigned short) (baseport + 2), 4); // ~strobe=0 + while (i < SYNC_MAX_CNT) + { + if ((inportb ((unsigned short) (baseport + 2)) & 8) == 0) // wait for select=0 + { + outportb ((unsigned short) (baseport), 0xaa); // data = 10101010 + outportb ((unsigned short) (baseport + 2), 0); // ~strobe=0, ~init=0 + while (i < SYNC_MAX_CNT) + { + if ((inportb ((unsigned short) (baseport + 2)) & 8) != 0) // wait for select=1 + { + outportb ((unsigned short) (baseport + 2), 4); // ~strobe=0 + while (i < SYNC_MAX_CNT) + { + if ((inportb ((unsigned short) (baseport + 2)) & 8) == 0) // w for select=0 + { + outportb ((unsigned short) baseport, 0x55); // data = 01010101 + outportb ((unsigned short) (baseport + 2), 0); // ~strobe=0, ~init=0 + while (i < SYNC_MAX_CNT) + { + if ((inportb ((unsigned short) (baseport + 2)) & 8) != 0) // w select=1 + { + outportb ((unsigned short) (baseport + 2), 4); // ~strobe=0 + while (i < SYNC_MAX_CNT) + { + if ((inportb ((unsigned short) (baseport + 2)) & 8) == 0) // select=0 + return 0; + i++; + } + } + i++; + } + } + i++; + } + } + i++; + } + i++; + } + i++; + } + outportb ((unsigned short) (baseport + 2), 4); + return 1; +} + + +int +initCommunication (unsigned int port) +{ + int i; + for (i = 0; i < SYNC_MAX_TRY; i++) + { + if (syncHeader (port) == 0) + break; + } + if (i >= SYNC_MAX_TRY) + return -1; + return 0; +} + + +int +checkSync (unsigned int baseport) +{ + int i, j; + + for (i = 0; i < SYNC_MAX_CNT; i++) + { + if (((inportb ((unsigned short) (baseport + 2)) & 3) == 3) + || ((inportb ((unsigned short) (baseport + 2)) & 3) == 0)) + { + outportb ((unsigned short) baseport, 0); // ~strobe, auto feed + for (j = 0; j < SYNC_MAX_CNT; j++) + { + if ((inportb ((unsigned short) (baseport + 1)) & 0x80) == 0) // wait for ~busy=0 + { + return 0; + } + } + return 1; + } + } + return 1; +} + + +int +sendFilename (unsigned int baseport, char name[]) +{ + int i; + char *c, mname[12]; + + memset (mname, ' ', 11); + c = (strrchr (name, FILE_SEPARATOR)); + if (c == NULL) + { + c = name; + } + else + { + c++; + } + for (i = 0; i < 8 && *c != '.' && *c != '\0'; i++, c++) + mname[i] = toupper (*c); + c = strrchr (c, '.'); + if (c != NULL) + { + c++; + for (i = 8; i < 11 && *c != '\0'; i++, c++) + mname[i] = toupper (*c); + } + + return parport_write (mname, 11, baseport); +} + + +int +sendUploadHeader (unsigned int baseport, char name[], int len) +{ + char mname[12], lenbuffer[4]; + static char protocolId[] = "GD6R\1"; + + if (parport_write (protocolId, strlen (protocolId), baseport) != 0) + return 1; + + lenbuffer[0] = (char) len; + lenbuffer[1] = (char) (len >> 8); + lenbuffer[2] = (char) (len >> 16); + lenbuffer[3] = (char) (len >> 24); + if (parport_write (lenbuffer, 4, baseport) != 0) + return 1; + + memset (mname, ' ', 11); + if (sendFilename (baseport, name) != 0) + return 1; + return 0; +} + + +int +sendDownloadHeader (unsigned int baseport, int *len) +{ + char mname[12]; + static char protocolId[] = "GD6W"; + unsigned char recbuffer[15]; + + if (parport_write (protocolId, strlen (protocolId), baseport) != 0) + return 1; + memset (mname, ' ', 11); + if (parport_write (mname, 11, baseport) != 0) + return 1; + if (checkSync (baseport) != 0) + return 1; + + if (parport_read ((char *) recbuffer, 1, baseport) != 0) + return 1; + if (recbuffer[0] != 1) + return -1; + if (parport_read ((char *) recbuffer, 15, baseport) != 0) + return 1; + *len = (int) recbuffer[0] | + ((int) recbuffer[1] << 8) | + ((int) recbuffer[2] << 16) | + ((int) recbuffer[3] << 24); + return 0; +} + + +int +doctor64_read (const char *filename, unsigned int parport) +{ + char buf[MAXBUFSIZE]; + FILE *fh; + int size, inittime, bytesreceived = 0; + + parport_print_info (); + if (initCommunication (parport) == -1) + { + fprintf (stderr, ucon64_msg[PARPORT_ERROR]); + exit (1); + } + + inittime = time (0); + + if (sendDownloadHeader (parport, &size) != 0) + { + fprintf (stderr, ucon64_msg[PARPORT_ERROR]); + exit (1); + } + if (!(fh = fopen (filename, "wb"))) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + exit (1); + } + printf ("Receive: %d Bytes (%.4f Mb)\n\n", size, (float) size / MBIT); + + for (;;) + { + if (parport_read (buf, sizeof buf, parport) != 0) + { + fclose (fh); + return 0; + } + bytesreceived += sizeof buf; + fwrite (buf, 1, sizeof buf, fh); + ucon64_gauge (inittime, bytesreceived, size); + } + sync (); + fclose (fh); + return 0; +} + + +int +doctor64_write (const char *filename, int start, int len, unsigned int parport) +{ + char buf[MAXBUFSIZE]; + FILE *fh; + unsigned int size, inittime, pos, bytessend = 0; + + parport_print_info (); + size = len - start; + if (initCommunication (parport) == -1) + { + fprintf (stderr, ucon64_msg[PARPORT_ERROR]); + exit (1); + } + inittime = time (0); + + strcpy (buf, filename); + if (sendUploadHeader (parport, buf, size) != 0) + { + fprintf (stderr, ucon64_msg[PARPORT_ERROR]); + exit (1); + } + + if (!(fh = fopen (filename, "rb"))) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + exit (1); + } + + printf ("Send: %d Bytes (%.4f Mb)\n\n", size, (float) size / MBIT); + + for (;;) + { + if (!(pos = fread (buf, 1, sizeof buf, fh))) + break; + if (parport_write (buf, pos, parport) != 0) + break; + bytessend += sizeof buf; + ucon64_gauge (inittime, bytessend, size); + } + fclose (fh); + return 0; +} + +#endif // USE_PARALLEL diff --git a/tools/ucon64-2.0.0-src/src/backup/doctor64.h b/tools/ucon64-2.0.0-src/src/backup/doctor64.h new file mode 100644 index 0000000..c05cb1e --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/doctor64.h @@ -0,0 +1,31 @@ +/* +doctor64.h - Bung Doctor V64 support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef DOCTOR64_H +#define DOCTOR64_H + +extern const st_getopt2_t doctor64_usage[]; + +#ifdef USE_PARALLEL +extern int doctor64_read (const char *filename, unsigned int parport); +extern int doctor64_write (const char *filename, int start, int len, unsigned int parport); +#endif + +#endif diff --git a/tools/ucon64-2.0.0-src/src/backup/doctor64jr.c b/tools/ucon64-2.0.0-src/src/backup/doctor64jr.c new file mode 100644 index 0000000..0a3d7c4 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/doctor64jr.c @@ -0,0 +1,587 @@ +/* +doctor64jr.c - Bung Doctor V64 Junior support for uCON64 + +Copyright (c) 1999 - 2002 NoisyB +Copyright (c) 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +/* +drjr transfer protocol + + +DB25 pin name +p2~p9 pd[7:0] XXXXXXXXXXX ai XXXXX data XXXX +p1 nwrite ~~~~~~~~~|_____________________|~~ +p14 ndstb ~~~~~~~~~~~~~~~~~~~~~~~~~|_|~~~~~~ +p17 nastb ~~~~~~~~~~~~~|_|~~~~~~~~~~~~~~~~~~ + + +ai[]=0 r/w a[7..0] +ai[]=1 r/w a[15..8] +ai[]=2 r/w a[23..16] +ai[]=3 w a[28..24] +ai[]=3 r (rst,wdf,wcf,a[28..24]) +ai[]=4 r/w data +ai[]=5 w mode +ai[]=6 w en_1 +ai[]=7 w en_0 +*remark + a[8..1] support page count up + + ai[3]d7:0=N64 power off, 1=N64 power on + d6:0=no dram data written, 1=dram data written + d5:0=no data write in b4000000~b7ffffff, 1=some data written in b4000000~b7ffffff + + mode d0:0=dram read only and clear wdf, 1=dram write enable + d1:0=disable cartridge read and clear wcf flag, + 1=enable cartridge read(write b4000000~b7ffffff will switch off dram and cartridge will present at b0000000~b3ffffff) + + en_0=05 and en_1=0a is enable port control + + +mode:q0 0 1 0 1 +mode:q1 0 0 1 1 +b7ff ffff +b400 0000 dram read only dram r/w cartridge read cartridge read(* write this area will switch off dram) + +b3ff ffff +b000 0000 dram read only dram r/w dram read only dram r/w + + +eg:enable port control + +DB25 pin name +p2~p9 pd[7:0] XXXXXXXXXXX 07 XX 05 XXXX 06 XX 0a XXXXXXXXXXXX +p1 nwrite ~~~~~~~~~|_____________________________|~~~~~~~ +p14 ndstb ~~~~~~~~~~~~~~~~~~|_|~~~~~~~~~~~|_|~~~~~~~~~~~~ +p17 nastb ~~~~~~~~~~~~|_|~~~~~~~~~~~|_|~~~~~~~~~~~~~~~~~~ + en_0=05 en_1=0a + + +eg:write adr $b0123456, data $a55a,$1234.. + +DB25 pin name +p2~p9 pd[7:0] XXXXXXXXXXX 00 XX 56 XXXX 01 XX 34 XXXX 02 XX 12 XXXX 03 XX b0 XXXXXX 04 XX 5a XX a5 XX 34 XX 12 XXXXXXXXXXX +p1 nwrite ~~~~~~~~~|_______________________________________________________________________________________|~~~~~~~~~~ +p14 ndstb ~~~~~~~~~~~~~~~~~~|_|~~~~~~~~~~~|_|~~~~~~~~~~~|_|~~~~~~~~~~~|_|~~~~~~~~~~~~~|_|~~~|_|~~~|_|~~~|_|~~~~~~~~~~~ +p17 nastb ~~~~~~~~~~~~|_|~~~~~~~~~~~|_|~~~~~~~~~~~|_|~~~~~~~~~~~|_|~~~~~~~~~~~~~|_|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + set adr word low set adr word high wdata a55a wdata 1234 (after write adr=b012345a) + + +eg:read adr $b0123400~$b01235ff, 512 data + +DB25 pin name +p2~p9 pd[7:0] XXXXXXXXXXX 00 XX 00 XXXX 01 XX 34 XXXX 02 XX 12 XXXX 03 XX b0 XXXXXX 04 XX data0 XX data1 X ... X data510 XX data511 XXXXX +p1 nwrite ~~~~~~~~~|________________________________________________________________~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +p14 ndstb ~~~~~~~~~~~~~~~~~~|_|~~~~~~~~~~~|_|~~~~~~~~~~~|_|~~~~~~~~~~~|_|~~~~~~~~~~~~~~|_|~~~~~~|_|~~~ ~~~ ~~~~|_|~~~~~~~~|_|~~~~~~~~ +p17 nastb ~~~~~~~~~~~~|_|~~~~~~~~~~~|_|~~~~~~~~~~~|_|~~~~~~~~~~~|_|~~~~~~~~~~~~~|_|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + set adr word low set adr word high (after 512 read adr=b0123400) + + +eg:dram write protect, disable N64 access to cartridge and disable port control + +DB25 pin name +p2~p9 pd[7:0] XXXXXXXXXXX 05 XX 00 XXXX 07 XX 00 XXXX 06 XX 00 XXXXXXXXXXXX +p1 nwrite ~~~~~~~~~|________________________________________|~~~~~~~~~~ +p14 ndstb ~~~~~~~~~~~~~~~~~~|_|~~~~~~~~~~~|_|~~~~~~~~~~~|_|~~~~~~~~~~~~ +p17 nastb ~~~~~~~~~~~~|_|~~~~~~~~~~~|_|~~~~~~~~~~~|_|~~~~~~~~~~~~~~~~~~ + mode=00 en_0=00 en_1=00 + + +simple backup rountine for N64 + +void writePI(unsigned long addr, unsigned long value) +{ + do {} while (*(volatile unsigned long *) (0xa4600010) & 3); // check parallel interface not busy + addr &=0xbffffffc; + *(unsigned long *)(addr)=value; +} + +unsigned long readPI(unsigned long addr) +{ + do {} while (*(volatile unsigned long *) (0xa4600010) & 3); // check parallel interface not busy + addr &=0xbffffffc; + return *(unsigned long *)(addr); +} + +// MAIN -- START OF USER CODE +void mainproc(void *arg) { + u32 base_adr; + for (base_adr=0;base_adr<0x1000000;base_adr++){ // backup 128Mbits + writePI(0xb0000000+base_adr,readPI(0xb4000000 + base_adr)); // write data + } +} +*/ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#include "misc/misc.h" +#include "misc/itypes.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "misc/parallel.h" +#include "misc/file.h" +#include "ucon64.h" +#include "ucon64_misc.h" +#include "doctor64jr.h" + + +const st_getopt2_t doctor64jr_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Doctor V64 Junior"/*"19XX Bung Enterprises Ltd http://www.bung.com.hk"*/, + NULL + }, +#ifdef USE_PARALLEL + { + "xdjr", 0, 0, UCON64_XDJR, + NULL, "send ROM to Doctor V64 Junior; " OPTION_LONG_S "port=PORT", + &ucon64_wf[WF_OBJ_N64_DEFAULT_STOP_NO_ROM] + }, +#if 0 + { + "xdjrs", 0, 0, UCON64_XDJRS, + NULL, "send/receive SRAM to/from Doctor V64 Junior; " OPTION_LONG_S "port=PORT\n" + "receives automatically when SRAM does not exist", + &ucon64_wf[WF_OBJ_N64_DEFAULT_STOP_NO_ROM] + }, +#endif +#endif // USE_PARALLEL + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + + +#ifdef USE_PARALLEL + +#define BUFFERSIZE 32768 +//#define set_ai_write outportb (port_a, 5); // ninit=1, nwrite=0 +#define set_data_write outportb (port_a, 1); // ninit=0, nwrite=0 +#define set_data_read outportb (port_a, 0); // ninit=0, nwrite=1 +//#define set_normal outportb (port_a, 4); // ninit=1, nwrite=1 + +static unsigned short int port_8, port_9, port_a, port_b, port_c, + *buffer; +static int wv_mode; + + +static void +set_ai (unsigned char ai) +{ + outportb (port_a, 5); // ninit=1, nwrite=0 + outportb (port_b, ai); +} + + +static void +set_ai_data (unsigned char ai, unsigned char data) +{ + set_ai (ai); + set_data_write // ninit=0, nwrite=0 + outportb (port_c, data); +} + + +static void +init_port (int enable_write) +{ +#ifndef USE_PPDEV + outportb (port_9, 1); // clear EPP time flag +#endif + set_ai_data (6, 0x0a); + set_ai_data (7, 0x05); // 6==0x0a, 7==0x05 is pc_control mode +// set_ai (5); +// set_data_read +// enable_write = inportb (port_c); + set_ai_data (5, (unsigned char) enable_write); // d0=0 is write protect mode +} + + +static void +end_port (int enable_write) +{ + set_ai_data (5, (unsigned char) enable_write); // d0=0 is write protect mode + set_ai_data (7, 0); // release pc mode + set_ai_data (6, 0); // 6==0x0a, 7==0x05 is pc_control mode + outportb (port_a, 4); // ninit=1, nwrite=1 +} + + +static int +check_card (void) +{ + set_ai_data (3, 0x12); + set_ai_data (2, 0x34); + set_ai_data (1, 0x56); + set_ai_data (0, 0x78); + + set_ai (3); + set_data_read // ninit=0, nwrite=1 + if ((inportb (port_c) & 0x1f) != 0x12) + return 1; + + set_ai (2); + set_data_read + if (inportb (port_c) != 0x34) + return 1; + + set_ai (1); + set_data_read + if (inportb (port_c) != 0x56) + return 1; + + set_ai (0); + set_data_read + if (inportb (port_c) != 0x78) + return 1; + + return 0; +} + + +static int +write_32k (unsigned short int hi_word, unsigned short int lo_word) +{ + unsigned char unpass, pass1; + unsigned short int i, j, fix; + + set_ai_data (3, (unsigned char) (0x10 | (hi_word >> 8))); + set_ai_data (2, (unsigned char) hi_word); + for (i = 0; i < 0x40; i++) + { + unpass = 3; + while (unpass) + { + set_ai_data (1, (unsigned char) ((i << 1) | lo_word)); + set_ai_data (0, 0); + set_ai (4); // set address index=4 + set_data_write // ninit=0, nwrite=0 + fix = i << 8; + for (j = 0; j < 256; j++) + outportw (port_c, buffer[j + fix]); + set_data_read // ninit=0, nwrite=1 + if (wv_mode) + { + for (j = 0; j < 256; j++) + if (inportw (port_c) != buffer[j + fix]) + break; + } + else + { + pass1 = 1; + for (j = 0; j < 4; j++) + if (inportw (port_c) != buffer[j + fix]) + { + pass1 = 0; + break; + } + if (pass1) + { + set_ai_data (1, (unsigned char) ((i << 1) | lo_word | 1)); + set_ai_data (0, 0xf8); + set_ai (4); + set_data_read // ninit=0, nwrite=1 + for (j = 252; j < 256; j++) + if (inportw (port_c) != buffer[j + fix]) + break; + } + } + set_ai (0); + set_data_read // ninit=0, nwrite=1 + if (inportb (port_c) != 0) + { + unpass--; + outportb (port_a, 0x0b); // set all pin=0 for debug + set_ai_data (3, (unsigned char) (0x10 | (hi_word >> 8))); + set_ai_data (2, (unsigned char) hi_word); + if (unpass == 0) + return 1; + } + else + unpass = 0; + } + } + +/* + outportb (ai, 0); + printf ("\na[7..0]=%02x\n", inportb (data)); + outportb (ai, 1); + printf ("a[15..8]=%02x\n", inportb (data)); +*/ + return 0; +} + + +#if 0 // not used +static int +verify_32k (unsigned short int hi_word, unsigned short int lo_word) +{ + char unpass; + unsigned short int i, j, fix; + + set_ai_data (3, (unsigned char) (0x10 | (hi_word >> 8))); + set_ai_data (2, (unsigned char) hi_word); + for (i = 0; i < 0x40; i++) + { + unpass = 3; + while (unpass) + { + set_ai_data (1, (unsigned char) ((i << 1) | lo_word)); + set_ai_data (0, 0); + set_ai (4); + set_data_read // ninit=0, nwrite=1 + fix = i << 8; + for (j = 0; j < 256; j++) + { + if (inportw (port_c) != buffer[j + fix]) + { + outportb (port_a, 0x0b); // all pin=0 for debug + set_ai_data (3, (unsigned char) (0x10 | (hi_word >> 8))); + set_ai_data (2, (unsigned char) hi_word); + unpass--; + if (unpass == 0) + return 1; + else + break; + } + } + if (j == 256) + break; + } + } + +/* + outportb (ai,0); + printf ("\na[7..0]=%02x\n", inportb (data)); + outportb (ai, 1); + printf ("a[15..8]=%02x\n", inportb (data)); +*/ + return 0; +} + + +static void +gen_pat_32k (unsigned short int offset) +{ + int i; + + for (i = 0; i < 0x4000; i++) + buffer[i] = i + offset; +} + + +static unsigned short int +test_dram (void) +{ + int n_pages = 0, page; + + gen_pat_32k (0x0000); + write_32k (0, 0); + + gen_pat_32k (0x8000); + write_32k (0x100, 0); + + gen_pat_32k (0x0000); + if (verify_32k (0, 0) == 0) // find lower 128 Mbits + n_pages = 0x100; + gen_pat_32k (0x8000); + if (verify_32k (0x100, 0) == 0) // find upper 128 Mbits + n_pages = 0x200; + + printf ("Testing DRAM...\n"); + + for (page = 0; page < n_pages; page++) + { + gen_pat_32k ((unsigned short int) (page * 2)); + if (write_32k (page, 0)) + return 0; + else + { + fputc ('w', stdout); + fflush (stdout); + } + + gen_pat_32k ((unsigned short int) (page * 2 + 1)); + if (write_32k (page, 0x80)) + return 0; + else + { + fputc ('w', stdout); + fflush (stdout); + } + } + + fputc ('\n', stdout); + for (page = 0; page < n_pages; page++) + { + gen_pat_32k ((unsigned short int) (page * 2)); + if (verify_32k (page, 0)) + return 0; + else + { + fputc ('v', stdout); + fflush (stdout); + } + gen_pat_32k ((unsigned short int) (page * 2 + 1)); + if (verify_32k (page, 0x80)) + return 0; + else + { + fputc ('v', stdout); + fflush (stdout); + } + } + + return n_pages; +} +#endif + + +static unsigned long int +get_address (void) +{ + unsigned long int address; + + set_ai_data (6, 0x0a); // enable pc mode + set_ai_data (7, 0x05); // enable pc mode + + set_ai (3); + set_data_read // ninit=0, nwrite=1 + address = inportb (port_c) << 24; + + set_ai (2); + set_data_read + address |= inportb (port_c) << 16; + + set_ai (1); + set_data_read + address |= inportb (port_c) << 8; + + set_ai (0); + set_data_read + address |= inportb (port_c); + + return address; +} + + +int +doctor64jr_read (const char *filename, unsigned int parport) +{ + (void) filename; + (void) parport; + return fprintf (stderr, "ERROR: The function for dumping a cartridge is not yet implemented for the\n" + " Doctor V64 Junior\n"); +} + + +int +doctor64jr_write (const char *filename, unsigned int parport) +{ + unsigned int enable_write = 0, init_time, size, bytesread, bytessend = 0, + n_pages; + unsigned short int page; + FILE *file; + + parport_print_info (); + + port_8 = parport; + port_9 = parport + 1; + port_a = parport + 2; + port_b = parport + 3; + port_c = parport + 4; + + init_port (enable_write); + + if (check_card () != 0) + { + fprintf (stderr, "ERROR: No Doctor V64 Junior card present\n"); + end_port (enable_write); + exit (1); + } + + wv_mode = 0; + + if ((file = fopen (filename, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + exit (1); + } + if ((buffer = (unsigned short int *) malloc (BUFFERSIZE)) == NULL) + { + fprintf (stderr, ucon64_msg[FILE_BUFFER_ERROR], BUFFERSIZE); + exit (1); + } + + size = fsizeof (filename); + printf ("Send: %d Bytes (%.4f Mb)\n\n", size, (float) size / MBIT); + +#if 0 + if (dram_test) + { + dram_size = test_dram (); + if (dram_size) + printf ("\nDRAM size=%dMbits\n", (dram_size / 2)); + else + fprintf (stderr, "\nERROR: DRAM test failed\n"); + return 0; + } +#endif + + n_pages = (size + (64 * 1024 - 1)) / (64 * 1024); // "+ (64 * 1024 - 1)" to round up + init_time = time (0); + for (page = 0; page < n_pages; page++) + { + bytesread = fread ((unsigned char *) buffer, 1, BUFFERSIZE, file); + if (write_32k (page, 0)) + { + fprintf (stderr, "ERROR: Transfer failed at address 0x%8lx", get_address ()); + break; + } + + bytesread += fread ((unsigned char *) buffer, 1, BUFFERSIZE, file); + if (write_32k (page, 0x80)) + { + fprintf (stderr, "ERROR: Transfer failed at address 0x%8lx", get_address ()); + break; + } + + bytessend += bytesread; + ucon64_gauge (init_time, bytessend, size); + } + fputc ('\n', stdout); + + if (enable_write) // 1 or 3 + printf ("DRAM write protect disabled\n"); + if (enable_write & 2) // 3 + printf ("Run cartridge enabled\n"); + +// set_ai_data(5, enable_write); // d0=0 is write protect mode + end_port (enable_write); + + return 0; +} + +#endif // USE_PARALLEL diff --git a/tools/ucon64-2.0.0-src/src/backup/doctor64jr.h b/tools/ucon64-2.0.0-src/src/backup/doctor64jr.h new file mode 100644 index 0000000..1444332 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/doctor64jr.h @@ -0,0 +1,31 @@ +/* +doctor64jr.h - Bung Doctor V64 Junior support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef DOCTOR64JR_H +#define DOCTOR64JR_H + +extern const st_getopt2_t doctor64jr_usage[]; + +#ifdef USE_PARALLEL +extern int doctor64jr_read (const char *filename, unsigned int parport); +extern int doctor64jr_write (const char *filename, unsigned int parport); +#endif + +#endif diff --git a/tools/ucon64-2.0.0-src/src/backup/f2a.c b/tools/ucon64-2.0.0-src/src/backup/f2a.c new file mode 100644 index 0000000..bd64734 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/f2a.c @@ -0,0 +1,1637 @@ +/* +f2a.c - Flash 2 Advance support for uCON64 + +Copyright (c) 2003 Ulrich Hecht +Copyright (c) 2003 - 2004 David Voswinkel +Copyright (c) 2004 NoisyB +Copyright (c) 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#include +#include +#include +#if defined _WIN32 || defined __MSDOS__ +#include +#else +#include +#endif +#ifdef HAVE_UNISTD_H +#include +#endif +#include +#include "misc/bswap.h" +#include "misc/misc.h" +#include "misc/file.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ucon64_misc.h" +#include "f2a.h" +#include "console/gba.h" +#ifdef USE_USB +#include +#include +#include +#include "misc/usb.h" +#endif +#ifdef USE_PARALLEL +#include "misc/parallel.h" +#endif +#include "misc/property.h" + + +const st_getopt2_t f2a_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Flash 2 Advance (Ultra)"/*"2003 Flash2Advance http://www.flash2advance.com"*/, + NULL + }, +#if defined USE_PARALLEL || defined USE_USB + { + "xf2a", 0, 0, UCON64_XF2A, + NULL, "send/receive ROM to/from Flash 2 Advance (Ultra); " OPTION_LONG_S "port=PORT\n" + "receives automatically (32 Mbits) when ROM does not exist", + &ucon64_wf[WF_OBJ_GBA_DEFAULT_STOP_NO_ROM] + }, + { + "xf2amulti", 1, 0, UCON64_XF2AMULTI, // send only + "SIZE", "send multiple ROMs to Flash 2 Advance (Ultra); specify a\n" + "loader in the configuration file; " OPTION_LONG_S "port=PORT", + &ucon64_wf[WF_OBJ_GBA_DEFAULT_STOP] + }, + { + "xf2ac", 1, 0, UCON64_XF2AC, + "N", "receive N Mbits of ROM from Flash 2 Advance (Ultra);\n" OPTION_LONG_S "port=PORT", + &ucon64_wf[WF_OBJ_GBA_STOP_NO_ROM] + }, + { + "xf2as", 0, 0, UCON64_XF2AS, + NULL, "send/receive SRAM to/from Flash 2 Advance (Ultra); " OPTION_LONG_S "port=PORT\n" + "receives automatically when SRAM does not exist", + &ucon64_wf[WF_OBJ_GBA_STOP_NO_ROM] + }, + { + "xf2ab", 1, 0, UCON64_XF2AB, + "BANK", "send/receive SRAM to/from Flash 2 Advance (Ultra) BANK\n" + "BANK should be a number >= 1; " OPTION_LONG_S "port=PORT\n" + "receives automatically when SRAM does not exist", + &ucon64_wf[WF_OBJ_GBA_STOP_NO_ROM] + }, +#endif + {NULL, 0, 0, 0, NULL, NULL, NULL} +}; + + +#ifdef USE_USB + +#define EZDEV "/proc/ezusb/dev0" +#define F2A_FIRM_SIZE 23053 +#define CMD_GETINF 0x05 // get info on the system status +#define CMD_MULTIBOOT1 0xff // boot up the GBA stage 1, no parameters +#define CMD_MULTIBOOT2 0 // boot up the GBA stage 2, f2a_sendmsg_t.size has to be set + +#define SENDMSG_SIZE 63 // (sizeof (f2a_sendmsg_t) - 1) + +typedef struct +{ + unsigned int command; // command to execute, see below + unsigned int size; // size of data block to read/write + unsigned int pad1[2]; + unsigned int magic; // magic number, see below + unsigned int pad2[3]; + unsigned int unknown; // no idea what this is for, seems to have to be 0xa for write, 0x7 for read + unsigned int address; // base address for read/write + unsigned int sizekb; // size of data block to read/write in kB + unsigned char pad3[5 * 4 /*-1*/]; + /* + For some reason the original software uses a 63 bytes structure for outgoing + messages, not 64 as it does for incoming messages, hence the "-1". It all + seems to work fine with 64 bytes, too, and I therefore suspect this to be a + bug in the original software. + */ + // we use SENDMSG_SIZE to solve the problem - dbjh +} /*__attribute__ ((packed))*/ f2a_sendmsg_t; + +typedef struct +{ + unsigned char data[64]; +} f2a_recvmsg_t; + +static int f2a_init_usb (void); +static int f2a_connect_usb (void); +static int f2a_info (f2a_recvmsg_t *rm); +static int f2a_boot_usb (const char *ilclient_fname); +static int f2a_read_usb (int address, int size, const char *filename); +static int f2a_write_usb (int n_files, char **files, int address); + +static usb_dev_handle *f2a_handle; +#endif // USE_USB + + +#ifdef USE_PARALLEL + +#define LOGO_ADDR 0x06000000 +#define EXEC_STUB 0x03002000 +#define ERASE_STUB 0x03000c00 +#define LOGO_SIZE 76800 +#define BOOT_SIZE 18432 + +#define FLIP 1 +#define HEAD 1 +#define EXEC 1 + +#define PP_CMD_WRITEROM 0x0a +#define PP_CMD_ERASE 0x0b +#define PP_HEAD_BOOT 0x01 + +typedef struct +{ + unsigned int pad1[3]; + unsigned int magic; + unsigned int command; + unsigned int address; + unsigned int sizekb; + unsigned int pad2; + unsigned int exec; + unsigned int exec_stub; + unsigned char pad3[984]; +} /*__attribute__ ((packed))*/ f2a_msg_cmd_t; // packed attribute is not necessary + +static int f2a_boot_par (const char *ilclient2_fname, const char *illogo_fname); +static int f2a_write_par (int n_files, char **files, unsigned int address); +static int f2a_read_par (unsigned int start, unsigned int size, + const char *filename); +//static int f2a_erase_par (unsigned int start, unsigned int size); +static int f2a_send_buffer_par (int cmd, int address, + int size, const unsigned char *resource, int head, + int flip, unsigned int exec, int mode); +static int f2a_send_cmd_par (int cmd, int address, int size); +static int f2a_exec_cmd_par (int cmd, int address, int size); +static int f2a_receive_data_par (int cmd, int address, int size, + const char *filename, int flip); +static int f2a_send_head_par (int cmd, int size); +static int f2a_send_raw_par (unsigned char *buffer, int len); +static int f2a_receive_raw_par (unsigned char *buffer, int len); +static int f2a_wait_par (); +static int parport_init (int port, int target_delay); +static int parport_init_delay (int target); +static void parport_out31 (unsigned char val); +static void parport_out91 (unsigned char val); +static void parport_nop (); + +static int f2a_pport; +#ifdef DEBUG +static int parport_debug = 1; +#else +static int parport_debug = 0; +#endif +static int parport_nop_cntr; +#endif // USE_PARALLEL + + +#if defined USE_PARALLEL || defined USE_USB + +#define LOADER_SIZE 32768 + +#define CMD_WRITEDATA 0x06 // write data to RAM/ROM(USB)/SRAM +#define CMD_READDATA 0x07 // read data from RAM/ROM(USB)/SRAM +#define MAGIC_NUMBER 0xa46e5b91 // needs to be properly set for almost all commands + +enum +{ + UPLOAD_FAILED = 0, + CANNOT_GET_FILE_SIZE, + UPLOAD_FILE +}; + +static time_t starttime = 0; +static const char *f2a_msg[] = { + "ERROR: Upload failed\n", + "ERROR: Can't determine size of file \"%s\"\n", + "Uploading %s, %d kB, padded to %d kB\n", + NULL +}; +#endif + + +#ifdef USE_USB + +int +exec (const char *program, int argc, ...) +/* + This function is needed in order to execute a program with the same + permissions as we have. In this way a suid root uCON64 executable can execute + programs that require root privileges. We cannot use system(), because it + might drop privileges. + argc should be the number of _arguments_ (excluding the program name itself). + DON'T move this function to misc.c. It's only necessary under Linux 2.5 (and + later) for the USB version of the F2A. It's hard to be more system dependent + than that. - dbjh +*/ +{ + va_list argptr; + int status; + + argc++; + va_start (argptr, argc); + if (fork () == 0) + { + int n, size; + char *argv[argc + 1], *arg; + + size = strlen (program) + 1; + if ((argv[0] = (char *) malloc (size)) == NULL) + { + fprintf (stderr, ucon64_msg[BUFFER_ERROR], size); + exit (1); + } + strcpy (argv[0], program); + + for (n = 1; n < argc; n++) + { + arg = (char *) va_arg (argptr, char *); // get next argument + size = strlen (arg) + 1; + if ((argv[n] = (char *) malloc (size)) == NULL) + { + fprintf (stderr, ucon64_msg[BUFFER_ERROR], size); + exit (1); + } + strcpy (argv[n], arg); + } + argv[n] = 0; + + setuid (geteuid ()); + setgid (getegid ()); + if (execv (argv[0], (char **) argv)) + { // error in info page: return value can be != 1 +// fprintf (stderr, "ERROR: %s\n", strerror (errno)); + exit (1); + } + } + wait (&status); + va_end (argptr); + + return status; +} + + +static int +f2a_init_usb (void) +{ + f2a_recvmsg_t rm; + char iclientu_fname[FILENAME_MAX]; + + if (sizeof (f2a_recvmsg_t) != 64) + { + fprintf (stderr, "ERROR: The size of f2a_recvmsg_t is not 64 bytes.\n" + " Please correct the source code or send a bug report\n"); + exit (1); + } + if (sizeof (f2a_sendmsg_t) != 64) + { + fprintf (stderr, "ERROR: The size of f2a_sendmsg_t is not 64 bytes.\n" + " Please correct the source code or send a bug report\n"); + exit (1); + } + + memset (&rm, 0, sizeof (rm)); + + if (f2a_connect_usb ()) + { + fprintf (stderr, "ERROR: Could not connect to F2A USB linker\n"); + exit (1); // fatal + } + f2a_info (&rm); + if (rm.data[0] == 0) + { + get_property_fname (ucon64.configfile, "iclientu", iclientu_fname, "iclientu.bin"); + if (f2a_boot_usb (iclientu_fname)) + { + fprintf (stderr, "ERROR: Booting GBA client binary was not successful\n"); + exit (1); // fatal + } + f2a_info (&rm); + } + return 0; +} + + +static int +f2a_connect_usb (void) +{ + int fp, result, firmware_loaded = 0; + unsigned char f2afirmware[F2A_FIRM_SIZE]; + char f2afirmware_fname[FILENAME_MAX]; + struct usb_bus *bus; + struct usb_device *dev, *f2adev = NULL; + + get_property_fname (ucon64.configfile, "f2afirmware", f2afirmware_fname, "f2afirm.hex"); + if (ucon64_fread (f2afirmware, 0, F2A_FIRM_SIZE, f2afirmware_fname) <= 0) + { + fprintf (stderr, "ERROR: Could not load F2A firmware (%s)\n", f2afirmware_fname); + exit (1); // fatal + } + + usb_init (); + usb_find_busses (); + usb_find_devices (); + for (bus = usb_busses; bus; bus = bus->next) // usb_busses is present in libusb + { + for (dev = bus->devices; dev; dev = dev->next) + { + if (dev->descriptor.idVendor == 0x547 && dev->descriptor.idProduct == 0x2131) + { + struct utsname info; + int version; + + if (uname (&info) == -1) + { + fputs ("ERROR: Could not determine version of the running kernel\n", stderr); + return -1; + } + + version = strtol (&info.release[0], NULL, 10) * 10 + + strtol (&info.release[2], NULL, 10); + // example contents of info.release: "2.4.18-14custom" + if (version >= 25) // Linux kernel 2.5 or later + { + // use fxload to upload the F2A firmware + char device_path[160]; + int exitstatus; + + snprintf (device_path, 160, "/proc/bus/usb/%s/%s", + bus->dirname, dev->filename); + exitstatus = exec ("/sbin/fxload", 7, "-D", device_path, "-I", + f2afirmware_fname, "-t", "an21", + ucon64.quiet < 0 ? "-vv" : "-v"); + if (WEXITSTATUS (exitstatus)) + { + char cmd[10 * 80]; + + snprintf (cmd, 10 * 80, ucon64.quiet < 0 ? + "/sbin/fxload -D %s -I %s -t an21 -vv" : + "/sbin/fxload -D %s -I %s -t an21 -v", + device_path, f2afirmware_fname); + fprintf (stderr, "ERROR: Could not upload EZUSB firmware using fxload. Command:\n" + " %s\n", cmd); + return -1; + } + } + else + { + int wrote, w; + + // Linux kernel version 2.4 or older (2.2.16 is supported by + // the EZUSB2131 driver). It is possible to use fxload under + // (later versions of?) Linux 2.4... + if ((fp = open (EZDEV, O_WRONLY)) == -1) + { + fprintf (stderr, "ERROR: Could not upload EZUSB firmware (opening " + EZDEV": %s)\n", strerror (errno)); + return -1; + } + + // The EZUSB2131 driver (version 1.0) only accepts one line of + // an Intel hex record file at a time... + for (wrote = 0; wrote < F2A_FIRM_SIZE; wrote += w) + { + if ((w = write (fp, f2afirmware + wrote, F2A_FIRM_SIZE - wrote)) == -1) + { + fprintf (stderr, "ERROR: Could not upload EZUSB firmware (writing " + EZDEV": %s)\n", strerror (errno)); + return -1; + } + if (ucon64.quiet < 0) + printf ("Wrote %d bytes (%d-%d of %d) to "EZDEV"\n", + w, wrote, wrote + w, F2A_FIRM_SIZE); + } + close (fp); + } + firmware_loaded = 1; + wait2 (2000); // give the EZUSB some time to renumerate + break; + } + } + if (firmware_loaded) + break; + } + + usb_find_devices (); + for (bus = usb_busses; bus; bus = bus->next) + { + for (dev = bus->devices; dev; dev = dev->next) + { + if (dev->descriptor.idVendor == 0x547 && dev->descriptor.idProduct == 0x1002) + { + f2adev = dev; + break; + } + } + if (f2adev) + break; + } + + if (f2adev == NULL) + { + fprintf (stderr, "ERROR: Could not find F2A attached to USB\n"); + return -1; + } + + f2a_handle = usbport_open (f2adev); + + result = usb_claim_interface (f2a_handle, 0x4); + if (result == -1) + { + fprintf (stderr, "ERROR: Could not claim USB interface\n" + " %s\n", usb_strerror ()); + return -1; + } + result = usb_claim_interface (f2a_handle, 0x83); + if (result == -1) + { + fprintf (stderr, "ERROR: Could not claim USB interface\n" + " %s\n", usb_strerror ()); + return -1; + } + + return 0; +} + + +static int +f2a_info (f2a_recvmsg_t *rm) +{ + f2a_sendmsg_t sm; + + memset (&sm, 0, sizeof (f2a_sendmsg_t)); + memset (rm, 0, sizeof (f2a_recvmsg_t)); + + sm.command = me2le_32 (CMD_GETINF); + + if (usbport_write (f2a_handle, (char *) &sm, SENDMSG_SIZE) == -1) + { + fprintf (stderr, "ERROR: Could not send info request\n"); + exit (1); + } + if (usbport_read (f2a_handle, (char *) rm, sizeof (f2a_recvmsg_t)) == -1) + { + fprintf (stderr, "ERROR: Did not receive info request\n"); + exit (1); + } + +#if 0 + { + unsigned int i; + for (i = 0; i < (sizeof (f2a_sendmsg_t) / 4); i++) + printf ("%-2x %08X\n", i, *(((unsigned int *) (&sm)) + i)); + + if (ucon64.quiet < 0) + { + printf ("info:"); + for (i = 0; i < (sizeof (f2a_sendmsg_t) / 4); i++) + printf (" %08X", *(((unsigned int *) (rm)) + i)); + fputc ('\n', stdout); + } + } +#endif + + return 0; +} + + +static int +f2a_boot_usb (const char *ilclient_fname) +{ + f2a_sendmsg_t sm; + unsigned int ack[16], i; + char ilclient[16 * 1024]; + + printf ("Booting GBA\n" + "Uploading iLinker client\n" + "Please turn OFF, then ON your GBA with SELECT and START held down\n"); + + if (ucon64_fread (ilclient, 0, 16 * 1024, ilclient_fname) <= 0) + { + fprintf (stderr, "ERROR: Could not load GBA client binary (%s)\n", ilclient_fname); + return -1; + } + + // boot the GBA + memset (&sm, 0, sizeof (f2a_sendmsg_t)); + sm.command = me2le_32 (CMD_MULTIBOOT1); + usbport_write (f2a_handle, (char *) &sm, SENDMSG_SIZE); + sm.command = me2le_32 (CMD_MULTIBOOT2); + sm.size = me2le_32 (16 * 1024); + usbport_write (f2a_handle, (char *) &sm, SENDMSG_SIZE); + + // send the multiboot image + if (usbport_write (f2a_handle, ilclient, 16 * 1024) == -1) + { + fprintf (stderr, f2a_msg[UPLOAD_FAILED]); + return -1; + } + + if (usbport_read (f2a_handle, (char *) ack, 16 * 4) == -1) + return -1; + + if (ucon64.quiet < 0) + { + printf ("post-boot:"); + for (i = 0; i < 16; i++) + printf (" %08X", ack[i]); + fputc ('\n', stdout); + } + + return 0; +} + + +static int +f2a_read_usb (int address, int size, const char *filename) +{ + FILE *file; + int i; + f2a_sendmsg_t sm; + char buffer[1024]; + + memset (&sm, 0, sizeof (f2a_sendmsg_t)); + + if ((file = fopen (filename, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + //exit (1); for now, return, although registering usbport_close() is better + return -1; + } + + sm.command = me2le_32 (CMD_READDATA); + sm.magic = me2le_32 (MAGIC_NUMBER); + sm.unknown = me2le_32 (7); + sm.address = me2le_32 (address); + sm.size = me2le_32 (size); + sm.sizekb = me2le_32 (size / 1024); + if (usbport_write (f2a_handle, (char *) &sm, SENDMSG_SIZE) == -1) + return -1; + + for (i = 0; i < size; i += 1024) + { + if (usbport_read (f2a_handle, buffer, 1024) == -1) + { + fclose (file); + return -1; + } + if (!fwrite (buffer, 1024, 1, file)) // note order of arguments + { + fprintf (stderr, ucon64_msg[WRITE_ERROR], filename); + fclose (file); + return -1; // see comment for fopen() call + } + ucon64_gauge (starttime, i + 1024, size); + } + fclose (file); + return 0; +} + + +static int +f2a_write_usb (int n_files, char **files, int address) +{ + f2a_sendmsg_t sm; + int i, j, fsize, size, n, is_sram_data = address >= 0xe000000 ? 1 : 0; + char buffer[1024], loader_fname[FILENAME_MAX]; + unsigned char loader[LOADER_SIZE]; + FILE *file; + + // initialize command buffer + memset (&sm, 0, sizeof (f2a_sendmsg_t)); + sm.command = me2le_32 (CMD_WRITEDATA); + sm.magic = me2le_32 (MAGIC_NUMBER); + sm.unknown = me2le_32 (is_sram_data ? 0x06 : 0x0a); // SRAM => 0x06, ROM => 0x0a + + if (n_files > 1 && !is_sram_data) + { + printf ("Uploading multiloader\n"); + get_property_fname (ucon64.configfile, "gbaloader", loader_fname, "loader.bin"); + if (ucon64_fread (loader, 0, LOADER_SIZE, loader_fname) <= 0) + { + fprintf (stderr, "ERROR: Could not load loader binary (%s)\n", loader_fname); + return -1; + } +#if 0 // just use a correct loader file - dbjh + ((int *) loader)[0] = me2be_32 (0x2e0000ea); // start address +#endif + memcpy (loader + 4, gba_logodata, GBA_LOGODATA_LEN); // + 4 for start address + + sm.size = me2le_32 (LOADER_SIZE); + sm.address = me2le_32 (address); + sm.sizekb = me2le_32 (LOADER_SIZE / 1024); + + if (usbport_write (f2a_handle, (char *) &sm, SENDMSG_SIZE) == -1) + return -1; + + if (usbport_write (f2a_handle, (char *) loader, LOADER_SIZE) == -1) + { + fprintf (stderr, f2a_msg[UPLOAD_FAILED]); + return -1; + } + address += LOADER_SIZE; + } + for (j = 0; j < n_files; j++) + { + if ((fsize = fsizeof (files[j])) == -1) + { + fprintf (stderr, f2a_msg[CANNOT_GET_FILE_SIZE], files[j]); + return -1; + } + // Round up to 32 kB. FIXME: This has to be 128 kB for Turbo carts + size = fsize; + if (size & (32768 - 1)) + size += 32768; + size &= ~(32768 - 1); + printf (f2a_msg[UPLOAD_FILE], files[j], fsize / 1024, size / 1024); + + if ((file = fopen (files[j], "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], files[j]); + //exit (1); for now, return, although registering usbport_close() is better + return -1; + } + clearerr (file); + + sm.size = me2le_32 (size); + sm.address = me2le_32 (address); + sm.sizekb = me2le_32 (size / 1024); + + if (usbport_write (f2a_handle, (char *) &sm, SENDMSG_SIZE) == -1) + return -1; + + for (i = 0; i < size; i += 1024) + { + //printf ("writing chunk %d\n", i); + n = fread (buffer, 1, 1024, file); + memset (buffer + n, 0, 1024 - n); + if (ferror (file)) + { + fputc ('\n', stderr); + fprintf (stderr, ucon64_msg[READ_ERROR], files[j]); + fclose (file); + return -1; // see comment for fopen() call + } + if (usbport_write (f2a_handle, buffer, 1024) == -1) + return -1; + ucon64_gauge (starttime, i + 1024, size); + } + fputc ('\n', stdout); // start new gauge on new line + + fclose (file); + address += fsize; + } + + return 0; +} + +#endif // USE_USB + + +#ifdef USE_PARALLEL + +static int +f2a_init_par (int parport, int parport_delay) +{ + char iclientp_fname[FILENAME_MAX], ilogo_fname[FILENAME_MAX]; + + if (parport_init (parport, parport_delay)) + { + fprintf (stderr, "ERROR: Could not connect to F2A parport linker\n"); + exit (1); // fatal + } + + get_property_fname (ucon64.configfile, "iclientp", iclientp_fname, "iclientp.bin"); + get_property_fname (ucon64.configfile, "ilogo", ilogo_fname, ""); // "ilogo.bin" + if (f2a_boot_par (iclientp_fname, ilogo_fname)) + { + fprintf (stderr, "ERROR: Booting GBA client binary was not successful\n"); + exit (1); // fatal + } + return 0; +} + + +int +parport_init (int port, int target_delay) +{ + f2a_pport = port; + parport_nop_cntr = parport_init_delay (target_delay); + + parport_print_info (); + +#ifndef USE_PPDEV + outportb ((unsigned short) (f2a_pport + PARPORT_STATUS), 0x01); // clear EPP time flag +#endif + + outportb ((unsigned short) (f2a_pport + PARPORT_CONTROL), 0x04); + outportb ((unsigned short) (f2a_pport + PARPORT_CONTROL), 0x01); + outportb ((unsigned short) (f2a_pport + PARPORT_DATA), 0x04); + + parport_out91 (0x47); + parport_out31 (0x02); + parport_out91 (0x12); + parport_out31 (0x01); + parport_out91 (0x34); + parport_out31 (0x00); + parport_out91 (0x56); + + // not parport_out31 (0x02), because extra write to control register + outportb ((unsigned short) (f2a_pport + PARPORT_CONTROL), 0x03); + outportb ((unsigned short) (f2a_pport + PARPORT_CONTROL), 0x01); + outportb ((unsigned short) (f2a_pport + PARPORT_CONTROL), 0x01); + outportb ((unsigned short) (f2a_pport + PARPORT_CONTROL), 0x01); + outportb ((unsigned short) (f2a_pport + PARPORT_DATA), 0x02); + + // not parport_out91 (0x00), because no write to data register + outportb ((unsigned short) (f2a_pport + PARPORT_CONTROL), 0x09); + outportb ((unsigned short) (f2a_pport + PARPORT_CONTROL), 0x01); + outportb ((unsigned short) (f2a_pport + PARPORT_CONTROL), 0x00); + outportb ((unsigned short) (f2a_pport + PARPORT_CONTROL), 0x00); + + outportb ((unsigned short) (f2a_pport + PARPORT_CONTROL), 0x02); + inportb ((unsigned short) (f2a_pport + PARPORT_STATUS)); + outportb ((unsigned short) (f2a_pport + PARPORT_CONTROL), 0x06); + inportb ((unsigned short) (f2a_pport + PARPORT_STATUS)); + outportb ((unsigned short) (f2a_pport + PARPORT_CONTROL), 0x00); + + outportb ((unsigned short) (f2a_pport + PARPORT_CONTROL), 0x01); + outportb ((unsigned short) (f2a_pport + PARPORT_EADDRESS), 0x04); + outportb ((unsigned short) (f2a_pport + PARPORT_EDATA), 0x07); + + outportb ((unsigned short) (f2a_pport + PARPORT_CONTROL), 0x01); + outportb ((unsigned short) (f2a_pport + PARPORT_EADDRESS), 0x02); + outportb ((unsigned short) (f2a_pport + PARPORT_EDATA), 0x12); + + outportb ((unsigned short) (f2a_pport + PARPORT_CONTROL), 0x01); + outportb ((unsigned short) (f2a_pport + PARPORT_EADDRESS), 0x01); + outportb ((unsigned short) (f2a_pport + PARPORT_EDATA), 0x34); + + outportb ((unsigned short) (f2a_pport + PARPORT_CONTROL), 0x01); + outportb ((unsigned short) (f2a_pport + PARPORT_EADDRESS), 0x00); + outportb ((unsigned short) (f2a_pport + PARPORT_EDATA), 0x56); + + outportb ((unsigned short) (f2a_pport + PARPORT_CONTROL), 0x01); + outportb ((unsigned short) (f2a_pport + PARPORT_CONTROL), 0x01); + outportb ((unsigned short) (f2a_pport + PARPORT_EADDRESS), 0x02); + outportb ((unsigned short) (f2a_pport + PARPORT_CONTROL), 0x00); + inportb ((unsigned short) (f2a_pport + PARPORT_EDATA)); + + return 0; +} + + +static int +parport_init_delay (int n_micros) +/* + We only have millisecond accuracy on DOS, while we have to determine the + correct initial loop counter value for a number of microseconds. Luckily, the + function of time against the initial loop counter value is linear (provided + that the initial counter value is large enough), so we can just divide the + found loop value by 1000. Of course, in reality we don't get millisecond + accuracy... + TODO: Find the equivalent of gettimeofday() for MinGW and Visual C++ +*/ +{ +#define N_CHECKS 10 +#define N_HITSMAX 10 +#if defined _WIN32 || defined __MSDOS__ + struct timeb t0, t1; +#else + struct timeval t0, t1; +#endif + int n_ticks = 0, n, n_hits = 0, loop = 10000, loop_sum = 0; + volatile int m; // volatile is necessary for Visual C++... + + printf ("Determining delay loop value for %d microseconds...", n_micros); + fflush (stdout); + while (n_hits < N_HITSMAX) + { + n_ticks = 0; + for (n = 0; n < N_CHECKS; n++) + { + m = loop; +#if defined _WIN32 || defined __MSDOS__ + ftime (&t0); +#else + gettimeofday (&t0, NULL); +#endif + while (m--) + ; +#if defined _WIN32 || defined __MSDOS__ + ftime (&t1); + n_ticks += (t1.time * 1000 + t1.millitm) - (t0.time * 1000 + t0.millitm); +#else + gettimeofday (&t1, NULL); + n_ticks += (t1.tv_sec * 1000000 + t1.tv_usec) - (t0.tv_sec * 1000000 + t0.tv_usec); +#endif + } + n_ticks /= N_CHECKS; + +#ifndef DJGPP + if (n_ticks - n_micros == 0) // we are aiming at microsecond accuracy... +#else // DJGPP's runtime system is quite inaccurate under Windows XP + n = n_ticks - n_micros; + if (n < 0) + n = -n; + if (n <= 1) // allow a deviation of 1 ms? +#endif + { + n_hits++; + loop_sum += loop; + loop -= loop >> 3; // force "variation" in hope of better accuracy + continue; + } + + if (n_ticks == 0) + loop <<= 1; + else + loop = (int) (n_micros / ((float) n_ticks / loop)); + } + +#if defined _WIN32 || defined __MSDOS__ + n = loop_sum / (1000 * N_HITSMAX); // divide by 1000 +#else + n = loop_sum / N_HITSMAX; // we summed N_HITSMAX loop values +#endif + printf ("done (%d)\n", n); + return n; +} + + +static void +parport_nop () +{ + volatile int i = parport_nop_cntr; // volatile is necessary for Visual C++... + while (i--) + ; +} + + +static void +parport_out31 (unsigned char val) +{ + outportb ((unsigned short) (f2a_pport + PARPORT_CONTROL), 0x03); + outportb ((unsigned short) (f2a_pport + PARPORT_CONTROL), 0x01); + outportb ((unsigned short) (f2a_pport + PARPORT_CONTROL), 0x01); + outportb ((unsigned short) (f2a_pport + PARPORT_DATA), val); +} + + +static void +parport_out91 (unsigned char val) +{ + outportb ((unsigned short) (f2a_pport + PARPORT_CONTROL), 0x09); + outportb ((unsigned short) (f2a_pport + PARPORT_CONTROL), 0x01); + outportb ((unsigned short) (f2a_pport + PARPORT_DATA), val); +} + + +int +f2a_boot_par (const char *iclientp_fname, const char *ilogo_fname) +{ + unsigned char recv[4], iclientp[BOOT_SIZE]; + + printf ("Booting GBA\n" + "Please turn OFF, then ON your GBA with SELECT and START held down\n"); + + if (f2a_send_head_par (PP_HEAD_BOOT, 1)) + return -1; + if (f2a_receive_raw_par (recv, 4)) + return -1; + + if (ilogo_fname[0] != 0) + { + unsigned char ilogo[LOGO_SIZE]; + + printf ("Uploading iLinker logo\n"); + if (ucon64_fread (ilogo, 0, LOGO_SIZE, ilogo_fname) <= 0) + { + fprintf (stderr, "ERROR: Could not load logo file (%s)\n", ilogo_fname); + return -1; + } + if (f2a_send_buffer_par (CMD_WRITEDATA, LOGO_ADDR, LOGO_SIZE, ilogo, + 0, 0, 0, 0)) + { + fprintf (stderr, f2a_msg[UPLOAD_FAILED]); + return -1; + } + } + + printf ("Uploading iLinker client\n"); + if (ucon64_fread (iclientp, 0, BOOT_SIZE, iclientp_fname) <= 0) + { + fprintf (stderr, "ERROR: Could not load GBA client binary (%s)\n", iclientp_fname); + return -1; + } + if (f2a_send_buffer_par (CMD_WRITEDATA, EXEC_STUB, BOOT_SIZE, iclientp, + HEAD, FLIP, EXEC, 0)) + { + fprintf (stderr, f2a_msg[UPLOAD_FAILED]); + return -1; + } + return 0; +} + + +int +f2a_write_par (int n_files, char **files, unsigned int address) +{ + int j, fsize, size, is_sram_data = address >= 0xe000000 ? 1 : 0; + char loader_fname[FILENAME_MAX]; + unsigned char loader[LOADER_SIZE]; + + if (n_files > 1 && !is_sram_data) + { + printf ("Uploading multiloader\n"); + get_property_fname (ucon64.configfile, "gbaloader", loader_fname, "loader.bin"); + if (ucon64_fread (loader, 0, LOADER_SIZE, loader_fname) <= 0) + { + fprintf (stderr, "ERROR: Could not load loader binary (%s)\n", loader_fname); + return -1; + } +#if 0 // just use a correct loader file - dbjh + ((int *) loader)[0] = me2le_32 (0x2e0000ea); // start address +#endif + if (f2a_send_buffer_par (PP_CMD_WRITEROM, address, LOADER_SIZE, loader, + HEAD, FLIP, 0, 0)) + { + fprintf (stderr, f2a_msg[UPLOAD_FAILED]); + return -1; + } + address += LOADER_SIZE; + } + for (j = 0; j < n_files; j++) + { + if ((fsize = fsizeof (files[j])) == -1) + { + fprintf (stderr, f2a_msg[CANNOT_GET_FILE_SIZE], files[j]); + return -1; + } + size = fsize; + if (size & (32768 - 1)) + size += 32768; + size &= ~(32768 - 1); + printf (f2a_msg[UPLOAD_FILE], files[j], fsize / 1024, size / 1024); + if (f2a_send_buffer_par (PP_CMD_WRITEROM, address, size, + (unsigned char *) files[j], HEAD, FLIP, 0, 1)) + { + fprintf (stderr, f2a_msg[UPLOAD_FAILED]); + return -1; + } + + address += size; + } + return 0; +} + + +int +f2a_erase_par (unsigned int start, unsigned int size) +{ + int end, address; + + f2a_exec_cmd_par (CMD_READDATA, ERASE_STUB, 1024); + end = start + (size); + + printf ("Erase cart start=0x%08x end=0x%08x\n", start, end); + for (address = start; address < end; address += 0x40000) + f2a_send_cmd_par (PP_CMD_ERASE, address, 1024); + return 0; +} + + +int +f2a_read_par (unsigned int start, unsigned int size, const char *filename) +{ + f2a_exec_cmd_par (CMD_READDATA, ERASE_STUB, 1024); + printf ("Reading from cart start=0x%08x size=0x%08x\n", start, size); + f2a_receive_data_par (CMD_READDATA, start, size, filename, FLIP); + return 0; +} + + +#if 0 +typedef struct +{ + unsigned char header[16]; + unsigned char command; + unsigned char unknown; + unsigned int size; + unsigned char pad[58]; +} __attribute__ ((packed)) f2a_msg_head_t; +#endif + +static int +f2a_send_head_par (int cmd, int size) +{ + unsigned char trans[] = { 0xa, 0x8, 0xe, 0xc, 0x2, 0x0, 0x6, 0x4 }, + msg_header[80] = { 0x49, 0x2d, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x72, + 0x2e, 0x31, 0x30, 0x30, 0x00, 0x00, 0x01, 0xe8 }; +// f2a_msg_head_t msg_header; // Don't use structs with misaligned + unsigned short int s; // members for data streams (we don't + // want compiler-specific stuff) +// memcpy (&msg_head, header, 16); // .head + msg_header[16] = cmd; // .command + s = size / 1024; + msg_header[17] = // .unknown + (trans[((s & 255) / 32)] << 4) | (((1023 - (s & 1023)) / 256) & 0x0f); +// msg_header.unknown = 0x82; + msg_header[18] = (unsigned char) s; // .size + msg_header[19] = (unsigned char) (s >> 8); + memset (&msg_header[20], 0, 80 - 20); + + if (f2a_send_raw_par (msg_header, 80)) + return -1; + return 0; +} + + +static int +f2a_exec_cmd_par (int cmd, int address, int size) +{ + unsigned char *buffer; + f2a_msg_cmd_t msg_cmd; + + memset (&msg_cmd, 0, sizeof (f2a_msg_cmd_t)); + msg_cmd.magic = me2be_32 (MAGIC_NUMBER); + msg_cmd.command = me2be_32 (cmd); + msg_cmd.address = me2be_32 (address); + msg_cmd.sizekb = me2be_32 (size / 1024); + + msg_cmd.exec_stub = me2be_32 (EXEC_STUB); + msg_cmd.exec = me2be_32 (0x08); + f2a_send_head_par (CMD_READDATA, size); + f2a_wait_par (); + + if (parport_debug) + fprintf (stderr, + "sending msg_cmd cmd='0x%08x' address='0x%08x' size='0x%08x' %d bytes\n", + msg_cmd.command, msg_cmd.address, msg_cmd.sizekb, + (int) sizeof (f2a_msg_cmd_t)); + + + f2a_send_raw_par ((unsigned char *) &msg_cmd, sizeof (f2a_msg_cmd_t)); +// f2a_wait_par (); + if ((buffer = (unsigned char *) malloc (size)) == NULL) + { + fprintf (stderr, ucon64_msg[BUFFER_ERROR], size); + exit (1); // not return, caller doesn't handle it + } + f2a_receive_raw_par (buffer, size); + free (buffer); + + return 0; +} + + +static int +f2a_receive_data_par (int cmd, int address, int size, const char *filename, int flip) +{ + unsigned char buffer[1024], recv[4]; //, *mbuffer; + int i, j; + f2a_msg_cmd_t msg_cmd; + FILE *file; + + memset (&msg_cmd, 0, sizeof (f2a_msg_cmd_t)); + msg_cmd.magic = me2be_32 (MAGIC_NUMBER); + msg_cmd.command = me2be_32 (cmd); + msg_cmd.address = me2be_32 (address); + msg_cmd.sizekb = me2be_32 (size / 1024); + + if (f2a_send_head_par (CMD_READDATA, size)) + return -1; + + if (f2a_receive_raw_par (recv, 4)) + return -1; + + if (parport_debug) + fprintf (stderr, + "sending msg_cmd cmd='0x%08x' address='0x%08x' size='0x%08x' %d bytes\n", + msg_cmd.command, msg_cmd.address, msg_cmd.sizekb, + (int) sizeof (f2a_msg_cmd_t)); + + f2a_send_raw_par ((unsigned char *) &msg_cmd, sizeof (f2a_msg_cmd_t)); + + if ((file = fopen (filename, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + //exit (1); return, because the other code does it too... + return -1; + } + +#if 0 + if ((mbuffer = (unsigned char *) malloc (size)) == NULL) + { + fprintf (stderr, ucon64_msg[BUFFER_ERROR], size); + //exit (1); see comment for fopen() call + return -1; + } + f2a_receive_raw_par (mbuffer, size); + if (flip) + for (j = 0; j < size / 4; j++) + ((int *) mbuffer)[j] = bswap_32 (((int *) mbuffer)[j]); + + if (!fwrite (mbuffer, size, 1, file)) // note order of arguments + { + fprintf (stderr, ucon64_msg[WRITE_ERROR], filename); + fclose (file); + free (mbuffer); + return -1; // see comment for fopen() call + } + free (mbuffer); +#else + for (i = 0; i < size; i += 1024) + { + f2a_receive_raw_par (buffer, 1024); + if (flip) + for (j = 0; j < 256; j++) + ((int *) buffer)[j] = bswap_32 (((int *) buffer)[j]); + + if (!fwrite (buffer, 1024, 1, file)) // note order of arguments + { + fprintf (stderr, ucon64_msg[WRITE_ERROR], filename); + fclose (file); + return -1; // see comment for fopen() call + } + + if (parport_debug) + fprintf (stderr, "reading chunk %d of %d\n", (int) (i / 1024) + 1, + (int) (size / 1024)); + else + ucon64_gauge (starttime, i + 1024, size); + } + if (!parport_debug) + fputc ('\n', stdout); + fclose (file); +#endif + + return 0; +} + + +static int +f2a_send_cmd_par (int cmd, int address, int size) +{ + unsigned char recv[4]; + f2a_msg_cmd_t msg_cmd; + + memset (&msg_cmd, 0, sizeof (f2a_msg_cmd_t)); + msg_cmd.magic = me2be_32 (MAGIC_NUMBER); + msg_cmd.command = me2be_32 (cmd); + msg_cmd.address = me2be_32 (address); + msg_cmd.sizekb = me2be_32 (size / 1024); + + if (f2a_send_head_par (CMD_WRITEDATA, size)) + return -1; + + if (f2a_receive_raw_par (recv, 4)) + return -1; + + if (parport_debug) + fprintf (stderr, + "parport_send_cmd cmd='0x%08x' address='0x%08x' size='0x%08x' %d bytes\n", + msg_cmd.command, msg_cmd.address, msg_cmd.sizekb, + (int) sizeof (f2a_msg_cmd_t)); + + if (f2a_send_raw_par ((unsigned char *) &msg_cmd, sizeof (f2a_msg_cmd_t))) + return -1; + return 0; +} + + +static int +f2a_send_buffer_par (int cmd, int address, int size, const unsigned char *resource, + int head, int flip, unsigned int exec, int mode) +{ + unsigned char recv[4], buffer[1024]; + int i, j; + f2a_msg_cmd_t msg_cmd; + FILE *file = NULL; + + memset (&msg_cmd, 0, sizeof (f2a_msg_cmd_t)); + msg_cmd.magic = me2be_32 (MAGIC_NUMBER); + msg_cmd.command = me2be_32 (cmd); + msg_cmd.address = me2be_32 (address); + msg_cmd.sizekb = me2be_32 (size / 1024); + if (exec) + { + msg_cmd.exec_stub = me2be_32 (EXEC_STUB); + msg_cmd.exec = me2be_32 (0x08); + } + if (f2a_send_head_par (CMD_WRITEDATA, size)) + return -1; + if (f2a_receive_raw_par (recv, 4)) + return -1; + + if (parport_debug) + fprintf (stderr, + "parport_send_buffer cmd='0x%08x' address='0x%08x' size='0x%08x' %d bytes\n", + msg_cmd.command, msg_cmd.address, msg_cmd.sizekb, + (int) sizeof (f2a_msg_cmd_t)); + + if (f2a_send_raw_par ((unsigned char *) &msg_cmd, sizeof (f2a_msg_cmd_t))) + return -1; + + if (mode == 1) + { + if ((file = fopen ((char *) resource, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], (char *) resource); + //exit (1); return, because the other code does it too... + return -1; + } + clearerr (file); + } + + for (i = 0; i < size; i += 1024) + { + if (mode == 1) + { + j = fread (buffer, 1, 1024, file); + memset (buffer + j, 0, 1024 - j); + if (ferror (file)) + { + fputc ('\n', stderr); + fprintf (stderr, ucon64_msg[READ_ERROR], (char *) resource); + fclose (file); + return -1; + } + } + else + memcpy (buffer, resource, 1024); + + if (flip) + for (j = 0; j < 256; j++) + ((int *) buffer)[j] = bswap_32 (((int *) buffer)[j]); + + if (!i && head) + for (j = 1; j < GBA_LOGODATA_LEN / 4 + 1; j++) // + 1 for start address + ((int *) buffer)[j] = bswap_32 (((int *) gba_logodata)[j - 1]); + + if (parport_debug) + fprintf (stderr, "sending chunk %d of %d\n", (int) (i / 1024) + 1, + (int) (size / 1024)); + else + ucon64_gauge (starttime, i + 1024, size); + f2a_send_raw_par (buffer, 1024); + if (mode == 0) + resource += 1024; + } + if (!parport_debug) + fputc ('\n', stdout); // start new gauge on new line + + if (mode == 1) + fclose (file); + + return 0; +} + + +#ifdef DEBUG +static void +parport_dump_byte (unsigned char byte) +{ + char i; + + for (i = 7; i >= 0; i--) + { + if ((byte >> i) & 1) + fprintf (stderr, "1"); + else + fprintf (stderr, "0"); + } + fputc ('\n', stderr); +} +#endif + + +static int +f2a_receive_raw_par (unsigned char *buffer, int len) +{ + int err, i; + unsigned char *ptr, nibble; + + ptr = buffer; + if (parport_debug) + fprintf (stderr, "\nreceive:\n%04x: ", 0); + + *ptr = 0; + for (err = 0, i = 0; i < len * 2; i++) + { + nibble = 0; + outportb ((unsigned short) (f2a_pport + PARPORT_CONTROL), 0x04); + parport_nop (); + while (inportb ((unsigned short) (f2a_pport + PARPORT_STATUS)) & PARPORT_IBUSY) + ; + outportb ((unsigned short) (f2a_pport + PARPORT_CONTROL), 0x05); + nibble = inportb ((unsigned short) (f2a_pport + PARPORT_STATUS)); + while (!(inportb ((unsigned short) (f2a_pport + PARPORT_STATUS)) & PARPORT_IBUSY)) + ; + if (i % 2) + { + *ptr |= (nibble >> 3) & 0x0f; + if (parport_debug) + { + fprintf (stderr, "%02x ", (unsigned char) *ptr); + if (!(((i / 2) + 1) % 32) && i && (i / 2) < len - 1) + fprintf (stderr, "\n%04x: ", (i / 2) + 1); + } + *ptr = 0; + ptr++; + } + else + *ptr |= ((nibble >> 3) & 0xf) << 4; + } + if (parport_debug) + fputc ('\n', stderr); + + return err; +} + + +static int +f2a_send_raw_par (unsigned char *buffer, int len) +{ + int timeout, i; + unsigned char *pc; + + pc = buffer; + if (parport_debug) + fprintf (stderr, "\nsend:\n%04x: ", 0); + for (i = 0; i < len; i++) + { + timeout = 2000; + if (parport_debug) + { + fprintf (stderr, "%02x ", (unsigned char) *pc); + if (!((i + 1) % 32) && i && i < len - 1) + fprintf (stderr, "\n%04x: ", i + 1); + } + outportb ((unsigned short) (f2a_pport + PARPORT_CONTROL), 0x04); + parport_nop (); + while ((inportb ((unsigned short) (f2a_pport + PARPORT_STATUS)) & PARPORT_IBUSY) && + (timeout--) > 0) + wait2 (1); + outportb ((unsigned short) (f2a_pport + PARPORT_DATA), *pc); + parport_nop (); + while ((inportb ((unsigned short) (f2a_pport + PARPORT_STATUS)) & PARPORT_IBUSY) && + (timeout--) > 0) + wait2 (1); + outportb ((unsigned short) (f2a_pport + PARPORT_CONTROL), 0x05); + parport_nop (); + while ((!(inportb ((unsigned short) (f2a_pport + PARPORT_STATUS)) & PARPORT_IBUSY)) && + (timeout--) > 0) + wait2 (1); + pc++; + if (timeout < 0) + { + fprintf (stderr, "\nERROR: Time-out\n"); + return -1; + } + } + if (parport_debug) + fputc ('\n', stderr); + + return 0; +} + + +static int +f2a_wait_par (void) +{ + int stat; + + while (1) + { + outportb ((unsigned short) (f2a_pport + PARPORT_CONTROL), 0x04); + parport_nop (); + stat = inportb ((unsigned short) (f2a_pport + PARPORT_STATUS)); + if (stat & PARPORT_IBUSY) + break; + outportb ((unsigned short) (f2a_pport + PARPORT_CONTROL), 0x05); + parport_nop (); + inportb ((unsigned short) (f2a_pport + PARPORT_STATUS)); + } + return 0; +} +#endif // USE_PARALLEL + + +#if defined USE_PARALLEL || defined USE_USB +int +f2a_read_rom (const char *filename, int size) +{ + int offset = 0; + + starttime = time (NULL); +#ifdef USE_USB + if (ucon64.usbport) + { + f2a_init_usb (); + f2a_read_usb (0x8000000 + offset * MBIT, size * MBIT, filename); + usbport_close (f2a_handle); + } +#endif +#if defined USE_PARALLEL && defined USE_USB + else +#endif +#ifdef USE_PARALLEL + { + f2a_init_par (ucon64.parport, 10); + f2a_read_par (0x08000000 + offset * MBIT, size * MBIT, filename); + } +#endif + return 0; +} + + +int +f2a_write_rom (const char *filename, int size) +{ + int offset = 0, n, n_files, n_files_max = 0, fsize, totalsize = LOADER_SIZE; + char **files = NULL, *file_mem[1]; + struct stat fstate; + + if (filename) // -xf2a + { + files = file_mem; + files[0] = (char *) filename; + n_files = 1; + } + else // -xf2amulti=SIZE + { + n_files = 0; + for (n = 1; n < ucon64.argc; n++) + { + if (access (ucon64.argv[n], F_OK)) + continue; // "file" does not exist (option) + stat (ucon64.argv[n], &fstate); + if (!S_ISREG (fstate.st_mode)) + continue; + + if (n_files == n_files_max) + { + n_files_max += 20; // allocate mem for 20 extra pointers + if ((files = (char **) realloc (files, n_files_max * 4)) == NULL) + { + fprintf (stderr, ucon64_msg[BUFFER_ERROR], n_files_max * 4); + exit (1); + } + } + + fsize = fsizeof (ucon64.argv[n]); + if (totalsize + fsize > size) + { + printf ("WARNING: The sum of the sizes of the files is larger than the specified flash\n" + " card size (%d Mbit). Skipping files, starting with\n" + " %s\n", + size / MBIT, ucon64.argv[n]); + break; + } + totalsize += fsize; + + files[n_files] = ucon64.argv[n]; + n_files++; + } + if (n_files == 0) + return -1; + } + + starttime = time (NULL); +#ifdef USE_USB + if (ucon64.usbport) + { + f2a_init_usb (); + f2a_write_usb (n_files, files, 0x8000000 + offset * MBIT); + usbport_close (f2a_handle); + } +#endif +#if defined USE_PARALLEL && defined USE_USB + else +#endif +#ifdef USE_PARALLEL + { + f2a_init_par (ucon64.parport, 10); + //f2a_erase_par (0x08000000, size * MBIT); + f2a_write_par (n_files, files, 0x8000000 + offset * MBIT); + } +#endif + + if (!filename) + free (files); + + return 0; +} + + +int +f2a_read_sram (const char *filename, int bank) +{ + int size; + + if (bank == UCON64_UNKNOWN) + { + bank = 1; + size = 256 * 1024; + } + else + { + if (bank < 1) + { + fprintf (stderr, "ERROR: Bank must be a number larger than or equal to 1\n"); + exit (1); + } + size = 64 * 1024; + } + bank--; + + starttime = time (NULL); +#ifdef USE_USB + if (ucon64.usbport) + { + f2a_init_usb (); + f2a_read_usb (0xe000000 + bank * 64 * 1024, size, filename); + usbport_close (f2a_handle); + } +#endif +#if defined USE_PARALLEL && defined USE_USB + else +#endif +#ifdef USE_PARALLEL + { + f2a_init_par (ucon64.parport, 10); + f2a_read_par (0xe000000 + bank * 64 * 1024, size, filename); + } +#endif + return 0; +} + + +int +f2a_write_sram (const char *filename, int bank) +{ + char *files[1] = { (char *) filename }; + + // define one bank as a 64 kilobyte unit + if (bank == UCON64_UNKNOWN) + bank = 1; + else + if (bank < 1) + { + fprintf (stderr, "ERROR: Bank must be a number larger than or equal to 1\n"); + exit (1); + } + bank--; + + starttime = time (NULL); +#ifdef USE_USB + if (ucon64.usbport) + { + f2a_init_usb (); + f2a_write_usb (1, files, 0xe000000 + bank * 64 * 1024); + usbport_close (f2a_handle); + } +#endif +#if defined USE_PARALLEL && defined USE_USB + else +#endif +#ifdef USE_PARALLEL + { + f2a_init_par (ucon64.parport, 10); + //f2a_erase_par (0xe000000, size * MBIT); + f2a_write_par (1, files, 0xe000000 + bank * 64 * 1024); + } +#endif + return 0; +} + +#endif // defined USE_PARALLEL || defined USE_USB diff --git a/tools/ucon64-2.0.0-src/src/backup/f2a.h b/tools/ucon64-2.0.0-src/src/backup/f2a.h new file mode 100644 index 0000000..13cafd6 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/f2a.h @@ -0,0 +1,34 @@ +/* +f2a.h - Flash 2 Advance support for uCON64 + +Copyright (c) 2003 Ulrich Hecht +Copyright (c) 2004 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef F2A_H +#define F2A_H + +extern const st_getopt2_t f2a_usage[]; + +#if defined USE_PARALLEL || defined USE_USB +extern int f2a_read_rom (const char *filename, int size); +extern int f2a_write_rom (const char *filename, int size); +extern int f2a_read_sram (const char *filename, int bank); +extern int f2a_write_sram (const char *filename, int bank); +#endif + +#endif diff --git a/tools/ucon64-2.0.0-src/src/backup/fal.c b/tools/ucon64-2.0.0-src/src/backup/fal.c new file mode 100644 index 0000000..1fded18 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/fal.c @@ -0,0 +1,1671 @@ +/* +fal.c - Flash Linker Advance support for uCON64 + +Copyright (c) 2001 Jeff Frohwein +Copyright (c) 2001 NoisyB +Copyright (c) 2001 - 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#include "misc/misc.h" +#include "misc/itypes.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ucon64_misc.h" +#include "fal.h" +#include "misc/parallel.h" +#include "console/gba.h" + + +const st_getopt2_t fal_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Flash Advance Linker"/*"2001 Visoly http://www.visoly.com"*/, + NULL + }, +#ifdef USE_PARALLEL + { + "xfal", 0, 0, UCON64_XFAL, + NULL, "send/receive ROM to/from Flash Advance Linker; " OPTION_LONG_S "port=PORT\n" + "receives automatically (32 Mbits) when ROM does not exist", + &ucon64_wf[WF_OBJ_GBA_DEFAULT_STOP_NO_ROM] + }, + { + "xfalmulti", 1, 0, UCON64_XFALMULTI, // send only + "SIZE", "send multiple ROMs to Flash Advance Linker (makes temporary\n" + "multi-game file truncated to SIZE Mbit); specify a loader in\n" + "the configuration file; " OPTION_LONG_S "port=PORT", + &ucon64_wf[WF_OBJ_GBA_DEFAULT_STOP] + }, + { + "xfalc", 1, 0, UCON64_XFALC, + "N", "receive N Mbits of ROM from Flash Advance Linker; " OPTION_LONG_S "port=PORT\n" + "N can be 8, 16, 32, 64, 128 or 256", + &ucon64_wf[WF_OBJ_GBA_STOP_NO_ROM] + }, + { + "xfals", 0, 0, UCON64_XFALS, + NULL, "send/receive SRAM to/from Flash Advance Linker; " OPTION_LONG_S "port=PORT\n" + "receives automatically when SRAM does not exist", + &ucon64_wf[WF_OBJ_GBA_STOP_NO_ROM] + }, + { + "xfalb", 1, 0, UCON64_XFALB, + "BANK", "send/receive SRAM to/from Flash Advance Linker BANK\n" + "BANK can be 1, 2, 3 or 4; " OPTION_LONG_S "port=PORT\n" + "receives automatically when SRAM does not exist", + &ucon64_wf[WF_OBJ_GBA_STOP_NO_ROM] + }, + { + "xfalm", 0, 0, UCON64_XFALM, + NULL, "try to enable EPP mode, default is SPP mode", + &ucon64_wf[WF_OBJ_GBA_SWITCH] + }, +#endif // USE_PARALLEL + {NULL, 0, 0, 0, NULL, NULL, NULL} +}; + + +#ifdef USE_PARALLEL + +/********************************************************/ +/* Flash Linker Advance */ +/* by Jeff Frohwein, 2001-Jun-28 */ +/* Compiled with DJGPP & linux */ +/********************************************************/ +// V1.0 - 01/06/28 - Original release +// V1.1 - 01/06/29 - Add -w option to slow down I/O transfer for some. +// V1.11 - 01/06/30 - Set ECP chipsets to proper parallel port mode. +// V1.2 - 01/07/23 - Fixed programming bug for Visoly carts. +// - Only the first block was getting erased. +// - -v option now appears on help (-h) menu. +// - -v & -s options now work properly after fixing a bug. +// V1.3 - 01/07/24 - Added support for Visoly turbo carts. +// V1.4 - 01/07/27 - Added support for longer filenames. +// - Fixed bug where files the size of the cart overwrite +// the first 16 half-words of the cart. Thnx goes to +// Richard W for the code fix. Thanks Richard! +// Fixed random lockup bug when programming Turbo carts. +// Added -n option. Header is now repaired by default. +// V1.5 - 01/09/25 - Added error retries/checking for older Visoly carts. +// - Odd length files no longer give a verify error on last byte+1 location. +// V1.6 - 01/11/11 - Made IRQ 7 instead of 5 and DMA 3 instead of 1 default +// - linux values. (Thanks to Massimiliano Marsiglietti.) +// - Added -D & -I to allow linux to change IRQ & DMA defaults. +// - Added LPT3 support. +// - Added error checking for space between switch & parameters. +// - Added -2 options for faster operation for some EPP ports. +// V1.7 - 01/11/13 - Added -b option to backup game save SRAM or game save Flash. +// - Added -r option to restore game save SRAM. (No flash support.) +// V1.71 - 01/11/23 - Fixed bug introduced in v1.7 where -d option printed out twice. +// V1.72 - 01/12/12 - Force 0x96 at location 0xb2 in header since it's required. + +// To compile source on linux: +// cc -o fl fl.c -O2 +// You must have root access to run this under linux. +// +// NOTE: This file is filled with cr+lf line terminators. This may +// lead to unhelpful and weird error messages with gcc for linux. +// Strip out the cr characters to prevent this problem. The following +// unix command line will work for that: +// tr -d \\r < dosfile > unixfile +// On some unix distributions you can also use the following command: +// dos2unix +// (Thanks to Massimiliano Marsiglietti for locating this problem.) + +// RAM Detect notes for dev. (Just ignore!) +//----------------------------------------- +// To detect backup type. +// 1. First check for eeprom. +// 2. Read byte from 0xe000000. +// 3. Write new byte to 0xe000000. +// 4. If diff, write back data & exit with SRAM detect flag. +// 5. If no diff get device Manuf ID for flash. +// 6. If no Manuf ID detected then report no cart backup available. + +#define outpb(p, v) outportb((unsigned short) (p), (unsigned char) (v)); iodelay() +#define inpb(p) inportb((unsigned short) (p)) +#define outpw(p, v) outportw((unsigned short) (p), (unsigned char) (v)); iodelay() +#define inpw(p) inportw((unsigned short) (p)) + +//#define HEADER_LENGTH 0xc0 +//#define OUTBUFLEN 256 // Must be a multiple of 2! (ex:64,128,256...) + +#define INTEL28F_BLOCKERASE 0x20 +#define INTEL28F_CLEARSR 0x50 +#define INTEL28F_CONFIRM 0xD0 +#define INTEL28F_QUIRY 0x98 +#define INTEL28F_READARRAY 0xff +#define INTEL28F_READSR 0x70 +#define INTEL28F_RIC 0x90 +#define INTEL28F_WRTOBUF 0xe8 + +#define SHARP28F_BLOCKERASE 0x20 +#define SHARP28F_CONFIRM 0xD0 +#define SHARP28F_READARRAY 0xff +#define SHARP28F_WORDWRITE 0x10 + +#define u8 unsigned char +#define u16 unsigned short int +#define u32 unsigned int +#define u64 unsigned long long int +// u64 is needed to compile cartlib.c without warnings on Linux/x86_64 +#define CONST_U8 const unsigned char + + +// ***Global Variables *** + +//int WaitDelay,WaitNCDelay; +unsigned SPPDataPort; +unsigned SPPStatPort; +unsigned SPPCtrlPort; +unsigned EPPAddrPort; +unsigned EPPDataPort; +unsigned ECPRegECR; + +// prototypes +void WriteFlash (int addr, int data); +int ReadFlash (int addr); +void iodelay (void); +int PPReadWord (void); +void PPWriteWord (int i); +void SetCartAddr (int addr); +void l4021d0 (int i); +void l40226c (void); + +#define FLINKER 1 + +#include "cartlib.c" + + +static int debug, verbose, DataSize16, Device, EPPMode, RepairHeader, + VisolyTurbo, WaitDelay, FileHeader[0xc0], HeaderBad, Complement = 0; + + +void +iodelay (void) +{ + volatile int i; + for (i = 0; i < WaitDelay; i++) + { + i++; + i--; + } +} + + +void +ProgramExit (int code) +{ + exit (code); +} + + +#if 0 +void +usage (char *name) +{ + char _small[255]; + char smaller[255]; + int i = 0; + + strcpy (_small, name); + +#if 0 + if (strchr (name, '.') != NULL) + _small[strlen (_small) - 4] = 0; /* remove trailing file type */ +#endif + + while ((_small[strlen (_small) - i] != 0x2f) && /* loop until we find a / */ + ((strlen (_small) - i) > 0)) + i++; + + if ((strlen (_small) - i) == 0) + i++; + + strcpy (smaller, (char *) (&_small[strlen (_small) - i + 1])); + + fprintf (stderr, "GBA FLinker v1.72 by Jeff F.\n"); + fprintf (stderr, "Usage: %s [options]\n", smaller); + + fprintf (stderr, + "\t-2 Use 16bit EPP data path for faster operation (default=8bit)\n"); + fprintf (stderr, + "\t-b o s file Backup game save SRAM or Flash to file\n"); + fprintf (stderr, "\t (o = Bank Number [1-4])\n"); + fprintf (stderr, "\t (s=1 - Backup 32K bytes to file.)\n"); + fprintf (stderr, "\t (s=2 - Backup 64K bytes to file.)\n"); + fprintf (stderr, "\t (s=3 - Backup 128K bytes to file.)\n"); + fprintf (stderr, "\t (s=4 - Backup 256K bytes to file.)\n"); + fprintf (stderr, + "\t-c n Specify chip size in mbits (8,16,32,64,128,256) (default=32)\n"); + fprintf (stderr, + "\t-d n Dump 256 bytes of ROM to screen (default: n=0)\n"); + fprintf (stderr, "\t-h This help screen\n"); + fprintf (stderr, + "\t-l n Specify the parallel port to use (default is 1 = LPT1)\n"); +// fprintf (stderr, "\t-m\tSet Standard Parallel Port (SPP) mode (default = EPP)\n"); + fprintf (stderr, + "\t-n Do not repair incorrect header (default = repair header)\n"); + fprintf (stderr, "\t-p file Program flash cart with file\n"); + fprintf (stderr, + "\t-r o file Restore game save SRAM from file (No save flash support)\n"); + fprintf (stderr, "\t (o = Bank Number [1-4])\n"); + fprintf (stderr, + "\t-s file Save the cart into a file (Use -c to specify size)\n"); + fprintf (stderr, "\t-v file Verify flash cart with file\n"); + fprintf (stderr, "\t-w n Add delay to make transfer more reliable\n"); +} +#endif + + +void +InitPort (int port) +{ + // uCON64 comment: see the comment in fal_main() where port is initialised + SPPDataPort = port; + SPPStatPort = SPPDataPort + 1; + SPPCtrlPort = SPPDataPort + 2; + EPPAddrPort = SPPDataPort + 3; + EPPDataPort = SPPDataPort + 4; + ECPRegECR = SPPDataPort + 0x402; +} + + +void +l4020a4 (int reg) +{ + outpb (SPPCtrlPort, 1); + outpb (SPPDataPort, reg); + outpb (SPPCtrlPort, 9); + outpb (SPPCtrlPort, 1); +} + + +void +SPPWriteByte (int i) // l4020dc +{ + outpb (SPPDataPort, i); + outpb (SPPCtrlPort, 3); + outpb (SPPCtrlPort, 1); +} + + +void +l402108 (int reg, int adr) +{ + l4020a4 (reg); + SPPWriteByte (adr); +} + + +int +SPPReadByte (void) // 402124 +{ + int v; + + outpb (SPPCtrlPort, 0); + outpb (SPPCtrlPort, 2); + v = ((inpb (SPPStatPort)) >> 3) & 0xf; + outpb (SPPCtrlPort, 6); + v += (((inpb (SPPStatPort)) << 1) & 0xf0); + outpb (SPPCtrlPort, 0); + + return v; +} + + +void +l402188 (int reg) +{ + outpb (SPPCtrlPort, 1); + outpb (EPPAddrPort, reg); +} + + +void +l4021a8 (int reg, int adr) +{ + l402188 (reg); + outpb (SPPCtrlPort, 1); + outpb (EPPDataPort, adr); +} + + +void +l4021d0 (int i) +{ + outpb (SPPCtrlPort, 1); + + if (EPPMode) + l402188 (i); + else + l4020a4 (i); +} + + +void +l402200 (int reg, int adr) +{ + if (EPPMode) + l4021a8 (reg, adr); + else + l402108 (reg, adr); +} + + +void +l402234 (void) +{ + if (EPPMode) + l402200 (4, 0x83); + else + l402200 (4, 0xc3); +} + + +void +l40226c (void) +{ + if (EPPMode) + l402200 (4, 7); + else + l402200 (4, 0x47); +} + + +void +PPWriteByte (int i) // 4022d0 +{ + if (EPPMode) + { + outpb (EPPDataPort, i); + } + else + SPPWriteByte (i); +} + + +void +PPWriteWord (int i) // 4022d0 +{ + if (EPPMode) + { + if (DataSize16) + { + outpw (EPPDataPort, i); + } + else + { + outpb (EPPDataPort, i); + outpb (EPPDataPort, (i >> 8)); + } + } + else + { + SPPWriteByte (i); + SPPWriteByte (i >> 8); + } +} + + +int +PPReadByte (void) // 40234c +{ + int v; + + if (EPPMode) + v = inpb (EPPDataPort); + else + v = SPPReadByte (); + + return v; +} + + +int +PPReadWord (void) // 402368 // ReadFlash +{ + int v = 0; + + if (EPPMode) + { + if (DataSize16) + v = inpw (EPPDataPort); + else + { + v = inpb (EPPDataPort); + v += (inpb (EPPDataPort) << 8); + } + } + else + { + v = SPPReadByte (); //402124 + v += (SPPReadByte () << 8); + } + return v; +} + + +void +SetCartAddr (int addr) // 4023cc +{ + l402200 (2, addr >> 16); + l402200 (1, addr >> 8); + l402200 (0, addr); +} + + +void +WriteFlash (int addr, int data) // 402414 +{ + SetCartAddr (addr); + l4021d0 (3); + PPWriteWord (data); +} + + +int +ReadFlash (int addr) +{ + SetCartAddr (addr); + l4021d0 (3); + outpb (SPPCtrlPort, 0); + return PPReadWord (); +} + + +void +l402684 (void) +{ +#ifndef USE_PPDEV + outpb (SPPStatPort, 1); // clear EPP time flag +#endif + l40226c (); +} + + +int +LookForLinker (void) // 4026a8 +{ + l402684 (); + l402200 (2, 0x12); + l402200 (1, 0x34); + l402200 (0, 0x56); + l4021d0 (2); + outpb (SPPCtrlPort, 0); + if (PPReadByte () != 0x12) // 40234c + return 0; + + l4021d0 (1); + outpb (SPPCtrlPort, 0); + if (PPReadByte () != 0x34) + return 0; + + l4021d0 (0); + outpb (SPPCtrlPort, 0); + if (PPReadByte () != 0x56) + return 0; + + outpb (SPPCtrlPort, 4); + return 1; +} + + +void +LinkerInit (void) // 4027c4 +{ + int linker_found = 0; + + /* + uCON64 comment: + Accessing I/O ports with addresses higher than 0x3ff causes an access + violation under Windows XP (NT/2000) for _Windows_ executables without the + use of an appropriate I/O port driver. UserPort is an example of an + *inappropriate* I/O port driver, because it enables access to I/O ports up + to 0x3ff. For some (ridiculous) reason, DOS executables are allowed to + _access_ at least the ECP register this code uses. That doesn't mean it + will result in the expected behaviour like enabling EPP. + */ + if (EPPMode) + { + /* + Writing to the ECP register seems to have no effect on my PC (which + supports ECP, used appropriate BIOS setting). Tested under Windows XP + with Windows executables (Cygwin, VC++ and MinGW) - dbjh + */ +#ifndef USE_PPDEV + outpb (ECPRegECR, 4); // set EPP mode for ECP chipsets +#endif + if (LookForLinker ()) + { + // Linker found using EPP mode. + linker_found = 1; + puts ("Linker found. EPP found"); + + if (SPPDataPort == 0x3bc) + return; + outpb (SPPCtrlPort, 4); + } + } + if (!linker_found) + { + // Look for linker in SPP mode. +#ifndef USE_PPDEV + if (EPPMode) + outpb (ECPRegECR, 0); // set SPP mode for ECP chipsets +#endif + + EPPMode = 0; + if (LookForLinker ()) + puts ("Linker found. EPP not found or not enabled - SPP used"); + else + { + fputs ("ERROR: Flash Advance Linker not found or not turned on\n", + stderr); + ProgramExit (1); + } + } +} + + +int +ReadStatusRegister (int addr) // 402dd8 +{ + int v; + WriteFlash (addr, INTEL28F_READSR); + outpb (SPPCtrlPort, 0); + v = PPReadWord (); // & 0xff; + v = PPReadWord (); // & 0xff; + return v; +} + + +// StartOffSet: 1 = 0, 2 = 64k, 3 = 128k, 4 = 192k +// Size: 1 = 32k, 2 = 64k, 3 = 128k, 4 = 256k +void +BackupSRAM (FILE *fp, int StartOS, int Size) // 4046f4 +{ + int j, k, v; + int m; + int n = 1 << (Size - 1); + int size = n * 32 * 1024, bytesread = 0; + time_t starttime; + + printf ("Receive: %d Bytes (%.4f Mb)\n\n", size, (float) size / MBIT); + + starttime = time (NULL); + for (m = ((StartOS - 1) << 1); m < (((StartOS - 1) << 1) + n); m++) + { + if ((m & 1) == 0) + { + SetVisolyBackupRWMode (m >> 1); + l402234 (); + } + + // Backup a 32k byte chunk + for (j = 0; j < 0x80; j++) + { + l402200 (0, 0); + l402200 (1, j + (0x80 * (m & 1))); + l402200 (2, 0); + l4021d0 (3); + outpb (SPPCtrlPort, 0); + + for (k = 0; k < 0x100; k++) + { + v = PPReadByte (); + fputc (v, fp); + } + bytesread += 256; + if ((bytesread & 0x1fff) == 0) // call ucon64_gauge() after receiving 8 kB + ucon64_gauge (starttime, bytesread, size); + } + } +} + + +// StartOffSet: 1 = 0, 2 = 64k, 3 = 128k, 4 = 192k +void +RestoreSRAM (FILE *fp, int StartOS) +{ + int i; + int j, k; + int m = ((StartOS - 1) << 1); + int byteswritten = 0; + time_t starttime; + + printf ("Send: %d Bytes (%.4f Mb)\n\n", ucon64.file_size, + (float) ucon64.file_size / MBIT); + + starttime = time (NULL); + i = fgetc (fp); + while (!feof (fp)) + { + if ((m & 1) == 0) + { + SetVisolyBackupRWMode (m >> 1); + l402234 (); + } + + // Restore a 32k byte chunk + for (j = 0; j < 0x80; j++) + { + l402200 (0, 0); + l402200 (1, j + (0x80 * (m & 1))); + l402200 (2, 0); + l4021d0 (3); + outpb (SPPCtrlPort, 0); + + for (k = 0; k < 0x100; k++) + { + PPWriteByte (i); + i = fgetc (fp); + } + byteswritten += 256; + if ((byteswritten & 0x1fff) == 0) // call ucon64_gauge() after sending 8 kB + ucon64_gauge (starttime, byteswritten, ucon64.file_size); + } + m++; + } +} + + +void +BackupROM (FILE *fp, int SizekW) +{ + u16 valw; + u32 i, j; + int size = SizekW << 1, bytesread = 0; + time_t starttime; + + printf ("Receive: %d Bytes (%.4f Mb)\n\n", size, (float) size / MBIT); + + WriteFlash (0, INTEL28F_READARRAY); // Set flash (intel 28F640J3A) Read Mode + + starttime = time (NULL); + for (i = 0; i < (u32) (SizekW >> 8); i++) + { + SetCartAddr (i << 8); // Set cart base addr to 0 + l4021d0 (3); + + outpb (SPPCtrlPort, 0); + + for (j = 0; j < 256; j++) + { + valw = PPReadWord (); + fputc (valw & 0xff, fp); + fputc (valw >> 8, fp); + } + bytesread += 256 << 1; // 256 words + if ((bytesread & 0xffff) == 0) // call ucon64_gauge() after receiving 64 kB + ucon64_gauge (starttime, bytesread, size); + } +} + + +void +dump (u8 BaseAdr) +{ +// unsigned char low, high; + int i; + u8 First = 1; + u16 v; + u8 val1, val2; + u8 Display[17] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; + + WriteFlash (0, INTEL28F_READARRAY); // Set flash (intel 28F640J3A) Read Mode + + SetCartAddr (BaseAdr << 7); // Set cart base addr to read + l4021d0 (3); + + outpb (SPPCtrlPort, 0); + + for (i = 0; i < 128; i++) + { + if (First == 1) + { + if (i * 2 < 256) + fputc ('0', stdout); + if (i * 2 < 16) + fputc ('0', stdout); + printf ("%hx - ", (i * 2)); + First = 0; + } + + v = PPReadWord (); + val2 = v >> 8; + val1 = v & 255; + + if ((val1 > 31) & (val1 < 127)) + Display[(i & 7) * 2] = val1; + else + Display[(i & 7) * 2] = 46; + + if (val1 < 16) + fputc ('0', stdout); + printf ("%hx ", val1); + + if ((val2 > 31) & (val2 < 127)) + + Display[(i & 7) * 2 + 1] = val2; + else + Display[(i & 7) * 2 + 1] = 46; + + if (val2 < 16) + fputc ('0', stdout); + printf ("%hx ", val2); + + if ((i & 7) == 7) + { + First = 1; + printf (" %3s\n", (&Display[0])); + } + } +} + + +void +CheckForFC (void) +{ + LinkerInit (); + + SetVisolyFlashRWMode (); + Device = CartTypeDetect (); + VisolyTurbo = 0; + + printf ("Device ID = 0x%x: ", Device); + + switch (Device) + { + case 0x16: + fputs ("FA 32M (i28F320J3A)", stdout); + break; + case 0x17: + fputs ("FA 64M (i28F640J3A)", stdout); + break; + case 0x18: + fputs ("FA 128M (i28F128J3A)", stdout); + break; + case 0x2e: + fputs ("Standard ROM", stdout); + break; + case 0x96: + fputs ("Turbo FA 64M (2 x i28F320J3A)", stdout); + VisolyTurbo = 1; + break; + case 0x97: + fputs ("Turbo FA 128M (2 x i28F640J3A)", stdout); + VisolyTurbo = 1; + break; + case 0x98: + fputs ("Turbo FA 256M (2 x i28F128J3A", stdout); + VisolyTurbo = 1; + break; + case 0xdc: + fputs ("Hudson", stdout); + break; + case 0xe2: + fputs ("Nintendo Flash Card (LH28F320BJE)", stdout); + break; + default: + fputs ("Unknown", stdout); + break; + } + fputc ('\n', stdout); +} + + +int +GetFileByte (FILE *fp) +{ + static int FilePos = 0; + int i = 0; + + if (RepairHeader) + { + // Set file pointer just past header + if (FilePos == 0) + for (i = 0; i < 0xa0; i++) + (void) fgetc (fp); + + if (FilePos < 0xa0) + { + if ((HeaderBad) && (FilePos > 3)) + i = gba_logodata[FilePos - 4]; // GoodHeader[FilePos]; + else + i = FileHeader[FilePos]; + } + else if ((FilePos == 0xb2) || (FilePos == 0xbd)) + { + if (FilePos == 0xb2) + i = 0x96; // Required + else + i = Complement; + (void) fgetc (fp); // Discard file value + } + else + i = fgetc (fp); + } + else + i = fgetc (fp); + + FilePos++; + return i; +} + + +int +GetFileSize2 (FILE *fp) +/* + The name "GetFileSize" conflicts with a Windows function. + For some odd reason Jeff Frohwein returned the file size minus 1. I (dbjh) + guess that's a bug. I disabled the (terribly inefficient) file size code + because uCON64 already determined the file size at this point. +*/ +{ + int FileSize; + + if (RepairHeader) + { + int i; + int j; + + FileSize = 0; + while (!feof (fp) && (FileSize < 0xc0)) + FileHeader[FileSize++] = fgetc (fp); + + if (feof (fp)) + { + fputs ("ERROR: File must be 192 bytes or larger\n", stderr); + ProgramExit (1); + } + + HeaderBad = 0; + i = 4; + while (i < 0xa0) //9c) + { + if (FileHeader[i] != gba_logodata[i - 4]) // GoodHeader[i] + HeaderBad = 1; + i++; + } + if (HeaderBad) + puts ("NOTE: Fixing logo area"); + + Complement = 0; + FileHeader[0xb2] = 0x96; // Required + for (j = 0xa0; j < 0xbd; j++) + Complement += FileHeader[j]; + Complement = (0 - (0x19 + Complement)) & 0xff; + //printf("[Complement = 0x%x]", (int)Complement); + //printf("[HeaderComp = 0x%x]", (int)FileHeader[0xbd]); + if (FileHeader[0xbd] != Complement) + puts ("NOTE: Fixing complement check"); + + rewind (fp); + } + else + rewind (fp); + + return ucon64.file_size; +} + + +// Program older (non-Turbo) Visoly flash card +// (Single flash chip) +void +ProgramNonTurboIntelFlash (FILE *fp) +{ + int i, j, k; + int addr = 0; + int FileSize; + int Ready = 0; + int Timeout; + time_t starttime; + + // Get file size + FileSize = GetFileSize2 (fp); + + puts ("Erasing Visoly non-turbo flash card..."); + + // Erase as many 128k blocks as are required + Ready = EraseNonTurboFABlocks (0, ((FileSize - 1) >> 17) + 1); + + clear_line (); // remove "erase gauge" + if (Ready) + { + printf ("Send: %d Bytes (%.4f Mb)\n\n", FileSize, (float) FileSize / MBIT); + + //403018 + starttime = time (NULL); + j = GetFileByte (fp); + + while (!feof (fp)) + { + Ready = 0; + Timeout = 0x4000; + + while ((Ready == 0) && (Timeout != 0)) + { + WriteFlash (addr, INTEL28F_WRTOBUF); + outpb (SPPCtrlPort, 0); + Ready = PPReadWord () & 0x80; + + Timeout--; + } + + if (Ready) + { + WriteFlash (addr, 15); // Write 15+1 16bit words + + SetCartAddr (addr); // Set cart base addr to 0 + l4021d0 (3); + + for (i = 0; i < 16; i++) + { + k = j; + if (j != EOF) + j = GetFileByte (fp); + k += (j << 8); + PPWriteWord (k); + + if (j != EOF) + j = GetFileByte (fp); + } + + addr += 16; + if ((addr & 0x3fff) == 0) // call ucon64_gauge() after sending 32 kB + ucon64_gauge (starttime, addr << 1, FileSize); + + PPWriteWord (INTEL28F_CONFIRM); // Comfirm block write + + Ready = 0; + Timeout = 0x4000; + + while ((Ready == 0) && (Timeout != 0)) + { + WriteFlash (0, INTEL28F_READSR); + outpb (SPPCtrlPort, 0); + i = PPReadWord () & 0xff; + Ready = i & 0x80; + + Timeout--; + } + + if (Ready) + { + if (i & 0x7f) + { + // One or more status register error bits are set + outpb (SPPCtrlPort, 1); + WriteFlash (0, INTEL28F_CLEARSR); + Ready = 0; + break; + } + } + else + { + outpb (SPPCtrlPort, 1); + WriteFlash (0, INTEL28F_CLEARSR); + break; + } + } + else + break; + } + + clear_line (); // remove last gauge + ucon64_gauge (starttime, addr << 1, FileSize); // make gauge reach 100% when size % 32 k != 0 + WriteFlash (0, INTEL28F_READARRAY); + outpb (SPPCtrlPort, 0); + + if (Ready) + ; + else + fputs ("\nERROR: Flash card write failed\n", stderr); + } + else + fputs ("\nERROR: Flash card erase failed\n", stderr); +} + + +// Program newer (Turbo) Visoly flash card +// (Dual chip / Interleave) +void +ProgramTurboIntelFlash (FILE *fp) +{ + int i, j = 0; + int k; //z; + int addr = 0; + int done1, done2; + int FileSize; + int Timeout; + int Ready; //= 0; + time_t starttime; + + // Get file size + FileSize = GetFileSize2 (fp); + + puts ("Erasing Visoly turbo flash card..."); + + // Erase as many 256k blocks as are required + Ready = EraseTurboFABlocks (0, ((FileSize - 1) >> 18) + 1); + + clear_line (); // remove "erase gauge" + if (Ready) + { + printf ("Send: %d Bytes (%.4f Mb)\n\n", FileSize, (float) FileSize / MBIT); + + //403018 + starttime = time (NULL); + j = GetFileByte (fp); + + while (!feof (fp)) + { + done1 = 0; + done2 = 0; + Ready = 0; + Timeout = 0x4000; + + while ((!Ready) && (Timeout != 0)) + { + if (done1 == 0) + WriteFlash (addr + 0, INTEL28F_WRTOBUF); + if (done2 == 0) + WriteFlash (addr + 1, INTEL28F_WRTOBUF); + + SetCartAddr (addr); // Set cart base addr + l4021d0 (3); + outpb (SPPCtrlPort, 0); + + done1 = PPReadWord () & 0x80; + done2 = PPReadWord () & 0x80; + Ready = ((done1 + done2) == 0x100); + + Timeout--; + } + + if (Ready) + { + WriteFlash (addr, 15); // Write 15+1 16bit words + PPWriteWord (15); + + SetCartAddr (addr); // Set cart base addr + l4021d0 (3); + + for (i = 0; i < 32; i++) + { + k = j; + if (j != EOF) + j = GetFileByte (fp); + k += (j << 8); + PPWriteWord (k); + + if (j != EOF) + j = GetFileByte (fp); + } + addr += 32; + if ((addr & 0x3fff) == 0) // call ucon64_gauge() after sending 32 kB + ucon64_gauge (starttime, addr << 1, FileSize); + PPWriteWord (INTEL28F_CONFIRM); // Comfirm block write + PPWriteWord (INTEL28F_CONFIRM); // Comfirm block write + + Ready = 0; + Timeout = 0x4000; + k = 0; + + while (((k & 0x8080) != 0x8080) && (Timeout != 0)) + { + outpb (SPPCtrlPort, 0); + k = PPReadWord () & 0xff; + k += ((PPReadWord () & 0xff) << 8); + Ready = (k == 0x8080); + + Timeout--; + } + + if (!Ready) + break; + } + else + break; + } + + clear_line (); // remove last gauge + ucon64_gauge (starttime, addr << 1, FileSize); // make gauge reach 100% when size % 32 k != 0 + WriteFlash (0, INTEL28F_READARRAY); + outpb (SPPCtrlPort, 0); + WriteFlash (1, INTEL28F_READARRAY); + outpb (SPPCtrlPort, 0); + + if (Ready) + ; + else + { + WriteFlash (0, INTEL28F_CLEARSR); + PPWriteWord (INTEL28F_CLEARSR); + fputs ("\nERROR: Flash card write failed\n", stderr); + } + } + else + fputs ("\nERROR: Flash card erase failed\n", stderr); +} + + +// Program official Nintendo flash card +void +ProgramSharpFlash (FILE *fp) +{ + int i, j; + int k = 0; + int addr = 0; + int FileSize; + int Ready; + time_t starttime; + + // Get file size + FileSize = GetFileSize2 (fp); + + puts ("Erasing Nintendo flash card..."); + + // Erase as many 64k blocks as are required + Ready = EraseNintendoFlashBlocks (0, ((FileSize - 1) >> 16) + 1); + + clear_line (); // remove "erase gauge" + if (Ready) + { + printf ("Send: %d Bytes (%.4f Mb)\n\n", FileSize, (float) FileSize / MBIT); + + starttime = time (NULL); + j = GetFileByte (fp); + + while (!feof (fp)) + { + if (j != EOF) + k = GetFileByte (fp); + + i = ((k & 0xff) << 8) + (j & 0xff); + + while ((ReadStatusRegister (0) & 0x80) == 0) + ; + + WriteFlash (addr, SHARP28F_WORDWRITE); + WriteFlash (addr, i); + addr += 1; + + j = GetFileByte (fp); + if ((addr & 0x3fff) == 0) // call ucon64_gauge() after sending 32 kB + ucon64_gauge (starttime, addr << 1, FileSize); + } + + clear_line (); // remove last gauge + ucon64_gauge (starttime, addr << 1, FileSize); // make gauge reach 100% when size % 32 k != 0 + WriteFlash (0, INTEL28F_READARRAY); + outpb (SPPCtrlPort, 0); + } + else + fputs ("\nERROR: Flash card erase failed\n", stderr); +} + + +#if 0 // not used +void +VerifyFlash (FILE *fp) +{ + int addr = 0; + int CompareFail = 0; + int k = 0; + int i, j, m, n; + + WriteFlash (0, INTEL28F_READARRAY); // Set flash (intel 28F640J3A) Read Mode + + j = 0; + while (!feof (fp)) + { + j = fgetc (fp); + if (j != EOF) + { + if ((addr & 0x1ff) == 0) + { + SetCartAddr (addr >> 1); // Set cart base addr to read + l4021d0 (3); + + outpb (SPPCtrlPort, 0); + } + + k = fgetc (fp); + + i = PPReadWord (); + m = i & 0xff; + n = i >> 8; + + if (m != j) + { + printf ("Address %x - Cartridge %x: File %hx\n", addr, m, j); + CompareFail = 1; + } + if ((n != k) && (k != EOF)) + { + printf ("Address %x - Cartridge %x: File %hx\n", addr + 1, n, + k); + CompareFail = 1; + } + addr += 2; + } + } + + // Correct verify length if at EOF + if (k == EOF) + addr--; + + if (CompareFail == 0) + printf ("%d bytes compared OK\n", addr); +} +#endif + + +void +SpaceCheck (char c) +{ + if (c != 0) + { + fputs ("ERROR: Space required between option and parameter\n", stderr); + ProgramExit (1); + } +} + + +int +fal_main (int argc, char **argv) +{ + int arg, i; + u8 Base = 0; + FILE *fp; + char fname[128], fname2[128]; + int OptB = 0; + int OptD = 0; + int OptP = 0; + int OptR = 0; + int OptS = 0; + int OptV = 0; + int OptZ = 0; + int port = 0x378; + int ChipSize = 32; + int BackupMemOffset = 0; + int BackupMemSize = 0; + + if (argc < 2) + { +// usage (argv[0]); + ProgramExit (1); + } + + debug = 0; + verbose = 1; + EPPMode = 0; // uCON64 comment: use the most compatible setting as default + DataSize16 = 0; + WaitDelay = 0; + VisolyTurbo = 0; + RepairHeader = 1; + + for (arg = 1; arg < argc; arg++) + { + if (argv[arg][0] != '-') + { +// usage (argv[0]); + ProgramExit (1); + } + + switch (argv[arg][1]) + { + case 'b': + SpaceCheck (argv[arg][2]); + BackupMemOffset = *(char *) argv[++arg] - 0x30; + SpaceCheck (argv[arg][1]); + BackupMemSize = *(char *) argv[++arg] - 0x30; + + if ((BackupMemSize < 1) || (BackupMemSize > 4) || + (BackupMemOffset < 1) || (BackupMemOffset > 4)) + { + fputs ("ERROR: -b parameter values must be between 1-4\n", stderr); + ProgramExit (1); + } + SpaceCheck (argv[arg][1]); + strcpy (fname, argv[++arg]); + OptB = 1; + break; + case '2': + // 16-bit EPP support enable (doesn't work with + // "Turbo FA 128M (2 x i28F640J3A)" - dbjh) + DataSize16 = 1; + break; + case 'c': + // Set cart size + SpaceCheck (argv[arg][2]); + ChipSize = (u16) (atoi (argv[++arg])); + if ((ChipSize != 8) && + (ChipSize != 16) && + (ChipSize != 32) && + (ChipSize != 64) && (ChipSize != 128) && (ChipSize != 256)) + { + fputs ("ERROR: Chip size must be 8,16,32,64,128 or 256\n", stderr); + ProgramExit (1); + } + break; + case 'd': + // Dump 256 bytes to screen + SpaceCheck (argv[arg][2]); + if (argv[++arg] != NULL) + Base = (u8) (atoi (argv[arg])); + printf ("Base address: %hx\n", Base * 256); + OptD = 1; + break; + case 's': + // Backup flash cart + SpaceCheck (argv[arg][2]); + strcpy (fname, argv[++arg]); + OptS = 1; + break; + case 'p': + // Program flash cart + SpaceCheck (argv[arg][2]); + strcpy (fname, argv[++arg]); + OptP = 1; + break; + case 'r': + SpaceCheck (argv[arg][2]); + BackupMemOffset = *(char *) argv[++arg] - 0x30; + if ((BackupMemOffset < 1) || (BackupMemOffset > 4)) + { + fputs ("ERROR: -r parameter value must be between 1-4\n", stderr); + ProgramExit (1); + } + SpaceCheck (argv[arg][1]); + strcpy (fname, argv[++arg]); + OptR = 1; + break; + case 'v': + // Verify flash cart + SpaceCheck (argv[arg][2]); + strcpy (fname2, argv[++arg]); + OptV = 1; + break; + case 'l': + SpaceCheck (argv[arg][2]); + i = atoi (argv[++arg]); + /* + uCON64 comment: we want to support non-standard parallel port + addresses too. So, instead of passing a number from 1 to 4, we pass + the address itself + */ + port = i; + break; + case 'm': + // uCON64 comment: See comment in LinkerInit(). Note that we reverse + // the meaning compared to the original code. + EPPMode = 1; // Set EPP mode + break; + case 'n': + // Don't repair header + RepairHeader = 0; + break; + case 'w': + SpaceCheck (argv[arg][2]); + WaitDelay = atoi (argv[++arg]); + break; + case 'z': + OptZ = 1; + break; + default: +// usage (argv[0]); + ProgramExit (1); + } + } + + InitPort (port); + + CheckForFC (); + + if (OptB) + { + //DumpSRAM (); + if ((fp = fopen (fname, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], fname); + ProgramExit (1); + } + + BackupSRAM (fp, BackupMemOffset, BackupMemSize); + fputc ('\n', stdout); + fclose (fp); + } + + if (OptD) + dump (Base); + + if ((OptP) && ((Device == 0) || (Device == 0x2e) || (Device == 0xff))) + { + fputs ("ERROR: Device type not recognized as programmable\n", stderr); + ProgramExit (1); + } + + if (OptR) + { + if ((fp = fopen (fname, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], fname); + ProgramExit (1); + } + + RestoreSRAM (fp, BackupMemOffset); + fputc ('\n', stdout); + fclose (fp); + } + + if (OptP) + { + if ((fp = fopen (fname, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], fname); + ProgramExit (1); + } + + if (Device == 0xe2) + ProgramSharpFlash (fp); + else + { + if (VisolyTurbo) + ProgramTurboIntelFlash (fp); + else + ProgramNonTurboIntelFlash (fp); + } + fputc ('\n', stdout); + fclose (fp); + } + + if (OptS) + { + if ((fp = fopen (fname, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], fname); + ProgramExit (1); + } + + BackupROM (fp, ChipSize << 16); + fputc ('\n', stdout); + fclose (fp); + } + +#if 0 + if (OptV) + { + if ((fp = fopen (fname2, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], fname2); + ProgramExit (1); + } + + VerifyFlash (fp); + fclose (fp); + } +#endif + + ProgramExit (0); + exit (0); +} + + +/* + It will save you some work if you don't fully integrate the code above with + uCON64's code, because it is a project separate from the uCON64 project. +*/ +int fal_argc = 0; +char *fal_argv[128]; + +void +fal_args (unsigned int parport) +{ + char parport_str[80]; + + parport_print_info (); + + fal_argv[fal_argc++] = "fl"; + fal_argv[fal_argc++] = "-l"; + sprintf (parport_str, "%d", parport); // don't use %x, as Jeff Frohwein uses atoi() + fal_argv[fal_argc++] = parport_str; + + if (ucon64.parport_mode == UCON64_EPP) + fal_argv[fal_argc++] = "-m"; +} + + +int +fal_read_rom (const char *filename, unsigned int parport, int size) +{ + char size_str[80]; + + fal_args (parport); + + fal_argv[fal_argc++] = "-c"; + if (size != 8 && size != 16 && size != 32 && size != 64 && size != 128 && + size != 256) + { + fputs ("ERROR: Invalid argument for -xfalc=n\n" + " n can be 8, 16, 32, 64, 128 or 256\n", stderr); + exit (1); + } + sprintf (size_str, "%d", size); + fal_argv[fal_argc++] = size_str; + fal_argv[fal_argc++] = "-s"; + fal_argv[fal_argc++] = (char *) filename; // this is safe (FAL code + // doesn't modify argv) + if (!fal_main (fal_argc, fal_argv)) + return 0; + + return -1; +} + + +int +fal_write_rom (const char *filename, unsigned int parport) +{ + fal_args (parport); + + fal_argv[fal_argc++] = "-p"; + fal_argv[fal_argc++] = (char *) filename; + + if (!fal_main (fal_argc, fal_argv)) + return 0; + + return -1; +} + + +int +fal_read_sram (const char *filename, unsigned int parport, int bank) +{ + char bank_str[2]; + + fal_args (parport); + + fal_argv[fal_argc++] = "-b"; + if (bank == UCON64_UNKNOWN) + { + fal_argv[fal_argc++] = "1"; + fal_argv[fal_argc++] = "4"; // 256 kB + } + else + { + if (bank < 1 || bank > 4) + { + fputs ("ERROR: Bank must be 1, 2, 3 or 4\n", stderr); + exit (1); + } + bank_str[0] = '0' + bank; + bank_str[1] = 0; // terminate string + fal_argv[fal_argc++] = bank_str; + fal_argv[fal_argc++] = "2"; // 64 kB + } + fal_argv[fal_argc++] = (char *) filename; + + if (!fal_main (fal_argc, fal_argv)) + return 0; + + return -1; +} + + +int +fal_write_sram (const char *filename, unsigned int parport, int bank) +{ + char bank_str[2]; + + fal_args (parport); + + fal_argv[fal_argc++] = "-r"; + if (bank == UCON64_UNKNOWN) + fal_argv[fal_argc++] = "1"; + else + { + if (bank < 1 || bank > 4) + { + fputs ("ERROR: Bank must be 1, 2, 3 or 4\n", stderr); + exit (1); + } + bank_str[0] = '0' + bank; + bank_str[1] = 0; // terminate string + fal_argv[fal_argc++] = bank_str; + } + fal_argv[fal_argc++] = (char *) filename; + + if (!fal_main (fal_argc, fal_argv)) + return 0; + + return -1; +} + +#endif // USE_PARALLEL diff --git a/tools/ucon64-2.0.0-src/src/backup/fal.h b/tools/ucon64-2.0.0-src/src/backup/fal.h new file mode 100644 index 0000000..4bea7d9 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/fal.h @@ -0,0 +1,35 @@ +/* +fal.h - Flash Linker Advance support for uCON64 + +Copyright (c) 2001 Jeff Frohwein +Copyright (c) 2001 NoisyB +Copyright (c) 2001 - 2002 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef FAL_H +#define FAL_H + +extern const st_getopt2_t fal_usage[]; + +#ifdef USE_PARALLEL +extern int fal_read_rom (const char *filename, unsigned int parport, int size); +extern int fal_write_rom (const char *filename, unsigned int parport); +extern int fal_read_sram (const char *filename, unsigned int parport, int bank); +extern int fal_write_sram (const char *filename, unsigned int parport, int bank); +#endif + +#endif diff --git a/tools/ucon64-2.0.0-src/src/backup/ffe.c b/tools/ucon64-2.0.0-src/src/backup/ffe.c new file mode 100644 index 0000000..c71f075 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/ffe.c @@ -0,0 +1,316 @@ +/* +ffe.c - General Front Far East copier routines for uCON64 + +Copyright (c) 2002 - 2004 dbjh +Copyright (c) 2003 JohnDie + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#include "misc/misc.h" // kbhit(), getch() +#include "misc/itypes.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ucon64_misc.h" +#include "ffe.h" +#include "misc/parallel.h" + + +#ifdef USE_PARALLEL + +#define N_TRY_MAX 65536 // # times to test if copier ready + + +static void ffe_sendb (unsigned char byte); +static unsigned char ffe_wait_while_busy (void); + +static int ffe_port; + + +void +ffe_init_io (unsigned int port) +/* + - sets global `ffe_port'. Then the send/receive functions don't need to pass `port' all + the way to ffe_sendb()/ffe_receiveb(). + - calls init_conio(). Necessary for kbhit() and DOS-like behaviour of getch(). +*/ +{ + ffe_port = port; +#if 0 // we want to support non-standard parallel port addresses + if (ffe_port != 0x3bc && ffe_port != 0x378 && ffe_port != 0x278) + { + fprintf (stderr, "ERROR: PORT must be 0x3bc, 0x378 or 0x278\n"); + exit (1); + } +#endif + +#if (defined __unix__ || defined __BEOS__) && !defined __MSDOS__ + init_conio (); +#endif + + parport_print_info (); +} + + +void +ffe_deinit_io (void) +{ +#if (defined __unix__ || defined __BEOS__) && !defined __MSDOS__ + deinit_conio (); +#endif +} + + +void +ffe_send_block (unsigned short address, unsigned char *buffer, int len) +{ + int n; + unsigned char checksum = 0x81; + + ffe_send_command (0, address, (unsigned short) len); + for (n = 0; n < len; n++) + { + ffe_sendb (buffer[n]); + checksum ^= buffer[n]; + } + ffe_sendb (checksum); +} + + +void +ffe_send_block2 (unsigned short address, unsigned char *buffer, int len) +{ + int n; + unsigned char checksum = 0x81; + + ffe_send_command (2, address, (unsigned short) len); + for (n = 0; n < len; n++) + { + ffe_sendb (buffer[n]); + checksum ^= buffer[n]; + } + ffe_sendb (checksum); +} + + +void +ffe_send_command0 (unsigned short address, unsigned char byte) +// command 0 for 1 byte +{ + ffe_send_command (0, address, 1); + ffe_sendb (byte); + ffe_sendb ((unsigned char) (0x81 ^ byte)); +} + + +unsigned char +ffe_send_command1 (unsigned short address) +// command 1 for 1 byte +{ + unsigned char byte; + + ffe_send_command (1, address, 1); + byte = ffe_receiveb (); + if ((0x81 ^ byte) != ffe_receiveb ()) + puts ("received data is corrupt"); + + return byte; +} + + +void +ffe_send_command (unsigned char command_code, unsigned short a, unsigned short l) +{ + ffe_sendb (0xd5); + ffe_sendb (0xaa); + ffe_sendb (0x96); + ffe_sendb (command_code); + ffe_sendb ((unsigned char) a); // low byte + ffe_sendb ((unsigned char) (a >> 8)); // high byte + ffe_sendb ((unsigned char) l); // low byte + ffe_sendb ((unsigned char) (l >> 8)); // high byte + ffe_sendb ((unsigned char) (0x81 ^ command_code ^ a ^ (a >> 8) ^ l ^ (l >> 8))); // check sum +} + + +void +ffe_sendb (unsigned char byte) +{ + ffe_wait_for_ready (); + outportb ((unsigned short) (ffe_port + PARPORT_DATA), byte); + outportb ((unsigned short) (ffe_port + PARPORT_CONTROL), + (unsigned char) (inportb ((unsigned short) // invert strobe + (ffe_port + PARPORT_CONTROL)) ^ PARPORT_STROBE)); + ffe_wait_for_ready (); // necessary if followed by ffe_receiveb() +} + + +void +ffe_receive_block (unsigned short address, unsigned char *buffer, int len) +{ + volatile int n; + int n_try = 0; + unsigned char checksum1, checksum2; + + do + { + checksum1 = 0x81; + ffe_send_command (1, address, (unsigned short) len); + for (n = 0; n < len; n++) + { + buffer[n] = ffe_receiveb (); + checksum1 ^= buffer[n]; + } + checksum2 = ffe_receiveb (); + + for (n = 0; n < 65536; n++) // a delay is necessary here + ; + + n_try++; + } + while ((checksum1 != checksum2) && (n_try < N_TRY_MAX)); + + if (checksum1 != checksum2) + puts ("\nreceived data is corrupt"); +} + + +void +ffe_receive_block2 (unsigned short address, unsigned char *buffer, int len) +{ + volatile int n; + int n_try = 0; + unsigned char checksum1, checksum2; + + do + { + checksum1 = 0x81; + ffe_send_command (3, address, (unsigned short) len); + for (n = 0; n < len; n++) + { + buffer[n] = ffe_receiveb (); + checksum1 ^= buffer[n]; + } + checksum2 = ffe_receiveb (); + + for (n = 0; n < 65536; n++) // a delay is necessary here + ; + + n_try++; + } + while ((checksum1 != checksum2) && (n_try < N_TRY_MAX)); + + if (checksum1 != checksum2) + puts ("\nreceived data is corrupt"); +} + + +unsigned char +ffe_receiveb (void) +{ + unsigned char byte; + + byte = (unsigned char) ((ffe_wait_while_busy () & PARPORT_INPUT_MASK) >> 3); // receive low nibble + outportb ((unsigned short) (ffe_port + PARPORT_CONTROL), + (unsigned char) (inportb ((unsigned short) // invert strobe + (ffe_port + PARPORT_CONTROL)) ^ PARPORT_STROBE)); + byte |= (unsigned char) ((ffe_wait_while_busy () & PARPORT_INPUT_MASK) << 1); // receive high nibble + outportb ((unsigned short) (ffe_port + PARPORT_CONTROL), + (unsigned char) (inportb ((unsigned short) // invert strobe + (ffe_port + PARPORT_CONTROL)) ^ PARPORT_STROBE)); + + return byte; +} + + +unsigned char +ffe_wait_while_busy (void) +{ + unsigned char input; + int n_try = 0; + + do + { + input = inportb ((unsigned short) (ffe_port + PARPORT_STATUS)); + n_try++; + } + while (input & PARPORT_IBUSY && n_try < N_TRY_MAX); + +#if 0 +/* + VGS doesn't check for this, and it seems to happen quite regularly, so it + is currently commented out +*/ + if (n_try >= N_TRY_MAX) + { + fputs ("ERROR: The copier is not ready\n" // yes, "ready" :-) + " Turn it off for a few seconds then turn it on and try again\n", + stderr); + exit (1); + } +#endif + + // read port again to let data settle down and to delay a little bit - JohnDie + return inportb ((unsigned short) (ffe_port + PARPORT_STATUS)); +} + + +void +ffe_wait_for_ready (void) +{ + unsigned char input; + int n_try = 0; + + do + { + input = inportb ((unsigned short) (ffe_port + PARPORT_STATUS)); + n_try++; + } + while (!(input & PARPORT_IBUSY) && n_try < N_TRY_MAX); + +#if 0 + if (n_try >= N_TRY_MAX) + { + fputs ("ERROR: The copier is not ready\n" + " Turn it off for a few seconds then turn it on and try again\n", + stderr); + exit (1); + } +#endif +} + + +void +ffe_checkabort (int status) +{ + if (((!ucon64.frontend) ? kbhit () : 0) && getch () == 'q') + { +// ffe_send_command (5, 0, 0); // VGS: when sending/receiving a SNES ROM + puts ("\nProgram aborted"); + exit (status); + } +} + +#endif // USE_PARALLEL diff --git a/tools/ucon64-2.0.0-src/src/backup/ffe.h b/tools/ucon64-2.0.0-src/src/backup/ffe.h new file mode 100644 index 0000000..e861cbb --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/ffe.h @@ -0,0 +1,80 @@ +/* +ffe.h - General Front Far East copier routines for uCON64 + +Copyright (c) 2002 - 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef FFE_H +#define FFE_H + +/* + 0 - Low byte of 8 kB page count + SMD: 16 kB page count + 1 - High byte of 8 kB page count + SMD: File ID code 0 (3, not: high byte of 16 kB page count) + Magic Griffin: Emulation mode select, first byte? + 2 - Emulation mode select (SWC/SMC/Magic Griffin, second byte?) + Bit 7 6 5 4 3 2 1 0 + x : 1 = Run in mode 0 (JMP $8000) (higher precedence than bit 1) + x : 0 = Last file of the ROM dump (multi-file) + : 1 = Multi-file (there is another file to follow) + x : SWC & SMC: + 0 = SRAM mapping mode 1 (LoROM) + 1 = mode 2 (HiROM) + x : SWC & SMC: + 0 = DRAM mapping mode 20 (LoROM) + 1 = mode 21 (HiROM) + x x : SWC & SMC (SRAM size): + 00 = 256 kb, 01 = 64 kb, 10 = 16 kb, 11 = no SRAM + x : SWC & SMC: + 0 = Run in mode 3 + 1 = Run in mode 2 (JMP RESET) + x : 0 = Disable, 1 = Enable external cartridge memory + image at bank 20-5F,A0-DF in system mode 2/3) + 3-7 - 0, reserved + 8 - File ID code 1 (0xaa) + 9 - File ID code 2 (0xbb) + 10 - File type; check this byte only if ID 1 & 2 match + 1 : Super Magic Card saver data + 2 : Magic Griffin program (PC-Engine) + 3 : Magic Griffin SRAM data + 4 : SNES program + 5 : SWC & SMC password, SRAM data + 6 : Mega Drive program + 7 : SMD SRAM data + 8 : SWC & SMC saver data + 11-511 - 0, reserved +*/ + +#ifdef USE_PARALLEL + +extern void ffe_init_io (unsigned int port); +extern void ffe_deinit_io (void); +extern void ffe_send_block (unsigned short address, unsigned char *buffer, int len); +extern void ffe_send_block2 (unsigned short address, unsigned char *buffer, int len); +extern void ffe_send_command0 (unsigned short address, unsigned char byte); +extern unsigned char ffe_send_command1 (unsigned short address); +extern void ffe_send_command (unsigned char command_code, unsigned short a, unsigned short l); +extern void ffe_receive_block (unsigned short address, unsigned char *buffer, int len); +extern void ffe_receive_block2 (unsigned short address, unsigned char *buffer, int len); +extern unsigned char ffe_receiveb (void); +extern void ffe_wait_for_ready (void); +extern void ffe_checkabort (int status); + +#endif // USE_PARALLEL + +#endif // FFE_H diff --git a/tools/ucon64-2.0.0-src/src/backup/fig.c b/tools/ucon64-2.0.0-src/src/backup/fig.c new file mode 100644 index 0000000..dcfb082 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/fig.c @@ -0,0 +1,739 @@ +/* +fig.c - Super PRO Fighter support for uCON64 + +Copyright (c) 1999 - 2002 NoisyB +Copyright (c) 2001 - 2004 dbjh +Copyright (c) 2003 - 2004 JohnDie + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#include "misc/misc.h" +#include "misc/itypes.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "misc/parallel.h" +#include "misc/file.h" +#include "ucon64.h" +#include "ucon64_misc.h" +#include "ffe.h" +#include "fig.h" +#include "console/snes.h" // for snes_get_snes_hirom() + + +const st_getopt2_t fig_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Super Pro Fighter (Q/Q+)/Pro Fighter X (Turbo 2)/Double Pro Fighter (X Turbo)" + /*"1993/1994/19XX China Coach Limited/CCL http://www.ccltw.com.tw"*/, + NULL + }, +#ifdef USE_PARALLEL + { + "xfig", 0, 0, UCON64_XFIG, + NULL, "send/receive ROM to/from *Pro Fighter*/FIG; " OPTION_LONG_S "port=PORT\n" + "receives automatically when ROM does not exist", + &ucon64_wf[WF_OBJ_SNES_DEFAULT_STOP_NO_SPLIT_NO_ROM] + }, + { + "xfigs", 0, 0, UCON64_XFIGS, + NULL, "send/receive SRAM to/from *Pro Fighter*/FIG; " OPTION_LONG_S "port=PORT\n" + "receives automatically when SRAM does not exist", + &ucon64_wf[WF_OBJ_SNES_STOP_NO_ROM] + }, + { + "xfigc", 0, 0, UCON64_XFIGC, NULL, + "send/receive SRAM to/from cartridge in *Pro Fighter*/FIG;\n" OPTION_LONG_S "port=PORT\n" + "receives automatically when SRAM does not exist", +// "Press q to abort; ^C might cause invalid state of backup unit" + &ucon64_wf[WF_OBJ_SNES_STOP_NO_ROM] + }, +#endif + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + + +#ifdef USE_PARALLEL + +#define BUFFERSIZE 8192 // don't change, only 8192 works! + + +static int receive_rom_info (unsigned char *buffer); +static int get_rom_size (unsigned char *info_block); +static int check1 (unsigned char *info_block, int index); +static int check2 (unsigned char *info_block, int index, unsigned char value); +static int check3 (unsigned char *info_block, int index1, int index2, int size); +static void handle_swc_header (unsigned char *header); + +static int hirom; + + +#if BUFFERSIZE < 512 +#error receive_rom_info() and fig_read_sram() expect BUFFERSIZE to be at least \ + 512 bytes. +#endif +int +receive_rom_info (unsigned char *buffer) +/* + - returns size of ROM in Mb (128 kB) units + - sets global `hirom' +*/ +{ + int n, size; + volatile int m; + unsigned char byte; + + ffe_send_command0 (0xe00c, 0); + + if (UCON64_ISSET (ucon64.snes_hirom)) + hirom = ucon64.snes_hirom ? 1 : 0; + else + { + ffe_send_command (5, 3, 0); + byte = ffe_send_command1 (0xbfd5); + if ((byte & 1 && byte != 0x23) || byte == 0x3a) // & 1 => 0x21, 0x31, 0x35 + hirom = 1; + } + + for (n = 0; n < (int) FIG_HEADER_LEN; n++) + { + for (m = 0; m < 65536; m++) // a delay is necessary here + ; + ffe_send_command (5, (unsigned short) (0x200 + n), 0); + buffer[n] = ffe_send_command1 (0xa0a0); + } + + size = get_rom_size (buffer); + if (hirom) + size <<= 1; + + return size; +} + + +int +get_rom_size (unsigned char *info_block) +// returns size of ROM in Mb units +{ + if (check1 (info_block, 0)) + return 0; + if (check2 (info_block, 0x10, 0x84)) + return 0; + if (check3 (info_block, 0, 0x20, 0x20)) + return 2; + if (check3 (info_block, 0, 0x40, 0x20)) + return 4; + if (check3 (info_block, 0x40, 0x60, 0x20)) + return 6; + if (check3 (info_block, 0, 0x80, 0x10)) + return 8; + if (check1 (info_block, 0x80)) + return 8; + if (check3 (info_block, 0x80, 0x90, 0x10)) + return 8; + if (check2 (info_block, 0x80, 0xa0)) + return 8; + if (check3 (info_block, 0x80, 0xa0, 0x20)) + return 0xa; + if (check1 (info_block, 0xc0)) + return 0xc; + if (check2 (info_block, 0xc0, 0xb0)) + return 0xc; + if (check3 (info_block, 0x80, 0xc0, 0x20)) + return 0xc; + if (check3 (info_block, 0x100, 0, 0x10)) + return 0x10; + if (check2 (info_block, 0x100, 0xc0)) + return 0x10; + if (check3 (info_block, 0x100, 0x120, 0x10)) + return 0x12; + if (check3 (info_block, 0x100, 0x140, 0x10)) + return 0x14; + if (check2 (info_block, 0x140, 0xd0)) + return 0x14; + if (check3 (info_block, 0x100, 0x180, 0x10)) + return 0x18; + if (check2 (info_block, 0x180, 0xe0)) + return 0x18; + if (check3 (info_block, 0x180, 0x1c0, 0x10)) + return 0x1c; + if (check3 (info_block, 0x1f0, 0x1f0, 0x10)) + return 0x20; + + return 0; +} + + +int +check1 (unsigned char *info_block, int index) +{ + int n; + + for (n = 0; n < 16; n++) + if (info_block[n + index] != info_block[index]) + return 0; + + return 1; +} + + +int +check2 (unsigned char *info_block, int index, unsigned char value) +{ + int n; + + for (n = 0; n < 4; n++) + if (info_block[n + index] != value) + return 0; + + return 1; +} + + +int +check3 (unsigned char *info_block, int index1, int index2, int size) +{ + int n; + + for (n = 0; n < size; n++) + if (info_block[n + index1] != info_block[n + index2]) + return 0; + + return 1; +} + + +void +handle_swc_header (unsigned char *header) +{ + if ((header[2] & 0x10) == 0x10) + { // HiROM + header[3] |= 0x80; + + if ((header[2] & 0x0c) == 0x0c) // 0 Kbit SRAM + { + header[4] = 0x77; + header[5] = 0x83; + } + else if (((header[2] & 0x0c) == 0x08) || // 16 *or* 64 Kbit SRAM + ((header[2] & 0x0c) == 0x04)) + { + header[4] = 0xdd; + header[5] = 0x82; + } + else // 256 Kbit SRAM + { + header[4] = 0xdd; + header[5] = 0x02; + } + } + else + { // LoROM + header[3] &= 0x7f; + + if ((header[2] & 0x0c) == 0x0c) // 0 Kbit SRAM + { + header[4] = 0x77; + header[5] = 0x83; + } + else if (((header[2] & 0x0c) == 0x08) || // 16 *or* 64 Kbit SRAM + ((header[2] & 0x0c) == 0x04)) + { + header[4] = 0x00; + header[5] = 0x80; + } + else // 256 Kbit SRAM + { + header[4] = 0x00; + header[5] = 0x00; + } + } +} + + +int +fig_read_rom (const char *filename, unsigned int parport) +{ + FILE *file; + unsigned char *buffer; + int n, size, blocksleft, bytesreceived = 0; + unsigned short address1, address2; + time_t starttime; + st_rominfo_t rominfo; + + ffe_init_io (parport); + + if ((file = fopen (filename, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + exit (1); + } + if ((buffer = (unsigned char *) malloc (BUFFERSIZE)) == NULL) + { + fprintf (stderr, ucon64_msg[FILE_BUFFER_ERROR], BUFFERSIZE); + exit (1); + } + + size = receive_rom_info (buffer); + if (size == 0) + { + fprintf (stderr, "ERROR: There is no cartridge present in the Pro Fighter\n"); + fclose (file); + remove (filename); + exit (1); + } + blocksleft = size * 16; // 1 Mb (128 kB) unit == 16 8 kB units + printf ("Receive: %d Bytes (%.4f Mb)\n", size * MBIT, (float) size); + size *= MBIT; // size in bytes for ucon64_gauge() below + + ffe_send_command (5, 0, 0); + ffe_send_command0 (0xe00c, 0); + ffe_send_command0 (0xe003, 0); +// byte = ffe_send_command1 (0xbfd8); + + memset (buffer, 0, FIG_HEADER_LEN); + fwrite (buffer, 1, FIG_HEADER_LEN, file); // write temporary empty header + + if (hirom) + blocksleft >>= 1; + + printf ("Press q to abort\n\n"); // print here, NOT before first FIG I/O, + // because if we get here q works ;-) + address1 = 0x300; // address1 = 0x100, address2 = 0 should + address2 = 0x200; // also work + starttime = time (NULL); + while (blocksleft > 0) + { + if (hirom) + for (n = 0; n < 4; n++) + { + ffe_send_command (5, address1, 0); + ffe_receive_block (0x2000, buffer, BUFFERSIZE); + address1++; + fwrite (buffer, 1, BUFFERSIZE, file); + + bytesreceived += BUFFERSIZE; + ucon64_gauge (starttime, bytesreceived, size); + ffe_checkabort (2); + } + + for (n = 0; n < 4; n++) + { + ffe_send_command (5, address2, 0); + ffe_receive_block (0xa000, buffer, BUFFERSIZE); + blocksleft--; + address2++; + fwrite (buffer, 1, BUFFERSIZE, file); + + bytesreceived += BUFFERSIZE; + ucon64_gauge (starttime, bytesreceived, size); + ffe_checkabort (2); + } + } + ffe_send_command (5, 0, 0); + + // Create a correct header. We can't obtain the header from the Pro Fighter + // unless a (the same) cartridge was just dumped to diskette... + ucon64.rom = filename; + ucon64.file_size = size + FIG_HEADER_LEN; + // override everything we know for sure + ucon64.console = UCON64_SNES; + ucon64.buheader_len = FIG_HEADER_LEN; + ucon64.split = 0; + ucon64.snes_hirom = hirom ? SNES_HIROM : 0; + ucon64.interleaved = 0; + memset (&rominfo, 0, sizeof (st_rominfo_t)); + + fflush (file); + snes_init (&rominfo); + memset (buffer, 0, FIG_HEADER_LEN); + snes_set_fig_header (&rominfo, (st_fig_header_t *) buffer); + fseek (file, 0, SEEK_SET); + fwrite (buffer, 1, FIG_HEADER_LEN, file); // write correct header + + free (buffer); + fclose (file); + ffe_deinit_io (); + + return 0; +} + + +int +fig_write_rom (const char *filename, unsigned int parport) +{ + FILE *file; + unsigned char *buffer; + int bytesread = 0, bytessend, totalblocks, blocksdone = 0, blocksleft, fsize, + n, emu_mode_select; + unsigned short address1, address2; + time_t starttime; + + ffe_init_io (parport); + + if ((file = fopen (filename, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + exit (1); + } + if ((buffer = (unsigned char *) malloc (BUFFERSIZE)) == NULL) + { + fprintf (stderr, ucon64_msg[FILE_BUFFER_ERROR], BUFFERSIZE); + exit (1); + } + + fsize = fsizeof (filename); + printf ("Send: %d Bytes (%.4f Mb)\n", fsize, (float) fsize / MBIT); + + ffe_send_command0 (0xc008, 0); + fread (buffer, 1, FIG_HEADER_LEN, file); + + if (snes_get_file_type () == SWC) + handle_swc_header (buffer); + emu_mode_select = buffer[2]; // this byte is needed later + + ffe_send_command (5, 0, 0); + ffe_send_block (0x400, buffer, FIG_HEADER_LEN); // send header + bytessend = FIG_HEADER_LEN; + + hirom = snes_get_snes_hirom (); + if (hirom) + ffe_send_command0 (0xe00f, 0); // seems to enable HiROM mode, + // value doesn't seem to matter + printf ("Press q to abort\n\n"); // print here, NOT before first FIG I/O, + // because if we get here q works ;-) + totalblocks = (fsize - FIG_HEADER_LEN + BUFFERSIZE - 1) / BUFFERSIZE; // round up + blocksleft = totalblocks; + address1 = 0x300; + address2 = 0x200; + starttime = time (NULL); + while (blocksleft > 0) + { + if (hirom) + for (n = 0; n < 4; n++) + { + bytesread = fread (buffer, 1, BUFFERSIZE, file); + ffe_send_command0 ((unsigned short) 0xc010, (unsigned char) (blocksdone >> 9)); + ffe_send_command (5, address1, 0); + ffe_send_block (0x0000, buffer, bytesread); + address1++; + blocksleft--; + blocksdone++; + + bytessend += bytesread; + ucon64_gauge (starttime, bytessend, fsize); + ffe_checkabort (2); + } + + for (n = 0; n < 4; n++) + { + bytesread = fread (buffer, 1, BUFFERSIZE, file); + ffe_send_command0 ((unsigned short) 0xc010, (unsigned char) (blocksdone >> 9)); + ffe_send_command (5, address2, 0); + ffe_send_block (0x8000, buffer, bytesread); + address2++; + blocksleft--; + blocksdone++; + + bytessend += bytesread; + ucon64_gauge (starttime, bytessend, fsize); + ffe_checkabort (2); + } + } + + if (blocksdone > 0x200) // ROM dump > 512 8 kB blocks (=32 Mb (=4 MB)) + ffe_send_command0 (0xc010, 2); + + ffe_send_command (5, 0, 0); + ffe_send_command (6, (unsigned short) (1 | (emu_mode_select << 8)), 0); + + ffe_wait_for_ready (); + outportb ((unsigned short) (parport + PARPORT_DATA), 0); + outportb ((unsigned short) (parport + PARPORT_CONTROL), + (unsigned char) (inportb ((unsigned short) // invert strobe + (parport + PARPORT_CONTROL)) ^ PARPORT_STROBE)); + + free (buffer); + fclose (file); + ffe_deinit_io (); + + return 0; +} + + +int +fig_read_sram (const char *filename, unsigned int parport) +{ + FILE *file; + unsigned char *buffer; + int blocksleft, bytesreceived = 0; + unsigned short address; + time_t starttime; + + ffe_init_io (parport); + + if ((file = fopen (filename, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + exit (1); + } + if ((buffer = (unsigned char *) malloc (BUFFERSIZE)) == NULL) + { + fprintf (stderr, ucon64_msg[FILE_BUFFER_ERROR], BUFFERSIZE); + exit (1); + } + + printf ("Receive: %d Bytes\n", 32 * 1024); + memset (buffer, 0, FIG_HEADER_LEN); +#if 0 // Not needed for FIG, as size is always 4 blocks + buffer[0] = 4; // 32 kB == 4*8 kB, "size_high" is already 0 +#endif + fwrite (buffer, 1, FIG_HEADER_LEN, file); + + ffe_send_command (5, 0, 0); + ffe_send_command0 (0xe00d, 0); + ffe_send_command0 (0xc008, 0); + + printf ("Press q to abort\n\n"); // print here, NOT before first FIG I/O, + // because if we get here q works ;-) + blocksleft = 4; // SRAM is 4*8 kB + address = 0x100; + starttime = time (NULL); + while (blocksleft > 0) + { + ffe_send_command (5, address, 0); + ffe_receive_block (0x2000, buffer, BUFFERSIZE); + blocksleft--; + address++; + fwrite (buffer, 1, BUFFERSIZE, file); + + bytesreceived += BUFFERSIZE; + ucon64_gauge (starttime, bytesreceived, 32 * 1024); + ffe_checkabort (2); + } + + free (buffer); + fclose (file); + ffe_deinit_io (); + + return 0; +} + + +int +fig_write_sram (const char *filename, unsigned int parport) +{ + FILE *file; + unsigned char *buffer; + int bytesread, bytessend = 0, size; + unsigned short address; + time_t starttime; + + ffe_init_io (parport); + + if ((file = fopen (filename, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + exit (1); + } + if ((buffer = (unsigned char *) malloc (BUFFERSIZE)) == NULL) + { + fprintf (stderr, ucon64_msg[FILE_BUFFER_ERROR], BUFFERSIZE); + exit (1); + } + + size = fsizeof (filename) - FIG_HEADER_LEN; // FIG SRAM is 4*8 kB, emu SRAM often not + printf ("Send: %d Bytes\n", size); + fseek (file, FIG_HEADER_LEN, SEEK_SET); // skip the header + + ffe_send_command (5, 0, 0); + ffe_send_command0 (0xe00d, 0); + ffe_send_command0 (0xc008, 0); + + printf ("Press q to abort\n\n"); // print here, NOT before first FIG I/O, + // because if we get here q works ;-) + address = 0x100; + starttime = time (NULL); + while ((bytesread = fread (buffer, 1, BUFFERSIZE, file))) + { + ffe_send_command (5, address, 0); + ffe_send_block (0x2000, buffer, bytesread); + address++; + + bytessend += bytesread; + ucon64_gauge (starttime, bytessend, size); + ffe_checkabort (2); + } + + free (buffer); + fclose (file); + ffe_deinit_io (); + + return 0; +} + + +int +fig_read_cart_sram (const char *filename, unsigned int parport) +{ + FILE *file; + unsigned char *buffer, byte; + int bytesreceived = 0, size; + unsigned short address; + time_t starttime; + + ffe_init_io (parport); + + if ((file = fopen (filename, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + exit (1); + } + if ((buffer = (unsigned char *) malloc (BUFFERSIZE)) == NULL) + { + fprintf (stderr, ucon64_msg[FILE_BUFFER_ERROR], BUFFERSIZE); + exit (1); + } + + size = receive_rom_info (buffer); + if (size == 0) + { + fprintf (stderr, "ERROR: There is no cartridge present in the Pro Fighter\n"); + fclose (file); + remove (filename); + exit (1); + } + + ffe_send_command (5, 3, 0); // detect cartridge SRAM size because + ffe_send_command0 (0xe00c, 0); // we don't want to read too few data + byte = ffe_send_command1 (0xbfd8); + + size = MAX ((byte ? 1 << (byte + 10) : 0), 32 * 1024); + printf ("Receive: %d Bytes\n", size); + + memset (buffer, 0, FIG_HEADER_LEN); +#if 0 // Not needed for FIG, as size is always 4 blocks + buffer[0] = 4; // 32 kB == 4*8 kB, "size_high" is already 0 +#endif + fwrite (buffer, 1, FIG_HEADER_LEN, file); + + ffe_send_command (5, 0, 0); + ffe_send_command0 (0xe00c, 0); +// ffe_send_command0 (0xc008, 0); + + printf ("Press q to abort\n\n"); // print here, NOT before first FIG I/O, + // because if we get here q works ;-) + address = hirom ? 0x2c3 : 0x1c0; + + starttime = time (NULL); + while (bytesreceived < size) + { + ffe_send_command (5, address, 0); + ffe_receive_block ((unsigned short) (hirom ? 0x6000 : 0x2000), buffer, BUFFERSIZE); + fwrite (buffer, 1, BUFFERSIZE, file); + address += hirom ? 4 : 1; + + bytesreceived += BUFFERSIZE; + ucon64_gauge (starttime, bytesreceived, size); + ffe_checkabort (2); + } + + free (buffer); + fclose (file); + ffe_deinit_io (); + + return 0; +} + + +int +fig_write_cart_sram (const char *filename, unsigned int parport) +{ + FILE *file; + unsigned char *buffer, byte; + int bytesread, bytessend = 0, size; + unsigned short address; + time_t starttime; + + ffe_init_io (parport); + + if ((file = fopen (filename, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + exit (1); + } + if ((buffer = (unsigned char *) malloc (BUFFERSIZE)) == NULL) + { + fprintf (stderr, ucon64_msg[FILE_BUFFER_ERROR], BUFFERSIZE); + exit (1); + } + + size = receive_rom_info (buffer); + if (size == 0) + { + fprintf (stderr, "ERROR: There is no cartridge present in the Pro Fighter\n"); + fclose (file); + remove (filename); + exit (1); + } + + ffe_send_command (5, 3, 0); // detect cartridge SRAM size because we don't + ffe_send_command0 (0xe00c, 0); // want to write more data than necessary + byte = ffe_send_command1 (0xbfd8); + + size = fsizeof (filename) - FIG_HEADER_LEN; // FIG SRAM is 4*8 kB, emu SRAM often not + size = MIN ((byte ? 1 << (byte + 10) : 0), size); + + printf ("Send: %d Bytes\n", size); + fseek (file, FIG_HEADER_LEN, SEEK_SET); // skip the header + + ffe_send_command (5, 0, 0); + ffe_send_command0 (0xe00c, 0); +// ffe_send_command0 (0xc008, 0); + + printf ("Press q to abort\n\n"); // print here, NOT before first FIG I/O, + // because if we get here q works ;-) + address = hirom ? 0x2c3 : 0x1c0; + + starttime = time (NULL); + while ((bytessend < size) && (bytesread = fread (buffer, 1, MIN (size, BUFFERSIZE), file))) + { + ffe_send_command (5, address, 0); + ffe_send_block ((unsigned short) (hirom ? 0x6000 : 0x2000), buffer, bytesread); + address += hirom ? 4 : 1; + + bytessend += bytesread; + ucon64_gauge (starttime, bytessend, size); + ffe_checkabort (2); + } + + free (buffer); + fclose (file); + ffe_deinit_io (); + + return 0; +} + +#endif // USE_PARALLEL diff --git a/tools/ucon64-2.0.0-src/src/backup/fig.h b/tools/ucon64-2.0.0-src/src/backup/fig.h new file mode 100644 index 0000000..ab36e1d --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/fig.h @@ -0,0 +1,100 @@ +/* +fig.h - Super PRO Fighter support for uCON64 + +Copyright (c) 1999 - 2002 NoisyB +Copyright (c) 2001 - 2003 dbjh +Copyright (c) 2003 JohnDie + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef FIG_H +#define FIG_H + +extern const st_getopt2_t fig_usage[]; + +#ifdef USE_PARALLEL +#endif // USE_PARALLEL + +/* +Super Pro Fighter (FIG) Header Format +Last edited: 19.06.2002 + +Offset | Content +-------------+------------------------------------ +$0000 | Lo-Byte of 8K-Block# +-------------+------------------------------------ +$0001 | Hi-Byte of 8K-Block# +-------------+------------------------------------ +$0002 | $00 = Last File + | $40 = More Files Present +-------------+------------------------------------ +$0003 | $00 = LoROM + | $80 = HiROM +-------------+------------------------------------ +$0004-$0005 | $77 $83 = No SRAM (LoROM) + | $00 $80 = 16 KBit (LoROM) + | $00 $80 = 64 KBit (LoROM) + | $00 $00 = 256 KBit (LoROM) + | $47 $83 = No SRAM (LoROM) (DSP) + | $11 $02 = 256 KBit (LoROM) (SFX) + | $77 $83 = No SRAM (HiROM) + | $DD $82 = 16 KBit (HiROM) + | $DD $82 = 64 KBit (HiROM) + | $DD $02 = 256 KBit (HiROM) + | $F7 $83 = No SRAM (HiROM) (DSP) + | $FD $82 = 16 KBit (HiROM) (DSP) +-------------+------------------------------------ +$0006-$01FF | Reserved (=$00) + + + +NOTE 1: The Super Pro Fighter does not distinguish between 16 KBit SRAM + and 64 KBit SRAM. + +NOTE 2: When splitting files, the SPF writes all relevant header fields + to all files. So each file has the same header with exception of + the last one, because it has $0002 set to $00 to indicate that it + is the last file. +*/ +typedef struct st_fig_header +{ +/* + Don't create fields that are larger than one byte! For example size_low and size_high + could be combined in one unsigned short int. However, this gives problems with little + endian vs. big endian machines (e.g. writing the header to disk). +*/ + unsigned char size_low; + unsigned char size_high; + unsigned char multi; + unsigned char hirom; + unsigned char emulation1; + unsigned char emulation2; + unsigned char pad[506]; +} st_fig_header_t; + +#define FIG_HEADER_START 0 +#define FIG_HEADER_LEN (sizeof (st_fig_header_t)) + +#ifdef USE_PARALLEL +extern int fig_read_rom (const char *filename, unsigned int parport); +extern int fig_write_rom (const char *filename, unsigned int parport); +extern int fig_read_sram (const char *filename, unsigned int parport); +extern int fig_write_sram (const char *filename, unsigned int parport); +extern int fig_read_cart_sram (const char *filename, unsigned int parport); +extern int fig_write_cart_sram (const char *filename, unsigned int parport); +#endif + +#endif // FIG_H diff --git a/tools/ucon64-2.0.0-src/src/backup/gbx.c b/tools/ucon64-2.0.0-src/src/backup/gbx.c new file mode 100644 index 0000000..a578db7 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/gbx.c @@ -0,0 +1,1991 @@ +/* +gbx.c - Game Boy Xchanger/GBDoctor support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB +Copyright (c) 2001 - 2004 dbjh +Based on gbt15.c - Copyright (c) Bung Enterprises + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +/******************************************************************** +* use parallel EPP/SPP port to r/w game boy cartridge * +* * +* ai[]=0 w a[7..0] * +* ai[]=1 w a[15..8] * +* ai[]=2 w control d7=rs,d6=spp,d1=xwe_en,d0=cs_en * +* ai[]=3 r/w data * +* * +* MBC1 * +* R/W A000~BFFF RAM SWITCHING BANK(256Kbit) 4 BANKS OF 8Kbyte * +* R 4000~7FFF ROM SWITCHING BANK(4Mbit) 32 BANKS OF 128Kbit * +* W 2000~3FFF SET ROM BANK (5 BIT) * +* R 0000~3FFF FIX ROM BANK 0 * +* W 4000~5FFF SET RAM BANK (2 BIT) * +* W 0000~1FFF SET 0A ENABLE RAM BANK * +* * +* MBC2 * +* R/W A000~BFFF 512 X 4 BIT RAM * +* R 4000~7FFF ROM SWITCHING BANK(2Mbit) 16 BANKS OF 128Kbit * +* W 2100 SET ROM BANK (4 BIT) * +* R 0000~3FFF FIX ROM BANK 0 * +* W 0000 SET 0A ENABLE RAM BANK * +* * +* MBC5 * +* R/W A000~BFFF RAM SWITCHING BANK(1Mbit) 16 BANKS OF 64 Kbit * +* R 4000~7FFF ROM SWITCHING BANK(64Mbit) 512 BANKS OF 128Kbit * +* W 3000~3FFF SET ROM BANK1(BANK Q8) TOTAL 9 BIT * +* W 2000~2FFF SET ROM BANK0(BANK Q7~Q0) * +* R 0000~3FFF FIX ROM BANK 0 * +* W 4000~7FFF SET RAM BANK (4 BIT) * +* W 0000~1FFF SET 0A ENABLE RAM BANK * +* * +********************************************************************/ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#include +#include "misc/misc.h" +#include "misc/itypes.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "misc/parallel.h" +#include "misc/file.h" +#include "ucon64.h" +#include "ucon64_misc.h" +#include "gbx.h" +#include "console/gb.h" // gb_logodata, rocket_logodata + + +const st_getopt2_t gbx_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Game Boy Xchanger/GBDoctor"/*"19XX Bung Enterprises Ltd http://www.bung.com.hk"*/, + NULL + }, +#ifdef USE_PARALLEL + { + "xgbx", 0, 0, UCON64_XGBX, + NULL, "send/receive ROM to/from GB Xchanger; " OPTION_LONG_S "port=PORT\n" + "receives automatically when ROM does not exist", + &ucon64_wf[WF_OBJ_GB_DEFAULT_STOP_NO_ROM] + }, + { + "xgbxs", 0, 0, UCON64_XGBXS, + NULL, "send/receive SRAM to/from GB Xchanger; " OPTION_LONG_S "port=PORT\n" + "receives automatically when SRAM does not exist", + &ucon64_wf[WF_OBJ_GB_STOP_NO_ROM] + }, + { + "xgbxb", 1, 0, UCON64_XGBXB, + "BANK", "send/receive 64 kbits SRAM to/from GB Xchanger BANK\n" + "BANK can be a number from 0 to 15; " OPTION_LONG_S "port=PORT\n" + "receives automatically when ROM does not exist", + &ucon64_wf[WF_OBJ_GB_STOP_NO_ROM] + }, + { + "xgbxm", 0, 0, UCON64_XGBXM, + NULL, "try to enable EPP mode, default is SPP mode", + &ucon64_wf[WF_OBJ_GB_SWITCH] + }, +#endif + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + + +#ifdef USE_PARALLEL + +//#define set_ai_write outportb (port_a, 5); // ninit=1, nwrite=0 +#define set_data_read outportb (port_a, 0); // ninit=0, nastb=1, nib_sel=0, ndstb=1, nwrite=1 +#define set_data_write outportb (port_a, 1); // ninit=0, nastb=1, nib_sel=0, ndstb=1, nwrite=0 +//#define set_normal outportb (port_a, 4); // ninit=1, nwrite=1 + +typedef enum { UNKNOWN_MBC, BUNG, ROM, MBC1, MBC2, MBC3, MBC5, CAMERA, ROCKET } mbc_t; +typedef enum { UNKNOWN_EEPROM, WINBOND, MX, INTEL } eeprom_t; + +static unsigned short int port_8, port_9, port_a, port_b, port_c, rocket_game_no; +static unsigned char buffer[32768]; +static mbc_t mbc_type; +static eeprom_t eeprom_type; +static parport_mode_t port_mode; + + +static volatile void +delay_us (int n_us) +// Hmmm, usleep() can be used under UNIX, but default under DOS is delay() which +// waits for a number of milliseconds... Better use the same code on all platforms. +{ + volatile int n; + int n_max; + + // it's probably best to use the original strange loop values + if (n_us == 10) + n_max = 0x2000; + else if (n_us == 100) + n_max = 0x10000; + else if (n_us == 20000) + n_max = 0xfffff; + else + n_max = n_us * 1000; + + for (n = 0; n < n_max; n++) + ; +} + + +static void +spp_set_ai (unsigned char ai) +{ + set_data_write +// outportb (port_a, 1); // nastb=1,nib_sel=0,ndstb=1,nwrite=0 + outportb (port_8, ai); // put ai at data bus + outportb (port_a, 9); // nastb=0,nib_sel=0,ndstb=1,nwrite=0 + outportb (port_a, 1); // nastb=1,nib_sel=0,ndstb=1,nwrite=0 + // nastb ~~~~|___|~~~~ +} + + +static void +spp_write_data (unsigned char data) +{ +// outportb (port_a, 1); // nastb=1,nib_sel=0,ndstb=1,nwrite=0 + outportb (port_8, data); // put data at data bus + outportb (port_a, 3); // nastb=1,nib_sel=0,ndstb=0,nwrite=0 + outportb (port_a, 1); // nastb=1,nib_sel=0,ndstb=1,nwrite=0 + // ndstb ~~~~|___|~~~~ +} + + +static void +spp_set_ai_data (unsigned char ai, unsigned char data) +{ + spp_set_ai (ai); + spp_write_data (data); +} + + +static unsigned char +spp_read_data (void) +{ + unsigned char byte; + + set_data_read + outportb (port_a, 2); // nastb=1,nib_sel=0,ndstb=0,nwrite=1 + byte = (inportb (port_9) >> 3) & 0x0f; + outportb (port_a, 6); // nastb=1,nib_sel=1,ndstb=0,nwrite=1 + byte |= (inportb (port_9) << 1) & 0xf0; + outportb (port_a, 0); // nastb=1,nib_sel=0,ndstb=1,nwrite=1 + // nibble_sel ___|~~~ and ndstb ~~~~|___|~~~~ + + return byte; +} + + +static void +epp_set_ai (unsigned char ai) +{ + set_data_write + outportb (port_b, ai); +} + + +static void +epp_set_ai_data (unsigned char ai, unsigned char data) +{ + epp_set_ai (ai); + set_data_write + outportb (port_c, data); +} + + +static void +set_ai (unsigned char ai) +{ + set_data_write + if (port_mode == UCON64_SPP) + spp_set_ai (ai); + else + epp_set_ai (ai); +} + + +static void +set_ai_data (unsigned char ai, unsigned char data) +{ + if (port_mode == UCON64_SPP) + spp_set_ai_data (ai, data); // SPP mode + else + epp_set_ai_data (ai, data); // EPP mode +} + + +static void +write_data (unsigned char data) +{ + if (port_mode == UCON64_SPP) + spp_write_data (data); // SPP write data + else + outportb (port_c, data); // EPP write data +} + + +static unsigned char +read_data (void) +{ + if (port_mode == UCON64_SPP) + return spp_read_data (); // SPP read data + else + return inportb (port_c); // EPP read data +} + + +static void +init_port (void) +{ +#ifndef USE_PPDEV + outportb (port_9, 1); // clear EPP time flag +#endif + set_ai_data ((unsigned char) 2, 0); // rst=0, wei=0(dis.), rdi=0(dis.) + set_ai_data ((unsigned char) 2, 0x80); // rst=1, wei=0(dis.), rdi=0(dis.) +} + + +static void +end_port (void) +{ + set_ai_data ((unsigned char) 2, 0); // rst=0, wei=0(dis.), rdi=0(dis.) + outportb (port_a, 4); // ninit=1, nwrite=1 +} + + +static void +set_adr (unsigned int adr) +{ + set_ai_data ((unsigned char) 0, (unsigned char) adr); // a[7..0] + set_ai_data ((unsigned char) 1, (unsigned char) (adr >> 8)); // a[15..8] + set_ai (3); + set_data_read // ninit=0, nwrite=1 +} + + +static void +set_adr_long (unsigned int adr, int ignore_xh) // real address +{ + unsigned char xh, h, m, l; + + set_ai_data ((unsigned char) 2, 0x80); // disable wr/rd inc. + l = (unsigned char) adr; // a7-a0 + m = (unsigned char) (adr >> 8) & 0x3f; // a13-a8 + h = (unsigned char) (adr >> 14) & 0xff; // a21-a13 + if (h) + m |= 0x40; // > bank 0 + + if (!ignore_xh) + { + xh = (unsigned char) (adr >> 22) & 0x7; // max. 256Mbit + if (xh) + m |= 0x40; // > bank 0 + set_adr (0x3000); // write 3000:xh + set_data_write + write_data (xh); // set ROM bank extend value + } + + set_adr (0x2000); // write 2000:h + set_data_write + write_data (h); // set ROM bank value + set_ai_data ((unsigned char) 1, m); // a[15..8] + set_ai_data ((unsigned char) 0, l); // a[7..0] +} + + +static void +set_bank (unsigned int adr, unsigned char bank) +{ + set_ai_data ((unsigned char) 2, 0x80); // disable inc + set_ai_data ((unsigned char) 0, (unsigned char) adr); // a[7..0] + set_ai_data ((unsigned char) 1, (unsigned char) ((adr >> 8) & 0x7f)); // a[15..8] + set_ai_data ((unsigned char) 3, bank); // write bank no + set_data_read // ninit=0, nwrite=1 +} + + +static void +out_byte_eeprom (unsigned char data) +{ + set_ai_data ((unsigned char) 2, 0x82); // wei enable + set_ai (3); // default write mode +// set_data_read // ninit=0, nwrite=1 + set_data_write + write_data (data); // out data + set_ai_data ((unsigned char) 2, 0x80); // wei disable + set_ai (3); // default write mode +} + + +static void +out_byte (unsigned char data) +{ + set_ai (3); +// set_data_read // ninit=0, nwrite=1 + set_data_write + write_data (data); // out data +} + + +static void +out_data (unsigned char h, unsigned char m, unsigned char l, unsigned char data) +{ + // ai[]=2 w control d7=rs,d1=xwe_en,d0=cs_en + h = ((h << 2) | (m >> 6)) & 0x1f; // maximum bank is 1f + if (h) + m = (m & 0x3f) | 0x40; // > bank 0 + else + m = m & 0x3f; // bank 0 + + set_adr (0x2000); // write 2000:h + set_data_write + write_data (h); // set ROM bank value + set_ai_data ((unsigned char) 1, m); // a[15..8] + set_ai_data ((unsigned char) 0, l); // a[7..0] + out_byte_eeprom (data); // write data to EEPROM +} + + +static void +out_adr2_data (unsigned int adr, unsigned char data) // address shift 1 bit +{ + set_adr_long (adr << 1, 1); // adr x 2 + out_byte_eeprom (data); // write data to EEPROM +} + + +static void +out_adr_data (unsigned int adr, unsigned char data) // real address +{ + set_adr_long (adr, 0); + out_byte_eeprom (data); // write data to EEPROM +} + + +static void +out_adr_data_32k (unsigned int adr, unsigned char data) +{ + set_adr (adr); + out_byte_eeprom (data); // write data to EEPROM +} + + +static unsigned char +read_byte (void) +{ + set_ai (3); // default write mode + set_data_read // ninit=0, nwrite=1 + return read_data (); +} + + +static void +enable_protection (void) +{ +// set_bank (0x2000,0); // set bank 0 + out_data (0, 0x55, 0x55, 0xaa); // adr2,adr1,adr0,data 05555:aa + out_data (0, 0x2a, 0xaa, 0x55); + out_data (0, 0x55, 0x55, 0xa0); +} + + +/* +static void +disable_protection (void) +{ + out_data (0, 0x55, 0x55, 0xaa); // adr2,adr1,adr0,data 05555:aa + out_data (0, 0x2a, 0xaa, 0x55); + out_data (0, 0x55, 0x55, 0x80); + out_data (0, 0x55, 0x55, 0xaa); + out_data (0, 0x2a, 0xaa, 0x55); + out_data (0, 0x55, 0x55, 0x20); + delay_us (20000); +} +*/ + + +#if 0 +static int +data_polling_data (unsigned char last_data) +{ + unsigned int timeout = 0; + + while (timeout++ < 0x07ffffff) + if (((read_byte () ^ last_data) & 0x80) == 0) + return 0; + return 1; // ready to exit the while loop +} +#endif + + +static int +data_polling (void) +{ + unsigned char predata, currdata; + unsigned int timeout = 0; + + predata = read_byte () & 0x40; + while (timeout++ < 0x07ffffff) + { + currdata = read_byte () & 0x40; + if (predata == currdata) + return 0; + predata = currdata; + } + return 1; +} + + +static void +reset_to_read (void) // return to read mode +{ + out_adr2_data (0x5555, 0xaa); // 5555:aa adr2,adr1,adr0,data + out_adr2_data (0x2aaa, 0x55); // 2aaa:55 + out_adr2_data (0x5555, 0xf0); // 5555:f0 +} + + +/* +static void +read_status_reg_cmd (void) +{ + out_adr2_data (0x5555, 0xaa); // 5555:aa adr2,adr1,adr0,data + out_adr2_data (0x2aaa, 0x55); // 2aaa:55 + out_adr2_data (0x5555, 0x70); // 5555:70 +} +*/ + + +static int +wait_status (void) +{ + unsigned temp = read_byte (); // read first status byte + + while ((temp & 0xfc) != 0x80) + { + if ((temp & 0x20) == 0x20 && port_mode == UCON64_SPP) + { + fputs ("\nERROR: Erase failed\n", stderr); + return -1; + } + if ((temp & 0x10) == 0x10) + { + fputs ("\nERROR: Programming failed\n", stderr); + return -2; + } + temp = read_data (); + } +// reset_to_read (); + return 0; +} + + +static int +mx_erase (void) +{ + int retval; + + out_adr2_data (0x5555, 0xaa); // 5555:aa adr2,adr1,adr0,data + out_adr2_data (0x2aaa, 0x55); // 2aaa:55 + out_adr2_data (0x5555, 0x80); // 5555:80 + out_adr2_data (0x5555, 0xaa); // 5555:aa + out_adr2_data (0x2aaa, 0x55); // 2aaa:55 + out_adr2_data (0x5555, 0x10); // 5555:10 + + delay_us (100); +// read_status_reg_cmd (); // send read status reg. cmd + retval = wait_status () ? -1 : 0; + reset_to_read (); + return retval; +} + + +/* +static int +win_erase (void) +{ + out_data (0, 0x55, 0x55, 0xaa); // adr2,adr1,adr0,data 05555:aa + out_data (0, 0x2a, 0xaa, 0x55); + out_data (0, 0x55, 0x55, 0x80); + out_data (0, 0x55, 0x55, 0xaa); + out_data (0, 0x2a, 0xaa, 0x55); + out_data (0, 0x55, 0x55, 0x10); + + delay_us (20000); + if (data_polling ()) + { + fputs ("ERROR: Erase failed\n", stderr); + return -1; + } + else + return 0; +} +*/ + + +static unsigned char +intel_read_status (void) +{ + out_adr_data (0, 0x70); // read status command + return read_byte (); +} + + +static int +intel_check_status (void) +{ + unsigned int time_out = 0x8000; + + while (!(intel_read_status () & 0x80)) + { + time_out--; + if (time_out == 0) + { + fprintf (stderr, "\nERROR: Intel read status time out\n" + " Status = 0x%02x\n", intel_read_status ()); + out_adr_data (0, 0x50); // clear status register + return -1; + } + } + return 0; +} + + +static int +intel_block_erase (unsigned int block) +{ + unsigned int time_out = 0x8000; + + while ((intel_read_status ()) != 0x80) + { + time_out--; + if (time_out == 0) + { + fprintf (stderr, "\nERROR: Intel block erase time out\n" + " Status = 0x%02x\n", intel_read_status ()); + return -1; + } + } + out_adr_data (block, 0x20); // block erase + out_adr_data (block, 0xd0); // write confirm + time_out = 0x8000; + while (!(intel_read_status () & 0x80)) + { + time_out--; + if (time_out == 0) + { + fprintf (stderr, "\nERROR: Intel block erase time out at 0x%x\n" + " Status = 0x%02x\n", block, intel_read_status ()); + out_adr_data (block, 0x50); // clear status register + fprintf (stderr, " Status = 0x%02x\n", intel_read_status ()); + return -1; + } + } + + if ((intel_read_status ()) == 0x80) + return 0; + else + { + fprintf (stderr, "\nERROR: Intel block erase error at 0x%x\n" + " Status = 0x%02x\n", block, intel_read_status ()); + out_adr_data (block, 0x50); // clear status register + fprintf (stderr, " Status = 0x%02x\n", intel_read_status ()); + out_adr_data (0x0000, 0xff); // read array + return -1; + } +} + + +/* +static int +intel_erase (void) +{ + unsigned int block; + for (block = 0; block < 64; block++) + if (intel_block_erase (block * 0x20000)) + return -1; + return 0; +} + + +static int +erase (void) +{ + if (eeprom_type == WINBOND) + return win_erase (); + else if (eeprom_type == MX) + return mx_erase (); + else if (eeprom_type == INTEL) + return intel_erase (); + + fputs ("ERROR: Unknown EEPROM type\n", stderr); + return -1; +} +*/ + + +static int +check_eeprom (void) +{ + int i; + + // check 4M flash + out_adr_data_32k (0x5555, 0xaa); // software product ID entry + out_adr_data_32k (0x2aaa, 0x55); + out_adr_data_32k (0x5555, 0x80); + out_adr_data_32k (0x5555, 0xaa); + out_adr_data_32k (0x2aaa, 0x55); + out_adr_data_32k (0x5555, 0x60); + + delay_us (10); + set_adr (0); // adr2,adr1,adr0 + if (read_byte () == 0xda) // manufacturer code + { + set_adr (1); // adr2,adr1,adr0 + if (read_byte () == 0x46) // device code + { + out_adr_data_32k (0x5555, 0xaa); // software product ID exit + out_adr_data_32k (0x2aaa, 0x55); // adr2,adr1,adr0,data + out_adr_data_32k (0x5555, 0xf0); // adr2,adr1,adr0,data + eeprom_type = WINBOND; // Winbond 4 Mbit flash + return 0; + } + } + + // check 16M flash + out_adr2_data (0x5555, 0xaa); // 5555:aa software product ID entry + out_adr2_data (0x2aaa, 0x55); // 2aaa:55 adr2,adr1,adr0,data + out_adr2_data (0x5555, 0x90); // 5555:90 adr2,adr1,adr0,data + + set_adr (0); // adr2,adr1,adr0 + if (read_byte () == 0xc2) // manufacturer code + { + set_adr (2); // adr2,adr1,adr0 + if (read_byte () == 0xf1) // device code + { + reset_to_read (); // reset to read mode + eeprom_type = MX; // MX 16 Mbit flash + return 0; + } + } + + // check 64M flash + reset_to_read (); + init_port (); + out_adr_data (0x0000, 0x98); // read query + for (i = 0; i < 128; i += 2) + { + set_adr (i); // adr2,adr1,adr0 + buffer[i / 2] = read_byte (); + } +// dumper (stdout, buffer, 64, 0, DUMPER_HEX); + + if (buffer[0] == 0x89 && buffer[1] == 0x15 + && buffer[0x10] == 'Q' && buffer[0x11] == 'R' && buffer[0x12] == 'Y') + { + out_adr_data (0x0000, 0xff); // read array + eeprom_type = INTEL; // Intel 64 Mbit flash + return 0; + } + +// eeprom_type = UNKNOWN_EEPROM; + return 1; +} + + +static void +check_mbc (void) +// determine memory bank controller type +{ + if (eeprom_type != UNKNOWN_EEPROM) + mbc_type = BUNG; + else + { + unsigned char rom_type = buffer[0x47]; + + if (memcmp (buffer + 4, rocket_logodata, GB_LOGODATA_LEN) == 0) + mbc_type = ROCKET; // rom_type == 0x97 || rom_type == 0x99 + else if (rom_type == 0) + mbc_type = ROM; + else if ((rom_type >= 1 && rom_type <= 3) || rom_type == 0xff) + mbc_type = MBC1; + else if (rom_type == 5 || rom_type == 6) + mbc_type = MBC2; + else if (rom_type >= 0x0f && rom_type <= 0x13) + mbc_type = MBC3; + else if (rom_type >= 0x19 && rom_type <= 0x1e) + mbc_type = MBC5; + else if (rom_type == 0x1f) + mbc_type = CAMERA; + else + mbc_type = UNKNOWN_MBC; + } +} + + +static int +check_card (void) +/* + 16 kB ROM = 1 bank + 8 kB RAM = 1 bank +*/ +{ + unsigned char sum = 0; + char game_name[16]; + int i; + + puts ("Checking ROM data..."); + + if (mbc_type == ROCKET) + puts ("NOTE: Rocket Games cartridge detected"); + else if (memcmp (buffer + 4, gb_logodata, GB_LOGODATA_LEN) != 0) + { + puts ("WARNING: Cartridge does not contain official Nintendo logo data"); + dumper (stdout, buffer, 0x50, 0x100, DUMPER_HEX); + } + + memcpy (game_name, buffer + 0x34, 15); + game_name[15] = 0; + for (i = 0; i < 15; i++) + if (!isprint ((int) game_name[i]) && game_name[i] != 0) + game_name[i] = '.'; + printf ("Game name: \"%s\"\n", game_name); + + if (buffer[0x48] > 8) // ROM size + printf ("NOTE: Strange ROM size byte value in header (0x%02x)\n", buffer[0x48]); + + if (buffer[0x49] > 5) // SRAM size + printf ("NOTE: Strange RAM size byte value in header (0x%02x)\n", buffer[0x49]); + +/* + // [47] = ROM type + if (buffer[0x47] > 0 && buffer[0x47] < 4 && buffer[0x48] > 4) + mbc1_exp = 1; // MBC1 8 Mbit/16 Mbit +*/ + + for (i = 0x34; i < 0x4d; i++) + sum += ~buffer[i]; + if (buffer[0x4d] != sum) + printf ("NOTE: Incorrect header checksum (0x%02x), should be 0x%02x\n", + buffer[0x4d], sum); + + return (1 << (buffer[0x48] > 8 ? 9 : buffer[0x48])) * 32 * 1024; +} + + +static void +set_sram_bank (unsigned char bank) +// original code only did "set_adr (0x4000); out_byte (bank);" +{ + if (eeprom_type != UNKNOWN_EEPROM) + { // flash card + set_adr (0x4000); // set SRAM adr + out_byte (bank); // SRAM bank 0 + // this should be equivalent to the code above: set_bank (0x4000, bank) + } + else + { // game cartridge + switch (mbc_type) + { + case MBC1: + set_bank (0x6000, 1); + set_bank (0x4000, (unsigned char) (bank & 3)); + break; + case MBC3: + case MBC5: + set_bank (0x4000, bank); + break; + default: + break; + } + } +} + + +static void +set_bank2 (unsigned int bank) +{ + switch (mbc_type) + { + case BUNG: + case UNKNOWN_MBC: + case MBC5: + set_bank (0x2000, (unsigned char) bank); + if (eeprom_type != WINBOND) + set_bank (0x3000, (unsigned char) (bank >> 8)); + break; + case MBC1: + set_bank (0x6000, 0); + set_bank (0x2000, (unsigned char) (bank & 0x1f)); + set_bank (0x4000, (unsigned char) ((bank >> 5) & 3)); // (bank & 0x60) >> 5 + break; + case MBC2: + set_bank (0x2100, (unsigned char) (bank & 0x0f)); + break; + case MBC3: + set_bank (0x2000, (unsigned char) bank); + break; + case CAMERA: + set_bank (0x4000, (unsigned char) bank); + break; + case ROCKET: + set_bank (0x3f00, (unsigned char) bank); + break; + default: + break; + } +} + + +static void +read_rom_16k (unsigned int bank) // ROM or EEPROM +{ + int idx = 0, i, j; + char game_name[16]; + + set_bank2 (bank); + for (j = 0; j < 64; j++) + { // 16k bytes = 64 x 256 bytes + if (bank) + set_ai_data ((unsigned char) 1, (unsigned char) (j | 0x40)); // set adr[15..8] + else + set_ai_data ((unsigned char) 1, (unsigned char) j); // a[15..0] + set_ai_data ((unsigned char) 0, 0); // a[7..0] + set_ai_data ((unsigned char) 2, 0x81); // enable read inc. + set_ai (3); // read/write data + set_data_read + for (i = 0; i < 256; i++) // page = 256 + buffer[idx + i] = read_data (); + idx += 256; + + /* + One can select the game in 2-in-1 cartridges by writing the game number + to 0x3fc0. This has been verified for 2 cartridges with ROM type byte + value 0x99. Maybe there exist other Rocket Games n-in-1 games with a + different ROM type byte value. That's why we don't check for that + specific ROM type byte value. + */ + if (mbc_type == ROCKET && j == 1) + if (memcmp (buffer + 0x104, rocket_logodata, GB_LOGODATA_LEN) == 0) + { + set_adr (0x3fc0); + out_byte ((unsigned char) rocket_game_no++); + if (bank) + { + // Reread the last two pages, because the data came from the + // previously selected game (data is "mirrored"). This does not + // apply to the first game. + int k; + + idx = 0; + for (k = 0; k < 2; k++) + { + set_ai_data ((unsigned char) 1, (unsigned char) (k | 0x40)); + set_ai_data ((unsigned char) 0, 0); + set_ai_data ((unsigned char) 2, 0x81); + set_ai (3); + set_data_read + for (i = 0; i < 256; i++) + buffer[idx + i] = read_data (); + idx += 256; + } + + clear_line (); // remove last gauge + memcpy (game_name, buffer + 0x134, 15); + game_name[15] = 0; + for (i = 0; i < 15; i++) + if (!isprint ((int) game_name[i]) && game_name[i] != 0) + game_name[i] = '.'; + printf ("Found another game: \"%s\"\n\n", game_name); + } + } + } +} + + +static int +verify_rom_16k (unsigned int bank) // ROM or EEPROM +{ + int idx = 0, i, j; + + set_bank2 (bank); + for (j = 0; j < 64; j++) + { // 16k bytes = 64 x 256 bytes + if (bank) + set_ai_data ((unsigned char) 1, (unsigned char) (j | 0x40)); // set adr[15..8] + else + set_ai_data ((unsigned char) 1, (unsigned char) j); + set_ai_data ((unsigned char) 0, 0); // a[7..0] + set_ai_data ((unsigned char) 2, 0x81); // enable read inc. + set_ai (3); // read/write data + set_data_read + for (i = 0; i < 256; i++) + if (read_data () != buffer[idx + i]) + { + printf ("\nWARNING: Verify error at 0x%x\n", + (bank * 16384) + (j * 256) + i); + return -1; + } + idx += 256; + } + + return 0; +} + + +static int +win_write_eeprom_16k (unsigned int bank) +{ + int wr_done, err_cnt, idx = 0, i, j; + +// disable_protection (); + + for (j = 0; j < 64; j++) + { // 16k bytes = 64 x 256 bytes + err_cnt = 16; // retry write counter + wr_done = 1; + while (wr_done) + { + enable_protection (); + // write 256 bytes + set_bank (0x2000, (unsigned char) bank); // for MCB1 16k bank + if (bank) + set_ai_data ((unsigned char) 1, (unsigned char) (j | 0x40)); // set adr[15..8] + else + set_ai_data ((unsigned char) 1, (unsigned char) j); + + set_ai_data ((unsigned char) 0, 0); // a[7..0] +// set_ai_data ((unsigned char) 2, 0x82); // enable flash write + set_ai_data ((unsigned char) 2, 0x83); // enable flash write inc. + set_ai (3); // read/write data +// set_ai_data ((unsigned char) 2, 0x80); + + for (i = 0; i < 256; i++) + write_data (buffer[idx + i]); // write data to EEPROM + set_ai_data ((unsigned char) 2, 0x80); // disable wr/rd inc. + set_ai_data ((unsigned char) 0, 0xff); // point to xxff + if (data_polling ()) + puts ("\nWARNING: Write error"); // was: "Write error check (d6)" + + wr_done = 0; + + // verify 256 bytes + set_ai_data ((unsigned char) 0, 0); // a[7..0] + set_ai_data ((unsigned char) 2, 0x81); // enable read inc. + set_ai (3); // read/write data + set_data_read + for (i = 0; i < 256; i++) + if (read_data () != buffer[idx + i]) + { + err_cnt--; + wr_done = 1; + break; + } + if (err_cnt == 0) + { + fputs ("\nERROR: Programming failed after retry\n", stderr); + return -1; + } + } + idx += 256; + } +/* + enable_protection(); + disable_protection(); + delay_us (20000); +*/ + return verify_rom_16k (bank); +} + + +static void +set_page_write (void) // start page write command +{ + out_adr2_data (0x5555, 0xaa); // 5555:aa adr2,adr1,adr0,data + out_adr2_data (0x2aaa, 0x55); // 2aaa:55 + out_adr2_data (0x5555, 0xa0); // 5555:a0 +} + + +static int +page_write_128 (unsigned int bank, unsigned char hi_lo, int j, int idx) +{ + int retry = 3, verify_ok, i; + + while (retry) + { + set_page_write (); // each page is 128 bytes + set_bank (0x2000, (unsigned char) bank); // for MCB1 16k bank + if (bank) + set_ai_data ((unsigned char) 1, (unsigned char) (j | 0x40)); // set adr[15..8] + else + set_ai_data ((unsigned char) 1, (unsigned char) j); + + set_ai_data ((unsigned char) 0, hi_lo); // a[7..0] + set_ai_data ((unsigned char) 2, 0x83); // enable flash write inc. + set_ai (3); // read/write data + for (i = 0; i < 128; i++) + write_data (buffer[idx + i]); // write data to EEPROM + set_ai_data ((unsigned char) 2, 0x80); // disable wr/rd inc. + delay_us (10); // delay is large enough? - dbjh + if (wait_status ()) + return -1; // wait_status() prints error message + + // verify data + reset_to_read (); // return to read mode + verify_ok = 1; // verify ok + set_bank (0x2000, (unsigned char) bank); // for MCB1 16k bank + if (bank) + set_ai_data ((unsigned char) 1, (unsigned char) (j | 0x40)); // set adr[15..8] + else + set_ai_data ((unsigned char) 1, (unsigned char) j); + + set_ai_data ((unsigned char) 0, hi_lo); // a[7..0] + set_ai_data ((unsigned char) 2, 0x81); // enable inc. + set_ai (3); // read/write data + set_data_read + for (i = 0; i < 128; i++) // page = 128 + if (read_data () != buffer[idx + i]) + { + verify_ok = 0; // verify error + break; + } + if (verify_ok) + break; + else + { + retry--; + if (retry == 0) + { + fputs ("\nERROR: Programming failed after retry\n", stderr); + return -1; + } + } + } + return 0; +} + + +static int +mx_write_eeprom_16k (unsigned int bank) +{ + int idx = 0, j; + + for (j = 0; j < 64; j++) + { // 16k bytes = 64 x 256 bytes + if (page_write_128 (bank, 0, j, idx)) // write first 128 bytes + return -1; + idx += 128; + if (page_write_128 (bank, 0x80, j, idx)) // write second 128 bytes + return -1; + idx += 128; + } + reset_to_read (); // return to read mode + return verify_rom_16k (bank); +} + + +/* +static void +dump_intel_data (void) +{ + int i; + + out_adr_data (0, 0xff); // read array command + for (i = 0; i < 64; i++) + { // read 0x100-0x150 to buffer + set_adr (i); + buffer[i] = read_data (); + } + dumper (stdout, buffer, 64, 0, DUMPER_HEX); +} + + +static int +intel_byte_write_32 (unsigned int block_adr, int idx) +{ + int time_out, i; + + for (i = 0; i < 32; i++) + { + out_adr_data (block_adr + idx + i, 0x40); // Write byte command + out_adr_data (block_adr + idx + i, buffer[idx + i]); // Write data + time_out = 0x8000; + + if (intel_check_status ()) + { + fprintf (stderr, "\nERROR: Intel byte write command time out\n" + " Status = 0x%02x\n", intel_read_status ()); +// dump_intel_data (); + return -1; + } + } + if (intel_read_status () == 0x80) + return 0; + else + return -1; // error +} +*/ + + +static int +intel_buffer_write_32 (unsigned int block_adr, int idx) +{ + int time_out = 0x80000, i; + + out_adr_data (block_adr + idx, 0xe8); // Write buffer command + set_ai_data ((unsigned char) 2, 0x82); // wei enable + set_ai (3); // default write mode +// write_data (0xe8); // Write buffer command + set_data_read // ninit=0, nwrite=1 + while (!(read_data () & 0x80)) + { + time_out--; + if (time_out == 0) + { + fprintf (stderr, "\nERROR: Intel buffer write command time out\n" + " Status = 0x%02x\n", intel_read_status ()); +// dump_intel_data (); + return -1; + } + set_data_write + write_data (0xe8); // out data + set_data_read +// out_byte_eeprom (0xe8); // write buffer command + } + +// out_byte_eeprom (0x1f); // set write byte count command + write_data (0x1f); // out data + + set_ai_data ((unsigned char) 2, 0x83); // enable flash write inc. + set_ai (3); + for (i = 0; i < 32; i++) + write_data (buffer[idx + i]); // write data to EEPROM + write_data (0xd0); // write confirm command + + return 0; +} + + +static int +intel_write_eeprom_16k (unsigned int bank) +{ + unsigned int block_adr = bank << 14; // convert to real address + int idx, j; + + if ((bank & 0x07) == 0) + if (intel_block_erase (block_adr)) + return -1; + +// set_adr_long (block_adr, 0); // set real address + for (j = 0; j < 512; j++) + { // 16k bytes = 512 x 32 bytes + idx = j * 32; +// if (intel_byte_write_32 (block_adr, idx)) return -1; + if (intel_buffer_write_32 (block_adr, idx)) + { + fprintf (stderr, "\nERROR: Write error\n" + " Status = 0x%02x\n", intel_read_status ()); + return -1; + } + } + + if (intel_check_status ()) + { + fprintf (stderr, "\nERROR: Intel buffer write command error\n" + " Status = 0x%02x\n", intel_read_status ()); +// dump_intel_data(); + return -1; + } + if (intel_read_status () != 0x80) + return -1; // error + + out_adr_data (0, 0xff); // read array + set_data_read + return verify_rom_16k (bank); +} + + +static int +write_eeprom_16k (unsigned int bank) +{ + if (eeprom_type == WINBOND) // Winbond 4 Mbits EEPROM + return win_write_eeprom_16k (bank); + if (eeprom_type == MX) // MX 16 Mbits EEPROM + return mx_write_eeprom_16k (bank); + if (eeprom_type == INTEL) // Intel 64 Mbits EEPROM + return intel_write_eeprom_16k (bank); + return -1; +} + + +static void +enable_sram_bank (void) +{ + init_port (); + set_adr (0x0000); // write 0x0000:0x0a default read mode + out_byte (0x0a); // enable SRAM + out_byte (0xc0); // disable SRAM + set_adr (0xa000); + out_byte (0xa0); // ctr index + set_adr (0xa100); +// out_byte(0x00); // ram_off,ram_bank_disable,MBC1 + out_byte (0xc0); // ram_on,ram_bank_enable,MBC1 + + set_adr (0x0000); // write 0x0000:0x0a + out_byte (0x0a); // enable SRAM +} + + +/* +static void +usage (char *progname) +{ + fprintf (stderr, "Usage: %s [-option] \n", progname); + fprintf (stderr, "-l : load ROM file to GB Card.\n"); + fprintf (stderr, "-lsa : load 256k/1Mbits sram from PC to GB Card.\n"); + fprintf (stderr, + "-lsn : load 64kbits sram file from PC to specific sram bank(-n) in GB card.\n"); + fprintf (stderr, "-lsc : load 1Mbits sram file from PC to Pocket Camera.\n"); + fprintf (stderr, "-b : auto-detect size and backup entire GB Card to PC.\n"); + fprintf (stderr, "-ba : backup full 4Mbits/16Mbits GB Card to PC.\n"); + fprintf (stderr, "-bsa : retrieve all sram data (256k/1Mbits) from GB Card to PC.\n"); + fprintf (stderr, + "-bsn : retrieve specific bank(-n) sram data(64kbits) from GB Card to PC.\n"); + fprintf (stderr, "-bsc : retrieve 1Mbits sram from Pocket Camera to PC.\n"); + fprintf (stderr, "-v : verify file in PC with GB Card.\n"); + fprintf (stderr, "-e : erase Flash rom.\n"); + fprintf (stderr, "-c : check ROM file header.\n"); + exit (2); +} +*/ + + +static int +check_port_mode (void) +{ + init_port (); + set_ai_data ((unsigned char) 1, 0x12); + set_ai_data ((unsigned char) 0, 0x34); + set_ai (1); + set_data_read // ninit=0, nwrite=1 + if (read_data () != 0x12) + return 1; + set_ai (0); + set_data_read // ninit=0, nwrite=1 + if (read_data () != 0x34) + return 1; + end_port (); + return 0; +} + + +static int +check_port (void) +{ + if (ucon64.parport_mode == UCON64_EPP && port_8 != 0x3bc) + port_mode = UCON64_EPP; // if port == 0x3bc => no EPP available + else + port_mode = UCON64_SPP; + + if (check_port_mode ()) + { + port_mode = UCON64_SPP; + if (check_port_mode ()) + return 1; + else + end_port (); + } + + // If we get here, a GBX was detected + if (port_mode == UCON64_EPP) + puts ("GBX found. EPP found"); + else + puts ("GBX found. EPP not found or not enabled - SPP used"); + + return 0; +} + + +#if 0 // not used +static void +win_id (void) +{ + out_data (0, 0x55, 0x55, 0xaa); // software product ID entry + out_data (0, 0x2a, 0xaa, 0x55); // adr2,adr1,adr0,data + out_data (0, 0x55, 0x55, 0x80); // adr2,adr1,adr0,data + out_data (0, 0x55, 0x55, 0xaa); // adr2,adr1,adr0,data + out_data (0, 0x2a, 0xaa, 0x55); // adr2,adr1,adr0,data + out_data (0, 0x55, 0x55, 0x60); // adr2,adr1,adr0,data + + delay_us (10); + set_adr (0); // adr2,adr1,adr0 + printf ("Manufacturer code: 0x%02x\n", read_byte ()); + set_adr (1); // adr2,adr1,adr0 + printf ("Device code: 0x%02x\n", read_byte ()); +/* + set_adr (2); // adr2,adr1,adr0 + printf ("First 16 k protection code: 0x%02x\n", read_byte ()); + set_bank (0x2000, 0x1f); + set_adr (0x7ff2); // adr2,adr1,adr0=0x7fff2 + printf("Last 16 k protection code: 0x%02x\n", read_byte ()); +*/ + + out_data (0, 0x55, 0x55, 0xaa); // software product ID exit + out_data (0, 0x2a, 0xaa, 0x55); // adr2,adr1,adr0,data + out_data (0, 0x55, 0x55, 0xf0); // adr2,adr1,adr0,data +} + + +static void +mx_id (void) +{ + out_adr2_data (0x5555, 0xaa); // software product ID entry + out_adr2_data (0x2aaa, 0x55); // adr2,adr1,adr0,data + out_adr2_data (0x5555, 0x90); // adr2,adr1,adr0,data + + set_adr (0); // adr2,adr1,adr0 + printf ("Manufacturer code: 0x%02x\n", read_byte ()); + set_adr (2); // adr2,adr1,adr0 + printf ("Device code: 0x%02x\n", read_byte ()); + set_adr (4); // adr2,adr1,adr0 + printf ("First 16 k protection code: 0x%02x\n", read_byte ()); + reset_to_read (); // reset to read mode +} + + +static void +intel_id (void) +{ + int i; + + out_adr_data (0, 0x98); // read query + for (i = 0; i < 128; i += 2) + { + set_adr (i); // adr2,adr1,adr0 + buffer[i / 2] = read_byte (); + } +// dumper (stdout, buffer, 64, 0, DUMPER_HEX); + + printf ("Manufacture code = 0x%02x\n", buffer[0]); + printf ("Device code = 0x%02x\n", buffer[1]); +} + + +static void +disp_id (void) +{ + if (eeprom_type == WINBOND) + win_id (); + if (eeprom_type == MX) + mx_id (); + if (eeprom_type == INTEL) + intel_id (); +} + + +static void +gen_pat (unsigned int offset) +{ + int i; + + for (i = 0; i < 0x2000; i++) // 8 k words = 16 k bytes + ((unsigned short int *) buffer)[i] = i + offset; +} + + +static int +test_sram_v (int n_banks) +{ + int idx, i, j, bank; + + enable_sram_bank (); + for (bank = 0; bank < n_banks; bank++) + { + idx = 0; + set_sram_bank (bank); + gen_pat (bank); + for (j = 0; j < 0x20; j++) + { // 32 x 256 = 8192 (8 kbytes) + set_ai_data ((unsigned char) 1, (unsigned char) (0xa0 + j)); // SRAM at 0xa000-0xbfff + set_ai_data ((unsigned char) 0, 0); // a[7..0]=0 + set_ai_data ((unsigned char) 2, 0x81); // enable inc + set_ai (3); // point to data r/w port + set_data_read + for (i = 0; i < 256; i++) + if (read_data () != buffer[i + idx]) + { + fputs ("ERROR: SRAM verify error\n", stderr); + return -1; + } + set_ai_data ((unsigned char) 2, 0x80); // disable inc + idx += 256; + } + } + return 0; +} + + +static int +test_sram_wv (int n_banks) +{ + int idx, i, j, bank; + + enable_sram_bank (); + for (bank = 0; bank < n_banks; bank++) + { + idx = 0; + set_sram_bank (bank); + gen_pat (bank); +// dumper (stdout, buffer, 0x10, 0, DUMPER_HEX); + for (j = 0; j < 0x20; j++) + { // 32 x 256 = 8192(8kbytes) + set_ai_data ((unsigned char) 1, (unsigned char) (0xa0 + j)); // SRAM at 0xa000-0xbfff + set_ai_data ((unsigned char) 0, 0); // a[7..0]=0 + set_ai_data ((unsigned char) 2, 0x81); // enable inc + set_ai (3); // point to data r/w port + set_data_write + for (i = 0; i < 256; i++) + write_data (buffer[i + idx]); + set_ai_data ((unsigned char) 2, 0x80); // disable inc + idx += 256; + } + } + return test_sram_v (n_banks); +} + + +int cart_type = 0; // should be set to value of ROM[0x147] + +static void +set_rom_bank (unsigned char bank) +{ + // cart_type < 4 is MCB1, other is MCB2 + if (cart_type < 4) + set_bank (0x2000, bank); // for MCB1 + else + set_bank (0x2100, bank); // for MCB2 +} + + +static void +try_read (void) +{ + int i; + + set_ai_data ((unsigned char) 0, 0); // a[7..0]=0 + set_ai_data ((unsigned char) 1, 0x40); + set_ai_data ((unsigned char) 2, 0x81); // enable inc + set_ai (3); // point to data r/w port + for (i = 0; i < 16; i++) + buffer[i] = read_data (); + dumper (stdout, buffer, 16, 0, DUMPER_HEX); +} + + +static void +try_read0 (void) +{ + int j; + + set_rom_bank (1); + for (j = 0; j < 4; j++) + { + set_sram_bank ((unsigned char) j); + try_read (); + } + set_bank (0x6000, (unsigned char) 1); + puts ("6000:1"); + for (j = 0; j < 4; j++) + { + set_sram_bank ((unsigned char) j); + try_read (); + } + set_bank (0x6000, (unsigned char) 0); + puts ("6000:0"); + for (j = 0; j < 4; j++) + { + set_sram_bank ((unsigned char) j); + try_read (); + } +} + + +static void +test_intel (void) +{ + int i; + + out_adr2_data (0x0000, 0x90); // software product ID entry + for (i = 0; i < 128; i += 2) + { + set_adr (i); // adr2,adr1,adr0 + buffer[i / 2] = read_byte (); + } + dumper (stdout, buffer, 64, 0, DUMPER_HEX); + + out_adr2_data (0x0000, 0x70); // read status register + printf ("Status register = 0x%02x\n", read_byte ()); +} + + +static void gbx_init (unsigned int parport, int read_header); + +static int +verify_card_from_file (const char *filename, unsigned int parport) +{ + unsigned int bank, n_banks, filesize; + FILE *file; + time_t starttime; + + gbx_init (parport, 1); + filesize = fsizeof (filename); + if ((filesize < 0x8000) || (filesize & 0x7fff) || (filesize > 64 * MBIT)) + { + fputs ("ERROR: File size error\n", stderr); + exit (1); + } + if ((file = fopen (filename, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + exit (1); + } + + n_banks = (filesize / 0x8000) * 2; // how many 16k banks (rounded + starttime = time (NULL); // down to 32k boundary) + for (bank = 0; bank < n_banks; bank++) + { + if (fread (buffer, 1, 0x4000, file) != 0x4000) + { + fprintf (stderr, ucon64_msg[READ_ERROR], filename); + fclose (file); + exit (1); + } +/* + if (bank == 0) + { + // [0x147] = ROM type; [0x148] = ROM size + if (buffer[0x147] > 0 && buffer[0x147] < 4 && buffer[0x148] > 4) + mbc1_exp = 1; // MBC1 8 Mbit/16 Mbit + } +*/ + if (verify_eeprom_16k (bank)) + { + printf ("Verify card error at bank 0x%x\n", bank); + fclose (file); + exit (1); + } + ucon64_gauge (starttime, (bank + 1) * 0x4000, filesize); + } + fclose (file); + puts ("\nVerify card OK"); + + return 0; +} +#endif + + +static void +gbx_init (unsigned int parport, int read_header) +{ + int i; + + eeprom_type = UNKNOWN_EEPROM; + rocket_game_no = 0; + + port_8 = parport; + port_9 = parport + 1; + port_a = parport + 2; + port_b = parport + 3; + port_c = parport + 4; + + parport_print_info (); + + if (check_port () != 0) + { + fputs ("ERROR: GBX not found or not turned on\n", stderr); + exit (1); + } + init_port (); + check_eeprom (); + + if (read_header) + for (i = 0x100; i < 0x150; i++) + { // read 0x100-0x150 to buffer + set_adr (i); + buffer[i - 0x100] = read_data (); + } + /* + buffer is undefined if read_header == 0. This is not a problem as + read_header is only 0 if a flash card should be programmed + (gbx_write_rom()). In that case check_mbc() won't use buffer. + */ + check_mbc (); +} + + +int +gbx_read_rom (const char *filename, unsigned int parport) +{ + unsigned int bank, n_banks, rom_size, n_bytes = 0, totalbytes; + time_t starttime; + FILE *file; + + gbx_init (parport, 1); + rom_size = check_card (); + + if ((file = fopen (filename, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + end_port (); + exit (1); + } + + /* + 0 256 kbit = 32 kB = 2 banks + 1 512 kbit = 64 kB = 4 banks + 2 1 Mbit = 128 kB = 8 banks + 3 2 Mbit = 256 kB = 16 banks + 4 4 Mbit = 512 kB = 32 banks + 5 8 Mbit = 1 MB = 64 banks + 6 16 Mbit = 2 MB = 128 banks + */ + n_banks = rom_size / (16 * 1024); + if (eeprom_type == WINBOND) + n_banks = 32; // backup 4 Mbit + if (eeprom_type == MX) + n_banks = 128; // backup 16 Mbit + if (eeprom_type == INTEL) + n_banks = 512; // backup 64 Mbit + + totalbytes = n_banks * 16 * 1024; + printf ("Receive: %d Bytes (%.4f Mb)\n\n", totalbytes, (float) totalbytes / MBIT); + + starttime = time (NULL); + for (bank = 0; bank < n_banks; bank++) + { + read_rom_16k (bank); + if (verify_rom_16k (bank)) + printf ("Verify card error at bank 0x%x\n", bank); + + fwrite (buffer, 1, 0x4000, file); + n_bytes += 16 * 1024; + ucon64_gauge (starttime, n_bytes, totalbytes); + } + + fclose (file); + end_port (); + + return 0; +} + + +int +gbx_write_rom (const char *filename, unsigned int parport) +{ + int bank, n_banks, n_bytes = 0, filesize; + time_t starttime; + FILE *file; + + gbx_init (parport, 0); + if (eeprom_type == UNKNOWN_EEPROM) + { + fputs ("ERROR: Unknown EEPROM type\n", stderr); + end_port (); + exit (1); + } + + filesize = fsizeof (filename); + if ((filesize < 0x8000) || (filesize & 0x7fff) || (filesize > 64 * MBIT)) + { + fputs ("ERROR: File size error\n", stderr); + exit (1); + } + n_banks = (filesize / 0x8000) * 2; // how many 16k banks (rounded + // down to 32k boundary) + if (eeprom_type == MX) + if (mx_erase ()) // erase 16M flash + { + // wait_status() prints error message + end_port (); + exit (1); + } + + if ((file = fopen (filename, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + end_port (); + exit (1); + } + + printf ("Send: %d Bytes (%.4f Mb)\n\n", + n_banks * 0x4000, (float) (n_banks * 0x4000) / MBIT); + + starttime = time (NULL); + for (bank = 0; bank < n_banks; bank++) + { + if (fread (buffer, 1, 0x4000, file) != 0x4000) + { + fprintf (stderr, ucon64_msg[READ_ERROR], filename); + fclose (file); + end_port (); + exit (1); + } + if (write_eeprom_16k (bank)) + { + fprintf (stderr, "ERROR: Write card error at bank 0x%x\n", bank); + fclose (file); + end_port (); + exit (1); + } + n_bytes += 0x4000; + ucon64_gauge (starttime, n_bytes, filesize); + } + +#if 0 // write_eeprom_16k() already calls verify_rom_16k() (indirectly)... + clear_line (); // remove last gauge + puts ("Verifying card...\n"); + fseek (file, 0, SEEK_SET); + n_bytes = 0; + starttime = time (NULL); + for (bank = 0; bank < n_banks; bank++) + { + if (fread (buffer, 1, 0x4000, file) != 0x4000) + { + fprintf (stderr, ucon64_msg[READ_ERROR], filename); + fclose (file); + end_port (); + exit (1); + } + if (verify_rom_16k (bank)) + { + fprintf (stderr, "ERROR: Verify card error at bank 0x%x\n", bank); + fclose (file); + end_port (); + exit (1); + } + n_bytes += 0x4000; + ucon64_gauge (starttime, n_bytes, filesize); + } +#endif + + fclose (file); + end_port (); + + return 0; +} + + +static int +sram_size_banks (int pocket_camera, unsigned char sram_size_byte) +{ + int n_banks; + + if (eeprom_type == UNKNOWN_EEPROM) + { + // it seems reasonable that eeprom_type == UNKNOWN_EEPROM when a pocket + // camera (1 Mbit SRAM) is plugged in the GBX + if (pocket_camera) + n_banks = 16; + else // no flash card, must be game cartridge + { + int x = (sram_size_byte & 7) << 1; + if (x > 5) + x = 6; + if (x) + x = 1 << (x - 1); // SRAM size in kB + n_banks = (x + 8192 - 1) / 8192; // round up to 1 bank if it's 2 kB + } + } + else + { + // if eeprom_type != UNKNOWN_EEPROM, it has to be WINBOND, MX or INTEL (no + // need to set n_banks to a default value) + if (eeprom_type == WINBOND) + n_banks = 4; // 4 x 8 kB = 32 kB + else // if (eeprom_type == MX || eeprom_type == INTEL) + n_banks = 16; // 16 x 8 kB = 128 kB + } + + return n_banks; +} + + +int +gbx_read_sram (const char *filename, unsigned int parport, int start_bank) +{ + int bank, n_banks, n_bytes = 0, totalbytes, idx, i, j; + time_t starttime; + FILE *file; + + gbx_init (parport, 1); + + n_banks = sram_size_banks (buffer[0x47] == 0x1f, buffer[0x49]); + if (!n_banks) + { + fputs ("ERROR: No SRAM available\n", stderr); + end_port (); + exit (1); + } + + if (start_bank == -1) + start_bank = 0; + else + { + if (start_bank >= n_banks) + { + fprintf (stderr, "ERROR: Bank must be a value 0 - %d (for this card)\n", + n_banks - 1); + end_port (); + exit (1); + } + n_banks = 1; + } + + if ((file = fopen (filename, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + end_port (); + exit (1); + } + + memset (buffer, 0, 8192); + totalbytes = n_banks * 8192; + printf ("Receive: %d Bytes (%.4f Mb)\n\n", totalbytes, (float) totalbytes / MBIT); + + enable_sram_bank (); + starttime = time (NULL); + for (bank = start_bank; bank < start_bank + n_banks; bank++) + { + idx = 0; + set_sram_bank ((unsigned char) bank); + for (j = 0; j < 32; j++) + { // 32 x 256 = 8192 (8 kbytes) + set_ai_data ((unsigned char) 1, (unsigned char) (0xa0 + j)); // SRAM at 0xa000-0xbfff + set_ai_data ((unsigned char) 0, 0); // a[7..0]=0 + set_ai_data ((unsigned char) 2, 0x81); // enable inc + set_ai (3); // point to data r/w port + set_data_read + for (i = 0; i < 256; i++) + buffer[idx + i] = read_data (); + set_ai_data ((unsigned char) 2, 0x80); // disable inc + idx += 256; + } + fwrite (buffer, 1, 8192, file); + n_bytes += 8192; + ucon64_gauge (starttime, n_bytes, totalbytes); + } + fclose (file); + end_port (); + + return 0; +} + + +int +gbx_write_sram (const char *filename, unsigned int parport, int start_bank) +{ + int bank, n_banks, n_bytes = 0, totalbytes, idx, i, j; + time_t starttime; + FILE *file; + + gbx_init (parport, 1); + + n_banks = sram_size_banks (buffer[0x47] == 0x1f, buffer[0x49]); + if (!n_banks) + { + fputs ("ERROR: No SRAM to write to\n", stderr); + end_port (); + exit (1); + } + + if (start_bank == -1) + { + start_bank = 0; + i = fsizeof (filename); + n_banks = MIN (n_banks, (i + 8192 - 1) / 8192); // "+ 8192 - 1" to round up + } + else + { + if (start_bank >= n_banks) + { + fprintf (stderr, "ERROR: Bank must be a value 0 - %d (for this card)\n", + n_banks - 1); + end_port (); + exit (1); + } + n_banks = 1; + } + + if ((file = fopen (filename, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + end_port (); + exit (1); + } + + memset (buffer, 0, 8192); + totalbytes = n_banks * 8192; // yes, we _send_ totalbytes bytes + printf ("Send: %d Bytes (%.4f Mb)\n\n", totalbytes, (float) totalbytes / MBIT); + + enable_sram_bank (); + starttime = time (NULL); + for (bank = start_bank; bank < start_bank + n_banks; bank++) + { + idx = 0; + if (!fread (buffer, 1, 8192, file)) + { // handle/allow files that are not an exact multiple of 8 kB + fprintf (stderr, ucon64_msg[READ_ERROR], filename); + fclose (file); + end_port (); + exit (1); + } + set_sram_bank ((unsigned char) bank); + for (j = 0; j < 32; j++) + { // 32 x 256 = 8192 (8 kbytes) + set_ai_data ((unsigned char) 1, (unsigned char) (0xa0 + j)); // SRAM at 0xa000-0xbfff + set_ai_data ((unsigned char) 0, 0); // a[7..0]=0 + set_ai_data ((unsigned char) 2, 0x81); // enable inc + set_ai (3); // point to data r/w port + set_data_write + for (i = 0; i < 256; i++) + write_data (buffer[idx + i]); + set_ai_data ((unsigned char) 2, 0x80); // disable inc + idx += 256; + } + n_bytes += 8192; + ucon64_gauge (starttime, n_bytes, totalbytes); + } + fclose (file); + end_port (); + + return 0; +} + +#endif // USE_PARALLEL diff --git a/tools/ucon64-2.0.0-src/src/backup/gbx.h b/tools/ucon64-2.0.0-src/src/backup/gbx.h new file mode 100644 index 0000000..afed590 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/gbx.h @@ -0,0 +1,34 @@ +/* +gbx.h - Game Boy Xchanger support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB +Copyright (c) 2001 - 2002 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef GBX_H +#define GBX_H + +extern const st_getopt2_t gbx_usage[]; + +#ifdef USE_PARALLEL +extern int gbx_read_rom (const char *filename, unsigned int parport); +extern int gbx_write_rom (const char *filename, unsigned int parport); +extern int gbx_read_sram (const char *filename, unsigned int parport, int bank); +extern int gbx_write_sram (const char *filename, unsigned int parport, int bank); +#endif + +#endif // GBX_H diff --git a/tools/ucon64-2.0.0-src/src/backup/gd.c b/tools/ucon64-2.0.0-src/src/backup/gd.c new file mode 100644 index 0000000..c7bb853 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/gd.c @@ -0,0 +1,1144 @@ +/* +gd.c - Game Doctor support for uCON64 + +Copyright (c) 2002 - 2003 John Weidman +Copyright (c) 2002 - 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#include +#include "misc/string.h" +#include "misc/misc.h" +#include "misc/file.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ucon64_misc.h" +#include "gd.h" +#include "console/snes.h" // for snes_make_gd_names() & +#include "misc/parallel.h" // snes_get_snes_hirom() + + +const st_getopt2_t gd_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Game Doctor SF3(SF6/SF7)/Professor SF(SF II)"/*"19XX Bung Enterprises Ltd http://www.bung.com.hk"*/, + NULL + }, +#ifdef USE_PARALLEL + { + "xgd3", 0, 0, UCON64_XGD3, // supports split files + NULL, "send ROM to Game Doctor SF3/SF6/SF7; " OPTION_LONG_S "port=PORT\n" + "this option uses the Game Doctor SF3 protocol", + &ucon64_wf[WF_OBJ_SNES_DEFAULT_STOP_NO_ROM] + }, + { + "xgd6", 0, 0, UCON64_XGD6, +#if 1 // dumping is not yet supported + NULL, "send ROM to Game Doctor SF6/SF7; " OPTION_LONG_S "port=PORT\n" // supports split files +#else + NULL, "send/receive ROM to/from Game Doctor SF6/SF7; " OPTION_LONG_S "port=PORT\n" + "receives automatically when ROM does not exist\n" +#endif + "this option uses the Game Doctor SF6 protocol", + &ucon64_wf[WF_OBJ_SNES_DEFAULT_STOP_NO_ROM] + }, + { + "xgd3s", 0, 0, UCON64_XGD3S, + NULL, "send SRAM to Game Doctor SF3/SF6/SF7; " OPTION_LONG_S "port=PORT", + &ucon64_wf[WF_OBJ_SNES_STOP_NO_ROM] + }, + // --xgd3r should remain hidden until receiving works + { + "xgd3r", 0, 0, UCON64_XGD3R, + NULL, NULL, + &ucon64_wf[WF_OBJ_SNES_STOP_NO_ROM] + }, + { + "xgd6s", 0, 0, UCON64_XGD6S, + NULL, "send/receive SRAM to/from Game Doctor SF6/SF7; " OPTION_LONG_S "port=PORT\n" + "receives automatically when SRAM does not exist", + &ucon64_wf[WF_OBJ_SNES_STOP_NO_ROM] + }, + { + "xgd6r", 0, 0, UCON64_XGD6R, + NULL, "send/receive saver (RTS) data to/from Game Doctor SF6/SF7;\n" OPTION_LONG_S "port=PORT\n" + "receives automatically when saver file does not exist", + &ucon64_wf[WF_OBJ_SNES_STOP_NO_ROM] + }, +#endif // USE_PARALLEL + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + + +#ifdef USE_PARALLEL + +#define BUFFERSIZE 8192 +#define GD_OK 0 +#define GD_ERROR 1 +#define GD3_PROLOG_STRING "DSF3" +#define GD6_READ_PROLOG_STRING "GD6R" // GD reading, PC writing +#define GD6_WRITE_PROLOG_STRING "GD6W" // GD writing, PC reading +#define GD6_TIMEOUT_ATTEMPTS 0x4000 +#define GD6_RX_SYNC_TIMEOUT_ATTEMPTS 0x2000 +#define GD6_SYNC_RETRIES 16 + +#ifdef _MSC_VER +// Visual C++ doesn't allow inline in C source code +#define inline __inline +#endif + + +static void init_io (unsigned int port); +static void deinit_io (void); +static void io_error (void); +static void gd_checkabort (int status); +static void remove_destfile (void); +static int gd3_send_prolog_byte (unsigned char data); +static int gd3_send_prolog_bytes (unsigned char *data, int len); +static void gd3_send_byte (unsigned char data); +static int gd3_send_bytes (unsigned char *data, int len); +static int gd6_sync_hardware (void); +static int gd6_sync_receive_start (void); +static inline int gd6_send_byte_helper (unsigned char data, unsigned int timeout); +static int gd6_send_prolog_byte (unsigned char data); +static int gd6_send_prolog_bytes (unsigned char *data, int len); +static int gd6_send_bytes (unsigned char *data, int len); +static int gd6_receive_bytes (unsigned char *buffer, int len); +static int gd_send_unit_prolog (int header, unsigned size); +static int gd_write_rom (const char *filename, unsigned int parport, + st_rominfo_t *rominfo, const char *prolog_str); +static int gd_write_sram (const char *filename, unsigned int parport, + const char *prolog_str); +static int gd_write_saver (const char *filename, unsigned int parport, + const char *prolog_str); + + +typedef struct st_gd3_memory_unit +{ + char name[12]; // Exact size is 11 chars but I'll +// unsigned char *data; // add one extra for string terminator + unsigned int size; // Usually either 0x100000 or 0x80000 +} st_gd3_memory_unit_t; + +static int (*gd_send_prolog_byte) (unsigned char data); +static int (*gd_send_prolog_bytes) (unsigned char *data, int len); +static int (*gd_send_bytes) (unsigned char *data, int len); +static st_gd3_memory_unit_t gd3_dram_unit[GD3_MAX_UNITS]; +static int gd_port, gd_bytessend, gd_fsize, gd_name_i = 0; +static time_t gd_starttime; +static char **gd_names; +static unsigned char gd6_send_toggle; +static const char *gd_destfname = NULL; +static FILE *gd_destfile; + + +void +init_io (unsigned int port) +/* + - sets global `gd_port'. Then the send/receive functions don't need to pass + `port' to all the I/O functions. + - calls init_conio(). Necessary for kbhit() and DOS-like behaviour of getch(). +*/ +{ + gd_port = port; +#if 0 // we want to support non-standard parallel port addresses + if (gd_port != 0x3bc && gd_port != 0x378 && gd_port != 0x278) + { + fputs ("ERROR: PORT must be 0x3bc, 0x378 or 0x278\n", stderr); + exit (1); + } +#endif + +#if (defined __unix__ || defined __BEOS__) && !defined __MSDOS__ + init_conio (); +#endif + + parport_print_info (); +} + + +void +deinit_io (void) +{ +// Put possible transfer cleanup stuff here +#if (defined __unix__ || defined __BEOS__) && !defined __MSDOS__ + deinit_conio (); +#endif +} + + +void +io_error (void) +// This function could be changed to take a string argument that describes the +// error. Or take an integer code that we can interpret here. +{ + fflush (stdout); + fputs ("ERROR: Communication with Game Doctor failed\n", stderr); + fflush (stderr); + // calling fflush() seems to be necessary under Msys in order to make the + // error message be displayed before the "Removing: " message + exit (1); +} + + +void +gd_checkabort (int status) +{ + if (((!ucon64.frontend) ? kbhit () : 0) && getch () == 'q') + { + puts ("\nProgram aborted"); + exit (status); + } +} + + +static void +remove_destfile (void) +{ + if (gd_destfname) + { + printf ("Removing: %s\n", gd_destfname); + fclose (gd_destfile); + remove (gd_destfname); + gd_destfname = NULL; + } +} + + +int +gd3_send_prolog_byte (unsigned char data) +/* + Prolog specific data output routine + We could probably get away with using the general routine but the + transfer program I (JW) traced to analyze the protocol did this for + the bytes used to set up the transfer so here it is. +*/ +{ + // Wait until SF3 is not busy + do + { + if ((inportb ((unsigned short) (gd_port + PARPORT_STATUS)) & 0x08) == 0) + return GD_ERROR; + } + while ((inportb ((unsigned short) (gd_port + PARPORT_STATUS)) & 0x80) == 0); + + outportb ((unsigned short) gd_port, data); // set data + outportb ((unsigned short) (gd_port + PARPORT_CONTROL), 5); // Clock data out to SF3 + outportb ((unsigned short) (gd_port + PARPORT_CONTROL), 4); + + return GD_OK; +} + + +int +gd3_send_prolog_bytes (unsigned char *data, int len) +{ + int i; + + for (i = 0; i < len; i++) + if (gd3_send_prolog_byte (data[i]) == GD_ERROR) + return GD_ERROR; + return GD_OK; +} + + +int +gd_send_unit_prolog (int header, unsigned size) +{ + if (gd_send_prolog_byte (0x00) == GD_ERROR) + return GD_ERROR; + if (gd_send_prolog_byte ((unsigned char) ((header != 0) ? 0x02 : 0x00)) == GD_ERROR) + return GD_ERROR; + if (gd_send_prolog_byte ((unsigned char) (size >> 16)) == GD_ERROR) // 0x10 = 8 Mbit + return GD_ERROR; + if (gd_send_prolog_byte (0x00) == GD_ERROR) + return GD_ERROR; + return GD_OK; +} + + +void +gd3_send_byte (unsigned char data) +/* + General data output routine + Use this routine for sending ROM data bytes to the Game Doctor SF3 (SF6/SF7 + too). +*/ +{ + // Wait until SF3 is not busy + while ((inportb ((unsigned short) (gd_port + PARPORT_STATUS)) & 0x80) == 0) + ; + + outportb ((unsigned short) gd_port, data); // set data + outportb ((unsigned short) (gd_port + PARPORT_CONTROL), 5); // Clock data out to SF3 + outportb ((unsigned short) (gd_port + PARPORT_CONTROL), 4); +} + + +int +gd3_send_bytes (unsigned char *data, int len) +{ + int i; + + for (i = 0; i < len; i++) + { + gd3_send_byte (data[i]); + gd_bytessend++; + if ((gd_bytessend - GD_HEADER_LEN) % 8192 == 0) + { + ucon64_gauge (gd_starttime, gd_bytessend, gd_fsize); + gd_checkabort (2); // 2 to return something other than 1 + } + } + return GD_OK; +} + + +int +gd6_sync_hardware (void) +// Sets the SF7 up for an SF6/SF7 protocol transfer +{ + int timeout, retries; + volatile int delay; + + for (retries = GD6_SYNC_RETRIES; retries > 0; retries--) + { + timeout = GD6_TIMEOUT_ATTEMPTS; + + outportb ((unsigned short) (gd_port + PARPORT_CONTROL), 4); + outportb ((unsigned short) gd_port, 0); + outportb ((unsigned short) (gd_port + PARPORT_CONTROL), 4); + + for (delay = 0x1000; delay > 0; delay--) // A delay may not be necessary here + ; + + outportb ((unsigned short) gd_port, 0xaa); + outportb ((unsigned short) (gd_port + PARPORT_CONTROL), 0); + + while ((inportb ((unsigned short) (gd_port + PARPORT_CONTROL)) & 0x08) == 0) + if (--timeout == 0) + break; + if (timeout == 0) + continue; + + outportb ((unsigned short) (gd_port + PARPORT_CONTROL), 4); + + while ((inportb ((unsigned short) (gd_port + PARPORT_CONTROL)) & 0x08) != 0) + if (--timeout == 0) + break; + if (timeout == 0) + continue; + + outportb ((unsigned short) gd_port, 0x55); + outportb ((unsigned short) (gd_port + PARPORT_CONTROL), 0); + + while ((inportb ((unsigned short) (gd_port + PARPORT_CONTROL)) & 0x08) == 0) + if (--timeout == 0) + break; + if (timeout == 0) + continue; + + outportb ((unsigned short) (gd_port + PARPORT_CONTROL), 4); + + while ((inportb ((unsigned short) (gd_port + PARPORT_CONTROL)) & 0x08) != 0) + if (--timeout == 0) + break; + if (timeout == 0) + continue; + + return GD_OK; + } + return GD_ERROR; +} + + +int +gd6_sync_receive_start (void) +// Sync with the start of the received data +{ + int timeout = GD6_RX_SYNC_TIMEOUT_ATTEMPTS; + + while (1) + { + if (((inportb ((unsigned short) (gd_port + PARPORT_CONTROL)) & 0x03) == 0x03) || + ((inportb ((unsigned short) (gd_port + PARPORT_CONTROL)) & 0x03) == 0)) + break; + + if (--timeout == 0) + return GD_ERROR; + } + + outportb ((unsigned short) gd_port, 0); + + timeout = GD6_RX_SYNC_TIMEOUT_ATTEMPTS; + while ((inportb ((unsigned short) (gd_port + PARPORT_STATUS)) & 0x80) != 0) + if (--timeout == 0) + return GD_ERROR; + + return GD_OK; +} + + +inline int +gd6_send_byte_helper (unsigned char data, unsigned int timeout) +{ + while ((inportb ((unsigned short) (gd_port + PARPORT_CONTROL)) & 0x02) != gd6_send_toggle) + if (--timeout == 0) + return GD_ERROR; + + gd6_send_toggle = ~gd6_send_toggle & 0x02; + outportb ((unsigned short) gd_port, data); + outportb ((unsigned short) (gd_port + PARPORT_CONTROL), (unsigned char) (4 | (gd6_send_toggle >> 1))); + + return GD_OK; +} + + +int +gd6_send_prolog_byte (unsigned char data) +{ + unsigned int timeout = 0x100000; + + gd6_send_toggle = (inportb ((unsigned short) (gd_port + PARPORT_CONTROL)) & 0x01) << 1; + return gd6_send_byte_helper (data, timeout); +} + + +int +gd6_send_prolog_bytes (unsigned char *data, int len) +{ + int i; + unsigned int timeout = 0x1e00000; + + gd6_send_toggle = (inportb ((unsigned short) (gd_port + PARPORT_CONTROL)) & 0x01) << 1; + for (i = 0; i < len; i++) + if (gd6_send_byte_helper (data[i], timeout) != GD_OK) + return GD_ERROR; + return GD_OK; +} + + +int +gd6_send_bytes (unsigned char *data, int len) +{ + int i; + unsigned int timeout = 0x1e0000; + + gd6_send_toggle = (inportb ((unsigned short) (gd_port + PARPORT_CONTROL)) & 0x01) << 1; + for (i = 0; i < len; i++) + { + if (gd6_send_byte_helper (data[i], timeout) != GD_OK) + return GD_ERROR; + + gd_bytessend++; + if ((gd_bytessend - GD_HEADER_LEN) % 8192 == 0) + { + ucon64_gauge (gd_starttime, gd_bytessend, gd_fsize); + gd_checkabort (2); // 2 to return something other than 1 + } + } + return GD_OK; +} + + +int +gd6_receive_bytes (unsigned char *buffer, int len) +{ + int i; + unsigned char nibble1, nibble2; + unsigned int timeout = 0x1e0000; + + outportb ((unsigned short) gd_port, 0x80); // Signal the SF6/SF7 to send the next nibble + for (i = 0; i < len; i++) + { + while ((inportb ((unsigned short) (gd_port + PARPORT_STATUS)) & 0x80) == 0) + if (--timeout == 0) + return GD_ERROR; + + nibble1 = (inportb ((unsigned short) (gd_port + PARPORT_STATUS)) >> 3) & 0x0f; + outportb ((unsigned short) gd_port, 0x00); // Signal the SF6/SF7 to send the next nibble + + while ((inportb ((unsigned short) (gd_port + PARPORT_STATUS)) & 0x80) != 0) + if (--timeout == 0) + return GD_ERROR; + + nibble2 = (inportb ((unsigned short) (gd_port + PARPORT_STATUS)) << 1) & 0xf0; + buffer[i] = nibble2 | nibble1; + outportb ((unsigned short) gd_port, 0x80); + } + return GD_OK; +} + + +int +gd_add_filename (const char *filename) +{ + char buf[FILENAME_MAX], *p; + + if (gd_name_i < GD3_MAX_UNITS) + { + strcpy (buf, filename); + p = strrchr (buf, '.'); + if (p) + *p = 0; + strncpy (gd_names[gd_name_i], basename2 (buf), 11); + gd_names[gd_name_i][11] = 0; + gd_name_i++; + } + return 0; +} + + +int +gd3_read_rom (const char *filename, unsigned int parport) +{ + (void) filename; // warning remover + (void) parport; // warning remover + return fputs ("ERROR: The function for dumping a cartridge is not yet implemented for the SF3\n", stderr); +} + + +int +gd6_read_rom (const char *filename, unsigned int parport) +{ +#if 0 + FILE *file; + unsigned char *buffer; + + init_io (parport); + if ((file = fopen (filename, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + exit (1); + } + if ((buffer = (unsigned char *) malloc (BUFFERSIZE)) == NULL) + { + fprintf (stderr, ucon64_msg[FILE_BUFFER_ERROR], BUFFERSIZE); + exit (1); + } + + free (buffer); + fclose (file); + deinit_io (); + + return 0; +#else + (void) filename; // warning remover + (void) parport; // warning remover + return fputs ("ERROR: The function for dumping a cartridge is not yet implemented for the SF6\n", stderr); +#endif +} + + +int +gd3_write_rom (const char *filename, unsigned int parport, st_rominfo_t *rominfo) +{ + gd_send_prolog_byte = gd3_send_prolog_byte; // for gd_send_unit_prolog() + gd_send_prolog_bytes = gd3_send_prolog_bytes; + gd_send_bytes = gd3_send_bytes; + + return gd_write_rom (filename, parport, rominfo, GD3_PROLOG_STRING); +} + + +int +gd6_write_rom (const char *filename, unsigned int parport, st_rominfo_t *rominfo) +{ + gd_send_prolog_byte = gd6_send_prolog_byte; // for gd_send_unit_prolog() + gd_send_prolog_bytes = gd6_send_prolog_bytes; + gd_send_bytes = gd6_send_bytes; + + return gd_write_rom (filename, parport, rominfo, GD6_READ_PROLOG_STRING); +} + + +/* + Note: On most Game Doctor's the way you enter link mode to be able to upload + the ROM to the unit is to hold down the R key on the controller while + resetting the SNES. You will see the Game Doctor menu has a message that + says "LINKING..." +*/ +int +gd_write_rom (const char *filename, unsigned int parport, st_rominfo_t *rominfo, + const char *prolog_str) +{ + FILE *file = NULL; + unsigned char *buffer; + char *names[GD3_MAX_UNITS], names_mem[GD3_MAX_UNITS][12], + *filenames[GD3_MAX_UNITS], dir[FILENAME_MAX]; + int num_units, i, send_header, x, split = 1, hirom = snes_get_snes_hirom(); + + init_io (parport); + + // We don't want to malloc() ridiculously small chunks (of 12 bytes) + for (i = 0; i < GD3_MAX_UNITS; i++) + names[i] = names_mem[i]; + + gd_names = (char **) names; + ucon64_testsplit_callback = gd_add_filename; + num_units = ucon64.split = ucon64_testsplit (filename); // this will call gd_add_filename() + ucon64_testsplit_callback = NULL; + if (!ucon64.split) + { + split = 0; + num_units = snes_make_gd_names (filename, rominfo, (char **) names); + } + + dirname2 (filename, dir); + gd_fsize = 0; + for (i = 0; i < num_units; i++) + { + // No suffix is necessary but the name entry must be upper case and MUST + // be 11 characters long, padded at the end with spaces if necessary. + memset (gd3_dram_unit[i].name, ' ', 11); // "pad" with spaces + gd3_dram_unit[i].name[11] = 0; // terminate string so we can print it (debug) + // Use memcpy() instead of strcpy() so that the string terminator in + // names[i] won't be copied. + memcpy (gd3_dram_unit[i].name, strupr (names[i]), strlen (names[i])); + + x = strlen (dir) + strlen (names[i]) + 6; // file sep., suffix, ASCII-z => 6 + if ((filenames[i] = (char *) malloc (x)) == NULL) + { + fprintf (stderr, ucon64_msg[BUFFER_ERROR], x); + exit (1); + } + sprintf (filenames[i], "%s" FILE_SEPARATOR_S "%s.078", dir, names[i]); // should match with what code of -s does + + if (split) + { + x = fsizeof (filenames[i]); + gd_fsize += x; + gd3_dram_unit[i].size = x; + if (i == 0) // Correct for header of first file + gd3_dram_unit[i].size -= GD_HEADER_LEN; + } + else + { + if (!gd_fsize) // Don't call fsizeof() more + gd_fsize = fsizeof (filename); // often than necessary + if (hirom) + gd3_dram_unit[i].size = (gd_fsize - GD_HEADER_LEN) / num_units; + else + { + if ((i + 1) * 8 * MBIT <= gd_fsize - GD_HEADER_LEN) + gd3_dram_unit[i].size = 8 * MBIT; + else + gd3_dram_unit[i].size = gd_fsize - GD_HEADER_LEN - i * 8 * MBIT; + } + } + } + + if ((buffer = (unsigned char *) malloc (8 * MBIT)) == NULL) + { // a DRAM unit can hold 8 Mbit at maximum + fprintf (stderr, ucon64_msg[ROM_BUFFER_ERROR], 8 * MBIT); + exit (1); + } + + printf ("Send: %d Bytes (%.4f Mb)\n", gd_fsize, (float) gd_fsize / MBIT); + + // Put this just before the real transfer begins or else the ETA won't be + // correct. + gd_starttime = time (NULL); + + // Send the ROM to the hardware + if (memcmp (prolog_str, GD6_READ_PROLOG_STRING, 4) == 0) + if (gd6_sync_hardware () == GD_ERROR) + io_error (); + memcpy (buffer, prolog_str, 4); + buffer[4] = num_units; + if (gd_send_prolog_bytes (buffer, 5) == GD_ERROR) + io_error (); + + puts ("Press q to abort\n"); + for (i = 0; i < num_units; i++) + { +#ifdef DEBUG + printf ("\nfilename (%d): \"%s\", ", split, (split ? (char *) filenames[i] : filename)); + printf ("name: \"%s\", size: %d\n", gd3_dram_unit[i].name, gd3_dram_unit[i].size); +#endif + if (split) + { + if ((file = fopen (filenames[i], "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filenames[i]); + exit (1); + } + } + else + if (file == NULL) // don't open the file more than once + if ((file = fopen (filename, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + exit (1); + } + + send_header = i == 0 ? 1 : 0; + if (gd_send_unit_prolog (send_header, gd3_dram_unit[i].size) == GD_ERROR) + io_error (); + if (gd_send_prolog_bytes ((unsigned char *) gd3_dram_unit[i].name, 11) == GD_ERROR) + io_error (); + if (send_header) + { + // Send the Game Doctor 512 byte header + fread (buffer, 1, GD_HEADER_LEN, file); + if (gd_send_prolog_bytes (buffer, GD_HEADER_LEN) == GD_ERROR) + io_error (); + gd_bytessend += GD_HEADER_LEN; + } + if (split == 0) // Not pre-split -- have to split it ourselves + { + if (hirom) + fseek (file, i * gd3_dram_unit[0].size + GD_HEADER_LEN, SEEK_SET); + else + fseek (file, i * 8 * MBIT + GD_HEADER_LEN, SEEK_SET); + } + fread (buffer, 1, gd3_dram_unit[i].size, file); + if (gd_send_bytes (buffer, gd3_dram_unit[i].size) == GD_ERROR) + io_error (); + + if (split || i == num_units - 1) + fclose (file); + } + + for (i = 0; i < num_units; i++) + free (filenames[i]); + free (buffer); + deinit_io (); + + return 0; +} + + +int +gd3_read_sram (const char *filename, unsigned int parport) +{ + (void) filename; // warning remover + (void) parport; // warning remover + return fputs ("ERROR: The function for dumping SRAM is not yet implemented for the SF3\n", stderr); +} + + +int +gd6_read_sram (const char *filename, unsigned int parport) +{ + FILE *file; + unsigned char *buffer, gdfilename[12]; + int len, bytesreceived = 0, transfer_size; + time_t starttime; + + init_io (parport); + + if ((file = fopen (filename, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + exit (1); + } + if ((buffer = (unsigned char *) malloc (BUFFERSIZE)) == NULL) + { + fprintf (stderr, ucon64_msg[FILE_BUFFER_ERROR], BUFFERSIZE); + exit (1); + } + + // Be nice to the user and automatically remove the file on an error (or abortion) + gd_destfname = filename; + gd_destfile = file; + register_func (remove_destfile); + + if (gd6_sync_hardware () == GD_ERROR) + io_error (); + if (gd6_send_prolog_bytes ((unsigned char *) GD6_WRITE_PROLOG_STRING, 4) == GD_ERROR) + io_error (); + + /* + The BRAM (SRAM) filename doesn't have to exactly match any game loaded in + the SF7. It needs to match any valid Game Doctor file name AND have an + extension of .B## (where # is a digit from 0-9) + */ + strcpy ((char *) gdfilename, "SF16497 B00"); // TODO: We might need to make a GD file name from the real one + if (gd6_send_prolog_bytes (gdfilename, 11) == GD_ERROR) + io_error (); + + if (gd6_sync_receive_start () == GD_ERROR) + io_error (); + + if (gd6_receive_bytes (buffer, 16) == GD_ERROR) + io_error (); + + transfer_size = buffer[1] | (buffer[2] << 8) | (buffer[3] << 16) | (buffer[4] << 24); + if (transfer_size != 0x8000) + { + fprintf (stderr, "ERROR: SRAM transfer size from Game Doctor != 0x8000 bytes\n"); + exit (1); + } + + printf ("Receive: %d Bytes\n", transfer_size); + puts ("Press q to abort\n"); + + starttime = time (NULL); + while (bytesreceived < transfer_size) + { + if (transfer_size - bytesreceived >= BUFFERSIZE) + len = BUFFERSIZE; + else + len = transfer_size - bytesreceived; + + if (gd6_receive_bytes (buffer, len) == GD_ERROR) + io_error (); + fwrite (buffer, 1, len, file); + + bytesreceived += len; + ucon64_gauge (starttime, bytesreceived, 32 * 1024); + gd_checkabort (2); + } + + unregister_func (remove_destfile); + free (buffer); + fclose (file); + deinit_io (); + + return 0; +} + + +int +gd3_write_sram (const char *filename, unsigned int parport) +{ + gd_send_prolog_bytes = gd3_send_prolog_bytes; + gd_send_bytes = gd3_send_bytes; + + return gd_write_sram (filename, parport, GD3_PROLOG_STRING); +} + + +int +gd6_write_sram (const char *filename, unsigned int parport) +{ + gd_send_prolog_bytes = gd6_send_prolog_bytes; + gd_send_bytes = gd6_send_bytes; + + return gd_write_sram (filename, parport, GD6_READ_PROLOG_STRING); +} + + +int +gd_write_sram (const char *filename, unsigned int parport, const char *prolog_str) +{ + FILE *file; + unsigned char *buffer, gdfilename[12]; + int bytesread, bytessend = 0, size, header_size; + time_t starttime; + + init_io (parport); + + if ((file = fopen (filename, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + exit (1); + } + if ((buffer = (unsigned char *) malloc (BUFFERSIZE)) == NULL) + { + fprintf (stderr, ucon64_msg[FILE_BUFFER_ERROR], BUFFERSIZE); + exit (1); + } + + size = fsizeof (filename); // GD SRAM is 4*8 KB, emu SRAM often not + + if (size == 0x8000) + header_size = 0; + else if (size == 0x8200) + { + header_size = 0x200; + size = 0x8000; + } + else + { + fputs ("ERROR: GD SRAM file size must be 32768 or 33280 bytes\n", stderr); + exit (1); + } + + printf ("Send: %d Bytes\n", size); + fseek (file, header_size, SEEK_SET); // skip the header + + if (memcmp (prolog_str, GD6_READ_PROLOG_STRING, 4) == 0) + if (gd6_sync_hardware () == GD_ERROR) + io_error (); + memcpy (buffer, prolog_str, 4); + buffer[4] = 1; + if (gd_send_prolog_bytes (buffer, 5) == GD_ERROR) + io_error (); + + buffer[0] = 0x00; + buffer[1] = 0x80; + buffer[2] = 0x00; + buffer[3] = 0x00; + if (gd_send_prolog_bytes (buffer, 4) == GD_ERROR) + io_error (); + + /* + The BRAM (SRAM) filename doesn't have to exactly match any game loaded in + the SF7. It needs to match any valid Game Doctor file name AND have an + extension of .B## (where # is a digit from 0-9) + */ + strcpy ((char *) gdfilename, "SF8123 B00"); // TODO: We might need to make a GD file name from the real one + if (gd_send_prolog_bytes (gdfilename, 11) == GD_ERROR) + io_error (); + + puts ("Press q to abort\n"); // print here, NOT before first GD I/O, + // because if we get here q works ;-) + starttime = time (NULL); + while ((bytesread = fread (buffer, 1, BUFFERSIZE, file))) + { + if (gd_send_bytes (buffer, bytesread) == GD_ERROR) + io_error (); + + bytessend += bytesread; + ucon64_gauge (starttime, bytessend, size); + gd_checkabort (2); + } + + free (buffer); + fclose (file); + deinit_io (); + + return 0; +} + + +int +gd3_read_saver (const char *filename, unsigned int parport) +{ + (void) filename; // warning remover + (void) parport; // warning remover + return fputs ("ERROR: The function for dumping saver data is not yet implemented for the SF3\n", stderr); +} + + +int +gd6_read_saver (const char *filename, unsigned int parport) +{ + FILE *file; + unsigned char *buffer, gdfilename[12]; + int len, bytesreceived = 0, transfer_size; + time_t starttime; + + init_io (parport); + + if ((file = fopen (filename, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + exit (1); + } + if ((buffer = (unsigned char *) malloc (BUFFERSIZE)) == NULL) + { + fprintf (stderr, ucon64_msg[FILE_BUFFER_ERROR], BUFFERSIZE); + exit (1); + } + + // Be nice to the user and automatically remove the file on an error (or abortion) + gd_destfname = filename; + gd_destfile = file; + register_func (remove_destfile); + + if (gd6_sync_hardware () == GD_ERROR) + io_error (); + if (gd6_send_prolog_bytes ((unsigned char *) GD6_WRITE_PROLOG_STRING, 4) == GD_ERROR) + io_error (); + + /* + TODO: Graceful handling of an abort because of a name error? + Currently we fail with a generic error. + + TODO: We could make a GD file name from the real one but a valid dummy name + seems to work OK here. The user must have the proper game selected in + the SF7 menu even if the real name is used. + */ + strcpy ((char *) gdfilename, "SF16497 S00"); + if (gd6_send_prolog_bytes (gdfilename, 11) == GD_ERROR) + io_error (); + + if (gd6_sync_receive_start () == GD_ERROR) + io_error (); + + if (gd6_receive_bytes (buffer, 16) == GD_ERROR) + io_error (); + + transfer_size = buffer[1] | (buffer[2] << 8) | (buffer[3] << 16) | (buffer[4] << 24); + if (transfer_size != 0x38000) + { + fputs ("ERROR: Saver transfer size from Game Doctor != 0x38000 bytes\n", stderr); + exit (1); + } + + printf ("Receive: %d Bytes\n", transfer_size); + puts ("Press q to abort\n"); + + starttime = time (NULL); + while (bytesreceived < transfer_size) + { + if (transfer_size - bytesreceived >= BUFFERSIZE) + len = BUFFERSIZE; + else + len = transfer_size - bytesreceived; + + if (gd6_receive_bytes (buffer, len) == GD_ERROR) + io_error (); + fwrite (buffer, 1, len, file); + + bytesreceived += len; + ucon64_gauge (starttime, bytesreceived, 32 * 1024); + gd_checkabort (2); + } + + unregister_func (remove_destfile); + free (buffer); + fclose (file); + deinit_io (); + + return 0; +} + + +int +gd3_write_saver (const char *filename, unsigned int parport) +{ + gd_send_prolog_bytes = gd3_send_prolog_bytes; + gd_send_bytes = gd3_send_bytes; + + return gd_write_saver (filename, parport, GD3_PROLOG_STRING); +} + + +int +gd6_write_saver (const char *filename, unsigned int parport) +{ + gd_send_prolog_bytes = gd6_send_prolog_bytes; + gd_send_bytes = gd6_send_bytes; + + return gd_write_saver (filename, parport, GD6_READ_PROLOG_STRING); +} + + +int +gd_write_saver (const char *filename, unsigned int parport, const char *prolog_str) +{ + FILE *file; + unsigned char *buffer, gdfilename[12]; + const char *p; + int bytesread, bytessend = 0, size, fn_length; + time_t starttime; + + init_io (parport); + + /* + Check that filename is a valid Game Doctor saver filename. + It should start with SF, followed by the game ID, followed by the extension. + The extension is of the form .S## (where # is a digit from 0-9). + E.g., SF16123.S00 + The saver base filename must match the base name of the game (loaded in the + Game Doctor) that you are loading the saver data for. + */ + + // Strip the path out of filename for use in the GD + p = basename2 (filename); + fn_length = strlen (p); + + if (fn_length < 6 || fn_length > 11 // 7 ("base") + 1 (period) + 3 (extension) + || toupper (p[0]) != 'S' || toupper (p[1]) != 'F' + || p[fn_length - 4] != '.' || toupper (p[fn_length - 3]) != 'S') + { + fprintf (stderr, "ERROR: Filename (%s) is not a saver filename (SF*.S##)\n", p); + exit (1); + } + + if ((file = fopen (filename, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + exit (1); + } + if ((buffer = (unsigned char *) malloc (BUFFERSIZE)) == NULL) + { + fprintf (stderr, ucon64_msg[FILE_BUFFER_ERROR], BUFFERSIZE); + exit (1); + } + + size = fsizeof (filename); + if (size != 0x38000) // GD saver size is always 0x38000 bytes -- no header + { + fputs ("ERROR: GD saver file size must be 229376 bytes\n", stderr); + exit (1); + } + + // Make a GD file name from the real one + memset (gdfilename, ' ', 11); // "pad" with spaces + gdfilename[11] = 0; // terminate string + memcpy (gdfilename, p, fn_length - 4); // copy name except extension + memcpy (&gdfilename[8], "S00", 3); // copy extension S00 + strupr ((char *) gdfilename); + + printf ("Send: %d Bytes\n", size); + fseek (file, 0, SEEK_SET); + + if (memcmp (prolog_str, GD6_READ_PROLOG_STRING, 4) == 0) + if (gd6_sync_hardware () == GD_ERROR) + io_error (); + memcpy (buffer, prolog_str, 4); + buffer[4] = 1; + if (gd_send_prolog_bytes (buffer, 5) == GD_ERROR) + io_error (); + + // Transfer 0x38000 bytes + buffer[0] = 0x00; + buffer[1] = 0x80; + buffer[2] = 0x03; + buffer[3] = 0x00; + if (gd_send_prolog_bytes (buffer, 4) == GD_ERROR) + io_error (); + + if (gd_send_prolog_bytes (gdfilename, 11) == GD_ERROR) + io_error (); + + puts ("Press q to abort\n"); // print here, NOT before first GD I/O, + // because if we get here q works ;-) + starttime = time (NULL); + while ((bytesread = fread (buffer, 1, BUFFERSIZE, file))) + { + if (gd_send_bytes (buffer, bytesread) == GD_ERROR) + io_error (); + + bytessend += bytesread; + ucon64_gauge (starttime, bytessend, size); + gd_checkabort (2); + } + + free (buffer); + fclose (file); + deinit_io (); + + return 0; +} + +#endif // USE_PARALLEL diff --git a/tools/ucon64-2.0.0-src/src/backup/gd.h b/tools/ucon64-2.0.0-src/src/backup/gd.h new file mode 100644 index 0000000..dadc9ed --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/gd.h @@ -0,0 +1,49 @@ +/* +gd.h - Game Doctor support for uCON64 + +Copyright (c) 2002 John Weidman +Copyright (c) 2002 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef GD_H +#define GD_H + +extern const st_getopt2_t gd_usage[]; + +#define GD_HEADER_START 0 +#define GD_HEADER_LEN 512 +#define GD3_MAX_UNITS 16 // Maximum that the hardware supports +// Each logical memory unit is 8 Mbit in size (internally it's 2*4 Mbit) + +#ifdef USE_PARALLEL +extern int gd3_read_rom (const char *filename, unsigned int parport); +extern int gd3_write_rom (const char *filename, unsigned int parport, + st_rominfo_t *rominfo); +extern int gd6_read_rom (const char *filename, unsigned int parport); +extern int gd6_write_rom (const char *filename, unsigned int parport, + st_rominfo_t *rominfo); +extern int gd3_read_sram (const char *filename, unsigned int parport); +extern int gd3_write_sram (const char *filename, unsigned int parport); +extern int gd6_read_sram (const char *filename, unsigned int parport); +extern int gd6_write_sram (const char *filename, unsigned int parport); +extern int gd3_read_saver (const char *filename, unsigned int parport); +extern int gd3_write_saver (const char *filename, unsigned int parport); +extern int gd6_read_saver (const char *filename, unsigned int parport); +extern int gd6_write_saver (const char *filename, unsigned int parport); +#endif // USE_PARALLEL + +#endif // GD_H diff --git a/tools/ucon64-2.0.0-src/src/backup/interceptor.c b/tools/ucon64-2.0.0-src/src/backup/interceptor.c new file mode 100644 index 0000000..457ad06 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/interceptor.c @@ -0,0 +1,46 @@ +/* +interceptor.c - Mega Disk/Super Disk Interceptor support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#include "misc/misc.h" +#include "misc/itypes.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "interceptor.h" + + +const st_getopt2_t interceptor_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Mega Disk/Super Disk (Interceptor),"/*"19XX Taiwan Sang Ting Co. Ltd."*/, + NULL + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; diff --git a/tools/ucon64-2.0.0-src/src/backup/interceptor.h b/tools/ucon64-2.0.0-src/src/backup/interceptor.h new file mode 100644 index 0000000..957d1fb --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/interceptor.h @@ -0,0 +1,31 @@ +/* +interceptor.h - Mega Disk/Super Disk Interceptor support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef INTERCEPTOR_H +#define INTERCEPTOR_H + +extern const st_getopt2_t interceptor_usage[]; + +typedef struct st_interceptor_header +{ + char pad[512]; +} st_interceptor_header_t; + +#endif diff --git a/tools/ucon64-2.0.0-src/src/backup/libcd64/Makefile b/tools/ucon64-2.0.0-src/src/backup/libcd64/Makefile new file mode 100644 index 0000000..4e0c4e5 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/libcd64/Makefile @@ -0,0 +1,169 @@ +CC=gcc + +ifdef DEBUG +# I think we only use gnu99 instead of c99 due to va_args extensions. +CFLAGS=-I. -Wall -W -pg -g -pedantic -ansi -DDEBUG +else +CFLAGS=-I. -Wall -W -O6 -funroll-loops -fexpensive-optimizations +endif + +ifndef DJGPP +# uname is not available by default under DOS +OSTYPE=$(shell uname -s) +else +OSTYPE=DJGPP +endif + +GCC_WIN=0 +ifeq ($(findstring MINGW,$(OSTYPE)),MINGW) +GCC_WIN=1 +endif +ifeq ($(findstring CYGWIN,$(OSTYPE)),CYGWIN) +GCC_WIN=1 +endif + +ifdef DJGPP +LDFLAGS= +else +ifeq ($(findstring BeOS,$(OSTYPE)),BeOS) +LDFLAGS=-nostart +else # Unix or Win GCC +LDFLAGS=-shared +endif +endif + +ifeq ($(findstring DJGPP,$(OSTYPE)),) +ifneq ($(GCC_WIN),1) +CFLAGS+=-fPIC +else +# Cygwin and MinGW need an import library for a DLL +LDFLAGS+=-Wl,--out-implib,libcd64dll.a +endif +endif + +# The next check is not really specific to FreeBSD or OpenBSD -- the version of +# gcc I use is just old. +ifeq ($(findstring FreeBSD,$(OSTYPE)),) +ifeq ($(findstring OpenBSD,$(OSTYPE)),) +CFLAGS+=-std=gnu99 +endif +endif + + +DEFAULT_BUILD=1 + +# If the user passed anything, we are not a default build. + +ifdef LIBIEEE1284 +DEFAULT_BUILD=0 +else +ifdef PPDEV +DEFAULT_BUILD=0 +else +ifdef PORTDEV +DEFAULT_BUILD=0 +else +ifdef RAWIO +DEFAULT_BUILD=0 +endif +endif +endif +endif + +ifeq ($(DEFAULT_BUILD),1) +# Put default build options for each OS here + +ifeq ($(findstring DJGPP,$(OSTYPE)),DJGPP) +RAWIO=1 +endif + +ifeq ($(findstring MINGW,$(OSTYPE)),MINGW) +RAWIO=1 +endif + +ifeq ($(findstring CYGWIN,$(OSTYPE)),CYGWIN) +RAWIO=1 +endif + +ifeq ($(findstring BeOS,$(OSTYPE)),BeOS) +RAWIO=1 +endif + +ifeq ($(findstring OpenBSD,$(OSTYPE)),OpenBSD) +# i386_iopl() is located in libi386.a (note the .a) +LIBS+=-L/usr/lib -li386 +RAWIO=1 +endif + +ifeq ($(findstring FreeBSD,$(OSTYPE)),FreeBSD) +RAWIO=1 +endif + +ifeq ($(findstring Linux,$(OSTYPE)),Linux) +ifeq ($(shell if test -r /usr/include/ieee1284.h; then echo 1; else echo 0; fi),1) +LIBIEEE1284=1 +endif +ifeq ($(shell if test -r /usr/include/linux/ppdev.h; then echo 1; else echo 0; fi),1) +PPDEV=1 +endif +PORTDEV=1 +RAWIO=1 +endif + +endif # DEFAULT_BUILD = 1 + +# Now for backend-specific defs + +ifdef LIBIEEE1284 +CFLAGS+=-DCD64_USE_LIBIEEE1284 +LIBS+=-lieee1284 +endif + +ifdef PPDEV +CFLAGS+=-DCD64_USE_PPDEV +endif + +ifdef PORTDEV +CFLAGS+=-DCD64_USE_PORTDEV +endif + +ifdef RAWIO +CFLAGS+=-DCD64_USE_RAWIO +endif + +default: all + +ifeq ($(findstring DJGPP,$(OSTYPE)),DJGPP) +all: libcd64.a +else +ifeq ($(GCC_WIN),1) +all: libcd64.a cd64.dll +else +all: libcd64.a libcd64.so +endif # GCC_WIN +endif # DJGPP + +# libcd64 stuff + +cd64io.o: cd64io.c + $(CC) $(CFLAGS) $^ -c -o $@ + +cd64lib.o: cd64lib.c + $(CC) $(CFLAGS) $^ -c -o $@ + +libcd64.a: cd64lib.o cd64io.o + ld -r $^ $(LIBS) -o $*.o +# rm -f $@ + ar crs $@ $*.o + +LDFLAGS+=$(LIBS) +ifeq ($(GCC_WIN),1) +cd64.dll: cd64lib.o cd64io.o +else +libcd64.so: cd64lib.o cd64io.o +endif +# rm -f $@ + $(CC) $^ $(LDFLAGS) -o $@ + +clean: + rm -f *.o *.so *.dll *.a a.out diff --git a/tools/ucon64-2.0.0-src/src/backup/libcd64/Makefile.vc6 b/tools/ucon64-2.0.0-src/src/backup/libcd64/Makefile.vc6 new file mode 100644 index 0000000..e71b0f1 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/libcd64/Makefile.vc6 @@ -0,0 +1,62 @@ +CC=cl.exe + +!ifdef DEBUG +CFLAGS=/nologo /I. /Zi /Oi /GZ /W3 /DDEBUG +!else +CFLAGS=/nologo /I. /W3 /O2 +!endif + +DEFAULT_BUILD=1 + +# If the user passed anything, we are not a default build. + +!ifdef LIBIEEE1284 +DEFAULT_BUILD=0 +!else +!ifdef RAWIO +DEFAULT_BUILD=0 +!endif +!endif + +!if $(DEFAULT_BUILD)==1 +# Put default build options here + +RAWIO=1 + +!endif # DEFAULT_BUILD = 1 + +# Now for backend-specific defs + +!ifdef LIBIEEE1284 +CFLAGS=$(CFLAGS) /DCD64_USE_LIBIEEE1284 +LIBS=$(LIBS) ieee1284.lib +!endif + +!ifdef RAWIO +CFLAGS=$(CFLAGS) /DCD64_USE_RAWIO +!endif + +default: all + +all: cd64.lib cd64.dll + +# libcd64 stuff + +cd64io.obj: cd64io.c + $(CC) $(CFLAGS) $** /c /Fo$@ + +cd64lib.obj: cd64lib.c + $(CC) $(CFLAGS) $** /c /Fo$@ + +cd64.lib: cd64lib.obj cd64io.obj + lib.exe /NOLOGO $** $(LIBS) /OUT:$@ + +cd64.dll: cd64lib.obj cd64io.obj + link.exe /NOLOGO /DLL $** $(LIBS) /DEF:cd64.def /IMPLIB:cd64dll.lib /OUT:$@ + +clean: + del *.obj + del *.exp + del *.lib + del *.dll + del *.pdb diff --git a/tools/ucon64-2.0.0-src/src/backup/libcd64/cd64.def b/tools/ucon64-2.0.0-src/src/backup/libcd64/cd64.def new file mode 100644 index 0000000..d368d99 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/libcd64/cd64.def @@ -0,0 +1,28 @@ +EXPORTS +cd64_create +cd64_send_byte +cd64_send_dword +cd64_grab_byte +cd64_grab_dword +cd64_trade_bytes +cd64_bios_grab +cd64_bios_send +cd64_ghemor_grab +cd64_ghemor_send +cd64_upload_dram +cd64_upload_ram +cd64_upload_bootemu +cd64_upload_sram +cd64_upload_flashram +cd64_upload_eeprom +cd64_upload_mempak +cd64_download_cart +cd64_download_dram +;cd64_download_ram +cd64_download_sram +cd64_download_flashram +cd64_download_eeprom +cd64_download_mempak +cd64_run_dram +cd64_run_cart +cd64_download_header diff --git a/tools/ucon64-2.0.0-src/src/backup/libcd64/cd64io.c b/tools/ucon64-2.0.0-src/src/backup/libcd64/cd64io.c new file mode 100644 index 0000000..b05a8f7 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/libcd64/cd64io.c @@ -0,0 +1,1005 @@ +/* + * + * cd64io.c + * + * I/O routines for CD64 device + * + * (c) 2004 Ryan Underwood + * Portions (c) 2004 Daniel Horchner (OpenBSD, FreeBSD, BeOS, Win32, DOS) + * + * May be distributed under the terms of the GNU Lesser/Library General Public + * License, or any later version of the same, as published by the Free Software + * Foundation. + */ + +#include +#include +#include +#include +#include +#include +#include +#include +#if defined __unix__ || defined __BEOS__ /* ioctl() */ +#include +#endif + +#include +#include "cd64io.h" + +#define DEBUG_LOWLEVEL 0 +#define BUSY_THRESHOLD 10000 +#define MAX_TRIES 5 + +#ifdef CD64_USE_RAWIO + +#if defined _WIN32 || defined __CYGWIN__ +#ifdef __CYGWIN__ +#define FILE_SEPARATOR_S "/" +#else +#define snprintf _snprintf +#define FILE_SEPARATOR_S "\\" +#endif + +static void *io_driver = NULL; +static int io_driver_found = 0; +/* io.dll */ +static char (WINAPI *PortIn)(short int) = NULL; +static void (WINAPI *PortOut)(short int, char) = NULL; +static short int (WINAPI *IsDriverInstalled)() = NULL; +/* DlPortIO.dll */ +static unsigned char (__stdcall *DlPortReadPortUchar)(unsigned long) = NULL; +static void (__stdcall *DlPortWritePortUchar)(unsigned long, unsigned char) = NULL; + +INLINE uint8_t inb(uint16_t); +INLINE void outb(uint8_t, uint16_t); +static uint8_t (*input_byte)(uint16_t) = inb; +static void (*output_byte)(uint8_t, uint16_t) = outb; +#endif + +#ifdef __BEOS__ +static int io_portfd; + +typedef struct st_ioport { + unsigned int port; + unsigned char data8; + unsigned short data16; +} st_ioport_t; +#endif + +#endif /* CD64_USE_RAWIO */ + +int cd64_send_byte(struct cd64_t *cd64, uint8_t what) { + return cd64->xfer(cd64, &what, NULL, 0); +} + +int cd64_send_dword(struct cd64_t *cd64, uint32_t what) { + + int ret = 1; + ret &= cd64_send_byte(cd64, (uint8_t) (what>>24)); + ret &= cd64_send_byte(cd64, (uint8_t) (what>>16)); + ret &= cd64_send_byte(cd64, (uint8_t) (what>>8)); + ret &= cd64_send_byte(cd64, (uint8_t) what); + return ret; +} + +int cd64_grab_byte(struct cd64_t *cd64, uint8_t *val) { + return cd64->xfer(cd64, NULL, val, 0); +} + +int cd64_grab_dword(struct cd64_t *cd64, uint32_t *val) { + + int ret = 1; + uint8_t grab; + if (val == NULL) return 0; + *val = 0; + + ret &= cd64_grab_byte(cd64, &grab); + *val |= grab << 24; + ret &= cd64_grab_byte(cd64, &grab); + *val |= grab << 16; + ret &= cd64_grab_byte(cd64, &grab); + *val |= grab << 8; + ret &= cd64_grab_byte(cd64, &grab); + *val |= grab; + return ret; +} + +int cd64_trade_bytes(struct cd64_t *cd64, uint8_t give, uint8_t *recv) { + return cd64->xfer(cd64, &give, recv, 0); +} + +/* Backend-specific defs go down here. */ + +#ifdef CD64_USE_LIBIEEE1284 + +int cd64_open_ieee1284(struct cd64_t *cd64) { + + struct parport_list pplist; + int ppflags = F1284_EXCL; + int ppcaps = 0; + int i; + int opened = 0; + + if (cd64->ppdev || !cd64->using_ppa) return 0; + + if (ieee1284_find_ports(&pplist, 0) < 0) { + cd64->notice_callback2("couldn't get port list\n"); + return 0; + } + + if (cd64->port < pplist.portc) { + /* Just use it as an index. */ + cd64->ppdev = pplist.portv[cd64->port]; + } + else { + /* Search for the ppdev matching its base address. */ + for (i = 0; i < pplist.portc; i++) { + if (cd64->port == (int) pplist.portv[i]->base_addr) { + cd64->ppdev = pplist.portv[i]; + } + } + } + + if (cd64->ppdev) { + if (ieee1284_open(cd64->ppdev, ppflags, &ppcaps) < 0) { + cd64->notice_callback2("failed opening ieee1284 port %d\n", cd64->port); + cd64->ppdev = NULL; + } + else { + opened = 1; + } + } + + ieee1284_free_ports(&pplist); + + if (opened && ieee1284_claim(cd64->ppdev) < 0) return 0; + else return opened; +} + +int cd64_close_ieee1284(struct cd64_t *cd64) { + + int ret; + + if (cd64->ppdev == NULL) return 1; + + ieee1284_release(cd64->ppdev); + ret = ieee1284_close(cd64->ppdev); + if (ret < 0) ret = 0; + else { + cd64->ppdev = NULL; + ret = 1; + } + + return ret; +} + +static INLINE int cd64_wait_ieee(struct cd64_t *cd64) { + + /* With ppdev, could we use an interrupt instead? The PPA + * could be modified... */ + + int i = 0; + int reset_tries = 0; + while (i < 10000) i++; /* FIXME is this necessary? */ + i = 0; + + while((ieee1284_read_status(cd64->ppdev)^S1284_INVERTED) & S1284_BUSY) { + i++; + if (i >= BUSY_THRESHOLD) { + /* The PPA is in a weird state. + * Try to knock some sense into it. */ + ieee1284_write_control(cd64->ppdev, (C1284_NINIT|C1284_NAUTOFD)^C1284_INVERTED); + ieee1284_write_control(cd64->ppdev, C1284_NINIT^C1284_INVERTED); + ieee1284_write_control(cd64->ppdev, (C1284_NINIT|C1284_NSTROBE)^C1284_INVERTED); + ieee1284_write_control(cd64->ppdev, C1284_NINIT^C1284_INVERTED); + reset_tries++; + i = 0; + USLEEP(1); + } + if (reset_tries > MAX_TRIES) break; + if (cd64->abort) return 0; + } + + return (reset_tries < MAX_TRIES); +} + +int cd64_xfer_ieee1284(struct cd64_t *cd64, uint8_t *wr, uint8_t *rd, int delayms) { + + if (!cd64_wait_ieee(cd64)) { return 0; } + + if (delayms) USLEEP(delayms); + ieee1284_data_dir(cd64->ppdev, 1); + if (delayms) USLEEP(delayms); + ieee1284_write_control(cd64->ppdev, (C1284_NINIT|C1284_NAUTOFD)^C1284_INVERTED); + if (delayms) USLEEP(delayms); + if (rd) { + *rd = ieee1284_read_data(cd64->ppdev); +#if DEBUG_LOWLEVEL + printf("got %xh", *rd); + if (*rd > 0x20) printf(" (%c)", *rd); + printf("\n"); +#endif + } + + if (delayms) USLEEP(delayms); + ieee1284_data_dir(cd64->ppdev, 0); + if (delayms) USLEEP(delayms); + ieee1284_write_control(cd64->ppdev, C1284_NINIT^C1284_INVERTED); + if (delayms) USLEEP(delayms); + if (wr) { + ieee1284_write_data(cd64->ppdev, *wr); +#if DEBUG_LOWLEVEL + printf("put %xh", *wr); + if (*wr > 0x20) printf(" (%c)", *wr); + printf("\n"); +#endif + } + if (delayms) USLEEP(delayms); + ieee1284_write_control(cd64->ppdev, (C1284_NINIT|C1284_NSTROBE)^C1284_INVERTED); + if (delayms) USLEEP(delayms); + ieee1284_write_control(cd64->ppdev, C1284_NINIT^C1284_INVERTED); + + return 1; +} + +#endif /* CD64_USE_LIBIEEE1284 */ + + +#ifdef CD64_USE_PPDEV + +int cd64_open_ppdev(struct cd64_t *cd64) { + + char *device = "/dev/parport%d"; + char realdev[128+1]; + + if (cd64->ppdevfd || !cd64->using_ppa) return 0; + /* This should be a port number only, not an address */ + if (cd64->port > PARPORT_MAX) return 0; + + snprintf(realdev, 128, device, cd64->port); + + if ((cd64->ppdevfd = open(realdev, O_RDWR)) == -1) { + cd64->notice_callback2("open: %s", strerror(errno)); + cd64->ppdevfd = 0; + return 0; + } + + if (ioctl(cd64->ppdevfd, PPEXCL) != 0) { + cd64->notice_callback2("PPEXCL: %s", strerror(errno)); + close(cd64->ppdevfd); + cd64->ppdevfd = 0; + return 0; + } + + if (ioctl(cd64->ppdevfd, PPCLAIM) != 0) { + cd64->notice_callback2("PPCLAIM: %s", strerror(errno)); + close(cd64->ppdevfd); + cd64->ppdevfd = 0; + return 0; + } + + return 1; +} + +int cd64_close_ppdev(struct cd64_t *cd64) { + + int ret = 1; + + if (cd64->ppdevfd == 0) return 1; + + if (ioctl(cd64->ppdevfd, PPRELEASE) != 0) { + cd64->notice_callback2("PPRELEASE: %s", strerror(errno)); + ret = 0; + } + + close(cd64->ppdevfd); + cd64->ppdevfd = 0; + return ret; +} + +static INLINE int cd64_wait_ppdev(struct cd64_t *cd64) { + + /* With ppdev, could we use an interrupt instead? The PPA + * could be modified... */ + + int i = 0; + int reset_tries = 0; + uint8_t status; + int dir; + i = 0; + + if (ioctl(cd64->ppdevfd, PPRSTATUS, &status) != 0) cd64->notice_callback2("PPRSTATUS: %s", strerror(errno)); + + while(status & 0x80) { + i++; + if (i >= BUSY_THRESHOLD) { + /* The PPA is in a weird state. + * Try to knock some sense into it. */ + dir = 1; + if (ioctl(cd64->ppdevfd, PPDATADIR, &dir) != 0) cd64->notice_callback2("PPDATADIR: %s", strerror(errno)); + status = PARPORT_CONTROL_INIT | PARPORT_CONTROL_AUTOFD; /* 0x26 */ + if (ioctl(cd64->ppdevfd, PPWCONTROL, &status) != 0) cd64->notice_callback2("PPWCONTROL: %s", strerror(errno)); + + dir = 0; + if (ioctl(cd64->ppdevfd, PPDATADIR, &dir) != 0) cd64->notice_callback2("PPDATADIR: %s", strerror(errno)); + status = PARPORT_CONTROL_INIT; /* 0x04 */ + if (ioctl(cd64->ppdevfd, PPWCONTROL, &status) != 0) cd64->notice_callback2("PPWCONTROL: %s", strerror(errno)); + status = PARPORT_CONTROL_INIT | PARPORT_CONTROL_STROBE; /* 0x05 */ + if (ioctl(cd64->ppdevfd, PPWCONTROL, &status) != 0) cd64->notice_callback2("PPWCONTROL: %s", strerror(errno)); + status = PARPORT_CONTROL_INIT; /* 0x04 */ + if (ioctl(cd64->ppdevfd, PPWCONTROL, &status) != 0) cd64->notice_callback2("PPWCONTROL: %s", strerror(errno)); + reset_tries++; + i = 0; + USLEEP(1); + } + if (cd64->abort) return 0; + if (reset_tries > MAX_TRIES) break; + + if (ioctl(cd64->ppdevfd, PPRSTATUS, &status) != 0) cd64->notice_callback2("PPRSTATUS: %s", strerror(errno)); + } + + return (reset_tries < MAX_TRIES); +} + +int cd64_xfer_ppdev(struct cd64_t *cd64, uint8_t *wr, uint8_t *rd, int delayms) { + + uint8_t ctl; + int dir; + + if (!cd64_wait_ppdev(cd64)) { return 0; } + + if (delayms) USLEEP(delayms); + dir = 1; + if (ioctl(cd64->ppdevfd, PPDATADIR, &dir) != 0) cd64->notice_callback2("PPDATADIR: %s", strerror(errno)); + if (delayms) USLEEP(delayms); + ctl = PARPORT_CONTROL_INIT | PARPORT_CONTROL_AUTOFD; + if (ioctl(cd64->ppdevfd, PPWCONTROL, &ctl) != 0) cd64->notice_callback2("PPWCONTROL: %s", strerror(errno)); + if (delayms) USLEEP(delayms); + if (rd) { + if (ioctl(cd64->ppdevfd, PPRDATA, rd) != 0) cd64->notice_callback2("PPRDATA: %s", strerror(errno)); +#if DEBUG_LOWLEVEL + printf("got %xh", *rd); + if (*rd > 0x20) printf(" (%c)", *rd); + printf("\n"); +#endif + } + + if (delayms) USLEEP(delayms); + dir = 0; + if (ioctl(cd64->ppdevfd, PPDATADIR, &dir) != 0) cd64->notice_callback2("PPDATADIR: %s", strerror(errno)); + if (delayms) USLEEP(delayms); + ctl = PARPORT_CONTROL_INIT; + if (ioctl(cd64->ppdevfd, PPWCONTROL, &ctl) != 0) cd64->notice_callback2("PPWCONTROL: %s", strerror(errno)); + if (delayms) USLEEP(delayms); + if (wr) { + if (ioctl(cd64->ppdevfd, PPWDATA, wr) != 0) cd64->notice_callback2("PPWDATA: %s", strerror(errno)); +#if DEBUG_LOWLEVEL + printf("put %xh", *wr); + if (*wr > 0x20) printf(" (%c)", *wr); + printf("\n"); +#endif + } + if (delayms) USLEEP(delayms); + ctl = PARPORT_CONTROL_INIT | PARPORT_CONTROL_STROBE; + if (ioctl(cd64->ppdevfd, PPWCONTROL, &ctl) != 0) cd64->notice_callback2("PPWCONTROL: %s", strerror(errno)); + if (delayms) USLEEP(delayms); + ctl = PARPORT_CONTROL_INIT; + if (ioctl(cd64->ppdevfd, PPWCONTROL, &ctl) != 0) cd64->notice_callback2("PPWCONTROL: %s", strerror(errno)); + + return 1; +} + +#endif + +#ifdef CD64_USE_PORTDEV + +int cd64_open_portdev(struct cd64_t *cd64) { + + if (cd64->portdevfd || cd64->port == 0) return 0; + + if ((cd64->portdevfd = open("/dev/port", O_RDWR)) == -1) { + cd64->notice_callback2("open: %s", strerror(errno)); + cd64->notice_callback2("portdev requires CAP_SYS_RAWIO capability"); + cd64->portdevfd = 0; + return 0; + } + + return 1; +} + +int cd64_close_portdev(struct cd64_t *cd64) { + + if (cd64->portdevfd == 0) return 1; + + if (close(cd64->portdevfd) == -1) { + cd64->notice_callback2("close: %s", strerror(errno)); + return 0; + } + cd64->portdevfd = 0; + return 1; +} + +static INLINE int cd64_wait_portdev(struct cd64_t *cd64) { + + int i = 0; + int reset_tries = 0; + uint8_t status; + int dir; + i = 0; + + if (cd64->using_ppa) { + lseek(cd64->portdevfd, cd64->port+1, SEEK_SET); + read(cd64->portdevfd, &status, 1); + + while(status & 0x80) { + i++; + if (i >= BUSY_THRESHOLD) { + /* The PPA is in a weird state. + * Try to knock some sense into it. */ + dir = 1; + status = 0x06 | (dir << 5); + lseek(cd64->portdevfd, cd64->port+2, SEEK_SET); + write(cd64->portdevfd, &status, 1); + + dir = 0; + status = 0x04 | (dir << 5); + lseek(cd64->portdevfd, cd64->port+2, SEEK_SET); + write(cd64->portdevfd, &status, 1); + status = 0x05 | (dir << 5); + lseek(cd64->portdevfd, cd64->port+2, SEEK_SET); + write(cd64->portdevfd, &status, 1); + status = 0x04 | (dir << 5); + lseek(cd64->portdevfd, cd64->port+2, SEEK_SET); + write(cd64->portdevfd, &status, 1); + + reset_tries++; + i = 0; + USLEEP(1); + } + if (cd64->abort) return 0; + if (reset_tries > MAX_TRIES) { + break; + } + + lseek(cd64->portdevfd, cd64->port+1, SEEK_SET); + read(cd64->portdevfd, &status, 1); + } + } + else { /* Comms link */ + lseek(cd64->portdevfd, cd64->port+2, SEEK_SET); + read(cd64->portdevfd, &status, 1); + while (status & 1) { + /* Do we need to handle a stuck situation here? */ + lseek(cd64->portdevfd, cd64->port+2, SEEK_SET); + read(cd64->portdevfd, &status, 1); + } + } + + return (reset_tries < MAX_TRIES); +} + +int cd64_xfer_portdev(struct cd64_t *cd64, uint8_t *wr, uint8_t *rd, int delayms) { + + uint8_t ctl; + int dir; + + if (cd64->using_ppa) { + + if (!cd64_wait_portdev(cd64)) { return 0; } + + if (delayms) USLEEP(delayms); + dir = 1; + ctl = 0x06 | (dir << 5); + lseek(cd64->portdevfd, cd64->port+2, SEEK_SET); + write(cd64->portdevfd, &ctl, 1); + if (delayms) USLEEP(delayms); + if (rd) { + lseek(cd64->portdevfd, cd64->port, SEEK_SET); + read(cd64->portdevfd, rd, 1); +#if DEBUG_LOWLEVEL + printf("got %xh", *rd); + if (*rd > 0x20) printf(" (%c)", *rd); + printf("\n"); +#endif + } + + if (delayms) USLEEP(delayms); + dir = 0; + ctl = 0x04 | (dir << 5); + lseek(cd64->portdevfd, cd64->port+2, SEEK_SET); + write(cd64->portdevfd, &ctl, 1); + if (delayms) USLEEP(delayms); + if (wr) { + lseek(cd64->portdevfd, cd64->port, SEEK_SET); + write(cd64->portdevfd, wr, 1); +#if DEBUG_LOWLEVEL + printf("put %xh", *wr); + if (*wr > 0x20) printf(" (%c)", *wr); + printf("\n"); +#endif + } + if (delayms) USLEEP(delayms); + ctl = 0x05 | (dir << 5); + lseek(cd64->portdevfd, cd64->port+2, SEEK_SET); + write(cd64->portdevfd, &ctl, 1); + if (delayms) USLEEP(delayms); + ctl = 0x04 | (dir << 5); + lseek(cd64->portdevfd, cd64->port+2, SEEK_SET); + write(cd64->portdevfd, &ctl, 1); + } + else { /* Comms link */ + lseek(cd64->portdevfd, cd64->port, SEEK_SET); + write(cd64->portdevfd, wr, 1); + if (!cd64_wait_portdev(cd64)) { return 0; } + lseek(cd64->portdevfd, cd64->port, SEEK_SET); + read(cd64->portdevfd, rd, 1); + } + + return 1; +} + +#endif + + +#ifdef CD64_USE_RAWIO + +#if defined _WIN32 || defined __CYGWIN__ + +static void *open_module(char *module_name, struct cd64_t *cd64) { + + void *handle = LoadLibrary(module_name); + if (handle == NULL) { + LPTSTR strptr; + + cd64->notice_callback2("LoadLibrary: %s", strerror(errno)); + FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | + FORMAT_MESSAGE_FROM_SYSTEM | + FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, GetLastError(), + MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT), + (LPTSTR) &strptr, 0, NULL); + cd64->notice_callback2(strptr); + LocalFree(strptr); + exit(1); + } + return handle; +} + +static void close_module(void *handle, struct cd64_t *cd64) { + + if (!FreeLibrary((HINSTANCE) handle)) { + LPTSTR strptr; + + cd64->notice_callback2("FreeLibrary: %s", strerror(errno)); + FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | + FORMAT_MESSAGE_FROM_SYSTEM | + FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, GetLastError(), + MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT), + (LPTSTR) &strptr, 0, NULL); + cd64->notice_callback2(strptr); + LocalFree(strptr); + exit(1); + } +} + +static void *get_symbol(void *handle, char *symbol_name, struct cd64_t *cd64) { + + void *symptr = (void *) GetProcAddress((HINSTANCE) handle, symbol_name); + if (symptr == NULL) { + LPTSTR strptr; + + cd64->notice_callback2("GetProcAddress: %s", strerror(errno)); + FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | + FORMAT_MESSAGE_FROM_SYSTEM | + FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, GetLastError(), + MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT), + (LPTSTR) &strptr, 0, NULL); + cd64->notice_callback2(strptr); + LocalFree(strptr); + exit(1); + } + return symptr; +} + +/* io.dll */ +static uint8_t io_input_byte(uint16_t port) { + return PortIn(port); +} + +static void io_output_byte(uint8_t byte, uint16_t port) { + PortOut(port, byte); +} + +/* DlPortIO.dll */ +static uint8_t dlportio_input_byte(uint16_t port) { + return DlPortReadPortUchar(port); +} + +static void dlportio_output_byte(uint8_t byte, uint16_t port) { + DlPortWritePortUchar(port, byte); +} + +#define NODRIVER_MSG "ERROR: No (working) I/O port driver\n" + +#ifdef __CYGWIN__ +static int new_exception_handler(PEXCEPTION_RECORD exception_record, + void *establisher_frame, PCONTEXT context_record, + void *dispatcher_context) { + + (void) establisher_frame; + (void) context_record; + (void) dispatcher_context; + if (exception_record->ExceptionCode == EXCEPTION_PRIV_INSTRUCTION) { + fputs(NODRIVER_MSG, stderr); + exit(1); + } + return EXCEPTION_CONTINUE_SEARCH; +} +#elif defined _WIN32 +static LONG new_exception_filter(LPEXCEPTION_POINTERS exception_pointers) { + + if (exception_pointers->ExceptionRecord->ExceptionCode == EXCEPTION_PRIV_INSTRUCTION) { + fputs(NODRIVER_MSG, stderr); + exit(1); + } + return EXCEPTION_CONTINUE_SEARCH; +} +#endif +#endif /* _WIN32 || __CYGWIN__ */ + +#if ((defined _WIN32 || defined __CYGWIN__ || defined __BEOS__ || \ + defined __MSDOS__) && \ + (defined __i386__ || defined __x86_64__)) || defined _MSC_VER +INLINE uint8_t inb(uint16_t port) { + +#ifdef __MSDOS__ + return inportb(port); +#elif defined __BEOS__ + st_ioport_t temp; + + temp.port = port; + ioctl(io_portfd, 'r', &temp, 0); + + return temp.data8; +#else /* Win32 */ + if (io_driver_found) { + return input_byte(port); + } + else { +#ifdef _MSC_VER + return (unsigned char) inp(port); +#else + unsigned char byte; + __asm__ __volatile__ + ("inb %1, %0" + : "=a" (byte) + : "d" (port) + ); + return byte; +#endif + } +#endif +} + +INLINE void outb(uint8_t byte, uint16_t port) { + +#ifdef __MSDOS__ + outportb(port, byte); +#elif defined __BEOS__ + st_ioport_t temp; + + temp.port = port; + temp.data8 = byte; + ioctl(io_portfd, 'w', &temp, 0); +#else /* Win32 */ + if (io_driver_found) { + output_byte(byte, port); + } + else { +#ifdef _MSC_VER + outp(port, byte); +#else + __asm__ __volatile__ + ("outb %1, %0" + : + : "d" (port), "a" (byte) + ); +#endif + } +#endif +} +#endif /* inb/outb defs */ + +int cd64_open_rawio(struct cd64_t *cd64) { + + int ret; + (void) ret; + + /* NOTE: we will soon be able to use ioperm on the entire + * 16-bit port range. Find out what Linux kernels support it. */ + + if (cd64->port < 0x200) { + cd64->notice_callback2("Erroneous port %xh", cd64->port); + return 0; + } + +#ifdef __linux__ + if (cd64->port < 0x3fd) { + if (cd64->using_ppa) { + ret = ioperm(cd64->port, 3, 1); + } + else { + ret = ioperm(cd64->port, 1, 1); + ret |= ioperm(cd64->port+2, 1, 1); + } + + if (ret == -1) { + cd64->notice_callback2("ioperm: %s", strerror(errno)); + cd64->notice_callback2("rawio requires CAP_SYS_RAWIO capability"); + return 0; + } + } + else { + ret = iopl(3); + if (ret == -1) { + cd64->notice_callback2("iopl: %s", strerror(errno)); + cd64->notice_callback2("rawio requires CAP_SYS_RAWIO capability"); + return 0; + } + } +#elif defined __OpenBSD__ + /* I cannot test i386_set_ioperm(), so I only use i386_iopl() */ + ret = i386_iopl(3); + if (ret == -1) { + cd64->notice_callback2("i386_iopl: %s", strerror(errno)); + return 0; + } +#elif defined __FreeBSD__ + cd64->portdevfd = open("/dev/io", O_RDWR); + if (cd64->portdevfd == -1) { + cd64->portdevfd = 0; + cd64->notice_callback2("open: %s", strerror(errno)); + cd64->notice_callback2("Could not open I/O port device (/dev/io)"); + return 0; + } +#elif defined __BEOS__ + io_portfd = open("/dev/misc/ioport", O_RDWR | O_NONBLOCK); + if (io_portfd == -1) { + io_portfd = 0; + cd64->notice_callback2("open: %s", strerror(errno)); + cd64->notice_callback2("Could not open I/O port device (no driver)"); + exit(1); + } +#elif defined _WIN32 || defined __CYGWIN__ + { + char fname[FILENAME_MAX]; + io_driver_found = 0; + + if (!cd64->io_driver_dir[0]) strcpy(cd64->io_driver_dir, "."); + snprintf (fname, FILENAME_MAX, "%s" FILE_SEPARATOR_S "%s", + cd64->io_driver_dir, "dlportio.dll"); + if (access(fname, F_OK) == 0) { + io_driver = open_module(fname, cd64); + + io_driver_found = 1; + DlPortReadPortUchar = (unsigned char (__stdcall *) (unsigned long)) + get_symbol(io_driver, "DlPortReadPortUchar", cd64); + DlPortWritePortUchar = (void (__stdcall *) (unsigned long, unsigned char)) + get_symbol(io_driver, "DlPortWritePortUchar", cd64); + input_byte = dlportio_input_byte; + output_byte = dlportio_output_byte; + } + + if (!io_driver_found) { + snprintf (fname, FILENAME_MAX, "%s" FILE_SEPARATOR_S "%s", + cd64->io_driver_dir, "io.dll"); + if (access(fname, F_OK) == 0) { + io_driver = open_module(fname, cd64); + + IsDriverInstalled = (short int (WINAPI *) ()) + get_symbol(io_driver, "IsDriverInstalled", cd64); + if (IsDriverInstalled()) { + io_driver_found = 1; + PortIn = (char (WINAPI *) (short int)) + get_symbol(io_driver, "PortIn", cd64); + PortOut = (void (WINAPI *) (short int, char)) + get_symbol(io_driver, "PortOut", cd64); + input_byte = io_input_byte; + output_byte = io_output_byte; + } + } + } + } + + { + /* __try and __except are not supported by MinGW and Cygwin. MinGW has + * __try1 and __except1, but using them requires more code than we + * currently have. Cygwin does something stupid which breaks + * SetUnhandledExceptionFilter()... */ +#ifdef __CYGWIN__ /* Cygwin */ + exception_list list; + exception_handler *org_handler; + cygwin_internal(CW_INIT_EXCEPTIONS, &list); + org_handler = list.handler; + list.handler = new_exception_handler; + input_byte(0x378); + list.handler = org_handler; +#elif defined _WIN32 /* MinGW & Visual C++ */ + LPTOP_LEVEL_EXCEPTION_FILTER org_exception_filter = + SetUnhandledExceptionFilter((LPTOP_LEVEL_EXCEPTION_FILTER) new_exception_filter); + input_byte(0x378); /* 0x378 is okay */ + + /* if we get here accessing I/O port 0x378 did not cause an exception */ + SetUnhandledExceptionFilter(org_exception_filter); +#endif + } +#endif /* _WIN32 || __CYGWIN__ */ + + return 1; +} + +int cd64_close_rawio(struct cd64_t *cd64) { + + int ret; + (void) ret; + (void) cd64; + +#ifdef __linux__ + if (cd64->port < 0x3fd) { + if (cd64->using_ppa) { + ret = ioperm(cd64->port, 3, 0); + } + else { + ret = ioperm(cd64->port, 1, 0); + ret |= ioperm(cd64->port+2, 1, 0); + } + + if (ret == -1) { + cd64->notice_callback2("ioperm: %s", strerror(errno)); + return 0; + } + } + else { + ret = iopl(0); + if (ret == -1) { + cd64->notice_callback2("iopl: %s", strerror(errno)); + return 0; + } + } +#elif defined __OpenBSD__ + /* I cannot test i386_set_ioperm(), so I only use i386_iopl() */ + ret = i386_iopl(0); + if (ret == -1) { + cd64->notice_callback2("i386_iopl: %s", strerror(errno)); + return 0; + } +#elif defined __FreeBSD__ + if (close(cd64->portdevfd) == -1) { + cd64->notice_callback2("close: %s", strerror(errno)); + return 0; + } + cd64->portdevfd = 0; +#elif defined __BEOS__ + if (close(io_portfd) == -1) { + cd64->notice_callback2("close: %s", strerror(errno)); + return 0; + } + io_portfd = 0; +#elif defined _WIN32 || defined __CYGWIN__ + close_module(io_driver, cd64); + io_driver = NULL; + io_driver_found = 0; + input_byte = inb; + output_byte = outb; +#endif + + return 1; +} + +static INLINE int cd64_wait_rawio(struct cd64_t *cd64) { + + int i = 0; + int reset_tries = 0; + uint8_t status; + int dir; + i = 0; + + if (cd64->using_ppa) { + status = inb((uint16_t) (cd64->port+1)); + + while(status & 0x80) { + i++; + if (i >= BUSY_THRESHOLD) { + /* The PPA is in a weird state. + * Try to knock some sense into it. */ + dir = 1; + status = 0x06 | (dir << 5); + outb(status, (uint16_t) (cd64->port+2)); + + dir = 0; + status = 0x04 | (dir << 5); + outb(status, (uint16_t) (cd64->port+2)); + status = 0x05 | (dir << 5); + outb(status, (uint16_t) (cd64->port+2)); + status = 0x04 | (dir << 5); + outb(status, (uint16_t) (cd64->port+2)); + + reset_tries++; + i = 0; + USLEEP(1); + } + if (cd64->abort) return 0; + if (reset_tries > MAX_TRIES) { + break; + } + + status = inb((uint16_t) (cd64->port+1)); + } + } + else { /* Comms link */ + status = inb((uint16_t) (cd64->port+2)); + while (status & 1) { + /* Do we need to handle a stuck situation here? */ + status = inb((uint16_t) (cd64->port+2)); + } + } + + return (reset_tries < MAX_TRIES); +} + +int cd64_xfer_rawio(struct cd64_t *cd64, uint8_t *wr, uint8_t *rd, int delayms) { + + uint8_t ctl; + int dir; + + if (cd64->using_ppa) { + + if (!cd64_wait_rawio(cd64)) { return 0; } + + if (delayms) USLEEP(delayms); + dir = 1; + ctl = 0x06 | (dir << 5); + outb(ctl, (uint16_t) (cd64->port+2)); + if (delayms) USLEEP(delayms); + if (rd) { + *rd = inb((uint16_t) cd64->port); +#if DEBUG_LOWLEVEL + printf("got %xh", *rd); + if (*rd > 0x20) printf(" (%c)", *rd); + printf("\n"); +#endif + } + + if (delayms) USLEEP(delayms); + dir = 0; + ctl = 0x04 | (dir << 5); + outb(ctl, (uint16_t) (cd64->port+2)); + if (delayms) USLEEP(delayms); + if (wr) { + outb(*wr, (uint16_t) cd64->port); +#if DEBUG_LOWLEVEL + printf("put %xh", *wr); + if (*wr > 0x20) printf(" (%c)", *wr); + printf("\n"); +#endif + } + if (delayms) USLEEP(delayms); + ctl = 0x05 | (dir << 5); + outb(ctl, (uint16_t) (cd64->port+2)); + if (delayms) USLEEP(delayms); + ctl = 0x04 | (dir << 5); + outb(ctl, (uint16_t) (cd64->port+2)); + } + else { /* Comms link */ + outb(*wr, (uint16_t) cd64->port); + if (!cd64_wait_rawio(cd64)) { return 0; } + *rd = inb((uint16_t) cd64->port); + } + + return 1; +} + +#endif diff --git a/tools/ucon64-2.0.0-src/src/backup/libcd64/cd64io.h b/tools/ucon64-2.0.0-src/src/backup/libcd64/cd64io.h new file mode 100644 index 0000000..f790f4e --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/libcd64/cd64io.h @@ -0,0 +1,114 @@ +#ifndef __CD64IO_H__ +#define __CD64IO_H__ + +#ifdef CD64_USE_LIBIEEE1284 +#include +int cd64_open_ieee1284(struct cd64_t *cd64); +int cd64_close_ieee1284(struct cd64_t *cd64); +int cd64_xfer_ieee1284(struct cd64_t *cd64, uint8_t *wr, uint8_t *rd, int delayms); +#endif + +#ifdef CD64_USE_PPDEV +#ifndef __linux__ +#error ppdev can only be used on Linux +#endif +#include +#include +#include +int cd64_open_ppdev(struct cd64_t *cd64); +int cd64_close_ppdev(struct cd64_t *cd64); +int cd64_xfer_ppdev(struct cd64_t *cd64, uint8_t *wr, uint8_t *rd, int delayms); +#endif + +#ifdef CD64_USE_PORTDEV +#ifndef __linux__ +#error portdev can only be used on Linux +#endif +int cd64_open_portdev(struct cd64_t *cd64); +int cd64_close_portdev(struct cd64_t *cd64); +int cd64_xfer_portdev(struct cd64_t *cd64, uint8_t *wr, uint8_t *rd, int delayms); +#endif + +#ifdef CD64_USE_RAWIO +/* #define REALLY_SLOW_IO */ +#if defined __linux__ && (defined __i386__ || defined __x86_64__) +#include +#endif +#ifdef __OpenBSD__ +#include +#include +#include +/* pio.h defines several I/O functions & macros, including the macros inb() and + * outb(). This shows that using a bit of inline assembly is not such a bad idea + * at all. */ +#undef inb +#define inb(port) __inb(port) +#undef outb +#define outb(data, port) __outb(port, data) +#endif +#ifdef __FreeBSD__ +#include +#include +/* Almost the same story as under OpenBSD. cpufunc.h defines the macros inb() + * and outb(). We redefine them. Be sure _POSIX_SOURCE is not defined before + * including . */ +#undef inb +#define inb(port) inbv(port) +#undef outb +#define outb(data, port) outbv(port, data) +#endif +#ifdef __BEOS__ +#include +#endif +#ifdef _MSC_VER +#include /* inp() & outp() */ +#include /* access() */ +#define F_OK 0 +#endif +#ifdef __MSDOS__ +#include /* inportb() & outportb() */ +#endif +#if defined _WIN32 || defined __CYGWIN__ +#include /* defines _WIN32 (checks for */ +#include /* __CYGWIN__ must come first) */ +#ifdef __CYGWIN__ +#include +#include +#include +#endif +#endif /* _WIN32 || __CYGWIN__ */ + +int cd64_open_rawio(struct cd64_t *cd64); +int cd64_close_rawio(struct cd64_t *cd64); +int cd64_xfer_rawio(struct cd64_t *cd64, uint8_t *wr, uint8_t *rd, int delayms); +#endif + +#if defined _WIN32 && !defined __CYGWIN__ +/* milliseconds */ +#include +#define USLEEP(x) Sleep(x) +#elif defined __MSDOS__ +/* milliseconds */ +#include +#define USLEEP(x) delay(x) +#elif defined __BEOS__ +/* microseconds */ +#include +#define USLEEP(x) snooze(x) +#else /* Unix & Cygwin */ +/* microseconds */ +#include +#define USLEEP(x) usleep(x) +#endif + +#if __STDC_VERSION__ >= 19990L && !defined DEBUG +/* If DEBUG is defined the keyword inline is not recognised (syntax error). */ +#define INLINE inline +#elif defined _MSC_VER +/* Visual C++ doesn't allow inline in C source code */ +#define INLINE __inline +#else +#define INLINE +#endif + +#endif diff --git a/tools/ucon64-2.0.0-src/src/backup/libcd64/cd64lib.c b/tools/ucon64-2.0.0-src/src/backup/libcd64/cd64lib.c new file mode 100644 index 0000000..819601c --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/libcd64/cd64lib.c @@ -0,0 +1,990 @@ +/* + * + * cd64lib.c + * + * Library routines for CD64 handling + * + * (c) 2004 Ryan Underwood + * Portions (c) 2004 Daniel Horchner (Win32, read/write/seek callbacks) + * + * May be distributed under the terms of the GNU Lesser/Library General + * Public License, or any later version of the same, as published by the Free + * Software Foundation. + */ + +#include +#include +#include +#include +#include +#include +#include +#if defined __unix__ || defined __BEOS__ +#include +#endif +#if (defined _WIN32 && !defined __CYGWIN__) || defined __MSDOS__ +#include +#else +#include +#endif + +#include +#include +#include + +#include "cd64io.h" + +static uint8_t *cd64_tmp_buf; +static uint32_t cd64_tmp_buf_offset; + +static int cd64_notice_helper(FILE *file, const char *format, va_list argptr) { + + int n_chars; + + fputs("libcd64: ", file); + n_chars = vfprintf(file, format, argptr); + fputc('\n', file); + fflush(file); + + return n_chars; +} + +int cd64_notice(const char *format, ...) { + + va_list argptr; + int n_chars; + + va_start(argptr, format); + n_chars = cd64_notice_helper(stdout, format, argptr); + va_end(argptr); + + return n_chars; +} + +int cd64_notice2(const char *format, ...) { + + va_list argptr; + int n_chars; + + va_start(argptr, format); + n_chars = cd64_notice_helper(stderr, format, argptr); + va_end(argptr); + + return n_chars; +} + +int cd64_read(void *io_id, void *buffer, uint32_t size) { + return fread(buffer, 1, size, (FILE *) io_id); +} + +int cd64_write(void *io_id, void *buffer, uint32_t size) { + return fwrite(buffer, 1, size, (FILE *) io_id); +} + +int32_t cd64_tell(void *io_id) { + return (int32_t) ftell((FILE *) io_id); +} + +int cd64_seek(void *io_id, int32_t offset, int whence) { + return fseek((FILE *) io_id, offset, whence); +} + +int cd64_create(struct cd64_t *cd64, method_t method, + uint16_t port, protocol_t protocol, int ppa) { + + cd64->using_ppa = (ppa)? 1 : 0; + cd64->protocol = protocol; + cd64->port = port; + + if (!cd64->notice_callback) cd64->notice_callback = cd64_notice; + if (!cd64->notice_callback2) cd64->notice_callback2 = cd64_notice2; + + cd64->read_callback = cd64_read; + cd64->write_callback = cd64_write; + cd64->tell_callback = cd64_tell; + cd64->seek_callback = cd64_seek; + +#ifdef CD64_USE_LIBIEEE1284 + if (method == LIBIEEE1284) { + cd64->devopen = cd64_open_ieee1284; + cd64->xfer = cd64_xfer_ieee1284; + cd64->devclose = cd64_close_ieee1284; + return 1; + } + else +#endif + +#ifdef CD64_USE_PPDEV + if (method == PPDEV) { + cd64->devopen = cd64_open_ppdev; + cd64->xfer = cd64_xfer_ppdev; + cd64->devclose = cd64_close_ppdev; + return 1; + } + else +#endif + +#ifdef CD64_USE_PORTDEV + if (method == PORTDEV) { + cd64->devopen = cd64_open_portdev; + cd64->xfer = cd64_xfer_portdev; + cd64->devclose = cd64_close_portdev; + return 1; + } + else +#endif + +#ifdef CD64_USE_RAWIO + if (method == RAWIO) { + cd64->devopen = cd64_open_rawio; + cd64->xfer = cd64_xfer_rawio; + cd64->devclose = cd64_close_rawio; + return 1; + } + else +#endif + + { + switch (method) { + case LIBIEEE1284: + cd64->notice_callback2("libieee1284 not supported."); + break; + case PPDEV: + cd64->notice_callback2("ppdev not supported."); + break; + case PORTDEV: + cd64->notice_callback2("portdev not supported."); + break; + case RAWIO: + cd64->notice_callback2("rawio not supported."); + break; + default: + cd64->notice_callback2("unknown hw access method."); + break; + } + return 0; + } + +} + +/* CD64 BIOS routines */ + +static int cd64_bios_sync(struct cd64_t *cd64) { + + unsigned char ret1 = 0, ret2 = 0; + + cd64->notice_callback("Waiting for CD64 comms to come online..."); + + while (!(ret1 == 'R' && ret2 == 'W')) { + if (cd64->abort) return 0; + /* approximation here */ + cd64_send_byte(cd64, 'W'); + cd64_send_byte(cd64, 'B'); + cd64_trade_bytes(cd64, 'B', &ret1); + cd64_trade_bytes(cd64, 'B', &ret2); + } + return 1; +} + +int cd64_bios_grab(struct cd64_t *cd64, void *io_id, uint32_t addr, + uint32_t length, int *elapsed) { + + unsigned int i; + unsigned short pc_csum = 0, n64_csum = 0; +#if (defined _WIN32 && !defined __CYGWIN__) || defined __MSDOS__ + struct timeb tb; +#else + struct timeval tv; +#endif + unsigned long int sec = 0, usec = 0; + uint8_t send, recv; + uint8_t cmd = 0xff; + uint8_t tmp; + + if (!length || length&0x00000003 || addr&0x00000003) return 0; + if (addr <= 0xa03fffff && addr+length <= 0xa03fffff) { + cmd = BIOS_DUMP_N64; + } + else if (addr >= 0xa8000000 && addr <= 0xbfffffff + && addr+length <= 0xbfffffff) { + cmd = BIOS_DUMP_PI; + } + + if (cmd == 0xff) { + cd64->notice_callback2("Invalid memory range %lxh-%lxh for operation.", + (long unsigned int) addr, (long unsigned int) addr+length); + return 0; + } + + /* Try to get in sync with the CD64 + * We use a delay here to give the PPA a chance to power up. */ + send = 0xff; + cd64->xfer(cd64, &send, NULL, 1000); + cd64_bios_sync(cd64); + + if (elapsed != NULL) { +#if (defined _WIN32 && !defined __CYGWIN__) || defined __MSDOS__ + ftime(&tb); + sec = tb.time; + usec = tb.millitm*1000; +#else + gettimeofday(&tv, 0); + sec = tv.tv_sec; + usec = tv.tv_usec; +#endif + } + + cd64_send_byte(cd64, cmd); + cd64_send_dword(cd64, addr); + cd64_send_dword(cd64, length); + + /* dummy exchange, needed for some reason */ + cd64_grab_byte(cd64, &recv); + + for (i = 1; i <= length; i++) { + + if (cd64->abort) return 0; + if (!cd64_grab_byte(cd64, &tmp)) return 0; + if (!cd64->write_callback(io_id, &tmp, 1)) { + cd64->notice_callback2("Error writing to output."); + return 0; + } + pc_csum += tmp; + if ((i % CD64_BUFFER_SIZE == 0) && cd64->progress_callback) { + cd64->progress_callback(i, length); + } + } + + if (cd64->progress_callback) { + cd64->progress_callback(i, length); + } + + if (elapsed != NULL) { +#if (defined _WIN32 && !defined __CYGWIN__) || defined __MSDOS__ + ftime(&tb); + *elapsed = ((tb.time - sec)*1000000) + ((tb.millitm*1000) - usec); +#else + gettimeofday(&tv, 0); + *elapsed = ((tv.tv_sec - sec)*1000000) + (tv.tv_usec - usec); +#endif + } + + pc_csum &= 0xfff; + cd64_trade_bytes(cd64, 0, &recv); + n64_csum = recv << 8; + cd64_trade_bytes(cd64, 0, &recv); + n64_csum += recv; + n64_csum &= 0xfff; + +/* debug("\nVerifying checksum: pcsum = %d, n64sum = %d\n", pc_csum, n64_csum); */ + if (pc_csum^n64_csum) return -1; + else return 1; +} + +int cd64_bios_send(struct cd64_t *cd64, void *io_id, uint32_t addr, + uint32_t length, int *elapsed, int cmd) { + + unsigned int i; + uint16_t pc_csum = 0; +#if (defined _WIN32 && !defined __CYGWIN__) || defined __MSDOS__ + struct timeb tb; +#else + struct timeval tv; +#endif + unsigned long int sec = 0, usec = 0; + uint8_t send; + uint8_t buf[4]; + int valid = 1; + uint8_t send_bogus_csum = 0; + uint8_t tmp; + int32_t pos; + + if (!io_id || !length || length&0x00000003 || addr&0x00000003) return 0; + if (cmd != BIOS_TRANSFER_PI && cmd != BIOS_EXECUTE_PI && cmd != BIOS_TRANSFER_N64 + && !(cd64->protocol == GHEMOR && cmd == GHEMOR_TRANSFER_PROGRAM)) return 0; + + if (cmd == BIOS_TRANSFER_PI || cmd == BIOS_EXECUTE_PI) { + if (addr < 0xa8000000 || addr > 0xbfffffff || + addr+length > 0xbfffffff) valid = 0; + } + else if (cmd == BIOS_TRANSFER_N64) { + if (addr < 0xa0000000 || addr > 0xa03fffff + || addr+length > 0xa03fffff) valid = 0; + + if (addr != BIOS_TEMP_RAM || length > 0x80000) { + /* FIXME: is 0x80000 (512Kbit) really all the CD64 + * BIOS will copy from a mempak? See if it copies + * 1Mbit from a 4x linear card. */ + + /* We are sending somewhere in RAM besides the CD64's + * scratch area. We will send a bogus checksum so the + * CD64 doesn't try to run it or copy it to a mempak. + */ + send_bogus_csum = 1; + } + } + + if (!valid) { + cd64->notice_callback2("Invalid address %lxh for operation.", + (long unsigned int) addr); + return 0; + } + + if (cd64->protocol == GHEMOR && addr != 0xb4000000 && + (cmd == BIOS_TRANSFER_PI || cmd == BIOS_EXECUTE_PI)) { + /* They might try to send to Ghemor in BIOS mode, but + * oh well. Warn them if we know it's Ghemor. */ + cd64->notice_callback("Ignoring address %lxh != 0xb4000000 for Ghemor.", + (long unsigned int) addr); + } + if (cmd == GHEMOR_TRANSFER_PROGRAM) { + cd64->notice_callback("Ghemor ignores this command currently..."); + } + + + /* Try to get in sync with the CD64 + * We use a delay here to give the PPA a chance to power up. */ + send = 0xff; + cd64->xfer(cd64, &send, NULL, 1000); + cd64_bios_sync(cd64); + + if (elapsed != NULL) { +#if (defined _WIN32 && !defined __CYGWIN__) || defined __MSDOS__ + ftime(&tb); + sec = tb.time; + usec = tb.millitm*1000; +#else + gettimeofday(&tv, 0); + sec = tv.tv_sec; + usec = tv.tv_usec; +#endif + } + + cd64_send_byte(cd64, (uint8_t) cmd); + cd64_send_dword(cd64, addr); /* Ghemor ignores this */ + cd64_send_dword(cd64, length); + + pos = cd64->tell_callback(io_id); + + i = 0; + while (i < length) { + + if (cd64->abort) return 0; + cd64->read_callback(io_id, &tmp, 1); + pc_csum += tmp; + pc_csum &= 0xfff; + if (!cd64_send_byte(cd64, tmp)) { + if (cd64->protocol == CD64BIOS) { + /* Probably the BIOS was stupid and dropped a + * send as it likes to. Try to recover from + * a convenient point. */ + while (i % 4 != 0) i--; + cd64->seek_callback(io_id, pos+i, SEEK_SET); + cd64->read_callback(io_id, &tmp, 1); + cd64->notice_callback("Trying to recover dropped send, waiting for CD64..."); + cd64_bios_sync(cd64); + cd64_send_byte(cd64, (uint8_t) cmd); + cd64_send_dword(cd64, addr+i); + cd64_send_dword(cd64, length-i); + + if (!cd64_send_byte(cd64, tmp)) { + /* Oh well, at least we tried. */ + return -1; + } + + /* Unfortunately we can only calculate a checksum + * from _this_ point onward. */ + pc_csum = tmp; + + /* Now continue as if nothing ever happened. */ + } + else { + cd64->notice_callback2("Send dropped, unable to recover."); + return 0; + } + } + + if ((i % CD64_BUFFER_SIZE == 0) && cd64->progress_callback) { + cd64->progress_callback(i, length); + } + i++; + } + if (cd64->progress_callback) { + cd64->progress_callback(i, length); + } + + if (elapsed != NULL) { +#if (defined _WIN32 && !defined __CYGWIN__) || defined __MSDOS__ + ftime(&tb); + *elapsed = ((tb.time - sec)*1000000) + ((tb.millitm*1000) - usec); +#else + gettimeofday(&tv, 0); + *elapsed = ((tv.tv_sec - sec)*1000000) + (tv.tv_usec - usec); +#endif + } + +/* debug("checksum: 0x%x\n",pc_csum) */ + cd64_send_byte(cd64, (unsigned char)((pc_csum & 0xff00) >> 8)); +/* debug("Sent checksum high byte: 0x%x\n",(unsigned char)pc_csum>>8); */ + cd64_send_byte(cd64, (uint8_t) ((pc_csum & 0xff) + send_bogus_csum)); +/* debug("Sent checksum low byte: 0x%x\n",pc_csum); */ + cd64_grab_byte(cd64, &buf[2]); + cd64_trade_bytes(cd64, 0, &buf[0]); + cd64_trade_bytes(cd64, 0, &buf[1]); + +/* debug("Got: (dummy) 0x%x, 0x%x (%c), 0x%x (%c)",buf[2], buf[0], buf[0], buf[1],buf[1]); */ + if (buf[0]=='O' && buf[1]=='K') return 1; + else if (send_bogus_csum) { + cd64->notice_callback("No way to verify integrity of data in N64 RAM."); + return 1; + } + return -1; +} + +int cd64_ghemor_grab(struct cd64_t *cd64, void *io_id, uint8_t slow, int *elapsed) { + + int ret; + uint8_t tmp; + int sec = 0, usec = 0; +#if (defined _WIN32 && !defined __CYGWIN__) || defined __MSDOS__ + struct timeb tb; +#else + struct timeval tv; +#endif + uint32_t len; + uint16_t mycsum = 0; + uint16_t cd64csum; + unsigned int i; + + if (slow) { + cd64->notice_callback2("Ghemor slow receive feature not supported."); + return 0; + } + if (elapsed != NULL) { +#if (defined _WIN32 && !defined __CYGWIN__) || defined __MSDOS__ + ftime(&tb); + sec = tb.time; + usec = tb.millitm*1000; +#else + gettimeofday(&tv, 0); + sec = tv.tv_sec; + usec = tv.tv_usec; +#endif + } + + cd64_send_byte(cd64, slow); + i = 0; + while (cd64_grab_byte(cd64, &tmp) && tmp != 1) { + i++; + if (i > 25) { + cd64->notice_callback2("Ghemor was not ready."); + return 0; + } + } + + cd64_grab_dword(cd64, &len); + cd64->notice_callback("Downloading %lu megabits via Ghemor.", + (long unsigned int) len/BYTES_IN_MBIT); + for (i = 0; i < len; i++) { + if (!cd64_grab_byte(cd64, &tmp)) return 0; + if (!cd64->write_callback(io_id, &tmp, 1)) { + cd64->notice_callback2("Error writing to output."); + return 0; + } + mycsum += tmp; + mycsum &= 0xfff; + if ((i % CD64_BUFFER_SIZE == 0) && cd64->progress_callback) { + cd64->progress_callback(i, len); + } + } + if (cd64->progress_callback) { + cd64->progress_callback(i, len); + } + + cd64_grab_byte(cd64, &tmp); + cd64csum = tmp << 8; + cd64_grab_byte(cd64, &tmp); + cd64csum |= tmp; + if (mycsum^cd64csum) ret = -1; + else ret = 1; + if (elapsed != NULL) { +#if (defined _WIN32 && !defined __CYGWIN__) || defined __MSDOS__ + ftime(&tb); + *elapsed = ((tb.time - sec)*1000000) + ((tb.millitm*1000) - usec); +#else + gettimeofday(&tv, 0); + *elapsed = ((tv.tv_sec - sec)*1000000) + (tv.tv_usec - usec); +#endif + } + + return ret; +} + +int cd64_ghemor_send(struct cd64_t *cd64, void *io_id, uint32_t length, + int *elapsed) { + + int sec = 0, usec = 0; + uint16_t mycsum = 0; + unsigned int i; +#if (defined _WIN32 && !defined __CYGWIN__) || defined __MSDOS__ + struct timeb tb; +#else + struct timeval tv; +#endif + uint8_t tmp; + + if (elapsed != NULL) { +#if (defined _WIN32 && !defined __CYGWIN__) || defined __MSDOS__ + ftime(&tb); + sec = tb.time; + usec = tb.millitm*1000; +#else + gettimeofday(&tv, 0); + sec = tv.tv_sec; + usec = tv.tv_usec; +#endif + } + + cd64_send_byte(cd64, 0); /* No slow mode for sends */ + i = 0; + while (cd64_grab_byte(cd64, &tmp) && tmp != 1) { + i++; + if (i > 25) { + cd64->notice_callback2("Ghemor was not ready."); + return 0; + } + } + + cd64_send_dword(cd64, length); + for (i = 0; i < length; i++) { + if (!cd64->read_callback(io_id, &tmp, 1)) { + cd64->notice_callback2("Error reading from input."); + return 0; + } + if (!cd64_send_byte(cd64, tmp)) return 0; + mycsum += tmp; + mycsum &= 0xfff; + if ((i % CD64_BUFFER_SIZE == 0) && cd64->progress_callback) { + cd64->progress_callback(i, length); + } + } + if (cd64->progress_callback) { + cd64->progress_callback(i, length); + } + cd64_send_byte(cd64, (uint8_t)((mycsum << 8) & 0xff)); + cd64_send_byte(cd64, (uint8_t)(mycsum & 0xff)); + if (elapsed != NULL) { +#if (defined _WIN32 && !defined __CYGWIN__) || defined __MSDOS__ + ftime(&tb); + *elapsed = ((tb.time - sec)*1000000) + ((tb.millitm*1000) - usec); +#else + gettimeofday(&tv, 0); + *elapsed = ((tv.tv_sec - sec)*1000000) + (tv.tv_usec - usec); +#endif + } + + return 1; +} + + +/* Generic API functions */ + +int cd64_upload_dram(struct cd64_t *cd64, FILE *source, uint32_t length, + int *elapsed, int exec) { + + if (cd64->protocol == CD64BIOS || cd64->protocol == GHEMOR) { + int cmd; + if (exec == 1) cmd = BIOS_EXECUTE_PI; + else cmd = BIOS_TRANSFER_PI; + + if (cd64->protocol == CD64BIOS && length == 0) { + cd64->notice_callback2("CD64 BIOS needs a file length."); + return 0; + } + if (cd64->protocol == CD64BIOS) { + cd64->notice_callback("Choose CD64 Tools->Pro Comms Link."); + } + + return cd64_bios_send(cd64, source, 0xb4000000, length, elapsed, cmd); + } + cd64->notice_callback2("Operation not supported by protocol."); + return 0; +} + +int cd64_upload_bootemu(struct cd64_t *cd64, FILE *infile, uint32_t length, int *elapsed) { + + if (cd64->protocol == CD64BIOS) { + + if (cd64->protocol == CD64BIOS && length == 0) { + cd64->notice_callback2("CD64 BIOS needs a file length.\n"); + return 0; + } + + cd64->notice_callback("Choose CD64 Tools->Pro Comms Link."); + return cd64_bios_send(cd64, infile, BIOS_TEMP_RAM, length, elapsed, + BIOS_TRANSFER_N64); + } + else if (cd64->protocol == GHEMOR) { + cd64_bios_sync(cd64); + cd64_send_byte(cd64, GHEMOR_EXECUTE_BOOTEMU); + return cd64_ghemor_send(cd64, infile, length, elapsed); + } + cd64->notice_callback2("Operation not supported by protocol."); + return 0; +} + +int cd64_upload_ram(struct cd64_t *cd64, FILE *infile, uint32_t length, + int *elapsed, uint32_t address) { + + if (cd64->protocol == CD64BIOS) { + cd64->notice_callback("Choose CD64 Tools->Pro Comms Link."); + return cd64_bios_send(cd64, infile, address, length, + elapsed, BIOS_TRANSFER_N64); + } + cd64->notice_callback2("Operation not supported by protocol."); + return 0; +} + +int cd64_upload_mempak(struct cd64_t *cd64, FILE *infile, int8_t which) { + + int32_t len; + int32_t pos = cd64->tell_callback(infile); + cd64->seek_callback(infile, 0, SEEK_END); + len = cd64->tell_callback(infile); + cd64->seek_callback(infile, pos, SEEK_SET); + if (len != CONTROLLER_MEMPAK_LENGTH) { + cd64->notice_callback("Mempack file must be %d bytes, not %d.", + CONTROLLER_MEMPAK_LENGTH, len); + } + + if (cd64->protocol == CD64BIOS) { + if (which != -1) { + cd64->notice_callback2("CD64 BIOS doesn't let mempak index be chosen."); + return 0; + } + cd64->notice_callback("Choose Memory Manager->Up/Download Pak."); + return cd64_bios_send(cd64, infile, BIOS_TEMP_RAM, CONTROLLER_MEMPAK_LENGTH, + NULL, BIOS_TRANSFER_N64); + } + else if (cd64->protocol == GHEMOR) { + cd64_bios_sync(cd64); + cd64_send_byte(cd64, GHEMOR_RESTORE_MEMPAK); + cd64_send_byte(cd64, which); + return cd64_ghemor_send(cd64, infile, CONTROLLER_MEMPAK_LENGTH, NULL); + } + cd64->notice_callback2("Operation not supported by protocol."); + return 0; +} + +int cd64_upload_sram(struct cd64_t *cd64, FILE *infile) { + + if (cd64->protocol == CD64BIOS) { + cd64->notice_callback("Choose CD64 Tools->Pro Comms Link."); + return cd64_bios_send(cd64, infile, 0xa8000000, CART_SRAM_LENGTH, + NULL, BIOS_TRANSFER_PI); + } + else if (cd64->protocol == GHEMOR) { + cd64_bios_sync(cd64); + cd64_send_byte(cd64, GHEMOR_RESTORE_SRAM); + return cd64_ghemor_send(cd64, infile, CART_SRAM_LENGTH, NULL); + } + cd64->notice_callback2("Operation not supported by protocol."); + return 0; +} + +int cd64_upload_flashram(struct cd64_t *cd64, FILE *infile) { + + /* Urm, we need to figure out if this really works. Probably, CTR + * needs to release a new Ghemor version. Maybe it works with + * CD64 BIOS but probably not. */ + + if (cd64->protocol == CD64BIOS) { + cd64->notice_callback("Choose CD64 Tools->Pro Comms Link."); + return cd64_bios_send(cd64, infile, 0xa8000000, CART_FLASHRAM_LENGTH, + NULL, BIOS_TRANSFER_PI); + } + else if (cd64->protocol == GHEMOR) { + cd64_bios_sync(cd64); + cd64_send_byte(cd64, GHEMOR_RESTORE_FLASHRAM); + return cd64_ghemor_send(cd64, infile, CART_FLASHRAM_LENGTH, NULL); + } + cd64->notice_callback2("Operation not supported by protocol."); + return 0; +} + +int cd64_upload_eeprom(struct cd64_t *cd64, FILE *infile) { + + /* Check the size of the EEPROM data first */ + + int32_t origpos = cd64->tell_callback(infile); + int32_t length; + + if (cd64->protocol == CD64BIOS) { + cd64->notice_callback2("CD64 BIOS can only transfer EEPROM through BRAM Manager."); + return 0; + } + + cd64->seek_callback(infile, 0, SEEK_END); + length = cd64->tell_callback(infile); + cd64->seek_callback(infile, origpos, SEEK_SET); + + if (length != CART_EEPROM_LENGTH && length != CART_2XEEPROM_LENGTH) { + cd64->notice_callback2("Wrong length of EEPROM data: %d bytes", (int) length); + return 0; + } + else if (cd64->protocol == GHEMOR) { + cd64_bios_sync(cd64); + cd64_send_byte(cd64, GHEMOR_RESTORE_EEPROM); + return cd64_ghemor_send(cd64, infile, length, NULL); + } + cd64->notice_callback2("Operation not supported by protocol."); + return 0; +} + +static int cd64_write_mem(void *dummy, void *buffer, uint32_t size) { + + (void) dummy; + memcpy (cd64_tmp_buf + cd64_tmp_buf_offset, buffer, size); + cd64_tmp_buf_offset += size; + return size; +} + +int cd64_download_header(struct cd64_t *cd64, n64header_t *head, uint32_t location) { + + if (cd64->protocol == CD64BIOS) { + int size = sizeof(n64header_t); + int ret; + int (*org_write_cb)(void *, void *, uint32_t) = cd64->write_callback; + + while (size % 4 != 0) size++; + if (!head) return 0; + cd64_tmp_buf = (uint8_t *) head; + cd64_tmp_buf_offset = 0; + cd64->write_callback = cd64_write_mem; + ret = cd64_bios_grab(cd64, (void *) -1, location, size, NULL); /* -1 is just a random (non-zero) value */ + cd64->write_callback = org_write_cb; /* restore original callback */ + return 1; + } + cd64->notice_callback2("Operation not supported by protocol."); + return 0; +} + +int cd64_download_cart(struct cd64_t *cd64, FILE *outfile, uint32_t length, + int *elapsed) { + + if (cd64->protocol == CD64BIOS) { + int ret; + unsigned int i; + int32_t curpos = 0; + int32_t origpos = cd64->tell_callback(outfile); + if (length == 0) { + cd64->notice_callback2("CD64 BIOS needs a file length."); + return 0; + } + cd64->notice_callback("Choose CD64 Tools->Pro Comms Link."); + + ret = cd64_bios_grab(cd64, outfile, 0xb2000000, length, elapsed); + /* Scan through the file at 8MBit intervals to + * see if we overdumped. If we did, truncate the + * file. */ + i = 0; + cd64->seek_callback(outfile, origpos, SEEK_SET); + cd64->notice_callback("Checking for overdump..."); + while (i < length) { + int j = 0; + int overdump = 1; + uint8_t buf[4]; + + curpos = cd64->tell_callback(outfile); + + while(i+j < length) { + cd64->read_callback(outfile, &buf, 4); + + /* To elaborate on what we are checking here: + * When the CD64 accesses an address which is not + * decoded, in each 32-bit word is the lower 16 bits + * of the address of that 32-bit word, repeated twice. + * The pattern therefore looks like: + * 00 00 00 00 00 04 00 04 00 08 00 08 00 0c 00 0c + * and continues on like that. This pattern is what + * we are looking for here. It is possible, but + * extremely unlikely, that this pattern appears in a + * actual game and begins on a 8Mbit boundary too. */ + + if ( + ((uint8_t*)buf)[0] != ((j >> 8) & 0xff) + || ((uint8_t*)buf)[1] != (j & 0xff) + || ((uint8_t*)buf)[2] != ((j >> 8) & 0xff) + || ((uint8_t*)buf)[3] != (j & 0xff) + ) { + overdump = 0; + break; + } + else { + j+=4; + } + } + + if (overdump) { + break; + } + i += 0x100000; + cd64->seek_callback(outfile, curpos+0x100000, SEEK_SET); + } + + if (i < length) { + cd64->notice_callback("File apparently overdumped."); +#if (!defined _WIN32 || defined __CYGWIN__) + /* Don't call ftruncate() if the user installed a callback, because + * outfile may not be a real FILE *. */ + if (cd64->read_callback == cd64_read) { + cd64->notice_callback("Truncating to %dMbits.", i/BYTES_IN_MBIT); + ftruncate(fileno(outfile), curpos+i); + } +#endif + } + return ret; + } + else if (cd64->protocol == GHEMOR) { + cd64_bios_sync(cd64); + cd64_send_byte(cd64, GHEMOR_DUMP_CART); + return cd64_ghemor_grab(cd64, outfile, 0, elapsed); + } + cd64->notice_callback2("Operation not supported by protocol."); + return 0; +} + +int cd64_download_dram(struct cd64_t *cd64, FILE *outfile, uint32_t start, + uint32_t end, int *elapsed) { + + if (cd64->protocol == CD64BIOS) { + cd64->notice_callback("Choose CD64 Tools->Pro Comms Link."); + return cd64_bios_grab(cd64, outfile, 0xb4000000, end-start, elapsed); + } + cd64->notice_callback2("Operation not supported by protocol."); + return 0; +} + +int cd64_download_sram(struct cd64_t *cd64, FILE *outfile) { + + if (cd64->protocol == CD64BIOS) { + cd64->notice_callback("Choose CD64 Tools->Pro Comms Link."); + return cd64_bios_grab(cd64, outfile, CART_SRAM_ADDR, CART_SRAM_LENGTH, NULL); + } + else if (cd64->protocol == GHEMOR) { + cd64_bios_sync(cd64); + cd64_send_byte(cd64, GHEMOR_DUMP_SRAM); + return cd64_ghemor_grab(cd64, outfile, 0, NULL); + } + cd64->notice_callback2("Operation not supported by protocol."); + return 0; +} + +int cd64_download_flashram(struct cd64_t *cd64, FILE *outfile) { + + /* We might be able to support CD64 BIOS here. Needs testing. */ + if (cd64->protocol == GHEMOR) { + cd64_bios_sync(cd64); + cd64_send_byte(cd64, GHEMOR_DUMP_FLASH); + return cd64_ghemor_grab(cd64, outfile, 0, NULL); + } + cd64->notice_callback2("Operation not supported by protocol."); + return 0; +} + +int cd64_download_eeprom(struct cd64_t *cd64, FILE *outfile) { + + if (cd64->protocol == GHEMOR) { + cd64_bios_sync(cd64); + cd64_send_byte(cd64, GHEMOR_DUMP_EEPROM); + return cd64_ghemor_grab(cd64, outfile, 0, NULL); + } + cd64->notice_callback2("Operation not supported by protocol."); + return 0; +} + +int cd64_download_mempak(struct cd64_t *cd64, FILE *outfile, int8_t which) { + + if (cd64->protocol == CD64BIOS) { + if (which != -1) { + cd64->notice_callback2("CD64 BIOS doesn't let mempak index be chosen."); + return 0; + } + cd64->notice_callback("Choose Memory Manager->Up/Download Pak."); + return cd64_bios_grab(cd64, outfile, BIOS_TEMP_RAM, CONTROLLER_MEMPAK_LENGTH, NULL); + } + else if (cd64->protocol == GHEMOR) { + cd64_bios_sync(cd64); + cd64_send_byte(cd64, GHEMOR_DUMP_MEMPAK); + cd64_send_byte(cd64, which); + return cd64_ghemor_grab(cd64, outfile, 0, NULL); + } + cd64->notice_callback2("Operation not supported by protocol."); + return 0; +} + +static int cd64_read_mem(void *dummy, void *buffer, uint32_t size) { + + (void) dummy; + memcpy (buffer, cd64_tmp_buf + cd64_tmp_buf_offset, size); + cd64_tmp_buf_offset += size; + return size; +} + +static int32_t cd64_tell_mem(void *dummy) { + + (void) dummy; + return cd64_tmp_buf_offset; +} + +static int cd64_seek_mem(void *dummy, int32_t offset, int whence) { + + (void) dummy; + (void) whence; /* only called with SEEK_SET */ + cd64_tmp_buf_offset = offset; + return 0; +} + +int cd64_run_dram(struct cd64_t *cd64) { + + if (cd64->protocol == GHEMOR) { + cd64_bios_sync(cd64); + cd64_send_byte(cd64, GHEMOR_RESET_DRAM); + return 1; + } + else if (cd64->protocol == CD64BIOS) { + /* Heh. Write some dummy bytes to the cart area. We + * can't just send a zero length because the CD64 + * BIOS gives "File length error". */ + uint8_t dummy[4] = { 0, 0, 0, 0 }; + int ret; + int (*org_read_cb)(void *, void *, uint32_t) = cd64->read_callback; + int32_t (*org_tell_cb)(void *) = cd64->tell_callback; + int (*org_seek_cb)(void *, int32_t, int) = cd64->seek_callback; + + cd64->notice_callback("Choose CD64 Tools->Pro Comms Link."); + cd64_tmp_buf = dummy; + cd64_tmp_buf_offset = 0; + cd64->read_callback = cd64_read_mem; + cd64->tell_callback = cd64_tell_mem; + cd64->seek_callback = cd64_seek_mem; + ret = cd64_bios_send(cd64, (void *) -1, 0xb2000000, 4, NULL, BIOS_EXECUTE_PI); /* -1 is just a random (non-zero) value */ + cd64->read_callback = org_read_cb; /* restore original callbacks */ + cd64->tell_callback = org_tell_cb; + cd64->seek_callback = org_seek_cb; + return ret; + } + cd64->notice_callback2("Operation not supported by protocol."); + return 0; +} + +int cd64_run_cart(struct cd64_t *cd64) { + + if (cd64->protocol == GHEMOR) { + cd64_bios_sync(cd64); + cd64_send_byte(cd64, GHEMOR_RESET_CART); + return 1; + } + cd64->notice_callback2("Operation not supported by protocol."); + return 0; +} diff --git a/tools/ucon64-2.0.0-src/src/backup/libcd64/ultra64/cartmem.h b/tools/ucon64-2.0.0-src/src/backup/libcd64/ultra64/cartmem.h new file mode 100644 index 0000000..ebb07fa --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/libcd64/ultra64/cartmem.h @@ -0,0 +1,13 @@ +#ifndef __CARTMEM_H__ +#define __CARTMEM_H__ + +#define CART_EEPROM_LENGTH 0x200 /* 512 bytes */ +#define CART_2XEEPROM_LENGTH 0x800 /* 2048 bytes */ +#define CART_SRAM_LENGTH 0x8000 /* 32KB */ +#define CART_FLASHRAM_LENGTH 0x20000 /* 128KB */ +#define CONTROLLER_MEMPAK_LENGTH 0x8000 /* 32KB */ + +#define CART_SRAM_ADDR 0xa8000000 +#define CART_FLASHRAM_ADDR CART_SRAM_ADDR + +#endif diff --git a/tools/ucon64-2.0.0-src/src/backup/libcd64/ultra64/host/cartinfo.h b/tools/ucon64-2.0.0-src/src/backup/libcd64/ultra64/host/cartinfo.h new file mode 100644 index 0000000..c7d00c0 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/libcd64/ultra64/host/cartinfo.h @@ -0,0 +1,8 @@ +#ifndef __ULTRA64__HOST__CARTINFO_H__ +#define __ULTRA64__HOST__CARTINFO_H__ + +#include + +void ultra64_header_info(n64header_t *carthead); + +#endif diff --git a/tools/ucon64-2.0.0-src/src/backup/libcd64/ultra64/host/cd64lib.h b/tools/ucon64-2.0.0-src/src/backup/libcd64/ultra64/host/cd64lib.h new file mode 100644 index 0000000..ee996fc --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/libcd64/ultra64/host/cd64lib.h @@ -0,0 +1,189 @@ +#ifndef __CD64LIB_H__ +#define __CD64LIB_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +#define CD64_BUFFER_SIZE 32768 + +/* This is the only public header file for cd64lib. */ + +#if __STDC_VERSION >= 19990L +#include +#else +#if !(defined __MSDOS__ || defined _MSC_VER) +#include +#else +#ifndef OWN_INTTYPES +#define OWN_INTTYPES /* signal that these are defined */ +typedef unsigned char uint8_t; +typedef unsigned short int uint16_t; +typedef unsigned int uint32_t; +#ifndef _MSC_VER /* _WIN32 */ +typedef unsigned long long int uint64_t; +#else +typedef unsigned __int64 uint64_t; +#endif +typedef signed char int8_t; +typedef signed short int int16_t; +typedef signed int int32_t; +#ifndef _MSC_VER /* _WIN32 */ +typedef signed long long int int64_t; +#else +typedef signed __int64 int64_t; +#endif +#endif /* OWN_INTTYPES */ +#endif /* __MSDOS__ || _MSC_VER */ +#endif /* STDC_VERSION */ + +#include /* FILE, FILENAME_MAX */ +#include + +typedef enum { + CD64BIOS = 0, + GHEMOR = 1, + ULTRALINK = 2 +} protocol_t; + +typedef enum { + LIBIEEE1284 = 1, + PPDEV = 2, + PORTDEV = 3, + RAWIO = 4 +} method_t; + +/* When using this structure, be sure to calloc it or otherwise set it to + * zero before setting values or calling library functions. */ + +struct cd64_t { + int using_ppa; + protocol_t protocol; + + struct parport *ppdev; /* libieee1284 */ + int ppdevfd; /* ppdev */ + int portdevfd; /* /dev/port */ + + /* If using inb/outb or /dev/port, this is the I/O address + * Otherwise it is the parport* number */ + int port; + + /* Directory with io.dll or dlportio.dll. Used by the Windows ports. */ + char io_driver_dir[FILENAME_MAX]; + + /* A flag that can be set/read to determine whether + * the current operation should be canceled. */ + int abort; + + int (*devopen)(struct cd64_t *cd64); + int (*xfer)(struct cd64_t *cd64, uint8_t *write, uint8_t *read, int delayms); + int (*devclose)(struct cd64_t *cd64); + + /* Progress callback is responsible for printing header info if the + * user wants it */ + + void (*progress_callback)(uint32_t curbyte, uint32_t totalbytes); + int (*notice_callback)(const char *format, ...); + int (*notice_callback2)(const char *format, ...); + + /* Callbacks for read, write and seek operations. By default they point to + * callbacks in the library which just call fread(), fwrite(), ftell() and + * fseek(). You can change them so that the library doesn't read from or + * write to a FILE * (io_id). For example, a client can install its own + * callback to make it possible to read from .zip files. */ + int (*read_callback)(void *io_id, void *buffer, uint32_t size); + int (*write_callback)(void *io_id, void *buffer, uint32_t size); + int32_t (*tell_callback)(void *io_id); + int (*seek_callback)(void *io_id, int32_t offset, int whence); +}; + +/* This function must be called and return successful before any of the + * other functions may be used. */ + +int cd64_create(struct cd64_t *cd64, method_t method, + uint16_t port, protocol_t protocol, int ppa); + +/* The following five functions are wrappers above the I/O abstraction. + * Use them to write code that works regardless of the underlying + * transport. */ + +int cd64_send_byte(struct cd64_t *cd64, uint8_t what); +int cd64_send_dword(struct cd64_t *cd64, uint32_t what); +int cd64_grab_byte(struct cd64_t *cd64, uint8_t *val); +int cd64_grab_dword(struct cd64_t *cd64, uint32_t *val); +int cd64_trade_bytes(struct cd64_t *cd64, uint8_t give, uint8_t *recv); + +/* Generic protocol handlers */ + +int cd64_bios_grab(struct cd64_t *cd64, void *io_id, uint32_t addr, uint32_t length, + int *elapsed); +int cd64_bios_send(struct cd64_t *cd64, void *io_id, uint32_t addr, + uint32_t length, int *elapsed, int cmd); + +int cd64_ghemor_grab(struct cd64_t *cd64, void *io_id, uint8_t slow, int *elapsed); +int cd64_ghemor_send(struct cd64_t *cd64, void *io_id, uint32_t length, + int *elapsed); + +/* Functions for sending files to CD64 */ +int cd64_upload_dram(struct cd64_t *cd64, FILE *infile, uint32_t length, + int *elapsed, int exec); +int cd64_upload_ram(struct cd64_t *cd64, FILE *infile, uint32_t length, + int *elapsed, uint32_t address); + +int cd64_upload_bootemu(struct cd64_t *cd64, FILE *infile, uint32_t length, int *elapsed); + +int cd64_upload_sram(struct cd64_t *cd64, FILE *infile); +int cd64_upload_flashram(struct cd64_t *cd64, FILE *infile); +int cd64_upload_eeprom(struct cd64_t *cd64, FILE *infile); +int cd64_upload_mempak(struct cd64_t *cd64, FILE *infile, int8_t which); + +/* Functions for receiving files from CD64 */ +int cd64_download_cart(struct cd64_t *cd64, FILE *outfile, uint32_t length, + int *elapsed); +int cd64_download_dram(struct cd64_t *cd64, FILE *outfile, uint32_t start, + uint32_t end, int *elapsed); +int cd64_download_ram(struct cd64_t *cd64, FILE *outfile, uint32_t length, + int *elapsed, uint32_t address); + +int cd64_download_sram(struct cd64_t *cd64, FILE *outfile); +int cd64_download_flashram(struct cd64_t *cd64, FILE *outfile); +int cd64_download_eeprom(struct cd64_t *cd64, FILE *outfile); +int cd64_download_mempak(struct cd64_t *cd64, FILE *outfile, int8_t which); + +/* Remote control functions */ +int cd64_run_dram(struct cd64_t *cd64); +int cd64_run_cart(struct cd64_t *cd64); + +/* This function simply gets the header from the cart and can be displayed + * using ultra64_header_info() */ + +int cd64_download_header(struct cd64_t *cd64, n64header_t *head, uint32_t location); + +#ifdef __cplusplus +} +#endif + +#define BIOS_TEMP_RAM 0xa0300000 + +#define BIOS_DUMP_N64 'D' +#define BIOS_TRANSFER_N64 'B' + +#define BIOS_DUMP_PI 'G' +#define BIOS_TRANSFER_PI 'T' +#define BIOS_EXECUTE_PI 'X' + +#define GHEMOR_RESTORE_MEMPAK 1 +#define GHEMOR_RESTORE_EEPROM 2 +#define GHEMOR_RESTORE_SRAM 3 +#define GHEMOR_RESTORE_FLASHRAM 4 +#define GHEMOR_EXECUTE_BOOTEMU 5 +#define GHEMOR_TRANSFER_PROGRAM 6 +#define GHEMOR_DUMP_CART 7 +#define GHEMOR_DUMP_MEMPAK 8 +#define GHEMOR_DUMP_EEPROM 9 +#define GHEMOR_DUMP_SRAM 10 +#define GHEMOR_DUMP_FLASH 11 +#define GHEMOR_RESET_DRAM 12 +#define GHEMOR_RESET_CART 13 + +#endif diff --git a/tools/ucon64-2.0.0-src/src/backup/libcd64/ultra64/rom.h b/tools/ucon64-2.0.0-src/src/backup/libcd64/ultra64/rom.h new file mode 100644 index 0000000..1eca488 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/libcd64/ultra64/rom.h @@ -0,0 +1,60 @@ + +#ifndef __ROM_H__ +#define __ROM_H__ + +/* Based on Daedalus header */ + +#define N64HEADER_SIZE 0x40 +#define BYTES_IN_MBIT 0x20000 + +#define SwapEndian(x) \ + ((x >> 24)&0x000000FF) \ + | ((x >> 8 )&0x0000FF00) \ + | ((x << 8 )&0x00FF0000) \ + | ((x << 24)&0xFF000000) + +typedef enum { + UNKNOWN = 0, + EEP4K = 1, + EEP16K = 2, + SRAM = 3, + FLASHRAM = 4 +} savetype_t; + +typedef struct { /* From Daedalus */ + unsigned char x1; /* initial PI_BSB_DOM1_LAT_REG value */ + unsigned char x2; /* initial PI_BSB_DOM1_PGS_REG value */ + unsigned char x3; /* initial PI_BSB_DOM1_PWD_REG value */ + unsigned char x4; /* initial PI_BSB_DOM1_RLS_REG value */ + + unsigned long int ClockRate; + unsigned long int BootAddress; + unsigned long int Release; + unsigned long int CRC1; + unsigned long int CRC2; + unsigned long int Unknown0; + unsigned long int Unknown1; + char Name[20]; + unsigned long int Unknown2; + unsigned short int Unknown3; + unsigned char Unknown4; + unsigned char Manufacturer; + unsigned short int CartID; + char CountryID; + unsigned char Unknown5; +} n64header_t; + +typedef enum { + OS_TV_NTSC = 0, + OS_TV_PAL, + OS_TV_MPAL +} tv_type_t; + +typedef struct +{ + char nCountryID; + char szName[15]; + unsigned long int nTvType; +} CountryIDInfo_t; + +#endif diff --git a/tools/ucon64-2.0.0-src/src/backup/lynxit.c b/tools/ucon64-2.0.0-src/src/backup/lynxit.c new file mode 100644 index 0000000..a2aabb7 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/lynxit.c @@ -0,0 +1,1055 @@ +/* +lynxit.c - lynxit support for uCON64 + +Copyright (c) 1997 - ???? K. Wilkins +Copyright (c) 2002 NoisyB +Copyright (c) 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#ifdef HAVE_UNISTD_H +#include +#endif +#include "misc/misc.h" +#include "misc/itypes.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ucon64_misc.h" +#include "console/lynx.h" +#include "lynxit.h" +#include "misc/parallel.h" + + +const st_getopt2_t lynxit_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Lynxit (Lynx cartridge backup board)"/*"1997 K.Wilkins (selfmade)"*/, + NULL + }, +#ifdef USE_PARALLEL + { + "xlit", 0, 0, UCON64_XLIT, + NULL, "receive ROM from Lynxit interface; " OPTION_LONG_S "port=PORT", +// " receives automatically when ROM does not exist\n" + &ucon64_wf[WF_OBJ_LYNX_STOP_NO_ROM] + }, +#endif + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + + +#ifdef USE_PARALLEL + +#define MAGIC_STRING "LYNX" +#define FILE_FORMAT_VERSION 0x0001 + + +// +// Some basic cartidge definitions +// + +#define MAX_PAGE_SIZE 0x1000 // Must be 2x largest page + +#define CART_PAGE_64K 0x100 // 256 Bytes per page +#define CART_PAGE_128K 0x200 // 512 Bytes per page +#define CART_PAGE_256K 0x400 // 1024 Bytes per page +#define CART_PAGE_512K 0x800 // 2048 Bytes per page + +#define BANK0 0 +#define BANK1 1 + + +// +// DEFINE CENTRONICS PORT MASKS & PORTS +// + +#define PORT_BASE 0x80 // Keep the power on 8-) +#define CTRL_STB 0x01 +#define DATA_OUT 0x02 +#define DATA_CLK 0x04 +#define DATA_STB 0x08 +#define DATA_OE 0x10 +#define DATA_LOAD 0x20 +#define PAGE_STB 0x40 + +unsigned int printer_port = 1, print_data = 0, print_ctrl = 0, print_stat = 0; +char cartname[32], manufname[16]; + +// +// CONTROL REGISTER DEFINITIONS +// + + +#define CTRL_BANK0B 0x01 +#define CTRL_BANK1B 0x02 +#define CTRL_WR_EN 0x04 +#define CTRL_CTR_CLKB 0x40 +#define CTRL_CTR_RST 0x80 + +#define CTRL_INACTIVE (CTRL_BANK0B|CTRL_BANK1B|CTRL_CTR_CLKB) + + +// Make cart strobes inactive & counter clock & reset inactive + +unsigned char control_register = CTRL_INACTIVE; +static void lynxit_write_control (unsigned char data); + + +// +// Global control vars +// + +static int debug = FALSE, quiet = FALSE, verify = TRUE; + + +#define MESSAGE(body) printf body + +#define INPUT(port) inportb((unsigned short) (port)) +#define OUTPUT(port, data) outportb((unsigned short) (port), (unsigned char) (data)) + + +#if 0 +void +usage (void) +{ + MESSAGE (("\nUsage: lynxit [-pX] [-d] [-q] [cartname] [manuf]\n")); + MESSAGE (("\n")); + MESSAGE ((" Commands = read/write/verify/test\n")); + MESSAGE ((" -pX = Use printer port LPTX: (Default LPT1:)\n")); + MESSAGE ((" -d = Debug mode enable\n")); + MESSAGE ((" -q = Quiet mode\n")); + MESSAGE ((" -n = Don't verify read/write operations\n")); + MESSAGE ((" -h = Print this text\n")); +} +#endif + + +int +ptr_port_init (unsigned int port) +{ +#if 0 + if (port < 1 && port > 4) + return FALSE; + + print_data = *(unsigned int far *) MK_FP (0x0040, 6 + (2 * port)); + + if (!print_data) + return FALSE; +#else + (void) port; // warning remover +#endif + print_stat = print_data + 1; + print_ctrl = print_data + 2; + +#if 0 + DEBUG (("\nPrinter port initialised OK: LPT%d\n", port)); + DEBUG (("Data I/O 0x%04x\n", print_data)); + DEBUG (("Status I/O 0x%04x\n", print_stat)); + DEBUG (("Control I/O 0x%04x\n\n", print_ctrl)); +#endif + + lynxit_write_control (control_register); + + return TRUE; +} + + +void +lynxit_shift_out_byte (unsigned char data) +{ + unsigned int loop; + unsigned char outbyte, dbgdata; + + dbgdata = data; + + OUTPUT (print_data, PORT_BASE); // Set inactive + + for (loop = 0; loop < 8; loop++) + { + outbyte = PORT_BASE; + outbyte |= (data & 0x80) ? DATA_OUT : 0; + OUTPUT (print_data, outbyte); // Output data; clock low + data = data << 1; + outbyte |= DATA_CLK; + OUTPUT (print_data, outbyte); // clock high + } + + OUTPUT (print_data, PORT_BASE); // Leave outputs low + +#if 0 + DEBUG (("lynxit_shift_out_byte() - Wrote %02x\n", dbgdata)); +#endif +} + + +unsigned char +lynxit_shift_in_byte (void) +{ + unsigned int loop; + unsigned char data = 0; + + OUTPUT (print_data, PORT_BASE); // Set inactive + + for (loop = 0; loop < 8; loop++) + { + data |= (((INPUT (print_stat)) & 0x80) ? 0 : 1) << (7 - loop); +#if 0 + DEBUG (("Status port returned %02x\n", INPUT (print_stat))); +#endif + OUTPUT (print_data, PORT_BASE | DATA_CLK); // clock high + OUTPUT (print_data, PORT_BASE); // clock low + } + +#if 0 + DEBUG (("lynxit_shift_in_byte() - Read %02x\n", data)); +#endif + return (data); +} + + +void +lynxit_write_control (unsigned char data) +{ +#if 0 + DEBUG (("lynxit_write_control() - Set to %02x\n", data)); +#endif + lynxit_shift_out_byte (data); + + OUTPUT (print_data, PORT_BASE); // clock low; strobe low + OUTPUT (print_data, PORT_BASE | CTRL_STB); // clock low; strobe high + OUTPUT (print_data, PORT_BASE); // clock low; strobe low + + control_register = data; +} + + +void +lynxit_write_page (unsigned char page) +{ +#if 0 + DEBUG (("lynxit_write_page() - Set to %02x\n", page)); +#endif + lynxit_shift_out_byte (page); + lynxit_shift_out_byte (0); + + OUTPUT (print_data, PORT_BASE); // clock low; strobe low + OUTPUT (print_data, PORT_BASE | PAGE_STB); // clock low; strobe high + OUTPUT (print_data, PORT_BASE); // clock low; strobe low +} + + +void +lynxit_counter_reset (void) +{ + lynxit_write_control ((unsigned char) (control_register | CTRL_CTR_RST)); + lynxit_write_control ((unsigned char) (control_register & (CTRL_CTR_RST ^ 0xff))); +} + + +void +lynxit_counter_increment (void) +{ + lynxit_write_control ((unsigned char) (control_register & (CTRL_CTR_CLKB ^ 0xff))); + lynxit_write_control ((unsigned char) (control_register | CTRL_CTR_CLKB)); +} + + +unsigned char +cart_read_byte (unsigned int cart) +{ + unsigned char data; + + // Clear relevant cart strobe to activate read + + if (cart == BANK0) + { + lynxit_write_control ((unsigned char) (control_register & (0xff ^ CTRL_BANK0B))); + } + else + { + lynxit_write_control ((unsigned char) (control_register & (0xff ^ CTRL_BANK1B))); + } + + // Clock byte into shift register with load + // + // Note 500ns read cycle for ROM == 5x125ns out cycles + + + OUTPUT (print_data, PORT_BASE); // clock low + OUTPUT (print_data, PORT_BASE); // clock low + OUTPUT (print_data, PORT_BASE); // clock low + OUTPUT (print_data, PORT_BASE); // clock low + OUTPUT (print_data, PORT_BASE | DATA_LOAD); // Parallel load + OUTPUT (print_data, PORT_BASE | DATA_LOAD); // Parallel load + OUTPUT (print_data, PORT_BASE); // Clear load + + // This must be done before strobe is cleared as data will be + // destoryed bye setting control reg + + data = lynxit_shift_in_byte (); + + // Clear the cartridge strobe + + if (cart == BANK0) + { + lynxit_write_control ((unsigned char) (control_register | CTRL_BANK0B)); + } + else + { + lynxit_write_control ((unsigned char) (control_register | CTRL_BANK1B)); + } + +#if 0 + DEBUG (("cart_read_byte() - Returning %02x\n", data)); +#endif + +// MESSAGE(("%c",data)); + + return (data); +} + + +void +cart_write_byte (unsigned int cart, unsigned char data) +{ +#if 0 + DEBUG (("cart_write_byte() - Set to %02x\n", data)); +#endif + + // Shift data to correct position + + lynxit_shift_out_byte (data); + lynxit_shift_out_byte (0); + lynxit_shift_out_byte (0); + + // Strobe byte to be written into the data register + + OUTPUT (print_data, PORT_BASE); // clock low; strobe low + OUTPUT (print_data, PORT_BASE | DATA_STB); // clock low; strobe high + OUTPUT (print_data, PORT_BASE); // clock low; strobe low + + // Assert write enable (active low) + + lynxit_write_control ((unsigned char) (control_register & (0xff ^ CTRL_WR_EN))); + + // Assert output enable + + OUTPUT (print_data, PORT_BASE | DATA_OE); + + // Assert cartridge strobe LOW to write then HIGH + + if (cart == BANK0) + { + lynxit_write_control ((unsigned char) (control_register & (0xff ^ CTRL_BANK0B))); + lynxit_write_control ((unsigned char) (control_register | CTRL_BANK0B)); + } + else + { + lynxit_write_control ((unsigned char) (control_register & (0xff ^ CTRL_BANK1B))); + lynxit_write_control ((unsigned char) (control_register | CTRL_BANK1B)); + } + + // Clear output enable + + OUTPUT (print_data, PORT_BASE); + + // Clear write enable + + lynxit_write_control ((unsigned char) (control_register | CTRL_WR_EN)); + +} + + +void +cart_read_page (unsigned int cart, unsigned int page_number, + unsigned int page_size, unsigned char *page_ptr) +{ + unsigned int loop; + + lynxit_write_page ((unsigned char) page_number); + lynxit_counter_reset (); + + for (loop = 0; loop < page_size; loop++) + { + *page_ptr = cart_read_byte (cart); + page_ptr++; + lynxit_counter_increment (); + } +} + + +#if 0 +void +cart_write_page (unsigned int cart, unsigned int page_number, + unsigned int page_size, unsigned char *page_ptr) +{ +} +#endif + + +int +cart_analyse (int cart) +{ + unsigned char image[MAX_PAGE_SIZE]; + unsigned int page = 0; + unsigned char test = 0; + unsigned int loop = 0; + + MESSAGE (("ANALYSE : BANK%d ", cart)); + + for (;;) + { + // Read a page - start at zero, try a max of 8 pages + + if (page > 8) + { + MESSAGE (("N/A\n")); + return FALSE; + } + + cart_read_page (cart, page++, CART_PAGE_512K * 2, image); + + // Explicit check for no bank + + test = 0xff; + for (loop = 0; loop < CART_PAGE_512K; loop++) + test &= image[loop]; + + if (test == 0xff) + { + MESSAGE (("N/A\n")); + return FALSE; + } + + // Check bytes are not all same + + for (loop = 1; loop < CART_PAGE_512K; loop++) + { + if (image[loop] != image[0]) + break; + } + + // If we are at end of loop then buffer is all same + + if (loop != CART_PAGE_512K) + break; + } + +// { +// FILE *fp; +// fp=fopen("TEST.IMG","wb"); +// fwrite(image,sizeof(unsigned char),MAX_PAGE_SIZE,fp); +// fclose(fp); +// { + + // Check for 64K Cart + + for (loop = 0; loop < CART_PAGE_64K; loop++) + { + if (image[loop] != image[loop + CART_PAGE_64K]) + break; + } + + if (loop == CART_PAGE_64K) + { + MESSAGE (("64K\n")); + return CART_PAGE_64K; + } + + // Check for 128K Cart + + for (loop = 0; loop < CART_PAGE_128K; loop++) + { + if (image[loop] != image[loop + CART_PAGE_128K]) + break; + } + + if (loop == CART_PAGE_128K) + { + MESSAGE (("128K\n")); + return CART_PAGE_128K; + } + + // Check for 256K Cart + + for (loop = 0; loop < CART_PAGE_256K; loop++) + { + if (image[loop] != image[loop + CART_PAGE_256K]) + break; + } + + if (loop == CART_PAGE_256K) + { + MESSAGE (("256K\n")); + return CART_PAGE_256K; + } + + // Check for 512K Cart + + for (loop = 0; loop < CART_PAGE_512K; loop++) + { + if (image[loop] != image[loop + CART_PAGE_512K]) + break; + } + + if (loop == CART_PAGE_512K) + { + MESSAGE (("512K\n")); + return CART_PAGE_512K; + } + + // Must be no cart situation - floating data !!!) + + MESSAGE (("Bad cartridge\n")); + + return FALSE; +} + + +#define MAX_ERRORS 16 + +int +cart_verify (char *filename) +{ + unsigned char image1[MAX_PAGE_SIZE], image2[MAX_PAGE_SIZE]; + int offset = 0; + unsigned int loop = 0; + FILE *fp; + st_lnx_header_t header; + unsigned int result0 = MAX_ERRORS, result1 = MAX_ERRORS; + + +#if 0 + DEBUG (("cart_verify() called with <%s>\n\n", filename)); +#endif + + if ((fp = fopen (filename, "rb")) == NULL) + { +// MESSAGE (("ERROR : Could not open %s\n", filename)); + MESSAGE ((ucon64_msg[OPEN_READ_ERROR], filename)); + return FALSE; + } + + if (fread (&header, sizeof (st_lnx_header_t), 1, fp) != 1) + { + MESSAGE (("ERROR : Disk read operation failed on %s\n", filename)); + fclose (fp); + return FALSE; + } + + if (strcmp (header.magic, "LYNX") != 0) + { + MESSAGE (("ERROR : %s is not a lynx image\n", filename)); + fclose (fp); + return FALSE; + } + + if (header.version != FILE_FORMAT_VERSION) + { + MESSAGE (("ERROR : %s has wrong version information\n", filename)); + fclose (fp); + return FALSE; + } + + if (header.page_size_bank0 != cart_analyse (BANK0)) + { + MESSAGE (("ERROR : Cartridge BANK0 size mismatch\n")); + fclose (fp); + return FALSE; + } + + if (header.page_size_bank1 != cart_analyse (BANK1)) + { + MESSAGE (("ERROR : Cartridge BANK1 size mismatch\n")); + fclose (fp); + return FALSE; + } + + + if (header.page_size_bank0) + { + for (loop = 0; loop < 256; loop++) + { + MESSAGE (("Verifying BANK0: Page <%03d> of <256>", loop + 1)); + cart_read_page (BANK0, loop, header.page_size_bank0, image1); + MESSAGE (("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b")); + if (fread (image2, sizeof (unsigned char), header.page_size_bank0, fp) + != (size_t) header.page_size_bank0) + { + MESSAGE (("\nERROR : Disk read operation failed on %s\n", + filename)); + fclose (fp); + return FALSE; + } + + for (offset = 0; offset < header.page_size_bank0; offset++) + { + if (image1[offset] != image2[offset]) + { + MESSAGE (("VERIFY : Mismatch in BANK<0>:PAGE<%02x>:OFFSET<%03x>\n", loop, offset)); + if (!(--result0)) + { + MESSAGE (("VERIFY : Too many errors in BANK0, aborting\n")); + loop = 256; + break; + } + } + } + } + } + + if (header.page_size_bank1) + { + for (loop = 0; loop < 256; loop++) + { + MESSAGE (("Verifying BANK1: Page <%03d> of <256>", loop + 1)); + cart_read_page (BANK1, loop, header.page_size_bank1, image1); + MESSAGE (("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b")); + if (fread (image2, sizeof (unsigned char), header.page_size_bank1, fp) + != (size_t) header.page_size_bank1) + { + MESSAGE (("\nERROR : Disk read operation failed on %s\n", + filename)); + fclose (fp); + return FALSE; + } + + for (offset = 0; offset < header.page_size_bank0; offset++) + { + if (image1[offset] != image2[offset]) + { + MESSAGE (("VERIFY : Mismatch in BANK<1>:PAGE<%02x>:OFFSET<%03x>\n", loop, offset)); + if (!(--result1)) + { + MESSAGE (("VERIFY : Too many errors in BANK1, aborting\n")); + break; + } + } + } + } + } + + fclose (fp); + + if (result0 != MAX_ERRORS || result1 != MAX_ERRORS) + { + MESSAGE (("VERIFY : FAILED \n")); + return FALSE; + } + else + { + MESSAGE (("VERIFY : OK \n")); + return TRUE; + } +} + + +int +cart_read (char *filename) +{ + unsigned char image[MAX_PAGE_SIZE]; +// unsigned int page = 0; + unsigned int loop = 0; + FILE *fp; + st_lnx_header_t header; + +#if 0 + DEBUG (("read_cart() called with <%s>\n\n", filename)); +#endif + + memset (&header, 0, sizeof (st_lnx_header_t)); + strcpy (header.magic, MAGIC_STRING); + strcpy (header.cartname, cartname); + strcpy (header.manufname, manufname); + header.page_size_bank0 = cart_analyse (BANK0); + header.page_size_bank1 = cart_analyse (BANK1); + header.version = FILE_FORMAT_VERSION; + + if ((fp = fopen (filename, "wb")) == NULL) + return FALSE; + + if (fwrite (&header, sizeof (st_lnx_header_t), 1, fp) != 1) + { + MESSAGE (("ERROR : Disk write operation failed on %s\n", filename)); + fclose (fp); + return FALSE; + } + + if (header.page_size_bank0) + { + for (loop = 0; loop < 256; loop++) + { + MESSAGE (("Reading BANK0: Page <%03d> of <256>", loop + 1)); + cart_read_page (BANK0, loop, header.page_size_bank0, image); + MESSAGE (("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b")); + if (fwrite (image, sizeof (unsigned char), header.page_size_bank0, fp) + != (size_t) header.page_size_bank0) + { + MESSAGE (("\nERROR : Disk write operation failed on %s\n", + filename)); + fclose (fp); + return FALSE; + } + } + } + + if (header.page_size_bank1) + { + for (loop = 0; loop < 256; loop++) + { + MESSAGE (("Reading BANK1: Page <%03d> of <256>", loop + 1)); + cart_read_page (BANK1, loop, header.page_size_bank1, image); + MESSAGE (("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b")); + if (fwrite (image, sizeof (unsigned char), header.page_size_bank1, fp) + != (size_t) header.page_size_bank1) + { + MESSAGE (("\nERROR : Disk write operation failed on %s\n", + filename)); + fclose (fp); + return FALSE; + } + } + } + + MESSAGE (("READ : OK \n")); + + fclose (fp); + + if (verify) + return (cart_verify (filename)); + else + return TRUE; +} + + +#if 0 +int +cart_write (char *filename) +{ + DEBUG (("write_cart() called with <%s>\n\n", filename)); + return TRUE; +} +#endif + + +int +perform_test (char *testname) +{ + if (strcmp (testname, "LOOPBACK") == 0) + { + unsigned int loop; + + for (loop = 0; loop < 256; loop++) + { + lynxit_shift_out_byte ((unsigned char) loop); + lynxit_shift_out_byte (0); + lynxit_shift_out_byte (0); + lynxit_shift_out_byte (0); + + if (lynxit_shift_in_byte () != (unsigned char) loop) + { + MESSAGE (("LOOPBACK : FAILED\n")); + return FALSE; + } + } + MESSAGE (("LOOPBACK : OK\n")); + return TRUE; + } + else if (strncmp (testname, "SIZE", 4) == 0) + { + if (perform_test ("LOOPBACK") == FALSE) + return FALSE; + cart_analyse (BANK0); + cart_analyse (BANK1); + return TRUE; + } + else if (strncmp (testname, "CART", 4) == 0) + { + unsigned int page, offset; + unsigned char image1[CART_PAGE_128K]; + unsigned char image2[CART_PAGE_128K]; + int result = TRUE; + + if (perform_test ("LOOPBACK") == FALSE) + return FALSE; + cart_analyse (BANK0); + + for (page = 0; page < 256; page++) + { + MESSAGE (("Testing BANK0: Page <%03d> of <256>", page + 1)); + + cart_read_page (BANK0, page, CART_PAGE_128K, image1); + cart_read_page (BANK0, page, CART_PAGE_128K, image2); + + MESSAGE (("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b")); + + for (offset = 0; offset < CART_PAGE_128K; offset++) + { + if (image1[offset] != image2[offset]) + { + MESSAGE (("CARTRIDGE: Bad read on PAGE %02x \n", page)); + result = FALSE; + break; + } + } + } + if (!result) + { + MESSAGE (("CARTRIDGE: FAILED \n")); + return FALSE; + } + else + { + MESSAGE (("CARTRIDGE: OK \n")); + return TRUE; + } + } + else if (strcmp (testname, "INPORT") == 0) + { + do + { + MESSAGE (("INPORT : Read %02x\n", INPUT (print_stat))); + } + while (!kbhit ()); + return TRUE; + } + else if (strcmp (testname, "PAGE") == 0) + { + do + { + lynxit_write_page (0xaa); + MESSAGE (("PAGE : Wrote 0xAA to page\n")); + getch (); + lynxit_write_page (0x55); + MESSAGE (("PAGE : Wrote 0x55 to page\n")); + } + while (getch () != 'q'); + return TRUE; + } + else if (strcmp (testname, "COUNTER") == 0) + { + int stepmode = TRUE; + + MESSAGE (("\nPress key to step counter U5\n\n")); + MESSAGE ((" 'q' - Quit to DOS\n")); + MESSAGE ((" 's' - Step mode (default)\n")); + MESSAGE ((" 'r' - Run mode\n")); + MESSAGE ((" 'c' - Clear counter\n\n")); + + lynxit_counter_reset (); + for (;;) + { + lynxit_counter_increment (); + + MESSAGE (("COUNTER : increment\n")); + + if (kbhit () || stepmode) + { + switch (getch ()) + { + case 'q': + return TRUE; + case 's': + stepmode = TRUE; + break; + case 'r': + stepmode = FALSE; + break; + case 'c': + lynxit_counter_reset (); + MESSAGE (("COUNTER : reset\n")); + break; + default: + break; + } + } + } + return TRUE; + } + else + { + return FALSE; + } +} + + + +// +// +// MAIN CODE +// +// + +static char buf[FILENAME_MAX]; + + +int +lynxit_main (int argc, char **argv) +{ + int loop; + + // Handle argument list +#if 0 + for (loop = 0; loop < argc; loop++) + strupr (argv[loop]); +#endif + + for (loop = 1; loop < argc; loop++) + { + if (argv[loop][0] != '-') + { + break; + } + + if (strlen (argv[loop]) > 3) + { +// usage (); + printf ("\nInvalid argument %d <%s>\n", loop, argv[loop]); + exit (FALSE); + } + + switch (argv[loop][1]) + { + case 'P': + printer_port = (unsigned int) argv[loop][2] - '0'; + break; + case 'D': + debug = TRUE; + break; + case 'Q': + quiet = FALSE; + break; + case 'N': + verify = FALSE; + break; + case 'H': +// usage (); + exit (FALSE); + default: +// usage (); + printf ("\nUnrecognised argument %d <%s>\n", loop, argv[loop]); + exit (FALSE); + } + } + + // Check there are 2 spare arguments + + if (loop + 1 >= argc) + { +// usage (); + MESSAGE (("\nERROR : Missing command/filename\n")); + exit (FALSE); + } + + // Initialise the printer port + + if (!ptr_port_init (printer_port)) + { + MESSAGE (("ERROR : Couldn't initialise printer port LPT%d\n", + printer_port)); + exit (FALSE); + } + + // Perform loopback tests to prove operation + + if (!debug && strcmp (argv[loop], "TEST") != 0 + && !perform_test ("LOOPBACK")) + { + MESSAGE (("ERROR : LYNXIT doesn't appear to be working ????\n")); + MESSAGE (("ERROR : (Check its plugged in and switched on)\n")); + exit (FALSE); + } + + if (strcmp (argv[loop], "READ") == 0) + { + if (loop + 3 >= argc) + { + MESSAGE (("ERROR : Missing Cartname/Manufacturer arguments\n")); + exit (FALSE); + } + strcpy (cartname, argv[argc - 2]); + strcpy (manufname, argv[argc - 1]); + if (strlen (cartname) > 32 || strlen (manufname) > 16) + { + MESSAGE (("ERROR : Cartname/Manufacturer arguments too long (32/16)\n")); + exit (FALSE); + } + + strcpy (buf, argv[++loop]); + if (cart_read (buf) == FALSE) + { + MESSAGE (("ERROR : Cartridge read failed\n")); + exit (FALSE); + } + } + else if (strcmp (argv[loop], "WRITE") == 0) + { + strcpy (buf, argv[++loop]); +// cart_write (buf); // warning remover + } + else if (strcmp (argv[loop], "VERIFY") == 0) + { + cart_verify (argv[++loop]); + } + else if (strcmp (argv[loop], "TEST") == 0) + { + perform_test (argv[++loop]); + } + else + { +// usage (); + printf ("\nInvalid command argument - Use READ/WRITE/VERIFY/TEST\n"); + exit (FALSE); + } + + exit (TRUE); +} + + +int +lynxit_read_rom (const char *filename, unsigned int parport) +{ + char *argv[128]; + + print_data = parport; + parport_print_info (); + + argv[0] = "ucon64"; + argv[1] = "READ"; + strcpy (buf, filename); + argv[2] = buf; + + if (lynxit_main (3, argv) != 0) + { + fprintf (stderr, ucon64_msg[PARPORT_ERROR]); + exit (1); + } + + return 0; +} + +#endif // USE_PARALLEL diff --git a/tools/ucon64-2.0.0-src/src/backup/lynxit.h b/tools/ucon64-2.0.0-src/src/backup/lynxit.h new file mode 100644 index 0000000..1f062c5 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/lynxit.h @@ -0,0 +1,31 @@ +/* +lynxit.h - lynxit support for uCON64 + +Copyright (c) 1997 - ???? K. Wilkins +Copyright (c) 2002 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef LYNXIT_H +#define LYNXIT_H + +extern const st_getopt2_t lynxit_usage[]; + +#ifdef USE_PARALLEL +extern int lynxit_read_rom (const char *filename, unsigned int parport); +#endif + +#endif diff --git a/tools/ucon64-2.0.0-src/src/backup/mccl.c b/tools/ucon64-2.0.0-src/src/backup/mccl.c new file mode 100644 index 0000000..e6023b3 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/mccl.c @@ -0,0 +1,158 @@ +/* +mccl.c - Mad Catz Camera Link (Game Boy Camera) support for uCON64 + +Copyright (c) 2002 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +/* +This cable is made by Mad Catz, Inc. and has a Game Boy link connector on one +end and a parallel port connector on the other. It is designed to interface +with the Game Boy Camera cart and comes with included software for this. It +works by simulating the Game Boy Printer with a PIC chip inside the parallel +connector shell. It doesn't do a particularly good job at that so it pretty +much only works with the Game Boy Camera. + +Mad Catz Camera Link Communications Protocol + +Printer IO Ports: +Base+0: Data Port +Base+1: Status Port +Base+2: Control + +Reset Procedure: +1. Output 0x24 to control (tristate data and set control to 0100) +2. Wait for bit 5 of status port to become 1 +3. Read lower 4 bits of data port +4. If read data != 4, then go to step 1. +5. (Useless read of control port?) +6. Output 0x22 to control (tristate data and set control to 0010) +7. Wait for bit 5 of status port to become 0 +8. Output 0x26 to control (tristate data and set control to 0110) + +Data Read Procedure: +1. Output 0x26 to control (tristate data and set control to 0110) +2. Wait for bit 5 of status port to become 1 +3. Read lower 4 bits of data port, store to lower 4 bits of received byte +4. (Useless read of control port?) +5. Output 0x22 to control (tristate data and set control to 0010) +6. Wait for bit 5 of status port to become 0 +7. Output 0x26 to control (tristate data and set control to 0110) +8. Wait for bit 5 of status port to become 1 +9. Read lower 4 bits of data port, store to upper 4 bits of received byte +10. (Useless read of control port?) +11. Output 0x22 to control (tristate data and set control to 0010) +12. Wait for bit 5 of status port to become 0 +13. Go to step 1 +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include "misc/misc.h" +#include "misc/file.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ucon64_misc.h" +#include "mccl.h" +#include "misc/parallel.h" + + +const st_getopt2_t mccl_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Mad Catz Camera Link (Game Boy Camera)"/*"XXXX Mad Catz Inc. http://www.madcatz.com"*/, + NULL + }, +#ifdef USE_PARALLEL + { + "xmccl", 0, 0, UCON64_XMCCL, + NULL, "receives from Mad Catz Camera Link; " OPTION_LONG_S "port=PORT", + &ucon64_wf[WF_OBJ_GB_DEFAULT_STOP_NO_ROM] + }, +#endif + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + + +#ifdef USE_PARALLEL + +#define DATA ((unsigned short) (parport + PARPORT_DATA)) +#define STATUS ((unsigned short) (parport + PARPORT_STATUS)) +#define CONTROL ((unsigned short) (parport + PARPORT_CONTROL)) + + +int +mccl_read (const char *filename, unsigned int parport) +{ + unsigned char buffer[0x1760]; + char dest_name[FILENAME_MAX]; + int inbyte, count = 0; + time_t starttime; + + parport_print_info (); + puts ("Resetting device"); + do + { + outportb (CONTROL, 0x24); + while ((inportb (STATUS) & 0x20) == 0) + ; + } + while ((inportw (DATA) & 0xf) != 4); + outportb (CONTROL, 0x22); + while ((inportb (STATUS) & 0x20) != 0) + ; + outportb (CONTROL, 0x26); + + printf ("Receive: %d Bytes (%.4f Mb)\n\n", 0x1760, (float) 0x1760 / MBIT); + starttime = time (NULL); + do + { + outportb (CONTROL, 0x26); + while ((inportb (STATUS) & 0x20) == 0) + ; + inbyte = inportw (DATA) & 0xf; + outportb (CONTROL, 0x22); + while ((inportb (STATUS) & 0x20) != 0) + ; + outportb (CONTROL, 0x26); + while ((inportb (STATUS) & 0x20) == 0) + ; + inbyte |= (inportw (DATA) & 0xf) << 4; + outportb (CONTROL, 0x22); + while ((inportb (STATUS) & 0x20) != 0) + ; + buffer[count++] = inbyte; + if ((count & 0x1f) == 0) + ucon64_gauge (starttime, count, 0x1760); + } + while (count < 0x1760); + + strcpy (dest_name, filename); + ucon64_file_handler (dest_name, NULL, 0); + ucon64_fwrite (buffer, 0, count, dest_name, "wb"); + printf (ucon64_msg[WROTE], dest_name); + return 0; +} + +#endif // USE_PARALLEL diff --git a/tools/ucon64-2.0.0-src/src/backup/mccl.h b/tools/ucon64-2.0.0-src/src/backup/mccl.h new file mode 100644 index 0000000..7d3be04 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/mccl.h @@ -0,0 +1,30 @@ +/* +mccl.h - Mad Catz Camera Link (Game Boy Camera) support for uCON64 + +Copyright (c) 2002 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef MCCL_H +#define MCCL_H + +extern const st_getopt2_t mccl_usage[]; + +#ifdef USE_PARALLEL +extern int mccl_read (const char *filename, unsigned int parport); +#endif + +#endif // MCCL_H diff --git a/tools/ucon64-2.0.0-src/src/backup/mccl.png b/tools/ucon64-2.0.0-src/src/backup/mccl.png new file mode 100644 index 0000000000000000000000000000000000000000..078645e9c91b304f5d08bd156334a169b41ea0ac GIT binary patch literal 4806 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 literal 0 HcmV?d00001 diff --git a/tools/ucon64-2.0.0-src/src/backup/mcd.c b/tools/ucon64-2.0.0-src/src/backup/mcd.c new file mode 100644 index 0000000..f060f6d --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/mcd.c @@ -0,0 +1,144 @@ +/* +mcd.c - Mike Pavone's Genesis/Sega CD transfer cable support for uCON64 + +Copyright (c) 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include "misc/misc.h" +#include "misc/parallel.h" +#include "misc/itypes.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ucon64_misc.h" +#include "mcd.h" + + +const st_getopt2_t mcd_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Mike Pavone's Genesis/Sega CD transfer cable", + NULL + }, +#ifdef USE_PARALLEL + { + "xmcd", 0, 0, UCON64_XMCD, + NULL, "receive ROM from Genesis/Sega CD; " OPTION_LONG_S "port=PORT", + &ucon64_wf[WF_OBJ_GEN_DEFAULT_STOP_NO_SPLIT_NO_ROM] + }, +#endif + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + + +#ifdef USE_PARALLEL + +#define BUFFERSIZE 8192 + + +static void +checkabort (int status) +{ + if (((!ucon64.frontend) ? kbhit () : 0) && getch () == 'q') + { + puts ("\nProgram aborted"); + exit (status); + } +} + + +static void +read_block (unsigned char *buffer, int size, unsigned short parport) +{ + int i; + + for (i = 0; i < size; i++) + { + while (inportb ((unsigned short) (parport + PARPORT_STATUS)) & 0x08) + ; + outportb ((unsigned short) (parport + PARPORT_CONTROL), 0xa2); + + while (!(inportb ((unsigned short) (parport + PARPORT_STATUS)) & 0x08)) + ; + buffer[i] = inportb ((unsigned short) (parport + PARPORT_DATA)) & 0x0f; + outportb ((unsigned short) (parport + PARPORT_CONTROL), 0xa0); + + while (inportb ((unsigned short) (parport + PARPORT_STATUS)) & 0x08) + ; + outportb ((unsigned short) (parport + PARPORT_CONTROL), 0xa2); + + while (!(inportb ((unsigned short) (parport + PARPORT_STATUS)) & 0x08)) + ; + buffer[i] |= + (inportb ((unsigned short) (parport + PARPORT_DATA)) & 0x0f) << 4; + outportb ((unsigned short) (parport + PARPORT_CONTROL), 0xa0); + } +} + + +int +mcd_read_rom (const char *filename, unsigned int parport) +{ + FILE *file; + unsigned char buffer[BUFFERSIZE]; + int n_bytes = 0, size; + time_t starttime; + +#if (defined __unix__ || defined __BEOS__) && !defined __MSDOS__ + init_conio (); +#endif + parport_print_info (); + + if ((file = fopen (filename, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + exit (1); + } + + read_block (buffer, 1, (unsigned short) parport); + size = (buffer[0] + 1) * 64 * 1024; + printf ("Receive: %d Bytes (%.4f Mb)\n\n", size, (float) size / MBIT); + puts ("Press q to abort\n"); + + starttime = time (NULL); + while (n_bytes < size) + { + read_block (buffer, BUFFERSIZE, (unsigned short) parport); + fwrite (buffer, 1, BUFFERSIZE, file); + n_bytes += BUFFERSIZE; + ucon64_gauge (starttime, n_bytes, size); + checkabort (2); + } + + fclose (file); +#if (defined __unix__ || defined __BEOS__) && !defined __MSDOS__ + deinit_conio (); +#endif + + return 0; +} + +#endif // USE_PARALLEL diff --git a/tools/ucon64-2.0.0-src/src/backup/mcd.h b/tools/ucon64-2.0.0-src/src/backup/mcd.h new file mode 100644 index 0000000..10f8108 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/mcd.h @@ -0,0 +1,30 @@ +/* +mcd.h - Mike Pavone's Genesis/Sega CD transfer cable support for uCON64 + +Copyright (c) 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef MCD_H +#define MCD_H + +extern const st_getopt2_t mcd_usage[]; + +#ifdef USE_PARALLEL +extern int mcd_read_rom (const char *filename, unsigned int parport); +#endif + +#endif diff --git a/tools/ucon64-2.0.0-src/src/backup/md-pro.c b/tools/ucon64-2.0.0-src/src/backup/md-pro.c new file mode 100644 index 0000000..8660750 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/md-pro.c @@ -0,0 +1,395 @@ +/* +md-pro.c - MD-PRO flash card programmer support for uCON64 + +Copyright (c) 2003 - 2004 dbjh +Copyright (c) 2003 NoisyB + +Based on Delphi source code by ToToTEK Multi Media. Information in that source +code has been used with permission. However, ToToTEK Multi Media explicitly +stated that the information in that source code may be freely distributed. + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include "misc/parallel.h" +#include "misc/itypes.h" +#include "misc/misc.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "misc/file.h" +#include "ucon64.h" +#include "ucon64_misc.h" +#include "tototek.h" +#include "md-pro.h" + + +const st_getopt2_t mdpro_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "MD-PRO flash card programmer"/*"2003 ToToTEK Multi Media http://www.tototek.com"*/, + NULL + }, +#ifdef USE_PARALLEL + { + "xmd", 0, 0, UCON64_XMD, + NULL, "send/receive ROM to/from MD-PRO flash card programmer\n" OPTION_LONG_S "port=PORT\n" + "receives automatically (32/64 Mbits) when ROM does not exist", + &ucon64_wf[WF_OBJ_GEN_DEFAULT_STOP_NO_SPLIT_NO_ROM] + }, + { + "xmds", 0, 0, UCON64_XMDS, + NULL, "send/receive SRAM to/from MD-PRO flash card programmer\n" OPTION_LONG_S "port=PORT\n" + "receives automatically when SRAM does not exist", + &ucon64_wf[WF_OBJ_GEN_STOP_NO_ROM] + }, + { + "xmdb", 1, 0, UCON64_XMDB, + "BANK", "send/receive SRAM to/from MD-PRO BANK\n" + "BANK can be a number from 1 to 4; " OPTION_LONG_S "port=PORT\n" + "receives automatically when SRAM does not exist", + &ucon64_wf[WF_OBJ_GEN_STOP_NO_ROM] + }, +#endif + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + + +#ifdef USE_PARALLEL + +static void eep_reset (void); +static void write_rom_by_byte (int *addr, unsigned char *buf); +static void write_rom_by_page (int *addr, unsigned char *buf); +static void write_ram_by_byte (int *addr, unsigned char *buf); +static void write_ram_by_page (int *addr, unsigned char *buf); + +static unsigned short int md_id; + + +void +eep_reset (void) +{ + ttt_rom_enable (); + ttt_write_mem (0x400000, 0xff); // reset EEP chip 2 + ttt_write_mem (0, 0xff); // reset EEP chip 1 + ttt_write_mem (0x600000, 0xff); // reset EEP chip 2 + ttt_write_mem (0x200000, 0xff); // reset EEP chip 1 + ttt_rom_disable (); +} + + +void +write_rom_by_byte (int *addr, unsigned char *buf) +{ + int x; + + for (x = 0; x < 0x4000; x++) + { + if (md_id == 0xb0d0) + ttt_write_byte_sharp (*addr, buf[*addr & 0x3fff]); + else if (md_id == 0x8916 || md_id == 0x8917) + ttt_write_byte_intel (*addr, buf[*addr & 0x3fff]); + (*addr)++; + } +} + + +void +write_rom_by_page (int *addr, unsigned char *buf) +{ + int x; + + for (x = 0; x < 0x200; x++) + { + ttt_write_page_rom (*addr, buf); + (*addr) += 0x20; + } +} + + +void +write_ram_by_byte (int *addr, unsigned char *buf) +{ + int x, i = *addr & 0x3fff; + + for (x = 0; x < 0x4000; x++, i = (i + 1) & 0x3fff) + { + ttt_write_byte_ram (*addr, buf[i]); + (*addr)++; + // Send the same byte again => SRAM files needn't store redundant data + ttt_write_byte_ram (*addr, buf[i]); + (*addr)++; + } +} + + +void +write_ram_by_page (int *addr, unsigned char *buf) +{ + int x; + + for (x = 0; x < 0x80; x++) + { + ttt_write_page_ram2 (*addr, buf); + (*addr) += 0x80; + } +} + + +int +md_read_rom (const char *filename, unsigned int parport, int size) +{ + FILE *file; + unsigned char buffer[0x100]; + int blocksleft, address = 0, id; + time_t starttime; + void (*read_block) (int, unsigned char *) = ttt_read_rom_w; // ttt_read_rom_b + + if ((file = fopen (filename, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + exit (1); + } + ttt_init_io (parport); + + eep_reset (); + id = ttt_get_id (); + if ((id == 0xb0d0 || id == 0x8916) && size > 32 * MBIT) + size = 32 * MBIT; // Sharp or Intel 32 Mbit flash card +#if 0 + // size is set to 64 * MBIT "by default" (in ucon64_opts.c) + else if (id == 0x8917 && size > 64 * MBIT) + size = 64 * MBIT; // Intel 64 Mbit flash card +#endif + + printf ("Receive: %d Bytes (%.4f Mb)\n\n", size, (float) size / MBIT); + + blocksleft = size >> 8; + eep_reset (); + ttt_rom_enable (); + if (read_block == ttt_read_rom_w) + ttt_set_ai_data (6, 0x94); // rst=1, wei=0(dis.), rdi=0(dis.), inc mode, rom_CS + starttime = time (NULL); + while (blocksleft-- > 0) + { + read_block (address, buffer); // 0x100 bytes read + if (read_block == ttt_read_rom_b) + ucon64_bswap16_n (buffer, 0x100); + fwrite (buffer, 1, 0x100, file); + address += 0x100; + if ((address & 0x3fff) == 0) + ucon64_gauge (starttime, address, size); + } + // original code doesn't call ttt_rom_disable() when byte-size function is + // used (ttt_read_rom_b() calls it) + if (read_block == ttt_read_rom_w) + ttt_rom_disable (); + + fclose (file); + ttt_deinit_io (); + + return 0; +} + + +int +md_write_rom (const char *filename, unsigned int parport) +{ + FILE *file; + unsigned char buffer[0x4000]; + int size, address = 0, bytesread, bytessend = 0; + time_t starttime; + void (*write_block) (int *, unsigned char *) = write_rom_by_page; // write_rom_by_byte + (void) write_rom_by_byte; + + if ((file = fopen (filename, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + exit (1); + } + ttt_init_io (parport); + + size = fsizeof (filename); + printf ("Send: %d Bytes (%.4f Mb)\n\n", size, (float) size / MBIT); + + eep_reset (); + md_id = ttt_get_id (); + if ((md_id != 0xb0d0) && (md_id != 0x8916) && (md_id != 0x8917)) // Sharp 32M, Intel 64J3 + { + fputs ("ERROR: MD-PRO flash card (programmer) not detected\n", stderr); + fclose (file); + ttt_deinit_io (); + exit (1); + } + + starttime = time (NULL); + eep_reset (); + while ((bytesread = fread (buffer, 1, 0x4000, file))) + { + ucon64_bswap16_n (buffer, 0x4000); + if ((((address & 0xffff) == 0) && (md_id == 0xb0d0)) || + (((address & 0x1ffff) == 0) && (md_id == 0x8916 || md_id == 0x8917))) + ttt_erase_block (address); + write_block (&address, buffer); + bytessend += bytesread; + ucon64_gauge (starttime, bytessend, size); + } + + fclose (file); + ttt_deinit_io (); + + return 0; +} + + +int +md_read_sram (const char *filename, unsigned int parport, int start_bank) +/* + The MD-PRO has 256 kB of SRAM. However, the SRAM dumps of all games that have + been tested had each byte doubled. In order to make it possible to easily + obtain the SRAM data for use in an emulator, or to send an emulator SRAM file + to the MD-PRO, we remove the redundant data when receiving/dumping and double + the data when sending. + It could be that this approach causes trouble for some games. However, when + looking at ToToTEK's own code in ttt_write_page_ram2() this seems unlikely + (data is doubled in that function). Note that write_sram_by_byte() is a + function written by us, and so does the doubling of data, but it doesn't mean + it should work for all games. +*/ +{ + FILE *file; + unsigned char buffer[0x100]; + int blocksleft, address, bytesreceived = 0, size, i; + time_t starttime; + void (*read_block) (int, unsigned char *) = ttt_read_ram_b; // ttt_read_ram_w + // This function does not seem to work if ttt_read_ram_w() is used, but see + // note below + + if (start_bank == -1) + { + address = 0; + size = 128 * 1024; + } + else + { + if (start_bank < 1 || start_bank > 4) + { + fputs ("ERROR: Bank must be a value 1 - 4\n", stderr); + exit (1); + } + address = (start_bank - 1) * 32 * 1024; + size = 32 * 1024; + } + + if ((file = fopen (filename, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + exit (1); + } + + ttt_init_io (parport); + printf ("Receive: %d Bytes (%.4f Mb)\n\n", size, (float) size / MBIT); + + if (read_block == ttt_read_ram_w) + { +// address *= 2; + ttt_ram_enable (); +#if 0 + // According to JohnDie, disabling this statement should make it possible + // to use ttt_read_ram_w(). + ttt_set_ai_data (6, 0x98); // rst=1, wei=0(dis.), rdi=0(dis.), inc mode, rom_CS +#endif + } +// else +// ttt_set_ai_data (6, 0x94); // rst=1, wei=0(dis.), rdi=0(dis.), inc mode, rom_CS + + blocksleft = size >> 7; + starttime = time (NULL); + while (blocksleft-- > 0) + { + read_block (address, buffer); // 0x100 bytes read + for (i = 0; i < 0x80; i++) + buffer[i] = buffer[2 * i]; // data is doubled => no problems with endianess + fwrite (buffer, 1, 0x80, file); + address += 0x100; + bytesreceived += 0x80; + if ((address & 0x3fff) == 0) + ucon64_gauge (starttime, bytesreceived, size); + } + if (read_block == ttt_read_ram_w) + ttt_ram_disable (); + + fclose (file); + ttt_deinit_io (); + + return 0; +} + + +int +md_write_sram (const char *filename, unsigned int parport, int start_bank) +{ + FILE *file; + unsigned char buffer[0x4000]; + int size, bytesread, bytessend = 0, address; + time_t starttime; + void (*write_block) (int *, unsigned char *) = write_ram_by_byte; // write_ram_by_page + (void) write_ram_by_page; + + size = fsizeof (filename); + if (start_bank == -1) + address = 0; + else + { + if (start_bank < 1 || start_bank > 4) + { + fputs ("ERROR: Bank must be a value 1 - 4\n", stderr); + exit (1); + } + address = (start_bank - 1) * 32 * 1024; + } + + if ((file = fopen (filename, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + exit (1); + } + + ttt_init_io (parport); + printf ("Send: %d Bytes (%.4f Mb)\n\n", size, (float) size / MBIT); + + starttime = time (NULL); + while ((bytesread = fread (buffer, 1, 0x4000, file))) + { + write_block (&address, buffer); + bytessend += bytesread; + ucon64_gauge (starttime, bytessend, size); + } + + fclose (file); + ttt_deinit_io (); + + return 0; +} + +#endif // USE_PARALLEL diff --git a/tools/ucon64-2.0.0-src/src/backup/md-pro.h b/tools/ucon64-2.0.0-src/src/backup/md-pro.h new file mode 100644 index 0000000..ca9d801 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/md-pro.h @@ -0,0 +1,37 @@ +/* +md-pro.h - MD-PRO flash card programmer support for uCON64 + +Copyright (c) 2003 dbjh + +Based on Delphi source code by ToToTEK Multi Media. Information in that source +code has been used with permission. However, ToToTEK Multi Media explicitly +stated that the information in that source code may be freely distributed. + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef MD_PRO_H +#define MD_PRO_H + +extern const st_getopt2_t mdpro_usage[]; + +#ifdef USE_PARALLEL +extern int md_read_rom (const char *filename, unsigned int parport, int size); +extern int md_write_rom (const char *filename, unsigned int parport); +extern int md_read_sram (const char *filename, unsigned int parport, int start_bank); +extern int md_write_sram (const char *filename, unsigned int parport, int start_bank); +#endif + +#endif diff --git a/tools/ucon64-2.0.0-src/src/backup/mgd.c b/tools/ucon64-2.0.0-src/src/backup/mgd.c new file mode 100644 index 0000000..fe02b43 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/mgd.c @@ -0,0 +1,466 @@ +/* +mgd.c - Multi Game Doctor/Hunter support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB +Copyright (c) 2001 - 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#include "misc/misc.h" +#include "misc/file.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ucon64_misc.h" +#include "misc/string.h" +#include "mgd.h" + + +const st_getopt2_t mgd_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Multi Game Doctor (2)/Multi Game Hunter/MGH" + /*"19XX Bung Enterprises Ltd http://www.bung.com.hk\n" "?Makko Toys Co., Ltd.?"*/, + NULL + }, +#if 0 + { + "xmgd", 0, 0, UCON64_XMGD, + NULL, "(TODO) send/receive ROM to/from Multi Game* /MGD2/MGH; " OPTION_LONG_S "port=PORT\n" + "receives automatically when " OPTION_LONG_S "rom does not exist", + NULL + }, +#endif + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + + +// the following four functions are used by non-transfer code in genesis.c +void +mgd_interleave (unsigned char **buffer, int size) +{ + int n; + unsigned char *src = *buffer; + + if (!(*buffer = (unsigned char *) malloc (size))) + { + fprintf (stderr, ucon64_msg[BUFFER_ERROR], size); + exit (1); + } + for (n = 0; n < size / 2; n++) + { + (*buffer)[n] = src[n * 2 + 1]; + (*buffer)[size / 2 + n] = src[n * 2]; + } + free (src); +} + + +void +mgd_deinterleave (unsigned char **buffer, int data_size, int buffer_size) +{ + int n = 0, offset; + unsigned char *src = *buffer; + + if (!(*buffer = (unsigned char *) malloc (buffer_size))) + { + fprintf (stderr, ucon64_msg[BUFFER_ERROR], buffer_size); + exit (1); + } + for (offset = 0; offset < data_size / 2; offset++) + { + (*buffer)[n++] = src[data_size / 2 + offset]; + (*buffer)[n++] = src[offset]; + } + free (src); +} + + +int +fread_mgd (void *buffer, size_t size, size_t number, FILE *fh) +/* + This function is used to handle a Genesis MGD file as if it wasn't + interleaved, without the overhead of reading the entire file into memory. + This is important for genesis_init(). When the file turns out to be a Genesis + dump in MGD format it is much more efficient for compressed files to read the + entire file into memory and then deinterleave it (as load_rom() does). + In order to speed this function up a bit ucon64.file_size is used. That means + it can't be used for an arbitrary file. +*/ +{ + int n = 0, bpos = 0, fpos, fpos_org, block_size, bytesread = 0, + len = number * size, fsize = ucon64.file_size /* fsizeof (filename) */; + unsigned char tmp1[MAXBUFSIZE], tmp2[MAXBUFSIZE]; + + fpos = fpos_org = ftell (fh); + if (fpos >= fsize) + return 0; + + if (len == 0) + return 0; + else if (len == 1) + { + if (fpos_org & 1) + { + fseek (fh, fpos / 2, SEEK_SET); + *((unsigned char *) buffer) = fgetc (fh); + } + else + { + fseek (fh, fpos / 2 + fsize / 2, SEEK_SET); + *((unsigned char *) buffer) = fgetc (fh); + } + fseek (fh, fpos_org + 1, SEEK_SET); + return 1; + } + + while (len > 0 && !feof (fh)) + { + block_size = len > MAXBUFSIZE ? MAXBUFSIZE : len; + + fseek (fh, fpos / 2, SEEK_SET); + bytesread += fread (tmp1, 1, block_size / 2, fh); // read odd bytes + fseek (fh, (fpos + 1) / 2 + fsize / 2, SEEK_SET); + bytesread += fread (tmp2, 1, block_size / 2, fh); // read even bytes + + if (fpos_org & 1) + for (n = 0; n < block_size / 2; n++) + { + ((unsigned char *) buffer)[bpos + n * 2] = tmp1[n]; + ((unsigned char *) buffer)[bpos + n * 2 + 1] = tmp2[n]; + } + else + for (n = 0; n < block_size / 2; n++) + { + ((unsigned char *) buffer)[bpos + n * 2] = tmp2[n]; + ((unsigned char *) buffer)[bpos + n * 2 + 1] = tmp1[n]; + } + fpos += block_size; + bpos += block_size; + len -= block_size; + } + fseek (fh, fpos_org + bytesread, SEEK_SET); + return bytesread / size; +} + + +int +q_fread_mgd (void *buffer, size_t start, size_t len, const char *filename) +{ + int result; + FILE *fh; + + if ((fh = fopen (filename, "rb")) == NULL) + return -1; + fseek (fh, start, SEEK_SET); + result = (int) fread_mgd (buffer, 1, len, fh); + fclose (fh); + + return result; +} + + +static void +remove_mgd_id (char *name, const char *id) +{ + char *p = name; + while ((p = strstr (p, id))) + { + *p = 'X'; + *(p + 1) = 'X'; + p += 2; + } +} + + +void +mgd_make_name (const char *filename, int console, int size, char *name) +// these characters are also valid in MGD file names: !@#$%^&_ +{ + char *prefix = 0, *p, *size_str = 0, *suffix = 0; + const char *fname; + int n; + + switch (console) + { + default: // falling through + case UCON64_SNES: + prefix = "SF"; + suffix = ".048"; + if (size <= 1 * MBIT) + size_str = "1"; + else if (size <= 2 * MBIT) + size_str = "2"; + else if (size <= 4 * MBIT) + size_str = "4"; + else if (size <= 8 * MBIT) + { + size_str = "8"; + suffix = ".058"; + } + else + { + suffix = ".078"; + if (size <= 10 * MBIT) + size_str = "10"; + else if (size <= 12 * MBIT) + size_str = "12"; + else if (size <= 16 * MBIT) + size_str = "16"; + else if (size <= 20 * MBIT) + size_str = "20"; + else if (size <= 24 * MBIT) + size_str = "24"; + else // MGD supports SNES games with sizes up to 32 Mbit + size_str = "32"; + } + break; + case UCON64_GEN: + prefix = "MD"; + suffix = ".000"; + if (size <= 1 * MBIT) + size_str = "1"; + else if (size <= 2 * MBIT) + size_str = "2"; + else if (size <= 4 * MBIT) + size_str = "4"; + else + { + if (size <= 8 * MBIT) + { + size_str = "8"; + suffix = ".008"; + } + else if (size <= 16 * MBIT) + { + size_str = "16"; + suffix = ".018"; + } + else + { + suffix = ".038"; + if (size <= 20 * MBIT) + size_str = "20"; + else if (size <= 24 * MBIT) + size_str = "24"; + else // MGD supports Genesis games with sizes up to 32 Mbit + size_str = "32"; + } + } + break; + case UCON64_PCE: + prefix = "PC"; + suffix = ".040"; + if (size <= 1 * MBIT) + size_str = "1"; + else if (size <= 2 * MBIT) + size_str = "2"; + else if (size <= 3 * MBIT) + { + size_str = "3"; + suffix = ".030"; + } + else if (size <= 4 * MBIT) + { + size_str = "4"; + suffix = ".048"; + } + else + { + suffix = ".058"; + if (size <= 6 * MBIT) + size_str = "6"; + else // MGD supports PC-Engine games with sizes up to 8 Mbit + size_str = "8"; + } + break; + case UCON64_SMS: + prefix = "GG"; + suffix = ".060"; + if (size < 1 * MBIT) + size_str = "0"; + else if (size == 1 * MBIT) + size_str = "1"; + else if (size <= 2 * MBIT) + size_str = "2"; + else + { + suffix = ".078"; + if (size <= 3 * MBIT) + size_str = "3"; + else if (size <= 4 * MBIT) + size_str = "4"; + else if (size <= 6 * MBIT) + size_str = "6"; + else // MGD supports Sega Master System games with sizes up to 8 Mbit + size_str = "8"; + } + break; + case UCON64_GAMEGEAR: + prefix = "GG"; + suffix = ".040"; + if (size < 1 * MBIT) + size_str = "0"; + else if (size == 1 * MBIT) + size_str = "1"; + else if (size <= 2 * MBIT) + size_str = "2"; + else + { + suffix = ".048"; + if (size <= 3 * MBIT) + size_str = "3"; + else if (size <= 4 * MBIT) + size_str = "4"; + else + { + suffix = ".078"; + if (size <= 6 * MBIT) + size_str = "6"; + else // MGD supports Game Gear games with sizes up to 8 Mbit + size_str = "8"; + } + } + break; + case UCON64_GB: + prefix = "GB"; + /* + What is the maximum game size the MGD2 supports for GB (color) games? + At least one 64 Mbit game exists, Densha De Go! 2 (J) [C][!]. + */ + suffix = ".040"; + if (size < 1 * MBIT) + size_str = "0"; + else if (size == 1 * MBIT) + size_str = "1"; + else if (size <= 2 * MBIT) + size_str = "2"; + else if (size <= 3 * MBIT) + { + size_str = "3"; + suffix = ".030"; + } + else if (size <= 4 * MBIT) + { + size_str = "4"; + suffix = ".048"; + } + else + { + suffix = ".058"; + if (size <= 6 * MBIT) + size_str = "6"; + else + size_str = "8"; + } + break; + } + + fname = basename2 (filename); + // Do NOT mess with prefix (strupr()/strlwr()). See below (remove_mgd_id()). + sprintf (name, "%s%s%s", prefix, size_str, fname); + if (size >= 10 * MBIT) + { + if (!strnicmp (name, fname, 4)) + strcpy (name, fname); + } + else + { + if (!strnicmp (name, fname, 3)) + strcpy (name, fname); + } + if ((p = strchr (name, '.'))) + *p = 0; + n = strlen (name); + if (size >= 10 * MBIT) + { + if (n < 7) + strcat (name, "XXX"); // in case fname is 1 character long + n = 7; + } + else + { + if (n < 6) + strcat (name, "XX"); + n = 6; + } + name[n] = '0'; // last character must be a number + name[n + 1] = 0; + for (n = 3; n < 8; n++) // we can skip the prefix + if (name[n] == ' ') + name[n] = 'X'; + + /* + the transfer program "pclink" contains a bug in that it looks at the + entire file name for an ID string (it should look only at the first 2 + characters). + */ + strupr (name); + remove_mgd_id (name + 3, "SF"); + remove_mgd_id (name + 3, "MD"); + remove_mgd_id (name + 3, "PC"); + remove_mgd_id (name + 3, "GG"); + remove_mgd_id (name + 3, "GB"); + + set_suffix (name, suffix); +} + + +void +mgd_write_index_file (void *ptr, int n_names) +{ + char buf[100 * 10], *p, name[16], dest_name[FILENAME_MAX]; + // one line in the index file takes 10 bytes at max (name (8) + "\r\n" (2)), + // so buf is large enough for 44 files of 1/4 Mbit (max for 1 diskette) + + if (n_names == 1) + { + strcpy (name, (char *) ptr); + if ((p = strrchr (name, '.'))) + *p = 0; + sprintf (buf, "%s\r\n", name); // DOS text file format + } + else if (n_names > 1) + { + int n = 0, offset = 0; + + for (; n < n_names; n++) + { + strcpy (name, ((char **) ptr)[n]); + if ((p = strrchr (name, '.'))) + *p = 0; + sprintf (buf + offset, "%s\r\n", name); + offset += strlen (name) + 2; // + 2 for "\r\n" + } + } + else // n_names <= 0 + return; + + strcpy (dest_name, "MULTI-GD"); + ucon64_file_handler (dest_name, NULL, OF_FORCE_BASENAME); + ucon64_fwrite (buf, 0, strlen (buf), dest_name, "wb"); + printf (ucon64_msg[WROTE], dest_name); +} diff --git a/tools/ucon64-2.0.0-src/src/backup/mgd.h b/tools/ucon64-2.0.0-src/src/backup/mgd.h new file mode 100644 index 0000000..591dd31 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/mgd.h @@ -0,0 +1,185 @@ +/* +mgd.h - Multi Game Doctor/Hunter support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB +Copyright (c) 2002 - 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef MGD_H +#define MGD_H + +extern const st_getopt2_t mgd_usage[]; + +/* +The MGD2 only accepts certain filenames, and these filenames +must be specified in an index file, "MULTI-GD", otherwise the +MGD2 will not recognize the file. In the case of multiple games +being stored in a single disk, simply enter its corresponding +MULTI-GD index into the "MULTI-GD" file. + +Thanks to acem77 for the (verified) list below. + +Super Famicom: + +game size # of files names MULTI-GD +================================================================ +1M 1 SF1XXX#.048 SF1XXX# +2M 1 SF2XXX#.048 SF2XXX# +4M 1 SF4XXX#.048 SF4XXX# +4M 2 SF4XXXxA.078 SF4XXXxA + SF4XXXxB.078 SF4XXXxB +8M 1 SF8XXX#.058 SF8XXX# + 2 SF8XXXxA.078 SF8XXXxA + SF8XXXxB.078 SF8XXXxB +10M 1 SF10XXX#.078 SF10XXX# + 2 SF10XXX#.078 SF10XXX# + SF10XXX#.078 SF10XXX# +12M 1 SF12XXX#.078 SF12XXX# + 2 SF12XXX#A.078 SF12XXX#B + SF12XXX#B.078 SF12XXX#A +16M 1 SF16XXX#.078 SF16XXX# +16M 2 SF16XXX#A.078 SF16XXX#A + SF16XXX#B.078 SF16XXX#B +20M 1 SF20XXX#.078 SF20XXX# + 3 SF20XXX#A.078 SF20XXX#A + SF20XXX#B.078 SF20XXX#B + SF20XXX#C.078 SF20XXX#C +24M 1 SF24XXX#.078 SF24XXX# +24M 3 SF24XXX#A.078 SF24XXX#A + SF24XXX#B.078 SF24XXX#B + SF24XXX#C.078 SF24XXX#C +32M 1 SF32XXX#.078 SF32XXX# +32M 4 SF32XXX#A.078 SF32XXX#A + SF32XXX#B.078 SF32XXX#B + SF32XXX#C.078 SF32XXX#C + SF32XXX#D.078 SF32XXX#D + +Mega Drive: + +game size # of files names MULTI-GD +================================================================ +1M 1 MD1XXX#.000 MD1XXX# +2M 1 MD2XXX#.000 MD2XXX# +4M 1 MD4XXX#.000 MD4XXX# +8M 1 MD8XXX#.008 MD8XXX# +16M 2 MD16XXX#A.018 MD16XXX#A + MD16XXX#B.018 MD16XXX#B +20M 3 MD20XXX#A.038 MD20XXX#A + MD20XXX#B.038 MD20XXX#B + MD20XXX#C.038 MD20XXX#C +24M 3 MD24XXX#A.038 MD24XXX#A + MD24XXX#B.038 MD24XXX#B + MD24XXX#C.038 MD24XXX#C +32M 4 MD32XXX#A.038 MD32XXX#A + MD32XXX#B.038 MD32XXX#B + MD32XXX#C.038 MD32XXX#C + MD32XXX#D.038 MD32XXX#D + +PC-Engine: + +game size # of files names MULTI-GD +================================================================ +1M 1 PC1XXX#.040 PC1XXX# +2M 1 PC2XXX#.040 PC2XXX# +3M 1 PC3XXX#.030 PC2XXX# +4M 1 PC4XXX#.048 PC4XXX# +6M 1 PC6XXX#.058 PC6XXX# +8M 1 PC8XXX#.058 PC8XXX# + +Sega Master System: + +game size # of files names MULTI-GD +================================================================ +less than 1M 1 GG0XXX#.060 GG0XXX# +1M 1 GG1XXX#.060 GG1XXX# +2M 1 GG2XXX#.060/70 GG2XXX# +3M 1 GG3XXX#.078 GG2XXX# +4M 1 GG4XXX#.078/68 GG4XXX# +6M 1 GG6XXX#.078 GG6XXX# +8M 1 GG8XXX#.078 GG8XXX# + +Game Gear: + +game size # of files names MULTI-GD +================================================================ +less than 1M 1 GG0XXX#.040 GG0XXX# +1M 1 GG1XXX#.040 GG1XXX# +2M 1 GG2XXX#.050/40 GG2XXX# +3M 1 GG3XXX#.048 GG2XXX# +4M 1 GG4XXX#.058/48 GG4XXX# +6M 1 GG6XXX#.078 GG6XXX# +8M 1 GG8XXX#.078 GG8XXX# + +Game Boy: + +game size # of files names MULTI-GD +================================================================ +less than 1M 1 GB0XXX#.040 GB0XXX# +1M 1 GB1XXX#.040 GB1XXX# +2M 1 GB2XXX#.040/60 GB2XXX# +3M 1 GB3XXX#.030 GB2XXX# +4M 1 GB4XXX#.048 GB4XXX# +6M 1 GB6XXX#.058 GB6XXX# +8M 1 GB8XXX#.058 GB8XXX# + + +Contrary to popular belief the Game Doctor SF3/SF6/SF7 *does* +use a 512 byte header like the SWC, but it also accepts +headerless files. +A header is necessary when things like SRAM size must be made +known to the Game Doctor. The Game Doctor also uses specially +designed filenames to distinguish between multi files. + +Usually, the filename is in the format of: SFXXYYYZ.078 + +Where SF means Super Famicom, XX refers to the size of the +image in Mbit. If the size is only one character (i.e. 2, 4 or +8 Mbit) then no leading "0" is inserted. + +YYY refers to a catalogue number in Hong Kong shops +identifying the game title. (0 is Super Mario World, 1 is F- +Zero, etc). I was told that the Game Doctor copier produces a +random number when backing up games. + +Z indicates a multi file. Like XX, if it isn't used it's +ignored. + +A would indicate the first file, B the second, etc. I am told +078 is not needed, but is placed on the end of the filename by +systems in Asia. + +e.g. The first 8 Mbit file of Donkey Kong Country (assuming it +is cat. no. 475) would look like: SF32475A.078 +*/ + +#ifdef USE_PARALLEL +#endif // USE_PARALLEL + +// the following four functions are used by non-transfer code in genesis.c +extern void mgd_interleave (unsigned char **buffer, int size); +extern void mgd_deinterleave (unsigned char **buffer, int data_size, + int buffer_size); +extern int fread_mgd (void *buffer, size_t size, size_t number, FILE *fh); +extern int q_fread_mgd (void *buffer, size_t start, size_t len, + const char *filename); +extern void mgd_make_name (const char *filename, int console, int size, + char *name); +extern void mgd_write_index_file (void *ptr, int n_names); + +#define MGD_HEADER_START 0 +#define MGD_HEADER_LEN 512 +#endif // MGD_H diff --git a/tools/ucon64-2.0.0-src/src/backup/msg.c b/tools/ucon64-2.0.0-src/src/backup/msg.c new file mode 100644 index 0000000..3bab807 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/msg.c @@ -0,0 +1,250 @@ +/* +msg.c - Magic Super Griffin support for uCON64 + +Copyright (c) 2003 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#include "misc/itypes.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "misc/file.h" +#include "misc/misc.h" +#include "ucon64.h" +#include "ucon64_misc.h" +#include "ffe.h" +#include "msg.h" + + +const st_getopt2_t msg_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Magic Super Griffin/MSG"/*"1993/1994/1995/19XX Front Far East/FFE http://www.front.com.tw"*/, + NULL + }, +#ifdef USE_PARALLEL + { + "xmsg", 0, 0, UCON64_XMSG, + NULL, "send/receive ROM to/from Magic Super Griffin/MSG; " OPTION_LONG_S "port=PORT\n" + "receives automatically when ROM does not exist", + &ucon64_wf[WF_OBJ_PCE_DEFAULT_STOP_NO_SPLIT_NO_ROM] + }, +#endif + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + + +#ifdef USE_PARALLEL + +#define BUFFERSIZE 8192 // don't change, only 8192 works! + + +static void set_header (unsigned char *buffer); +static int check (unsigned char *info_block, int index1, int index2, int size); + + +#if BUFFERSIZE < 512 +#error receive_rom_info() expects BUFFERSIZE to be at least 512 bytes. +#endif +void +set_header (unsigned char *buffer) +{ + int n, m = 0; + unsigned char sizes[] = "\x10\x20\x30\x30\x40\x40\x60\x80"; + + for (n = 0; n < 128; n++) + { + ffe_send_command (5, (unsigned short) n, 0); + buffer[n] = ffe_send_command1 (0xa0a0); + wait2 (1); + if (buffer[n] != 0xff) + m = 1; + } + if (m == 0) + { // no cartridge in Magic Super Griffin + buffer[0] = 0; + return; + } + + m = 0; + if (!check (buffer, 0, 0x40, 0x20)) + m |= 2; + if (check (buffer, 0, 0x20, 0x20)) + { + if (!check (buffer, 0, 0x10, 0x10)) + m |= 1; + } + else + { + m |= 4; + if (!check (buffer, 0x40, 0x60, 0x20)) + m |= 1; + } + + memset (buffer, 0, MSG_HEADER_LEN); + buffer[0] = sizes[m]; + if (buffer[0] == 0x30) + buffer[1] = 1; + buffer[8] = 0xaa; + buffer[9] = 0xbb; + buffer[10] = 2; +} + + +int +check (unsigned char *info_block, int index1, int index2, int size) +{ + int n; + + for (n = 0; n < size; n++) + if (info_block[n + index1] != info_block[n + index2]) + return 0; + + return 1; +} + + +int +msg_read_rom (const char *filename, unsigned int parport) +{ + FILE *file; + unsigned char *buffer; + int size, blocksleft, blocksdone = 0, bytesreceived = 0, emu_mode_select; + time_t starttime; + + ffe_init_io (parport); + + if ((file = fopen (filename, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + exit (1); + } + if ((buffer = (unsigned char *) malloc (BUFFERSIZE)) == NULL) + { + fprintf (stderr, ucon64_msg[FILE_BUFFER_ERROR], BUFFERSIZE); + exit (1); + } + + set_header (buffer); + if (buffer[0] == 0) + { + fprintf (stderr, "ERROR: There is no cartridge present in the Magic Super Griffin\n"); + fclose (file); + remove (filename); + exit (1); + } + blocksleft = buffer[0]; + size = buffer[0] * 8192; + printf ("Receive: %d Bytes (%.4f Mb)\n", size, (float) size / MBIT); + + fwrite (buffer, 1, MSG_HEADER_LEN, file); // write header + emu_mode_select = buffer[1]; + + ffe_send_command (5, 0, 0); + ffe_send_command0 (0xbff0, 0); + + printf ("Press q to abort\n\n"); + + starttime = time (NULL); + while (blocksleft > 0) + { + ffe_send_command (5, (unsigned short) blocksdone, 0); + if (emu_mode_select && blocksdone >= 32) + ffe_send_command (5, (unsigned short) (blocksdone + 32), 0); + ffe_receive_block (0xa000, buffer, BUFFERSIZE); + // vgs aborts if the checksum doesn't match the data, we let the user decide + blocksleft--; + blocksdone++; + fwrite (buffer, 1, BUFFERSIZE, file); + + bytesreceived += BUFFERSIZE; + ucon64_gauge (starttime, bytesreceived, size); + ffe_checkabort (2); + } + + free (buffer); + fclose (file); + ffe_deinit_io (); + + return 0; +} + + +int +msg_write_rom (const char *filename, unsigned int parport) +{ + FILE *file; + unsigned char *buffer; + int bytesread, bytessend = 0, blocksdone = 0, emu_mode_select, size; + time_t starttime; + + ffe_init_io (parport); + + if ((file = fopen (filename, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + exit (1); + } + if ((buffer = (unsigned char *) malloc (BUFFERSIZE)) == NULL) + { + fprintf (stderr, ucon64_msg[FILE_BUFFER_ERROR], BUFFERSIZE); + exit (1); + } + + size = fsizeof (filename) - MSG_HEADER_LEN; + printf ("Send: %d Bytes (%.4f Mb)\n", size, (float) size / MBIT); + + fread (buffer, 1, MSG_HEADER_LEN, file); + emu_mode_select = buffer[1]; // this byte is needed later + + ffe_send_command0 (0xe008, 0); + printf ("Press q to abort\n\n"); + + starttime = time (NULL); + while ((bytesread = fread (buffer, 1, BUFFERSIZE, file))) + { + ffe_send_command (5, (unsigned short) blocksdone, 0); + ffe_send_block (0x8000, buffer, bytesread); + blocksdone++; + + bytessend += bytesread; + ucon64_gauge (starttime, bytessend, size); + ffe_checkabort (2); + } + + if (emu_mode_select & 1) + ffe_send_command (4, 0xff00, 0); + else + ffe_send_command (4, 0xff03, 0); + + free (buffer); + fclose (file); + ffe_deinit_io (); + + return 0; +} + +#endif // USE_PARALLEL diff --git a/tools/ucon64-2.0.0-src/src/backup/msg.h b/tools/ucon64-2.0.0-src/src/backup/msg.h new file mode 100644 index 0000000..a5a46cc --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/msg.h @@ -0,0 +1,46 @@ +/* +msg.h - Magic Super Griffin support for uCON64 + +Copyright (c) 2003 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef MSG_H +#define MSG_H + +extern const st_getopt2_t msg_usage[]; + +// For the header format, see ffe.h +typedef struct st_msg_header +{ + unsigned char size; + unsigned char emulation; + unsigned char pad[6]; + unsigned char id1; + unsigned char id2; + unsigned char type; + unsigned char pad2[501]; +} st_msg_header_t; + +#define MSG_HEADER_START 0 +#define MSG_HEADER_LEN (sizeof (st_msg_header_t)) + +#ifdef USE_PARALLEL +extern int msg_read_rom (const char *filename, unsigned int parport); +extern int msg_write_rom (const char *filename, unsigned int parport); +#endif + +#endif // MSG_H diff --git a/tools/ucon64-2.0.0-src/src/backup/pce-pro.c b/tools/ucon64-2.0.0-src/src/backup/pce-pro.c new file mode 100644 index 0000000..6e0cfaa --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/pce-pro.c @@ -0,0 +1,204 @@ +/* +pce-pro.c - PCE-PRO flash card programmer support for uCON64 + +Copyright (c) 2004 dbjh + +Based on Delphi source code by ToToTEK Multi Media. Information in that source +code has been used with permission. However, ToToTEK Multi Media explicitly +stated that the information in that source code may be freely distributed. + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include "misc/parallel.h" +#include "misc/itypes.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "misc/file.h" +#include "misc/misc.h" +#include "ucon64.h" +#include "ucon64_misc.h" +#include "tototek.h" +#include "pce-pro.h" + + +const st_getopt2_t pcepro_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "PCE-PRO flash card programmer"/*"2004 ToToTEK Multi Media http://www.tototek.com"*/, + NULL + }, +#ifdef USE_PARALLEL + { + "xpce", 0, 0, UCON64_XPCE, + NULL, "send/receive ROM to/from PCE-PRO flash card programmer\n" OPTION_LONG_S "port=PORT\n" + "receives automatically (32 Mbits) when ROM does not exist", + &ucon64_wf[WF_OBJ_PCE_DEFAULT_STOP_NO_SPLIT_NO_ROM] + }, +#endif + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + + +#ifdef USE_PARALLEL + +static void eep_reset (void); +static void write_rom_by_byte (int *addr, unsigned char *buf); +static void write_rom_by_page (int *addr, unsigned char *buf); + + +void +eep_reset (void) +{ + ttt_rom_enable (); + ttt_write_mem (0x000000, 0xff); // reset EEP + ttt_write_mem (0x200000, 0xff); // reset EEP + ttt_rom_disable (); +} + + +void +write_rom_by_byte (int *addr, unsigned char *buf) +{ + int x; + + for (x = 0; x < 0x4000; x++) + { + ttt_write_byte_sharp (*addr, buf[*addr & 0x3fff]); + (*addr)++; + } +} + + +void +write_rom_by_page (int *addr, unsigned char *buf) +{ + int x; + + for (x = 0; x < 0x200; x++) + { + ttt_write_page_rom (*addr, buf); + (*addr) += 0x20; + } +} + + +int +pce_read_rom (const char *filename, unsigned int parport, int size) +{ + FILE *file; + unsigned char buffer[0x100]; + int blocksleft, address = 0; + time_t starttime; + void (*read_block) (int, unsigned char *) = ttt_read_rom_w; // ttt_read_rom_b + + if ((file = fopen (filename, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + exit (1); + } + ttt_init_io (parport); + + printf ("Receive: %d Bytes (%.4f Mb)\n\n", size, (float) size / MBIT); + + blocksleft = size >> 8; + eep_reset (); + ttt_rom_enable (); + if (read_block == ttt_read_rom_w) + ttt_set_ai_data (6, 0x94); // rst=1, wei=0(dis.), rdi=0(dis.), inc mode, rom_CS + starttime = time (NULL); + while (blocksleft-- > 0) + { + read_block (address, buffer); // 0x100 bytes read + fwrite (buffer, 1, 0x100, file); + address += 0x100; + if ((address & 0x3fff) == 0) + ucon64_gauge (starttime, address, size); + } + // original code doesn't call ttt_rom_disable() when byte-size function is + // used (ttt_read_rom_b() calls it) + if (read_block == ttt_read_rom_w) + ttt_rom_disable (); + + fclose (file); + ttt_deinit_io (); + + return 0; +} + + +int +pce_write_rom (const char *filename, unsigned int parport) +{ + FILE *file; + unsigned char buffer[0x4000]; + int size, fsize, address = 0, bytesread, bytessend = 0; + time_t starttime; + void (*write_block) (int *, unsigned char *) = write_rom_by_page; // write_rom_by_byte + (void) write_rom_by_byte; + + if ((file = fopen (filename, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + exit (1); + } + ttt_init_io (parport); + + size = fsize = fsizeof (filename); + if (fsize == 4 * MBIT) + size += 2 * MBIT; + printf ("Send: %d Bytes (%.4f Mb)\n\n", size, (float) size / MBIT); + + eep_reset (); + if (ttt_get_id () != 0xb0d0) + { + fputs ("ERROR: PCE-PRO flash card (programmer) not detected\n", stderr); + fclose (file); + ttt_deinit_io (); + exit (1); + } + + starttime = time (NULL); + eep_reset (); + while ((bytesread = fread (buffer, 1, 0x4000, file))) + { + if ((address & 0xffff) == 0) + ttt_erase_block (address); + write_block (&address, buffer); + if ((fsize == 3 * MBIT) && (address == 2 * MBIT)) + address += 2 * MBIT; + if ((fsize == 4 * MBIT) && (address == 4 * MBIT)) + fseek (file, 2 * MBIT, SEEK_SET); + + bytessend += bytesread; + ucon64_gauge (starttime, bytessend, size); + } + + fclose (file); + ttt_deinit_io (); + + return 0; +} + +#endif // USE_PARALLEL diff --git a/tools/ucon64-2.0.0-src/src/backup/pce-pro.h b/tools/ucon64-2.0.0-src/src/backup/pce-pro.h new file mode 100644 index 0000000..98a6868 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/pce-pro.h @@ -0,0 +1,35 @@ +/* +pce-pro.h - PCE-PRO flash card programmer support for uCON64 + +Copyright (c) 2004 dbjh + +Based on Delphi source code by ToToTEK Multi Media. Information in that source +code has been used with permission. However, ToToTEK Multi Media explicitly +stated that the information in that source code may be freely distributed. + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef PCE_PRO_H +#define PCE_PRO_H + +extern const st_getopt2_t pcepro_usage[]; + +#ifdef USE_PARALLEL +extern int pce_read_rom (const char *filename, unsigned int parport, int size); +extern int pce_write_rom (const char *filename, unsigned int parport); +#endif + +#endif diff --git a/tools/ucon64-2.0.0-src/src/backup/pl.c b/tools/ucon64-2.0.0-src/src/backup/pl.c new file mode 100644 index 0000000..1de4120 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/pl.c @@ -0,0 +1,782 @@ +/* +pl.c - Pocket Linker support for uCON64 + +Copyright (c) 2004 Walter van Niftrik +Partly based on PokeLink - Copyright (c) Dark Fader / BlackThunder + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include "misc/itypes.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "misc/misc.h" +#include "misc/parallel.h" +#include "misc/file.h" +#include "ucon64.h" +#include "ucon64_misc.h" +#include "pl.h" + + +const st_getopt2_t pl_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Pocket Linker"/*"19XX Bung Enterprises Ltd"*/, + NULL + }, +#ifdef USE_PARALLEL + { + "xpl", 0, 0, UCON64_XPL, + NULL, "send/receive ROM to/from Pocket Linker; " OPTION_LONG_S "port=PORT\n" + "receives automatically when ROM does not exist", + &ucon64_wf[WF_OBJ_NGP_DEFAULT_STOP_NO_ROM] + }, + { + "xpli", 0, 0, UCON64_XPLI, + NULL, "show information about inserted cartridge; " OPTION_LONG_S "port=PORT", + &ucon64_wf[WF_OBJ_NGP_STOP_NO_ROM] + }, + { + "xplm", 0, 0, UCON64_XPLM, + NULL, "try to enable EPP mode, default is SPP mode", + &ucon64_wf[WF_OBJ_NGP_SWITCH] + }, +#endif // USE_PARALLEL + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + + +#ifdef USE_PARALLEL + +// flash unlock addresses with chip select +#define fx0002aa(A) (((A) & 0x200000) | 0x0002aa) +#define fx000555(A) (((A) & 0x200000) | 0x000555) +#define fx000aaa(A) (((A) & 0x200000) | 0x000aaa) +#define fx002aaa(A) (((A) & 0x200000) | 0x002aaa) +#define fx005555(A) (((A) & 0x200000) | 0x005555) + +#define set_data_read outportb (port_a, 0); +#define set_data_write outportb (port_a, 1); +#define reset_port outportb (port_a, 4); +#define clear_timeout outportb (port_9, 1); + +#define CMD_READ 0xf0 +#define CMD_INFO 0x90 +#define CMD_ERASE 0x80 + +#define TYPE_BW 0x00 +#define TYPE_COLOR 0x01 +#define TYPE_MULTI 0x02 + +static short int port_8, port_9, port_a, port_b, port_c; +static parport_mode_t port_mode; +static int current_ai; +static unsigned char ai_value[4]; + + +static void +epp_write_data (unsigned char data) +{ + outportb (port_c, data); +} + + +static void +spp_write_data (unsigned char data) +{ + outportb (port_8, data); + outportb (port_a, 3); + outportb (port_a, 1); +} + + +static void +write_data (unsigned char data) +{ + ai_value[current_ai] = data; + if (port_mode == UCON64_SPP) + spp_write_data (data); + else + epp_write_data (data); +} + + +static unsigned char +epp_read_data (void) +{ + return inportb (port_c); +} + + +static unsigned char +spp_read_data (void) +{ + unsigned char byte; + + outportb (port_a, 2); + byte = (inportb (port_9) >> 3) & 0x0f; + outportb (port_a, 6); + byte |= (inportb (port_9) << 1) & 0xf0; + outportb (port_a, 0); + + return byte; +} + + +static unsigned char +read_data (void) +{ + if (port_mode == UCON64_SPP) + return spp_read_data (); + else + return epp_read_data (); +} + + +static void +epp_set_ai (unsigned char ai) +{ + current_ai = ai; + outportb (port_b, ai); +} + + +static void +spp_set_ai (unsigned char ai) +{ + current_ai = ai; + outportb (port_8, ai); + outportb (port_a, 9); + outportb (port_a, 1); +} + + +static void +set_ai (unsigned char ai) +{ + if (port_mode == UCON64_SPP) + spp_set_ai (ai); + else + epp_set_ai (ai); +} + + +static void +epp_set_ai_data (unsigned char ai, unsigned char data) +{ + epp_set_ai (ai); + epp_write_data (data); +} + + +static void +spp_set_ai_data (unsigned char ai, unsigned char data) +{ + spp_set_ai (ai); + spp_write_data (data); +} + + +static void +set_ai_data (unsigned char ai, unsigned char data) +{ + if (port_mode == UCON64_SPP) + spp_set_ai_data (ai, data); + else + epp_set_ai_data (ai, data); +} + + +static void +init_port (void) +{ +#ifndef USE_PPDEV + clear_timeout +#endif + set_data_write + set_ai_data (2, 0); +} + + +static void +end_port (void) +{ + set_data_write + set_ai_data (2, 0); + reset_port +} + + +static int +detect_linker (void) +{ + init_port (); + set_data_write + set_ai_data (1, 0x12); + set_ai_data (0, 0x34); + set_ai (1); + set_data_read + if (read_data () != 0x12) + return 0; + set_data_write + set_ai (0); + set_data_read + if (read_data () != 0x34) + return 0; + end_port (); + return 1; +} + + +static void +select_address (unsigned int addr, int inc) +{ + unsigned char data = (((addr >> 14) & 0x3c) | ((addr >> 13) & 0x80) | + (inc ? 0x01 : 0x00)); // a[20..16], auto-increment + if (data != ai_value[2]) + set_ai_data (2, data); + set_ai_data (1, (unsigned char) ((addr >> 8) & 0xff)); // a[15..8] + set_ai_data (0, (unsigned char) (addr & 0xff)); // a[7..0] +} + + +static void +write_address_data (unsigned int addr, unsigned char data) +{ + select_address (addr, 0); + set_ai_data (3, data); +} + + +static void +send_command (unsigned char cmd) +{ + set_data_write + write_address_data (0x5555, 0xaa); + write_address_data (0x2aaa, 0x55); + write_address_data (0x5555, cmd); +} + + +static void +reset_read (void) +{ + send_command (CMD_READ); +} + + +static unsigned char +read_ai3_data (void) +{ + set_ai (3); + set_data_read + return read_data (); +} + + +static int +detect_chip (void) +{ + int ai; + unsigned char info[4]; + + reset_read (); + reset_read (); + reset_read (); + send_command (CMD_INFO); + for (ai = 0; ai < 4; ai++) + { + set_data_write + select_address (ai, 0); + info[ai] = read_ai3_data (); + } + reset_read (); + if (((info[0] & 0x90) == 0x90) && (info[2] == 0x01) && (info[3] & 0x80)) + return 1; + else + return 0; +} + + +static void +select_chip (unsigned int addr) +{ + set_data_write + set_ai_data (2, 2); + set_ai_data (3, (unsigned char) ((addr & 0x200000) ? 1 : 2)); + set_ai_data (2, 0); +} + + +static unsigned int +cart_size (void) +{ + select_chip (0x000000); + if (!detect_chip ()) + return 0; // no cartridge found + select_chip (0x200000); + if (!detect_chip ()) + return 0x200000; // 16 megabit + return 0x400000; // 32 megabit +} + + +static void +read_blocks (unsigned int addr, unsigned char *buf, int blocks) +{ + int block, i, offset = 0; + + select_chip (addr); + for (block = 0; block < blocks; block++) + { + set_data_write + select_address (addr | (block << 8), 1); + set_ai (3); + set_data_read + for (i = 0; i < 0x100; i++) + buf[offset++] = read_data (); + } +} + + +static int +is_erased (unsigned char *buf, unsigned int len) +{ + unsigned int i; + + for (i = 0; i < len; i++) + if (buf[i] != 0xff) + return 0; + + return 1; +} + + +static int +is_header (unsigned char *buf) +{ + char msg[0x1d]; + + strncpy (msg, (char *) buf, 0x1c); + msg[0x1c] = '\0'; + + if (strstr (msg, "COPYRIGHT") || strstr (msg, "SNK") || + strstr (msg, "LICENSED") || strstr (msg, "CORPORATION")) + return 1; // header found + + return 0; // other data found +} + + +static int +same_header (unsigned char *header, unsigned char *buf) +{ + return (!memcmp (header, buf, 0x100)); +} + + +static unsigned int +game_info (unsigned int cart_size, char name[13], int *type) +{ + unsigned char header[0x100]; + unsigned char buf[0x8000]; + + select_chip (0x000000); + read_blocks (0x000000, header, 1); + + if (!is_header (header)) + return 0; // no game found + + if (name) + { + strncpy (name, (char *) (header + 0x24), 12); + name[12] = '\0'; + } + + if (type) + { + if (strstr (name, "Multi")) + *type = TYPE_MULTI; + else if (header[0x23] == 0x10) + *type = TYPE_COLOR; + else + *type = TYPE_BW; + } + + read_blocks (0x080000, buf, 128); + if ((same_header (buf, header)) || is_erased (buf, 0x8000)) + return 0x080000; // 4 megabit + + read_blocks (0x100000, buf, 128); + if ((same_header (buf, header)) || is_erased (buf, 0x8000)) + return 0x100000; // 8 megabit + + if (cart_size == 0x400000) + { + read_blocks (0x200000, buf, 128); + if (is_erased (buf, 0x8000)) + return 0x200000; // 16 megabit + return 0x400000; // 32 megabit + } + return 0x200000; // 16 megabit +} + + +static void +deinit_io (void) +{ + end_port (); +} + + +static void +init_io (unsigned int port) +{ +#ifndef USE_PPDEV + outportb ((unsigned short) (port_8 + 0x402), 0); // Set EPP mode for ECP chipsets +#endif + + port_8 = port; + port_9 = port + 1; + port_a = port + 2; + port_b = port + 3; + port_c = port + 4; + + parport_print_info (); + + if (ucon64.parport_mode == UCON64_EPP && port_8 != 0x3bc) + port_mode = UCON64_EPP; // if port == 0x3bc => no EPP available + else + port_mode = UCON64_SPP; + + if (!detect_linker ()) + { + port_mode = UCON64_SPP; + if (!detect_linker ()) + { + fputs ("ERROR: Pocket Linker not found or not turned on\n", stderr); + deinit_io (); + exit (1); + } + } + + // If we get here, a Pocket Linker was detected + if (port_mode == UCON64_EPP) + puts ("Pocket Linker found. EPP found"); + else + puts ("Pocket Linker found. EPP not found or not enabled - SPP used"); +} + + +static void +set_address (unsigned int addr, int inc) +{ + set_ai_data (0, (unsigned char) (addr & 0xff)); // a[7..0] + set_ai_data (1, (unsigned char) ((addr >> 8) & 0xff)); // a[15..8] + set_ai_data (2, 0x02); // latch chip select + set_ai_data (3, (unsigned char) ~(1 << (addr >> 21))); // a[23..21] + set_ai_data (2, (unsigned char) ((((addr >> 16) & 0x0f) << 2) | // a[20..16], auto-increment + (((addr >> 20) & 0x01) << 7) | + (inc ? 0x01 : 0x00))); + set_ai (3); +} + + +static int +program (unsigned int addr, unsigned char data, int retries) +{ + int to = 10000; + + set_data_write + set_address (fx005555 (addr), 0); // program byte + write_data (0xaa); + set_address (fx002aaa (addr), 0); + write_data (0x55); + set_address (fx005555 (addr), 0); + write_data (0xa0); + set_address (addr, 0); + write_data (data); + + set_data_read + while (to--) + { + unsigned char s = read_data (); + if ((s & 128) == 0) + return 0; // ok + if (s & 32) + { + int s = read_data (); + if ((s & 128) == 0) + return 0; // ok + if (data == read_data ()) + return 0; // ok + } + } + + set_data_write + set_address (addr, 0); + set_data_read + if (data == read_data ()) + return 0; // ok + if (retries == 0) + return 1; // error + return program (addr, data, retries - 1); +} + + +static int +write_block (unsigned int addr, unsigned char *buf) +{ + int count; + select_address (addr, 1); + for (count = 0; count < 0x100; count++) + { + if (buf[count] == 0xff) + continue; // nothing to write + if (program (addr + count, buf[count], 3)) + { + select_address (addr + count, 0); + set_data_read + fprintf (stderr, "\nERROR: Programming failed at 0x%06x (w:0x%02x, " + "r:0x%02x)\n", addr + count, buf[count], read_data ()); + return 1; + } + } + return 0; +} + + +#if 0 +static int +wait_erased (void) +{ + int i = 0; + unsigned char cur_byte, prev_byte; + + prev_byte = read_ai3_data () & 0x40; + while (++i < 0x7ffffff) + { + cur_byte = read_data () & 0x40; + if (cur_byte == prev_byte) + return 0; // ok + prev_byte = cur_byte; + } + return 1; // erase error +} + + +static int +erase_chip (void) +{ + reset_read (); + send_command (CMD_ERASE); + write_address_data (0x5555, 0xaa); + write_address_data (0x2aaa, 0x55); + write_address_data (0x5555, 0x10); + return wait_erased (); +} + + +static int +erase_cart (unsigned int size) +{ + unsigned int addr; + unsigned char buf[0x8000]; + + for (addr = 0x000000; addr < size; addr += 0x200000) + { + select_chip (addr); + if (erase_chip ()) + { + fprintf (stderr, "ERROR: Erase chip %d failed\n", addr >> 21); + return 1; + } + + read_blocks (0x000000, buf, 128); + if (!is_erased (buf, 0x8000)) + { + fprintf (stderr, "ERROR: Erase chip %d verify failed\n", addr >> 21); + return 1; + } + } +} +#endif + + +static int +erase (void) +{ + unsigned int addr; + + for (addr = 0; addr < 0x400000; addr += 0x200000) + { + set_data_write + set_address (fx005555 (addr), 0); + write_data (0xaa); + set_address (fx002aaa (addr), 0); + write_data (0x55); + set_address (fx005555 (addr), 0); + write_data (0x80); + set_address (fx005555 (addr), 0); + write_data (0xaa); + set_address (fx002aaa (addr), 0); + write_data (0x55); + set_address (fx005555 (addr), 0); + write_data (0x10); + + set_data_read + while (~read_data () & 0x80) // wait for completion + ; + } + return 0; +} + + +int +pl_read_rom (const char *filename, unsigned int parport) +{ + FILE *file; + unsigned int blocksleft, c_size, size, address = 0; + unsigned char buffer[0x8000]; + time_t starttime; + + if ((file = fopen (filename, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + exit (1); + } + init_io (parport); + + c_size = cart_size (); + + if (c_size == 0x00) // Check for cartridge + { + fputs ("ERROR: No cartridge detected\n", stderr); + deinit_io (); + exit (1); + } + + size = game_info (c_size, NULL, NULL); + + if (size == 0x00) + { + fputs ("ERROR: No game detected\n", stderr); + deinit_io (); + exit (1); + } + + reset_read (); + + printf ("Receive: %d Bytes (%.4f Mb)\n\n", size, (float) size / MBIT); + + blocksleft = size >> 15; + starttime = time (NULL); + + while (blocksleft-- > 0) + { + read_blocks (address, buffer, 128); + fwrite (buffer, 1, 0x8000, file); + address += 0x8000; + ucon64_gauge (starttime, address, size); + } + + fclose (file); + deinit_io (); + + return 0; +} + + +int +pl_write_rom (const char *filename, unsigned int parport) +{ + FILE *file; + unsigned int size, bytesread, bytessent = 0, address = 0; + unsigned char buffer[0x100]; + time_t starttime; + + if ((file = fopen (filename, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + exit (1); + } + init_io (parport); + size = fsizeof (filename); + + erase (); + reset_read (); + + printf ("Send: %d Bytes (%.4f Mb)\n\n", size, (float) size / MBIT); + + starttime = time (NULL); + + while ((bytesread = fread (buffer, 1, 0x100, file))) + { + if (write_block (address, buffer)) + break; // write failed + bytessent += bytesread; + address += 0x100; + ucon64_gauge (starttime, bytessent, size); + } + + fclose (file); + deinit_io (); + + return 0; +} + + +int +pl_info (unsigned int parport) +{ + unsigned int c_size, g_size; + int g_type; + char g_name[13]; + + init_io (parport); + + c_size = cart_size (); + if (c_size == 0) + { + printf ("No cartridge found\n"); + deinit_io (); + return 0; + } + + g_size = game_info (c_size, g_name, &g_type); + + if (g_size == 0) + printf ("No game found\n"); + else + { + printf ("Game name: \"%s\"\n", g_name); + printf ("Game type: %s\n", (g_type == TYPE_COLOR) ? "Color" : "B&W"); + printf ("Game size: %d Bytes (%.4f Mb)\n", g_size, (float) g_size / MBIT); + } + deinit_io (); + + return 0; +} + +#endif // USE_PARALLEL diff --git a/tools/ucon64-2.0.0-src/src/backup/pl.h b/tools/ucon64-2.0.0-src/src/backup/pl.h new file mode 100644 index 0000000..9db0534 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/pl.h @@ -0,0 +1,33 @@ +/* +pl.h - Pocket Linker support for uCON64 + +Copyright (c) 2004 Walter van Niftrik +Partly based on PokeLink - Copyright (c) Dark Fader / BlackThunder + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef PL_H +#define PL_H + +extern const st_getopt2_t pl_usage[]; + +#ifdef USE_PARALLEL +extern int pl_info (unsigned int parport); +extern int pl_read_rom (const char *filename, unsigned int parport); +extern int pl_write_rom (const char *filename, unsigned int parport); +#endif + +#endif diff --git a/tools/ucon64-2.0.0-src/src/backup/psxpblib.c b/tools/ucon64-2.0.0-src/src/backup/psxpblib.c new file mode 100644 index 0000000..1ca2d5f --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/psxpblib.c @@ -0,0 +1,1068 @@ +/* + * + * PSX Peripheral Bus Library v1.4 17/01/00 Richard Davies + * + * + * Revision History: + * v1.4 - 17/01/00 Win32 / Win32 DLL support, rewrite and bug fixes + * v1.3 - 21/12/99 Linux support and bug fixes + * v1.1 - 26/09/99 Minor Controller detection improvements. + * v1.0 - 17/07/99 Initial release (based on PSXTest v1.1 by me). + * + * see psxpblib.h for details. + * + */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#ifdef HAVE_DIRENT_H +#include +#endif +#include +#include +#include +#include +#include +#ifdef HAVE_UNISTD_H +#include +#endif +#include "misc/misc.h" +#include "misc/itypes.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ucon64_misc.h" +#include "psxpblib.h" +#include "misc/parallel.h" + + +#ifdef USE_PARALLEL + +static unsigned char psx_parallel_out_0 = 0xff; +static unsigned char psx_parallel_out_2 = 0x00; + + +/* + * + * sets clock for conport connected to parallel port base + * + */ +void +psx_clk (int base, int conport, int on) +{ + if (conport == 8) + { + if (on) + { + /* set controller clock high */ + psx_parallel_out_2 |= LPT_STR; + } + else + { + /* set controller clock low */ + psx_parallel_out_2 &= ~LPT_STR; + } + + psx_outportb (base + 2, psx_parallel_out_2); + } + else + { + if (on) + { + /* set controller clock high */ + psx_parallel_out_0 |= LPT_D2; + } + else + { + /* set controller clock low */ + psx_parallel_out_0 &= ~LPT_D2; + } + + psx_outportb (base + 0, psx_parallel_out_0); + } +} + + +/* + * + * sets att for conport connected to parallel port base + * + */ +void +psx_att (int base, int conport, int on) +{ + /* bits 3-7 base + 0 (pins 5 to 9 parallel port) */ + const int power = LPT_D3 | LPT_D4 | LPT_D5 | LPT_D6 | LPT_D7; + /* bits 1-6 base + 0 (pins 3, 5, 6, 7 and 8 parallel port) */ + unsigned char att_array[] = + { LPT_D1, LPT_D1, LPT_D3, LPT_D4, LPT_D5, LPT_D6, LPT_D7 }; + unsigned char att; + + if (conport == 8) + { + if (on) + { + /* set controller att high */ + psx_parallel_out_2 |= LPT_INI; + } + else + { + /* set controller att low */ + psx_parallel_out_2 &= ~LPT_INI; + } + + psx_outportb (base + 2, psx_parallel_out_2); + } + else + { + /* powers up all parallel port driven conports */ + psx_parallel_out_0 |= power; + + att = att_array[conport - 1]; + + if (on) + { + /* set controller att high */ + psx_parallel_out_0 |= att; + } + else + { + /* set controller att low */ + psx_parallel_out_0 &= ~att; + } + + psx_outportb (base + 0, psx_parallel_out_0); + } +} + + +/* + * + * sets command for conport connected to parallel port base + * + */ +void +psx_cmd (int base, int conport, int on) +{ + if (conport == 8) + { + if (on) + { + /* set controller cmd high */ + psx_parallel_out_2 |= LPT_AUT; + } + else + { + /* set controller cmd low */ + psx_parallel_out_2 &= ~LPT_AUT; + } + + psx_outportb (base + 2, psx_parallel_out_2); + } + else + { + if (on) + { + /* set controller cmd high */ + psx_parallel_out_0 |= LPT_D0; + } + else + { + /* set controller cmd low */ + psx_parallel_out_0 &= ~LPT_D0; + } + + psx_outportb (base + 0, psx_parallel_out_0); + } +} + + +/* + * + * tests data for conport connected to parallel port base, returns 1 if high + * + */ +int +psx_dat (int base, int conport) +{ + if (conport == 2) + { + if (psx_inportb (base + 1) & LPT_SEL) + { + return 1; + } + else + { + return 0; + } + } + else + { + if (psx_inportb (base + 1) & LPT_ACK) + { + return 1; + } + else + { + return 0; + } + } +} + + +/* + * + * tests ack for conport connected to parallel port base, returns 1 if high + * + */ +int +psx_ack (int base, int conport) +{ + if (conport == 2) + { + if (psx_inportb (base + 2) & LPT_ERR) + { + return 1; + } + else + { + return 0; + } + } + else if (conport == 8) + { + if (psx_inportb (base + 1) & LPT_SEL) + { + return 1; + } + else + { + return 0; + } + } + else + { + if (psx_inportb (base + 1) & LPT_PAP) + { + return 1; + } + else + { + return 0; + } + } +} + + +/* + * + * wait for delay * (psx_outportb() execution time) + * + */ +void +psx_delay (int base, int delay) +{ + int i; + + for (i = 0; i < delay; i++) + { + psx_outportb (base + 0, psx_parallel_out_0); + } +} + + +/* + * + * send byte as a command to conport connected to parallel port base + * assumes clock high and the attention for conport + * + */ +unsigned char +psx_sendbyte (int base, int conport, int delay, unsigned char byte, int wait) +{ + int i; + unsigned char data; + + data = 0; + + /* for each bit in byte */ + for (i = 0; i < 8; i++) + { + psx_delay (base, delay); + psx_cmd (base, conport, byte & (1 << i)); /* send the (i+1)th bit of byte to any listening controller */ + psx_clk (base, conport, 0); /* clock low */ + psx_delay (base, delay); + data |= (psx_dat (base, conport) ? (1 << i) : 0); /* read the (i+1)th bit of data from conport */ + psx_clk (base, conport, 1); /* clock high */ + } + + /* wait for controller ack */ + for (i = 0; wait && i < 10240 && psx_ack (base, conport); i++) + ; + + return data; +} + + +/* + * + * sets clock high and gets the attention of conport, use before psx_sendbyte() + * + */ +void +psx_sendinit (int base, int conport, int delay) +{ +// psx_obtain_io_permission (base);// uCON64 already enabled access to I/O ports + psx_att (base, conport, 1); /* set att on for conport */ + psx_clk (base, conport, 1); /* clock high */ + psx_cmd (base, conport, 1); /* set command on for conport */ + psx_delay (base, delay); + psx_delay (base, delay); + psx_delay (base, delay); + psx_delay (base, delay); + psx_delay (base, delay); + psx_att (base, conport, 0); /* set att off for conport */ + psx_delay (base, delay); + psx_delay (base, delay); + psx_delay (base, delay); + psx_delay (base, delay); +} + + +/* + * + * use after psx_sendbyte() + * + */ +void +psx_sendclose (int base, int conport, int delay) +{ + psx_delay (base, delay); + psx_delay (base, delay); + psx_att (base, conport, 1); /* set att on for conport */ + psx_cmd (base, conport, 1); /* set command on for conport */ + psx_clk (base, conport, 1); /* clock high */ + psx_delay (base, delay); +} + + +/* + * + * send string as a series of commands to conport connected to parallel port base + * + */ +void +psx_sendstring (int base, int conport, int delay, int string[]) +{ + int i; + + psx_sendinit (base, conport, delay); + + /* for each byte in string */ + for (i = 0; string[i + 1] != -1; i++) + { + /* send byte i and wait for conport ack */ + psx_sendbyte (base, conport, delay, (unsigned char) string[i], 0); + psx_delay (base, delay); + } + + /* send the last byte in string and don't wait for ack */ + psx_sendbyte (base, conport, delay, (unsigned char) string[i], 0); + + psx_sendclose (base, conport, delay); +} + + +/* + * + * tests for the presence of a controller on conport:tap connected to base + * returns the type if present, otherwise -1 + * + */ +int +psx_controller_detect (int base, int conport, int tap, int delay) +{ + unsigned char ack; + int type, length; + + psx_sendinit (base, conport, delay); + + psx_sendbyte (base, conport, delay, (unsigned char) tap, 0); + psx_delay (base, delay); + psx_delay (base, delay); + psx_delay (base, delay); + psx_delay (base, delay); + ack = psx_sendbyte (base, conport, delay, 0x42, 0); + psx_delay (base, delay); + + psx_sendclose (base, conport, delay); + + type = (ack & 0xf0) >> 4; + length = 2 * (ack & 0x0f); + + /* check the controller has a legal packet length */ + if (!((length > 0) && (length < PSX_MAX_DATA))) + return -1; + + /* check the controller has a legal id */ + if (!((type > 0) && (type < 0x0f) && (type != 0x08))) + return -1; + + return type; +} + + +/* + * + * reads a controller on conport:tap connected to base returns the data + * if present, otherwise -1 + * + */ +PSX_CON_BUF * +psx_controller_read (int base, int conport, int tap, int delay) +{ + unsigned char ack; + int i; + static PSX_CON_BUF psx_con_buf; + + psx_sendinit (base, conport, delay); + + psx_sendbyte (base, conport, delay, (unsigned char) tap, 0); + psx_delay (base, delay); + psx_delay (base, delay); + psx_delay (base, delay); + psx_delay (base, delay); + ack = psx_sendbyte (base, conport, delay, 0x42, 0); + psx_delay (base, delay); + + psx_con_buf.type = (ack & 0xf0) >> 4; + psx_con_buf.length = 2 * (ack & 0x0f); + + /* check the controller has a legal packet length */ + if (!((psx_con_buf.length > 0) && (psx_con_buf.length < PSX_MAX_DATA))) + { + psx_sendclose (base, conport, delay); + return NULL; + } + + /* check the controller has a legal id */ + if (! + ((psx_con_buf.type > 0) && (psx_con_buf.type < 0x0f) + && (psx_con_buf.type != 0x08))) + { + psx_sendclose (base, conport, delay); + return NULL; + } + + psx_sendbyte (base, conport, delay, 0x00, 0); + psx_delay (base, delay); + for (i = 0; i < psx_con_buf.length; i++) + { + psx_con_buf.data[i] = psx_sendbyte (base, conport, delay, 0x00, 0); + psx_delay (base, delay); + } + psx_sendclose (base, conport, delay); + + return &psx_con_buf; +} + + +/* + * + * sends force feedback/shock init command sequence to conport:tap on port base + * (also initialises crash protection for some controllers) + * + */ +void +psx_controller_vinit (int base, int conport, int tap, int delay) +{ + int i, vibrate_init_string[3][11] = + { + {tap, 0x43, 0x00, 0x01, 0x00, 0x01, -1}, + {tap, 0x4d, 0x00, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0x01, -1}, + {tap, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, -1}, + }; + + for (i = 0; i < 3; i++) + { + psx_delay (base, delay); + psx_delay (base, delay); + psx_delay (base, delay); + psx_sendstring (base, conport, delay, vibrate_init_string[i]); + } +} + + +/* + * + * sends the dual shock command sequence to conport:tap on port base + * + */ +void +psx_controller_vshock (int base, int conport, int tap, int delay, int shock, + int rumble) +{ + int dualshock_string[7] = { tap, 0x42, 0x00, shock, rumble, 0x01, -1 }; + + psx_controller_vinit (base, conport, tap, delay); + + psx_delay (base, delay); + psx_delay (base, delay); + psx_delay (base, delay); + psx_sendstring (base, conport, delay, dualshock_string); +} + + +/* + * + * Reads a single frame (128 bytes) from Memory Card on conport base:tap + * + */ +unsigned char * +psx_memcard_read_frame (int base, int conport, int tap, int delay, int frame) +{ + int i, xor_val; + static unsigned char data[128], c_data; + unsigned char cmd_rstring_hdr[4] = { (0x80 + (unsigned char) tap), 0x52, 0x00, 0x00 }, + chk_rstring_hdr[2] = { 0x5a, 0x5d }, + cmd_rstring_adr[2] = { (frame >> 8) & 0xff, frame & 0xff }, + chk_rstring_ack[1] = { 0x5c }, + chk_rstring_sfl[1] = { 0x5d }, + chk_rstring_efl[1] = { 0x47 }; + + psx_sendinit (base, conport, delay); + + /* send header */ + for (i = 0; i < 2; i++) + { + psx_sendbyte (base, conport, delay, cmd_rstring_hdr[i], 0); + psx_delay (base, delay); + psx_delay (base, delay); + } + + for (; i < 4; i++) + { + c_data = psx_sendbyte (base, conport, delay, cmd_rstring_hdr[i], 0); + psx_delay (base, delay); + psx_delay (base, delay); + + if (c_data != chk_rstring_hdr[i - 2]) + { + psx_sendclose (base, conport, delay); + return NULL; + } + } + + /* send read address */ + for (i = 0; i < 2; i++) + { + psx_sendbyte (base, conport, delay, cmd_rstring_adr[i], 0); + psx_delay (base, delay); + } + + /* receive command ack (have to wait for this) */ + c_data = psx_sendbyte (base, conport, delay, 0x00, 1); + + if (c_data != chk_rstring_ack[0]) + { + psx_sendclose (base, conport, delay); + return NULL; + } + + /* receive start of data flag */ + i = 0; + + while (c_data != chk_rstring_sfl[0]) + { + c_data = psx_sendbyte (base, conport, delay, 0x00, 0); + psx_delay (base, delay); + + i++; + + if (i > 255) + { + psx_sendclose (base, conport, delay); + return NULL; + } + } + + /* receive read address */ + for (i = 0; i < 2; i++) + { + c_data = psx_sendbyte (base, conport, delay, 0x00, 0); + psx_delay (base, delay); + + if (c_data != cmd_rstring_adr[i]) + { + psx_sendclose (base, conport, delay); + return NULL; + } + } + + /* receive data */ + for (i = 0; i < 128; i++) + { + data[i] = psx_sendbyte (base, conport, delay, 0x00, 0); + psx_delay (base, delay); + } + + /* receive xor */ + c_data = psx_sendbyte (base, conport, delay, 0x00, 0); + psx_delay (base, delay); + + /* test xor */ + xor_val = 0; + + xor_val ^= cmd_rstring_adr[0]; + xor_val ^= cmd_rstring_adr[1]; + + for (i = 0; i < 128; i++) + xor_val ^= data[i]; + + if (xor_val != c_data) + { + psx_sendclose (base, conport, delay); + return NULL; + } + + /* receive end of data flag */ + c_data = psx_sendbyte (base, conport, delay, 0x00, 0); + psx_delay (base, delay); + + if (c_data != chk_rstring_efl[0]) + { + psx_sendclose (base, conport, delay); + return NULL; + } + + psx_sendclose (base, conport, delay); + + return data; +} + + +/* + * + * Writes a single frame (128 bytes) to Memory Card on conport base:tap + * + */ +int +psx_memcard_write_frame (int base, int conport, int tap, int delay, int frame, + unsigned char *data_f) +{ + int i, xor_val; + unsigned char c_data, + cmd_wstring_hdr[4] = { (0x80 + (unsigned char) tap), 0x57, 0x00, 0x00 }, + chk_wstring_hdr[2] = { 0x5a, 0x5d }, + cmd_wstring_adr[2] = { (frame >> 8) & 0xff, frame & 0xff }, + chk_wstring_emk[2] = { 0x5c, 0x5d }, + chk_wstring_efl[1] = { 0x47 }; + + psx_sendinit (base, conport, delay); + + /* send header (have to wait for this) */ + for (i = 0; i < 2; i++) + { + psx_sendbyte (base, conport, delay, cmd_wstring_hdr[i], 1); + } + + for (; i < 4; i++) + { + c_data = psx_sendbyte (base, conport, delay, cmd_wstring_hdr[i], 1); + + if (c_data != chk_wstring_hdr[i - 2]) + { + psx_sendclose (base, conport, delay); + return -1; + } + } + + /* send write address */ + for (i = 0; i < 2; i++) + { + psx_sendbyte (base, conport, delay, cmd_wstring_adr[i], 0); + psx_delay (base, delay); + } + /* send data */ + for (i = 0; i < 128; i++) + { + psx_sendbyte (base, conport, delay, data_f[i], 0); + psx_delay (base, delay); + } + + /* calculate xor */ + xor_val = 0; + + xor_val ^= cmd_wstring_adr[0]; + xor_val ^= cmd_wstring_adr[1]; + + for (i = 0; i < 128; i++) + xor_val ^= data_f[i]; + + /* send xor */ + psx_sendbyte (base, conport, delay, (unsigned char) xor_val, 0); + psx_delay (base, delay); + + /* receive end mark */ + for (i = 0; i < 2; i++) + { + c_data = psx_sendbyte (base, conport, delay, 0x00, 1); + + if (c_data != chk_wstring_emk[i]) + { + psx_sendclose (base, conport, delay); + return -1; + } + } + + /* receive end of data flag */ + c_data = psx_sendbyte (base, conport, delay, 0x00, 1); + + if (c_data != chk_wstring_efl[0]) + { + psx_sendclose (base, conport, delay); + return -1; + } + + psx_sendclose (base, conport, delay); + + return (int) ((unsigned char) xor_val); +} + + +/* + * + * Reads a single block (64 frames) from Memory Card on conport base:tap + * + */ +unsigned char * +psx_memcard_read_block (int base, int conport, int tap, int delay, int block) +{ + int i, j; + static unsigned char data_b[8192], *data_f; + + for (i = 0; i < 64; i++) + { + data_f = + psx_memcard_read_frame (base, conport, tap, delay, (block * 64) + i); + + if (data_f != NULL) + { + for (j = 0; j < 128; j++) + data_b[(i * 128) + j] = data_f[j]; + } + else + { + return NULL; + } + } + + return data_b; +} + + +/* + * + * Writes a single block (64 frames) to Memory Card on conport base:tap + * + */ +int +psx_memcard_write_block (int base, int conport, int tap, int delay, int block, + unsigned char *data_b) +{ + int i, xor_val; + + for (i = 0; i < 64; i++) + { + xor_val = + psx_memcard_write_frame (base, conport, tap, delay, (block * 64) + i, + &(data_b[128 * i])); + + if (xor_val == -1) + { + return -1; + } + } + + return 1; +} + + +/* + * + * Reads the info associated with block from the directory + * + */ +PSX_MCB_INFO_DIR * +psx_mcb_read_dir (int base, int conport, int tap, int delay, int block) +{ + int i, xor_val; + unsigned char *data_f; + static PSX_MCB_INFO_DIR mcb_info_dir; + + mcb_info_dir.read = 1; + + /* check memory card state */ + data_f = psx_memcard_read_frame (base, conport, tap, delay, 0); + + if (data_f == NULL) + { + mcb_info_dir.read = 0; + return &mcb_info_dir; + } + + if ((data_f[0] != 'M') && (data_f[1] != 'C')) + { + mcb_info_dir.read = 0; + return &mcb_info_dir; + } + + for (i = 2; i < 127; i++) + { + if (data_f[i] != 0x00) + { + mcb_info_dir.read = 0; + return &mcb_info_dir; + } + } + + if (data_f[127] != 0x0e) + { + mcb_info_dir.read = 0; + return &mcb_info_dir; + } + + /* read block's directory */ + data_f = psx_memcard_read_frame (base, conport, tap, delay, block); + + if (data_f == NULL) + { + mcb_info_dir.read = 0; + return &mcb_info_dir; + } + + xor_val = 0; + + for (i = 0; i < 127; i++) + xor_val ^= data_f[i]; + + if (xor_val != data_f[127]) + { + mcb_info_dir.read = 0; + return &mcb_info_dir; + } + + mcb_info_dir.linktype = data_f[0] & 0x0f; + + /* Only test if first link */ + if (mcb_info_dir.linktype == PSX_MCB_LTYPE_FIRST) + { + if (data_f[10] != 'B') + { + mcb_info_dir.read = 0; + return &mcb_info_dir; + } + } + + mcb_info_dir.state = (data_f[0] >> 4) & 0x0f; + + mcb_info_dir.bytes = (data_f[4] << 16) + (data_f[5] << 8) + data_f[6]; + + mcb_info_dir.next = data_f[8]; /* 0 to 14 */ + + mcb_info_dir.territory = data_f[11]; /* E, A or I */ + + for (i = 0; i < 10; i++) + mcb_info_dir.code[i] = (char) data_f[12 + i]; + + mcb_info_dir.code[i] = '\0'; + + for (i = 0; i < 8; i++) + mcb_info_dir.filename[i] = data_f[22 + i]; + + mcb_info_dir.filename[i] = '\0'; + + return &mcb_info_dir; +} + + +/* + * + * Reads the info associated with block from it's data + * + */ +PSX_MCB_INFO_DAT * +psx_mcb_read_dat (int base, int conport, int tap, int delay, int block) +{ + int i, j; + unsigned char *data_f; + static PSX_MCB_INFO_DAT mcb_info_dat; + + mcb_info_dat.read = 1; + + if ((block < 1) || (block > 15)) + { + mcb_info_dat.read = 0; + return &mcb_info_dat; + } + + data_f = + psx_memcard_read_frame (base, conport, tap, delay, (block * 64) + 0); + + if (!data_f) + { + mcb_info_dat.read = 0; + return &mcb_info_dat; + } + + if ((data_f[0] != 'S') || (data_f[1] != 'C')) + { + mcb_info_dat.read = 0; + return &mcb_info_dat; + } + + mcb_info_dat.icon_valid = (data_f[2] >> 4) & 0x0f; + mcb_info_dat.icon_frames = data_f[2] & 0x0f; + mcb_info_dat.blocks = data_f[3]; + + /* bodged character set conversion */ + j = 0; + for (i = 0; i < 91; i += 2) + { + if (data_f[4 + i] != 0x00) + { + if (data_f[4 + i] == 0x81) + { + if (data_f[5 + i] == 0x7c) + mcb_info_dat.name[j] = '-'; + else if (data_f[5 + i] == 0x40) + mcb_info_dat.name[j] = ' '; + else if (data_f[5 + i] == 0x46) + mcb_info_dat.name[j] = ':'; + else if (data_f[5 + i] == 0x5e) + mcb_info_dat.name[j] = '/'; + else if (data_f[5 + i] == 0x49) + mcb_info_dat.name[j] = '!'; + else if (data_f[5 + i] == 0x93) + mcb_info_dat.name[j] = '%'; + else if (data_f[5 + i] == 0x68) + mcb_info_dat.name[j] = '\"'; + else if (data_f[5 + i] == 0x44) + mcb_info_dat.name[j] = '.'; + else if (data_f[5 + i] == 0x6d) + mcb_info_dat.name[j] = '['; + else if (data_f[5 + i] == 0x6e) + mcb_info_dat.name[j] = ']'; + else if (data_f[5 + i] == 0x69) + mcb_info_dat.name[j] = '('; + else if (data_f[5 + i] == 0x6a) + mcb_info_dat.name[j] = ')'; + else + mcb_info_dat.name[j] = '?'; + } + else if (data_f[4 + i] == 0x82) + { + if ((data_f[5 + i] > 0x4e) && (data_f[5 + i] < 0x80)) + mcb_info_dat.name[j] = data_f[5 + i] - 0x1f; + else if ((data_f[4 + i] > 0x80) && (data_f[5 + i] < 0x9a)) + mcb_info_dat.name[j] = data_f[5 + i] - 0x20; + else + mcb_info_dat.name[j] = '?'; + } + else + { + mcb_info_dat.name[j] = data_f[4 + i]; + + j++; + if (data_f[5 + i] != 0x00) + mcb_info_dat.name[j] = data_f[5 + i]; + else + { + mcb_info_dat.name[j] = '\0'; + i = 91; + } + } + } + else + { + mcb_info_dat.name[j] = '\0'; + i = 91; + } + j++; + } + + return &mcb_info_dat; +} + + +/* + * + * Merges the info associated with block from the directory and it's data + * + */ +PSX_MCB_INFO * +psx_mcb_info_merge (PSX_MCB_INFO_DIR mcb_info_dir, + PSX_MCB_INFO_DAT mcb_info_dat, PSX_MCB_INFO * mcb_info) +{ + mcb_info->read = 1; + + if (!mcb_info_dir.read) + { + mcb_info->read = 0; + return mcb_info; + } + + if ((mcb_info_dir.linktype == PSX_MCB_LTYPE_FIRST) && (!mcb_info_dat.read)) + { + mcb_info->read = 0; + return mcb_info; + } + + strcpy (mcb_info->filename, mcb_info_dir.filename); + strcpy (mcb_info->code, mcb_info_dir.code); + mcb_info->territory = mcb_info_dir.territory; + mcb_info->bytes = mcb_info_dir.bytes; + mcb_info->state = mcb_info_dir.state; + mcb_info->linktype = mcb_info_dir.linktype; + mcb_info->next = mcb_info_dir.next; + if (mcb_info_dir.linktype == PSX_MCB_LTYPE_FIRST) + { + strcpy (mcb_info->name, mcb_info_dat.name); + mcb_info->blocks = mcb_info_dat.blocks; + mcb_info->icon_valid = mcb_info_dat.icon_valid; + mcb_info->icon_frames = mcb_info_dat.icon_frames; + } + else + { + mcb_info->name[0] = '\0'; + mcb_info->blocks = 0; + mcb_info->icon_valid = 0; + mcb_info->icon_frames = 0; + } + + return mcb_info; +} + + +/* + * + * Reads the info associated with block from the directory and it's data + * + */ +PSX_MCB_INFO * +psx_mcb_read_info (int base, int conport, int tap, int delay, int block) +{ + PSX_MCB_INFO_DIR *mcb_info_dir; + PSX_MCB_INFO_DAT *mcb_info_dat; + static PSX_MCB_INFO mcb_info; + + mcb_info_dir = psx_mcb_read_dir (base, conport, tap, delay, block); + mcb_info_dat = psx_mcb_read_dat (base, conport, tap, delay, block); + return psx_mcb_info_merge (*mcb_info_dir, *mcb_info_dat, &mcb_info); +} + +#endif // USE_PARALLEL diff --git a/tools/ucon64-2.0.0-src/src/backup/psxpblib.h b/tools/ucon64-2.0.0-src/src/backup/psxpblib.h new file mode 100644 index 0000000..d87f967 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/psxpblib.h @@ -0,0 +1,208 @@ +/* + * + * PSX Peripheral Bus Library v1.4 17/01/00 Richard Davies + * + * + * + * Revision History: + * v1.4 - 17/01/00 Win32 / Win32 DLL support and bug fixes + * v1.3 - 21/12/99 Linux support and bug fixes + * v1.1 - 26/09/99 Minor Controller detection improvements. + * v1.0 - 17/07/99 Initial release (based on PSXTest v1.1 by me). + * + * see psxpblib.txt for details. + * + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#ifdef USE_PARALLEL + +// outportb() and inportb() are only present in uCON64 if USE_PARALLEL is defined +#define psx_outportb(P, B) outportb((unsigned short) (P), (unsigned char) (B)) +#define psx_inportb(P) inportb((unsigned short) (P)) + +#ifdef __MSDOS__ +#include +#include +#endif + +#define LPT1_BASE 0x378 +#define LPT2_BASE 0x278 +#define LPT3_BASE 0x3bc + +#define LPT_D0 0x01 /* pin 2 */ +#define LPT_D1 0x02 /* pin 3 */ +#define LPT_D2 0x04 /* pin 4 */ +#define LPT_D3 0x08 /* pin 5 */ +#define LPT_D4 0x10 /* pin 6 */ +#define LPT_D5 0x20 /* pin 7 */ +#define LPT_D6 0x40 /* pin 8 */ +#define LPT_D7 0x80 /* pin 9 */ +#define LPT_AUT 0x08 /* pin 14 */ +#define LPT_SEL 0x10 /* pin 13 */ +#define LPT_PAP 0x20 /* pin 12 */ +#define LPT_ACK 0x40 /* pin 10 */ +#define LPT_ERR 0x02 /* pin 15 */ +#define LPT_INI 0x04 /* pin 16 */ +#define LPT_STR 0x08 /* pin 1 */ + +#define PSX_MAX_CONPORTS 8 +#define PSX_MAX_TAPS 4 +#define PSX_MAX_DELAY 10 + +#define PSX_MAX_DATA 30 /* maximum possible length of controller packet in bytes */ + + /* JAP code EUR code Name */ + +#define PSX_MOUSE 1 /* SCPH-1030 SCPH-???? Mouse */ +#define PSX_NEGCON 2 /* SLPH-0001 SLEH-0003 Namco neGcon + SLPH-0007 Nasca Pachinco Handle (untested); Twist = Twist, TW = B + SLPH-0015 ? Volume Controller (untested); Rotation = Twist, A = Start, B = A + Puchi Carat paddle controller (not working!); Rotation = Twist, A = Start, B = A + SLPH-???? SLEH-0005 MadKatz Steering Wheel (twitchy) */ +#define PSX_KONAMIGUN 3 /* SLPH-???? SLPH-???? Konami Lightgun (untested) */ +#define PSX_DIGITAL 4 /* SCPH-1010 SCPH 1080 E Controller + SCPH-1110 SCPH-???? Analog Joystick - Digital Mode + SCPH-???? SCPH-1180 E Analog Controller - Digital Mode + SCPH-1150 SCPH-1200 E Dual Shock Analog Controller - Digital Mode + SLPH-???? SLEH-0011 Ascii Resident Evil Pad + SLPH-???? SLEH-0004 Namco Arcade Stick (untested) + Twin Stick + Blaze Pro-Shock Arcade Stick */ +#define PSX_ANALOG_GREEN 5 /* SCPH-1110 SCPH-???? Analog Joystick - Analog Mode (untested) + SCPH-???? SCPH-1180 E Analog Controller - Analog Green Mode */ +#define PSX_GUNCON 6 /* SLPH-???? SLEH-0007 Namco G-con45 */ +#define PSX_ANALOG_RED 7 /* SCPH-1150 SCPH-1200 E Dual Shock Analog Controller - Analog Red Mode */ + /* SCPH-???? SCPH-1180 E Analog Controller - Analog Red Mode */ +#define PSX_JOGCON 14 /* SLPH-???? SLEH-0020 Namco Jogcon */ +/*#define PSX_MULTITAP 17 SCPH-1070 SCPH-1070 E Multi tap */ + +#define PSX_MCB_STATE_OK 0x05 +#define PSX_MCB_STATE_DELETED 0x0a +#define PSX_MCB_STATE_RESERVED 0x0f + +#define PSX_MCB_LTYPE_NONE 0x00 +#define PSX_MCB_LTYPE_FIRST 0x01 +#define PSX_MCB_LTYPE_MIDDLE 0x02 +#define PSX_MCB_LTYPE_LAST 0x03 +#define PSX_MCB_LTYPE_RESERVED 0x0f + +#define PSX_MCB_ICON_VALID 0x01 + + + +typedef struct +{ + unsigned char type; + unsigned char length; + unsigned char data[PSX_MAX_DATA]; +} PSX_CON_BUF; + +typedef struct +{ + unsigned char read; + char filename[9]; + char code[11]; + char territory; /* E, A or I */ + int bytes; + unsigned char state; /* PSX_MCB_STAT_* or unknown */ + unsigned char linktype; /* PSX_MCB_LTYPE_* or unknowm */ + unsigned char next; /* 0 to 14 */ +} PSX_MCB_INFO_DIR; + +typedef struct +{ + unsigned char read; + char name[92]; + unsigned char blocks; + unsigned char icon_valid; + unsigned char icon_frames; +} PSX_MCB_INFO_DAT; + +typedef struct +{ + unsigned char scanned; + unsigned char read; + char name[92]; + char filename[9]; + char code[11]; + char territory; + unsigned char state; + unsigned char blocks; + int bytes; + unsigned char linktype; + unsigned char next; + unsigned char icon_valid; + unsigned char icon_frames; +} PSX_MCB_INFO; + + +/* sets clock for conport connected to parallel port base */ +void psx_clk (int base, int conport, int on); +/* sets att for conport connected to parallel port base */ +void psx_att (int base, int conport, int on); +/* sets command for conport connected to parallel port base */ +void psx_cmd (int base, int conport, int on); +/* tests data for conport connected to parallel port base, returns 1 if high */ +int psx_dat (int base, int conport); +/* tests ack for conport connected to parallel port base, returns 1 if high */ +int psx_ack (int base, int conport); +/* wait for delay * (outportb() execution time) */ +void psx_delay (int base, int delay); + +/* send byte as a command to conport connected to parallel port base + * assumes clock high and the attention of conport */ +unsigned char psx_sendbyte (int base, int conport, int delay, + unsigned char byte, int wait); +/* get io permissions under linux*/ +int psx_obtain_io_permission (int base); +/* sets clock high and gets the attention of conport, use before psx_sendbyte() */ +void psx_sendinit (int base, int conport, int delay); +/* use after psx_sendbyte() */ +void psx_sendclose (int base, int conport, int delay); +/* send string as a series of commands to conport connected to parallel port base */ +void psx_sendstring (int base, int conport, int delay, int string[]); + +/* tests for the presence of a controller on conport:tap connected to base + * returns the type if present, otherwise -1 */ +int psx_controller_detect (int base, int conport, int tap, int delay); +/* reads a controller on conport:tap connected to base returns the data + * if present, otherwise -1 */ +PSX_CON_BUF *psx_controller_read (int base, int conport, int tap, int delay); +/* sends force feedback/shock init command sequence to conport:tap on port base + * (also initialises crash protection for some controllers) */ +void psx_controller_vinit (int base, int conport, int tap, int delay); +/* sends the dual shock command sequence to conport:tap on port base */ +void psx_controller_vshock (int base, int conport, int tap, int delay, + int shock, int rumble); + +/* Reads a single frame (128 bytes) from Memory Card on conport base:tap */ +unsigned char *psx_memcard_read_frame (int base, int conport, int tap, int delay, + int frame); +/* Writes a single frame (128 bytes) to Memory Card on conport base:tap */ +int psx_memcard_write_frame (int base, int conport, int tap, int delay, + int frame, unsigned char *data_f); +/* Reads a single block (64 frames) from Memory Card on conport base:tap */ +unsigned char *psx_memcard_read_block (int base, int conport, int tap, int delay, + int block); +/* Writes a single block (64 frames) to Memory Card on conport base:tap */ +int psx_memcard_write_block (int base, int conport, int tap, int delay, + int block, unsigned char *data_b); + +/* Reads the info associated with block from the directory */ +PSX_MCB_INFO_DIR *psx_mcb_read_dir (int base, int conport, int tap, int delay, + int block); +/* Prints the info associated with block from it's data */ +PSX_MCB_INFO_DAT *psx_mcb_read_dat (int base, int conport, int tap, int delay, + int block); +/* Merges the info associated with block from the directory and it's data */ +PSX_MCB_INFO *psx_mcb_info_merge (PSX_MCB_INFO_DIR mcb_info_dir, + PSX_MCB_INFO_DAT mcb_info_dat, + PSX_MCB_INFO * mcb_info); +/* Reads the info associated with block from the directory and it's data */ +PSX_MCB_INFO *psx_mcb_read_info (int base, int conport, int tap, int delay, + int block); + +#endif // USE_PARALLEL diff --git a/tools/ucon64-2.0.0-src/src/backup/sflash.c b/tools/ucon64-2.0.0-src/src/backup/sflash.c new file mode 100644 index 0000000..b92c069 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/sflash.c @@ -0,0 +1,371 @@ +/* +sflash.h - Super Flash flash card programmer support for uCON64 + +Copyright (c) 2004 JohnDie + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include "misc/parallel.h" +#include "misc/itypes.h" +#include "misc/misc.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "misc/file.h" +#include "ucon64.h" +#include "ucon64_misc.h" +#include "tototek.h" +#include "sflash.h" + + +const st_getopt2_t sflash_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Super Flash flash card programmer"/*"2004 ToToTEK Multi Media http://www.tototek.com"*/, + NULL + }, +#ifdef USE_PARALLEL + { + "xsf", 0, 0, UCON64_XSF, + NULL, "send/receive ROM to/from Super Flash flash card programmer\n" OPTION_LONG_S "port=PORT\n" + "receives automatically (64 Mbits) when ROM does not exist", + &ucon64_wf[WF_OBJ_SNES_DEFAULT_STOP_NO_SPLIT_NO_ROM] + }, + { + "xsfs", 0, 0, UCON64_XSFS, + NULL, "send/receive SRAM to/from Super Flash flash card programmer\n" OPTION_LONG_S "port=PORT\n" + "receives automatically when SRAM does not exist", + &ucon64_wf[WF_OBJ_SNES_STOP_NO_ROM] + }, +#endif + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + + +#ifdef USE_PARALLEL + +static void eep_reset (void); +static void write_rom_by_byte (int *addr, unsigned char *buf); +static void write_rom_by_page (int *addr, unsigned char *buf); +static void write_ram_by_byte (int *addr, unsigned char *buf); +static void write_ram_by_page (int *addr, unsigned char *buf); + + +void +eep_reset (void) +{ + ttt_rom_enable (); + ttt_write_mem (0x400000, 0xff); // reset EEP chip 2 + ttt_write_mem (0, 0xff); // reset EEP chip 1 + ttt_write_mem (0x600000, 0xff); // reset EEP chip 2 + ttt_write_mem (0x200000, 0xff); // reset EEP chip 1 + ttt_rom_disable (); +} + + +void +write_rom_by_byte (int *addr, unsigned char *buf) +{ + int x; + + for (x = 0; x < 0x4000; x++) + { + ttt_write_byte_intel (*addr, buf[*addr & 0x3fff]); + (*addr)++; + } +} + + +void +write_rom_by_page (int *addr, unsigned char *buf) +{ + int x; + + for (x = 0; x < 0x200; x++) + { + ttt_write_page_rom (*addr, buf); + (*addr) += 0x20; + } +} + + +void +write_ram_by_byte (int *addr, unsigned char *buf) +{ + int x, i = *addr & 0x3fff; + + for (x = 0; x < 0x4000; x++, i = (i + 1) & 0x3fff) + { + ttt_write_byte_ram (*addr, buf[i]); + (*addr)++; + } +} + + +void +write_ram_by_page (int *addr, unsigned char *buf) +{ + int x; + + for (x = 0; x < 0x40; x++) + { + ttt_write_page_ram (*addr, buf); + (*addr) += 0x100; + } +} + + +int +sf_read_rom (const char *filename, unsigned int parport, int size) +{ + FILE *file; + unsigned char buffer[0x100]; + int blocksleft, address = 0; + time_t starttime; + void (*read_block) (int, unsigned char *) = ttt_read_rom_w; // ttt_read_rom_b + + if ((file = fopen (filename, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + exit (1); + } + ttt_init_io (parport); + + printf ("Receive: %d Bytes (%.4f Mb)\n\n", size, (float) size / MBIT); + + blocksleft = size >> 8; + eep_reset (); + ttt_rom_enable (); + if (read_block == ttt_read_rom_w) + ttt_set_ai_data (6, 0x94); // rst=1, wei=0(dis.), rdi=0(dis.), inc mode, rom_CS + starttime = time (NULL); + while (blocksleft-- > 0) + { + read_block (address, buffer); // 0x100 bytes read + if (read_block == ttt_read_rom_b) + ucon64_bswap16_n (buffer, 0x100); + fwrite (buffer, 1, 0x100, file); + address += 0x100; + if ((address & 0x3fff) == 0) + ucon64_gauge (starttime, address, size); + } + // ttt_read_rom_b() calls ttt_rom_disable() + if (read_block == ttt_read_rom_w) + ttt_rom_disable (); + + fclose (file); + ttt_deinit_io (); + + return 0; +} + + +int +sf_write_rom (const char *filename, unsigned int parport) +{ + FILE *file; + unsigned char buffer[0x4000], game_table[0x80]; + int game_no, romsize, size, address = 0, bytesread, bytessend = 0; + time_t starttime; + void (*write_block) (int *, unsigned char *) = write_rom_by_page; // write_rom_by_byte + (void) write_rom_by_byte; + + if ((file = fopen (filename, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + exit (1); + } + ttt_init_io (parport); + + size = fsizeof (filename); + printf ("Send: %d Bytes (%.4f Mb)\n\n", size, (float) size / MBIT); + + eep_reset (); + if (ttt_get_id () != 0x8917) // Intel 64J3 + { + fputs ("ERROR: Super Flash flash card (programmer) not detected\n", stderr); + fclose (file); + ttt_deinit_io (); + exit (1); + } + + starttime = time (NULL); + + // Erase last block now, because we have to write to it anyway later. Erasing + // it later could erase part of a game. + ttt_erase_block (0x7e0000); + + fseek (file, 0x4000, SEEK_SET); + bytesread = fread (game_table, 1, 0x80, file); + if (bytesread != 0x80) + { + fputs ("ERROR: Could not read game table from file\n", stderr); + fclose (file); + ttt_deinit_io (); + return 0; + } + + fseek (file, 0x8000, SEEK_SET); + + for (game_no = 0; game_no < 4; game_no++) + { + if (game_table[game_no * 0x20] == 0) + continue; + + romsize = game_table[game_no * 0x20 + 0x1f] * 0x8000; + + switch (game_table[game_no * 0x20 + 0x1d] & 0x60) + { + case 0x00: + address = 0x000000; + break; + case 0x40: + address = 0x200000; + break; + case 0x20: + address = 0x400000; + break; + case 0x60: + address = 0x600000; + break; + // no default case because we handled all possible cases + } + + eep_reset (); + + while (romsize && (bytesread = fread (buffer, 1, 0x4000, file))) + { + if ((address & 0x1ffff) == 0) + ttt_erase_block (address); + if (address < 0x7f8000) // We mustn't write to the loader space + write_block (&address, buffer); + bytessend += bytesread; + ucon64_gauge (starttime, bytessend, size); + romsize -= 0x4000; + } + } + + fseek (file, 0, SEEK_SET); + romsize = 0x8000; + address = 0x7f8000; + while (romsize && (bytesread = fread (buffer, 1, 0x4000, file))) + { + write_block (&address, buffer); + bytessend += bytesread; + ucon64_gauge (starttime, bytessend, size); + romsize -= 0x4000; + } + + fclose (file); + ttt_deinit_io (); + + return 0; +} + + +int +sf_read_sram (const char *filename, unsigned int parport) +{ + FILE *file; + unsigned char buffer[0x100]; + int blocksleft, address, bytesreceived = 0, size; + time_t starttime; + void (*read_block) (int, unsigned char *) = ttt_read_ram_w; // ttt_read_ram_w + + address = 0xfe0000; // SRAM is stored at 0xfe0000 + size = 0x020000; // SRAM size is 1024 kbit + + if ((file = fopen (filename, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + exit (1); + } + + ttt_init_io (parport); + printf ("Receive: %d Bytes (%.4f Mb)\n\n", size, (float) size / MBIT); + +// ttt_ram_enable (); // The next ttt_set_ai_data also enables ram access + ttt_set_ai_data (6, 0x98); // Enable cartridge access, auto address increment + + blocksleft = size >> 8; + starttime = time (NULL); + while (blocksleft-- > 0) + { + read_block (address, buffer); // 0x100 bytes read + fwrite (buffer, 1, 0x100, file); + address += 0x100; + bytesreceived += 0x100; + if ((address & 0x3fff) == 0) + ucon64_gauge (starttime, bytesreceived, size); + } + + ttt_ram_disable (); + + fclose (file); + ttt_deinit_io (); + + return 0; +} + + +int +sf_write_sram (const char *filename, unsigned int parport) +{ + FILE *file; + unsigned char buffer[0x4000]; + int size, bytesread, bytessend = 0, address; + time_t starttime; + void (*write_block) (int *, unsigned char *) = write_ram_by_byte; // write_ram_by_page + (void) write_ram_by_page; + + size = fsizeof (filename); + address = 0xfe0000; + + if ((file = fopen (filename, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + exit (1); + } + + ttt_init_io (parport); + printf ("Send: %d Bytes (%.4f Mb)\n\n", size, (float) size / MBIT); + + ttt_ram_enable (); + + starttime = time (NULL); + while ((bytesread = fread (buffer, 1, 0x4000, file))) + { + write_block (&address, buffer); // 0x4000 bytes write + bytessend += bytesread; + if ((address & 0x3fff) == 0) + ucon64_gauge (starttime, bytessend, size); + } + + fclose (file); + ttt_deinit_io (); + + return 0; +} + +#endif // USE_PARALLEL diff --git a/tools/ucon64-2.0.0-src/src/backup/sflash.h b/tools/ucon64-2.0.0-src/src/backup/sflash.h new file mode 100644 index 0000000..b8787ad --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/sflash.h @@ -0,0 +1,33 @@ +/* +sflash.h - Super Flash flash card programmer support for uCON64 + +Copyright (c) 2004 JohnDie + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef SFLASH_H +#define SFLASH_H + +extern const st_getopt2_t sflash_usage[]; + +#ifdef USE_PARALLEL +extern int sf_read_rom (const char *filename, unsigned int parport, int size); +extern int sf_write_rom (const char *filename, unsigned int parport); +extern int sf_read_sram (const char *filename, unsigned int parport); +extern int sf_write_sram (const char *filename, unsigned int parport); +#endif + +#endif diff --git a/tools/ucon64-2.0.0-src/src/backup/smc.c b/tools/ucon64-2.0.0-src/src/backup/smc.c new file mode 100644 index 0000000..6b38f39 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/smc.c @@ -0,0 +1,407 @@ +/* +smc.c - Super Magic Card support for uCON64 + +Copyright (c) 2003 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#include "misc/misc.h" +#include "misc/itypes.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "misc/file.h" +#include "ucon64.h" +#include "ucon64_misc.h" +#include "ffe.h" +#include "smc.h" + + +const st_getopt2_t smc_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Super Magic Card"/*"1993/1994/1995/19XX Front Far East/FFE http://www.front.com.tw"*/, + NULL + }, +#ifdef USE_PARALLEL + { + "xsmc", 0, 0, UCON64_XSMC, // send only + NULL, "send ROM (in FFE format) to Super Magic Card; " OPTION_LONG_S "port=PORT", + &ucon64_wf[WF_OBJ_NES_DEFAULT_STOP_NO_SPLIT] + }, + { + "xsmcr", 0, 0, UCON64_XSMCR, + NULL, "send/receive RTS data to/from Super Magic Card; " OPTION_LONG_S "port=PORT\n" + "receives automatically when RTS file does not exist", + &ucon64_wf[WF_OBJ_NES_STOP_NO_ROM] + }, +#endif + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + + +#ifdef USE_PARALLEL + +#define BUFFERSIZE 8192 + + +static int get_blocks1 (unsigned char *header); +static int get_blocks2 (unsigned char *header); +static int get_blocks3 (unsigned char *header); + + +int +get_blocks1 (unsigned char *header) +{ + if (header[7] == 0xaa) + return header[3]; + if (header[0] & 0x30) + return header[0] & 0x20 ? 32 : 16; // 0x10 => 16; 0x20/0x30 => 32 + else + switch (header[1] >> 5) + { + case 0: + case 4: + return 16; + case 1: + case 2: + case 3: + return 32; + default: // 5/6/7 + return 4; + } +} + + +int +get_blocks2 (unsigned char *header) +{ + if (header[0] & 0x30) + return header[0] & 0x10 ? 32 : 16; // 0x10/0x30 => 32; 0x20 => 16 + else + return 0; +} + + +int +get_blocks3 (unsigned char *header) +{ + if (header[7] == 0xaa) + return header[4]; + if (header[0] & 0x30) + return 0; + else + switch (header[1] >> 5) + { + default: // 0/1/2/3 + return 0; + case 4: + case 5: + return 4; + case 6: + return 2; + case 7: + return 1; + } +} + + +int +smc_write_rom (const char *filename, unsigned int parport) +{ + FILE *file; + unsigned char *buffer; + int bytesread, bytessend, size, offset, n_blocks1, n_blocks2, n_blocks3, n; + time_t starttime; + + ffe_init_io (parport); + + if ((file = fopen (filename, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + exit (1); + } + if ((buffer = (unsigned char *) malloc (BUFFERSIZE)) == NULL) + { + fprintf (stderr, ucon64_msg[FILE_BUFFER_ERROR], BUFFERSIZE); + exit (1); + } + + ffe_send_command0 (0x4500, 2); + ffe_send_command0 (0x42fd, 0x20); + ffe_send_command0 (0x43fc, 0); + + fread (buffer, 1, SMC_HEADER_LEN, file); + + n_blocks1 = get_blocks1 (buffer); + n_blocks2 = get_blocks2 (buffer); + n_blocks3 = get_blocks3 (buffer); + + size = (n_blocks1 + n_blocks2 + n_blocks3) * 8 * 1024 + 8 + + (buffer[0] & SMC_TRAINER ? 512 : 0); + printf ("Send: %d Bytes (%.4f Mb)\n", size, (float) size / MBIT); + + ffe_send_block (0x5020, buffer, 8); // send "file control block" + bytessend = 8; + + if (buffer[1] >> 5 > 4) + offset = 12; + else + offset = 0; + + if (buffer[0] & SMC_TRAINER) // send trainer if present + { + fread (buffer, 1, 512, file); + ffe_send_block (0x600, buffer, 512); + bytessend += 512; + } + + printf ("Press q to abort\n\n"); + starttime = time (NULL); + + for (n = 0; n < n_blocks1; n++) + { + ffe_send_command0 (0x4507, (unsigned char) (n + offset)); + if ((bytesread = fread (buffer, 1, BUFFERSIZE, file)) == 0) + break; + ffe_send_block (0x6000, buffer, bytesread); + + bytessend += bytesread; + ucon64_gauge (starttime, bytessend, size); + ffe_checkabort (2); + } + + for (n = 0; n < n_blocks2; n++) + { + ffe_send_command0 (0x4507, (unsigned char) (n + 32)); + if ((bytesread = fread (buffer, 1, BUFFERSIZE, file)) == 0) + break; + ffe_send_block (0x6000, buffer, bytesread); + + bytessend += bytesread; + ucon64_gauge (starttime, bytessend, size); + ffe_checkabort (2); + } + + ffe_send_command0 (0x2001, 0); + + for (n = 0; n < n_blocks3; n++) + { + if (n == 0) + { + ffe_send_command0 (0x4500, 0x22); + ffe_send_command0 (0x42ff, 0x30); + if ((bytesread = fread (buffer, 1, BUFFERSIZE, file)) == 0) + break; + ffe_send_block (0x6000, buffer, bytesread); + } + else + { + int m; + + ffe_send_command0 (0x4500, 7); + for (m = 0; m < 8; m++) + ffe_send_command0 ((unsigned short) (0x4510 + m), (unsigned char) (n * 8 + m)); + if ((bytesread = fread (buffer, 1, BUFFERSIZE, file)) == 0) + break; + ffe_send_block2 (0, buffer, bytesread); + } + + bytessend += bytesread; + ucon64_gauge (starttime, bytessend, size); + ffe_checkabort (2); + } + + for (n = 0x4504; n < 0x4508; n++) + ffe_send_command0 ((unsigned short) n, 0); + for (n = 0x4510; n < 0x451c; n++) + ffe_send_command0 ((unsigned short) n, 0); + + ffe_send_command (5, 1, 0); + + free (buffer); + fclose (file); + ffe_deinit_io (); + + return 0; +} + + +int +smc_read_rts (const char *filename, unsigned int parport) +{ + FILE *file; + unsigned char *buffer; + int bytesreceived = 0, size, n; + time_t starttime; + + ffe_init_io (parport); + + if ((file = fopen (filename, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + exit (1); + } + if ((buffer = (unsigned char *) malloc (BUFFERSIZE)) == NULL) + { + fprintf (stderr, ucon64_msg[FILE_BUFFER_ERROR], BUFFERSIZE); + exit (1); + } + + size = 0x68 + 4 * 1024 + 5 * 8 * 1024; + printf ("Receive: %d Bytes\n", size); + memset (buffer, 0, SMC_HEADER_LEN); + buffer[8] = 0xaa; + buffer[9] = 0xbb; + buffer[10] = 1; + + printf ("Press q to abort\n\n"); + starttime = time (NULL); + + ffe_send_command (5, 3, 0); + ffe_receive_block (0x5840, buffer + 0x100, 0x68); + fwrite (buffer, 1, SMC_HEADER_LEN, file); + bytesreceived += 0x68; + + ffe_send_command0 (0x4500, 0x32); + ffe_send_command0 (0x42ff, 0x30); + ffe_receive_block (0x6000, buffer, BUFFERSIZE / 2); // 0x1000 + fwrite (buffer, 1, BUFFERSIZE / 2, file); + + bytesreceived += BUFFERSIZE / 2; + ucon64_gauge (starttime, bytesreceived, size); + ffe_checkabort (2); + + for (n = 2; n <= 0x22; n += 0x20) + { + ffe_send_command0 (0x4500, (unsigned char) n); + ffe_receive_block (0x6000, buffer, BUFFERSIZE); // 0x2000 + fwrite (buffer, 1, BUFFERSIZE, file); + + bytesreceived += BUFFERSIZE; + ucon64_gauge (starttime, bytesreceived, size); + ffe_checkabort (2); + } + + for (n = 1; n <= 3; n++) + { + ffe_send_command0 (0x43fc, (unsigned char) n); + if (n == 1) + ffe_send_command0 (0x2001, 0); + ffe_receive_block2 (0, buffer, BUFFERSIZE); // 0x2000 + fwrite (buffer, 1, BUFFERSIZE, file); + + bytesreceived += BUFFERSIZE; + ucon64_gauge (starttime, bytesreceived, size); + ffe_checkabort (2); + } + + ffe_send_command0 (0x43fc, 0); + ffe_send_command0 (0x2001, 0x6b); + + free (buffer); + fclose (file); + ffe_deinit_io (); + + return 0; +} + + +int +smc_write_rts (const char *filename, unsigned int parport) +{ + FILE *file; + unsigned char *buffer; + int bytessend = 0, size, n; + time_t starttime; + + ffe_init_io (parport); + + if ((file = fopen (filename, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + exit (1); + } + if ((buffer = (unsigned char *) malloc (BUFFERSIZE)) == NULL) + { + fprintf (stderr, ucon64_msg[FILE_BUFFER_ERROR], BUFFERSIZE); + exit (1); + } + + size = 0x68 + 4 * 1024 + 5 * 8 * 1024; + printf ("Send: %d Bytes\n", size); + fread (buffer, 1, SMC_HEADER_LEN, file); + + printf ("Press q to abort\n\n"); + starttime = time (NULL); + + ffe_send_command (5, 3, 0); + ffe_send_block (0x5840, buffer + 0x100, 0x68); + bytessend += 0x68; + + ffe_send_command0 (0x4500, 0x32); + ffe_send_command0 (0x42ff, 0x30); + fread (buffer, 1, BUFFERSIZE / 2, file); + ffe_send_block (0x6000, buffer, BUFFERSIZE / 2); // 0x1000 + + bytessend += BUFFERSIZE / 2; + ucon64_gauge (starttime, bytessend, size); + ffe_checkabort (2); + + for (n = 2; n <= 0x22; n += 0x20) + { + ffe_send_command0 (0x4500, (unsigned char) n); + fread (buffer, 1, BUFFERSIZE, file); + ffe_send_block (0x6000, buffer, BUFFERSIZE); // 0x2000 + + bytessend += BUFFERSIZE; + ucon64_gauge (starttime, bytessend, size); + ffe_checkabort (2); + } + + for (n = 1; n <= 3; n++) + { + ffe_send_command0 (0x43fc, (unsigned char) n); + if (n == 1) + ffe_send_command0 (0x2001, 0); + fread (buffer, 1, BUFFERSIZE, file); + ffe_send_block2 (0, buffer, BUFFERSIZE); // 0x2000 + + bytessend += BUFFERSIZE; + ucon64_gauge (starttime, bytessend, size); + ffe_checkabort (2); + } + + ffe_send_command0 (0x43fc, 0); + ffe_send_command0 (0x2001, 0x6b); + + free (buffer); + fclose (file); + ffe_deinit_io (); + + return 0; +} + +#endif // USE_PARALLEL diff --git a/tools/ucon64-2.0.0-src/src/backup/smc.h b/tools/ucon64-2.0.0-src/src/backup/smc.h new file mode 100644 index 0000000..e412410 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/smc.h @@ -0,0 +1,47 @@ +/* +smc.h - Super Magic Card support for uCON64 + +Copyright (c) 2003 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef SMC_H +#define SMC_H + +extern const st_getopt2_t smc_usage[]; + +typedef struct st_smc_header +{ + unsigned char emulation1; + unsigned char emulation2; + unsigned char pad[6]; + unsigned char id1; + unsigned char id2; + unsigned char type; + unsigned char pad2[501]; +} st_smc_header_t; + +#define SMC_HEADER_START 0 +#define SMC_HEADER_LEN (sizeof (st_smc_header_t)) +#define SMC_TRAINER 0x40 + +#ifdef USE_PARALLEL +extern int smc_write_rom (const char *filename, unsigned int parport); +extern int smc_read_rts (const char *filename, unsigned int parport); +extern int smc_write_rts (const char *filename, unsigned int parport); +#endif + +#endif // SMC_H diff --git a/tools/ucon64-2.0.0-src/src/backup/smd.c b/tools/ucon64-2.0.0-src/src/backup/smd.c new file mode 100644 index 0000000..8c84c79 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/smd.c @@ -0,0 +1,343 @@ +/* +smd.c - Super Magic Drive support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB +Copyright (c) 2001 - 2003 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#include "misc/misc.h" +#include "misc/itypes.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "misc/file.h" +#include "ucon64.h" +#include "ucon64_misc.h" +#include "ffe.h" +#include "smd.h" + + +const st_getopt2_t smd_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Super Com Pro/Super Magic Drive/SMD"/*"19XX Front Far East/FFE http://www.front.com.tw"*/, + NULL + }, +#ifdef USE_PARALLEL + { + "xsmd", 0, 0, UCON64_XSMD, + NULL, "send/receive ROM to/from Super Magic Drive/SMD; " OPTION_LONG_S "port=PORT\n" + "receives automatically when ROM does not exist", + &ucon64_wf[WF_OBJ_GEN_DEFAULT_STOP_NO_SPLIT_NO_ROM] + }, + { + "xsmds", 0, 0, UCON64_XSMDS, + NULL, "send/receive SRAM to/from Super Magic Drive/SMD; " OPTION_LONG_S "port=PORT\n" + "receives automatically when SRAM does not exist", + &ucon64_wf[WF_OBJ_GEN_STOP_NO_ROM] + }, +#endif // USE_PARALLEL + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + + +// the following two functions are used by non-transfer code in genesis.c and sms.c +void +smd_interleave (unsigned char *buffer, int size) +// Convert binary data to the SMD interleaved format +{ + int count, offset; + unsigned char block[16384]; + + for (count = 0; count < size / 16384; count++) + { + memcpy (block, &buffer[count * 16384], 16384); + for (offset = 0; offset < 8192; offset++) + { + buffer[(count * 16384) + 8192 + offset] = block[offset << 1]; + buffer[(count * 16384) + offset] = block[(offset << 1) + 1]; + } + } +} + + +void +smd_deinterleave (unsigned char *buffer, int size) +{ + int count, offset; + unsigned char block[16384]; + + for (count = 0; count < size / 16384; count++) + { + memcpy (block, &buffer[count * 16384], 16384); + for (offset = 0; offset < 8192; offset++) + { + buffer[(count * 16384) + (offset << 1)] = block[offset + 8192]; + buffer[(count * 16384) + (offset << 1) + 1] = block[offset]; + } + } +} + + +#ifdef USE_PARALLEL + +#define BUFFERSIZE 16384 + + +int +smd_read_rom (const char *filename, unsigned int parport) +{ + FILE *file; + unsigned char *buffer, byte; + int size, blocksdone = 0, blocksleft, bytesreceived = 0; + time_t starttime; + + ffe_init_io (parport); + + if ((file = fopen (filename, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + exit (1); + } + if ((buffer = (unsigned char *) malloc (BUFFERSIZE)) == NULL) + { + fprintf (stderr, ucon64_msg[FILE_BUFFER_ERROR], BUFFERSIZE); + exit (1); + } + + ffe_send_command (1, 0xdff1, 1); + byte = ffe_receiveb (); + if ((0x81 ^ byte) != ffe_receiveb ()) + printf ("received data is corrupt\n"); + + blocksleft = 8 * byte; + if (blocksleft == 0) + { + fprintf (stderr, "ERROR: There is no cartridge present in the Super Magic Drive\n"); + fclose (file); + remove (filename); + exit (1); + } + + memset (buffer, 0, SMD_HEADER_LEN); + buffer[0] = blocksleft; + buffer[1] = 3; + buffer[8] = 0xaa; + buffer[9] = 0xbb; + buffer[10] = 6; + fwrite (buffer, 1, SMD_HEADER_LEN, file); // write header + + size = blocksleft * 16384; // size in bytes for ucon64_gauge() below + printf ("Receive: %d Bytes (%.4f Mb)\n", size, (float) size / MBIT); + + wait2 (32); + ffe_send_command0 (0x2001, 0); + + printf ("Press q to abort\n\n"); + + starttime = time (NULL); + while (blocksleft > 0) + { + ffe_send_command (5, (unsigned short) blocksdone, 0); + ffe_receive_block (0x4000, buffer, BUFFERSIZE); + blocksdone++; + blocksleft--; + fwrite (buffer, 1, BUFFERSIZE, file); + + bytesreceived += BUFFERSIZE; + ucon64_gauge (starttime, bytesreceived, size); + ffe_checkabort (2); + } + + free (buffer); + fclose (file); + ffe_deinit_io (); + + return 0; +} + + +int +smd_write_rom (const char *filename, unsigned int parport) +{ + FILE *file; + unsigned char *buffer; + int bytesread, bytessend, blocksdone = 0, fsize; + time_t starttime; + + ffe_init_io (parport); + + if ((file = fopen (filename, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + exit (1); + } + if ((buffer = (unsigned char *) malloc (BUFFERSIZE)) == NULL) + { + fprintf (stderr, ucon64_msg[FILE_BUFFER_ERROR], BUFFERSIZE); + exit (1); + } + + fsize = fsizeof (filename); + printf ("Send: %d Bytes (%.4f Mb)\n", fsize, (float) fsize / MBIT); + + fread (buffer, 1, SMD_HEADER_LEN, file); + ffe_send_block (0xdc00, buffer, SMD_HEADER_LEN); // send header + bytessend = SMD_HEADER_LEN; + + ffe_send_command0 (0x2001, 0); + + printf ("Press q to abort\n\n"); + + starttime = time (NULL); + while ((bytesread = fread (buffer, 1, BUFFERSIZE, file))) + { + ffe_send_command (5, (unsigned short) blocksdone, 0); + ffe_send_block (0x8000, buffer, bytesread); + blocksdone++; + + bytessend += bytesread; + ucon64_gauge (starttime, bytessend, fsize); + ffe_checkabort (2); + } + + // ROM dump > 128 16 KB blocks? (=16 Mb (=2 MB)) + ffe_send_command0 (0x2001, (unsigned char) (blocksdone > 0x80 ? 7 : 3)); + + free (buffer); + fclose (file); + ffe_deinit_io (); + + return 0; +} + + +int +smd_read_sram (const char *filename, unsigned int parport) +{ + FILE *file; + unsigned char *buffer; + int blocksleft, bytesreceived = 0; + unsigned short address; + time_t starttime; + + ffe_init_io (parport); + + if ((file = fopen (filename, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + exit (1); + } + if ((buffer = (unsigned char *) malloc (BUFFERSIZE)) == NULL) + { + fprintf (stderr, ucon64_msg[FILE_BUFFER_ERROR], BUFFERSIZE); + exit (1); + } + + printf ("Receive: %d Bytes\n", 32 * 1024); + memset (buffer, 0, SMD_HEADER_LEN); + buffer[8] = 0xaa; + buffer[9] = 0xbb; + buffer[10] = 7; + fwrite (buffer, 1, SMD_HEADER_LEN, file); + + ffe_send_command0 (0x2001, 4); + + printf ("Press q to abort\n\n"); + + blocksleft = 2; // SRAM is 2*16 KB + address = 0x4000; + starttime = time (NULL); + while (blocksleft > 0) + { + ffe_receive_block (address, buffer, BUFFERSIZE); + blocksleft--; + address += 0x4000; + fwrite (buffer, 1, BUFFERSIZE, file); + + bytesreceived += BUFFERSIZE; + ucon64_gauge (starttime, bytesreceived, 32 * 1024); + ffe_checkabort (2); + } + + free (buffer); + fclose (file); + ffe_deinit_io (); + + return 0; +} + + +int +smd_write_sram (const char *filename, unsigned int parport) +{ + FILE *file; + unsigned char *buffer; + int bytesread, bytessend = 0, size; + unsigned short address; + time_t starttime; + + ffe_init_io (parport); + + if ((file = fopen (filename, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + exit (1); + } + if ((buffer = (unsigned char *) malloc (BUFFERSIZE)) == NULL) + { + fprintf (stderr, ucon64_msg[FILE_BUFFER_ERROR], BUFFERSIZE); + exit (1); + } + + size = fsizeof (filename) - SMD_HEADER_LEN; + printf ("Send: %d Bytes\n", size); + fseek (file, SMD_HEADER_LEN, SEEK_SET); // skip the header + + ffe_send_command0 (0x2001, 4); + + printf ("Press q to abort\n\n"); + + address = 0x4000; + starttime = time (NULL); + while ((bytesread = fread (buffer, 1, BUFFERSIZE, file))) + { + ffe_send_block (address, buffer, bytesread); + address += 0x4000; + + bytessend += bytesread; + ucon64_gauge (starttime, bytessend, size); + ffe_checkabort (2); + } + + free (buffer); + fclose (file); + ffe_deinit_io (); + + return 0; +} + +#endif // USE_PARALLEL diff --git a/tools/ucon64-2.0.0-src/src/backup/smd.h b/tools/ucon64-2.0.0-src/src/backup/smd.h new file mode 100644 index 0000000..5be3db5 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/smd.h @@ -0,0 +1,53 @@ +/* +smd.h - Super Magic Drive support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB +Copyright (c) 2002 - 2003 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef SMD_H +#define SMD_H + +extern const st_getopt2_t smd_usage[]; + +// For the header format, see ffe.h +typedef struct st_smd_header +{ + unsigned char size; + unsigned char id0; + unsigned char split; + char pad[5]; + unsigned char id1; + unsigned char id2; + unsigned char type; + char pad2[501]; +} st_smd_header_t; + + +#ifdef USE_PARALLEL +extern int smd_read_rom (const char *filename, unsigned int parport); +extern int smd_write_rom (const char *filename, unsigned int parport); +extern int smd_read_sram (const char *filename, unsigned int parport); +extern int smd_write_sram (const char *filename, unsigned int parport); +#endif +// the following two functions are used by non-transfer code in genesis.c and sms.c +extern void smd_interleave (unsigned char *buffer, int size); +extern void smd_deinterleave (unsigned char *buffer, int size); + +#define SMD_HEADER_LEN (sizeof (st_smd_header_t)) + +#endif // SMD_H diff --git a/tools/ucon64-2.0.0-src/src/backup/smsgg-pro.c b/tools/ucon64-2.0.0-src/src/backup/smsgg-pro.c new file mode 100644 index 0000000..d0b6fdc --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/smsgg-pro.c @@ -0,0 +1,348 @@ +/* +smsgg-pro.c - SMS-PRO/GG-PRO flash card programmer support for uCON64 + +Copyright (c) 2004 dbjh + +Based on Delphi source code by ToToTEK Multi Media. Information in that source +code has been used with permission. However, ToToTEK Multi Media explicitly +stated that the information in that source code may be freely distributed. + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include "misc/parallel.h" +#include "misc/itypes.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "misc/file.h" +#include "misc/misc.h" +#include "ucon64.h" +#include "ucon64_misc.h" +#include "tototek.h" +#include "smsgg-pro.h" + + +const st_getopt2_t smsggpro_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "SMS-PRO/GG-PRO flash card programmer"/*"2004 ToToTEK Multi Media http://www.tototek.com"*/, + NULL + }, +#ifdef USE_PARALLEL + { + "xgg", 0, 0, UCON64_XGG, + NULL, "send/receive ROM to/from SMS-PRO/GG-PRO flash card programmer\n" OPTION_LONG_S "port=PORT\n" + "receives automatically (32 Mbits) when ROM does not exist", + &ucon64_wf[WF_OBJ_SMS_DEFAULT_STOP_NO_SPLIT_NO_ROM] + }, + { + "xggs", 0, 0, UCON64_XGGS, + NULL, "send/receive SRAM to/from SMS-PRO/GG-PRO flash card programmer\n" OPTION_LONG_S "port=PORT\n" + "receives automatically when SRAM does not exist", + &ucon64_wf[WF_OBJ_SMS_STOP_NO_ROM] + }, + { + "xggb", 1, 0, UCON64_XGGB, + "BANK", "send/receive SRAM to/from SMS-PRO/GG-PRO BANK\n" + "BANK can be a number from 1 to 4; " OPTION_LONG_S "port=PORT\n" + "receives automatically when SRAM does not exist", + &ucon64_wf[WF_OBJ_SMS_STOP_NO_ROM] + }, +#endif // USE_PARALLEL + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + + +#ifdef USE_PARALLEL + +static void eep_reset (void); +static void write_rom_by_byte (int *addr, unsigned char *buf); +static void write_rom_by_page (int *addr, unsigned char *buf); +static void write_ram_by_byte (int *addr, unsigned char *buf); +static void write_ram_by_page (int *addr, unsigned char *buf); + + +void +eep_reset (void) +{ + ttt_rom_enable (); + ttt_write_mem (0x000000, 0xff); // reset EEP + ttt_write_mem (0x200000, 0xff); // reset EEP + ttt_rom_disable (); +} + + +void +write_rom_by_byte (int *addr, unsigned char *buf) +{ + int x; + + for (x = 0; x < 0x4000; x++) + { + ttt_write_byte_sharp (*addr, buf[*addr & 0x3fff]); + (*addr)++; + } +} + + +void +write_rom_by_page (int *addr, unsigned char *buf) +{ + int x; + + for (x = 0; x < 0x200; x++) + { + ttt_write_page_rom (*addr, buf); + (*addr) += 0x20; + } +} + + +void +write_ram_by_byte (int *addr, unsigned char *buf) +{ + int x; + + for (x = 0; x < 0x4000; x++) + { + ttt_write_byte_ram (*addr, buf[*addr & 0x3fff]); + (*addr)++; + } +} + + +void +write_ram_by_page (int *addr, unsigned char *buf) +{ + int x; + + for (x = 0; x < 0x40; x++) + { + ttt_write_page_ram (*addr, buf); + (*addr) += 0x100; + } +} + + +int +smsgg_read_rom (const char *filename, unsigned int parport, int size) +{ + FILE *file; + unsigned char buffer[0x100]; + int blocksleft, address = 0; + time_t starttime; + void (*read_block) (int, unsigned char *) = ttt_read_rom_w; // ttt_read_rom_b + + if ((file = fopen (filename, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + exit (1); + } + ttt_init_io (parport); + + printf ("Receive: %d Bytes (%.4f Mb)\n\n", size, (float) size / MBIT); + + blocksleft = size >> 8; + eep_reset (); + ttt_rom_enable (); + if (read_block == ttt_read_rom_w) + ttt_set_ai_data (6, 0x94); // rst=1, wei=0(dis.), rdi=0(dis.), inc mode, rom_CS + starttime = time (NULL); + while (blocksleft-- > 0) + { + read_block (address, buffer); // 0x100 bytes read + fwrite (buffer, 1, 0x100, file); + address += 0x100; + if ((address & 0x3fff) == 0) + ucon64_gauge (starttime, address, size); + } + // original code doesn't call ttt_rom_disable() when byte-size function is + // used (ttt_read_rom_b() calls it) + if (read_block == ttt_read_rom_w) + ttt_rom_disable (); + + fclose (file); + ttt_deinit_io (); + + return 0; +} + + +int +smsgg_write_rom (const char *filename, unsigned int parport) +{ + FILE *file; + unsigned char buffer[0x4000]; + int size, address = 0, bytesread, bytessend = 0; + time_t starttime; + void (*write_block) (int *, unsigned char *) = write_rom_by_page; // write_rom_by_byte + (void) write_rom_by_byte; + + if ((file = fopen (filename, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + exit (1); + } + ttt_init_io (parport); + + size = fsizeof (filename); + printf ("Send: %d Bytes (%.4f Mb)\n\n", size, (float) size / MBIT); + + eep_reset (); + if (ttt_get_id () != 0xb0d0) + { + fputs ("ERROR: SMS-PRO/GG-PRO flash card (programmer) not detected\n", stderr); + fclose (file); + ttt_deinit_io (); + exit (1); + } + + starttime = time (NULL); + eep_reset (); + while ((bytesread = fread (buffer, 1, 0x4000, file))) + { + if ((address & 0xffff) == 0) + ttt_erase_block (address); + write_block (&address, buffer); + bytessend += bytesread; + ucon64_gauge (starttime, bytessend, size); + } + + fclose (file); + ttt_deinit_io (); + + return 0; +} + + +int +smsgg_read_sram (const char *filename, unsigned int parport, int start_bank) +{ + FILE *file; + unsigned char buffer[0x100]; + int blocksleft, address, size, bytesreceived = 0; + time_t starttime; + void (*read_block) (int, unsigned char *) = ttt_read_ram_b; // ttt_read_ram_w + + if (start_bank == -1) + { + address = 0; + size = 128 * 1024; + } + else + { + if (start_bank < 1 || start_bank > 4) + { + fputs ("ERROR: Bank must be a value 1 - 4\n", stderr); + exit (1); + } + address = (start_bank - 1) * 32 * 1024; + size = 32 * 1024; + } + + if ((file = fopen (filename, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + exit (1); + } + + ttt_init_io (parport); + printf ("Receive: %d Bytes (%.4f Mb)\n\n", size, (float) size / MBIT); + + if (read_block == ttt_read_ram_w) + { + ttt_ram_enable (); + ttt_set_ai_data (6, 0x98); // rst=1, wei=0(dis.), rdi=0(dis.), inc mode, rom_CS + } +// else +// ttt_set_ai_data (6, 0x94); // rst=1, wei=0(dis.), rdi=0(dis.), inc mode, rom_CS + + blocksleft = size >> 8; + starttime = time (NULL); + while (blocksleft-- > 0) + { + read_block (address, buffer); // 0x100 bytes read + fwrite (buffer, 1, 0x100, file); + address += 0x100; + bytesreceived += 0x100; + if ((address & 0x3fff) == 0) + ucon64_gauge (starttime, bytesreceived, size); + } + if (read_block == ttt_read_ram_w) + ttt_ram_disable (); + + fclose (file); + ttt_deinit_io (); + + return 0; +} + + +int +smsgg_write_sram (const char *filename, unsigned int parport, int start_bank) +{ + FILE *file; + unsigned char buffer[0x4000]; + int size, bytesread, bytessend = 0, address; + time_t starttime; + void (*write_block) (int *, unsigned char *) = write_ram_by_byte; // write_ram_by_page + (void) write_ram_by_page; + + size = fsizeof (filename); + if (start_bank == -1) + address = 0; + else + { + if (start_bank < 1 || start_bank > 4) + { + fputs ("ERROR: Bank must be a value 1 - 4\n", stderr); + exit (1); + } + address = (start_bank - 1) * 32 * 1024; + } + + if ((file = fopen (filename, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + exit (1); + } + + ttt_init_io (parport); + printf ("Send: %d Bytes (%.4f Mb)\n\n", size, (float) size / MBIT); + + starttime = time (NULL); + while ((bytesread = fread (buffer, 1, 0x4000, file))) + { + write_block (&address, buffer); + bytessend += bytesread; + ucon64_gauge (starttime, bytessend, size); + } + + fclose (file); + ttt_deinit_io (); + + return 0; +} + +#endif // USE_PARALLEL diff --git a/tools/ucon64-2.0.0-src/src/backup/smsgg-pro.h b/tools/ucon64-2.0.0-src/src/backup/smsgg-pro.h new file mode 100644 index 0000000..0f26ce2 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/smsgg-pro.h @@ -0,0 +1,37 @@ +/* +smsgg-pro.h - SMS-PRO/GG-PRO flash card programmer support for uCON64 + +Copyright (c) 2004 dbjh + +Based on Delphi source code by ToToTEK Multi Media. Information in that source +code has been used with permission. However, ToToTEK Multi Media explicitly +stated that the information in that source code may be freely distributed. + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef SMSGG_PRO_H +#define SMSGG_PRO_H + +extern const st_getopt2_t smsggpro_usage[]; + +#ifdef USE_PARALLEL +extern int smsgg_read_rom (const char *filename, unsigned int parport, int size); +extern int smsgg_write_rom (const char *filename, unsigned int parport); +extern int smsgg_read_sram (const char *filename, unsigned int parport, int start_bank); +extern int smsgg_write_sram (const char *filename, unsigned int parport, int start_bank); +#endif + +#endif diff --git a/tools/ucon64-2.0.0-src/src/backup/ssc.c b/tools/ucon64-2.0.0-src/src/backup/ssc.c new file mode 100644 index 0000000..838259b --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/ssc.c @@ -0,0 +1,46 @@ +/* +ssc.c - support for Super Smart Card + +Copyright (c) 1999 - 2001 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#include "misc/itypes.h" +#include "misc/misc.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ssc.h" + + +const st_getopt2_t ssc_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Super Smart Card/SSC", + NULL + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; diff --git a/tools/ucon64-2.0.0-src/src/backup/ssc.h b/tools/ucon64-2.0.0-src/src/backup/ssc.h new file mode 100644 index 0000000..e0b63c3 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/ssc.h @@ -0,0 +1,34 @@ +/* +ssc.h - minimal support for Super Smart Card/SSC + +Copyright (c) 1999 - 2001 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef SCC_H +#define SCC_H + +extern const st_getopt2_t ssc_usage[]; + +typedef struct st_ssc_header +{ + char pad[512]; +} st_ssc_header_t; + + +#define SSC_HEADER_LEN (sizeof (st_ssc_header_t)) + +#endif diff --git a/tools/ucon64-2.0.0-src/src/backup/swc.c b/tools/ucon64-2.0.0-src/src/backup/swc.c new file mode 100644 index 0000000..1b6161e --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/swc.c @@ -0,0 +1,1358 @@ +/* +swc.c - Super Wild Card support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB +Copyright (c) 2001 - 2004 dbjh +Copyright (c) 2001 Caz +Copyright (c) 2003 John Weidman +Copyright (c) 2004 JohnDie + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#include "misc/misc.h" +#include "misc/itypes.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "misc/file.h" +#include "misc/parallel.h" +#include "ucon64.h" +#include "ucon64_misc.h" +#include "ffe.h" +#include "swc.h" +#include "console/snes.h" // for snes_get_file_type () + + +const st_getopt2_t swc_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Super Com Pro/Super Magicom/SMC/Super Wild Card (1.6XC/2.7CC/2.8CC/DX/DX2)/SWC" + /*"1993/1994/1995/19XX Front Far East/FFE http://www.front.com.tw"*/, + NULL + }, +#ifdef USE_PARALLEL + { + "xswc", 0, 0, UCON64_XSWC, + NULL, "send/receive ROM to/from Super Wild Card*/SWC; " OPTION_LONG_S "port=PORT\n" + "receives automatically when ROM does not exist", + &ucon64_wf[WF_OBJ_SNES_DEFAULT_STOP_NO_SPLIT_NO_ROM] + }, + { + "xswc2", 0, 0, UCON64_XSWC2, + NULL, "same as " OPTION_LONG_S "xswc, but enables Real Time Save mode (SWC only)", + &ucon64_wf[WF_OBJ_SNES_DEFAULT_STOP_NO_SPLIT_NO_ROM] + }, +#if 1 +/* + The following help text used to be hidden, because we wanted to avoid people + to "accidentally" create overdumps, bad dumps or report bugs that aren't bugs + (SA-1). However, now that ucon64.io_mode is useful for -xswcc I guess the + help should be complete. - dbjh +*/ + { + "xswc-io", 1, 0, UCON64_XSWC_IO, + "MODE", "specify SWC I/O mode; use with -xswc or -xswcc\n" + "MODE=0x001 force 32 Mbit dump\n" + "MODE=0x002 use alternative method for determining ROM size\n" + "MODE=0x004 Super FX\n" + "MODE=0x008 S-DD1\n" + "MODE=0x010 SA-1\n" + "MODE=0x020 SPC7110\n" + "MODE=0x040 DX2 trick (might work with other SWC models)\n" + "MODE=0x080 Mega Man X 2\n" + "MODE=0x100 dump BIOS\n" + "It is possible to combine flags. MODE=0x44 makes it possible\n" + "to dump for example Yoshi's Island", + &ucon64_wf[WF_OBJ_SNES_SWITCH] + }, +#endif + { + "xswcs", 0, 0, UCON64_XSWCS, + NULL, + "send/receive SRAM to/from Super Wild Card*/SWC; " OPTION_LONG_S "port=PORT\n" + "receives automatically when SRAM does not exist", + &ucon64_wf[WF_OBJ_SNES_STOP_NO_ROM] + }, + { + "xswcc", 0, 0, UCON64_XSWCC, + NULL, "send/receive SRAM to/from cartridge in Super Wild Card*/SWC;\n" + OPTION_LONG_S "port=PORT\n" "receives automatically when SRAM does not exist", + &ucon64_wf[WF_OBJ_SNES_STOP_NO_ROM] + }, + { + "xswcr", 0, 0, UCON64_XSWCR, + NULL, "send/receive RTS data to/from Super Wild Card*/SWC; " OPTION_LONG_S "port=PORT\n" + "receives automatically when RTS file does not exist", + &ucon64_wf[WF_OBJ_SNES_STOP_NO_ROM] + }, +#endif // USE_PARALLEL + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + +#ifdef USE_PARALLEL + +#define BUFFERSIZE 8192 // don't change, only 8192 works! + +/* + Some notes about dumping special chip cartridges (JohnDie): + The following defines enable code to dump cartridges containing special chips + like the SA-1, the S-DD1, the SPC7110 and the C4. However, enabling these + options is not all there is to successfully dump these cartridges. + The SPC7110 and SA-1 need several attempts to "boot up" in the copier. This + involves powering off and on until the chip comes out of reset and allows + access to the cartridge. And you need to make sure that pin 1 of the SNES + adapter of the SWC is not cut! The standard SWC DX2 adapter has this trace + cut, so you have to reconnect it somehow. + Dumping Super FX 2 cartridges is only possible when enabling the DX2 trick. + Otherwise uCON64 will not detect the cartridge. This is because of the way the + Super FX 2 cartridges have their ROM mapped into the SNES address space. +*/ +#define DUMP_MMX2 +#define DUMP_SA1 +#define DUMP_SDD1 +#define DUMP_SPC7110 + +static int receive_rom_info (unsigned char *buffer, int io_mode); +static int get_rom_size (unsigned char *info_block); +static int check1 (unsigned char *info_block, int index); +static int check2 (unsigned char *info_block, int index, unsigned char value); +static int check3 (unsigned char *info_block, int index1, int index2, int size); +static unsigned char get_emu_mode_select (unsigned char byte, int size); +static void handle_fig_header (unsigned char *header); +static void set_bank_and_page (unsigned char bank, unsigned char page); +static void read_cartridge (unsigned int address, unsigned char *buffer, + unsigned int length); +static unsigned char read_cartridge1 (unsigned int address); +static void write_cartridge (unsigned int address, unsigned char *buffer, + unsigned int length); +static void write_cartridge1 (unsigned int address, unsigned char byte); +static void dump_rom (FILE *file, int size, int numblocks, unsigned int mask1, + unsigned int mask2, unsigned int address); +static void dump_bios (FILE *file); +static int sub (void); +static int mram_helper (int x); +static int mram (void); + +static int hirom; // `hirom' was `special' +static int dx2_trick = 0; + +#ifdef DUMP_SA1 +static void set_sa1_map (unsigned short chunk); +static int snes_sa1 = 0; +#endif +#ifdef DUMP_SDD1 +static void set_sdd1_map (unsigned short chunk); +static int snes_sdd1 = 0; +#endif +#ifdef DUMP_SPC7110 +static void set_spc7110_map (unsigned short chunk); +static int snes_spc7110 = 0; +#endif + + +#if BUFFERSIZE < 512 +#error receive_rom_info() and swc_read_sram() expect BUFFERSIZE to be at least \ + 512 bytes. +#endif +int +receive_rom_info (unsigned char *buffer, int io_mode) +/* + - returns size of ROM in Mb (128 kB) units + - returns ROM header in buffer (index 2 (emulation mode select) is not yet + filled in) + - sets global `hirom' +*/ +{ + int n, size; + volatile int m; + unsigned char byte; + +#ifdef DUMP_MMX2 + if (io_mode & SWC_IO_MMX2) + { + /* + MMX2 can be dumped after writing a 0 to SNES register 0x7f52. Before we can + write to that register we have to enable cartridge page mapping. That is + done by writing to SWC register 0xe00c. When cartridge page mapping is + enabled we can access SNES registers by reading or writing to the SWC + address range 0x2000-0x3fff. Before reading or writing to an address in that + range we have to "announce" the address to the SWC (via command 5). Because + we access a SNES register we only set the page number bits (0-1). + */ + unsigned short address = 0x7f52; + ffe_send_command0 (0xe00c, 0); + + ffe_send_command (5, (unsigned short) (address / 0x2000), 0); + ffe_receive_block ((unsigned short) ((address & 0x1fff) + 0x2000), buffer, 8); + dumper (stdout, buffer, 8, address, DUMPER_HEX); + + ffe_send_command (5, (unsigned short) (address / 0x2000), 0); + ffe_send_command0 ((unsigned short) ((address & 0x1fff) + 0x2000), 0); + + ffe_send_command (5, (unsigned short) (address / 0x2000), 0); + ffe_receive_block ((unsigned short) ((address & 0x1fff) + 0x2000), buffer, 8); + dumper (stdout, buffer, 8, address, DUMPER_HEX); + } +#endif + + ffe_send_command0 (0xe00c, 0); + + if (UCON64_ISSET (ucon64.snes_hirom)) + hirom = ucon64.snes_hirom ? 1 : 0; + else + { + byte = read_cartridge1 (0x00ffd5); + hirom = ((byte & 1 && byte != 0x23) || byte == 0x3a) ? 1 : 0; // & 1 => 0x21, 0x31, 0x35 + } + + for (n = 0; n < (int) SWC_HEADER_LEN; n++) + { + for (m = 0; m < 65536; m++) // a delay is necessary here + ; + ffe_send_command (5, (unsigned short) (0x200 + n), 0); + buffer[n] = ffe_send_command1 (0xa0a0); + } + + if (io_mode & SWC_IO_FORCE_32MBIT) + { + if (!UCON64_ISSET (ucon64.snes_hirom)) + hirom = 1; // default to super HiROM dump + size = 32; // dump 32 Mbit + } + else + { + size = get_rom_size (buffer); +#ifdef DUMP_SA1 + if (!snes_sa1) +#endif + if (hirom) + size <<= 1; + } + + // Fix up ROM size for Super FX 2 cartridge, because get_rom_size() fails for + // Super FX 2 cartridges and returns 0. + if (io_mode & SWC_IO_SUPER_FX) + // 00:303b returns the GSU revision and is non-zero if there is a GSU + if (size == 0 && read_cartridge1 (0x00303b) != 0) + size = 16; + +#ifdef DUMP_SDD1 + // Adjust size to 48 Mbit for Star Ocean + if (snes_sdd1 && size == 32) + { + byte = read_cartridge1 (0x00ffd7); + if (byte == 0x0d) + size = 48; + } +#endif + +#ifdef DUMP_SA1 + // Fix up size for SA-1 chips + if (snes_sa1) + { + byte = read_cartridge1 (0x00ffd7); + switch (byte) + { + case 0x09: + size = 4; + break; + case 0x0a: + size = 8; + break; + case 0x0b: + size = 16; + break; + case 0x0c: + size = 32; + break; + default: + break; + } + } +#endif + +#ifdef DUMP_SPC7110 + // Fix up size for SPC7110 chips + if (snes_spc7110) + { + byte = read_cartridge1 (0x00ffd7); + switch (byte) + { + case 0x0c: + size = 24; + break; + case 0x0d: + size = 40; + break; + default: + break; + } + } +#endif + + memset (buffer, 0, SWC_HEADER_LEN); + buffer[0] = size << 4; // *16 for 8 kB units; low byte + buffer[1] = size >> 4; // *16 for 8 kB units /256 for high byte + buffer[8] = 0xaa; + buffer[9] = 0xbb; + buffer[10] = 4; + + return size; +} + + +int +get_rom_size (unsigned char *info_block) +// returns size of ROM in Mb units +{ + if (check1 (info_block, 0)) + return 0; + if (check2 (info_block, 0x10, 0x84)) + return 0; + if (check3 (info_block, 0, 0x20, 0x20)) + return 2; + if (check3 (info_block, 0, 0x40, 0x20)) + return 4; + if (check3 (info_block, 0x40, 0x60, 0x20)) + return 6; + if (check3 (info_block, 0, 0x80, 0x10)) + return 8; + if (check1 (info_block, 0x80)) + return 8; + if (check3 (info_block, 0x80, 0x90, 0x10)) + return 8; + if (check2 (info_block, 0x80, 0xa0)) + return 8; + if (check3 (info_block, 0x80, 0xa0, 0x20)) + return 10; + if (check1 (info_block, 0xc0)) + return 12; + if (check2 (info_block, 0xc0, 0xb0)) + return 12; + if (check3 (info_block, 0x80, 0xc0, 0x20)) + return 12; + if (check3 (info_block, 0x100, 0, 0x10)) + return 16; + if (check2 (info_block, 0x100, 0xc0)) + return 16; + if (check3 (info_block, 0x100, 0x120, 0x10)) + return 18; + if (check3 (info_block, 0x100, 0x140, 0x10)) + return 20; + if (check2 (info_block, 0x140, 0xd0)) + return 20; + if (check3 (info_block, 0x100, 0x180, 0x10)) + return 24; + if (check2 (info_block, 0x180, 0xe0)) + return 24; + if (check3 (info_block, 0x180, 0x1c0, 0x10)) + return 28; + if (check3 (info_block, 0x1f0, 0x1f0, 0x10)) + return 32; + + return 0; +} + + +int +check1 (unsigned char *info_block, int index) +{ + int n; + + for (n = 0; n < 16; n++) + if (info_block[n + index] != info_block[index]) + return 0; + + return 1; +} + + +int +check2 (unsigned char *info_block, int index, unsigned char value) +{ + int n; + + for (n = 0; n < 4; n++) + if (info_block[n + index] != value) + return 0; + + return 1; +} + + +int +check3 (unsigned char *info_block, int index1, int index2, int size) +{ + int n; + + for (n = 0; n < size; n++) + if (info_block[n + index1] != info_block[n + index2]) + return 0; + + return 1; +} + + +unsigned char +get_emu_mode_select (unsigned char byte, int size) +{ + int x; + unsigned char ems; + + if (byte == 0) + x = 0xc; + else if (byte == 1) + x = 8; + else if (byte == 3) + x = 4; + else + x = 0; + + if (hirom) + { + if (x == 0xc && size <= 0x1c) + ems = 0x1c; + else + ems = x + 0x30; + } + else + { + if (x == 0xc) + ems = 0x2c; + else + ems = x; + +// if (size <= 8) // This bit should always be 0 - JohnDie +// ems++; + } + + return ems; +} + + +void +handle_fig_header (unsigned char *header) +{ + if ((header[4] == 0x77 && header[5] == 0x83) || + (header[4] == 0xf7 && header[5] == 0x83) || + (header[4] == 0x47 && header[5] == 0x83)) + header[2] = 0x0c; // 0 kB + else if (header[4] == 0xfd && header[5] == 0x82) + header[2] = 0x08; // 2 kB + else if ((header[4] == 0xdd && header[5] == 0x82) || + (header[4] == 0x00 && header[5] == 0x80)) + /* + 8 kB *or* 2 kB (shortcoming of FIG header format). We give the emu mode + select byte a value as if the game uses 8 kB. At least this makes games + that use 8 kB work. + Users should not complain if the game doesn't work because of a SRAM + protection, because they should have converted the ROM to SWC format in + the first place. + */ + header[2] = 0x04; + else // if ((header[4] == 0xdd && header[5] == 0x02) || + // (header[4] == 0x00 && header[5] == 0x00) || + // (header[4] == 0x11 && header[5] == 0x02)) + header[2] = 0; // 32 kB + + if (header[3] & 0x80) // Pro Fighter (FIG) HiROM dump + header[2] |= 0x30; // set bit 5&4 (SRAM & DRAM mem map mode 21) +} + + +void +swc_unlock (unsigned int parport) +/* + "Unlock" the SWC. However, just starting to send, then stopping with ^C, + gives the same result. +*/ +{ + ffe_init_io (parport); + ffe_send_command (6, 0, 0); + ffe_deinit_io (); +} + + +#ifdef DUMP_SA1 +void +set_sa1_map (unsigned short chunk) +{ + volatile int m; + + // map the 8 Mbit ROM chunk specified by chunk into the F0 bank + write_cartridge1 (0x002223, (unsigned char) ((chunk & 0x07) | 0x80)); + for (m = 0; m < 65536; m++) + ; +} +#endif + + +#ifdef DUMP_SDD1 +void +set_sdd1_map (unsigned short chunk) +{ + volatile int m; + + // map the 8 Mbit ROM chunk specified by chunk into the F0 bank + write_cartridge1 (0x004807, (unsigned char) (chunk & 0x07)); + for (m = 0; m < 65536; m++) + ; +} +#endif + + +#ifdef DUMP_SPC7110 +void +set_spc7110_map (unsigned short chunk) +{ + volatile int m; + + // map the 8 Mbit ROM chunk specified by chunk into the F0 bank + write_cartridge1 (0x004834, 0xff); + write_cartridge1 (0x004833, (unsigned char) (chunk & 0x07)); + for (m = 0; m < 65536; m++) + ; +} +#endif + + +void +set_bank_and_page (unsigned char bank, unsigned char page) +{ + static unsigned char currentbank = 0, currentpage = 4; // Force update on first call + + page &= 3; + +#if 0 + // We only send a command to the SWC if the bank or page differs. + /* + In order to avoid problems with that no other code should change the bank or + page number. So, no calls to ffe_send_command(5, ...). I prefer to be able + to call ffe_send_command(5, ...) without breaking this function. Besides, + the benefit of this optimisation is rather small. - dbjh + */ + if (bank != currentbank || page != currentpage) +#endif + { + currentbank = bank; + currentpage = page; + + if (dx2_trick) + { + /* + The SWC DX2 does not allow to access banks 00-7f. But this is needed + to dump some cartridges (ToP, DKJM2 and Super FX 2). This trick + avoids using ffe_send_command(5, ...) to set the bank value and + writes the bank value directly into the SNES RAM where the DX2 BIOS + would store it. Note that this hack is specific to the SWC DX2 and + will probably not work with other copiers. - JohnDie + */ + ffe_send_command (5, currentpage, 0); + ffe_send_command0 (0x0007, currentbank); + } + else + ffe_send_command (5, (unsigned short) ((currentbank << 2) | currentpage), 0); + } +} + + +void +read_cartridge (unsigned int address, unsigned char *buffer, unsigned int length) +{ + address &= 0xffffff; + set_bank_and_page ((unsigned char) (address >> 16), + (unsigned char) ((address & 0x7fff) / 0x2000)); + + if ((address & 0x00ffff) < 0x8000) + ffe_receive_block ((unsigned short) (((address & 0x7fffff) < 0x400000 ? + 0x6000 : 0x2000) + (address & 0x001fff)), buffer, length); + else + ffe_receive_block ((unsigned short) (0xa000 + (address & 0x001fff)), + buffer, length); +} + + +unsigned char +read_cartridge1 (unsigned int address) +{ + unsigned char byte; + + read_cartridge (address, &byte, 1); + + return byte; +} + + +void +write_cartridge (unsigned int address, unsigned char *buffer, unsigned int length) +{ + address &= 0xffffff; + set_bank_and_page ((unsigned char) (address >> 16), + (unsigned char) ((address & 0x7fff) / 0x2000)); + + if ((address & 0x00ffff) < 0x8000) + ffe_send_block ((unsigned short) (((address & 0x7fffff) < 0x400000 ? + 0x6000 : 0x2000) + (address & 0x001fff)), buffer, length); + else + ffe_send_block ((unsigned short) (0xa000 + (address & 0x001fff)), + buffer, length); +} + + +void +write_cartridge1 (unsigned int address, unsigned char byte) +{ + write_cartridge (address, &byte, 1); +} + + +void +dump_rom (FILE *file, int size, int numblocks, unsigned int mask1, + unsigned int mask2, unsigned int address) +{ + int i, bytesreceived = 0; + unsigned char *buffer; + time_t starttime; +#if defined DUMP_SA1 || defined DUMP_SDD1 || defined DUMP_SPC7110 + unsigned short chunk_num = 0; // 0 = 1st 8 Mb ROM chunk, 1 = 2nd 8 Mb, ... +#endif + + if ((buffer = (unsigned char *) malloc (BUFFERSIZE)) == NULL) + { + fprintf (stderr, ucon64_msg[FILE_BUFFER_ERROR], BUFFERSIZE); + exit (1); + } + + starttime = time (NULL); + + for (i = 0; i < numblocks; i++) + { + address |= mask1; // make sure to stay in ROM areas + address &= mask2; + +#ifdef DUMP_SA1 + if (snes_sa1 && address == 0xf00000) + set_sa1_map (chunk_num++); +#endif +#ifdef DUMP_SDD1 + if (snes_sdd1 && address == 0xf00000) + set_sdd1_map (chunk_num++); +#endif +#ifdef DUMP_SPC7110 + if (snes_spc7110 && address == 0xf00000) + set_spc7110_map (chunk_num++); +#endif + + read_cartridge (address, buffer, BUFFERSIZE); + + fwrite (buffer, 1, BUFFERSIZE, file); + address += BUFFERSIZE; + + bytesreceived += BUFFERSIZE; + ucon64_gauge (starttime, bytesreceived, size); + ffe_checkabort (2); + } + + ffe_send_command (5, 0, 0); + + free (buffer); +} + + +void +dump_bios (FILE *file) +{ + unsigned short int address; + int bytesreceived = 0; + unsigned char *buffer; + time_t starttime; + + if ((buffer = (unsigned char *) malloc (BUFFERSIZE)) == NULL) + { + fprintf (stderr, ucon64_msg[FILE_BUFFER_ERROR], BUFFERSIZE); + exit (1); + } + + starttime = time (NULL); + for (address = 0; address < 0x080; address += 4) // banks 00-1f + { + ffe_send_command (5, address, 0); + ffe_receive_block (0xe000, buffer, BUFFERSIZE); + fwrite (buffer, 1, BUFFERSIZE, file); + + bytesreceived += BUFFERSIZE; + ucon64_gauge (starttime, bytesreceived, 0x20 * 0x2000); + ffe_checkabort (2); + } + + free (buffer); +} + + +int +swc_read_rom (const char *filename, unsigned int parport, int io_mode) +{ + FILE *file; + unsigned char buffer[SWC_HEADER_LEN], byte; + int size, blocksleft; + + ffe_init_io (parport); + +#ifdef DUMP_SA1 + if (io_mode & SWC_IO_SA1) + snes_sa1 = 1; +#endif +#ifdef DUMP_SDD1 + if (io_mode & SWC_IO_SDD1) + snes_sdd1 = 1; +#endif +#ifdef DUMP_SPC7110 + if (io_mode & SWC_IO_SPC7110) + snes_spc7110 = 1; +#endif + if (io_mode & SWC_IO_DX2_TRICK) + dx2_trick = 1; + + if ((file = fopen (filename, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + exit (1); + } + + if (io_mode & SWC_IO_DUMP_BIOS) + { + puts ("Press q to abort\n"); + + dump_bios (file); + + ffe_deinit_io (); + fclose (file); + return 0; // skip the other code in this function + } + + size = receive_rom_info (buffer, io_mode); + if (size == 0) + { + fputs ("ERROR: There is no cartridge present in the Super Wild Card\n", stderr); + fclose (file); + remove (filename); + exit (1); + } + blocksleft = size * 16; // 1 Mb (128 kB) unit == 16 8 kB units + printf ("Receive: %d Bytes (%.4f Mb)\n", size * MBIT, (float) size); +#ifdef DUMP_SA1 + if (snes_sa1) + puts ("NOTE: Dumping SA-1 cartridge"); +#endif +#ifdef DUMP_SDD1 + if (snes_sdd1) + puts ("NOTE: Dumping S-DD1 cartridge"); +#endif +#ifdef DUMP_SPC7110 + if (snes_spc7110) + puts ("NOTE: Dumping SPC7110 cartridge"); +#endif + size *= MBIT; // size in bytes for ucon64_gauge() below + + ffe_send_command (5, 0, 0); + ffe_send_command0 (0xe00c, 0); + byte = ffe_send_command1 (0xbfd8); + buffer[2] = get_emu_mode_select (byte, blocksleft / 16); + fwrite (buffer, 1, SWC_HEADER_LEN, file); // write header (other necessary fields are + // filled in by receive_rom_info()) + + puts ("Press q to abort\n"); // print here, NOT before first SWC I/O, + // because if we get here q works ;-) +#ifdef DUMP_SA1 + if (snes_sa1) + dump_rom (file, size, blocksleft, 0xf00000, 0xffffff, 0xf00000); + else +#endif +#ifdef DUMP_SDD1 + if (snes_sdd1) + dump_rom (file, size, blocksleft, 0xf00000, 0xffffff, 0xf00000); + else +#endif +#ifdef DUMP_SPC7110 + if (snes_spc7110) + { + // First dump the 8 MBit P-ROM (program ROM) + dump_rom (file, 8 * MBIT, 8 * 16, 0xc00000, 0xcfffff, 0xc00000); + // Then dump the remaining amount of D-ROM (data ROM) + dump_rom (file, size - 8 * MBIT, blocksleft - 8 * 16, 0xf00000, 0xffffff, + 0xf00000); + } + else +#endif + if (io_mode & SWC_IO_SUPER_FX) + dump_rom (file, size, blocksleft, 0x008000, 0x7fffff, 0x008000); + else if (hirom) + dump_rom (file, size, blocksleft, 0x400000, 0xffffff, 0xc00000); + else + dump_rom (file, size, blocksleft, 0x008000, 0xffffff, 0x808000); + +#ifdef DUMP_SA1 + if (snes_sa1) + set_sa1_map (3); +#endif +#ifdef DUMP_SDD1 + if (snes_sdd1) + set_sdd1_map (3); +#endif + ffe_send_command (5, 0, 0); + + fclose (file); + ffe_deinit_io (); + + return 0; +} + + +int +swc_write_rom (const char *filename, unsigned int parport, int enableRTS) +{ + FILE *file; + unsigned char *buffer; + int bytesread, bytessend, totalblocks, blocksdone = 0, emu_mode_select, fsize; + unsigned short address; + time_t starttime; + + ffe_init_io (parport); + + if ((file = fopen (filename, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + exit (1); + } + if ((buffer = (unsigned char *) malloc (BUFFERSIZE)) == NULL) + { + fprintf (stderr, ucon64_msg[FILE_BUFFER_ERROR], BUFFERSIZE); + exit (1); + } + + fsize = fsizeof (filename); + printf ("Send: %d Bytes (%.4f Mb)\n", fsize, (float) fsize / MBIT); + + ffe_send_command0 (0xc008, 0); + fread (buffer, 1, SWC_HEADER_LEN, file); + + if (snes_get_file_type () == FIG) + handle_fig_header (buffer); +#if 1 + /* + 0x0c == no SRAM & LoROM; we use the header, so that the user can override this + bit 4 == 0 => DRAM mode 20 (LoROM); disable SRAM by setting SRAM mem map mode 2 + */ + if ((buffer[2] & 0x1c) == 0x0c) + buffer[2] |= 0x20; +#else + // The code below doesn't work for some HiROM games that don't use SRAM. + if ((buffer[2] & 0x0c) == 0x0c) // 0x0c == no SRAM; we use the header, so + { // that the user can override this + if (buffer[2] & 0x10) // bit 4 == 1 => DRAM mode 21 (HiROM) + buffer[2] &= ~0x20; // disable SRAM by setting SRAM mem map mode 1 + else // bit 4 == 0 => DRAM mode 20 (LoROM) + buffer[2] |= 0x20; // disable SRAM by setting SRAM mem map mode 2 + } +#endif + emu_mode_select = buffer[2]; // this byte is needed later + +#if 1 // sending the header is not required + ffe_send_command (5, 0, 0); + ffe_send_block (0x400, buffer, SWC_HEADER_LEN); // send header +#endif + bytessend = SWC_HEADER_LEN; + + puts ("Press q to abort\n"); // print here, NOT before first SWC I/O, + // because if we get here q works ;-) + address = 0x200; // VGS '00 uses 0x200, VGS '96 uses 0, + starttime = time (NULL); // but then some ROMs don't work + while ((bytesread = fread (buffer, 1, BUFFERSIZE, file))) + { + ffe_send_command0 ((unsigned short) 0xc010, (unsigned char) (blocksdone >> 9)); + ffe_send_command (5, address, 0); + ffe_send_block (0x8000, buffer, bytesread); + address++; + blocksdone++; + + bytessend += bytesread; + ucon64_gauge (starttime, bytessend, fsize); + ffe_checkabort (2); + } + + if (blocksdone > 0x200) // ROM dump > 512 8 kB blocks (=32 Mb (=4 MB)) + ffe_send_command0 (0xc010, 2); + + ffe_send_command (5, 0, 0); + totalblocks = (fsize - SWC_HEADER_LEN + BUFFERSIZE - 1) / BUFFERSIZE; // round up + ffe_send_command (6, (unsigned short) (5 | (totalblocks << 8)), (unsigned short) (totalblocks >> 8)); // bytes: 6, 5, #8 K L, #8 K H, 0 + ffe_send_command (6, (unsigned short) (1 | (emu_mode_select << 8)), (unsigned short) enableRTS); // last arg = 1 enables RTS + // mode, 0 disables it + ffe_wait_for_ready (); + outportb ((unsigned short) (parport + PARPORT_DATA), 0); + outportb ((unsigned short) (parport + PARPORT_CONTROL), + (unsigned char) (inportb ((unsigned short) // invert strobe + (parport + PARPORT_CONTROL)) ^ PARPORT_STROBE)); + + free (buffer); + fclose (file); + ffe_deinit_io (); + + return 0; +} + + +int +swc_read_sram (const char *filename, unsigned int parport) +{ + FILE *file; + unsigned char *buffer; + int blocksleft, bytesreceived = 0; + unsigned short address; + time_t starttime; + + ffe_init_io (parport); + + if ((file = fopen (filename, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + exit (1); + } + if ((buffer = (unsigned char *) malloc (BUFFERSIZE)) == NULL) + { + fprintf (stderr, ucon64_msg[FILE_BUFFER_ERROR], BUFFERSIZE); + exit (1); + } + + printf ("Receive: %d Bytes\n", 32 * 1024); + memset (buffer, 0, SWC_HEADER_LEN); + buffer[8] = 0xaa; + buffer[9] = 0xbb; + buffer[10] = 5; + fwrite (buffer, 1, SWC_HEADER_LEN, file); + + ffe_send_command (5, 0, 0); + ffe_send_command0 (0xe00d, 0); + ffe_send_command0 (0xc008, 0); + + puts ("Press q to abort\n"); // print here, NOT before first SWC I/O, + // because if we get here q works ;-) + blocksleft = 4; // SRAM is 4*8 kB + address = 0x100; + starttime = time (NULL); + while (blocksleft > 0) + { + ffe_send_command (5, address, 0); + ffe_receive_block (0x2000, buffer, BUFFERSIZE); + blocksleft--; + address++; + fwrite (buffer, 1, BUFFERSIZE, file); + + bytesreceived += BUFFERSIZE; + ucon64_gauge (starttime, bytesreceived, 32 * 1024); + ffe_checkabort (2); + } + + free (buffer); + fclose (file); + ffe_deinit_io (); + + return 0; +} + + +int +swc_write_sram (const char *filename, unsigned int parport) +{ + FILE *file; + unsigned char *buffer; + int bytesread, bytessend = 0, size; + unsigned short address; + time_t starttime; + + ffe_init_io (parport); + + if ((file = fopen (filename, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + exit (1); + } + if ((buffer = (unsigned char *) malloc (BUFFERSIZE)) == NULL) + { + fprintf (stderr, ucon64_msg[FILE_BUFFER_ERROR], BUFFERSIZE); + exit (1); + } + + size = fsizeof (filename) - SWC_HEADER_LEN; // SWC SRAM is 4*8 kB, emu SRAM often not + printf ("Send: %d Bytes\n", size); + fseek (file, SWC_HEADER_LEN, SEEK_SET); // skip the header + + ffe_send_command (5, 0, 0); + ffe_send_command0 (0xe00d, 0); + ffe_send_command0 (0xc008, 0); + + puts ("Press q to abort\n"); // print here, NOT before first SWC I/O, + // because if we get here q works ;-) + address = 0x100; + starttime = time (NULL); + while ((bytesread = fread (buffer, 1, BUFFERSIZE, file))) + { + ffe_send_command (5, address, 0); + ffe_send_block (0x2000, buffer, bytesread); + address++; + + bytessend += bytesread; + ucon64_gauge (starttime, bytessend, size); + ffe_checkabort (2); + } + + free (buffer); + fclose (file); + ffe_deinit_io (); + + return 0; +} + + +int +sub (void) +{ + ffe_send_command (5, 7 * 4, 0); + ffe_send_command0 (0xe00d, 0); + ffe_send_command0 (0xe003, 0); + + if (ffe_send_command1 (0xb080) != 'S') + return 0; + if (ffe_send_command1 (0xb081) != 'U') + return 0; + if (ffe_send_command1 (0xb082) != 'B') + return 0; + + return 1; +} + + +int +mram_helper (int x) +{ + ffe_send_command (5, (unsigned short) x, 0); + x = ffe_send_command1 (0x8000); + ffe_send_command0 (0x8000, (unsigned char) (x ^ 0xff)); + if (ffe_send_command1 (0x8000) != (unsigned char) (x ^ 0xff)) + return 0; + + ffe_send_command0 (0x8000, (unsigned char) x); + return 1; +} + + +int +mram (void) +{ + if (mram_helper (0x76 * 4)) + return 0x76 * 4; + if (mram_helper (0x56 * 4)) + return 0x56 * 4; + if (mram_helper (0x36 * 4)) + return 0x36 * 4; + return 0x16 * 4; +} + + +int +swc_read_rts (const char *filename, unsigned int parport) +{ + FILE *file; + unsigned char *buffer; + int blocksleft, bytesreceived = 0; + unsigned short address1, address2; + time_t starttime; + + ffe_init_io (parport); + + if ((file = fopen (filename, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + exit (1); + } + if ((buffer = (unsigned char *) malloc (BUFFERSIZE)) == NULL) + { + fprintf (stderr, ucon64_msg[FILE_BUFFER_ERROR], BUFFERSIZE); + exit (1); + } + + printf ("Receive: %d Bytes\n", 256 * 1024); + memset (buffer, 0, SWC_HEADER_LEN); + buffer[8] = 0xaa; + buffer[9] = 0xbb; + buffer[10] = 8; + fwrite (buffer, 1, SWC_HEADER_LEN, file); + + puts ("Press q to abort\n"); + blocksleft = 32; // RTS data is 32*8 kB + + if (sub ()) + { + address1 = 0; + address2 = 0xa000; + } + else + { + address1 = mram (); + address2 = 0x8000; + } + + starttime = time (NULL); + while (blocksleft > 0) + { + ffe_send_command (5, address1, 0); + if (address2 == 0x8000) + ffe_send_command0 (0xc010, 1); + ffe_receive_block (address2, buffer, BUFFERSIZE); + + blocksleft--; + address1++; + fwrite (buffer, 1, BUFFERSIZE, file); + + bytesreceived += BUFFERSIZE; + ucon64_gauge (starttime, bytesreceived, 256 * 1024); + ffe_checkabort (2); + } + ffe_send_command (6, 3, 0); + + free (buffer); + fclose (file); + ffe_deinit_io (); + + return 0; +} + + +int +swc_write_rts (const char *filename, unsigned int parport) +{ + FILE *file; + unsigned char *buffer; + int bytesread, bytessend = 0, size; + unsigned short address1, address2; + time_t starttime; + + ffe_init_io (parport); + + if ((file = fopen (filename, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + exit (1); + } + if ((buffer = (unsigned char *) malloc (BUFFERSIZE)) == NULL) + { + fprintf (stderr, ucon64_msg[FILE_BUFFER_ERROR], BUFFERSIZE); + exit (1); + } + + size = fsizeof (filename) - SWC_HEADER_LEN; + printf ("Send: %d Bytes\n", size); + fseek (file, SWC_HEADER_LEN, SEEK_SET); // skip the header + + puts ("Press q to abort\n"); + if (sub ()) + { + address1 = 0; + address2 = 0xa000; + } + else + { + address1 = mram (); + address2 = 0x8000; + } + + starttime = time (NULL); + while ((bytesread = fread (buffer, 1, BUFFERSIZE, file))) + { + ffe_send_command (5, address1, 0); + if (address2 == 0x8000) + ffe_send_command0 (0xc010, 1); + ffe_send_block (address2, buffer, bytesread); + address1++; + + bytessend += bytesread; + ucon64_gauge (starttime, bytessend, size); + ffe_checkabort (2); + } + ffe_send_command (6, 3, 0); + + free (buffer); + fclose (file); + ffe_deinit_io (); + + return 0; +} + + +int +swc_read_cart_sram (const char *filename, unsigned int parport, int io_mode) +{ + FILE *file; + unsigned char *buffer, byte; + int bytesreceived = 0, size; + unsigned short address; + time_t starttime; + + ffe_init_io (parport); + + if (io_mode & SWC_IO_DX2_TRICK) + dx2_trick = 1; + + if ((file = fopen (filename, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], filename); + exit (1); + } + if ((buffer = (unsigned char *) malloc (BUFFERSIZE)) == NULL) + { + fprintf (stderr, ucon64_msg[FILE_BUFFER_ERROR], BUFFERSIZE); + exit (1); + } + + size = receive_rom_info (buffer, io_mode); + if (size == 0) + { + fputs ("ERROR: There is no cartridge present in the Super Wild Card\n", stderr); + fclose (file); + remove (filename); + exit (1); + } + + ffe_send_command (5, 3, 0); // detect cartridge SRAM size because + ffe_send_command0 (0xe00c, 0); // we don't want to read too few data + byte = read_cartridge1 (io_mode & SWC_IO_SUPER_FX ? 0x00ffbd : 0x00ffd8); + size = MAX ((byte ? 1 << (byte + 10) : 0), 32 * 1024); + printf ("Receive: %d Bytes\n", size); + + memset (buffer, 0, SWC_HEADER_LEN); + buffer[8] = 0xaa; + buffer[9] = 0xbb; + buffer[10] = 5; + fwrite (buffer, 1, SWC_HEADER_LEN, file); + + ffe_send_command (5, 0, 0); + ffe_send_command0 (0xe00c, 0); +// ffe_send_command0 (0xc008, 0); + + puts ("Press q to abort\n"); // print here, NOT before first SWC I/O, + // because if we get here q works ;-) + address = hirom ? 0x2c3 : 0x1c0; + + starttime = time (NULL); + while (bytesreceived < size) + { + set_bank_and_page ((unsigned char) (address >> 2), (unsigned char) (address & 3)); + ffe_receive_block ((unsigned short) (hirom ? 0x6000 : 0x2000), buffer, BUFFERSIZE); + fwrite (buffer, 1, BUFFERSIZE, file); + address += hirom ? 4 : 1; + + bytesreceived += BUFFERSIZE; + ucon64_gauge (starttime, bytesreceived, size); + ffe_checkabort (2); + } + + free (buffer); + fclose (file); + ffe_deinit_io (); + + return 0; +} + + +int +swc_write_cart_sram (const char *filename, unsigned int parport, int io_mode) +{ + FILE *file; + unsigned char *buffer, byte; + int bytesread, bytessend = 0, size; + unsigned short address; + time_t starttime; + + ffe_init_io (parport); + + if (io_mode & SWC_IO_DX2_TRICK) + dx2_trick = 1; + + if ((file = fopen (filename, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename); + exit (1); + } + if ((buffer = (unsigned char *) malloc (BUFFERSIZE)) == NULL) + { + fprintf (stderr, ucon64_msg[FILE_BUFFER_ERROR], BUFFERSIZE); + exit (1); + } + + size = receive_rom_info (buffer, io_mode); + if (size == 0) + { + fputs ("ERROR: There is no cartridge present in the Super Wild Card\n", stderr); + fclose (file); + exit (1); + } + + ffe_send_command (5, 3, 0); // detect cartridge SRAM size because we don't + ffe_send_command0 (0xe00c, 0); // want to write more data than necessary + byte = read_cartridge1 (io_mode & SWC_IO_SUPER_FX ? 0x00ffbd : 0x00ffd8); + size = fsizeof (filename) - SWC_HEADER_LEN; // SWC SRAM is 4*8 kB, emu SRAM often not + size = MIN ((byte ? 1 << (byte + 10) : 0), size); + + printf ("Send: %d Bytes\n", size); + fseek (file, SWC_HEADER_LEN, SEEK_SET); // skip the header + + ffe_send_command (5, 0, 0); + ffe_send_command0 (0xe00c, 0); +// ffe_send_command0 (0xc008, 0); + + puts ("Press q to abort\n"); // print here, NOT before first SWC I/O, + // because if we get here q works ;-) + address = hirom ? 0x2c3 : 0x1c0; + + starttime = time (NULL); + while ((bytessend < size) && (bytesread = fread (buffer, 1, MIN (size, BUFFERSIZE), file))) + { + set_bank_and_page ((unsigned char) (address >> 2), (unsigned char) (address & 3)); + ffe_send_block ((unsigned short) (hirom ? 0x6000 : 0x2000), buffer, bytesread); + address += hirom ? 4 : 1; + + bytessend += bytesread; + ucon64_gauge (starttime, bytessend, size); + ffe_checkabort (2); + } + + free (buffer); + fclose (file); + ffe_deinit_io (); + + return 0; +} + +#endif // USE_PARALLEL diff --git a/tools/ucon64-2.0.0-src/src/backup/swc.h b/tools/ucon64-2.0.0-src/src/backup/swc.h new file mode 100644 index 0000000..24ce42d --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/swc.h @@ -0,0 +1,72 @@ +/* +swc.h - Super Wild Card support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB +Copyright (c) 2001 - 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef SWC_H +#define SWC_H + +#define SWC_IO_FORCE_32MBIT 0x001 +#define SWC_IO_ALT_ROM_SIZE 0x002 +#define SWC_IO_SUPER_FX 0x004 +#define SWC_IO_SDD1 0x008 +#define SWC_IO_SA1 0x010 +#define SWC_IO_SPC7110 0x020 +#define SWC_IO_DX2_TRICK 0x040 +#define SWC_IO_MMX2 0x080 +#define SWC_IO_DUMP_BIOS 0x100 + +#define SWC_IO_MAX 0x1ff // highest valid dumping mode value + +extern const st_getopt2_t swc_usage[]; + +// For the header format, see ffe.h +typedef struct st_swc_header +{ +/* + Don't create fields that are larger than one byte! For example size_low and size_high + could be combined in one unsigned short int. However, this gives problems with little + endian vs. big endian machines (e.g. writing the header to disk). +*/ + unsigned char size_low; + unsigned char size_high; + unsigned char emulation; + unsigned char pad[5]; + unsigned char id1; + unsigned char id2; + unsigned char type; + unsigned char pad2[501]; +} st_swc_header_t; + +#define SWC_HEADER_START 0 +#define SWC_HEADER_LEN (sizeof (st_swc_header_t)) + +#ifdef USE_PARALLEL +extern int swc_read_rom (const char *filename, unsigned int parport, int io_mode); +extern int swc_write_rom (const char *filename, unsigned int parport, int enableRTS); +extern int swc_read_sram (const char *filename, unsigned int parport); +extern int swc_write_sram (const char *filename, unsigned int parport); +extern int swc_read_rts (const char *filename, unsigned int parport); +extern int swc_write_rts (const char *filename, unsigned int parport); +extern int swc_read_cart_sram (const char *filename, unsigned int parport, int io_mode); +extern int swc_write_cart_sram (const char *filename, unsigned int parport, int io_mode); +extern void swc_unlock (unsigned int parport); +#endif + +#endif // SWC_H diff --git a/tools/ucon64-2.0.0-src/src/backup/tototek.c b/tools/ucon64-2.0.0-src/src/backup/tototek.c new file mode 100644 index 0000000..33d9ce4 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/tototek.c @@ -0,0 +1,428 @@ +/* +tototek.c - General ToToTEK flash card programmer routines for uCON64 + +Copyright (c) 2004 dbjh + +Based on Delphi source code by ToToTEK Multi Media. Information in that source +code has been used with permission. However, ToToTEK Multi Media explicitly +stated that the information in that source code may be freely distributed. + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include "misc/bswap.h" +#include "misc/misc.h" +#include "misc/parallel.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "tototek.h" + + +#ifdef USE_PARALLEL + +static void set_data_read (void); +//static void set_data_write (void); +static void set_ai (unsigned char ai); +static void init_port (void); +static void deinit_port (void); +static void end_port (void); +static void set_addr_read (int addr); +static void set_addr_write (int addr); +static unsigned char get_id_byte (unsigned char addr); + +static short int port_8, port_9, port_a, port_b, port_c; + + +void +ttt_init_io (unsigned int port) +{ +#if (defined __unix__ || defined __BEOS__) && !defined __MSDOS__ + init_conio (); +#endif + + port_8 = port; // original code used 0x378 for port_8 + port_9 = port + 1; + port_a = port + 2; + port_b = port + 3; + port_c = port + 4; + + parport_print_info (); + + init_port (); +} + + +void +ttt_deinit_io (void) +{ +#if (defined __unix__ || defined __BEOS__) && !defined __MSDOS__ + deinit_conio (); +#endif + + end_port (); + deinit_port (); +} + + +void +set_data_read (void) // original name: set_data_read +{ + outportb (port_a, 0); // nastb=1,nib_sel=0,ndstb=1,nwrite=1 +} + + +#if 0 +void +set_data_write (void) // original name: set_data_write +{ + outportb (port_a, 1); // nastb=1,nib_sel=0,ndstb=1,nwrite=0 +} +#endif + + +void +set_ai (unsigned char ai) // original name: {epp_}set_ai +{ + outportb (port_a, 1); // set_data_write () + outportb (port_b, ai); +} + + +void +ttt_set_ai_data (unsigned char ai, unsigned char data) // original name: set_ai_data +{ + set_ai (ai); + outportb (port_a, 1); // set_data_write () + outportb (port_c, data); +} + + +void +init_port (void) // original name: init_port +{ +#ifndef USE_PPDEV + outportb ((unsigned short) (port_8 + 0x402), + (unsigned char) ((inportb ((unsigned short) (port_8 + 0x402)) & 0x1f) | 0x80)); + outportb (port_9, 1); // clear EPP time flag +#endif + ttt_set_ai_data (6, 0); // rst=0, wei=0(dis.), rdi=0(dis.) + ttt_set_ai_data (6, 0x84); // rst=1, wei=0(dis.), rdi=0(dis.) +} + + +void +deinit_port (void) // original name: Close_end_port +{ + outportb (port_a, 1); + outportb (port_b, 0); + outportb (port_a, 4); // port normal now +} + + +void +end_port (void) // original name: end_port +{ + ttt_set_ai_data (6, 0); // rst=0, wei=0(dis.), rdi=0(dis.) + outportb (port_a, 4); // set_normal ninit=1, nwrite=1 +} + + +void +ttt_rom_enable (void) // original name: romCS_on +{ + ttt_set_ai_data (6, 0x84); +} + + +void +ttt_rom_disable (void) // original name: romCS_off +{ + ttt_set_ai_data (6, 0x80); +} + + +void +ttt_ram_enable (void) // original name: ramCS_on +{ + ttt_set_ai_data (6, 0x88); +} + + +void +ttt_ram_disable (void) // original name: ramCS_off +{ + ttt_set_ai_data (6, 0x80); +} + + +void +set_addr_write (int addr) // original name: set_Long_adrw +{ + ttt_set_ai_data (0, (unsigned char) (addr & 0xff)); // a[7..0] + addr >>= 8; + ttt_set_ai_data (1, (unsigned char) (addr & 0xff)); // a[15..8] + addr >>= 8; + ttt_set_ai_data (2, (unsigned char) (addr & 0xff)); // a[23..16] + set_ai (3); +} + + +void +set_addr_read (int addr) // original name: set_Long_adr +{ + set_addr_write (addr); + set_data_read (); // ninit=0, nwrite=1 +} + + +void +ttt_write_mem (int addr, unsigned char b) // original name: WriteMEMb +{ + set_addr_write (addr); + outportb (port_c, b); +} + + +unsigned char +get_id_byte (unsigned char addr) // original name: GETID +{ + unsigned char byte; + + ttt_rom_enable (); + ttt_set_ai_data (0, addr); // a[7..0] = 0 + set_ai (3); + outportb (port_c, 0x90); // write_data () + + set_ai (3); + set_data_read (); // ninit=0, nwrite=1 + byte = inportb (port_c); // read_data () + ttt_rom_disable (); + + return byte; +} + + +unsigned short int +ttt_get_id (void) // original name: getIDword +{ + unsigned short int word; + +// eep_reset (); + word = get_id_byte (0); // msg + word <<= 8; + word |= get_id_byte (2); // ID + + return word; +} + + +void +ttt_read_rom_b (int addr, unsigned char *buf) // original name: read_buffb +{ + int count; + + ttt_rom_enable (); + for (count = 0; count < 0x100; count++) + { + set_addr_read (addr + count); + buf[count] = inportb (port_c); // read_data () + } + ttt_rom_disable (); +} + + +void +ttt_read_rom_w (int addr, unsigned char *buf) // original name: read_buff +{ + int count; + + set_addr_read (addr); + for (count = 0; count < 0x80; count++) +#ifdef WORDS_BIGENDIAN + ((unsigned short int *) buf)[count] = bswap_16 (inportw (port_c)); // read_dataw () +#else + ((unsigned short int *) buf)[count] = inportw (port_c); // read_dataw () +#endif +} + + +void +ttt_read_ram_b (int addr, unsigned char *buf) // original name: read_rambuff +{ + int count; + + ttt_ram_enable (); + for (count = 0; count < 0x100; count++) + { + set_addr_read (addr + count); + buf[count] = inportb (port_c); // read_data () + } + ttt_ram_disable (); +} + + +void +ttt_read_ram_w (int addr, unsigned char *buf) // original name: readpagerambuff +{ + int count; + + set_addr_read (addr); + for (count = 0; count < 0x80; count++) + ((unsigned short int *) buf)[count] = inportw (port_c); + // read_dataw (); data is doubled for MD-PRO => no problems with endianess +} + + +// Sharp function +void +ttt_erase_block (int addr) // original name: EraseBLOCK +{ + ttt_rom_enable (); + ttt_write_mem (addr, 0x50); + ttt_rom_disable (); + + ttt_rom_enable (); + ttt_write_mem (addr, 0x20); + outportb (port_c, 0xd0); + ttt_rom_disable (); + + ttt_rom_enable (); + set_ai (3); + set_data_read (); // set read mode + while (inportb (port_c) < 0x80) + ; + ttt_rom_disable (); +} + + +void +ttt_write_byte_sharp (int addr, unsigned char b) // original name: writeEEPDataB +{ + ttt_rom_enable (); + ttt_write_mem (addr, 0x40); + outportb (port_c, b); + ttt_rom_disable (); +} + + +void +ttt_write_byte_intel (int addr, unsigned char b) // original name: writeIntelEEPDataB +{ // MD-PRO function + ttt_rom_enable (); + ttt_write_mem (addr, 0x40); + outportb (port_c, b); + + set_data_read (); + while (inportb (port_c) < 0x80) + ; + ttt_rom_disable (); +} + + +void +ttt_write_page_rom (int addr, unsigned char *buf) // original name: writeEEPDataPAGE +{ + int i; + + // send command 0xe8 + ttt_rom_enable (); + ttt_write_mem (addr, 0xe8); + + // read status + set_ai (3); + set_data_read (); + while (inportb (port_c) < 0x80) + ; + + set_ai (3); + outportb (port_c, 0x1f); + ttt_set_ai_data (6, 0x94); + set_addr_write (addr); + for (i = 0; i <= 0x1f; i++) + outportb (port_c, buf[(addr + i) & 0x3fff]); + ttt_set_ai_data (6, 0x84); + set_ai (3); + outportb (port_c, 0xd0); + + // read status + set_ai (3); + set_data_read (); + while (inportb (port_c) < 0x80) + ; + ttt_rom_disable (); +} + + +void +ttt_write_byte_ram (int addr, unsigned char b) // original name: writeRAMDataB +{ + ttt_ram_enable (); + ttt_write_mem (addr, b); + ttt_ram_disable (); +} + + +void +ttt_write_page_ram (int addr, unsigned char *buf) // original name: writeRAMDataPAGE +{ + int i; + + ttt_ram_enable (); + ttt_set_ai_data (6, 0x98); + set_addr_write (addr); + for (i = 0; i < 0x100; i++) + outportb (port_c, buf[(addr + i) & 0x3fff]); + ttt_ram_disable (); +} + + +void +ttt_write_page_ram2 (int addr, unsigned char *buf) // original name: writeRAMDBDataPAGE +{ // MD-PRO function + int i; + + ttt_ram_enable (); + ttt_set_ai_data (6, 0x98); + set_addr_write (addr * 2); + for (i = 0; i < 0x80; i++) + { + outportb (port_c, buf[(addr + i) & 0x3fff]); + outportb (port_c, buf[(addr + i) & 0x3fff]); + } + ttt_ram_disable (); +} + + +#if 0 +void +readstatus (void) +{ // MD-PRO function + // send command 0xe8 + ttt_rom_enable (); + set_ai (3); + set_data_read (); + while (inportb (port_c) < 0x80) + ; + ttt_rom_disable (); +} +#endif + +#endif // USE_PARALLEL diff --git a/tools/ucon64-2.0.0-src/src/backup/tototek.h b/tools/ucon64-2.0.0-src/src/backup/tototek.h new file mode 100644 index 0000000..ed47e2a --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/tototek.h @@ -0,0 +1,47 @@ +/* +tototek.h - General ToToTEK flash card programmer routines for uCON64 + +Copyright (c) 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef TOTOTEK_H +#define TOTOTEK_H + +#ifdef USE_PARALLEL +extern void ttt_init_io (unsigned int port); +extern void ttt_deinit_io (void); +extern void ttt_set_ai_data (unsigned char ai, unsigned char data); +extern void ttt_rom_enable (void); +extern void ttt_rom_disable (void); +extern void ttt_ram_enable (void); +extern void ttt_ram_disable (void); +extern void ttt_write_mem (int addr, unsigned char b); +extern unsigned short int ttt_get_id (void); +extern void ttt_read_rom_b (int addr, unsigned char *buf); +extern void ttt_read_rom_w (int addr, unsigned char *buf); +extern void ttt_read_ram_b (int addr, unsigned char *buf); +extern void ttt_read_ram_w (int addr, unsigned char *buf); +extern void ttt_erase_block (int addr); +extern void ttt_write_byte_sharp (int addr, unsigned char b); +extern void ttt_write_byte_intel (int addr, unsigned char b); +extern void ttt_write_page_rom (int addr, unsigned char *buf); +extern void ttt_write_byte_ram (int addr, unsigned char b); +extern void ttt_write_page_ram (int addr, unsigned char *buf); +extern void ttt_write_page_ram2 (int addr, unsigned char *buf); +#endif // USE_PARALLEL + +#endif // TOTOTEK_H diff --git a/tools/ucon64-2.0.0-src/src/backup/ufo.c b/tools/ucon64-2.0.0-src/src/backup/ufo.c new file mode 100644 index 0000000..bbf83c0 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/ufo.c @@ -0,0 +1,45 @@ +/* +ufo.c - Super UFO support for uCON64 + +Copyright (c) 2003 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#include "misc/itypes.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ufo.h" + + +const st_getopt2_t ufo_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Super UFO Pro 8"/*"UFO Enterprises"*/, + NULL + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; diff --git a/tools/ucon64-2.0.0-src/src/backup/ufo.h b/tools/ucon64-2.0.0-src/src/backup/ufo.h new file mode 100644 index 0000000..81c918f --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/ufo.h @@ -0,0 +1,144 @@ +/* +ufo.h - Super UFO for uCON64 + +Copyright (c) 2003 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef UFO_H +#define UFO_H + +extern const st_getopt2_t ufo_usage[]; + +/* +Super UFO Pro 8 Header Format (researched by John Weidman) + +Byte-Offset Function +----------- --------------------------------------------------- +00-01 Chunk size: 04 00 == 4 Mbit (same format as the DX2) +02 LoROM games: 0x40 == continue loading another chunk after this one. + 0x00 == This is the last chunk. + HiROM games: 0x40 == more work to figure this out -- maybe interleave info + 0x10 == more work to figure this out -- maybe interleave info + 0x00 == This is the last chunk. +03-07 0x00 +08-0F 53 55 50 45 52 55 46 4F (SUPERUFO) +10 0x01 == This file is a ROM image file +11 ROM size: 04 == 4 Mb, 0x18 == 24 Mb, 0x20 == 32 Mb, etc. +12 ROM format: 00 == HiROM, 01 == LoROM + +==== Start SRAM address mapping config =============== + +13 SRAM Size: + 00: 0Kb + 01: 16Kb + 02: 64Kb + 03: 256Kb + 04-07: Not used + 08: XXXKb (Used for sram sizes above 256Kb, like 1024Kb) +14 SRAM A15 control: + 00: A15 not used for SRAM control? + Use this for HiROM games + LoROM: Use this if SRAM size = 0Kb (no SRAM) + 01: A15=X selects SRAM + 02: A15=0 selects SRAM + 03: A15=1 selects SRAM +15 SRAM A20 and A21 control: + Bits 3:2 + 00: A21=x selects SRAM + 01: Not used? + 10: A21=0 selects SRAM + 11: A21=1 selects SRAM + Bits 1:0 + 00: A20=x selects SRAM + 01: Not used? + 10: A20=0 selects SRAM + 11: A20=1 selects SRAM +16 SRAM A22 and A23 control: + Bits 3:2 + 00: A23=x selects SRAM + 01: Not used? + 10: A23=0 selects SRAM + 11: A23=1 selects SRAM + Bits 1:0 + 00: A22=x selects SRAM + 01: Not used? + 10: A22=0 selects SRAM + 11: A22=1 selects SRAM +17 SRAM type + 0x00: Linear (HiROM) + 0x03: Skip (LoROM) + +==== End SRAM address mapping config ================ + +18-1FF 00 + +LoROM SRAM header +========================================================= + +The SRAM mapping I would try first for LoROM games is: + +0Kb SRAM +0012-0017 01 00 00 00 02 00 +0Kb LoROM DSP +0012-0017 01 00 01 0C 00 03 + +Note: LoROM DSPs with SRAM don't seem to work on the Super UFO + (For reference, no LoROM DSP carts work on the SWC DX2) + +Non 0 SRAM - default map (map low halves of banks 7x to SRAM) +0012-0017 01 ss 02 0F 03 03 +Non 0 SRAM - alternate map (map all of banks 7x to SRAM -- will not work for > 28 Mbit + games ) +0012-0017 01 ss 01 0F 03 03 + +HiROM SRAM header +========================================================== + +0Kb SRAM +0012-0017 00 00 00 00 02 00 +Non 0 SRAM +0012-0017 00 ss 00 0C 02 00 (Hopefully this will work for everything?) + +If you find an SRAM protected game that doesn't work with the above mapping try: +0012-0017 00 ss 00 03 02 00 (seen in a couple of games but should work with above + mapping too) +-- +For Tales of Phantasia or Dai Kaijyu Monogatari II + +0012-0017 00 ss 00 00 0E 00 (Unverified) +*/ +typedef struct st_ufo_header +{ + unsigned char size_low; + unsigned char size_high; + unsigned char multi; + unsigned char pad[5]; + unsigned char id[8]; // "SUPERUFO" + unsigned char isrom; + unsigned char size; + unsigned char banktype; + unsigned char sram_size; + unsigned char sram_a15; + unsigned char sram_a20_a21; + unsigned char sram_a22_a23; + unsigned char sram_type; + unsigned char pad2[488]; +} st_ufo_header_t; + +#define UFO_HEADER_LEN (sizeof (st_ufo_header_t)) + +#endif // UFO_H diff --git a/tools/ucon64-2.0.0-src/src/backup/yoko.c b/tools/ucon64-2.0.0-src/src/backup/yoko.c new file mode 100644 index 0000000..fcfbf94 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/yoko.c @@ -0,0 +1,46 @@ +/* +yoko.c - support for Yoko backup unit (Atari 2600, etc.) + +Copyright (c) 1999 - 2001 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#include "misc/misc.h" +#include "misc/itypes.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "yoko.h" + + +const st_getopt2_t yoko_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "YOKO backup unit", + NULL + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; diff --git a/tools/ucon64-2.0.0-src/src/backup/yoko.h b/tools/ucon64-2.0.0-src/src/backup/yoko.h new file mode 100644 index 0000000..7be8729 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/yoko.h @@ -0,0 +1,26 @@ +/* +yoko.h - minimal support for Yoko backup unit (Atari 2600, etc.) + +Copyright (c) 1999 - 2001 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef YOKO_H +#define YOKO_H + +extern const st_getopt2_t yoko_usage[]; + +#endif diff --git a/tools/ucon64-2.0.0-src/src/backup/z64.c b/tools/ucon64-2.0.0-src/src/backup/z64.c new file mode 100644 index 0000000..c95c721 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/z64.c @@ -0,0 +1,46 @@ +/* +z64.c - Mr. Backup Z64 support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#include "misc/misc.h" +#include "misc/itypes.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "z64.h" + + +const st_getopt2_t z64_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Mr. Backup Z64", + NULL + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; diff --git a/tools/ucon64-2.0.0-src/src/backup/z64.h b/tools/ucon64-2.0.0-src/src/backup/z64.h new file mode 100644 index 0000000..e82d2c6 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/backup/z64.h @@ -0,0 +1,26 @@ +/* +z64.h - Z64 support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef Z64_H +#define Z64_H + +extern const st_getopt2_t z64_usage[]; + +#endif diff --git a/tools/ucon64-2.0.0-src/src/config.h.in b/tools/ucon64-2.0.0-src/src/config.h.in new file mode 100644 index 0000000..bf20827 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/config.h.in @@ -0,0 +1,128 @@ +/* config.h.in. Generated from configure.in by autoheader. */ + +/* enable debug output (default: no) */ +#undef DEBUG + +/* enable dynamic loading of add-on libraries (default: yes) */ +#undef DLOPEN + +/* Define to 1 if you have the header file. */ +#undef HAVE_BYTESWAP_H + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +#undef HAVE_DIRENT_H + +/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ +#undef HAVE_DOPRNT + +/* Define to 1 if you have the header file. */ +#undef HAVE_FCNTL_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the header file, and it defines `DIR'. */ +#undef HAVE_NDIR_H + +/* Define to 1 if you have the `realpath' function. */ +#undef HAVE_REALPATH + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the `strftime' function. */ +#undef HAVE_STRFTIME + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +#undef HAVE_SYS_DIR_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_IO_H + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +#undef HAVE_SYS_NDIR_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Define to 1 if you have the `vprintf' function. */ +#undef HAVE_VPRINTF + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* enable usage of color (default: yes) */ +#undef USE_ANSI_COLOR + +/* enable libdiscmage (default: yes) */ +#undef USE_DISCMAGE + +/* enable libcd64 (default: no) */ +#undef USE_LIBCD64 + +/* enable support for parallel port backup units (default: yes) */ +#undef USE_PARALLEL + +/* use ppdev for parallel port I/O (default: no) */ +#undef USE_PPDEV + +/* build with (lib)usb support (default: no) */ +#undef USE_USB + +/* build with gzip and zip support (default: yes) */ +#undef USE_ZLIB + +/* Define to empty if `const' does not conform to ANSI C. */ +#undef const + +/* Define to `int' if doesn't define. */ +#undef gid_t + +/* Define as `__inline' if that's what the C compiler calls it, or to nothing + if it is not supported. */ +#undef inline + +/* Define to `int' if does not define. */ +#undef pid_t + +/* Define to `unsigned' if does not define. */ +#undef size_t + +/* Define to `int' if doesn't define. */ +#undef uid_t diff --git a/tools/ucon64-2.0.0-src/src/config.h.orig b/tools/ucon64-2.0.0-src/src/config.h.orig new file mode 100644 index 0000000..ca2d95b --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/config.h.orig @@ -0,0 +1,129 @@ +/* config.h. Generated by configure. */ +/* config.h.in. Generated from configure.in by autoheader. */ + +/* enable debug output (default: no) */ +/* #undef DEBUG */ + +/* enable dynamic loading of add-on libraries (default: yes) */ +#define DLOPEN 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_BYTESWAP_H */ + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +#define HAVE_DIRENT_H 1 + +/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ +/* #undef HAVE_DOPRNT */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_INTTYPES_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. */ +/* #undef HAVE_NDIR_H */ + +/* Define to 1 if you have the `realpath' function. */ +/* #undef HAVE_REALPATH */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_STDINT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strftime' function. */ +#define HAVE_STRFTIME 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRINGS_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +/* #undef HAVE_SYS_DIR_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_IO_H */ + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +/* #undef HAVE_SYS_NDIR_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_UNISTD_H 1 + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "noisyb@gmx.net" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "uCON64" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "uCON64 2.0.0" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "ucon64" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "2.0.0" + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* enable usage of color (default: yes) */ +#define USE_ANSI_COLOR 1 + +/* enable libdiscmage (default: yes) */ +#define USE_DISCMAGE 1 + +/* enable libcd64 (default: no) */ +#define USE_LIBCD64 1 + +/* enable support for parallel port backup units (default: yes) */ +#define USE_PARALLEL 1 + +/* use ppdev for parallel port I/O (default: no) */ +/* #undef USE_PPDEV */ + +/* build with (lib)usb support (default: no) */ +/* #undef USE_USB */ + +/* build with gzip and zip support (default: yes) */ +//#define USE_ZLIB 1 + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `int' if doesn't define. */ +/* #undef gid_t */ + +/* Define as `__inline' if that's what the C compiler calls it, or to nothing + if it is not supported. */ +/* #undef inline */ + +/* Define to `int' if does not define. */ +/* #undef pid_t */ + +/* Define to `unsigned' if does not define. */ +/* #undef size_t */ + +/* Define to `int' if doesn't define. */ +/* #undef uid_t */ diff --git a/tools/ucon64-2.0.0-src/src/config.h.vc6 b/tools/ucon64-2.0.0-src/src/config.h.vc6 new file mode 100644 index 0000000..b429936 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/config.h.vc6 @@ -0,0 +1,129 @@ +/* config.h. Generated by configure. */ +/* config.h.in. Generated from configure.in by autoheader. */ + +/* enable debug output (default: no) */ +/* #undef DEBUG */ + +/* enable dynamic loading of add-on libraries (default: yes) */ +#define DLOPEN 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_BYTESWAP_H */ + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +/* #undef HAVE_DIRENT_H */ + +/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ +/* #undef HAVE_DOPRNT */ + +/* Define to 1 if you have the header file. */ +#define HAVE_FCNTL_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_INTTYPES_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_MEMORY_H 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. */ +/* #undef HAVE_NDIR_H */ + +/* Define to 1 if you have the `realpath' function. */ +/* #undef HAVE_REALPATH */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_STDINT_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STDLIB_H 1 + +/* Define to 1 if you have the `strftime' function. */ +#define HAVE_STRFTIME 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_STRINGS_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_STRING_H 1 + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +/* #undef HAVE_SYS_DIR_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_SYS_IO_H */ + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +/* #undef HAVE_SYS_NDIR_H */ + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_STAT_H 1 + +/* Define to 1 if you have the header file. */ +#define HAVE_SYS_TYPES_H 1 + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_UNISTD_H */ + +/* Define to 1 if you have the `vprintf' function. */ +#define HAVE_VPRINTF 1 + +/* Define to the address where bug reports for this package should be sent. */ +#define PACKAGE_BUGREPORT "noisyb@gmx.net" + +/* Define to the full name of this package. */ +#define PACKAGE_NAME "uCON64" + +/* Define to the full name and version of this package. */ +#define PACKAGE_STRING "uCON64 2.0.0" + +/* Define to the one symbol short name of this package. */ +#define PACKAGE_TARNAME "ucon64" + +/* Define to the version of this package. */ +#define PACKAGE_VERSION "2.0.0" + +/* Define to 1 if you have the ANSI C header files. */ +#define STDC_HEADERS 1 + +/* enable usage of color (default: yes) */ +#define USE_ANSI_COLOR 1 + +/* enable libdiscmage (default: yes) */ +#define USE_DISCMAGE 1 + +/* enable libcd64 (default: no) */ +#define USE_LIBCD64 1 + +/* enable support for parallel port backup units (default: yes) */ +#define USE_PARALLEL 1 + +/* use ppdev for parallel port I/O (default: no) */ +/* #undef USE_PPDEV */ + +/* build with (lib)usb support (default: no) */ +/* #undef USE_USB */ + +/* build with gzip and zip support (default: yes) */ +//#define USE_ZLIB 1 + +/* Define to empty if `const' does not conform to ANSI C. */ +/* #undef const */ + +/* Define to `int' if doesn't define. */ +/* #undef gid_t */ + +/* Define as `__inline' if that's what the C compiler calls it, or to nothing + if it is not supported. */ +/* #undef inline */ + +/* Define to `int' if does not define. */ +/* #undef pid_t */ + +/* Define to `unsigned' if does not define. */ +/* #undef size_t */ + +/* Define to `int' if doesn't define. */ +/* #undef uid_t */ diff --git a/tools/ucon64-2.0.0-src/src/configure b/tools/ucon64-2.0.0-src/src/configure new file mode 100755 index 0000000..c9ab122 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/configure @@ -0,0 +1,5619 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.58 for uCON64 2.0.0. +# +# Report bugs to . +# +# Copyright (C) 2003 Free Software Foundation, Inc. +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi +DUALCASE=1; export DUALCASE # for MKS sh + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# Work around bugs in pre-3.0 UWIN ksh. +$as_unset ENV MAIL MAILPATH +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done + + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 + fi + if test ! -f "$as_myself"; then + { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.file + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH + + +# Name of the host. +# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +exec 6>&1 + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_config_libobj_dir=. +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= +SHELL=${CONFIG_SHELL-/bin/sh} + +# Maximum number of lines to put in a shell here document. +# This variable seems obsolete. It should probably be removed, and +# only ac_max_sed_lines should be used. +: ${ac_max_here_lines=38} + +# Identity of this package. +PACKAGE_NAME='uCON64' +PACKAGE_TARNAME='ucon64' +PACKAGE_VERSION='2.0.0' +PACKAGE_STRING='uCON64 2.0.0' +PACKAGE_BUGREPORT='noisyb@gmx.net' + +# Factoring default headers for most tests. +ac_includes_default="\ +#include +#if HAVE_SYS_TYPES_H +# include +#endif +#if HAVE_SYS_STAT_H +# include +#endif +#if STDC_HEADERS +# include +# include +#else +# if HAVE_STDLIB_H +# include +# endif +#endif +#if HAVE_STRING_H +# if !STDC_HEADERS && HAVE_MEMORY_H +# include +# endif +# include +#endif +#if HAVE_STRINGS_H +# include +#endif +#if HAVE_INTTYPES_H +# include +#else +# if HAVE_STDINT_H +# include +# endif +#endif +#if HAVE_UNISTD_H +# include +#endif" + +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT CPP EGREP DEFINE_DLOPEN_MAKE DEFINE_DISCMAGE_MAKE DEFINE_LIBCD64_MAKE LIBI386_MAKE DEFINE_ZLIB_MAKE DEFINE_USB_MAKE LIBOBJS RANLIB ac_ct_RANLIB INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA LTLIBOBJS' +ac_subst_files='' + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datadir='${prefix}/share' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +libdir='${exec_prefix}/lib' +includedir='${prefix}/include' +oldincludedir='/usr/include' +infodir='${prefix}/info' +mandir='${prefix}/man' + +ac_prev= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval "$ac_prev=\$ac_option" + ac_prev= + continue + fi + + ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_option in + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad | --data | --dat | --da) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ + | --da=*) + datadir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/-/_/g'` + eval "enable_$ac_feature=no" ;; + + -enable-* | --enable-*) + ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid feature name: $ac_feature" >&2 + { (exit 1); exit 1; }; } + ac_feature=`echo $ac_feature | sed 's/-/_/g'` + case $ac_option in + *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; + *) ac_optarg=yes ;; + esac + eval "enable_$ac_feature='$ac_optarg'" ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst \ + | --locals | --local | --loca | --loc | --lo) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* \ + | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package| sed 's/-/_/g'` + case $ac_option in + *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; + *) ac_optarg=yes ;; + esac + eval "with_$ac_package='$ac_optarg'" ;; + + -without-* | --without-*) + ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid package name: $ac_package" >&2 + { (exit 1); exit 1; }; } + ac_package=`echo $ac_package | sed 's/-/_/g'` + eval "with_$ac_package=no" ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) { echo "$as_me: error: unrecognized option: $ac_option +Try \`$0 --help' for more information." >&2 + { (exit 1); exit 1; }; } + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && + { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 + { (exit 1); exit 1; }; } + ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` + eval "$ac_envvar='$ac_optarg'" + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + { echo "$as_me: error: missing argument to $ac_option" >&2 + { (exit 1); exit 1; }; } +fi + +# Be sure to have absolute paths. +for ac_var in exec_prefix prefix +do + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* | NONE | '' ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; + esac +done + +# Be sure to have absolute paths. +for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ + localstatedir libdir includedir oldincludedir infodir mandir +do + eval ac_val=$`echo $ac_var` + case $ac_val in + [\\/$]* | ?:[\\/]* ) ;; + *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 + { (exit 1); exit 1; }; };; + esac +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used." >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then its parent. + ac_confdir=`(dirname "$0") 2>/dev/null || +$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r $srcdir/$ac_unique_file; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r $srcdir/$ac_unique_file; then + if test "$ac_srcdir_defaulted" = yes; then + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 + { (exit 1); exit 1; }; } + else + { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 + { (exit 1); exit 1; }; } + fi +fi +(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || + { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 + { (exit 1); exit 1; }; } +srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` +ac_env_build_alias_set=${build_alias+set} +ac_env_build_alias_value=$build_alias +ac_cv_env_build_alias_set=${build_alias+set} +ac_cv_env_build_alias_value=$build_alias +ac_env_host_alias_set=${host_alias+set} +ac_env_host_alias_value=$host_alias +ac_cv_env_host_alias_set=${host_alias+set} +ac_cv_env_host_alias_value=$host_alias +ac_env_target_alias_set=${target_alias+set} +ac_env_target_alias_value=$target_alias +ac_cv_env_target_alias_set=${target_alias+set} +ac_cv_env_target_alias_value=$target_alias +ac_env_CC_set=${CC+set} +ac_env_CC_value=$CC +ac_cv_env_CC_set=${CC+set} +ac_cv_env_CC_value=$CC +ac_env_CFLAGS_set=${CFLAGS+set} +ac_env_CFLAGS_value=$CFLAGS +ac_cv_env_CFLAGS_set=${CFLAGS+set} +ac_cv_env_CFLAGS_value=$CFLAGS +ac_env_LDFLAGS_set=${LDFLAGS+set} +ac_env_LDFLAGS_value=$LDFLAGS +ac_cv_env_LDFLAGS_set=${LDFLAGS+set} +ac_cv_env_LDFLAGS_value=$LDFLAGS +ac_env_CPPFLAGS_set=${CPPFLAGS+set} +ac_env_CPPFLAGS_value=$CPPFLAGS +ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} +ac_cv_env_CPPFLAGS_value=$CPPFLAGS +ac_env_CPP_set=${CPP+set} +ac_env_CPP_value=$CPP +ac_cv_env_CPP_set=${CPP+set} +ac_cv_env_CPP_value=$CPP + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures uCON64 2.0.0 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +_ACEOF + + cat <<_ACEOF +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --datadir=DIR read-only architecture-independent data [PREFIX/share] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --infodir=DIR info documentation [PREFIX/info] + --mandir=DIR man documentation [PREFIX/man] +_ACEOF + + cat <<\_ACEOF +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of uCON64 2.0.0:";; + esac + cat <<\_ACEOF + +Optional Features: + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-debug enable debug output (default: no) + --enable-parallel enable support for parallel port backup units + (default: yes) + --enable-ppdev use ppdev for parallel port I/O (default: no) + --enable-ansi-color enable usage of color (default: yes) + --enable-dload enable dynamic loading of add-on libraries (default: + yes) + --enable-discmage enable libdiscmage (default: yes) + --enable-libcd64 enable libcd64 (default: no) + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-zlib build with gzip and zip support (default: yes) + --with-libusb build with (lib)usb support (default: no) + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + CPPFLAGS C/C++ preprocessor flags, e.g. -I if you have + headers in a nonstandard directory + CPP C preprocessor + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +_ACEOF +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + ac_popdir=`pwd` + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d $ac_dir || continue + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac +case "$ac_dir" in +.) ac_abs_builddir=$ac_builddir;; +*) + case $ac_builddir in + .) ac_abs_builddir="$ac_dir";; + [\\/]* | ?:[\\/]* ) ac_abs_builddir=$ac_builddir;; + *) ac_abs_builddir="$ac_dir"/$ac_builddir;; + esac;; +esac +case "$ac_dir" in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir="$ac_dir";; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir="$ac_dir"/${ac_top_builddir}.;; + esac;; +esac +case "$ac_dir" in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir="$ac_dir";; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir="$ac_dir"/$ac_srcdir;; + esac;; +esac +case "$ac_dir" in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir="$ac_dir";; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir="$ac_dir"/$ac_top_srcdir;; + esac;; +esac + + cd $ac_dir + # Check for guested configure; otherwise get Cygnus style configure. + if test -f $ac_srcdir/configure.gnu; then + echo + $SHELL $ac_srcdir/configure.gnu --help=recursive + elif test -f $ac_srcdir/configure; then + echo + $SHELL $ac_srcdir/configure --help=recursive + elif test -f $ac_srcdir/configure.ac || + test -f $ac_srcdir/configure.in; then + echo + $ac_configure --help + else + echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi + cd $ac_popdir + done +fi + +test -n "$ac_init_help" && exit 0 +if $ac_init_version; then + cat <<\_ACEOF +uCON64 configure 2.0.0 +generated by GNU Autoconf 2.58 + +Copyright (C) 2003 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. +_ACEOF + exit 0 +fi +exec 5>config.log +cat >&5 <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by uCON64 $as_me 2.0.0, which was +generated by GNU Autoconf 2.58. Invocation command line was + + $ $0 $@ + +_ACEOF +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +hostinfo = `(hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + echo "PATH: $as_dir" +done + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_sep= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) + ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; + 2) + ac_configure_args1="$ac_configure_args1 '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" + # Get rid of the leading space. + ac_sep=" " + ;; + esac + done +done +$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } +$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Be sure not to use single quotes in there, as some shells, +# such as our DU 5.0 friend, will then `close' the trap. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + cat <<\_ASBOX +## ---------------- ## +## Cache variables. ## +## ---------------- ## +_ASBOX + echo + # The following way of writing the cache mishandles newlines in values, +{ + (set) 2>&1 | + case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in + *ac_space=\ *) + sed -n \ + "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" + ;; + *) + sed -n \ + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + ;; + esac; +} + echo + + cat <<\_ASBOX +## ----------------- ## +## Output variables. ## +## ----------------- ## +_ASBOX + echo + for ac_var in $ac_subst_vars + do + eval ac_val=$`echo $ac_var` + echo "$ac_var='"'"'$ac_val'"'"'" + done | sort + echo + + if test -n "$ac_subst_files"; then + cat <<\_ASBOX +## ------------- ## +## Output files. ## +## ------------- ## +_ASBOX + echo + for ac_var in $ac_subst_files + do + eval ac_val=$`echo $ac_var` + echo "$ac_var='"'"'$ac_val'"'"'" + done | sort + echo + fi + + if test -s confdefs.h; then + cat <<\_ASBOX +## ----------- ## +## confdefs.h. ## +## ----------- ## +_ASBOX + echo + sed "/^$/d" confdefs.h | sort + echo + fi + test "$ac_signal" != 0 && + echo "$as_me: caught signal $ac_signal" + echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core && + rm -rf conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status + ' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -rf conftest* confdefs.h +# AIX cpp loses on an empty file, so make sure it contains at least a newline. +echo >confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer explicitly selected file to automatically selected ones. +if test -z "$CONFIG_SITE"; then + if test "x$prefix" != xNONE; then + CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" + else + CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" + fi +fi +for ac_site_file in $CONFIG_SITE; do + if test -r "$ac_site_file"; then + { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 +echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special + # files actually), so we avoid doing that. + if test -f "$cache_file"; then + { echo "$as_me:$LINENO: loading cache $cache_file" >&5 +echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . $cache_file;; + *) . ./$cache_file;; + esac + fi +else + { echo "$as_me:$LINENO: creating cache $cache_file" >&5 +echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in `(set) 2>&1 | + sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val="\$ac_cv_env_${ac_var}_value" + eval ac_new_val="\$ac_env_${ac_var}_value" + case $ac_old_set,$ac_new_set in + set,) + { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 +echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 +echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 +echo "$as_me: former value: $ac_old_val" >&2;} + { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 +echo "$as_me: current value: $ac_new_val" >&2;} + ac_cache_corrupted=: + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) + ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 +echo "$as_me: error: changes in the environment can compromise the build" >&2;} + { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 +echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + + + + + + + + + + + + + + + + + + + + + + + + ac_config_headers="$ac_config_headers config.h libdiscmage/config.h" + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + for ac_prog in gcc egcs cc + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + echo "$as_me:$LINENO: result: $CC" >&5 +echo "${ECHO_T}$CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in gcc egcs cc +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_CC+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_CC="$ac_prog" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 +echo "${ECHO_T}$ac_ct_CC" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + test -n "$ac_ct_CC" && break +done + + CC=$ac_ct_CC +fi + + +test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&5 +echo "$as_me: error: no acceptable C compiler found in \$PATH +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + +# Provide some information about the compiler. +echo "$as_me:$LINENO:" \ + "checking for C compiler version" >&5 +ac_compiler=`set X $ac_compile; echo $2` +{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version &5\"") >&5 + (eval $ac_compiler --version &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v &5\"") >&5 + (eval $ac_compiler -v &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } +{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V &5\"") >&5 + (eval $ac_compiler -V &5) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } + +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +echo "$as_me:$LINENO: checking for C compiler default output file name" >&5 +echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6 +ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` +if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 + (eval $ac_link_default) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # Find the output, starting from the most likely. This scheme is +# not robust to junk in `.', hence go to wildcards (a.*) only as a last +# resort. + +# Be careful to initialize this variable, since it used to be cached. +# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. +ac_cv_exeext= +# b.out is created by i960 compilers. +for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) + ;; + conftest.$ac_ext ) + # This is the source file. + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + # FIXME: I believe we export ac_cv_exeext for Libtool, + # but it would be cool to find out if it's true. Does anybody + # maintain Libtool? --akim. + export ac_cv_exeext + break;; + * ) + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: C compiler cannot create executables +See \`config.log' for more details." >&5 +echo "$as_me: error: C compiler cannot create executables +See \`config.log' for more details." >&2;} + { (exit 77); exit 77; }; } +fi + +ac_exeext=$ac_cv_exeext +echo "$as_me:$LINENO: result: $ac_file" >&5 +echo "${ECHO_T}$ac_file" >&6 + +# Check the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +echo "$as_me:$LINENO: checking whether the C compiler works" >&5 +echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 +# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 +# If not cross compiling, check that we can run a simple program. +if test "$cross_compiling" != yes; then + if { ac_try='./$ac_file' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { echo "$as_me:$LINENO: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } + fi + fi +fi +echo "$as_me:$LINENO: result: yes" >&5 +echo "${ECHO_T}yes" >&6 + +rm -f a.out a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +# Check the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 +echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 +echo "$as_me:$LINENO: result: $cross_compiling" >&5 +echo "${ECHO_T}$cross_compiling" >&6 + +echo "$as_me:$LINENO: checking for suffix of executables" >&5 +echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + export ac_cv_exeext + break;; + * ) break;; + esac +done +else + { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest$ac_cv_exeext +echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 +echo "${ECHO_T}$ac_cv_exeext" >&6 + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +echo "$as_me:$LINENO: checking for suffix of object files" >&5 +echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 +if test "${ac_cv_objext+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; then + for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&5 +echo "$as_me: error: cannot compute suffix of object files: cannot compile +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 +echo "${ECHO_T}$ac_cv_objext" >&6 +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 +echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 +if test "${ac_cv_c_compiler_gnu+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_compiler_gnu=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_compiler_gnu=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 +echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 +GCC=`test $ac_compiler_gnu = yes && echo yes` +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +CFLAGS="-g" +echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 +echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 +if test "${ac_cv_prog_cc_g+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cc_g=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_prog_cc_g=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 +echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 +if test "${ac_cv_prog_cc_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_prog_cc_stdc=no +ac_save_CC=$CC +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std1 is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std1. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +# Don't try gcc -ansi; that turns off useful extensions and +# breaks some systems' header files. +# AIX -qlanglvl=ansi +# Ultrix and OSF/1 -std1 +# HP-UX 10.20 and later -Ae +# HP-UX older versions -Aa -D_HPUX_SOURCE +# SVR4 -Xc -D__EXTENSIONS__ +for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_prog_cc_stdc=$ac_arg +break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext +done +rm -f conftest.$ac_ext conftest.$ac_objext +CC=$ac_save_CC + +fi + +case "x$ac_cv_prog_cc_stdc" in + x|xno) + echo "$as_me:$LINENO: result: none needed" >&5 +echo "${ECHO_T}none needed" >&6 ;; + *) + echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 +echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 + CC="$CC $ac_cv_prog_cc_stdc" ;; +esac + +# Some people use a C++ compiler to compile C. Since we use `exit', +# in C++ we need to declare it. In case someone uses the same compiler +# for both compiling C and C++ we need to have the C++ compiler decide +# the declaration of exit, since it's the most demanding environment. +cat >conftest.$ac_ext <<_ACEOF +#ifndef __cplusplus + choke me +#endif +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + for ac_declaration in \ + '' \ + 'extern "C" void std::exit (int) throw (); using std::exit;' \ + 'extern "C" void std::exit (int); using std::exit;' \ + 'extern "C" void exit (int) throw ();' \ + 'extern "C" void exit (int);' \ + 'void exit (int);' +do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +#include +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +continue +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_declaration +int +main () +{ +exit (42); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +done +rm -f conftest* +if test -n "$ac_declaration"; then + echo '#ifdef __cplusplus' >>confdefs.h + echo $ac_declaration >>confdefs.h + echo '#endif' >>confdefs.h +fi + +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 +echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test "${ac_cv_prog_CPP+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + # Double quotes because CPP needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +echo "$as_me:$LINENO: result: $CPP" >&5 +echo "${ECHO_T}$CPP" >&6 +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # Prefer to if __STDC__ is defined, since + # exists even on freestanding compilers. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifdef __STDC__ +# include +#else +# include +#endif + Syntax error +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + : +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.$ac_ext + + # OK, works on sane cases. Now check whether non-existent headers + # can be detected and how. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + # Broken: success on invalid input. +continue +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.err conftest.$ac_ext +if $ac_preproc_ok; then + : +else + { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&5 +echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details." >&2;} + { (exit 1); exit 1; }; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + +echo "$as_me:$LINENO: checking for egrep" >&5 +echo $ECHO_N "checking for egrep... $ECHO_C" >&6 +if test "${ac_cv_prog_egrep+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if echo a | (grep -E '(a|b)') >/dev/null 2>&1 + then ac_cv_prog_egrep='grep -E' + else ac_cv_prog_egrep='egrep' + fi +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 +echo "${ECHO_T}$ac_cv_prog_egrep" >&6 + EGREP=$ac_cv_prog_egrep + + +if test $ac_cv_c_compiler_gnu = yes; then + echo "$as_me:$LINENO: checking whether $CC needs -traditional" >&5 +echo $ECHO_N "checking whether $CC needs -traditional... $ECHO_C" >&6 +if test "${ac_cv_prog_gcc_traditional+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_pattern="Autoconf.*'x'" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +Autoconf TIOCGETP +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "$ac_pattern" >/dev/null 2>&1; then + ac_cv_prog_gcc_traditional=yes +else + ac_cv_prog_gcc_traditional=no +fi +rm -f conftest* + + + if test $ac_cv_prog_gcc_traditional = no; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +Autoconf TCGETA +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "$ac_pattern" >/dev/null 2>&1; then + ac_cv_prog_gcc_traditional=yes +fi +rm -f conftest* + + fi +fi +echo "$as_me:$LINENO: result: $ac_cv_prog_gcc_traditional" >&5 +echo "${ECHO_T}$ac_cv_prog_gcc_traditional" >&6 + if test $ac_cv_prog_gcc_traditional = yes; then + CC="$CC -traditional" + fi +fi + + + +echo "$as_me:$LINENO: checking whether debug output is enabled" >&5 +echo $ECHO_N "checking whether debug output is enabled... $ECHO_C" >&6 +# Check whether --enable-debug or --disable-debug was given. +if test "${enable_debug+set}" = set; then + enableval="$enable_debug" + enable_debug=$enableval +else + enable_debug=no +fi; +if test $enable_debug = yes; then + +cat >>confdefs.h <<\_ACEOF +#define DEBUG 1 +_ACEOF + +fi +echo "$as_me:$LINENO: result: $enable_debug" >&5 +echo "${ECHO_T}$enable_debug" >&6 + + +echo "$as_me:$LINENO: checking whether support for parallel port backup units is enabled" >&5 +echo $ECHO_N "checking whether support for parallel port backup units is enabled... $ECHO_C" >&6 +# Check whether --enable-parallel or --disable-parallel was given. +if test "${enable_parallel+set}" = set; then + enableval="$enable_parallel" + enable_parallel=$enableval +else + enable_parallel=yes +fi; +if test $enable_parallel = yes; then + +cat >>confdefs.h <<\_ACEOF +#define USE_PARALLEL 1 +_ACEOF + +fi +echo "$as_me:$LINENO: result: $enable_parallel" >&5 +echo "${ECHO_T}$enable_parallel" >&6 + + + + +echo "$as_me:$LINENO: checking whether to use ppdev" >&5 +echo $ECHO_N "checking whether to use ppdev... $ECHO_C" >&6 +# Check whether --enable-ppdev or --disable-ppdev was given. +if test "${enable_ppdev+set}" = set; then + enableval="$enable_ppdev" + enable_ppdev=$enableval +else + enable_ppdev=no +fi; +if test $enable_ppdev = yes; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + enable_ppdev=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +enable_ppdev=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +if test $enable_ppdev = yes; then + +cat >>confdefs.h <<\_ACEOF +#define USE_PPDEV 1 +_ACEOF + +fi +echo "$as_me:$LINENO: result: $enable_ppdev" >&5 +echo "${ECHO_T}$enable_ppdev" >&6 + + +echo "$as_me:$LINENO: checking whether the use of color is enabled" >&5 +echo $ECHO_N "checking whether the use of color is enabled... $ECHO_C" >&6 +# Check whether --enable-ansi_color or --disable-ansi_color was given. +if test "${enable_ansi_color+set}" = set; then + enableval="$enable_ansi_color" + enable_ansi_color=$enableval +else + enable_ansi_color=yes +fi; +if test $enable_ansi_color = yes; then + +cat >>confdefs.h <<\_ACEOF +#define USE_ANSI_COLOR 1 +_ACEOF + +fi +echo "$as_me:$LINENO: result: $enable_ansi_color" >&5 +echo "${ECHO_T}$enable_ansi_color" >&6 + + +echo "$as_me:$LINENO: checking whether add-on libraries are dynamically loaded" >&5 +echo $ECHO_N "checking whether add-on libraries are dynamically loaded... $ECHO_C" >&6 +# Check whether --enable-dload or --disable-dload was given. +if test "${enable_dload+set}" = set; then + enableval="$enable_dload" + enable_dload=$enableval +else + enable_dload=yes +fi; +if test $enable_dload = yes; then + +cat >>confdefs.h <<\_ACEOF +#define DLOPEN 1 +_ACEOF + + DEFINE_DLOPEN_MAKE="DLOPEN=1" +fi +echo "$as_me:$LINENO: result: $enable_dload" >&5 +echo "${ECHO_T}$enable_dload" >&6 + + + +echo "$as_me:$LINENO: checking whether libdiscmage is enabled" >&5 +echo $ECHO_N "checking whether libdiscmage is enabled... $ECHO_C" >&6 +# Check whether --enable-discmage or --disable-discmage was given. +if test "${enable_discmage+set}" = set; then + enableval="$enable_discmage" + enable_discmage=$enableval +else + enable_discmage=yes +fi; +if test $enable_discmage = yes; then + +cat >>confdefs.h <<\_ACEOF +#define USE_DISCMAGE 1 +_ACEOF + + DEFINE_DISCMAGE_MAKE="USE_DISCMAGE=1" +fi +echo "$as_me:$LINENO: result: $enable_discmage" >&5 +echo "${ECHO_T}$enable_discmage" >&6 + + + +echo "$as_me:$LINENO: checking whether libcd64 is enabled" >&5 +echo $ECHO_N "checking whether libcd64 is enabled... $ECHO_C" >&6 +# Check whether --enable-libcd64 or --disable-libcd64 was given. +if test "${enable_libcd64+set}" = set; then + enableval="$enable_libcd64" + enable_libcd64=$enableval +else + enable_libcd64=no +fi; +if test $enable_libcd64 = yes; then + +cat >>confdefs.h <<\_ACEOF +#define USE_LIBCD64 1 +_ACEOF + + DEFINE_LIBCD64_MAKE="USE_LIBCD64=1" +else + LIBI386_MAKE="-li386" +fi +echo "$as_me:$LINENO: result: $enable_libcd64" >&5 +echo "${ECHO_T}$enable_libcd64" >&6 + + + + +echo "$as_me:$LINENO: checking for zlib" >&5 +echo $ECHO_N "checking for zlib... $ECHO_C" >&6 + +# Check whether --with-zlib or --without-zlib was given. +if test "${with_zlib+set}" = set; then + withval="$with_zlib" + with_zlib=$withval +else + with_zlib=yes +fi; +if test $with_zlib = yes; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + with_zlib=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +with_zlib=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +if test $with_zlib = yes; then + +cat >>confdefs.h <<\_ACEOF +#define USE_ZLIB 1 +_ACEOF + + DEFINE_ZLIB_MAKE="USE_ZLIB=1" +fi +echo "$as_me:$LINENO: result: $with_zlib" >&5 +echo "${ECHO_T}$with_zlib" >&6 + + + +echo "$as_me:$LINENO: checking for libusb" >&5 +echo $ECHO_N "checking for libusb... $ECHO_C" >&6 + +# Check whether --with-libusb or --without-libusb was given. +if test "${with_libusb+set}" = set; then + withval="$with_libusb" + with_libusb=$withval +else + with_libusb=no +fi; +if test $with_libusb = yes; then + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + with_libusb=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +with_libusb=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +if test $with_libusb = yes; then + +cat >>confdefs.h <<\_ACEOF +#define USE_USB 1 +_ACEOF + + DEFINE_USB_MAKE="USE_USB=1" +fi +echo "$as_me:$LINENO: result: $with_libusb" >&5 +echo "${ECHO_T}$with_libusb" >&6 + + + + + + + + +ac_header_dirent=no +for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do + as_ac_Header=`echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` +echo "$as_me:$LINENO: checking for $ac_hdr that defines DIR" >&5 +echo $ECHO_N "checking for $ac_hdr that defines DIR... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include <$ac_hdr> + +int +main () +{ +if ((DIR *) 0) +return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_Header=no" +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 +_ACEOF + +ac_header_dirent=$ac_hdr; break +fi + +done +# Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. +if test $ac_header_dirent = dirent.h; then + echo "$as_me:$LINENO: checking for library containing opendir" >&5 +echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6 +if test "${ac_cv_search_opendir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_func_search_save_LIBS=$LIBS +ac_cv_search_opendir=no +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char opendir (); +int +main () +{ +opendir (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_search_opendir="none required" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +if test "$ac_cv_search_opendir" = no; then + for ac_lib in dir; do + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char opendir (); +int +main () +{ +opendir (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_search_opendir="-l$ac_lib" +break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + done +fi +LIBS=$ac_func_search_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 +echo "${ECHO_T}$ac_cv_search_opendir" >&6 +if test "$ac_cv_search_opendir" != no; then + test "$ac_cv_search_opendir" = "none required" || LIBS="$ac_cv_search_opendir $LIBS" + +fi + +else + echo "$as_me:$LINENO: checking for library containing opendir" >&5 +echo $ECHO_N "checking for library containing opendir... $ECHO_C" >&6 +if test "${ac_cv_search_opendir+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_func_search_save_LIBS=$LIBS +ac_cv_search_opendir=no +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char opendir (); +int +main () +{ +opendir (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_search_opendir="none required" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +if test "$ac_cv_search_opendir" = no; then + for ac_lib in x; do + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char opendir (); +int +main () +{ +opendir (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_search_opendir="-l$ac_lib" +break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext + done +fi +LIBS=$ac_func_search_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_search_opendir" >&5 +echo "${ECHO_T}$ac_cv_search_opendir" >&6 +if test "$ac_cv_search_opendir" != no; then + test "$ac_cv_search_opendir" = "none required" || LIBS="$ac_cv_search_opendir $LIBS" + +fi + +fi + +echo "$as_me:$LINENO: checking for ANSI C header files" >&5 +echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 +if test "${ac_cv_header_stdc+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#include +#include +#include + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_header_stdc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_header_stdc=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext + +if test $ac_cv_header_stdc = yes; then + # SunOS 4.x string.h does not declare mem*, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "memchr" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "free" >/dev/null 2>&1; then + : +else + ac_cv_header_stdc=no +fi +rm -f conftest* + +fi + +if test $ac_cv_header_stdc = yes; then + # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. + if test "$cross_compiling" = yes; then + : +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include +#if ((' ' & 0x0FF) == 0x020) +# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') +# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) +#else +# define ISLOWER(c) \ + (('a' <= (c) && (c) <= 'i') \ + || ('j' <= (c) && (c) <= 'r') \ + || ('s' <= (c) && (c) <= 'z')) +# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) +#endif + +#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) +int +main () +{ + int i; + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) + exit(2); + exit (0); +} +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + : +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_header_stdc=no +fi +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +fi +fi +echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 +echo "${ECHO_T}$ac_cv_header_stdc" >&6 +if test $ac_cv_header_stdc = yes; then + +cat >>confdefs.h <<\_ACEOF +#define STDC_HEADERS 1 +_ACEOF + +fi + +# On IRIX 5.3, sys/types and inttypes.h are conflicting. + + + + + + + + + +for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ + inttypes.h stdint.h unistd.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default + +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_Header=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_Header=no" +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + + + + + + +for ac_header in fcntl.h unistd.h byteswap.h inttypes.h sys/io.h +do +as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 +else + # Is the header compilable? +echo "$as_me:$LINENO: checking $ac_header usability" >&5 +echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +#include <$ac_header> +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_header_compiler=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_header_compiler=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 +echo "${ECHO_T}$ac_header_compiler" >&6 + +# Is the header present? +echo "$as_me:$LINENO: checking $ac_header presence" >&5 +echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6 +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include <$ac_header> +_ACEOF +if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 + (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } >/dev/null; then + if test -s conftest.err; then + ac_cpp_err=$ac_c_preproc_warn_flag + ac_cpp_err=$ac_cpp_err$ac_c_werror_flag + else + ac_cpp_err= + fi +else + ac_cpp_err=yes +fi +if test -z "$ac_cpp_err"; then + ac_header_preproc=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_header_preproc=no +fi +rm -f conftest.err conftest.$ac_ext +echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 +echo "${ECHO_T}$ac_header_preproc" >&6 + +# So? What about this header? +case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in + yes:no: ) + { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5 +echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;} + ac_header_preproc=yes + ;; + no:yes:* ) + { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5 +echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5 +echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5 +echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5 +echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5 +echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;} + { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5 +echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;} + ( + cat <<\_ASBOX +## ----------------------------- ## +## Report this to noisyb@gmx.net ## +## ----------------------------- ## +_ASBOX + ) | + sed "s/^/$as_me: WARNING: /" >&2 + ;; +esac +echo "$as_me:$LINENO: checking for $ac_header" >&5 +echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 +if eval "test \"\${$as_ac_Header+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + eval "$as_ac_Header=\$ac_header_preproc" +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 + +fi +if test `eval echo '${'$as_ac_Header'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 +_ACEOF + +fi + +done + + +echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5 +echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6 +if test "${ac_cv_c_const+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +int +main () +{ +/* FIXME: Include the comments suggested by Paul. */ +#ifndef __cplusplus + /* Ultrix mips cc rejects this. */ + typedef int charset[2]; + const charset x; + /* SunOS 4.1.1 cc rejects this. */ + char const *const *ccp; + char **p; + /* NEC SVR4.0.2 mips cc rejects this. */ + struct point {int x, y;}; + static struct point const zero = {0,0}; + /* AIX XL C 1.02.0.0 rejects this. + It does not let you subtract one const X* pointer from another in + an arm of an if-expression whose if-part is not a constant + expression */ + const char *g = "string"; + ccp = &g + (g ? g-g : 0); + /* HPUX 7.0 cc rejects these. */ + ++ccp; + p = (char**) ccp; + ccp = (char const *const *) p; + { /* SCO 3.2v4 cc rejects this. */ + char *t; + char const *s = 0 ? (char *) 0 : (char const *) 0; + + *t++ = 0; + } + { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ + int x[] = {25, 17}; + const int *foo = &x[0]; + ++foo; + } + { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ + typedef const int *iptr; + iptr p = 0; + ++p; + } + { /* AIX XL C 1.02.0.0 rejects this saying + "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ + struct s { int j; const int *ap[3]; }; + struct s *b; b->j = 5; + } + { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ + const int foo = 10; + } +#endif + + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_c_const=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_c_const=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5 +echo "${ECHO_T}$ac_cv_c_const" >&6 +if test $ac_cv_c_const = no; then + +cat >>confdefs.h <<\_ACEOF +#define const +_ACEOF + +fi + +echo "$as_me:$LINENO: checking for uid_t in sys/types.h" >&5 +echo $ECHO_N "checking for uid_t in sys/types.h... $ECHO_C" >&6 +if test "${ac_cv_type_uid_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#include + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "uid_t" >/dev/null 2>&1; then + ac_cv_type_uid_t=yes +else + ac_cv_type_uid_t=no +fi +rm -f conftest* + +fi +echo "$as_me:$LINENO: result: $ac_cv_type_uid_t" >&5 +echo "${ECHO_T}$ac_cv_type_uid_t" >&6 +if test $ac_cv_type_uid_t = no; then + +cat >>confdefs.h <<\_ACEOF +#define uid_t int +_ACEOF + + +cat >>confdefs.h <<\_ACEOF +#define gid_t int +_ACEOF + +fi + +echo "$as_me:$LINENO: checking for inline" >&5 +echo $ECHO_N "checking for inline... $ECHO_C" >&6 +if test "${ac_cv_c_inline+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_cv_c_inline=no +for ac_kw in inline __inline__ __inline; do + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +#ifndef __cplusplus +typedef int foo_t; +static $ac_kw foo_t static_foo () {return 0; } +$ac_kw foo_t foo () {return 0; } +#endif + +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_c_inline=$ac_kw; break +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +done + +fi +echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5 +echo "${ECHO_T}$ac_cv_c_inline" >&6 + + +case $ac_cv_c_inline in + inline | yes) ;; + *) + case $ac_cv_c_inline in + no) ac_val=;; + *) ac_val=$ac_cv_c_inline;; + esac + cat >>confdefs.h <<_ACEOF +#ifndef __cplusplus +#define inline $ac_val +#endif +_ACEOF + ;; +esac + +echo "$as_me:$LINENO: checking for pid_t" >&5 +echo $ECHO_N "checking for pid_t... $ECHO_C" >&6 +if test "${ac_cv_type_pid_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +if ((pid_t *) 0) + return 0; +if (sizeof (pid_t)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_type_pid_t=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_type_pid_t=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_type_pid_t" >&5 +echo "${ECHO_T}$ac_cv_type_pid_t" >&6 +if test $ac_cv_type_pid_t = yes; then + : +else + +cat >>confdefs.h <<_ACEOF +#define pid_t int +_ACEOF + +fi + +echo "$as_me:$LINENO: checking for size_t" >&5 +echo $ECHO_N "checking for size_t... $ECHO_C" >&6 +if test "${ac_cv_type_size_t+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ +if ((size_t *) 0) + return 0; +if (sizeof (size_t)) + return 0; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + (eval $ac_compile) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest.$ac_objext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_type_size_t=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_type_size_t=no +fi +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5 +echo "${ECHO_T}$ac_cv_type_size_t" >&6 +if test $ac_cv_type_size_t = yes; then + : +else + +cat >>confdefs.h <<_ACEOF +#define size_t unsigned +_ACEOF + +fi + + +echo "$as_me:$LINENO: checking for working memcmp" >&5 +echo $ECHO_N "checking for working memcmp... $ECHO_C" >&6 +if test "${ac_cv_func_memcmp_working+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test "$cross_compiling" = yes; then + ac_cv_func_memcmp_working=no +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +$ac_includes_default +int +main () +{ + + /* Some versions of memcmp are not 8-bit clean. */ + char c0 = 0x40, c1 = 0x80, c2 = 0x81; + if (memcmp(&c0, &c2, 1) >= 0 || memcmp(&c1, &c2, 1) >= 0) + exit (1); + + /* The Next x86 OpenStep bug shows up only when comparing 16 bytes + or more and with at least one buffer not starting on a 4-byte boundary. + William Lewis provided this test program. */ + { + char foo[21]; + char bar[21]; + int i; + for (i = 0; i < 4; i++) + { + char *a = foo + i; + char *b = bar + i; + strcpy (a, "--------01111111"); + strcpy (b, "--------10000000"); + if (memcmp (a, b, 16) >= 0) + exit (1); + } + exit (0); + } + + ; + return 0; +} +_ACEOF +rm -f conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && { ac_try='./conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func_memcmp_working=yes +else + echo "$as_me: program exited with status $ac_status" >&5 +echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +( exit $ac_status ) +ac_cv_func_memcmp_working=no +fi +rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext +fi +fi +echo "$as_me:$LINENO: result: $ac_cv_func_memcmp_working" >&5 +echo "${ECHO_T}$ac_cv_func_memcmp_working" >&6 +test $ac_cv_func_memcmp_working = no && case $LIBOBJS in + "memcmp.$ac_objext" | \ + *" memcmp.$ac_objext" | \ + "memcmp.$ac_objext "* | \ + *" memcmp.$ac_objext "* ) ;; + *) LIBOBJS="$LIBOBJS memcmp.$ac_objext" ;; +esac + + + +for ac_func in strftime +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 +if eval "test \"\${$as_ac_var+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != $ac_func; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_var=no" +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +else + # strftime is in -lintl on SCO UNIX. +echo "$as_me:$LINENO: checking for strftime in -lintl" >&5 +echo $ECHO_N "checking for strftime in -lintl... $ECHO_C" >&6 +if test "${ac_cv_lib_intl_strftime+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lintl $LIBS" +cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char strftime (); +int +main () +{ +strftime (); + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_lib_intl_strftime=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_lib_intl_strftime=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +echo "$as_me:$LINENO: result: $ac_cv_lib_intl_strftime" >&5 +echo "${ECHO_T}$ac_cv_lib_intl_strftime" >&6 +if test $ac_cv_lib_intl_strftime = yes; then + cat >>confdefs.h <<\_ACEOF +#define HAVE_STRFTIME 1 +_ACEOF + +LIBS="-lintl $LIBS" +fi + +fi +done + + +for ac_func in vprintf +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 +if eval "test \"\${$as_ac_var+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != $ac_func; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_var=no" +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +echo "$as_me:$LINENO: checking for _doprnt" >&5 +echo $ECHO_N "checking for _doprnt... $ECHO_C" >&6 +if test "${ac_cv_func__doprnt+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define _doprnt to an innocuous variant, in case declares _doprnt. + For example, HP-UX 11i declares gettimeofday. */ +#define _doprnt innocuous__doprnt + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char _doprnt (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef _doprnt + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char _doprnt (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub__doprnt) || defined (__stub____doprnt) +choke me +#else +char (*f) () = _doprnt; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != _doprnt; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + ac_cv_func__doprnt=yes +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +ac_cv_func__doprnt=no +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: $ac_cv_func__doprnt" >&5 +echo "${ECHO_T}$ac_cv_func__doprnt" >&6 +if test $ac_cv_func__doprnt = yes; then + +cat >>confdefs.h <<\_ACEOF +#define HAVE_DOPRNT 1 +_ACEOF + +fi + +fi +done + + + +for ac_func in realpath +do +as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh` +echo "$as_me:$LINENO: checking for $ac_func" >&5 +echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6 +if eval "test \"\${$as_ac_var+set}\" = set"; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + cat >conftest.$ac_ext <<_ACEOF +/* confdefs.h. */ +_ACEOF +cat confdefs.h >>conftest.$ac_ext +cat >>conftest.$ac_ext <<_ACEOF +/* end confdefs.h. */ +/* Define $ac_func to an innocuous variant, in case declares $ac_func. + For example, HP-UX 11i declares gettimeofday. */ +#define $ac_func innocuous_$ac_func + +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char $ac_func (); below. + Prefer to if __STDC__ is defined, since + exists even on freestanding compilers. */ + +#ifdef __STDC__ +# include +#else +# include +#endif + +#undef $ac_func + +/* Override any gcc2 internal prototype to avoid an error. */ +#ifdef __cplusplus +extern "C" +{ +#endif +/* We use char because int might match the return type of a gcc2 + builtin and then its argument prototype would still apply. */ +char $ac_func (); +/* The GNU C library defines this for functions which it implements + to always fail with ENOSYS. Some functions are actually named + something starting with __ and the normal name is an alias. */ +#if defined (__stub_$ac_func) || defined (__stub___$ac_func) +choke me +#else +char (*f) () = $ac_func; +#endif +#ifdef __cplusplus +} +#endif + +int +main () +{ +return f != $ac_func; + ; + return 0; +} +_ACEOF +rm -f conftest.$ac_objext conftest$ac_exeext +if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 + (eval $ac_link) 2>conftest.er1 + ac_status=$? + grep -v '^ *+' conftest.er1 >conftest.err + rm -f conftest.er1 + cat conftest.err >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); } && + { ac_try='test -z "$ac_c_werror_flag" + || test ! -s conftest.err' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; } && + { ac_try='test -s conftest$ac_exeext' + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 + (eval $ac_try) 2>&5 + ac_status=$? + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + eval "$as_ac_var=yes" +else + echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +eval "$as_ac_var=no" +fi +rm -f conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +fi +echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5 +echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6 +if test `eval echo '${'$as_ac_var'}'` = yes; then + cat >>confdefs.h <<_ACEOF +#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1 +_ACEOF + +fi +done + + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + echo "$as_me:$LINENO: result: $RANLIB" >&5 +echo "${ECHO_T}$RANLIB" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +echo "$as_me:$LINENO: checking for $ac_word" >&5 +echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 +if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done + + test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 +echo "${ECHO_T}$ac_ct_RANLIB" >&6 +else + echo "$as_me:$LINENO: result: no" >&5 +echo "${ECHO_T}no" >&6 +fi + + RANLIB=$ac_ct_RANLIB +else + RANLIB="$ac_cv_prog_RANLIB" +fi + +ac_aux_dir= +for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do + if test -f $ac_dir/install-sh; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install-sh -c" + break + elif test -f $ac_dir/install.sh; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/install.sh -c" + break + elif test -f $ac_dir/shtool; then + ac_aux_dir=$ac_dir + ac_install_sh="$ac_aux_dir/shtool install -c" + break + fi +done +if test -z "$ac_aux_dir"; then + { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 +echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} + { (exit 1); exit 1; }; } +fi +ac_config_guess="$SHELL $ac_aux_dir/config.guess" +ac_config_sub="$SHELL $ac_aux_dir/config.sub" +ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + echo $ECHO_N "(cached) $ECHO_C" >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + done + done + ;; +esac +done + + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. We don't cache a + # path for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the path is relative. + INSTALL=$ac_install_sh + fi +fi +echo "$as_me:$LINENO: result: $INSTALL" >&5 +echo "${ECHO_T}$INSTALL" >&6 + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + + + ac_config_files="$ac_config_files Makefile libdiscmage/Makefile" +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, don't put newlines in cache variables' values. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +{ + (set) 2>&1 | + case `(ac_space=' '; set | grep ac_space) 2>&1` in + *ac_space=\ *) + # `set' does not quote correctly, so add quotes (double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \). + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n \ + "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" + ;; + esac; +} | + sed ' + t clear + : clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + : end' >>confcache +if diff $cache_file confcache >/dev/null 2>&1; then :; else + if test -w $cache_file; then + test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" + cat confcache >$cache_file + else + echo "not updating unwritable cache $cache_file" + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +# VPATH may cause trouble with some makes, so we remove $(srcdir), +# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=/{ +s/:*\$(srcdir):*/:/; +s/:*\${srcdir}:*/:/; +s/:*@srcdir@:*/:/; +s/^\([^=]*=[ ]*\):*/\1/; +s/:*$//; +s/^[^=]*=[ ]*$//; +}' +fi + +DEFS=-DHAVE_CONFIG_H + +ac_libobjs= +ac_ltlibobjs= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_i=`echo "$ac_i" | + sed 's/\$U\././;s/\.o$//;s/\.obj$//'` + # 2. Add them. + ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" + ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + + +: ${CONFIG_STATUS=./config.status} +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 +echo "$as_me: creating $CONFIG_STATUS" >&6;} +cat >$CONFIG_STATUS <<_ACEOF +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false +SHELL=\${CONFIG_SHELL-$SHELL} +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +## --------------------- ## +## M4sh Initialization. ## +## --------------------- ## + +# Be Bourne compatible +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then + emulate sh + NULLCMD=: + # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' +elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then + set -o posix +fi +DUALCASE=1; export DUALCASE # for MKS sh + +# Support unset when possible. +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then + as_unset=unset +else + as_unset=false +fi + + +# Work around bugs in pre-3.0 UWIN ksh. +$as_unset ENV MAIL MAILPATH +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +for as_var in \ + LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ + LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ + LC_TELEPHONE LC_TIME +do + if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then + eval $as_var=C; export $as_var + else + $as_unset $as_var + fi +done + +# Required to use basename. +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + + +# Name of the executable. +as_me=`$as_basename "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)$' \| \ + . : '\(.\)' 2>/dev/null || +echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } + /^X\/\(\/\/\)$/{ s//\1/; q; } + /^X\/\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + + +# PATH needs CR, and LINENO needs CR and PATH. +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + echo "#! /bin/sh" >conf$$.sh + echo "exit 0" >>conf$$.sh + chmod +x conf$$.sh + if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then + PATH_SEPARATOR=';' + else + PATH_SEPARATOR=: + fi + rm -f conf$$.sh +fi + + + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" || { + # Find who we are. Look in the path if we contain no path at all + # relative or not. + case $0 in + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break +done + + ;; + esac + # We did not find ourselves, most probably we were run as `sh COMMAND' + # in which case we are not to be found in the path. + if test "x$as_myself" = x; then + as_myself=$0 + fi + if test ! -f "$as_myself"; then + { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 +echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} + { (exit 1); exit 1; }; } + fi + case $CONFIG_SHELL in + '') + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for as_base in sh bash ksh sh5; do + case $as_dir in + /*) + if ("$as_dir/$as_base" -c ' + as_lineno_1=$LINENO + as_lineno_2=$LINENO + as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` + test "x$as_lineno_1" != "x$as_lineno_2" && + test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then + $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } + $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } + CONFIG_SHELL=$as_dir/$as_base + export CONFIG_SHELL + exec "$CONFIG_SHELL" "$0" ${1+"$@"} + fi;; + esac + done +done +;; + esac + + # Create $as_me.lineno as a copy of $as_myself, but with $LINENO + # uniformly replaced by the line number. The first 'sed' inserts a + # line-number line before each line; the second 'sed' does the real + # work. The second script uses 'N' to pair each line-number line + # with the numbered line, and appends trailing '-' during + # substitution so that $LINENO is not a special case at line end. + # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the + # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) + sed '=' <$as_myself | + sed ' + N + s,$,-, + : loop + s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, + t loop + s,-$,, + s,^['$as_cr_digits']*\n,, + ' >$as_me.lineno && + chmod +x $as_me.lineno || + { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 +echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} + { (exit 1); exit 1; }; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensible to this). + . ./$as_me.lineno + # Exit status is that of the last command. + exit +} + + +case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in + *c*,-n*) ECHO_N= ECHO_C=' +' ECHO_T=' ' ;; + *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; + *) ECHO_N= ECHO_C='\c' ECHO_T= ;; +esac + +if expr a : '\(a\)' >/dev/null 2>&1; then + as_expr=expr +else + as_expr=false +fi + +rm -f conf$$ conf$$.exe conf$$.file +echo >conf$$.file +if ln -s conf$$.file conf$$ 2>/dev/null; then + # We could just check for DJGPP; but this test a) works b) is more generic + # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). + if test -f conf$$.exe; then + # Don't use ln at all; we don't have any links + as_ln_s='cp -p' + else + as_ln_s='ln -s' + fi +elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.file + +if mkdir -p . 2>/dev/null; then + as_mkdir_p=: +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +as_executable_p="test -f" + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +# IFS +# We need space, tab and new line, in precisely that order. +as_nl=' +' +IFS=" $as_nl" + +# CDPATH. +$as_unset CDPATH + +exec 6>&1 + +# Open the log real soon, to keep \$[0] and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. Logging --version etc. is OK. +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX +} >&5 +cat >&5 <<_CSEOF + +This file was extended by uCON64 $as_me 2.0.0, which was +generated by GNU Autoconf 2.58. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +_CSEOF +echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 +echo >&5 +_ACEOF + +# Files that config.status was made for. +if test -n "$ac_config_files"; then + echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_headers"; then + echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_links"; then + echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS +fi + +if test -n "$ac_config_commands"; then + echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS +fi + +cat >>$CONFIG_STATUS <<\_ACEOF + +ac_cs_usage="\ +\`$as_me' instantiates files from templates according to the +current configuration. + +Usage: $0 [OPTIONS] [FILE]... + + -h, --help print this help, then exit + -V, --version print version number, then exit + -q, --quiet do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + --header=FILE[:TEMPLATE] + instantiate the configuration header FILE + +Configuration files: +$config_files + +Configuration headers: +$config_headers + +Report bugs to ." +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF +ac_cs_version="\\ +uCON64 config.status 2.0.0 +configured by $0, generated by GNU Autoconf 2.58, + with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" + +Copyright (C) 2003 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." +srcdir=$srcdir +INSTALL="$INSTALL" +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF +# If no file are specified by the user, then we need to provide default +# value. By we need to know if files were specified by the user. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=*) + ac_option=`expr "x$1" : 'x\([^=]*\)='` + ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` + ac_shift=: + ;; + -*) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + *) # This is not an option, so the user has probably given explicit + # arguments. + ac_option=$1 + ac_need_defaults=false;; + esac + + case $ac_option in + # Handling of the options. +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --vers* | -V ) + echo "$ac_cs_version"; exit 0 ;; + --he | --h) + # Conflict between --help and --header + { { echo "$as_me:$LINENO: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: ambiguous option: $1 +Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; };; + --help | --hel | -h ) + echo "$ac_cs_usage"; exit 0 ;; + --debug | --d* | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + CONFIG_FILES="$CONFIG_FILES $ac_optarg" + ac_need_defaults=false;; + --header | --heade | --head | --hea ) + $ac_shift + CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" + ac_need_defaults=false;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&5 +echo "$as_me: error: unrecognized option: $1 +Try \`$0 --help' for more information." >&2;} + { (exit 1); exit 1; }; } ;; + + *) ac_config_targets="$ac_config_targets $1" ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF +if \$ac_cs_recheck; then + echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 + exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion +fi + +_ACEOF + + + + + +cat >>$CONFIG_STATUS <<\_ACEOF +for ac_config_target in $ac_config_targets +do + case "$ac_config_target" in + # Handling of arguments. + "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;; + "libdiscmage/Makefile" ) CONFIG_FILES="$CONFIG_FILES libdiscmage/Makefile" ;; + "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; + "libdiscmage/config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS libdiscmage/config.h" ;; + *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 +echo "$as_me: error: invalid argument: $ac_config_target" >&2;} + { (exit 1); exit 1; }; };; + esac +done + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files + test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason to put it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Create a temporary directory, and hook for its removal unless debugging. +$debug || +{ + trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 + trap '{ (exit 1); exit 1; }' 1 2 13 15 +} + +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && + test -n "$tmp" && test -d "$tmp" +} || +{ + tmp=./confstat$$-$RANDOM + (umask 077 && mkdir $tmp) +} || +{ + echo "$me: cannot create a temporary directory in ." >&2 + { (exit 1); exit 1; } +} + +_ACEOF + +cat >>$CONFIG_STATUS <<_ACEOF + +# +# CONFIG_FILES section. +# + +# No need to generate the scripts if there are no CONFIG_FILES. +# This happens for instance when ./config.status config.h +if test -n "\$CONFIG_FILES"; then + # Protect against being on the right side of a sed subst in config.status. + sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; + s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF +s,@SHELL@,$SHELL,;t t +s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t +s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t +s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t +s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t +s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t +s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t +s,@exec_prefix@,$exec_prefix,;t t +s,@prefix@,$prefix,;t t +s,@program_transform_name@,$program_transform_name,;t t +s,@bindir@,$bindir,;t t +s,@sbindir@,$sbindir,;t t +s,@libexecdir@,$libexecdir,;t t +s,@datadir@,$datadir,;t t +s,@sysconfdir@,$sysconfdir,;t t +s,@sharedstatedir@,$sharedstatedir,;t t +s,@localstatedir@,$localstatedir,;t t +s,@libdir@,$libdir,;t t +s,@includedir@,$includedir,;t t +s,@oldincludedir@,$oldincludedir,;t t +s,@infodir@,$infodir,;t t +s,@mandir@,$mandir,;t t +s,@build_alias@,$build_alias,;t t +s,@host_alias@,$host_alias,;t t +s,@target_alias@,$target_alias,;t t +s,@DEFS@,$DEFS,;t t +s,@ECHO_C@,$ECHO_C,;t t +s,@ECHO_N@,$ECHO_N,;t t +s,@ECHO_T@,$ECHO_T,;t t +s,@LIBS@,$LIBS,;t t +s,@CC@,$CC,;t t +s,@CFLAGS@,$CFLAGS,;t t +s,@LDFLAGS@,$LDFLAGS,;t t +s,@CPPFLAGS@,$CPPFLAGS,;t t +s,@ac_ct_CC@,$ac_ct_CC,;t t +s,@EXEEXT@,$EXEEXT,;t t +s,@OBJEXT@,$OBJEXT,;t t +s,@CPP@,$CPP,;t t +s,@EGREP@,$EGREP,;t t +s,@DEFINE_DLOPEN_MAKE@,$DEFINE_DLOPEN_MAKE,;t t +s,@DEFINE_DISCMAGE_MAKE@,$DEFINE_DISCMAGE_MAKE,;t t +s,@DEFINE_LIBCD64_MAKE@,$DEFINE_LIBCD64_MAKE,;t t +s,@LIBI386_MAKE@,$LIBI386_MAKE,;t t +s,@DEFINE_ZLIB_MAKE@,$DEFINE_ZLIB_MAKE,;t t +s,@DEFINE_USB_MAKE@,$DEFINE_USB_MAKE,;t t +s,@LIBOBJS@,$LIBOBJS,;t t +s,@RANLIB@,$RANLIB,;t t +s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t +s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t +s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t +s,@INSTALL_DATA@,$INSTALL_DATA,;t t +s,@LTLIBOBJS@,$LTLIBOBJS,;t t +CEOF + +_ACEOF + + cat >>$CONFIG_STATUS <<\_ACEOF + # Split the substitutions into bite-sized pieces for seds with + # small command number limits, like on Digital OSF/1 and HP-UX. + ac_max_sed_lines=48 + ac_sed_frag=1 # Number of current file. + ac_beg=1 # First line for current file. + ac_end=$ac_max_sed_lines # Line after last line for current file. + ac_more_lines=: + ac_sed_cmds= + while $ac_more_lines; do + if test $ac_beg -gt 1; then + sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + else + sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag + fi + if test ! -s $tmp/subs.frag; then + ac_more_lines=false + else + # The purpose of the label and of the branching condition is to + # speed up the sed processing (if there are no `@' at all, there + # is no need to browse any of the substitutions). + # These are the two extra sed commands mentioned above. + (echo ':t + /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed + if test -z "$ac_sed_cmds"; then + ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" + else + ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" + fi + ac_sed_frag=`expr $ac_sed_frag + 1` + ac_beg=$ac_end + ac_end=`expr $ac_end + $ac_max_sed_lines` + fi + done + if test -z "$ac_sed_cmds"; then + ac_sed_cmds=cat + fi +fi # test -n "$CONFIG_FILES" + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; + esac + + # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + ac_builddir=. + +if test "$ac_dir" != .; then + ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` + # A "../" for each directory in $ac_dir_suffix. + ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` +else + ac_dir_suffix= ac_top_builddir= +fi + +case $srcdir in + .) # No --srcdir option. We are building in place. + ac_srcdir=. + if test -z "$ac_top_builddir"; then + ac_top_srcdir=. + else + ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` + fi ;; + [\\/]* | ?:[\\/]* ) # Absolute path. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir ;; + *) # Relative path. + ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_builddir$srcdir ;; +esac +case "$ac_dir" in +.) ac_abs_builddir=$ac_builddir;; +*) + case $ac_builddir in + .) ac_abs_builddir="$ac_dir";; + [\\/]* | ?:[\\/]* ) ac_abs_builddir=$ac_builddir;; + *) ac_abs_builddir="$ac_dir"/$ac_builddir;; + esac;; +esac +case "$ac_dir" in +.) ac_abs_top_builddir=${ac_top_builddir}.;; +*) + case ${ac_top_builddir}. in + .) ac_abs_top_builddir="$ac_dir";; + [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;; + *) ac_abs_top_builddir="$ac_dir"/${ac_top_builddir}.;; + esac;; +esac +case "$ac_dir" in +.) ac_abs_srcdir=$ac_srcdir;; +*) + case $ac_srcdir in + .) ac_abs_srcdir="$ac_dir";; + [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;; + *) ac_abs_srcdir="$ac_dir"/$ac_srcdir;; + esac;; +esac +case "$ac_dir" in +.) ac_abs_top_srcdir=$ac_top_srcdir;; +*) + case $ac_top_srcdir in + .) ac_abs_top_srcdir="$ac_dir";; + [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;; + *) ac_abs_top_srcdir="$ac_dir"/$ac_top_srcdir;; + esac;; +esac + + + case $INSTALL in + [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; + *) ac_INSTALL=$ac_top_builddir$INSTALL ;; + esac + + if test x"$ac_file" != x-; then + { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + rm -f "$ac_file" + fi + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + if test x"$ac_file" = x-; then + configure_input= + else + configure_input="$ac_file. " + fi + configure_input=$configure_input"Generated from `echo $ac_file_in | + sed 's,.*/,,'` by configure." + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + echo "$f";; + *) # Relative + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF + sed "$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s,@configure_input@,$configure_input,;t t +s,@srcdir@,$ac_srcdir,;t t +s,@abs_srcdir@,$ac_abs_srcdir,;t t +s,@top_srcdir@,$ac_top_srcdir,;t t +s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t +s,@builddir@,$ac_builddir,;t t +s,@abs_builddir@,$ac_abs_builddir,;t t +s,@top_builddir@,$ac_top_builddir,;t t +s,@abs_top_builddir@,$ac_abs_top_builddir,;t t +s,@INSTALL@,$ac_INSTALL,;t t +" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out + rm -f $tmp/stdin + if test x"$ac_file" != x-; then + mv $tmp/out $ac_file + else + cat $tmp/out + rm -f $tmp/out + fi + +done +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF + +# +# CONFIG_HEADER section. +# + +# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where +# NAME is the cpp macro being defined and VALUE is the value it is being given. +# +# ac_d sets the value in "#define NAME VALUE" lines. +ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)' +ac_dB='[ ].*$,\1#\2' +ac_dC=' ' +ac_dD=',;t' +# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE". +ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' +ac_uB='$,\1#\2define\3' +ac_uC=' ' +ac_uD=',;t' + +for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". + case $ac_file in + - | *:- | *:-:* ) # input from stdin + cat >$tmp/stdin + ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` + ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; + * ) ac_file_in=$ac_file.in ;; + esac + + test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5 +echo "$as_me: creating $ac_file" >&6;} + + # First look for the input files in the build tree, otherwise in the + # src tree. + ac_file_inputs=`IFS=: + for f in $ac_file_in; do + case $f in + -) echo $tmp/stdin ;; + [\\/$]*) + # Absolute (can't be DOS-style, as IFS=:) + test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + # Do quote $f, to prevent DOS paths from being IFS'd. + echo "$f";; + *) # Relative + if test -f "$f"; then + # Build tree + echo "$f" + elif test -f "$srcdir/$f"; then + # Source tree + echo "$srcdir/$f" + else + # /dev/null tree + { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 +echo "$as_me: error: cannot find input file: $f" >&2;} + { (exit 1); exit 1; }; } + fi;; + esac + done` || { (exit 1); exit 1; } + # Remove the trailing spaces. + sed 's/[ ]*$//' $ac_file_inputs >$tmp/in + +_ACEOF + +# Transform confdefs.h into two sed scripts, `conftest.defines' and +# `conftest.undefs', that substitutes the proper values into +# config.h.in to produce config.h. The first handles `#define' +# templates, and the second `#undef' templates. +# And first: Protect against being on the right side of a sed subst in +# config.status. Protect against being in an unquoted here document +# in config.status. +rm -f conftest.defines conftest.undefs +# Using a here document instead of a string reduces the quoting nightmare. +# Putting comments in sed scripts is not portable. +# +# `end' is used to avoid that the second main sed command (meant for +# 0-ary CPP macros) applies to n-ary macro definitions. +# See the Autoconf documentation for `clear'. +cat >confdef2sed.sed <<\_ACEOF +s/[\\&,]/\\&/g +s,[\\$`],\\&,g +t clear +: clear +s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp +t end +s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp +: end +_ACEOF +# If some macros were called several times there might be several times +# the same #defines, which is useless. Nevertheless, we may not want to +# sort them, since we want the *last* AC-DEFINE to be honored. +uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines +sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs +rm -f confdef2sed.sed + +# This sed command replaces #undef with comments. This is necessary, for +# example, in the case of _POSIX_SOURCE, which is predefined and required +# on some systems where configure will not decide to define it. +cat >>conftest.undefs <<\_ACEOF +s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */, +_ACEOF + +# Break up conftest.defines because some shells have a limit on the size +# of here documents, and old seds have small limits too (100 cmds). +echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS +echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS +echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS +echo ' :' >>$CONFIG_STATUS +rm -f conftest.tail +while grep . conftest.defines >/dev/null +do + # Write a limited-size here document to $tmp/defines.sed. + echo ' cat >$tmp/defines.sed <>$CONFIG_STATUS + # Speed up: don't consider the non `#define' lines. + echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS + # Work around the forget-to-reset-the-flag bug. + echo 't clr' >>$CONFIG_STATUS + echo ': clr' >>$CONFIG_STATUS + sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS + echo 'CEOF + sed -f $tmp/defines.sed $tmp/in >$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in +' >>$CONFIG_STATUS + sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail + rm -f conftest.defines + mv conftest.tail conftest.defines +done +rm -f conftest.defines +echo ' fi # grep' >>$CONFIG_STATUS +echo >>$CONFIG_STATUS + +# Break up conftest.undefs because some shells have a limit on the size +# of here documents, and old seds have small limits too (100 cmds). +echo ' # Handle all the #undef templates' >>$CONFIG_STATUS +rm -f conftest.tail +while grep . conftest.undefs >/dev/null +do + # Write a limited-size here document to $tmp/undefs.sed. + echo ' cat >$tmp/undefs.sed <>$CONFIG_STATUS + # Speed up: don't consider the non `#undef' + echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS + # Work around the forget-to-reset-the-flag bug. + echo 't clr' >>$CONFIG_STATUS + echo ': clr' >>$CONFIG_STATUS + sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS + echo 'CEOF + sed -f $tmp/undefs.sed $tmp/in >$tmp/out + rm -f $tmp/in + mv $tmp/out $tmp/in +' >>$CONFIG_STATUS + sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail + rm -f conftest.undefs + mv conftest.tail conftest.undefs +done +rm -f conftest.undefs + +cat >>$CONFIG_STATUS <<\_ACEOF + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + if test x"$ac_file" = x-; then + echo "/* Generated by configure. */" >$tmp/config.h + else + echo "/* $ac_file. Generated by configure. */" >$tmp/config.h + fi + cat $tmp/in >>$tmp/config.h + rm -f $tmp/in + if test x"$ac_file" != x-; then + if diff $ac_file $tmp/config.h >/dev/null 2>&1; then + { echo "$as_me:$LINENO: $ac_file is unchanged" >&5 +echo "$as_me: $ac_file is unchanged" >&6;} + else + ac_dir=`(dirname "$ac_file") 2>/dev/null || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + { if $as_mkdir_p; then + mkdir -p "$ac_dir" + else + as_dir="$ac_dir" + as_dirs= + while test ! -d "$as_dir"; do + as_dirs="$as_dir $as_dirs" + as_dir=`(dirname "$as_dir") 2>/dev/null || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || +echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } + /^X\(\/\/\)[^/].*/{ s//\1/; q; } + /^X\(\/\/\)$/{ s//\1/; q; } + /^X\(\/\).*/{ s//\1/; q; } + s/.*/./; q'` + done + test ! -n "$as_dirs" || mkdir $as_dirs + fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 +echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} + { (exit 1); exit 1; }; }; } + + rm -f $ac_file + mv $tmp/config.h $ac_file + fi + else + cat $tmp/config.h + rm -f $tmp/config.h + fi +done +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF + +{ (exit 0); exit 0; } +_ACEOF +chmod +x $CONFIG_STATUS +ac_clean_files=$ac_clean_files_save + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || { (exit 1); exit 1; } +fi + + +echo +echo NOTE: On non-Linux systems you might need to use gmake instead of make diff --git a/tools/ucon64-2.0.0-src/src/configure.in b/tools/ucon64-2.0.0-src/src/configure.in new file mode 100644 index 0000000..7c2f7d6 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/configure.in @@ -0,0 +1,183 @@ +dnl Process this file with autoconf to produce a configure script. +AC_INIT(uCON64, 2.0.0, noisyb@gmx.net) +AC_CONFIG_HEADER(config.h libdiscmage/config.h) + + +dnl Checks for programs. +AC_PROG_CC(gcc egcs cc) +AC_PROG_GCC_TRADITIONAL + + +AC_MSG_CHECKING(whether debug output is enabled) +AC_ARG_ENABLE(debug, + AC_HELP_STRING([--enable-debug], + [enable debug output (default: no)]), + enable_debug=$enableval, + enable_debug=no) +if test $enable_debug = yes; then + AC_DEFINE(DEBUG, 1, [enable debug output (default: no)]) +fi +AC_MSG_RESULT($enable_debug) + + +AC_MSG_CHECKING(whether support for parallel port backup units is enabled) +AC_ARG_ENABLE(parallel, + AC_HELP_STRING([--enable-parallel], + [enable support for parallel port backup units (default: yes)]), + enable_parallel=$enableval, + enable_parallel=yes) +if test $enable_parallel = yes; then + AC_DEFINE(USE_PARALLEL, 1, [enable support for parallel port backup units (default: yes)]) +fi +AC_MSG_RESULT($enable_parallel) + + +dnl AC_MSG_CHECKING(whether support for serial port backup units is enabled) +dnl AC_ARG_ENABLE(serial, +dnl AC_HELP_STRING([--enable-serial], +dnl [enable support for serial port backup units (default: yes)]), +dnl enable_serial=$enableval, +dnl enable_serial=yes) +dnl if test $enable_serial = yes; then +dnl AC_DEFINE(USE_SERIAL, 1, [enable support for serial port backup units (default: yes)]) +dnl fi +dnl AC_MSG_RESULT($enable_serial) + + +AC_MSG_CHECKING(whether to use ppdev) +AC_ARG_ENABLE(ppdev, + AC_HELP_STRING([--enable-ppdev], + [use ppdev for parallel port I/O (default: no)]), + enable_ppdev=$enableval, + enable_ppdev=no) +if test $enable_ppdev = yes; then + AC_TRY_COMPILE([#include ], , enable_ppdev=yes, enable_ppdev=no) +fi +if test $enable_ppdev = yes; then + AC_DEFINE(USE_PPDEV, 1, [use ppdev for parallel port I/O (default: no)]) +fi +AC_MSG_RESULT($enable_ppdev) + + +AC_MSG_CHECKING(whether the use of color is enabled) +AC_ARG_ENABLE(ansi_color, + AC_HELP_STRING([--enable-ansi-color], + [enable usage of color (default: yes)]), + enable_ansi_color=$enableval, + enable_ansi_color=yes) +if test $enable_ansi_color = yes; then + AC_DEFINE(USE_ANSI_COLOR, 1, [enable usage of color (default: yes)]) +fi +AC_MSG_RESULT($enable_ansi_color) + + +AC_MSG_CHECKING(whether add-on libraries are dynamically loaded) +AC_ARG_ENABLE(dload, + AC_HELP_STRING([--enable-dload], + [enable dynamic loading of add-on libraries (default: yes)]), + enable_dload=$enableval, + enable_dload=yes) +if test $enable_dload = yes; then + AC_DEFINE(DLOPEN, 1, [enable dynamic loading of add-on libraries (default: yes)]) + DEFINE_DLOPEN_MAKE="DLOPEN=1" +fi +AC_MSG_RESULT($enable_dload) +AC_SUBST(DEFINE_DLOPEN_MAKE) + + +AC_MSG_CHECKING(whether libdiscmage is enabled) +AC_ARG_ENABLE(discmage, + AC_HELP_STRING([--enable-discmage], + [enable libdiscmage (default: yes)]), + enable_discmage=$enableval, + enable_discmage=yes) +if test $enable_discmage = yes; then + AC_DEFINE(USE_DISCMAGE, 1, [enable libdiscmage (default: yes)]) + DEFINE_DISCMAGE_MAKE="USE_DISCMAGE=1" +fi +AC_MSG_RESULT($enable_discmage) +AC_SUBST(DEFINE_DISCMAGE_MAKE) + + +dnl This belongs here, not at the checks for libraries. We don't have to check +dnl if libcd64 is present as it is part of our source tree. +AC_MSG_CHECKING(whether libcd64 is enabled) +AC_ARG_ENABLE(libcd64, + AC_HELP_STRING([--enable-libcd64], + [enable libcd64 (default: no)]), + enable_libcd64=$enableval, + enable_libcd64=no) +if test $enable_libcd64 = yes; then + AC_DEFINE(USE_LIBCD64, 1, [enable libcd64 (default: no)]) + DEFINE_LIBCD64_MAKE="USE_LIBCD64=1" +else + dnl libi386 is necessary under OpenBSD, but only if libcd64 isn't enabled. The + dnl reason is that libcd64 already includes libi386. + LIBI386_MAKE="-li386" +fi +AC_MSG_RESULT($enable_libcd64) +AC_SUBST(DEFINE_LIBCD64_MAKE) +AC_SUBST(LIBI386_MAKE) + + +dnl Checks for libraries. +AC_MSG_CHECKING(for zlib) +AC_ARG_WITH(zlib, + AC_HELP_STRING([--with-zlib], + [build with gzip and zip support (default: yes)]), + with_zlib=$withval, + with_zlib=yes) +if test $with_zlib = yes; then + AC_TRY_COMPILE([#include ], , with_zlib=yes, with_zlib=no) +fi +if test $with_zlib = yes; then + AC_DEFINE(USE_ZLIB, 1, [build with gzip and zip support (default: yes)]) + DEFINE_ZLIB_MAKE="USE_ZLIB=1" +fi +AC_MSG_RESULT($with_zlib) +AC_SUBST(DEFINE_ZLIB_MAKE) + + +AC_MSG_CHECKING(for libusb) +AC_ARG_WITH(libusb, + AC_HELP_STRING([--with-libusb], + [build with (lib)usb support (default: no)]), + with_libusb=$withval, + with_libusb=no) +if test $with_libusb = yes; then + AC_TRY_COMPILE([#include ], , with_libusb=yes, with_libusb=no) +fi +if test $with_libusb = yes; then + AC_DEFINE(USE_USB, 1, [build with (lib)usb support (default: no)]) + DEFINE_USB_MAKE="USE_USB=1" +fi +AC_MSG_RESULT($with_libusb) +AC_SUBST(DEFINE_USB_MAKE) + + +dnl Checks for header files. +AC_HEADER_DIRENT +AC_HEADER_STDC +AC_CHECK_HEADERS(fcntl.h unistd.h byteswap.h inttypes.h sys/io.h) +dnl NOT zlib.h! Or else --with[out]-zlib gets overrriden in config.h. + +dnl Checks for typedefs, structures, and compiler characteristics. +AC_C_CONST +AC_TYPE_UID_T +AC_C_INLINE +AC_TYPE_PID_T +AC_TYPE_SIZE_T + +dnl Checks for library functions. +AC_FUNC_MEMCMP +AC_FUNC_STRFTIME +AC_FUNC_VPRINTF +AC_CHECK_FUNCS(realpath) + +AC_PROG_RANLIB +AC_PROG_INSTALL + +AC_OUTPUT(Makefile libdiscmage/Makefile) + +echo +echo NOTE: On non-Linux systems you might need to use gmake instead of make diff --git a/tools/ucon64-2.0.0-src/src/console/boardnames b/tools/ucon64-2.0.0-src/src/console/boardnames new file mode 100644 index 0000000..e19805b --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/console/boardnames @@ -0,0 +1,65 @@ +351258: UNROM +351298: UNROM +351908 +352026: TLROM (w/ LS32 for VROM enable control) +51555: Acclaim, MMC3B mapper, PRG ROM, CHR ROM +53361 +54425 +55741 +56504 +AMROM: LS161, VRAM, PRG-ROM +ANROM: LS161+LS02 mapper, PRG-ROM, CHR-RAM +AOROM: LS161 mapper, PRG-ROM, CHR-ROM +BNROM: LS161, VRAM, PRG-ROM (Different LS161 bits? Only used on Deadly Towers) +CNROM: LS161 mapper, PRG-ROM, CHR-ROM?/CHR-RAM +COB: "Glop Top" style board +CPROM: LS04, LS08, LS161, 32K ROM, 16K VRAM (bankswitched, Videomation only) +DEIROM +DEROM +DRROM: MMC3, 4K of nametable RAM (for 4-screen), PRG-ROM, CHR-ROM (only in Gauntlet) +EKROM +ELROM: MMC5, PRG-ROM, CHR-ROM +ETROM: MMC5, PRG-ROM, CHR-ROM, 2x 8k optionnal RAM (battery) +EWROM: MMC5, PRG-ROM, CHR-ROM, 32k optionnal RAM (battery) +GNROM: LS161 mapper, PRG ROM, CHR ROM +HKROM: MMC6B, PRG-ROM, CHR-ROM, Battery +MHROM: LS161 mapper, black blob chips. Mario Bros / Duck Hunt multi +NES-B4: Same as TLROM +NES-BTR: Sunsoft FME7 mapper, PRG ROM, CHR ROM, 8k optionnal RAM +NES-QJ: +NES-RROM: Same as NROM (Only used in Clu Clu land) +NROM: No mapper, PRG-ROM, CHR-ROM +PNROM: MMC2, PRG-ROM, CHR-ROM +SAROM: MMC1B, PRG ROM, CHR ROM, optional 8k of RAM (battery) +SBROM: MMC1A, PRG ROM, CHR ROM (only 32K of CHR ROM) +SCEOROM +SC1ROM: MMC1B, PRG ROM, CHR ROM +SCROM: LS161, LS02, VRAM, PRG-ROM (Similar to UNROM) +SEROM: MMC1B, PRG ROM, CHR ROM +SFROM +SGROM: MMC1B, PRG ROM, 8k CHR RAM +SHROM +SJROM +SKROM: MMC1B, PRG ROM, CHR ROM, 8k optional RAM (battery) +SL1ROM: MMC3, PRG ROM, CHR ROM, LS32 (for 128K 28 pin CHR ROMs) +SL2ROM +SL3ROM +SLROM: MMC1A, PRG ROM, CHR ROM +SLRROM +SN1-ROM AW (Overlord only) +SNROM: MMC1A, PRG ROM, CHR ROM/RAM ?, 8k optional RAM (battery) +SOROM: MMC1B2, PRG ROM, VRAM, 16K of WRAM (Battery) Only 8K battery-backed +SVROM: MMC1B2, PRG ROM, VRAM, WRAM (Battery) +SUROM: MMC1B2, PRG ROM, CHR RAM/(ROM?), 8k battery-backed RAM (DW4???) +TEROM: MMC3A, PRG ROM, CHR ROM, (32k ROMs) +TFROM: MMC3B, PRG ROM, CHR ROM (64K of CHR only) +TGROM: MMC3C, PRG ROM, VRAM (512K of PRG) +TKROM: MMC3A, PRG ROM, CHR ROM, 8k optional RAM (battery) +TL1ROM: Same as TLROM +TLROM: MMC3B, PRG ROM, CHR ROM +TLSROM: Same as TLROM +TQROM: MMC3B+74HC32, PRG ROM, CHR ROM + 8k of CHR-RAM +TSROM: MMC3A, PRG ROM, CHR ROM, 8k optionnal RAM +TVROM: MMC3B, PRG ROM, CHR ROM, 4K of Nametable RAM (4-screen) +UNROM: 74LS32+74LS161 mapper, 128k PRG, 8k CHR-RAM +UOROM diff --git a/tools/ucon64-2.0.0-src/src/console/boardtable.txt b/tools/ucon64-2.0.0-src/src/console/boardtable.txt new file mode 100644 index 0000000..4c15147 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/console/boardtable.txt @@ -0,0 +1,782 @@ +Name |Maker |RR|Board +--------------------------------------+--------------------+--+---------------- +10 Yard Fight |Nintendo |E |NROM +110 in 1 (Canada?) |Supervision | | +1942 |Capcom |C+|NROM +1943 |Capcom |C+|UNROM +6 in 1 |Caltron |A | +720 |Mindscape |C |SGROM +8 Eyes |Taxan |C-|TLROM +A Boy and His Blob |Absolute |C |SLROM +Abadox |Milton Bradley |C |SLROM +Action 52 |Active Enterprises |A | +Addams Family |Ocean |B |SLROM +Adv of Bayou Billy |Konami |C-|SLROM +Adv of Dino Riki |Hudson |C |CNROM +Adv of Lolo |HAL |C+|SEROM +Adv of Lolo 2 |HAL |B-|TEROM +Adv of Lolo 3 |HAL |B+|SLROM +Adv of Tom Saywer |Seta |B |SLROM +Adventure Island |Hudson |D |CNROM +Adventure Island 2 |Hudson |B-|TLROM +Adventure Island 3 |Hudson |B |TLROM +After Burner |Tengen |C+| +Air Fortress |HAL |C |SJROM +Airwolf |Acclaim |C |SHROM +Al Unser Racing |Data East |C |SKROM +Aladdin Deck Enhancer |Camerica |A+| +Alfred Chicken |Mindscape |B+|UNROM +Alien 3 |LJN |B+|55741 +Alien Syndrome |Tengen |C+| +All Pro Basketball |Vic Tokai |C |SLROM +Alpha Mission |SNK |C |CNROM +Amagon |American Sammy |C |UNROM +American Gladiators |Gametek |B-|SLROM +Anticipation |Nintendo |C |SEROM +Arch Rivals |Acclaim |C |AMROM +Archon |Activision |B |UNROM +Arkanoid |Taito |B+|CNROM +Arkanoid Controller |Taito |A | +Arkistas Ring |American Sammy |B |CNROM +Astyanax |Jaleco |C |TLROM +Athena |SNK |C |UNROM +Athletic World |Bandai |B-|CNROM +Attack/Killer Tomato |T*HQ |B-|SLROM +Baby Boomer |Color Dreams |B-| +Back to the Future |LJN |D |CNROM +Back to the Future 2 & 3 |LJN |C |SLROM +Bad Dudes |Data East |C |TLROM +Bad News Baseball |Tecmo |B |SLROM +Bad Street Brawler |Mattel |C |SGROM +Balloon Fight |Nintendo |C |NROM +Bandit Kings/China |Koei |B-|ETROM +Barbie |Hi Tech |B |SLROM +Bard's Tale |FCI |B-|SNROM +Base Wars |Ultra |C |TKROM +Baseball |Nintendo |E |NROM +Baseball Simulator |Culture Brain |C+|SKROM +Baseball Stars |SNK |C+|SKROM +Baseball Stars 2 |Romstar |B+|TKROM +Bases Loaded |Jaleco |E |SFROM +Bases Loaded 2 |Jaleco |D |SL3ROM +Bases Loaded 3 |Jaleco |C |TLROM +Bases Loaded 4 |Jaleco |C+|TLROM +Batman |Sunsoft |D |NES_B4 +Batman Return/Joker |Sunsoft |B-|NES_BTR +Batman Returns |Konami |B+|TLROM +Battle Chess |Data East |B+|SKROM +Battle of Olympus |Broderbund |C |SGROM +Battle Tank |Absolute |B |CNROM +Battle Toads |Tradewest |D |AOROM +Battle Toads & Double Dragon |Tradewest |B+|AOROM +Battleship |Mindscape |B |CNROM +Bee 52 |Camerica |B+| +Beetlejuice |LJN |C+|AMROM +Best of the Best |Electro Brain |B+|UOROM +Bible Adventures |Wisdom Tree |B+| +Bible Adventures (blue label) |Wisdom Tree |B+| +Bible Buffet |Wisdom Tree |B+| +Big Bird Hide & Speak |Hi Tech |B |SLROM +Big Foot |Acclaim |B-|SLROM +Big Nose Freaks Out |Camerica |A | +Big Nose Freaks Out (Aladdin Cart) |Camerica |A+| +Big Nose the Caveman |Camerica |B | +Bill & Ted Adventure |LJN |C+|SLROM +Bill Elliot NASCAR |Konami |C+|TSROM +Bionic Commando |Capcom |C |SGROM +Black Bass |Hot B |B |UNROM +Blackjack |American Video |A-| +Blades of Steel |Konami |D |UNROM +Blaster Master |Sunsoft |D |SL2ROM +Blue Marlin |Hot B |B+|TLROM +Blues Brothers |Titus |B |UNROM +Bo Jackson Baseball |Data East |C+|TSROM +Bomberman |Hudson |C |NROM +Bomberman 2 |Hudson |B |SNROM +Bonks Adventure |Hudson |B+|TLROM +Boulder Dash |JVC |B+|SEROM +Break Time |FCI |B+|SFROM +Breakthru |Data East |C |(SLROM) +Bubble Bath Babes |Panesian |A+| +Bubble Bobble |Taito |D |SFROM +Bubble Bobble 2 |Taito |B |TLROM +Bucky O'Hare |Konami |B |TLROM +Bugs Bunny Birthday Blowout |Kemco |B |TSROM +Bugs Bunny Castle |Kemco |B+|SBROM +Bump & Jump |Vic Tokai |B-|CNROM +Burai Fighter |Taxan |B-|TEROM +Burger Time |Data East |B-|NROM +Cabal |Milton Bradley |C |AMROM +Caesars Palace |Virgin |B |UNROM +California Games |Milton Bradley |C |UNROM +Captain America |Data East |B |TLROM +Captain Comic |Color Dreams |B | +Captain Planet |Mindscape |B |TLROM +Captain Skyhawk |Milton Bradley |C |AMROM +Casino Kid |Sofel |C+|UNROM +Casino Kid 2 |Sofel |B+|UNROM +Castelian |Triffix |B |UNROM +Castle of Deceit |Bunch Games |B | +Castle of Dragon |Seta |B |UNROM +Castlequest |Nexoft |B |CNROM +Castlevania |Konami |E |UNROM +Castlevania 2 |Konami |D |SLROM +Castlevania 3 |Konami |C-|ELROM +Caveman Games |Data East |B-|SLROM +Challenge of the Dragon |Color Dreams |B | +Championship Bowling |Romstar |B |CNROM +Championship Pool |Mindscape |B+|UNROM +Cheetahman II |Active Enterprises |A | +Chessmaster |Hi Tech |B |SJROM +Chiller |American Game Carts Inc|B+| +Chubby Cherub |Bandai |B |NROM +Circus Caper |Toho |B |SLROM +City Connection |Jaleco |B |CNROM +Clash at Demonhead |Vic Tokai |B-|SLROM +Classic Concentration |Gametek |B-|UNROM +Cliffhanger |Imagesoft |B |TLROM +Clu Clu Land |Nintendo |B-|NES_RROM +Cobra Command |Data East |C |SLROM +Cobra Triangle |Nintendo |B-|ANROM +Codename Viper |Capcom |C |TLROM +Color A Dinosaur |Virgin |A-|UNROM +Commando |Capcom |C |UNROM +Conan |Mindscape |B |UNROM +Conflict |Vic Tokai |C+|SKROM +Conquest Crystal Palace |Asmik |C+|TLROM +Contra |Konami |E |UNROM +Contra Force |Konami |B |TLROM +Cool World |Ocean |B |SLROM +Cowboy Kid |Romstar |A-|TLROM +Crash & the Boys Street Challange |American Technos |B |TLROM +Crash Dummies |LJN |B |55741 +Crystal Mines |Color Dreams |B+| +Crystalis |SNK |C |TKROM +Cyberball |Jaleco |B |TLROM +Cybernoid |Acclaim |C |CNROM +Dance Aerobics |Nintendo |C+|SBROM +Darkman |Ocean |B |SLROM +Darkwing Duck |Capcom |B+|SLROM +Dash Galaxy |Data East |C |CNROM +Day Dreamin' Davey |HAL |B+|SLROM +Days of Thunder |Mindscape |C+|TLROM +Deadly Towers |Broderbund |C+|BNROM +Death Race |American Game Carts Inc|B+| +Deathbots |American Video |B+| +Defender 2 |HAL |B |NROM +Defender of the Crown |Ultra |C+|SGROM +Defenders of Dynacron City |JVC |B |TLROM +Deja Vu |Kemco |C+|TKROM +Demon Sword |Taito |C+|SL1ROM +Desert Commander |Kemco |C-|SKROM +Destination Earthstar |Acclaim |C |CNROM +Destiny/Emporer |Capcom |B-|SNROM +Dick Tracy |Bandai |C+|UNROM +Die Hard |Activision |B+|SLROM +Dig Dug 2 |Bandai |B |NROM +Digger |Milton Bradley |B+|AMROM +Dirty Harry |Mindscape |C+|TLROM +Disney Adventure |Capcom |B |SLROM +Dizzy the Adventurer (Aladdin Cart) |Camerica |A+| +Donkey Kong |Nintendo |B-|NROM +Donkey Kong 3 |Nintendo |B-|NROM +Donkey Kong Classics |Nintendo |B-|CNROM +Donkey Kong Jr |Nintendo |B-|NROM +Donkey Kong Jr Math |Nintendo |A-|NROM +Double Dare |Gametek |B |AOROM +Double Dragon |Tradewest |E |SLROM +Double Dragon 2 |Acclaim |D |TL1ROM +Double Dragon 3 |Acclaim |C+|TLROM +Double Dribble |Konami |D |UNROM +Double Strike |American Video |B+| +Dr. Chaos |FCI |C |UNROM +Dr. Jeckyl/Mr. Hyde |Bandai |C+|SFROM (SFDOROM) +Dr. Mario |Nintendo |D |SEROM +Dracula |Imagesoft |B |TSROM +Dragon Fighter |Sofel |B |SLROM +Dragon Power |Bandai |C |GNROM +Dragon Spirit |Bandai |B |TLROM +Dragon Strike |FCI |C |TLROM +Dragon Warrior |Nintendo |E |SAROM +Dragon Warrior 2 |Enix |C+|SNROM +Dragon Warrior 3 |Enix |B+|SVROM +Dragon Warrior 4 |Enix |B |SVROM +Dragon's Lair |Imagesoft |B |UNROM +Duck Hunt |Nintendo |F |NROM +Duck Tales |Capcom |C+|UNROM +Duck Tales 2 |Capcom |B+|UNROM +Dudes with Attitude |American Video |B+| +Dungeon Magic |Taito |C |SKROM +Dusty Diamond All Star Softball |Broderbund |B-|SLROM +Dyno Warz |Bandai |C+|SLROM +Elevator Action |Taito |B-|NROM +Eliminator Boat Duel |Electro Brain |C+|SLROM +Empire Strikes Back |JVC |B |TLROM +Excitebike |Nintendo |E |NROM +Exodus |Wisdom Tree |B+| +F 117 Stealth |Microprose |B+|TLROM +F 15 City War |American Video |B | +F 15 Strike Eagle |Microprose |B+|TLROM +F1 Built to Win |Seta |B+|SKROM +Family Feud |Gametek |B+|SHROM +Fantastic Adv Dizzy (Aladdin Cart) |Camerica |A+| +Fantastic Adventures of Dizzy |Camerica |B-| +Fantasy Zone |Tengen |C | +Faria |Nexoft |B+|SKROM +Fast Break |Tradewest |C |SCROM +Faxanadu |Nintendo |C-|SGROM +Felix the Cat |Hudson |B+|TSROM +Ferrari Grand Prix |Acclaim |B |SLROM +Fester's Quest |Sunsoft |C |SLROM +Fighting Golf |SNK |C |SLROM +Final Fantasy |Nintendo |C+|SNROM +Fire & Ice |Tecmo |A-|TLROM +Fire Hawk |Camerica |B | +Firehouse Rescue |Gametek |B |CNROM +Fist of the North Star |Taxan |C+|UNROM +Flight of the Intruder |Mindscape |B |UNROM +Flintstones |Taito |C+|TLROM +Flintstones 2 |Taito |A+| +Flying Dragon |Culture Brain |C |UNROM +Flying Warriors |Culture Brain |C |SLROM +Frankenstein |Bandai |B+|SLRROM +Freedom Force |Sunsoft |D |SLROM +Friday The 13th |LJN |C-|CNROM +Fun House |Hi Tech |B+|UNROM +G I Joe |Taxan |B+|TLROM +G I Joe Atlantis Factor |Capcom |C+|TLROM +Galactic Crusader |Bunch Games |B | +Galaga |Bandai |B |NROM +Galaxy 5000 |Activision |A-|TLROM +Game Action Replay |STD |A-| +Game Genie |Galoob |D | +Gargoyle's Quest 2 |Capcom |B+|TLROM +Gauntlet (licensed) |Tengen |C |DRROM +Gauntlet (unlicensed) |Tengen |C | +Gauntlet 2 |Mindscape |C |TSROM +Gemfire |Koei |B-|EKROM +Genghis Kahn |Koei |C+|SOROM +George Forman |Acclaim |B |55741 +Ghost & Goblins |Capcom |C |UNROM +Ghost Lion |Kemco |B |SKROM +Ghostbusters |Activision |B-|CNROM +Ghostbusters 2 |Activision |B |SLROM +Ghoul School |Electro Brain |B-|SLROM +Gilligans Island |Bandai |B+|UNROM +Goal |Jaleco |D |SL3ROM +Goal 2 |Jaleco |B-|TLSROM +Godzilla |Toho |C+|SLROM +Godzilla 2 |Toho |B |SLROM +Gold Metal Challenge |Capcom |B+|TKROM +Golf |Nintendo |E |NROM +Golf Grand Slam |Atlus |B+|SLROM +Golf Power |Virgin |B+|SNROM +Golgo 13 Top Secret Episode |Vic Tokai |D |SLROM +Goonies 2 |Konami |C+|351258 +Gotcha |LJN |C |CNROM +Gradius |Konami |C-|CNROM +Great Waldo Search |T*HQ |B-|SLROM +Gremlins 2 |Sunsoft |B-|TLROM +Guardian Legend |Broderbund |C+|UNROM +Guerrilla War |SNK |C |SLROM +Gum Shoe |Nintendo |C+|GNROM +Gun Nac |Ascii |B |TLROM +Gunsmoke |Capcom |B-|UNROM +Gyromite |Nintendo |E |NROM +Gyruss |Ultra |C+|CNROM +Harlem Globetrotters |Gametek |B |SLROM +Hatris |Bullet Proof |A |SNROM +Heavy Barrel |Data East |C |TLROM +Heavy Shreddin' |Parker Brothers |B-|SLROM +Heroes of the Lance |FCI |C |SKROM +High Speed |Tradewest |B-|TQROM +Hillsfar |FCI |B |SNROM +Hogan's Alley |Nintendo |D |NROM +Hollywood Squares |Gametek |B+|UNROM +Home Alone |T*HQ |B-|TSROM +Home Alone 2 |T*HQ |B-|TLROM +Hook |Imagesoft |B |SLROM +Hoops |Jaleco |D |SLROM +Hot Slots |Panesian |A+| +Hudson Hawk |Imagesoft |B |SLROM +Hunt for Red October |Hi Tech |C |TLROM +Hydlide |FCI |D |NROM +I Can Remember |Gametek |B |CNROM +Ice Climber |Nintendo |C+|NROM +Ice Hockey |Nintendo |D |NROM +Ikari Warriors |SNK |C-|UNROM +Ikari Warriors 2 |SNK |C-|SGROM +Ikari Warriors 3 |SNK |B-|SLROM +Image Fight |Irem |B |TSROM +Immortal |Electronic Arts |B |TLROM +Impossible Mission 2 |American Video |A-| +Impossible Mission 2 |SEI |B+| +Indiana Jones Last Crusade |UBI Soft |B+|UNROM +Indiana Jones Last Crusade |Taito |B+|SGROM +Indiana Jones Temple of Doom |Tengen |B-| +Indiana Jones Temple of Doom |Mindscape |C |TFROM +Indy Heat |Tradewest |B |AMROM +Infiltrator |Mindscape |B |TLROM +Iron Tank |SNK |C |SLROM +Isolated Warrior |NTVIC |B |TLROM +Jack Nicklaus Golf |Konami |B-|351258 +Jackal |Konami |C |UNROM +Jackie Chan Kung Fu |Hudson |B |TLROM +James Bond Jr |T*HQ |B-|TLROM +Jaws |LJN |D |CNROM +Jeopardy |Gametek |C |AOROM +Jeopardy 25th Anniversary |Gametek |C+|ANROM +Jeopardy Jr |Gametek |C |ANROM +Jeopardy Super |Gametek |B |SLROM +Jetsons |Taito |B+|TLROM +Jimmy Connors Tennis |UBI Soft |B+|UNROM +Joe & Mac |Data East |B+|TLROM +Jordan vs. Bird |Milton Bradley |C |UNROM +Joshua |Wisdom Tree |B+| +Journey to Silius |Sunsoft |C+|SLROM +Joust |HAL |B |CNROM +Jungle Book |Virgin |A-|TLROM +Jurassic Park |Ocean |B |TSROM +Karate Champ |Data East |C |CNROM +Karate Kid |LJN |C |CNROM +Karnov |Data East |C |DEIROM +Kick Master |Taito |C+|TLROM +Kickle Cubicle |Irem |B+|TLROM +Kid Icarus |Nintendo |C-|SNROM +Kid Klown |Kemco |B |TSROM +Kid Kool |Vic Tokai |C+|UNROM +Kid Niki |Data East |C |SGROM +King Neptune's Adventure |Color Dreams |B+| +King of Kings |Wisdom Tree |B+| +King of Kings (cartoon mule) |Wisdom Tree |B+| +King of the Ring |Acclaim |B+|55741 +Kings Knight |Square |C+|CNROM +Kings of the Beach |Ultra |C |CNROM +Kings Quest 5 |Konami |B+|TSROM +Kirbys Adventure |Nintendo |B-|TKROM +Kiwi Kraze |Taito |B+|TLROM +Klash Ball |Sofel |B-|UNROM +Klax |Tengen |B+| +Knight Rider |Acclaim |B-|SCIROM +Krazy Kreatures |American Video |B+| +Krion Conquest |Vic Tokai |B |TLROM +Krusty's Fun House |Acclaim |C+|TLROM +Kung Fu |Nintendo |E |NROM +Kung Fu Heroes |Culture Brain |C |CNROM +L'Empereur |Koei |B |ETROM +Laser Invasion |Konami |B-|ELROM +Last Action Hero |Imagesoft |B+|TLROM +Last Ninja |Jaleco |B-|TLROM +Last Starfighter |Mindscape |C+|CNROM +Legacy/Wizard |Broderbund |C |TFROM +Legend of Kage |Taito |C-|CNROM +Legendary Wings |Capcom |B |UNROM +Legends/Diamond |Bandai |B+|TLROM +Lemmings |Sunsoft |B-|SLROM +Lethal Weapon |Ocean |B |SLROM +Life Force |Konami |C |351258 +Linus Spacehead |Camerica |B | +Linus Spacehead (Aladdin Cart) |Camerica |A+| +Little League Baseball |SNK |B-|SLROM +Little Mermaid |Capcom |B |UNROM +Little Nemo |Capcom |B+|TLROM +Little Ninja Brothers |Culture Brain |C |TLROM +Little Sampson |Taito |B |TLROM +Lode Runner |Broderbund |B |NROM +Lone Ranger |Konami |B-|TLROM +Loopz |Mindscape |B+|UNROM +Low G Man |Taxan |C |TLROM +Lunar Pool |FCI |C+|NROM +M C Kids |Virgin |C+|TSROM +M.U.L.E. |Mindscape |C+|SNROM +Mach Rider |Nintendo |C-|NROM +Mad Max |Mindscape |C+|TLROM +Mafat Conspiracy |Vic Tokai |C |TLROM +Magic Darts |Romstar |B |SLRROM +Magic of Scheherazade |Culture Brain |C-|SLROM +Magician |Taxan |A-|TKROM +Magmax |FCI |C-|NROM +Major League Baseball |LJN |E |CNROM +Maniac Mansion |Jaleco |C+|SNROM +Mappyland |Taxan |C+|TFROM +Marble Madness |Milton Bradley |C+|ANROM +Mario Brothers |Nintendo |B-|NROM +Mario Is Missing |Mindscape |B |TLROM +Mario Time Machine |Mindscape |A-|TLROM +Marvel's X-Men |LJN |B-|UNROM +Master Chu & the Drunkard Hu |Color Dreams |B | +Maxi 15 |American Video |A | +Mechanized Attack |SNK |C |SCROM +Mega Man |Capcom |B-|UNROM +Mega Man 2 |Capcom |C |SGROM +Mega Man 3 |Capcom |C |TLROM +Mega Man 4 |Capcom |B-|TGROM +Mega Man 5 |Capcom |B |TLROM +Mega Man 6 |Nintendo |B+|TGROM +Menace Beach |Color Dreams |A-| +Mendel Palace |Hudson |B |TLROM +Mermaids of Atlantis |American Video |B+| +Metal Fighter |Color Dreams |B | +Metal Gear |Ultra |D |UNROM +Metal Mech |Jaleco |B-|SLROM +Metal Storm |Irem |B+|TLROM +Metroid |Nintendo |D |SNROM +Michael Andretti World GP |American Sammy |B-|TLROM +Mickey Mousecapade |Capcom |C+|CNROM +Mickey Numbers |Hi Tech |B+|TLROM +Mickey's Safari in Letterland |Hi Tech |B+|55741 +Micro Machines |Camerica |A-| +Micro Machines (Aladdin Cart) |Camerica |A+| +Mig 29 |Camerica |C+| +Might & Magic |American Sammy |B+|TKROM +Mighty Bombjack |Tecmo |B |CNROM +Mighty Final Fight |Capcom |B+|TLROM +Mike Tyson's Punch Out |Nintendo |D |PNROM +Millipede |HAL |B |NROM +Milon's Secret Castle |Hudson |C |CNROM +Miracle Piano |Mindscape |A-|SJROM +Mission Cobra |Bunch Games |A-| +Mission Impossible |Ultra |C+|352026 +Monopoly |Parker Brothers |B-|SLROM +Monster in my Pocket |Konami |B+|TLROM +Monster Party |Bandai |B |SLROM +Monster Truck Rally |INTV |B |CNROM +Moon Ranger |Bunch Games |C | +Motor City Patrol |Matchbox |C+|SLROM +Ms. Pacman |Namco |A |NROM +Ms. Pacman |Tengen |B+| +Muppet Adventure |Hi Tech |B |SGROM +Muscle |Bandai |B-|NROM +Mutant Virus |American Software |B+|SLROM +Mystery Quest |Taxan |C+|CNROM +NARC |Acclaim |C |AMROM +NES Open Golf |Nintendo |B-|SNROM +NFL Football |LJN |C |UNROM +Nigel Mansell |Gametek |B+|SLROM +Nightmare on Elm Street |LJN |B |AMROM +Nightshade |Ultra |C+|TLROM +Ninja Crusaders |American Sammy |B |TGROM +Ninja Gaiden |Tecmo |E |SLROM +Ninja Gaiden 2 |Tecmo |C-|TLROM +Ninja Gaiden 3 |Tecmo |C+|TLROM +Ninja Kid |Bandai |C+|CNROM +Nombunagas Ambition |Koei |C |SOROM +Nombunagas Ambition 2 |Koei |B |ETROM +North & South |Kemco |B+|TSROM +Operation Secret Storm |Color Dreams |A | +Operation Wolf |Taito |D |SLROM +ORB-3D |Hi Tech |C |SCROM +Othello |Acclaim |C |NROM +Overlord |Virgin |B-|SN1 +P'radikus Conflict |Color Dreams |B | +Pac Man |Namco |A |56504 +Pac Man (licensed) |Tengen |B-|NROM +Pac Man (unlicensed) |Tengen |B-| +Pac Mania |Tengen |A | +Palamedes |Hot B |B+|SEROM +Panic Resturant |Taito |B |TLROM +Paperboy |Mindscape |C |CNROM +Paperboy 2 |Mindscape |B |UOROM +Parodius (England) |Palcom | | +Pebble Beach Golf |Bandai |C+|CNROM +Peek A Boo Poker |Panesian |A+| +Perfect Fit |Gametek |B |CNROM +Pesterminator |Color Dreams |B | +Peter Pan & the Pirates |T*HQ |B-|SFROM +Phantom Fighter |FCI |C+|SGROM +Pictionary |LJN |B-|SLROM +Pinball |Nintendo |D |NROM +Pinball Quest |Jaleco |B |SLROM +Pinbot |Nintendo |B |TQROM +Pipe Dream |Bullet Proof |B |CNROM +Pirates |Ultra |B |SKROM +Platoon |Sunsoft |D |SLROM +Play Action Football |Nintendo |D |TLSROM +Pool of Radiance |FCI |B+|TKROM +Popeye |Nintendo |B-|NROM +POW |SNK |C |SLROM +Power Blade |Taito |B-|TLROM +Power Blade 2 |Taito |B-|TLROM +Power Punch 2 |American Softworks |B |TLROM +Predator |Activision |C+|SLROM +Prince of Persia |Virgin |C+|UNROM +Princess Tomato |Hudson |B+|SGROM +Pro Am |Nintendo |D |SEROM +Pro Am 2 |Tradewest |B |AOROM +Pro Sport Hockey |Jaleco |B+|TLSROM +Pro Wrestling |Nintendo |D |UNROM +Puggsly's Scavenger Hunt |Ocean |B |SLROM +Punch Out |Nintendo |C+|PNROM +Punisher |LJN |B |TLROM +Puss N Boots |Electro Brain |B-|UNROM +Puzzle |American Video |A-| +Puzznic |Taito |B+|CNROM +Pyramid |American Video |A-| +Q*Bert |Ultra |B-|CNROM +Qix |Taito |A |SNROM +Quantum Fighter |HAL |B |TLROM +Quarterback |Tradewest |D |CNROM +Quattro Adventure |Camerica |B+| +Quattro Adventure (Aladdin Cart) |Camerica |A+| +Quattro Arcade |Camerica |A-| +Quattro Sports |Camerica |B | +Quattro Sports (Aladdin Cart) |Camerica |A+| +Race America |Absolute |B+|SLROM +Racket Attack |Jaleco |C-|SLROM +Rad Gravity |Activision |B-|SLROM +Rad Racer |Nintendo |D |SGROM +Rad Racer 2 |Square |B-|TVROM +Rad Racket |American Video |A-| +Raid 2020 |Color Dreams |B | +Raid on Bungling Bay |Broderbund |B |NROM +Rainbow Island |Taito |B+|UNROM +Rally Bike |Romstar |B |UNROM +Rambo |Acclaim |E |UNROM +Rampage |Data East |C+|TFROM +Rampart |Jaleco |B |TLROM +RBI Baseball (licensed) |Tengen |C+|DEROM +RBI Baseball (unlicensed) |Tengen |C | +RBI Baseball 2 |Tengen |C+| +RBI Baseball 3 |Tengen |B-| +Remote Control |Hi Tech |C |SLROM +Ren + Stimpy Buckaroos |T*HQ |B-|TLROM +Renegade |Taito |C-|UNROM +Rescue |Kemco |C-|SLROM +Rescue Rangers |Capcom |C+|SLROM +Rescue Rangers 2 |Capcom |B+|SLROM +Ring King |Data East |C |DEROM +River City Ransom |American Technos |C |TLROM +Road Blasters |Mindscape |C+|SLROM +Road Runner |Tengen |B+| +Robin Hood |Virgin |C+|SGROM +Robo Cop |Data East |C |TL1ROM +Robo Cop 2 |Data East |B-|SLROM +Robo Cop 3 |Ocean |B |SLROM +Robo Demons |Color Dreams |B | +Robo Warrior |Jaleco |B |UNROM +Rock N Ball |NTVIC |B |TFROM +Rocket Ranger |Kemco |B-|SGROM +Rocketeer |Bandai |B-|SGROM +Rockin Kats |Atlus |B+|TLROM +Rocky & Bullwinkle |T*HQ |B-|TLROM +Roger Clemens |LJN |C |53361 +Roller Games |Ultra |B-|TLROM +Rollerball |HAL |B |SFROM +Rollerblade Racer |Hi Tech |B |53361 +Rolling Thunder |Tengen |C+| +Romance/3 Kingdoms |Koei |C |SOROM +Romance/3 Kingdoms 2 |Koei |B |EWROM +Roundball |Mindscape |B-|TSROM +Rush N Attack |Konami |D |UNROM +Rygar |Tecmo |C |UNROM +SCAT |Natsume |B |SLROM +Secret Scout |Color Dreams |A | +Section Z |Capcom |C |UNROM +Seicross |FCI |D |NROM +Sesame Street 1-2-3 |Hi Tech |C+|SEROM (SCROROM) +Sesame Street 123/ABC |Hi Tech |B |SLROM +Sesame Street A-B-C |Hi Tech |C+|SEROM +Sesame Street Countdown |Hi Tech |A-|SLROM +Shadow of the Ninja |Natsume |B |TLROM +Shadowgate |Kemco |C+|TKROM +Shatterhand |Jaleco |B-|TLROM +Shingen the Ruler |Hot B |C |SNROM +Shinobi |Tengen |C+| +Shockwave |American Game Carts Inc|B | +Shooting Range |Bandai |B |CNROM +Short Order/Eggsplode |Nintendo |B+|SBROM +Side Pocket |Data East |B |UNROM +Silent Assault |Color Dreams |B | +Silent Service |Ultra |C-|351258 +Silk Worm |American Sammy |C |SLROM +Silver Surfer |Arcadia |B |TSROM +Simpsons Bart Meets Radioactive Man |Acclaim |B+|55741 +Simpsons Bart Vs Space Mutants |Acclaim |D |SLROM +Simpsons Bart Vs World |Acclaim |B-|53361 +Skate or Die |Ultra |D |351258 +Skate or Die 2 |Electronic Arts |B |SLROM +Ski or Die |Ultra |B-|351908 +Skull & Crossbones |Tengen |B | +Sky Kid |Sunsoft |B-|SCEOROM +Sky Shark |Taito |D |SL1ROM +Slalom |Nintendo |B-|NROM +Smash TV |Acclaim |C+|51555 +Snake Rattle & Roll |Nintendo |C+|SEROM +Snakes Revenge |Ultra |C |SLROM +Snoopy Silly Sports |Kemco |B+|SLROM +Snow Brothers |Capcom |B |SLROM +Soccer |Nintendo |D |NROM +Solar Jetman |Tradewest |C |AOROM +Solitaire |American Video |A-| +Soloman's Key |Tecmo |C+|CNROM +Solstice |Imagesoft |C |ANROM +Space Shuttle |Absolute |B+|SGROM +Spelunker |Broderbund |C+|NROM +Spiderman |LJN |B-|53361 +Spiritual Warfare |Wisdom Tree |B+| +Spot |Arcadia |B-|SNROM +Spy Hunter |Sunsoft |C |CNROM +Spy vs. Spy |Kemco |B-|NROM +Sqoon |Irem |B+|NROM +Stack Up |Nintendo |A-|HVC +Stadium Events |Bandai |B | +Stanley |Electro Brain |B |TLROM +Star Force |Tecmo |C+|CNROM +Star Soldier |Taxan |C-|CNROM +Star Trek 25th Anniversary |Ultra |B |TLROM +Star Trek: The Next Generation |Absolute |A-|UNROM +Star Tropics |Nintendo |C-|HKROM +Star Voyager |Acclaim |C+|CNROM +Star Wars |JVC |B |TSROM +Starship Hector |Hudson |B-|UNROM +Stealth ATF |Activision |C+|SLROM +Stinger |Konami |B-|UNROM +Street Cop |Bandai |A-|SLROM +Street Fighter 2010 |Capcom |B |TLROM +Strider |Capcom |C |SGROM +Stunt Kids |Camerica |A-| +Sunday Funday |Wisdom Tree |B+| +Super C |Konami |C |352026 +Super Cars |Electro Brain |B+|UNROM +Super Dodge Ball |Imagesoft |C |SLROM +Super Glove Ball |Mattel |C |UNROM +Super Mario Brothers |Nintendo |F |NROM +Super Mario Brothers 2 |Nintendo |D |TSROM +Super Mario Brothers 3 |Nintendo |D |TSROM +Super Mario/Duck Hunt |Nintendo |F |MH +Super Mario/Duck Hunt/Track Meet |Nintendo |C |COB +Super Off Road |Tradewest |C-|AMROM +Super Pitfall |Activision |C+|UNROM +Super Spike V'Ball |Nintendo |C-|TLROM +Super Spike/World Cup |Nintendo |B-|COB +Super Sprint |Tengen |C |COB +Super Spy Hunter |Sunsoft |B+|TLROM +Super Team Games |Nintendo |C-|CNROM +Superman |Kemco |B+|SLROM +Swamp Thing |T*HQ |C+|SLROM +Sword Master |Activision |A-|TLROM +Swords & Serpents |Acclaim |B+|UNROM +T&C Surf Design |LJN |E |CNROM +Taboo |Tradewest |C+|SEROM +Tag Team Wrestling |Data East |C |NROM +Taggin Dragon |Bunch Games |B | +Talespin |Capcom |B |SLROM +Target Renegade |Taito |C+|SLROM +Tecmo Baseball |Tecmo |C |SGROM +Tecmo Basketball |Tecmo |C+|TKROM +Tecmo Bowl |Tecmo |E |SLROM +Tecmo Cup Soccer |Tecmo |B+|SLROM +Tecmo Super Bowl |Tecmo |C-|TKROM +Tecmo Wrestling |Tecmo |C |SLROM +Teenage Turtles |Ultra |E |351908 +Teenage Turtles 2 |Ultra |D |TLROM +Teenage Turtles 3 |Konami |B-|TLROM +Teenage Turtles Tournament Fighters |Konami |B+|TLROM +Tennis |Nintendo |D |NROM +Terminator |Mindscape |B+|TLROM +Terminator 2 Judgement Day |LJN |B-|53361 +Terra Cresta |Vic Tokai |B+|UNROM +Tetris |Tengen |A-| +Tetris |Nintendo |D |SEROM +Tetris 2 |Nintendo |B-|TSROM +Three Stooges |Activision |C+|SLROM +Thrilla Safari |LJN |B |53361 +Thunder & Lightning |Romstar |B+|GNROM +Thunderbirds |Activision |C+|SLROM +Thundercade |American Sammy |C+|UNROM +Tiger Heli |Acclaim |C+|CNROM +Tiles of Fate |American Video |B+| +Time Lord |Milton Bradley |C |AMROM +Times of Lore |Toho |B-|UNROM +Tiny Toon |Konami |C+|TLROM +Tiny Toon Cartoon Workshop |Konami |B+|TSROM +Tiny Toons 2 |Konami |B+|TLROM +To The Earth |Nintendo |C+|TEROM +Toki |Taito |B+|TLROM +Tom & Jerry |Hi Tech |B+|TLROM +Tombs & Treasures |Infocom |A-|SGROM +Toobin |Tengen |B | +Top Gun |Konami |D |351298 +Top Gun 2 |Konami |D |352026 +Top Players Tennis |Asmik |C+|SLROM +Total Recall |Acclaim |D |UNROM +Totally Rad |Jaleco |B-|TLROM +Touchdown Fever |SNK |B+|SFROM +Toxic Crusader |Bandai |B |TLROM +Track & Field |Konami |D |CNROM +Track & Field 2 |Konami |D |SLROM +Treasure Master |American Softworks |A-|SLROM +Trick Shooting |Nintendo |C+|SCROM +Trog |Acclaim |B+|UNROM +Trojan |Capcom |C |UNROM +Trolls on Treasure Island |American Video |A-| +Twin Cobra |American Sammy |C+|TLROM +Twin Eagle |Romstar |C+|UNROM +Ultima/Exodus |FCI |C-|SNROM +Ultima/Quest Avatar |FCI |B |SNROM +Ultima/War Destiny |FCI |B+|SNROM +Ultimate Air Combat |Activision |B+|TLROM +Ultimate Basketball |American Sammy |C |TLROM +Ultimate League Soccer |American Video |A-| +Ultimate Stuntman |Camerica |C+| +Uncharted Waters |Koei |B-|ETROM +Uninvited |Kemco |B+|TKROM +Untouchables |Ocean |B-|SLROM +Urban Champion |Nintendo |D |NROM +Vegas Dream |HAL |B |SKROM +Venice Beach Volleyball |American Video |A-| +Vice Project Doom |American Sammy |C+|TLROM +Videomation |T*HQ |B+|CPROM +Vindicators |Tengen |C | +Volleyball |Nintendo |C |NROM +Wacky Races |Atlus |B+|TLROM +Wall Street Kid |Sofel |B |UNROM +Wally Bear and the No Gang |American Video |A-| +Wario Woods |Nintendo |B+|TKROM +Wayne Gretzky |T*HQ |C+|UNROM +Wayne's World |T*HQ |B |TLROM +Werewolf |Data East |C |TLROM +Wheel/Fortune |Gametek |C |AOROM +Wheel/Fortune/Family |Gametek |C |ANROM +Wheel/Fortune/Junior |Gametek |C |ANROM +Wheel/Fortune/Vanna |Gametek |B |AOROM +Where in Time is Carmen |Konami |B |TSROM +Where's Waldo |T*HQ |C+|TSROM +Who Framed Roger Rabbit |LJN |B-|ANROM +Whomp Em |Jaleco |B |TLROM +Widget |Atlus |B |TLROM +Wild Gunman |Nintendo |C |NROM +Willow |Capcom |B-|SLROM +Win Lose or Draw |Hi Tech |C |SGROM +Winter Games |Acclaim |B-|UNROM +Wizardry |Nexoft |C+|SKROM +Wizardry 2 Knight of Diamonds |Ascii |B+|TKROM +Wizards & Warriors |Acclaim |D |ANROM +Wizards & Warriors 2 - Ironsword |Acclaim |D |AOROM +Wizards & Warriors 3 |Acclaim |C-|54425 +Wolverine |LJN |B-|TLROM +World Champ |Romstar |B+|TLROM +World Championship Wrestling |FCI |D |TLROM +World Class Track Meet |Nintendo |D |CNROM +World Cup Soccer |Nintendo |C-|TLROM +World Games |Milton Bradley |B-|ANROM +World Runner 3D |Acclaim |C-|UNROM +Wrath of the Black Manta |Taito |C+|SLROM +Wrecking Crew |Nintendo |C+|NROM +Wrestlemania |Acclaim |D |ANROM +Wrestlemania Challenge |LJN |C-|UNROM +Wrestlemania Steel Cage |LJN |C+|53361 +Wurm |Asmik |B-|TLROM +Xenophobe |Sunsoft |B-|SFROM +Xevious |Bandai |C+|NROM +Xexyz |Hudson |C+|SLROM +Yo Noid |Capcom |C+|SLROM +Yoshi |Nintendo |C-|SFROM +Yoshi's Cookie |Nintendo |B-|TFROM +Young Indy |Jaleco |B+|TLROM +Zanac |FCI |C+|UNROM +Zelda |Nintendo |E |SNROM +Zelda 2 |Nintendo |D |SKROM +Zen |Konami |B |TLROM +Zoda's Revenge, Startropics 2 |Nintendo |B-|HKROM +Zombie Nation |Meldac |B |TLROM diff --git a/tools/ucon64-2.0.0-src/src/console/console.h b/tools/ucon64-2.0.0-src/src/console/console.h new file mode 100644 index 0000000..bb4c577 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/console/console.h @@ -0,0 +1,38 @@ +/* +console.h - single header for all console functions + +Copyright (c) 2003 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef CONSOLE_H +#define CONSOLE_H +#include "dc.h" +#include "gb.h" +#include "gba.h" +#include "genesis.h" +#include "jaguar.h" +#include "lynx.h" +#include "n64.h" +#include "neogeo.h" +#include "nes.h" +#include "ngp.h" +#include "pce.h" +#include "psx.h" +#include "sms.h" +#include "snes.h" +#include "swan.h" +#endif // CONSOLE_H diff --git a/tools/ucon64-2.0.0-src/src/console/dc.c b/tools/ucon64-2.0.0-src/src/console/dc.c new file mode 100644 index 0000000..e9f78bb --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/console/dc.c @@ -0,0 +1,646 @@ +/* +dc.c - Dreamcast support for uCON64 + +Copyright (c) 2004 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#ifdef HAVE_UNISTD_H +#include +#endif +#include "misc/file.h" +#include "misc/misc.h" +#include "misc/property.h" +#include "misc/string.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ucon64_misc.h" +#include "dc.h" + + +const st_getopt2_t dc_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Dreamcast" /* "1998 SEGA http://www.sega.com" */, + NULL + }, + { + "dc", 0, 0, UCON64_DC, + NULL, "force recognition", + &ucon64_wf[WF_OBJ_DC_SWITCH] + }, +#if 0 + { + "vms", 1, 0, UCON64_VMS, + "SAV", "convert NES SAV file to a VMS file for use with NesterDC", + NULL + }, +#endif + { + "scr", 0, 0, UCON64_SCR, + NULL, "scramble 1ST_READ.BIN for selfboot CDs", + &ucon64_wf[WF_OBJ_DC_DEFAULT] + }, + { + "unscr", 0, 0, UCON64_UNSCR, + NULL, "unscramble 1ST_READ.BIN for non-selfboot CDs", + &ucon64_wf[WF_OBJ_DC_DEFAULT] + }, +#if 0 + { + "ip", 1, 0, UCON64_IP, + "FILE", "extract ip.bin FILE from IMAGE; " OPTION_LONG_S "rom=IMAGE", + NULL + }, +#endif + { + "mkip", 0, 0, UCON64_MKIP, + NULL, "generate IP.BIN file with default values", + &ucon64_wf[WF_OBJ_DC_NO_ROM] + }, + { + "parse", 1, 0, UCON64_PARSE, + "TEMPLATE", "parse TEMPLATE file into a IP.BIN;\n" + "creates an empty template when TEMPLATE does not exist", + &ucon64_wf[WF_OBJ_DC_NO_ROM] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + + +static int +calc_crc (const unsigned char *buf, int size) +{ + int i, c, n = 0xffff; + + for (i = 0; i < size; i++) + { + n ^= (buf[i] << 8); + for (c = 0; c < 8; c++) + if (n & 0x8000) + n = (n << 1) ^ 4129; + else + n = (n << 1); + } + return n & 0xffff; +} + + +static void +update_crc (char *ip) +{ + int n = calc_crc ((unsigned char *) (ip + 0x40), 16); + char buf[5]; + + sprintf (buf, "%04X", n); + if (memcmp (buf, ip + 0x20, 4)) + { + printf ("Setting CRC to %s (was %.4s)\n", buf, ip + 0x20); + memcpy (ip + 0x20, buf, 4); + } +} + + +static unsigned int seed; + +static void +dc_srand (unsigned int n) +{ + seed = n & 0xffff; +} + + +static unsigned int +dc_rand () +{ + seed = (seed * 2109 + 9273) & 0x7fff; + return (seed + 0xc000) & 0xffff; +} + + +#if 0 +// header for SAV -> VMS conversion +static const uint8_t nstrsave_bin[1024] = { + 0x4e, 0x45, 0x53, 0x52, 0x4f, 0x4d, 0x2e, 0x4e, // 0x8 (8) + 0x45, 0x53, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x10 (16) + 0x4e, 0x65, 0x73, 0x74, 0x65, 0x72, 0x44, 0x43, // 0x18 (24) + 0x20, 0x53, 0x61, 0x76, 0x65, 0x52, 0x61, 0x6d, // 0x20 (32) + 0x20, 0x46, 0x69, 0x6c, 0x65, 0x00, 0x00, 0x00, // 0x28 (40) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x30 (48) + 0x2a, 0x2a, 0x2a, 0x4e, 0x65, 0x73, 0x74, 0x65, // 0x38 (56) + 0x72, 0x44, 0x43, 0x2a, 0x2a, 0x2a, 0x00, 0x00, // 0x40 (64) + 0x01, 0x00, 0x00, 0x00, 0x01, 0x3f, 0x00, 0x00, // 0x48 (72) + 0x80, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x50 (80) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x58 (88) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x60 (96) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x68 (104) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x70 (112) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x78 (120) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x80 (128) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x88 (136) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x90 (144) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x98 (152) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xa0 (160) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xa8 (168) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xb0 (176) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xb8 (184) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xc0 (192) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xc8 (200) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xd0 (208) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xd8 (216) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xe0 (224) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xe8 (232) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xf0 (240) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0xf8 (248) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x100 (256) + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, // 0x108 (264) + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, // 0x110 (272) + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, // 0x118 (280) + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, // 0x120 (288) + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, // 0x128 (296) + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, // 0x130 (304) + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, // 0x138 (312) + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, // 0x140 (320) + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, // 0x148 (328) + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, // 0x150 (336) + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, // 0x158 (344) + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, // 0x160 (352) + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, // 0x168 (360) + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, // 0x170 (368) + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, // 0x178 (376) + 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, 0x05, // 0x180 (384) + 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, // 0x188 (392) + 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, // 0x190 (400) + 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, // 0x198 (408) + 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, // 0x1a0 (416) + 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, // 0x1a8 (424) + 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, // 0x1b0 (432) + 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, // 0x1b8 (440) + 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, // 0x1c0 (448) + 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, // 0x1c8 (456) + 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, // 0x1d0 (464) + 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, // 0x1d8 (472) + 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, // 0x1e0 (480) + 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, // 0x1e8 (488) + 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, // 0x1f0 (496) + 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, // 0x1f8 (504) + 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, 0x21, // 0x200 (512) + 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, // 0x208 (520) + 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, // 0x210 (528) + 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, // 0x218 (536) + 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, // 0x220 (544) + 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, // 0x228 (552) + 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, // 0x230 (560) + 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, // 0x238 (568) + 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, // 0x240 (576) + 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, // 0x248 (584) + 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, // 0x250 (592) + 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, // 0x258 (600) + 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, // 0x260 (608) + 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, // 0x268 (616) + 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, // 0x270 (624) + 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, // 0x278 (632) + 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, // 0x280 (640) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x288 (648) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x290 (656) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x298 (664) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x2a0 (672) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x2a8 (680) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x2b0 (688) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x2b8 (696) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x2c0 (704) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x2c8 (712) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x2d0 (720) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x2d8 (728) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x2e0 (736) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x2e8 (744) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x2f0 (752) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x2f8 (760) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x300 (768) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x308 (776) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x310 (784) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x318 (792) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x320 (800) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x328 (808) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x330 (816) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x338 (824) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x340 (832) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x348 (840) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x350 (848) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x358 (856) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x360 (864) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x368 (872) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x370 (880) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x378 (888) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x380 (896) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x388 (904) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x390 (912) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x398 (920) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x3a0 (928) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x3a8 (936) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x3b0 (944) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x3b8 (952) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x3c0 (960) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x3c8 (968) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x3d0 (976) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x3d8 (984) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x3e0 (992) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x3e8 (1000) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x3f0 (1008) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 0x3f8 (1016) + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 // 0x400 (1024) +}; +#endif + + +int +dc_init (st_rominfo_t *rominfo) +{ + int result = -1; + + rominfo->console_usage = dc_usage[0].help; + + return result; +} + + +static int +check_areasym (char *ptr, int len) +{ + int i, a = 0; + + for (i = 0; i < len; i++) + switch (ptr[i]) + { + case 'J': + a |= (1<<0); + break; + case 'U': + a |= (1<<1); + break; + case 'E': + a |= (1<<2); + break; + case ' ': + break; + default: + fprintf (stderr, "ERROR: Unknown area symbol '%c'\n", ptr[i]); + return -1; + } + for (i = 0; i < len; i++) + if ((a & (1< templ[i].len) + { + fprintf (stderr, "ERROR: Data for field \"%s\" is too long... stripping to %d chars\n", + templ[i].name, templ[i].len); + p[templ[i].len] = 0; + } + + memcpy (ip + templ[i].pos, p, strlen (p)); + + if (templ[i].extra_check) + if (templ[i].extra_check (ip + templ[i].pos, templ[i].len) == -1) + return -1; + + filled_in[i] = 1; + } + + for (i = 0; templ[i].name; i++) + if (!filled_in[i]) + { + fprintf (stderr, "ERROR: Missing value for \"%s\"\n", templ[i].name); + return -1; + } + + return 0; +} + + +int +dc_parse (const char *templ_file) +{ + char ip[0x8000], dest_name[FILENAME_MAX]; + + if (access (templ_file, F_OK) == -1) + { + int i = 0; + + printf ("Creating empty template file: \"%s\"\n", templ_file); + + for (i = 0; templ[i].name; i++) + set_property (templ_file, templ[i].name, templ[i].def, templ[i].comment); + + printf (ucon64_msg[WROTE], templ_file); + } + + if (parse_templ (templ_file, ip) == -1) + return -1; + + update_crc (ip); + + strcpy (dest_name, "ip.bin"); + ucon64_file_handler (dest_name, NULL, 0); + + ucon64_fwrite (ip, 0, 0x8000, dest_name, "wb"); + + printf (ucon64_msg[WROTE], dest_name); + return 0; +} + + +int +dc_mkip (void) +{ + dc_parse ("default"); + + return 0; +} + + +static int +load_chunk (FILE * fh, unsigned char *ptr, int32_t sz) +{ +#define MAXCHUNK (2048*1024) + static int idx[MAXCHUNK / 32]; + int32_t i; + + /* Convert chunk size to number of slices */ + sz /= 32; + + /* Initialize index table with unity, + so that each slice gets loaded exactly once */ + for (i = 0; i < sz; i++) + idx[i] = i; + + for (i = sz - 1; i >= 0; --i) + { + /* Select a replacement index */ + int x = (dc_rand () * i) >> 16; + + /* Swap */ + int tmp = idx[i]; + idx[i] = idx[x]; + idx[x] = tmp; + + /* Load resulting slice */ + if (fread (ptr + 32 * idx[i], 1, 32, fh) != 32) + return -1; + } + return 0; +} + + +static int +load_file (FILE * fh, unsigned char *ptr, uint32_t filesz) +{ + uint32_t chunksz; + + dc_srand (filesz); + + /* Descramble 2 meg blocks for as long as possible, then + gradually reduce the window down to 32 bytes (1 slice) */ + for (chunksz = MAXCHUNK; chunksz >= 32; chunksz >>= 1) + while (filesz >= chunksz) + { + load_chunk (fh, ptr, chunksz); + filesz -= chunksz; + ptr += chunksz; + } + + /* Load final incomplete slice */ + if (filesz) + if (fread (ptr, 1, filesz, fh) != filesz) + return -1; + + return 0; +} + + +static int +save_chunk (FILE * fh, unsigned char *ptr, int32_t sz) +{ + static int idx[MAXCHUNK / 32]; + int32_t i; + + /* Convert chunk size to number of slices */ + sz /= 32; + + /* Initialize index table with unity, + so that each slice gets saved exactly once */ + for (i = 0; i < sz; i++) + idx[i] = i; + + for (i = sz - 1; i >= 0; --i) + { + /* Select a replacement index */ + int x = (dc_rand () * i) >> 16; + + /* Swap */ + int tmp = idx[i]; + idx[i] = idx[x]; + idx[x] = tmp; + + /* Save resulting slice */ + if (fwrite (ptr + 32 * idx[i], 1, 32, fh) != 32) + return -1; + } + + return 0; +} + + +static int +save_file (FILE * fh, unsigned char *ptr, uint32_t filesz) +{ + uint32_t chunksz; + + dc_srand (filesz); + + /* Descramble 2 meg blocks for as long as possible, then + gradually reduce the window down to 32 bytes (1 slice) */ + for (chunksz = MAXCHUNK; chunksz >= 32; chunksz >>= 1) + while (filesz >= chunksz) + { + save_chunk (fh, ptr, chunksz); + filesz -= chunksz; + ptr += chunksz; + } + + /* Save final incomplete slice */ + if (filesz) + if (fwrite (ptr, 1, filesz, fh) != filesz) + return -1; + + return 0; +} + + +static int +descramble (const char *src, char *dst) +{ + unsigned char *ptr = NULL; + uint32_t sz = 0; + FILE *fh; + + if (!(fh = fopen (src, "rb"))) + return -1; + + sz = fsizeof (src); + if (!(ptr = (unsigned char *) malloc (sz))) + return -1; + + load_file (fh, ptr, sz); + fclose (fh); + + if (!(fh = fopen (dst, "wb"))) + return -1; + + if (fwrite (ptr, 1, sz, fh) != sz) + return -1; + + fclose (fh); + free (ptr); + return 0; +} + + +static int +scramble (const char *src, char *dst) +{ + unsigned char *ptr = NULL; + uint32_t sz = 0; + FILE *fh; + + if (!(fh = fopen (src, "rb"))) + return -1; + + sz = fsizeof (src); + + if (!(ptr = (unsigned char *) malloc (sz))) + return -1; + + if (fread (ptr, 1, sz, fh) != sz) + return -1; + + fclose (fh); + + if (!(fh == fopen (dst, "wb"))) + return -1; + save_file (fh, ptr, sz); + + fclose (fh); + + free (ptr); + return 0; +} + + +int +dc_scramble (void) +{ + char dest_name[FILENAME_MAX]; + + strcpy (dest_name, ucon64.rom); + ucon64_file_handler (dest_name, NULL, 0); + + if (!scramble (ucon64.rom, dest_name)) + printf (ucon64_msg[WROTE], dest_name); + else + fprintf (stderr, ucon64_msg[WRITE_ERROR], dest_name); + return 0; +} + + +int +dc_unscramble (void) +{ + char dest_name[FILENAME_MAX]; + + strcpy (dest_name, ucon64.rom); + ucon64_file_handler (dest_name, NULL, 0); + + if (!descramble (ucon64.rom, dest_name)) + printf (ucon64_msg[WROTE], dest_name); + else + fprintf (stderr, ucon64_msg[WRITE_ERROR], dest_name); + return 0; +} diff --git a/tools/ucon64-2.0.0-src/src/console/dc.h b/tools/ucon64-2.0.0-src/src/console/dc.h new file mode 100644 index 0000000..1e6b7a9 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/console/dc.h @@ -0,0 +1,29 @@ +/* +dc.h - Dreamcast support for uCON64 + +Copyright (c) 2004 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef DC_H +#define DC_H +extern int dc_init (st_rominfo_t *rominfo); +extern const st_getopt2_t dc_usage[]; +extern int dc_parse (const char *template_file); +extern int dc_mkip (void); +extern int dc_scramble (void); +extern int dc_unscramble (void); +#endif diff --git a/tools/ucon64-2.0.0-src/src/console/gb.c b/tools/ucon64-2.0.0-src/src/console/gb.c new file mode 100644 index 0000000..7ce0120 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/console/gb.c @@ -0,0 +1,703 @@ +/* +gb.c - Game Boy support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB +Copyright (c) 2001 - 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#ifdef HAVE_UNISTD_H +#include +#endif +#include +#include "misc/file.h" +#include "misc/misc.h" +#include "misc/string.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ucon64_misc.h" +#include "console/nes.h" +#include "backup/gbx.h" +#include "backup/mgd.h" +#include "backup/ssc.h" +#include "patch/ips.h" +#include "patch/bsl.h" +#include "gb.h" + + +#define GAMEBOY_HEADER_START 0x100 +#define GAMEBOY_HEADER_LEN (sizeof (st_gameboy_header_t)) +#define GB_NAME_LEN 15 + +const st_getopt2_t gameboy_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Game Boy/(Super GB)/GB Pocket/Color GB/(GB Advance)" + /*"1989/1994/1996/1998/2001 Nintendo http://www.nintendo.com"*/, + NULL + }, + { + "gb", 0, 0, UCON64_GB, + NULL, "force recognition", + &ucon64_wf[WF_OBJ_GB_SWITCH] + }, + { + "n", 1, 0, UCON64_N, + "NEW_NAME", "change internal ROM name to NEW_NAME", + &ucon64_wf[WF_OBJ_ALL_DEFAULT] + }, + { + "logo", 0, 0, UCON64_LOGO, + NULL, "restore ROM logo character data (offset: 0x104-0x134)", + &ucon64_wf[WF_OBJ_ALL_DEFAULT] + }, + { + "mgd", 0, 0, UCON64_MGD, + NULL, "convert to Multi Game*/MGD2/RAW", + &ucon64_wf[WF_OBJ_ALL_DEFAULT] + }, + { + "ssc", 0, 0, UCON64_SSC, + NULL, "convert to Super Smart Card/SSC", + &ucon64_wf[WF_OBJ_GB_DEFAULT] + }, + { + "sgb", 0, 0, UCON64_SGB, + NULL, "convert from GB Xchanger/GB/GBC to Super Backup Card/GX/GBX", + &ucon64_wf[WF_OBJ_GB_DEFAULT] + }, + { + "gbx", 0, 0, UCON64_GBX, + NULL, "convert from Super Backup Card/GX/GBX to GB Xchanger/GB/GBC", + &ucon64_wf[WF_OBJ_GB_DEFAULT] + }, + { + "n2gb", 1, 0, UCON64_N2GB, + "NESROM", "KAMI's FC EMUlator (NES emulator);\n" + "ROM should be KAMI's FC Emulator ROM image\n" + "NESROM should contain 16 kB of PRG data and 8 kB of CHR data", + &ucon64_wf[WF_OBJ_GB_DEFAULT] + }, + { + "chk", 0, 0, UCON64_CHK, + NULL, "fix ROM checksum", + &ucon64_wf[WF_OBJ_ALL_DEFAULT] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + + +/* +0148 ROM size: + 0 - 256kBit = 32kB = 2 banks + 1 - 512kBit = 64kB = 4 banks + 2 - 1Mb = 128kB = 8 banks + 3 - 2Mb = 256kB = 16 banks + 4 - 4Mb = 512kB = 32 banks +0149 RAM size: + 0 - None + 1 - 16kBit = 2kB = 1 bank + 2 - 64kBit = 8kB = 1 bank + 3 - 256kBit = 32kB = 4 banks +*/ +typedef struct st_gameboy_header +{ + unsigned char opcode1; // 0x00 usually 0x00, NOP + unsigned char opcode2; // 0x01 usually 0xc3, JP + unsigned char start_low; // 0x02 first byte of parameter of JP + unsigned char start_high; // 0x03 second byte + unsigned char logo[GB_LOGODATA_LEN]; // 0x04 + unsigned char name[GB_NAME_LEN]; // 0x34 + unsigned char gb_type; // 0x43 + unsigned char maker_high; // 0x44 + unsigned char maker_low; // 0x45 + unsigned char pad; + unsigned char rom_type; // 0x47 + unsigned char rom_size; // 0x48 + unsigned char sram_size; // 0x49 + unsigned char country; // 0x4a + unsigned char maker; // 0x4b + unsigned char version; // 0x4c + unsigned char header_checksum; // 0x4d + unsigned char checksum_high; // 0x4e + unsigned char checksum_low; // 0x4f +} st_gameboy_header_t; + +static st_gameboy_header_t gameboy_header; +const unsigned char gb_logodata[] = // Note: not a static variable + { + 0xce, 0xed, 0x66, 0x66, 0xcc, 0x0d, 0x00, 0x0b, + 0x03, 0x73, 0x00, 0x83, 0x00, 0x0c, 0x00, 0x0d, + 0x00, 0x08, 0x11, 0x1f, 0x88, 0x89, 0x00, 0x0e, + 0xdc, 0xcc, 0x6e, 0xe6, 0xdd, 0xdd, 0xd9, 0x99, + 0xbb, 0xbb, 0x67, 0x63, 0x6e, 0x0e, 0xec, 0xcc, + 0xdd, 0xdc, 0x99, 0x9f, 0xbb, 0xb9, 0x33, 0x3e + }, + rocket_logodata[] = // idem + { + 0x11, 0x23, 0xf1, 0x1e, 0x01, 0x22, 0xf0, 0x00, + 0x08, 0x99, 0x78, 0x00, 0x08, 0x11, 0x9a, 0x48, + 0x11, 0x23, 0xf0, 0x0e, 0x70, 0x01, 0xf8, 0x80, + 0x22, 0x44, 0x44, 0x22, 0x22, 0x21, 0x00, 0x1e, + 0x99, 0x10, 0x00, 0x1e, 0x19, 0x22, 0x44, 0x22, + 0x22, 0x47, 0x00, 0x0e, 0x11, 0x22, 0x00, 0x00 + }; + +typedef struct st_gameboy_chksum +{ + unsigned short value; + unsigned char header; +} st_gameboy_chksum_t; + +static st_gameboy_chksum_t checksum; +static st_gameboy_chksum_t gameboy_chksum (st_rominfo_t *rominfo); + + +int +gameboy_logo (st_rominfo_t *rominfo) +{ + char dest_name[FILENAME_MAX]; + + strcpy (dest_name, ucon64.rom); + ucon64_file_handler (dest_name, NULL, 0); + fcopy (ucon64.rom, 0, ucon64.file_size, dest_name, "wb"); + ucon64_fwrite ((unsigned char *) + ((gameboy_header.rom_type >= 0x97 && gameboy_header.rom_type <= 0x99) ? + rocket_logodata : gb_logodata), + rominfo->buheader_len + GAMEBOY_HEADER_START + 4, GB_LOGODATA_LEN, + dest_name, "r+b"); + + printf (ucon64_msg[WROTE], dest_name); + return 0; +} + + +int +gameboy_n2gb (st_rominfo_t *rominfo, const char *nesrom) +{ +#define EMULATOR_LEN 0x10000 + st_ines_header_t ines_header; + int n = 0, crc = 0; + unsigned char *buf; + char dest_name[FILENAME_MAX]; + + if (ucon64.file_size - rominfo->buheader_len != EMULATOR_LEN) + { + fprintf (stderr, "ERROR: %s does not appear to be KAMI's FC emulator\n", ucon64.rom); + return -1; + } + + ucon64_fread (&ines_header, 0, INES_HEADER_LEN, nesrom); + if (memcmp (ines_header.signature, INES_SIG_S, 4)) + { + fprintf (stderr, "ERROR: Only NES ROMs with iNES header are supported\n"); + return -1; + } + if (ines_header.prg_size != 1 || ines_header.chr_size != 1) + { + fprintf (stderr, + "ERROR: Only NES ROMs with 0.1250 Mb of ROM (PRG) and 0.0625 Mb of VROM (CHR)\n" + " are supported by KAMI's FC emulator\n"); + return -1; + } + + if (!(buf = (unsigned char *) malloc (ucon64.file_size))) + { + fprintf (stderr, ucon64_msg[ROM_BUFFER_ERROR], ucon64.file_size); + return -1; + } + ucon64_fread (buf, 0, ucon64.file_size, ucon64.rom); + ucon64_fread (rominfo->buheader_len + buf + 0x4000, INES_HEADER_LEN, + 0x4000 + 0x2000, nesrom); // read PRG & CHR data + + for (n = 0; n < ucon64.file_size - rominfo->buheader_len; n++) + { + if ((n == GAMEBOY_HEADER_START + 0x4e) || (n == GAMEBOY_HEADER_START + 0x4f)) + continue; + else + crc += buf[rominfo->buheader_len + n]; + } + + buf[rominfo->buheader_len + GAMEBOY_HEADER_START + 0x4e] = crc >> 8; + buf[rominfo->buheader_len + GAMEBOY_HEADER_START + 0x4f] = crc; + strcpy (dest_name, ucon64.rom); + ucon64_file_handler (dest_name, NULL, 0); + ucon64_fwrite (buf, 0, ucon64.file_size, dest_name, "wb"); + + free (buf); + printf (ucon64_msg[WROTE], dest_name); + return 0; +} + + +static int +gameboy_convert_data (st_rominfo_t *rominfo, unsigned char *conversion_table, + const char *suffix) +{ + char dest_name[FILENAME_MAX], src_name[FILENAME_MAX]; + unsigned char buf[MAXBUFSIZE]; + int x, n, n_bytes; + + strcpy (src_name, ucon64.rom); + strcpy (dest_name, ucon64.rom); + set_suffix (dest_name, suffix); + ucon64_file_handler (dest_name, src_name, 0); + + x = rominfo->buheader_len; + while ((n_bytes = ucon64_fread (buf, x, MAXBUFSIZE, src_name))) + { + for (n = 0; n < n_bytes; n++) + buf[n] = conversion_table[(int) buf[n]]; + ucon64_fwrite (buf, x, n_bytes, dest_name, x == rominfo->buheader_len ? "wb" : "ab"); + x += n_bytes; + } + + printf (ucon64_msg[WROTE], dest_name); + return 0; +} + + +int +gameboy_gbx (st_rominfo_t *rominfo) +{ + unsigned char gbx2gbc[] = + { + 0xB4, 0xBC, 0xA4, 0xAC, 0x94, 0x9C, 0x84, 0x8C, + 0xF4, 0xFC, 0xE4, 0xEC, 0xD4, 0xDC, 0xC4, 0xCC, + 0x34, 0x3C, 0x24, 0x2C, 0x14, 0x1C, 0x04, 0x0C, + 0x74, 0x7C, 0x64, 0x6C, 0x54, 0x5C, 0x44, 0x4C, + 0xB5, 0xBD, 0xA5, 0xAD, 0x95, 0x9D, 0x85, 0x8D, + 0xF5, 0xFD, 0xE5, 0xED, 0xD5, 0xDD, 0xC5, 0xCD, + 0x35, 0x3D, 0x25, 0x2D, 0x15, 0x1D, 0x05, 0x0D, + 0x75, 0x7D, 0x65, 0x6D, 0x55, 0x5D, 0x45, 0x4D, + 0xB6, 0xBE, 0xA6, 0xAE, 0x96, 0x9E, 0x86, 0x8E, + 0xF6, 0xFE, 0xE6, 0xEE, 0xD6, 0xDE, 0xC6, 0xCE, + 0x36, 0x3E, 0x26, 0x2E, 0x16, 0x1E, 0x06, 0x0E, + 0x76, 0x7E, 0x66, 0x6E, 0x56, 0x5E, 0x46, 0x4E, + 0xB7, 0xBF, 0xA7, 0xAF, 0x97, 0x9F, 0x87, 0x8F, + 0xF7, 0xFF, 0xE7, 0xEF, 0xD7, 0xDF, 0xC7, 0xCF, + 0x37, 0x3F, 0x27, 0x2F, 0x17, 0x1F, 0x07, 0x0F, + 0x77, 0x7F, 0x67, 0x6F, 0x57, 0x5F, 0x47, 0x4F, + 0xB0, 0xB8, 0xA0, 0xA8, 0x90, 0x98, 0x80, 0x88, + 0xF0, 0xF8, 0xE0, 0xE8, 0xD0, 0xD8, 0xC0, 0xC8, + 0x30, 0x38, 0x20, 0x28, 0x10, 0x18, 0x00, 0x08, + 0x70, 0x78, 0x60, 0x68, 0x50, 0x58, 0x40, 0x48, + 0xB1, 0xB9, 0xA1, 0xA9, 0x91, 0x99, 0x81, 0x89, + 0xF1, 0xF9, 0xE1, 0xE9, 0xD1, 0xD9, 0xC1, 0xC9, + 0x31, 0x39, 0x21, 0x29, 0x11, 0x19, 0x01, 0x09, + 0x71, 0x79, 0x61, 0x69, 0x51, 0x59, 0x41, 0x49, + 0xB2, 0xBA, 0xA2, 0xAA, 0x92, 0x9A, 0x82, 0x8A, + 0xF2, 0xFA, 0xE2, 0xEA, 0xD2, 0xDA, 0xC2, 0xCA, + 0x32, 0x3A, 0x22, 0x2A, 0x12, 0x1A, 0x02, 0x0A, + 0x72, 0x7A, 0x62, 0x6A, 0x52, 0x5A, 0x42, 0x4A, + 0xB3, 0xBB, 0xA3, 0xAB, 0x93, 0x9B, 0x83, 0x8B, + 0xF3, 0xFB, 0xE3, 0xEB, 0xD3, 0xDB, 0xC3, 0xCB, + 0x33, 0x3B, 0x23, 0x2B, 0x13, 0x1B, 0x03, 0x0B, + 0x73, 0x7B, 0x63, 0x6B, 0x53, 0x5B, 0x43, 0x4B + }; + const char *old_suffix = get_suffix (ucon64.rom), *new_suffix; + new_suffix = stricmp (old_suffix, ".GBX") ? ".GB" : ".GBC"; + return gameboy_convert_data (rominfo, gbx2gbc, new_suffix); +} + + +int +gameboy_sgb (st_rominfo_t *rominfo) +{ + unsigned char gbc2gbx[] = + { + 0x96, 0xB6, 0xD6, 0xF6, 0x16, 0x36, 0x56, 0x76, + 0x97, 0xB7, 0xD7, 0xF7, 0x17, 0x37, 0x57, 0x77, + 0x94, 0xB4, 0xD4, 0xF4, 0x14, 0x34, 0x54, 0x74, + 0x95, 0xB5, 0xD5, 0xF5, 0x15, 0x35, 0x55, 0x75, + 0x92, 0xB2, 0xD2, 0xF2, 0x12, 0x32, 0x52, 0x72, + 0x93, 0xB3, 0xD3, 0xF3, 0x13, 0x33, 0x53, 0x73, + 0x90, 0xB0, 0xD0, 0xF0, 0x10, 0x30, 0x50, 0x70, + 0x91, 0xB1, 0xD1, 0xF1, 0x11, 0x31, 0x51, 0x71, + 0x9E, 0xBE, 0xDE, 0xFE, 0x1E, 0x3E, 0x5E, 0x7E, + 0x9F, 0xBF, 0xDF, 0xFF, 0x1F, 0x3F, 0x5F, 0x7F, + 0x9C, 0xBC, 0xDC, 0xFC, 0x1C, 0x3C, 0x5C, 0x7C, + 0x9D, 0xBD, 0xDD, 0xFD, 0x1D, 0x3D, 0x5D, 0x7D, + 0x9A, 0xBA, 0xDA, 0xFA, 0x1A, 0x3A, 0x5A, 0x7A, + 0x9B, 0xBB, 0xDB, 0xFB, 0x1B, 0x3B, 0x5B, 0x7B, + 0x98, 0xB8, 0xD8, 0xF8, 0x18, 0x38, 0x58, 0x78, + 0x99, 0xB9, 0xD9, 0xF9, 0x19, 0x39, 0x59, 0x79, + 0x86, 0xA6, 0xC6, 0xE6, 0x06, 0x26, 0x46, 0x66, + 0x87, 0xA7, 0xC7, 0xE7, 0x07, 0x27, 0x47, 0x67, + 0x84, 0xA4, 0xC4, 0xE4, 0x04, 0x24, 0x44, 0x64, + 0x85, 0xA5, 0xC5, 0xE5, 0x05, 0x25, 0x45, 0x65, + 0x82, 0xA2, 0xC2, 0xE2, 0x02, 0x22, 0x42, 0x62, + 0x83, 0xA3, 0xC3, 0xE3, 0x03, 0x23, 0x43, 0x63, + 0x80, 0xA0, 0xC0, 0xE0, 0x00, 0x20, 0x40, 0x60, + 0x81, 0xA1, 0xC1, 0xE1, 0x01, 0x21, 0x41, 0x61, + 0x8E, 0xAE, 0xCE, 0xEE, 0x0E, 0x2E, 0x4E, 0x6E, + 0x8F, 0xAF, 0xCF, 0xEF, 0x0F, 0x2F, 0x4F, 0x6F, + 0x8C, 0xAC, 0xCC, 0xEC, 0x0C, 0x2C, 0x4C, 0x6C, + 0x8D, 0xAD, 0xCD, 0xED, 0x0D, 0x2D, 0x4D, 0x6D, + 0x8A, 0xAA, 0xCA, 0xEA, 0x0A, 0x2A, 0x4A, 0x6A, + 0x8B, 0xAB, 0xCB, 0xEB, 0x0B, 0x2B, 0x4B, 0x6B, + 0x88, 0xA8, 0xC8, 0xE8, 0x08, 0x28, 0x48, 0x68, + 0x89, 0xA9, 0xC9, 0xE9, 0x09, 0x29, 0x49, 0x69 + }; + const char *old_suffix = get_suffix (ucon64.rom), *new_suffix; + new_suffix = stricmp (old_suffix, ".GBC") ? ".GX" : ".GBX"; + return gameboy_convert_data (rominfo, gbc2gbx, new_suffix); +} + + +int +gameboy_n (st_rominfo_t *rominfo, const char *name) +{ + char buf[GB_NAME_LEN], dest_name[FILENAME_MAX]; + + memset (buf, 0, GB_NAME_LEN); + strncpy (buf, name, GB_NAME_LEN); + strcpy (dest_name, ucon64.rom); + ucon64_file_handler (dest_name, NULL, 0); + fcopy (ucon64.rom, 0, ucon64.file_size, dest_name, "wb"); + ucon64_fwrite (buf, rominfo->buheader_len + GAMEBOY_HEADER_START + 0x34, + GB_NAME_LEN, dest_name, "r+b"); + + printf (ucon64_msg[WROTE], dest_name); + return 0; +} + + +int +gameboy_chk (st_rominfo_t *rominfo) +{ + char buf[4], dest_name[FILENAME_MAX]; + + strcpy (dest_name, ucon64.rom); + ucon64_file_handler (dest_name, NULL, 0); + fcopy (ucon64.rom, 0, ucon64.file_size, dest_name, "wb"); + + buf[0] = checksum.header; + buf[1] = rominfo->current_internal_crc >> 8; + buf[2] = rominfo->current_internal_crc; + ucon64_fwrite (buf, rominfo->buheader_len + GAMEBOY_HEADER_START + 0x4d, 3, + dest_name, "r+b"); + + dumper (stdout, buf, 3, GAMEBOY_HEADER_START + rominfo->buheader_len + 0x4d, DUMPER_HEX); + + printf (ucon64_msg[WROTE], dest_name); + return 0; +} + + +int +gameboy_mgd (st_rominfo_t *rominfo) +// TODO: convert the ROM data +{ + char src_name[FILENAME_MAX], dest_name[FILENAME_MAX]; + int size = ucon64.file_size - rominfo->buheader_len; + + strcpy (src_name, ucon64.rom); + mgd_make_name (ucon64.rom, UCON64_GB, size, dest_name); + ucon64_file_handler (dest_name, src_name, OF_FORCE_BASENAME); + + fcopy (src_name, rominfo->buheader_len, size, dest_name, "wb"); + + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + + mgd_write_index_file ((char *) basename2 (dest_name), 1); + return 0; +} + + +int +gameboy_ssc (st_rominfo_t *rominfo) +// TODO: convert the ROM data +{ + st_unknown_header_t header; + char src_name[FILENAME_MAX], dest_name[FILENAME_MAX]; + const char *p = NULL; + int size = ucon64.file_size - rominfo->buheader_len; + + memset (&header, 0, UNKNOWN_HEADER_LEN); + + header.size_low = size / 8192; + header.size_high = size / 8192 >> 8; + header.id1 = 0xaa; + header.id2 = 0xbb; +#if 0 // TODO: find out correct value. 2 is used for Magic Super Griffin + header.type = 2; +#endif + + strcpy (src_name, ucon64.rom); + p = basename2 (ucon64.rom); + // TODO: find out if this is correct (giving the file name a prefix) + if ((p[0] == 'G' || p[0] == 'g') && (p[1] == 'B' || p[1] == 'b')) + strcpy (dest_name, p); + else + sprintf (dest_name, "gb%s", p); + set_suffix (dest_name, ".gb"); + + ucon64_file_handler (dest_name, src_name, 0); + ucon64_fwrite (&header, 0, UNKNOWN_HEADER_LEN, dest_name, "wb"); + fcopy (src_name, rominfo->buheader_len, size, dest_name, "ab"); + + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + return 0; +} + + +int +gameboy_init (st_rominfo_t *rominfo) +{ + int result = -1, value, x; + char buf[MAXBUFSIZE]; + static const char *gameboy_romtype1[0x20] = + { + "ROM only", + "ROM + MBC1", + "ROM + MBC1 + RAM", + "ROM + MBC1 + RAM + Battery", + NULL, + "ROM + MBC2", + "ROM + MBC2 + Battery", + NULL, + "ROM + RAM", // correct? - dbjh + "ROM + RAM + Battery", // correct? - dbjh + NULL, + "ROM + MMM01", + "ROM + MMM01 + SRAM", + "ROM + MMM01 + SRAM + Battery", + NULL, + "ROM + MBC3 + Battery + Timer", + "ROM + MBC3 + RAM + Battery + Timer", + "ROM + MBC3", + "ROM + MBC3 + RAM", + "ROM + MBC3 + RAM + Battery", + NULL, + NULL, + NULL, + NULL, + NULL, + "ROM + MBC5", + "ROM + MBC5 + RAM", + "ROM + MBC5 + RAM + Battery", + "ROM + MBC5 + Rumble", + "ROM + MBC5 + SRAM + Rumble", + "ROM + MBC5 + SRAM + Battery + Rumble", + "Nintendo Pocket Camera" + }, + *gameboy_romtype2[3] = + { + "Rocket Games", + NULL, + "Rocket Games 2-in-1" + }, + *gameboy_romtype3[3] = + { + "Bandai TAMA5", + "Hudson HuC-3", + "Hudson HuC-1" + }, + *str; + + rominfo->buheader_len = UCON64_ISSET (ucon64.buheader_len) ? ucon64.buheader_len : 0; + + ucon64_fread (&gameboy_header, rominfo->buheader_len + GAMEBOY_HEADER_START, + GAMEBOY_HEADER_LEN, ucon64.rom); + if (gameboy_header.opcode1 == 0x00 && gameboy_header.opcode2 == 0xc3) + result = 0; + else + { + rominfo->buheader_len = UCON64_ISSET (ucon64.buheader_len) ? + ucon64.buheader_len : (int) SSC_HEADER_LEN; + + ucon64_fread (&gameboy_header, rominfo->buheader_len + GAMEBOY_HEADER_START, + GAMEBOY_HEADER_LEN, ucon64.rom); + if (gameboy_header.opcode1 == 0x00 && gameboy_header.opcode2 == 0xc3) + result = 0; + else + result = -1; + } + if (ucon64.console == UCON64_GB) + result = 0; + + rominfo->header_start = GAMEBOY_HEADER_START; + rominfo->header_len = GAMEBOY_HEADER_LEN; + rominfo->header = &gameboy_header; + + // internal ROM name + strncpy (rominfo->name, (const char *) gameboy_header.name, GB_NAME_LEN); + rominfo->name[GB_NAME_LEN] = 0; // terminate string + + // ROM maker + if (gameboy_header.maker == 0x33) + { + int ih = gameboy_header.maker_high <= '9' ? + gameboy_header.maker_high - '0' : gameboy_header.maker_high - 'A' + 10, + il = gameboy_header.maker_low <= '9' ? + gameboy_header.maker_low - '0' : gameboy_header.maker_low - 'A' + 10; + x = ih * 36 + il; + } + else + x = (gameboy_header.maker >> 4) * 36 + (gameboy_header.maker & 0x0f); + + /* + I added the first if statement, because I didn't want to expand + nintendo_maker by a large amount for only one publisher and because index 0 + is used when the publisher code is unknown (so it shouldn't be set to + "Rocket Games"). - dbjh + */ + if (x == 33 * 36 + 33 || x == 0) // publisher code XX/00 + x = 2; // Rocket Games + else if (x < 0 || x >= NINTENDO_MAKER_LEN) + x = 0; + rominfo->maker = NULL_TO_UNKNOWN_S (nintendo_maker[x]); + + // ROM country + rominfo->country = gameboy_header.country == 0 ? "Japan" : "U.S.A. & Europe"; + + // misc stuff + // Don't move division by 4 to shift parameter (gameboy_header.rom_size can be < 2) + sprintf (buf, "Internal size: %.4f Mb\n", (1 << gameboy_header.rom_size) / 4.0f); + strcat (rominfo->misc, buf); + + if (gameboy_header.rom_type <= 0x1f) + str = NULL_TO_UNKNOWN_S (gameboy_romtype1[gameboy_header.rom_type]); + else if (gameboy_header.rom_type >= 0x97 && gameboy_header.rom_type <= 0x99) + str = gameboy_romtype2[gameboy_header.rom_type - 0x97]; + else if (gameboy_header.rom_type >= 0xfd) + str = gameboy_romtype3[gameboy_header.rom_type - 0xfd]; + else + str = "Unknown"; + sprintf (buf, "ROM type: %s\n", str); + strcat (rominfo->misc, buf); + + if (!gameboy_header.sram_size) + sprintf (buf, "Save RAM: No\n"); + else + { + value = (gameboy_header.sram_size & 7) << 1; // 0/1/2/4/5 + if (value) + value = 1 << (value - 1); + + sprintf (buf, "Save RAM: Yes, %d kBytes\n", value); + } + strcat (rominfo->misc, buf); + + sprintf (buf, "Version: 1.%d\n", gameboy_header.version); + strcat (rominfo->misc, buf); + + sprintf (buf, "Game Boy type: %s\n", + (gameboy_header.gb_type == 0x80) ? "Color" : +// (OFFSET (gameboy_header, 0x46) == 0x03) ? "Super" : + "Standard (4 colors)"); + strcat (rominfo->misc, buf); + + value = gameboy_header.start_high << 8; + value += gameboy_header.start_low; + sprintf (buf, "Start address: 0x%04x\n", value); + strcat (rominfo->misc, buf); + + strcat (rominfo->misc, "Logo data: "); + if (memcmp (gameboy_header.logo, + (gameboy_header.rom_type >= 0x97 && gameboy_header.rom_type <= 0x99) ? + rocket_logodata : gb_logodata, + GB_LOGODATA_LEN) == 0) + { +#ifdef USE_ANSI_COLOR + if (ucon64.ansi_color) + strcat (rominfo->misc, "\x1b[01;32mOk\x1b[0m"); + else +#endif + strcat (rominfo->misc, "Ok"); + } + else + { +#ifdef USE_ANSI_COLOR + if (ucon64.ansi_color) + strcat (rominfo->misc, "\x1b[01;31mBad\x1b[0m"); + else +#endif + strcat (rominfo->misc, "Bad"); + } + + if (!UCON64_ISSET (ucon64.do_not_calc_crc) && result == 0) + { + rominfo->has_internal_crc = 1; + rominfo->internal_crc_len = 2; + checksum = gameboy_chksum (rominfo); + rominfo->current_internal_crc = checksum.value; + + rominfo->internal_crc = (gameboy_header.checksum_high << 8) + + gameboy_header.checksum_low; + + x = gameboy_header.header_checksum; + sprintf (rominfo->internal_crc2, + "Header checksum: %s, 0x%02x (calculated) %c= 0x%02x (internal)", +#ifdef USE_ANSI_COLOR + ucon64.ansi_color ? + ((checksum.header == x) ? + "\x1b[01;32mOk\x1b[0m" : "\x1b[01;31mBad\x1b[0m") + : + ((checksum.header == x) ? "Ok" : "Bad"), +#else + (checksum.header == x) ? "Ok" : "Bad", +#endif + checksum.header, (checksum.header == x) ? '=' : '!', x); + } + + rominfo->console_usage = gameboy_usage[0].help; + rominfo->copier_usage = (!rominfo->buheader_len ? mgd_usage[0].help : ssc_usage[0].help); + + return result; +} + + +st_gameboy_chksum_t +gameboy_chksum (st_rominfo_t *rominfo) +{ + st_gameboy_chksum_t sum = { 0, 0 }; + unsigned char *rom_buffer; + int size = ucon64.file_size - rominfo->buheader_len, i; + + if (!(rom_buffer = (unsigned char *) malloc (size))) + { + fprintf (stderr, ucon64_msg[ROM_BUFFER_ERROR], size); + return sum; + } + ucon64_fread (rom_buffer, rominfo->buheader_len, size, ucon64.rom); + + for (i = GAMEBOY_HEADER_START + 0x34; i < GAMEBOY_HEADER_START + 0x4d; i++) + sum.header += ~rom_buffer[i]; + for (i = 0; i < size; i++) + sum.value += rom_buffer[i]; + sum.value -= (rom_buffer[GAMEBOY_HEADER_START + 0x4d] - sum.header) + + rom_buffer[GAMEBOY_HEADER_START + 0x4e] + + rom_buffer[GAMEBOY_HEADER_START + 0x4f]; + + free (rom_buffer); + + return sum; +} diff --git a/tools/ucon64-2.0.0-src/src/console/gb.h b/tools/ucon64-2.0.0-src/src/console/gb.h new file mode 100644 index 0000000..b8420fc --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/console/gb.h @@ -0,0 +1,39 @@ +/* +gb.h - Game Boy support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef GB_H +#define GB_H + +#define GB_LOGODATA_LEN 48 + +extern const st_getopt2_t gameboy_usage[]; +extern const unsigned char gb_logodata[], rocket_logodata[]; + +extern int gameboy_chk (st_rominfo_t *rominfo); +extern int gameboy_gbx (st_rominfo_t *rominfo); +extern int gameboy_mgd (st_rominfo_t *rominfo); +extern int gameboy_n (st_rominfo_t *rominfo, const char *name); +extern int gameboy_n2gb (st_rominfo_t *rominfo, const char *emu_rom); +extern int gameboy_sgb (st_rominfo_t *rominfo); +extern int gameboy_ssc (st_rominfo_t *rominfo); +extern int gameboy_init (st_rominfo_t *rominfo); +extern int gameboy_logo (st_rominfo_t *rominfo); + +#endif diff --git a/tools/ucon64-2.0.0-src/src/console/gba.c b/tools/ucon64-2.0.0-src/src/console/gba.c new file mode 100644 index 0000000..6148cb5 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/console/gba.c @@ -0,0 +1,850 @@ +/* +gba.c - Game Boy Advance support for uCON64 + +Copyright (c) 2001 NoisyB +Copyright (c) 2001 - 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#ifdef HAVE_UNISTD_H +#include +#endif +#include +#include "misc/file.h" +#include "misc/misc.h" +#include "misc/property.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "misc/string.h" +#include "ucon64.h" +#include "ucon64_misc.h" +#include "gba.h" +#include "backup/fal.h" + + +#define GBA_NAME_LEN 12 +#define GBA_HEADER_START 0 +#define GBA_HEADER_LEN (sizeof (st_gba_header_t)) + + +static int gba_chksum (void); + +const st_getopt2_t gba_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Game Boy Advance"/*"2001 Nintendo http://www.nintendo.com"*/, + NULL + }, + { + "gba", 0, 0, UCON64_GBA, + NULL, "force recognition", + &ucon64_wf[WF_OBJ_GBA_SWITCH] + }, + { + "n", 1, 0, UCON64_N, + "NEW_NAME", "change internal ROM name to NEW_NAME", + &ucon64_wf[WF_OBJ_ALL_DEFAULT] + }, + { + "logo", 0, 0, UCON64_LOGO, + NULL, "restore ROM logo character data (offset: 0x04-0x9F)", + &ucon64_wf[WF_OBJ_ALL_DEFAULT] + }, + { + "chk", 0, 0, UCON64_CHK, + NULL, "fix ROM header checksum", + &ucon64_wf[WF_OBJ_ALL_DEFAULT] + }, + { + "sram", 0, 0, UCON64_SRAM, + NULL, "patch ROM for SRAM saving", + &ucon64_wf[WF_OBJ_GBA_DEFAULT] + }, + { + "crp", 1, 0, UCON64_CRP, + "WAIT_TIME", "slow down ROM access (\"crash patch\");\n" + "WAIT_TIME=0 default in most crash patches\n" + "WAIT_TIME=4 faster than 0, slower than 8\n" + "WAIT_TIME=8 faster than 4, slower than 28\n" + "WAIT_TIME=12 slowest cartridge access speed\n" + "WAIT_TIME=16 faster than 28, but slower than 20\n" + "WAIT_TIME=20 default in most original cartridges\n" + "WAIT_TIME=24 fastest cartridge access speed\n" + "WAIT_TIME=28 faster than 8 but slower than 16", + &ucon64_wf[WF_OBJ_GBA_DEFAULT] + }, +// "n 0 and 28, with a stepping of 4. I.e. 0, 4, 8, 12 ...\n" + { + "multi", 1, 0, UCON64_MULTI, + "SIZE", "make multi-game file for use with FAL/F2A flash card, truncated\n" + "to SIZE Mbit; file with loader must be specified first, then\n" + "all the ROMs, multi-game file to create last", + &ucon64_wf[WF_OBJ_ALL_INIT_PROBE_STOP] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + + +/* +Offset 00h-03h - Start Address - A 32 bit ARM B command with jump destination + to the start address of the program, cannot be manipulated + with this tool, there's no reason. + +Offset 04h-9fh - Nintendo logo character data - The fix Nintendo logo graphics + needed to start a ROM on the real machine as it is verified + by it. + +Offset a0h-abh - Game title - The game title is an ASCII string, officially + can use only ASCII characters between the ASCII code 20h and + 60h. Although it is not a strict rule for hobby programmers, + it is fun to follow such a rules in my opinion. As I know + developers can choose their own game title here describing + the product in short. + +Offset ach-afh - Game code - The 4 bytes long code of the game is an ASCII + string too, officially can use only ASCII characters between + the ASCII code 20h and 60h. The first letter is always A as I + know, probably stands for GBA, so it won't change unless a + higher hardware with backwards compatibility won't be + introduced and this letter could hold some more infos about + it. The second and third letters are the shortened version of + the name of the game. And the fourth letter is the territory + code. Don't afraid, there's no territory lockout, this is for + information purposes only. So far as I know J stands for + Japan and Asia, E stands for USA and the whole American + continent and P stands for Europe, Australia and Africa + (probably came from that these are the PAL video standard + territories, but I could be wrong). Although it is not a + strict rule for hobby programmers, it is fun to follow such a + rules in my opinion. Developers get this 4 letter code right + from Nintendo and they have to use that. + +Offset b0h-b1h - Maker code - The 2 bytes long code of the developer company + is an ASCII string too, officially can use only ASCII + characters between the ASCII code 20h and 60h. Although it is + not a strict rule for hobby programmers, it is fun to follow + such a rules in my opinion. Developers get this 2 letter code + right from Nintendo and they have to use that. + +Offset b2h-b2h - 96h - Fixed 96h byte without any useful information. + +Offset b3h-b3h - Main unit code - This hexadecimal byte is the destination + hardware code. It is always 00h at the moment as it stands + for Game Boy Advance, so it won't change in the future either + unless a higher hardware with backwards compatibility won't + be introduced and this byte could hold some more infos about + it. There's no reason to change this or write something + different than 00h into it. + +Offset b4h-b4h - Device type - This hexadecimal byte is the device type code. + It is always 00h as the only other possible value stands for + a debugger cart what I assume won't be available on the + streets and I assume even if a developer works with such a + hardware, he or she doesn't have to change this byte, however + he or she easily can of course. So there's no reason to + change this or write something different than 00h into it. + +Offset b5h-bbh - Reserved area - Fixed, 00h filled area without any useful + information. + +Offset bch-bch - Mask ROM version number - This hexadecimal byte holds the + version number of the ROM. As I know it works somehow that + way, the first published (and released on the streets) is + always the first version and for that 00h is stored here. In + the case it is getting updated, so in the same territory the + very same game with the very same title is getting replaced + with a new version, what is happening rarely, the number here + is getting increased by one. So usually this byte holds 00h + and there isn't too much reason to write something here and + something else than 00h. + +Offset bdh-bdh - Complement check - This hexadecimal byte have to be + calculated automatically, when the whole header is in its + final state, so nothing will change inside of it. (Manually + it would be hard to calculate.) Add the bytes between offset + a0h and bch together, take the number's two's complement and + add 19h to the result. Store the lowest 8 bits here. Or + calculate automatically with GBARM. The hardware is + verifying this byte just like the Nintendo logo character + data and in the case it isn't correct, the game won't start + on the real machine. + +Offset beh-bfh - Reserved area - Fixed, 00h filled area without any useful + information. +*/ +typedef struct st_gba_header +{ + unsigned char start[4]; // 0x00 + unsigned char logo[GBA_LOGODATA_LEN]; // 0x04 + unsigned char name[GBA_NAME_LEN]; // 0xa0 + unsigned char game_id_prefix; // 0xac + unsigned char game_id_low; // 0xad + unsigned char game_id_high; // 0xae + unsigned char game_id_country; // 0xaf + unsigned char maker_high; // 0xb0 + unsigned char maker_low; // 0xb1 + unsigned char pad1; + unsigned char gba_type; // 0xb3 + unsigned char device_type; // 0xb4 + unsigned char pad2[7]; + unsigned char version; // 0xbc + unsigned char checksum; // 0xbd + unsigned char pad3[2]; +} st_gba_header_t; + +static st_gba_header_t gba_header; +const unsigned char gba_logodata[] = // Note: not a static variable + { + 0x24, 0xff, 0xae, 0x51, + 0x69, 0x9a, 0xa2, 0x21, 0x3d, 0x84, 0x82, 0x0a, + 0x84, 0xe4, 0x09, 0xad, 0x11, 0x24, 0x8b, 0x98, + 0xc0, 0x81, 0x7f, 0x21, 0xa3, 0x52, 0xbe, 0x19, + 0x93, 0x09, 0xce, 0x20, 0x10, 0x46, 0x4a, 0x4a, + 0xf8, 0x27, 0x31, 0xec, 0x58, 0xc7, 0xe8, 0x33, + 0x82, 0xe3, 0xce, 0xbf, 0x85, 0xf4, 0xdf, 0x94, + 0xce, 0x4b, 0x09, 0xc1, 0x94, 0x56, 0x8a, 0xc0, + 0x13, 0x72, 0xa7, 0xfc, 0x9f, 0x84, 0x4d, 0x73, + 0xa3, 0xca, 0x9a, 0x61, 0x58, 0x97, 0xa3, 0x27, + 0xfc, 0x03, 0x98, 0x76, 0x23, 0x1d, 0xc7, 0x61, + 0x03, 0x04, 0xae, 0x56, 0xbf, 0x38, 0x84, 0x00, + 0x40, 0xa7, 0x0e, 0xfd, 0xff, 0x52, 0xfe, 0x03, + 0x6f, 0x95, 0x30, 0xf1, 0x97, 0xfb, 0xc0, 0x85, + 0x60, 0xd6, 0x80, 0x25, 0xa9, 0x63, 0xbe, 0x03, + 0x01, 0x4e, 0x38, 0xe2, 0xf9, 0xa2, 0x34, 0xff, + 0xbb, 0x3e, 0x03, 0x44, 0x78, 0x00, 0x90, 0xcb, + 0x88, 0x11, 0x3a, 0x94, 0x65, 0xc0, 0x7c, 0x63, + 0x87, 0xf0, 0x3c, 0xaf, 0xd6, 0x25, 0xe4, 0x8b, + 0x38, 0x0a, 0xac, 0x72, 0x21, 0xd4, 0xf8, 0x07 + }; + + +int +gba_n (st_rominfo_t *rominfo, const char *name) +{ + char buf[GBA_NAME_LEN], dest_name[FILENAME_MAX]; + + memset (buf, 0, GBA_NAME_LEN); + strncpy (buf, name, GBA_NAME_LEN); + strcpy (dest_name, ucon64.rom); + ucon64_file_handler (dest_name, NULL, 0); + fcopy (ucon64.rom, 0, ucon64.file_size, dest_name, "wb"); + ucon64_fwrite (buf, GBA_HEADER_START + rominfo->buheader_len + 0xa0, GBA_NAME_LEN, + dest_name, "r+b"); + + printf (ucon64_msg[WROTE], dest_name); + return 0; +} + + +int +gba_logo (st_rominfo_t *rominfo) +{ + char dest_name[FILENAME_MAX]; + + strcpy (dest_name, ucon64.rom); + ucon64_file_handler (dest_name, NULL, 0); + fcopy (ucon64.rom, 0, ucon64.file_size, dest_name, "wb"); + ucon64_fwrite (gba_logodata, GBA_HEADER_START + rominfo->buheader_len + 0x04, + GBA_LOGODATA_LEN, dest_name, "r+b"); + + printf (ucon64_msg[WROTE], dest_name); + return 0; +} + + +int +gba_chk (st_rominfo_t *rominfo) +{ + char buf, dest_name[FILENAME_MAX]; + + strcpy (dest_name, ucon64.rom); + ucon64_file_handler (dest_name, NULL, 0); + fcopy (ucon64.rom, 0, ucon64.file_size, dest_name, "wb"); + + buf = rominfo->current_internal_crc; + ucon64_fputc (dest_name, GBA_HEADER_START + rominfo->buheader_len + 0xbd, + buf, "r+b"); + + dumper (stdout, &buf, 1, GBA_HEADER_START + rominfo->buheader_len + 0xbd, DUMPER_HEX); + + printf (ucon64_msg[WROTE], dest_name); + return 0; +} + + +int +gba_sram (void) +// This function is based on Omar Kilani's gbautil 1.1 +{ + unsigned char st_orig[2][10] = + { + { 0x0E, 0x48, 0x39, 0x68, 0x01, 0x60, 0x0E, 0x48, 0x79, 0x68 }, + { 0x13, 0x4B, 0x18, 0x60, 0x13, 0x48, 0x01, 0x60, 0x13, 0x49 } + }, + st_repl[2][10] = + { + { 0x00, 0x48, 0x00, 0x47, 0x01, 0xFF, 0xFF, 0x08, 0x79, 0x68 }, + { 0x01, 0x4C, 0x20, 0x47, 0x00, 0x00, 0x01, 0xFF, 0xFF, 0x08 } + }, + fl_orig[2][24] = + { + { + 0xD0, 0x20, 0x00, 0x05, 0x01, 0x88, 0x01, 0x22, 0x08, 0x1C, + 0x10, 0x40, 0x02, 0x1C, 0x11, 0x04, 0x08, 0x0C, 0x00, 0x28, + 0x01, 0xD0, 0x1B, 0xE0 + }, + { + 0xD0, 0x21, 0x09, 0x05, 0x01, 0x23, 0x0C, 0x4A, 0x08, 0x88, + 0x18, 0x40, 0x00, 0x28, 0x08, 0xD1, 0x10, 0x78, 0x00, 0x28, + 0xF8, 0xD0, 0x08, 0x88 + } + }, + fl_repl[2][24] = + { + { + 0xE0, 0x20, 0x00, 0x05, 0x01, 0x88, 0x01, 0x22, 0x08, 0x1C, + 0x10, 0x40, 0x02, 0x1C, 0x11, 0x04, 0x08, 0x0C, 0x00, 0x28, + 0x01, 0xD0, 0x1B, 0xE0 + }, + { + 0xE0, 0x21, 0x09, 0x05, 0x01, 0x23, 0x0C, 0x4A, 0x08, 0x88, + 0x18, 0x40, 0x00, 0x28, 0x08, 0xD1, 0x10, 0x78, 0x00, 0x28, + 0xF8, 0xD0, 0x08, 0x88 + } + }, + p_repl[2][188] = + { + { + 0x39, 0x68, 0x27, 0x48, 0x81, 0x42, 0x23, 0xD0, 0x89, 0x1C, + 0x08, 0x88, 0x01, 0x28, 0x02, 0xD1, 0x24, 0x48, 0x78, 0x60, + 0x33, 0xE0, 0x00, 0x23, 0x00, 0x22, 0x89, 0x1C, 0x10, 0xB4, + 0x01, 0x24, 0x08, 0x68, 0x20, 0x40, 0x5B, 0x00, 0x03, 0x43, + 0x89, 0x1C, 0x52, 0x1C, 0x06, 0x2A, 0xF7, 0xD1, 0x10, 0xBC, + 0x39, 0x60, 0xDB, 0x01, 0x02, 0x20, 0x00, 0x02, 0x1B, 0x18, + 0x0E, 0x20, 0x00, 0x06, 0x1B, 0x18, 0x7B, 0x60, 0x39, 0x1C, + 0x08, 0x31, 0x08, 0x88, 0x09, 0x38, 0x08, 0x80, 0x16, 0xE0, + 0x15, 0x49, 0x00, 0x23, 0x00, 0x22, 0x10, 0xB4, 0x01, 0x24, + 0x08, 0x68, 0x20, 0x40, 0x5B, 0x00, 0x03, 0x43, 0x89, 0x1C, + 0x52, 0x1C, 0x06, 0x2A, 0xF7, 0xD1, 0x10, 0xBC, 0xDB, 0x01, + 0x02, 0x20, 0x00, 0x02, 0x1B, 0x18, 0x0E, 0x20, 0x00, 0x06, + 0x1B, 0x18, 0x08, 0x3B, 0x3B, 0x60, 0x0B, 0x48, 0x39, 0x68, + 0x01, 0x60, 0x0A, 0x48, 0x79, 0x68, 0x01, 0x60, 0x0A, 0x48, + 0x39, 0x1C, 0x08, 0x31, 0x0A, 0x88, 0x80, 0x21, 0x09, 0x06, + 0x0A, 0x43, 0x02, 0x60, 0x07, 0x48, 0x00, 0x47, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0E, 0x04, 0x00, + 0x00, 0x0E, 0xD4, 0x00, 0x00, 0x04, 0xD8, 0x00, 0x00, 0x04, + 0xDC, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xFF, 0x08 + }, + { + 0x22, 0x4C, 0x84, 0x42, 0x20, 0xD0, 0x80, 0x1C, 0x04, 0x88, + 0x01, 0x25, 0x2C, 0x40, 0x01, 0x2C, 0x02, 0xD1, 0x80, 0x1E, + 0x1E, 0x49, 0x2E, 0xE0, 0x00, 0x23, 0x00, 0x24, 0x80, 0x1C, + 0x40, 0xB4, 0x01, 0x26, 0x05, 0x68, 0x35, 0x40, 0x5B, 0x00, + 0x2B, 0x43, 0x80, 0x1C, 0x64, 0x1C, 0x06, 0x2C, 0xF7, 0xD1, + 0x40, 0xBC, 0xDB, 0x01, 0x02, 0x24, 0x24, 0x02, 0x1B, 0x19, + 0x0E, 0x24, 0x24, 0x06, 0x1B, 0x19, 0x19, 0x1C, 0x09, 0x3A, + 0x16, 0xE0, 0x12, 0x48, 0x00, 0x23, 0x00, 0x24, 0x40, 0xB4, + 0x01, 0x26, 0x05, 0x68, 0x35, 0x40, 0x5B, 0x00, 0x2B, 0x43, + 0x80, 0x1C, 0x64, 0x1C, 0x06, 0x2C, 0xF7, 0xD1, 0x40, 0xBC, + 0xDB, 0x01, 0x02, 0x24, 0x24, 0x02, 0x1B, 0x19, 0x0E, 0x24, + 0x24, 0x06, 0x1B, 0x19, 0x08, 0x3B, 0x18, 0x1C, 0x08, 0x4C, + 0x20, 0x60, 0x08, 0x4C, 0x21, 0x60, 0x08, 0x49, 0x80, 0x20, + 0x00, 0x06, 0x02, 0x43, 0x0A, 0x60, 0x06, 0x4C, 0x20, 0x47, + 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x0E, 0x04, 0x00, + 0x00, 0x0E, 0xD4, 0x00, 0x00, 0x04, 0xD8, 0x00, 0x00, 0x04, + 0xDC, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xFF, 0x08 + } + }, + major, minor, micro, *buffer, *bufferptr, *ptr, value; + char dest_name[FILENAME_MAX]; + int p_size[2] = { 188, 168 }, p_off, st_off; + unsigned int fsize = ucon64.file_size; + FILE *destfile; + + strcpy (dest_name, ucon64.rom); + ucon64_file_handler (dest_name, NULL, 0); + fcopy (ucon64.rom, 0, ucon64.file_size, dest_name, "wb"); + + if ((destfile = fopen (dest_name, "rb+")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], dest_name); + return -1; + } + if (!(buffer = (unsigned char *) malloc (fsize))) + { + fprintf (stderr, ucon64_msg[ROM_BUFFER_ERROR], fsize); + fclose (destfile); + exit (1); + } + if (fread (buffer, 1, fsize, destfile) != fsize) + { + fprintf (stderr, ucon64_msg[READ_ERROR], dest_name); + free (buffer); + fclose (destfile); + return -1; + } + + bufferptr = buffer + 160 + 12 + 4; + + ptr = (unsigned char *) memmem2 (bufferptr, fsize, "EEPROM_", 7, 0); + if (ptr == 0) + { + printf ("This ROM does not appear to use EEPROM saving\n"); + free (buffer); + fclose (destfile); + return -1; + } + major = ptr[8] - '0'; + minor = ptr[9] - '0'; + micro = ptr[10] - '0'; + if (ucon64.quiet < 0) + printf ("version: %d.%d.%d; offset: 0x%08x\n", + major, minor, micro, (int) (ptr - buffer)); + if (minor > 2) + { + fputs ("ERROR: ROMs with an EEPROM minor version higher than 2 are not supported\n", stderr); + free (buffer); + fclose (destfile); + return -1; + } + + ptr = (unsigned char *) memmem2 (bufferptr, fsize, + fl_orig[minor - 1], sizeof (fl_orig[minor - 1]), 0); + if (ptr == 0) + { + fputs ("ERROR: Could not find fl pattern. Perhaps this file is already patched?\n", stderr); + free (buffer); + fclose (destfile); + return -1; + } + if (ucon64.quiet < 0) + printf ("fl offset: 0x%08x\n", (int) (ptr - buffer)); + fseek (destfile, ptr - buffer, SEEK_SET); + fwrite (fl_repl[minor - 1], 1, sizeof (fl_repl[minor - 1]), destfile); + + ptr = buffer + fsize - 1; + value = *ptr; + do + ptr--; + while (*ptr == value && ptr - buffer > 0); + + p_off = (ptr - buffer + 0xff) & ~0xff; // align at 256 byte boundary + if (ucon64.quiet < 0) + printf ("p_off: 0x%08x\n", p_off); + // if the SRAM function won't fit at the end of the ROM, abort + if ((minor == 1 && (int) (fsize - 188) < p_off) || + (minor == 2 && (int) (fsize - 168) < p_off)) + { + fputs ("ERROR: Not enough room for SRAM function at end of ROM\n", stderr); + free (buffer); + fclose (destfile); + return -1; + } + + ptr = (unsigned char *) memmem2 (bufferptr, fsize, + st_orig[minor - 1], sizeof (st_orig[minor - 1]), 0); + if (ptr == 0) + { + fputs ("ERROR: Could not find st pattern\n", stderr); + free (buffer); + fclose (destfile); + return -1; + } + st_off = ptr - buffer; + if (ucon64.quiet < 0) + printf ("st offset: 0x%08x\n", st_off); + + bufferptr = buffer + p_off; + switch (minor) + { + case 1: + // these are the offsets to the caller function, it handles all saving and + // is at st_off + p_repl[minor - 1][184] = (unsigned char) (st_off + 0x21); + p_repl[minor - 1][186] = (unsigned char) (st_off >> 16); + + if (*(bufferptr - 1) == 0xff) + p_repl[minor - 1][185] = (unsigned char) (st_off >> 8); + else + { + st_off += 0x1f; + p_repl[minor - 1][185] = (unsigned char) (st_off >> 8); + } + + // tell the calling function where the SRAM function is (p_off) + st_repl[minor - 1][5] = (unsigned char) (p_off >> 8); + st_repl[minor - 1][6] = (unsigned char) (p_off >> 16); + break; + case 2: + // offsets to the caller function + p_repl[minor - 1][164] = (unsigned char) (st_off + 0x13); + p_repl[minor - 1][165] = (unsigned char) (st_off >> 8); + p_repl[minor - 1][166] = (unsigned char) (st_off >> 16); + + // tell the calling function where the SRAM function is + st_repl[minor - 1][7] = (unsigned char) (p_off >> 8); + st_repl[minor - 1][8] = (unsigned char) (p_off >> 16); + break; + } + fseek (destfile, st_off, SEEK_SET); + fwrite (st_repl[minor - 1], 1, sizeof (st_repl[minor - 1]), destfile); + fseek (destfile, p_off, SEEK_SET); + fwrite (p_repl[minor - 1], 1, p_size[minor - 1], destfile); + + free (buffer); + fclose (destfile); + + puts ("SRAM patch applied"); + printf (ucon64_msg[WROTE], dest_name); + return 0; +} + + +int +gba_crp (st_rominfo_t *rominfo, const char *value) +{ + FILE *srcfile, *destfile; + int bytesread, n = 0; + char buffer[32 * 1024], src_name[FILENAME_MAX], dest_name[FILENAME_MAX], + replace[2], wait_time = atoi (value); + + if (wait_time % 4 != 0 || wait_time > 28 || wait_time < 0) + { + fprintf (stderr, "ERROR: You specified an incorrect WAIT_TIME value\n"); + return -1; + } + + puts ("Applying crash patch..."); + + strcpy (src_name, ucon64.rom); + strcpy (dest_name, ucon64.rom); + ucon64_file_handler (dest_name, src_name, 0); + if ((srcfile = fopen (src_name, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], src_name); + return -1; + } + if ((destfile = fopen (dest_name, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], dest_name); + return -1; + } + if (rominfo->buheader_len) // copy header (if present) + { + fread (buffer, 1, rominfo->buheader_len, srcfile); + fwrite (buffer, 1, rominfo->buheader_len, destfile); + } + + replace[0] = wait_time; + replace[1] = 0x40; + while ((bytesread = fread (buffer, 1, 32 * 1024, srcfile))) + { // '!' == ASCII 33 (\x21), '*' == 42 (\x2a) + n += change_mem (buffer, bytesread, "\x04\x02\x00\x04\x14\x40", 6, '*', '!', replace, 1, -1); + n += change_mem (buffer, bytesread, "\x02\x00\x04\x14\x40\x00", 6, '*', '!', replace, 1, -2); + n += change_mem (buffer, bytesread, "\x04\x02\x00\x04\xB4\x45", 6, '*', '!', replace, 2, -1); + n += change_mem (buffer, bytesread, "\x3E\xE0\x00\x00\xB4\x45", 6, '*', '!', replace, 2, -1); + n += change_mem (buffer, bytesread, "\x04\x02\x00\x04\x94\x44", 6, '*', '!', replace, 2, -1); + + fwrite (buffer, 1, bytesread, destfile); + } + fclose (srcfile); + fclose (destfile); + + printf ("Found %d pattern%s\n", n, n != 1 ? "s" : ""); + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + return 0; +} + + +int +gba_init (st_rominfo_t *rominfo) +{ + int result = -1, value; + char buf[MAXBUFSIZE]; + + rominfo->buheader_len = UCON64_ISSET (ucon64.buheader_len) ? + ucon64.buheader_len : 0; + + ucon64_fread (&gba_header, GBA_HEADER_START + + rominfo->buheader_len, GBA_HEADER_LEN, ucon64.rom); + if (/*gba_header.game_id_prefix == 'A' && */ // 'B' in Mario vs. Donkey Kong + gba_header.start[3] == 0xea && gba_header.pad1 == 0x96 && gba_header.gba_type == 0) + result = 0; + else + { +#if 0 // AFAIK (dbjh) GBA ROMs never have a header + rominfo->buheader_len = UCON64_ISSET (ucon64.buheader_len) ? + ucon64.buheader_len : UNKNOWN_HEADER_LEN; + + ucon64_fread (&gba_header, GBA_HEADER_START + + rominfo->buheader_len, GBA_HEADER_LEN, ucon64.rom); + if (gba_header.game_id_prefix == 'A' && gba_header.gba_type == 0) + result = 0; + else +#endif + result = -1; + } + if (ucon64.console == UCON64_GBA) + result = 0; + + rominfo->header_start = GBA_HEADER_START; + rominfo->header_len = GBA_HEADER_LEN; + rominfo->header = &gba_header; + + // internal ROM name + strncpy (rominfo->name, (const char *) gba_header.name, GBA_NAME_LEN); + rominfo->name[GBA_NAME_LEN] = 0; + + // ROM maker + { + int ih = gba_header.maker_high <= '9' ? + gba_header.maker_high - '0' : gba_header.maker_high - 'A' + 10, + il = gba_header.maker_low <= '9' ? + gba_header.maker_low - '0' : gba_header.maker_low - 'A' + 10; + value = ih * 36 + il; + } + if (value < 0 || value >= NINTENDO_MAKER_LEN) + value = 0; + rominfo->maker = NULL_TO_UNKNOWN_S (nintendo_maker[value]); + + // ROM country + rominfo->country = + (gba_header.game_id_country == 'J') ? "Japan/Asia" : + (gba_header.game_id_country == 'E') ? "U.S.A." : + (gba_header.game_id_country == 'P') ? "Europe, Australia and Africa" : + "Unknown country"; + + // misc stuff + sprintf (buf, "Version: %d\n", gba_header.version); + strcat (rominfo->misc, buf); + + sprintf (buf, "Device type: 0x%02x\n", gba_header.device_type); + strcat (rominfo->misc, buf); + + /* + start address = current address + (parameter of B instruction * 4) + 8 + gba_header.start[3] is opcode of B instruction (0xea) + */ + value = 0x8000008 + + (gba_header.start[2] << 18 | gba_header.start[1] << 10 | gba_header.start[0] << 2); + sprintf (buf, "Start address: 0x%08x\n", value); + strcat (rominfo->misc, buf); + + strcat (rominfo->misc, "Logo data: "); + if (memcmp (gba_header.logo, gba_logodata, GBA_LOGODATA_LEN) == 0) + { +#ifdef USE_ANSI_COLOR + if (ucon64.ansi_color) + strcat (rominfo->misc, "\x1b[01;32mOk\x1b[0m"); + else +#endif + strcat (rominfo->misc, "Ok"); + } + else + { +#ifdef USE_ANSI_COLOR + if (ucon64.ansi_color) + strcat (rominfo->misc, "\x1b[01;31mBad\x1b[0m"); + else +#endif + strcat (rominfo->misc, "Bad"); + } + + // internal ROM crc + if (!UCON64_ISSET (ucon64.do_not_calc_crc) && result == 0) + { + rominfo->has_internal_crc = 1; + rominfo->internal_crc_len = 1; + rominfo->current_internal_crc = gba_chksum (); + + rominfo->internal_crc = gba_header.checksum; + rominfo->internal_crc2[0] = 0; + } + + rominfo->console_usage = gba_usage[0].help; + // We use fal_usage, but we could just as well use f2a_usage + rominfo->copier_usage = (!rominfo->buheader_len ? fal_usage[0].help : unknown_usage[0].help); + + return result; +} + + +int +gba_chksum (void) +// Note that this function only calculates the checksum of the internal header +{ + unsigned char sum = 0x19, *ptr = (unsigned char *) &gba_header + 0xa0; + + while (ptr < (unsigned char *) &gba_header + 0xbd) + sum += *ptr++; + sum = -sum; + + return sum; +} + + +int +gba_multi (int truncate_size, char *multi_fname) +// TODO: Check if 1024 Mbit multi-game files are supported by the FAL code +{ +#define BUFSIZE (32 * 1024) + int n, n_files, file_no, bytestowrite, byteswritten, totalsize = 0, done, + truncated = 0, size_pow2_lesser = 1, size_pow2 = 1, truncate_size_ispow2 = 0; + struct stat fstate; + FILE *srcfile, *destfile; + char buffer[BUFSIZE], fname[FILENAME_MAX], *fname_ptr; + + if (truncate_size == 0) + { + fprintf (stderr, "ERROR: Can't make multi-game file of 0 bytes\n"); + return -1; + } + +#if 0 + if (truncate_size != 64 * MBIT && truncate_size != 128 * MBIT && + truncate_size != 256 * MBIT && truncate_size != 512 * MBIT && + truncate_size != 1024 * MBIT) + { + fprintf (stderr, "ERROR: Truncate size must be 64, 128, 256, 512 or 1024\n"); + return -1; + } +#endif + + if (multi_fname != NULL) // -xfalmulti + { + strcpy (fname, multi_fname); + n_files = ucon64.argc; + } + else // -multi + { + strcpy (fname, ucon64.argv[ucon64.argc - 1]); + n_files = ucon64.argc - 1; + } + + ucon64_file_handler (fname, NULL, OF_FORCE_BASENAME); + if ((destfile = fopen (fname, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], fname); + return -1; + } + printf ("Creating multi-game file for FAL(/F2A): %s\n", fname); + + file_no = 0; + for (n = 1; n < n_files; n++) + { + if (access (ucon64.argv[n], F_OK)) + continue; // "file" does not exist (option) + stat (ucon64.argv[n], &fstate); + if (!S_ISREG (fstate.st_mode)) + continue; + + if (file_no == 0) + { + if (multi_fname != NULL) // -xfalmulti + { + get_property_fname (ucon64.configfile, "gbaloader", fname, "loader.bin"); + if (access (fname, F_OK)) + { + fprintf (stderr, "ERROR: Cannot open loader binary (%s)\n", fname); + return -1; + } + fname_ptr = fname; + // NOTE: loop counter is modified, because we have to insert + // loader in the file list + n--; + } + else // -multi + fname_ptr = ucon64.argv[n]; + + printf ("Loader: %s\n", fname_ptr); + if (fsizeof (fname_ptr) > 64 * 1024) + printf ("WARNING: Are you sure %s is a loader binary?\n", fname_ptr); + } + else + { + fname_ptr = ucon64.argv[n]; + printf ("ROM%d: %s\n", file_no, fname_ptr); + } + + if ((srcfile = fopen (fname_ptr, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], fname_ptr); + continue; + } + done = 0; + byteswritten = 0; // # of bytes written per file + while (!done) + { + bytestowrite = fread (buffer, 1, BUFSIZE, srcfile); + if (totalsize + bytestowrite > truncate_size) + { + bytestowrite = truncate_size - totalsize; + done = 1; + truncated = 1; + printf ("Output file is %d Mbit, truncating %s, skipping %d bytes\n", + truncate_size / MBIT, fname_ptr, + fsizeof (fname_ptr) - (byteswritten + bytestowrite)); + // DON'T use fstate.st_size, because file could be compressed + } + totalsize += bytestowrite; + if (bytestowrite == 0) + done = 1; + fwrite (buffer, 1, bytestowrite, destfile); + byteswritten += bytestowrite; + } + fclose (srcfile); + if (truncated) + break; + file_no++; + } + fclose (destfile); + + /* + Display a notification if a truncate size was specified that is not exactly + the size of one of the flash card sizes. + */ + n = truncate_size; + while (n >>= 1) + size_pow2 <<= 1; + if (truncate_size == size_pow2) + truncate_size_ispow2 = 1; + + n = totalsize - 1; + while (n >>= 1) + size_pow2_lesser <<= 1; + + size_pow2 = size_pow2_lesser << 1; + + if (totalsize > 64 * MBIT && !truncate_size_ispow2) + printf("\n" + "NOTE: This multi-game file can only be written to a card >= %d Mbit.\n" + " Use -multi=%d to create a file truncated to %d Mbit.\n" + " Current size is %.5f Mbit\n", // 5 digits to have 1 byte resolution + size_pow2 / MBIT, size_pow2_lesser / MBIT, size_pow2_lesser / MBIT, + totalsize / (float) MBIT); + + return 0; +} diff --git a/tools/ucon64-2.0.0-src/src/console/gba.h b/tools/ucon64-2.0.0-src/src/console/gba.h new file mode 100644 index 0000000..879acc5 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/console/gba.h @@ -0,0 +1,37 @@ +/* +gba.h - Game Boy Advance support for uCON64 + +Copyright (c) 2001 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef GBA_H +#define GBA_H + +#define GBA_LOGODATA_LEN 156 + +extern const st_getopt2_t gba_usage[]; +extern const unsigned char gba_logodata[]; + +extern int gba_chk (st_rominfo_t *rominfo); +extern int gba_crp (st_rominfo_t *rominfo, const char *value); +extern int gba_init (st_rominfo_t *rominfo); +extern int gba_logo (st_rominfo_t *rominfo); +extern int gba_n (st_rominfo_t *rominfo, const char *name); +extern int gba_sram (void); +extern int gba_multi (int truncate_size, char *fname); + +#endif diff --git a/tools/ucon64-2.0.0-src/src/console/genesis.c b/tools/ucon64-2.0.0-src/src/console/genesis.c new file mode 100644 index 0000000..d0ad32b --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/console/genesis.c @@ -0,0 +1,1728 @@ +/* +genesis.c - Sega Genesis/Mega Drive support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB +Copyright (c) 2002 - 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +// NOTE: The people at Sega refer to their company as Sega in normal text (not as SEGA) +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#ifdef HAVE_UNISTD_H +#include +#endif +#include +#include "misc/misc.h" +#include "misc/chksum.h" +#include "misc/file.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ucon64_misc.h" +#include "console/genesis.h" +#include "backup/mgd.h" +#include "backup/smd.h" + + +#define GENESIS_HEADER_START 256 +#define GENESIS_HEADER_LEN (sizeof (st_genesis_header_t)) +#define GENESIS_NAME_LEN 48 + +static int genesis_chksum (unsigned char *rom_buffer); +static unsigned char *load_rom (st_rominfo_t *rominfo, const char *name, + unsigned char *rom_buffer); +static int save_rom (st_rominfo_t *rominfo, const char *name, + unsigned char **buffer, int size); + + +const st_getopt2_t genesis_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Genesis/Sega Mega Drive/Sega CD/32X/Nomad"/*"1989/19XX/19XX Sega http://www.sega.com"*/, + NULL + }, + { + "gen", 0, 0, UCON64_GEN, + NULL, "force recognition", + &ucon64_wf[WF_OBJ_GEN_SWITCH] + }, + { + "int", 0, 0, UCON64_INT, + NULL, "force ROM is in interleaved format (SMD)", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, + { + "int2", 0, 0, UCON64_INT2, + NULL, "force ROM is in interleaved format 2 (MGD)", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, + { + "nint", 0, 0, UCON64_NINT, + NULL, "force ROM is not in interleaved format (BIN/RAW)", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, + { + "n", 1, 0, UCON64_N, + "NEW_NAME", "change foreign ROM name to NEW_NAME", + &ucon64_wf[WF_OBJ_ALL_DEFAULT] + }, + { + "n2", 1, 0, UCON64_N2, + "NEW_NAME", "change Japanese ROM name to NEW_NAME", + &ucon64_wf[WF_OBJ_GEN_DEFAULT] + }, + { + "smd", 0, 0, UCON64_SMD, + NULL, "convert to Super Magic Drive/SMD", + &ucon64_wf[WF_OBJ_ALL_DEFAULT_NO_SPLIT] + }, + { + "smds", 0, 0, UCON64_SMDS, + NULL, "convert emulator (*.srm) SRAM to Super Magic Drive/SMD", + NULL + }, + { + "bin", 0, 0, UCON64_BIN, + NULL, "convert to Magicom/BIN/RAW", + &ucon64_wf[WF_OBJ_GEN_DEFAULT_NO_SPLIT] + }, + { + "mgd", 0, 0, UCON64_MGD, + NULL, "convert to Multi Game*/MGD2/MGH", + &ucon64_wf[WF_OBJ_ALL_DEFAULT_NO_SPLIT] + }, +#if 0 + { + "gf", 0, 0, UCON64_GF, + NULL, "convert Sega CD country code to Europe; ROM=$CD_IMAGE", + NULL + }, + { + "ga", 0, 0, UCON64_GA, + NULL, "convert Sega CD country code to U.S.A.; ROM=$CD_IMAGE", + NULL + }, + { + "gym", 0, 0, UCON64_GYM, + NULL, "convert GYM (Genecyst) sound to WAV; " OPTION_LONG_S "rom=GYMFILE", + NULL + }, + { + "cym", 0, 0, UCON64_CYM, + NULL, "convert CYM (Callus emulator) sound to WAV; " OPTION_LONG_S "rom=CYMFILE", + NULL + }, +#endif + { + "stp", 0, 0, UCON64_STP, + NULL, "convert SRAM from backup unit for use with an emulator\n" + OPTION_LONG_S "stp just strips the first 512 bytes", + NULL + }, + { + "j", 0, 0, UCON64_J, + NULL, "join split ROM", + &ucon64_wf[WF_OBJ_ALL_INIT_PROBE] + }, + { + "s", 0, 0, UCON64_S, + NULL, "split ROM; default part size is 8 Mb (4 Mb for SMD)", + &ucon64_wf[WF_OBJ_ALL_DEFAULT_NO_SPLIT] + }, + { + "ssize", 1, 0, UCON64_SSIZE, + "SIZE", "specify split part size in Mbit", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, + { + "f", 0, 0, UCON64_F, + NULL, "remove NTSC/PAL protection", + &ucon64_wf[WF_OBJ_ALL_DEFAULT] + }, + { + "chk", 0, 0, UCON64_CHK, + NULL, "fix ROM checksum", + &ucon64_wf[WF_OBJ_ALL_DEFAULT] + }, + { + "1991", 0, 0, UCON64_1991, + NULL, "fix old third party ROMs to work with consoles build after\n" + "October 1991 by inserting \"(C) SEGA\" and \"(C)SEGA\"", + &ucon64_wf[WF_OBJ_GEN_DEFAULT] + }, + { + "multi", 1, 0, UCON64_MULTI, + "SIZE", "make multi-game file for use with MD-PRO flash card, truncated\n" + "to SIZE Mbit; file with loader must be specified first, then\n" + "all the ROMs, multi-game file to create last", + &ucon64_wf[WF_OBJ_ALL_INIT_PROBE_STOP] + }, + { + "region", 1, 0, UCON64_REGION, + "CODE", "enable region function; use with -multi\n" + "CODE=0 force NTSC/Japan for all games\n" + "CODE=1 force NTSC/U.S.A. for all games\n" + "CODE=2 force PAL for all games\n" + "CODE=x use whatever setting games expect", + &ucon64_wf[WF_OBJ_GEN_SWITCH] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + +const st_getopt2_t bin_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Magicom/BIN/RAW", + NULL + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + +typedef struct st_genesis_header +{ + char pad[256]; +} st_genesis_header_t; + +static st_genesis_header_t genesis_header; +static genesis_file_t type; +static int genesis_rom_size, genesis_has_ram, genesis_tv_standard, genesis_japanese; + + +genesis_file_t +genesis_get_file_type (void) +{ + return type; +} + + +int +genesis_smd (st_rominfo_t *rominfo) +{ + st_smd_header_t header; + char dest_name[FILENAME_MAX]; + unsigned char *rom_buffer = NULL; + + if ((rom_buffer = load_rom (rominfo, ucon64.rom, rom_buffer)) == NULL) + return -1; + + memset (&header, 0, SMD_HEADER_LEN); + header.size = genesis_rom_size / 16384; + header.id0 = 3; + header.id1 = 0xaa; + header.id2 = 0xbb; + header.type = 6; + + strcpy (dest_name, ucon64.rom); + set_suffix (dest_name, ".smd"); + ucon64_file_handler (dest_name, NULL, 0); + + ucon64_fwrite (&header, 0, SMD_HEADER_LEN, dest_name, "wb"); + smd_interleave (rom_buffer, genesis_rom_size); + ucon64_fwrite (rom_buffer, SMD_HEADER_LEN, genesis_rom_size, dest_name, "ab"); + + free (rom_buffer); + printf (ucon64_msg[WROTE], dest_name); + return 0; +} + + +int +genesis_smds (void) +{ + char dest_name[FILENAME_MAX]; + unsigned char buf[32768]; + st_smd_header_t header; + + memset (&header, 0, SMD_HEADER_LEN); + memset (&buf, 0, 32768); + ucon64_fread (buf, 0, ucon64.file_size, ucon64.rom); + + header.id1 = 0xaa; + header.id2 = 0xbb; + header.type = 7; // SRAM file + + strcpy (dest_name, ucon64.rom); + set_suffix (dest_name, ".sav"); + ucon64_file_handler (dest_name, NULL, 0); + + ucon64_fwrite (&header, 0, SMD_HEADER_LEN, dest_name, "wb"); + smd_interleave (buf, 32768); // SMD SRAM files are interleaved (Are they? - dbjh) + ucon64_fwrite (buf, SMD_HEADER_LEN, 32768, dest_name, "ab"); + + printf (ucon64_msg[WROTE], dest_name); + return 0; +} + + +int +genesis_bin (st_rominfo_t *rominfo) +{ + char dest_name[FILENAME_MAX]; + unsigned char *rom_buffer = NULL; + + if ((rom_buffer = load_rom (rominfo, ucon64.rom, rom_buffer)) == NULL) + return -1; + + strcpy (dest_name, ucon64.rom); + set_suffix (dest_name, ".bin"); + ucon64_file_handler (dest_name, NULL, 0); + + ucon64_fwrite (rom_buffer, 0, genesis_rom_size, dest_name, "wb"); + + free (rom_buffer); + printf (ucon64_msg[WROTE], dest_name); + return 0; +} + + +// see src/backup/mgd.h for the file naming scheme +int +genesis_mgd (st_rominfo_t *rominfo) +{ +#define CC (const char) + unsigned char *rom_buffer = NULL; + char dest_name[FILENAME_MAX]; +#if 0 // TODO: We need more info about the Multi Game Hunter + int x, y; + char mgh[512], buf[FILENAME_MAX]; + const char mghcharset[1024] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + /* ! */ 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x18, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + /* & */ 0x3c, 0x66, 0x18, 0x3c, 0x66, 0x66, 0x3c, 0x02, + /* ' */ 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, + /* ( */ 0x0c, 0x18, 0x18, 0x18, 0x18, 0x18, 0x0c, 0x00, + /* ) */ 0x30, 0x18, 0x18, 0x18, 0x18, 0x18, 0x30, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + /* , */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x08, + /* - */ 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0x00, + /* . */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, + /* / */ 0x06, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x60, 0x00, + /* 0 */ 0x3c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00, + /* 1 */ 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, + /* 2 */ 0x3c, 0x66, 0x06, 0x06, 0x7c, 0x60, 0x7e, 0x00, + /* 3 */ 0x3c, 0x66, 0x06, 0x1c, 0x06, 0x66, 0x3c, 0x00, + /* 4 */ 0x18, 0x38, 0x58, 0x7c, 0x18, 0x18, 0x3c, 0x00, + /* 5 */ 0x7e, 0x60, 0x7c, 0x06, 0x06, 0x66, 0x3c, 0x00, + /* 6 */ 0x3c, 0x66, 0x60, 0x7c, 0x66, 0x66, 0x3c, 0x00, + /* 7 */ 0x7e, 0x06, 0x0c, 0x0c, 0x18, 0x18, 0x18, 0x00, + /* 8 */ 0x3c, 0x66, 0x66, 0x3c, 0x66, 0x66, 0x3c, 0x00, + /* 9 */ 0x3c, 0x66, 0x66, 0x3e, 0x06, 0x66, 0x3c, 0x00, + /* : */ 0x00, 0x00, 0x18, 0x00, 0x18, 0x00, 0x00, 0x00, + /* ; */ 0x00, 0x00, 0x18, 0x00, 0x18, 0x08, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + /* = */ 0x00, 0x00, 0x7e, 0x00, 0x7e, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + /* A */ 0x18, 0x3c, 0x66, 0x66, 0x7e, 0x66, 0x66, 0x00, + /* B */ 0x7c, 0x66, 0x66, 0x7c, 0x66, 0x66, 0x7c, 0x00, + /* C */ 0x3c, 0x66, 0x60, 0x60, 0x60, 0x66, 0x3c, 0x00, + /* D */ 0x7c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7c, 0x00, + /* E */ 0x7e, 0x60, 0x60, 0x7e, 0x60, 0x60, 0x7e, 0x00, + /* F */ 0x7e, 0x60, 0x60, 0x7e, 0x60, 0x60, 0x60, 0x00, + /* G */ 0x3e, 0x60, 0x60, 0x6e, 0x66, 0x66, 0x3e, 0x00, + /* H */ 0x66, 0x66, 0x66, 0x7e, 0x66, 0x66, 0x66, 0x00, + /* I */ 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, + /* J */ 0x06, 0x06, 0x06, 0x06, 0x66, 0x66, 0x3c, 0x00, + /* K */ 0x66, 0x6c, 0x78, 0x70, 0x78, 0x6c, 0x66, 0x00, + /* L */ 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x7e, 0x00, + /* M */ CC 0xc6, CC 0xee, CC 0xfe, CC 0xd6, CC 0xc6, CC 0xc6, CC 0xc6, 0x00, + /* N */ 0x66, 0x76, 0x7e, 0x7e, 0x6e, 0x66, 0x66, 0x00, + /* O */ 0x3c, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x00, + /* P */ 0x7c, 0x66, 0x66, 0x7c, 0x60, 0x60, 0x60, 0x00, + /* Q */ 0x3c, 0x66, 0x66, 0x66, 0x66, 0x6e, 0x3e, 0x00, + /* R */ 0x7c, 0x66, 0x66, 0x7c, 0x6c, 0x66, 0x66, 0x00, + /* S */ 0x3c, 0x66, 0x60, 0x3c, 0x06, 0x66, 0x3c, 0x00, + /* T */ 0x7e, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, + /* U */ 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3e, 0x00, + /* V */ 0x66, 0x66, 0x66, 0x66, 0x66, 0x3c, 0x3c, 0x00, + /* W */ 0x56, 0x56, 0x56, 0x56, 0x56, 0x56, 0x2c, 0x00, + /* X */ 0x66, 0x66, 0x3c, 0x10, 0x3c, 0x66, 0x66, 0x00, + /* Y */ 0x66, 0x66, 0x66, 0x3c, 0x18, 0x18, 0x18, 0x00, + /* Z */ 0x7e, 0x06, 0x0c, 0x18, 0x30, 0x60, 0x7e, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + /* _ */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7e, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + /* a */ 0x00, 0x00, 0x3c, 0x06, 0x3e, 0x66, 0x3e, 0x00, + /* b */ 0x60, 0x60, 0x7c, 0x66, 0x66, 0x66, 0x7c, 0x00, + /* c */ 0x00, 0x00, 0x3c, 0x66, 0x60, 0x66, 0x3c, 0x00, + /* d */ 0x06, 0x06, 0x6e, 0x66, 0x66, 0x66, 0x3e, 0x00, + /* e */ 0x00, 0x00, 0x3c, 0x66, 0x7e, 0x60, 0x3c, 0x00, + /* f */ 0x0c, 0x18, 0x18, 0x3c, 0x18, 0x18, 0x3c, 0x00, + /* g */ 0x00, 0x00, 0x3c, 0x66, 0x66, 0x3e, 0x06, 0x7c, + /* h */ 0x60, 0x60, 0x7c, 0x66, 0x66, 0x66, 0x66, 0x00, + /* i */ 0x18, 0x00, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, + /* j */ 0x00, 0x0c, 0x00, 0x0c, 0x0c, 0x0c, 0x6c, 0x38, + /* k */ 0x60, 0x60, 0x66, 0x6c, 0x78, 0x6c, 0x66, 0x00, + /* l */ 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3c, 0x00, + /* m */ 0x00, 0x00, 0x5c, 0x76, 0x56, 0x56, 0x56, 0x00, + /* n */ 0x00, 0x00, 0x6c, 0x7e, 0x66, 0x66, 0x66, 0x00, + /* o */ 0x00, 0x00, 0x3c, 0x66, 0x66, 0x66, 0x3c, 0x00, + /* p */ 0x00, 0x00, 0x7c, 0x66, 0x66, 0x7c, 0x60, 0x60, + /* q */ 0x00, 0x00, 0x3e, 0x66, 0x66, 0x3e, 0x06, 0x06, + /* r */ 0x00, 0x00, 0x18, 0x1a, 0x18, 0x18, 0x3c, 0x00, + /* s */ 0x00, 0x00, 0x3e, 0x60, 0x3c, 0x06, 0x7c, 0x00, + /* t */ 0x00, 0x18, 0x3c, 0x18, 0x18, 0x18, 0x3c, 0x00, + /* u */ 0x00, 0x00, 0x66, 0x66, 0x66, 0x66, 0x3a, 0x00, + /* v */ 0x00, 0x00, 0x66, 0x66, 0x3c, 0x3c, 0x18, 0x00, + /* w */ 0x00, 0x00, 0x56, 0x56, 0x56, 0x56, 0x7e, 0x00, + /* x */ 0x00, 0x00, 0x66, 0x66, 0x18, 0x66, 0x66, 0x00, + /* y */ 0x00, 0x00, 0x66, 0x66, 0x66, 0x3e, 0x06, 0x7c, + /* z */ 0x00, 0x00, 0x7e, 0x0c, 0x18, 0x30, 0x7e, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + /* | */ 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + }; +#endif + + // pad the file to the next valid MGD2 size if it doesn't have a valid size + if (genesis_rom_size <= 1 * MBIT) + genesis_rom_size = 1 * MBIT; + else if (genesis_rom_size <= 2 * MBIT) + genesis_rom_size = 2 * MBIT; + else if (genesis_rom_size <= 4 * MBIT) + genesis_rom_size = 4 * MBIT; + else if (genesis_rom_size <= 8 * MBIT) + genesis_rom_size = 8 * MBIT; + else if (genesis_rom_size <= 16 * MBIT) + genesis_rom_size = 16 * MBIT; + else if (genesis_rom_size <= 20 * MBIT) + genesis_rom_size = 20 * MBIT; + else if (genesis_rom_size <= 24 * MBIT) + genesis_rom_size = 24 * MBIT; + else + genesis_rom_size = 32 * MBIT; + + if ((rom_buffer = load_rom (rominfo, ucon64.rom, rom_buffer)) == NULL) + return -1; + + mgd_make_name (ucon64.rom, UCON64_GEN, genesis_rom_size, dest_name); + ucon64_file_handler (dest_name, NULL, OF_FORCE_BASENAME); + + mgd_interleave (&rom_buffer, genesis_rom_size); + ucon64_fwrite (rom_buffer, 0, genesis_rom_size, dest_name, "wb"); + + printf (ucon64_msg[WROTE], dest_name); + free (rom_buffer); + +#if 0 // TODO: We need more info about the Multi Game Hunter (and a new option) + // automatically create MGH name file + memset (mgh, 0, sizeof (mgh)); + mgh[0] = 'M'; + mgh[1] = 'G'; + mgh[2] = 'H'; + mgh[3] = 0x1a; + mgh[4] = 0x06; + mgh[5] = (char) 0xf0; + mgh[31] = (char) 0xff; + + // In addition to the above, uCON also does "memcpy (mgh + 16, "MGH By uCON/chp", 15);" + + memcpy (buf, rominfo->name, 15); // copy first 15 bytes (don't use strlen() or strcpy()) + for (x = 0; x < 15; x++) + { + for (y = 0; y < 4; y++) + mgh[((x + 2) * 16) + y + 4] = mghcharset[(((unsigned char *) buf)[x] * 8) + y]; + for (y = 4; y < 8; y++) + mgh[((x + 2) * 16) + y + 244] = mghcharset[(((unsigned char *) buf)[x] * 8) + y]; + } + + set_suffix (dest_name, ".mgh"); + ucon64_output_fname (dest_name, OF_FORCE_BASENAME); + /* + If a backup would be created it would overwrite the backup of the ROM. The + ROM backup is more important, so we don't write a backup of the MGH file. + */ + ucon64_fwrite (mgh, 0, sizeof (mgh), dest_name, "wb"); +#endif + mgd_write_index_file ((char *) basename2 (dest_name), 1); + + return 0; +} + + +int +genesis_s (st_rominfo_t *rominfo) +{ + st_smd_header_t smd_header; + char dest_name[FILENAME_MAX], *p; + int x, nparts, surplus, size = ucon64.file_size - rominfo->buheader_len, + part_size; + + if (UCON64_ISSET (ucon64.part_size)) + { + part_size = ucon64.part_size; + // Don't allow too small part sizes, see src/console/snes.c (snes_s()) + if (part_size < 4 * MBIT) + { + fprintf (stderr, + "ERROR: Split part size must be larger than or equal to 4 Mbit\n"); + return -1; + } + } + else + { + if (type == SMD) + part_size = 4 * MBIT; // SMD uses 4 Mb parts + else + part_size = 8 * MBIT; // MGD and Magicom ("BIN") use + } // 8 Mb parts + + if (size <= part_size) + { + printf ( + "NOTE: ROM size is smaller than or equal to %d Mbit -- won't be split\n", + part_size / MBIT); + return -1; + } + + nparts = size / part_size; + surplus = size % part_size; + + if (type == SMD) + { + ucon64_fread (&smd_header, 0, SMD_HEADER_LEN, ucon64.rom); + + strcpy (dest_name, ucon64.rom); + set_suffix (dest_name, ".1"); + ucon64_output_fname (dest_name, 0); + p = strrchr (dest_name, '.') + 1; + + smd_header.size = part_size / 16384; + smd_header.id0 = 3; + // if smd_header.split bit 6 == 0 -> last file of the ROM + smd_header.split |= 0x40; + for (x = 0; x < nparts; x++) + { + if (surplus == 0 && x == nparts - 1) + smd_header.split &= ~0x40; // last file -> clear bit 6 + + // don't write backups of parts, because one name is used + ucon64_fwrite (&smd_header, 0, SMD_HEADER_LEN, dest_name, "wb"); + fcopy (ucon64.rom, x * part_size + rominfo->buheader_len, part_size, dest_name, "ab"); + printf (ucon64_msg[WROTE], dest_name); + + (*p)++; + } + + if (surplus != 0) + { + smd_header.size = surplus / 16384; + smd_header.split &= ~0x40; // last file -> clear bit 6 + + // don't write backups of parts, because one name is used + ucon64_fwrite (&smd_header, 0, SMD_HEADER_LEN, dest_name, "wb"); + fcopy (ucon64.rom, x * part_size + rominfo->buheader_len, surplus, dest_name, "ab"); + printf (ucon64_msg[WROTE], dest_name); + } + } + else if (type == MGD_GEN) + { + char suffix[5], *p_index, name[9], *names[16], names_mem[16][9]; + int n, offset, size, name_i = 0; + + for (n = 0; n < 16; n++) + names[n] = names_mem[n]; + + mgd_make_name (ucon64.rom, UCON64_GEN, genesis_rom_size, dest_name); + strcpy (suffix, (char *) get_suffix (dest_name)); + if ((p = strchr (dest_name, '.'))) + *p = 0; + n = strlen (dest_name); + if (n > 7) + n = 7; + dest_name[n] = 'A'; + dest_name[n + 1] = 0; + + strcpy (name, dest_name); + p_index = &name[n]; + + strcat (dest_name, suffix); + ucon64_output_fname (dest_name, OF_FORCE_BASENAME); + p = strrchr (dest_name, '.') - 1; + + if (surplus) + nparts++; + for (x = 0; x < nparts; x++) + { + offset = x * (part_size / 2); + size = part_size / 2; + if (offset + size > ucon64.file_size / 2) + size = ucon64.file_size / 2 - offset; + // don't write backups of parts, because one name is used + // write first half of file + fcopy (ucon64.rom, offset, size, dest_name, "wb"); + // write second half of file; don't do: "(nparts / 2) * part_size"! + fcopy (ucon64.rom, ucon64.file_size / 2 + offset, size, dest_name, "ab"); + printf (ucon64_msg[WROTE], dest_name); + + (*p)++; + + strcpy (names[name_i], name); + name_i++; + (*p_index)++; + } + mgd_write_index_file (names, name_i); + } + else // type == BIN + { + strcpy (dest_name, ucon64.rom); + set_suffix (dest_name, ".r01"); + ucon64_output_fname (dest_name, 0); + p = strrchr (dest_name, '.') + 3; + + for (x = 0; x < nparts; x++) + { + if (surplus == 0 && x == nparts - 1) + *p = '0'; // last file should have suffix ".r00" + fcopy (ucon64.rom, x * part_size + rominfo->buheader_len, part_size, dest_name, "wb"); + printf (ucon64_msg[WROTE], dest_name); + (*p)++; + } + + if (surplus != 0) + { + *p = '0'; + fcopy (ucon64.rom, x * part_size + rominfo->buheader_len, surplus, dest_name, "wb"); + printf (ucon64_msg[WROTE], dest_name); + } + } + + return 0; +} + + +int +genesis_j (st_rominfo_t *rominfo) +{ + char src_name[FILENAME_MAX], dest_name[FILENAME_MAX], *p; + int block_size, total_size = 0; + + if (type == SMD) + { + unsigned char buf[3]; + + strcpy (dest_name, ucon64.rom); + set_suffix (dest_name, ".smd"); + ucon64_file_handler (dest_name, NULL, 0); + + strcpy (src_name, ucon64.rom); + p = strrchr (src_name, '.') + 1; + fcopy (src_name, 0, rominfo->buheader_len, dest_name, "wb"); + block_size = ucon64.file_size - rominfo->buheader_len; + while (fcopy (src_name, rominfo->buheader_len, block_size, dest_name, "ab") != -1) + { + printf ("Joined: %s\n", src_name); + total_size += block_size; + (*p)++; + block_size = fsizeof (src_name) - rominfo->buheader_len; + } + + if (rominfo->buheader_len) + { // fix header + buf[0] = total_size / 16384; // # 16 kB blocks + buf[1] = 3; // ID 0 + buf[2] = 0; // last file -> clear bit 6 + ucon64_fwrite (buf, 0, 3, dest_name, "r+b"); + buf[0] = 0xaa; // ID 1 + buf[1] = 0xbb; // ID 2 + buf[2] = 6; // type Genesis + ucon64_fwrite (buf, 8, 3, dest_name, "r+b"); + } + + printf (ucon64_msg[WROTE], dest_name); + } + else if (type == MGD_GEN) + { + /* + file1 file2 file3 file4 + 1/2 3/4 5/6 7/8 (1st half/2nd half) + joined file + 1/3/5/7/2/4/6/8 + */ + strcpy (dest_name, ucon64.rom); + set_suffix (dest_name, ".tmp"); // users should use -mgd to get + ucon64_file_handler (dest_name, NULL, 0); // a correct name + remove (dest_name); + + strcpy (src_name, ucon64.rom); + p = strrchr (src_name, '.') - 1; + block_size = (ucon64.file_size - rominfo->buheader_len) / 2; + while (fcopy (src_name, rominfo->buheader_len, block_size, dest_name, "ab") != -1) + { + (*p)++; + // BUG ALERT: Assume all parts have the same header length + block_size = (fsizeof (src_name) - rominfo->buheader_len) / 2; + } + + strcpy (src_name, ucon64.rom); + p = strrchr (src_name, '.') - 1; + block_size = (ucon64.file_size - rominfo->buheader_len) / 2; + while (fcopy (src_name, rominfo->buheader_len + block_size, + block_size, dest_name, "ab") != -1) + { + printf ("Joined: %s\n", src_name); // print this here, not in the + (*p)++; // previous loop + // BUG ALERT: Assume all parts have the same header length + block_size = (fsizeof (src_name) - rominfo->buheader_len) / 2; + } + + printf (ucon64_msg[WROTE], dest_name); + } + else if (type == BIN) + { + int tried_r00 = 0; + + strcpy (dest_name, ucon64.rom); + set_suffix (dest_name, ".bin"); + ucon64_file_handler (dest_name, NULL, 0); + remove (dest_name); + + strcpy (src_name, ucon64.rom); + p = strrchr (src_name, '.') + 3; + *(p - 1) = '0'; // be user friendly and avoid confusion + *p = '1'; // (.r01 is first file, not .r00) + block_size = ucon64.file_size - rominfo->buheader_len; + while (fcopy (src_name, rominfo->buheader_len, block_size, dest_name, "ab") != -1) + { + printf ("Joined: %s\n", src_name); + if (tried_r00) + break; // quit after joining last file + (*p)++; + if (!tried_r00 && access (src_name, F_OK) != 0) + { // file does not exist -> try .r00 + *p = '0'; + tried_r00 = 1; + } + block_size = fsizeof (src_name) - rominfo->buheader_len; + } + + printf (ucon64_msg[WROTE], dest_name); + } + + return 0; +} + + +static int +genesis_name (st_rominfo_t *rominfo, const char *name1, const char *name2) +{ + unsigned char *rom_buffer = NULL; + char buf[FILENAME_MAX]; + + if ((rom_buffer = load_rom (rominfo, ucon64.rom, rom_buffer)) == NULL) + return -1; + + if (name1) + { + memset (buf, ' ', GENESIS_NAME_LEN); + strncpy (buf, name1, strlen (name1) > GENESIS_NAME_LEN ? + GENESIS_NAME_LEN : strlen (name1)); + memcpy (&rom_buffer[GENESIS_HEADER_START + 32 + GENESIS_NAME_LEN], buf, + GENESIS_NAME_LEN); + } + if (name2) + { + memset (buf, ' ', GENESIS_NAME_LEN); + strncpy (buf, name2, strlen (name2) > GENESIS_NAME_LEN ? + GENESIS_NAME_LEN : strlen (name2)); + memcpy (&rom_buffer[GENESIS_HEADER_START + 32], buf, GENESIS_NAME_LEN); + } + + strcpy (buf, ucon64.rom); + ucon64_file_handler (buf, NULL, 0); + save_rom (rominfo, buf, &rom_buffer, genesis_rom_size); + + free (rom_buffer); + printf (ucon64_msg[WROTE], buf); + return 0; +} + + +int +genesis_n (st_rominfo_t *rominfo, const char *name) +{ + return genesis_name (rominfo, name, NULL); +} + + +int +genesis_n2 (st_rominfo_t *rominfo, const char *name) +{ + return genesis_name (rominfo, NULL, name); +} + + +int +genesis_1991 (st_rominfo_t *rominfo) +{ + return genesis_name (rominfo, "(C)SEGA", "(C) SEGA"); +} + + +int +genesis_chk (st_rominfo_t *rominfo) +{ + unsigned char *rom_buffer = NULL; + char dest_name[FILENAME_MAX]; + + if ((rom_buffer = load_rom (rominfo, ucon64.rom, rom_buffer)) == NULL) + return -1; + + rom_buffer[GENESIS_HEADER_START + 143] = rominfo->current_internal_crc; // low byte of checksum + rom_buffer[GENESIS_HEADER_START + 142] = rominfo->current_internal_crc >> 8; // high byte of checksum + + dumper (stdout, &rom_buffer[GENESIS_HEADER_START + 0x8e], 2, GENESIS_HEADER_START + 0x8e, DUMPER_HEX); + + strcpy (dest_name, ucon64.rom); + ucon64_file_handler (dest_name, NULL, 0); + save_rom (rominfo, dest_name, &rom_buffer, genesis_rom_size); + + free (rom_buffer); + printf (ucon64_msg[WROTE], dest_name); + return 0; +} + + +static int +genesis_fix_pal_protection (st_rominfo_t *rominfo) +/* + This function searches for PAL protection codes. If it finds one it will + fix the code so that the game will run on a Genesis (NTSC). +*/ +{ + char fname[FILENAME_MAX]; + unsigned char *rom_buffer = NULL; + int offset = 0, block_size, n = 0, n_extra_patterns, n2; + st_cm_pattern_t *patterns = NULL; + + strcpy (fname, "genpal.txt"); + // First try the current directory, then the configuration directory + if (access (fname, F_OK | R_OK) == -1) + sprintf (fname, "%s" FILE_SEPARATOR_S "genpal.txt", ucon64.configdir); + n_extra_patterns = build_cm_patterns (&patterns, fname, ucon64.quiet == -1 ? 1 : 0); + if (n_extra_patterns >= 0) + printf ("Found %d additional code%s in %s\n", + n_extra_patterns, n_extra_patterns != 1 ? "s" : "", fname); + + puts ("Attempting to fix PAL protection code..."); + + if ((rom_buffer = load_rom (rominfo, ucon64.rom, rom_buffer)) == NULL) + return -1; + + while ((n2 = ucon64.file_size - offset) > 0) + { + block_size = n2 >= 16 * 1024 ? 16 * 1024 : n2; + for (n2 = 0; n2 < n_extra_patterns; n2++) + n += change_mem2 ((char *) rom_buffer + offset, block_size, + patterns[n2].search, + patterns[n2].search_size, + patterns[n2].wildcard, + patterns[n2].escape, + patterns[n2].replace, + patterns[n2].replace_size, + patterns[n2].offset, + patterns[n2].sets); + offset += 16 * 1024; + } + cleanup_cm_patterns (&patterns, n_extra_patterns); + + strcpy (fname, ucon64.rom); + ucon64_file_handler (fname, NULL, 0); + save_rom (rominfo, fname, &rom_buffer, genesis_rom_size); + + free (rom_buffer); + printf ("Found %d pattern%s\n", n, n != 1 ? "s" : ""); + printf (ucon64_msg[WROTE], fname); + return n; +} + + +static int +genesis_fix_ntsc_protection (st_rominfo_t *rominfo) +/* + This function searches for NTSC protection codes. If it finds one it will + fix the code so that the game will run on a Mega Drive (PAL). +*/ +{ + char fname[FILENAME_MAX]; + unsigned char *rom_buffer = NULL; + int offset = 0, block_size, n = 0, n_extra_patterns, n2; + st_cm_pattern_t *patterns = NULL; + + strcpy (fname, "mdntsc.txt"); + // First try the current directory, then the configuration directory + if (access (fname, F_OK | R_OK) == -1) + sprintf (fname, "%s" FILE_SEPARATOR_S "mdntsc.txt", ucon64.configdir); + n_extra_patterns = build_cm_patterns (&patterns, fname, ucon64.quiet == -1 ? 1 : 0); + if (n_extra_patterns >= 0) + printf ("Found %d additional code%s in %s\n", + n_extra_patterns, n_extra_patterns != 1 ? "s" : "", fname); + + puts ("Attempting to fix NTSC protection code..."); + + if ((rom_buffer = load_rom (rominfo, ucon64.rom, rom_buffer)) == NULL) + return -1; + + while ((n2 = ucon64.file_size - offset) > 0) + { + block_size = n2 >= 16 * 1024 ? 16 * 1024 : n2; + for (n2 = 0; n2 < n_extra_patterns; n2++) + n += change_mem2 ((char *) rom_buffer + offset, block_size, + patterns[n2].search, + patterns[n2].search_size, + patterns[n2].wildcard, + patterns[n2].escape, + patterns[n2].replace, + patterns[n2].replace_size, + patterns[n2].offset, + patterns[n2].sets); + offset += 16 * 1024; + } + cleanup_cm_patterns (&patterns, n_extra_patterns); + + strcpy (fname, ucon64.rom); + ucon64_file_handler (fname, NULL, 0); + save_rom (rominfo, fname, &rom_buffer, genesis_rom_size); + + free (rom_buffer); + printf ("Found %d pattern%s\n", n, n != 1 ? "s" : ""); + printf (ucon64_msg[WROTE], fname); + return n; +} + + +int +genesis_f (st_rominfo_t *rominfo) +{ + /* + In the Philipines the television standard is NTSC, but do games made + for the Philipines exist? + Just like with SNES we don't guarantee anything for files that needn't be + fixed/cracked/patched. + */ + if (genesis_tv_standard == 0) // NTSC (Japan, U.S.A. or Brazil ('4')) + return genesis_fix_ntsc_protection (rominfo); + else + return genesis_fix_pal_protection (rominfo); +} + + +unsigned char * +load_rom (st_rominfo_t *rominfo, const char *name, unsigned char *rom_buffer) +{ + FILE *file; + int bytesread; + + if ((file = fopen (name, "rb")) == NULL) + return NULL; + if (!(rom_buffer = (unsigned char *) malloc (genesis_rom_size))) + { + fprintf (stderr, ucon64_msg[ROM_BUFFER_ERROR], genesis_rom_size); + fclose (file); + return NULL; + } + fseek (file, rominfo->buheader_len, SEEK_SET); // don't do this only for SMD! + bytesread = fread (rom_buffer, 1, genesis_rom_size, file); + if (bytesread < genesis_rom_size) + memset (rom_buffer + bytesread, 0, genesis_rom_size - bytesread); + + if (type != BIN) + { + if (ucon64.fcrc32 == 0) + ucon64.fcrc32 = crc32 (ucon64.fcrc32, rom_buffer, genesis_rom_size); + + if (type == SMD) + smd_deinterleave (rom_buffer, bytesread); + else // type == MGD_GEN + mgd_deinterleave (&rom_buffer, bytesread, genesis_rom_size); + } + + if (ucon64.crc32 == 0) // calculate the CRC32 only once + ucon64.crc32 = crc32 (0, rom_buffer, bytesread); + + fclose (file); + return rom_buffer; +} + + +int +save_rom (st_rominfo_t *rominfo, const char *name, unsigned char **buffer, int size) +{ + if (type == SMD) + { + int n; + + /* + Copy the complete backup unit header length, no matter how strange or + how large the size. fcopy() doesn't copy if source and destination are + one and the same. Copying is necessary if source and destination are + different so that we can use "r+b" when writing the contents of buffer + to disk. + */ + fcopy (ucon64.rom, 0, rominfo->buheader_len, name, "wb"); + + smd_interleave (*buffer, size); + n = ucon64_fwrite (*buffer, rominfo->buheader_len, size, name, "r+b"); + if (size < (int) (ucon64.file_size - rominfo->buheader_len)) + truncate2 (name, rominfo->buheader_len + size); + return n; + } + else if (type == MGD_GEN) + { + mgd_interleave (buffer, size); // allocates new buffer + return ucon64_fwrite (*buffer, 0, size, name, "wb"); + } + else // type == BIN + return ucon64_fwrite (*buffer, 0, size, name, "wb"); +} + + +static void +write_game_table_entry (FILE *destfile, int file_no, st_rominfo_t *rominfo, + int totalsize) +{ + static int sram_page = 0, file_no_sram = 0; + int n; + unsigned char name[0x1c], flags = 0; // SRAM/region flags: F, D (reserved), E, P, V, T, S1, S0 + + fseek (destfile, 0x8000 + (file_no - 1) * 0x20, SEEK_SET); + fputc (0xff, destfile); // 0x0 = 0xff + memcpy (name, rominfo->name, 0x1c); + for (n = 0; n < 0x1c; n++) + { + if (!isprint ((int) name[n])) + name[n] = '.'; + else + name[n] = toupper (name[n]); // according to Leo, MDPACKU4.BIN + } // only supports upper case characters + fwrite (name, 1, 0x1c, destfile); // 0x1 - 0x1c = name + fputc (0, destfile); // 0x1d = 0 + fputc (totalsize / (2 * MBIT), destfile); // 0x1e = bank code + + flags = 0x80; // set F (?, default) + if (genesis_has_ram) + { + if (sram_page == 3) + file_no_sram = file_no; + else if (sram_page > 3) + { + printf ("WARNING: This ROM will share SRAM with ROM %d\n", file_no_sram); + sram_page = 3; + } + flags |= sram_page++; + if ((ucon64.file_size - rominfo->buheader_len) <= 16 * MBIT) + flags &= ~0x80; // clear F (<=16 Mb & SRAM) + } + else + flags |= 4; // set T (no SRAM) + + /* + J(apan) would probably be a more logical name for bit E(urope). I (dbjh) + base that on information of SamIAm. According to him there are three types + of the console: + American Genesis NTSC/no Japanese switch + Japanese Genesis NTSC/Japanese switch + Mega Drive (rest of the world?) PAL/no Japanese switch + So, besides PAL and NTSC there is the variable whether the console contains + a Japanese "switch". The region function is used to make the game "think" + it's running on another type of console. For example, a Japanese game + running on a (European) Mega Drive should have the P and E bit set to 0. + */ + if (UCON64_ISSET (ucon64.region)) + { + if (!genesis_japanese) + flags |= 0x20; // set E(urope) + if (genesis_tv_standard == 1) + flags |= 0x10; // set P(AL) + + flags |= 8; // set V (enable region function) + } + + fputc (flags, destfile); // 0x1f = flags +} + + +int +genesis_multi (int truncate_size, char *fname) +{ +#define BUFSIZE (32 * 1024) // must be a multiple of 16 kB + int n, n_files, file_no, bytestowrite, byteswritten, totalsize = 0, done, + truncated = 0, paddedsize, org_do_not_calc_crc = ucon64.do_not_calc_crc; + struct stat fstate; + FILE *srcfile, *destfile; + char destname[FILENAME_MAX]; + unsigned char buffer[BUFSIZE]; + + if (truncate_size == 0) + { + fprintf (stderr, "ERROR: Can't make multi-game file of 0 bytes\n"); + return -1; + } + + if (fname != NULL) + { + strcpy(destname, fname); + n_files = ucon64.argc; + } + else + { + strcpy(destname, ucon64.argv[ucon64.argc - 1]); + n_files = ucon64.argc - 1; + } + + ucon64_file_handler (destname, NULL, OF_FORCE_BASENAME); + if ((destfile = fopen (destname, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], destname); + return -1; + } + + // do this check here, because one error message is enough (not for every game) + if (UCON64_ISSET (ucon64.region)) + switch (ucon64.region) + { + case 0: // NTSC/Japan + case 1: // NTSC/U.S.A. + case 2: // PAL + case 256: + break; + default: + printf ("WARNING: Invalid region code specified, using values games expect\n"); + } + + printf ("Creating multi-game file for MD-PRO: %s\n", destname); + + file_no = 0; + for (n = 1; n < n_files; n++) + { + if (access (ucon64.argv[n], F_OK)) + continue; // "file" does not exist (option) + stat (ucon64.argv[n], &fstate); + if (!S_ISREG (fstate.st_mode)) + continue; + if (file_no == 32) // loader + 31 games + { + printf ("WARNING: A multi-game file can contain a maximum of 31 games. The other files\n" + " are ignored.\n"); + break; + } + + ucon64.console = UCON64_UNKNOWN; + ucon64.rom = ucon64.argv[n]; + ucon64.file_size = fsizeof (ucon64.rom); + // DON'T use fstate.st_size, because file could be compressed + ucon64.rominfo->buheader_len = UCON64_ISSET (ucon64.buheader_len) ? + ucon64.buheader_len : 0; + ucon64.rominfo->interleaved = UCON64_ISSET (ucon64.interleaved) ? + ucon64.interleaved : 0; + ucon64.do_not_calc_crc = 1; + if (genesis_init (ucon64.rominfo) != 0) + printf ("WARNING: %s does not appear to be a Genesis ROM\n", ucon64.rom); + /* + NOTE: This is NOT the place to mess with ucon64.console. When this + function is entered ucon64.console must have been UCON64_GEN. We + modify ucon64.console temporarily only to be able to help detect + problems with incorrect files. + */ + if (UCON64_ISSET (ucon64.region)) + switch (ucon64.region) + { + case 0: // NTSC/Japan + genesis_tv_standard = 0; + genesis_japanese = 1; + break; + case 1: // NTSC/U.S.A. + genesis_tv_standard = 0; + genesis_japanese = 0; + break; + case 2: // PAL + genesis_tv_standard = 1; + genesis_japanese = 0; + break; + case 256: + // Do nothing. Use whatever values we found for genesis_tv_standard and + // genesis_japanese. + break; + // no default case, because we already checked value of ucon64.region + } + + if ((srcfile = fopen (ucon64.rom, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], ucon64.rom); + continue; + } + if (ucon64.rominfo->buheader_len) + fseek (srcfile, ucon64.rominfo->buheader_len, SEEK_SET); + + if (file_no == 0) + { + printf ("Loader: %s\n", ucon64.rom); + if (ucon64.file_size - ucon64.rominfo->buheader_len != MBIT) + printf ("WARNING: Are you sure %s is a loader binary?\n", ucon64.rom); + } + else + { + printf ("ROM%d: %s\n", file_no, ucon64.rom); + write_game_table_entry (destfile, file_no, ucon64.rominfo, totalsize); + fseek (destfile, totalsize, SEEK_SET); // restore file pointer + } + file_no++; + + done = 0; + byteswritten = 0; // # of bytes written per file + while (!done) + { + if (ucon64.rominfo->interleaved == 2) + bytestowrite = fread_mgd (buffer, 1, BUFSIZE, srcfile); + else + { + bytestowrite = fread (buffer, 1, BUFSIZE, srcfile); + if (ucon64.rominfo->interleaved) + smd_deinterleave (buffer, BUFSIZE); + // yes, BUFSIZE. bytestowrite might not be n * 16 kB + } + if (totalsize + bytestowrite > truncate_size) + { + bytestowrite = truncate_size - totalsize; + done = 1; + truncated = 1; + printf ("Output file is %d Mbit, truncating %s, skipping %d bytes\n", + truncate_size / MBIT, ucon64.rom, ucon64.file_size - + ucon64.rominfo->buheader_len - (byteswritten + bytestowrite)); + } + totalsize += bytestowrite; + if (bytestowrite == 0) + done = 1; + fwrite (buffer, 1, bytestowrite, destfile); + byteswritten += bytestowrite; + } + fclose (srcfile); + if (truncated) + break; + + // games have to be aligned to (start at) a 2 Mbit boundary + paddedsize = (totalsize + 2 * MBIT - 1) & ~(2 * MBIT - 1); +// printf ("paddedsize: %d (%f); totalsize: %d (%f)\n", +// paddedsize, paddedsize / (1.0 * MBIT), totalsize, totalsize / (1.0 * MBIT)); + if (paddedsize > totalsize) + { + // I (dbjh) don't think it is really necessary to pad to the truncate + // size, but it won't hurt + if (paddedsize > truncate_size) + { + truncated = 1; // not *really* truncated + paddedsize = truncate_size; + } + + memset (buffer, 0, BUFSIZE); + while (totalsize < paddedsize) + { + bytestowrite = paddedsize - totalsize > BUFSIZE ? + BUFSIZE : paddedsize - totalsize; + fwrite (buffer, 1, bytestowrite, destfile); + totalsize += bytestowrite; + } + } + if (truncated) + break; + } + // fill the next game table entry + fseek (destfile, 0x8000 + (file_no - 1) * 0x20, SEEK_SET); + fputc (0, destfile); // indicate no next game + fclose (destfile); + ucon64.console = UCON64_GEN; + ucon64.do_not_calc_crc = org_do_not_calc_crc; + + return 0; +} + + +static int +genesis_testinterleaved (st_rominfo_t *rominfo) +{ + unsigned char buf[16384] = { 0 }; + + ucon64_fread (buf, rominfo->buheader_len, 8192 + (GENESIS_HEADER_START + 4) / 2, ucon64.rom); + if (!memcmp (buf + GENESIS_HEADER_START, "SEGA", 4)) + return 0; + + smd_deinterleave (buf, 16384); + if (!memcmp (buf + GENESIS_HEADER_START, "SEGA", 4)) + return 1; + + q_fread_mgd (buf, rominfo->buheader_len + GENESIS_HEADER_START, 4, ucon64.rom); + if (!memcmp (buf, "SEGA", 4)) + return 2; + + return 0; // unknown, act as if it's BIN +} + + +int +genesis_init (st_rominfo_t *rominfo) +{ + int result = -1, value = 0, x, y; + unsigned char *rom_buffer = NULL, buf[MAXBUFSIZE], name[GENESIS_NAME_LEN + 1], + smd_header_split; + static char maker[9], country[200]; // 200 characters should be enough for 5 country names + static const char *genesis_maker[0x100] = + { + NULL, "Accolade/Infogrames", "Virgin Games", "Parker Brothers", "Westone", + NULL, NULL, NULL, NULL, "Westone", + "Takara", "Taito/Accolade", "Capcom", "Data East", "Namco/Tengen", + "Sunsoft", "Bandai", "Dempa", "Technosoft", "Technosoft", + "Asmik", NULL, "Extreme/Micronet", "Vic Tokai", "American Sammy", + "NCS", "Sigma Enterprises", "Toho", NULL, "Kyugo", + NULL, NULL, "Wolfteam", "Kaneko", NULL, + "Toaplan", "Tecmo", NULL, NULL, NULL, + "Toaplan", "Unipac", "UFL Company Ltd.", "Human", NULL, + "Game Arts", "Hot-B", "Sage's Creation", "Tengen/Time Warner", + "Renovation/Telenet", + "Electronic Arts", NULL, NULL, NULL, NULL, + "Psygnosis", "Razorsoft", NULL, "Mentrix", NULL, + "JVC/Victor Musical Industries", NULL, NULL, NULL, "IGS Corp.", + NULL, NULL, "CRI/Home Data", "Arena", "Virgin Games", + NULL, "Nichibutsu", NULL, "Soft Vision", "Palsoft", + NULL, "KOEI", NULL, NULL, "U.S. Gold", + NULL, "Acclaim/Flying Edge", NULL, "Gametek", NULL, + NULL, "Absolute", "Mindscape", "Domark", "Parker Brothers", + NULL, NULL, NULL, "Sony Imagesoft", "Sony Imagesoft", + "Konami", NULL, "Tradewest/Williams", NULL, "Codemasters", + "T*HQ Software", "TecMagik", NULL, "Takara", NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, "Hi Tech Entertainment/Designer Software", "Psygnosis", NULL, + NULL, NULL, NULL, NULL, "Accolade", + "Code Masters", NULL, NULL, NULL, "Spectrum HoloByte", + "Interplay", NULL, NULL, NULL, NULL, + "Activision", NULL, "Shiny & Playmates", NULL, NULL, + NULL, NULL, NULL, NULL, "Viacom International", + NULL, NULL, NULL, NULL, "Atlus", + NULL, NULL, NULL, NULL, NULL, + NULL, "Infogrames", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, "Fox Interactive", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "Psygnosis", + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, "Disney Interactive", + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL + }, +#define GENESIS_COUNTRY_MAX 0x57 + *genesis_country[GENESIS_COUNTRY_MAX] = + { + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, "Brazil", NULL, NULL, // Brazil NTSC + NULL, "Hong Kong", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + "Asia", "Brazil", NULL, NULL, "Europe", // Brazil PAL + "France", NULL, NULL, NULL, "Japan", + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + "U.S.A.", NULL + }, +#define GENESIS_IO_MAX 0x58 + *genesis_io[GENESIS_IO_MAX] = + { + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, "Joystick for MS", NULL, + NULL, NULL, "Team Play", NULL, "6 Button Pad", + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, "Control Ball", "CD-ROM", NULL, NULL, + "Floppy Disk Drive", NULL, NULL, NULL, "3 Button Pad", + "Keyboard", "Activator", "Mega Mouse", NULL, NULL, + "Printer", NULL, "Serial RS232C", NULL, "Tablet", + NULL, "Paddle Controller", NULL + }; + + ucon64_fread (buf, 0, 11, ucon64.rom); + smd_header_split = buf[2]; + if (buf[8] == 0xaa && buf[9] == 0xbb && buf[10] == 7) + { + rominfo->buheader_len = SMD_HEADER_LEN; + strcpy (rominfo->name, "Name: N/A"); + rominfo->console_usage = NULL; + rominfo->copier_usage = smd_usage[0].help; + rominfo->maker = "Publisher: You?"; + rominfo->country = "Country: Your country?"; + rominfo->has_internal_crc = 0; + strcat (rominfo->misc, "Type: Super Magic Drive SRAM file\n"); + ucon64.split = 0; // SRAM files are never split + type = SMD; + return 0; // rest is nonsense for SRAM file + } + + if (buf[8] == 0xaa && buf[9] == 0xbb && buf[10] == 6) + { + type = SMD; + rominfo->buheader_len = SMD_HEADER_LEN; + } + + if (UCON64_ISSET (ucon64.buheader_len)) // -hd, -nhd or -hdn option was specified + rominfo->buheader_len = ucon64.buheader_len; + + rominfo->interleaved = UCON64_ISSET (ucon64.interleaved) ? + ucon64.interleaved : genesis_testinterleaved (rominfo); + + if (rominfo->interleaved == 0) + type = BIN; + else if (rominfo->interleaved == 1) + type = SMD; + else if (rominfo->interleaved == 2) + type = MGD_GEN; + + if (type == SMD) + { + genesis_rom_size = ((ucon64.file_size - rominfo->buheader_len) / 16384) * 16384; + if (genesis_rom_size != ucon64.file_size - rominfo->buheader_len) + rominfo->data_size = genesis_rom_size; + + memset (buf, 0, 16384); + ucon64_fread (buf, rominfo->buheader_len, + 8192 + (GENESIS_HEADER_START + GENESIS_HEADER_LEN) / 2, ucon64.rom); + smd_deinterleave (buf, 16384); // buf will contain the deinterleaved data + memcpy (&genesis_header, buf + GENESIS_HEADER_START, GENESIS_HEADER_LEN); + } + else if (type == MGD_GEN) + { + // We use rominfo->buheader_len to make it user definable. Normally it + // should be 0 for MGD_GEN. + genesis_rom_size = ucon64.file_size - rominfo->buheader_len; + q_fread_mgd (&genesis_header, rominfo->buheader_len + GENESIS_HEADER_START, + GENESIS_HEADER_LEN, ucon64.rom); + } + else // type == BIN + { + // We use rominfo->buheader_len to make it user definable. + genesis_rom_size = ucon64.file_size - rominfo->buheader_len; + ucon64_fread (&genesis_header, rominfo->buheader_len + GENESIS_HEADER_START, + GENESIS_HEADER_LEN, ucon64.rom); + } + + if (!UCON64_ISSET (ucon64.split)) + { + if (type == SMD) + { + // This code does not work for the last part of a file + int split = 0; + if (smd_header_split & 0x40) + split = ucon64_testsplit (ucon64.rom); + ucon64.split = split; // force displayed info to be correct + } // if not split (see ucon64.c) + else if (type == BIN) + { + // This code isn't fool-proof, but it's not that important + const char *ptr = get_suffix (ucon64.rom); + if (strlen (ptr) == 4 && ptr[1] == 'r' && + ptr[2] >= '0' && ptr[2] <= '9' && ptr[3] >= '0' && ptr[3] <= '9') + { + int n_parts = 0; + char fname[FILENAME_MAX], *digits; + + strcpy (fname, ucon64.rom); + digits = fname + strlen (fname) - 2; + do + { + sprintf (digits, "%02d", n_parts); + if (access (fname, F_OK) == 0) + n_parts++; + else + break; + } + while (n_parts < 100); + + if (n_parts) + ucon64.split = n_parts; + } + } + } + + if (!memcmp (&OFFSET (genesis_header, 0), "SEGA", 4) || + ucon64.console == UCON64_GEN) + result = 0; + else + result = -1; + + rominfo->header_start = GENESIS_HEADER_START; + rominfo->header_len = GENESIS_HEADER_LEN; + rominfo->header = &genesis_header; + + // internal ROM name + memcpy (rominfo->name, &OFFSET (genesis_header, 80), GENESIS_NAME_LEN); + rominfo->name[GENESIS_NAME_LEN] = 0; + + // ROM maker + memcpy (maker, &OFFSET (genesis_header, 16), 8); + if (maker[3] == 'T' && maker[4] == '-') + { + sscanf (&maker[5], "%03d", &value); + rominfo->maker = NULL_TO_UNKNOWN_S (genesis_maker[value & 0xff]); + } + else + { + // Don't use genesis_maker here. If it would be corrected/updated an + // incorrect publisher name would be displayed. + rominfo->maker = + (!strncmp (maker, "(C)ACLD", 7)) ? "Ballistic" : + (!strncmp (maker, "(C)AESI", 7)) ? "ASCII" : + (!strncmp (maker, "(C)ASCI", 7)) ? "ASCII" : + (!strncmp (maker, "(C)KANEKO", 9)) ? "Kaneko" : + (!strncmp (maker, "(C)PPP", 6)) ? "Gametek" : + (!strncmp (maker, "(C)RSI", 6)) ? "Razorsoft" : // or is it "(C)1RSI"? + (!strncmp (maker, "(C)SEGA", 7)) ? "Sega" : + (!strncmp (maker, "(C)TREC", 7)) ? "Treco" : + (!strncmp (maker, "(C)VRGN", 7)) ? "Virgin Games" : + (!strncmp (maker, "(C)WADN", 7)) ? "Parker Brothers" : + (!strncmp (maker, "(C)WSTN", 7)) ? "Westone" : NULL; + if (!rominfo->maker) + { + maker[8] = 0; + rominfo->maker = maker; + } + } + + genesis_tv_standard = 1; // default to PAL; NTSC has higher precedence + genesis_japanese = 0; + + country[0] = 0; + // ROM country + for (x = 0; x < 5; x++) + { + int country_code = OFFSET (genesis_header, 240 + x); + + if ((x > 0 && country_code == 0) || country_code == ' ') + continue; + if (country_code == 'J') + genesis_japanese = 1; + if (genesis_japanese || country_code == 'U' || country_code == '4') + genesis_tv_standard = 0; // Japan, the U.S.A. and Brazil ('4') use NTSC + strcat (country, NULL_TO_UNKNOWN_S + (genesis_country[MIN (country_code, GENESIS_COUNTRY_MAX - 1)])); + strcat (country, ", "); + } + x = strlen (country); + if (x >= 2 && country[x - 2] == ',' && country[x - 1] == ' ') + country[x - 2] = 0; + rominfo->country = country; + + // misc stuff + memcpy (name, &OFFSET (genesis_header, 32), GENESIS_NAME_LEN); + name[GENESIS_NAME_LEN] = 0; + sprintf ((char *) buf, "Japanese game name: %s\n", name); + strcat (rominfo->misc, (char *) buf); + + sprintf ((char *) buf, "Date: %.8s\n", &OFFSET (genesis_header, 24)); + strcat (rominfo->misc, (char *) buf); + + x = (OFFSET (genesis_header, 160) << 24) + + (OFFSET (genesis_header, 161) << 16) + + (OFFSET (genesis_header, 162) << 8) + + OFFSET (genesis_header, 163); + y = (OFFSET (genesis_header, 164) << 24) + + (OFFSET (genesis_header, 165) << 16) + + (OFFSET (genesis_header, 166) << 8) + + OFFSET (genesis_header, 167); + sprintf ((char *) buf, "Internal size: %.4f Mb\n", (float) (y - x + 1) / MBIT); + strcat (rominfo->misc, (char *) buf); + + sprintf ((char *) buf, "ROM start: %08x\n", x); + strcat (rominfo->misc, (char *) buf); + + sprintf ((char *) buf, "ROM end: %08x\n", y); + strcat (rominfo->misc, (char *) buf); + + genesis_has_ram = OFFSET (genesis_header, 176) == 'R' && + OFFSET (genesis_header, 177) == 'A'; + if (genesis_has_ram) + { + x = (OFFSET (genesis_header, 180) << 24) + + (OFFSET (genesis_header, 181) << 16) + + (OFFSET (genesis_header, 182) << 8) + + OFFSET (genesis_header, 183); + y = (OFFSET (genesis_header, 184) << 24) + + (OFFSET (genesis_header, 185) << 16) + + (OFFSET (genesis_header, 186) << 8) + + OFFSET (genesis_header, 187); + sprintf ((char *) buf, "Cartridge RAM: Yes, %d kBytes (%s)\n", + (y - x + 1) >> 10, + OFFSET (genesis_header, 178) & 0x40 ? "backup" : "non-backup"); + strcat (rominfo->misc, (char *) buf); + + sprintf ((char *) buf, "RAM start: %08x\n", x); + strcat (rominfo->misc, (char *) buf); + + sprintf ((char *) buf, "RAM end: %08x\n", y); + strcat (rominfo->misc, (char *) buf); + } + else + strcat (rominfo->misc, "Cartridge RAM: No\n"); + + /* + Only checking for 'G' seems to give better results than checking for "GM". + "Officially" "GM" indicates it's a game and "Al" that it's educational. + */ + sprintf ((char *) buf, "Product type: %s\n", + (OFFSET (genesis_header, 128) == 'G') ? "Game" : "Educational"); + strcat (rominfo->misc, (char *) buf); + + sprintf ((char *) buf, "I/O device(s): %s", + NULL_TO_UNKNOWN_S (genesis_io[MIN ((int) OFFSET (genesis_header, 144), GENESIS_IO_MAX - 1)])); + for (x = 0; x < 3; x++) + { + const char *io_device = genesis_io[MIN (OFFSET (genesis_header, 145 + x), GENESIS_IO_MAX - 1)]; + if (!io_device) + continue; + strcat ((char *) buf, ", "); + strcat ((char *) buf, io_device); + } + strcat ((char *) buf, "\n"); + strcat (rominfo->misc, (char *) buf); + + sprintf ((char *) buf, "Modem data: %.10s\n", &OFFSET (genesis_header, 188)); + strcat (rominfo->misc, (char *) buf); + + sprintf ((char *) buf, "Memo: %.40s\n", &OFFSET (genesis_header, 200)); + strcat (rominfo->misc, (char *) buf); + + sprintf ((char *) buf, "Product code: %.8s\n", &OFFSET (genesis_header, 131)); + strcat (rominfo->misc, (char *) buf); + + sprintf ((char *) buf, "Version: 1.%c%c", OFFSET (genesis_header, 140), OFFSET (genesis_header, 141)); + strcat (rominfo->misc, (char *) buf); + + // internal ROM crc + if (!UCON64_ISSET (ucon64.do_not_calc_crc) && result == 0) + { + if ((rom_buffer = load_rom (rominfo, ucon64.rom, rom_buffer)) == NULL) + return -1; + + rominfo->has_internal_crc = 1; + rominfo->internal_crc_len = 2; + + rominfo->current_internal_crc = genesis_chksum (rom_buffer); + rominfo->internal_crc = OFFSET (genesis_header, 143); // low byte of checksum + rominfo->internal_crc += (OFFSET (genesis_header, 142)) << 8; // high byte of checksum + + rominfo->internal_crc2[0] = 0; + free (rom_buffer); + } + rominfo->console_usage = genesis_usage[0].help; + if (type == SMD) + rominfo->copier_usage = smd_usage[0].help; + else if (type == MGD_GEN) + rominfo->copier_usage = mgd_usage[0].help; + else // type == BIN + rominfo->copier_usage = bin_usage[0].help; + + return result; +} + + +int +genesis_chksum (unsigned char *rom_buffer) +{ + int i, len = genesis_rom_size - 2; + unsigned short checksum = 0; + + for (i = 512; i <= len; i += 2) + checksum += (rom_buffer[i] << 8) + (rom_buffer[i + 1]); + + return checksum; +} diff --git a/tools/ucon64-2.0.0-src/src/console/genesis.h b/tools/ucon64-2.0.0-src/src/console/genesis.h new file mode 100644 index 0000000..884c9cf --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/console/genesis.h @@ -0,0 +1,43 @@ +/* +genesis.h - Sega Genesis/Mega Drive support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB +Copyright (c) 2002 - 2003 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef GENESIS_H +#define GENESIS_H + +typedef enum { SMD = 1, BIN, MGD_GEN } genesis_file_t; + +extern const st_getopt2_t genesis_usage[]; + +extern genesis_file_t genesis_get_file_type (void); +extern int genesis_1991 (st_rominfo_t *rominfo); +extern int genesis_chk (st_rominfo_t *rominfo); +extern int genesis_j (st_rominfo_t *rominfo); +extern int genesis_n (st_rominfo_t *rominfo, const char *name); +extern int genesis_n2 (st_rominfo_t *rominfo, const char *name); +extern int genesis_s (st_rominfo_t *rominfo); +extern int genesis_smd (st_rominfo_t *rominfo); +extern int genesis_smds (void); +extern int genesis_bin (st_rominfo_t *rominfo); +extern int genesis_mgd (st_rominfo_t *rominfo); +extern int genesis_multi (int truncate_size, char *fname); +extern int genesis_init (st_rominfo_t *rominfo); +extern int genesis_f (st_rominfo_t *rominfo); +#endif diff --git a/tools/ucon64-2.0.0-src/src/console/jaguar.c b/tools/ucon64-2.0.0-src/src/console/jaguar.c new file mode 100644 index 0000000..dbb5538 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/console/jaguar.c @@ -0,0 +1,109 @@ +/* +jaguar.c - Atari Jaguar support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#ifdef HAVE_UNISTD_H +#include +#endif +#include +#include "misc/misc.h" +#include "misc/file.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ucon64_misc.h" +#include "jaguar.h" + + +const st_getopt2_t jaguar_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Panther(32bit prototype)/Jaguar64/Jaguar64 CD"/*"1989 Flare2/1993 Atari/1995 Atari"*/, + NULL + }, + { + "jag", 0, 0, UCON64_JAG, + NULL, "force recognition", + &ucon64_wf[WF_OBJ_JAG_SWITCH] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} +}; + + +typedef struct st_jaguar +{ + char pad[16]; +} st_jaguar_t; +#define JAGUAR_HEADER_START 0x400 +#define JAGUAR_HEADER_LEN (sizeof (st_jaguar_t)) + +st_jaguar_t jaguar_header; + + +int +jaguar_init (st_rominfo_t *rominfo) +{ + int result = -1, x, value; + + rominfo->buheader_len = UCON64_ISSET (ucon64.buheader_len) ? + ucon64.buheader_len : 0; + + ucon64_fread (&jaguar_header, JAGUAR_HEADER_START + + rominfo->buheader_len, JAGUAR_HEADER_LEN, ucon64.rom); + value = 0; + for (x = 0; x < 12; x++) + value += OFFSET (jaguar_header, x); + if (value == 0xb0) + result = 0; + else + { + rominfo->buheader_len = UCON64_ISSET (ucon64.buheader_len) ? + ucon64.buheader_len : (int) UNKNOWN_HEADER_LEN; + + ucon64_fread (&jaguar_header, JAGUAR_HEADER_START + + rominfo->buheader_len, JAGUAR_HEADER_LEN, ucon64.rom); + value = 0; + for (x = 0; x < 12; x++) + value += OFFSET (jaguar_header, x); + + if (value == 0xb0) + result = 0; + else + result = -1; + } + if (ucon64.console == UCON64_JAG) + result = 0; + + rominfo->header_start = JAGUAR_HEADER_START; + rominfo->header_len = JAGUAR_HEADER_LEN; + rominfo->header = &jaguar_header; + + rominfo->console_usage = jaguar_usage[0].help; + rominfo->copier_usage = unknown_usage[0].help; + + return result; +} diff --git a/tools/ucon64-2.0.0-src/src/console/jaguar.h b/tools/ucon64-2.0.0-src/src/console/jaguar.h new file mode 100644 index 0000000..48d8ceb --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/console/jaguar.h @@ -0,0 +1,27 @@ +/* +jaguar.h - Atari Jaguar support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef JAGUAR_H +#define JAGUAR_H + +extern const st_getopt2_t jaguar_usage[]; +extern int jaguar_init (st_rominfo_t *rominfo); + +#endif diff --git a/tools/ucon64-2.0.0-src/src/console/lynx.c b/tools/ucon64-2.0.0-src/src/console/lynx.c new file mode 100644 index 0000000..a4a0178 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/console/lynx.c @@ -0,0 +1,357 @@ +/* +lynx.c - Atari Lynx support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB +Copyright (c) 2002 - 2003 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#ifdef HAVE_UNISTD_H +#include +#endif +#include "misc/bswap.h" +#include "misc/file.h" +#include "misc/misc.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ucon64_misc.h" +#include "lynx.h" + + +const st_getopt2_t lynx_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Handy (prototype)/Lynx/Lynx II"/*"1987 Epyx/1989 Atari/1991 Atari"*/, + NULL + }, + { + "lynx", 0, 0, UCON64_LYNX, + NULL, "force recognition", + &ucon64_wf[WF_OBJ_LYNX_SWITCH] + }, + { + "lyx", 0, 0, UCON64_LYX, + NULL, "convert to LYX/RAW (strip 64 Bytes LNX header)", + &ucon64_wf[WF_OBJ_LYNX_DEFAULT] + }, + { + "lnx", 0, 0, UCON64_LNX, + NULL, "convert to LNX (uses default values for the header);\n" + "adjust the LNX header with the following options", + &ucon64_wf[WF_OBJ_LYNX_DEFAULT] + }, + { + "n", 1, 0, UCON64_N, + "NEW_NAME", "change internal ROM name to NEW_NAME (LNX only)", + &ucon64_wf[WF_OBJ_ALL_DEFAULT] + }, + { + "nrot", 0, 0, UCON64_NROT, + NULL, "set no rotation (LNX only)", + &ucon64_wf[WF_OBJ_LYNX_DEFAULT] + }, + { + "rotl", 0, 0, UCON64_ROTL, + NULL, "set rotation left (LNX only)", + &ucon64_wf[WF_OBJ_LYNX_DEFAULT] + }, + { + "rotr", 0, 0, UCON64_ROTR, + NULL, "set rotation right (LNX only)", + &ucon64_wf[WF_OBJ_LYNX_DEFAULT] + }, + { + "b0", 1, 0, UCON64_B0, + "N", "change Bank0 kBytes size to N={0,64,128,256,512} (LNX only)", + &ucon64_wf[WF_OBJ_LYNX_DEFAULT] + }, + { + "b1", 1, 0, UCON64_B1, + "N", "change Bank1 kBytes size to N={0,64,128,256,512} (LNX only)", + &ucon64_wf[WF_OBJ_LYNX_DEFAULT] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} +}; + +const char *lynx_lyx_desc = "convert to LYX/RAW (strip 64 Bytes LNX header)"; + +//static const char *lnx_usage[] = "LNX header"; +#define LNX_HEADER_START 0 +#define LNX_HEADER_LEN (sizeof (st_lnx_header_t)) + +st_lnx_header_t lnx_header; + + +int +lynx_lyx (st_rominfo_t *rominfo) +{ + char dest_name[FILENAME_MAX]; + + if (!rominfo->buheader_len) + { + fprintf (stderr, "ERROR: This is no LNX file\n\n"); + return -1; + } + + strcpy (dest_name, ucon64.rom); + set_suffix (dest_name, ".lyx"); + + ucon64_file_handler (dest_name, NULL, 0); + fcopy (ucon64.rom, rominfo->buheader_len, ucon64.file_size, dest_name, "wb"); + + printf (ucon64_msg[WROTE], dest_name); + return 0; +} + + +int +lynx_lnx (st_rominfo_t *rominfo) +{ + st_lnx_header_t header; + char dest_name[FILENAME_MAX]; + int size = ucon64.file_size; + + if (rominfo->buheader_len != 0) + { + fprintf (stderr, "ERROR: This seems to already be an LNX file\n\n"); + return -1; + } + + header.page_size_bank0 = size > 4 * MBIT ? 4 * MBIT / 256 : size / 256; + header.page_size_bank1 = size > 4 * MBIT ? (size - (4 * MBIT)) / 256 : 0; +#ifdef WORDS_BIGENDIAN + header.page_size_bank0 = bswap_16 (header.page_size_bank0); + header.page_size_bank1 = bswap_16 (header.page_size_bank1); +#endif + + memset (header.cartname, 0, sizeof (header.cartname)); + memset (header.manufname, 0, sizeof (header.manufname)); + memset (header.spare, 0, sizeof (header.spare)); + +#ifdef WORDS_BIGENDIAN + header.version = bswap_16 (1); +#else + header.version = 1; +#endif + + memcpy (header.magic, "LYNX", 4); + header.rotation = 0; + strncpy (header.cartname, ucon64.rom, sizeof (header.cartname)); + strcpy (header.manufname, "Atari"); + + strcpy (dest_name, ucon64.rom); + set_suffix (dest_name, ".lnx"); + + ucon64_file_handler (dest_name, NULL, 0); + ucon64_fwrite (&header, 0, sizeof (st_lnx_header_t), dest_name, "wb"); + fcopy (ucon64.rom, 0, ucon64.file_size, dest_name, "ab"); + + printf (ucon64_msg[WROTE], dest_name); + return 0; +} + + +static int +lynx_rot (st_rominfo_t *rominfo, int rotation) +{ + st_lnx_header_t header; + char dest_name[FILENAME_MAX]; + + if (!rominfo->buheader_len) + { + fprintf (stderr, "ERROR: This is no LNX file\n\n"); + return -1; + } + + ucon64_fread (&header, 0, sizeof (st_lnx_header_t), ucon64.rom); + + header.rotation = rotation; // header.rotation is an 8-bit field + + strcpy (dest_name, ucon64.rom); + ucon64_file_handler (dest_name, NULL, 0); + fcopy (ucon64.rom, 0, ucon64.file_size, dest_name, "wb"); + ucon64_fwrite (&header, 0, sizeof (st_lnx_header_t), dest_name, "r+b"); + + printf (ucon64_msg[WROTE], dest_name); + return 0; +} + + +int +lynx_nrot (st_rominfo_t *rominfo) +{ + return lynx_rot (rominfo, 0); // no rotation +} + + +int +lynx_rotl (st_rominfo_t *rominfo) +{ + return lynx_rot (rominfo, 1); // rotate left +} + + +int +lynx_rotr (st_rominfo_t *rominfo) +{ + return lynx_rot (rominfo, 2); // rotate right +} + + +int +lynx_n (st_rominfo_t *rominfo, const char *name) +{ + st_lnx_header_t header; + char dest_name[FILENAME_MAX]; + + if (!rominfo->buheader_len) + { + fprintf (stderr, "ERROR: This is no LNX file\n\n"); + return -1; + } + + ucon64_fread (&header, 0, sizeof (st_lnx_header_t), ucon64.rom); + + memset (header.cartname, 0, sizeof (header.cartname)); + strncpy (header.cartname, name, sizeof (header.cartname)); + + strcpy (dest_name, ucon64.rom); + ucon64_file_handler (dest_name, NULL, 0); + fcopy (ucon64.rom, 0, ucon64.file_size, dest_name, "wb"); + ucon64_fwrite (&header, 0, sizeof (st_lnx_header_t), dest_name, "r+b"); + + printf (ucon64_msg[WROTE], dest_name); + return 0; +} + + +static int +lynx_b (st_rominfo_t *rominfo, int bank, const char *value) +{ + st_lnx_header_t header; + short int *bankvar; + char dest_name[FILENAME_MAX]; + + if (!rominfo->buheader_len) + { + fprintf (stderr, "ERROR: This is no LNX file\n\n"); + return -1; + } + + ucon64_fread (&header, 0, sizeof (st_lnx_header_t), ucon64.rom); + + bankvar = (bank == 0 ? &header.page_size_bank0 : &header.page_size_bank1); + if ((atol (value) % 64) != 0 || (atol (value) > 512)) + *bankvar = 0; + else +#ifdef WORDS_BIGENDIAN + *bankvar = bswap_16 (atol (value) * 4); +#else + *bankvar = atol (value) * 4; +#endif + + strcpy (dest_name, ucon64.rom); + ucon64_file_handler (dest_name, NULL, 0); + fcopy (ucon64.rom, 0, ucon64.file_size, dest_name, "wb"); + ucon64_fwrite (&header, 0, sizeof (st_lnx_header_t), dest_name, "r+b"); + + printf (ucon64_msg[WROTE], dest_name); + return 0; +} + + +int +lynx_b0 (st_rominfo_t *rominfo, const char *value) +{ + return lynx_b (rominfo, 0, value); +} + + +int +lynx_b1 (st_rominfo_t *rominfo, const char *value) +{ + return lynx_b (rominfo, 1, value); +} + + +int +lynx_init (st_rominfo_t *rominfo) +{ + int result = -1; + + rominfo->console_usage = lynx_usage[0].help; + rominfo->copier_usage = unknown_usage[0].help; + + ucon64_fread (&lnx_header, 0, LNX_HEADER_LEN, ucon64.rom); + if (!strncmp (lnx_header.magic, "LYNX", 4)) + result = 0; + else + result = -1; + if (ucon64.console == UCON64_LYNX) + result = 0; + + if (!strncmp (lnx_header.magic, "LYNX", 4)) + { + rominfo->buheader_len = UCON64_ISSET (ucon64.buheader_len) ? + ucon64.buheader_len : (int) LNX_HEADER_LEN; + + if (UCON64_ISSET (ucon64.buheader_len) && !ucon64.buheader_len) + return ucon64.console == UCON64_LYNX ? 0 : result; + + ucon64_fread (&lnx_header, 0, LNX_HEADER_LEN, ucon64.rom); + rominfo->buheader = &lnx_header; + + // internal ROM name + strcpy (rominfo->name, lnx_header.cartname); + + // ROM maker + rominfo->maker = lnx_header.manufname; + + // misc stuff + sprintf (rominfo->misc, + "Internal Size: Bank0 %hd Bytes (%.4f Mb)\n" + " Bank1 %hd Bytes (%.4f Mb)\n" + "Version: %hd\n" + "Rotation: %s", +#ifdef WORDS_BIGENDIAN + bswap_16 (lnx_header.page_size_bank0) * 256, + TOMBIT_F (bswap_16 (lnx_header.page_size_bank0) * 256), + bswap_16 (lnx_header.page_size_bank1) * 256, + TOMBIT_F (bswap_16 (lnx_header.page_size_bank1) * 256), + bswap_16 (lnx_header.version), +#else + lnx_header.page_size_bank0 * 256, + TOMBIT_F (lnx_header.page_size_bank0 * 256), + lnx_header.page_size_bank1 * 256, + TOMBIT_F (lnx_header.page_size_bank1 * 256), + lnx_header.version, +#endif + (!lnx_header.rotation) ? "No" : ((lnx_header.rotation == 1) ? "Left" : "Right")); + } + + return result; +} diff --git a/tools/ucon64-2.0.0-src/src/console/lynx.h b/tools/ucon64-2.0.0-src/src/console/lynx.h new file mode 100644 index 0000000..865a43e --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/console/lynx.h @@ -0,0 +1,54 @@ +/* +lynx.h - Atari Lynx support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef LYNX_H +#define LYNX_H +typedef struct st_lnx_header +{ + char magic[4]; + short int page_size_bank0; + short int page_size_bank1; + short int version; + char cartname[32]; + char manufname[16]; + unsigned char rotation; + unsigned char spare[5]; +} st_lnx_header_t; + + +extern int lynxer_main(const char *FileName); + +extern int lynx_b0 (st_rominfo_t *rominfo, const char *value); +extern int lynx_b1 (st_rominfo_t *rominfo, const char *value); + +extern int lynx_lnx (st_rominfo_t *rominfo); + +extern int lynx_lyx (st_rominfo_t *rominfo); +extern const char *lynx_lyx_desc; + +extern int lynx_n (st_rominfo_t *rominfo, const char *name); +extern int lynx_nrot (st_rominfo_t *rominfo); +extern int lynx_rotl (st_rominfo_t *rominfo); +extern int lynx_rotr (st_rominfo_t *rominfo); + +extern int lynx_init (st_rominfo_t *rominfo); + +extern const st_getopt2_t lynx_usage[]; +#endif // LYNX_H diff --git a/tools/ucon64-2.0.0-src/src/console/n64.c b/tools/ucon64-2.0.0-src/src/console/n64.c new file mode 100644 index 0000000..10523b7 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/console/n64.c @@ -0,0 +1,743 @@ +/* +n64.c - Nintendo 64 support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB +Copyright (c) 2002 - 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#ifdef HAVE_UNISTD_H +#include +#endif +#include "misc/chksum.h" +#include "misc/file.h" +#include "misc/misc.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ucon64_misc.h" +#include "n64.h" +#include "patch/ips.h" +#include "patch/aps.h" +#include "backup/doctor64.h" +#include "backup/doctor64jr.h" +#include "backup/cd64.h" +#include "backup/dex.h" +#include "backup/z64.h" + + +#define N64_HEADER_LEN (sizeof (st_n64_header_t)) +#define N64_SRAM_SIZE 512 +#define N64_NAME_LEN 20 +#define N64_BC_SIZE (0x1000 - N64_HEADER_LEN) +#define LAC_ROM_SIZE 1310720 + +const st_getopt2_t n64_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Nintendo 64"/*"1996 Nintendo http://www.nintendo.com"*/, + NULL + }, + { + "n64", 0, 0, UCON64_N64, + NULL, "force recognition", + &ucon64_wf[WF_OBJ_N64_SWITCH] + }, + { + "int", 0, 0, UCON64_INT, + NULL, "force ROM is in interleaved format (2143, V64)", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, + { + "nint", 0, 0, UCON64_NINT, + NULL, "force ROM is not in interleaved format (1234, Z64)", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, + { + "n", 1, 0, UCON64_N, + "NEW_NAME", "change internal ROM name to NEW_NAME", + &ucon64_wf[WF_OBJ_ALL_DEFAULT] + }, + { + "v64", 0, 0, UCON64_V64, + NULL, "convert to Doctor V64 (and compatibles/interleaved)", + &ucon64_wf[WF_OBJ_N64_DEFAULT] + }, + { + "z64", 0, 0, UCON64_Z64, + NULL, "convert to Mr. Backup Z64 (not interleaved)", + &ucon64_wf[WF_OBJ_N64_DEFAULT] + }, + { + "dint", 0, 0, UCON64_DINT, + NULL, "convert ROM to (non-)interleaved format (1234 <-> 2143)", + &ucon64_wf[WF_OBJ_ALL_INIT_PROBE] + }, + { + "swap", 0, 0, UCON64_SWAP, + NULL, "same as " OPTION_LONG_S "dint, byte-swap ROM", + &ucon64_wf[WF_OBJ_ALL_INIT_PROBE] + }, + { + "swap2", 0, 0, UCON64_SWAP2, + NULL, "word-swap ROM (1234 <-> 3412)", + NULL + }, +#if 0 + { + "f", 0, 0, UCON64_F, + NULL, "remove NTSC/PAL protection", + NULL + }, +#endif + { + "bot", 1, 0, UCON64_BOT, + "BOOTCODE", "replace/extract BOOTCODE (4032 Bytes) in/from ROM;\n" + "extracts automatically if BOOTCODE does not exist", + &ucon64_wf[WF_OBJ_N64_DEFAULT] + }, + { + "lsram", 1, 0, UCON64_LSRAM, + "SRAM", "LaC's SRAM upload tool; ROM should be LaC's ROM image\n" + "the SRAM must have a size of 512 Bytes\n" + "this option generates a ROM which can be used to transfer\n" + "SRAMs to your cartridge's SRAM (EEPROM)", + &ucon64_wf[WF_OBJ_N64_INIT_PROBE] + }, + { + "usms", 1, 0, UCON64_USMS, + "SMSROM", "Jos Kwanten's UltraSMS (Sega Master System/Game Gear emulator);\n" + "ROM should be Jos Kwanten's UltraSMS ROM image\n" + "works only for SMS ROMs which are <= 4 Mb in size", + &ucon64_wf[WF_OBJ_N64_DEFAULT] + }, + { + "chk", 0, 0, UCON64_CHK, + NULL, "fix ROM checksum\n" + "supports only 6102 and 6105 boot codes", + &ucon64_wf[WF_OBJ_ALL_DEFAULT] + }, +#if 0 + { + "bios", 1, 0, UCON64_BIOS, + "BIOS", "enable backup in Doctor V64 BIOS", + NULL + }, +#endif + {NULL, 0, 0, 0, NULL, NULL, NULL} +}; + + +typedef struct st_n64_header +{ + unsigned char pad[64]; +#if 0 + unsigned char validation[2]; + unsigned char compression; + unsigned char pad1; + unsigned long clockrate; + unsigned long programcounter; + unsigned long release; + unsigned long crc1; + unsigned long crc2; + unsigned char pad2[8]; + unsigned char name[20]; + unsigned char pad3[7]; + unsigned char maker; + unsigned char cartridgeid[2]; + unsigned char countrycode; + unsigned char pad4; +#endif +} st_n64_header_t; + +st_n64_header_t n64_header; + +typedef struct st_n64_chksum +{ + unsigned int crc1; + unsigned int crc2; +} st_n64_chksum_t; + +static st_n64_chksum_t n64crc; +static int n64_chksum (st_rominfo_t *rominfo, const char *filename); + + +int +n64_v64 (st_rominfo_t *rominfo) +{ + char dest_name[FILENAME_MAX]; + + if (rominfo->interleaved) + { + fprintf (stderr, "ERROR: Already in V64 format\n"); + exit (1); + } + + strcpy (dest_name, ucon64.rom); + set_suffix (dest_name, ".v64"); + ucon64_file_handler (dest_name, NULL, 0); + fcopy (ucon64.rom, 0, ucon64.file_size, dest_name, "wb"); + ucon64_fbswap16 (dest_name, 0, ucon64.file_size); + + printf (ucon64_msg[WROTE], dest_name); + return 0; +} + + +int +n64_z64 (st_rominfo_t *rominfo) +{ + char dest_name[FILENAME_MAX]; + + if (!rominfo->interleaved) + { + fprintf (stderr, "ERROR: Already in Z64 format\n"); + exit (1); + } + + strcpy (dest_name, ucon64.rom); + set_suffix (dest_name, ".z64"); + ucon64_file_handler (dest_name, NULL, 0); + fcopy (ucon64.rom, 0, ucon64.file_size, dest_name, "wb"); + ucon64_fbswap16 (dest_name, 0, ucon64.file_size); + + printf (ucon64_msg[WROTE], dest_name); + return 0; +} + + +int +n64_n (st_rominfo_t *rominfo, const char *name) +{ + char buf[N64_NAME_LEN], dest_name[FILENAME_MAX]; + + memset (buf, ' ', N64_NAME_LEN); + strncpy (buf, name, strlen (name) > N64_NAME_LEN ? N64_NAME_LEN : strlen (name)); + + if (rominfo->interleaved) + ucon64_bswap16_n (buf, N64_NAME_LEN); + + strcpy (dest_name, ucon64.rom); + ucon64_file_handler (dest_name, NULL, 0); + fcopy (ucon64.rom, 0, ucon64.file_size, dest_name, "wb"); + ucon64_fwrite (buf, rominfo->buheader_len + 32, N64_NAME_LEN, dest_name, "r+b"); + + printf (ucon64_msg[WROTE], dest_name); + return 0; +} + + +int +n64_f (st_rominfo_t *rominfo) +{ + // TODO: PAL/NTSC fix + (void) rominfo; // warning remover + fputs ("ERROR: The function for cracking N64 region protections is not yet implemented\n", stderr); + return 0; +} + + +static void +n64_update_chksum (st_rominfo_t *rominfo, const char *filename, char *buf) +{ + uint64_t crc; + int x; + + // n64crc is set by n64_chksum() when called from n64_init() + crc = (((uint64_t) n64crc.crc1) << 32) | n64crc.crc2; + for (x = 0; x < 8; x++) + { + buf[x] = (char) (crc >> 56); + crc <<= 8; + } + if (rominfo->interleaved) + ucon64_bswap16_n (buf, 8); + ucon64_fwrite (buf, rominfo->buheader_len + 16, 8, filename, "r+b"); +} + + +int +n64_chk (st_rominfo_t *rominfo) +{ + char buf[8], dest_name[FILENAME_MAX]; + + strcpy (dest_name, ucon64.rom); + ucon64_file_handler (dest_name, NULL, 0); + fcopy (ucon64.rom, 0, ucon64.file_size, dest_name, "wb"); + + n64_update_chksum (rominfo, dest_name, buf); + dumper (stdout, buf, 8, rominfo->buheader_len + 16, DUMPER_HEX); + + printf (ucon64_msg[WROTE], dest_name); + return 0; +} + + +int +n64_sram (st_rominfo_t *rominfo, const char *sramfile) +// Function to insert an SRAM file in LaC's SRAM upload tool (which is an N64 +// program) +{ + char sram[N64_SRAM_SIZE], dest_name[FILENAME_MAX], buf[8]; + + if (access (sramfile, F_OK)) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], sramfile); + exit (1); + } + + if (fsizeof (sramfile) != N64_SRAM_SIZE || ucon64.file_size != LAC_ROM_SIZE) + { + fprintf (stderr, "ERROR: ROM is not %d bytes and/or SRAM is not %d bytes\n", + LAC_ROM_SIZE, N64_SRAM_SIZE); + exit (1); + } + + ucon64_fread (sram, 0, N64_SRAM_SIZE, sramfile); + + if (rominfo->interleaved) + ucon64_bswap16_n (sram, N64_SRAM_SIZE); + + strcpy (dest_name, ucon64.rom); + ucon64_file_handler (dest_name, NULL, 0); + fcopy (ucon64.rom, 0, ucon64.file_size, dest_name, "wb"); + ucon64_fwrite (sram, 0x286c0, N64_SRAM_SIZE, dest_name, "r+b"); + n64_chksum (rominfo, dest_name); // calculate the checksum of the modified file + n64_update_chksum (rominfo, dest_name, buf); + + printf (ucon64_msg[WROTE], dest_name); + return 0; +} + + +int +n64_bot (st_rominfo_t *rominfo, const char *bootfile) +{ + char buf[N64_BC_SIZE], dest_name[FILENAME_MAX]; + + if (!access (bootfile, F_OK)) + { + strcpy (dest_name, ucon64.rom); + ucon64_fread (buf, 0, N64_BC_SIZE, bootfile); + + if (rominfo->interleaved) + ucon64_bswap16_n (buf, N64_BC_SIZE); + + ucon64_file_handler (dest_name, NULL, 0); + fcopy (ucon64.rom, 0, ucon64.file_size, dest_name, "wb"); + ucon64_fwrite (buf, rominfo->buheader_len + N64_HEADER_LEN, N64_BC_SIZE, + dest_name, "r+b"); + } + else + { + strcpy (dest_name, bootfile); +// set_suffix (dest_name, ".bot"); + ucon64_file_handler (dest_name, NULL, OF_FORCE_BASENAME | OF_FORCE_SUFFIX); + fcopy (ucon64.rom, rominfo->buheader_len + N64_HEADER_LEN, N64_BC_SIZE, + dest_name, "wb"); + + if (rominfo->interleaved) + ucon64_fbswap16 (dest_name, 0, fsizeof (dest_name)); + } + + printf (ucon64_msg[WROTE], dest_name); + return 0; +} + + +int +n64_usms (st_rominfo_t *rominfo, const char *smsrom) +{ + char dest_name[FILENAME_MAX], *usmsbuf; + int size; + + if (access (smsrom, F_OK)) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], smsrom); + exit (1); + } + + size = fsizeof (smsrom); + // must be smaller than 4 Mbit, 524288 bytes will be inserted + // from 0x1b410 to 0x9b40f (0x7ffff) + if (size > 4 * MBIT) + { + fprintf (stderr, "ERROR: The Sega Master System/Game Gear ROM must be 524288 bytes or less\n"); + exit (1); + } + + if (!(usmsbuf = (char *) malloc (4 * MBIT))) + { + fprintf (stderr, ucon64_msg[BUFFER_ERROR], 4 * MBIT); + exit (1); + } + memset (usmsbuf, 0xff, 4 * MBIT); + ucon64_fread (usmsbuf, 0, size, smsrom); + + if (rominfo->interleaved) + ucon64_bswap16_n (usmsbuf, size); + + // Jos Kwanten's rominserter.exe produces a file named Patched.v64 + strcpy (dest_name, "Patched.v64"); + ucon64_file_handler (dest_name, NULL, OF_FORCE_BASENAME | OF_FORCE_SUFFIX); + fcopy (ucon64.rom, rominfo->buheader_len, ucon64.file_size, dest_name, "wb"); + ucon64_fwrite (usmsbuf, rominfo->buheader_len + 0x01b410, 4 * MBIT, dest_name, "r+b"); + + free (usmsbuf); + printf (ucon64_msg[WROTE], dest_name); + + return 0; +} + + +int +n64_init (st_rominfo_t *rominfo) +{ + int result = -1, x; + unsigned int value = 0; +#define N64_MAKER_MAX 0x50 + const char *n64_maker[N64_MAKER_MAX] = + { + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, "Nintendo", NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, "Nintendo", NULL + }, +#define N64_COUNTRY_MAX 0x5a + *n64_country[N64_COUNTRY_MAX] = + { + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, "Germany", "U.S.A.", + "France", NULL, NULL, "Italy", "Japan", + NULL, NULL, NULL, NULL, NULL, + "Europe", NULL, NULL, "Spain", NULL, + "Australia", NULL, NULL, "France, Germany, The Netherlands", NULL // Holland is an incorrect name for The Netherlands + }; + + rominfo->buheader_len = UCON64_ISSET (ucon64.buheader_len) ? ucon64.buheader_len : 0; + + ucon64_fread (&n64_header, rominfo->buheader_len, N64_HEADER_LEN, ucon64.rom); + + value = OFFSET (n64_header, 0); + value += OFFSET (n64_header, 1) << 8; + value += OFFSET (n64_header, 2) << 16; + value += OFFSET (n64_header, 3) << 24; + /* + 0x41123780 and 0x12418037 can be found in te following files: + 2 Blokes & An Armchair - Nintendo 64 Remix Remix (PD) + Zelda Boot Emu V1 (PD) + Zelda Boot Emu V2 (PD) + */ + if (value == 0x40123780 || value == 0x41123780) // 0x80371240, 0x80371241 + { + rominfo->interleaved = 0; + result = 0; + } + else if (value == 0x12408037 || value == 0x12418037) // 0x37804012, 0x37804112 + { + rominfo->interleaved = 1; + result = 0; + } + else + result = -1; + + if (UCON64_ISSET (ucon64.interleaved)) + rominfo->interleaved = ucon64.interleaved; + if (ucon64.console == UCON64_N64) + result = 0; + + // internal ROM header + rominfo->header_start = 0; + rominfo->header_len = N64_HEADER_LEN; + rominfo->header = &n64_header; + + // internal ROM name + strncpy (rominfo->name, (char *) &OFFSET (n64_header, 32), N64_NAME_LEN); + if (rominfo->interleaved) + ucon64_bswap16_n (rominfo->name, N64_NAME_LEN); + rominfo->name[N64_NAME_LEN] = 0; + + // ROM maker + rominfo->maker = NULL_TO_UNKNOWN_S (n64_maker[MIN (OFFSET + (n64_header, 59 ^ rominfo->interleaved), N64_MAKER_MAX - 1)]); + + // ROM country + rominfo->country = NULL_TO_UNKNOWN_S (n64_country[MIN (OFFSET + (n64_header, 63 ^ (!rominfo->interleaved)), N64_COUNTRY_MAX - 1)]); + + // CRC stuff + if (!UCON64_ISSET (ucon64.do_not_calc_crc) && result == 0) + { + rominfo->has_internal_crc = 1; + rominfo->internal_crc_len = 4; + + n64_chksum (rominfo, ucon64.rom); + rominfo->current_internal_crc = n64crc.crc1; + + value = 0; + for (x = 0; x < 4; x++) + { + rominfo->internal_crc <<= 8; + rominfo->internal_crc += OFFSET (n64_header, 16 + (x ^ rominfo->interleaved)); + value <<= 8; + value += OFFSET (n64_header, 20 + (x ^ rominfo->interleaved)); + } + + sprintf (rominfo->internal_crc2, + "2nd Checksum: %s, 0x%08x (calculated) %c= 0x%08x (internal)%s", +#ifdef USE_ANSI_COLOR + ucon64.ansi_color ? + ((n64crc.crc2 == value) ? + "\x1b[01;32mOk\x1b[0m" : "\x1b[01;31mBad\x1b[0m") + : + ((n64crc.crc2 == value) ? "Ok" : "Bad"), +#else + (n64crc.crc2 == value) ? "Ok" : "Bad", +#endif + n64crc.crc2, + (n64crc.crc2 == value) ? '=' : '!', value, + (n64crc.crc2 != value) ? + "\nNOTE: The checksum routine supports only 6102 and 6105 boot codes" : + ""); + } + + rominfo->console_usage = n64_usage[0].help; + rominfo->copier_usage = (!rominfo->buheader_len ? + ((!rominfo->interleaved) ? z64_usage[0].help : doctor64_usage[0].help) : unknown_usage[0].help); + + return result; +} + + +/* + ROM check sum routine is based on chksum64 V1.2 by Andreas Sterbenz + , a program to calculate the ROM checksum of + Nintendo 64 ROMs. +*/ +#define ROL(i, b) (((i) << (b)) | ((i) >> (32 - (b)))) +#define BYTES2LONG(b, s) ( (b)[0^(s)] << 24 | \ + (b)[1^(s)] << 16 | \ + (b)[2^(s)] << 8 | \ + (b)[3^(s)] ) + +#define CHECKSUM_START 0x1000 //(N64_HEADER_LEN + N64_BC_SIZE) +#define CHECKSUM_LENGTH 0x100000 +#define CHECKSUM_STARTVALUE1 0xf8ca4ddc +#define CHECKSUM_STARTVALUE2 0xdf26f436 +#define CALC_CRC32 // see this as a marker, don't disable + +int +n64_chksum (st_rominfo_t *rominfo, const char *filename) +{ + unsigned char bootcode_buf[CHECKSUM_START], chunk[MAXBUFSIZE & ~3]; // size must be a multiple of 4 + unsigned int i, c1, k1, k2, t1, t2, t3, t4, t5, t6, clen = CHECKSUM_LENGTH, + rlen = (ucon64.file_size - rominfo->buheader_len) - CHECKSUM_START, + n = 0, bootcode; // using ucon64.file_size is ok for n64_init() & n64_sram() + FILE *file; +#ifdef CALC_CRC32 + unsigned int scrc32 = 0, fcrc32 = 0; // search CRC32 & file CRC32 + unsigned char *crc32_mem; +#endif + + if (rlen < CHECKSUM_START + CHECKSUM_LENGTH) + { +#ifdef CALC_CRC32 + n = ucon64.file_size - rominfo->buheader_len; + if ((crc32_mem = (unsigned char *) malloc (n)) == NULL) + { + fprintf (stderr, ucon64_msg[BUFFER_ERROR], n); + return -1; + } + ucon64_fread (crc32_mem, rominfo->buheader_len, n, filename); + if (!rominfo->interleaved) + { + ucon64.fcrc32 = crc32 (0, crc32_mem, n); + ucon64_bswap16_n (crc32_mem, n); + } + ucon64.crc32 = crc32 (0, crc32_mem, n); + free (crc32_mem); +#endif + return -1; // ROM is too small + } + + if (!(file = fopen (filename, "rb"))) + return -1; + +#ifdef CALC_CRC32 + if (!rominfo->interleaved) + { + if ((crc32_mem = (unsigned char *) malloc (MAXBUFSIZE)) == NULL) + { + fprintf (stderr, ucon64_msg[BUFFER_ERROR], MAXBUFSIZE); + fclose (file); + return -1; + } + } + else + crc32_mem = chunk; + + fseek (file, rominfo->buheader_len, SEEK_SET); + fread (crc32_mem, 1, CHECKSUM_START, file); + memcpy (bootcode_buf, crc32_mem + N64_HEADER_LEN, N64_BC_SIZE); + if (!rominfo->interleaved) + { + fcrc32 = crc32 (0, crc32_mem, CHECKSUM_START); + ucon64_bswap16_n (crc32_mem, CHECKSUM_START); + } + else + ucon64_bswap16_n (bootcode_buf, N64_BC_SIZE); + scrc32 = crc32 (0, crc32_mem, CHECKSUM_START); +#else + fseek (file, rominfo->buheader_len + N64_HEADER_LEN, SEEK_SET); + fread (bootcode_buf, 1, N64_BC_SIZE, file); + if (rominfo->interleaved) + ucon64_bswap16_n (bootcode_buf, N64_BC_SIZE); +#endif + if (crc32 (0, bootcode_buf, N64_BC_SIZE) == 0x98bc2c86) + { + bootcode = 6105; + i = CHECKSUM_STARTVALUE2; + } + else + { + bootcode = 0; // everything else + i = CHECKSUM_STARTVALUE1; + } + + t1 = i; + t2 = i; + t3 = i; + t4 = i; + t5 = i; + t6 = i; + + while (1) + { + if (rlen > 0) + { + if ((n = fread (chunk, 1, MIN (sizeof (chunk), clen), file))) + { +#ifdef CALC_CRC32 + if (!rominfo->interleaved) + { + memcpy (crc32_mem, chunk, n); + fcrc32 = crc32 (fcrc32, crc32_mem, n); + ucon64_bswap16_n (crc32_mem, n); + } + scrc32 = crc32 (scrc32, crc32_mem, n); +#endif + } + } + else + n = MIN (sizeof (chunk), clen); + + n &= ~3; + if (n == 0) + break; + for (i = 0; i < n; i += 4) + { + c1 = BYTES2LONG (&chunk[i], rominfo->interleaved); + k1 = t6 + c1; + if (k1 < t6) + t4++; + t6 = k1; + t3 ^= c1; + k2 = c1 & 0x1f; + k1 = ROL (c1, k2); + t5 += k1; + if (c1 < t2) + t2 ^= k1; + else + t2 ^= t6 ^ c1; + + if (bootcode == 6105) + { + k1 = 0x710 + (i & 0xff); + //t1 += BYTES2LONG (&bootcode_buf[k1], 0) ^ c1; + t1 += ((bootcode_buf[k1] << 24) | (bootcode_buf[k1 + 1] << 16) | + (bootcode_buf[k1 + 2] << 8) | (bootcode_buf[k1 + 3])) ^ c1; + } + else + t1 += c1 ^ t5; + } + if (rlen > 0) + { + rlen -= n; + if (rlen <= 0) + memset (chunk, 0, sizeof (chunk)); + } + clen -= n; + } + n64crc.crc1 = t6 ^ t4 ^ t3; + n64crc.crc2 = t5 ^ t2 ^ t1; + +#ifdef CALC_CRC32 + if (!rominfo->interleaved) + { + free (crc32_mem); + crc32_mem = chunk; + } + while ((n = fread (crc32_mem, 1, sizeof (chunk), file))) + { + if (!rominfo->interleaved) + { + fcrc32 = crc32 (fcrc32, crc32_mem, n); + ucon64_bswap16_n (crc32_mem, n); + } + scrc32 = crc32 (scrc32, crc32_mem, n); + } + + ucon64.crc32 = scrc32; + if (!rominfo->interleaved) + ucon64.fcrc32 = fcrc32; +#endif + + fclose (file); + return 0; +} diff --git a/tools/ucon64-2.0.0-src/src/console/n64.h b/tools/ucon64-2.0.0-src/src/console/n64.h new file mode 100644 index 0000000..df5a79e --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/console/n64.h @@ -0,0 +1,37 @@ +/* +n64.h - Nintendo 64 support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef N64_H +#define N64_H + +extern const st_getopt2_t n64_usage[]; + +extern int n64_bot (st_rominfo_t *rominfo, const char *bootfile); +extern int n64_chk (st_rominfo_t *rominfo); + +extern int n64_f (st_rominfo_t *rominfo); +extern int n64_init (st_rominfo_t *rominfo); +extern int n64_n (st_rominfo_t *rominfo, const char *name); +extern int n64_sram (st_rominfo_t *rominfo, const char *sramfile); +extern int n64_usms (st_rominfo_t *rominfo, const char *smsrom); +extern int n64_v64 (st_rominfo_t *rominfo); +extern int n64_z64 (st_rominfo_t *rominfo); + +#endif diff --git a/tools/ucon64-2.0.0-src/src/console/neogeo.c b/tools/ucon64-2.0.0-src/src/console/neogeo.c new file mode 100644 index 0000000..d461731 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/console/neogeo.c @@ -0,0 +1,259 @@ +/* +neogeo.c - NeoGeo support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#ifdef HAVE_UNISTD_H +#include +#endif +#include "misc/misc.h" +#include "misc/file.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ucon64_misc.h" +#include "neogeo.h" + + +const st_getopt2_t neogeo_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Neo Geo/Neo Geo CD(Z)/MVS"/*"1990/1994 SNK http://www.neogeo.co.jp"*/, + NULL + }, + { + "ng", 0, 0, UCON64_NG, + NULL, "force recognition", + &ucon64_wf[WF_OBJ_NG_SWITCH] + }, +#if 0 + " " OPTION_LONG_S "ns force ROM is not split\n" + "TODO: " OPTION_LONG_S "mgd convert to Multi Game Doctor/MGD2/RAW\n" + "TODO: " OPTION_LONG_S "mvs convert to Arcade/MVS\n" +#endif + { + "bios", 1, 0, UCON64_BIOS, + "BIOS", "convert NeoCD BIOS to work with NeoCD emulator" /*;\n" + "http://www.illusion-city.com/neo/"*/, + &ucon64_wf[WF_OBJ_NG_DEFAULT] + }, +#if 0 + "TODO: " OPTION_S "j join split ROM" + "TODO: " OPTION_S "s split ROM into 4Mb parts (for backup unit(s) with fdd)" + "TODO: " OPTION_LONG_S "ngs convert Neo Geo sound to WAV; " OPTION_LONG_S "rom=*_m1.rom or *_v*.rom" +#endif + { + "sam", 1, 0, UCON64_SAM, + "SAMFILE", "convert SAM/M.A.M.E. sound to WAV", + &ucon64_wf[WF_OBJ_NG_DEFAULT] + }, +// "TODO: " OPTION_LONG_S "chkm check/fix Multiple Arcade Machine Emulator/M.A.M.E. ROMs;\n" +// " " OPTION_LONG_S "rom=DIRECTORY" + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + + +static int sam2wav (const char *filename); + +#define NEOGEO_HEADER_START 0 +#define NEOGEO_HEADER_LEN 0 + + +int +neogeo_bios (const char *fname) +{ + char dest_name[FILENAME_MAX]; + + strcpy (dest_name, fname); + set_suffix (dest_name, ".tmp"); + + ucon64_file_handler (dest_name, NULL, 0); + fcopy (fname, 0, MBIT, dest_name, "wb"); + ucon64_fbswap16 (dest_name, 0, MBIT); + + printf (ucon64_msg[WROTE], dest_name); + return 0; +} + + +int +neogeo_sam (const char *fname) +{ + if (sam2wav (fname) == -1) + fprintf (stderr, "ERROR: SAM header seems to be corrupt\n"); + + return 0; +} + + +int +neogeo_mgd (void) +{ + return 0; +} + + +int +neogeo_mvs (void) +{ + return 0; +} + + +int +neogeo_s (void) +{ + return 0; +} + + +int +neogeo_init (st_rominfo_t *rominfo) +{ + int result = -1; + + rominfo->console_usage = neogeo_usage[0].help; + rominfo->copier_usage = unknown_usage[0].help; + + return result; +} + + +int +sam2wav (const char *filename) +{ + unsigned char buf[32]; + FILE *fh, *fh2; + unsigned datasize, wavesize, riffsize, freq, bits, rate; + + if (fsizeof (filename) < 16) + return -1; + if (!(fh = fopen (filename, "rb"))) + return -1; + + strcpy ((char *) buf, filename); + set_suffix ((char *) buf, ".wav"); + + if (!(fh2 = fopen ((char *) buf, "wb"))) + return -1; + fread (buf, 1, 4, fh); + + if (strncmp ((char *) buf, "MAME", 4) != 0) + return -1; + fread (buf, 1, 4, fh); + + datasize = buf[0] + (buf[1] << 8) + (buf[2] << 16) + (buf[3] << 24); + wavesize = /* "fmt " */ 4 + 4 + 4 + 2 + 2; + riffsize = /* RIFF */ 4 + 4 + 4 + 4 + 4 + wavesize + datasize; + + buf[0] = riffsize & 0xff; + buf[1] = (riffsize >> 8) & 0xff; + buf[2] = (riffsize >> 16) & 0xff; + buf[3] = (riffsize >> 24) & 0xff; + + fwrite ("RIFF", 1, 4, fh2); + fwrite (buf, 1, 4, fh2); + + fwrite ("WAVE", 1, 4, fh2); + fwrite ("fmt ", 1, 4, fh2); + + buf[0] = wavesize & 0xff; + buf[1] = (wavesize >> 8) & 0xff; + buf[2] = (wavesize >> 16) & 0xff; + buf[3] = (wavesize >> 24) & 0xff; + fwrite (buf, 1, 4, fh2); + + /* number of channels - alway 1 for MAME samples */ + fwrite ("\001\000\001\000", 1, 4, fh2); + + /* read frequency */ + fread (buf, 1, 4, fh); + freq = buf[0] + (buf[1] << 8) + (buf[2] << 16) + (buf[3] << 24); + + /* write frequency */ + fwrite (buf, 1, 4, fh2); + + /* read bits, amplitude and extension */ + fread (buf, 1, 4, fh); + + bits = buf[0]; + + if (bits == 16) + rate = freq * 2; + else + rate = freq; + + buf[0] = rate & 0xff; + buf[1] = (rate >> 8) & 0xff; + buf[2] = (rate >> 16) & 0xff; + buf[3] = (rate >> 24) & 0xff; + + /* write bytes per second */ + fwrite (buf, 1, 4, fh2); + + /* write alignment */ + if (bits == 16) + fwrite ("\002\000", 1, 2, fh2); + else + fwrite ("\001\000", 1, 2, fh2); + + buf[0] = bits & 0xff; + buf[1] = (bits >> 8) & 0xff; + + /* write bits per sample */ + fwrite (buf, 1, 2, fh2); + fwrite ("data", 1, 4, fh2); + + buf[0] = datasize & 0xff; + buf[1] = (datasize >> 8) & 0xff; + buf[2] = (datasize >> 16) & 0xff; + buf[3] = (datasize >> 24) & 0xff; + fwrite (buf, 1, 4, fh2); + + if (bits == 16) + { + for (;;) + { + if (fread (buf, 1, 2, fh) != 2) + break; + fwrite (buf, 1, 2, fh2); + } + } + else + { + for (;;) + { + if (fread (buf, 1, 1, fh) != 1) + break; + buf[0] = buf[0] ^ 0x80; + fwrite (buf, 1, 1, fh2); + } + } + fclose (fh2); + fclose (fh); + return 0; +} diff --git a/tools/ucon64-2.0.0-src/src/console/neogeo.h b/tools/ucon64-2.0.0-src/src/console/neogeo.h new file mode 100644 index 0000000..84bdc78 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/console/neogeo.h @@ -0,0 +1,33 @@ +/* +neogeo.h - NeoGeo support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef NEOGEO_H +#define NEOGEO_H + +extern int neogeo_bios (const char *fname); +extern int neogeo_init (st_rominfo_t *rominfo); +extern int neogeo_mgd (void); +extern int neogeo_mvs (void); +extern int neogeo_s (void); +extern int neogeo_sam (const char *fname); + +extern const st_getopt2_t neogeo_usage[]; + +#endif diff --git a/tools/ucon64-2.0.0-src/src/console/nes.c b/tools/ucon64-2.0.0-src/src/console/nes.c new file mode 100644 index 0000000..dfc84a3 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/console/nes.c @@ -0,0 +1,7707 @@ +/* +nes.c - Nintendo Entertainment System support for uCON64 + +Copyright (c) 1999 - 2003 NoisyB +Copyright (c) 2002 - 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#include // va_list() +#ifdef HAVE_UNISTD_H +#include +#endif +#include "misc/bswap.h" +#include "misc/misc.h" +#include "misc/string.h" +#include "misc/chksum.h" +#include "misc/file.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ucon64_misc.h" +#include "nes.h" +#include "backup/smc.h" + + +#define STD_COMMENT "Written with uCON64 " // first part of text to put in READ chunk + + +const st_getopt2_t nes_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Nintendo Entertainment System/NES/Famicom/Game Axe (Redant)" + /*"1983 Nintendo http://www.nintendo.com"*/, + NULL + }, + { + "nes", 0, 0, UCON64_NES, + NULL, "force recognition", + &ucon64_wf[WF_OBJ_NES_SWITCH] + }, + { + "n", 1, 0, UCON64_N, + "NEW_NAME", "change internal ROM name to NEW_NAME (UNIF only)", + &ucon64_wf[WF_OBJ_ALL_DEFAULT] + }, + { + "unif", 0, 0, UCON64_UNIF, + NULL, "convert to UNIF format/UNF (uses default values)", + &ucon64_wf[WF_OBJ_NES_DEFAULT] + }, + { + "ines", 0, 0, UCON64_INES, + NULL, "convert to iNES format/NES (uses default values)", + &ucon64_wf[WF_OBJ_NES_DEFAULT] + }, + { + "ineshd", 0, 0, UCON64_INESHD, + NULL, "extract iNES header from ROM (16 Bytes)", + &ucon64_wf[WF_OBJ_NES_DEFAULT] + }, + { + "j", 0, 0, UCON64_J, + NULL, "join Pasofami/PRM/700/PRG/CHR/split ROM (Pasofami -> iNES)", + &ucon64_wf[WF_OBJ_ALL_INIT_PROBE] + }, + { + "pasofami", 0, 0, UCON64_PASOFAMI, + NULL, "convert to Pasofami/PRM/700/PRG/CHR", + &ucon64_wf[WF_OBJ_NES_DEFAULT] + }, + { + "s", 0, 0, UCON64_S, + NULL, "convert/split to Pasofami/PRM/700/PRG/CHR (iNES -> Pasofami)", + &ucon64_wf[WF_OBJ_ALL_DEFAULT_NO_SPLIT] + }, + { + "ffe", 0, 0, UCON64_FFE, + NULL, "convert to FFE format (Super Magic Card)", + &ucon64_wf[WF_OBJ_NES_DEFAULT] + }, + { + "mapr", 1, 0, UCON64_MAPR, + "MAPR", "specify board name or mapper number for conversion options\n" + "MAPR must be a board name for UNIF or a number for Pasofami\n" + "and iNES", + &ucon64_wf[WF_OBJ_NES_SWITCH] + }, + { + "dint", 0, 0, UCON64_DINT, + NULL, "deinterleave ROM (regardless whether the ROM is interleaved)", + &ucon64_wf[WF_OBJ_ALL_INIT_PROBE_NO_SPLIT] + }, + { + "ctrl", 1, 0, UCON64_CTRL, + "TYPE", "specify controller type (UNIF only)\n" + "TYPE=0 regular joypad\n" + "TYPE=1 zapper\n" + "TYPE=2 R.O.B.\n" + "TYPE=3 Arkanoid controller\n" + "TYPE=4 powerpad\n" + "TYPE=5 four-score adapter", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, + { + "ntsc", 0, 0, UCON64_NTSC, + NULL, "specify TV standard is NTSC (UNIF only)", + &ucon64_wf[WF_OBJ_NES_SWITCH] + }, + { + "pal", 0, 0, UCON64_PAL, + NULL, "specify TV standard is PAL (UNIF only)", + &ucon64_wf[WF_OBJ_NES_SWITCH] + }, + { + "bat", 0, 0, UCON64_BAT, + NULL, "specify battery is present", + &ucon64_wf[WF_OBJ_NES_SWITCH] + }, + { + "nbat", 0, 0, UCON64_NBAT, + NULL, "specify battery is not present", + &ucon64_wf[WF_OBJ_NES_SWITCH] + }, + { + "vram", 0, 0, UCON64_VRAM, + NULL, "specify VRAM override (UNIF only)", + &ucon64_wf[WF_OBJ_NES_SWITCH] + }, + { + "nvram", 0, 0, UCON64_NVRAM, + NULL, "specify no VRAM override (UNIF only)", + &ucon64_wf[WF_OBJ_NES_SWITCH] + }, + { + "mirr", 1, 0, UCON64_MIRR, + "MTYPE", "specify mirroring type\n" + "MTYPE=0 horizontal mirroring\n" + "MTYPE=1 vertical mirroring\n" + "MTYPE=2 mirror all pages from $2000 (UNIF only)\n" + "MTYPE=3 mirror all pages from $2400 (UNIF only)\n" + "MTYPE=4 four screens of VRAM\n" + "MTYPE=5 mirroring controlled by mapper hardware (UNIF only)", + &ucon64_wf[WF_OBJ_NES_SWITCH] + }, +#if UNIF_REVISION > 7 + { + "cmnt", 1, 0, UCON64_CMNT, + "TEXT", "specify that TEXT should be used as comment (UNIF only)", + &ucon64_wf[WF_OBJ_NES_SWITCH] + }, +#endif + { + "dumpinfo", 1, 0, UCON64_DUMPINFO, + "FILE", "use dumper info from FILE when converting to UNIF", + &ucon64_wf[WF_OBJ_NES_SWITCH] + }, + { + "fds", 0, 0, UCON64_FDS, + NULL, "convert Famicom Disk System file (diskimage) from FAM to FDS", + &ucon64_wf[WF_OBJ_NES_DEFAULT] + }, + { + "fdsl", 0, 0, UCON64_FDSL, + NULL, "list Famicom Disk System/FDS (diskimage) contents", + &ucon64_wf[WF_OBJ_NES_DEFAULT] + }, +#if 0 + { + "fam", 0, 0, UCON64_FAM, + NULL, "convert Famicom Disk System file (diskimage) from FDS to FAM", + NULL + }, + { + "tr", 0, 0, UCON64_TR, + NULL, "truncate doubled PRG/CHR", + NULL + }, + { + "nfs", 0, 0, UCON64_NFS, + NULL, "convert NFS sound to WAV; " OPTION_LONG_S "rom=NFSFILE", + NULL + }, +#endif + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + +#if 0 +const char *nes_boardtypes = + { + "351258: UNROM\n" + "351298: UNROM\n" + "351908\n" + "352026: TLROM (w/ LS32 for VROM enable control)\n" + "51555: Acclaim, MMC3B mapper, PRG ROM, CHR ROM\n" + "53361\n" + "54425\n" + "55741\n" + "56504\n" + "AMROM: LS161, VRAM, PRG-ROM\n" + "ANROM: LS161+LS02 mapper, PRG-ROM, CHR-RAM\n" + "AOROM: LS161 mapper, PRG-ROM, CHR-ROM\n" + "BNROM: LS161, VRAM, PRG-ROM (Different LS161 bits? Only used on Deadly Towers)\n" + "CNROM: LS161 mapper, PRG-ROM, CHR-ROM?/CHR-RAM\n" + "COB: \"Glop Top\" style board\n" + "CPROM: LS04, LS08, LS161, 32K ROM, 16K VRAM (bankswitched, Videomation only)\n" + "DEIROM\n" + "DEROM\n" + "DRROM: MMC3, 4K of nametable RAM (for 4-screen), PRG-ROM, CHR-ROM (only in Gauntlet)\n" + "EKROM\n" + "ELROM: MMC5, PRG-ROM, CHR-ROM\n" + "ETROM: MMC5, PRG-ROM, CHR-ROM, 2x 8k optionnal RAM (battery)\n" + "EWROM: MMC5, PRG-ROM, CHR-ROM, 32k optionnal RAM (battery)\n" + "GNROM: LS161 mapper, PRG ROM, CHR ROM\n" + "HKROM: MMC6B, PRG-ROM, CHR-ROM, Battery\n" + "MHROM: LS161 mapper, black blob chips. Mario Bros / Duck Hunt multi\n" + "NES-B4: Same as TLROM\n" + "NES-BTR: Sunsoft FME7 mapper, PRG ROM, CHR ROM, 8k optionnal RAM \n" + "NES-QJ:\n" + "NES-RROM: Same as NROM (Only used in Clu Clu land)\n" + "NROM: No mapper, PRG-ROM, CHR-ROM\n" + "PNROM: MMC2, PRG-ROM, CHR-ROM\n" + "SAROM: MMC1B, PRG ROM, CHR ROM, optional 8k of RAM (battery)\n" + "SBROM: MMC1A, PRG ROM, CHR ROM (only 32K of CHR ROM)\n" + "SCEOROM\n" + "SC1ROM: MMC1B, PRG ROM, CHR ROM\n" + "SCROM: LS161, LS02, VRAM, PRG-ROM (Similar to UNROM)\n" + "SEROM: MMC1B, PRG ROM, CHR ROM\n" + "SFROM\n" + "SGROM: MMC1B, PRG ROM, 8k CHR RAM\n" + "SHROM\n" + "SJROM\n" + "SKROM: MMC1B, PRG ROM, CHR ROM, 8k optional RAM (battery)\n" + "SL1ROM: MMC3, PRG ROM, CHR ROM, LS32 (for 128K 28 pin CHR ROMs)\n" + "SL2ROM\n" + "SL3ROM\n" + "SLROM: MMC1A, PRG ROM, CHR ROM\n" + "SLRROM\n" + "SN1-ROM AW (Overlord only)\n" + "SNROM: MMC1A, PRG ROM, CHR ROM/RAM ?, 8k optional RAM (battery) \n" + "SOROM: MMC1B2, PRG ROM, VRAM, 16K of WRAM (Battery) Only 8K battery-backed\n" + "SVROM: MMC1B2, PRG ROM, VRAM, WRAM (Battery)\n" + "SUROM: MMC1B2, PRG ROM, CHR RAM/(ROM?), 8k battery-backed RAM (DW4?)\n" + "TEROM: MMC3A, PRG ROM, CHR ROM, (32k ROMs)\n" + "TFROM: MMC3B, PRG ROM, CHR ROM (64K of CHR only)\n" + "TGROM: MMC3C, PRG ROM, VRAM (512K of PRG)\n" + "TKROM: MMC3A, PRG ROM, CHR ROM, 8k optional RAM (battery)\n" + "TL1ROM: Same as TLROM\n" + "TLROM: MMC3B, PRG ROM, CHR ROM\n" + "TLSROM: Same as TLROM\n" + "TQROM: MMC3B+74HC32, PRG ROM, CHR ROM + 8k of CHR-RAM\n" + "TSROM: MMC3A, PRG ROM, CHR ROM, 8k optionnal RAM\n" + "TVROM: MMC3B, PRG ROM, CHR ROM, 4K of Nametable RAM (4-screen)\n" + "UNROM: 74LS32+74LS161 mapper, 128k PRG, 8k CHR-RAM\n" + "UOROM\n" + }; +#endif + +#define NES_MAKER_MAX 203 +static const char *nes_maker[NES_MAKER_MAX] = + { + NULL, "A-Wave", "ASCII", "Absolute Entertainment", "Acclaim", + "Active Enterprises", "Activision", "Activision/Bullet Proof", "Akujin", "Altron", + "American Game Carts", "American Sammy Corp.", "American Sammy", "American Softworks", + "American Technos", + "American Video", "Angel", "Arcadia Systems", "Asder", "Ask Koudansha", + "Asmik", "Athena", "Atlus", "BPS", "Bandai", + "Banpresto", "Beam Software", "Beam Software/Mattel", "Bothtec", "Broderbund", + "Bullet-Proof", "Bunch Games", "CBS Sony Group", "Camerica", "Capcom", + "Cart-Saint", "Casady", "Character Soft", "Chris Covell", "Coconuts Japan", + "Color Dreams", "Cony", "Crush Productions", "Culture Brain", "DB Soft", + "Darknight13", "Data East", "Disconnected Translations", "Dragoon-X", "EAV", + "Electro Brain", "Electronic Arts", "Elite", "Enix", "Epic-Sony Records", + "Epoch Yashiro", "Eurocom", "FCI", "FCI/Pony Canyon", "Face", + "Fuji Television", "G.O 1", "Gaijin Productions", "Gakushuu Kenkyuusha", "Galoob", + "GameTek", "Grimlick", "Hal America Inc.", "Hal America", "Hal Kenkyuujo", + "Hal", "Halken", "Hector", "Hero", "Hi Tech Expressions", + "High Score Media Work", "Hot B", "Hudson Soft", "Human", "HummingBird Soft", + "I'Max", "IGS", "INTV", "Ian Bell", "Imagineer", + "Induction Produce", "Infocom", "Infogrames", "Interplay", "Irem", + "J2E Translations", "JVC", "Jaleco", "K Amusement Lease", "Kakenhi", + "Kasady", "Kawada", "Kemco", "King Records", "Koei", + "Konami", "Kotobuki System", "Kyuugo Boueki", "LHN", "LJN", + "Lucasfilm Games", "M&M", "Manipulate", "Masiya", "Matchbox", + "Mattel", "Meldac", "Memblers", "Microprose", "Milton Bradley", + "Mindscape", "NTVIC", "Namco", "Namcot", "Nameo", + "Natsume", "Naxat", "Neo Demiforce", "Nexoft", "Nihon Bussan", + "Nihon Computer System", "Nintendo", "Ocean", "Pack-In Video", "Palcom", + "Panesian", "Parker Brothers", "Pixel", "Pony Canyon", "Pope Hentai", + "Proto", "Quest", "RCM Group", "RKH Translation", "RPGe", + "Rage Games", "Rare Ltd.", "Romstar", "SNK", "Sammy", + "Sanritsu Denki", "Seta USA", "Seta", "Sigma Shouji", "Sigma", + "Sofel", "Soft Pro", "Software Toolworks", "Sony Imagesoft", "Square Soft", + "Square", "Sunsoft", "SuperVision", "T*HQ", "TSS", + "Taito", "Takara", "Takeru", "Taxan", "Technos Japan", + "Tecmo", "Tengen", "Tengen/Mindscape", "Tennessee Carmel-Veilleux", "The Mad Hacker", + "The Sales Curve", "The Spoony Bard", "Titus Software", "Toho", "Tokuma Shoten", + "Tomy", "Tonkin House", "Tony Young", "Touei Douga", "Toukyou Shoseki", + "Toushiba EMI", "Towa Chiki", "Tradewest", "TransBRC", "Triffix", + "Tsang Hai", "UBI Soft", "UPL", "Ultra Games", "Ultra Games/Konami", + "Use", "Vap", "Varie", "Vic Tokai", "Victor Musical Industries", + "Victor Ongaku Sangyou", "Virgin Games", "Visco", "Wakd Hacks", "Will B.", + "Wisdom Tree", "Yonezawa", "Yutaka" + }; + +#define NES_COUNTRY_MAX 4 +static const char *nes_country[NES_COUNTRY_MAX] = + { + "Japan", + "U.S.A.", + "Europe, Oceania & Asia", // Australia is part of Oceania + NULL + }; + +typedef struct +{ + uint32_t crc32; + uint8_t maker; + uint8_t country; + uint16_t date; +} st_nes_data_t; + +static const st_nes_data_t nes_data[] = +{ + {0x00161afd, 195, 0, 0}, + {0x0021ed29, 133, 0, 0}, + {0x003a1bd1, 133, 0, 0}, + {0x004e5381, 117, 0, 0}, + {0x005682d5, 63, 0, 0}, + {0x005ff9a8, 0, 1, 0}, + {0x00837960, 100, 1, 692}, + {0x0091afbe, 92, 0, 0}, + {0x009af6be, 65, 1, 390}, + {0x009da4c0, 81, 0, 0}, + {0x00ad1189, 129, 2, 0}, + {0x00b82d5c, 166, 1, 0}, + {0x00bec4d7, 104, 1, 1092}, + {0x00e95d86, 186, 1, 1193}, + {0x00f0fbbc, 126, 0, 0}, + {0x011adaa1, 140, 0, 0}, + {0x0123bffe, 196, 1, 793}, + {0x0147766c, 143, 0, 86}, + {0x014a755a, 126, 2, 0}, + {0x0154c43f, 193, 0, 0}, + {0x016c93d8, 77, 0, 0}, + {0x018a8699, 104, 1, 1091}, + {0x01901d84, 95, 0, 0}, + {0x01934171, 0, 1, 0}, + {0x01a1509a, 131, 1, 690}, + {0x01b418c5, 77, 1, 988}, + {0x01b4ca89, 154, 1, 989}, + {0x01be8b6f, 0, 1, 0}, + {0x01e06ab1, 46, 0, 0}, + {0x01ee0720, 40, 1, 0}, + {0x021193b2, 53, 0, 0}, + {0x022589b9, 165, 0, 0}, + {0x02361407, 179, 0, 0}, + {0x023a5a32, 126, 1, 1085}, + {0x023c7774, 46, 1, 88}, + {0x02589598, 155, 0, 0}, + {0x026a41ee, 4, 1, 992}, + {0x026c5fca, 24, 0, 0}, + {0x026e41c5, 115, 1, 790}, + {0x02738c68, 117, 0, 0}, + {0x02863604, 178, 0, 0}, + {0x028912ba, 166, 1, 0}, + {0x02931525, 34, 1, 690}, + {0x0296e5f4, 0, 1, 0}, + {0x02a7ad0f, 195, 0, 0}, + {0x02b0b405, 92, 0, 0}, + {0x02b20ca7, 191, 0, 0}, + {0x02b26e69, 64, 0, 0}, + {0x02b9e7c2, 24, 1, 689}, + {0x02cc3973, 24, 1, 1086}, + {0x02cceca7, 44, 0, 0}, + {0x02d7976b, 2, 0, 0}, + {0x02e0ada4, 92, 2, 91}, // Totally Rad (E) + {0x02e20d38, 0, 1, 0}, + {0x02e67223, 143, 1, 87}, + {0x02ed6298, 166, 1, 0}, + {0x02ee3706, 34, 1, 789}, + {0x03272e9b, 193, 1, 191}, + {0x03349045, 0, 1, 0}, + {0x0336f9f3, 146, 1, 89}, + {0x035cc54b, 92, 0, 0}, + {0x035dc2e9, 126, 1, 1085}, + {0x0364c3ec, 91, 1, 690}, + {0x0373a432, 66, 0, 0}, + {0x03840ec5, 142, 1, 1289}, + {0x039b4a9c, 156, 0, 0}, + {0x03d56cf7, 84, 0, 0}, + {0x03dcfddb, 72, 0, 0}, + {0x03e2898f, 126, 0, 0}, + {0x03ec46af, 156, 1, 1291}, + {0x03eeaeb7, 131, 1, 591}, + {0x03f899cd, 74, 1, 191}, + {0x03fb57b6, 111, 1, 991}, + {0x040c8685, 126, 1, 387}, + {0x04109355, 89, 0, 0}, + {0x04142764, 52, 2, 0}, + {0x042c6f99, 153, 1, 993}, + {0x042e9c4d, 12, 1, 990}, + {0x042f17c4, 2, 0, 0}, + {0x045e8cd8, 128, 0, 0}, + {0x04766130, 97, 1, 1092}, + {0x049325d9, 18, 0, 0}, + {0x04977e62, 156, 0, 0}, + {0x04be2206, 77, 0, 0}, + {0x04d0d47c, 126, 0, 0}, + {0x04d6b4f6, 97, 0, 0}, + {0x04f3354d, 104, 1, 289}, + {0x0504b007, 126, 1, 1085}, + {0x0516375e, 126, 1, 1085}, + {0x051cd5f2, 39, 0, 0}, + {0x0537322a, 4, 1, 890}, + {0x05378607, 92, 1, 391}, + {0x053c4699, 20, 0, 0}, + {0x0546bd12, 173, 0, 0}, + {0x054cb4eb, 92, 1, 390}, + {0x0556dc12, 161, 0, 0}, + {0x055fb6e5, 0, 1, 0}, + {0x0573f281, 155, 0, 0}, + {0x058f23a2, 89, 1, 790}, + {0x059e0cdf, 50, 1, 1191}, + {0x05a688c8, 150, 1, 1089}, + {0x05b05500, 0, 1, 0}, + {0x05b3f461, 173, 1, 790}, + {0x05b7b507, 0, 1, 0}, + {0x05c97f64, 182, 0, 0}, + {0x05ce560c, 24, 1, 192}, + {0x05cf9eb0, 34, 0, 0}, + {0x05d45a1a, 95, 0, 0}, + {0x05d70600, 166, 1, 0}, + {0x05de5afd, 193, 1, 690}, + {0x05f04eac, 160, 0, 0}, + {0x05f76a57, 0, 1, 0}, + {0x05fe773b, 182, 1, 489}, + {0x06093b5e, 34, 0, 0}, + {0x060f6e75, 77, 0, 0}, + {0x06144b4a, 89, 0, 0}, + {0x062ec2b9, 24, 0, 0}, + {0x0630c234, 200, 1, 0}, + {0x0639e88e, 0, 1, 0}, + {0x063e5653, 127, 1, 893}, + {0x066f5a83, 116, 1, 190}, + {0x067bd24c, 99, 0, 0}, + {0x06961be4, 51, 1, 990}, + {0x06a4345c, 115, 1, 790}, + {0x06b0556c, 77, 1, 992}, + {0x06bb007a, 156, 0, 0}, + {0x06c4fd92, 51, 1, 990}, + {0x06cae67f, 100, 1, 192}, + {0x06d72c83, 163, 1, 489}, + {0x06e97649, 1, 0, 0}, + {0x06f05358, 133, 0, 0}, + {0x06f9c714, 92, 0, 0}, + {0x0719260c, 72, 0, 0}, + {0x071f2e80, 57, 1, 490}, + {0x07259ba7, 97, 0, 0}, + {0x07299793, 126, 1, 1093}, + {0x072b8659, 132, 0, 0}, + {0x0736e382, 46, 1, 1190}, + {0x074ec424, 43, 0, 0}, + {0x075a69e6, 160, 2, 0}, + {0x076b00ab, 120, 0, 0}, + {0x07838ef9, 126, 0, 0}, + {0x07854b3f, 126, 1, 1088}, + {0x0786471d, 120, 0, 0}, + {0x078ced30, 43, 0, 0}, + {0x0794f2a5, 53, 0, 0}, + {0x07964c82, 90, 0, 0}, + {0x07977186, 43, 0, 0}, + {0x07af9301, 46, 0, 0}, + {0x07dbd082, 74, 1, 191}, + {0x07e20334, 115, 1, 993}, + {0x07ee6d8f, 160, 0, 0}, + {0x08077383, 165, 1, 787}, + {0x082d63c7, 100, 0, 0}, + {0x083c02c1, 0, 1, 0}, + {0x083e4fc1, 129, 2, 0}, + {0x0847c623, 74, 1, 189}, + {0x0857df48, 166, 1, 0}, + {0x085de7c9, 6, 1, 192}, + {0x08626711, 93, 0, 0}, + {0x0897021b, 156, 0, 0}, + {0x08b04364, 100, 0, 0}, + {0x08e2af80, 127, 1, 91}, + {0x08ebde64, 15, 1, 0}, + {0x0902c8f0, 97, 0, 0}, + {0x0905e0d5, 39, 0, 0}, + {0x091ed5a9, 32, 0, 0}, + {0x092b5371, 24, 1, 1086}, + {0x092ec15c, 179, 0, 0}, + {0x093311aa, 166, 1, 0}, + {0x0939852f, 115, 1, 990}, + {0x093e845f, 124, 0, 0}, + {0x09499f4d, 24, 0, 0}, + {0x094afab5, 156, 0, 0}, + {0x0971cc4f, 100, 0, 0}, + {0x0973f714, 195, 0, 0}, + {0x09874777, 114, 1, 389}, + {0x098c672a, 117, 0, 0}, + {0x09948780, 100, 0, 0}, + {0x099b8caa, 120, 0, 0}, + {0x09a6ff02, 34, 0, 0}, + {0x09ae2e75, 89, 0, 0}, + {0x09c083b7, 100, 1, 689}, + {0x09c1fc7d, 34, 0, 0}, + {0x09c31cd4, 31, 1, 0}, + {0x09e4c3e0, 34, 2, 0}, + {0x09eefde3, 165, 0, 0}, + {0x09efe54b, 174, 0, 0}, + {0x09ffdf45, 77, 0, 0}, + {0x0a0926bd, 109, 1, 192}, + {0x0a1bcd91, 133, 0, 0}, + {0x0a2490af, 126, 1, 387}, + {0x0a42d84f, 76, 0, 0}, + {0x0a640eea, 24, 0, 0}, + {0x0a68452e, 43, 0, 0}, + {0x0a686042, 46, 1, 491}, + {0x0a73a792, 181, 0, 0}, + {0x0a7767eb, 16, 0, 0}, + {0x0a7e62d4, 113, 1, 1292}, + {0x0a866c94, 100, 1, 891}, + {0x0ab06c51, 68, 1, 1088}, + {0x0ab26db6, 200, 1, 0}, + {0x0ab39900, 174, 0, 0}, + {0x0abdd5ca, 23, 0, 0}, + {0x0ac1aa8f, 100, 1, 587}, + {0x0ac631ba, 100, 1, 89}, + {0x0ac65c40, 100, 0, 0}, + {0x0ae3cc5e, 46, 0, 0}, + {0x0ae6c9e2, 184, 1, 691}, + {0x0af937d1, 160, 1, 1291}, + {0x0afb395e, 100, 0, 0}, + {0x0b0d4d1b, 2, 0, 0}, + {0x0b3d7b44, 165, 0, 0}, + {0x0b404915, 115, 1, 991}, + {0x0b4c197a, 92, 0, 0}, + {0x0b4c2ddc, 117, 0, 0}, + {0x0b561ad2, 72, 0, 0}, + {0x0b5667e9, 126, 2, 0}, + {0x0b57cfda, 0, 1, 0}, + {0x0b58880c, 126, 0, 0}, + {0x0b6443d4, 195, 0, 0}, + {0x0b65a917, 126, 0, 0}, + {0x0b7f1947, 77, 0, 0}, + {0x0b8e8649, 43, 0, 0}, + {0x0b97b2af, 126, 1, 1085}, + {0x0b9fa342, 126, 1, 1088}, + {0x0baf01d0, 160, 0, 0}, + {0x0bb5b3a0, 21, 0, 0}, + {0x0bbacf8f, 100, 0, 0}, + {0x0bbd85ff, 100, 0, 0}, + {0x0bbf80cb, 160, 0, 0}, + {0x0bc73114, 156, 0, 0}, + {0x0bcaa4d7, 113, 1, 292}, + {0x0bdd8dd9, 65, 1, 690}, + {0x0bdf73aa, 66, 0, 0}, + {0x0be0a328, 24, 0, 0}, + {0x0be230b7, 46, 1, 1291}, + {0x0bf306d1, 164, 0, 0}, + {0x0bf31a3d, 16, 0, 0}, + {0x0c1792da, 117, 0, 0}, + {0x0c187747, 89, 0, 0}, + {0x0c198d4f, 43, 0, 0}, + {0x0c2e7863, 115, 1, 1290}, + {0x0c401790, 77, 0, 0}, + {0x0c47946d, 117, 0, 0}, + {0x0c4b76ec, 181, 0, 0}, + {0x0c5a6297, 156, 0, 0}, + {0x0c5c353a, 77, 0, 0}, + {0x0c5e6280, 157, 0, 0}, + {0x0c5f40a6, 100, 1, 0}, + {0x0c6c71a3, 100, 0, 0}, + {0x0c90a3cd, 143, 0, 87}, + {0x0c935dfe, 63, 0, 0}, + {0x0cabbf0f, 120, 0, 0}, + {0x0caf2f15, 124, 0, 0}, + {0x0cb8d92d, 97, 0, 0}, + {0x0cc9ffec, 100, 0, 0}, + {0x0ccd28d5, 188, 1, 689}, + {0x0cd79b71, 2, 0, 0}, + {0x0d3482d7, 160, 0, 0}, + {0x0d365112, 164, 0, 0}, + {0x0d44bacc, 43, 0, 0}, + {0x0d52e2e6, 69, 0, 0}, + {0x0d65e7c7, 156, 0, 0}, + {0x0d6b2b30, 51, 1, 990}, + {0x0d6cf078, 164, 0, 0}, + {0x0d86628e, 96, 0, 0}, + {0x0d8a30a2, 100, 0, 0}, + {0x0d9f5bd1, 92, 1, 990}, + {0x0da00298, 69, 0, 0}, + {0x0daf8a80, 100, 1, 0}, + {0x0db4b382, 92, 0, 0}, + {0x0dc53188, 98, 0, 0}, + {0x0e0c4221, 156, 2, 0}, + {0x0e1683c5, 160, 0, 0}, + {0x0e2ae6e1, 127, 1, 893}, + {0x0e8c28f9, 38, 0, 0}, + {0x0e8cfd62, 59, 0, 0}, + {0x0e997cf6, 76, 0, 0}, + {0x0eaa7515, 92, 0, 0}, + {0x0eb63e83, 0, 1, 0}, + {0x0ebf76e2, 117, 0, 0}, + {0x0ec6c023, 99, 1, 392}, + {0x0ed96f42, 156, 1, 1090}, + {0x0ef730e7, 12, 1, 190}, + {0x0efde8c0, 97, 0, 0}, + {0x0f0d64b7, 9, 0, 0}, + {0x0f0f9c73, 15, 1, 0}, + {0x0f141525, 160, 0, 0}, + {0x0f1c3afc, 34, 1, 787}, + {0x0f1cc048, 182, 1, 688}, + {0x0f4ff4a0, 122, 0, 0}, + {0x0f5410e3, 160, 0, 0}, + {0x0f5f1f86, 193, 0, 0}, + {0x0f6c01e3, 160, 1, 887}, + {0x0f86feb4, 173, 1, 591}, + {0x0fae316f, 117, 0, 0}, + {0x0fb244c8, 20, 0, 0}, + {0x0fb6032a, 97, 0, 0}, + {0x0fc72a80, 158, 1, 191}, + {0x0fc8e9b7, 97, 0, 0}, + {0x0fcfc04d, 34, 1, 689}, + {0x0fd5aeeb, 40, 1, 0}, + {0x0fd6bfc8, 197, 0, 0}, + {0x0fe4fc74, 104, 1, 292}, + {0x0fec90d2, 34, 1, 787}, + {0x0ff6a3b5, 156, 0, 0}, + {0x0ffd2cb9, 34, 1, 1092}, + {0x0ffde258, 166, 1, 0}, + {0x10092781, 0, 1, 0}, + {0x10119e6b, 156, 0, 0}, + {0x10180072, 43, 1, 291}, + {0x1027c432, 77, 0, 0}, + {0x102823a7, 92, 1, 190}, + {0x1028fc27, 99, 0, 0}, + {0x10327e0e, 176, 0, 0}, + {0x103e7e7f, 34, 1, 1289}, + {0x106af52a, 180, 0, 0}, + {0x109f1acc, 133, 0, 0}, + {0x10b0f8b0, 160, 0, 0}, + {0x10baeef3, 34, 0, 0}, + {0x10bb8f9a, 24, 0, 0}, + {0x10bbd4ba, 126, 2, 0}, + {0x10c8f2fa, 117, 0, 0}, + {0x10c9a789, 117, 0, 0}, + {0x10d20915, 6, 1, 490}, + {0x112140a4, 100, 0, 0}, + {0x11469ce3, 54, 0, 0}, + {0x116ccd44, 32, 0, 0}, + {0x1170392a, 202, 0, 0}, + {0x119dacf3, 99, 0, 0}, + {0x11b038fe, 117, 0, 0}, + {0x11c2e664, 21, 0, 0}, + {0x11c48002, 0, 1, 0}, + {0x11d08cc6, 40, 1, 0}, + {0x11dc4071, 158, 1, 91}, + {0x11eaad26, 99, 1, 991}, + {0x11fc8686, 156, 0, 0}, + {0x1202414b, 160, 0, 0}, + {0x12078afd, 77, 1, 1090}, + {0x1208e754, 84, 0, 0}, + {0x1221f97c, 66, 0, 0}, + {0x1248326d, 97, 0, 0}, + {0x124af039, 31, 1, 0}, + {0x1253ea03, 34, 1, 390}, + {0x1255036f, 182, 1, 791}, + {0x126ea4a0, 121, 0, 0}, + {0x126ebf66, 97, 1, 990}, + {0x127436fc, 15, 1, 0}, + {0x12748678, 115, 1, 1090}, + {0x12906664, 123, 1, 989}, + {0x1294ab5a, 117, 0, 0}, + {0x12b2c361, 104, 1, 989}, + {0x12bba335, 49, 0, 0}, + {0x12c6d5c7, 34, 1, 1088}, + {0x12c90991, 143, 0, 0}, + {0x12ee543e, 160, 0, 0}, + {0x12f048df, 92, 0, 0}, + {0x12f405cf, 143, 1, 291}, + {0x1300a8b7, 117, 0, 0}, + {0x131a18cb, 44, 0, 0}, + {0x13332bfa, 126, 1, 1085}, + {0x1335cb05, 143, 1, 790}, + {0x134c1a50, 165, 0, 0}, + {0x1352f1b9, 196, 1, 792}, + {0x1353a134, 129, 2, 0}, + {0x13556927, 69, 0, 0}, + {0x135adf7c, 117, 0, 0}, + {0x137b27d8, 77, 0, 0}, + {0x1388aeb9, 160, 1, 589}, + {0x1394e1a2, 160, 0, 0}, + {0x139b07db, 34, 1, 990}, + {0x139b15ba, 61, 0, 0}, + {0x139eb5b5, 166, 1, 0}, + {0x13be9a74, 46, 1, 1091}, + {0x13c6617e, 156, 1, 290}, + {0x13cf3d5d, 127, 1, 191}, + {0x13d5b1a4, 114, 1, 990}, + {0x13da2122, 117, 0, 0}, + {0x13dd7461, 160, 0, 0}, + {0x13e9b20a, 160, 1, 0}, + {0x13ec1c90, 117, 0, 0}, + {0x14105c13, 200, 1, 0}, + {0x1411005b, 164, 0, 0}, + {0x14238d61, 163, 1, 489}, + {0x1425d7f4, 12, 1, 690}, + {0x142f7f3f, 92, 0, 0}, + {0x144a9380, 113, 1, 292}, + {0x144ca9e5, 182, 2, 0}, + {0x144d31cd, 92, 0, 0}, + {0x145a9a6c, 126, 0, 0}, + {0x1461d1f8, 41, 0, 0}, + {0x146fb9c3, 24, 0, 0}, + {0x14942c06, 117, 0, 0}, + {0x1495414c, 150, 0, 0}, + {0x149c0ec3, 80, 0, 0}, + {0x14a01c70, 144, 0, 0}, + {0x14a45522, 164, 0, 0}, + {0x14a81635, 31, 1, 0}, + {0x14cbb22a, 126, 1, 686}, + {0x14cd576e, 120, 0, 0}, + {0x1500e835, 160, 0, 0}, + {0x1512e0b1, 126, 0, 0}, + {0x15141401, 20, 0, 0}, + {0x15249a59, 117, 0, 0}, + {0x153cdc91, 104, 1, 990}, + {0x153dd212, 158, 1, 1292}, + {0x154a31b6, 118, 0, 86}, + {0x1554fd9d, 143, 1, 689}, + {0x15662081, 77, 0, 0}, + {0x156c75ff, 143, 1, 0}, // "Proto" + {0x158fc675, 24, 0, 0}, + {0x15be6e58, 117, 0, 0}, + {0x15e9d230, 126, 1, 1085}, + {0x15f0d3f1, 158, 1, 191}, + {0x15fe6d0f, 99, 1, 1290}, + {0x16192bf2, 12, 1, 1191}, + {0x161d717b, 46, 1, 790}, + {0x16342ad0, 178, 0, 0}, + {0x16388a44, 126, 1, 0}, + {0x163a5eda, 0, 0, 93}, // Batman 3 [p1] + {0x163e86c0, 126, 1, 1189}, + {0x163eccae, 100, 0, 0}, + {0x1644c162, 39, 0, 0}, + {0x16a0a3a3, 34, 0, 0}, + {0x16aa4e2d, 126, 0, 0}, + {0x16d10b24, 2, 0, 0}, + {0x16d55a59, 165, 1, 289}, + {0x16e93f39, 54, 0, 0}, + {0x16eba50a, 188, 1, 292}, + {0x170250de, 24, 0, 0}, + {0x170739cf, 128, 0, 0}, + {0x171251e3, 34, 1, 1186}, + {0x1718473c, 188, 1, 292}, + {0x172ad0f5, 160, 0, 0}, + {0x17421900, 117, 0, 0}, + {0x175c4a3c, 92, 0, 0}, + {0x175e7161, 46, 1, 1090}, + {0x175eda0b, 197, 0, 0}, + {0x17627d4b, 160, 0, 0}, + {0x1771ea8f, 24, 1, 787}, + {0x179a0d57, 165, 1, 1291}, + {0x17ab5897, 31, 1, 0}, + {0x17ac5303, 191, 0, 0}, + {0x17b49292, 72, 0, 0}, + {0x17c111e0, 76, 1, 1190}, + {0x17f72ec8, 126, 1, 990}, + {0x1808061a, 89, 1, 987}, + {0x1814ce64, 38, 0, 0}, + {0x181ec6b4, 195, 0, 0}, + {0x1826e6d2, 46, 1, 90}, + {0x1829616a, 174, 0, 0}, + {0x182f09d8, 4, 1, 93}, + {0x183859d2, 24, 0, 0}, + {0x184c2124, 99, 0, 0}, + {0x185633d5, 84, 0, 0}, + {0x18a885b0, 34, 0, 0}, + {0x18a9f0d9, 142, 1, 792}, + {0x18b249e5, 74, 1, 0}, + {0x18ba5ac0, 165, 1, 787}, + {0x18bd1afb, 158, 1, 1292}, + {0x18c0623b, 117, 0, 0}, + {0x18c64981, 160, 2, 0}, + {0x18d44bba, 84, 0, 0}, + {0x18d5af7a, 24, 1, 988}, + {0x190439b9, 46, 0, 0}, + {0x190a3e11, 46, 0, 0}, + {0x1924f963, 143, 1, 89}, + {0x192d546f, 46, 1, 1289}, + {0x19411bd7, 133, 0, 0}, + {0x194942db, 40, 1, 0}, + {0x194f9844, 77, 1, 194}, + {0x19555d39, 6, 1, 1088}, + {0x196f05dd, 174, 0, 0}, + {0x1973aea8, 65, 1, 1091}, + {0x198237c5, 117, 0, 0}, + {0x198b4e3b, 0, 1, 0}, + {0x198c2f41, 126, 1, 1090}, + {0x198e279a, 65, 1, 390}, + {0x1992d163, 68, 1, 390}, + {0x1995ac4e, 39, 0, 0}, + {0x19b1a2e7, 97, 0, 0}, + {0x19cc71d2, 89, 0, 0}, + {0x19df419a, 126, 1, 1085}, + {0x1a2d3b17, 40, 1, 0}, + {0x1a2ea6b9, 39, 0, 0}, + {0x1a39343c, 151, 0, 0}, + {0x1a3f0a61, 15, 1, 0}, + {0x1a3f1f1c, 191, 0, 0}, + {0x1a6693db, 166, 1, 0}, + {0x1aa0479c, 100, 0, 0}, + {0x1aa0dbaf, 166, 1, 0}, + {0x1abb9511, 126, 1, 1090}, + {0x1ac701b5, 34, 0, 0}, + {0x1ae527f1, 197, 0, 0}, + {0x1ae7b933, 110, 1, 989}, + {0x1af0ec24, 187, 0, 0}, + {0x1af80f18, 0, 1, 0}, + {0x1afb26d7, 126, 1, 1294}, + {0x1b2bad13, 0, 1, 0}, + {0x1b2f3545, 173, 1, 1089}, + {0x1b3a3db3, 91, 1, 392}, + {0x1b45a73e, 92, 0, 0}, + {0x1b71ccdb, 115, 1, 990}, + {0x1b7bd879, 92, 0, 0}, + {0x1b932bea, 34, 2, 0}, + {0x1bc686a8, 33, 1, 0}, + {0x1bd39032, 0, 1, 0}, + {0x1bebf407, 160, 1, 1092}, + {0x1c059dfb, 0, 1, 0}, + {0x1c212e9d, 0, 2, 0}, + {0x1c238ad9, 142, 1, 792}, + {0x1c2a58ff, 192, 0, 0}, + {0x1c309d0a, 61, 0, 0}, + {0x1c3a73f0, 25, 0, 0}, + {0x1c4f2651, 137, 1, 90}, + {0x1c66baf6, 133, 0, 0}, + {0x1c6ba3b2, 126, 0, 0}, + {0x1c6f3036, 114, 1, 88}, + {0x1c779cd7, 15, 1, 0}, + {0x1caae58d, 160, 0, 0}, + {0x1cac1791, 69, 0, 0}, + {0x1cba7eb4, 126, 1, 493}, + {0x1cc26e7e, 100, 0, 0}, + {0x1ccba824, 0, 1, 0}, + {0x1ced086f, 99, 0, 0}, + {0x1cee0c21, 114, 1, 1290}, + {0x1d0f4d6b, 76, 1, 989}, + {0x1d17ad3b, 45, 0, 0}, + {0x1d20a5c6, 6, 1, 291}, + {0x1d27f817, 60, 0, 0}, + {0x1d2d93ff, 163, 1, 191}, + {0x1d2e5018, 34, 0, 0}, + {0x1d41cc8c, 188, 1, 289}, + {0x1d4a46a4, 74, 1, 292}, + {0x1d5b03a5, 100, 1, 988}, + {0x1d5fe853, 69, 0, 0}, + {0x1d62f13f, 96, 0, 0}, + {0x1d6deccc, 24, 1, 591}, + {0x1d873633, 15, 1, 0}, + {0x1d8b2f59, 43, 0, 0}, + {0x1d8bf724, 192, 0, 0}, + {0x1dac6e97, 69, 0, 0}, + {0x1db07c0d, 24, 1, 988}, + {0x1dbd1d2b, 2, 0, 0}, + {0x1dc0f740, 117, 0, 0}, + {0x1dd6619b, 117, 0, 0}, + {0x1dea55eb, 39, 0, 0}, + {0x1df00462, 100, 0, 0}, + {0x1e0a01ea, 92, 1, 1292}, + {0x1e0c7ea3, 133, 0, 0}, + {0x1e1fbd63, 68, 1, 489}, + {0x1e2cb8cc, 24, 0, 0}, + {0x1e2f89c8, 190, 0, 0}, + {0x1e3685d0, 126, 1, 1085}, + {0x1e438d52, 100, 0, 0}, + {0x1e4afd90, 117, 0, 0}, + {0x1e4d3831, 126, 0, 0}, + {0x1e598a14, 126, 1, 290}, + {0x1e5fdfa3, 165, 1, 1187}, + {0x1e7ff743, 66, 0, 0}, + {0x1e9ebb00, 76, 0, 0}, + {0x1ea0052e, 77, 0, 0}, + {0x1ea703cb, 92, 0, 0}, + {0x1eaf333c, 0, 1, 0}, + {0x1eb4a920, 15, 1, 0}, + {0x1ebb5b42, 77, 1, 293}, + {0x1ec1bf08, 66, 0, 0}, + {0x1ed48c5c, 197, 0, 0}, + {0x1ed5c801, 126, 2, 0}, + {0x1edadc3d, 0, 1, 0}, + {0x1efcac48, 34, 1, 9}, + {0x1f0d03f8, 160, 2, 0}, + {0x1f2f4861, 81, 0, 0}, + {0x1f3d2cdf, 0, 1, 0}, + {0x1f59ef24, 156, 0, 0}, + {0x1f5f88dd, 40, 1, 0}, + {0x1f6ea423, 43, 1, 390}, + {0x1f818018, 100, 0, 0}, + {0x1f864492, 92, 0, 0}, + {0x1fa8c4a4, 97, 1, 1288}, + {0x1fc5740d, 24, 1, 689}, + {0x1fdc664c, 117, 0, 0}, + {0x1ff7fc0d, 100, 1, 992}, + {0x2001f0ed, 100, 0, 0}, + {0x20028703, 12, 1, 190}, + {0x2015226d, 151, 0, 0}, + {0x2019fe65, 156, 0, 0}, + {0x202d70f8, 92, 1, 391}, + {0x202df297, 160, 0, 0}, + {0x203d32ab, 92, 0, 0}, + {0x203d32b5, 166, 1, 0}, + {0x2046c4e9, 92, 1, 391}, + {0x2055971a, 152, 1, 793}, + {0x20574509, 74, 1, 293}, + {0x2061772a, 46, 0, 0}, + {0x2063f8be, 191, 0, 0}, + {0x2078dce4, 126, 0, 0}, + {0x207e618c, 156, 0, 0}, + {0x209b4bed, 100, 0, 0}, + {0x209f3587, 127, 1, 191}, + {0x20a5219b, 20, 1, 1190}, + {0x20a9e4a2, 3, 1, 89}, + {0x20af7e1a, 22, 0, 0}, + {0x20b04883, 123, 1, 691}, + {0x20c5d187, 161, 0, 0}, + {0x20cc079d, 126, 0, 0}, + {0x20d22251, 192, 0, 0}, + {0x20e781c2, 165, 1, 1192}, + {0x20fc87a0, 165, 1, 787}, + {0x212b4ba0, 74, 1, 0}, + {0x213cb3fb, 164, 0, 0}, + {0x21490e20, 120, 0, 0}, + {0x219ce59d, 160, 0, 0}, + {0x219dfabf, 187, 0, 0}, + {0x21a3f190, 188, 1, 192}, + {0x21a5a053, 179, 0, 0}, + {0x21b099f3, 126, 1, 1085}, + {0x21d7517a, 6, 1, 1089}, + {0x21dd2174, 2, 0, 0}, + {0x21ddbc1c, 66, 0, 0}, + {0x21ebe345, 133, 0, 0}, + {0x21f2a1a6, 104, 2, 0}, + {0x21f85681, 100, 0, 0}, + {0x21f8c4ab, 156, 0, 0}, + {0x2220e14a, 3, 1, 1191}, + {0x2224b048, 157, 0, 0}, + {0x2225c20f, 99, 1, 190}, + {0x22276a55, 0, 1, 0}, + {0x227cf577, 158, 1, 1292}, + {0x228fc66e, 199, 0, 0}, + {0x22d6d5bd, 117, 0, 0}, + {0x22f1ca9e, 165, 0, 0}, + {0x22f95ff1, 46, 0, 0}, + {0x23040fc4, 126, 1, 1289}, + {0x2305b528, 77, 0, 0}, + {0x2328046e, 0, 1, 0}, + {0x23317897, 100, 1, 992}, + {0x23386b90, 41, 0, 0}, + {0x236cf56c, 95, 0, 0}, + {0x2370c0a9, 74, 1, 293}, + {0x2389a6b3, 124, 0, 0}, + {0x238e1848, 160, 1, 887}, + {0x23a60a62, 126, 1, 1085}, + {0x23b719c1, 95, 0, 0}, + {0x23bf0507, 193, 0, 0}, + {0x23c3fb2d, 160, 1, 790}, + {0x23d17f5e, 100, 1, 891}, + {0x23d7d48f, 182, 2, 0}, + {0x23d809af, 92, 0, 0}, + {0x23e6d471, 160, 0, 0}, + {0x23e9c736, 178, 0, 0}, + {0x23f4b48f, 34, 0, 0}, + {0x23ff7365, 0, 1, 0}, + {0x240c6de8, 174, 0, 0}, + {0x240de736, 91, 1, 392}, + {0x242a270c, 104, 1, 1187}, + {0x243a8735, 89, 0, 0}, + {0x24428a5d, 154, 1, 989}, + {0x2447e03b, 117, 0, 0}, + {0x245870ed, 124, 0, 0}, + {0x24598791, 126, 1, 1085}, + {0x245ab38b, 0, 1, 0}, + {0x245fd217, 114, 1, 390}, + {0x2470402b, 80, 0, 0}, + {0x2472c3eb, 15, 1, 0}, + {0x2477a571, 117, 1, 0}, + {0x248566a7, 4, 1, 890}, + {0x248e7693, 4, 1, 1288}, + {0x24900c64, 46, 1, 1187}, + {0x24a0aa1a, 155, 0, 0}, + {0x24ba12dd, 33, 1, 0}, + {0x24ba90ca, 46, 0, 0}, + {0x24eecc15, 74, 1, 1191}, + {0x250a8eaa, 188, 0, 0}, + {0x250f7913, 133, 0, 0}, + {0x25225c70, 0, 1, 0}, + {0x2526c943, 77, 0, 0}, + {0x252ffd12, 34, 0, 0}, + {0x2538d860, 92, 1, 690}, + {0x2545214c, 126, 1, 0}, + {0x25482ceb, 117, 0, 0}, + {0x2554f9fd, 156, 0, 0}, + {0x255b129c, 100, 0, 0}, + {0x256441eb, 178, 0, 0}, + {0x2565786d, 117, 0, 0}, + {0x25687c07, 0, 1, 0}, + {0x256cfb05, 57, 1, 1088}, + {0x25952141, 0, 1, 0}, + {0x25a44d1b, 104, 1, 992}, + {0x25da821f, 45, 0, 0}, + {0x25df361f, 57, 1, 1088}, + {0x25e389da, 4, 1, 987}, + {0x25edaf5c, 92, 0, 0}, + {0x25f872d4, 100, 1, 487}, + {0x262b5a1d, 163, 1, 189}, + {0x263ac8a0, 46, 1, 1288}, + {0x264f26b1, 24, 0, 0}, + {0x265167e1, 160, 0, 0}, + {0x2651f227, 165, 1, 1192}, + {0x26533405, 99, 1, 1191}, + {0x265d7833, 102, 0, 0}, + {0x2669ef4e, 104, 1, 1091}, + {0x26717e19, 117, 0, 0}, + {0x26796758, 92, 1, 192}, + {0x267de4cc, 0, 1, 0}, + {0x267e592f, 117, 0, 0}, + {0x26898b6a, 174, 0, 0}, + {0x268d566d, 104, 1, 1187}, + {0x268e39d0, 46, 0, 0}, + {0x269b5f1e, 93, 0, 0}, + {0x26ad7cef, 92, 1, 192}, + {0x26bb1c8c, 37, 0, 0}, + {0x26bd6ec6, 117, 0, 0}, + {0x26bfed27, 43, 0, 0}, + {0x26ccc20c, 156, 0, 0}, + {0x26cec726, 195, 0, 0}, + {0x26d3082c, 46, 1, 1292}, + {0x26d42cee, 180, 0, 0}, + {0x26de121d, 156, 0, 0}, + {0x26e39935, 72, 0, 0}, + {0x26e82008, 100, 0, 0}, + {0x26f2b268, 65, 1, 591}, + {0x26ff3ea2, 100, 0, 0}, + {0x2705eaeb, 15, 1, 0}, + {0x270eaed5, 133, 0, 0}, + {0x2716bd4b, 126, 1, 1085}, + {0x272e96a6, 93, 0, 0}, + {0x2735af2e, 158, 1, 991}, + {0x2746b39e, 126, 0, 0}, + {0x274cb4c6, 117, 0, 0}, + {0x275dcc83, 92, 0, 0}, + {0x27738241, 126, 0, 0}, + {0x27777635, 126, 1, 387}, + {0x278bf2ea, 0, 1, 0}, + {0x278db9e3, 4, 2, 0}, + {0x2795e4f6, 156, 0, 0}, + {0x279710dc, 182, 1, 691}, + {0x279b69c0, 115, 1, 592}, + {0x27aa3933, 57, 1, 1088}, + {0x27aeaf2f, 126, 1, 387}, + {0x27b29870, 69, 0, 0}, + {0x27b9cbab, 183, 0, 0}, + {0x27c16011, 93, 0, 0}, + {0x27d14a54, 104, 1, 1187}, + {0x27d34a57, 193, 0, 0}, + {0x27d3d6eb, 117, 0, 0}, + {0x27d48cb2, 66, 0, 0}, + {0x27ddf227, 143, 1, 887}, + {0x27e4d335, 126, 0, 0}, + {0x27f8d0d2, 104, 1, 1190}, + {0x281160ae, 24, 0, 0}, + {0x28154f6c, 193, 1, 191}, + {0x282aa7e0, 195, 0, 0}, + {0x283913f2, 92, 1, 390}, + {0x283ad224, 89, 0, 0}, + {0x284e65e8, 126, 1, 1085}, + {0x2856111f, 196, 1, 193}, + {0x2858933b, 69, 0, 0}, + {0x286613d8, 99, 0, 0}, + {0x286fcd20, 100, 0, 0}, + {0x288662e9, 160, 0, 0}, + {0x28aa07ba, 0, 1, 0}, + {0x28c11d24, 178, 0, 0}, + {0x28c1d3d5, 178, 0, 0}, + {0x28c2dfce, 128, 0, 0}, + {0x28c90b01, 161, 0, 0}, + {0x28f9b41f, 92, 1, 493}, + {0x28fb71ae, 188, 1, 789}, + {0x29068417, 122, 0, 0}, + {0x291bcd7d, 39, 0, 0}, + {0x29401686, 37, 0, 0}, + {0x294299ef, 16, 0, 0}, + {0x29449ba9, 99, 0, 0}, + {0x29470b20, 77, 0, 0}, + {0x2959b3fa, 89, 0, 0}, + {0x296b915f, 0, 1, 0}, + {0x297198b9, 69, 0, 0}, + {0x2989ead6, 4, 1, 991}, + {0x29c36bf4, 161, 0, 0}, + {0x29c61b41, 117, 0, 0}, + {0x29cc4dee, 44, 0, 0}, + {0x29e173ff, 160, 0, 0}, + {0x29ec0fd1, 39, 0, 0}, + {0x2a01f9d1, 117, 0, 0}, + {0x2a0769e1, 34, 0, 0}, + {0x2a1919fe, 16, 0, 0}, + {0x2a3ca509, 164, 0, 0}, + {0x2a601192, 77, 0, 0}, + {0x2a629f7d, 180, 0, 0}, + {0x2a6559a1, 160, 0, 0}, + {0x2a763c9c, 92, 0, 0}, + {0x2a79d3ba, 182, 1, 791}, + {0x2a7d3adf, 117, 0, 0}, + {0x2a83ddc5, 0, 1, 0}, + {0x2a971204, 160, 0, 0}, + {0x2ac5233c, 100, 0, 0}, + {0x2ac87283, 160, 1, 887}, + {0x2ae97660, 6, 1, 490}, + {0x2b11e0b0, 99, 0, 0}, + {0x2b1497dc, 97, 0, 0}, + {0x2b160bf0, 34, 0, 0}, + {0x2b2d47f1, 46, 1, 587}, + {0x2b378d11, 65, 1, 490}, + {0x2b462010, 126, 1, 686}, + {0x2b548d75, 99, 1, 1290}, + {0x2b6d2447, 143, 0, 0}, + {0x2b72fe7e, 191, 0, 0}, + {0x2b7fe4d7, 100, 0, 0}, + {0x2b814116, 0, 1, 0}, + {0x2b825ce1, 117, 0, 0}, + {0x2b85420e, 126, 0, 0}, + {0x2ba30713, 100, 0, 0}, + {0x2bb33c69, 0, 1, 0}, + {0x2bb3dabe, 160, 0, 0}, + {0x2bb7f34a, 165, 0, 0}, + {0x2bc25d5a, 50, 1, 392}, + {0x2bc67aa8, 34, 1, 192}, + {0x2bcf2132, 46, 0, 0}, + {0x2bd44c6a, 68, 1, 991}, + {0x2be254e9, 117, 0, 0}, + {0x2bf61c53, 160, 1, 1292}, + {0x2c003fb2, 46, 0, 0}, + {0x2c088dc5, 126, 2, 0}, + {0x2c14d55e, 97, 0, 0}, + {0x2c2ddfb4, 46, 1, 790}, + {0x2c4421b2, 24, 0, 0}, + {0x2c5908a7, 0, 1, 0}, + {0x2c609b52, 115, 1, 990}, + {0x2c818014, 126, 1, 0}, + {0x2c945f19, 100, 1, 1091}, + {0x2caae01c, 77, 1, 1092}, + {0x2cb269d5, 151, 0, 0}, + {0x2cba26ac, 24, 0, 0}, + {0x2cc9e8aa, 165, 0, 0}, + {0x2cdef25f, 143, 1, 988}, + {0x2ce45ff2, 40, 1, 0}, + {0x2d0d4ff9, 0, 1, 0}, + {0x2d2f91b8, 202, 0, 0}, + {0x2d41ef92, 104, 1, 1289}, + {0x2d664d99, 34, 0, 0}, + {0x2d69dd94, 165, 1, 90}, + {0x2d75c7a9, 126, 1, 789}, + {0x2d76a271, 126, 1, 888}, + {0x2d782595, 133, 0, 0}, + {0x2d7bf9a3, 89, 0, 0}, + {0x2d84f5b3, 14, 1, 1092}, + {0x2d8c2829, 0, 1, 0}, + {0x2db7c31e, 54, 0, 0}, + {0x2dbddd11, 126, 2, 0}, + {0x2dbfa36a, 126, 0, 0}, + {0x2dc05a6f, 2, 0, 0}, + {0x2dc27941, 134, 0, 0}, + {0x2dc331a2, 22, 0, 0}, + {0x2dc3817d, 20, 0, 0}, + {0x2dc4f189, 89, 0, 0}, + {0x2dcd824f, 92, 0, 0}, + {0x2ddc2dc3, 6, 1, 990}, + {0x2ddd5459, 200, 1, 0}, + {0x2dff7fdc, 158, 1, 1292}, + {0x2e069e5f, 0, 1, 0}, + {0x2e0741b6, 158, 1, 1092}, + {0x2e1790a4, 0, 2, 0}, + {0x2e1b6b3c, 0, 1, 0}, + {0x2e1e7fd8, 34, 0, 0}, + {0x2e2acae9, 20, 0, 0}, + {0x2e2f9018, 124, 0, 0}, + {0x2e326a1d, 166, 1, 0}, + {0x2e35dd2e, 152, 1, 694}, + {0x2e4ccf46, 64, 0, 0}, + {0x2e52d091, 0, 1, 0}, + {0x2e563c66, 117, 0, 0}, + {0x2e6301ed, 126, 1, 290}, + {0x2e6c3ca9, 74, 1, 989}, + {0x2e6ee98d, 65, 1, 391}, + {0x2e7f0b29, 12, 1, 690}, + {0x2e91eb15, 53, 1, 1092}, + {0x2e991109, 24, 0, 0}, + {0x2ea8cc16, 0, 1, 0}, + {0x2eb08777, 165, 0, 0}, + {0x2eb27d6e, 188, 1, 990}, + {0x2ebf2e0d, 1, 0, 0}, + {0x2ed0e5b2, 157, 0, 0}, + {0x2ee3ef15, 34, 1, 793}, + {0x2ee9e0d8, 24, 1, 690}, + {0x2f1c2b30, 0, 1, 0}, + {0x2f27cdef, 24, 0, 0}, + {0x2f2d1fa9, 146, 1, 690}, + {0x2f2e30f7, 165, 0, 0}, + {0x2f50bd38, 99, 1, 1191}, + {0x2f66e302, 114, 1, 689}, + {0x2f698c4d, 82, 1, 991}, + {0x2f737eb7, 24, 0, 0}, + {0x2f928646, 43, 1, 291}, + {0x2f97d456, 34, 1, 194}, + {0x2fa1e52a, 66, 0, 0}, + {0x2fa2df5f, 193, 1, 190}, + {0x2fb0ff59, 100, 1, 1286}, + {0x2fc1abae, 54, 0, 0}, + {0x2fdedcb5, 22, 1, 1291}, + {0x2fe20d79, 160, 1, 1291}, + {0x2ffde228, 173, 0, 0}, + {0x300e41b7, 34, 1, 0}, + {0x30310df1, 99, 0, 0}, + {0x303d4371, 114, 1, 889}, + {0x304827ec, 104, 1, 1187}, + {0x3057b904, 46, 0, 0}, + {0x305b4e62, 100, 1, 490}, + {0x306ebbde, 117, 0, 0}, + {0x3078cda9, 169, 0, 0}, + {0x307d0fc4, 0, 1, 0}, + {0x309d222b, 92, 0, 0}, + {0x30a174ac, 87, 2, 0}, + {0x30bf2dba, 92, 0, 0}, + {0x30ca59c8, 133, 0, 0}, + {0x30e64d03, 100, 0, 0}, + {0x30f39b6b, 7, 1, 89}, + {0x30fd5776, 83, 0, 0}, + {0x311b5a58, 0, 1, 0}, + {0x313cfd8a, 164, 0, 0}, + {0x314ee295, 126, 0, 0}, + {0x316eb515, 165, 1, 0}, + {0x317b3237, 38, 0, 0}, + {0x318b4122, 43, 1, 1290}, + {0x31957ae4, 76, 0, 0}, + {0x319730e3, 165, 0, 0}, + {0x319ccfcc, 22, 1, 991}, + {0x31b068c6, 95, 0, 0}, + {0x31b44c65, 165, 0, 0}, + {0x31c3e548, 100, 1, 294}, + {0x31c7ad13, 161, 0, 0}, + {0x31cd9903, 24, 0, 0}, + {0x31d239d6, 141, 1, 88}, + {0x31d6b7bd, 122, 0, 0}, + {0x32086826, 115, 1, 1288}, + {0x322c9b09, 100, 0, 0}, + {0x322f723a, 178, 0, 0}, + {0x323b547d, 43, 0, 0}, + {0x32490787, 40, 1, 0}, + {0x3256114c, 175, 0, 0}, + {0x326ab3b6, 163, 1, 190}, + {0x3272bc3c, 77, 0, 0}, + {0x3275fd7e, 190, 0, 0}, + {0x327946e3, 12, 1, 690}, + {0x3293afea, 92, 0, 0}, + {0x3296ff7a, 117, 0, 0}, + {0x32979126, 98, 0, 0}, + {0x32a1290c, 42, 0, 0}, + {0x32a33bd1, 115, 1, 190}, + {0x32b45889, 0, 1, 0}, + {0x32c1ce97, 155, 0, 0}, + {0x32c4b857, 129, 2, 0}, + {0x32cf4307, 193, 1, 390}, + {0x32e59039, 200, 1, 0}, + {0x32e8baf3, 34, 0, 0}, + {0x32f85838, 52, 2, 0}, + {0x32fa246f, 117, 0, 0}, + {0x32fb0583, 160, 1, 887}, + {0x330de468, 24, 0, 0}, + {0x3311562e, 156, 0, 0}, + {0x33159eac, 93, 0, 0}, + {0x331cc7ef, 100, 0, 0}, + {0x33258813, 4, 1, 987}, + {0x332bacdf, 160, 2, 0}, + {0x332c47e0, 165, 0, 0}, + {0x33346cd2, 117, 0, 0}, + {0x333c48a0, 46, 1, 1190}, + {0x3346e19e, 57, 1, 1088}, + {0x3348e3bd, 28, 0, 0}, + {0x3349ba0e, 152, 1, 0}, + {0x335cfba6, 24, 0, 0}, + {0x336e2a6f, 20, 0, 0}, + {0x33716316, 77, 0, 0}, + {0x339437f6, 74, 1, 189}, + {0x339c034c, 53, 0, 0}, + {0x33b899c9, 24, 0, 0}, + {0x33bd809c, 117, 0, 0}, + {0x33cd1506, 15, 1, 0}, + {0x33ce3ff0, 100, 0, 0}, + {0x33d0282f, 40, 1, 0}, + {0x33d07e45, 2, 0, 0}, + {0x3403b1fc, 97, 0, 0}, + {0x3409413f, 126, 0, 0}, + {0x3417ec46, 4, 1, 890}, + {0x3420711c, 158, 1, 192}, + {0x34338616, 166, 1, 0}, + {0x343c7bb0, 166, 1, 0}, + {0x343e9146, 2, 0, 0}, + {0x345d3a1a, 31, 1, 0}, + {0x346cd5d3, 164, 0, 0}, + {0x347d7d34, 117, 1, 1193}, + {0x3482720c, 0, 1, 0}, + {0x3484ab0c, 74, 1, 0}, + {0x348ae7d4, 126, 1, 490}, + {0x349313df, 34, 0, 0}, + {0x349391b5, 160, 1, 391}, + {0x34a516fd, 77, 0, 0}, + {0x34a8bd90, 77, 1, 988}, + {0x34bb757b, 77, 2, 0}, + {0x34cfa970, 39, 0, 0}, + {0x34d5fc6e, 4, 1, 1289}, + {0x34dfb13c, 126, 0, 0}, + {0x34eab034, 46, 1, 390}, + {0x34fbe63e, 92, 0, 0}, + {0x350bf21b, 24, 0, 0}, + {0x350d835e, 100, 1, 1286}, + {0x3515fc5b, 0, 1, 0}, + {0x351f1f5b, 195, 0, 0}, + {0x35226b99, 126, 0, 0}, + {0x3523214b, 156, 1, 989}, + {0x35476e87, 104, 1, 1091}, + {0x355ecafd, 143, 0, 0}, + {0x35893b67, 160, 0, 0}, + {0x3598238f, 117, 0, 0}, + {0x359c3631, 46, 1, 188}, + {0x35a465e5, 165, 0, 0}, + {0x35b6febf, 104, 1, 989}, + {0x35c41cd4, 68, 1, 989}, + {0x35c6f574, 92, 1, 1292}, + {0x35c9b9e0, 165, 0, 0}, + {0x35d8b101, 2, 0, 0}, + {0x35e3eea2, 76, 0, 0}, + {0x35e65a8c, 89, 0, 0}, + {0x35effd0e, 128, 0, 0}, + {0x360aa8b4, 93, 0, 0}, + {0x36305fa3, 156, 0, 88}, + {0x36520684, 24, 1, 1289}, + {0x36584c96, 81, 0, 0}, + {0x3674ffdb, 85, 0, 0}, + {0x3691c120, 92, 0, 0}, + {0x3691e09e, 16, 0, 0}, + {0x369da42d, 117, 0, 0}, + {0x36af368f, 164, 0, 0}, + {0x36b93d27, 119, 0, 0}, + {0x36c5ee93, 165, 0, 0}, + {0x36d5482b, 126, 0, 0}, + {0x36df877a, 74, 1, 91}, + {0x37088eff, 126, 0, 0}, + {0x37138039, 4, 1, 189}, + {0x3719a26d, 117, 0, 0}, + {0x371e771c, 156, 0, 0}, + {0x3746f951, 92, 0, 0}, + {0x374cb8a6, 77, 0, 0}, + {0x374d6871, 4, 1, 987}, + {0x376138d8, 160, 0, 0}, + {0x37a4552f, 25, 0, 0}, + {0x37a5eb52, 100, 2, 0}, + {0x37b3ad54, 0, 1, 0}, + {0x37b62d04, 195, 0, 0}, + {0x37ba3261, 104, 1, 990}, + {0x37bf04d7, 34, 0, 0}, + {0x37d13f96, 54, 0, 0}, + {0x37ef8319, 4, 1, 89}, + {0x37f49572, 128, 0, 0}, + {0x37f59450, 193, 0, 0}, + {0x37fc3443, 0, 1, 0}, + {0x3802276d, 0, 1, 0}, + {0x3824f7a5, 126, 2, 0}, + {0x3836eeac, 133, 0, 0}, + {0x3849d0ee, 58, 1, 0}, + {0x38810a91, 126, 1, 1085}, + {0x38946c43, 0, 1, 0}, + {0x389960db, 126, 1, 1085}, + {0x38a02977, 43, 0, 0}, + {0x38b590e4, 29, 1, 790}, + {0x38d314db, 25, 0, 0}, + {0x38ef66b5, 92, 0, 0}, + {0x38fbcc85, 33, 1, 0}, + {0x38fdb7f4, 0, 1, 0}, + {0x390e0320, 175, 0, 0}, + {0x3918e04d, 156, 0, 0}, + {0x391aa1b8, 178, 0, 0}, + {0x3940b0f9, 117, 0, 0}, + {0x394fd25a, 0, 1, 0}, + {0x3951afec, 46, 1, 491}, + {0x395f36c9, 24, 1, 1086}, + {0x396f0d59, 156, 0, 0}, + {0x398b8182, 127, 1, 1091}, + {0x39aa20f0, 28, 0, 0}, + {0x39b2ecda, 179, 0, 0}, + {0x39b5e5d2, 0, 1, 0}, + {0x39b7e9c4, 193, 1, 191}, + {0x39c879bb, 0, 1, 0}, + {0x39d1fa03, 126, 1, 1085}, + {0x39d43261, 97, 0, 0}, + {0x39d622f7, 66, 0, 0}, + {0x39e1a201, 92, 0, 0}, + {0x39f2ce4b, 99, 0, 0}, + {0x3a0965b1, 115, 1, 492}, + {0x3a15a108, 114, 1, 390}, + {0x3a15b344, 97, 0, 0}, + {0x3a1694f9, 164, 0, 0}, + {0x3a390b54, 44, 0, 0}, + {0x3a51eb04, 2, 0, 0}, + {0x3a5cc3fa, 15, 1, 0}, + {0x3a622c78, 34, 0, 0}, + {0x3a7203ae, 0, 1, 0}, + {0x3a8f81b0, 156, 0, 0}, + {0x3a94fa0b, 126, 1, 1085}, + {0x3a990ee0, 33, 1, 0}, + {0x3ab1e983, 115, 1, 190}, + {0x3ac0830a, 0, 2, 0}, + {0x3acd4bf1, 126, 1, 1085}, + {0x3ae06d19, 117, 0, 0}, + {0x3ae528ff, 37, 0, 0}, + {0x3b05ac54, 80, 0, 0}, + {0x3b0fb600, 195, 0, 0}, + {0x3b1a7eef, 147, 0, 0}, + {0x3b28386e, 156, 1, 990}, + {0x3b3f88f0, 126, 1, 889}, + {0x3b5586c3, 66, 0, 0}, + {0x3b73c254, 200, 1, 0}, + {0x3b7b3be1, 138, 0, 0}, + {0x3b7f5b3b, 127, 1, 693}, + {0x3b86ccb7, 91, 1, 690}, + {0x3b997543, 115, 2, 0}, + {0x3bb31e38, 43, 2, 0}, + {0x3bbff3a6, 2, 0, 0}, + {0x3bc3a97b, 34, 0, 0}, + {0x3bcd370e, 0, 1, 0}, + {0x3be244ef, 34, 1, 791}, + {0x3be91a23, 34, 0, 0}, + {0x3bf15767, 24, 0, 0}, + {0x3bf38115, 156, 0, 0}, + {0x3bf55966, 191, 0, 0}, + {0x3c13eaa0, 117, 0, 0}, + {0x3c361b36, 92, 0, 0}, + {0x3c54a0bf, 54, 0, 0}, + {0x3c5a512b, 2, 0, 0}, + {0x3c5ae54b, 39, 0, 0}, + {0x3c5c81d4, 166, 1, 0}, + {0x3c7e38f5, 40, 1, 0}, + {0x3c8f2d80, 0, 1, 0}, + {0x3c9e8124, 127, 1, 192}, + {0x3c9fe649, 104, 1, 1190}, + {0x3ccb5d57, 77, 0, 0}, + {0x3cd6bb0e, 161, 0, 0}, + {0x3cdea85b, 173, 0, 0}, + {0x3ced963a, 200, 1, 0}, + {0x3cf67aec, 197, 0, 0}, + {0x3cfe69c7, 117, 0, 0}, + {0x3d0996b2, 188, 1, 1091}, + {0x3d1c4894, 12, 1, 1290}, + {0x3d3a0367, 160, 0, 0}, + {0x3d3aa7b4, 196, 1, 0}, // "Proto" + {0x3d3d8f58, 142, 1, 792}, + {0x3d4b64f1, 49, 0, 0}, + {0x3d4d2ba5, 147, 0, 0}, + {0x3d564757, 126, 1, 1085}, + {0x3d731836, 54, 0, 0}, + {0x3d8c4a06, 40, 1, 0}, + {0x3d8de75f, 95, 0, 0}, + {0x3d95d866, 37, 0, 0}, + {0x3d96a1d8, 166, 1, 0}, + {0x3d9fddd5, 191, 0, 0}, + {0x3da2085e, 92, 0, 0}, + {0x3da82381, 76, 0, 0}, + {0x3dae3335, 99, 0, 0}, + {0x3db3202e, 54, 0, 0}, + {0x3db9509a, 38, 0, 0}, + {0x3dc4d6c5, 46, 0, 0}, + {0x3dd3ba1e, 34, 0, 0}, + {0x3deac303, 117, 0, 0}, + {0x3df6d493, 38, 0, 0}, + {0x3df8e170, 126, 1, 8}, + {0x3e054f19, 25, 0, 0}, + {0x3e078f29, 164, 0, 0}, + {0x3e1271d5, 15, 1, 0}, + {0x3e58a87e, 156, 1, 488}, + {0x3e785dc3, 69, 0, 0}, + {0x3e840b56, 34, 1, 990}, + {0x3e8dec2f, 0, 1, 0}, + {0x3e8ded4e, 0, 2, 0}, + {0x3e95ba25, 117, 0, 0}, + {0x3eca3dda, 92, 1, 991}, + {0x3ecaa6a3, 143, 0, 0}, + {0x3ecdb1f7, 100, 0, 0}, + {0x3ed8c6b5, 126, 0, 0}, + {0x3edcf7e8, 34, 1, 1293}, + {0x3eff62e4, 46, 0, 0}, + {0x3f0c8136, 72, 0, 0}, + {0x3f0fd764, 156, 1, 1188}, + {0x3f150354, 0, 1, 0}, + {0x3f15d20d, 24, 0, 0}, + {0x3f2bda65, 92, 0, 0}, + {0x3f39f35c, 0, 1, 0}, + {0x3f49d239, 90, 0, 0}, + {0x3f56a392, 32, 0, 0}, + {0x3f5a4dd0, 160, 0, 0}, + {0x3f78037c, 34, 1, 793}, + {0x3f88d76f, 91, 1, 690}, + {0x3f8d6889, 92, 0, 0}, + {0x3f9970f9, 143, 0, 0}, + {0x3fa96277, 165, 0, 0}, + {0x3faaa154, 77, 0, 0}, + {0x3fbefd71, 100, 0, 0}, + {0x3fbf0480, 38, 0, 0}, + {0x3fc1dc19, 21, 0, 0}, + {0x3fccdc7b, 143, 0, 0}, + {0x3fdec942, 126, 1, 1085}, + {0x3fe272fb, 126, 1, 0}, + {0x3fea656a, 133, 0, 0}, + {0x3ffa5762, 39, 0, 0}, + {0x401521f7, 22, 1, 592}, + {0x40280a0f, 126, 0, 0}, + {0x404b2e8b, 155, 1, 690}, + {0x4057c51b, 174, 0, 0}, + {0x406fe900, 126, 1, 790}, + {0x4076e7a6, 156, 2, 0}, + {0x407793c0, 111, 1, 991}, + {0x408b54ee, 100, 0, 0}, + {0x408d72db, 32, 0, 0}, + {0x40a26fdb, 25, 0, 0}, + {0x40c6e687, 0, 1, 0}, + {0x40ce2fc0, 0, 1, 0}, + {0x40d159b6, 143, 1, 789}, + {0x40dafcba, 165, 1, 690}, + {0x40ed2a9d, 182, 1, 489}, + {0x40f96469, 38, 0, 0}, + {0x411edf39, 143, 0, 0}, + {0x41243492, 163, 1, 990}, + {0x41413b06, 53, 1, 0}, + {0x41482da3, 2, 0, 0}, + {0x4156a3cd, 43, 0, 0}, + {0x415e5109, 55, 0, 0}, + {0x4187ec10, 165, 1, 490}, + {0x418d26d7, 100, 0, 0}, + {0x4192d82c, 117, 0, 0}, + {0x419461d0, 50, 1, 291}, + {0x41cc30a7, 20, 0, 0}, + {0x41cf3616, 126, 1, 0}, + {0x41f5d38d, 43, 0, 0}, + {0x41f87a9b, 39, 0, 0}, + {0x41f9e0aa, 92, 1, 0}, + {0x4220c170, 65, 1, 192}, + {0x4232c609, 135, 1, 0}, + {0x423ada8e, 188, 1, 1288}, + {0x424ec0a6, 92, 0, 0}, + {0x42520393, 158, 1, 1292}, + {0x425357bf, 166, 1, 0}, + {0x42607a97, 166, 1, 0}, + {0x42749a95, 40, 1, 0}, + {0x42791a4d, 6, 1, 1089}, + {0x428dfac6, 24, 1, 490}, + {0x429103c9, 117, 0, 0}, + {0x429124f5, 117, 0, 0}, + {0x429fd177, 117, 0, 0}, + {0x42b36609, 180, 0, 0}, + {0x42d893e4, 160, 0, 0}, + {0x42ec339a, 0, 1, 0}, + {0x42f75eae, 24, 0, 0}, + {0x4301b96c, 171, 0, 0}, + {0x4318a2f8, 126, 1, 890}, + {0x4328b273, 126, 1, 1085}, + {0x4334890e, 124, 0, 0}, + {0x4344d265, 77, 0, 0}, + {0x43504731, 134, 0, 0}, + {0x435313c3, 72, 0, 0}, + {0x43539a3c, 161, 0, 0}, + {0x4356194e, 165, 1, 787}, + {0x435aeec6, 160, 1, 1092}, + {0x437e7b69, 100, 1, 987}, + {0x43a357ef, 126, 0, 0}, + {0x43d01c10, 97, 1, 1290}, + {0x43d30c2f, 166, 1, 0}, + {0x43e95611, 178, 0, 0}, + {0x43ecfc00, 34, 1, 791}, + {0x441aeae6, 34, 0, 0}, + {0x4459ca3c, 100, 0, 0}, + {0x445dd134, 0, 1, 0}, + {0x4468ca43, 81, 0, 0}, + {0x4471d531, 76, 0, 0}, + {0x449abfed, 15, 1, 0}, + {0x449e6557, 104, 2, 0}, + {0x44b060da, 72, 0, 0}, + {0x44bb1665, 57, 1, 490}, + {0x44ca9a8d, 53, 0, 0}, + {0x44f34172, 89, 1, 987}, + {0x44f92026, 39, 0, 0}, + {0x45111a7f, 133, 0, 0}, + {0x453be513, 111, 0, 0}, + {0x454f8e59, 29, 1, 790}, + {0x4582f22e, 106, 0, 0}, + {0x458936ef, 6, 1, 192}, + {0x45917511, 34, 0, 0}, + {0x4591be98, 126, 1, 0}, + {0x459adfa8, 165, 0, 0}, + {0x459d0c2a, 120, 0, 0}, + {0x45a2acc4, 115, 1, 190}, + {0x45a2fd26, 58, 1, 91}, + {0x45a3f009, 190, 0, 0}, + {0x45a41784, 77, 1, 1290}, + {0x45ab39cd, 200, 1, 91}, + {0x45bcd662, 115, 1, 1288}, + {0x45f03d2e, 123, 1, 691}, + {0x45f4c931, 117, 0, 0}, + {0x45f4fa8c, 122, 0, 0}, + {0x45fb6d34, 100, 0, 0}, + {0x460710fa, 140, 0, 0}, + {0x460a9cb0, 15, 1, 0}, + {0x4640ebe0, 76, 0, 0}, + {0x4642dda6, 99, 1, 689}, + {0x46480432, 173, 2, 0}, + {0x465e5483, 6, 1, 192}, + {0x46652449, 126, 0, 0}, + {0x466efdc2, 155, 0, 0}, + {0x467515fe, 90, 0, 0}, + {0x46752bc8, 94, 0, 0}, + {0x4677a2be, 92, 0, 0}, + {0x467fe41e, 90, 0, 0}, + {0x468db9a0, 46, 1, 1289}, + {0x46914e3e, 126, 0, 0}, + {0x46931ea0, 126, 2, 0}, + {0x46dc6e57, 24, 0, 0}, + {0x46e83313, 124, 0, 0}, + {0x46fd7843, 117, 0, 0}, + {0x470b031b, 189, 1, 90}, + {0x47232739, 192, 0, 0}, + {0x472d4d56, 165, 1, 787}, + {0x4751a751, 65, 1, 1093}, + {0x475a574e, 0, 1, 0}, + {0x475cdbfe, 92, 0, 0}, + {0x476e022b, 116, 1, 190}, + {0x4776bb2c, 92, 0, 0}, + {0x477db261, 77, 0, 0}, + {0x4788c2a2, 6, 1, 192}, + {0x478a04d8, 0, 1, 0}, + {0x478a11ae, 117, 0, 0}, + {0x47a57fc3, 43, 0, 0}, + {0x47a60cf1, 39, 0, 0}, + {0x47b6a39f, 126, 2, 0}, + {0x47c2020b, 117, 0, 0}, + {0x47ed7979, 6, 1, 489}, + {0x47f4e00f, 182, 1, 691}, + {0x47f552cd, 76, 0, 0}, + {0x47f77a4c, 57, 1, 689}, + {0x47fd88cf, 126, 2, 0}, + {0x480b35d1, 0, 2, 0}, + {0x481519b1, 165, 0, 0}, + {0x481608a9, 117, 0, 0}, + {0x4819a595, 160, 0, 0}, + {0x4823eefe, 57, 1, 193}, + {0x48349b0b, 53, 0, 87}, // Dragon Quest 2 (J) + {0x485ac098, 37, 0, 0}, + {0x4864c304, 126, 1, 686}, + {0x489d19ab, 77, 0, 0}, + {0x489ef6a2, 4, 1, 689}, + {0x48a941f0, 50, 1, 1292}, + {0x48c8de53, 46, 0, 0}, + {0x48dc9540, 97, 0, 0}, + {0x48dc9e6a, 178, 0, 0}, + {0x48e904d0, 188, 1, 490}, // Snake's Revenge (U) + {0x48ecc48a, 188, 1, 289}, + {0x48f68d40, 126, 1, 1085}, + {0x48f6a8e2, 62, 0, 0}, + {0x48f8d55e, 24, 0, 0}, + {0x490e8a4c, 100, 0, 0}, + {0x49123146, 100, 0, 0}, + {0x491d8cdb, 117, 0, 0}, + {0x491f0de8, 100, 1, 493}, + {0x492a8782, 46, 0, 0}, + {0x49362c1e, 155, 1, 0}, + {0x493680c8, 100, 0, 0}, + {0x4937f7a1, 92, 0, 0}, + {0x493bd2ff, 69, 0, 0}, + {0x4942bda8, 144, 0, 0}, + {0x497b9d15, 38, 0, 0}, + {0x497e9336, 180, 0, 0}, + {0x498187b6, 2, 0, 0}, + {0x499bd8e2, 0, 1, 0}, + {0x49a42938, 156, 0, 0}, + {0x49aa5257, 160, 0, 0}, + {0x49aeb3a6, 126, 1, 1085}, + {0x49c84b4e, 160, 0, 0}, + {0x49c9ff12, 0, 1, 0}, + {0x49da2f76, 92, 0, 0}, + {0x49e834c3, 132, 0, 0}, + {0x49f745e0, 115, 1, 1189}, + {0x4a172848, 160, 0, 0}, + {0x4a339590, 69, 0, 0}, + {0x4a5a4e1e, 5, 1, 0}, + {0x4a5d8469, 160, 1, 1192}, + {0x4a601a2c, 100, 0, 0}, + {0x4a99b47e, 126, 0, 0}, + {0x4a9f735c, 104, 1, 1289}, + {0x4ae58f5d, 92, 0, 0}, + {0x4aea40f7, 9, 0, 0}, + {0x4afd02b9, 20, 1, 1191}, + {0x4affeee7, 34, 1, 1190}, + {0x4b041b6b, 182, 1, 490}, + {0x4b0dacce, 181, 0, 0}, + {0x4b14f688, 155, 0, 0}, + {0x4b2cc73e, 43, 2, 0}, + {0x4b2dce64, 166, 1, 0}, + {0x4b5177e9, 164, 0, 0}, + {0x4b647c55, 104, 1, 292}, + {0x4ba78222, 160, 0, 0}, + {0x4ba8fcb6, 16, 0, 0}, + {0x4bb9b840, 191, 2, 0}, + {0x4bd82f51, 0, 1, 0}, + {0x4bf3972d, 126, 0, 0}, + {0x4c03dfdd, 95, 0, 0}, + {0x4c049cfe, 156, 0, 0}, + {0x4c25d4f5, 100, 1, 689}, + {0x4c32e3ae, 46, 1, 1187}, + {0x4c5836bd, 117, 0, 0}, + {0x4c5fa6ef, 126, 0, 0}, + {0x4c6faf64, 24, 1, 1289}, + {0x4c7c1af3, 196, 1, 1292}, + {0x4c923dae, 100, 0, 0}, + {0x4c9b6d43, 126, 0, 0}, + {0x4cccd878, 165, 0, 0}, + {0x4cdcaf6b, 29, 1, 489}, + {0x4cede4e0, 160, 0, 0}, + {0x4d1ac58c, 3, 1, 190}, + {0x4d1df589, 46, 2, 0}, + {0x4d21172c, 117, 0, 0}, + {0x4d2edf70, 128, 0, 0}, + {0x4d345422, 4, 2, 0}, + {0x4d3aa180, 97, 1, 0}, // "Proto" + {0x4d3fba78, 24, 1, 489}, + {0x4d527d4a, 31, 1, 0}, + {0x4d5f2eb0, 0, 1, 0}, + {0x4d7859a9, 156, 0, 0}, + {0x4da464e9, 156, 0, 0}, + {0x4dc43d8c, 178, 0, 0}, + {0x4dc73149, 24, 1, 790}, + {0x4dc910fd, 166, 1, 0}, + {0x4dcd15ee, 159, 0, 0}, + {0x4ddb4dce, 45, 0, 0}, + {0x4de477be, 160, 0, 0}, + {0x4de66107, 104, 1, 1187}, + {0x4de7236f, 0, 1, 0}, + {0x4df3f32e, 126, 0, 0}, + {0x4dfd949e, 89, 0, 0}, + {0x4e18ca2d, 97, 0, 0}, + {0x4e1c1e3c, 46, 1, 188}, + {0x4e220484, 126, 1, 1085}, + {0x4e22368d, 100, 1, 1187}, + {0x4e2a57dd, 24, 1, 987}, + {0x4e42f13a, 34, 0, 0}, + {0x4e44ff44, 77, 1, 194}, + {0x4e5257d7, 24, 0, 0}, + {0x4e550aa9, 100, 1, 91}, + {0x4e5c1c1d, 133, 0, 0}, + {0x4e7db5af, 151, 0, 0}, + {0x4e800048, 35, 0, 0}, + {0x4e8e2951, 90, 0, 0}, + {0x4e959173, 104, 1, 1187}, + {0x4ebdb122, 160, 1, 790}, + {0x4ebe8a31, 46, 1, 987}, + {0x4ec0fecc, 156, 2, 0}, + {0x4ed0d752, 50, 1, 392}, + {0x4edc5e95, 48, 0, 0}, + {0x4ee69e3d, 16, 0, 0}, + {0x4ee735c1, 126, 1, 1085}, + {0x4f089e8a, 6, 2, 0}, + {0x4f16c504, 160, 0, 0}, + {0x4f2f1846, 117, 0, 0}, + {0x4f3ada21, 177, 0, 0}, + {0x4f467410, 143, 1, 488}, + {0x4f48b240, 34, 2, 0}, + {0x4f50457e, 34, 1, 1092}, + {0x4f593fa0, 24, 0, 0}, + {0x4f5f0a80, 0, 1, 0}, + {0x4f9bdad2, 92, 1, 1291}, + {0x4fb460cd, 164, 0, 0}, + {0x4fbbfa74, 104, 1, 1187}, + {0x4fc2f673, 100, 0, 0}, + {0x4ff64765, 81, 0, 0}, + {0x50059012, 57, 1, 193}, + {0x5012d5d0, 156, 0, 0}, + {0x501376e8, 143, 1, 789}, + {0x5030bca8, 89, 0, 0}, + {0x50322dfd, 15, 1, 0}, + {0x504c6455, 117, 0, 0}, + {0x505f9715, 4, 1, 1287}, + {0x506e259d, 53, 1, 1092}, + {0x50734772, 40, 1, 0}, + {0x5077a2d7, 46, 1, 1186}, + {0x50893b58, 165, 0, 0}, + {0x50920b03, 160, 0, 0}, + {0x50975983, 148, 0, 0}, + {0x509cf04a, 77, 0, 0}, + {0x50a1b3fe, 126, 0, 0}, + {0x50a6f31b, 155, 0, 87}, + {0x50c69602, 193, 1, 1289}, + {0x50ccda33, 179, 0, 0}, + {0x50d141fc, 34, 1, 1190}, + {0x50d296b3, 86, 1, 691}, + {0x50da4867, 133, 0, 0}, + {0x50ec5e8b, 2, 0, 0}, + {0x50fad784, 126, 0, 0}, + {0x50fd0cc6, 4, 1, 291}, + {0x5104833e, 160, 1, 192}, + {0x5112dc21, 126, 1, 1085}, + {0x514b8c43, 92, 1, 689}, + {0x515f738a, 202, 0, 0}, + {0x516b2412, 16, 0, 0}, + {0x5174dd11, 90, 0, 0}, + {0x5190c450, 46, 1, 1289}, + {0x5193fb54, 160, 0, 0}, + {0x51bee3ea, 65, 1, 591}, + {0x51bf28af, 114, 2, 0}, + {0x51c0b27e, 5, 1, 592}, + {0x51c142ff, 166, 1, 0}, + {0x51c51c35, 100, 2, 0}, + {0x51c70247, 200, 1, 0}, + {0x51c79fd7, 77, 0, 0}, + {0x51c7c66a, 117, 0, 0}, + {0x51d2112f, 100, 1, 691}, + {0x5229fcdd, 73, 0, 0}, + {0x523ca830, 66, 0, 0}, + {0x52449508, 46, 0, 0}, + {0x524a5a32, 182, 2, 0}, + {0x526ad690, 0, 1, 0}, + {0x52b58732, 126, 1, 493}, + {0x52bcf64a, 156, 1, 88}, + {0x52c851fb, 166, 1, 0}, + {0x52e2b5e0, 126, 0, 0}, + {0x530bccb4, 34, 0, 0}, + {0x530f8b13, 143, 0, 0}, + {0x5318cdb9, 16, 0, 0}, + {0x532a27e6, 12, 1, 892}, + {0x5337f73c, 195, 0, 0}, + {0x533f5707, 126, 2, 0}, + {0x534865c6, 126, 0, 0}, + {0x535a7dee, 4, 1, 987}, + {0x538218b2, 143, 2, 0}, + {0x538cd2ea, 6, 1, 1089}, + {0x53991500, 92, 0, 0}, + {0x53a94738, 28, 0, 0}, + {0x53a9e2ba, 126, 1, 0}, // "Proto" + {0x53b02f3d, 0, 1, 0}, + {0x53ca161a, 92, 0, 0}, + {0x53cb7ced, 70, 0, 87}, + {0x53d67738, 100, 0, 0}, + {0x53f86791, 114, 1, 390}, + {0x540ec028, 100, 0, 0}, + {0x54163624, 160, 0, 0}, + {0x541989e1, 200, 1, 0}, + {0x542f7b53, 29, 1, 1289}, + {0x54386491, 0, 1, 0}, + {0x5438a0ac, 0, 1, 0}, + {0x5440811c, 93, 0, 0}, + {0x54430b24, 97, 1, 689}, + {0x54531910, 21, 0, 0}, + {0x5469dba3, 46, 0, 0}, + {0x547ad451, 165, 0, 0}, + {0x547e6cc1, 160, 0, 0}, + {0x54b0e5dd, 165, 0, 0}, + {0x54b80a8a, 117, 0, 0}, + {0x54faee6e, 36, 0, 0}, + {0x5506b1ca, 0, 1, 0}, + {0x552f1143, 15, 1, 0}, + {0x55397db3, 2, 0, 0}, + {0x554704f0, 100, 1, 92}, + {0x554b51d8, 3, 1, 990}, + {0x555042b3, 37, 0, 0}, + {0x55761931, 77, 0, 0}, + {0x55773880, 24, 1, 790}, + {0x5581e835, 126, 1, 686}, + {0x558fcb6d, 97, 1, 1290}, + {0x559fc685, 178, 0, 0}, + {0x55a7321e, 92, 1, 991}, + {0x55c3589c, 92, 0, 0}, + {0x55ca12c9, 126, 1, 1085}, + {0x55d06deb, 22, 1, 592}, + {0x55db7e2a, 152, 1, 694}, + {0x55e73ce5, 12, 1, 892}, + {0x5603f579, 126, 0, 0}, + {0x560e44b9, 166, 1, 0}, + {0x563aa29d, 117, 0, 0}, + {0x563c2cc0, 160, 1, 391}, + {0x565a4681, 148, 0, 0}, + {0x565a57e5, 100, 0, 0}, + {0x565b1bdb, 126, 2, 0}, + {0x56756615, 77, 1, 291}, + {0x5679e4dc, 124, 0, 0}, + {0x567dccbd, 197, 0, 0}, + {0x567e1620, 143, 1, 291}, + {0x56b87cb5, 117, 0, 0}, + {0x56dbfd1f, 0, 1, 0}, + {0x56f01370, 97, 0, 0}, + {0x56f1760c, 126, 0, 0}, + {0x572ca03a, 117, 0, 0}, + {0x5746a461, 117, 0, 0}, + {0x5755a36c, 129, 2, 0}, + {0x575ed2fe, 126, 1, 686}, + {0x576a0de8, 74, 1, 191}, + {0x576b493c, 0, 1, 0}, + {0x576cc1a0, 0, 1, 0}, + {0x577482bb, 160, 0, 0}, + {0x57783e71, 24, 0, 0}, + {0x5795f169, 117, 0, 0}, + {0x57970078, 126, 0, 0}, + {0x579e5d0b, 34, 0, 0}, + {0x57abbf15, 51, 1, 90}, + {0x57ac67af, 126, 1, 1088}, + {0x57c12280, 160, 1, 190}, + {0x57c12c17, 72, 0, 0}, + {0x57c2ae4e, 153, 1, 1193}, + {0x57ca4dbb, 47, 0, 0}, + {0x57d162f1, 97, 0, 0}, + {0x57db9140, 117, 0, 0}, + {0x57dd23d1, 126, 1, 889}, + {0x57de2c14, 46, 1, 1289}, + {0x57dea1fd, 120, 0, 0}, + {0x57e220d0, 155, 0, 0}, + {0x57e3218b, 99, 0, 0}, + {0x57e9b21c, 148, 0, 0}, + {0x57f33f70, 99, 0, 0}, + {0x57f72adf, 77, 0, 0}, + {0x5800be2d, 166, 1, 0}, + {0x580aa5e7, 126, 0, 0}, + {0x5816ccc5, 178, 0, 0}, + {0x5820ea66, 29, 1, 1289}, + {0x583d21ca, 77, 0, 0}, + {0x58507bc9, 99, 0, 0}, + {0x5857681c, 147, 0, 0}, + {0x58581770, 117, 0, 0}, + {0x585ba83d, 4, 2, 0}, + {0x5866aebe, 115, 1, 1292}, + {0x586915a7, 190, 0, 0}, + {0x586a3277, 77, 1, 988}, + {0x588e7492, 165, 0, 0}, + {0x589b2ec8, 89, 0, 0}, + {0x58a407bb, 100, 1, 393}, + {0x58c7ddaf, 46, 1, 1291}, + {0x58e34e66, 114, 1, 390}, + {0x58e5d1ea, 38, 0, 0}, + {0x58ebd5d7, 77, 0, 0}, + {0x58fe5467, 133, 0, 0}, + {0x591364c9, 97, 1, 1289}, + {0x59138e01, 117, 0, 0}, + {0x59276597, 160, 0, 0}, + {0x59280bec, 77, 0, 0}, + {0x592e3567, 13, 1, 1291}, + {0x5931be01, 69, 0, 0}, + {0x595b2b26, 34, 0, 0}, + {0x59643ed6, 115, 1, 1288}, + {0x59794f2d, 24, 0, 0}, + {0x598a7398, 92, 0, 0}, + {0x5991b9d0, 0, 1, 0}, + {0x59977a46, 126, 1, 1085}, + {0x59a6c2ac, 120, 0, 0}, + {0x59a706e4, 123, 1, 991}, + {0x59cd0c31, 160, 0, 0}, + {0x59e3343f, 156, 1, 488}, + {0x59f0f3ca, 160, 0, 0}, + {0x5a032058, 66, 0, 0}, + {0x5a0454f3, 195, 0, 0}, + {0x5a046cdc, 95, 0, 0}, + {0x5a09134f, 104, 1, 90}, + {0x5a18f611, 195, 0, 0}, + {0x5a2d1abf, 34, 2, 0}, + {0x5a3e41d8, 156, 1, 290}, + {0x5a3ec21c, 100, 0, 0}, + {0x5a4026c8, 92, 0, 0}, + {0x5a40f532, 89, 0, 0}, + {0x5a4f156d, 153, 1, 292}, + {0x5a5a0cd9, 28, 0, 0}, + {0x5a6860f1, 72, 0, 0}, + {0x5a7b15c8, 89, 0, 0}, + {0x5a7fd507, 46, 0, 0}, + {0x5a8b4da8, 146, 1, 1190}, + {0x5a9824e0, 156, 1, 1288}, + {0x5ab54795, 120, 0, 0}, + {0x5ace8ca0, 77, 0, 0}, + {0x5adbf660, 100, 0, 0}, + {0x5b064824, 34, 1, 789}, + {0x5b0b26be, 156, 0, 0}, + {0x5b11eb85, 192, 0, 0}, + {0x5b16a3c8, 200, 1, 0}, + {0x5b2b72cb, 33, 1, 0}, + {0x5b4b6056, 34, 1, 990}, + {0x5b4c6146, 117, 0, 0}, + {0x5b58b662, 160, 0, 0}, + {0x5b5f1d5c, 0, 1, 0}, + {0x5b68abd1, 46, 0, 0}, + {0x5b6ca654, 74, 1, 1291}, + {0x5b7ac91f, 92, 0, 0}, + {0x5b80ff0c, 34, 1, 1092}, + {0x5b837e8d, 156, 0, 0}, + {0x5b838ce2, 126, 1, 889}, + {0x5bb62688, 46, 1, 987}, + {0x5bc9d7a1, 46, 1, 390}, + {0x5bf4da62, 72, 0, 0}, + {0x5bf675ba, 100, 2, 0}, + {0x5c123ef7, 2, 0, 0}, + {0x5c1d053a, 25, 0, 0}, + {0x5c2cfe0e, 69, 0, 0}, + {0x5c629297, 193, 0, 0}, + {0x5c707ac4, 126, 0, 0}, + {0x5c9063e0, 126, 1, 1085}, + {0x5caa3e61, 10, 1, 0}, + {0x5cb41fed, 102, 0, 0}, + {0x5cc1e2c6, 2, 0, 0}, + {0x5ceb1256, 115, 1, 1288}, + {0x5cf536f4, 160, 1, 391}, + {0x5cf548d3, 126, 1, 0}, + {0x5d044347, 126, 1, 1085}, + {0x5d05ccd0, 89, 1, 291}, + {0x5d105c10, 25, 0, 0}, + {0x5d1301c5, 117, 0, 0}, + {0x5d1c5f7e, 160, 1, 1092}, + {0x5d2b1962, 126, 2, 0}, + {0x5d63ed6f, 200, 1, 0}, + {0x5d656d35, 66, 0, 0}, + {0x5d6952b9, 159, 0, 0}, + {0x5d8992c6, 78, 0, 0}, + {0x5d965b46, 62, 0, 0}, + {0x5d9d9891, 53, 0, 0}, + {0x5da9cec8, 31, 1, 0}, + {0x5dbd6099, 34, 1, 690}, + {0x5dca93ef, 68, 1, 489}, + {0x5dce2eea, 34, 1, 692}, + {0x5de61639, 0, 1, 0}, + {0x5de7f27c, 165, 0, 0}, + {0x5dec84f8, 191, 0, 0}, + {0x5ded683e, 34, 1, 0}, + {0x5e023291, 34, 1, 92}, + {0x5e137c5b, 126, 2, 0}, + {0x5e24eeda, 148, 0, 0}, + {0x5e268761, 34, 1, 0}, + {0x5e33b189, 24, 1, 489}, + {0x5e345b6d, 124, 0, 0}, + {0x5e35ad1d, 100, 0, 0}, + {0x5e3f7004, 176, 0, 0}, + {0x5e5723f4, 77, 0, 0}, + {0x5e5d5963, 24, 0, 0}, + {0x5e66eaea, 158, 1, 691}, + {0x5e6d9975, 4, 2, 0}, + {0x5e863db6, 140, 0, 0}, + {0x5e900522, 160, 1, 1188}, + {0x5e98ba4a, 89, 0, 0}, + {0x5e9bc161, 160, 0, 0}, + {0x5ea7d410, 57, 1, 490}, + {0x5eb21035, 34, 0, 0}, + {0x5eb8e707, 142, 1, 991}, + {0x5eb94b11, 15, 1, 0}, + {0x5ee5a942, 104, 1, 1187}, + {0x5ee6008e, 143, 1, 690}, + {0x5eea106c, 36, 0, 0}, + {0x5ef4f30c, 126, 1, 686}, + {0x5ef7f6e2, 34, 0, 0}, + {0x5efbded8, 117, 0, 0}, + {0x5efc27d6, 126, 0, 0}, + {0x5f0bce2a, 57, 1, 193}, + {0x5f14dc48, 77, 0, 0}, + {0x5f162195, 117, 0, 0}, + {0x5f1e7b19, 165, 1, 0}, + {0x5f30fcd8, 166, 1, 0}, + {0x5f6798f4, 2, 0, 0}, + {0x5f6e8a07, 32, 0, 0}, + {0x5f7c1d17, 160, 1, 893}, + {0x5f807010, 150, 1, 192}, + {0x5f82cb7d, 100, 0, 0}, + {0x5fab6bce, 126, 0, 0}, + {0x5fbd9178, 171, 0, 0}, + {0x5fd2aab1, 46, 1, 1091}, + {0x603aaa57, 34, 1, 1190}, + {0x603c8abe, 77, 0, 0}, + {0x6055fe9b, 165, 0, 0}, + {0x6058c65d, 126, 0, 0}, + {0x605f5d51, 181, 0, 0}, + {0x607db27a, 97, 0, 0}, + {0x607f9765, 165, 1, 690}, + {0x60a01cab, 152, 1, 793}, + {0x60a3b803, 178, 0, 0}, + {0x60d88631, 19, 0, 0}, + {0x60e63537, 126, 1, 1290}, + {0x60f1fd6f, 92, 0, 0}, + {0x60ff6444, 16, 0, 0}, + {0x61179bfa, 196, 1, 894}, + {0x611d2586, 20, 0, 0}, + {0x61253d1c, 40, 1, 0}, + {0x614afbea, 0, 1, 0}, + {0x6150517c, 34, 0, 0}, + {0x615d0a50, 97, 0, 0}, + {0x619bea12, 144, 0, 0}, + {0x619bfd3e, 65, 1, 390}, + {0x61a852ea, 81, 0, 0}, + {0x61cb190c, 14, 1, 190}, + {0x61d86167, 24, 1, 689}, + {0x61f96440, 117, 0, 0}, + {0x61fbd9a6, 200, 1, 0}, + {0x62119cb5, 126, 1, 1085}, + {0x622f059d, 160, 0, 0}, + {0x6231e6df, 117, 0, 0}, + {0x6267fbd1, 160, 0, 0}, + {0x626abd49, 77, 0, 0}, + {0x6272c549, 115, 1, 1292}, + {0x627ad380, 15, 1, 0}, + {0x628cc178, 165, 0, 0}, + {0x62a94f97, 37, 0, 0}, + {0x62afe166, 0, 1, 0}, + {0x62b71912, 0, 1, 0}, + {0x62c67984, 164, 0, 0}, + {0x62dfc064, 91, 1, 690}, + {0x62e2e7fc, 50, 1, 1092}, + {0x62ef6c79, 33, 1, 0}, + {0x630be870, 143, 1, 790}, + {0x632edf4e, 6, 2, 0}, + {0x632f6053, 0, 1, 0}, + {0x6332e4ca, 10, 1, 0}, + {0x6377cb75, 133, 0, 0}, + {0x637e366a, 100, 2, 0}, + {0x637fe65c, 15, 1, 0}, + {0x63968624, 24, 1, 987}, + {0x6396b988, 99, 0, 0}, + {0x639d74e4, 173, 0, 0}, + {0x63abf889, 126, 0, 0}, + {0x63aea200, 126, 0, 0}, + {0x63af202f, 155, 0, 0}, + {0x63af464b, 117, 0, 0}, + {0x63b00ea7, 92, 0, 0}, + {0x63b7637c, 38, 0, 0}, + {0x63bb86b5, 160, 0, 0}, + {0x63c4e122, 143, 0, 0}, + {0x63ddd219, 0, 1, 0}, + {0x63e929c4, 166, 1, 0}, + {0x63e992ac, 115, 1, 294}, + {0x6414e03d, 89, 0, 0}, + {0x6438d8b0, 117, 0, 0}, + {0x644dfe2b, 178, 0, 0}, + {0x644e312b, 179, 0, 0}, + {0x6467a5c4, 15, 1, 0}, + {0x646ed7f4, 180, 0, 0}, + {0x6479e76a, 92, 0, 0}, + {0x647eafa9, 103, 1, 894}, + {0x64818fc5, 100, 0, 0}, + {0x64a02715, 100, 0, 0}, + {0x64a75e8d, 181, 0, 0}, + {0x64bd6cdb, 161, 0, 0}, + {0x64c0fa3b, 34, 0, 0}, + {0x64c96f53, 77, 0, 0}, + {0x64eb4449, 38, 0, 0}, + {0x64edbae3, 77, 0, 0}, + {0x64fc3667, 0, 1, 0}, + {0x64fd3ba6, 164, 0, 0}, + {0x650353f7, 117, 0, 0}, + {0x651700a5, 166, 1, 0}, + {0x652f3324, 92, 0, 0}, + {0x654d7a3e, 23, 0, 0}, + {0x654f4e90, 155, 2, 0}, + {0x65518eae, 127, 1, 192}, + {0x655efeed, 143, 1, 587}, + {0x656196a6, 117, 0, 0}, + {0x65636a4e, 117, 0, 0}, + {0x656d4265, 126, 1, 686}, + {0x656fa3b5, 92, 0, 0}, + {0x65b6c0a1, 93, 0, 0}, + {0x65b96d61, 180, 0, 0}, + {0x65fb428a, 91, 1, 392}, + {0x660e8b34, 164, 0, 0}, + {0x6611497f, 144, 0, 0}, + {0x6611d8f3, 160, 0, 0}, + {0x664281ac, 76, 1, 792}, + {0x664e9906, 21, 0, 0}, + {0x666be5ec, 160, 2, 0}, + {0x666e905b, 55, 0, 0}, + {0x6679648a, 15, 1, 0}, + {0x667982c1, 57, 1, 792}, + {0x667eebb4, 0, 1, 0}, + {0x66a0c7f2, 92, 0, 86}, + {0x66b2dec7, 24, 0, 0}, + {0x66d65a58, 126, 0, 0}, + {0x66dd04e1, 190, 0, 0}, + {0x66e64e41, 92, 0, 0}, + {0x66ed9c00, 161, 0, 0}, + {0x66f11648, 126, 1, 1085}, + {0x66f4d9f5, 128, 0, 0}, + {0x66f6a39e, 34, 2, 0}, + {0x6701a19f, 92, 0, 0}, + {0x67193fc8, 0, 1, 0}, + {0x671f23a8, 100, 2, 0}, + {0x6720abac, 129, 2, 0}, + {0x6756763b, 24, 0, 0}, + {0x6772ca86, 20, 0, 0}, + {0x67751094, 100, 1, 689}, + {0x67755041, 160, 0, 0}, + {0x6776a977, 54, 0, 0}, + {0x67811da6, 46, 1, 290}, + {0x67a0d115, 164, 0, 0}, + {0x67a3c362, 93, 0, 0}, + {0x67c89f06, 126, 1, 1088}, + {0x67d5c3f9, 37, 0, 0}, + {0x67e1c05c, 126, 1, 0}, + {0x67f77118, 97, 1, 690}, + {0x6800c5b3, 147, 0, 0}, + {0x6817857d, 74, 1, 0}, + {0x6823cbc8, 77, 0, 0}, + {0x682d2df1, 0, 1, 0}, + {0x68309d06, 0, 1, 0}, + {0x68383607, 65, 1, 1089}, + {0x684afccd, 97, 0, 0}, + {0x684b292f, 117, 0, 0}, + {0x685257a8, 92, 1, 690}, + {0x687ebcd7, 156, 0, 0}, + {0x6893f7b3, 150, 1, 791}, + {0x689971f9, 153, 1, 689}, + {0x68a8cf73, 92, 1, 391}, + {0x68afef5f, 130, 1, 0}, + {0x68c83aa3, 115, 1, 790}, + {0x68e8a520, 97, 0, 0}, + {0x68ec97cb, 97, 1, 689}, + {0x68ecb923, 197, 0, 0}, + {0x68f9b5f5, 129, 2, 0}, + {0x6901346e, 117, 0, 0}, + {0x6906e0da, 100, 1, 292}, + {0x69240dcf, 63, 0, 0}, + {0x692c1c3c, 100, 0, 0}, + {0x6944a01a, 116, 1, 291}, + {0x69488c31, 0, 2, 0}, + {0x69565f13, 54, 0, 0}, + {0x695cb142, 92, 0, 0}, + {0x69635a6e, 68, 1, 290}, + {0x69684e1e, 24, 1, 192}, + {0x696d7839, 165, 1, 992}, + {0x697e10f6, 74, 1, 1191}, + {0x69885e71, 126, 0, 0}, + {0x6997f5e1, 115, 1, 690}, + {0x699fa085, 4, 1, 1288}, + {0x69bcdb8b, 80, 0, 0}, + {0x69d07ddb, 92, 0, 0}, + {0x69da7649, 126, 1, 0}, + {0x69e534eb, 69, 0, 0}, + {0x6a10add2, 193, 0, 0}, + {0x6a154b68, 6, 1, 1088}, + {0x6a1f628a, 97, 1, 1289}, + {0x6a221cbf, 59, 0, 0}, + {0x6a27567e, 156, 1, 1192}, + {0x6a483073, 40, 1, 0}, + {0x6a50b553, 100, 0, 0}, + {0x6a5abfac, 34, 1, 892}, + {0x6a6b7239, 195, 0, 0}, + {0x6a80de01, 126, 2, 0}, + {0x6a82ac89, 160, 1, 188}, + {0x6a88579f, 65, 1, 1089}, + {0x6aad2985, 38, 0, 0}, + {0x6ae69227, 164, 0, 0}, + {0x6af5f21b, 100, 1, 193}, + {0x6b403c04, 97, 0, 0}, + {0x6b523bd7, 33, 1, 0}, + {0x6b53006a, 29, 1, 1289}, + {0x6b53222c, 117, 0, 0}, + {0x6b53d59a, 0, 1, 0}, + {0x6b5ca5ae, 46, 0, 0}, + {0x6b8d777d, 0, 1, 0}, + {0x6b8f23e0, 0, 1, 0}, + {0x6b999aaf, 34, 1, 1190}, + {0x6bb6a0ce, 76, 1, 1190}, + {0x6bbd9f11, 161, 0, 0}, + {0x6bbe2be5, 92, 0, 0}, + {0x6bc33d2f, 2, 1, 492}, + {0x6bc65d7e, 92, 0, 0}, + {0x6bd7dafe, 100, 0, 0}, + {0x6be54033, 100, 0, 0}, + {0x6bfe4ff1, 117, 0, 0}, + {0x6c040686, 33, 1, 0}, + {0x6c1390b4, 77, 0, 0}, + {0x6c15f90e, 196, 1, 292}, + {0x6c168561, 92, 1, 190}, + {0x6c3ca47b, 72, 0, 0}, + {0x6c42b2c6, 77, 1, 1290}, + {0x6c438bb2, 160, 0, 0}, + {0x6c5dbedf, 175, 0, 0}, + {0x6c61b622, 92, 0, 0}, + {0x6c6c2feb, 24, 0, 0}, + {0x6c70a17b, 193, 0, 0}, + {0x6c93377c, 33, 1, 0}, + {0x6cc62c06, 126, 0, 0}, + {0x6cd204b5, 77, 0, 0}, + {0x6cd46979, 24, 1, 289}, + {0x6cd9cc23, 128, 0, 0}, + {0x6cdc0cd9, 160, 0, 0}, + {0x6cf4d165, 10, 1, 0}, + {0x6d2b7846, 34, 0, 0}, + {0x6d3396e3, 0, 1, 0}, + {0x6d612468, 65, 1, 392}, + {0x6d65cac6, 124, 0, 0}, + {0x6d867d34, 126, 1, 490}, + {0x6d9ba342, 163, 1, 489}, + {0x6daaa704, 126, 0, 0}, + {0x6db30701, 46, 0, 86}, + {0x6dc28b5a, 100, 0, 0}, + {0x6dce4b23, 164, 0, 0}, + {0x6de472f4, 89, 0, 0}, + {0x6decd886, 143, 1, 689}, + {0x6e0eb43e, 50, 1, 690}, + {0x6e16adac, 126, 0, 0}, + {0x6e2e53c3, 126, 0, 0}, + {0x6e32f3c2, 97, 0, 0}, + {0x6e4697bf, 9, 0, 0}, + {0x6e4c0641, 174, 0, 0}, + {0x6e4dcfd2, 115, 1, 592}, + {0x6e53128e, 160, 0, 0}, + {0x6e53eaa9, 117, 0, 0}, + {0x6e593fc7, 0, 2, 0}, + {0x6e6490cd, 143, 1, 291}, + {0x6e68e31a, 24, 0, 0}, + {0x6e72b8ff, 166, 1, 0}, + {0x6e85d8dd, 146, 1, 889}, + {0x6e899ccf, 43, 0, 0}, + {0x6e9a5b6f, 46, 1, 188}, + {0x6ec51de5, 117, 0, 0}, + {0x6ec74e4c, 92, 0, 0}, + {0x6ed3ba25, 40, 1, 0}, + {0x6ee4bb0a, 34, 1, 1287}, + {0x6ee68312, 77, 1, 690}, + {0x6ee94d32, 4, 1, 991}, + {0x6f10097d, 4, 1, 91}, // Simpsons - Bart Vs the Space Mutants, The (U) + {0x6f27300b, 129, 2, 0}, + {0x6f365e7b, 156, 0, 0}, + {0x6f3d2737, 4, 1, 991}, + {0x6f4e4312, 99, 0, 0}, + {0x6f5d9b2a, 89, 0, 0}, + {0x6f5f60b9, 77, 0, 0}, + {0x6f605522, 77, 1, 989}, + {0x6f6686b0, 89, 0, 0}, + {0x6f742ef2, 115, 1, 993}, + {0x6f860e89, 71, 2, 0}, + {0x6f8af3e8, 100, 1, 190}, + {0x6f96ed15, 191, 0, 0}, + {0x6f97c721, 126, 1, 686}, + {0x6fa0e650, 77, 1, 291}, + {0x6fb349e2, 74, 1, 0}, + {0x6fb51ffb, 34, 0, 0}, + {0x6fd46392, 97, 1, 190}, + {0x6fd5a271, 92, 1, 391}, + {0x70080810, 126, 1, 0}, + {0x701b1adf, 77, 0, 0}, + {0x702d9b33, 195, 0, 0}, + {0x703e1948, 126, 1, 1088}, + {0x704ad587, 34, 0, 0}, + {0x705bd7c3, 133, 0, 0}, + {0x705e13ca, 77, 0, 0}, + {0x705ef660, 156, 0, 0}, + {0x7062f3fa, 100, 1, 491}, + {0x7071eef2, 75, 0, 0}, + {0x7077a85d, 0, 1, 0}, + {0x7077b075, 127, 1, 493}, + {0x7080d1f8, 174, 0, 0}, + {0x708ea2be, 126, 0, 0}, + {0x7090b851, 53, 0, 0}, + {0x7095ac65, 100, 0, 0}, + {0x709c9399, 165, 2, 0}, + {0x70a1f862, 143, 1, 887}, + {0x70a6bfc0, 75, 0, 0}, + {0x70bb52d7, 34, 0, 0}, + {0x70ce3771, 196, 1, 1192}, + {0x70d49617, 66, 0, 0}, + {0x70e0b7d8, 156, 0, 0}, + {0x70f4dadb, 91, 2, 0}, + {0x70f67ab7, 148, 0, 0}, + {0x711896b8, 156, 1, 1288}, + {0x711c2b0e, 117, 0, 0}, + {0x713309ba, 0, 1, 0}, + {0x713cfeb9, 92, 0, 0}, + {0x71547d94, 130, 1, 0}, + {0x7154acb5, 166, 1, 0}, + {0x7156cb4d, 74, 1, 1190}, + {0x716c3fce, 174, 0, 0}, + {0x716daea5, 119, 0, 0}, + {0x7172f3d4, 72, 0, 0}, + {0x717e1169, 100, 0, 0}, + {0x717e1c46, 188, 1, 1290}, + {0x71b107e7, 156, 0, 0}, + {0x71baecec, 129, 2, 0}, + {0x71c9ed1e, 133, 0, 0}, + {0x71d868c4, 0, 1, 0}, + {0x71d8c6e9, 133, 0, 0}, + {0x720fff06, 124, 0, 0}, + {0x72125764, 156, 0, 0}, + {0x721b5217, 180, 0, 0}, + {0x721be58a, 97, 1, 88}, + {0x72342953, 77, 0, 0}, + {0x725b0234, 126, 2, 0}, + {0x7262843c, 92, 1, 1192}, + {0x7265a393, 178, 0, 0}, + {0x7266b1b3, 126, 0, 0}, + {0x726edb66, 89, 0, 0}, + {0x72725a0b, 193, 1, 988}, + {0x72823de0, 100, 0, 0}, + {0x7287d1c0, 153, 1, 292}, + {0x728bfa8d, 156, 0, 0}, + {0x728c3d98, 164, 0, 0}, + {0x72924076, 156, 0, 0}, + {0x72928698, 156, 0, 0}, + {0x72a0d9a7, 6, 1, 1290}, + {0x72c39b9e, 143, 0, 0}, + {0x72d81daa, 100, 0, 0}, + {0x72dd850d, 43, 1, 89}, + {0x72ddbd39, 100, 2, 0}, + {0x72e2395b, 0, 1, 0}, + {0x72e32402, 179, 0, 0}, + {0x72e65d5c, 117, 0, 0}, + {0x72e66392, 40, 1, 0}, + {0x73140eef, 200, 1, 0}, + {0x73272e0a, 77, 0, 0}, + {0x7329118d, 150, 1, 0}, + {0x732b0675, 126, 0, 0}, + {0x73620901, 57, 1, 1188}, + {0x736825f6, 53, 0, 0}, + {0x7376568d, 100, 0, 0}, + {0x737dd1bf, 126, 0, 0}, + {0x737ec182, 38, 0, 0}, + {0x73921674, 96, 0, 0}, + {0x739a1027, 77, 0, 0}, + {0x73ac76db, 24, 0, 0}, + {0x73ad02b7, 165, 0, 0}, + {0x73c7fcf4, 34, 1, 693}, + {0x73cefba7, 0, 1, 0}, + {0x73e41ac7, 150, 0, 0}, + {0x73f7e5d8, 79, 0, 0}, + {0x73ff22a9, 46, 0, 0}, + {0x740c7582, 34, 1, 1191}, + {0x74189e12, 120, 1, 691}, + {0x743387ff, 100, 0, 0}, + {0x7434dc82, 0, 1, 0}, + {0x74386f15, 173, 1, 1089}, + {0x74452e18, 77, 0, 0}, + {0x74663267, 43, 0, 0}, + {0x7474ac92, 68, 1, 191}, + {0x749dc135, 123, 1, 989}, + {0x74b8498e, 0, 1, 0}, + {0x74c08f86, 65, 1, 91}, + {0x7510180a, 126, 1, 1189}, + {0x751fedb7, 77, 0, 0}, + {0x75255f88, 143, 1, 989}, + {0x752743ec, 34, 0, 0}, + {0x753768a6, 12, 1, 1191}, + {0x75547d3e, 165, 0, 0}, + {0x758afbbd, 128, 0, 0}, + {0x75901b18, 150, 0, 0}, + {0x7595c7fc, 46, 1, 1090}, + {0x759c40a1, 89, 0, 0}, + {0x75a7e399, 174, 0, 0}, + {0x75a8943b, 123, 1, 790}, + {0x75b3eb37, 92, 0, 0}, + {0x75b9c0db, 46, 2, 0}, + {0x75ce31c0, 127, 1, 693}, + {0x75f6a9f3, 126, 1, 686}, + {0x75f96142, 92, 0, 0}, + {0x761ccfb5, 117, 0, 0}, + {0x762c72ae, 31, 1, 0}, + {0x764bea6b, 89, 0, 0}, + {0x766727b2, 163, 1, 189}, + {0x766c2cac, 126, 0, 0}, + {0x7671bc51, 34, 0, 0}, + {0x7677a6a6, 38, 0, 0}, + {0x7678f1d5, 160, 0, 0}, + {0x767a6a66, 92, 0, 0}, + {0x768a1b6a, 192, 0, 0}, + {0x76a654b9, 21, 0, 0}, + {0x76b56d0a, 89, 0, 0}, + {0x76c161e3, 77, 2, 0}, + {0x76d5175e, 117, 0, 0}, + {0x76e85ada, 69, 0, 0}, + {0x76fff9d5, 156, 0, 0}, + {0x7709a696, 35, 0, 0}, + {0x771c8855, 0, 1, 0}, + {0x772513f4, 161, 0, 0}, + {0x77415ad3, 178, 0, 0}, + {0x77512388, 69, 0, 0}, + {0x7751588d, 126, 2, 0}, // Metroid (E) [!] + {0x77540bb5, 143, 1, 788}, + {0x775b8ed9, 89, 0, 0}, + {0x77833016, 24, 1, 1086}, + {0x778aaf25, 92, 1, 788}, + {0x77bf8b23, 57, 1, 689}, + {0x77c51d28, 120, 0, 0}, + {0x77dafd89, 46, 1, 1086}, + {0x77dcbba3, 69, 0, 0}, + {0x7826fd3e, 163, 1, 390}, + {0x7831b2ff, 72, 0, 0}, + {0x7840b18d, 150, 0, 0}, + {0x7848dad8, 173, 0, 0}, + {0x786148b6, 100, 0, 0}, + {0x7866fb2c, 160, 0, 0}, + {0x7876e439, 72, 0, 0}, + {0x78784cbf, 14, 1, 190}, + {0x787b41cc, 46, 1, 987}, + {0x7884b56e, 109, 1, 192}, + {0x7889f720, 166, 1, 0}, + {0x788bed9a, 89, 0, 0}, + {0x78a48b23, 126, 0, 0}, + {0x78b09986, 100, 0, 0}, + {0x78b657ac, 81, 0, 0}, + {0x78bb266a, 126, 1, 1088}, + {0x78bd3c9a, 34, 0, 0}, + {0x78bdf588, 100, 0, 0}, + {0x78bff6b0, 133, 0, 0}, + {0x78c4460d, 162, 0, 0}, + {0x78dfb5d3, 143, 0, 0}, + {0x78fcf4fa, 157, 0, 0}, + {0x790d2916, 165, 2, 0}, + {0x791138d9, 126, 1, 686}, + {0x79123682, 0, 1, 0}, + {0x79149ebf, 182, 1, 688}, + {0x7918f29c, 24, 0, 0}, + {0x792070a9, 33, 1, 0}, + {0x7936bc91, 66, 0, 0}, + {0x7950b715, 89, 1, 987}, + {0x795d23ec, 5, 1, 592}, + {0x79698b98, 143, 0, 0}, + {0x7980c4f7, 24, 0, 0}, + {0x798ac9dc, 46, 0, 0}, + {0x798b491d, 66, 0, 0}, + {0x798eeb98, 34, 1, 1291}, + {0x798fbc68, 165, 0, 0}, + {0x799ad3c6, 115, 1, 993}, + {0x79bfe095, 0, 1, 0}, + {0x79c91906, 124, 0, 0}, + {0x79cac545, 24, 0, 0}, + {0x79d8c39d, 126, 1, 1188}, + {0x79f688bc, 115, 2, 0}, + {0x79fba5a2, 21, 0, 0}, + {0x79ff3562, 66, 0, 0}, + {0x7a11d2c9, 72, 0, 0}, + {0x7a365bf8, 0, 1, 0}, + {0x7a373833, 163, 1, 191}, + {0x7a424c07, 104, 1, 989}, + {0x7a497ae3, 160, 0, 0}, + {0x7a4d4eaf, 163, 1, 291}, + {0x7a508dbb, 100, 0, 0}, + {0x7a6e0454, 0, 1, 0}, + {0x7a748058, 9, 0, 0}, + {0x7a76e057, 39, 0, 0}, + {0x7a8ae523, 117, 0, 0}, + {0x7ae0bf3c, 126, 0, 0}, + {0x7ae5c002, 77, 2, 91}, // Jackie Chan's Action Kung Fu (E) + {0x7aee2161, 179, 0, 0}, + {0x7af3afb7, 156, 0, 0}, + {0x7af8204a, 77, 0, 0}, + {0x7b0a41b9, 92, 0, 0}, + {0x7b1b4dd0, 89, 1, 790}, + {0x7b35964e, 100, 1, 192}, + {0x7b44fb2a, 34, 0, 0}, + {0x7b4ed0bb, 104, 1, 1193}, + {0x7b5206af, 24, 0, 0}, + {0x7b5bd2de, 126, 1, 686}, + {0x7b6dc772, 117, 0, 0}, + {0x7b72fba4, 128, 0, 0}, + {0x7b82400f, 174, 0, 0}, + {0x7bb5664f, 117, 0, 0}, + {0x7bc98e11, 68, 1, 788}, + {0x7bd7b849, 164, 0, 0}, + {0x7bd8f902, 77, 0, 0}, + {0x7be93173, 4, 1, 190}, + {0x7bec1745, 160, 0, 0}, + {0x7bf8a890, 165, 0, 0}, + {0x7c27ab86, 128, 0, 0}, + {0x7c393da4, 100, 0, 0}, + {0x7c3d2ea3, 178, 0, 0}, + {0x7c40d6c6, 0, 1, 0}, + {0x7c46998b, 2, 0, 0}, + {0x7c4a72d8, 165, 1, 0}, + {0x7c596e45, 53, 0, 0}, + {0x7c6a3d51, 34, 1, 1088}, + {0x7c6f615f, 158, 1, 192}, + {0x7c7ab58e, 117, 0, 0}, + {0x7c854039, 117, 0, 0}, + {0x7c864796, 160, 0, 0}, + {0x7ca47b40, 0, 1, 0}, + {0x7ca52798, 22, 0, 0}, + {0x7cba563f, 92, 0, 0}, + {0x7cc4778c, 100, 0, 0}, + {0x7cc9c669, 0, 1, 0}, + {0x7ce3dab2, 166, 1, 0}, + {0x7cff0f84, 126, 0, 0}, + {0x7d139211, 195, 0, 0}, + {0x7d223c3d, 117, 0, 0}, + {0x7d280346, 126, 1, 1085}, + {0x7d32acb9, 133, 0, 0}, + {0x7d38027a, 50, 1, 1092}, + {0x7d44b948, 156, 0, 0}, + {0x7d4caf6c, 0, 2, 0}, + {0x7d55cf29, 133, 0, 0}, + {0x7d56840a, 126, 0, 0}, + {0x7d5ca373, 155, 0, 0}, + {0x7d9ad28f, 77, 0, 0}, + {0x7d9d214b, 24, 1, 1086}, + {0x7da80b1b, 117, 0, 0}, + {0x7da8aead, 134, 0, 0}, + {0x7dab215c, 0, 1, 0}, + {0x7dc49898, 0, 1, 0}, + {0x7dcb4c18, 13, 1, 492}, + {0x7dcbea73, 166, 1, 0}, + {0x7dd82754, 143, 0, 0}, + {0x7e036525, 56, 2, 0}, + {0x7e053e64, 117, 0, 0}, + {0x7e26c7d0, 100, 1, 0}, + {0x7e4966e4, 117, 0, 0}, + {0x7e4ba78f, 0, 2, 0}, + {0x7e57fbec, 104, 1, 392}, + {0x7e5d2f1a, 2, 0, 0}, + {0x7e704a14, 24, 0, 0}, + {0x7e990ac3, 166, 1, 0}, + {0x7ec6f75b, 193, 0, 0}, + {0x7ed91f80, 10, 1, 0}, + {0x7ee02ca2, 133, 0, 0}, + {0x7ee625eb, 100, 0, 0}, + {0x7f0ad375, 117, 0, 0}, + {0x7f17c89f, 160, 0, 0}, + {0x7f1d087f, 69, 0, 0}, + {0x7f24efc0, 200, 1, 0}, + {0x7f2a04bf, 156, 0, 0}, + {0x7f397886, 180, 0, 0}, + {0x7f45cff5, 92, 0, 0}, + {0x7f531249, 6, 1, 291}, + {0x7f5f4e4a, 117, 0, 0}, + {0x7f68c629, 66, 0, 0}, + {0x7f7156a7, 68, 1, 489}, + {0x7f7f2821, 157, 0, 0}, + {0x7f7fef6e, 13, 1, 692}, + {0x7f93fb41, 99, 1, 1089}, + {0x7fb72a2c, 57, 1, 191}, + {0x7fb74a43, 160, 1, 1291}, + {0x7fb799fd, 24, 0, 0}, + {0x7fcc340a, 100, 0, 0}, + {0x7fedc0d7, 69, 0, 0}, + {0x7ff76219, 165, 1, 490}, + {0x7ffabb4c, 192, 0, 0}, + {0x801931af, 0, 1, 0}, + {0x801a6d23, 100, 0, 0}, + {0x80250d64, 129, 2, 0}, + {0x803b9979, 81, 0, 0}, + {0x804a0570, 104, 1, 1091}, + {0x804ef7f9, 0, 1, 0}, + {0x804f898a, 21, 0, 0}, + {0x805f81bc, 100, 0, 0}, + {0x80638505, 127, 2, 0}, + {0x808606f0, 117, 0, 0}, + {0x808b89c0, 158, 1, 1193}, + {0x809c3878, 90, 0, 0}, + {0x80c15e96, 95, 0, 0}, + {0x80c227ad, 182, 0, 0}, + {0x80c41616, 0, 1, 0}, + {0x80cd1919, 126, 2, 0}, + {0x80f0d0c0, 0, 1, 0}, + {0x80fb117e, 126, 1, 394}, + {0x80fb7e6b, 126, 0, 0}, + {0x81069812, 126, 1, 1188}, + {0x8106e694, 156, 2, 0}, + {0x810b7ab9, 92, 1, 1288}, + {0x810f3cf0, 34, 0, 0}, + {0x8111ba08, 182, 1, 990}, + {0x811f06d9, 24, 1, 388}, + {0x81293104, 8, 0, 0}, + {0x8161d619, 97, 1, 1288}, + {0x8168080f, 95, 0, 0}, + {0x8172fc55, 25, 0, 0}, + {0x817cfa97, 16, 0, 0}, + {0x818ce8aa, 72, 0, 0}, + {0x8192c804, 126, 0, 0}, + {0x8192d2e7, 46, 1, 1187}, + {0x81a15eb8, 24, 0, 0}, + {0x81a5eb65, 100, 1, 493}, + {0x81a743f5, 96, 0, 0}, + {0x81af4af9, 129, 2, 0}, + {0x81b2a3cd, 100, 2, 0}, + {0x81b7f1a8, 117, 0, 0}, + {0x81bb48c2, 100, 0, 0}, + {0x81d9f17c, 165, 1, 690}, + {0x81df3d70, 24, 0, 0}, + {0x81ecda0d, 15, 1, 0}, + {0x81f31409, 34, 0, 0}, + {0x8207a96c, 156, 1, 987}, + {0x82132616, 117, 0, 0}, + {0x8218c637, 97, 0, 0}, + {0x821f2f9f, 143, 0, 0}, + {0x821feb7a, 156, 0, 0}, + {0x822f17eb, 176, 0, 0}, + {0x8236c523, 34, 0, 0}, + {0x827e5df5, 126, 1, 0}, + {0x8288323f, 74, 1, 1291}, + {0x828d779b, 0, 1, 0}, + {0x828f8f1f, 97, 0, 0}, + {0x82ab60b9, 34, 0, 0}, + {0x82ad545e, 66, 0, 0}, + {0x82afa828, 193, 1, 190}, + {0x82be4724, 34, 1, 1186}, + {0x82cfde25, 126, 1, 288}, + {0x82dff13d, 126, 1, 388}, + {0x82f48389, 193, 0, 0}, + {0x82fcadde, 104, 1, 790}, + {0x8308fed7, 143, 0, 0}, + {0x831f8294, 80, 0, 0}, + {0x831f9c1a, 15, 1, 0}, + {0x83213ca0, 0, 1, 0}, + {0x832c3b9f, 126, 0, 0}, + {0x834273da, 195, 0, 0}, + {0x83431081, 54, 0, 0}, + {0x8348c788, 6, 1, 492}, + {0x834d1924, 166, 1, 0}, + {0x8351283e, 0, 1, 0}, + {0x8360fa88, 100, 0, 0}, + {0x836c4fa7, 89, 0, 0}, + {0x836cc1ab, 100, 0, 0}, + {0x836fe2c2, 100, 2, 0}, + {0x837c1342, 160, 0, 0}, + {0x838bf76f, 195, 0, 0}, + {0x839f2f71, 188, 0, 0}, + {0x83be000c, 34, 1, 88}, + {0x83c28d94, 128, 0, 0}, + {0x83cb743f, 93, 0, 0}, + {0x83ea7b04, 25, 0, 0}, + {0x83fc38f8, 163, 1, 489}, + {0x84148f73, 92, 1, 0}, + {0x841b69b6, 30, 1, 492}, + {0x8437e478, 156, 0, 0}, + {0x84382231, 126, 0, 0}, + {0x8441a9db, 126, 1, 1085}, + {0x8442b86c, 92, 0, 0}, + {0x847d672d, 100, 1, 491}, + {0x84b930a9, 74, 1, 1090}, + {0x84be00e9, 126, 0, 0}, + {0x84d51076, 158, 1, 191}, + {0x84efd927, 53, 0, 0}, + {0x84f7fc31, 34, 2, 0}, + {0x850090bc, 97, 0, 0}, + {0x8531c166, 174, 0, 0}, + {0x85323fd6, 15, 1, 0}, + {0x85498d45, 54, 0, 0}, + {0x854f4661, 92, 0, 0}, + {0x85534474, 77, 0, 0}, + {0x856114c8, 100, 1, 87}, + {0x856e7600, 97, 0, 0}, + {0x8575a0cb, 180, 0, 0}, + {0x857dbc36, 129, 2, 0}, + {0x858863af, 42, 0, 0}, + {0x8593e5ad, 142, 1, 491}, + {0x859c65e1, 143, 1, 790}, + {0x85a922fd, 66, 0, 0}, + {0x85bc0777, 72, 0, 0}, + {0x85c5953f, 97, 0, 0}, + {0x85c5b6b4, 164, 0, 0}, + {0x85cf16e0, 0, 1, 0}, + {0x85d02cd4, 97, 1, 0}, // "Proto" + {0x85d75d58, 24, 1, 1289}, + {0x85e0090b, 161, 0, 0}, + {0x85e1a22a, 92, 0, 0}, + {0x85f12d37, 20, 0, 0}, + {0x85f58367, 15, 1, 0}, + {0x86167220, 126, 0, 0}, + {0x86277361, 104, 1, 894}, + {0x86291f44, 160, 0, 0}, + {0x862ab1e5, 67, 1, 89}, + {0x862c4e8d, 160, 0, 0}, + {0x8635fed1, 97, 0, 0}, + {0x863cea81, 23, 0, 0}, + {0x865ac145, 117, 0, 0}, + {0x86670c93, 126, 1, 887}, + {0x86759c0f, 175, 0, 0}, + {0x8685f366, 136, 0, 0}, + {0x86964edd, 100, 1, 294}, + {0x869652fe, 97, 1, 1088}, + {0x86974ccc, 200, 1, 0}, + {0x86a39645, 117, 0, 0}, + {0x86a637b0, 0, 1, 0}, + {0x86b0d1cf, 196, 1, 1191}, + {0x86b2355f, 156, 0, 0}, + {0x86c495c6, 34, 2, 0}, + {0x86ca126d, 117, 0, 0}, + {0x86cbc595, 4, 1, 290}, + {0x86d67a97, 68, 1, 390}, + {0x86f07508, 177, 0, 0}, + {0x87052ac0, 66, 0, 0}, + {0x87133e90, 53, 0, 0}, + {0x8751abe5, 95, 0, 0}, + {0x8752dccb, 81, 0, 0}, + {0x87645f89, 142, 1, 1289}, + {0x876b80bd, 66, 0, 0}, + {0x8776c0c2, 24, 1, 791}, + {0x877dba77, 25, 0, 0}, + {0x87a3f91e, 179, 0, 0}, + {0x87b2a02c, 77, 0, 0}, + {0x87bad69b, 164, 0, 0}, + {0x87c6a8da, 0, 1, 0}, + {0x87ce3f34, 97, 0, 0}, + {0x87ed54aa, 0, 1, 0}, + {0x87f699dc, 97, 1, 990}, + {0x88053d25, 53, 0, 0}, + {0x88062d9a, 164, 0, 0}, + {0x882e1901, 15, 1, 0}, + {0x88338ed5, 92, 1, 392}, + {0x883875b1, 53, 0, 0}, + {0x885acc2b, 126, 1, 1085}, + {0x8871b5c4, 100, 1, 692}, + {0x88739adf, 201, 0, 0}, + {0x8889c564, 51, 1, 1190}, + {0x889129cb, 126, 1, 1290}, + {0x8897a8f1, 100, 2, 0}, + {0x88a6b192, 15, 1, 0}, + {0x88aa8cd8, 46, 1, 1091}, + {0x88be42e7, 173, 0, 0}, + {0x88c15cf3, 0, 1, 0}, + {0x88c30fda, 84, 2, 0}, + {0x88c83a1d, 100, 0, 0}, + {0x88d3b565, 0, 1, 0}, + {0x88e1a5f4, 143, 1, 988}, + {0x8904149e, 182, 2, 0}, + {0x890d226e, 0, 1, 0}, + {0x892434dd, 33, 1, 0}, + {0x8927fd4c, 22, 1, 991}, + {0x89550500, 72, 0, 0}, + {0x89567668, 46, 0, 0}, + {0x895cbaf8, 34, 2, 0}, + {0x895faef2, 117, 0, 0}, + {0x8963ae6e, 126, 1, 1085}, + {0x8965c590, 34, 1, 1191}, + {0x89688cd5, 143, 0, 0}, + {0x898e4232, 126, 2, 0}, + {0x89984244, 196, 2, 0}, + {0x899a0067, 117, 0, 0}, + {0x89a45446, 153, 2, 0}, + {0x89c80b65, 99, 0, 0}, + {0x89e085fe, 180, 0, 0}, + {0x89f8ebda, 90, 0, 0}, + {0x8a043cd6, 193, 1, 690}, + {0x8a093f62, 169, 0, 0}, + {0x8a0c7337, 126, 2, 0}, + {0x8a20be5f, 143, 1, 788}, + {0x8a2824bb, 117, 0, 0}, + {0x8a368744, 126, 0, 0}, + {0x8a5b72c0, 24, 0, 0}, + {0x8a5bc0d3, 165, 0, 0}, + {0x8a640aef, 4, 1, 190}, + {0x8a65baff, 126, 2, 0}, + {0x8a7d0abe, 160, 0, 0}, + {0x8a82f9c2, 122, 0, 0}, + {0x8a9586f5, 143, 1, 1087}, + {0x8a96e00d, 100, 0, 0}, + {0x8aa4ace0, 0, 1, 0}, + {0x8aa7cce1, 179, 0, 0}, + {0x8ab52a24, 100, 1, 1288}, + {0x8acafe51, 100, 2, 0}, + {0x8ada3497, 115, 1, 190}, + {0x8af25130, 117, 0, 0}, + {0x8afec38f, 77, 0, 0}, + {0x8b03f74d, 100, 0, 0}, + {0x8b0e1235, 34, 0, 0}, + {0x8b1abbe2, 0, 1, 0}, + {0x8b2e3e81, 126, 1, 1085}, + {0x8b4a2866, 179, 0, 0}, + {0x8b56faeb, 193, 1, 1288}, + {0x8b59bac3, 165, 0, 0}, + {0x8b5a9d69, 126, 1, 0}, + {0x8b5c74db, 40, 1, 0}, + {0x8b60cc58, 126, 0, 0}, + {0x8b764fe5, 100, 0, 0}, + {0x8b781d39, 15, 1, 0}, + {0x8b957b50, 43, 1, 389}, + {0x8b9d3e9c, 126, 1, 1087}, + {0x8ba75848, 151, 0, 0}, + {0x8baa5ff2, 100, 0, 0}, + {0x8baedc0e, 112, 0, 0}, + {0x8bbc37a2, 69, 0, 0}, + {0x8bc2ec0c, 117, 0, 0}, + {0x8bca5146, 160, 1, 391}, + {0x8bcb0993, 39, 0, 0}, + {0x8be59ea9, 74, 1, 0}, + {0x8bf29cb6, 34, 1, 690}, + {0x8c0c2df5, 100, 0, 0}, + {0x8c1e1336, 24, 1, 1086}, + {0x8c37a7d5, 126, 0, 0}, + {0x8c399acd, 117, 0, 0}, + {0x8c3d54e8, 93, 0, 0}, + {0x8c46a487, 171, 0, 0}, + {0x8c4d59d6, 2, 0, 0}, + {0x8c5a784e, 53, 1, 990}, + {0x8c6237fd, 89, 0, 0}, + {0x8c6631c8, 156, 0, 0}, + {0x8c71f706, 40, 1, 0}, + {0x8c75a0b6, 66, 0, 0}, + {0x8c8dedb6, 34, 1, 392}, + {0x8c8fa83b, 24, 0, 0}, + {0x8c940984, 17, 1, 1190}, + {0x8cb9eff8, 24, 1, 1086}, + {0x8ce478db, 99, 1, 491}, + {0x8ce4875e, 92, 1, 0}, + {0x8ce8e264, 200, 1, 0}, + {0x8ce99fe4, 24, 0, 0}, + {0x8ce9c87b, 150, 0, 0}, + {0x8cea87c5, 120, 0, 0}, + {0x8cf1aae2, 156, 0, 0}, + {0x8d2454b7, 92, 0, 0}, + {0x8d2488d6, 146, 1, 1190}, + {0x8d26fdea, 25, 0, 0}, + {0x8d3c33b3, 46, 0, 0}, + {0x8d5b77c0, 97, 0, 0}, + {0x8d605a06, 38, 0, 0}, + {0x8d77e5e6, 72, 0, 0}, + {0x8d94797f, 97, 1, 1092}, + {0x8d9af7af, 188, 1, 990}, + {0x8da4e539, 181, 0, 0}, + {0x8da651d4, 34, 1, 990}, + {0x8da6667d, 126, 2, 0}, + {0x8db6d11f, 126, 1, 0}, + {0x8dcc9949, 15, 1, 0}, + {0x8dcd9486, 69, 0, 0}, + {0x8dd0a0c4, 95, 0, 0}, + {0x8dd92725, 68, 1, 991}, + {0x8de76f1d, 114, 1, 389}, + {0x8dedea07, 0, 1, 0}, + {0x8e0d9179, 160, 0, 0}, + {0x8e0ea20f, 24, 0, 0}, + {0x8e1e1181, 117, 0, 0}, + {0x8e2bd25c, 126, 1, 1085}, + {0x8e373118, 201, 0, 0}, + {0x8e504a98, 77, 1, 490}, + {0x8e5c2818, 165, 1, 1291}, + {0x8e7abdfc, 180, 0, 0}, + {0x8e86d6c0, 6, 1, 1289}, + {0x8e9a5e2f, 99, 1, 1191}, + {0x8eab381c, 15, 1, 0}, + {0x8eb11e94, 171, 0, 0}, + {0x8ecbc577, 3, 2, 0}, + {0x8ed0547e, 128, 0, 0}, + {0x8edeb257, 24, 0, 0}, + {0x8ee25f78, 160, 0, 0}, + {0x8ee6463a, 202, 0, 0}, + {0x8ee7c43e, 97, 1, 493}, + {0x8ee98523, 126, 0, 0}, + {0x8eef8b76, 24, 0, 0}, + {0x8f011713, 124, 0, 0}, + {0x8f3f8b1f, 89, 0, 0}, + {0x8f4497ee, 145, 0, 0}, + {0x8f506d75, 178, 0, 0}, + {0x8f628d51, 43, 0, 0}, + {0x8f726dbc, 156, 0, 0}, + {0x8f7719f3, 100, 0, 0}, + {0x8f81d008, 38, 0, 0}, + {0x8fa95456, 99, 0, 0}, + {0x8fb0cef1, 103, 1, 894}, + {0x8fdb8f62, 179, 0, 0}, + {0x900a55db, 117, 0, 0}, + {0x900c7442, 100, 0, 0}, + {0x900cf570, 126, 0, 0}, + {0x900e3a23, 147, 0, 0}, + {0x90226e40, 13, 1, 692}, + {0x902e3168, 165, 1, 891}, + {0x90388d1b, 99, 1, 1089}, + {0x90491713, 165, 1, 787}, + {0x90597545, 133, 0, 0}, + {0x9077a623, 126, 1, 593}, + {0x908505ee, 156, 0, 0}, + {0x90a33263, 34, 1, 1289}, + {0x90c3f886, 24, 0, 0}, + {0x90c773c1, 92, 1, 1192}, + {0x90ca616d, 126, 1, 1085}, + {0x90d3210a, 33, 1, 0}, + {0x90d68a43, 3, 1, 990}, + {0x90ecdade, 165, 0, 0}, + {0x90f12ac8, 0, 1, 0}, + {0x90f6fa33, 100, 0, 0}, + {0x90faa618, 117, 0, 0}, + {0x910cc30f, 117, 0, 0}, + {0x91209041, 92, 1, 291}, + {0x912b790e, 175, 0, 0}, + {0x912d82c5, 117, 0, 0}, + {0x91328c1d, 100, 0, 0}, + {0x9152ce50, 100, 0, 0}, + {0x91568f01, 92, 0, 0}, + {0x91585c4c, 117, 0, 0}, + {0x915a53a7, 100, 0, 0}, + {0x9160a87a, 174, 0, 0}, + {0x916913d2, 153, 1, 292}, + {0x917770d8, 100, 1, 1091}, + {0x917d9262, 133, 0, 0}, + {0x9183054e, 193, 0, 0}, + {0x918c1b71, 20, 0, 0}, + {0x9198279e, 114, 2, 0}, + {0x919ac0fe, 100, 0, 0}, + {0x91a140c9, 120, 1, 691}, + {0x91aa57f1, 74, 1, 393}, + {0x91ac514e, 117, 0, 0}, + {0x91b4b1d7, 126, 2, 0}, + {0x91c6ee43, 156, 1, 290}, + {0x91d1e85b, 97, 1, 1290}, + {0x91d24d7b, 50, 1, 690}, + {0x91d33e3c, 126, 1, 1085}, + {0x91d52e9a, 92, 0, 0}, + {0x91e2e863, 163, 1, 291}, + {0x91e4a289, 0, 1, 0}, + {0x9204a65d, 100, 0, 0}, + {0x92197173, 43, 1, 1289}, + {0x9227180c, 117, 0, 0}, + {0x923f915b, 202, 0, 0}, + {0x9247c38d, 126, 2, 0}, + {0x92547f1c, 195, 0, 0}, + {0x926f07af, 157, 0, 0}, + {0x9273f18e, 72, 0, 0}, + {0x927aba9d, 126, 0, 0}, + {0x927c7a3a, 69, 0, 0}, + {0x928361d4, 92, 1, 1088}, + {0x92861600, 104, 1, 289}, + {0x92873f0e, 165, 0, 0}, + {0x929c7b2f, 133, 0, 0}, + {0x92a2185c, 126, 1, 0}, + {0x92a2a702, 34, 0, 0}, + {0x92a3d007, 15, 1, 0}, + {0x92b07fd9, 202, 0, 0}, + {0x92bc8c2e, 24, 0, 0}, + {0x92c138e4, 152, 1, 0}, + {0x92d0a3e8, 124, 0, 0}, + {0x92d5e3dc, 193, 0, 0}, + {0x92edac5e, 92, 0, 0}, + {0x92f04530, 100, 0, 0}, + {0x93146bb0, 117, 0, 0}, + {0x931472d0, 92, 0, 0}, + {0x9316bf4b, 0, 1, 0}, + {0x932a077a, 100, 0, 0}, + {0x932c11c1, 24, 0, 0}, + {0x932ff06e, 65, 1, 990}, + {0x93368b81, 140, 0, 0}, + {0x934db14a, 193, 1, 1289}, + {0x9357a157, 40, 1, 89}, + {0x9369a2f8, 34, 2, 0}, + {0x936e229d, 46, 0, 0}, + {0x93794634, 100, 0, 0}, + {0x937aba88, 68, 1, 390}, + {0x9381a81d, 156, 1, 1288}, + {0x93991433, 163, 1, 990}, + {0x93a7d26c, 124, 0, 0}, + {0x93b49582, 160, 1, 390}, + {0x93b9b15c, 92, 0, 0}, + {0x93dc3c82, 97, 0, 0}, + {0x93f3a490, 166, 1, 0}, + {0x941ba912, 156, 0, 0}, + {0x942b1210, 12, 1, 690}, + {0x942f6bb0, 44, 0, 0}, + {0x943dfbbe, 126, 1, 1189}, + {0x9445a4ea, 0, 1, 0}, + {0x9474c09c, 126, 1, 692}, + {0x947f0728, 104, 1, 288}, + {0x948ad7f6, 52, 2, 0}, + {0x948e0bd6, 89, 0, 0}, + {0x94ccbbbc, 126, 1, 789}, + {0x9509f703, 46, 0, 0}, + {0x950aa028, 34, 1, 692}, + {0x95192148, 89, 0, 0}, + {0x951c12ae, 59, 0, 0}, + {0x9525fa38, 39, 0, 0}, + {0x952a9e77, 16, 0, 0}, + {0x953a3eaf, 156, 1, 989}, + {0x953ca1b6, 100, 0, 0}, + {0x953ffe4c, 48, 0, 0}, + {0x9552e8df, 24, 0, 0}, + {0x9561798d, 24, 0, 0}, + {0x95649977, 97, 1, 493}, + {0x957f3d28, 100, 0, 0}, + {0x958e4bae, 74, 1, 1090}, + {0x95aaed34, 160, 0, 0}, + {0x95af291f, 92, 1, 392}, + {0x95ba5733, 99, 0, 0}, + {0x95c04df9, 38, 0, 0}, + {0x95ca9ec7, 100, 1, 990}, + {0x95d6d531, 57, 1, 1088}, + {0x95dbb274, 160, 0, 0}, + {0x95e4e594, 160, 1, 191}, + {0x95e71ea9, 140, 0, 0}, + {0x96087988, 127, 1, 892}, + {0x9615209f, 34, 0, 0}, + {0x9622fbd9, 133, 0, 0}, + {0x96277a43, 93, 0, 0}, + {0x96533999, 117, 0, 0}, + {0x96546242, 34, 0, 0}, + {0x965b9a2f, 0, 1, 0}, + {0x9668488e, 158, 1, 1092}, + {0x96773f32, 117, 0, 0}, + {0x96788826, 158, 1, 1091}, + {0x967a605f, 126, 2, 0}, + {0x9684657f, 77, 0, 0}, + {0x968dcf09, 117, 0, 0}, + {0x9694bfb8, 115, 1, 993}, + {0x969ef9e4, 4, 1, 987}, + {0x96ba90b0, 173, 0, 0}, + {0x96c3e953, 156, 0, 0}, + {0x96c4ce38, 126, 1, 1289}, + {0x96cfb4d8, 114, 2, 0}, + {0x96d3f955, 188, 1, 990}, + {0x96dfc776, 166, 1, 0}, + {0x96f6051a, 160, 1, 1092}, + {0x96fcdc5f, 182, 1, 390}, + {0x97217057, 115, 1, 1290}, + {0x972d08c5, 144, 0, 0}, + {0x9731a9a3, 160, 1, 390}, + {0x9735d267, 126, 2, 0}, + {0x9747ac09, 131, 1, 591}, + {0x974d0745, 178, 0, 0}, + {0x974e8840, 2, 0, 0}, + {0x975b25ee, 43, 0, 0}, + {0x975ccfeb, 34, 1, 1186}, + {0x9768e920, 93, 0, 0}, + {0x977ee848, 166, 1, 0}, + {0x9786d132, 127, 1, 192}, + {0x979c5314, 6, 1, 1187}, + {0x97bc4585, 120, 0, 0}, + {0x97cad370, 126, 0, 0}, + {0x97d9f9b4, 62, 0, 0}, + {0x98011231, 0, 1, 0}, + {0x9806cb84, 125, 0, 0}, + {0x98087e4d, 117, 0, 0}, + {0x9808abb8, 166, 1, 0}, + {0x980be936, 100, 0, 0}, + {0x982189a2, 24, 1, 988}, + {0x982dfb38, 74, 1, 393}, + {0x9832d15a, 160, 0, 0}, + {0x983948a5, 104, 1, 1187}, + {0x985b1d05, 100, 0, 0}, + {0x986bb2d4, 46, 1, 188}, + {0x987dcda3, 24, 1, 689}, + {0x9881d1b4, 0, 1, 0}, + {0x988798a8, 34, 1, 394}, + {0x988b446d, 57, 1, 1087}, + {0x9894f766, 46, 0, 0}, + {0x98977591, 120, 0, 0}, + {0x98a8f5be, 104, 1, 591}, + {0x98a97a59, 39, 0, 0}, + {0x98aa7cab, 54, 0, 0}, + {0x98bb90d9, 4, 1, 790}, + {0x98c8e090, 99, 0, 0}, + {0x98ccc9ab, 156, 0, 0}, + {0x98ccd385, 163, 2, 0}, + {0x98dc1099, 179, 0, 0}, + {0x98e3c75a, 126, 0, 0}, + {0x98fca2b9, 24, 0, 0}, + {0x99004b45, 175, 0, 0}, + {0x99083b3a, 200, 1, 0}, + {0x9928ee82, 104, 1, 1190}, + {0x99344acd, 46, 1, 1288}, + {0x99580334, 100, 0, 0}, + {0x99686dad, 34, 0, 0}, + {0x9992f445, 21, 0, 0}, + {0x999577b6, 100, 1, 1187}, + {0x99a62e47, 76, 0, 0}, + {0x99a9f57e, 126, 1, 1188}, + {0x99b73746, 77, 0, 0}, + {0x99c395f9, 160, 0, 0}, + {0x99c88648, 26, 2, 0}, // "Proto" + {0x99cc199b, 174, 0, 0}, + {0x99d27118, 0, 1, 0}, + {0x99d38676, 160, 0, 0}, + {0x99dddb04, 100, 1, 1291}, + {0x9a172152, 77, 0, 0}, + {0x9a273fc0, 0, 1, 0}, + {0x9a2b0641, 117, 0, 0}, + {0x9a2db086, 126, 2, 0}, + {0x9a35edfe, 37, 0, 0}, + {0x9a60bf47, 48, 0, 0}, + {0x9a808c3b, 99, 0, 0}, + {0x9a851990, 117, 0, 0}, + {0x9aac6754, 185, 0, 0}, + {0x9aacd75d, 179, 0, 0}, + {0x9ab274ae, 5, 1, 0}, + {0x9acded0e, 57, 1, 492}, + {0x9ad945eb, 126, 0, 0}, + {0x9adb2af7, 34, 0, 0}, + {0x9add521e, 164, 0, 0}, + {0x9adfc8f0, 16, 0, 0}, + {0x9ae5ae08, 117, 0, 0}, + {0x9b1bdbbe, 99, 1, 1290}, + {0x9b208ab1, 23, 0, 0}, + {0x9b323e20, 126, 0, 0}, + {0x9b37d149, 167, 1, 89}, + {0x9b38d9e8, 122, 0, 0}, + {0x9b3c5124, 39, 0, 0}, + {0x9b49657d, 0, 1, 0}, + {0x9b4f0405, 156, 0, 0}, + {0x9b506a48, 126, 1, 1085}, + {0x9b565541, 93, 0, 0}, + {0x9b6d2cb5, 77, 0, 0}, + {0x9b74e080, 34, 0, 0}, + {0x9b821a83, 57, 1, 1191}, + {0x9b88a185, 195, 0, 0}, + {0x9b8e02c0, 200, 1, 0}, + {0x9ba20dad, 57, 1, 1087}, + {0x9ba777e1, 51, 1, 1190}, + {0x9bac73ef, 97, 1, 691}, + {0x9bdcd892, 63, 0, 0}, + {0x9bde3267, 77, 1, 989}, + {0x9beed7a8, 66, 0, 0}, + {0x9bf99c3a, 50, 1, 1191}, + {0x9c015583, 155, 0, 0}, + {0x9c053f24, 72, 0, 0}, + {0x9c18762b, 99, 1, 1191}, + {0x9c521240, 165, 0, 0}, + {0x9c537919, 126, 1, 1093}, + {0x9c58f4a6, 77, 0, 0}, + {0x9c5e2b65, 171, 0, 0}, + {0x9c7e6421, 126, 1, 1085}, + {0x9c9f3571, 100, 1, 487}, + {0x9ca42697, 179, 0, 0}, + {0x9caaba9e, 199, 0, 0}, + {0x9cb55b96, 100, 1, 1291}, + {0x9cbadc25, 53, 0, 0}, + {0x9cbb0291, 9, 0, 0}, + {0x9cbc8253, 117, 0, 0}, + {0x9cf17fab, 195, 0, 0}, + {0x9d1deab8, 0, 1, 0}, + {0x9d21fe96, 117, 0, 0}, + {0x9d38f8f9, 166, 1, 0}, + {0x9d45d8ec, 72, 0, 0}, + {0x9da252b4, 100, 0, 85}, + {0x9db51b1f, 95, 0, 0}, + {0x9db6a3ed, 26, 2, 0}, // "Proto" + {0x9dc96ec7, 92, 0, 0}, + {0x9def17bb, 160, 0, 0}, + {0x9df89be5, 160, 1, 190}, + {0x9e0bf355, 100, 0, 0}, + {0x9e0e1dc8, 160, 0, 0}, + {0x9e1ce13d, 21, 0, 0}, + {0x9e356267, 147, 0, 0}, + {0x9e379698, 33, 1, 0}, + {0x9e382ebf, 126, 1, 389}, + {0x9e4e9cc2, 117, 1, 1193}, + {0x9e6092a4, 100, 1, 1292}, + {0x9e777ea5, 102, 0, 0}, + {0x9ea1dc76, 160, 1, 691}, + {0x9eab6b1f, 100, 0, 0}, + {0x9ebdc94e, 89, 0, 0}, + {0x9eca0941, 156, 1, 1288}, + {0x9ecb9dcd, 176, 0, 0}, + {0x9ed99198, 126, 1, 1088}, + {0x9edd2159, 182, 1, 1292}, + {0x9ee83916, 92, 0, 0}, + {0x9eef47aa, 143, 1, 690}, + {0x9eff96d2, 156, 0, 0}, + {0x9f2eef20, 172, 1, 992}, + {0x9f3da143, 117, 0, 0}, + {0x9f432594, 77, 1, 690}, + {0x9f50a100, 92, 0, 0}, + {0x9f5138cb, 159, 0, 0}, + {0x9f6c119c, 74, 1, 590}, + {0x9f6ce171, 12, 1, 990}, + {0x9f75b83b, 126, 1, 490}, + {0x9f8336db, 98, 0, 0}, + {0x9f85fa70, 161, 0, 0}, + {0x9f8bd88d, 38, 0, 0}, + {0x9fa1c11f, 2, 0, 0}, + {0x9fae4d46, 34, 0, 0}, + {0x9fb32923, 173, 1, 292}, + {0x9fd0f213, 24, 1, 289}, + {0x9fd718fd, 201, 0, 0}, + {0x9fe0aef5, 126, 1, 0}, + {0x9ffe2f55, 160, 1, 989}, + {0xa01ef87e, 115, 1, 93}, + {0xa025344d, 92, 1, 493}, + {0xa029dfe9, 38, 0, 0}, + {0xa02b3a39, 102, 0, 0}, + {0xa03a422b, 104, 1, 488}, + {0xa03e89d9, 0, 1, 0}, + {0xa045fe1d, 33, 2, 0}, + {0xa0568e1d, 160, 1, 188}, + {0xa06c820c, 65, 1, 1091}, + {0xa085a697, 0, 1, 0}, + {0xa098ebd2, 177, 0, 0}, + {0xa0a095c4, 193, 1, 1288}, + {0xa0a5a0b9, 56, 2, 0}, + {0xa0a6e860, 100, 0, 0}, + {0xa0b0b742, 126, 1, 290}, + {0xa0b8d310, 176, 0, 0}, + {0xa0c31a57, 115, 1, 1288}, + {0xa0c9bf7e, 160, 1, 1292}, + {0xa0cad20f, 160, 0, 0}, + {0xa0dabe0a, 126, 1, 84}, + {0xa0dad6e4, 130, 1, 0}, + {0xa0ddf884, 77, 0, 0}, + {0xa0df4b8f, 4, 1, 992}, + {0xa0eca0f9, 0, 1, 0}, + {0xa0ed7d20, 126, 1, 290}, + {0xa0f56a29, 117, 0, 0}, + {0xa0f99bb8, 100, 0, 0}, + {0xa11fac93, 92, 0, 0}, + {0xa139009c, 13, 1, 492}, + {0xa1431bbd, 93, 0, 0}, + {0xa166548f, 150, 1, 192}, + {0xa16ab939, 195, 0, 0}, + {0xa186f064, 116, 1, 190}, + {0xa1a0c13f, 182, 2, 0}, + {0xa1a33b85, 2, 0, 0}, + {0xa1b67ac5, 34, 0, 0}, + {0xa1ff4e1d, 158, 1, 1292}, + {0xa2194cad, 34, 1, 788}, + {0xa21e675c, 89, 0, 0}, + {0xa22657fa, 126, 1, 1290}, + {0xa232e8be, 143, 1, 0}, // "Proto" + {0xa25a750f, 57, 1, 1290}, + {0xa25ed91d, 66, 0, 0}, + {0xa262a81f, 24, 0, 0}, + {0xa2a6ee58, 165, 1, 0}, + {0xa2af25d0, 68, 1, 788}, + {0xa2bac574, 153, 1, 492}, + {0xa2c0cab7, 175, 0, 0}, + {0xa2c79ec5, 124, 0, 0}, + {0xa2c89cb9, 0, 1, 0}, + {0xa2c94c04, 178, 0, 0}, + {0xa2d6ee34, 24, 0, 0}, + {0xa2d79603, 117, 0, 0}, + {0xa2da133b, 6, 1, 990}, + {0xa2e4534f, 115, 1, 190}, + {0xa2e68da8, 100, 0, 0}, + {0xa2ee1350, 95, 0, 0}, + {0xa2f826f1, 182, 1, 390}, + {0xa3047263, 24, 0, 0}, + {0xa308a153, 100, 0, 0}, + {0xa30d8baf, 54, 0, 0}, + {0xa31142ff, 6, 2, 0}, + {0xa3414faa, 117, 0, 0}, + {0xa342a5fd, 4, 1, 588}, + {0xa37b0ee3, 46, 1, 188}, + {0xa38857eb, 156, 0, 0}, + {0xa38fe9ce, 168, 0, 0}, + {0xa397028a, 15, 1, 0}, + {0xa3a6184c, 21, 0, 0}, + {0xa3ad445d, 34, 1, 1288}, + {0xa3d59f62, 43, 0, 0}, + {0xa3da8777, 95, 0, 0}, + {0xa3e082a6, 117, 0, 0}, + {0xa3e37134, 126, 0, 0}, + {0xa3ea8dba, 126, 1, 1088}, + {0xa4062017, 57, 1, 289}, + {0xa45bcda0, 121, 0, 0}, + {0xa461436a, 126, 0, 0}, + {0xa4625dbc, 57, 1, 1088}, + {0xa46aa597, 150, 0, 0}, + {0xa479b08c, 97, 1, 1290}, + {0xa485abed, 39, 0, 0}, + {0xa49253c6, 117, 0, 0}, + {0xa49b48b8, 53, 0, 0}, + {0xa4a4f4bf, 46, 0, 0}, + {0xa4b947ca, 126, 1, 0}, + {0xa4bdcc1d, 0, 2, 0}, + {0xa4cb97df, 126, 1, 0}, + {0xa4dcdf28, 133, 0, 0}, + {0xa4e935df, 156, 0, 0}, + {0xa4ee65ac, 24, 0, 0}, + {0xa505d342, 117, 0, 0}, + {0xa50c51fb, 117, 0, 0}, + {0xa520f44c, 166, 1, 0}, + {0xa524ae9b, 106, 0, 0}, + {0xa52a8119, 24, 0, 0}, + {0xa52b28ed, 105, 0, 87}, + {0xa5313248, 24, 1, 689}, + {0xa547a6ec, 77, 0, 0}, + {0xa54d9086, 92, 0, 0}, + {0xa55701dd, 200, 1, 0}, + {0xa558fb52, 34, 1, 990}, + {0xa55fa397, 104, 1, 989}, + {0xa5636767, 77, 1, 194}, + {0xa56a1bd0, 72, 0, 0}, + {0xa5781280, 133, 0, 0}, + {0xa58a8da1, 202, 0, 0}, + {0xa59ca2ef, 24, 0, 0}, + {0xa5a19af5, 122, 0, 0}, + {0xa5b62a4c, 164, 0, 0}, + {0xa5d05d45, 90, 0, 0}, + {0xa5dfa8ce, 68, 1, 1088}, + {0xa5e6baf9, 117, 0, 0}, + {0xa5e89675, 40, 1, 0}, + {0xa5e8d2cd, 46, 1, 1187}, + {0xa60ca3d6, 188, 1, 192}, + {0xa60fba51, 108, 0, 0}, + {0xa65d3207, 79, 0, 0}, + {0xa6648353, 193, 0, 0}, + {0xa66596d9, 164, 0, 0}, + {0xa67ea466, 104, 1, 393}, + {0xa6819195, 133, 0, 0}, + {0xa695b076, 40, 1, 0}, + {0xa69f29fa, 156, 1, 1192}, + {0xa6a2ec56, 42, 0, 0}, + {0xa6a725b8, 50, 1, 1292}, + {0xa6b3f7b3, 156, 0, 0}, + {0xa6de7024, 160, 0, 0}, + {0xa6e16202, 124, 0, 0}, + {0xa6f5cb3c, 68, 1, 290}, + {0xa70b2813, 92, 0, 0}, + {0xa71c3452, 160, 0, 0}, + {0xa725b2d3, 91, 1, 792}, + {0xa72fde03, 92, 0, 0}, + {0xa7481c4b, 22, 0, 0}, + {0xa7b0536c, 160, 0, 0}, + {0xa7b0bc87, 143, 1, 989}, + {0xa7d3635e, 164, 0, 0}, + {0xa7de65e4, 6, 1, 489}, + {0xa7e784ed, 72, 0, 0}, + {0xa80a0f01, 104, 1, 894}, + {0xa8104fb2, 24, 2, 0}, + {0xa8138860, 65, 1, 989}, + {0xa817d175, 93, 0, 0}, + {0xa81c51ea, 92, 0, 0}, + {0xa848a2b1, 43, 1, 1289}, + {0xa86a5318, 53, 1, 392}, + {0xa86af976, 4, 1, 1292}, + {0xa86e3704, 100, 0, 0}, + {0xa875c5e9, 93, 0, 0}, + {0xa8784932, 34, 1, 288}, + {0xa8923256, 97, 1, 490}, + {0xa895d40a, 77, 0, 0}, + {0xa8a4a48b, 200, 1, 0}, + {0xa8a9b982, 180, 0, 0}, + {0xa8aa7994, 12, 1, 690}, + {0xa8b0cfce, 89, 1, 990}, + {0xa8b0da56, 3, 1, 592}, + {0xa8efac13, 0, 1, 0}, + {0xa8f5c2ab, 166, 1, 0}, + {0xa9004a88, 142, 1, 1290}, + {0xa905cc12, 0, 1, 0}, + {0xa9065101, 124, 0, 0}, + {0xa913a222, 77, 1, 189}, + {0xa91460b8, 54, 0, 0}, + {0xa9217ea2, 188, 1, 1290}, + {0xa922075e, 66, 0, 0}, + {0xa93527e2, 100, 2, 0}, + {0xa941eefa, 117, 0, 0}, + {0xa94591b0, 100, 1, 992}, + {0xa94686cb, 200, 1, 0}, + {0xa9541452, 24, 0, 0}, + {0xa97567a4, 84, 2, 0}, + {0xa98046b8, 126, 0, 0}, + {0xa9a4ea4c, 143, 0, 0}, + {0xa9bbf44f, 166, 1, 0}, + {0xa9c2c503, 100, 1, 88}, + {0xa9e2bf31, 0, 1, 0}, + {0xa9e30826, 100, 0, 0}, + {0xa9e70766, 41, 0, 0}, + {0xa9f0b6f3, 46, 0, 0}, + {0xaa14431a, 0, 1, 0}, + {0xaa174bc6, 4, 1, 689}, + {0xaa20f73d, 92, 1, 1291}, + {0xaa4318ae, 39, 0, 0}, + {0xaa6bb985, 193, 1, 390}, + {0xaa6e1a35, 92, 0, 0}, + {0xaa755715, 165, 0, 0}, + {0xaa96889c, 100, 0, 0}, + {0xaa97d0a0, 117, 0, 0}, + {0xaa9ca482, 0, 1, 0}, + {0xaaa67035, 92, 0, 0}, + {0xaaaa17bd, 68, 1, 290}, + {0xaad7bdc1, 156, 0, 0}, + {0xaaed295c, 126, 1, 288}, + {0xaaf2ce64, 24, 0, 0}, + {0xaafe699c, 165, 0, 0}, + {0xaafed9b4, 164, 0, 0}, + {0xab07c7f3, 155, 0, 0}, + {0xab12ece6, 0, 1, 0}, + {0xab1f0f44, 0, 1, 0}, + {0xab3062cf, 24, 0, 0}, + {0xab41445e, 156, 1, 292}, + {0xab459d2f, 97, 1, 1290}, + {0xab4ac985, 20, 0, 0}, + {0xab547071, 92, 2, 0}, + {0xab6b4794, 142, 1, 491}, + {0xab8371f6, 188, 1, 190}, + {0xab90e397, 155, 1, 690}, + {0xababffdb, 74, 1, 1090}, + {0xabe1a0c2, 126, 0, 0}, + {0xabef6b83, 100, 0, 0}, + {0xac05ebb7, 34, 0, 0}, + {0xac0d2d09, 46, 1, 290}, + {0xac136f2d, 155, 0, 0}, + {0xac273c14, 0, 1, 0}, + {0xac4bf9dc, 100, 0, 0}, + {0xac4f4e9f, 24, 0, 0}, + {0xac559fbd, 40, 1, 0}, + {0xac609320, 160, 2, 0}, + {0xac652b47, 100, 0, 0}, + {0xac75f8cd, 117, 0, 0}, + {0xac7a54cc, 34, 2, 0}, + {0xac8dcdea, 4, 1, 1289}, + {0xac9817e3, 4, 1, 291}, + {0xac9895cc, 100, 0, 0}, + {0xac98cd70, 100, 0, 0}, + {0xaca15643, 99, 1, 1191}, + {0xaca687c2, 165, 0, 0}, + {0xacd3e768, 20, 0, 0}, + {0xacde60c0, 127, 1, 192}, + {0xace56f39, 117, 0, 0}, + {0xacf912df, 132, 0, 0}, + {0xad12a34f, 165, 1, 189}, + {0xad16f6c7, 0, 1, 0}, + {0xad28aef6, 156, 0, 0}, + {0xad3df455, 24, 0, 0}, + {0xad50e497, 3, 1, 190}, + {0xad5f0653, 175, 0, 0}, + {0xad6cdf29, 126, 1, 1085}, + {0xad6e96f1, 185, 0, 0}, + {0xad7b97bc, 143, 0, 0}, + {0xad7f9480, 156, 1, 987}, + {0xada1b12f, 130, 1, 0}, + {0xada80d95, 140, 0, 0}, + {0xadb47286, 89, 0, 0}, + {0xadb5d0b3, 77, 0, 0}, + {0xadba7064, 156, 0, 0}, + {0xadbd4e48, 34, 1, 9}, + {0xadd6374f, 156, 0, 0}, + {0xade11141, 34, 0, 0}, + {0xadf606f6, 160, 0, 0}, + {0xadffd64f, 117, 0, 0}, + {0xae128fac, 133, 0, 0}, + {0xae19d06e, 165, 1, 787}, + {0xae280e20, 72, 0, 0}, + {0xae286904, 100, 1, 192}, + {0xae321339, 117, 0, 0}, + {0xae52dece, 68, 1, 1088}, + {0xae56518e, 160, 0, 0}, + {0xae64ca77, 126, 1, 388}, + {0xae6d99c7, 126, 1, 387}, + {0xae8666b4, 92, 1, 588}, + {0xae97627c, 97, 1, 0}, // "Proto" + {0xaeb7fce9, 160, 0, 0}, + {0xaebd6549, 160, 0, 0}, + {0xaed1e6a4, 126, 0, 0}, + {0xaef78148, 194, 0, 86}, + {0xaf05f37e, 4, 1, 1292}, + {0xaf15338f, 117, 0, 0}, + {0xaf16ee39, 202, 0, 0}, + {0xaf2bb895, 77, 2, 0}, + {0xaf2bbcbc, 126, 1, 1085}, + {0xaf31a310, 171, 0, 0}, + {0xaf3ec4b1, 160, 0, 0}, + {0xaf4010ea, 126, 1, 888}, + {0xaf432446, 0, 1, 0}, + {0xaf4b5c8a, 127, 1, 892}, + {0xaf5676de, 29, 1, 987}, + {0xaf5ad5af, 147, 0, 0}, + {0xaf65aa84, 163, 2, 0}, + {0xaf6e8571, 117, 0, 0}, + {0xaf754426, 202, 0, 0}, + {0xaf85b53e, 169, 0, 0}, + {0xafb40372, 100, 0, 0}, + {0xafb46dd6, 12, 1, 789}, + {0xafc65de3, 190, 0, 0}, + {0xafdcbd24, 126, 1, 1085}, + {0xafeafeaa, 0, 1, 0}, + {0xb00abe1c, 77, 0, 0}, + {0xb00b4eb8, 91, 1, 1191}, + {0xb00b84d3, 143, 0, 0}, + {0xb0480ae9, 100, 1, 691}, + {0xb049a8c4, 24, 0, 0}, + {0xb04ba659, 76, 0, 0}, + {0xb051c0e1, 4, 1, 692}, + {0xb06c0674, 100, 0, 0}, + {0xb092dd8e, 126, 1, 1085}, + {0xb092fa3e, 92, 0, 0}, + {0xb097f651, 117, 0, 0}, + {0xb09e38f9, 126, 1, 790}, + {0xb0cd000f, 158, 1, 1193}, + {0xb0ebf3db, 196, 1, 292}, + {0xb1031788, 0, 1, 0}, + {0xb10429aa, 97, 1, 889}, + {0xb1250d0c, 100, 0, 0}, + {0xb134d713, 114, 1, 390}, + {0xb1378c99, 160, 1, 1188}, + {0xb13f00d4, 100, 2, 0}, + {0xb1494b9e, 191, 0, 0}, + {0xb14e668e, 37, 0, 0}, + {0xb14ea4d2, 143, 1, 788}, + {0xb1612fe6, 77, 1, 490}, + {0xb174b680, 117, 0, 0}, // Dig Dug (J) + {0xb17574f3, 0, 1, 0}, + {0xb184060a, 47, 0, 0}, + {0xb1849d4e, 69, 0, 0}, + {0xb19a55dd, 166, 1, 0}, + {0xb19c48a5, 166, 1, 0}, + {0xb1a94b82, 24, 0, 0}, + {0xb1b16b8a, 21, 0, 0}, + {0xb1b9e187, 117, 0, 0}, + {0xb1c4c508, 126, 0, 0}, + {0xb1e84e5b, 38, 0, 0}, + {0xb1f7e3e9, 0, 1, 0}, + {0xb20001f4, 100, 0, 0}, + {0xb201b522, 100, 0, 0}, + {0xb20f87de, 160, 1, 1092}, + {0xb22c41cd, 100, 0, 0}, + {0xb24abc55, 100, 0, 0}, + {0xb252a5b9, 117, 0, 0}, + {0xb258d6ca, 97, 1, 691}, + {0xb27b8cf4, 100, 0, 0}, + {0xb297b5e7, 92, 0, 0}, + {0xb2ab361e, 192, 0, 0}, + {0xb2c0d62c, 115, 1, 1288}, + {0xb2fa62fd, 156, 1, 989}, + {0xb301b0dc, 34, 0, 0}, + {0xb30f6865, 117, 0, 0}, + {0xb330ed11, 188, 1, 291}, + {0xb33bc971, 65, 1, 391}, + {0xb3440357, 143, 1, 790}, + {0xb34ed396, 0, 1, 0}, + {0xb3598cd0, 179, 0, 0}, + {0xb36457c7, 97, 0, 0}, + {0xb3769a51, 156, 1, 1288}, + {0xb3783f2a, 165, 1, 787}, + {0xb37f48cd, 23, 0, 0}, + {0xb382aea4, 77, 0, 0}, + {0xb399bee4, 128, 0, 0}, + {0xb39bab34, 133, 0, 0}, + {0xb3c30bea, 117, 0, 0}, + {0xb3ca8bc5, 117, 0, 0}, + {0xb3cb3da9, 174, 0, 0}, + {0xb3d1178e, 166, 1, 0}, + {0xb3d74c0d, 126, 1, 686}, + {0xb3dbc08f, 117, 0, 0}, + {0xb3e2f2ef, 15, 1, 0}, + {0xb3fe1017, 32, 0, 0}, + {0xb40457d5, 34, 0, 0}, + {0xb40870a2, 156, 2, 0}, + {0xb41bbadf, 122, 0, 0}, + {0xb422a67a, 166, 1, 0}, + {0xb42a57c7, 124, 0, 0}, + {0xb4481476, 160, 0, 0}, + {0xb462718e, 33, 1, 0}, + {0xb4735fac, 69, 0, 0}, + {0xb47569e2, 97, 0, 0}, + {0xb4844ca5, 173, 1, 292}, + {0xb4adede3, 117, 0, 0}, + {0xb4d554d6, 46, 1, 390}, + {0xb4e4879e, 34, 1, 1186}, + {0xb4ff91e7, 181, 0, 0}, + {0xb515e7d4, 24, 0, 0}, + {0xb548fd2e, 161, 0, 0}, + {0xb54db5ef, 191, 0, 0}, + {0xb5576820, 77, 0, 0}, + {0xb55d5747, 88, 1, 90}, + {0xb55da544, 164, 0, 0}, + {0xb56958d1, 99, 1, 491}, + {0xb5897e94, 179, 0, 0}, + {0xb58d962b, 195, 0, 0}, + {0xb5902c20, 0, 1, 0}, + {0xb5976b7c, 179, 0, 0}, + {0xb59a7a29, 89, 0, 0}, + {0xb5af14ca, 176, 0, 0}, + {0xb5be4935, 104, 1, 0}, // "Proto" + {0xb5d28ea2, 163, 1, 489}, + {0xb5e24324, 144, 0, 0}, + {0xb5e38091, 100, 1, 992}, + {0xb5e392e2, 160, 1, 1192}, + {0xb5f7e661, 46, 0, 0}, + {0xb5ff71ab, 117, 0, 0}, + {0xb627254b, 160, 1, 490}, + {0xb629d555, 92, 1, 391}, // Totally Rad (U) + {0xb62a7b71, 117, 0, 0}, + {0xb64ab5e2, 92, 0, 0}, + {0xb66471cb, 0, 1, 0}, + {0xb6661bda, 150, 1, 690}, + {0xb668c7fc, 100, 1, 587}, + {0xb6758ee6, 74, 1, 292}, + {0xb69831ca, 45, 0, 0}, + {0xb6bf5137, 156, 1, 989}, + {0xb6ca8a0e, 95, 0, 0}, + {0xb6d2d300, 117, 1, 0}, + {0xb6dc9aa7, 55, 0, 0}, + {0xb6f94005, 160, 0, 0}, + {0xb70129f4, 16, 0, 0}, + {0xb775c9c1, 168, 0, 0}, + {0xb7773a07, 144, 0, 0}, + {0xb780521c, 165, 1, 590}, + {0xb786ab95, 180, 0, 0}, + {0xb788ebf8, 40, 1, 0}, + {0xb78970d2, 117, 0, 0}, + {0xb7925da2, 34, 1, 1186}, + {0xb79c320d, 34, 2, 0}, + {0xb7a338ca, 100, 0, 0}, + {0xb7b6800c, 117, 0, 0}, + {0xb7c0dae7, 100, 0, 0}, + {0xb7f28915, 24, 0, 0}, + {0xb7f485d8, 126, 1, 887}, + {0xb80192b7, 186, 2, 0}, + {0xb807446e, 30, 0, 0}, + {0xb811c054, 2, 0, 0}, + {0xb843eb84, 188, 1, 990}, + {0xb859ab5f, 24, 1, 492}, + {0xb8747abf, 2, 0, 0}, + {0xb89764a2, 92, 0, 0}, + {0xb89888c9, 33, 1, 0}, + {0xb8af9340, 37, 0, 0}, + {0xb8b2e479, 97, 0, 0}, + {0xb8bb48d3, 160, 1, 887}, + {0xb8d93cf2, 100, 0, 0}, + {0xb8f3781d, 161, 0, 0}, + {0xb90497aa, 126, 0, 0}, + {0xb90865cf, 165, 1, 690}, + {0xb918580c, 13, 1, 1291}, + {0xb938b7e9, 166, 1, 0}, + {0xb9661f04, 92, 0, 0}, + {0xb96ac600, 95, 0, 0}, + {0xb9762da8, 0, 1, 0}, + {0xb979cad5, 89, 0, 0}, + {0xb97afb85, 126, 0, 0}, + {0xb99085ce, 100, 2, 0}, + {0xb99394c3, 0, 1, 0}, + {0xb9ab06aa, 150, 0, 0}, + {0xb9b4d9e0, 126, 1, 990}, + {0xb9c20634, 117, 0, 0}, + {0xb9cf171f, 92, 1, 190}, + {0xba23e079, 174, 0, 0}, + {0xba322865, 126, 1, 0}, + {0xba428f36, 134, 0, 0}, + {0xba51ac6f, 89, 0, 0}, + {0xba6bdd6a, 100, 0, 0}, + {0xba766ec6, 46, 0, 0}, + {0xba898162, 0, 1, 0}, + {0xba9164e7, 0, 1, 0}, + {0xba93cb95, 40, 1, 0}, + {0xbab3ddb9, 100, 0, 0}, + {0xbaca10a9, 160, 0, 0}, + {0xbad36c17, 195, 0, 0}, + {0xbadafc2b, 90, 0, 0}, + {0xbb1b591b, 117, 0, 0}, + {0xbb375ed2, 24, 0, 0}, + {0xbb435255, 89, 0, 0}, + {0xbb4b6df7, 165, 0, 0}, + {0xbb4ee993, 160, 0, 0}, + {0xbb673749, 29, 1, 987}, + {0xbb6d7949, 100, 1, 292}, + {0xbb7bca36, 126, 0, 0}, + {0xbb7c5f7a, 156, 0, 0}, + {0xbb7f829a, 69, 0, 0}, + {0xbbc44e39, 126, 0, 0}, + {0xbbd8c622, 98, 0, 0}, + {0xbbe2d09d, 117, 0, 0}, + {0xbbe40dc4, 40, 1, 0}, + {0xbc065fc3, 30, 1, 990}, + {0xbc1197a4, 89, 0, 0}, + {0xbc11e61a, 117, 0, 0}, + {0xbc19f17e, 18, 0, 0}, + {0xbc1dce96, 10, 1, 0}, + {0xbc1f50b5, 0, 1, 0}, + {0xbc1fbd7b, 178, 0, 0}, + {0xbc5f6c94, 24, 1, 787}, + {0xbc7485b5, 83, 0, 0}, + {0xbc7b1d0f, 160, 0, 0}, + {0xbc7fedb9, 43, 1, 1290}, + {0xbc80fb52, 99, 0, 0}, + {0xbc8e8bc7, 160, 0, 0}, + {0xbc9bffcb, 100, 2, 0}, + {0xbcacbbf4, 89, 1, 291}, + {0xbccfef1c, 71, 2, 0}, + {0xbcd7e5ea, 66, 0, 0}, + {0xbce1da2c, 0, 1, 0}, + {0xbcf68611, 72, 0, 0}, + {0xbd0e29b3, 0, 1, 0}, + {0xbd154c3e, 33, 1, 0}, + {0xbd2269ad, 43, 0, 0}, + {0xbd29178a, 15, 1, 0}, + {0xbd2fe6a6, 143, 1, 788}, + {0xbd40d4be, 121, 0, 0}, + {0xbd523011, 117, 0, 0}, + {0xbd8a0d7d, 89, 0, 0}, + {0xbd9d0e85, 77, 0, 0}, + {0xbda8f8e4, 24, 0, 0}, + {0xbdabac0b, 42, 0, 0}, + {0xbdabc4a6, 117, 0, 0}, + {0xbdad07e0, 24, 0, 0}, + {0xbdad5548, 117, 0, 0}, + {0xbdbae3e0, 117, 0, 0}, + {0xbdc124e5, 25, 0, 0}, + {0xbdc65c91, 16, 0, 0}, + {0xbdd176af, 0, 1, 0}, + {0xbdd55ea1, 127, 1, 693}, + {0xbde10416, 180, 0, 0}, + {0xbde3ae9b, 77, 0, 0}, + {0xbde7a7b5, 15, 1, 0}, + {0xbde93999, 24, 1, 490}, + {0xbdf046ef, 114, 1, 690}, + {0xbdf1307c, 122, 0, 0}, + {0xbe00966b, 72, 0, 0}, + {0xbe06853f, 24, 0, 0}, + {0xbe1bf10c, 10, 1, 0}, + {0xbe250388, 34, 1, 892}, + {0xbe2e7055, 0, 1, 0}, + {0xbe3bf3b3, 76, 1, 690}, + {0xbe6dbb5d, 34, 1, 0}, + {0xbe7c4202, 43, 1, 889}, + {0xbe86ee6d, 15, 1, 0}, + {0xbe898565, 165, 0, 0}, + {0xbe8a744d, 92, 0, 0}, + {0xbe939fce, 126, 1, 1092}, + {0xbe95b219, 34, 0, 0}, + {0xbe9c42c9, 126, 0, 0}, + {0xbe9e3799, 117, 0, 0}, + {0xbea682e5, 191, 0, 0}, + {0xbeb15855, 104, 1, 289}, + {0xbeb30478, 92, 0, 0}, + {0xbeb88304, 126, 1, 1290}, + {0xbeb8ab01, 126, 1, 686}, + {0xbee1c0d9, 17, 1, 1190}, + {0xbee54426, 15, 1, 0}, + {0xbf250af2, 46, 1, 1086}, + {0xbf3635cf, 34, 0, 0}, + {0xbf3bb6d5, 69, 0, 0}, + {0xbf471693, 43, 0, 0}, + {0xbf4f4ba6, 77, 0, 0}, + {0xbf5e2513, 75, 0, 0}, + {0xbf7f54b4, 191, 0, 0}, + {0xbf865533, 100, 0, 0}, + {0xbf888b75, 127, 2, 0}, + {0xbf8c1116, 97, 0, 0}, + {0xbf8d7db6, 24, 0, 0}, + {0xbf93112a, 92, 0, 0}, + {0xbf968b1e, 165, 0, 0}, + {0xbf9adf43, 69, 0, 0}, + {0xbfbfd25d, 0, 1, 0}, + {0xbfc7a2e9, 24, 0, 0}, + {0xbfe0e37f, 68, 1, 191}, + {0xbffcf247, 117, 0, 0}, + {0xc0103592, 92, 2, 0}, + {0xc032e5b0, 126, 1, 1092}, + {0xc042515a, 95, 0, 0}, + {0xc05a365b, 174, 0, 0}, + {0xc05bbdfc, 148, 0, 0}, + {0xc05d2034, 188, 1, 490}, + {0xc0605945, 92, 0, 0}, + {0xc060ed0a, 192, 0, 0}, + {0xc09bf032, 160, 0, 0}, + {0xc0b23520, 188, 1, 289}, + {0xc0b2aa1f, 0, 1, 0}, + {0xc0bd6275, 92, 1, 788}, + {0xc0dd00e0, 97, 1, 1088}, + {0xc0e35dae, 156, 0, 0}, + {0xc0ededd0, 100, 2, 0}, + {0xc0ef49ac, 95, 0, 0}, + {0xc0f173c4, 161, 0, 0}, + {0xc0f73d85, 0, 1, 0}, + {0xc0fb91ac, 156, 0, 0}, + {0xc0fed437, 89, 0, 0}, + {0xc11c7da2, 115, 1, 1290}, + {0xc138cfea, 46, 0, 0}, + {0xc15a50fc, 126, 2, 0}, + {0xc16897d2, 166, 1, 0}, + {0xc17ae2dc, 143, 0, 0}, + {0xc1a9e6c0, 0, 1, 0}, + {0xc1b43207, 182, 1, 892}, + {0xc1b6b2a6, 117, 0, 0}, + {0xc1ba8bb9, 72, 0, 0}, + {0xc1c3636b, 91, 1, 1191}, + {0xc1cd15dd, 129, 2, 0}, + {0xc1cf486a, 180, 0, 0}, + {0xc1cf4948, 145, 0, 0}, + {0xc1d7ab1d, 24, 0, 0}, + {0xc1d9abbf, 24, 0, 0}, + {0xc1dc5b12, 124, 0, 0}, + {0xc1e91d3f, 97, 2, 90}, // Spy Vs Spy (E) [!] + {0xc1fbf659, 100, 0, 0}, + {0xc2222bb1, 92, 0, 0}, + {0xc22c23ab, 39, 0, 0}, + {0xc22ff1d8, 46, 0, 0}, + {0xc237ccb0, 77, 0, 0}, + {0xc23a56da, 115, 1, 991}, + {0xc23cc4ee, 95, 0, 0}, + {0xc247a23d, 100, 1, 193}, + {0xc247cc80, 117, 0, 0}, + {0xc2730c30, 29, 1, 987}, + {0xc273751e, 58, 1, 92}, + {0xc2757acd, 126, 0, 0}, + {0xc283e72d, 126, 0, 0}, + {0xc2840372, 24, 0, 0}, + {0xc2c6827e, 57, 1, 1088}, + {0xc2cfd9d9, 77, 0, 0}, + {0xc2db7551, 24, 1, 689}, + {0xc2df0a00, 92, 0, 0}, + {0xc2ef3422, 2, 0, 0}, + {0xc30848d3, 126, 2, 0}, + {0xc30c9ec9, 60, 0, 0}, + {0xc313ef54, 100, 1, 390}, + {0xc31abe30, 146, 1, 889}, + {0xc31f5585, 126, 0, 0}, + {0xc3244352, 0, 1, 0}, + {0xc3463a3d, 158, 1, 991}, + {0xc346b2cc, 39, 0, 0}, + {0xc36abbec, 173, 0, 0}, + {0xc372399b, 117, 0, 0}, + {0xc382120c, 46, 0, 0}, + {0xc38b1aae, 126, 1, 0}, + {0xc38b62cb, 126, 1, 85}, + {0xc3a0a3e0, 57, 2, 0}, + {0xc3a1b9a8, 42, 0, 0}, + {0xc3aec9fa, 191, 2, 0}, + {0xc3ba98ee, 100, 0, 0}, + {0xc3c7a568, 4, 1, 987}, + {0xc3d9b673, 100, 1, 1288}, + {0xc3df85c3, 100, 0, 0}, + {0xc3f85d1e, 0, 1, 0}, + {0xc420552f, 20, 0, 0}, + {0xc43da8e2, 165, 1, 590}, + {0xc4482b58, 89, 0, 0}, + {0xc471e42d, 100, 1, 1288}, + {0xc47efc0e, 15, 1, 0}, + {0xc4835a34, 77, 0, 0}, + {0xc48363b4, 25, 0, 0}, + {0xc48ddb52, 54, 0, 0}, + {0xc4966242, 77, 0, 0}, + {0xc4b6ed3c, 104, 1, 891}, + {0xc4bc85a2, 100, 1, 888}, + {0xc4c3949a, 126, 1, 686}, + {0xc4cd7431, 104, 0, 0}, + {0xc4d97c46, 158, 1, 1193}, + {0xc4dcbb18, 169, 0, 0}, + {0xc4e1886f, 133, 0, 0}, + {0xc4e5abb8, 39, 0, 0}, + {0xc4e8c04a, 34, 1, 1186}, + {0xc50149db, 160, 0, 0}, + {0xc50a8304, 0, 1, 0}, + {0xc527c297, 104, 1, 393}, + {0xc529c604, 24, 0, 0}, + {0xc53cf1d0, 100, 2, 0}, + {0xc55a3393, 188, 1, 688}, + {0xc577fe32, 183, 0, 0}, + {0xc57fce87, 40, 1, 0}, + {0xc59641b6, 31, 1, 0}, + {0xc5b0b1ab, 100, 1, 987}, + {0xc5b80dce, 183, 0, 0}, + {0xc5b8efea, 77, 0, 0}, + {0xc5cfe54e, 97, 0, 0}, + {0xc5fea9f2, 25, 0, 0}, + {0xc6000085, 115, 1, 291}, + {0xc6182024, 99, 1, 1089}, + {0xc6224026, 77, 0, 0}, + {0xc62793cf, 100, 1, 1288}, + {0xc62d9630, 66, 0, 0}, + {0xc6475c2a, 46, 0, 0}, + {0xc651e21a, 0, 1, 0}, + {0xc6557e02, 117, 0, 0}, + {0xc655c077, 164, 0, 0}, + {0xc66fb098, 24, 0, 0}, + {0xc6790794, 0, 1, 0}, + {0xc68363f6, 124, 0, 0}, + {0xc6a4bf7b, 164, 0, 0}, + {0xc6a66b68, 24, 0, 0}, + {0xc6acceea, 2, 0, 0}, + {0xc6add8c5, 117, 0, 0}, + {0xc6b5d7e0, 76, 0, 0}, + {0xc6c226bf, 74, 1, 590}, + {0xc6cc7417, 54, 0, 0}, + {0xc6d62814, 100, 0, 0}, + {0xc6dd7e69, 6, 1, 1089}, + {0xc701a262, 1, 0, 0}, + {0xc708fbed, 166, 1, 0}, + {0xc70bd0f8, 165, 1, 690}, + {0xc7198f2d, 4, 2, 0}, + {0xc71c7619, 156, 1, 1188}, + {0xc71d4ce7, 100, 0, 0}, + {0xc71e77ca, 165, 0, 0}, + {0xc7347bc0, 46, 1, 188}, + {0xc73b82fc, 10, 1, 0}, + {0xc740eb46, 4, 1, 1190}, + {0xc747ac41, 156, 0, 0}, + {0xc74dd019, 156, 0, 0}, + {0xc7642467, 100, 0, 0}, + {0xc769bb34, 55, 0, 0}, + {0xc76aadf4, 174, 0, 0}, + {0xc76fc363, 92, 2, 0}, + {0xc78d17d3, 126, 1, 290}, + {0xc7908669, 0, 1, 0}, + {0xc79d050e, 100, 0, 0}, + {0xc7a79be2, 117, 0, 0}, + {0xc7bce866, 0, 1, 0}, + {0xc7c09049, 126, 0, 0}, + {0xc7c64533, 66, 0, 0}, + {0xc7ce1429, 30, 0, 0}, + {0xc7f0c457, 14, 1, 1092}, + {0xc7f5b3d8, 0, 1, 0}, + {0xc7fbecc3, 100, 1, 490}, + {0xc7fd5388, 55, 0, 0}, + {0xc811dc7a, 117, 0, 0}, + {0xc8133b04, 117, 0, 0}, + {0xc8160857, 92, 0, 0}, + {0xc8272d94, 27, 1, 89}, + {0xc85bf3e3, 0, 1, 0}, + {0xc86a1f7d, 92, 0, 0}, + {0xc8859038, 100, 0, 0}, + {0xc89385df, 153, 1, 1193}, + {0xc898e6c1, 0, 1, 0}, + {0xc8a10b71, 142, 1, 991}, + {0xc8ad4f32, 126, 1, 789}, + {0xc8edc97e, 175, 0, 0}, + {0xc9187b43, 132, 0, 0}, + {0xc92b814b, 160, 2, 0}, + {0xc94ac75f, 0, 1, 0}, + {0xc95321a8, 126, 0, 0}, + {0xc95480d0, 100, 1, 987}, + {0xc9556b36, 155, 0, 0}, + {0xc96971e2, 126, 1, 1085}, + {0xc96c6f04, 192, 0, 0}, + {0xc970ad09, 69, 0, 0}, + {0xc973699d, 68, 1, 390}, + {0xc9762ab4, 24, 0, 0}, + {0xc993258f, 195, 0, 0}, + {0xc99b690a, 160, 2, 0}, + {0xc9aa7110, 100, 0, 0}, + {0xc9acec1d, 77, 0, 0}, + {0xc9c2a1ec, 92, 0, 0}, + {0xc9cce8f2, 126, 0, 0}, + {0xc9edf585, 46, 0, 0}, + {0xc9ffc5fc, 126, 0, 0}, + {0xca026f1f, 104, 1, 392}, + {0xca033b3a, 153, 1, 1290}, + {0xca06cb60, 0, 1, 0}, + {0xca0a869e, 40, 1, 0}, + {0xca114aac, 40, 1, 0}, + {0xca24a1a2, 156, 0, 0}, + {0xca279a8f, 0, 1, 0}, + {0xca37aa92, 200, 1, 0}, + {0xca3e9b1a, 126, 0, 0}, + {0xca594ace, 126, 1, 1088}, + {0xca680e61, 74, 1, 0}, + {0xca69751b, 117, 0, 0}, + {0xca6a7bf1, 117, 0, 0}, + {0xca7afb3f, 66, 0, 0}, + {0xca8efc8a, 117, 0, 0}, + {0xca96ad0e, 100, 0, 0}, + {0xcaaf5c6b, 0, 1, 0}, + {0xcac5c86b, 135, 1, 0}, + {0xcaf9cc4c, 115, 1, 690}, + {0xcb02a930, 126, 1, 1090}, + {0xcb0a3af4, 174, 0, 0}, + {0xcb0a76b1, 155, 0, 0}, + {0xcb15ba34, 46, 1, 0}, + {0xcb1967e9, 160, 1, 188}, + {0xcb25a2ca, 104, 1, 1193}, + {0xcb275051, 100, 1, 689}, + {0xcb32e243, 34, 0, 0}, + {0xcb475567, 163, 1, 190}, + {0xcb5acb49, 34, 0, 0}, + {0xcb5c3b38, 178, 0, 0}, + {0xcb66694a, 66, 0, 0}, + {0xcb7e529d, 24, 0, 0}, + {0xcb9e67a6, 160, 0, 0}, + {0xcbb545c1, 160, 0, 0}, + {0xcbd413a9, 55, 0, 0}, + {0xcbd6cf2c, 158, 1, 1292}, + {0xcbe85490, 126, 0, 0}, + {0xcbe9482f, 24, 0, 0}, + {0xcbf4366f, 166, 1, 0}, + {0xcbf4cdf6, 77, 0, 0}, + {0xcc0034e3, 143, 0, 0}, + {0xcc2c4b5d, 126, 0, 0}, + {0xcc3544b0, 93, 0, 0}, + {0xcc37094c, 57, 1, 490}, + {0xcc65ab83, 160, 0, 0}, + {0xcc6ad67b, 198, 0, 0}, + {0xcc710d52, 126, 0, 0}, + {0xcc7a4dca, 111, 0, 0}, + {0xcc8a8652, 34, 0, 0}, + {0xcc93a320, 92, 0, 0}, + {0xcca983f8, 24, 1, 1086}, + {0xccaf32dc, 68, 1, 788}, + {0xccaf543a, 160, 0, 0}, + {0xcccaf368, 33, 1, 0}, + {0xccd575a1, 0, 1, 0}, + {0xccdcbfc6, 33, 1, 0}, + {0xcce0cc10, 34, 0, 0}, + {0xccf6bdb2, 165, 0, 0}, + {0xcd00249b, 126, 0, 0}, + {0xcd01471d, 116, 1, 190}, + {0xcd05d34e, 97, 1, 0}, // "Proto" + {0xcd10dce2, 89, 1, 990}, + {0xcd2a6427, 158, 1, 1091}, + {0xcd2a73f0, 188, 1, 1091}, + {0xcd2ac92c, 126, 1, 1090}, + {0xcd2b058c, 0, 1, 0}, + {0xcd35e2e9, 99, 1, 1191}, + {0xcd50a092, 166, 1, 0}, + {0xcd6549ea, 100, 0, 0}, + {0xcd7a2fd7, 155, 0, 0}, + {0xcd8233ef, 133, 0, 0}, + {0xcd8b279f, 126, 2, 0}, + {0xcd9acf43, 69, 0, 0}, + {0xcdac270d, 68, 1, 1088}, + {0xcdb8c6a5, 41, 0, 0}, + {0xcdc3350b, 127, 1, 1091}, + {0xcdc641fc, 115, 1, 1093}, + {0xcdca4513, 34, 0, 0}, + {0xcdd62ab2, 45, 0, 0}, + {0xcdef1c0d, 150, 0, 0}, + {0xce00022d, 165, 1, 289}, + {0xce06f2d4, 76, 0, 0}, + {0xce07194f, 24, 0, 0}, + {0xce090b49, 33, 1, 0}, + {0xce228874, 163, 1, 390}, + {0xce27fa04, 126, 1, 1085}, + {0xce3f8820, 0, 1, 0}, + {0xce77b4be, 4, 1, 692}, + {0xce90983a, 160, 0, 0}, + {0xcea35d5a, 160, 0, 0}, + {0xceb65b06, 182, 1, 693}, + {0xcebd2a31, 126, 1, 590}, + {0xcebe3e09, 156, 0, 0}, + {0xcece4cfc, 92, 0, 0}, + {0xceceaa31, 0, 1, 0}, + {0xcee5857b, 2, 0, 0}, + {0xcf0c9d97, 97, 0, 0}, + {0xcf23290f, 117, 0, 0}, + {0xcf26a149, 142, 1, 1089}, + {0xcf26c7a1, 104, 1, 989}, + {0xcf322bb3, 182, 1, 389}, + {0xcf3b904c, 81, 0, 0}, + {0xcf40b1c5, 97, 0, 0}, + {0xcf4487a2, 65, 1, 991}, + {0xcf4dbdbe, 160, 0, 0}, + {0xcf5df8ba, 126, 1, 1093}, + {0xcf5f8af0, 22, 1, 1291}, + {0xcf6c88b6, 126, 1, 686}, + {0xcf7ca9bd, 170, 2, 0}, + {0xcf849f72, 165, 2, 0}, + {0xcf9cf7a2, 179, 0, 0}, + {0xcfae9dfa, 17, 1, 990}, + {0xcfd0cc7b, 193, 0, 0}, + {0xcfd4a281, 150, 0, 0}, + {0xcfd5ac62, 200, 1, 0}, + {0xd029f841, 34, 2, 0}, + {0xd0350e25, 41, 0, 0}, + {0xd054ffb0, 126, 1, 394}, + {0xd05cea69, 66, 0, 0}, + {0xd071a15d, 0, 0, 87}, + {0xd09b74dc, 143, 0, 0}, + {0xd0a9f4e1, 55, 0, 0}, + {0xd0c6e757, 195, 0, 0}, + {0xd0cc5ec8, 77, 0, 0}, + {0xd0df726e, 180, 0, 0}, + {0xd0e53454, 160, 0, 0}, + {0xd0eb749f, 92, 0, 0}, + {0xd0f70e36, 156, 2, 0}, + {0xd131bf15, 34, 1, 8}, + {0xd1397940, 89, 0, 0}, + {0xd152fb02, 173, 1, 790}, + {0xd153caf6, 88, 2, 90}, // Swords and Serpents (E) [!] + {0xd161888b, 84, 2, 0}, + {0xd1691028, 117, 0, 0}, + {0xd175b0cb, 191, 0, 0}, + {0xd188963d, 40, 1, 0}, + {0xd18a3dde, 126, 0, 0}, + {0xd18e6be3, 142, 1, 1289}, + {0xd19addeb, 126, 1, 490}, + {0xd19dcb2b, 123, 1, 991}, + {0xd1bde95c, 11, 1, 0}, + {0xd1d0496f, 186, 1, 1193}, + {0xd1d1b61e, 92, 0, 0}, + {0xd1e50064, 21, 0, 0}, + {0xd1f7df3a, 178, 0, 0}, + {0xd1fb1533, 156, 1, 90}, + {0xd202612b, 89, 0, 0}, + {0xd2038fc5, 89, 0, 0}, + {0xd20bb617, 92, 2, 0}, + {0xd2121f97, 100, 1, 1288}, + {0xd21da4f7, 56, 2, 0}, + {0xd24de7f9, 76, 0, 0}, + {0xd255c7a3, 179, 0, 0}, + {0xd2562072, 4, 1, 392}, + {0xd2574720, 34, 1, 1288}, + {0xd2699893, 117, 0, 0}, + {0xd26efd78, 126, 1, 1188}, + {0xd273b409, 160, 1, 1092}, + {0xd2754add, 0, 1, 0}, + {0xd27b9d50, 104, 0, 0}, + {0xd29db3c7, 155, 0, 0}, + {0xd2bc86f3, 93, 0, 0}, + {0xd2e775d8, 174, 0, 0}, + {0xd308d52c, 29, 1, 987}, + {0xd313adfd, 38, 0, 0}, + {0xd31dc910, 34, 0, 0}, + {0xd31e4238, 126, 1, 686}, + {0xd3428e2e, 65, 1, 991}, + {0xd343c66a, 24, 0, 0}, + {0xd359e02e, 140, 0, 0}, + {0xd377cc36, 31, 1, 0}, + {0xd383dc94, 97, 1, 490}, + {0xd386c2bb, 24, 0, 0}, + {0xd3a265ff, 38, 0, 0}, + {0xd3a91b41, 0, 1, 0}, + {0xd3bff72e, 104, 1, 288}, + {0xd3d248c9, 89, 0, 0}, + {0xd3ee724e, 164, 0, 0}, + {0xd4042702, 97, 0, 0}, + {0xd415571f, 0, 1, 0}, + {0xd4304457, 34, 1, 192}, + {0xd445f698, 126, 1, 0}, + {0xd4611b79, 104, 1, 992}, + {0xd467c0cc, 100, 0, 0}, + {0xd48b14ed, 92, 0, 0}, + {0xd4a443d0, 92, 0, 0}, + {0xd4a70d2b, 74, 1, 1291}, + {0xd4a76b07, 15, 1, 0}, + {0xd4d02ebb, 155, 0, 0}, + {0xd4d9e21a, 126, 1, 1085}, + {0xd4dc528d, 34, 1, 192}, + {0xd4e4afcd, 62, 0, 0}, + {0xd4e8ec0b, 165, 1, 992}, + {0xd4f018f5, 126, 1, 1290}, + {0xd4f5287b, 77, 1, 89}, + {0xd52ebaa6, 100, 2, 0}, + {0xd532e98f, 126, 0, 0}, + {0xd534c98e, 165, 1, 690}, + {0xd548307f, 126, 1, 1085}, + {0xd54f21c7, 38, 0, 0}, + {0xd54f5da9, 144, 0, 0}, + {0xd554c455, 97, 0, 0}, + {0xd5566edf, 113, 1, 1292}, + {0xd568563f, 34, 0, 0}, + {0xd5883d6b, 166, 1, 0}, + {0xd58d14e3, 126, 1, 0}, + {0xd58fec16, 160, 1, 887}, + {0xd5941aa9, 120, 0, 0}, + {0xd5c64257, 126, 1, 1085}, + {0xd5c71458, 65, 1, 988}, + {0xd5d7eac4, 126, 0, 0}, + {0xd5f95da7, 0, 1, 0}, + {0xd60e10aa, 24, 0, 0}, + {0xd63b30f5, 74, 1, 1291}, + {0xd653e27b, 120, 0, 0}, + {0xd65c0697, 104, 1, 891}, + {0xd666560f, 117, 0, 0}, + {0xd679627a, 104, 1, 1092}, + {0xd68a6f33, 136, 0, 0}, + {0xd6ae4ab5, 120, 1, 1290}, + {0xd6cc1f78, 92, 0, 0}, + {0xd6d9de37, 3, 1, 592}, + {0xd6da2a1e, 117, 0, 0}, + {0xd6f7383e, 100, 2, 0}, + {0xd711ea15, 126, 1, 1088}, + {0xd71746d4, 156, 0, 0}, + {0xd7215873, 55, 0, 0}, + {0xd72fb9c8, 4, 1, 1292}, + {0xd738c059, 24, 1, 890}, + {0xd73aa04c, 127, 1, 693}, + {0xd745d7cb, 24, 2, 0}, + {0xd74b2719, 126, 1, 1188}, + {0xd7679a0e, 165, 2, 0}, + {0xd76a57bf, 173, 2, 0}, + {0xd770c1a9, 126, 1, 787}, + {0xd777d47d, 25, 0, 0}, + {0xd7794afc, 126, 1, 593}, + {0xd77b73c8, 34, 1, 690}, + {0xd78729fd, 92, 1, 0}, + {0xd78f47ae, 91, 1, 792}, + {0xd7961e01, 100, 0, 0}, + {0xd7a97b38, 161, 0, 0}, + {0xd7aa0b6d, 117, 0, 0}, + {0xd7ae93df, 0, 1, 0}, + {0xd7b35f7d, 100, 2, 0}, + {0xd7c4816b, 182, 1, 389}, + {0xd7cb398f, 165, 0, 0}, + {0xd7e29c03, 24, 1, 690}, + {0xd7f6320c, 74, 1, 0}, + {0xd7fabac1, 100, 0, 0}, + {0xd7fb558e, 83, 0, 0}, + {0xd7fda595, 117, 0, 0}, + {0xd821a1c6, 165, 0, 0}, + {0xd8230d0e, 153, 1, 492}, + {0xd836a90b, 126, 1, 389}, + {0xd83c671a, 104, 1, 1187}, + {0xd8447fa4, 92, 1, 90}, + {0xd84663b8, 178, 0, 0}, + {0xd84cda4c, 117, 0, 0}, + {0xd852c2f7, 149, 0, 0}, + {0xd8578bfd, 100, 1, 393}, + {0xd858033d, 143, 0, 0}, + {0xd85d26a4, 179, 0, 0}, + {0xd8748e0a, 92, 0, 0}, + {0xd878ebf5, 165, 0, 0}, + {0xd88293fa, 128, 0, 0}, + {0xd88d48d7, 160, 1, 192}, + {0xd89b40c8, 24, 0, 0}, + {0xd8a0c10c, 100, 0, 0}, + {0xd8e641a3, 32, 0, 0}, + {0xd8ee1e43, 32, 0, 0}, + {0xd8ee7669, 6, 1, 1290}, + {0xd8eff0df, 100, 0, 0}, + {0xd8f651e2, 77, 0, 0}, + {0xd907b2e8, 117, 0, 0}, + {0xd9084936, 176, 0, 0}, + {0xd920f9df, 160, 0, 0}, + {0xd923eb5b, 34, 0, 0}, + {0xd9350367, 147, 0, 0}, + {0xd9612836, 25, 0, 0}, + {0xd9736a6d, 2, 1, 492}, + {0xd97595a3, 92, 0, 0}, + {0xd979c8b7, 69, 0, 0}, + {0xd97c31b0, 117, 0, 0}, + {0xd9803a35, 117, 0, 0}, + {0xd98138c4, 34, 0, 0}, + {0xd988bdc0, 156, 0, 0}, + {0xd98e3e31, 0, 1, 0}, + {0xd99a2087, 100, 0, 0}, + {0xd9bb572c, 123, 1, 790}, + {0xd9c093b1, 160, 0, 0}, + {0xd9e8e747, 0, 1, 0}, + {0xd9f1e47c, 34, 0, 0}, + {0xda05d696, 126, 0, 0}, + {0xda122635, 93, 0, 0}, + {0xda23166a, 0, 1, 0}, + {0xda2cb59a, 104, 1, 1090}, + {0xda40e4a2, 120, 0, 0}, + {0xda4de327, 46, 0, 0}, + {0xda690d17, 20, 0, 0}, + {0xda6ccd81, 92, 0, 0}, + {0xda731f14, 133, 0, 0}, + {0xda8b5993, 117, 0, 0}, + {0xdaadebfa, 179, 0, 0}, + {0xdab84a9c, 160, 1, 0}, + {0xdaba9e8e, 142, 1, 1290}, + {0xdad34ee6, 191, 0, 0}, + {0xdaeb93ed, 100, 0, 0}, + {0xdaee19f2, 92, 1, 788}, + {0xdaf9d7e3, 46, 1, 587}, + {0xdb05106e, 24, 0, 0}, + {0xdb0b7db0, 100, 0, 0}, + {0xdb0c3656, 0, 1, 0}, + {0xdb0c7019, 0, 1, 0}, + {0xdb196068, 160, 0, 0}, + {0xdb2d711d, 117, 0, 0}, + {0xdb479677, 55, 0, 0}, + {0xdb511963, 54, 0, 0}, + {0xdb5169dc, 160, 0, 0}, + {0xdb53a88d, 92, 0, 0}, + {0xdb564628, 126, 0, 0}, + {0xdb70a67c, 30, 1, 990}, + {0xdb770ca7, 92, 1, 788}, + {0xdb844a39, 100, 0, 0}, + {0xdb9418e8, 100, 0, 0}, + {0xdb99d0cb, 33, 1, 0}, + {0xdb9dcf89, 77, 1, 189}, + {0xdba3a02e, 89, 0, 0}, + {0xdbb06a25, 24, 1, 1289}, + {0xdbbd1de9, 0, 1, 0}, + {0xdbdefceb, 37, 0, 0}, + {0xdbece74f, 25, 0, 0}, + {0xdbf90772, 143, 1, 1087}, + {0xdc02f095, 104, 1, 790}, + {0xdc1e07d2, 190, 0, 0}, + {0xdc270779, 166, 1, 0}, + {0xdc2a266c, 10, 1, 0}, + {0xdc33aed8, 2, 0, 0}, + {0xdc4da5d4, 46, 1, 687}, + {0xdc52bf0c, 24, 0, 0}, + {0xdc5930ab, 83, 0, 0}, + {0xdc75732f, 20, 0, 0}, + {0xdc87f63d, 114, 1, 89}, + {0xdcb71ca6, 159, 0, 0}, + {0xdcb7c0a1, 160, 0, 0}, + {0xdcb94341, 0, 1, 0}, + {0xdcb972ce, 24, 0, 0}, + {0xdcba4a78, 84, 2, 0}, + {0xdcbcc7a2, 0, 1, 0}, + {0xdcd8d6f4, 39, 0, 0}, + {0xdcdf06de, 117, 0, 0}, + {0xdcea8dc4, 117, 0, 0}, + {0xdcf5fa30, 46, 0, 0}, + {0xdcfd85fc, 0, 1, 0}, + {0xdd29fd59, 117, 0, 0}, + {0xdd454208, 117, 0, 0}, + {0xdd516f89, 57, 1, 490}, + {0xdd53c4ae, 100, 0, 0}, + {0xdd564975, 20, 1, 190}, + {0xdd6a44b5, 156, 0, 0}, + {0xdd8ed0f7, 24, 0, 0}, + {0xdda9f780, 92, 0, 0}, + {0xddad5880, 84, 0, 0}, + {0xddd90c39, 120, 1, 1290}, + {0xdddc649b, 117, 0, 0}, + {0xdde40381, 199, 0, 0}, + {0xdde46aad, 45, 0, 0}, + {0xddf29542, 4, 1, 987}, + {0xddfb8dd5, 159, 0, 0}, + {0xde182c88, 46, 1, 790}, + {0xde1d762f, 0, 1, 0}, + {0xde2070ab, 117, 0, 0}, + {0xde25b90f, 100, 1, 487}, + {0xde395efd, 100, 0, 0}, + {0xde7e6767, 87, 1, 93}, + {0xde8c89ab, 126, 1, 1290}, + {0xde8fd935, 126, 1, 1189}, + {0xde9c9c64, 160, 0, 0}, + {0xdea0d843, 57, 2, 0}, + {0xdea62da3, 24, 0, 0}, + {0xdeb21c9e, 177, 0, 0}, + {0xdebea5a6, 165, 0, 0}, + {0xdeddd5e5, 164, 0, 0}, + {0xdee059e7, 114, 1, 390}, + {0xdefd7665, 115, 1, 93}, + {0xdefe6e8d, 90, 0, 0}, + {0xdf16890a, 107, 0, 0}, + {0xdf189d34, 100, 0, 0}, + {0xdf28a039, 165, 1, 787}, + {0xdf3776c6, 21, 0, 0}, + {0xdf38e21c, 48, 0, 0}, + {0xdf3e45d2, 100, 0, 0}, + {0xdf3eb610, 100, 0, 0}, + {0xdf43e073, 196, 1, 0}, // "Proto" + {0xdf58fc5a, 126, 1, 1085}, + {0xdf64963b, 115, 1, 190}, + {0xdf67daa1, 126, 1, 1085}, + {0xdfa111f1, 153, 1, 993}, + {0xdfc0ce21, 23, 0, 0}, + {0xdfd70e27, 24, 1, 988}, + {0xdfd9a2ee, 126, 0, 0}, + {0xdff6cf19, 46, 1, 1187}, + {0xe02133ac, 147, 0, 0}, + {0xe03d1e02, 66, 0, 0}, + {0xe042a0ef, 0, 1, 0}, + {0xe054a381, 15, 1, 0}, + {0xe06a060b, 67, 1, 91}, + {0xe086e68e, 117, 0, 0}, + {0xe08c8a60, 39, 0, 0}, + {0xe095c3f2, 160, 1, 893}, + {0xe09d2cd0, 92, 1, 91}, + {0xe0ac6242, 100, 2, 0}, + {0xe0bc622d, 160, 1, 1190}, + {0xe0cbc2ba, 120, 0, 0}, + {0xe0fe0a18, 100, 1, 1292}, + {0xe0fffbd2, 34, 2, 0}, + {0xe12bb5fb, 158, 1, 1192}, + {0xe1383deb, 100, 0, 0}, + {0xe1404f15, 24, 0, 0}, + {0xe145b441, 68, 1, 692}, + {0xe14a7971, 0, 1, 0}, + {0xe1526228, 117, 0, 0}, + {0xe15c973d, 94, 0, 0}, + {0xe16bb5fe, 89, 0, 0}, + {0xe170404c, 24, 0, 0}, + {0xe1789032, 38, 0, 0}, + {0xe17e3b54, 196, 1, 894}, + {0xe180297f, 104, 1, 289}, + {0xe18ab050, 24, 0, 0}, + {0xe19293a2, 2, 0, 0}, + {0xe19a2473, 164, 0, 0}, + {0xe19ee99c, 100, 1, 192}, + {0xe1a2e5b5, 117, 0, 0}, + {0xe1a987e7, 46, 0, 0}, + {0xe1acc990, 72, 0, 0}, + {0xe1b260da, 165, 0, 0}, + {0xe1c03eb6, 78, 0, 0}, + {0xe1c41d7c, 142, 1, 990}, + {0xe1cefa12, 126, 2, 0}, + {0xe1dc9b54, 195, 0, 0}, + {0xe1e307f1, 126, 0, 0}, + {0xe20779c6, 77, 0, 0}, + {0xe20fca45, 156, 0, 0}, + {0xe2281986, 34, 0, 0}, + {0xe2313813, 34, 1, 390}, + {0xe23e6fac, 77, 0, 0}, + {0xe2428b3c, 166, 1, 90}, + {0xe24483b1, 165, 0, 0}, + {0xe24704c9, 160, 0, 0}, + {0xe24df353, 193, 0, 0}, + {0xe266f83a, 77, 0, 0}, + {0xe28f2596, 117, 0, 0}, + {0xe292aa10, 57, 1, 1087}, + {0xe294c86f, 159, 0, 0}, + {0xe2a79a57, 69, 0, 0}, + {0xe2b43a68, 12, 1, 489}, + {0xe2c0a2be, 156, 0, 0}, + {0xe2c4edce, 156, 1, 990}, + {0xe2e92524, 150, 0, 0}, + {0xe2eca5ce, 24, 0, 0}, + {0xe305202e, 149, 0, 0}, + {0xe30552db, 32, 0, 0}, + {0xe30736d7, 29, 1, 987}, + {0xe30b2bcf, 180, 0, 0}, + {0xe30b7f64, 89, 0, 0}, + {0xe333ffa1, 72, 0, 0}, + {0xe349af38, 100, 0, 0}, + {0xe35321bc, 166, 1, 0}, + {0xe353969f, 92, 1, 291}, + {0xe3626d51, 92, 0, 0}, + {0xe362ecdc, 192, 0, 0}, + {0xe3664231, 77, 0, 0}, + {0xe36d5991, 0, 1, 0}, + {0xe3765667, 100, 1, 190}, + {0xe37f82cc, 126, 1, 0}, + {0xe386da54, 126, 0, 0}, + {0xe387c77f, 6, 1, 492}, + {0xe3a6d7f6, 0, 1, 0}, + {0xe3b98143, 100, 0, 0}, + {0xe3c5bb3d, 188, 1, 990}, + {0xe3ef6c9a, 126, 0, 0}, + {0xe3f3f6ae, 115, 1, 1288}, + {0xe402b134, 56, 2, 0}, + {0xe40b4973, 117, 0, 0}, + {0xe40b593b, 0, 1, 0}, + {0xe41ae491, 46, 1, 390}, + {0xe429f0d3, 176, 0, 0}, + {0xe43075eb, 117, 0, 0}, + {0xe431136d, 0, 1, 0}, + {0xe44001d8, 201, 0, 0}, + {0xe4541f6d, 0, 1, 0}, + {0xe45485a5, 117, 0, 0}, + {0xe46c156d, 133, 0, 0}, + {0xe476313e, 0, 1, 0}, + {0xe47e9fa7, 160, 0, 0}, + {0xe488a2f0, 166, 1, 0}, + {0xe492d45a, 89, 0, 0}, + {0xe49fc53e, 24, 0, 0}, + {0xe4a1777e, 100, 0, 0}, + {0xe4c04eea, 100, 0, 0}, + {0xe4c1a245, 6, 2, 0}, + {0xe4ceead1, 100, 0, 0}, + {0xe4cf03d3, 24, 0, 0}, + {0xe4cf4e13, 46, 0, 0}, + {0xe4e3d2ed, 117, 0, 0}, + {0xe50a9130, 97, 1, 889}, + {0xe52687d0, 156, 1, 290}, + {0xe53f7a55, 124, 0, 0}, + {0xe54138a9, 126, 2, 0}, + {0xe542e3cf, 100, 1, 192}, + {0xe5703fc4, 77, 1, 1090}, + {0xe575687c, 3, 1, 993}, + {0xe583ec5e, 151, 0, 0}, + {0xe5a8401b, 6, 2, 0}, + {0xe5a972be, 126, 2, 0}, + {0xe5d11921, 117, 0, 0}, + {0xe5d49424, 193, 0, 0}, + {0xe5d93c8f, 156, 1, 292}, + {0xe5edcde3, 126, 1, 1085}, + {0xe5f49166, 4, 1, 1289}, + {0xe60c5258, 20, 0, 0}, + {0xe61e89ee, 156, 0, 0}, + {0xe62a531b, 156, 0, 0}, + {0xe62e3382, 33, 1, 0}, + {0xe63d9193, 133, 0, 0}, + {0xe63f7d0b, 92, 0, 0}, + {0xe641bd98, 0, 1, 0}, + {0xe64b8975, 117, 0, 0}, + {0xe6517826, 0, 1, 0}, + {0xe66bddcf, 97, 0, 0}, + {0xe66e59a0, 77, 0, 0}, + {0xe675ba2a, 120, 0, 0}, + {0xe6779074, 0, 1, 0}, + {0xe699a97c, 24, 0, 0}, + {0xe6a477b2, 4, 1, 987}, + {0xe6b30bb3, 34, 0, 0}, + {0xe6c28c5f, 99, 0, 0}, + {0xe6c9029e, 100, 0, 0}, + {0xe6d73266, 9, 0, 0}, + {0xe6df6616, 100, 0, 0}, + {0xe6f08e93, 126, 1, 387}, + {0xe6f5fdd2, 92, 0, 0}, + {0xe713f464, 156, 0, 0}, + {0xe71d034e, 100, 2, 91}, // Snake's Revenge (E) [!] + {0xe737a11f, 0, 1, 0}, + {0xe73e7260, 166, 1, 0}, + {0xe74a91bb, 12, 1, 690}, + {0xe74aa15a, 150, 0, 0}, + {0xe77268ec, 156, 0, 0}, + {0xe78a394c, 25, 0, 0}, + {0xe792de94, 2, 0, 0}, + {0xe7a3867b, 53, 0, 0}, + {0xe7b03b03, 24, 0, 0}, + {0xe7ba371d, 34, 1, 789}, + {0xe7baa5f6, 192, 0, 0}, + {0xe7c72dbb, 99, 1, 392}, + {0xe7c981a2, 22, 1, 1192}, + {0xe7da8a04, 153, 1, 292}, + {0xe7ff1a3d, 104, 1, 488}, + {0xe801f662, 160, 0, 0}, + {0xe80b9027, 164, 0, 0}, + {0xe840fd21, 126, 1, 290}, + {0xe84274c5, 92, 0, 0}, + {0xe8456051, 126, 0, 0}, + {0xe84f40e5, 142, 1, 792}, + {0xe86e4df1, 72, 0, 0}, + {0xe87d33a0, 133, 0, 0}, + {0xe880d426, 58, 1, 90}, + {0xe8941598, 166, 1, 0}, + {0xe8973b45, 101, 0, 0}, + {0xe8af6ff5, 178, 0, 0}, + {0xe8b20197, 126, 0, 0}, + {0xe8b4834c, 100, 0, 0}, + {0xe8b7c767, 117, 0, 0}, + {0xe8baa782, 192, 0, 0}, + {0xe8bbe2be, 195, 0, 0}, + {0xe8d26cb0, 126, 1, 0}, + {0xe8f8f7a5, 126, 2, 0}, + {0xe9023072, 92, 0, 0}, + {0xe90507fa, 100, 0, 0}, + {0xe909d14a, 77, 0, 0}, + {0xe90d4a9f, 92, 0, 0}, + {0xe911bcc4, 117, 0, 0}, + {0xe91548d8, 126, 0, 0}, + {0xe9176129, 160, 0, 0}, + {0xe91f17c2, 117, 0, 0}, + {0xe922037c, 117, 0, 0}, + {0xe92aed05, 97, 1, 190}, + {0xe93d07d7, 117, 0, 0}, + {0xe940d56f, 155, 0, 0}, + {0xe943ec4d, 24, 1, 791}, + {0xe949ef8a, 1, 0, 0}, + {0xe94d5181, 128, 0, 0}, + {0xe94e883d, 126, 2, 88}, // Super Mario Bros 2 (E) [!] + {0xe95454fc, 102, 0, 0}, + {0xe95752bd, 0, 1, 0}, + {0xe98ab943, 158, 1, 1193}, + {0xe9a6c211, 188, 1, 291}, + {0xe9aa0400, 90, 0, 0}, + {0xe9bc16ff, 128, 0, 0}, + {0xe9c387ec, 14, 1, 190}, + {0xe9cf747f, 34, 1, 85}, + {0xe9d1ec63, 92, 0, 0}, + {0xe9d352eb, 4, 2, 0}, + {0xe9e27b7b, 0, 1, 0}, + {0xe9f16673, 130, 1, 0}, + {0xe9f5be99, 0, 1, 0}, + {0xea08700b, 77, 0, 0}, + {0xea113128, 40, 1, 0}, + {0xea2b9d3f, 60, 0, 0}, + {0xea3e78dd, 92, 0, 0}, + {0xea4eb69e, 143, 1, 291}, + {0xea62f88f, 76, 0, 0}, + {0xea74c587, 100, 0, 0}, + {0xea79cc19, 150, 0, 0}, + {0xea812597, 92, 0, 0}, + {0xea89963f, 161, 0, 0}, + {0xea9f7a09, 200, 1, 0}, + {0xeab93cfb, 69, 0, 0}, + {0xead17d60, 166, 1, 0}, + {0xeadf0b97, 134, 0, 0}, + {0xeaf7ed72, 126, 1, 0}, + {0xeafc4944, 100, 0, 0}, + {0xeb0bda7e, 166, 1, 0}, + {0xeb0f903a, 142, 1, 92}, + {0xeb15169e, 131, 1, 690}, + {0xeb297321, 117, 0, 0}, + {0xeb2c8f4d, 34, 0, 0}, + {0xeb465156, 43, 0, 0}, + {0xeb61133b, 160, 1, 1190}, + {0xeb6daea5, 126, 1, 1088}, + {0xeb71a6c5, 34, 1, 392}, + {0xeb75ca30, 117, 0, 0}, + {0xeb764567, 117, 0, 0}, + {0xeb803610, 20, 1, 1191}, + {0xeb807320, 89, 0, 0}, + {0xeb84c54c, 104, 1, 591}, + {0xeb9960ee, 4, 1, 290}, + {0xebac24e9, 124, 0, 0}, + {0xebb1c045, 66, 0, 0}, + {0xebbc6ba8, 77, 0, 0}, + {0xebcf8419, 195, 0, 0}, + {0xebcfe7c5, 4, 1, 1289}, + {0xec04f0da, 155, 0, 0}, + {0xec0fc2de, 74, 1, 989}, + {0xec1c5ad5, 20, 1, 1190}, + {0xec3001c7, 29, 1, 987}, + {0xec461db9, 126, 0, 0}, + {0xec47296d, 147, 0, 0}, + {0xec69adf2, 65, 1, 988}, + {0xec8a884f, 100, 0, 0}, + {0xec968c51, 166, 1, 0}, + {0xeca43006, 126, 1, 1088}, + {0xecbf33ce, 124, 0, 0}, + {0xeccd4089, 92, 1, 1088}, + {0xecdbafa4, 160, 0, 0}, + {0xece525dd, 24, 1, 388}, + {0xece951ea, 138, 0, 0}, + {0xecec80b4, 92, 0, 0}, + {0xecf3964d, 133, 0, 0}, + {0xecfd3c69, 160, 0, 0}, + {0xed0aa77b, 77, 0, 0}, + {0xed2465be, 100, 1, 990}, + {0xed36649f, 89, 0, 0}, + {0xed4fb487, 92, 0, 0}, + {0xed55073f, 142, 1, 1289}, + {0xed588f00, 126, 0, 0}, + {0xed58dddd, 40, 1, 89}, + {0xed620003, 195, 0, 0}, + {0xed67811e, 126, 0, 0}, + {0xed77b453, 87, 2, 0}, + {0xed9a3ac6, 24, 0, 0}, + {0xedc3662b, 160, 1, 589}, + {0xedcf1b71, 153, 1, 690}, + {0xedd6d29b, 68, 1, 692}, + {0xedd7479a, 117, 0, 0}, + {0xeddcc468, 34, 0, 0}, + {0xeddd580b, 156, 1, 1090}, + {0xede55d1c, 178, 0, 0}, + {0xedea9ac6, 193, 1, 390}, + {0xee1b0d52, 92, 0, 0}, + {0xee309168, 0, 1, 0}, + {0xee43153e, 34, 0, 0}, + {0xee60b5d6, 117, 0, 0}, + {0xee64327b, 126, 0, 0}, + {0xee6892eb, 4, 1, 1091}, + {0xee693008, 127, 1, 493}, + {0xee6ef957, 161, 0, 0}, + {0xee711afb, 160, 0, 0}, + {0xee875b41, 133, 0, 0}, + {0xee8c9971, 126, 1, 0}, + {0xee921d8e, 188, 1, 689}, + {0xee993635, 69, 0, 0}, + {0xeeb16683, 117, 0, 0}, + {0xeeb7a62b, 126, 1, 1085}, + {0xeeb9252b, 156, 0, 0}, + {0xeee0c7f8, 57, 2, 0}, + {0xeee3f31c, 126, 0, 0}, + {0xeee6314e, 165, 0, 0}, + {0xeee9a682, 99, 0, 0}, + {0xef0c9672, 116, 1, 291}, + {0xef1c8906, 0, 1, 0}, + {0xef40790c, 160, 1, 1291}, + {0xef4649f6, 191, 0, 0}, + {0xef4f5903, 0, 1, 0}, + {0xef4f9b96, 130, 1, 0}, + {0xef5f1d5f, 93, 0, 0}, + {0xef6278f9, 163, 1, 89}, + {0xef7996bf, 117, 0, 0}, + {0xef7af338, 126, 0, 0}, + {0xefb09075, 34, 1, 989}, + {0xefb1df9e, 92, 0, 0}, + {0xefcc2da9, 100, 0, 0}, + {0xefcf375d, 110, 1, 1090}, + {0xefd4837f, 92, 0, 0}, + {0xefd51f04, 193, 1, 0}, + {0xefeb0c34, 100, 0, 0}, + {0xeffd40c3, 188, 1, 691}, + {0xeffe438f, 117, 0, 0}, + {0xeffeea40, 77, 0, 0}, + {0xf00355a0, 147, 0, 0}, + {0xf00584b6, 188, 1, 691}, + {0xf009ddd2, 24, 1, 492}, + {0xf011e490, 99, 1, 991}, + {0xf0302211, 165, 0, 0}, + {0xf04bc5ef, 160, 0, 0}, + {0xf053ac5f, 97, 0, 0}, + {0xf0552f02, 156, 0, 0}, + {0xf05870d5, 15, 1, 0}, + {0xf0632142, 100, 0, 0}, + {0xf08e8ef0, 192, 0, 0}, + {0xf08ed289, 34, 1, 1291}, + {0xf09d0316, 74, 1, 1090}, + {0xf0a4d2f4, 199, 0, 0}, + {0xf0a5eb24, 0, 1, 0}, + {0xf0ae68c0, 24, 0, 0}, + {0xf0c198ff, 0, 2, 0}, + {0xf0c77dcb, 165, 1, 891}, + {0xf0d02f6a, 42, 0, 0}, + {0xf0dab3d3, 115, 1, 1290}, + {0xf0df311e, 4, 1, 291}, + {0xf0e9971b, 34, 1, 1092}, + {0xf1081b1b, 46, 0, 0}, + {0xf159b106, 37, 0, 0}, + {0xf161a5d8, 34, 0, 0}, + {0xf17486df, 43, 0, 0}, + {0xf18180cb, 81, 0, 0}, + {0xf181c021, 29, 1, 489}, + {0xf18eef69, 188, 1, 289}, + {0xf19a11af, 93, 0, 0}, + {0xf19a4249, 0, 1, 0}, + {0xf1a03778, 24, 0, 0}, + {0xf1bdcf18, 160, 0, 0}, + {0xf1c76aed, 39, 0, 0}, + {0xf1d07e3e, 0, 1, 0}, + {0xf1d861ef, 126, 1, 0}, + {0xf1db1ca5, 129, 2, 0}, + {0xf1e2b9e8, 173, 0, 0}, + {0xf1e6b576, 92, 0, 0}, + {0xf1fed9b8, 43, 1, 889}, + {0xf1ffd9f8, 126, 1, 686}, + {0xf200080d, 0, 1, 0}, + {0xf2099df0, 46, 1, 188}, + {0xf210e68f, 126, 1, 1188}, + {0xf21af99c, 126, 0, 0}, + {0xf225e3f5, 161, 0, 0}, + {0xf23c035c, 38, 0, 0}, + {0xf2594374, 136, 0, 0}, + {0xf2641ad0, 126, 1, 890}, + {0xf280184b, 178, 0, 0}, + {0xf28a5b8d, 153, 2, 0}, + {0xf2a6ace1, 92, 1, 190}, + {0xf2a99db1, 100, 0, 0}, + {0xf2a9f64d, 92, 0, 0}, + {0xf2c4836f, 0, 1, 0}, + {0xf2d03ada, 2, 0, 0}, + {0xf2df30b2, 0, 1, 0}, + {0xf2ec0901, 156, 0, 0}, + {0xf2fc8212, 77, 0, 0}, + {0xf304f1b9, 6, 1, 1289}, + {0xf308e97a, 46, 0, 0}, + {0xf31d36a3, 158, 1, 1091}, + {0xf31dcc15, 121, 0, 0}, + {0xf32748a1, 59, 0, 0}, + {0xf34175b3, 92, 0, 0}, + {0xf34190b4, 34, 0, 0}, + {0xf3473009, 117, 0, 0}, + {0xf35e4442, 122, 0, 0}, + {0xf35f14d3, 43, 1, 390}, + {0xf3623561, 175, 0, 0}, + {0xf37befd5, 76, 1, 792}, + {0xf3808245, 76, 0, 0}, + {0xf3826759, 74, 1, 1190}, + {0xf39fd253, 34, 1, 1088}, + {0xf3a36c5f, 38, 0, 0}, + {0xf3c13f19, 156, 0, 0}, + {0xf3c743aa, 34, 1, 1293}, + {0xf3e394d1, 139, 0, 0}, + {0xf3f1269d, 165, 0, 0}, + {0xf3f3a491, 126, 2, 0}, + {0xf3feb3ab, 164, 0, 0}, + {0xf4024666, 99, 1, 1290}, + {0xf4120e58, 99, 0, 0}, + {0xf4174da2, 156, 0, 0}, + {0xf419b383, 174, 0, 0}, + {0xf41add60, 117, 0, 0}, + {0xf42b0dbd, 46, 1, 1186}, + {0xf435dc0c, 171, 0, 0}, + {0xf4615036, 92, 1, 689}, + {0xf470d4e3, 4, 1, 1291}, + {0xf4c83de3, 24, 0, 0}, + {0xf4cd4998, 99, 0, 0}, + {0xf4d46622, 0, 1, 0}, + {0xf4d70c17, 92, 1, 588}, + {0xf4dd5ba5, 144, 0, 0}, + {0xf4dfdb14, 150, 1, 791}, + {0xf4e5df0e, 128, 0, 0}, + {0xf4fb65dd, 69, 0, 0}, + {0xf511566c, 117, 0, 0}, + {0xf518dd58, 114, 1, 690}, + {0xf51e2ffe, 153, 1, 689}, + {0xf532f09a, 193, 1, 988}, + {0xf5399c3c, 126, 0, 0}, + {0xf540677b, 99, 0, 0}, + {0xf54b34bd, 188, 1, 190}, + {0xf54e1dcc, 92, 1, 788}, + {0xf56a5b10, 126, 1, 686}, + {0xf585407a, 133, 0, 0}, + {0xf59cfc3d, 92, 2, 0}, + {0xf59da73c, 160, 0, 0}, + {0xf5a1b8fb, 87, 2, 0}, + {0xf5bfd030, 100, 2, 0}, + {0xf5d061ca, 156, 1, 987}, + {0xf5dfa4a2, 6, 2, 0}, + {0xf5f435b1, 77, 0, 0}, + {0xf5faae4f, 117, 0, 0}, + {0xf5fe896f, 30, 0, 0}, + {0xf6035030, 100, 1, 288}, + {0xf60f6667, 100, 0, 0}, + {0xf6139ee9, 174, 0, 0}, + {0xf613a8f9, 114, 1, 389}, + {0xf6271a51, 100, 0, 0}, + {0xf633813d, 34, 0, 0}, + {0xf635c594, 156, 0, 0}, + {0xf6419d79, 100, 0, 0}, + {0xf64cb545, 92, 0, 0}, + {0xf651398d, 160, 1, 490}, + {0xf66ec512, 126, 0, 0}, + {0xf6751d3d, 54, 0, 0}, + {0xf6898a59, 158, 1, 1192}, + {0xf699ee7e, 166, 1, 0}, + {0xf6aea515, 0, 1, 0}, + {0xf6b24806, 0, 1, 0}, + {0xf6b9799c, 126, 1, 991}, + {0xf6de2aa2, 100, 0, 0}, + {0xf6fa4453, 4, 1, 790}, + {0xf714fae3, 99, 0, 0}, + {0xf71a9931, 4, 2, 0}, + {0xf732c8fd, 33, 1, 0}, + {0xf735d926, 100, 0, 0}, + {0xf74dfc91, 74, 1, 390}, + {0xf751f337, 46, 0, 0}, + {0xf760f1cb, 97, 0, 0}, + {0xf76c815e, 160, 1, 989}, + {0xf786d602, 4, 1, 588}, + {0xf79a75d7, 126, 1, 1294}, + {0xf79d684a, 2, 0, 0}, + {0xf7b852e4, 37, 0, 0}, + {0xf7bc7104, 43, 1, 389}, + {0xf7d20181, 93, 0, 0}, + {0xf7d51d87, 2, 0, 0}, + {0xf7de03e0, 181, 0, 0}, + {0xf7e07b83, 63, 0, 0}, + {0xf7e84558, 77, 1, 1092}, + {0xf7f9785a, 82, 1, 991}, + {0xf808af60, 156, 0, 0}, + {0xf80bdc50, 160, 0, 0}, + {0xf81e0fed, 68, 1, 489}, + {0xf83c4c49, 97, 1, 1290}, + {0xf85084a3, 25, 0, 0}, + {0xf85bbf3e, 126, 1, 0}, // "Proto" + {0xf85e264d, 160, 0, 0}, + {0xf865ec8d, 53, 0, 0}, + {0xf86d8d8a, 126, 0, 0}, + {0xf885d931, 75, 0, 0}, + {0xf89170c5, 144, 0, 0}, + {0xf89300fb, 178, 0, 0}, + {0xf8a713be, 0, 1, 0}, + {0xf8b6cb9c, 95, 0, 0}, + {0xf8d53171, 147, 0, 0}, + {0xf8da2506, 24, 0, 0}, + {0xf8f2b56b, 12, 1, 489}, + {0xf90ae80e, 0, 1, 0}, + {0xf919795d, 52, 2, 0}, + {0xf91bac83, 65, 1, 1093}, + {0xf927fa43, 76, 0, 0}, + {0xf92be3ec, 166, 1, 0}, + {0xf92be7f2, 115, 1, 591}, + {0xf95d26a9, 134, 0, 0}, + {0xf9622bfa, 126, 0, 0}, + {0xf96d07c8, 173, 0, 0}, + {0xf982cdf5, 34, 0, 0}, + {0xf989296c, 190, 0, 0}, + {0xf98ee444, 43, 0, 0}, + {0xf99e37eb, 20, 1, 190}, + {0xf9b4c729, 117, 0, 0}, + {0xf9c22e00, 117, 0, 0}, + {0xf9c7e1b2, 0, 1, 0}, + {0xf9d5ae4a, 83, 0, 0}, + {0xf9fd48cd, 77, 1, 194}, + {0xfa014ba1, 100, 2, 0}, + {0xfa258f2f, 48, 0, 0}, + {0xfa2a8a8b, 124, 0, 0}, + {0xfa322d23, 29, 1, 987}, + {0xfa3bfc11, 115, 1, 1090}, + {0xfa43146b, 29, 1, 489}, + {0xfa46c411, 126, 0, 0}, + {0xfa4b1d72, 148, 0, 0}, + {0xfa6d4281, 32, 0, 0}, + {0xfa704c86, 160, 0, 0}, + {0xfa7ee642, 34, 2, 0}, + {0xfa8339a5, 100, 1, 192}, + {0xfa839dc9, 22, 1, 1192}, + {0xfa918f22, 102, 0, 0}, + {0xfaa957b1, 160, 1, 391}, + {0xfaeb390b, 133, 0, 0}, + {0xfaf04375, 95, 0, 0}, + {0xfaf48d27, 0, 1, 0}, + {0xfaf802d1, 39, 0, 0}, + {0xfaff4177, 39, 0, 0}, + {0xfb03a704, 34, 0, 0}, + {0xfb1c0551, 150, 0, 0}, + {0xfb26ff02, 69, 0, 0}, + {0xfb4092fa, 46, 1, 1292}, + {0xfb40d76c, 127, 2, 0}, + {0xfb5f213e, 41, 0, 0}, + {0xfb69c131, 40, 1, 0}, + {0xfb72e586, 0, 1, 0}, + {0xfb7f90fa, 100, 0, 0}, + {0xfb847d1a, 139, 0, 0}, + {0xfb8672a2, 171, 0, 0}, + {0xfb8a9b80, 102, 0, 0}, + {0xfb98d46e, 126, 1, 1085}, + {0xfba98643, 117, 0, 0}, + {0xfbaab554, 68, 1, 989}, + {0xfbd87b3e, 191, 0, 0}, + {0xfbf8a785, 65, 1, 988}, + {0xfbfc6a6c, 100, 2, 0}, + {0xfc00a282, 92, 0, 0}, + {0xfc201c46, 97, 0, 0}, + {0xfc2b7cfa, 97, 1, 1290}, + {0xfc3e5c86, 34, 1, 287}, + {0xfc5783a7, 34, 1, 194}, + {0xfc6201e7, 164, 0, 0}, + {0xfc8f6a1c, 183, 0, 0}, + {0xfcb13110, 46, 0, 0}, + {0xfcb5cb1e, 174, 0, 0}, + {0xfcbf28b1, 100, 0, 0}, + {0xfcd772eb, 91, 2, 0}, + {0xfcdaca80, 160, 0, 0}, + {0xfcde8825, 97, 0, 0}, + {0xfce408a4, 165, 1, 1187}, + {0xfcebcc5f, 126, 0, 0}, + {0xfcfa4c1e, 44, 0, 0}, + {0xfd0299c3, 46, 0, 0}, + {0xfd17e704, 57, 1, 1191}, + {0xfd214c58, 117, 0, 0}, + {0xfd3c3147, 100, 0, 0}, + {0xfd3fc292, 89, 0, 0}, + {0xfd45e9c1, 23, 0, 0}, + {0xfd529896, 173, 0, 0}, + {0xfd5d5c55, 0, 1, 0}, + {0xfd65afff, 68, 1, 290}, + {0xfd719491, 0, 1, 0}, + {0xfd7dd2b0, 77, 0, 0}, + {0xfd7e9a7e, 127, 2, 0}, + {0xfd8d6c75, 115, 1, 1090}, + {0xfd9ad6a2, 34, 1, 1287}, + {0xfda76f70, 120, 0, 0}, + {0xfdb1917e, 166, 0, 0}, + {0xfdb8aa9a, 89, 0, 0}, + {0xfdbca5d1, 117, 0, 0}, + {0xfddf2135, 34, 0, 0}, + {0xfde14cce, 44, 0, 0}, + {0xfde1c7ed, 74, 1, 1090}, + {0xfde61002, 92, 0, 0}, + {0xfde79681, 156, 0, 0}, + {0xfe18e6b6, 2, 0, 0}, + {0xfe2dab28, 156, 1, 987}, + {0xfe3488d1, 99, 0, 0}, + {0xfe35d144, 126, 0, 0}, + {0xfe364be5, 20, 0, 0}, + {0xfe37b30d, 128, 0, 0}, + {0xfe387fe5, 89, 0, 0}, + {0xfe4e5b11, 202, 0, 0}, + {0xfe4ed42b, 191, 0, 0}, + {0xfe58928a, 68, 1, 489}, + {0xfe5f17f0, 126, 1, 692}, + {0xfe94066d, 147, 0, 0}, + {0xfe99bbed, 16, 0, 0}, + {0xfeac6916, 156, 0, 0}, + {0xfecf92c8, 0, 1, 0}, + {0xfed27aca, 160, 0, 0}, + {0xfefe9064, 0, 1, 0}, + {0xff0bd357, 34, 0, 0}, + {0xff1412ea, 100, 0, 0}, + {0xff24d794, 126, 1, 1085}, + {0xff2c8ee4, 156, 0, 0}, + {0xff5135a3, 126, 0, 0}, + {0xff5bc685, 100, 0, 0}, + {0xff6621ce, 100, 0, 0}, + {0xff743e38, 0, 1, 0}, + {0xffbef374, 100, 0, 0}, + {0xffd9db04, 147, 0, 0}, + {0xffecf645, 46, 1, 790}, + {0xffef86c8, 126, 0, 0} +}; + +static nes_file_t type; + +static const st_getopt2_t ines_usage[] = + { + {NULL, 0, 0, 0, NULL, "iNES header", NULL}, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + +static const st_getopt2_t unif_usage[] = + { + {NULL, 0, 0, 0, NULL, "UNIF header", NULL}, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + +static const st_getopt2_t pasofami_usage[] = + { + {NULL, 0, 0, 0, NULL, "Pasofami file", NULL}, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + +static const st_getopt2_t fds_usage[] = + { + {NULL, 0, 0, 0, NULL, "Famicom Disk System file (diskimage)", NULL}, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + +static st_ines_header_t ines_header; +static st_unif_header_t unif_header; +static st_smc_header_t ffe_header; + +#if UNIF_REVISION > 7 +static const char unif_ucon64_sig[] = + "uCON64" WRTR_MARKER_S UCON64_VERSION_S WRTR_MARKER_S CURRENT_OS_S; +#else +static const char unif_ucon64_sig[] = STD_COMMENT UCON64_VERSION_S " " CURRENT_OS_S; +#endif +static const int unif_prg_ids[] = {PRG0_ID, PRG1_ID, PRG2_ID, PRG3_ID, + PRG4_ID, PRG5_ID, PRG6_ID, PRG7_ID, + PRG8_ID, PRG9_ID, PRGA_ID, PRGB_ID, + PRGC_ID, PRGD_ID, PRGE_ID, PRGF_ID}; +static const int unif_pck_ids[] = {PCK0_ID, PCK1_ID, PCK2_ID, PCK3_ID, + PCK4_ID, PCK5_ID, PCK6_ID, PCK7_ID, + PCK8_ID, PCK9_ID, PCKA_ID, PCKB_ID, + PCKC_ID, PCKD_ID, PCKE_ID, PCKF_ID}; +static const int unif_chr_ids[] = {CHR0_ID, CHR1_ID, CHR2_ID, CHR3_ID, + CHR4_ID, CHR5_ID, CHR6_ID, CHR7_ID, + CHR8_ID, CHR9_ID, CHRA_ID, CHRB_ID, + CHRC_ID, CHRD_ID, CHRE_ID, CHRF_ID}; +static const int unif_cck_ids[] = {CCK0_ID, CCK1_ID, CCK2_ID, CCK3_ID, + CCK4_ID, CCK5_ID, CCK6_ID, CCK7_ID, + CCK8_ID, CCK9_ID, CCKA_ID, CCKB_ID, + CCKC_ID, CCKD_ID, CCKE_ID, CCKF_ID}; + +static const char *nes_destfname = NULL, *internal_name; +static int rom_size; +static FILE *nes_destfile; + + +static int +nes_compare (const void *key, const void *found) +{ + /* + The return statement looks overly complicated, but is really necessary. + This construct: + return ((st_nes_data_t *) key)->crc32 - ((st_nes_data_t *) found)->crc32; + does *not* work correctly for all cases. + */ + return (int) (((int64_t) ((st_nes_data_t *) key)->crc32 - + (int64_t) ((st_nes_data_t *) found)->crc32) / 2); +} + + +static int +toprint (int c) +{ + return isprint (c) ? c : '-'; +} + + +nes_file_t +nes_get_file_type (void) +{ + return type; +} + + +static void +remove_destfile (void) +{ + if (nes_destfname) + { + printf ("Removing: %s\n", nes_destfname); + fclose (nes_destfile); // necessary under DOS/Win9x for DJGPP port + remove (nes_destfname); + nes_destfname = NULL; + } +} + + +static unsigned int +read_block (unsigned char **data, unsigned int size, FILE *file, const char *format, ...) +{ + va_list argptr; + unsigned int real_size; + + va_start (argptr, format); + if ((*data = (unsigned char *) malloc (size)) == NULL) + { + vfprintf (stderr, format, argptr); + exit (1); + } + real_size = fread (*data, 1, size, file); + if (real_size != size) + printf ("WARNING: Couldn't read %d bytes, only %d bytes were available\n", + size, real_size); + + va_end (argptr); + return real_size; +} + + +static st_unif_chunk_t * +read_chunk (unsigned long id, unsigned char *rom_buffer, int cont) +/* + The caller is responsible for freeing the memory for the allocated + st_unif_chunk_t. It should do that by calling free() with the pointer to + the st_unif_chunk_t. It should do NOTHING for the struct member `data'. +*/ +{ +// the DEBUG_READ_CHUNK blocks are left here on purpose, don't remove! +//#define DEBUG_READ_CHUNK +#ifdef DEBUG_READ_CHUNK + char id_str[5] = " "; +#endif + struct + { + unsigned int id; // chunk identification string + unsigned int length; // data length, in little endian format + } chunk_header; + st_unif_chunk_t *unif_chunk; + static int pos = 0; + + if (!cont) + pos = 0; // fseek (file, UNIF_HEADER_LEN, SEEK_SET); + +#ifdef WORDS_BIGENDIAN + id = bswap_32 (id); // swap id once instead of chunk_header.id often +#endif + do + { + // fread (&chunk_header, 1, sizeof (chunk_header), file); + memcpy (&chunk_header, rom_buffer + pos, sizeof (chunk_header)); + pos += sizeof (chunk_header); +#ifdef WORDS_BIGENDIAN + chunk_header.length = bswap_32 (chunk_header.length); +#endif +// if (feof (file)) +// break; +#ifdef DEBUG_READ_CHUNK + memcpy (id_str, &chunk_header.id, 4); +#ifdef WORDS_BIGENDIAN + *((int *) id_str) = bswap_32 (*((int *) id_str)); +#endif + printf ("chunk header: id=%s, length=%d\n", id_str, chunk_header.length); +#endif + if (chunk_header.id != id) + { + // (fseek (file, chunk_header.length, SEEK_CUR) != 0) // fseek() clears EOF indicator + if ((int) (pos + chunk_header.length) >= rom_size) + break; + else + pos += chunk_header.length; + } + } + while (chunk_header.id != id); + + if (chunk_header.id != id || pos >= rom_size) // || feof (file)) + { +#ifdef DEBUG_READ_CHUNK + printf ("exit1\n"); +#endif + return (st_unif_chunk_t *) NULL; + } + + if ((unif_chunk = (st_unif_chunk_t *) + malloc (sizeof (st_unif_chunk_t) + chunk_header.length)) == NULL) + { + fprintf (stderr, "ERROR: Not enough memory for chunk (%d bytes)\n", + (int) sizeof (st_unif_chunk_t) + chunk_header.length); + exit (1); + } + unif_chunk->id = me2le_32 (chunk_header.id); + unif_chunk->length = chunk_header.length; + unif_chunk->data = &((unsigned char *) unif_chunk)[sizeof (st_unif_chunk_t)]; + + // fread (unif_chunk->data, 1, chunk_header.length, file); + memcpy (unif_chunk->data, rom_buffer + pos, chunk_header.length); + pos += chunk_header.length; +#ifdef DEBUG_READ_CHUNK + printf ("exit2\n"); +#endif + return unif_chunk; +#undef DEBUG_READ_CHUNK +} + + +static void +write_chunk (st_unif_chunk_t *chunk, FILE *file) +{ +#ifdef WORDS_BIGENDIAN + int x; + x = bswap_32 (chunk->id); + fwrite (&x, 1, sizeof (chunk->id), file); + x = bswap_32 (chunk->length); + fwrite (&x, 1, sizeof (chunk->length), file); +#else + fwrite (&chunk->id, 1, sizeof (chunk->id), file); + fwrite (&chunk->length, 1, sizeof (chunk->length), file); +#endif + fwrite (chunk->data, 1, chunk->length, file); +} + + +static int +parse_info_file (st_dumper_info_t *info, const char *fname) +/* + Format of info file: + + + []{-,/}[]{-,/}[][]{-,/} + [] + + can be \n (Unix), \r\n (DOS) or \r (Macintosh) + + examples of valid date lines: + 22-11-1975 + 1/1/01 +*/ +{ +#define SIZE_INFO (99 + 10 + 99 + 3 * 2) // possibly 3 lines in DOS text format + int n, prev_n; + char buf[SIZE_INFO] = { 0 }, number[80]; // 4 should be enough, but don't + // be too sensitive to errors + memset (info, 0, sizeof (st_dumper_info_t)); + if (ucon64_fread (buf, 0, SIZE_INFO, fname) <= 0) + return -1; + + for (n = 0; n < 99; n++) + if (buf[n] == '\n' || buf[n] == '\r') + break; + strncpy (info->dumper_name, buf, n); + info->dumper_name[99] = 0; + + // handle newline, possibly in DOS format + prev_n = n; + for (; n < prev_n + 2; n++) + if (buf[n] != '\n' && buf[n] != '\r') + break; + + prev_n = n; + for (; n < prev_n + 2; n++) + if (buf[n] == '-' || buf[n] == '/') + break; + strncpy (number, &buf[prev_n], n - prev_n); + number[n - prev_n] = 0; + info->day = (unsigned char) strtol (number, NULL, 10); + + n++; + prev_n = n; + for (; n < prev_n + 2; n++) + if (buf[n] == '-' || buf[n] == '/') + break; + strncpy (number, &buf[prev_n], n - prev_n); + number[n - prev_n] = 0; + info->month = (unsigned char) strtol (number, NULL, 10); + + n++; + prev_n = n; + for (; n < prev_n + 4; n++) + if (buf[n] == '\n' || buf[n] == '\r') + break; + strncpy (number, &buf[prev_n], n - prev_n); + number[n - prev_n] = 0; + info->year = (unsigned short) strtol (number, NULL, 10); + + // handle newline, possibly in DOS format + prev_n = n; + for (; n < prev_n + 2; n++) + if (buf[n] != '\n' && buf[n] != '\r') + break; + + prev_n = n; + for (; n < prev_n + 99; n++) + if (buf[n] == '\n' || buf[n] == '\r') + break; + strncpy (info->dumper_agent, &buf[prev_n], n - prev_n); + info->dumper_agent[99] = 0; + + return 0; +#undef SIZE_INFO +} + + +static int +nes_ines_unif (FILE *srcfile, FILE *destfile) +{ + int prg_size, chr_size, x; + unsigned char *prg_data = NULL, *chr_data = NULL, b; + st_unif_chunk_t unif_chunk; + + // read iNES file + fread (&ines_header, 1, INES_HEADER_LEN, srcfile); + if (ines_header.ctrl1 & INES_TRAINER) + fseek (srcfile, 512, SEEK_CUR); // discard trainer data (lib_unif does the same) + + prg_size = ines_header.prg_size << 14; + prg_size = read_block (&prg_data, prg_size, srcfile, + "ERROR: Not enough memory for PRG buffer (%d bytes)\n", prg_size); + chr_size = ines_header.chr_size << 13; + if (chr_size > 0) + chr_size = read_block (&chr_data, chr_size, srcfile, + "ERROR: Not enough memory for CHR buffer (%d bytes)\n", chr_size); + + // write UNIF file + memset (&unif_header, 0, UNIF_HEADER_LEN); + memcpy (&unif_header.signature, UNIF_SIG_S, 4); + unif_header.revision = me2le_32 (UNIF_REVISION); + fwrite (&unif_header, 1, UNIF_HEADER_LEN, destfile); + + unif_chunk.id = MAPR_ID; + if (ucon64.mapr == NULL || strlen (ucon64.mapr) == 0) + { + fprintf (stderr, "ERROR: No board name specified\n"); + return -1; + } + unif_chunk.length = strlen (ucon64.mapr) + 1; // +1 to include ASCII-z + unif_chunk.data = (void *) ucon64.mapr; + if (unif_chunk.length > BOARDNAME_MAXLEN) + { // Should we give a warning? + unif_chunk.length = BOARDNAME_MAXLEN; + ((char *) unif_chunk.data)[BOARDNAME_MAXLEN - 1] = 0; + } // make it an ASCII-z string + write_chunk (&unif_chunk, destfile); + +#if UNIF_REVISION > 7 + if (ucon64.comment != NULL && strlen (ucon64.comment) > 0) + { + unif_chunk.id = READ_ID; + unif_chunk.length = strlen (ucon64.comment) + 1; // +1 to include ASCII-z + unif_chunk.data = (void *) ucon64.comment; + write_chunk (&unif_chunk, destfile); + } + + // WRTR chunk can be helpful when debugging + unif_chunk.id = WRTR_ID; + unif_chunk.length = strlen (unif_ucon64_sig) + 1; + unif_chunk.data = (char *) unif_ucon64_sig; + write_chunk (&unif_chunk, destfile); +#else + // READ chunk can be helpful when debugging + unif_chunk.id = READ_ID; + unif_chunk.length = strlen (unif_ucon64_sig) + 1; + unif_chunk.data = (char *) unif_ucon64_sig; // assume ASCII-z (spec is not clear) + write_chunk (&unif_chunk, destfile); +#endif + + if (UCON64_ISSET (ucon64.tv_standard)) + { + unif_chunk.id = TVCI_ID; + unif_chunk.length = 1; + b = ucon64.tv_standard; // necessary for big endian machines + unif_chunk.data = &b; + write_chunk (&unif_chunk, destfile); + } + + if (UCON64_ISSET (ucon64.use_dump_info)) + { + st_dumper_info_t info; + if (ucon64.dump_info != NULL && strlen (ucon64.dump_info) > 0) + { + if (access (ucon64.dump_info, F_OK) == 0) + { + parse_info_file (&info, ucon64.dump_info); +#ifdef WORDS_BIGENDIAN + info.year = bswap_16 (info.year); +#endif + unif_chunk.id = DINF_ID; + unif_chunk.length = 204; + unif_chunk.data = &info; + write_chunk (&unif_chunk, destfile); + } + else + printf ("WARNING: Dumper info file %s does not exist, chunk won't be written\n", + ucon64.dump_info); + } + else // Is this a warning or an error? + printf ("WARNING: No dumper info file was specified, chunk won't be written\n"); + } + + if (UCON64_ISSET (ucon64.controller)) + { + unif_chunk.id = CTRL_ID; + unif_chunk.length = 1; + b = ucon64.controller; // necessary for big endian machines + unif_chunk.data = &b; + write_chunk (&unif_chunk, destfile); + } + + x = crc32 (0, prg_data, prg_size); + unif_chunk.id = PCK0_ID; + unif_chunk.length = 4; +#ifdef WORDS_BIGENDIAN + x = bswap_32 (x); +#endif + unif_chunk.data = &x; + write_chunk (&unif_chunk, destfile); + + unif_chunk.id = PRG0_ID; // How to detect that x > 0 for PRGx? + unif_chunk.length = prg_size; + unif_chunk.data = prg_data; + write_chunk (&unif_chunk, destfile); + + if (chr_size > 0) + { + x = crc32 (0, chr_data, chr_size); + unif_chunk.id = CCK0_ID; + unif_chunk.length = 4; +#ifdef WORDS_BIGENDIAN + x = bswap_32 (x); +#endif + unif_chunk.data = &x; + write_chunk (&unif_chunk, destfile); + + unif_chunk.id = CHR0_ID; // How to detect that x > 0 for CHRx? + unif_chunk.length = chr_size; + unif_chunk.data = chr_data; + write_chunk (&unif_chunk, destfile); + } + + b = 0; // this is a dummy + unif_chunk.id = BATR_ID; + unif_chunk.length = 1; + unif_chunk.data = &b; + if (UCON64_ISSET (ucon64.battery)) + { + if (ucon64.battery) + write_chunk (&unif_chunk, destfile); + } + else if (ines_header.ctrl1 & INES_SRAM) + write_chunk (&unif_chunk, destfile); + + if (UCON64_ISSET (ucon64.vram)) + { + if (ucon64.vram) + { + b = 0; // this is a dummy + unif_chunk.id = VROR_ID; + unif_chunk.length = 1; + unif_chunk.data = &b; + write_chunk (&unif_chunk, destfile); + } + } + + unif_chunk.id = MIRR_ID; + unif_chunk.length = 1; + if (UCON64_ISSET (ucon64.mirror)) + { + if (ucon64.mirror > 5) + { + ucon64.mirror = 5; + printf ("WARNING: Invalid mirroring type specified, using \"%d\"\n", + ucon64.mirror); + } + b = ucon64.mirror; // necessary for big endian machines + unif_chunk.data = &b; + write_chunk (&unif_chunk, destfile); + } + else if (ines_header.ctrl1 & (INES_MIRROR | INES_4SCREEN)) + { + if (ines_header.ctrl1 & INES_MIRROR) + b = 1; + else // it must be INES_4SCREEN + b = 4; + unif_chunk.data = &b; + write_chunk (&unif_chunk, destfile); + } + + free (prg_data); + free (chr_data); // free() accepts case "chr_data == NULL" + return 0; +} + + +static int +nes_unif_unif (unsigned char *rom_buffer, FILE *destfile) +{ + int x, n; + st_unif_chunk_t *unif_chunk1, unif_chunk2, *unif_chunk3; + unsigned char b; + + x = me2le_32 (unif_header.revision); + if (x > UNIF_REVISION) + printf ("WARNING: The UNIF file is of a revision later than %d (%d), but uCON64\n" + " doesn't support that revision yet. Some chunks may be discarded.\n", + UNIF_REVISION, x); + unif_header.revision = me2le_32 (UNIF_REVISION); + memcpy (&unif_header.signature, UNIF_SIG_S, 4); + fwrite (&unif_header, 1, UNIF_HEADER_LEN, destfile); + + if ((unif_chunk1 = read_chunk (MAPR_ID, rom_buffer, 0)) == NULL || // no MAPR chunk + (ucon64.mapr != NULL && strlen (ucon64.mapr) > 0)) // MAPR, but has to change + { + unif_chunk2.id = MAPR_ID; + if (ucon64.mapr == NULL || strlen (ucon64.mapr) == 0) // unif_chunk1 == NULL + { + fprintf (stderr, "ERROR: File has no MAPR chunk, but no board name was specified\n"); + return -1; + } + + // ucon64.mapr != NULL && strlen (ucon64.mapr) > 0 + unif_chunk2.length = strlen (ucon64.mapr) + 1; // +1 to include ASCII-z + unif_chunk2.data = (void *) ucon64.mapr; + if (unif_chunk2.length > BOARDNAME_MAXLEN) + { + unif_chunk2.length = BOARDNAME_MAXLEN; + ((char *) unif_chunk2.data)[BOARDNAME_MAXLEN - 1] = 0; + } // make it an ASCII-z string + write_chunk (&unif_chunk2, destfile); + } + else // MAPR chunk, but no board name specified + { + printf ("WARNING: No board name specified, using old value\n"); + write_chunk (unif_chunk1, destfile); + } + free (unif_chunk1); // case NULL is valid + +#if UNIF_REVISION > 7 + if (ucon64.comment != NULL && strlen (ucon64.comment) > 0) + { + unif_chunk2.id = READ_ID; + unif_chunk2.length = strlen (ucon64.comment) + 1; // +1 to include ASCII-z + unif_chunk2.data = (void *) ucon64.comment; + write_chunk (&unif_chunk2, destfile); + } + else + { + if ((unif_chunk1 = read_chunk (READ_ID, rom_buffer, 0)) != NULL) + write_chunk (unif_chunk1, destfile); + free (unif_chunk1); + } + + if ((unif_chunk1 = read_chunk (WRTR_ID, rom_buffer, 0)) == NULL) + { + unif_chunk2.id = WRTR_ID; + unif_chunk2.length = strlen (unif_ucon64_sig) + 1; + unif_chunk2.data = (char *) unif_ucon64_sig; + write_chunk (&unif_chunk2, destfile); + } + else + { + char ucon64_name[] = "uCON64"; + int sig_added = 0; + // find uCON64 WRTR chunk and modify it if it is present + do + { + if (!strncmp ((const char *) unif_chunk1->data, ucon64_name, strlen (ucon64_name))) + { + unif_chunk1->length = strlen (unif_ucon64_sig) + 1; + unif_chunk1->data = (char *) unif_ucon64_sig; + sig_added = 1; // don't break, because we want to preserve other WRTR chunks + } + write_chunk (unif_chunk1, destfile); + free (unif_chunk1); + } + while ((unif_chunk1 = read_chunk (WRTR_ID, rom_buffer, 1)) != NULL); + + if (!sig_added) + { + unif_chunk2.id = WRTR_ID; + unif_chunk2.length = strlen (unif_ucon64_sig) + 1; + unif_chunk2.data = (char *) unif_ucon64_sig; + write_chunk (&unif_chunk2, destfile); + } + } +#else + if ((unif_chunk1 = read_chunk (READ_ID, rom_buffer, 0)) == NULL) + { + unif_chunk2.id = READ_ID; + unif_chunk2.length = strlen (unif_ucon64_sig) + 1; + unif_chunk2.data = (char *) unif_ucon64_sig; + write_chunk (&unif_chunk2, destfile); // assume ASCII-z (spec is not clear) + } + else + { + if (!strncmp (unif_chunk1->data, STD_COMMENT, strlen (STD_COMMENT))) + { // overwrite uCON64 comment -> OS and version match with the used exe + unif_chunk1->length = strlen (unif_ucon64_sig) + 1; + unif_chunk1->data = (char *) unif_ucon64_sig; + } + write_chunk (unif_chunk1, destfile); + } + free (unif_chunk1); +#endif + + if (internal_name != NULL) + { + unif_chunk2.id = NAME_ID; + unif_chunk2.length = strlen (internal_name) + 1; + unif_chunk2.data = (char *) internal_name; + write_chunk (&unif_chunk2, destfile); // assume ASCII-z (spec is not clear) + } + else + { + if ((unif_chunk1 = read_chunk (NAME_ID, rom_buffer, 0)) != NULL) + write_chunk (unif_chunk1, destfile); + free (unif_chunk1); + } + + if (UCON64_ISSET (ucon64.tv_standard)) + { + unif_chunk2.id = TVCI_ID; + unif_chunk2.length = 1; + b = ucon64.tv_standard; // necessary for big endian machines + unif_chunk2.data = &b; + write_chunk (&unif_chunk2, destfile); + } + else + { + if ((unif_chunk1 = read_chunk (TVCI_ID, rom_buffer, 0)) != NULL) + write_chunk (unif_chunk1, destfile); + free (unif_chunk1); + } + + if (UCON64_ISSET (ucon64.use_dump_info)) + { + st_dumper_info_t info; + if (ucon64.dump_info != NULL && strlen (ucon64.dump_info) > 0) + { + if (access (ucon64.dump_info, F_OK) == 0) + { + parse_info_file (&info, ucon64.dump_info); +/* + printf ("Dump info:\n" + " Dumper: %s\n" + " Date: %d-%d-%02d\n" + " Agent: %s\n", + info.dumper_name, + info.day, info.month, info.year, + info.dumper_agent); +*/ +#ifdef WORDS_BIGENDIAN + info.year = bswap_16 (info.year); +#endif + unif_chunk2.id = DINF_ID; + unif_chunk2.length = 204; + unif_chunk2.data = &info; + write_chunk (&unif_chunk2, destfile); + } + else + printf ("WARNING: Dumper info file %s does not exist, chunk won't be written\n", + ucon64.dump_info); + } + else // Is this a warning or an error? + printf ("WARNING: No dumper info file was specified, chunk won't be written\n"); + } + else + { + if ((unif_chunk1 = read_chunk (DINF_ID, rom_buffer, 0)) != NULL) + write_chunk (unif_chunk1, destfile); + free (unif_chunk1); + } + + if (UCON64_ISSET (ucon64.controller)) + { + unif_chunk2.id = CTRL_ID; + unif_chunk2.length = 1; + b = ucon64.controller; // necessary for big endian machines + unif_chunk2.data = &b; + write_chunk (&unif_chunk2, destfile); + } + else + { + if ((unif_chunk1 = read_chunk (CTRL_ID, rom_buffer, 0)) != NULL) + write_chunk (unif_chunk1, destfile); + free (unif_chunk1); + } + + // copy PRG chunks + for (n = 0; n < 16; n++) + { + if ((unif_chunk1 = read_chunk (unif_prg_ids[n], rom_buffer, 0)) != NULL) + { + if ((unif_chunk3 = read_chunk (unif_pck_ids[n], rom_buffer, 0)) == NULL) + { + x = crc32 (0, (unsigned char *) unif_chunk1->data, unif_chunk1->length); + unif_chunk2.id = unif_pck_ids[n]; + unif_chunk2.length = 4; +#ifdef WORDS_BIGENDIAN + x = bswap_32 (x); +#endif + unif_chunk2.data = &x; + write_chunk (&unif_chunk2, destfile); + } + else + { + x = crc32 (0, (unsigned char *) unif_chunk1->data, unif_chunk1->length); +#ifdef WORDS_BIGENDIAN + x = bswap_32 (x); +#endif + if (x != *((int *) unif_chunk3->data)) + printf ("WARNING: PRG chunk %d has a bad checksum, writing new checksum\n", n); + unif_chunk3->length = 4; + unif_chunk3->data = &x; + write_chunk (unif_chunk3, destfile); + } + free (unif_chunk3); + write_chunk (unif_chunk1, destfile); + } + free (unif_chunk1); + } + + // copy CHR chunks + for (n = 0; n < 16; n++) + { + if ((unif_chunk1 = read_chunk (unif_chr_ids[n], rom_buffer, 0)) != NULL) + { + if ((unif_chunk3 = read_chunk (unif_cck_ids[n], rom_buffer, 0)) == NULL) + { + x = crc32 (0, (unsigned char *) unif_chunk1->data, unif_chunk1->length); + unif_chunk2.id = unif_cck_ids[n]; + unif_chunk2.length = 4; +#ifdef WORDS_BIGENDIAN + x = bswap_32 (x); +#endif + unif_chunk2.data = &x; + write_chunk (&unif_chunk2, destfile); + } + else + { + x = crc32 (0, (unsigned char *) unif_chunk1->data, unif_chunk1->length); +#ifdef WORDS_BIGENDIAN + x = bswap_32 (x); +#endif + if (x != *((int *) unif_chunk3->data)) + printf ("WARNING: CHR chunk %d has a bad checksum, writing new checksum\n", n); + unif_chunk3->length = 4; + unif_chunk3->data = &x; + write_chunk (unif_chunk3, destfile); + } + free (unif_chunk3); + write_chunk (unif_chunk1, destfile); + } + free (unif_chunk1); + } + + if (UCON64_ISSET (ucon64.battery)) + { + if (ucon64.battery) + { + b = 0; // this is a dummy + unif_chunk2.id = BATR_ID; + unif_chunk2.length = 1; + unif_chunk2.data = &b; + write_chunk (&unif_chunk2, destfile); + } + } + else + { + if ((unif_chunk1 = read_chunk (BATR_ID, rom_buffer, 0)) != NULL) + write_chunk (unif_chunk1, destfile); + free (unif_chunk1); + } + + if (UCON64_ISSET (ucon64.vram)) + { + if (ucon64.vram) + { + b = 0; // this is a dummy + unif_chunk2.id = VROR_ID; + unif_chunk2.length = 1; + unif_chunk2.data = &b; + write_chunk (&unif_chunk2, destfile); + } + } + else + { + if ((unif_chunk1 = read_chunk (VROR_ID, rom_buffer, 0)) != NULL) + write_chunk (unif_chunk1, destfile); + free (unif_chunk1); + } + + if (UCON64_ISSET (ucon64.mirror)) + { + if (ucon64.mirror > 5) + { + ucon64.mirror = 5; + printf ("WARNING: Invalid mirroring type specified, using \"%d\"\n", + ucon64.mirror); + } + unif_chunk2.id = MIRR_ID; + unif_chunk2.length = 1; + b = ucon64.mirror; // necessary for big endian machines + unif_chunk2.data = &b; + write_chunk (&unif_chunk2, destfile); + } + else + { + if ((unif_chunk1 = read_chunk (MIRR_ID, rom_buffer, 0)) != NULL) + write_chunk (unif_chunk1, destfile); + free (unif_chunk1); + } + + return 0; +} + + +int +nes_unif (void) +{ + char src_name[FILENAME_MAX], dest_name[FILENAME_MAX]; + unsigned char *rom_buffer; + FILE *srcfile, *destfile; + + if (type != INES && type != UNIF) + { + if (type == PASOFAMI) + fprintf (stderr, "ERROR: Pasofami -> UNIF is currently not supported\n"); + else if (type == FFE) + fprintf (stderr, "ERROR: FFE -> UNIF is currently not supported\n"); + else if (type == FDS || type == FAM) + fprintf (stderr, "ERROR: FDS/FAM -> UNIF is currently not supported\n"); + return -1; + } + + strcpy (dest_name, ucon64.rom); + set_suffix (dest_name, ".unf"); + strcpy (src_name, ucon64.rom); + ucon64_file_handler (dest_name, src_name, 0); + if ((destfile = fopen (dest_name, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], dest_name); + return -1; + } + + /* + remove possible temp file created by ucon64_file_handler () + nes_ines_unif() and nes_unif_unif() might exit() so we use register_func() + */ + register_func (remove_temp_file); + nes_destfname = dest_name; + nes_destfile = destfile; + register_func (remove_destfile); + /* + Converting from UNIF to UNIF should be allowed, because the user might want + to change some paramaters. + */ + if (type == INES) + { + if ((srcfile = fopen (src_name, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], src_name); + return -1; + } + + if (nes_ines_unif (srcfile, destfile) == -1) // -1 == error + exit (1); + + fclose (srcfile); + } + else if (type == UNIF) + { + if ((rom_buffer = (unsigned char *) malloc (rom_size)) == NULL) + { + fprintf (stderr, ucon64_msg[ROM_BUFFER_ERROR], rom_size); + exit (1); + } + ucon64_fread (rom_buffer, UNIF_HEADER_LEN, rom_size, src_name); + + if (nes_unif_unif (rom_buffer, destfile) == -1) // -1 == error + exit (1); + + free (rom_buffer); + } + + unregister_func (remove_destfile); + fclose (destfile); + unregister_func (remove_temp_file); + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + return 0; +} + + +static void +set_mapper (st_ines_header_t *header, unsigned int mapper) +{ + header->ctrl1 &= 0x0f; // clear mapper bits + header->ctrl2 &= 0x03; // clear reserved and mapper bits + + header->ctrl1 |= mapper << 4; + header->ctrl2 |= mapper & 0xf0; + if (mapper > 0xff) // we support mapper numbers > 255 + { + if (mapper > 0xfff) + { + fprintf (stderr, "ERROR: Mapper numbers greater than 4095 can't be stored\n"); + exit (1); + } + // We can't just clear bits 0 & 1 of ctrl2, because they have their own + // meaning. So, a warning is in place here. + printf ("WARNING: Mapper number is greater than 255\n"); + header->ctrl2 |= (mapper >> 8) & 0xf; + } +} + + +static int +nes_ines_ines (FILE *srcfile, FILE *destfile, int deinterleave) +{ + int prg_size, chr_size; + unsigned char *prg_data = NULL, *chr_data = NULL; + + // read iNES file + fread (&ines_header, 1, INES_HEADER_LEN, srcfile); + if (ines_header.ctrl1 & INES_TRAINER) + { + fseek (srcfile, 512, SEEK_CUR); // discard trainer data + ines_header.ctrl1 &= ~INES_TRAINER; // clear trainer bit + } + + prg_size = ines_header.prg_size << 14; + prg_size = read_block (&prg_data, prg_size, srcfile, + "ERROR: Not enough memory for PRG buffer (%d bytes)\n", prg_size); + chr_size = ines_header.chr_size << 13; + if (chr_size > 0) + chr_size = read_block (&chr_data, chr_size, srcfile, + "ERROR: Not enough memory for CHR buffer (%d bytes)\n", chr_size); + + if (deinterleave) + /* + This is a bit of a hack, i.e., putting the following code in this + function. AFAIK (dbjh) interleaved images contain one big block of data: + ROM data at even addresses (offsets in the file) and VROM data at odd + addresses. Currently uCON64 supports deinterleaving of iNES files only, + so we have to handle the improbable case that the source ROM file + contains two blocks of interleaved ROM/VROM data. + Due to the way the data is stored the ROM data will have the same size + as the VROM data. + */ + { + unsigned char *data; + int size, n = 0, prg = 0, chr = 0; + + size = prg_size + chr_size; + if ((data = (unsigned char *) malloc (size)) == NULL) + { + fprintf (stderr, ucon64_msg[BUFFER_ERROR], size); + exit (1); + } + memcpy (data, prg_data, prg_size); + memcpy (data + prg_size, chr_data, chr_size); + + if (prg_size != chr_size) + { + free (prg_data); + free (chr_data); + prg_size = chr_size = size / 2; + prg_data = (unsigned char *) malloc (prg_size); + chr_data = (unsigned char *) malloc (chr_size); + if (prg_data == NULL || chr_data == NULL) + { + fprintf (stderr, ucon64_msg[BUFFER_ERROR], size); + exit (1); + } + } + + while (n < size) + { // deinterleave + prg_data[prg++] = data[n++]; + chr_data[chr++] = data[n++]; + } + free (data); + } + + // write iNES file + if (ucon64.mapr == NULL || strlen (ucon64.mapr) == 0) + printf ("WARNING: No mapper number specified, using old value\n"); + else // mapper specified + set_mapper (&ines_header, strtol (ucon64.mapr, NULL, 10)); + memcpy (&ines_header.signature, INES_SIG_S, 4); + ines_header.prg_size = prg_size >> 14; + ines_header.chr_size = chr_size >> 13; + + if (UCON64_ISSET (ucon64.battery)) + { + if (ucon64.battery) + ines_header.ctrl1 |= INES_SRAM; + else + ines_header.ctrl1 &= ~INES_SRAM; + } + + if (UCON64_ISSET (ucon64.mirror)) + { + ines_header.ctrl1 &= ~(INES_MIRROR | INES_4SCREEN); // clear bits + if (ucon64.mirror == 0) + ; // default value in ctrl1 (0) is ok + else if (ucon64.mirror == 1) + ines_header.ctrl1 |= INES_MIRROR; + else if (ucon64.mirror == 4) + ines_header.ctrl1 |= INES_4SCREEN; + else + printf ("WARNING: Invalid mirroring type specified, using \"0\"\n"); + } + + ines_header.reserved1 = 0; + ines_header.reserved2 = 0; + fwrite (&ines_header, 1, INES_HEADER_LEN, destfile); + fwrite (prg_data, 1, prg_size, destfile); + fwrite (chr_data, 1, chr_size, destfile); + + free (prg_data); + free (chr_data); + return 0; +} + + +static int +nes_mapper_number (const char *board_name) +{ + typedef struct + { + const char *string; + int value; + } st_string_value_t; + + int n; + st_string_value_t name_to_mapr[] = // TODO: expand this list + { + { "NROM", 0 }, + { "NES-RROM", 0 }, + { "SNROM", 1 }, + { "SOROM", 1 }, + { "SVROM", 1 }, + { "SUROM", 1 }, + { "SAROM", 1 }, + { "SBROM", 1 }, + { "UNROM", 2 }, + { "CNROM", 3 }, + { "TEROM", 4 }, + { "TFROM", 4 }, + { "TGROM", 4 }, + { "TVROM", 4 }, + { "TSROM", 4 }, + { "TQROM", 4 }, + { "TKROM", 4 }, + { "TLSROM", 4 }, + { "DRROM", 4 }, + { "TLROM", 4 }, + { "SL1ROM", 4 }, + { "SL2ROM", 4 }, + { "SL3ROM", 4 }, + { "ELROM", 5 }, + { "ETROM", 5 }, + { "EWROM", 5 }, + { "AOROM", 7 }, + { "PNROM", 9 }, + { NULL, 0 } + }; + + n = 0; + while (name_to_mapr[n].string != NULL) + { + if (!strncmp (board_name, name_to_mapr[n].string, BOARDNAME_MAXLEN - 1)) + return name_to_mapr[n].value; + n++; + } + + return -1; +} + + +static int +nes_unif_ines (unsigned char *rom_buffer, FILE *destfile) +{ + int n, x, prg_size = 0, chr_size = 0; + st_unif_chunk_t *unif_chunk; + + x = me2le_32 (unif_header.revision); + if (x > UNIF_REVISION) + printf ("WARNING: The UNIF file is of a revision later than %d (%d), but uCON64\n" + " doesn't support that revision yet. Some chunks may be discarded.\n", + UNIF_REVISION, x); + + // build iNES header + memset (&ines_header, 0, INES_HEADER_LEN); + memcpy (&ines_header.signature, INES_SIG_S, 4); + + if (ucon64.mapr == NULL || strlen (ucon64.mapr) == 0) + { // no mapper specified, try autodetection + if ((unif_chunk = read_chunk (MAPR_ID, rom_buffer, 0)) != NULL) + { + if ((x = nes_mapper_number ((const char *) unif_chunk->data)) == -1) + { + printf ("WARNING: Couldn't determine mapper number, writing \"0\"\n"); + x = 0; + } + set_mapper (&ines_header, x); + free (unif_chunk); + } + else // no MAPR chunk + { + fprintf (stderr, "ERROR: File has no MAPR chunk, but no mapper number was specified\n"); + return -1; + } + } + else // mapper specified + set_mapper (&ines_header, strtol (ucon64.mapr, NULL, 10)); + + if (UCON64_ISSET (ucon64.battery)) + { + if (ucon64.battery) + ines_header.ctrl1 |= INES_SRAM; + else + ines_header.ctrl1 &= ~INES_SRAM; + } + else + { + if ((unif_chunk = read_chunk (BATR_ID, rom_buffer, 0)) != NULL) + ines_header.ctrl1 |= INES_SRAM; + free (unif_chunk); + } + + if (UCON64_ISSET (ucon64.mirror)) + { + if (ucon64.mirror == 0) + ; // default value in ctrl1 (0) is ok + else if (ucon64.mirror == 1) + ines_header.ctrl1 |= INES_MIRROR; + else if (ucon64.mirror == 4) + ines_header.ctrl1 |= INES_4SCREEN; + else + printf ("WARNING: Invalid mirroring type specified, using \"0\"\n"); + } + else if ((unif_chunk = read_chunk (MIRR_ID, rom_buffer, 0)) != NULL) + { + switch (*((unsigned char *) unif_chunk->data)) + { + case 0: // default value in ctrl1 (0) is ok + case 2: // can't express in iNES terms + case 3: // idem + case 5: // idem + break; + case 1: + ines_header.ctrl1 |= INES_MIRROR; + break; + case 4: + ines_header.ctrl1 |= INES_4SCREEN; + break; + default: + printf ("WARNING: Unsupported value in MIRR chunk\n"); + break; + } + free (unif_chunk); + } + + /* + Determining the PRG & CHR sizes could be done in the copy loops. Doing it + here is quite inefficient, but now we can write to a zlib stream. zlib + doesn't support backward seeks in a compressed output stream. A backward + seek would be necessary if the size calculation would be done in the copy + loops. + */ + for (n = 0; n < 16; n++) + { + if ((unif_chunk = read_chunk (unif_prg_ids[n], rom_buffer, 0)) != NULL) + prg_size += unif_chunk->length; + free (unif_chunk); + if ((unif_chunk = read_chunk (unif_chr_ids[n], rom_buffer, 0)) != NULL) + chr_size += unif_chunk->length; + free (unif_chunk); + } + + // write header + ines_header.prg_size = prg_size >> 14; // # 16 kB banks + ines_header.chr_size = chr_size >> 13; // # 8 kB banks + fwrite (&ines_header, 1, INES_HEADER_LEN, destfile); + + // copy PRG data + for (n = 0; n < 16; n++) + { + if ((unif_chunk = read_chunk (unif_prg_ids[n], rom_buffer, 0)) != NULL) + fwrite (unif_chunk->data, 1, unif_chunk->length, destfile); + free (unif_chunk); + } + + // copy CHR data + for (n = 0; n < 16; n++) + { + if ((unif_chunk = read_chunk (unif_chr_ids[n], rom_buffer, 0)) != NULL) + fwrite (unif_chunk->data, 1, unif_chunk->length, destfile); + free (unif_chunk); + } + + return 0; +} + + +int +nes_ines (void) +{ + char src_name[FILENAME_MAX], dest_name[FILENAME_MAX]; + unsigned char *rom_buffer; + FILE *srcfile, *destfile; + + if (type == FFE) + { + fprintf (stderr, "ERROR: FFE -> iNES is currently not supported\n"); + return -1; + } + else if (type == FDS || type == FAM) + { + fprintf (stderr, "ERROR: FDS/FAM -> iNES is not possible\n"); + return -1; + } + + // Pasofami doesn't fit well in the source -> destination "paradigm" + if (type == PASOFAMI) + return nes_j (NULL); + + strcpy (dest_name, ucon64.rom); + set_suffix (dest_name, ".nes"); + strcpy (src_name, ucon64.rom); + ucon64_file_handler (dest_name, src_name, 0); + if ((destfile = fopen (dest_name, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], dest_name); + return -1; + } + + register_func (remove_temp_file); + nes_destfname = dest_name; + nes_destfile = destfile; + register_func (remove_destfile); + if (type == INES) + { + if ((srcfile = fopen (src_name, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], src_name); + return -1; + } + + if (nes_ines_ines (srcfile, destfile, 0) == -1) // -1 == error + exit (1); // calls remove_temp_file() & remove_destfile() + + fclose (srcfile); + } + else if (type == UNIF) + { + if ((rom_buffer = (unsigned char *) malloc (rom_size)) == NULL) + { + fprintf (stderr, ucon64_msg[ROM_BUFFER_ERROR], rom_size); + exit (1); + } + ucon64_fread (rom_buffer, UNIF_HEADER_LEN, rom_size, src_name); + + if (nes_unif_ines (rom_buffer, destfile) == -1) // -1 == error + exit (1); // calls remove_temp_file() & remove_destfile() + + free (rom_buffer); + } + + unregister_func (remove_destfile); + fclose (destfile); + unregister_func (remove_temp_file); + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + return 0; +} + + +int +nes_pasofami (void) +{ + // nes_s() does iNES -> Pasofami. nes_s() checks for type + return nes_s (); +} + + +int +nes_ffe (st_rominfo_t *rominfo) +{ + st_smc_header_t smc_header; + char src_name[FILENAME_MAX], dest_name[FILENAME_MAX]; + int size = ucon64.file_size - rominfo->buheader_len, mapper, + prg_size, chr_size, new_prg_size = -1; + + if (type != INES) + { + fprintf (stderr, "ERROR: Currently only iNES -> FFE is supported\n"); + return -1; + } + + ucon64_fread (&ines_header, 0, INES_HEADER_LEN, ucon64.rom); + + mapper = ines_header.ctrl1 >> 4 | (ines_header.ctrl2 & 0xf0); + prg_size = ines_header.prg_size << 14; + if (prg_size > size) + prg_size = size; + chr_size = ines_header.chr_size << 13; + + memset (&smc_header, 0, SMC_HEADER_LEN); + + switch (mapper) + { + case 0: + if ((prg_size == 32 * 1024 || prg_size == 16 * 1024) && chr_size == 8 * 1024) + { + if (prg_size == 16 * 1024) + new_prg_size = 32 * 1024; + smc_header.emulation1 = 0x80; + smc_header.emulation2 = 0xea; + } + else if (prg_size == 32 * 1024 && chr_size == 16 * 1024) + { + smc_header.emulation1 = 0x80; + smc_header.emulation2 = 0xce; + } + break; + case 2: + case 71: + /* + Some mapper 71 games need to be patched before they work: + [0x0e] <= 0x40 + [0x12] <= 0x50 + */ + if (prg_size == 128 * 1024 && chr_size == 0) + { + smc_header.emulation1 = 0x80; + smc_header.emulation2 = 0; + } + else if (prg_size == 256 * 1024 && chr_size == 0) + { + smc_header.emulation1 = 0x80; + smc_header.emulation2 = 0x40; + } + break; + case 3: + if (prg_size == 32 * 1024 && chr_size == 32 * 1024) + { + smc_header.emulation1 = 0x80; + smc_header.emulation2 = 0xb7; + } + break; +#if 0 + case ?: + if (prg_size == 128 * 1024 && chr_size == 32 * 1024) + { + smc_header.emulation1 = 0x80; + smc_header.emulation2 = 0x80; + } + break; +#endif + case 6: // falling through + case 8: // falling through + case 12: + /* + According to kyuusaku the following headers only apply to "trained" + dumps. "Trainers tell the copier how to play the game and how many rom + banks there are and where they are on a game by game basis." + However, I (dbjh) subtracted 0x40 from emulation1 and moved the code + that sets bit SMC_TRAINER (0x40) to general code. + Note that we discard trainer data when converting to iNES and UNIF. + */ + if (size == 1 * MBIT) + { + smc_header.emulation1 = 0x80; + smc_header.emulation2 = 0; + } + else if (size == 2 * MBIT) + { + smc_header.emulation1 = 0x80; + smc_header.emulation2 = 0x20; + } + else if (size == 3 * MBIT) + { + smc_header.emulation1 = 0xa0; + smc_header.emulation2 = 0x20; + } + else if (size == 4 * MBIT) + { + smc_header.emulation1 = 0xb0; + smc_header.emulation2 = 0x20; + } + break; + } + + if (ines_header.ctrl1 & INES_TRAINER) + smc_header.emulation1 |= SMC_TRAINER; + + smc_header.id1 = 0xaa; + smc_header.id2 = 0xbb; +#if 0 // already set to 0 by memset() + smc_header.type = 0; +#endif + + strcpy (src_name, ucon64.rom); + strcpy (dest_name, ucon64.rom); + set_suffix (dest_name, ".ffe"); + ucon64_file_handler (dest_name, src_name, 0); + + if (new_prg_size == -1) // don't resize PRG block + { + ucon64_fwrite (&smc_header, 0, SMC_HEADER_LEN, dest_name, "wb"); + fcopy (src_name, rominfo->buheader_len, size, dest_name, "ab"); + } + else + { + unsigned char *prg_data = (unsigned char *) malloc (new_prg_size); + int offset; + + if (prg_data == NULL) + { + fprintf (stderr, ucon64_msg[BUFFER_ERROR], new_prg_size); + exit (1); + } + memset (prg_data, 0, new_prg_size); // pad with zeroes + ucon64_fread (prg_data, rominfo->buheader_len, prg_size, src_name); + + // write header + ucon64_fwrite (&smc_header, 0, SMC_HEADER_LEN, dest_name, "wb"); + + // copy trainer data if present + if (ines_header.ctrl1 & INES_TRAINER) + { + fcopy (src_name, rominfo->buheader_len, 512, dest_name, "ab"); + offset = 512; + } + else + offset = 0; + + // write resized PRG block + ucon64_fwrite (prg_data, SMC_HEADER_LEN + offset, new_prg_size, dest_name, "ab"); + + // copy CHR block + fcopy (src_name, rominfo->buheader_len + offset + prg_size, + size - offset - prg_size, dest_name, "ab"); + + free (prg_data); + } + + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + return 0; +} + + +int +nes_ineshd (st_rominfo_t *rominfo) +{ + char dest_name[FILENAME_MAX]; + + if (type != INES) + { + fprintf (stderr, "ERROR: This option is only meaningful for iNES files\n"); + return -1; + } + + strcpy (dest_name, ucon64.rom); + set_suffix (dest_name, ".hdr"); + ucon64_file_handler (dest_name, NULL, 0); + fcopy (ucon64.rom, rominfo->buheader_start, 16, dest_name, "wb"); + + printf (ucon64_msg[WROTE], dest_name); + return 0; +} + + +int +nes_dint (void) +{ + char src_name[FILENAME_MAX], dest_name[FILENAME_MAX]; + FILE *srcfile, *destfile; + + if (type != INES) + { + // Do interleaved UNIF or Pasofami images exist? + fprintf (stderr, "ERROR: Currently only iNES images can be deinterleaved\n"); + return -1; + } + + strcpy (dest_name, ucon64.rom); + set_suffix (dest_name, ".nes"); + strcpy (src_name, ucon64.rom); + ucon64_file_handler (dest_name, src_name, 0); + if ((srcfile = fopen (src_name, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], src_name); + return -1; + } + if ((destfile = fopen (dest_name, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], dest_name); + return -1; + } + + register_func (remove_temp_file); + nes_destfname = dest_name; + nes_destfile = destfile; + register_func (remove_destfile); + // type == INES + if (nes_ines_ines (srcfile, destfile, 1) == -1) // -1 == error + exit (1); // calls remove_temp_file() & remove_destfile() + + unregister_func (remove_destfile); + fclose (srcfile); + fclose (destfile); + unregister_func (remove_temp_file); + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + return 0; +} + + +static int +parse_prm (st_ines_header_t *header, const char *fname) +/* + Parse a .PRM file. The format has probably been designed be some mentally + impaired person. I am not mentally impaired, so I just read the information + that I can use :-) + The meaning of the bytes comes from Marat Fayzullin's NESLIST. +*/ +{ + unsigned char prm[71]; // .PRM files are 71 bytes in size + + ucon64_fread (prm, 0, 71, fname); + + if (prm[0] == 'V') // mirroring + header->ctrl1 |= INES_MIRROR; + else if (prm[0] == 'H') + header->ctrl1 &= ~INES_MIRROR; + + if (prm[1] == 'T') // ROM mapper type (2/4/not specified) + set_mapper (header, 2); + else if (prm[1] == 'N') + set_mapper (header, 4); + else + set_mapper (header, 0); + + // ignore VROM mapper type ('T' == mapper 2 or 4, nice design) + // ignore music mode + // ignore "something related to graphics" + // ignore "unknown" + // ignore "validity?" + // ignore "IRQ control?" + // ignore "something related to graphics" + // ignore "display validity?" + // ignore speed (NMI) control (always 'S') + // ignore default sprite size (always 'L') + // ignore default foreground/background (always 'R') + // ignore "break order?" + + if (prm[14] == 'E') // preserve extension RAM + header->ctrl1 |= INES_SRAM; + else + header->ctrl1 &= ~INES_SRAM; + + // ignore "unknown" + // ignore "something related to interrupts" (always 'S') + + if (prm[17] != 'M') // bank-switched ROM? + set_mapper (header, 0); + + // ignore 9 unknown bytes + // ignore "partial horizontal scroll?" (always 'X') + // ignore "don't scroll up to this scanline?" (always "02") + // ignore "line to do a scroll in?" (always '2') + // ignore "comment?" (always 'A') + + return 0; +} + + +int +nes_j (unsigned char **mem_image) +/* + The Pasofami format consists of several files: + - .PRM: header (uCON64 treats it as optional in order to support RAW images) + - .700: trainer data (optional) + - .PRG: ROM data + - .CHR: VROM data (optional) +*/ +{ + char src_name[FILENAME_MAX], dest_name[FILENAME_MAX]; + unsigned char *buffer; + int prg_size = 0, chr_size = 0, write_file = 0, size, bytes_read = 0, nparts = 0; + + if (type != PASOFAMI) + { + fprintf (stderr, "ERROR: Only Pasofami files can be joined (for NES)\n"); + return -1; + } + + if (mem_image == NULL) + write_file = 1; + + strcpy (dest_name, ucon64.rom); + set_suffix (dest_name, ".nes"); + if (write_file) + ucon64_file_handler (dest_name, NULL, 0); + + // build iNES header + memset (&ines_header, 0, INES_HEADER_LEN); + memcpy (&ines_header.signature, INES_SIG_S, 4); + + strcpy (src_name, ucon64.rom); + set_suffix (src_name, ".prm"); + if (access (src_name, F_OK) == 0) + { + parse_prm (&ines_header, src_name); + nparts++; + } + else if (write_file) // Don't print this from nes_init() + printf ("WARNING: No %s, using default values\n", src_name); + + // Don't do this in parse_prm(), because there might be no .PRM file available + if (UCON64_ISSET (ucon64.battery)) + { + if (ucon64.battery) + ines_header.ctrl1 |= INES_SRAM; + else + ines_header.ctrl1 &= ~INES_SRAM; + } + + if (UCON64_ISSET (ucon64.mirror)) + { + ines_header.ctrl1 &= ~(INES_MIRROR | INES_4SCREEN); // clear bits + if (ucon64.mirror == 0) + ; // default value in ctrl1 (0) is ok + else if (ucon64.mirror == 1) + ines_header.ctrl1 |= INES_MIRROR; + else if (ucon64.mirror == 4) + ines_header.ctrl1 |= INES_4SCREEN; + else + printf ("WARNING: Invalid mirroring type specified, using \"0\"\n"); + } + + strcpy (src_name, ucon64.rom); + set_suffix (src_name, ".700"); + if (access (src_name, F_OK) == 0 && fsizeof (src_name) >= 512) + { + ines_header.ctrl1 |= INES_TRAINER; + nparts++; + } + + set_suffix (src_name, ".prg"); + if (access (src_name, F_OK) != 0) // .PRG file must exist, but + { // not for nes_init() + if (write_file) + { + fprintf (stderr, "ERROR: No %s, can't make image without it\n", src_name); + exit (1); + } + } + else + { + prg_size = fsizeof (src_name); + nparts++; + } + ines_header.prg_size = prg_size >> 14; + + set_suffix (src_name, ".chr"); + if (access (src_name, F_OK) == 0) + { + chr_size = fsizeof (src_name); + nparts++; + } + ines_header.chr_size = chr_size >> 13; + + if (ucon64.mapr == NULL || strlen (ucon64.mapr) == 0) + { // maybe .PRM contained mapper + if (write_file) // Don't print this from nes_init() + printf ("WARNING: No mapper number specified, writing \"%d\"\n", + (ines_header.ctrl1 >> 4) | (ines_header.ctrl2 & 0xf0)); + } + else // mapper specified (override unreliable value from .PRM file) + set_mapper (&ines_header, strtol (ucon64.mapr, NULL, 10)); + + size = prg_size + chr_size + ((ines_header.ctrl1 & INES_TRAINER) ? 512 : 0); + if ((buffer = (unsigned char *) malloc (size)) == NULL) + { + fprintf (stderr, ucon64_msg[BUFFER_ERROR], size); + return -1; + } + + if (ines_header.ctrl1 & INES_TRAINER) + { + set_suffix (src_name, ".700"); + ucon64_fread (buffer, 0, 512, src_name); // use 512 bytes at max + bytes_read = 512; + } + + if (prg_size > 0) + { + set_suffix (src_name, ".prg"); + ucon64_fread (buffer + bytes_read, 0, prg_size, src_name); + bytes_read += prg_size; + } + + if (chr_size > 0) + { + set_suffix (src_name, ".chr"); + ucon64_fread (buffer + bytes_read, 0, chr_size, src_name); + } + + if (write_file) + { + ucon64_fwrite (&ines_header, 0, INES_HEADER_LEN, dest_name, "wb"); + ucon64_fwrite (buffer, INES_HEADER_LEN, size, dest_name, "ab"); + printf (ucon64_msg[WROTE], dest_name); + free (buffer); + } + else + *mem_image = buffer; + + if (!UCON64_ISSET (ucon64.split)) + ucon64.split = nparts; + + return 0; +} + + +static int +write_prm (st_ines_header_t *header, const char *fname) +{ + unsigned char prm[72] = // .PRM files are 71 bytes in size (ASCII-z) + " SLR S X022A\r\n" + "1234567890123456789012345678901234\r\n\x1a"; + int mapper; + + if (UCON64_ISSET (ucon64.mirror)) + { + header->ctrl1 &= ~(INES_MIRROR | INES_4SCREEN); // clear bits + if (ucon64.mirror == 0) + ; // default value in ctrl1 (0) is ok + else if (ucon64.mirror == 1) + header->ctrl1 |= INES_MIRROR; +// Pasofami only stores horizontal or vertical mirroring types +// else if (ucon64.mirror == 4) +// header->ctrl1 |= INES_4SCREEN; + else + printf ("WARNING: Invalid mirroring type specified, using \"0\"\n"); + } + if (header->ctrl1 & INES_MIRROR) // mirroring + prm[0] = 'V'; + else + prm[0] = 'H'; + + mapper = (header->ctrl1 >> 4) | (header->ctrl2 & 0xf0); + if (mapper % 16 == 2) // mod of 16 to do the same as NESLIST, + { // but I (dbjh) think this is a bug + prm[1] = 'T'; // ROM mapper type (2/4/not specified) + prm[2] = 'T'; // VROM mapper type (2/4/not specified) + prm[4] = 'C'; // "something related to graphics" + } // (2/4/not specified) + else if (mapper % 16 == 4) + { + prm[1] = 'N'; + prm[2] = 'T'; + prm[4] = 'N'; + } + + if (UCON64_ISSET (ucon64.battery)) + { + if (ucon64.battery) + header->ctrl1 |= INES_SRAM; + else + header->ctrl1 &= ~INES_SRAM; + } + if (header->ctrl1 & INES_SRAM) // preserve extension RAM + prm[14] = 'E'; + + if (mapper) // bank-switched ROM? + prm[17] = 'M'; + + // don't write backups of parts, because one name is used + if (ucon64_fwrite (prm, 0, sizeof (prm), fname, "wb") == -1) + { + fprintf (stderr, ucon64_msg[WRITE_ERROR], fname); + return -1; // try to continue + } + else + printf (ucon64_msg[WROTE], fname); + + return 0; +} + + +int +nes_s (void) +{ + char dest_name[FILENAME_MAX]; + unsigned char *trainer_data = NULL, *prg_data = NULL, *chr_data = NULL; + int prg_size = 0, chr_size = 0, x; + FILE *srcfile; + + if (type != INES) + { + fprintf (stderr, "ERROR: Currently only iNES -> Pasofami is supported\n"); + return -1; + } + + if ((srcfile = fopen (ucon64.rom, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], ucon64.rom); + return -1; + } + + // read iNES file + fread (&ines_header, 1, INES_HEADER_LEN, srcfile); + if (ines_header.ctrl1 & INES_TRAINER) + { + if (read_block (&trainer_data, 512, srcfile, + "ERROR: Not enough memory for trainer buffer (%d bytes)\n", 512) != 512) + { + fprintf (stderr, "ERROR: %s is not a valid iNES file", ucon64.rom); + exit (1); + } + } + prg_size = ines_header.prg_size << 14; + prg_size = read_block (&prg_data, prg_size, srcfile, + "ERROR: Not enough memory for PRG buffer (%d bytes)\n", prg_size); + chr_size = ines_header.chr_size << 13; + if (chr_size > 0) + chr_size = read_block (&chr_data, chr_size, srcfile, + "ERROR: Not enough memory for CHR buffer (%d bytes)\n", chr_size); + + if (ucon64.mapr != NULL && strlen (ucon64.mapr) > 0) // mapper specified + { + x = strtol (ucon64.mapr, NULL, 10); + if (x == 0 || x == 2 || x == 4) + set_mapper (&ines_header, x); + else + printf ("WARNING: Pasofami can only store mapper numbers 0, 2 or 4; using old value\n"); + } + + strcpy (dest_name, ucon64.rom); + set_suffix (dest_name, ".prm"); + ucon64_output_fname (dest_name, 0); + write_prm (&ines_header, dest_name); + + if (ines_header.ctrl1 & INES_TRAINER) + { + set_suffix (dest_name, ".700"); + // don't write backups of parts, because one name is used + if (ucon64_fwrite (trainer_data, 0, 512, dest_name, "wb") == -1) + fprintf (stderr, ucon64_msg[WRITE_ERROR], dest_name); // try to continue + else + printf (ucon64_msg[WROTE], dest_name); + } + + if (prg_size > 0) + { + set_suffix (dest_name, ".prg"); + // don't write backups of parts, because one name is used + if (ucon64_fwrite (prg_data, 0, prg_size, dest_name, "wb") == -1) + fprintf (stderr, ucon64_msg[WRITE_ERROR], dest_name); // try to continue + else + printf (ucon64_msg[WROTE], dest_name); + } + else + printf ("WARNING: No PRG data in %s\n", ucon64.rom); + + if (chr_size > 0) + { + set_suffix (dest_name, ".chr"); + // don't write backups of parts, because one name is used + if (ucon64_fwrite (chr_data, 0, chr_size, dest_name, "wb") == -1) + fprintf (stderr, ucon64_msg[WRITE_ERROR], dest_name); // try to continue + else + printf (ucon64_msg[WROTE], dest_name); + } + + free (trainer_data); + free (prg_data); + free (chr_data); + fclose(srcfile); + return 0; +} + + +int +nes_n (const char *name) +{ + if (type != UNIF) + { + fprintf (stderr, "ERROR: This option is only meaningful for UNIF files\n"); + return -1; + } + + if (name != NULL && strlen (name) > 0) + internal_name = name; + else + internal_name = NULL; + + return nes_unif (); // will call nes_unif_unif() +} + + +int +nes_init (st_rominfo_t *rominfo) +{ + unsigned char magic[15], *rom_buffer; + int result = -1, size, x, y, n, crc = 0; + // currently 92 bytes is enough for ctrl_str, but extra space avoids + // introducing bugs when controller type text would be changed + char buf[MAXBUFSIZE], ctrl_str[200], *str, *str_list[8]; + st_unif_chunk_t *unif_chunk, *unif_chunk2; + st_nes_data_t *info, key; + + internal_name = NULL; // reset this var, see nes_n() + type = PASOFAMI; // reset type, see below + + ucon64_fread (magic, 0, 15, ucon64.rom); + if (memcmp (magic, "NES", 3) == 0) + /* + Check for "NES" and not for INES_SIG_S ("NES\x1a"), because there are two + NES files floating around on the internet with a pseudo iNES header: + "Home Alone 2 - Lost in New York (U) [b3]" (magic: "NES\x19") and + "Linus Music Demo (PD)" (magic: "NES\x1b") + */ + { + type = INES; + result = 0; + } + else if (memcmp (magic, UNIF_SIG_S, 4) == 0) + { + type = UNIF; + result = 0; + } + else if (memcmp (magic, FDS_SIG_S, 4) == 0) + { + type = FDS; + result = 0; + + rominfo->buheader_start = FDS_HEADER_START; + rominfo->buheader_len = FDS_HEADER_LEN; + // we use ffe_header to save some space in the exe + ucon64_fread (&ffe_header, FDS_HEADER_START, FDS_HEADER_LEN, ucon64.rom); + rominfo->buheader = &ffe_header; + } + else if (memcmp (magic, "\x01*NINTENDO-HVC*", 15) == 0) // "headerless" FDS/FAM file + { + if (ucon64.file_size % 65500 == 192) + type = FAM; + else + type = FDS; + result = 0; + } + + if (type == PASOFAMI) // INES, UNIF, FDS and FAM are much + { // more reliable than stricmp()s + str = (char *) get_suffix (ucon64.rom); + if (!stricmp (str, ".prm") || + !stricmp (str, ".700") || + !stricmp (str, ".prg") || + !stricmp (str, ".chr")) + { + type = PASOFAMI; + result = 0; + } + else if (magic[8] == 0xaa && magic[9] == 0xbb) + { // TODO: finding a reliable means + type = FFE; // for detecting FFE images + result = 0; + } + } + if (ucon64.console == UCON64_NES) + result = 0; + + switch (type) + { + case INES: + rominfo->copier_usage = ines_usage[0].help; + rominfo->buheader_start = INES_HEADER_START; + rominfo->buheader_len = INES_HEADER_LEN; + ucon64_fread (&ines_header, INES_HEADER_START, INES_HEADER_LEN, ucon64.rom); + rominfo->buheader = &ines_header; + ucon64.split = 0; // iNES files are never split + + sprintf (buf, "Internal size: %.4f Mb\n", + TOMBIT_F ((ines_header.prg_size << 14) + (ines_header.chr_size << 13))); + strcat (rominfo->misc, buf); + + sprintf (buf, "Internal PRG size: %.4f Mb\n", // ROM + TOMBIT_F (ines_header.prg_size << 14)); + strcat (rominfo->misc, buf); + + sprintf (buf, "Internal CHR size: %.4f Mb\n", // VROM + TOMBIT_F (ines_header.chr_size << 13)); + strcat (rominfo->misc, buf); + + x = (ines_header.ctrl1 >> 4) | (ines_header.ctrl2 & 0xf0); + if (ines_header.ctrl2 & 0xf) + sprintf (buf, "Memory mapper (iNES): %d (%d)\n", x, + x | ((ines_header.ctrl2 & 0xf) << 8)); + else + sprintf (buf, "Memory mapper (iNES): %d\n", x); + strcat (rominfo->misc, buf); + + if (ines_header.ctrl1 & INES_MIRROR) + str = "Vertical"; + else if (ines_header.ctrl1 & INES_4SCREEN) + str = "Four screens of VRAM"; + else + str = "Horizontal"; + sprintf (buf, "Mirroring: %s\n", str); + strcat (rominfo->misc, buf); + + sprintf (buf, "Save RAM: %s\n", (ines_header.ctrl1 & INES_SRAM) ? "Yes" : "No"); + strcat (rominfo->misc, buf); + + sprintf (buf, "512-byte trainer: %s\n", + (ines_header.ctrl1 & INES_TRAINER) ? "Yes" : "No"); + strcat (rominfo->misc, buf); + + sprintf (buf, "VS-System: %s", (ines_header.ctrl2 & 0x01) ? "Yes" : "No"); + strcat (rominfo->misc, buf); + break; + case UNIF: + rominfo->copier_usage = unif_usage[0].help; + rominfo->buheader_start = UNIF_HEADER_START; + rominfo->buheader_len = UNIF_HEADER_LEN; + ucon64_fread (&unif_header, UNIF_HEADER_START, UNIF_HEADER_LEN, ucon64.rom); + rominfo->buheader = &unif_header; + + rom_size = ucon64.file_size - UNIF_HEADER_LEN; + if ((rom_buffer = (unsigned char *) malloc (rom_size)) == NULL) + { + fprintf (stderr, ucon64_msg[ROM_BUFFER_ERROR], rom_size); + return -1; //exit (1); please don't use exit () in init + } + ucon64_fread (rom_buffer, UNIF_HEADER_LEN, rom_size, ucon64.rom); + ucon64.split = 0; // UNIF files are never split + + x = me2le_32 (unif_header.revision); // Don't modify header data + sprintf (buf, "UNIF revision: %d\n", x); + strcpy (rominfo->misc, buf); + + if ((unif_chunk = read_chunk (MAPR_ID, rom_buffer, 0)) != NULL) + { + sprintf (buf, "Board name: %s\n", (char *) unif_chunk->data); + strcat (rominfo->misc, buf); + } + free (unif_chunk); + if ((unif_chunk = read_chunk (READ_ID, rom_buffer, 0)) != NULL) + { + sprintf (buf, "Comment: %s\n", (char *) unif_chunk->data); + strcat (rominfo->misc, buf); + } + free (unif_chunk); +#if UNIF_REVISION > 7 + if ((unif_chunk = read_chunk (WRTR_ID, rom_buffer, 0)) != NULL) + { + char ucon64_name[] = "uCON64"; + strcat (rominfo->misc, "Processed by: "); + y = 0; + do + { + if (y) + strcat (rominfo->misc, ", "); + /* + The format of the uCON64 WRTR chunk is: + uCON64 + but other tools needn't use the same format. We can only be + sure that the string starts with the tool name. + */ + y = strlen ((const char *) unif_chunk->data); + x = 0; + if (!strncmp ((const char *) unif_chunk->data, ucon64_name, strlen (ucon64_name))) + { + while (x < y) + { + if (((char *) unif_chunk->data)[x] == WRTR_MARKER) + ((char *) unif_chunk->data)[x] = ' '; + x++; + } + } + else + { + while (x < y) + { + if (((char *) unif_chunk->data)[x] == WRTR_MARKER) + { + ((char *) unif_chunk->data)[x] = 0; + break; + } + x++; + } + } + strcat (rominfo->misc, (const char *) unif_chunk->data); + y = 1; + free (unif_chunk); + } + while ((unif_chunk = read_chunk (WRTR_ID, rom_buffer, 1)) != NULL); + strcat (rominfo->misc, "\n"); + } +#endif + if ((unif_chunk = read_chunk (NAME_ID, rom_buffer, 0)) != NULL) + { +#if 0 + sprintf (buf, "Internal name: %s\n", (char *) unif_chunk->data); + strcat (rominfo->misc, buf); +#endif + memcpy (rominfo->name, unif_chunk->data, + unif_chunk->length > sizeof rominfo->name ? + sizeof rominfo->name : unif_chunk->length); + } + free (unif_chunk); + if ((unif_chunk = read_chunk (TVCI_ID, rom_buffer, 0)) != NULL) + { + str_list[0] = "NTSC"; + str_list[1] = "PAL"; + str_list[2] = "NTSC/PAL"; + x = *((unsigned char *) unif_chunk->data); + sprintf (buf, "Television standard: %s\n", x > 2 ? "Unknown" : str_list[x]); + strcat (rominfo->misc, buf); + } + free (unif_chunk); + if ((unif_chunk = read_chunk (DINF_ID, rom_buffer, 0)) != NULL) + { + st_dumper_info_t *info = (st_dumper_info_t *) unif_chunk->data; + sprintf (buf, "Dump info:\n" + " Dumper: %s\n" + " Date: %d-%d-%02d\n" + " Agent: %s\n", + info->dumper_name, + info->day, info->month, le2me_16 (info->year), + info->dumper_agent); + strcat (rominfo->misc, buf); + } + free (unif_chunk); + if ((unif_chunk = read_chunk (CTRL_ID, rom_buffer, 0)) != NULL) + { + str_list[0] = "Regular joypad"; + str_list[1] = "Zapper"; + str_list[2] = "R.O.B."; + str_list[3] = "Arkanoid controller"; + str_list[4] = "Power pad"; + str_list[5] = "Four-score adapter"; + str_list[6] = "Unknown"; // bit 6 and 7 are reserved + str_list[7] = str_list[6]; + ctrl_str[0] = 0; + + x = *((unsigned char *) unif_chunk->data); + y = 0; + for (n = 0; n < 8; n++) + if (x & (1 << n)) + { + if (y) + strcat (ctrl_str, ", "); + strcat (ctrl_str, str_list[n]); + y = 1; + } + sprintf (buf, "Supported controllers: %s\n", ctrl_str); + strcat (rominfo->misc, buf); + } + free (unif_chunk); + + size = 0; + // PRG chunk info + for (n = 0; n < 16; n++) + { + if ((unif_chunk = read_chunk (unif_prg_ids[n], rom_buffer, 0)) != NULL) + { + crc = crc32 (crc, (unsigned char *) unif_chunk->data, unif_chunk->length); + size += unif_chunk->length; + if ((unif_chunk2 = read_chunk (unif_pck_ids[n], rom_buffer, 0)) == NULL) + str = "not available"; + else + { + x = crc32 (0, (unsigned char *) unif_chunk->data, unif_chunk->length); +#ifdef WORDS_BIGENDIAN + x = bswap_32 (x); +#endif + str = (char *) +#ifdef USE_ANSI_COLOR + (ucon64.ansi_color ? + ((x == *((int *) unif_chunk2->data)) ? + "\x1b[01;32mok\x1b[0m" : "\x1b[01;31mbad\x1b[0m") + : + ((x == *((int *) unif_chunk2->data)) ? "ok" : "bad")); +#else + ((x == *((int *) unif_chunk2->data)) ? "ok" : "bad"); +#endif + } + sprintf (buf, "PRG%X: %.4f Mb, checksum %s\n", n, + TOMBIT_F (unif_chunk->length), str); + strcat (rominfo->misc, buf); + free (unif_chunk2); + } + free (unif_chunk); + } + + // CHR chunk info + for (n = 0; n < 16; n++) + { + if ((unif_chunk = read_chunk (unif_chr_ids[n], rom_buffer, 0)) != NULL) + { + crc = crc32 (crc, (unsigned char *) unif_chunk->data, unif_chunk->length); + size += unif_chunk->length; + if ((unif_chunk2 = read_chunk (unif_cck_ids[n], rom_buffer, 0)) == NULL) + str = "not available"; + else + { + x = crc32 (0, (unsigned char *) unif_chunk->data, unif_chunk->length); +#ifdef WORDS_BIGENDIAN + x = bswap_32 (x); +#endif + str = (char *) +#ifdef USE_ANSI_COLOR + (ucon64.ansi_color ? + ((x == *((int *) unif_chunk2->data)) ? + "\x1b[01;32mok\x1b[0m" : "\x1b[01;31mbad\x1b[0m") + : + ((x == *((int *) unif_chunk2->data)) ? "ok" : "bad")); +#else + ((x == *((int *) unif_chunk2->data)) ? "ok" : "bad"); +#endif + } + sprintf (buf, "CHR%X: %.4f Mb, checksum %s\n", n, + TOMBIT_F (unif_chunk->length), str); + strcat (rominfo->misc, buf); + free (unif_chunk2); + } + free (unif_chunk); + } + ucon64.crc32 = crc; + rominfo->data_size = size; + + // Don't introduce extra code just to make this line be printed above + // the previous two line types (PRG & CHR) + sprintf (buf, "Size: %.4f Mb\n", TOMBIT_F (rominfo->data_size)); + strcat (rominfo->misc, buf); + + x = 0; + if ((unif_chunk = read_chunk (BATR_ID, rom_buffer, 0)) != NULL) + x = 1; + sprintf (buf, "Save RAM: %s\n", x ? "Yes" : "No"); + strcat (rominfo->misc, buf); + free (unif_chunk); + if ((unif_chunk = read_chunk (MIRR_ID, rom_buffer, 0)) != NULL) + { + str_list[0] = "Horizontal (hard wired)"; + str_list[1] = "Vertical (hard wired)"; + str_list[2] = "All pages from $2000 (hard wired)"; + str_list[3] = "All pages from $2400 (hard wired)"; + str_list[4] = "Four screens of VRAM (hard wired)"; + str_list[5] = "Controlled by mapper hardware"; + x = *((unsigned char *) unif_chunk->data); + sprintf (buf, "Mirroring: %s\n", x > 5 ? "Unknown" : str_list[x]); + strcat (rominfo->misc, buf); + } + free (unif_chunk); + x = 0; + if ((unif_chunk = read_chunk (VROR_ID, rom_buffer, 0)) != NULL) + x = 1; + sprintf (buf, "VRAM override: %s", x ? "Yes" : "No"); + strcat (rominfo->misc, buf); + free (unif_chunk); + + free (rom_buffer); + break; + case PASOFAMI: + /* + Either a *.PRM header file, a 512-byte *.700 trainer file, a *.PRG + ROM data file or a *.CHR VROM data file. + */ + rominfo->copier_usage = pasofami_usage[0].help; + rominfo->buheader_start = 0; + strcpy (buf, ucon64.rom); + set_suffix (buf, ".prm"); + if (access (buf, F_OK) == 0) + { + rominfo->buheader_len = fsizeof (buf); + // we use ffe_header to save some space + ucon64_fread (&ffe_header, 0, rominfo->buheader_len, buf); + rominfo->buheader = &ffe_header; + } + else + rominfo->buheader_len = 0; + + /* + Build a temporary iNES image in memory from the Pasofami files. + In memory, because we want to be able to display info for Pasofami + files on read-only filesystems WITHOUT messing with/finding temporary + storage somewhere. We also want to calculate the CRC and it's handy to + have the data in memory for that. + Note that nes_j() wouldn't be much different if ucon64_chksum() would be + used. This function wouldn't be much different either. + */ + x = nes_j (&rom_buffer); + rominfo->data_size = (ines_header.prg_size << 14) + (ines_header.chr_size << 13) + + ((ines_header.ctrl1 & INES_TRAINER) ? 512 : 0); + if (x == 0) + { // use buf only if it could be allocated + ucon64.crc32 = crc32 (0, rom_buffer, rominfo->data_size); + free (rom_buffer); + } + + sprintf (buf, "Size: %.4f Mb\n", TOMBIT_F (rominfo->data_size)); + strcat (rominfo->misc, buf); + + sprintf (buf, "PRG size: %.4f Mb\n", // ROM, don't say internal, + TOMBIT_F (ines_header.prg_size << 14)); // because it's not + strcat (rominfo->misc, buf); + + sprintf (buf, "CHR size: %.4f Mb\n", // VROM + TOMBIT_F (ines_header.chr_size << 13)); + strcat (rominfo->misc, buf); + + sprintf (buf, "Memory mapper (iNES): %d\n", + (ines_header.ctrl1 >> 4) | (ines_header.ctrl2 & 0xf0)); + strcat (rominfo->misc, buf); + + sprintf (buf, "Mirroring: %s\n", + (ines_header.ctrl1 & INES_MIRROR) ? "Vertical" : "Horizontal"); + strcat (rominfo->misc, buf); + + sprintf (buf, "Save RAM: %s\n", + (ines_header.ctrl1 & INES_SRAM) ? "Yes" : "No"); + strcat (rominfo->misc, buf); + + sprintf (buf, "512-byte trainer: %s", + (ines_header.ctrl1 & INES_TRAINER) ? "Yes" : "No"); + strcat (rominfo->misc, buf); + break; + case FFE: + if (magic[10] == 1) + { + rominfo->buheader_len = SMC_HEADER_LEN; + strcpy (rominfo->name, "Name: N/A"); + rominfo->console_usage = NULL; + rominfo->copier_usage = smc_usage[0].help; + rominfo->maker = "Publisher: You?"; + rominfo->country = "Country: Your country?"; + rominfo->has_internal_crc = 0; + ucon64.split = 0; // RTS files are never split + strcat (rominfo->misc, "Type: Super Magic Card RTS file\n"); + return 0; // rest is nonsense for RTS file + } + + /* + 512-byte header + 512-byte trainer (optional) + ROM data + VROM data (optional) + + It makes no sense to make a temporary iNES image here. It makes sense + for Pasofami, because there might be a .PRM file and because there is + still other information about the image structure. + */ + rominfo->copier_usage = smc_usage[0].help; + rominfo->buheader_start = SMC_HEADER_START; + rominfo->buheader_len = SMC_HEADER_LEN; + ucon64_fread (&ffe_header, SMC_HEADER_START, SMC_HEADER_LEN, ucon64.rom); + rominfo->buheader = &ffe_header; + + sprintf (buf, "512-byte trainer: %s", + (ffe_header.emulation1 & SMC_TRAINER) ? "Yes" : "No"); + strcat (rominfo->misc, buf); + break; + case FDS: + rominfo->copier_usage = fds_usage[0].help; + rominfo->country = "Japan"; + strcat (rominfo->misc, "\n"); + nes_fdsl (rominfo, rominfo->misc); // will also fill in rominfo->name + break; + case FAM: + rominfo->copier_usage = fds_usage[0].help; + rominfo->country = "Japan"; + + // FAM files don't have a header. Instead they seem to have a 192 byte trailer. + rominfo->buheader_start = ucon64.file_size - FAM_HEADER_LEN; + rominfo->buheader_len = FAM_HEADER_LEN; + + // we use ffe_header to save some space + ucon64_fread (&ffe_header, rominfo->buheader_start, FAM_HEADER_LEN, ucon64.rom); + rominfo->buheader = &ffe_header; + strcat (rominfo->misc, "\n"); + nes_fdsl (rominfo, rominfo->misc); // will also fill in rominfo->name + + rom_size = ucon64.file_size - FAM_HEADER_LEN; + if ((rom_buffer = (unsigned char *) malloc (rom_size)) == NULL) + { + fprintf (stderr, ucon64_msg[ROM_BUFFER_ERROR], rom_size); + return -1; + } + ucon64_fread (rom_buffer, 0, rom_size, ucon64.rom); + ucon64.crc32 = crc32 (0, rom_buffer, rom_size); + free (rom_buffer); + break; + } + + if (UCON64_ISSET (ucon64.buheader_len)) // -hd, -nhd or -hdn switch was specified + rominfo->buheader_len = ucon64.buheader_len; + + if (ucon64.crc32 == 0) + ucon64_chksum (NULL, NULL, &ucon64.crc32, ucon64.rom, rominfo->buheader_len); + + // additional info + key.crc32 = ucon64.crc32; + info = (st_nes_data_t *) bsearch (&key, nes_data, sizeof nes_data / sizeof (st_nes_data_t), + sizeof (st_nes_data_t), nes_compare); + if (info) + { + if (info->maker) + rominfo->maker = NULL_TO_UNKNOWN_S (nes_maker[MIN (info->maker, NES_MAKER_MAX - 1)]); + + rominfo->country = NULL_TO_UNKNOWN_S (nes_country[MIN (info->country, NES_COUNTRY_MAX - 1)]); + + if (info->date) + { + int month = info->date / 100, year = info->date % 100; + char format[80]; + + if (month) + { + sprintf (format, "\nDate: %%d/19%%d"); + strcat (format, (year == 8 || year == 9) ? "x" : ""); + sprintf (buf, format, month, year); + } + else + { + sprintf (format, "\nDate: 19%%d"); + strcat (format, (year == 8 || year == 9) ? "x" : ""); + sprintf (buf, format, year); + } + strcat (rominfo->misc, buf); + } + } + + rominfo->console_usage = nes_usage[0].help; + + return result; +} + + +static inline char * +to_func (char *s, int len, int (*func) (int)) +{ + char *p = s; + + for (; len > 0; p++, len--) + *p = func (*p); + + return s; +} + + +int +nes_fdsl (st_rominfo_t *rominfo, char *output_str) +/* + Note that NES people prefer $ to signify hexadecimal numbers (not 0x). + However we will print only addresses that way. + This code is based on Marat Fayzullin's FDSLIST. +*/ +{ + FILE *srcfile; + unsigned char buffer[58]; + char name[16], str_list_mem[6], *str_list[4], info_mem[MAXBUFSIZE], *info, line[80]; + int disk, n_disks, file, n_files, start, size, x, header_len = 0; + + if (output_str == NULL) + { + info = info_mem; + info[0] = 0; + } + else + info = output_str; + + if ((srcfile = fopen (ucon64.rom, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], ucon64.rom); + return -1; + } + + n_disks = (ucon64.file_size - rominfo->buheader_len) / 65500; + x = (ucon64.file_size - rominfo->buheader_len) % 65500; + if (x) + { + sprintf (line, "WARNING: %d excessive bytes\n", x); + strcat (info, line); + } + + if (type == FDS) + header_len = rominfo->buheader_len; + else if (type == FAM) // if type == FAM rominfo->buheader_len + header_len = 0; // contains the length of the trailer + for (disk = 0; disk < n_disks; disk++) + { + // go to the next disk + fseek (srcfile, disk * 65500 + header_len, SEEK_SET); + + // read the disk header + if (fread (buffer, 1, 58, srcfile) != 58) + { + fprintf (stderr, "ERROR: Can't read disk header\n"); + fclose (srcfile); + return -1; + } + + if (memcmp (buffer, "\x01*NINTENDO-HVC*", 15)) + { + fprintf (stderr, "ERROR: Invalid disk header\n"); + fclose (srcfile); + return -1; // should we return? + } + + if (buffer[56] != 2) + strcat (info, "WARNING: Invalid file number header\n"); + + memcpy (name, buffer + 16, 4); + name[4] = 0; + if (disk == 0 && output_str != NULL) + memcpy (rominfo->name, name, 4); + n_files = buffer[57]; + sprintf (line, "Disk: '%-4s' Side: %c Files: %d Maker: 0x%02x Version: 0x%02x\n", + name, (buffer[21] & 1) + 'A', n_files, buffer[15], buffer[20]); + strcat (info, line); + + file = 0; + while (file < n_files && fread (buffer, 1, 16, srcfile) == 16) + { + if (buffer[0] != 3) + { + sprintf (line, "WARNING: Invalid file header block ID (0x%02x)\n", buffer[0]); + strcat (info, line); + } + + // get name, data location, and size + strncpy (name, (const char *) buffer + 3, 8); + name[8] = 0; + start = buffer[11] + 256 * buffer[12]; + size = buffer[13] + 256 * buffer[14]; + + x = fgetc (srcfile); + if (x != 4) + { + sprintf (line, "WARNING: Invalid data block ID (0x%02x)\n", x); + strcat (info, line); + } + + str_list[0] = "Code"; + str_list[1] = "Tiles"; + str_list[2] = "Picture"; + if (buffer[15] > 2) + { + str_list[3] = str_list_mem; + sprintf (str_list[3], "0x%02x?", buffer[15]); + buffer[15] = 3; + } + /* + Some FDS files contain control characters in their names. sprintf() + won't print those character so we have to use to_func() with + toprint(). + */ + sprintf (line, "%03d $%02x '%-8s' $%04x-$%04x [%s]\n", + buffer[1], buffer[2], + to_func (name, strlen (name), toprint), + start, start + size - 1, str_list[buffer[15]]); + strcat (info, line); + + fseek (srcfile, size, SEEK_CUR); + file++; + } + if (disk != n_disks - 1) + strcat (info, "\n"); // print newline between disk info blocks + } + + if (output_str == NULL) + puts (info); + + fclose (srcfile); + return 0; +} + + +int +nes_fds (void) +/* + This function converts a Famicom Disk System disk image from FAM format to + FDS format. It does almost the same as -strip apart from three checks + whether the input file is a valid FAM file. + The "algorithm" comes from Marat Fayzullin's FAM2FDS. +*/ +{ + char src_name[FILENAME_MAX], dest_name[FILENAME_MAX], *buffer; + int n; + + if (type != FAM) + { + fprintf (stderr, "ERROR: %s is not a FAM file\n", ucon64.rom); + return -1; + } + if ((buffer = (char *) malloc (65500)) == NULL) + { + fprintf (stderr, ucon64_msg[BUFFER_ERROR], 65500); + return -1; + } + + strcpy (dest_name, ucon64.rom); + set_suffix (dest_name, ".fds"); + strcpy (src_name, ucon64.rom); + ucon64_file_handler (dest_name, src_name, 0); + + for (n = 0; n < 4; n++) + { + if (ucon64_fread (buffer, n * 65500, 65500, src_name) != 65500) + break; + + // check disk image for validity + if (buffer[0] != 1 || buffer[56] != 2 || buffer[58] != 3) + { + fprintf (stderr, "ERROR: %s is not a valid FAM file\n", ucon64.rom); + break; + } + // FAM2FDS also does the following: + // 1 - check if the last chunk is one of a new game (use buffer[16] - buffer[19]) + // 2 - if not, check if buffer[21] (side bit) differs from least significant bit of n + // 3 - if that is the case _print_ (but don't do anything else) "WRONG" else "OK" + + if (ucon64_fwrite (buffer, n * 65500, 65500, dest_name, n ? "ab" : "wb") != 65500) + break; + } + /* + FAM2FDS prints an error message if n isn't 4 at this point (a break was + executed). However, other information seems to indicate that FAM files can + hold fewer than 4 disk images. + */ + + free (buffer); + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + return 0; +} diff --git a/tools/ucon64-2.0.0-src/src/console/nes.h b/tools/ucon64-2.0.0-src/src/console/nes.h new file mode 100644 index 0000000..9250bfa --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/console/nes.h @@ -0,0 +1,236 @@ +/* +nes.h - Nintendo Entertainment System support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB +Copyright (c) 2002 - 2003 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef NES_H +#define NES_H + +typedef enum { INES = 1, UNIF, PASOFAMI, FFE, FDS, FAM } nes_file_t; + +extern const st_getopt2_t nes_usage[]; + +/* + iNES Format (.NES) + ------------------ + + Following the iNES header description (size = $10 bytes): + + +--------+------+------------------------------------------+ + | Offset | Size | Content(s) | + +--------+------+------------------------------------------+ + | 0 | 3 | 'NES' | + | 3 | 1 | $1A | + | 4 | 1 | 16K PRG-ROM page count (size=x*0x4000) | + | 5 | 1 | 8K CHR-ROM page count (size=y*0x2000) | + | 6 | 1 | ROM Control Byte #1 | + | | | %####vTsM | + | | | | ||||+- 0=Horizontal Mirroring | + | | | | |||| 1=Vertical Mirroring | + | | | | |||+-- 1=SaveRAM enabled ($6000) | + | | | | ||+--- 1=Trainer data (512 bytes) | + | | | | |+---- 1=Four-screen mirroring | + | | | | | ($2000,$2400,$2800,$2C00) | + | | | +--+----- Mapper # (lower 4-bits) | + | 7 | 1 | ROM Control Byte #2 | + | | | %####00PU | + | | | | | |+- 1=VS Unisystem arcade | + | | | | | +-- 1=Playchoice-10 arcade | + | | | +--+----- Mapper # (upper 4-bits) | + | 8-15 | 8 | $00 | + | 16-.. | | Actual 16K PRG-ROM pages (in linear | + | ... | | order). If a trainer exists, it precedes | + | ... | | the first PRG-ROM bank. | + | ..-EOF | | CHR-ROM pages (in ascending order). | + +--------+------+------------------------------------------+ + + IMPORTANT: the iNES format DOES NOT support mappers greater than 255. + There are a couple of Famicom mappers > 255. They use byte #7 (low 4 bits), + which conflicts with VS Unisystem/PlayChoice-10 identification. +*/ + +#define INES_SIG_S "NES\x1a" + +// flags in st_ines_header_t.ctrl1 +#define INES_MIRROR 0x01 +#define INES_SRAM 0x02 +#define INES_TRAINER 0x04 +#define INES_4SCREEN 0x08 + +#define INES_HEADER_START 0 +#define INES_HEADER_LEN (sizeof (st_ines_header_t)) + +typedef struct +{ + char signature[4]; // 0x4e,0x45,0x53,0x1a (NES file signature) + unsigned char prg_size; // # 16 kB banks + unsigned char chr_size; // # 8 kB banks + unsigned char ctrl1; + unsigned char ctrl2; + unsigned int reserved1; // 0 + unsigned int reserved2; // 0 +} st_ines_header_t; + + +#define UNIF_SIG_S "UNIF" +#define UNIF_REVISION 8 // the "official" spec is at version 7 (10/08/2002) + +// numeric values of id strings in little endian format, e.g. +// UNIF_ID == 'F' << 24 | 'I' << 16 | 'N' << 8 | 'U' +#define UNIF_ID 0x46494E55 +#define MAPR_ID 0x5250414D +#define READ_ID 0x44414552 +#define NAME_ID 0x454D414E +#define TVCI_ID 0x49435654 +#define DINF_ID 0x464E4944 +#define CTRL_ID 0x4C525443 +#define BATR_ID 0x52544142 +#define VROR_ID 0x524F5256 +#define MIRR_ID 0x5252494D + +#define PCK0_ID 0x304B4350 +#define PCK1_ID 0x314B4350 +#define PCK2_ID 0x324B4350 +#define PCK3_ID 0x334B4350 +#define PCK4_ID 0x344B4350 +#define PCK5_ID 0x354B4350 +#define PCK6_ID 0x364B4350 +#define PCK7_ID 0x374B4350 +#define PCK8_ID 0x384B4350 +#define PCK9_ID 0x394B4350 +#define PCKA_ID 0x414B4350 +#define PCKB_ID 0x424B4350 +#define PCKC_ID 0x434B4350 +#define PCKD_ID 0x444B4350 +#define PCKE_ID 0x454B4350 +#define PCKF_ID 0x464B4350 + +#define CCK0_ID 0x304B4343 +#define CCK1_ID 0x314B4343 +#define CCK2_ID 0x324B4343 +#define CCK3_ID 0x334B4343 +#define CCK4_ID 0x344B4343 +#define CCK5_ID 0x354B4343 +#define CCK6_ID 0x364B4343 +#define CCK7_ID 0x374B4343 +#define CCK8_ID 0x384B4343 +#define CCK9_ID 0x394B4343 +#define CCKA_ID 0x414B4343 +#define CCKB_ID 0x424B4343 +#define CCKC_ID 0x434B4343 +#define CCKD_ID 0x444B4343 +#define CCKE_ID 0x454B4343 +#define CCKF_ID 0x464B4343 + +#define PRG0_ID 0x30475250 +#define PRG1_ID 0x31475250 +#define PRG2_ID 0x32475250 +#define PRG3_ID 0x33475250 +#define PRG4_ID 0x34475250 +#define PRG5_ID 0x35475250 +#define PRG6_ID 0x36475250 +#define PRG7_ID 0x37475250 +#define PRG8_ID 0x38475250 +#define PRG9_ID 0x39475250 +#define PRGA_ID 0x41475250 +#define PRGB_ID 0x42475250 +#define PRGC_ID 0x43475250 +#define PRGD_ID 0x44475250 +#define PRGE_ID 0x45475250 +#define PRGF_ID 0x46475250 + +#define CHR0_ID 0x30524843 +#define CHR1_ID 0x31524843 +#define CHR2_ID 0x32524843 +#define CHR3_ID 0x33524843 +#define CHR4_ID 0x34524843 +#define CHR5_ID 0x35524843 +#define CHR6_ID 0x36524843 +#define CHR7_ID 0x37524843 +#define CHR8_ID 0x38524843 +#define CHR9_ID 0x39524843 +#define CHRA_ID 0x41524843 +#define CHRB_ID 0x42524843 +#define CHRC_ID 0x43524843 +#define CHRD_ID 0x44524843 +#define CHRE_ID 0x45524843 +#define CHRF_ID 0x46524843 + +#if UNIF_REVISION > 7 +// UNIF revision 8 (if it ever comes out) will probably include this chunk type +#define WRTR_ID 0x52545257 +#define WRTR_MARKER ';' +#define WRTR_MARKER_S ";" +#endif + +#define BOARDNAME_MAXLEN 32 // chunk length, NOT string length + // string lentgh = chunk length - 1 +#define UNIF_HEADER_START 0 +#define UNIF_HEADER_LEN (sizeof (st_unif_header_t)) + +typedef struct +{ + char signature[4]; // 0x55,0x4e,0x49,0x46 ("UNIF") + unsigned int revision; // revision number + unsigned char expansion[24]; // reserved +} st_unif_header_t; + +typedef struct +{ + unsigned int id; // chunk identification string + unsigned int length; // data length, in little endian format + void *data; +} st_unif_chunk_t; + +// DINF chunk data +typedef struct +{ + char dumper_name[100]; // name of the person who dumped the cart + unsigned char day; // day of the month when cartridge was dumped + unsigned char month; // month of the year when cartridge was dumped + unsigned short year; // year during which the cartridge was dumped + char dumper_agent[100]; // name of the ROM-dumping means used (ASCII-Z string) +} st_dumper_info_t; + + +#define FDS_SIG_S "FDS\x1A" +#define FDS_HEADER_START 0 +#define FDS_HEADER_LEN 16 + + +// the FAM define is a guess based on FAM2FDS, more info is needed about the +// FAM format +#define FAM_HEADER_LEN 192 + + +extern int nes_fds (void); +extern int nes_fdsl (st_rominfo_t *rominfo, char *output_str); +extern int nes_n (const char *name); +extern int nes_s (void); +extern int nes_pasofami (void); +extern int nes_ineshd (st_rominfo_t *rominfo); +extern int nes_ffe (st_rominfo_t *rominfo); +extern int nes_ines (void); +extern int nes_init (st_rominfo_t *rominfo); +extern int nes_unif (void); +extern int nes_j (unsigned char **mem_image); +extern int nes_dint (void); +extern nes_file_t nes_get_file_type (void); + +#endif // NES_H diff --git a/tools/ucon64-2.0.0-src/src/console/ngp.c b/tools/ucon64-2.0.0-src/src/console/ngp.c new file mode 100644 index 0000000..7052486 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/console/ngp.c @@ -0,0 +1,112 @@ +/* +ngp.c - NeoGeo Pocket support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB +Copyright (c) 2001 Gulliver + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include "misc/misc.h" +#include "misc/file.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ucon64_misc.h" +#include "ngp.h" +#include "backup/pl.h" + + +const st_getopt2_t ngp_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Neo Geo Pocket/Neo Geo Pocket Color"/*"1998/1999 SNK http://www.neogeo.co.jp"*/, + NULL + }, + { + "ngp", 0, 0, UCON64_NGP, + NULL, "force recognition", + &ucon64_wf[WF_OBJ_NGP_SWITCH] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + + +typedef struct st_ngp_header +{ + char pad[48]; +} st_ngp_header_t; + +#define NGP_HEADER_START 0 +#define NGP_HEADER_LEN (sizeof (st_ngp_header_t)) + + +st_ngp_header_t ngp_header; + + +int +ngp_init (st_rominfo_t *rominfo) +{ + int result = -1; + char *snk_code = "COPYRIGHT BY SNK CORPORATION", + *third_code = " LICENSED BY SNK CORPORATION", buf[MAXBUFSIZE]; + + rominfo->buheader_len = UCON64_ISSET (ucon64.buheader_len) ? ucon64.buheader_len : 0; + + ucon64_fread (&ngp_header, NGP_HEADER_START + rominfo->buheader_len, + NGP_HEADER_LEN, ucon64.rom); + + if (!strncmp ((const char *) &OFFSET (ngp_header, 0), snk_code, strlen (snk_code)) || + !strncmp ((const char *) &OFFSET (ngp_header, 0), third_code, strlen (third_code))) + result = 0; + else + result = -1; + if (ucon64.console == UCON64_NGP) + result = 0; + + rominfo->header_start = NGP_HEADER_START; + rominfo->header_len = NGP_HEADER_LEN; + rominfo->header = &ngp_header; + + // internal ROM name + strncpy (rominfo->name, (const char *) &OFFSET (ngp_header, 0x24), 12); + rominfo->name[12] = 0; + + // ROM maker + rominfo->maker = + !strncmp ((const char *) &OFFSET (ngp_header, 0), snk_code, strlen (snk_code)) ? + "SNK" : "Third party"; + + // misc stuff + sprintf (buf, "Mode: %s", + (OFFSET (ngp_header, 0x23) == 0x00) ? "Mono" : + (OFFSET (ngp_header, 0x23) == 0x10) ? "Color" : + "Unknown"); + strcat (rominfo->misc, buf); + + rominfo->console_usage = ngp_usage[0].help; + rominfo->copier_usage = !rominfo->buheader_len ? pl_usage[0].help : unknown_usage[0].help; + + return result; +} diff --git a/tools/ucon64-2.0.0-src/src/console/ngp.h b/tools/ucon64-2.0.0-src/src/console/ngp.h new file mode 100644 index 0000000..a7bcadd --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/console/ngp.h @@ -0,0 +1,26 @@ +/* +ngp.h - NeoGeo Pocket support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef NGP_H +#define NGP_H + +extern const st_getopt2_t ngp_usage[]; +extern int ngp_init (st_rominfo_t *rominfo); +#endif diff --git a/tools/ucon64-2.0.0-src/src/console/pce.c b/tools/ucon64-2.0.0-src/src/console/pce.c new file mode 100644 index 0000000..49f5e75 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/console/pce.c @@ -0,0 +1,1200 @@ +/* +pce.c - PC-Engine support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB +Copyright (c) 2003 - 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#ifdef HAVE_UNISTD_H +#include +#endif +#include +#include "misc/chksum.h" +#include "misc/misc.h" +#include "misc/string.h" +#include "misc/file.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ucon64_misc.h" +#include "pce.h" +#include "backup/mgd.h" +#include "backup/msg.h" + + +#define PCENGINE_HEADER_START 0x448 +#define PCENGINE_HEADER_LEN (sizeof (st_pce_header_t)) + + +// static unsigned int pcengine_chksum (st_rominfo_t *rominfo); + +const st_getopt2_t pcengine_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "PC-Engine (CD Unit/Core Grafx(II)/Shuttle/GT/LT/Super CDROM/DUO(-R(X)))\n" + "Super Grafx/Turbo (Grafx(16)/CD/DUO/Express)"/*"1987/19XX/19XX NEC"*/, + NULL + }, + { + "pce", 0, 0, UCON64_PCE, + NULL, "force recognition", + &ucon64_wf[WF_OBJ_PCE_SWITCH] + }, + { + "int", 0, 0, UCON64_INT, + NULL, "force ROM is in interleaved (bit-swapped) format", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, + { + "nint", 0, 0, UCON64_NINT, + NULL, "force ROM is not in interleaved (bit-swapped) format", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, + { + "msg", 0, 0, UCON64_MSG, + NULL, "convert to Magic Super Griffin/MSG", + &ucon64_wf[WF_OBJ_PCE_DEFAULT] + }, + { + "mgd", 0, 0, UCON64_MGD, + NULL, "convert to Multi Game Doctor*/MGD2/RAW", + &ucon64_wf[WF_OBJ_ALL_DEFAULT_NO_SPLIT] + }, + { + "swap", 0, 0, UCON64_SWAP, + NULL, "swap bits of all bytes in file (TurboGrafx-16 <-> PC-Engine)", + &ucon64_wf[WF_OBJ_ALL_INIT_PROBE] + }, + { + "f", 0, 0, UCON64_F, + NULL, "fix region protection", + &ucon64_wf[WF_OBJ_ALL_DEFAULT] + }, + { + "multi", 1, 0, UCON64_MULTI, + "SIZE", "make multi-game file for use with PCE-PRO flash card, truncated\n" + "to SIZE Mbit; file with loader must be specified first, then\n" + "all the ROMs, multi-game file to create last", + &ucon64_wf[WF_OBJ_ALL_INIT_PROBE_STOP] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} +}; + +#define PCE_MAKER_MAX 86 +static const char *pce_maker[PCE_MAKER_MAX] = + { + NULL, "ACCOLADE", "AICOM", "ARTMIC", "ASK KODANSHA", + "ASMIK", "ATLUS", "AZUMA", "BIG DON", "BIGCLUB", + "BIT2", "BULLET PROOF", "CAPCOM", "CINEMAWARE", "COCONUTS", + "CREAM", "DATA EAST", "DEKA", "DISNEY", "FACE", + "FUJITV", "FUN PROJECT", "GAMES EXPRESS", "HOMEDATA", "HUDSON", + "HUDSON V1", "HUDSON V2", "HUMAN", "ICOM", "IGS", + "IMAGE", "IMAX", "INTEC", "IREM", "KANEKO", + "KONAMI", "KSS", "LASER SOFT", "LORICIEL", "MAGAE CHIP VERSION", + "MANLEY & ASSOCIATES", "MASYNYA & NCS", "MASYNYA", "MEDIA RINGS", "NAMCO", + "NATSUME", "NATSUME", "NAXAT SOFT", "NAXAT", "NCS", + "NEC / HUDSON", "NEC AVENUE & TAITO", "NEC AVENUE", "NEC HOME ELECTRONICS", "NEC", + "NHK", "NICHIBUTSU", "NIHON BUSSAN", "PACK-IN-VIDEO", "PALSOFT", + "PSYGNOSYS", "RANDOM HOUSE", "SALIO", "SEGA", "SEIBU KAIHATSU", + "SGX", "SPECTRUM HOLOBYTE", "SSL", "SUMMER PROJECT", "SUNRISE", + "SUNSOFT", "TAISANG VERSION", "TAITO 384K STYLE", "TAITO", "TAKARA", + "TECHNOS", "TELENET", "TENGEN", "THE HU62680 TEAM", "TITUS", + "TONKIN HOUSE", "UNI POST", "UPL", "VICTOR", "VIDEO SYSTEM", + "WOLF TEAM" + }; + + +typedef struct +{ + uint32_t crc32; + uint8_t maker; + const char *serial; + uint32_t date; + const char *comment; +} st_pce_data_t; + + +static const st_pce_data_t pce_data[] = +{ + {0x0038b5b5, 70, "SS90002", 100890, NULL}, + {0x00c38e69, 73, "TP02012", 60790, NULL}, + {0x00f83029, 42, NULL, 0, NULL}, + {0x0112d0c7, 42, "NCS90005", 141290, "1p"}, + {0x013a747f, 24, "HC91051", 61291, "1p"}, + {0x01a76935, 44, "NC63003", 261288, NULL}, + {0x020dc2df, 58, "PV1001", 230389, "3M"}, + {0x0243453b, 24, "HC63016", 90289, "aka MILITARY MADNESS,2p"}, + {0x0258accb, 33, NULL, 0, NULL}, + {0x02a578c5, 24, NULL, 91, "1p"}, + {0x02db6fe5, 24, NULL, 0, NULL}, + {0x02dde03e, 22, "T4955754200915", 0, NULL}, + {0x033e8c4a, 73, "TP02006", 260190, "1p"}, + {0x03883ee8, 48, "NX90003", 60490, "2p"}, + {0x03e28cff, 24, "HC62003", 281287, "1p"}, + {0x04188c5c, 83, "JC63005", 290690, "3p"}, + {0x04bf5eaf, 54, "TGX030064", 0, NULL}, + {0x05054f4f, 12, NULL, 0, NULL}, + {0x0517da65, 35, "KM91001", 151191, NULL}, + {0x05362516, 24, "HC93065", 101293, "5p"}, + {0x053a0f83, 58, NULL, 0, "aka DEEP BLUE KAITEI SHINWA,1p"}, + {0x05453628, 19, "FA02-007", 71290, NULL}, + {0x0590a156, 33, "IC02004", 60790, NULL}, + {0x05a4b72e, 24, NULL, 0, "1p (AKA BLODIA)"}, + {0x07a226fb, 54, "TGX020003", 0, "1p"}, + {0x07bc34dc, 44, "TGX040085", 0, "aka GENPEI TORAMADEN VOLUME 2,1p"}, + {0x088d896d, 54, NULL, 0, "1p"}, + {0x08a09b9a, 24, "HC90030", 270490, "aka BLUE BLINK"}, + {0x09048174, 58, "PV1001", 230389, "3M"}, + {0x09509315, 73, NULL, 0, NULL}, + {0x09a0bfcc, 73, "TP03016", 250191, "4p"}, + {0x09cbb5e6, 84, "VS-90002", 70290, NULL}, + {0x0aa88f33, 22, "T4955754200939", 0, "1p"}, + {0x0ad97b04, 57, NULL, 93, NULL}, + {0x0b7f6e5f, 42, "NCS91002", 290391, "5p"}, + {0x0be0e0a8, 24, "TGX020039", 0, "aka ADVENTURE ISLAND,1p"}, + {0x0d766139, 3, "NX91005", 61291, "1p"}, + {0x0df57c90, 44, NULL, 0, NULL}, + {0x106bb7b2, 70, "SS90003", 121090, "1p"}, + {0x109ba474, 42, "NCS91001", 270491, "aka SHOCKMAN,2p"}, + {0x10b60601, 13, NULL, 290493, "5p"}, + {0x113dd5f0, 24, "HC89019", 70789, "aka BLAZING LAZERS,1p"}, + {0x11a36745, 44, "NC63004", 110888, NULL}, + {0x12c4e6fd, 19, "FA02-007", 71290, NULL}, + {0x13bf0409, 27, "HM89002", 231289, NULL}, + {0x149d0511, 33, "HC63007", 250388, "1p (BOOTLEG TRAINER VERSION)"}, + {0x14daf737, 83, NULL, 0, NULL}, + {0x14fad3ba, 44, NULL, 0, "2p"}, + {0x1555697e, 68, "HC91050", 201291, NULL}, + {0x166a0e44, 48, "NX90004", 200790, "2p"}, + {0x1772a6bc, 73, "TP02007", 230290, NULL}, + {0x1772b229, 32, "IG90001", 0, NULL}, + {0x17a47d0d, 48, "NX90008", 71290, NULL}, + {0x17ba3032, 48, "NX89003", 131089, "1p"}, + {0x1828d2e5, 56, "NB91005", 291191, NULL}, + {0x19ff94e5, 73, "TP03021", 130392, NULL}, + {0x1a8393c6, 44, "NC63002", 150788, "1p"}, + {0x1b1a80a2, 6, "HC63015", 40389, "5p"}, + {0x1b2d0077, 57, "NB96002", 271192, "1p"}, + {0x1b5b1cb1, 56, "NB90003", 280990, NULL}, + {0x1bc36b36, 29, "AI02005", 141290, "aka SINISTRON,1p"}, + {0x1c6ff459, 43, "MR90002", 141290, "1p,linkable"}, + {0x1cad4b7f, 2, "AC89003", 11289, NULL}, + {0x1e1d0319, 73, "NAPH-1009", 0, NULL}, + {0x1e2cbcf8, 0, NULL, 0, "5p"}, + {0x1eb30eeb, 27, "HM89001", 220689, NULL}, + {0x20a7d128, 48, "NX90006", 261090, NULL}, + {0x20ef87fd, 8, "PV-2004", 230390, NULL}, + {0x21b5409c, 24, "HC91039", 210691, NULL}, + {0x231b1535, 73, NULL, 0, NULL}, + {0x23d22d63, 29, "ITGX10001", 0, "aka WORLD BEACH VOLLEYBALL,4p"}, + {0x23ec8970, 23, "HD90001", 100890, NULL}, + {0x2546efe0, 61, "NAPH-1021", 270991, NULL}, + {0x25a02bee, 19, "FA03-009", 120791, "1p"}, + {0x25be2b81, 34, "TGX040051", 0, "2p"}, + {0x25de250a, 24, "HC90030", 270490, "aka BLUE BLINK"}, + {0x25e0f6e9, 5, "AS02002", 130490, "TGX020005"}, + {0x26020c77, 24, NULL, 0, NULL}, + {0x261f1013, 24, "HC90028", 300390, "aka CHEW-MAN-FU,2p"}, + {0x2739b927, 44, NULL, 0, NULL}, + {0x2762792b, 48, NULL, 0, "2p"}, + {0x27a4d11a, 42, "NCS89003", 280389, "2p"}, + {0x283b74e0, 54, NULL, 0, NULL}, + {0x2841fd1e, 24, NULL, 0, NULL}, + {0x284ebe25, 24, NULL, 0, NULL}, + {0x29eec024, 24, "HC92058", 101092, "aka WORLD SPORTS COMPETITION,5p"}, + {0x2a3e08e2, 16, NULL, 0, NULL}, + {0x2b54cba2, 7, "HC63016", 221288, "5p"}, + {0x2b94aedc, 26, "HC91047", 270991, "1p"}, + {0x2bc023fc, 68, "HC91050", 201291, NULL}, + {0x2cb5cd55, 24, "HC89024", 151289, "1p"}, + {0x2cb796e2, 24, "HC89024", 151289, "1p"}, + {0x2cb92290, 33, "IC01002", 11289, "aka MR.HELI's BIG ADVENTURE,1p"}, + {0x2cee30ee, 54, "TGX040077", 0, NULL}, + {0x2db4c1fd, 28, "TGX040076", 0, NULL}, + {0x2df97bd0, 19, NULL, 0, NULL}, + {0x2e5ac9c0, 43, "TGX010031", 0, "1p"}, + {0x2e955051, 80, "TON90002", 140990, NULL}, + {0x2f8935aa, 24, "HC63012", 300888, "aka KEITH COURAGE IN ALPHA ZONES"}, + {0x2fd65312, 9, "BG01004", 220889, NULL}, + {0x3028f7ca, 24, "HC91043", 190791, "1p"}, + {0x30cc3563, 24, "HC91046", 90891, "2p"}, + {0x30d4bd0e, 26, NULL, 0, "1p"}, + {0x31dd1c32, 48, "NX89001", 300589, NULL}, + {0x31e2e7b6, 24, "HC91041", 50491, NULL}, + {0x320f5018, 0, "HC692", 91, "EXTRA BACKUP RAM CARD"}, + {0x3219849c, 44, "NC91005", 271291, NULL}, + {0x345f43e9, 24, "HC90031", 210990, NULL}, + {0x348022f7, 24, "TGX020014", 0, "aka KATO & KEN CHAN"}, + {0x34e089a9, 44, "NC63001", 200588, NULL}, + {0x34fd4ef2, 29, "AI02005", 141290, "aka SINISTRON,1p"}, + {0x364508da, 42, "NCS91002", 290391, "5p"}, + {0x38e2917d, 24, NULL, 0, NULL}, + {0x390710ec, 29, NULL, 0, NULL}, + {0x3920105a, 54, NULL, 0, NULL}, + {0x3aea2f8f, 29, "AI-03004", 60791, "aka TRICKY KICK"}, + {0x3b13af61, 0, "HC89026", 301189, NULL}, + {0x3b3808bd, 24, NULL, 0, "EXTRA SAVE RAM THING BY HUDSON"}, + {0x3e4eaf98, 15, "CC-01001", 81289, NULL}, + {0x3e647d8b, 24, "HC91039", 210691, NULL}, + {0x3e79734c, 33, "ICO3006", 190791, NULL}, + {0x3f982d0f, 1, "ATGX04TUTG", 0, NULL}, + {0x3f9f95a4, 54, NULL, 0, NULL}, + {0x4148fd7c, 14, "CJ92002", 130392, NULL}, + {0x428f36cd, 42, "NCS89002", 230289, "5p"}, + {0x43efc974, 48, "NX90001", 10390, "aka PSYCHOSIS,2p"}, + {0x442405d5, 42, "NCS91003", 270991, NULL}, + {0x44af9bea, 24, "TGX020027", 0, "aka DORAEMON MEIKYU DAISAKUSEN,1p"}, + {0x44e7df53, 11, "MC91002", 240591, NULL}, + {0x44f60137, 32, "IG89002", 0, NULL}, + {0x457f2bc4, 23, "HD91013", 291191, NULL}, + {0x45885afb, 73, NULL, 0, "2p"}, + {0x462256fb, 9, "BG01004", 220889, NULL}, + {0x469a0fdf, 21, "JC63002", 240389, "aka WAR OF THE DEAD,1p"}, + {0x471903c6, 5, "AS01001", 81289, NULL}, + {0x47afe6d7, 16, "TGX040037", 0, NULL}, + {0x4938b8bb, 24, "HC91041", 50491, NULL}, + {0x4a135429, 18, "TGX040066", 0, "1p"}, + {0x4a3df3ca, 44, "NC90003", 270490, NULL}, + {0x4bd38f17, 82, "UP02002", 280990, "1p"}, + {0x4c2126b0, 24, "HC91044", 220291, "1p"}, + {0x4caa6be9, 16, NULL, 0, "1p"}, + {0x4cef0456, 42, "NCS90005", 141290, "1p"}, + {0x4d344c8c, 24, NULL, 0, NULL}, + {0x4d3b0bc9, 44, "NC91001", 150391, NULL}, + {0x4d539c9f, 83, "JC63011", 20891, "1p"}, + {0x4df54b81, 54, "TGX030064", 0, NULL}, + {0x4f2844b0, 80, NULL, 0, NULL}, + {0x4f2bd39f, 71, "H54G-1004", 140789, NULL}, + {0x500472d4, 12, NULL, 0, NULL}, + {0x5157a395, 24, NULL, 0, NULL}, + {0x51e86451, 73, NULL, 0, "2p"}, + {0x52520bc6, 54, NULL, 0, NULL}, + {0x53109ae6, 24, "HC62005", 220188, NULL}, + {0x534e8808, 27, "HM92006", 131192, NULL}, + {0x53b7784b, 43, NULL, 60392, NULL}, + {0x560d2305, 27, "HM91004", 10391, NULL}, + {0x56488b36, 58, "PV-1007", 291191, NULL}, + {0x56739bc7, 45, NULL, 0, NULL}, + {0x574352c6, 50, NULL, 0, NULL}, + {0x57615647, 49, "TGX040087", 0, "2p"}, + {0x57a436a2, 1, NULL, 0, NULL}, + {0x57f183ae, 24, NULL, 89, NULL}, + {0x589d33eb, 83, NULL, 0, NULL}, + {0x595bb22a, 24, "HC63016", 90289, "2p"}, + {0x59d07314, 44, "NC64001", 210489, "1p"}, + {0x59e44f45, 24, "HS93054", 100293, "5p"}, + {0x5c4d1991, 15, "CC-01001", 81289, NULL}, + {0x5c78fee1, 20, "MC66680", 40889, "1p"}, + {0x5cdb3f5b, 70, "SS89001", 170389, "1p"}, + {0x5cf59d80, 35, "KM92004", 280292, NULL}, + {0x5d0e3105, 24, "HE-1097", 60790, "1p"}, + {0x5e4fa713, 24, NULL, 0, NULL}, + {0x5f2c9a45, 22, "T4955754200984", 0, "2p"}, + {0x6069c5e7, 24, "HC62006", 301187, "aka JJ & JEFF"}, + {0x60ecae22, 48, "NX89001", 300589, NULL}, + {0x60edf4e1, 48, "NX63001", 140988, NULL}, + {0x616ea179, 16, "DE90004", 290391, "1p"}, + {0x61a6e210, 48, NULL, 0, NULL}, + {0x61b80005, 58, "PV1003", 221289, "1p"}, + {0x6203de23, 22, NULL, 0, NULL}, + {0x625221a6, 24, "HC90034", 200790, NULL}, + {0x6257cce7, 52, NULL, 0, NULL}, + {0x62654ad5, 73, "TPO1002", 300689, NULL}, + {0x6273a9d4, 44, "TGX020018", 0, "1p"}, + {0x62ec2956, 44, "NC63004", 110888, NULL}, + {0x633a3d48, 73, "TP02010", 310590, "2p"}, + {0x637ba71d, 30, NULL, 0, "BOOTLEG"}, + {0x64301ff1, 24, "TGX040058", 0, "1p"}, + {0x64580427, 52, "H67G-1002", 91288, "1p"}, + {0x647718f9, 35, "KM92003", 210292, NULL}, + {0x65fdb863, 75, "NX90002", 300390, "aka HOT BLOOD HIGHSCHOOL DODGEBALL"}, + {0x67573bac, 24, "HC92052", 240192, NULL}, + {0x67aab7a1, 58, "PV-1005", 141290, "1p"}, + {0x67aede77, 24, NULL, 0, NULL}, + {0x67ec5ec4, 16, "DE90005", 300390, "aka DROP OFF"}, + {0x6923d736, 24, "HC62004", 301087, "1p"}, + {0x6976d5b3, 30, "1992", 0, NULL}, + {0x6a628982, 63, NULL, 0, NULL}, + {0x6b319457, 44, NULL, 0, "1p"}, + {0x6c30f0ac, 30, NULL, 0, "BOOTLEG"}, + {0x6c34aaea, 56, "NB1001", 10290, "1p"}, + {0x6cca614c, 24, "HC90040", 221290, NULL}, + {0x6e297e49, 82, "UP02002", 280990, "1p"}, + {0x6eab778c, 71, "HC63009", 30688, "1p"}, + {0x6f4fd790, 73, "TP02006", 260190, "1p"}, + {0x6fd6827c, 49, "NCS63001", 230988, NULL}, + {0x70749841, 13, NULL, 290493, "5p"}, + {0x70d90e20, 44, "TGX020019", 0, "4p"}, + {0x7146027c, 27, "HM94007", 150194, NULL}, + {0x727f4656, 1, "JC63012", 240792, NULL}, + {0x72814acb, 44, NULL, 0, NULL}, + {0x72a2c22c, 73, "TP01003", 291189, NULL}, + {0x72cb0f9d, 63, "H49G-1001", 141088, NULL}, + {0x72d6860b, 19, NULL, 0, NULL}, + {0x72e00bc4, 44, "NC92003", 250692, NULL}, + {0x73614660, 54, NULL, 0, NULL}, + {0x73e994a0, 48, "NX90001", 10390, "aka PSYCHOSIS,2p"}, + {0x740491c2, 24, "HC92053", 201192, "1p"}, + {0x7424452e, 66, "TGX040067", 0, "1p,linkable"}, + {0x745408ae, 42, "NCS89002", 230289, "5p"}, + {0x74903426, 48, "NX91003", 120491, NULL}, + {0x756a1802, 24, NULL, 0, NULL}, + {0x76164593, 73, "TP02014", 141290, NULL}, + {0x7632db90, 2, "AC89001", 200389, NULL}, + {0x767245cd, 24, "TGX020008", 0, "aka THE KUNG FU,1p"}, + {0x775bd3e1, 73, "TPO3019", 200991, NULL}, + {0x786d9bbd, 73, NULL, 0, "2p"}, + {0x79362389, 12, "NX91002", 220391, "2p"}, + {0x7aa9d4dc, 24, "TGX030010", 0, "aka GUNHED,1p"}, + {0x7acb60c8, 73, "TP03019", 200991, "4p"}, + {0x7b96317c, 24, "HC90034", 200790, NULL}, + {0x7d3e6f33, 24, NULL, 0, NULL}, + {0x7d48d2fc, 73, "TP02015", 180191, "2p"}, + {0x805a34b9, 83, "JC63013", 290493, NULL}, + {0x80c3f824, 44, "NC62001", 0, "aka GHOST TRAVEL STORY"}, + {0x82ae3b16, 12, "JC63004", 230290, "aka TIGER ROAD"}, + {0x82def9ee, 36, "NV91001", 131291, NULL}, + {0x83213ade, 48, "NX90005", 280990, NULL}, + {0x8420b12b, 24, "HC92056", 100792, NULL}, + {0x850829f2, 64, "HC91049", 221191, "1p"}, + {0x85101c20, 52, "NAPH-1007", 220690, NULL}, + {0x854c37b3, 44, "NC89003", 70789, "2p"}, + {0x85a1e7b6, 27, "HM90003", 270490, NULL}, + {0x85aa49d0, 29, "ITGX10007", 0, "aka VIOLENT SOLDIER"}, + {0x85b85ff9, 73, "TP02012", 60790, NULL}, + {0x85cc9b60, 45, NULL, 0, NULL}, + {0x86087b39, 42, "NCS89006", 290989, "2p"}, + {0x8793758c, 44, "NC92002", 70492, "aka Samurai Ghost,1p"}, + {0x87fd22ad, 24, "HC90036", 71290, "5p,linkable"}, + {0x88796264, 24, "TGX020035", 0, "aka BE BALL,2p"}, + {0x8a046cdc, 44, "NC92003", 250692, NULL}, + {0x8aa4b220, 24, "HC90037", 100890, "2p"}, + {0x8acfc8aa, 0, NULL, 0, "2p"}, + {0x8bf34ffa, 24, NULL, 0, NULL}, + {0x8c4588e2, 24, "HC91048", 230891, "2p"}, + {0x8c565cb6, 44, "NC89004", 80989, "1p"}, + {0x8dc0d85f, 73, "TP02015", 180191, "2p"}, + {0x8def5aa1, 24, "HC93062", 250693, NULL}, + {0x8e25dc77, 73, "TP02009", 270390, NULL}, + {0x8e4d75a8, 73, "TP02007", 230290, NULL}, + {0x8e71d4f3, 24, NULL, 0, "aka DRAGON'S CURSE,1p"}, + {0x8f02fd20, 24, "HC89018", 250589, NULL}, + {0x8f4d9f94, 31, "IM92001", 0, "aka THE LOST SUNHEART"}, + {0x90ed6575, 27, "HM89001", 220689, NULL}, + {0x9107bcc8, 52, NULL, 0, NULL}, + {0x91e6896f, 19, NULL, 261090, "FA02-005,1p"}, + {0x92521f34, 54, "TGX040062", 0, "1p"}, + {0x92c919ea, 70, "SS90003", 121090, "1p"}, + {0x93f05168, 24, NULL, 0, NULL}, + {0x93f316f7, 24, "TGX030015", 0, "aka NECTARIS,2p"}, + {0x94c55627, 73, "TP01005", 271289, "1p"}, + {0x951aa310, 24, NULL, 0, NULL}, + {0x951ed380, 44, "NC92001", 100192, "1p"}, + {0x958bcd09, 24, "HC90027", 230390, "1p"}, + {0x95f90dec, 41, NULL, 90, NULL}, + {0x965c95b3, 73, "TP02011", 290690, "1p"}, + {0x968770f6, 71, "HC90028", 300390, "aka CHEW-MAN-FU,2p"}, + {0x968d908a, 83, "JC63008", 290391, NULL}, + {0x9693d259, 60, "CJ0001", 131291, "2p"}, + {0x96e0cd9d, 73, "TP01002", 300689, NULL}, + {0x9759a20d, 54, NULL, 0, NULL}, + {0x97c5ee9a, 83, "JC63009", 141290, NULL}, + {0x9893e0e6, 48, "NX90001", 10390, "aka PSYCHOSIS,2p"}, + {0x9897fa86, 19, "FA02-006", 70990, NULL}, + {0x98b03ec9, 0, NULL, 0, "CRACKED TO WORK ON JAP PC-E"}, + {0x99033916, 43, "MR92005", 60392, NULL}, + {0x9913a9de, 24, "TGX080097", 0, "2p"}, + {0x99496db3, 73, "TP02008", 20390, "1p"}, + {0x99f2865c, 24, "HC89025", 250590, "1p"}, + {0x99f7a572, 37, "TJ03002", 290391, "1p,linkable"}, + {0x9a41c638, 13, NULL, 0, "5p"}, + {0x9abb4d1f, 24, "HC90036", 71290, "5p,linkable"}, + {0x9b5ebc58, 16, "DE64001", 30389, "4p"}, + {0x9bb8d362, 78, NULL, 0, NULL}, + {0x9c49ef11, 26, "HC89022", 171189, "1p"}, + {0x9c7a8ee4, 29, NULL, 0, "aka TRICKY"}, + {0x9d1a0f5a, 25, "HC89022", 171189, "1p"}, + {0x9e86ffb0, 42, "NCS89006", 290989, "2p"}, + {0x9ec6fc6c, 22, NULL, 0, NULL}, + {0x9edc0aea, 73, "TPO2014", 141290, NULL}, + {0x9fb4de48, 33, "ICO3006", 190791, NULL}, + {0xa019b724, 44, NULL, 0, NULL}, + {0xa0c97557, 29, "AI-02001", 90390, "1p"}, + {0xa15a1f37, 44, "NC90008", 111290, "1p"}, + {0xa170b60e, 24, "HC93063", 20493, "2p"}, + {0xa17d4d7e, 24, "HC89019", 70789, "aka BLAZING LAZERS,1p"}, + {0xa2a0776e, 84, "VS-89001", 190689, "1p"}, + {0xa32430d5, 55, "NV92001", 310192, NULL}, + {0xa326334a, 62, "SL01001", 221189, "1p"}, + {0xa3303978, 44, "NC90006", 90990, "1p"}, + {0xa5290dd0, 43, "MR91004", 131291, NULL}, + {0xa586d190, 73, NULL, 0, NULL}, + {0xa594fac0, 80, "TON90003", 121090, NULL}, + {0xa6088275, 73, NULL, 0, NULL}, + {0xa6539306, 80, "TON90004", 91190, NULL}, + {0xa71d70d0, 42, "NCS90001", 260190, NULL}, + {0xa80c565f, 33, "IC02003", 270790, NULL}, + {0xa9084d6e, 42, "NCS89004", 0, NULL}, + {0xa98d276a, 29, "TGX030030", 0, "1p"}, + {0xa9a94e1b, 25, NULL, 0, "1p"}, + {0xa9ab2954, 44, NULL, 0, NULL}, + {0xa9fab7d2, 40, "TGX040069", 0, "1p"}, + {0xab3c5804, 24, "HE-1097", 60790, "1p"}, + {0xad226f30, 73, "TP01005", 271289, "1p"}, + {0xad450dfc, 53, NULL, 0, NULL}, + {0xad6e0376, 83, NULL, 0, "3p"}, + {0xae26f30f, 24, "TGX060078", 0, "1p"}, + {0xae9fe1aa, 33, "TGX040050", 0, NULL}, + {0xaf2dd2af, 24, "HC91045", 50791, "1p"}, + {0xb01ee703, 24, "HC92059", 250992, NULL}, + {0xb01f70c2, 16, "DE89003", 10989, "1p"}, + {0xb0ba689f, 51, NULL, 0, NULL}, + {0xb101b333, 48, "XX-XX-90", 0, NULL}, + {0xb122787b, 24, "HC63010", 80788, NULL}, + {0xb18d102d, 48, "NX91003", 120491, NULL}, + {0xb24e6504, 28, "TGX040054", 0, NULL}, + {0xb268f2a2, 56, NULL, 92, NULL}, + {0xb2ef558d, 73, NULL, 0, NULL}, + {0xb300c5d0, 24, "HC92061", 111292, "5p,linkable"}, + {0xb3eeea2e, 44, "NC91004", 181091, "1p"}, + {0xb486a8ed, 12, "NAPH-1008", 270790, "1p"}, + {0xb4d29e3b, 48, "NX91004", 291191, "1p"}, + {0xb5326b16, 80, NULL, 0, NULL}, + {0xb54debd1, 69, "TGX020001", 0, "aka MAJIN EIYU WATARU,1p"}, + {0xb552c906, 54, "TGX020008", 0, "1p"}, + {0xb630ab25, 24, "HC89024", 151289, "1p"}, + {0xb64de6fd, 48, NULL, 0, NULL}, + {0xb74ec562, 17, "DE90006", 80191, NULL}, + {0xb77f2e2f, 43, NULL, 0, NULL}, + {0xb866d282, 22, "T4955754200946", 0, NULL}, + {0xb926c682, 44, "NC90001", 160390, "1p"}, + {0xb9899178, 44, "NC90007", 280990, NULL}, + {0xb99a85b6, 64, "HC91049", 221191, "1p"}, + {0xb9dfc085, 27, "HM89002", 231289, NULL}, + {0xba4d0dd4, 73, "TP03018", 90891, NULL}, + {0xbb3ca04a, 3, "NX91005", 61291, "1p"}, + {0xbb654d1c, 24, "HC92057", 70892, "2p"}, + {0xbb761f3b, 19, "FA02-006", 70990, NULL}, + {0xbc655cf3, 5, "AS01001", 81289, NULL}, + {0xbe62eef5, 16, "DE89002", 10489, NULL}, + {0xbe850530, 29, NULL, 270790, "aka SONIC SPIKE"}, + {0xbe8b6e3b, 58, "PV-1008", 0, NULL}, + {0xbe990010, 48, NULL, 0, NULL}, + {0xbf3e2cc7, 19, "FA64-0001", 10389, NULL}, + {0xbf52788e, 83, "JC63006", 300390, NULL}, + {0xbf797067, 12, "JC63004", 230290, "aka TIGER ROAD"}, + {0xc02b1b59, 34, NULL, 0, NULL}, + {0xc0905ca9, 74, "HC63008", 220488, "aka VICTORY LIFE,5p"}, + {0xc0af0947, 42, NULL, 0, NULL}, + {0xc150637a, 0, "BG01003", 280689, NULL}, + {0xc159761b, 40, NULL, 0, NULL}, + {0xc2287894, 58, NULL, 0, NULL}, + {0xc267e25d, 73, "TP01003", 291189, NULL}, + {0xc28b0d8a, 33, "IC03005", 130391, "2p"}, + {0xc3212c24, 81, "PJ91001", 60491, NULL}, + {0xc356216b, 2, NULL, 0, "2p"}, + {0xc42b6d76, 70, "SS89002", 221289, "1p"}, + {0xc4eb68a5, 44, "NC63004", 110888, NULL}, + {0xc5fdfa89, 24, "HC89020", 80889, "2p"}, + {0xc614116c, 58, "PV1003", 221289, "1p"}, + {0xc6f764ec, 22, "T4955754200922", 0, "1p"}, + {0xc6fa6373, 24, "HC90032", 180191, "1p"}, + {0xc7327632, 42, "NCS90002", 230290, NULL}, + {0xc74ffbc9, 77, "TG90001", 100890, "1p"}, + {0xc7847df7, 24, NULL, 0, NULL}, + {0xc81d0371, 48, NULL, 0, "aka PARANOIA"}, + {0xc8a412e1, 33, NULL, 0, "1p"}, + {0xc8c084e3, 44, "NC89003", 70789, "2p"}, + {0xc8c7d63e, 63, "HG8G-1006", 290989, "aka ALTERED BEAST,1p"}, + {0xc90971ba, 44, "NC90007", 280990, NULL}, + {0xc9d7426a, 48, "NX89002", 100889, "4p"}, + {0xca12afba, 2, "AC90001", 211290, "1p"}, + {0xca68ff21, 42, "NCS89005", 190489, NULL}, + {0xca72a828, 63, "NAPH-1011", 280990, NULL}, + {0xcaad79ce, 73, "TP01004", 221289, NULL}, + {0xcab21b2e, 10, "NX89004", 260190, "1p"}, + {0xcacc06fb, 6, "BG01003", 280689, "aka LEGENDARY AXE II"}, + {0xcae1f5db, 67, "TGX040072", 0, "1p"}, + {0xcc799d92, 11, "MC91002", 240591, NULL}, + {0xcc7d3eeb, 73, NULL, 0, NULL}, + {0xce2e4f9f, 84, "VS-90002", 70290, NULL}, + {0xcec3d28a, 33, "HC63007", 250388, "1p"}, + {0xcf73d8fc, 24, "HC89017", 270489, "1p"}, + {0xcfc5a395, 73, "TP02013", 30890, "aka TOUR OF HELL"}, + {0xcfcfc7be, 44, "NC89003", 70789, "2p"}, + {0xcfec1d6a, 19, "TGX040090", 0, NULL}, + {0xd0c250ca, 19, "FA01-002", 230689, NULL}, + {0xd15cb6bb, 12, "HE93002", 120693, "2p"}, + {0xd20f382f, 79, "NX91001", 150391, NULL}, + {0xd233c05a, 48, "NX90008", 71290, NULL}, + {0xd329cf9a, 24, "HC89020", 80889, "2p"}, + {0xd3fd6971, 24, "HC90037", 100890, "2p"}, + {0xd4c5af46, 6, NULL, 0, NULL}, + {0xd50ff730, 52, "H54G-1005", 250889, NULL}, + {0xd5c782f2, 24, NULL, 0, "1p"}, + {0xd5ce2d5f, 24, "HC89021", 150989, NULL}, + {0xd634d931, 54, NULL, 0, NULL}, + {0xd6fc51ce, 22, "T4955754200984", 0, "2p"}, + {0xd7921df2, 52, "H54G-1003", 270189, NULL}, + {0xd7cfd70f, 56, "NB91004", 120791, NULL}, + {0xd8373de6, 84, "VS-90003", 191090, NULL}, + {0xd9e1549a, 24, "HC90040", 221290, NULL}, + {0xda059c9b, 83, "JC63008", 290391, NULL}, + {0xdb872a64, 77, "TTGX20001", 0, "1p"}, + {0xdc268242, 54, "TGX020008", 0, "1p"}, + {0xdc47434b, 29, "AI-02002", 20690, "1p"}, + {0xdc760a07, 24, "HC89023", 311089, "aka CRATERMAZE,1p"}, + {0xdca24a76, 63, "H49G-1001", 141088, NULL}, + {0xdcd3e602, 19, "FA01-002", 230689, NULL}, + {0xdcf3675c, 44, NULL, 261288, NULL}, + {0xdd0ebf8c, 59, "PL91001", 151191, "1p"}, + {0xdd175efd, 82, "UP01001", 190190, NULL}, + {0xdd1d1035, 42, "NCS89005", 190489, NULL}, + {0xdd35451d, 54, NULL, 0, NULL}, + {0xddc3e809, 63, "NAPH-1015", 71290, "1p"}, + {0xde963b7e, 39, "H54G-1004", 140789, NULL}, + {0xdf10c895, 82, NULL, 0, NULL}, + {0xdf804dc7, 70, "SS90001", 20390, "1p"}, + {0xdfd4593a, 33, "IC04007", 21092, "1p"}, + {0xe14dee08, 56, "NB89002", 140990, NULL}, + {0xe1a73797, 70, NULL, 0, NULL}, + {0xe203f223, 63, "NAPH-1016", 211290, NULL}, + {0xe3284ba7, 24, "TGX040084", 0, "1p"}, + {0xe4124fe0, 33, NULL, 0, "1p"}, + {0xe415ea19, 24, "TGX040080", 0, "1p"}, + {0xe439f299, 24, "HC90028", 300390, "aka CHEW-MAN-FU,2p"}, + {0xe4b3415c, 83, "JC63006", 300390, NULL}, + {0xe5b6b3e5, 22, "T4955754200977", 0, NULL}, + {0xe5e7b8b7, 12, "H54G-1004", 140789, NULL}, + {0xe6458212, 73, NULL, 0, "2p"}, + {0xe6c93ae7, 47, "NX90007", 211290, NULL}, + {0xe6ee1468, 58, "PV1004", 270790, NULL}, + {0xe6f16616, 54, "PCE-SC1", 0, NULL}, + {0xe749a22c, 72, "TP03021", 130392, NULL}, + {0xe7529890, 83, "JC63013", 290493, NULL}, + {0xe84890a5, 73, NULL, 0, NULL}, + {0xe8702d51, 33, "IC04007", 21092, "1p"}, + {0xe87190f1, 6, "AT03001", 41091, "aka SOMER ASSAULT,1p"}, + {0xe88987bb, 27, "HM91005", 300891, NULL}, + {0xea324f07, 24, "HC89018", 250589, NULL}, + {0xeb4e600b, 33, "IC63001", 140189, "1p"}, + {0xeb923de5, 73, "TP01004", 221289, NULL}, + {0xeb9452f0, 42, NULL, 0, NULL}, + {0xed3a71f8, 24, "TGX040079", 0, "1p"}, + {0xeda32d95, 54, "TGX040056", 0, "1p"}, + {0xee156721, 43, "MR91003", 80391, "1p"}, + {0xeeb6dd43, 80, NULL, 0, NULL}, + {0xeecfa5fd, 38, "TGX040061", 0, "4p"}, + {0xf0227837, 6, "TGX040089", 0, "aka MESOPOTAMIA"}, + {0xf022be13, 2, "AC89002", 280789, NULL}, + {0xf0ab946e, 25, "HC91047", 270991, "1p"}, + {0xf0cc3363, 84, NULL, 0, NULL}, + {0xf207ecae, 33, "HC63009", 30688, "1p"}, + {0xf2e46d25, 4, "AK91002", 221191, NULL}, + {0xf2e6856d, 22, NULL, 0, NULL}, + {0xf370b58e, 54, "TGX040060", 0, NULL}, + {0xf4148600, 19, "FA02-004", 290690, "1p"}, + {0xf42aa73e, 73, "TP02010", 310590, "2p"}, + {0xf45afbca, 73, NULL, 0, NULL}, + {0xf46298e3, 83, "JC63005", 290690, "3p"}, + {0xf5b90d55, 19, "FA01-003", 241189, "1p"}, + {0xf70112e5, 32, "IG89001", 11189, NULL}, + {0xf79657dd, 24, "HC63015", 40389, "5p"}, + {0xf860455c, 68, "HC92060", 41292, NULL}, + {0xf8861456, 70, "SS90002", 100890, NULL}, + {0xf8f85eec, 44, "NC90004", 290690, "1p"}, + {0xf91b055f, 70, "SS90001", 20390, "1p"}, + {0xf999356f, 24, "HC63014", 181188, NULL}, + {0xfaa6e187, 76, NULL, 0, NULL}, + {0xfae0fc60, 67, "TGX040072", 0, "1p"}, + {0xfaecce20, 35, "KM91002", 61291, "2p"}, + {0xfb0fdcfe, 4, "AK90001", 200490, NULL}, + {0xfb37ddc4, 43, NULL, 0, "aka SOHKO BAN WORLD"}, + {0xfba3a1a4, 71, "NX90006", 261090, NULL}, + {0xfde08d6d, 48, "NX91002", 220391, "2p"}, + {0xff898f87, 52, "NAPH-1010", 310890, NULL}, + {0xffd92458, 22, "T4955754200953", 0, "1p"} +}; + + +typedef struct st_pce_header +{ + char pad[48]; +} st_pce_header_t; + +st_pce_header_t pce_header; + + +static int +pce_compare (const void *key, const void *found) +{ + /* + The return statement looks overly complicated, but is really necessary. + This construct: + return ((st_pce_data_t *) key)->crc32 - ((st_pce_data_t *) found)->crc32; + does *not* work correctly for all cases. + */ + return (int) (((int64_t) ((st_pce_data_t *) key)->crc32 - + (int64_t) ((st_pce_data_t *) found)->crc32) / 2); +} + + +static void +swapbits (unsigned char *buffer, int size) +{ + int n, byte, bit; + + for (n = 0; n < size; n++) + { + byte = 0; + for (bit = 0; bit < 8; bit++) + if (buffer[n] & (1 << bit)) + byte |= 1 << (7 - bit); + buffer[n] = byte; + } +} + + +// header format is specified in src/backup/ffe.h +int +pcengine_msg (st_rominfo_t *rominfo) +{ + char src_name[FILENAME_MAX], dest_name[FILENAME_MAX]; + unsigned char *rom_buffer = NULL; + st_msg_header_t header; + int size = ucon64.file_size - rominfo->buheader_len; + + if (rominfo->interleaved) + if (!(rom_buffer = (unsigned char *) malloc (size))) + { + fprintf (stderr, ucon64_msg[ROM_BUFFER_ERROR], size); + return -1; + } + + memset (&header, 0, MSG_HEADER_LEN); + header.size = size / 8192; + header.emulation = size == 3 * MBIT ? 1 : 0; + header.id1 = 0xaa; + header.id2 = 0xbb; + header.type = 2; + + strcpy (src_name, ucon64.rom); + strcpy (dest_name, ucon64.rom); + set_suffix (dest_name, ".msg"); + ucon64_file_handler (dest_name, src_name, 0); + + ucon64_fwrite (&header, 0, MSG_HEADER_LEN, dest_name, "wb"); + if (rominfo->interleaved) + { + // Magic Super Griffin files should not be "interleaved" + ucon64_fread (rom_buffer, rominfo->buheader_len, size, src_name); + swapbits (rom_buffer, size); + ucon64_fwrite (rom_buffer, MSG_HEADER_LEN, size, dest_name, "ab"); + free (rom_buffer); + } + else + fcopy (src_name, rominfo->buheader_len, size, dest_name, "ab"); + + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + return 0; +} + + +// see src/backup/mgd.h for the file naming scheme +int +pcengine_mgd (st_rominfo_t *rominfo) +{ + char src_name[FILENAME_MAX], dest_name[FILENAME_MAX]; + unsigned char *rom_buffer = NULL; + int size = ucon64.file_size - rominfo->buheader_len; + + if (!rominfo->interleaved) + if (!(rom_buffer = (unsigned char *) malloc (size))) + { + fprintf (stderr, ucon64_msg[ROM_BUFFER_ERROR], size); + return -1; + } + + strcpy (src_name, ucon64.rom); + mgd_make_name (ucon64.rom, UCON64_PCE, size, dest_name); + ucon64_file_handler (dest_name, src_name, OF_FORCE_BASENAME); + + // bit-swapping images for the MGD2 only makes sense for owners of a TG-16 + // (American version of the PCE) + if (!rominfo->interleaved) + { + ucon64_fread (rom_buffer, rominfo->buheader_len, size, src_name); + swapbits (rom_buffer, size); + ucon64_fwrite (rom_buffer, 0, size, dest_name, "wb"); + free (rom_buffer); + } + else + fcopy (src_name, rominfo->buheader_len, size, dest_name, "wb"); + + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + + mgd_write_index_file ((char *) basename2 (dest_name), 1); + return 0; +} + + +int +pcengine_swap (st_rominfo_t *rominfo) +{ + char src_name[FILENAME_MAX], dest_name[FILENAME_MAX]; + unsigned char *rom_buffer; + int size = ucon64.file_size - rominfo->buheader_len; + + if (!(rom_buffer = (unsigned char *) malloc (size))) + { + fprintf (stderr, ucon64_msg[ROM_BUFFER_ERROR], size); + return -1; + } + + strcpy (src_name, ucon64.rom); + strcpy (dest_name, ucon64.rom); + ucon64_file_handler (dest_name, src_name, 0); + + if (rominfo->buheader_len) // copy header (if present) + fcopy (src_name, 0, rominfo->buheader_len, dest_name, "wb"); + + ucon64_fread (rom_buffer, rominfo->buheader_len, size, src_name); + swapbits (rom_buffer, size); + ucon64_fwrite (rom_buffer, rominfo->buheader_len, size, dest_name, + rominfo->buheader_len ? "ab" : "wb"); + free (rom_buffer); + + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + return 0; +} + + +int +pcengine_f (st_rominfo_t *rominfo) +/* + Region protection codes are found in (American) TurboGrafx-16 games. It + prevents those games from running on a PC-Engine. One search pattern seems + sufficient to fix/crack all TG-16 games. In addition to that, the protection + code appears to be always somewhere in the first 32 kB. +*/ +{ + char src_name[FILENAME_MAX], dest_name[FILENAME_MAX], buffer[32 * 1024]; + int bytesread, n; + + puts ("Attempting to fix region protection code..."); + + strcpy (src_name, ucon64.rom); + strcpy (dest_name, ucon64.rom); + ucon64_file_handler (dest_name, src_name, 0); + fcopy (src_name, 0, ucon64.file_size, dest_name, "wb"); // no copy if one file + + if ((bytesread = ucon64_fread (buffer, rominfo->buheader_len, 32 * 1024, src_name)) <= 0) + return -1; + + // '!' == ASCII 33 (\x21), '*' == 42 (\x2a) + if (rominfo->interleaved) + n = change_mem (buffer, bytesread, "\x94\x02\x0f", 3, '*', '!', "\x01", 1, 0); + else + n = change_mem (buffer, bytesread, "\x29\x40\xf0", 3, '*', '!', "\x80", 1, 0); + + ucon64_fwrite (buffer, rominfo->buheader_len, 32 * 1024, dest_name, "r+b"); + + printf ("Found %d pattern%s\n", n, n != 1 ? "s" : ""); + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + return n; +} + + +static void +write_game_table_entry (FILE *destfile, int file_no, int totalsize) +{ + int n; + unsigned char name[0x1c]; + const char *p; + + fseek (destfile, 0xb000 + (file_no - 1) * 0x20, SEEK_SET); + fputc (0xff, destfile); // 0x0 = 0xff + + memset (name, ' ', 0x1c); + p = basename2 (ucon64.rom); + n = strlen (p); + if (n > 0x1c) + n = 0x1c; + memcpy (name, p, n); + for (n = 0; n < 0x1c; n++) + { + if (!isprint ((int) name[n])) + name[n] = '.'; + else + name[n] = toupper (name[n]); // loader only supports upper case characters + } + fwrite (name, 1, 0x1c, destfile); // 0x1 - 0x1c = name + fputc (0, destfile); // 0x1d = 0 + fputc (totalsize / MBIT, destfile); // 0x1e = bank code + fputc (0, destfile); // 0x1f = flags (x, D (reserved), x, x, x, x, x, x) +} + + +int +pcengine_multi (int truncate_size, char *fname) +{ +#define BUFSIZE (32 * 1024) + int n, n_files, file_no, bytestowrite, byteswritten, totalsize = 0, done, + truncated = 0, paddedsize, org_do_not_calc_crc = ucon64.do_not_calc_crc; + struct stat fstate; + FILE *srcfile, *destfile; + char destname[FILENAME_MAX]; + unsigned char buffer[BUFSIZE]; + + if (truncate_size == 0) + { + fprintf (stderr, "ERROR: Can't make multi-game file of 0 bytes\n"); + return -1; + } + + if (fname != NULL) + { + strcpy (destname, fname); + n_files = ucon64.argc; + } + else + { + strcpy (destname, ucon64.argv[ucon64.argc - 1]); + n_files = ucon64.argc - 1; + } + + ucon64_file_handler (destname, NULL, OF_FORCE_BASENAME); + if ((destfile = fopen (destname, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], destname); + return -1; + } + + printf ("Creating multi-game file for PCE-PRO: %s\n", destname); + + file_no = 0; + for (n = 1; n < n_files; n++) + { + if (access (ucon64.argv[n], F_OK)) + continue; // "file" does not exist (option) + stat (ucon64.argv[n], &fstate); + if (!S_ISREG (fstate.st_mode)) + continue; + if (file_no == 32) // loader + 31 games + { + printf ("WARNING: A multi-game file can contain a maximum of 31 games. The other files\n" + " are ignored.\n"); + break; + } + + ucon64.console = UCON64_UNKNOWN; + ucon64.rom = ucon64.argv[n]; + ucon64.file_size = fsizeof (ucon64.rom); + // DON'T use fstate.st_size, because file could be compressed + ucon64.rominfo->buheader_len = UCON64_ISSET (ucon64.buheader_len) ? + ucon64.buheader_len : 0; + ucon64.rominfo->interleaved = UCON64_ISSET (ucon64.interleaved) ? + ucon64.interleaved : 0; + ucon64.do_not_calc_crc = 1; + if (pcengine_init (ucon64.rominfo) != 0) + printf ("WARNING: %s does not appear to be a PC-Engine ROM\n", ucon64.rom); + + if ((srcfile = fopen (ucon64.rom, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], ucon64.rom); + continue; + } + if (ucon64.rominfo->buheader_len) + fseek (srcfile, ucon64.rominfo->buheader_len, SEEK_SET); + + if (file_no == 0) + { + printf ("Loader: %s\n", ucon64.rom); + if (ucon64.file_size - ucon64.rominfo->buheader_len != 7 * 8192) + printf ("WARNING: Are you sure %s is a loader binary?\n", ucon64.rom); + } + else + { + printf ("ROM%d: %s\n", file_no, ucon64.rom); + write_game_table_entry (destfile, file_no, totalsize); + fseek (destfile, totalsize, SEEK_SET); // restore file pointer + } + file_no++; + + done = 0; + byteswritten = 0; // # of bytes written per file + while (!done) + { + bytestowrite = fread (buffer, 1, BUFSIZE, srcfile); + if (totalsize + bytestowrite > truncate_size) + { + bytestowrite = truncate_size - totalsize; + done = 1; + truncated = 1; + printf ("Output file is %d Mbit, truncating %s, skipping %d bytes\n", + truncate_size / MBIT, ucon64.rom, ucon64.file_size - + ucon64.rominfo->buheader_len - (byteswritten + bytestowrite)); + } + totalsize += bytestowrite; + if (bytestowrite == 0) + done = 1; + fwrite (buffer, 1, bytestowrite, destfile); + byteswritten += bytestowrite; + } + fclose (srcfile); + if (truncated) + break; + + // games have to be aligned to (start at) a 1 Mbit boundary + paddedsize = (totalsize + MBIT - 1) & ~(MBIT - 1); +// printf ("paddedsize: %d (%f); totalsize: %d (%f)\n", +// paddedsize, paddedsize / (1.0 * MBIT), totalsize, totalsize / (1.0 * MBIT)); + if (paddedsize > totalsize) + { + if (paddedsize > truncate_size) + { + truncated = 1; // not *really* truncated + paddedsize = truncate_size; + } + + memset (buffer, 0, BUFSIZE); + while (totalsize < paddedsize) + { + bytestowrite = paddedsize - totalsize > BUFSIZE ? + BUFSIZE : paddedsize - totalsize; + fwrite (buffer, 1, bytestowrite, destfile); + totalsize += bytestowrite; + } + } + if (truncated) + break; + } + // fill the next game table entry + fseek (destfile, 0xb000 + (file_no - 1) * 0x20, SEEK_SET); + fputc (0, destfile); // indicate no next game + fclose (destfile); + ucon64.console = UCON64_PCE; + ucon64.do_not_calc_crc = org_do_not_calc_crc; + + return 0; +} + + +static int +pcengine_check (unsigned char *buf, unsigned int len) +// This function was contributed by Cowering. Comments are his unless stated +// otherwise. +{ + int i, f1 = 0, f2 = 0, f3 = 0, f4 = 0, f5 = 0; + + // don't crash for too small (non-PCE) files - dbjh + if (len < 0x200) + return 0; + + // Directly look for swapped dead moon (U). Lots of zeroes at file start + // fakes out header detector. + // We probably don't need this (no "header detector") - dbjh + if (buf[0] == 0x1e && buf[1] == 0x2a && buf[2] == 0x95) + return 1; + if (buf[0] == 0x12 && buf[1] == 0xe0 && buf[16] == 0x4a) // F-1 Pilot + return 1; + if (buf[0] == 0x20 && buf[1] == 0x81 && buf[16] == 0x81) // Cyber Knight + return 1; + if (buf[0] == 0x03 && buf[1] == 0x03 && buf[16] == 0x02) // Gaia no monsho + return 1; +#if 0 // no reason to not recognise this dump - dbjh + if (len == 0x40400) // BIOS with 2 headers on front, deleted from database now + return 0; +#endif +/* + // two headers on a CD-ROM BIOS (bad dump) + if (len == 0x40200 && buf[0x200] == 0x32 && buf[0x210] == 0xa0 && buf[0x220] == 0xf7) + return 1; +*/ + // super mario pirate conversion + if (len > 65000 && !strncmp ((const char*) &buf[0x77f0], "JGGKGKGGGGGGJGJG", 16)) + return 1; + if (buf[0x20] == 0x7c && buf[0x21] == 0xe3 && buf[0x22] == 0xe6) // 5 in 1 + return 1; + if (buf[0x10] == 0xc7 && buf[0x30] == 0xe9 && buf[0x50] == 0xa1) // Sekikehara + return 1; + if (!strncmp ((const char *) &buf[0], "!BM FORMAT!", 11)) // boxy boy (U) + return 1; + if (!strncmp ((const char *) &buf[0], "PUSH RUN BUTTON", 15)) // boxy boy (J) + return 1; + // US CD sys 2.01 + if (len > 0x3ffc7 && !strncmp ((const char *) &buf[0x3ffb6], "PC Engine CD-ROM", 16)) + return 1; + + for (i = 0 ; i < 0x200; i++) + { + if (buf[i] == 0x00) + f1++; + if (buf[i] == 0xff) + f4++; + if (buf[i] == 0x78) + f2 = 1; + if (buf[i] == 0xa9) + f3 = 1; + if (buf[i] == 0x85 || buf[i] == 0x8d) + f5 = 1; + } + if ((f4 > 200) || ((f1 > 200) && (f2 + f3 != 2))) + return 0; + if (f2 + f3 + f5 >= 2) + return 1; + return 0; +} + + +int +pcengine_init (st_rominfo_t *rominfo) +{ + int result = -1, size, swapped, x; + unsigned char *rom_buffer; + st_pce_data_t *info, key; + + x = ucon64.file_size % (16 * 1024); + rominfo->buheader_len = UCON64_ISSET (ucon64.buheader_len) ? + ucon64.buheader_len : (ucon64.file_size > x ? x : 0); + + size = ucon64.file_size - rominfo->buheader_len; + if (!(rom_buffer = (unsigned char *) malloc (size))) + { + fprintf (stderr, ucon64_msg[ROM_BUFFER_ERROR], size); + return -1; + } + ucon64_fread (rom_buffer, rominfo->buheader_len, size, ucon64.rom); + + if (pcengine_check (rom_buffer, size) == 1) + result = 0; + + swapped = -1; + /* + 29 40 f0 => unhacked + 29 40 80 => U.S.A. -> Jap hack + 94 02 0f => bit-swapped and unhacked + 94 02 01 => bit-swapped and hacked + + According to Cowering 2 or 3 games don't use these opcodes to check if a + Japanese game is running on an American console. If they are present then + it is in the first 500 (or so) bytes. + The check for "A..Z" is a fix for Puzznic (J). The check for "HESM" a fix + for: + Fire Pro Wrestling - 2nd Bout Sounds + Fire Pro Wrestling 3 - Legend Bout Sounds + */ + x = size > 32768 ? 32768 : size; + if ((memmem2 (rom_buffer, x, "\x94\x02\x0f", 3, 0) || + memmem2 (rom_buffer, x, "\x94\x02\x01", 3, 0)) && + memmem2 (rom_buffer, x, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", 26, 0) == 0 && + memcmp (rom_buffer, "HESM", 4)) + swapped = 1; + if (UCON64_ISSET (ucon64.interleaved)) + swapped = ucon64.interleaved; + + if ((result == -1 && swapped != 0) || swapped == 1) + { // don't swap the bits if -nint is specified + if (!UCON64_ISSET (ucon64.do_not_calc_crc) || swapped == 1) + ucon64.fcrc32 = crc32 (0, rom_buffer, size); + swapbits (rom_buffer, size); + if (pcengine_check (rom_buffer, size) == 1) + { + swapped = 1; + result = 0; + } + if (swapped != 1) + { + ucon64.crc32 = ucon64.fcrc32; + ucon64.fcrc32 = 0; + } + } + if (swapped != -1) + rominfo->interleaved = swapped; + + if (ucon64.console == UCON64_PCE) + result = 0; + + rominfo->header_start = PCENGINE_HEADER_START; + rominfo->header_len = PCENGINE_HEADER_LEN; + rominfo->console_usage = pcengine_usage[0].help; + rominfo->copier_usage = rominfo->buheader_len ? msg_usage[0].help : mgd_usage[0].help; + + if (!UCON64_ISSET (ucon64.do_not_calc_crc) && result == 0) + { + if (!ucon64.crc32) + ucon64.crc32 = crc32 (0, rom_buffer, size); + // additional info + key.crc32 = ucon64.crc32; + info = (st_pce_data_t *) bsearch (&key, pce_data, + sizeof pce_data / sizeof (st_pce_data_t), + sizeof (st_pce_data_t), pce_compare); + if (info) + { + if (info->maker) + rominfo->maker = NULL_TO_UNKNOWN_S (pce_maker[MIN (info->maker, + PCE_MAKER_MAX - 1)]); + + if (info->serial) + if (info->serial[0]) + { + strcat (rominfo->misc, "\nSerial: "); + strcat (rominfo->misc, info->serial); + } + + if (info->date) + { + int day = info->date / 10000, month = (info->date % 10000) / 100, + year = info->date % 100; + char date[80]; + + date[0] = 0; + if (day) + sprintf (date, "\nDate: %d/%d/19%d", day, month, year); + else if (month) + sprintf (date, "\nDate: %d/19%d", month, year); + else if (year) + sprintf (date, "\nDate: 19%d", year); + strcat (rominfo->misc, date); + } + + if (info->comment) + if (info->comment[0]) + { + strcat (rominfo->misc, "\nComment: "); + strcat (rominfo->misc, info->comment); + } + } + } + + free (rom_buffer); + return result; +} diff --git a/tools/ucon64-2.0.0-src/src/console/pce.h b/tools/ucon64-2.0.0-src/src/console/pce.h new file mode 100644 index 0000000..6b086e0 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/console/pce.h @@ -0,0 +1,31 @@ +/* +pce.h - PC-Engine support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef PCE_H +#define PCE_H +extern const st_getopt2_t pcengine_usage[]; + +extern int pcengine_init (st_rominfo_t *rominfo); +extern int pcengine_mgd (st_rominfo_t *rominfo); +extern int pcengine_msg (st_rominfo_t *rominfo); +extern int pcengine_swap (st_rominfo_t *rominfo); +extern int pcengine_f (st_rominfo_t *rominfo); +extern int pcengine_multi (int truncate_size, char *fname); +#endif diff --git a/tools/ucon64-2.0.0-src/src/console/psx.c b/tools/ucon64-2.0.0-src/src/console/psx.c new file mode 100644 index 0000000..c1ad6b3 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/console/psx.c @@ -0,0 +1,66 @@ +/* +psx.c - Playstation support for uCON64 + +Copyright (c) 2001 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#ifdef HAVE_UNISTD_H +#include +#endif +#include "misc/misc.h" +#include "misc/itypes.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ucon64_misc.h" +#include "psx.h" + + +const st_getopt2_t psx_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Playstation (One)/Playstation 2 (CD only)"/*"1994/(2000) Sony http://www.playstation.com"*/, + NULL + }, + { + "psx", 0, 0, UCON64_PSX, + NULL, "force recognition", + &ucon64_wf[WF_OBJ_PSX_SWITCH] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} +}; + + +int +psx_init (st_rominfo_t *rominfo) +{ + int result = -1; + + rominfo->console_usage = psx_usage[0].help; +// rominfo->copier_usage = cdrw_usage[0].help; + + return result; +} diff --git a/tools/ucon64-2.0.0-src/src/console/psx.h b/tools/ucon64-2.0.0-src/src/console/psx.h new file mode 100644 index 0000000..06b1592 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/console/psx.h @@ -0,0 +1,25 @@ +/* +psx.h - Playstation support for uCON64 + +Copyright (c) 2001 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef PSX_H +#define PSX_H +extern int psx_init (st_rominfo_t *rominfo); +extern const st_getopt2_t psx_usage[]; +#endif diff --git a/tools/ucon64-2.0.0-src/src/console/sms.c b/tools/ucon64-2.0.0-src/src/console/sms.c new file mode 100644 index 0000000..d62b2a5 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/console/sms.c @@ -0,0 +1,699 @@ +/* +sms.c - Sega Master System/Game Gear support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB +Copyright (c) 2003 - 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#ifdef HAVE_UNISTD_H +#include +#endif +#include +#include "misc/chksum.h" +#include "misc/misc.h" +#include "misc/string.h" +#include "misc/file.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ucon64_misc.h" +#include "sms.h" +#include "backup/mgd.h" +#include "backup/smd.h" + + +#define SMS_HEADER_START 0x7ff0 +#define SMS_HEADER_LEN (sizeof (st_sms_header_t)) + +static int sms_chksum (unsigned char *rom_buffer, int rom_size); + + +const st_getopt2_t sms_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Sega Master System(II/III)/Game Gear (Handheld)"/*"1986/19XX SEGA http://www.sega.com"*/, + NULL + }, + { + "sms", 0, 0, UCON64_SMS, + NULL, "force recognition", + &ucon64_wf[WF_OBJ_SMS_SWITCH] + }, + { + "int", 0, 0, UCON64_INT, + NULL, "force ROM is in interleaved format (SMD)", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, + { + "nint", 0, 0, UCON64_NINT, + NULL, "force ROM is not in interleaved format (RAW)", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, + { + "mgd", 0, 0, UCON64_MGD, + NULL, "convert to Multi Game*/MGD2/MGH/RAW (gives SMS name)", + &ucon64_wf[WF_OBJ_ALL_DEFAULT_NO_SPLIT] + }, + { + "mgdgg", 0, 0, UCON64_MGDGG, + NULL, "same as " OPTION_LONG_S "mgd, but gives GG name", + &ucon64_wf[WF_OBJ_SMS_DEFAULT_NO_SPLIT] + }, + { + "smd", 0, 0, UCON64_SMD, + NULL, "convert to Super Magic Drive/SMD", + &ucon64_wf[WF_OBJ_ALL_DEFAULT_NO_SPLIT] + }, + { + "smds", 0, 0, UCON64_SMDS, + NULL, "convert emulator (*.srm) SRAM to Super Magic Drive/SMD", + NULL + }, + { + "chk", 0, 0, UCON64_CHK, + NULL, "fix ROM checksum (SMS only)", + &ucon64_wf[WF_OBJ_ALL_DEFAULT] + }, + { + "multi", 1, 0, UCON64_MULTI, + "SIZE", "make multi-game file for use with SMS-PRO/GG-PRO flash card,\n" + "truncated to SIZE Mbit; file with loader must be specified\n" + "first, then all the ROMs, multi-game file to create last", + &ucon64_wf[WF_OBJ_ALL_INIT_PROBE_STOP] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + +typedef struct st_sms_header +{ + char signature[8]; // "TMR "{"SEGA", "ALVS", "SMSC"}/"TMG SEGA" + unsigned char pad[2]; // 8 + unsigned char checksum_low; // 10 + unsigned char checksum_high; // 11 + unsigned char partno_low; // 12 + unsigned char partno_high; // 13 + unsigned char version; // 14 + unsigned char checksum_range; // 15, and country info +} st_sms_header_t; + +static st_sms_header_t sms_header; +static int is_gamegear; + + +// see src/backup/mgd.h for the file naming scheme +int +sms_mgd (st_rominfo_t *rominfo, int console) +{ + char src_name[FILENAME_MAX], dest_name[FILENAME_MAX]; + unsigned char *buffer; + int size = ucon64.file_size - rominfo->buheader_len; + + strcpy (src_name, ucon64.rom); + mgd_make_name (ucon64.rom, console, size, dest_name); + ucon64_file_handler (dest_name, src_name, OF_FORCE_BASENAME); + + if (!(buffer = (unsigned char *) malloc (size))) + { + fprintf (stderr, ucon64_msg[ROM_BUFFER_ERROR], size); + exit (1); + } + ucon64_fread (buffer, rominfo->buheader_len, size, src_name); + if (rominfo->interleaved) + smd_deinterleave (buffer, size); + + ucon64_fwrite (buffer, 0, size, dest_name, "wb"); + free (buffer); + + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + + mgd_write_index_file ((char *) basename2 (dest_name), 1); + + if (size <= 4 * MBIT) + printf ("NOTE: It may be necessary to change the suffix in order to make the game work\n" + " on an MGD2. You could try suffixes like .010, .024, .040, .048 or .078.\n"); + return 0; +} + + +int +sms_smd (st_rominfo_t *rominfo) +{ + st_smd_header_t header; + char src_name[FILENAME_MAX], dest_name[FILENAME_MAX]; + unsigned char *buffer; + int size = ucon64.file_size - rominfo->buheader_len; + + memset (&header, 0, SMD_HEADER_LEN); + header.size = size / 8192 >> 8; + header.id0 = 3; //size / 8192; + header.id1 = 0xaa; + header.id2 = 0xbb; + header.type = 6; + + strcpy (src_name, ucon64.rom); + strcpy (dest_name, ucon64.rom); + set_suffix (dest_name, ".smd"); + ucon64_file_handler (dest_name, src_name, 0); + + if (!(buffer = (unsigned char *) malloc (size))) + { + fprintf (stderr, ucon64_msg[ROM_BUFFER_ERROR], size); + exit (1); + } + ucon64_fread (buffer, rominfo->buheader_len, size, src_name); + if (!rominfo->interleaved) + smd_interleave (buffer, size); + + ucon64_fwrite (&header, 0, SMD_HEADER_LEN, dest_name, "wb"); + ucon64_fwrite (buffer, rominfo->buheader_len, size, dest_name, "ab"); + free (buffer); + + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + return 0; +} + + +int +sms_smds (void) +{ + st_smd_header_t header; + char src_name[FILENAME_MAX], dest_name[FILENAME_MAX]; + + memset (&header, 0, SMD_HEADER_LEN); + header.id1 = 0xaa; + header.id2 = 0xbb; + header.type = 7; // SRAM file + + strcpy (src_name, ucon64.rom); + strcpy (dest_name, ucon64.rom); + set_suffix (dest_name, ".sav"); + ucon64_file_handler (dest_name, src_name, 0); + + ucon64_fwrite (&header, 0, SMD_HEADER_LEN, dest_name, "wb"); + fcopy (src_name, 0, fsizeof (src_name), dest_name, "ab"); + + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + return 0; +} + + +int +sms_chk (st_rominfo_t *rominfo) +{ + char buf[2], dest_name[FILENAME_MAX]; + int offset = rominfo->header_start + 10; + + if (is_gamegear) + { + fprintf (stderr, "ERROR: This option works only for SMS (not Game Gear) files\n"); + return -1; + } + + strcpy (dest_name, ucon64.rom); + ucon64_file_handler (dest_name, NULL, 0); + fcopy (ucon64.rom, 0, ucon64.file_size, dest_name, "wb"); + + buf[0] = rominfo->current_internal_crc; // low byte + buf[1] = rominfo->current_internal_crc >> 8; // high byte + // change checksum + if (rominfo->interleaved) + { + ucon64_fputc (dest_name, rominfo->buheader_len + + (offset & ~0x3fff) + 0x2000 + (offset & 0x3fff) / 2, buf[0], "r+b"); + ucon64_fputc (dest_name, rominfo->buheader_len + + (offset & ~0x3fff) + (offset & 0x3fff) / 2, buf[1], "r+b"); + } + else + ucon64_fwrite (buf, rominfo->buheader_len + offset, 2, dest_name, "r+b"); + + dumper (stdout, buf, 2, rominfo->buheader_len + offset, DUMPER_HEX); + + printf (ucon64_msg[WROTE], dest_name); + return 0; +} + + +static void +write_game_table_entry (FILE *destfile, int file_no, int totalsize) +{ + static int sram_page = 0, sram_msg_printed = 0; + int n; + unsigned char name[0x0c], flags = 0; // x, D (reserved), x, x, x, x, S1, S0 + const char *p; + + fseek (destfile, 0x2000 + (file_no - 1) * 0x10, SEEK_SET); + fputc (0xff, destfile); // 0x0 = 0xff + + memset (name, ' ', 0x0c); + p = basename2 (ucon64.rom); + n = strlen (p); + if (n > 0x0c) + n = 0x0c; + memcpy (name, p, n); + for (n = 0; n < 0x0c; n++) + { + if (!isprint ((int) name[n])) + name[n] = '.'; + else + name[n] = toupper (name[n]); // loader only supports upper case characters + } + fwrite (name, 1, 0x0c, destfile); // 0x01 - 0x0c = name + fputc (0, destfile); // 0x0d = 0 + fputc (totalsize / 16384, destfile); // 0x0e = bank code + + if (sram_page > 3) + { + if (!sram_msg_printed) + { + puts ("NOTE: This ROM (and all following) will share SRAM with ROM 4"); + sram_msg_printed = 1; + } + sram_page = 3; + } + flags = sram_page++; + + fputc (flags, destfile); // 0x1f = flags +} + + +int +sms_multi (int truncate_size, char *fname) +{ +#define BUFSIZE 0x20000 +// BUFSIZE must be a multiple of 16 kB (for deinterleaving) and larger than or +// equal to 1 Mbit (for check sum calculation) + int n, n_files, file_no, bytestowrite, byteswritten, totalsize = 0, done, + truncated = 0, paddedsize, org_do_not_calc_crc = ucon64.do_not_calc_crc; + struct stat fstate; + FILE *srcfile, *destfile; + char destname[FILENAME_MAX]; + unsigned char *buffer; + + if (truncate_size == 0) + { + fprintf (stderr, "ERROR: Can't make multi-game file of 0 bytes\n"); + return -1; + } + if (!(buffer = (unsigned char *) malloc (BUFSIZE))) + { + fprintf (stderr, ucon64_msg[FILE_BUFFER_ERROR], BUFSIZE); + return -1; + } + + if (fname != NULL) + { + strcpy (destname, fname); + n_files = ucon64.argc; + } + else + { + strcpy (destname, ucon64.argv[ucon64.argc - 1]); + n_files = ucon64.argc - 1; + } + + ucon64_file_handler (destname, NULL, OF_FORCE_BASENAME); + if ((destfile = fopen (destname, "w+b")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], destname); + return -1; + } + + printf ("Creating multi-game file for SMS-PRO/GG-PRO: %s\n", destname); + + file_no = 0; + for (n = 1; n < n_files; n++) + { + if (access (ucon64.argv[n], F_OK)) + continue; // "file" does not exist (option) + stat (ucon64.argv[n], &fstate); + if (!S_ISREG (fstate.st_mode)) + continue; + if (file_no == 32) // loader + 31 games + { + printf ("WARNING: A multi-game file can contain a maximum of 31 games. The other files\n" + " are ignored.\n"); + break; + } + + ucon64.console = UCON64_UNKNOWN; + ucon64.rom = ucon64.argv[n]; + ucon64.file_size = fsizeof (ucon64.rom); + // DON'T use fstate.st_size, because file could be compressed + ucon64.rominfo->buheader_len = UCON64_ISSET (ucon64.buheader_len) ? + ucon64.buheader_len : 0; + ucon64.rominfo->interleaved = UCON64_ISSET (ucon64.interleaved) ? + ucon64.interleaved : 0; + ucon64.do_not_calc_crc = 1; + if (sms_init (ucon64.rominfo) != 0) + printf ("WARNING: %s does not appear to be an SMS/GG ROM\n", ucon64.rom); + + if ((srcfile = fopen (ucon64.rom, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], ucon64.rom); + continue; + } + if (ucon64.rominfo->buheader_len) + fseek (srcfile, ucon64.rominfo->buheader_len, SEEK_SET); + + if (file_no == 0) + { + printf ("Loader: %s\n", ucon64.rom); + if (ucon64.file_size - ucon64.rominfo->buheader_len != 3 * 16384) + printf ("WARNING: Are you sure %s is a loader binary?\n", ucon64.rom); + } + else + { + printf ("ROM%d: %s\n", file_no, ucon64.rom); + write_game_table_entry (destfile, file_no, totalsize); + fseek (destfile, totalsize, SEEK_SET); // restore file pointer + } + file_no++; + + done = 0; + byteswritten = 0; // # of bytes written per file + while (!done) + { + bytestowrite = fread (buffer, 1, BUFSIZE, srcfile); + if (ucon64.rominfo->interleaved) + smd_deinterleave (buffer, BUFSIZE); + // yes, BUFSIZE. bytestowrite might not be n * 16 kB + if (totalsize + bytestowrite > truncate_size) + { + bytestowrite = truncate_size - totalsize; + done = 1; + truncated = 1; + printf ("Output file is %d Mbit, truncating %s, skipping %d bytes\n", + truncate_size / MBIT, ucon64.rom, ucon64.file_size - + ucon64.rominfo->buheader_len - (byteswritten + bytestowrite)); + } + totalsize += bytestowrite; + if (bytestowrite == 0) + done = 1; + fwrite (buffer, 1, bytestowrite, destfile); + byteswritten += bytestowrite; + } + fclose (srcfile); + if (truncated) + break; + + // games have to be aligned to (start at) a 16 kB boundary + paddedsize = (totalsize + 16384 - 1) & ~(16384 - 1); +// printf ("paddedsize: %d (%f); totalsize: %d (%f)\n", +// paddedsize, paddedsize / (1.0 * MBIT), totalsize, totalsize / (1.0 * MBIT)); + if (paddedsize > totalsize) + { + if (paddedsize > truncate_size) + { + truncated = 1; // not *really* truncated + paddedsize = truncate_size; + } + + memset (buffer, 0, BUFSIZE); + while (totalsize < paddedsize) + { + bytestowrite = paddedsize - totalsize > BUFSIZE ? + BUFSIZE : paddedsize - totalsize; + fwrite (buffer, 1, bytestowrite, destfile); + totalsize += bytestowrite; + } + } + if (truncated) + break; + } + // fill the next game table entry + fseek (destfile, 0x2000 + (file_no - 1) * 0x10, SEEK_SET); + fputc (0, destfile); // indicate no next game + + /* + The SMS requires the check sum to match the data. The ToToTEK loaders have + the lower nibble of the "check sum range byte" set to 0x0f. Maybe ToToTEK + will change this or maybe somebody else will write a loader. To avoid extra + code to handle those cases we just overwite the value. + We don't handle a GG multi-game file differently, because we cannot detect + that the user intended to make such a file (other than by adding a new GG + multi-game option). ToToTEK's GG loader has an SMS header. + */ + fseek (destfile, 0, SEEK_SET); + n = fread (buffer, 1, 0x20000, destfile); // 0x0f => check sum range = 0x20000 + buffer[SMS_HEADER_START + 15] |= 0x0f; // overwrite check sum range byte + sms_header.checksum_range = 0x0f; // sms_chksum() uses this variable + n = sms_chksum (buffer, n); + + buffer[SMS_HEADER_START + 10] = n; // low byte + buffer[SMS_HEADER_START + 11] = n >> 8; // high byte + fseek (destfile, SMS_HEADER_START + 10, SEEK_SET); + fwrite (buffer + SMS_HEADER_START + 10, 1, 6, destfile); + + fclose (destfile); + ucon64.console = UCON64_SMS; + ucon64.do_not_calc_crc = org_do_not_calc_crc; + + return 0; +} + + +static int +sms_testinterleaved (st_rominfo_t *rominfo) +{ + unsigned char buf[0x4000] = { 0 }; + + ucon64_fread (buf, rominfo->buheader_len + 0x4000, // header in 2nd 16 kB block + 0x2000 + (SMS_HEADER_START - 0x4000 + 8) / 2, ucon64.rom); + if (!(memcmp (buf + SMS_HEADER_START - 0x4000, "TMR SEGA", 8) && + memcmp (buf + SMS_HEADER_START - 0x4000, "TMR ALVS", 8) && // SMS + memcmp (buf + SMS_HEADER_START - 0x4000, "TMR SMSC", 8) && // SMS (unofficial) + memcmp (buf + SMS_HEADER_START - 0x4000, "TMG SEGA", 8))) // GG + return 0; + + smd_deinterleave (buf, 0x4000); + if (!(memcmp (buf + SMS_HEADER_START - 0x4000, "TMR SEGA", 8) && + memcmp (buf + SMS_HEADER_START - 0x4000, "TMR ALVS", 8) && + memcmp (buf + SMS_HEADER_START - 0x4000, "TMR SMSC", 8) && + memcmp (buf + SMS_HEADER_START - 0x4000, "TMG SEGA", 8))) + return 1; + + return 0; // unknown, act as if it's not interleaved +} + + +#define SEARCHBUFSIZE (SMS_HEADER_START + 8 + 16 * 1024) +#define N_SEARCH_STR 4 +static int +sms_header_len (void) +/* + At first sight it seems reasonable to also determine whether the file is + interleaved in this function. However, we run into a chicken-and-egg problem: + in order to deinterleave the data we have to know the header length. And in + order to determine the header length we have to know whether the file is + interleaved :-) Of course we could assume the header has an even size, but it + turns out that that is not always the case. For example, there is a copy of + GG Shinobi (E) [b1] floating around with a "header" of 5 bytes. + In short: this function works only for files that are not interleaved. +*/ +{ + // first two hacks for Majesco Game Gear BIOS (U) [!] + if (ucon64.file_size == 1024) + return 0; + else if (ucon64.file_size == 1024 + SMD_HEADER_LEN) + return SMD_HEADER_LEN; + else + { + char buffer[SEARCHBUFSIZE], *ptr, search_str[N_SEARCH_STR][9] = + { "TMR SEGA", "TMR ALVS", "TMR SMSC", "TMG SEGA" }; + int n; + + ucon64_fread (buffer, 0, SEARCHBUFSIZE, ucon64.rom); + + for (n = 0; n < N_SEARCH_STR; n++) + if ((ptr = (char *) + memmem2 (buffer, SEARCHBUFSIZE, search_str[n], 8, 0)) != NULL) + return ptr - buffer - SMS_HEADER_START; + + n = ucon64.file_size % (16 * 1024); // SMD_HEADER_LEN + if (ucon64.file_size > n) + return n; + else + return 0; + } +} +#undef SEARCHBUFSIZE +#undef N_SEARCH_STR + + +int +sms_init (st_rominfo_t *rominfo) +{ + int result = -1, x; + unsigned char buf[16384] = { 0 }, *rom_buffer; + + is_gamegear = 0; + memset (&sms_header, 0, SMS_HEADER_LEN); + + if (UCON64_ISSET (ucon64.buheader_len)) // -hd, -nhd or -hdn option was specified + rominfo->buheader_len = ucon64.buheader_len; + else + rominfo->buheader_len = sms_header_len (); + + rominfo->interleaved = UCON64_ISSET (ucon64.interleaved) ? + ucon64.interleaved : sms_testinterleaved (rominfo); + + if (rominfo->interleaved) + { + ucon64_fread (buf, rominfo->buheader_len + 0x4000, // header in 2nd 16 kB block + 0x2000 + (SMS_HEADER_START - 0x4000 + SMS_HEADER_LEN) / 2, ucon64.rom); + smd_deinterleave (buf, 0x4000); + memcpy (&sms_header, buf + SMS_HEADER_START - 0x4000, SMS_HEADER_LEN); + } + else + ucon64_fread (&sms_header, rominfo->buheader_len + SMS_HEADER_START, + SMS_HEADER_LEN, ucon64.rom); + + rominfo->header_start = SMS_HEADER_START; + rominfo->header_len = SMS_HEADER_LEN; + rominfo->header = &sms_header; + + ucon64_fread (buf, 0, 11, ucon64.rom); + // Note that the identification bytes are the same as for Genesis SMD files + // The init function for Genesis files is called before this function so it + // is alright to set result to 0 + if ((buf[8] == 0xaa && buf[9] == 0xbb && buf[10] == 6) || + !(memcmp (sms_header.signature, "TMR SEGA", 8) && + memcmp (sms_header.signature, "TMR ALVS", 8) && // SMS + memcmp (sms_header.signature, "TMR SMSC", 8) && // SMS (unofficial) + memcmp (sms_header.signature, "TMG SEGA", 8)) || // GG + ucon64.console == UCON64_SMS) + result = 0; + else + result = -1; + + x = sms_header.checksum_range & 0xf0; + if (x == 0x50 || x == 0x60 || x == 0x70) + is_gamegear = 1; + + switch (x) + { + case 0x30: // SMS, falling through + case 0x50: // GG + rominfo->country = "Japan"; + break; + case 0x40: // SMS, falling through + case 0x70: // GG + rominfo->country = "U.S.A. & Europe"; + break; + case 0x60: // GG + rominfo->country = "Japan, U.S.A. & Europe"; + break; + default: + rominfo->country = "Unknown"; + break; + } + + if (!UCON64_ISSET (ucon64.do_not_calc_crc) && result == 0) + { + int size = ucon64.file_size - rominfo->buheader_len; + if (!(rom_buffer = (unsigned char *) malloc (size))) + { + fprintf (stderr, ucon64_msg[ROM_BUFFER_ERROR], size); + return -1; + } + ucon64_fread (rom_buffer, rominfo->buheader_len, size, ucon64.rom); + + if (rominfo->interleaved) + { + ucon64.fcrc32 = crc32 (0, rom_buffer, size); + smd_deinterleave (rom_buffer, size); + } + ucon64.crc32 = crc32 (0, rom_buffer, size); + + if (!is_gamegear) + { + rominfo->has_internal_crc = 1; + rominfo->internal_crc_len = 2; + rominfo->current_internal_crc = sms_chksum (rom_buffer, size); + rominfo->internal_crc = sms_header.checksum_low; + rominfo->internal_crc += sms_header.checksum_high << 8; + } + + free (rom_buffer); + } + + sprintf ((char *) buf, "Part number: 0x%04x\n", + sms_header.partno_low + (sms_header.partno_high << 8) + + ((sms_header.version & 0xf0) << 12)); + strcat (rominfo->misc, (char *) buf); + + sprintf ((char *) buf, "Version: %d", sms_header.version & 0xf); + strcat (rominfo->misc, (char *) buf); + + rominfo->console_usage = sms_usage[0].help; + rominfo->copier_usage = rominfo->buheader_len ? smd_usage[0].help : mgd_usage[0].help; + + return result; +} + + +int +sms_chksum (unsigned char *rom_buffer, int rom_size) +{ + unsigned short int sum; + int i, i_end; + + switch (sms_header.checksum_range & 0xf) + { + case 0xc: + i_end = 0x7ff0; + break; + case 0xe: // falling through + case 0xf: + i_end = 0x20000; + break; + case 0: + i_end = 0x40000; + break; + case 1: + i_end = 0x80000; + break; + default: + i_end = rom_size; + break; + } + if (i_end > rom_size) + i_end = rom_size; + + sum = 0; + for (i = 0; i < i_end; i++) + sum += rom_buffer[i]; + + if (i_end >= (int) (SMS_HEADER_START + SMS_HEADER_LEN)) + for (i = SMS_HEADER_START; i < (int) (SMS_HEADER_START + SMS_HEADER_LEN); i++) + sum -= rom_buffer[i]; + + return sum; +} diff --git a/tools/ucon64-2.0.0-src/src/console/sms.h b/tools/ucon64-2.0.0-src/src/console/sms.h new file mode 100644 index 0000000..2911295 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/console/sms.h @@ -0,0 +1,36 @@ +/* +sms.h - Sega Master System/Game Gear support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB +Copyright (c) 2003 - 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef SMS_H +#define SMS_H + +extern const st_getopt2_t sms_usage[]; + +extern int sms_gg (st_rominfo_t *rominfo); +extern int sms_ggd (st_rominfo_t *rominfo); +extern int sms_gge (st_rominfo_t *rominfo); +extern int sms_init (st_rominfo_t *rominfo); +extern int sms_mgd (st_rominfo_t *rominfo, int console); +extern int sms_smd (st_rominfo_t *rominfo); +extern int sms_smds (void); +extern int sms_chk (st_rominfo_t *rominfo); +extern int sms_multi (int truncate_size, char *fname); +#endif diff --git a/tools/ucon64-2.0.0-src/src/console/snes.c b/tools/ucon64-2.0.0-src/src/console/snes.c new file mode 100644 index 0000000..de2bc87 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/console/snes.c @@ -0,0 +1,4403 @@ +/* +snes.c - Super NES support for uCON64 + +Copyright (c) 1999 - 2002 NoisyB +Copyright (c) 2001 - 2004 dbjh +Copyright (c) 2002 - 2003 John Weidman +Copyright (c) 2004 JohnDie + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#ifdef HAVE_UNISTD_H +#include +#endif +#include +#include "misc/bswap.h" +#include "misc/misc.h" +#include "misc/string.h" +#include "misc/chksum.h" +#include "misc/file.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ucon64_misc.h" +#include "snes.h" +#include "backup/mgd.h" +#include "backup/gd.h" +#include "backup/swc.h" +#include "backup/fig.h" +#include "backup/ufo.h" + + +#define SNES_HEADER_LEN (sizeof (st_snes_header_t)) +#define SNES_NAME_LEN 21 +#define GD3_HEADER_MAPSIZE 0x18 +#define NSRT_HEADER_VERSION 22 // version 2.2 header +#define DETECT_NOTGOOD_DUMPS // makes _a_ complete GoodSNES 0.999.5 set detected +#define DETECT_SMC_COM_FUCKED_UP_LOROM // adds support for interleaved LoROMs +#define DETECT_INSNEST_FUCKED_UP_LOROM // only adds support for its 24 Mbit + // interleaved LoROM "format" +//#define PAD_40MBIT_GD3_DUMPS // padding works for + // Dai Kaiju Monogatari 2 (J) + +static int snes_chksum (st_rominfo_t *rominfo, unsigned char **rom_buffer, + int rom_size); +static int snes_deinterleave (st_rominfo_t *rominfo, unsigned char **rom_buffer, + int rom_size); +static unsigned short int get_internal_sums (st_rominfo_t *rominfo); +static int snes_check_bs (void); +static inline int snes_isprint (char *s, int len); +static int check_banktype (unsigned char *rom_buffer, int header_offset); +static void reset_header (void *header); +static void set_nsrt_info (st_rominfo_t *rominfo, unsigned char *header); +static void get_nsrt_info (unsigned char *rom_buffer, int header_start, + unsigned char *buheader); +static void handle_nsrt_header (st_rominfo_t *rominfo, unsigned char *header, + const char **snes_country); + + +const st_getopt2_t snes_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Super Nintendo Entertainment System/SNES/Super Famicom" + /*"1990 Nintendo http://www.nintendo.com"*/, + NULL + }, + { + "snes", 0, 0, UCON64_SNES, + NULL, "force recognition", + &ucon64_wf[WF_OBJ_SNES_SWITCH] + }, + { + "hi", 0, 0, UCON64_HI, + NULL, "force ROM is HiROM", + &ucon64_wf[WF_OBJ_SNES_SWITCH] + }, + { + "nhi", 0, 0, UCON64_NHI, + NULL, "force ROM is not HiROM", + &ucon64_wf[WF_OBJ_SNES_SWITCH] + }, + { + "erom", 0, 0, UCON64_EROM, + NULL, "force ROM is \"Extended\" (combine with -hi for Extended HiROM)", + &ucon64_wf[WF_OBJ_SNES_SWITCH] + }, +#if 0 + { + "hd", 0, 0, UCON64_HD, + NULL, "force ROM has SMC/FIG/SWC header (+512 Bytes)", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, + { + "nhd", 0, 0, UCON64_NHD, + NULL, "force ROM has no SMC/FIG/SWC header (MGD2/MGH/RAW)", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, + { + "ns", 0, 0, UCON64_NS, + NULL, "force ROM is not split", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, +#endif +#if 0 +// the next switch remains undocumented until we know of a good checksum algorithm + { + "id", 0, 0, UCON64_ID, + NULL, "force -gd3 to produce a unique file name", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, +#endif + { + "int", 0, 0, UCON64_INT, + NULL, "force ROM is in interleaved format (GD3/UFO)", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, + { + "int2", 0, 0, UCON64_INT2, + NULL, "force ROM is in interleaved format 2 (SFX)", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, + { + "nint", 0, 0, UCON64_NINT, + NULL, "force ROM is not in interleaved format", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, + { + "bs", 0, 0, UCON64_BS, + NULL, "force ROM is a Broadcast Satellaview dump", + &ucon64_wf[WF_OBJ_SNES_SWITCH] + }, + { + "nbs", 0, 0, UCON64_NBS, + NULL, "force ROM is a regular cartridge dump", + &ucon64_wf[WF_OBJ_SNES_SWITCH] + }, + { + "n", 1, 0, UCON64_N, + "NEW_NAME", "change internal ROM name to NEW_NAME", + &ucon64_wf[WF_OBJ_ALL_DEFAULT] + }, + { + "fig", 0, 0, UCON64_FIG, + NULL, "convert to *Pro Fighter*/FIG", + &ucon64_wf[WF_OBJ_SNES_DEFAULT_NO_SPLIT] + }, + { + "figs", 0, 0, UCON64_FIGS, + NULL, "convert emulator *.srm (SRAM) to *Pro Fighter*/FIG", + &ucon64_wf[WF_OBJ_SNES_INIT_PROBE] + }, + { + "gd3", 0, 0, UCON64_GD3, + NULL, "convert to Game Doctor SF3(SF6/SF7)/Professor SF(SF II)", + &ucon64_wf[WF_OBJ_SNES_DEFAULT_NO_SPLIT] + }, + { + "gd3s", 0, 0, UCON64_GD3S, + NULL, "convert emulator *.srm (SRAM) to GD SF3(SF6/SF7)/Professor SF*", + &ucon64_wf[WF_OBJ_SNES_INIT_PROBE] + }, + { + "mgd", 0, 0, UCON64_MGD, + NULL, "convert to Multi Game*/MGD2/MGH/RAW", + &ucon64_wf[WF_OBJ_ALL_DEFAULT_NO_SPLIT] + }, + { + "smc", 0, 0, UCON64_SMC, + NULL, "convert to Super Magicom/SMC", + &ucon64_wf[WF_OBJ_SNES_DEFAULT_NO_SPLIT] + }, + { + "swc", 0, 0, UCON64_SWC, + NULL, "convert to Super Wild Card*/SWC", + &ucon64_wf[WF_OBJ_SNES_DEFAULT_NO_SPLIT] + }, + { + "swcs", 0, 0, UCON64_SWCS, + NULL, "convert emulator *.srm (SRAM) to Super Wild Card*/SWC", + &ucon64_wf[WF_OBJ_SNES_INIT_PROBE] + }, + { + "ufo", 0, 0, UCON64_UFO, + NULL, "convert to Super UFO", + &ucon64_wf[WF_OBJ_SNES_DEFAULT_NO_SPLIT] + }, + { + "ufos", 0, 0, UCON64_UFOS, + NULL, "convert emulator *.srm (SRAM) to Super UFO", + &ucon64_wf[WF_OBJ_SNES_INIT_PROBE] + }, + { + "stp", 0, 0, UCON64_STP, + NULL, "convert SRAM from backup unit for use with an emulator\n" + OPTION_LONG_S "stp just strips the first 512 bytes", + NULL + }, + { + "dbuh", 0, 0, UCON64_DBUH, + NULL, "display (relevant part of) backup unit header", + &ucon64_wf[WF_OBJ_SNES_DEFAULT] + }, + { + "dint", 0, 0, UCON64_DINT, + NULL, "deinterleave ROM (regardless whether the ROM is interleaved)", + &ucon64_wf[WF_OBJ_ALL_INIT_PROBE_NO_SPLIT] + }, + { + "ctrl", 1, 0, UCON64_CTRL, + "TYPE", "specify type of controller in port 1 for emu when converting\n" + "TYPE=0 gamepad\n" + "TYPE=1 mouse\n" + "TYPE=2 mouse / gamepad\n" + "TYPE=6 multitap", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, + { + "ctrl2", 1, 0, UCON64_CTRL2, + "TYPE", "specify type of controller in port 2 for emu when converting\n" + "TYPE=0 gamepad\n" + "TYPE=1 mouse\n" + "TYPE=2 mouse / gamepad\n" + "TYPE=3 super scope\n" + "TYPE=4 super scope / gamepad\n" + "TYPE=5 Konami's justifier\n" + "TYPE=6 multitap\n" + "TYPE=7 mouse / super scope / gamepad", + &ucon64_wf[WF_OBJ_SNES_SWITCH] + }, + { + "col", 1, 0, UCON64_COL, + "0xCOLOR", "convert 0xRRGGBB (HTML) <-> 0xXXXX (SNES)" + /*"this routine was used to find green colors in games and\n" + "to replace them with red colors (blood mode)"*/, + &ucon64_wf[WF_OBJ_SNES_NO_ROM] + }, + { + "j", 0, 0, UCON64_J, + NULL, "join split ROM", + &ucon64_wf[WF_OBJ_ALL_INIT_PROBE] + }, + { + "s", 0, 0, UCON64_S, + NULL, "split ROM; default part size is 8 Mb", + &ucon64_wf[WF_OBJ_ALL_DEFAULT_NO_SPLIT] + }, + { + "ssize", 1, 0, UCON64_SSIZE, + "SIZE", "specify split part size in Mbit (not for Game Doctor SF3)", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, +#if 0 + { + "p", 0, 0, UCON64_P, + NULL, "pad ROM to full Mb", + &ucon64_wf[WF_OBJ_ALL_DEFAULT] + }, +#endif + { + "k", 0, 0, UCON64_K, + NULL, "remove protection (crack)", + &ucon64_wf[WF_OBJ_SNES_DEFAULT] + }, + { + "f", 0, 0, UCON64_F, + NULL, "remove NTSC/PAL protection", + &ucon64_wf[WF_OBJ_ALL_DEFAULT] + }, + { + "l", 0, 0, UCON64_L, + NULL, "remove SlowROM checks", + &ucon64_wf[WF_OBJ_SNES_DEFAULT] + }, + { + "chk", 0, 0, UCON64_CHK, + NULL, "fix ROM checksum", + &ucon64_wf[WF_OBJ_ALL_DEFAULT] + }, + { + "multi", 1, 0, UCON64_MULTI, + "SIZE", "make multi-game file for use with Super Flash flash card,\n" + "truncated to SIZE Mbit; file with loader must be specified\n" + "first, then all the ROMs, multi-game file to create last", + &ucon64_wf[WF_OBJ_ALL_INIT_PROBE_STOP] + }, + { + "dmirr", 0, 0, UCON64_DMIRR, + NULL, "\"de-mirror\" ROM (strip mirrored block from end of ROM)", + &ucon64_wf[WF_OBJ_SNES_DEFAULT] + }, + { + "dnsrt", 0, 0, UCON64_DNSRT, + NULL, "\"de-NSRT\" ROM (restore name and checksum from NSRT header)", + &ucon64_wf[WF_OBJ_SNES_DEFAULT] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + +typedef struct st_snes_header +{ + unsigned char maker_high; // 0 + unsigned char maker_low; // 1 + unsigned char game_id_prefix; // 2 + unsigned char game_id_low; // 3 + unsigned char game_id_high; // 4 + unsigned char game_id_country; // 5 + // 'E' = USA, 'F' = France, 'G' = Germany, 'J' = Japan, 'P' = Europe, 'S' = Spain + unsigned char pad1[7]; // 6 + unsigned char sfx_sram_size; // 13 + unsigned char pad2[2]; // 14 + unsigned char name[SNES_NAME_LEN]; // 16 + unsigned char map_type; // 37, a.k.a. ROM makeup + unsigned char rom_type; // 38 +#define bs_month rom_type // release date, month + unsigned char rom_size; // 39 +#define bs_day rom_size // release date, day + unsigned char sram_size; // 40 +#define bs_map_type sram_size + unsigned char country; // 41 +#define bs_type country + unsigned char maker; // 42 + unsigned char version; // 43 + /* + If we combine the following 4 bytes in 2 short int variables, + inverse_checksum and checksum, they will have an incorrect value on big + endian machines. + */ + unsigned char inverse_checksum_low; // 44 + unsigned char inverse_checksum_high; // 45 + unsigned char checksum_low; // 46 + unsigned char checksum_high; // 47 +} st_snes_header_t; + +static st_snes_header_t snes_header; +static int snes_split, snes_sramsize, snes_sfx_sramsize, snes_header_base, + snes_hirom, snes_hirom_ok, nsrt_header, bs_dump, st_dump; +static snes_file_t type; + +static unsigned char gd3_hirom_8mb_map[GD3_HEADER_MAPSIZE] = + { + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22 + }; +static unsigned char gd3_hirom_16mb_map[GD3_HEADER_MAPSIZE] = + { + 0x20, 0x21, 0x20, 0x21, 0x20, 0x21, 0x20, 0x21, + 0x20, 0x21, 0x20, 0x21, 0x20, 0x21, 0x20, 0x21, + 0x22, 0x23, 0x22, 0x23, 0x22, 0x23, 0x22, 0x23 + }; +static unsigned char gd3_hirom_24mb_map[GD3_HEADER_MAPSIZE] = + { + 0x20, 0x21, 0x22, 0x00, 0x20, 0x21, 0x22, 0x00, + 0x20, 0x21, 0x22, 0x00, 0x20, 0x21, 0x22, 0x00, + 0x24, 0x25, 0x23, 0x00, 0x24, 0x25, 0x23, 0x00 + }; +static unsigned char gd3_hirom_32mb_map[GD3_HEADER_MAPSIZE] = + { + 0x20, 0x21, 0x22, 0x23, 0x20, 0x21, 0x22, 0x23, + 0x20, 0x21, 0x22, 0x23, 0x20, 0x21, 0x22, 0x23, + 0x24, 0x25, 0x26, 0x27, 0x24, 0x25, 0x26, 0x27 + }; +// map for Dai Kaiju Monogatari 2 (J) +static unsigned char gd3_hirom_40mb_map[GD3_HEADER_MAPSIZE] = + { + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x22, 0x23, 0x24, 0x25, 0x22, 0x23, 0x24, 0x25, + 0x21, 0x21, 0x21, 0x21, 0x26, 0x27, 0x28, 0x29 + }; +// map for Tales of Phantasia (J) +static unsigned char gd3_hirom_48mb_map[GD3_HEADER_MAPSIZE] = + { + 0x20, 0x21, 0x20, 0x21, 0x20, 0x21, 0x40, 0x40, + 0x24, 0x25, 0x26, 0x27, 0x24, 0x25, 0x26, 0x27, + 0x22, 0x23, 0x40, 0x40, 0x28, 0x29, 0x2a, 0x2b + }; + +static unsigned char gd3_lorom_4mb_map[GD3_HEADER_MAPSIZE] = + { + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20 + }; +static unsigned char gd3_lorom_8mb_map[GD3_HEADER_MAPSIZE] = + { + 0x20, 0x21, 0x20, 0x21, 0x20, 0x21, 0x20, 0x21, + 0x20, 0x21, 0x20, 0x21, 0x20, 0x21, 0x20, 0x21, + 0x20, 0x21, 0x20, 0x21, 0x20, 0x21, 0x20, 0x21 + }; +static unsigned char gd3_lorom_16mb_map[GD3_HEADER_MAPSIZE] = + { + 0x20, 0x21, 0x22, 0x23, 0x20, 0x21, 0x22, 0x23, + 0x20, 0x21, 0x22, 0x23, 0x20, 0x21, 0x22, 0x23, + 0x20, 0x21, 0x22, 0x23, 0x20, 0x21, 0x22, 0x23 + }; +static unsigned char gd3_lorom_32mb_map[GD3_HEADER_MAPSIZE] = + { + 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, + 0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, + 0x24, 0x25, 0x26, 0x27, 0x24, 0x25, 0x26, 0x27 + }; + + +int +snes_get_snes_hirom (void) +{ + return snes_hirom; +} + + +snes_file_t +snes_get_file_type (void) +{ + return type; +} + + +int +snes_col (const char *color) +/* +The Nintendo Super Famicom is capable of displaying 256 colours from a +palette of 32,768. These 256 colours are split into 8 palettes of 32 colours +each. + +To change the colours the following needs to be done: + +Loading the palette control register ($2121) with the colour number you wish +to change (0-255, 0=background). +Then load the colour into the palette data register first the low 8 bits, +followed by the high 7 bits (this gives you the maximum 32768 colours +possible $0000-$7fff). + +Colour data is made up of 3 components (Red,Green,Blue) each of 5 bits (The +Amiga uses exactly the same system, but only using 4 bits per component). +Saying that, Nintendo being the stupid japanese idiots they are decided that +R,G,B wasn't alphabetically correct and so opted to store the bits as B,G,R. + + 00000 00000 00000 + \ / \ / \ / + \ / \ / \ / + B G R + +Examples: +~~~~~~~~~ + 11111 00000 00000 = $7C00 (Bright Blue) + 00000 11111 00000 = $03E0 (Bright Green) + 00000 00000 11111 = $001F (Bright Red) + 00000 00000 00000 = $0000 (Black) + 11111 11111 11111 = $7FFF (White) + +Remember to load the lowest 8 bits first, then the top 7 bits. +*/ +{ + int r, g, b; + unsigned int col; + + sscanf (color, "%x", &col); + + r = (col & 0xff0000) >> 16; + g = (col & 0xff00) >> 8; + b = col & 0xff; + + printf ("0x%02x%02x%02x (html) == ", r, g, b); + + r = (r * 0x1f) / 0xff; + g = (g * 0x1f) / 0xff; + b = (b * 0x1f) / 0xff; + + col = b; + col = col << 5; + col = col + g; + col = col << 5; + col = col + r; + + printf ("0x%02x%02x (snes)\n", col & 0xff, (col & 0x7f00) / 0x100); + + sscanf (color, "%x", &col); + + if (col < 0xff7f + 1) + { + printf ("0x%04x (snes) == ", col & 0xff7f); + + col = ((col & 0x7f) * 0x100) + ((col & 0xff00) / 0x100); + + r = col & 0x1f; + g = (col & (0x1f << 5)) >> 5; + b = (col & (0x1f << 10)) >> 10; + + r = r * 0xff / 0x1f; + g = g * 0xff / 0x1f; + b = b * 0xff / 0x1f; + + printf ("0x%02x%02x%02x (html)\n", r, g, b); + } + fputc ('\n', stdout); + return 0; +} + + +static int +snes_convert_sramfile (int org_header_len, const void *new_header) +{ + FILE *srcfile, *destfile; + char src_name[FILENAME_MAX], dest_name[FILENAME_MAX], buf[32 * 1024]; + unsigned int blocksize, byteswritten, new_header_len; + + strcpy (src_name, ucon64.rom); + if (new_header) + { + new_header_len = SWC_HEADER_LEN; + strcpy (dest_name, ucon64.rom); + set_suffix (dest_name, ".sav"); + } + else // code for Game Doctor SRAM file + { + int n; + + new_header_len = 0; + sprintf (dest_name, "SF8%.3s", basename2 (ucon64.rom)); + strupr (dest_name); + // avoid trouble with filenames containing spaces + for (n = 3; n < 6; n++) // skip "SF" and first digit + if (dest_name[n] == ' ') + dest_name[n] = '_'; + set_suffix (dest_name, ".B00"); + } + ucon64_file_handler (dest_name, src_name, 0); + + if ((srcfile = fopen (src_name, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], src_name); + return -1; + } + if ((destfile = fopen (dest_name, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], dest_name); + return -1; + } + + fseek (srcfile, org_header_len, SEEK_SET); + if (new_header) + { + fwrite (new_header, 1, new_header_len, destfile); // write header + byteswritten = new_header_len; + } + else + byteswritten = 0; + + blocksize = fread (buf, 1, 32 * 1024, srcfile); // read 32 kB at max + while (byteswritten < 32 * 1024 + new_header_len) + { + // Pad SRAM data to 32 kB by repeating it. At least the SWC DX2 does + // something similar. + fwrite (buf, 1, byteswritten + blocksize <= 32 * 1024 + new_header_len ? + blocksize : 32 * 1024 + new_header_len - byteswritten, destfile); + byteswritten += blocksize; + } + + fclose (srcfile); + fclose (destfile); + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + return 0; +} + + +int +snes_swcs (st_rominfo_t *rominfo) +{ + st_swc_header_t header; + + memset (&header, 0, SWC_HEADER_LEN); + header.id1 = 0xaa; + header.id2 = 0xbb; + header.type = 5; // size needn't be set for the SWC + // (SWC itself doesn't set it either) + return snes_convert_sramfile (rominfo->buheader_len, &header); +} + + +int +snes_figs (st_rominfo_t *rominfo) +{ + st_fig_header_t header; + + memset (&header, 0, FIG_HEADER_LEN); + header.size_low = 4; // 32 kB == 4*8 kB, size_high is already 0 + + return snes_convert_sramfile (rominfo->buheader_len, &header); +} + + +int +snes_ufos (st_rominfo_t *rominfo) +{ + unsigned char header[SWC_HEADER_LEN]; + + memset (&header, 0, SWC_HEADER_LEN); + memcpy (&header[8], "SUPERUFO", 8); + + return snes_convert_sramfile (rominfo->buheader_len, &header); +} + + +int +snes_gd3s (st_rominfo_t *rominfo) +{ + return snes_convert_sramfile (rominfo->buheader_len, NULL); +} + + +static void +write_deinterleaved_data (st_rominfo_t *rominfo, const char *src_name, + const char *dest_name, int size, int buheader_len) +{ + unsigned char *buffer; + if (!(buffer = (unsigned char *) malloc (size))) + { + fprintf (stderr, ucon64_msg[ROM_BUFFER_ERROR], size); + exit (1); + } + ucon64_fread (buffer, rominfo->buheader_len, size, src_name); + snes_deinterleave (rominfo, &buffer, size); + ucon64_fwrite (buffer, buheader_len, size, dest_name, buheader_len ? "ab" : "wb"); + free (buffer); +} + + +int +snes_dint (st_rominfo_t *rominfo) +{ + char src_name[FILENAME_MAX], dest_name[FILENAME_MAX]; + int buheader_len = rominfo->buheader_len > (int) SWC_HEADER_LEN ? + (int) SWC_HEADER_LEN : rominfo->buheader_len; + + puts ("Converting to deinterleaved format..."); + + strcpy (src_name, ucon64.rom); + strcpy (dest_name, ucon64.rom); + set_suffix (dest_name, ".tmp"); + ucon64_file_handler (dest_name, src_name, 0); + + if (!rominfo->interleaved) + printf ("WARNING: Deinterleaving a ROM that was not detected as interleaved\n"); + fcopy (src_name, 0, buheader_len, dest_name, "wb"); + write_deinterleaved_data (rominfo, src_name, dest_name, + ucon64.file_size - rominfo->buheader_len, buheader_len); + + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + return 0; +} + + +static int +snes_ffe (st_rominfo_t *rominfo, char *ext) +{ + st_swc_header_t header; + int size = ucon64.file_size - rominfo->buheader_len; + char src_name[FILENAME_MAX], dest_name[FILENAME_MAX]; + + ucon64_fread (&header, 0, rominfo->buheader_len > (int) SWC_HEADER_LEN ? + (int) SWC_HEADER_LEN : rominfo->buheader_len, ucon64.rom); + reset_header (&header); + header.size_low = size / 8192; + header.size_high = size / 8192 >> 8; + + header.emulation = snes_split ? 0x40 : 0; + header.emulation |= snes_hirom ? 0x30 : 0; + // bit 3 & 2 are already ok for 32 kB SRAM size + if (snes_sramsize == 8 * 1024) + header.emulation |= 0x04; + else if (snes_sramsize == 2 * 1024) + header.emulation |= 0x08; + else if (snes_sramsize == 0) + header.emulation |= 0x0c; + + header.id1 = 0xaa; + header.id2 = 0xbb; + header.type = 4; + + set_nsrt_info (rominfo, (unsigned char *) &header); + + strcpy (src_name, ucon64.rom); + strcpy (dest_name, ucon64.rom); + set_suffix (dest_name, ext); + ucon64_file_handler (dest_name, src_name, 0); + + ucon64_fwrite (&header, 0, SWC_HEADER_LEN, dest_name, "wb"); + if (rominfo->interleaved) + write_deinterleaved_data (rominfo, src_name, dest_name, size, SWC_HEADER_LEN); + else + fcopy (src_name, rominfo->buheader_len, size, dest_name, "ab"); + + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + return 0; +} + + +// header format is specified in src/backup/ffe.h +int +snes_smc (st_rominfo_t *rominfo) +{ + if ((bs_dump ? snes_header.bs_map_type : snes_header.map_type) & 0x10) + printf ("NOTE: This game might not work with a Super Magicom because it's a FastROM game\n"); + + return snes_ffe (rominfo, ".smc"); +} + + +// header format is specified in src/backup/ffe.h +int +snes_swc (st_rominfo_t *rominfo) +{ + return snes_ffe (rominfo, ".swc"); +} + + +// header format is specified in src/backup/fig.h +void +snes_set_fig_header (st_rominfo_t *rominfo, st_fig_header_t *header) +{ + int size = ucon64.file_size - rominfo->buheader_len, uses_DSP; + + header->size_low = size / 8192; + header->size_high = size / 8192 >> 8; + header->multi = snes_split ? 0x40 : 0; + header->hirom = snes_hirom ? 0x80 : 0; + + uses_DSP = snes_header.rom_type == 3 || snes_header.rom_type == 5 || + snes_header.rom_type == 0xf6; + + if ((snes_header.rom_type & 0xf0) == 0x10) // uses FX(2) chip + { + header->emulation1 = 0x11; + header->emulation2 = 2; + } + else + { +#if 0 // memset() set all fields to 0 + header->emulation1 = 0; // default value for LoROM dumps + if (snes_sramsize == 32 * 1024) + header->emulation2 = 0; + else +#endif + if (snes_sramsize == 8 * 1024 || snes_sramsize == 2 * 1024) + header->emulation2 = 0x80; + else if (snes_sramsize == 0) + { + header->emulation1 = 0x77; + header->emulation2 = 0x83; + } + + if (snes_hirom) + { + header->emulation2 |= 2; + if (uses_DSP) + header->emulation1 |= 0xf0; + if (snes_sramsize != 0) + header->emulation1 |= 0xdd; + } + else if (uses_DSP) // LoROM + { + header->emulation1 &= 0x0f; + header->emulation1 |= 0x40; // LoROM && SRAM == 0 && DSP => 0x47 + } + } +} + + +int +snes_fig (st_rominfo_t *rominfo) +{ + st_fig_header_t header; + int size = ucon64.file_size - rominfo->buheader_len; + char src_name[FILENAME_MAX], dest_name[FILENAME_MAX]; + + ucon64_fread (&header, 0, rominfo->buheader_len > (int) FIG_HEADER_LEN ? + (int) FIG_HEADER_LEN : rominfo->buheader_len, ucon64.rom); + reset_header (&header); + snes_set_fig_header (rominfo, &header); + set_nsrt_info (rominfo, (unsigned char *) &header); + + strcpy (src_name, ucon64.rom); + strcpy (dest_name, ucon64.rom); + set_suffix (dest_name, ".fig"); + ucon64_file_handler (dest_name, src_name, 0); + + ucon64_fwrite (&header, 0, FIG_HEADER_LEN, dest_name, "wb"); + if (rominfo->interleaved) + write_deinterleaved_data (rominfo, src_name, dest_name, size, FIG_HEADER_LEN); + else + fcopy (src_name, rominfo->buheader_len, size, dest_name, "ab"); + + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + return 0; +} + + +// see src/backup/mgd.h for the file naming scheme +int +snes_mgd (st_rominfo_t *rominfo) +{ + char src_name[FILENAME_MAX], dest_name[FILENAME_MAX]; + int size = ucon64.file_size - rominfo->buheader_len; + + if (snes_hirom) + printf ("NOTE: This game might not work with a MGD because it's a HiROM game\n"); + + strcpy (src_name, ucon64.rom); + mgd_make_name (ucon64.rom, UCON64_SNES, size, dest_name); + ucon64_file_handler (dest_name, src_name, OF_FORCE_BASENAME); + + if (rominfo->interleaved) + write_deinterleaved_data (rominfo, src_name, dest_name, size, 0); + else + fcopy (src_name, rominfo->buheader_len, ucon64.file_size, dest_name, "wb"); + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + + mgd_write_index_file ((char *) basename2 (dest_name), 1); + + return 0; +} + + +void +snes_int_blocks (const unsigned char *deintptr, unsigned char *ipl, + unsigned char *iph, int nblocks) +{ + int i; + + // interleave 64 K blocks + for (i = nblocks; i > 0; i--) + { + memmove (ipl, deintptr, 0x8000); + memmove (iph, deintptr + 0x8000, 0x8000); + deintptr += 0x10000; + ipl += 0x8000; + iph += 0x8000; + } +} + + +void +snes_mirror (unsigned char *dstbuf, unsigned int start, unsigned int data_end, + unsigned int mirror_end) +{ + int datasize, totsize, nchunks, surplus; + + datasize = data_end - start; + totsize = mirror_end - start; + + if (datasize >= totsize) + return; + + nchunks = totsize / datasize - 1; + surplus = totsize % datasize; + while (nchunks-- > 0) + { + memcpy (dstbuf + data_end, dstbuf + start, datasize); + data_end += datasize; + } + if (surplus > 0) + memmove (dstbuf + data_end, dstbuf + start, mirror_end - data_end); +} + + +static void +make_gd_name (const char *filename, st_rominfo_t *rominfo, char *name, + unsigned char *buffer, int newsize) +{ + char dest_name[FILENAME_MAX], *p, id_str[3]; + int n, size = ucon64.file_size - rominfo->buheader_len; + + strcpy (dest_name, filename); + + if (UCON64_ISSET (ucon64.id)) + { + /* + We include the underscore so that we can encode a base 37 number (10 + digits + 26 characters in alphabet + underscore = 37). The ID is 3 + characters long which makes it possible to have 37^3 = 50653 different + IDs. If we wouldn't include the underscore we would have 46656 + different IDs. + We can't use the SNES checksum because several ROM dumps have the same + checksum (not only PD files!). Nor can we use the internal SNES + checksum, because several beta ROM dumps have an internal checksum of + 0 or 0xffff. + */ + unsigned int local_buffer = !buffer, d2, d1, d0, id = 0; + + if (local_buffer) + { + if (!(buffer = (unsigned char *) malloc (size))) + { + fprintf (stderr, ucon64_msg[ROM_BUFFER_ERROR], size); + exit (1); + } + ucon64_fread (buffer, ucon64.rominfo->buheader_len, size, dest_name); + if (rominfo->interleaved) + snes_deinterleave (rominfo, &buffer, size); + } + + for (n = 0; n < size; n++) + id += buffer[n] ^ (n & 0xff); + id %= 37 * 37 * 37; // ensure value can be encoded with 3 base 37 digits + + if (local_buffer) + free (buffer); + + d2 = id / (37 * 37); + d1 = (id % (37 * 37)) / 37; + d0 = id % 37; + id_str[0] = d2 == 36 ? '_' : (d2 <= 9 ? d2 + '0' : d2 + 'A' - 10); + id_str[1] = d1 == 36 ? '_' : (d1 <= 9 ? d1 + '0' : d1 + 'A' - 10); + id_str[2] = d0 == 36 ? '_' : (d0 <= 9 ? d0 + '0' : d0 + 'A' - 10); + + p = id_str; + } + else + p = (char *) basename2 (dest_name); + + sprintf (name, "sf%d%s", newsize / MBIT, p); + if (newsize < 10 * MBIT) + { + if (!strnicmp (name, p, 3)) + strcpy (name, p); + } + else + { + if (!strnicmp (name, p, 4)) + strcpy (name, p); + } + + if ((p = strrchr (name, '.'))) + *p = 0; + strcat (name, "___"); + if (newsize < 10 * MBIT) + name[6] = 0; + else + name[7] = 0; + // avoid trouble with filenames containing spaces + for (n = 3; n < 7; n++) // skip "sf" and first digit + if (name[n] == ' ') + name[n] = '_'; +} + + +int +snes_gd3 (st_rominfo_t *rominfo) +{ + char header[GD_HEADER_LEN], src_name[FILENAME_MAX], dest_name[FILENAME_MAX]; + unsigned char *srcbuf, *dstbuf; + int n, n4Mbparts, surplus4Mb, total4Mbparts, size, newsize, pad, + half_size_4Mb, half_size_1Mb; + + size = ucon64.file_size - rominfo->buheader_len; + n4Mbparts = size / (4 * MBIT); + surplus4Mb = size % (4 * MBIT); + total4Mbparts = n4Mbparts + (surplus4Mb > 0 ? 1 : 0); + + strcpy (src_name, ucon64.rom); + if (!(srcbuf = (unsigned char *) malloc (size))) + { + fprintf (stderr, ucon64_msg[ROM_BUFFER_ERROR], size); + exit (1); + } + ucon64_fread (srcbuf, rominfo->buheader_len, size, ucon64.rom); + if (rominfo->interleaved) + snes_deinterleave (rominfo, &srcbuf, size); + + if (snes_hirom) + { + if (!((size >= 2 * MBIT && total4Mbparts <= 8) || + total4Mbparts == 10 || total4Mbparts == 12)) + { + fprintf (stderr, "ERROR: ROM size is %d Mbit -- conversion not yet implemented/verified\n", + size / MBIT); + return -1; + } + else if (total4Mbparts > 8 && snes_header_base != SNES_EROM) + { + fprintf (stderr, "ERROR: Normal ROM > 32 Mbit -- conversion not yet implemented\n"); + return -1; + } + + if (total4Mbparts == 5) + total4Mbparts = 6; // 20 Mbit HiROMs get padded to 24 Mbit + else if (total4Mbparts == 7) + total4Mbparts = 8; // 28 Mbit HiROMs get padded to 32 Mbit +#ifdef PAD_40MBIT_GD3_DUMPS // (a 28 Mbit ROM needs 40 Mbit of GD DRAM) + else if (total4Mbparts == 10) + { + total4Mbparts = 12; // 40 Mbit HiROMs get padded to 48 Mbit + printf ("NOTE: Paddding to 48 Mbit\n"); + } +#endif + + // create the header + ucon64_fread (header, 0, rominfo->buheader_len > GD_HEADER_LEN ? + GD_HEADER_LEN : rominfo->buheader_len, ucon64.rom); + reset_header (header); + memcpy (header, "GAME DOCTOR SF 3", 0x10); + + if (snes_sramsize == 8 * 1024) + header[0x10] = (unsigned char) 0x81; // 64 kb + else if (snes_sramsize == 2 * 1024) + header[0x10] = (unsigned char) 0x82; // 16 kb + else + header[0x10] = (unsigned char) 0x80; // 0 kb or 256 kb + + if (total4Mbparts <= 2) + memcpy (&header[0x11], gd3_hirom_8mb_map, GD3_HEADER_MAPSIZE); + else if (total4Mbparts <= 4) + memcpy (&header[0x11], gd3_hirom_16mb_map, GD3_HEADER_MAPSIZE); + else if (total4Mbparts <= 6) + memcpy (&header[0x11], gd3_hirom_24mb_map, GD3_HEADER_MAPSIZE); + else if (total4Mbparts <= 8) + memcpy (&header[0x11], gd3_hirom_32mb_map, GD3_HEADER_MAPSIZE); + else if (total4Mbparts <= 10) + memcpy (&header[0x11], gd3_hirom_40mb_map, GD3_HEADER_MAPSIZE); + else + memcpy (&header[0x11], gd3_hirom_48mb_map, GD3_HEADER_MAPSIZE); + + if (snes_sramsize != 0) + { + if (snes_header_base == SNES_EROM) + { + header[0x29] = 0x00; + header[0x2a] = 0x0f; + } + else + { + header[0x29] = 0x0c; + header[0x2a] = 0x0c; + } + } + // Adjust sram map for exceptions - a couple of 10-12 Mb HiROM games + // (Liberty or Death, Brandish). May not be necessary + + // interleave the image + if (n4Mbparts) + newsize = 4 * total4Mbparts * MBIT; + else + newsize = ((size + MBIT - 1) / MBIT) * MBIT; + + // special pad code should only be executed for 10, 20 and if + // PAD_40MBIT_GD3_DUMPS is defined, 40 Mbit ROMs + if (total4Mbparts == 3 || total4Mbparts == 6 || total4Mbparts == 12) + pad = (newsize - size) / 2; + else + pad = 0; + + if (!(dstbuf = (unsigned char *) malloc (newsize))) + { + fprintf (stderr, ucon64_msg[ROM_BUFFER_ERROR], newsize); + exit (1); + } + if (newsize > size) + { + if (!(srcbuf = (unsigned char *) realloc (srcbuf, newsize))) + { + fprintf (stderr, ucon64_msg[ROM_BUFFER_ERROR], newsize); + exit (1); + } + memset (srcbuf + size, 0, newsize - size); + memset (dstbuf + size, 0, newsize - size); + } + + if (snes_header_base == SNES_EROM) + { + int size2 = newsize - 32 * MBIT; // size of second ROM (16 Mbit if ToP) + // interleave the 32 Mbit ROM + snes_int_blocks (srcbuf, dstbuf + size2 + 16 * MBIT, dstbuf + size2, + 32 * MBIT / 0x10000); + // interleave the second ROM + snes_int_blocks (srcbuf + 32 * MBIT, dstbuf + size2 / 2, dstbuf, + size2 / 0x10000); + if (pad > 0) + { + snes_mirror (dstbuf, 0, 4 * MBIT, 8 * MBIT); + snes_mirror (dstbuf, 8 * MBIT, 12 * MBIT, 16 * MBIT); + } + } + else if (total4Mbparts == 6) + { + snes_int_blocks (srcbuf, dstbuf + 16 * MBIT, dstbuf, 16 * MBIT / 0x10000); + snes_int_blocks (srcbuf + 16 * MBIT, dstbuf + 12 * MBIT, + dstbuf + 8 * MBIT, (size - 16 * MBIT) / 0x10000); + if (pad > 0) + { + snes_mirror (dstbuf, 8 * MBIT, 10 * MBIT, 12 * MBIT); + snes_mirror (dstbuf, 12 * MBIT, 14 * MBIT, 16 * MBIT); + } + } + else + { + n = newsize / 2; + snes_int_blocks (srcbuf, dstbuf + n, dstbuf, newsize / 0x10000); + if (pad > 0) + { + half_size_4Mb = (size / 2) & ~(4 * MBIT - 1); + half_size_1Mb = (size / 2 + MBIT - 1) & ~(MBIT - 1); + snes_mirror (dstbuf, half_size_4Mb, half_size_1Mb, n); + snes_mirror (dstbuf, n + half_size_4Mb, n + half_size_1Mb, newsize); + } + } + } + else + { + if (total4Mbparts > 8) + { + fprintf (stderr, "ERROR: This ROM > 32 Mbit LoROM -- can't convert\n"); + return -1; + } + + ucon64_fread (header, 0, rominfo->buheader_len > GD_HEADER_LEN ? + GD_HEADER_LEN : rominfo->buheader_len, ucon64.rom); + reset_header (header); + memcpy (header, "GAME DOCTOR SF 3", 0x10); + + if (snes_sramsize == 8 * 1024) + header[0x10] = (unsigned char) 0x81; // 64 kb + else if (snes_sramsize == 2 * 1024) + header[0x10] = (unsigned char) 0x82; // 16 kb + else + header[0x10] = (unsigned char) 0x80; // 0 kb or 256 kb + + if (total4Mbparts <= 1) + memcpy (&header[0x11], gd3_lorom_4mb_map, GD3_HEADER_MAPSIZE); + else if (total4Mbparts <= 2) + memcpy (&header[0x11], gd3_lorom_8mb_map, GD3_HEADER_MAPSIZE); + else if (total4Mbparts <= 4) + memcpy (&header[0x11], gd3_lorom_16mb_map, GD3_HEADER_MAPSIZE); + else + memcpy (&header[0x11], gd3_lorom_32mb_map, GD3_HEADER_MAPSIZE); + + if (snes_sramsize != 0) + { + header[0x24] = 0x40; + header[0x28] = 0x40; + } + + dstbuf = srcbuf; + newsize = size; + } + + set_nsrt_info (rominfo, (unsigned char *) &header); + + make_gd_name (ucon64.rom, rominfo, dest_name, srcbuf, newsize); + // here we could also use NULL as second argument for + // ucon64_file_handler(), because we've already loaded the data + ucon64_file_handler (dest_name, src_name, OF_FORCE_BASENAME); + ucon64_fwrite (header, 0, GD_HEADER_LEN, dest_name, "wb"); + ucon64_fwrite (dstbuf, GD_HEADER_LEN, newsize, dest_name, "ab"); + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + + free (srcbuf); + if (snes_hirom) + free (dstbuf); + + return 0; +} + + +// header format is specified in src/backup/ufo.h +int +snes_ufo (st_rominfo_t *rominfo) +{ + st_ufo_header_t header; + int size = ucon64.file_size - rominfo->buheader_len; + char src_name[FILENAME_MAX], dest_name[FILENAME_MAX]; + + ucon64_fread (&header, 0, rominfo->buheader_len > (int) UFO_HEADER_LEN ? + (int) UFO_HEADER_LEN : rominfo->buheader_len, ucon64.rom); + reset_header (&header); + header.multi = snes_split ? 0x40 : 0; // TODO + memcpy (header.id, "SUPERUFO", 8); + header.isrom = 1; + header.banktype = snes_hirom ? 0 : 1; + + if (snes_sramsize > 32 * 1024) + header.sram_size = 8; + else if (snes_sramsize > 8 * 1024) // 64 kb < size <= 256 kb + header.sram_size = 3; + else if (snes_sramsize > 2 * 1024) // 16 kb < size <= 64 kb + header.sram_size = 2; + else if (snes_sramsize > 0) // 1 - 16 kb + header.sram_size = 1; + // header.sram_size is already ok for snes_sramsize == 0 + + header.sram_type = snes_hirom ? 0 : 3; + + set_nsrt_info (rominfo, (unsigned char *) &header); + + strcpy (src_name, ucon64.rom); + strcpy (dest_name, ucon64.rom); + set_suffix (dest_name, ".ufo"); + ucon64_file_handler (dest_name, src_name, 0); + + if (snes_hirom) + { + unsigned char *srcbuf, *dstbuf; + int half_size_4Mb, half_size_1Mb, + newsize = size >= 10 * MBIT && size <= 12 * MBIT ? + 12 * MBIT : ((size + MBIT - 1) & ~(MBIT - 1)), + half_newsize = newsize / 2, pad = (newsize - size) / 2; + + header.size_low = newsize / 8192; + header.size_high = newsize / 8192 >> 8; + header.size = newsize / MBIT; + + if (snes_sramsize != 0) + header.sram_a20_a21 = 0x0c; // try 3 if game gives protection message + header.sram_a22_a23 = 2; + // Tales of Phantasia (J) & Dai Kaiju Monogatari 2 (J) [14-17]: 0 0x0e 0 0 + + if (!(srcbuf = (unsigned char *) malloc (size))) + { + fprintf (stderr, ucon64_msg[ROM_BUFFER_ERROR], size); + exit (1); + } + if (!(dstbuf = (unsigned char *) malloc (newsize))) + { + fprintf (stderr, ucon64_msg[ROM_BUFFER_ERROR], newsize); + exit (1); + } + + ucon64_fread (srcbuf, rominfo->buheader_len, size, src_name); + if (rominfo->interleaved) + snes_deinterleave (rominfo, &srcbuf, size); + if (newsize > size) + memset (dstbuf + size, 0, newsize - size); + + snes_int_blocks (srcbuf, dstbuf + half_newsize, dstbuf, size / 0x10000); + if (pad > 0) + { + half_size_4Mb = (size / 2) & ~(4 * MBIT - 1); + half_size_1Mb = (size / 2 + MBIT - 1) & ~(MBIT - 1); + snes_mirror (dstbuf, half_size_4Mb, half_size_1Mb, half_newsize); + snes_mirror (dstbuf, half_newsize + half_size_4Mb, + half_newsize + half_size_1Mb, newsize); + } + + ucon64_fwrite (&header, 0, UFO_HEADER_LEN, dest_name, "wb"); + ucon64_fwrite (dstbuf, UFO_HEADER_LEN, newsize, dest_name, "ab"); + + free (srcbuf); + free (dstbuf); + } + else // LoROM + { + header.size_low = size / 8192; + header.size_high = size / 8192 >> 8; + header.size = size / MBIT; + + if (snes_sramsize == 0) + { + // check if the game uses a DSP chip + if (snes_header.rom_type == 3 || snes_header.rom_type == 5 || + snes_header.rom_type == 0xf6) + { + header.sram_a15 = 1; + header.sram_a20_a21 = 0x0c; + } + else // no SRAM & doesn't use a DSP chip + { + header.sram_a22_a23 = 2; + header.sram_type = 0; + } + } + else // cartridge contains SRAM + { + header.sram_a15 = 2; // try 1 if game gives protection error + header.sram_a20_a21 = 0x0f; + header.sram_a22_a23 = 3; + } + + ucon64_fwrite (&header, 0, UFO_HEADER_LEN, dest_name, "wb"); + if (rominfo->interleaved) + write_deinterleaved_data (rominfo, src_name, dest_name, size, UFO_HEADER_LEN); + else + fcopy (src_name, rominfo->buheader_len, size, dest_name, "ab"); + } + + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + return 0; +} + + +int +snes_make_gd_names (const char *filename, st_rominfo_t *rominfo, char **names) +{ + char dest_name[FILENAME_MAX]; + int nparts, surplus, n, n_names = 0, size = ucon64.file_size - rominfo->buheader_len; + + // Don't use PARTSIZE here, because the Game Doctor doesn't support + // arbitrary part sizes + nparts = size / (8 * MBIT); + surplus = size % (8 * MBIT); + + make_gd_name (filename, rominfo, dest_name, NULL, size); + strupr (dest_name); + dest_name[7] = 'A'; + dest_name[8] = 0; + // avoid trouble with filenames containing spaces + for (n = 3; n < 7; n++) // skip "SF" and first digit + if (dest_name[n] == ' ') + dest_name[n] = '_'; + + if (snes_hirom && size <= 16 * MBIT) + { + // 8 Mbit or less HiROMs, X is used to pad filename to 8 (SF4###XA) + if (size < 10 * MBIT) + dest_name[8 - 2] = 'X'; + strcpy (names[n_names++], dest_name); + + dest_name[8 - 1]++; + strcpy (names[n_names++], dest_name); + } + else + { + for (n = 0; n < nparts; n++) + { + strcpy (names[n_names++], dest_name); + dest_name[8 - 1]++; + } + if (surplus != 0) + strcpy (names[n_names++], dest_name); + } + if (n_names == 1) + names[0][7] = 0; // 'A' causes trouble for 1-part split files + return n_names; +} + + +static void +snes_split_gd3 (st_rominfo_t *rominfo, int size) +{ + char dest_name[FILENAME_MAX], *names[GD3_MAX_UNITS], + names_mem[GD3_MAX_UNITS][9]; + int nparts, surplus, n, half_size, name_i = 0; + + // Don't use part_size here, because the Game Doctor doesn't support + // arbitrary part sizes + nparts = size / (8 * MBIT); + surplus = size % (8 * MBIT); + + // We don't want to malloc() ridiculously small chunks (of 9 bytes) + for (n = 0; n < GD3_MAX_UNITS; n++) + names[n] = names_mem[n]; + snes_make_gd_names (ucon64.rom, rominfo, (char **) names); + + if (snes_hirom && size <= 16 * MBIT) + { + half_size = size / 2; + + sprintf (dest_name, "%s.078", names[name_i++]); + ucon64_output_fname (dest_name, OF_FORCE_BASENAME); + // don't write backups of parts, because one name is used + fcopy (ucon64.rom, 0, half_size + rominfo->buheader_len, dest_name, "wb"); + printf (ucon64_msg[WROTE], dest_name); + + sprintf (dest_name, "%s.078", names[name_i++]); + ucon64_output_fname (dest_name, OF_FORCE_BASENAME); + fcopy (ucon64.rom, half_size + rominfo->buheader_len, size - half_size, dest_name, "wb"); + printf (ucon64_msg[WROTE], dest_name); + } + else + { + for (n = 0; n < nparts; n++) + { + // don't write backups of parts, because one name is used + sprintf (dest_name, "%s.078", names[name_i++]); + ucon64_output_fname (dest_name, OF_FORCE_BASENAME); + fcopy (ucon64.rom, n * 8 * MBIT + (n ? rominfo->buheader_len : 0), + 8 * MBIT + (n ? 0 : rominfo->buheader_len), dest_name, "wb"); + printf (ucon64_msg[WROTE], dest_name); + } + + if (surplus != 0) + { + // don't write backups of parts, because one name is used + sprintf (dest_name, "%s.078", names[name_i++]); + ucon64_output_fname (dest_name, OF_FORCE_BASENAME); + fcopy (ucon64.rom, n * 8 * MBIT + (n ? rominfo->buheader_len : 0), + surplus + (n ? 0 : rominfo->buheader_len), dest_name, "wb"); + printf (ucon64_msg[WROTE], dest_name); + } + } + + // An index file is not used by the GD, but by the MGD. We don't have a + // special function for splitting MGD files, so we do it here. + if (!rominfo->buheader_len) + mgd_write_index_file (names, name_i); +} + + +static void +snes_split_ufo (st_rominfo_t *rominfo, int size, int part_size) +{ + char header[512], dest_name[FILENAME_MAX], *p; + int nparts, surplus, n, nbytesdone; + + if (snes_hirom) + { + if (size > 32 * MBIT) + { + fprintf (stderr, "ERROR: HiROM > 32 Mbit -- conversion not yet implemented\n"); + return; + } + if (UCON64_ISSET (ucon64.part_size)) + printf ("WARNING: Splitting Super UFO HiROM, ignoring switch "OPTION_LONG_S"ssize\n"); + } + + strcpy (dest_name, ucon64.rom); + set_suffix (dest_name, ".1gm"); + ucon64_output_fname (dest_name, 0); + p = strrchr (dest_name, '.') + 1; + + ucon64_fread (header, 0, UFO_HEADER_LEN, ucon64.rom); + + if (snes_hirom) + { + typedef struct + { + unsigned char value; + unsigned char size; + unsigned char list[8]; + } st_value_list_t; + + st_value_list_t size_to_partsizes[5] = + { + { 2, 2, {1, 1} }, + { 4, 2, {2, 2} }, + { 12, 4, {4, 2, 4, 2} }, // 10 Mbit files are padded by snes_ufo() + { 20, 6, {4, 4, 2, 4, 4, 2} }, + { 32, 8, {4, 4, 4, 4, 4, 4, 4, 4} } + }, *size_to_partsizes_ptr = NULL; + st_value_list_t size_to_flags[8] = + { + { 2, 2, {0x10, 0} }, + { 4, 2, {0x10, 0} }, + { 8, 2, {0x10, 0} }, + { 12, 4, {0x40, 0x10, 0x10, 0} }, + { 16, 4, {0x40, 0x10, 0x10, 0} }, + { 20, 6, {0x40, 0x40, 0x10, 0x10, 0x10, 0} }, + { 24, 6, {0x40, 0x40, 0x10, 0x10, 0x10, 0} }, + { 32, 8, {0x40, 0x40, 0x40, 0x10, 0x10, 0x10, 0x10, 0} } + }, *size_to_flags_ptr = NULL; + int x = size / MBIT; + + nparts = 0; + surplus = 0; + for (n = 0; n < 4; n++) + if (size_to_partsizes[n].value == x) + { + size_to_partsizes_ptr = &size_to_partsizes[n]; + nparts = size_to_partsizes[n].size; + surplus = 0; + } + if (!size_to_partsizes_ptr) // size was not found + { + size_to_partsizes_ptr = &size_to_partsizes[4]; + nparts = size / (4 * MBIT); + surplus = size % (4 * MBIT); + } + + for (n = 0; n < 7; n++) + if (size_to_flags[n].value == x) + size_to_flags_ptr = &size_to_flags[n]; + if (!size_to_flags_ptr) + size_to_flags_ptr = &size_to_flags[7]; + + nbytesdone = rominfo->buheader_len; + for (n = 0; n < nparts; n++) + { + part_size = size_to_partsizes_ptr->list[n] * MBIT; + header[0] = part_size / 8192; + header[1] = part_size / 8192 >> 8; + header[2] = size_to_flags_ptr->list[n]; + + if (surplus == 0 && n == nparts - 1) + header[2] = 0; // last file -> clear bit 6 + + ucon64_fwrite (&header, 0, SWC_HEADER_LEN, dest_name, "wb"); + fcopy (ucon64.rom, nbytesdone, part_size, dest_name, "ab"); + printf (ucon64_msg[WROTE], dest_name); + + nbytesdone += part_size; + (*p)++; + } + } + else + { + nparts = size / part_size; + surplus = size % part_size; + + header[0] = part_size / 8192; + header[1] = part_size / 8192 >> 8; + header[2] |= 0x40; + + nbytesdone = rominfo->buheader_len; + for (n = 0; n < nparts; n++) + { + if (surplus == 0 && n == nparts - 1) + header[2] = 0; // last file -> clear bit 6 + + ucon64_fwrite (&header, 0, SWC_HEADER_LEN, dest_name, "wb"); + fcopy (ucon64.rom, nbytesdone, part_size, dest_name, "ab"); + printf (ucon64_msg[WROTE], dest_name); + + nbytesdone += part_size; + (*p)++; + } + } + + if (surplus != 0) + { + header[0] = surplus / 8192; + header[1] = surplus / 8192 >> 8; + header[2] = 0; // last file -> clear bit 6 + + ucon64_fwrite (&header, 0, SWC_HEADER_LEN, dest_name, "wb"); + fcopy (ucon64.rom, nbytesdone, surplus, dest_name, "ab"); + printf (ucon64_msg[WROTE], dest_name); + } +} + + +static void +snes_split_smc (st_rominfo_t *rominfo, int size, int part_size) +// this function splits both SWC and FIG files +{ + char header[512], dest_name[FILENAME_MAX], *p; + int nparts, surplus, n; + + nparts = size / part_size; + surplus = size % part_size; + + strcpy (dest_name, ucon64.rom); + set_suffix (dest_name, ".1"); + ucon64_output_fname (dest_name, 0); + p = strrchr (dest_name, '.') + 1; + + ucon64_fread (header, 0, SWC_HEADER_LEN, ucon64.rom); + header[0] = part_size / 8192; + header[1] = part_size / 8192 >> 8; + // if header[2], bit 6 == 0 -> SWC/FIG knows this is the last file of the ROM + header[2] |= 0x40; + + for (n = 0; n < nparts; n++) + { + if (surplus == 0 && n == nparts - 1) + header[2] &= ~0x40; // last file -> clear bit 6 + + // don't write backups of parts, because one name is used + ucon64_fwrite (header, 0, SWC_HEADER_LEN, dest_name, "wb"); + fcopy (ucon64.rom, n * part_size + rominfo->buheader_len, part_size, dest_name, "ab"); + printf (ucon64_msg[WROTE], dest_name); + + (*p)++; + } + + if (surplus != 0) + { + header[0] = surplus / 8192; + header[1] = surplus / 8192 >> 8; + header[2] &= ~0x40; // last file -> clear bit 6 + + // don't write backups of parts, because one name is used + ucon64_fwrite (header, 0, SWC_HEADER_LEN, dest_name, "wb"); + fcopy (ucon64.rom, n * part_size + rominfo->buheader_len, surplus, dest_name, "ab"); + printf (ucon64_msg[WROTE], dest_name); + } +} + + +#define PARTSIZE (8 * MBIT) // default split part size +int +snes_s (st_rominfo_t *rominfo) +{ + int size = ucon64.file_size - rominfo->buheader_len, part_size; + + if (UCON64_ISSET (ucon64.part_size) && !(type == GD3 || type == UFO)) + { + part_size = ucon64.part_size; + /* + Don't allow too small part sizes, because then the files that come + after the file with suffix ".9" will get filenames that can't be stored + on a FAT filesystem (filesystem that SWC requires to be on diskette). + For example the first file after the file with suffix ".9" will get + suffix ".:". The SWC does ask for that filename though. + Also don't base the minimum part size on the actual file size, because + that will probably only confuse users. + We ignore the few ROMs that are greater than 32 MBit. Just use -ssize + to specify a larger part size for those. + */ + if (part_size < 4 * MBIT) + { + fprintf (stderr, + "ERROR: Split part size must be larger than or equal to 4 Mbit\n"); + return -1; + } + } + else + part_size = PARTSIZE; + + if (type == GD3) + // part_size is ignored for Game Doctor + { + if (size < 4 * MBIT && size != 2 * MBIT) + { // "&& size != 2 * MBIT" is a fix for BS Chrono Trigger - Jet Bike Special (J) + printf ("NOTE: ROM size is smaller than 4 Mbit -- won't be split\n"); + return -1; + } + } + else if (type == UFO && snes_hirom) + { + if (size < 2 * MBIT) + { + printf ("NOTE: ROM size is smaller than 2 Mbit -- won't be split\n"); + return -1; + } + } + else if (size <= part_size) + { + printf ("NOTE: ROM size is smaller than or equal to %d Mbit -- won't be split\n", + part_size / MBIT); + return -1; + } + + if (!rominfo->buheader_len || type == GD3) // GD3 format + { + if (UCON64_ISSET (ucon64.part_size)) + printf ("WARNING: ROM will be split as Game Doctor SF3 ROM, ignoring switch "OPTION_LONG_S"ssize\n"); + snes_split_gd3 (rominfo, size); + } + else if (type == UFO) + snes_split_ufo (rominfo, size, part_size); + else + snes_split_smc (rominfo, size, part_size); + + return 0; +} + + +int +snes_j (st_rominfo_t *rominfo) +{ + char src_name[FILENAME_MAX], dest_name[FILENAME_MAX], *p = NULL; + int block_size, total_size = 0, header_len = rominfo->buheader_len; + + strcpy (src_name, ucon64.rom); + strcpy (dest_name, ucon64.rom); + set_suffix (dest_name, ".tmp"); + + ucon64_file_handler (dest_name, NULL, 0); + fcopy (src_name, 0, rominfo->buheader_len, dest_name, "wb"); // copy header (if any) + + p = strrchr (src_name, '.'); + if (p == NULL) // filename doesn't contain a period + p = src_name + strlen (src_name) - 1; + else + (type == GD3 || type == MGD_SNES) ? p-- : p++; + + // Split GD3 files don't have a header _except_ the first one + block_size = fsizeof (src_name) - header_len; + while (fcopy (src_name, header_len, block_size, dest_name, "ab") != -1) + { + printf ("Joined: %s\n", src_name); + total_size += block_size; + (*p)++; + + if (type == GD3) + header_len = 0; + block_size = fsizeof (src_name) - header_len; + } + + if (rominfo->buheader_len && type != GD3) + { // fix header + ucon64_fputc (dest_name, 0, total_size / 8192, "r+b"); // # 8K blocks low byte + ucon64_fputc (dest_name, 1, total_size / 8192 >> 8, "r+b"); // # 8K blocks high byte + ucon64_fputc (dest_name, 2, ucon64_fgetc (dest_name, 2) & ~0x40, "r+b"); // last file -> clear bit 6 + } + + printf (ucon64_msg[WROTE], dest_name); + return 0; +} + + +int +snes_k (st_rominfo_t *rominfo) +/* +See the document "src/backup/SWC-compatibility.txt". +Don't touch this code if you don't know what you're doing! + +Some SNES games check to see how much SRAM is connected to the SNES as a form +of copy protection. As most copiers have 256 kbits standard, the game will +know it's running on a backup unit and stop to prevent people copying the +games. However, newer copiers like the SWC DX2 get around this detection by +limiting the SRAM size for the game to the size specified in the backup unit +header. + +(original uCON) + 8f/9f XX YY 70 cf/df XX YY 70 d0 +=> 8f/9f XX YY 70 cf/df XX YY 70 ea ea if snes_sramsize == 64 kbits +=> 8f/9f XX YY 70 cf/df XX YY 70 80 + + sta $70YYXX/sta $70YYXX,x; cmp $70YYXX/cmp $70YYXX,x; bne + +TODO: The following three codes should be verified for many games. For example, +the first code replaces D0 (bne) with 80 (bra), but for some games (like Donkey +Kong Country (U|E)) it should do the opposite, i.e., writing EA EA (nop nop). + 8f/9f XX YY 30/31/32/33 cf/df XX YY 30/31/32/33 d0 +=> 8f/9f XX YY 30/31/32/33 cf/df XX YY 30/31/32/33 80 + + 8f/9f XX YY 30/31/32/33 cf/df XX YY 30/31/32/33 f0 beq +=> 8f/9f XX YY 30/31/32/33 cf/df XX YY 30/31/32/33 ea ea nop; nop + + 8f/9f XX YY 30/31/32/33 af XX YY 30/31/32/33 c9 XX YY d0 bne +=> 8f/9f XX YY 30/31/32/33 af XX YY 30/31/32/33 c9 XX YY 80 bra + +(uCON64) +- Mega Man X + 8f/9f XX YY 70 cf/df XX YY 70 f0 +=> 8f/9f XX YY 70 cf/df XX YY 70 ea ea +The code above could be combined with the first original uCON code. However, we +don't want to copy (or remove) the SRAM size determined behaviour, without +knowing when that is necessary. + +- Mega Man X + af/bf XX 80 00 cf/df XX 80 40 f0 +=> af/bf XX 80 00 cf/df XX 80 40 80 + + lda $0080XX/lda $0080XX,x; cmp $408000/cmp $408000,x; beq ... + +- Demon's Crest (af, 80, cf) / Breath of Fire II (bf, c0, df) + af/bf XX ff 80/c0 cf/df XX ff 40 f0 +=> af/bf XX ff 80/c0 cf/df XX ff 40 80 + +- Breath of Fire II (bf, 30, df, 31) + af/bf XX YY 30/31/32/33 cf/df XX YY 30/31/32/33 f0 +=> af/bf XX YY 30/31/32/33 cf/df XX YY 30/31/32/33 80 + +- Super Metroid + a9 00 00 a2 fe 1f df 00 00 70 d0 lda #$0000; ldx #$1ffe; cmp $700000,x; bne ... +=> a9 00 00 a2 fe 1f df 00 00 70 ea ea lda #$0000; ldx #$1ffe; cmp $700000,x; nop; nop + +- Tetris Attack +(generic) + 8f XX YY 70 af XX YY 70 c9 XX YY d0 +=> 8f XX YY 70 af XX YY 70 c9 XX YY 80 +(game specific) + c2 30 ad fc 1f c9 50 44 d0 +=> c2 30 4c d1 80 c9 50 44 d0 + +- Uniracers/Unirally + 8f XX YY 77 e2 XX af XX YY 77 c9 XX f0 +=> 8f XX YY 77 e2 XX af XX YY 77 c9 XX 80 + +- Mario no Super Picross + 8f/af XX YY b0 cf XX YY b1 d0 +=> 8f/af XX YY b0 cf XX YY b1 ea ea + +- most probably only Killer Instinct + 5c 7f d0 83 18 fb 78 c2 30 jmp $83d07f; clc; xce; sei; rep #$30 +=> ea ea ea ea ea ea ea ea ea nop; nop; nop; nop; nop; nop; nop; nop; nop + +- most probably only Donkey Kong Country (8f, 30, cf, 30) +Note that this code must be searched for before the less specific uCON code. + 8f/9f 57/59 60/68 30/31/32/33 cf/df 57/59 60 30/31/32/33 d0 +=> 8f/9f 57/59 60/68 30/31/32/33 cf/df 57/59 60 30/31/32/33 ea ea + +- most probably only Diddy's Kong Quest + 26 38 e9 48 12 c9 af 71 f0 +=> 26 38 e9 48 12 c9 af 71 80 + +- most probably only Diddy's Kong Quest + a0 5c 2f 77 32 e9 c7 04 f0 +=> a0 5c 2f 77 32 e9 c7 04 80 + +- most probably only Diddy's Kong Quest + 'K' 'O' 'N' 'G' 00 f8 f7 +=> 'K' 'O' 'N' 'G' 00 f8 f8 +TODO: make sense of Diddy's Kong Quest codes + +- most probably only BS The Legend of Zelda Remix + 22 08 5c 10 b0 28 jsl $105c08; bcs ... +=> ea ea ea ea ea ea nop; nop; nop; nop; nop; nop + +- most probably only BS The Legend of Zelda Remix (enables music) + da e2 30 c9 01 f0 18 c9 02 +=> da e2 30 c9 09 f0 18 c9 07 + +- most probably only BS The Legend of Zelda Remix (enables music) + 29 ff 00 c9 07 00 90 16 +=> 29 ff 00 c9 00 00 90 16 + +- most probably only Kirby's Dream Course + ca 10 f8 38 ef 1a 80 81 8d +=> ca 10 f8 38 ef 1a 80 81 9c + +- most probably only Kirby's Dream Course + 81 ca 10 f8 cf 39 80 87 f0 +=> 81 ca 10 f8 cf 39 80 87 80 + +- probably only Earthbound + 84 26 ad 39 b5 d0 1a +=> 84 26 ad 39 b5 ea ea +I don't know what this does, but it isn't necessary to start the game. + +- probably only Earthbound + 10 f8 38 ef ef ff c1 +=> 10 f8 38 ea a9 00 00 + +- probably only Earthbound + 10 f8 38 ef f2 fd c3 f0 +=> 10 f8 38 ea a9 00 00 80 +Same here. + +- Dixie Kong's Double Trouble E. U version looks like it already has been "patched" + a9 c3 80 dd ff ff f0 6c +=> a9 c3 f0 cc ff ff 80 7d + +- Front Mission - Gun Hazard + d0 f4 ab cf ae ff 00 d0 01 +=> d0 f4 ab cf ae ff 00 d0 00 +Modification protection. Not needed to play the game on an NTSC SNES. Needed +when it has been patched with -f. +*/ +{ + char header[512], src_name[FILENAME_MAX], dest_name[FILENAME_MAX], + buffer[32 * 1024]; + FILE *srcfile, *destfile; + int bytesread, n = 0, n_extra_patterns, n2; + st_cm_pattern_t *patterns = NULL; + + strcpy (src_name, "snescopy.txt"); + // First try the current directory, then the configuration directory + if (access (src_name, F_OK | R_OK) == -1) + sprintf (src_name, "%s" FILE_SEPARATOR_S "snescopy.txt", ucon64.configdir); + n_extra_patterns = build_cm_patterns (&patterns, src_name, ucon64.quiet == -1 ? 1 : 0); + if (n_extra_patterns >= 0) + printf ("Found %d additional code%s in %s\n", + n_extra_patterns, n_extra_patterns != 1 ? "s" : "", src_name); + + puts ("Attempting crack..."); + + strcpy (src_name, ucon64.rom); + strcpy (dest_name, ucon64.rom); + ucon64_file_handler (dest_name, src_name, 0); + if ((srcfile = fopen (src_name, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], src_name); + return -1; + } + if ((destfile = fopen (dest_name, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], dest_name); + return -1; + } + if (rominfo->buheader_len) // copy header (if present) + { + fread (header, 1, SWC_HEADER_LEN, srcfile); + fseek (srcfile, rominfo->buheader_len, SEEK_SET); + fwrite (header, 1, SWC_HEADER_LEN, destfile); + } + + while ((bytesread = fread (buffer, 1, 32 * 1024, srcfile))) + { // '!' == ASCII 33 (\x21), '*' == 42 (\x2a) + // First use the extra patterns, so that their precedence is higher than + // the built-in patterns + for (n2 = 0; n2 < n_extra_patterns; n2++) + n += change_mem2 (buffer, bytesread, + patterns[n2].search, + patterns[n2].search_size, + patterns[n2].wildcard, + patterns[n2].escape, + patterns[n2].replace, + patterns[n2].replace_size, + patterns[n2].offset, + patterns[n2].sets); + + // SRAM + if (snes_sramsize == 8 * 1024) // 8 kB == 64 kb + { + n += change_mem (buffer, bytesread, "!**\x70!**\x70\xd0", 9, '*', '!', "\xea\xea", 2, 0, + "\x8f\x9f", 2, "\xcf\xdf", 2); + // actually Kirby's Dream Course, Lufia II - Rise of the Sinistrals + n += change_mem (buffer, bytesread, "!**\x70!**\x70\xf0", 9, '*', '!', "\x80", 1, 0, + "\x8f\x9f", 2, "\xcf\xdf", 2); +#if 1 // TODO: check which games really need this + n += change_mem (buffer, bytesread, "!**!!**!\xf0", 9, '*', '!', "\x80", 1, 0, + "\x8f\x9f", 2, "\x30\x31\x32\x33", 4, "\xcf\xdf", 2, "\x30\x31\x32\x33", 4); +#endif + } + else + { + n += change_mem (buffer, bytesread, "!**\x70!**\x70\xd0", 9, '*', '!', "\x80", 1, 0, + "\x8f\x9f", 2, "\xcf\xdf", 2); + // Mega Man X + n += change_mem (buffer, bytesread, "!**\x70!**\x70\xf0", 9, '*', '!', "\xea\xea", 2, 0, + "\x8f\x9f", 2, "\xcf\xdf", 2); + n += change_mem (buffer, bytesread, "!**!!**!\xf0", 9, '*', '!', "\xea\xea", 2, 0, + "\x8f\x9f", 2, "\x30\x31\x32\x33", 4, "\xcf\xdf", 2, "\x30\x31\x32\x33", 4); + } + + n += change_mem (buffer, bytesread, "\x8f**\x77\xe2*\xaf**\x77\xc9*\xf0", 13, '*', '!', "\x80", 1, 0); + n += change_mem (buffer, bytesread, "!!!!!!\x60!\xd0", 9, '*', '!', "\xea\xea", 2, 0, + "\x8f\x9f", 2, "\x57\x59", 2, "\x60\x68", 2, "\x30\x31\x32\x33", 4, + "\xcf\xdf", 2, "\x57\x59", 2, "\x30\x31\x32\x33", 4); + + n += change_mem (buffer, bytesread, "!**!!**!\xd0", 9, '*', '!', "\x80", 1, 0, + "\x8f\x9f", 2, "\x30\x31\x32\x33", 4, "\xcf\xdf", 2, "\x30\x31\x32\x33", 4); + n += change_mem (buffer, bytesread, "!**\xb0\xcf**\xb1\xd0", 9, '*', '!', "\xea\xea", 2, 0, + "\x8f\xaf", 2); + n += change_mem (buffer, bytesread, "!**!\xaf**!\xc9**\xd0", 12, '*', '!', "\x80", 1, 0, + "\x8f\x9f", 2, "\x30\x31\x32\x33", 4, "\x30\x31\x32\x33", 4); + n += change_mem (buffer, bytesread, "\xa9\x00\x00\xa2\xfe\x1f\xdf\x00\x00\x70\xd0", 11, '*', '!', "\xea\xea", 2, 0); + n += change_mem (buffer, bytesread, "\x8f**\x70\xaf**\x70\xc9**\xd0", 12, '*', '!', "\x80", 1, 0); + n += change_mem (buffer, bytesread, "!**!!**!\xf0", 9, '*', '!', "\x80", 1, 0, + "\xaf\xbf", 2, "\x30\x31\x32\x33", 4, "\xcf\xdf", 2, "\x30\x31\x32\x33", 4); + + // mirroring + n += change_mem (buffer, bytesread, "!*\x80\x00!*\x80\x40\xf0", 9, '*', '!', "\x80", 1, 0, + "\xaf\xbf", 2, "\xcf\xdf", 2); + n += change_mem (buffer, bytesread, "!*\xff!!*\xff\x40\xf0", 9, '*', '!', "\x80", 1, 0, + "\xaf\xbf", 2, "\x80\xc0", 2, "\xcf\xdf", 2); + + // game specific + n += change_mem (buffer, bytesread, "\x5c\x7f\xd0\x83\x18\xfb\x78\xc2\x30", 9, '*', '!', + "\xea\xea\xea\xea\xea\xea\xea\xea\xea", 9, -8); + + n += change_mem (buffer, bytesread, "KONG\x00\xf8\xf7", 7, '*', '!', "\xf8", 1, 0); + n += change_mem (buffer, bytesread, "\x26\x38\xe9\x48\x12\xc9\xaf\x71\xf0", 9, '*', '!', "\x80", 1, 0); + n += change_mem (buffer, bytesread, "\xa0\x5c\x2f\x77\x32\xe9\xc7\x04\xf0", 9, '*', '!', "\x80", 1, 0); + + n += change_mem (buffer, bytesread, "\x22\x08\x5c\x10\xb0\x28", 6, '*', '!', + "\xea\xea\xea\xea\xea\xea", 6, -5); + n += change_mem (buffer, bytesread, "\xda\xe2\x30\xc9\x01\xf0\x18\xc9\x02", 9, '*', '!', + "\x09\xf0\x18\xc9\x07", 5, -4); + n += change_mem (buffer, bytesread, "\x29\xff\x00\xc9\x07\x00\x90\x16", 8, '*', '!', "\x00", 1, -3); + + n += change_mem (buffer, bytesread, "\xca\x10\xf8\x38\xef\x1a\x80\x81\x8d", 9, '*', '!', "\x9c", 1, 0); + n += change_mem (buffer, bytesread, "\x81\xca\x10\xf8\xcf\x39\x80\x87\xf0", 9, '*', '!', "\x80", 1, 0); + + n += change_mem (buffer, bytesread, "\x84\x26\xad\x39\xb5\xd0\x1a", 7, '*', '!', "\xea\xea", 2, -1); + n += change_mem (buffer, bytesread, "\x10\xf8\x38\xef\xef\xff\xc1", 7, '*', '!', + "\xea\xa9\x00\x00", 4, -3); + n += change_mem (buffer, bytesread, "\x10\xf8\x38\xef\xf2\xfd\xc3\xf0", 8, '*', '!', + "\xea\xa9\x00\x00\x80", 5, -4); + + n += change_mem (buffer, bytesread, "\xc2\x30\xad\xfc\x1f\xc9\x50\x44\xd0", 9, '*', '!', "\x4c\xd1\x80", 3, -6); + n += change_mem (buffer, bytesread, "\xa9\xc3\x80\xdd\xff\xff\xf0\x6c", 8, '*', '!', "\xf0\xcc\xff\xff\x80\x7d", 6, -5); + n += change_mem (buffer, bytesread, "\xd0\xf4\xab\xcf\xae\xff\x00\xd0\x01", 9, '*', '!', "\x00", 1, 0); + + fwrite (buffer, 1, bytesread, destfile); + } + fclose (srcfile); + fclose (destfile); + cleanup_cm_patterns (&patterns, n_extra_patterns); + + printf ("Found %d pattern%s\n", n, n != 1 ? "s" : ""); + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + return n; +} + + +static int +snes_fix_pal_protection (st_rominfo_t *rominfo) +/* +This function searches for PAL protection codes. If it finds one it will +fix the code so that the game will run on an NTSC SNES. +Don't touch this code if you don't know what you're doing! + +Search for Replace with +ad 3f 21 89 10 d0 ad 3f 21 89 10 80 - Terranigma +ad 3f 21 29 10 00 d0 ad 3f 21 29 10 00 80 +ad 3f 21 89 10 00 d0 a9 10 00 89 10 00 d0 - Eric Cantona Football ? +ad 3f 21 29 10 cf bd ff XX f0 ad 3f 21 29 10 cf bd ff XX 80 - Pop'n Twinbee E +af 3f 21 00 29 10 d0 af 3f 21 00 29 10 80 +af 3f 21 00 29 10 00 d0 af 3f 21 00 29 10 00 ea ea +af 3f 21 00 29 XX c9 XX f0 af 3f 21 00 29 XX c9 XX 80 - Secret of Mana E +a2 18 01 bd 27 20 89 10 00 f0 01 a2 18 01 bd 27 20 89 10 00 ea ea - Donkey Kong Country E +*/ +{ + char header[512], src_name[FILENAME_MAX], dest_name[FILENAME_MAX], + buffer[32 * 1024]; + FILE *srcfile, *destfile; + int bytesread, n = 0, n_extra_patterns, n2; + st_cm_pattern_t *patterns = NULL; + + strcpy (src_name, "snespal.txt"); + // First try the current directory, then the configuration directory + if (access (src_name, F_OK | R_OK) == -1) + sprintf (src_name, "%s" FILE_SEPARATOR_S "snespal.txt", ucon64.configdir); + n_extra_patterns = build_cm_patterns (&patterns, src_name, ucon64.quiet == -1 ? 1 : 0); + if (n_extra_patterns >= 0) + printf ("Found %d additional code%s in %s\n", + n_extra_patterns, n_extra_patterns != 1 ? "s" : "", src_name); + + puts ("Attempting to fix PAL protection code..."); + + strcpy (src_name, ucon64.rom); + strcpy (dest_name, ucon64.rom); + ucon64_file_handler (dest_name, src_name, 0); + if ((srcfile = fopen (src_name, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], src_name); + return -1; + } + if ((destfile = fopen (dest_name, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], dest_name); + return -1; + } + if (rominfo->buheader_len) // copy header (if present) + { + fread (header, 1, SWC_HEADER_LEN, srcfile); + fseek (srcfile, rominfo->buheader_len, SEEK_SET); + fwrite (header, 1, SWC_HEADER_LEN, destfile); + } + + while ((bytesread = fread (buffer, 1, 32 * 1024, srcfile))) + { + // First use the extra patterns, so that their precedence is higher than + // the built-in patterns + for (n2 = 0; n2 < n_extra_patterns; n2++) + n += change_mem2 (buffer, bytesread, + patterns[n2].search, + patterns[n2].search_size, + patterns[n2].wildcard, + patterns[n2].escape, + patterns[n2].replace, + patterns[n2].replace_size, + patterns[n2].offset, + patterns[n2].sets); + + n += change_mem (buffer, bytesread, "\xad\x3f\x21\x89\x10\xd0", 6, '\x01', '\x02', "\x80", 1, 0); + n += change_mem (buffer, bytesread, "\xad\x3f\x21\x29\x10\x00\xd0", 7, '\x01', '\x02', "\x80", 1, 0); + n += change_mem (buffer, bytesread, "\xad\x3f\x21\x89\x10\x00\xd0", 7, '\x01', '\x02', "\xa9\x10\x00", 3, -6); + n += change_mem (buffer, bytesread, "\xad\x3f\x21\x29\x10\xcf\xbd\xff\x01\xf0", 10, '\x01', '\x02', "\x80", 1, 0); + n += change_mem (buffer, bytesread, "\xaf\x3f\x21\x00\x29\x10\xd0", 7, '\x01', '\x02', "\x80", 1, 0); + n += change_mem (buffer, bytesread, "\xaf\x3f\x21\x00\x29\x10\x00\xd0", 8, '\x01', '\x02', "\xea\xea", 2, 0); + n += change_mem (buffer, bytesread, "\xaf\x3f\x21\x00\x29\x01\xc9\x01\xf0", 9, '\x01', '\x02', "\x80", 1, 0); + n += change_mem (buffer, bytesread, "\xa2\x18\x01\xbd\x27\x20\x89\x10\x00\xf0\x01", 11, '*', '!', "\xea\xea", 2, -1); + + fwrite (buffer, 1, bytesread, destfile); + } + fclose (srcfile); + fclose (destfile); + cleanup_cm_patterns (&patterns, n_extra_patterns); + + printf ("Found %d pattern%s\n", n, n != 1 ? "s" : ""); + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + return n; +} + + +static int +snes_fix_ntsc_protection (st_rominfo_t *rominfo) +/* +This function searches for NTSC protection codes. If it finds one it will +fix the code so that the game will run on a PAL SNES. +Don't touch this code if you don't know what you're doing! + +Search for Replace with +3f 21 29/89 10 f0 3f 21 29/89 10 80 +ad 3f 21 29 10 d0 ad 3f 21 29 10 ea ea +ad 3f 21 89 10 d0 ad 3f 21 89 10 80/(ea ea) - Live-a-Live (ea ea) +3f 21 29/89 10 00 f0 3f 21 29/89 10 00 80 - Clock Tower (29) +3f 21 29/89 10 00 d0 3f 21 29/89 10 00 ea ea - Mario no Super Picross (89) + 3f 21 89 10 c2 XX f0 3f 21 89 10 c2 XX 80 - Front Mission - Gun Hazard + 3f 21 89 10 c2 XX d0 3f 21 89 10 c2 XX ea ea - Robotrek +3f 21 29/89 10 c9 10 f0 3f 21 29/89 10 c9 10 80 +ad 3f 21 29 10 c9 00 f0 ad 3f 21 29 10 c9 00 80/(ea ea) <= original uCON used 80 +ad 3f 21 29 10 c9 00 d0 ad 3f 21 29 10 c9 00 80 +ad 3f 21 29 10 c9 10 d0 ad 3f 21 29 10 c9 10 ea ea + 3f 21 29 10 cf XX YY 80 f0 3f 21 29 10 cf XX YY 80 80 - Gokujyou Parodius/Tokimeki Memorial +ad 3f 21 8d XX YY 29 10 8d ad 3f 21 8d XX YY 29 00 8d - Dragon Ball Z - Super Butoden 2 ? + 3f 21 00 29/89 10 f0 3f 21 00 29/89 10 80 - Kirby's Dream Course U (29) +af 3f 21 00 29/89 10 d0 af 3f 21 00 29/89 10 ea ea - Kirby No Kira Kizzu (29)/Final Fight Guy (89) +af 3f 21 00 29/89 10 00 f0 af 3f 21 00 29/89 10 00 80 +af 3f 21 00 29 XX c9 XX f0 af 3f 21 00 29 XX c9 XX 80 - Seiken Densetsu 3 +af 3f 21 00 29 10 80 2d 00 1b af 3f 21 00 29 00 80 2d 00 1b - Seiken Densetsu 2/Secret of Mana U + 3f 21 00 89 10 c2 XX f0 3f 21 00 89 10 c2 XX 80 - Dragon - The Bruce Lee Story U +af 3f 21 00 XX YY 29 10 00 d0 af 3f 21 00 XX YY 29 10 00 ea ea - Fatal Fury Special ? + 3f 21 c2 XX 29 10 00 f0 3f 21 c2 XX 29 10 00 80 - Metal Warriors + 3f 21 c2 XX 29 10 00 d0 3f 21 c2 XX 29 10 00 ea ea - Dual Orb 2 +af 3f 21 ea 89 10 00 d0 a9 00 00 ea 89 10 00 d0 - Super Famista 3 ? +a2 18 01 bd 27 20 89 10 00 d0 01 a2 18 01 bd 27 20 89 10 00 ea ea - Donkey Kong Country U +29 10 00 a2 00 00 c9 10 00 d0 29 10 00 a2 00 00 c9 10 00 80 - Wolfenstein 3D U +*/ +{ + char header[512], src_name[FILENAME_MAX], dest_name[FILENAME_MAX], + buffer[32 * 1024]; + FILE *srcfile, *destfile; + int bytesread, n = 0, n_extra_patterns, n2; + st_cm_pattern_t *patterns = NULL; + + strcpy (src_name, "snesntsc.txt"); + // First try the current directory, then the configuration directory + if (access (src_name, F_OK | R_OK) == -1) + sprintf (src_name, "%s" FILE_SEPARATOR_S "snesntsc.txt", ucon64.configdir); + n_extra_patterns = build_cm_patterns (&patterns, src_name, ucon64.quiet == -1 ? 1 : 0); + if (n_extra_patterns >= 0) + printf ("Found %d additional code%s in %s\n", + n_extra_patterns, n_extra_patterns != 1 ? "s" : "", src_name); + + puts ("Attempting to fix NTSC protection code..."); + + strcpy (src_name, ucon64.rom); + strcpy (dest_name, ucon64.rom); + ucon64_file_handler (dest_name, src_name, 0); + if ((srcfile = fopen (src_name, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], src_name); + return -1; + } + if ((destfile = fopen (dest_name, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], dest_name); + return -1; + } + if (rominfo->buheader_len) // copy header (if present) + { + fread (header, 1, SWC_HEADER_LEN, srcfile); + fseek (srcfile, rominfo->buheader_len, SEEK_SET); + fwrite (header, 1, SWC_HEADER_LEN, destfile); + } + + while ((bytesread = fread (buffer, 1, 32 * 1024, srcfile))) + { + // First use the extra patterns, so that their precedence is higher than + // the built-in patterns + for (n2 = 0; n2 < n_extra_patterns; n2++) + n += change_mem2 (buffer, bytesread, + patterns[n2].search, + patterns[n2].search_size, + patterns[n2].wildcard, + patterns[n2].escape, + patterns[n2].replace, + patterns[n2].replace_size, + patterns[n2].offset, + patterns[n2].sets); + + n += change_mem (buffer, bytesread, "\x3f\x21\x02\x10\xf0", 5, '\x01', '\x02', "\x80", 1, 0, + "\x29\x89", 2); + n += change_mem (buffer, bytesread, "\xad\x3f\x21\x29\x10\xd0", 6, '\x01', '\x02', "\xea\xea", 2, 0); + n += change_mem (buffer, bytesread, "\xad\x3f\x21\x89\x10\xd0", 6, '\x01', '\x02', "\xea\xea", 2, 0); +// The next statement could be the alternative for the previous one. Leave it +// disabled until we find a game that needs it. +// n += change_mem (buffer, bytesread, "\xad\x3f\x21\x89\x10\xd0", 6, '\x01', '\x02', "\x80", 1, 0); + n += change_mem (buffer, bytesread, "\x3f\x21\x02\x10\x00\xf0", 6, '\x01', '\x02', "\x80", 1, 0, + "\x29\x89", 2); + n += change_mem (buffer, bytesread, "\x3f\x21\x02\x10\x00\xd0", 6, '\x01', '\x02', "\xea\xea", 2, 0, + "\x29\x89", 2); + n += change_mem (buffer, bytesread, "\x3f\x21\x89\x10\xc2\x01\xf0", 7, '\x01', '\x02', "\x80", 1, 0); + n += change_mem (buffer, bytesread, "\x3f\x21\x89\x10\xc2\x01\xd0", 7, '\x01', '\x02', "\xea\xea", 2, 0); + n += change_mem (buffer, bytesread, "\x3f\x21\x02\x10\xc9\x10\xf0", 7, '\x01', '\x02', "\x80", 1, 0, + "\x29\x89", 2); + n += change_mem (buffer, bytesread, "\xad\x3f\x21\x29\x10\xc9\x00\xf0", 8, '\x01', '\x02', "\xea\xea", 2, 0); + n += change_mem (buffer, bytesread, "\xad\x3f\x21\x29\x10\xc9\x00\xd0", 8, '\x01', '\x02', "\x80", 1, 0); + n += change_mem (buffer, bytesread, "\xad\x3f\x21\x29\x10\xc9\x10\xd0", 8, '\x01', '\x02', "\xea\xea", 2, 0); + n += change_mem (buffer, bytesread, "\x3f\x21\x29\x10\xcf\x01\x01\x80\xf0", 9, '\x01', '\x02', "\x80", 1, 0); + n += change_mem (buffer, bytesread, "\xad\x3f\x21\x8d\x01\x01\x29\x10\x8d", 9, '\x01', '\x02', "\x00", 1, -1); + n += change_mem (buffer, bytesread, "\x3f\x21\x00\x02\x10\xf0", 6, '\x01', '\x02', "\x80", 1, 0, + "\x29\x89", 2); + n += change_mem (buffer, bytesread, "\xaf\x3f\x21\x00\x02\x10\xd0", 7, '\x01', '\x02', "\xea\xea", 2, 0, + "\x29\x89", 2); + n += change_mem (buffer, bytesread, "\xaf\x3f\x21\x00\x02\x10\x00\xf0", 8, '\x01', '\x02', "\x80", 1, 0, + "\x29\x89", 2); + n += change_mem (buffer, bytesread, "\xaf\x3f\x21\x00\x29\x01\xc9\x01\xf0", 9, '\x01', '\x02', "\x80", 1, 0); + n += change_mem (buffer, bytesread, "\xaf\x3f\x21\x00\x29\x10\x80\x2d\x00\x1b", 10, '\x01', '\x02', "\x00", 1, -4); + n += change_mem (buffer, bytesread, "\x3f\x21\x00\x89\x10\xc2\x01\xf0", 8, '\x01', '\x02', "\x80", 1, 0); + n += change_mem (buffer, bytesread, "\xaf\x3f\x21\x00\x01\x01\x29\x10\x00\xd0", 10, '\x01', '\x02', "\xea\xea", 2, 0); + n += change_mem (buffer, bytesread, "\x3f\x21\xc2\x01\x29\x10\x00\xf0", 8, '\x01', '\x02', "\x80", 1, 0); + n += change_mem (buffer, bytesread, "\x3f\x21\xc2\x01\x29\x10\x00\xd0", 8, '\x01', '\x02', "\xea\xea", 2, 0); + n += change_mem (buffer, bytesread, "\xaf\x3f\x21\xea\x89\x10\x00\xd0", 8, '\x01', '\x02', "\xa9\x00\x00", 3, -7); + n += change_mem (buffer, bytesread, "\xa2\x18\x01\xbd\x27\x20\x89\x10\x00\xd0\x01", 11, '*', '!', "\xea\xea", 2, -1); + n += change_mem (buffer, bytesread, "\x29\x10\x00\xa2\x00\x00\xc9\x10\x00\xd0", 10, '\x01', '\x02', "\x80", 1, 0); + + fwrite (buffer, 1, bytesread, destfile); + } + fclose (srcfile); + fclose (destfile); + cleanup_cm_patterns (&patterns, n_extra_patterns); + + printf ("Found %d pattern%s\n", n, n != 1 ? "s" : ""); + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + return n; +} + + +int +snes_f (st_rominfo_t *rominfo) +// See the document "src/backup/NTSC-PAL notes.txt". +{ + switch (snes_header.country) + { + // In the Philipines the television standard is NTSC, but do games made + // for the Philipines exist? + case 0: // Japan + case 1: // U.S.A. + return snes_fix_ntsc_protection (rominfo); + default: + return snes_fix_pal_protection (rominfo); + } +} + + +int +snes_l (st_rominfo_t *rominfo) +/* +The order is important. Don't touch this code if you don't know what you're doing! + +Search for Replace with +(uCON64) +8c/8d/8e/8f 0d 42 9c 0d 42 +01 0d 42 00 0d 42 +a9 01 85 0d a9 00 85 0d // special one (used by Konami and Jaleco? sometimes) +a2 01 86 0d a2 00 86 0d +a0 01 84 0d a0 00 84 0d + +(original uCON) +a9/a2 01 8d/8e 0d 42 a9/a2 00 8d/8e 0d 42 +a9 01 00 8d 0d 42 a9 00 00 8d 0d 42 +a9 01 8f 0d 42 00 a9 00 8f 0d 42 00 +*/ +{ + char header[512], src_name[FILENAME_MAX], dest_name[FILENAME_MAX], + buffer[32 * 1024]; + FILE *srcfile, *destfile; + int bytesread, n = 0, n_extra_patterns, n2; + st_cm_pattern_t *patterns = NULL; + + strcpy (src_name, "snesslow.txt"); + // First try the current directory, then the configuration directory + if (access (src_name, F_OK | R_OK) == -1) + sprintf (src_name, "%s" FILE_SEPARATOR_S "snesslow.txt", ucon64.configdir); + n_extra_patterns = build_cm_patterns (&patterns, src_name, ucon64.quiet == -1 ? 1 : 0); + if (n_extra_patterns >= 0) + printf ("Found %d additional code%s in %s\n", + n_extra_patterns, n_extra_patterns != 1 ? "s" : "", src_name); + + puts ("Attempting SlowROM fix..."); + + strcpy (src_name, ucon64.rom); + strcpy (dest_name, ucon64.rom); + ucon64_file_handler (dest_name, src_name, 0); + if ((srcfile = fopen (src_name, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], src_name); + return -1; + } + if ((destfile = fopen (dest_name, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], dest_name); + return -1; + } + if (rominfo->buheader_len) // copy header (if present) + { + fread (header, 1, SWC_HEADER_LEN, srcfile); + fseek (srcfile, rominfo->buheader_len, SEEK_SET); + fwrite (header, 1, SWC_HEADER_LEN, destfile); + } + + while ((bytesread = fread (buffer, 1, 32 * 1024, srcfile))) + { // '!' == ASCII 33 (\x21), '*' == 42 (\x2a) + // First use the extra patterns, so that their precedence is higher than + // the built-in patterns + for (n2 = 0; n2 < n_extra_patterns; n2++) + n += change_mem2 (buffer, bytesread, + patterns[n2].search, + patterns[n2].search_size, + patterns[n2].wildcard, + patterns[n2].escape, + patterns[n2].replace, + patterns[n2].replace_size, + patterns[n2].offset, + patterns[n2].sets); + + n += change_mem (buffer, bytesread, "!\x0d\x42", 3, '*', '!', "\x9c", 1, -2, + "\x8c\x8d\x8e\x8f", 4); + n += change_mem (buffer, bytesread, "\x01\x0d\x42", 3, '*', '!', "\x00", 1, -2); + n += change_mem (buffer, bytesread, "\xa9\x01\x85\x0d", 4, '*', '!', "\x00", 1, -2); + n += change_mem (buffer, bytesread, "\xa2\x01\x86\x0d", 4, '*', '!', "\x00", 1, -2); + n += change_mem (buffer, bytesread, "\xa0\x01\x84\x0d", 4, '*', '!', "\x00", 1, -2); + + // original uCON + n += change_mem (buffer, bytesread, "!\x01!\x0d\x42", 5, '*', '!', "\x00", 1, -3, + "\xa9\xa2", 2, "\x8d\x8e", 2); + n += change_mem (buffer, bytesread, "\xa9\x01\x00\x8d\x0d\x42", 6, '*', '!', "\x00", 1, -4); + n += change_mem (buffer, bytesread, "\xa9\x01\x8f\x0d\x42\x00", 6, '*', '!', "\x00", 1, -4); + + fwrite (buffer, 1, bytesread, destfile); + } + fclose (srcfile); + fclose (destfile); + cleanup_cm_patterns (&patterns, n_extra_patterns); + + printf ("Found %d pattern%s\n", n, n != 1 ? "s" : ""); + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + return n; +} + + +int +snes_n (st_rominfo_t *rominfo, const char *name) +{ + char buf[SNES_NAME_LEN], dest_name[FILENAME_MAX]; + int size = ucon64.file_size - rominfo->buheader_len, header_start, + name_len = (bs_dump || st_dump) ? 16 : SNES_NAME_LEN; + + memset (buf, ' ', name_len); + strncpy (buf, name, strlen (name) > (unsigned int) name_len ? + (unsigned int) name_len : strlen (name)); + strcpy (dest_name, ucon64.rom); + ucon64_file_handler (dest_name, NULL, 0); + + fcopy (ucon64.rom, 0, ucon64.file_size, dest_name, "wb"); + + if (rominfo->interleaved) + header_start = SNES_HEADER_START + (snes_hirom ? 0 : size / 2); // (Ext.) HiROM : LoROM + else if (st_dump) // ignore interleaved ST dumps + header_start = 8 * MBIT; + else + header_start = rominfo->header_start; + ucon64_fwrite (buf, header_start + rominfo->buheader_len + 16, name_len, dest_name, "r+b"); + + printf (ucon64_msg[WROTE], dest_name); + return 0; +} + + +int +snes_chk (st_rominfo_t *rominfo) +{ + char buf[4], dest_name[FILENAME_MAX]; + int size = ucon64.file_size - rominfo->buheader_len, header_start; + + strcpy (dest_name, ucon64.rom); + ucon64_file_handler (dest_name, NULL, 0); + fcopy (ucon64.rom, 0, ucon64.file_size, dest_name, "wb"); + + /* + The internal checksum bytes have been included in the checksum + calculation, but they will be changed after this function returns. We + account for that. Otherwise we could have to run uCON64 on the ROM twice. + */ + rominfo->current_internal_crc += (-snes_header.inverse_checksum_low - + snes_header.inverse_checksum_high - + snes_header.checksum_low - + snes_header.checksum_high) + + 2 * 0xff; // + 2 * 0; + // change inverse checksum + buf[0] = 0xffff - rominfo->current_internal_crc; // low byte + buf[1] = (0xffff - rominfo->current_internal_crc) >> 8; // high byte + // change checksum + buf[2] = rominfo->current_internal_crc; // low byte + buf[3] = rominfo->current_internal_crc >> 8; // high byte + if (rominfo->interleaved) + header_start = SNES_HEADER_START + (snes_hirom ? 0 : size / 2); // (Ext.) HiROM : LoROM + else + header_start = rominfo->header_start; + ucon64_fwrite (buf, header_start + rominfo->buheader_len + 44, 4, dest_name, "r+b"); + + dumper (stdout, buf, 4, header_start + rominfo->buheader_len + 44, DUMPER_HEX); + + printf (ucon64_msg[WROTE], dest_name); + return 0; +} + + +static int +snes_testinterleaved (unsigned char *rom_buffer, int size, int banktype_score) +/* + The only way to determine whether a HiROM dump is interleaved or not seems to + be to check the value of the map type byte. Valid HiROM values (hexadecimal): + 21, 31, 35, 3a + Valid LoROM values: + 20, 23, 30, 32, 44 [, 41, 53] + 41 is the hexadecimal value of 'A' (WWF Super Wrestlemania (E)). 53 is the + hexadecimal value value of 'S' (Contra III - The Alien Wars (U)). + So, if a ROM dump seems LoROM, but the map type byte is that of a HiROM dump + we assume it is interleaved. Interleaved LoROM dumps are not produced by any + copier, but by incorrect ROM tools... +*/ +{ + int interleaved = 0, check_map_type = 1; + unsigned int crc; + + if (size < 64 * 1024) // snes_deinterleave() reads blocks of 32 kB + return 0; // file cannot be interleaved + + crc = crc32 (0, rom_buffer, 512); + /* + Special case hell + + 0x4a70ad38: Double Dragon, Return of (J), Super Double Dragon (E/U) {[!], [a1]} + 0x0b34ddad: Kakinoki Shogi (J) + 0x348b5357: King of Rally, The (J) + 0xc39b8d3a: Pro Kishi Simulation Kishi no Hanamichi (J) + 0xbd7bc39f: Shin Syogi Club (J) + 0x9b4638d0: Street Fighter Alpha 2 (E/U) {[b1]}, Street Fighter Zero 2 (J) + Only really necessary for (U). The other versions can be detected because + one of the two internal headers has checksum bytes ff ff 00 00. + 0x0085b742: Super Bowling (U) + 0x30cbf83c: Super Bowling (J) + These games have two headers. + + BUG ALERT: We don't check for 0xbd7bc39f. The first 512 bytes of what + uCON64 detects as the interleaved dump of Shin Syogi Club (J) are identical + to the first 512 bytes of what we detect as the uninterleaved dump of + Kakinoki Shogi (J). We prefer uninterleaved dumps. Besides, concluding a + dump is interleaved if the first 512 bytes have CRC32 0xbd7bc39f would mess + up the detection of some BS dumps. See below. + + 0x7039388a: Ys 3 - Wanderers from Ys (J) + This game has 31 internal headers... + + 0xd7470b37/0x9f1d6284: Dai Kaiju Monogatari 2 (J) (GD3/UFO) + 0xa2c5fd29/0xfe536fc9: Tales of Phantasia (J) (GD3/UFO) + These are Extended HiROM games. By "coincidence" ToP can be detected in + another way, but DKM2 (40 Mbit) can't. The CRC32's are checked for below. + + 0xdbc88ebf: BS Satella2 1 (J) + This game has a LoROM map type byte while it is a HiROM game. + + 0x29226b62: BS Busters - Digital Magazine 5-24-98 (J), + BS Do-Re-Mi No.2 5-10 (J), + BS Do-Re-Mi No.2 5-25 (J), + BS Furoito No Chousenjou {2, 3, 4, 5, 6} (J), + BS Nintendo HP 5-17 (J), + BS Nintendo HP 5-31 (J) + 0xbd7bc39f: BS Goods Press 6 Gatsu Gou (J), + BS NP Magazine 107 (J), + BS Tora no Maki 5-17 (J), + BS Tora no Maki 5-31 (J) + 0x4ef3d27b: BS Lord Monarke (J) + These games are *not* special cases. uCON64 detects them correctly, but the + tool that was used to create GoodSNES - 0.999.5 for RC 2.5.dat, does not. + This has been verified on a real SNES for the games with CRC 0x29226b62 and + 0x4ef3d27b. The games with CRC 0xbd7bc39f don't seem to run on a copier. + + 0xc3194ad7: Yu Yu No Quiz De Go! Go! (J) + 0x89d09a77: Infernal's Evil Demo! (PD) + 0xd3095af3: Legend - SNDS Info, Incredible Hulk Walkthru (PD) + 0x9b161d4d: Pop 'N Twinbee Sample (J) + 0x6910700a: Rock Fall (PD) + 0x447df9d5: SM Choukyousi Hitomi (PD) + 0x02f401df: SM Choukyousi Hitomi Vol 2 (PD) + 0xf423997a: World of Manga 2 (PD) + These games/dumps have a HiROM map type byte while they are LoROM. + + 0x0f802e41: Mortal Kombat 3 Final (Anthrox Beta Hack) + 0xbd8f1b20: Rise of the Robots (Beta) + 0x05926d17: Shaq Fu (E)/(J)(NG-Dump Known) + 0x3e2e5619: Super Adventure Island II (Beta) + 0x023e1298: Super Air Driver (E) [b] + These are also not special cases (not: HiROM map type byte + LoROM game). + GoodSNES - 0.999.5 for RC 2.5.dat simply contains errors. + + 0x2a4c6a9b: Super Noah's Ark 3D (U) + 0xfa83b519: Mortal Kombat (Beta) + 0xf3aa1eca: Power Piggs of the Dark Age (Pre-Release) {[h1]} + 0x65485afb: Super Aleste (J) {[t1]} <= header == trainer + 0xaad23842/0x5ee74558: Super Wild Card DX DOS ROM V1.122/interleaved + 0x422c95c4: Time Slip (Beta) + 0x7a44bd18: Total Football (E)(NG-Dump Known) + 0xf0bf8d7c/0x92180571: Utyu no Kishi Tekkaman Blade (Beta) {[h1]}/interleaved + 0x8e1933d0: Wesley Orangee Hotel (PD) + 0xe2b95725/0x9ca5ed58: Zool (Sample Cart)/interleaved + These games/dumps have garbage in their header. + */ + if (crc == 0xc3194ad7 +#ifdef DETECT_NOTGOOD_DUMPS + || + crc == 0x89d09a77 || crc == 0xd3095af3 || crc == 0x9b161d4d || + crc == 0x6910700a || crc == 0x447df9d5 || crc == 0x02f401df || + crc == 0xf423997a || crc == 0xfa83b519 || crc == 0xf3aa1eca || + crc == 0xaad23842 || crc == 0x422c95c4 || crc == 0x7a44bd18 || + crc == 0xf0bf8d7c || crc == 0x8e1933d0 || crc == 0xe2b95725 +#endif + ) + check_map_type = 0; // not interleaved + else if (crc == 0x4a70ad38 || crc == 0x0b34ddad || crc == 0x348b5357 || + crc == 0xc39b8d3a || crc == 0x9b4638d0 || crc == 0x0085b742 || + crc == 0x30cbf83c || crc == 0x7039388a || crc == 0xdbc88ebf || + crc == 0x2a4c6a9b +#ifdef DETECT_NOTGOOD_DUMPS + || + crc == 0x65485afb || crc == 0x5ee74558 || crc == 0x92180571 || + crc == 0x9ca5ed58 +#endif + ) + { + interleaved = 1; + snes_hirom = 0; + snes_hirom_ok = 1; + check_map_type = 0; // interleaved + } + // WARNING: st_dump won't be set if it's an interleaved dump + else if (st_dump) + check_map_type = 0; + else + { +#ifdef DETECT_SMC_COM_FUCKED_UP_LOROM + if (size > SNES_HEADER_START + SNES_HIROM + 0x4d) + if (check_banktype (rom_buffer, size / 2) > banktype_score) + { + interleaved = 1; + snes_hirom = 0; + snes_hirom_ok = 1; // keep snes_deinterleave() + check_map_type = 0; // from changing snes_hirom + } +#endif +#ifdef DETECT_INSNEST_FUCKED_UP_LOROM + /* + "the most advanced and researched Super Nintendo ROM utility available" + What a joke. They don't support their own "format"... + For some games we never reach this code, because the previous code + detects them (incorrectly). I (dbjh) don't think there are games in + this format available on the internet, so I won't add special-case code + (like CRC32 checks) to fix that -- it's a bug in inSNESt. Examples are: + Lufia II - Rise of the Sinistrals (H) + Super Mario All-Stars & World (E) [!] + */ + if (!interleaved && size == 24 * MBIT) + if (check_banktype (rom_buffer, 16 * MBIT) > banktype_score) + { + interleaved = 1; + snes_hirom = 0; + snes_hirom_ok = 2; // fix for snes_deinterleave() + check_map_type = 0; + } +#endif + } + if (check_map_type && !snes_hirom) + { + // first check if it's an interleaved Extended HiROM dump + if (ucon64.file_size >= (int) (SNES_HEADER_START + SNES_EROM + SNES_HEADER_LEN)) + { + // don't set snes_header_base to SNES_EROM for too small files (split files) + if (crc == 0xd7470b37 || crc == 0xa2c5fd29) // GD3 + snes_header_base = SNES_EROM; + else if (crc == 0x9f1d6284 || crc == 0xfe536fc9) // UFO + { + snes_header_base = SNES_EROM; + interleaved = 1; + } + } + if (snes_header.map_type == 0x21 || snes_header.map_type == 0x31 || + snes_header.map_type == 0x35 || snes_header.map_type == 0x3a || + snes_header.bs_map_type == 0x21 || snes_header.bs_map_type == 0x31) + interleaved = 1; + } + + return interleaved; +} + + +int +snes_deinterleave (st_rominfo_t *rominfo, unsigned char **rom_buffer, int rom_size) +{ + unsigned char blocks[256], *rom_buffer2; + int nblocks, i, j, org_hirom; + + org_hirom = snes_hirom; + nblocks = rom_size >> 16; // # 32 kB blocks / 2 + if (nblocks * 2 > 256) + return -1; // file > 8 MB + + if (rominfo->interleaved == 2) // SFX(2) games (Doom, Yoshi's Island) + { + for (i = 0; i < nblocks * 2; i++) + { + blocks[i] = (i & ~0x1e) | ((i & 2) << 2) | ((i & 4) << 2) | + ((i & 8) >> 2) | ((i & 16) >> 2); + if (blocks[i] * 0x8000 + 0x8000 > rom_size) + { + printf ("WARNING: This ROM cannot be handled as if it is in interleaved format 2\n"); + rominfo->interleaved = 0; + return -1; + } + } + } + else // rominfo->interleaved == 1 + { + int blocksset = 0; + + if (!snes_hirom_ok) + { + snes_hirom = SNES_HIROM; + snes_hirom_ok = 1; + } + + if (type == GD3) + { + // deinterleaving schemes specific for the Game Doctor + if ((snes_hirom || snes_hirom_ok == 2) && rom_size == 24 * MBIT) + { + for (i = 0; i < nblocks; i++) + { + blocks[i * 2] = i + ((i < (16 * MBIT >> 16) ? 16 : 4) * MBIT >> 15); + blocks[i * 2 + 1] = i; + } + blocksset = 1; + } + else if (snes_header_base == SNES_EROM) + { + int size2 = rom_size - 32 * MBIT; // size of second ROM + j = 32 * MBIT >> 16; + for (i = 0; i < j; i++) + { + blocks[i * 2] = i + j + (size2 >> 15); + blocks[i * 2 + 1] = i + (size2 >> 15); + } + j = size2 >> 16; + for (; i < j + (32 * MBIT >> 16); i++) + { + blocks[i * 2] = (unsigned char) (i + j - (32 * MBIT >> 16)); + blocks[i * 2 + 1] = (unsigned char) (i - (32 * MBIT >> 16)); + } + blocksset = 1; + } + } + if (!blocksset) + for (i = 0; i < nblocks; i++) + { + blocks[i * 2] = i + nblocks; + blocks[i * 2 + 1] = i; + } + } + + if (!(rom_buffer2 = (unsigned char *) malloc (rom_size))) + { + fprintf (stderr, ucon64_msg[ROM_BUFFER_ERROR], rom_size); + exit (1); + } + for (i = 0; i < nblocks * 2; i++) + memcpy (rom_buffer2 + i * 0x8000, (*rom_buffer) + blocks[i] * 0x8000, 0x8000); + + free (*rom_buffer); + *rom_buffer = rom_buffer2; + return 0; +} + + +static const char * +matches_deviates (int equal) +{ + return +#ifdef USE_ANSI_COLOR + ucon64.ansi_color ? + (equal ? "\x1b[01;32mMatches\x1b[0m" : "\x1b[01;33mDeviates\x1b[0m") : + (equal ? "Matches" : "Deviates"); +#else + (equal ? "Matches" : "Deviates"); +#endif +} + + +int +snes_buheader_info (st_rominfo_t *rominfo) +// -dbuh +{ + unsigned char header[512]; + int x, y; + snes_file_t org_type = type; + + if (rominfo->buheader_len == 0) // type == MGD_SNES + { + printf ("This ROM has no backup unit header\n"); + return -1; + } + else + { + printf ("Backup unit header info (%s)\n\n", + type == SWC ? "SWC" : + type == FIG ? "FIG" : + type == GD3 ? "GD3" : + type == UFO ? "UFO" : + "unknown header type, but interpreted as SWC"); + if (type == SMC) + type = SWC; + } + + ucon64_fread (&header, 0, 512, ucon64.rom); + dumper (stdout, header, 48, 0, DUMPER_HEX); // show only the part that is + fputc ('\n', stdout); // interpreted by copier + + if (type == SWC || type == FIG || type == SMC || type == UFO) + { + x = ucon64.file_size - rominfo->buheader_len; + y = (header[0] + (header[1] << 8)) * 8 * 1024; + printf ("[0-1] File size: %d Bytes (%.4f Mb) => %s\n", + y, TOMBIT_F (y), matches_deviates (x == y)); + } + + if (type == SWC || type == SMC) + { + int z; + unsigned char sram_sizes[] = {0, 2, 8, 32}; + + if (header[2] & 0x80) // bit 7 has higher precedence + z = 0; // than bit 1 + else if (header[2] & 0x02) + z = 2; + else + z = 3; + + printf ("[2:7] Run program in mode: %d", z); + if (z == 2) + printf (" (bit 1=1)\n"); + else + fputc ('\n', stdout); + + y = header[2] & 0x40 ? 1 : 0; + printf ("[2:6] Split: %s => %s\n", + y ? "Yes" : "No", matches_deviates ((snes_split ? 1 : 0) == y)); + + x = snes_hirom ? 1 : 0; + y = header[2] & 0x20 ? 1 : 0; + printf ("[2:5] SRAM mapping mode: %s => %s\n", + y ? "HiROM" : "LoROM", matches_deviates (x == y)); + + y = header[2] & 0x10 ? 1 : 0; + printf ("[2:4] DRAM mapping mode: %s => %s\n", + y ? "HiROM" : "LoROM", matches_deviates (x == y)); + + y = sram_sizes[(~header[2] & 0x0c) >> 2]; // 32 => 12, 8 => 8, 2 => 4, 0 => 0 + printf ("[2:3-2] SRAM size: %d kB => %s\n", + y, matches_deviates (snes_sramsize == y * 1024)); + + printf ("[2:1] Run program in mode: %d", z); + if (z == 0) + printf (" (bit 7=1)\n"); + else + fputc ('\n', stdout); + + printf ("[2:0] External cartridge memory: %s\n", + header[2] & 0x01 ? "Enabled" : "Disabled"); + } + else if (type == FIG) + { + y = header[2] & 0x40 ? 1 : 0; + printf ("[2] Split: %s => %s\n", + y ? "Yes" : "No", matches_deviates ((snes_split ? 1 : 0) == y)); + + y = header[3] & 0x80 ? 1 : 0; + printf ("[3] Memory mapping mode: %s => %s\n", + y ? "HiROM" : "LoROM", matches_deviates ((snes_hirom ? 1 : 0) == y)); + + y = -1; + if (snes_hirom) + { + if ((header[4] == 0x77 && header[5] == 0x83) || + (header[4] == 0xf7 && header[5] == 0x83)) + y = 0; + else if ((header[4] == 0xfd && header[5] == 0x82) || + (header[4] == 0xdd && header[5] == 0x82)) + y = 8 * 1024; // or 2 * 1024 + else if (header[4] == 0xdd && header[5] == 0x02) + y = 32 * 1024; + } + else + { + if ((header[4] == 0x77 && header[5] == 0x83) || + (header[4] == 0x47 && header[5] == 0x83)) + y = 0; + else if (header[4] == 0x00 && header[5] == 0x80) + y = 8 * 1024; // or 2 * 1024 + else if ((header[4] == 0x00 && header[5] == 0x00) || + (header[4] == 0x11 && header[5] == 0x02)) + y = 32 * 1024; + } + + if (y == 8 * 1024) + printf ("[4-5] SRAM size: 2 kB / 8 kB => %s\n", + matches_deviates (snes_sramsize == 2 * 1024 || + snes_sramsize == 8 * 1024)); + else + printf ("[4-5] SRAM size: %d kB => %s\n", + y / 1024, matches_deviates (snes_sramsize == y)); + } + else if (type == UFO) + { + unsigned char sram_sizes[] = {0, 2, 8, 32}; + int z; + + y = header[2] ? 1 : 0; + printf ("[2] Split: %s => %s\n", + y ? "Yes" : "No", matches_deviates ((snes_split ? 1 : 0) == y)); + + x = ucon64.file_size - rominfo->buheader_len; + y = header[0x11] * MBIT; + printf ("[11] ROM size: %d Bytes (%d.0000 Mb) => %s\n", + y, y / MBIT, matches_deviates (x == y)); + + y = header[0x12] & 1; + printf ("[12] DRAM mapping mode: %s => %s\n", + y ? "LoROM" : "HiROM", matches_deviates ((snes_hirom ? 0 : 1) == y)); + + y = (header[0x13] <= 3 ? sram_sizes[header[0x13]] : 128) * 1024; + printf ("[13] SRAM size: %d kB => %s\n", + y / 1024, matches_deviates (snes_sramsize == y)); + + y = header[0x14]; + if (y) + printf ("[14] A15=%s selects SRAM\n", y == 1 ? "x" : y == 2 ? "0" : "1"); + else + printf ("[14] A15 not used for SRAM control\n"); + for (x = 0; x < 4; x++) + { + if (x & 1) + { + y = header[0x15 + x / 2] >> 2; + z = 2; + } + else + { + y = header[0x15 + x / 2] & 0x3; + z = 0; + } + if (y != 1) + printf ("[%x:%d-%d] A%d=%s selects SRAM\n", + 0x15 + x / 2, z + 1, z, 20 + x, y == 0 ? "x" : y == 2 ? "0" : "1"); + } + + y = header[0x17]; + printf ("[17] SRAM mapping mode: %s => %s\n", + y == 3 ? "LoROM" : y == 0 ? "HiROM" : "unknown", + matches_deviates ((snes_hirom ? 0 : 3) == y)); + } + else if (type == GD3) + { + y = -1; + if (header[0x10] == 0x81) + y = 8 * 1024; + else if (header[0x10] == 0x82) + y = 2 * 1024; + else if (header[0x10] == 0x80) + y = 32 * 1024; // or 0 + if (y == 32 * 1024) + printf ("[10] SRAM size: 0 kB / 32 kB => %s\n", + matches_deviates (snes_sramsize == 0 || snes_sramsize == 32 * 1024)); + else + printf ("[10] SRAM size: %d kB => %s\n", + y / 1024, matches_deviates (snes_sramsize == y)); + } + + type = org_type; + + return 0; +} + + +unsigned short int +get_internal_sums (st_rominfo_t *rominfo) +/* + Returns the sum of the internal checksum and the internal inverse checksum + if the values for snes_hirom and rominfo->buheader_len are correct. If the + values are correct the sum will be 0xffff. Note that the sum for bad ROM + dumps can also be 0xffff, because this function adds the internal checksum + bytes and doesn't do anything with the real, i.e. calculated, checksum. +*/ +{ + int image = SNES_HEADER_START + snes_header_base + snes_hirom + + rominfo->buheader_len; + // don't use rominfo->header_start here! + unsigned char buf[4]; + + ucon64_fread (buf, image + 44, 4, ucon64.rom); + return buf[0] + (buf[1] << 8) + buf[2] + (buf[3] << 8); +} + + +static void +snes_handle_buheader (st_rominfo_t *rominfo, st_unknown_header_t *header) +/* + Determine the size of a possible backup unit header. This function also tries + to determine the bank type in the process. However, snes_set_hirom() has the + final word about that. +*/ +{ + int x = 0, y; + /* + Check for "Extended" ROM dumps first, because at least one of them + (Tales of Phantasia (J)) has two headers; an incorrect one at the normal + location and a correct one at the Extended HiROM location. + */ + if (ucon64.file_size >= (int) (SNES_HEADER_START + SNES_EROM + SNES_HEADER_LEN)) + { + snes_header_base = SNES_EROM; + snes_hirom = SNES_HIROM; + rominfo->buheader_len = 0; + if ((x = get_internal_sums (rominfo)) != 0xffff) + { + rominfo->buheader_len = SWC_HEADER_LEN; + if ((x = get_internal_sums (rominfo)) != 0xffff) + { + snes_hirom = 0; + if ((x = get_internal_sums (rominfo)) != 0xffff) + { + rominfo->buheader_len = 0; + x = get_internal_sums (rominfo); + } + } + } + } + if (x != 0xffff) + { + snes_header_base = 0; + snes_hirom = 0; + rominfo->buheader_len = 0; + if ((x = get_internal_sums (rominfo)) != 0xffff) + { + rominfo->buheader_len = SWC_HEADER_LEN; + if ((x = get_internal_sums (rominfo)) != 0xffff) + { + snes_hirom = SNES_HIROM; + if ((x = get_internal_sums (rominfo)) != 0xffff) + { + rominfo->buheader_len = 0; + x = get_internal_sums (rominfo); + } + } + } + } + + if (header->id1 == 0xaa && header->id2 == 0xbb && header->type == 4) + type = SWC; + else if (!strncmp ((char *) header, "GAME DOCTOR SF 3", 16)) + type = GD3; + else if (!strncmp ((char *) header + 8, "SUPERUFO", 8)) + type = UFO; + else if ((header->hirom == 0x80 && // HiROM + ((header->emulation1 == 0x77 && header->emulation2 == 0x83) || + (header->emulation1 == 0xdd && header->emulation2 == 0x82) || + (header->emulation1 == 0xdd && header->emulation2 == 0x02) || + (header->emulation1 == 0xf7 && header->emulation2 == 0x83) || + (header->emulation1 == 0xfd && header->emulation2 == 0x82))) + || + (header->hirom == 0x00 && // LoROM + ((header->emulation1 == 0x77 && header->emulation2 == 0x83) || + (header->emulation1 == 0x00 && header->emulation2 == 0x80) || +#if 1 + // This makes NES FFE ROMs & Game Boy ROMs be detected as SNES + // ROMs, see src/console/nes.c & src/console/gb.c + (header->emulation1 == 0x00 && header->emulation2 == 0x00) || +#endif + (header->emulation1 == 0x47 && header->emulation2 == 0x83) || + (header->emulation1 == 0x11 && header->emulation2 == 0x02))) + ) + type = FIG; + else if (rominfo->buheader_len == 0 && x == 0xffff) + type = MGD_SNES; + + /* + x can be better trusted than type == FIG, but x being 0xffff is definitely + not a guarantee that rominfo->buheader_len already has the right value + (e.g. Earthworm Jim (U), Alfred Chicken (U|E), Soldiers of Fortune (U)). + */ +#if 0 + if (type != MGD_SNES) // don't do "&& type != SMC" or we'll miss a lot of PD ROMs +#endif + { + y = ((header->size_high << 8) + header->size_low) * 8 * 1024; + y += SWC_HEADER_LEN; // if SWC-like header -> hdr[1] high byte, + if (y == ucon64.file_size) // hdr[0] low byte of # 8 kB blocks in ROM + rominfo->buheader_len = SWC_HEADER_LEN; + else + { + int surplus = ucon64.file_size % 32768; + if (surplus == 0) + // most likely we guessed the copier type wrong + { + rominfo->buheader_len = 0; + type = MGD_SNES; + } + /* + Check for surplus being smaller than 31232 instead of MAXBUFSIZE + (32768) to detect "Joystick Sampler with Still Picture (PD)" (64000 + bytes, including SWC header). + "Super Wild Card V2.255 DOS ROM (BIOS)" is 16384 bytes (without + header), so check for surplus being smaller than 16384. + Shadow, The (Beta) [b3] has a surplus of 7680 bytes (15 * 512). So, + accept a surplus of up to 7680 bytes as a header... + */ + else if (surplus % SWC_HEADER_LEN == 0 && + surplus < (int) (15 * SWC_HEADER_LEN) && + ucon64.file_size > surplus) + rominfo->buheader_len = surplus; + // special case for Infinity Demo (PD)... (has odd size, but SWC + // header). Don't add "|| type == FIG" as it is too unreliable + else if (type == SWC || type == GD3 || type == UFO) + rominfo->buheader_len = SWC_HEADER_LEN; + } + } + if (UCON64_ISSET (ucon64.buheader_len)) // -hd, -nhd or -hdn switch was specified + { + rominfo->buheader_len = ucon64.buheader_len; + if (type == MGD_SNES && rominfo->buheader_len) + type = SMC; + } + + if (rominfo->buheader_len && !memcmp ((unsigned char *) header + 0x1e8, "NSRT", 4)) + nsrt_header = 1; + else + nsrt_header = 0; +} + + +static int +snes_set_hirom (unsigned char *rom_buffer, int size) +/* + This function tries to determine if the ROM dump is LoROM or HiROM. It returns + the highest value that check_banktype() returns. A higher value means a higher + chance the bank type is correct. +*/ +{ + int x, score_hi = 0, score_lo = 0; + + if (size >= (int) (8 * MBIT + SNES_HEADER_START + SNES_HIROM + SNES_HEADER_LEN) && + !strncmp ((char *) rom_buffer + SNES_HEADER_START + 16, "ADD-ON BASE CASSETE", 19)) + { // A Sufami Turbo dump contains 4 copies of the ST BIOS, which is 2 Mbit. + // After the BIOS comes the game data. + st_dump = 1; + snes_header_base = 8 * MBIT; + x = 8 * MBIT + SNES_HIROM; + } + else if (snes_header_base == SNES_EROM) + x = SNES_EROM + SNES_HIROM; + else + { + snes_header_base = 0; + x = SNES_HIROM; + } + + if (size > SNES_HEADER_START + SNES_HIROM + 0x4d) + { + score_hi = check_banktype (rom_buffer, x); + score_lo = check_banktype (rom_buffer, snes_header_base); + } + if (score_hi > score_lo) // yes, a preference for LoROM + { // (">" vs. ">=") + snes_hirom = SNES_HIROM; + x = score_hi; + } + else + { + snes_hirom = 0; + x = score_lo; + } + /* + It would be nice if snes_header.map_type & 1 could be used to verify that + snes_hirom has the correct value, but it doesn't help much. For games like + Batman Revenge of the Joker (U) it matches what check_banktype() finds. + snes_hirom must be 0x8000 for that game in order to display correct + information. However it should be 0 when writing a copier header. + So, snes_header.map_type can't be used to recognize such cases. + */ + + // step 3. + if (UCON64_ISSET (ucon64.snes_hirom)) // -hi or -nhi switch was specified + { + snes_hirom = ucon64.snes_hirom; + // keep snes_deinterleave() from changing snes_hirom + snes_hirom_ok = 1; + if (size < (int) (SNES_HEADER_START + SNES_HIROM + SNES_HEADER_LEN)) + snes_hirom = 0; + } + + if (UCON64_ISSET (ucon64.snes_header_base)) // -erom switch was specified + { + snes_header_base = ucon64.snes_header_base; + if (snes_header_base && + size < (int) (snes_header_base + SNES_HEADER_START + snes_hirom + SNES_HEADER_LEN)) + snes_header_base = 0; // Don't let -erom crash on a too small ROM + } + + return x; +} + + +static void +snes_set_bs_dump (st_rominfo_t *rominfo, unsigned char *rom_buffer, int size) +{ + bs_dump = snes_check_bs (); + /* + Do the following check before checking for ucon64.bs_dump. Then it's + possible to specify both -erom and -bs with effect, for what it's worth ;-) + The main reason to test this case is to display correct info for "SD Gundam + G-NEXT + Rom Pack Collection (J) [!]". Note that testing for SNES_EROM + causes the code to be skipped for Sufami Turbo dumps. + */ + if (bs_dump && + snes_header_base == SNES_EROM && !UCON64_ISSET (ucon64.snes_header_base)) + { + bs_dump = 0; + snes_header_base = 0; + snes_set_hirom (rom_buffer, size); + rominfo->header_start = snes_header_base + SNES_HEADER_START + snes_hirom; + memcpy (&snes_header, rom_buffer + rominfo->header_start, rominfo->header_len); + } + if (UCON64_ISSET (ucon64.bs_dump)) // -bs or -nbs switch was specified + { + bs_dump = ucon64.bs_dump; + if (bs_dump && snes_header_base == SNES_EROM) + bs_dump = 2; // Extended ROM => must be add-on cart + } +} + + +int +snes_init (st_rominfo_t *rominfo) +{ + int x, y, size, calc_checksums, result = -1; // it's no SNES ROM dump until detected otherwise + unsigned char *rom_buffer; + st_unknown_header_t header = { 0, 0, 0, 0, 0, 0, { 0 }, 0, 0, 0, { 0 } }; + char buf[MAXBUFSIZE], *str; +#define SNES_COUNTRY_MAX 0xe + static const char *snes_country[SNES_COUNTRY_MAX] = + { + "Japan", + "U.S.A.", + "Europe, Oceania and Asia", // Australia is part of Oceania + "Sweden", + "Finland", + "Denmark", + "France", + "The Netherlands", // Holland is an incorrect name for The Netherlands + "Spain", + "Germany, Austria and Switzerland", + "Italy", + "Hong Kong and China", + "Indonesia", + "South Korea" + }, + *snes_rom_type[3] = + { + "ROM", // NOT ROM only, ROM + other chip is possible + "ROM + SRAM", + "ROM + SRAM + Battery" + }, + *snes_bs_type[4] = + { + "Full size + Sound link", + "Full size", + "Part size + Sound link", + "Part size" + }; + + snes_hirom_ok = 0; // init these vars here, for -lsv + snes_sramsize = 0; // idem + type = SMC; // idem, SMC indicates unknown copier type + bs_dump = 0; // for -lsv, but also just to init it + st_dump = 0; // idem + + x = 0; + ucon64_fread (&header, UNKNOWN_HEADER_START, UNKNOWN_HEADER_LEN, ucon64.rom); + if (header.id1 == 0xaa && header.id2 == 0xbb) + x = SWC; + else if (!strncmp ((char *) &header + 8, "SUPERUFO", 8)) + x = UFO; + if ((x == SWC && (header.type == 5 || header.type == 8)) || + (x == UFO && (OFFSET (header, 0x10) == 0))) + { + rominfo->buheader_len = SWC_HEADER_LEN; + strcpy (rominfo->name, "Name: N/A"); + rominfo->console_usage = NULL; + rominfo->maker = "Publisher: You?"; + rominfo->country = "Country: Your country?"; + rominfo->has_internal_crc = 0; + ucon64.split = 0; // SRAM & RTS files are never split + if (x == SWC) + { + rominfo->copier_usage = swc_usage[0].help; + type = SWC; + if (header.type == 5) + strcat (rominfo->misc, "Type: Super Wild Card SRAM file\n"); + else if (header.type == 8) + strcat (rominfo->misc, "Type: Super Wild Card RTS file\n"); + } + else if (x == UFO) + { + rominfo->copier_usage = ufo_usage[0].help; + type = UFO; + strcat (rominfo->misc, "Type: Super UFO SRAM file\n"); + } + return 0; // rest is nonsense for SRAM/RTS file + } + + /* + snes_testinterleaved() needs the correct value for snes_hirom and + rominfo->header_start. snes_hirom may be used only after the check for + -hi/-nhi has been done. However, rominfo->buheader_len must have the + correct value in order to determine the value for snes_hirom. This can only + be known after the backup unit header length detection (including the check + for -hd/-nhd/-hdn). So, the order must be + 1. - rominfo->buheader_len + 2. - snes_hirom + 3. - check for -hi/-nhi + 4. - snes_testinterleaved() + */ + + snes_handle_buheader (rominfo, &header); // step 1. & first part of step 2. + + if (UCON64_ISSET (ucon64.split)) + snes_split = ucon64.split; + else + { + if (type == SWC || type == FIG || type == UFO) + { + // TODO?: fix this code for last split file + snes_split = 0; + if (header.emulation & 0x40 || (type == UFO && header.emulation & 0x10)) + snes_split = ucon64_testsplit (ucon64.rom); + ucon64.split = snes_split; // force displayed info to be correct + } // if not split (see ucon64.c) + else + snes_split = ucon64_testsplit (ucon64.rom); + } + + size = ucon64.file_size - rominfo->buheader_len; + if (size < (int) (SNES_HEADER_START + SNES_HEADER_LEN)) + { + snes_hirom = 0; + if (UCON64_ISSET (ucon64.snes_hirom)) // see snes_set_hirom() + snes_hirom = ucon64.snes_hirom; + snes_hirom_ok = 1; + + rominfo->interleaved = 0; + if (UCON64_ISSET (ucon64.interleaved)) + rominfo->interleaved = ucon64.interleaved; + return -1; // don't continue (seg faults!) + } + if (ucon64.console == UCON64_SNES || (type != SMC && size <= 16 * 1024 * 1024)) + result = 0; // it seems to be a SNES ROM dump + + if (!(rom_buffer = (unsigned char *) malloc (size))) + { + fprintf (stderr, ucon64_msg[ROM_BUFFER_ERROR], size); + return -1; // don't exit(), we might've been + } // called with -lsv + ucon64_fread (rom_buffer, rominfo->buheader_len, size, ucon64.rom); + + x = snes_set_hirom (rom_buffer, size); // second part of step 2. & step 3. + + rominfo->header_start = snes_header_base + SNES_HEADER_START + snes_hirom; + rominfo->header_len = SNES_HEADER_LEN; + // set snes_header before calling snes_testinterleaved() + memcpy (&snes_header, rom_buffer + rominfo->header_start, rominfo->header_len); + rominfo->header = &snes_header; + + // step 4. + rominfo->interleaved = UCON64_ISSET (ucon64.interleaved) ? + ucon64.interleaved : snes_testinterleaved (rom_buffer, size, x); + + calc_checksums = !UCON64_ISSET (ucon64.do_not_calc_crc) && result == 0; + // we want the CRC32 of the "raw" data (too) + if (calc_checksums) + ucon64.fcrc32 = crc32 (0, rom_buffer, size); + + // bs_dump has to be set before calling snes_chksum(), but snes_check_bs() + // needs snes_header to be filled with the correct data + if (rominfo->interleaved) + { + snes_deinterleave (rominfo, &rom_buffer, size); + snes_set_hirom (rom_buffer, size); + rominfo->header_start = snes_header_base + SNES_HEADER_START + snes_hirom; + memcpy (&snes_header, rom_buffer + rominfo->header_start, rominfo->header_len); + } + + snes_set_bs_dump (rominfo, rom_buffer, size); + + // internal ROM name + if (!bs_dump && st_dump) + memcpy (rominfo->name, rom_buffer + 8 * MBIT + 16, SNES_NAME_LEN); + else + { + memcpy (rominfo->name, snes_header.name, SNES_NAME_LEN); + for (x = 0; x < SNES_NAME_LEN; x++) + if (!isprint ((int) rominfo->name[x])) // we can't use mkprint(), because it skips \n + rominfo->name[x] = '.'; + } + rominfo->name[(bs_dump || st_dump) ? 16 : SNES_NAME_LEN] = 0; + // terminate string (at 1st byte _after_ string) + + if (calc_checksums) + { + // internal ROM crc + rominfo->has_internal_crc = 1; + rominfo->internal_crc_len = 2; + rominfo->current_internal_crc = snes_chksum (rominfo, &rom_buffer, size); + rominfo->internal_crc = snes_header.checksum_low; + rominfo->internal_crc += snes_header.checksum_high << 8; + x = snes_header.inverse_checksum_low; + x += snes_header.inverse_checksum_high << 8; + y = ~rominfo->current_internal_crc & 0xffff; + sprintf (rominfo->internal_crc2, + "Inverse checksum: %s, 0x%04x (calculated) %c= 0x%04x (internal)", +#ifdef USE_ANSI_COLOR + ucon64.ansi_color ? + ((y == x) ? "\x1b[01;32mOk\x1b[0m" : "\x1b[01;31mBad\x1b[0m") + : + ((y == x) ? "Ok" : "Bad"), +#else + (y == x) ? "Ok" : "Bad", +#endif + y, (y == x) ? '=' : '!', x); + if (bs_dump == 1) // bs_dump == 2 for BS add-on dumps + { + unsigned short int *bs_date_ptr = (unsigned short int *) + (rom_buffer + snes_header_base + SNES_HEADER_START + snes_hirom + 38); + /* + We follow the "uCONSRT standard" for calculating the CRC32 of BS + dumps. At the time of this writing (20 June 2003) the uCONSRT + standard defines that the date of BS dumps has to be "skipped" + (overwritten with a constant number), because the date is variable. + When a BS dump is made the BSX fills in the date. Otherwise two + dumps of the same memory card would have a different CRC32. + For BS add-on cartridge dumps we don't do anything special as they + come from cartridges (with a constant date). + Why 42? It's the answer to life, the universe and everything :-) + */ + *bs_date_ptr = me2le_16 (0x0042); + get_nsrt_info (rom_buffer, rominfo->header_start, (unsigned char *) &header); + ucon64.crc32 = crc32 (0, rom_buffer, size); + } + else if (rominfo->interleaved || nsrt_header) + { + get_nsrt_info (rom_buffer, rominfo->header_start, (unsigned char *) &header); + ucon64.crc32 = crc32 (0, rom_buffer, size); + } + else + { + ucon64.crc32 = ucon64.fcrc32; + ucon64.fcrc32 = 0; + } + } + + rominfo->console_usage = snes_usage[0].help; + if (!rominfo->buheader_len) + rominfo->copier_usage = mgd_usage[0].help; + else + { + switch (type) + { + case GD3: + rominfo->copier_usage = gd_usage[0].help; + break; + case UFO: + rominfo->copier_usage = ufo_usage[0].help; + break; + case FIG: + rominfo->copier_usage = fig_usage[0].help; + break; + // just assume it's in SWC format... (there are _many_ ROMs on the + // internet with incorrect headers) + default: + rominfo->copier_usage = swc_usage[0].help; + } + } + + // ROM maker + if (snes_header.maker == 0x33 || bs_dump) + { + int ih = snes_header.maker_high <= '9' ? + snes_header.maker_high - '0' : snes_header.maker_high - 'A' + 10, + il = snes_header.maker_low <= '9' ? + snes_header.maker_low - '0' : snes_header.maker_low - 'A' + 10; + x = ih * 36 + il; + } + else if (snes_header.maker != 0) + x = (snes_header.maker >> 4) * 36 + (snes_header.maker & 0x0f); + else + x = 0; // warning remover + + if (x < 0 || x >= NINTENDO_MAKER_LEN) + x = 0; + rominfo->maker = snes_header.maker == 0 ? "Demo or Beta ROM?" : + NULL_TO_UNKNOWN_S (nintendo_maker[x]); + + if (!bs_dump) + { + // ROM country + rominfo->country = NULL_TO_UNKNOWN_S (snes_country[MIN (snes_header.country, SNES_COUNTRY_MAX - 1)]); + + // misc stuff + sprintf (buf, "HiROM: %s\n", snes_hirom ? "Yes" : "No"); + strcat (rominfo->misc, buf); + + sprintf (buf, "Internal size: %d Mb\n", 1 << (snes_header.rom_size - 7)); + strcat (rominfo->misc, buf); +/* + sprintf (buf, "Map type: %x\n", snes_header.map_type); + strcat (rominfo->misc, buf); +*/ + sprintf (buf, "ROM type: (%x) %s", snes_header.rom_type, + snes_rom_type[(snes_header.rom_type & 7) % 3]); + strcat (rominfo->misc, buf); + if ((snes_header.rom_type & 0xf) >= 3) + { + if (snes_header.rom_type == 3 || snes_header.rom_type == 5) + str = "DSP"; + else if (snes_header.rom_type == 0x13) + str = "SRAM + Super FX (Mario Chip 1)"; + else if (snes_header.rom_type == 0x1a) + str = "Super FX"; + else if (snes_header.rom_type == 0x14 || snes_header.rom_type == 0x15) + { + if (snes_header.rom_size > 10) + str = "Super FX 2"; // larger than 8 Mbit + else + str = "Super FX"; + } + else if (snes_header.rom_type == 0x25) + str = "OBC1"; + else if (snes_header.rom_type == 0x34 || snes_header.rom_type == 0x35) + str = "SA-1"; + else if (snes_header.rom_type == 0x43 || snes_header.rom_type == 0x45) + str = "S-DD1"; + else if (snes_header.rom_type == 0x55) + str = "S-RTC"; + else if (snes_header.rom_type == 0xe3) + str = "Game Boy data"; + else if (snes_header.rom_type == 0xf3) + str = "C4"; + else if (snes_header.rom_type == 0xf5) + { + if (snes_header.map_type == 0x30) + str = "Seta RISC"; + else + str = "SPC7110"; + } + else if (snes_header.rom_type == 0xf6) + str = "Seta DSP"; + else if (snes_header.rom_type == 0xf9) + str = "SPC7110 + RTC"; + else + str = "Unknown"; + + sprintf (buf, " + %s", str); + strcat (rominfo->misc, buf); + } + strcat (rominfo->misc, "\n"); + + sprintf (buf, "ROM speed: %s\n", + snes_header.map_type & 0x10 ? "120 ns (FastROM)" : "200 ns (SlowROM)"); + strcat (rominfo->misc, buf); + + if (snes_header.rom_type == 0x13 || snes_header.rom_type == 0x1a || + snes_header.rom_type == 0x14 || snes_header.rom_type == 0x15) + { + snes_sramsize = 32 * 1024; + if (snes_header.maker == 0x33) + snes_sfx_sramsize = snes_header.sfx_sram_size ? 1 << (snes_header.sfx_sram_size + 10) : 0; + else + snes_sfx_sramsize = 32 * 1024; + } + else + { + snes_sramsize = snes_header.sram_size ? 1 << (snes_header.sram_size + 10) : 0; + snes_sfx_sramsize = 0; + } + + if (!snes_sramsize && !snes_sfx_sramsize) + sprintf (buf, "SRAM: No\n"); + else + sprintf (buf, "SRAM: Yes, %d kBytes\n", (snes_sfx_sramsize ? snes_sfx_sramsize : snes_sramsize) / 1024); + strcat (rominfo->misc, buf); + } + else // BS info + { + // ROM country + rominfo->country = "Japan"; + // misc stuff + if (bs_dump == 2) + sprintf (buf, "\nBroadcast Satellaview add-on cartridge dump\n"); + else + sprintf (buf, "\nBroadcast Satellaview dump\n"); // new line is intentional + strcat (rominfo->misc, buf); + + x = snes_header.bs_day & 0x0f; + if (x <= 3) + y = (snes_header.bs_day >> 4) * 2; + else if (x >= 8 && x <= 0xb) + y = (snes_header.bs_day >> 4) * 2 + 1; + else // incorrect data + y = 0; + sprintf (buf, "Dumping date: %d/%d\n", y, snes_header.bs_month >> 4); + strcat (rominfo->misc, buf); + + sprintf (buf, "HiROM: %s\n", snes_hirom ? "Yes" : "No"); + strcat (rominfo->misc, buf); + + // misc stuff + sprintf (buf, "Internal size: %d Mb\n", 8 - (snes_header.bs_type >> (4 + 1)) * 4); + strcat (rominfo->misc, buf); +/* + sprintf (buf, "Map type: %x\n", snes_header.bs_map_type); + strcat (rominfo->misc, buf); +*/ + x = snes_header.bs_type >> 4; + sprintf (buf, "ROM type: (%x) %s\n", snes_header.bs_type, + x > 3 ? "Unknown" : snes_bs_type[x]); + strcat (rominfo->misc, buf); + + /* + It seems logical that the same condition as for regular cartridge dumps + tells whether it's a FastROM or a SlowROM. The original condition was + "(snes_header.bs_map_type >> 4) > 2". + */ + sprintf (buf, "ROM speed: %s\n", + snes_header.bs_map_type & 0x10 ? "120 ns (FastROM)" : "200 ns (SlowROM)"); + strcat (rominfo->misc, buf); + } + + sprintf (buf, "Version: 1.%d", snes_header.version); + strcat (rominfo->misc, buf); + + if (nsrt_header) + handle_nsrt_header (rominfo, (unsigned char *) &header, snes_country); + + free (rom_buffer); + return result; +} + + +#if 1 +int +snes_check_bs (void) +{ + if ((snes_header.maker == 0x33 || snes_header.maker == 0xff) && + (snes_header.map_type == 0 || (snes_header.map_type & 0x83) == 0x80)) + { + int date = (snes_header.bs_day << 8) | snes_header.bs_month; + if (date == 0) + return 2; // BS add-on cartridge dump + else if (date == 0xffff || + ((snes_header.bs_month & 0xf) == 0 && + ((unsigned int) ((snes_header.bs_month >> 4) - 1)) < 12)) + return 1; // BS dump (via BSX) + } + return 0; +} +#else +static int +check_char (unsigned char c) +{ + if ((c & 0x80) == 0) + return 0; + + if ((c - 0x20) & 0x40) + return 1; + else + return 0; +} + + +static int +snes_bs_name (void) +{ + unsigned int value; + int n, n_valid = 0; + + for (n = 0; n < 16; n++) + { + value = snes_header.name[n]; + if (check_char ((unsigned char) value) != 0) + { + value = snes_header.name[n + 1]; + if (value < 0x20) + if ((n_valid != 11) || (value != 0)) // Dr. Mario Hack + break; + + n_valid++; + n++; + } + else + { + if (value == 0) + { + if (n_valid == 0) + break; + continue; + } + + if (value < 0x20) + break; + + if (value >= 0x80) + if (value < 0xa0 || value >= 0xf0) + break; + n_valid++; + } + } + + return n == 16 && n_valid > 0 ? 1 : 0; +} + + +int +snes_check_bs (void) +{ + unsigned int value; + + if (snes_header.bs_type & 0x4f) + return 0; + + if (snes_header.maker != 0x33 && snes_header.maker != 0xff) + return 0; + + value = (snes_header.bs_day << 8) | snes_header.bs_month; + if (value != 0x0000 && value != 0xffff) + { + if ((value & 0x040f) != 0) + return 0; + if ((value & 0xff) > 0xc0) + return 0; + } + + if (snes_header.bs_map_type & 0xce || ((snes_header.bs_map_type & 0x30) == 0)) + return 0; + + if ((snes_header.map_type & 0x03) != 0) + return 0; + + value = ((unsigned char *) &snes_header)[35]; + if (value != 0x00 && value != 0xff) + return 0; + + if (((unsigned char *) &snes_header)[36] != 0x00) + return 0; + + return snes_bs_name (); +} +#endif + + +#if 1 +int +snes_chksum (st_rominfo_t *rominfo, unsigned char **rom_buffer, int rom_size) +/* + Calculate the checksum of a SNES ROM. This version of snes_chksum() has one + advantage over the one below in that it is a bit more sensitive to overdumps. +*/ +{ + int i, internal_rom_size, half_internal_rom_size, remainder; + unsigned short int sum1, sum2; + + if (!bs_dump && snes_header.rom_size <= 13) // largest known cart size is 64 Mbit + internal_rom_size = 1 << (snes_header.rom_size + 10); + else + internal_rom_size = st_dump ? rom_size - 8 * MBIT : rom_size; + + half_internal_rom_size = internal_rom_size >> 1; + + sum1 = 0; + if ((snes_header.rom_type == 0xf5 && snes_header.map_type != 0x30) + || snes_header.rom_type == 0xf9 || bs_dump) + { + for (i = 0; i < rom_size; i++) + sum1 += (*rom_buffer)[i]; // Far East of Eden Zero (J) + if (rom_size == 24 * MBIT) + sum1 *= 2; // Momotaro Dentetsu Happy (J) + + if (bs_dump) // Broadcast Satellaview "ROM" + for (i = rominfo->header_start; + i < (int) (rominfo->header_start + SNES_HEADER_LEN); i++) + sum1 -= (*rom_buffer)[i]; + } + else + { + // Handle split files. Don't make this dependent of ucon64.split as + // the last file doesn't get detected as being split. Besides, we don't + // want to crash on *any* input data. + int i_start = st_dump ? 8 * MBIT : 0, + i_end = i_start + + (half_internal_rom_size > rom_size ? rom_size : half_internal_rom_size); + + for (i = i_start; i < i_end; i++) // normal ROM + sum1 += (*rom_buffer)[i]; + + remainder = rom_size - i_start - half_internal_rom_size; + if (!remainder) // don't divide by zero below + remainder = half_internal_rom_size; + + sum2 = 0; + for (i = i_start + half_internal_rom_size; i < rom_size; i++) + sum2 += (*rom_buffer)[i]; + sum1 += sum2 * (half_internal_rom_size / remainder); +// printf ("DEBUG internal_rom_size: %d; half_internal_rom_size: %d; remainder: %d\n", +// internal_rom_size, half_internal_rom_size, remainder); + } + + return sum1; +} +#else +int +snes_chksum (st_rominfo_t *rominfo, unsigned char **rom_buffer, int rom_size) +// Calculate the checksum of a SNES ROM +{ + int i, internal_rom_size; + unsigned short int sum; + + if (!bs_dump) + { + internal_rom_size = 1 << (snes_header.rom_size + 10); + if (internal_rom_size < rom_size) + internal_rom_size = rom_size; + if (internal_rom_size > 16 * 1024 *1024) + internal_rom_size = 16 * 1024 *1024; + } + else + internal_rom_size = rom_size; + +// printf ("DEBUG internal_rom_size: %d; rom_size: %d\n", internal_rom_size, rom_size); + if (internal_rom_size > rom_size) + { + int blocksize; + unsigned char *ptr; + + if (!(*rom_buffer = (unsigned char *) realloc (*rom_buffer, internal_rom_size))) + { + fprintf (stderr, ucon64_msg[ROM_BUFFER_ERROR], internal_rom_size); + return -1; // don't exit(), we might've been + } // called with -lsv + blocksize = internal_rom_size - rom_size; + ptr = *rom_buffer + rom_size; + if (blocksize % (3 * MBIT) == 0) // 6 (16 - 10), 12 (32 - 20), 24 (64 - 40) + { + blocksize /= 3; + for (i = 0; i < 3; i++) + memcpy (ptr + i * blocksize, ptr - blocksize, blocksize); + } + else + memcpy (ptr, ptr - blocksize, blocksize); + } + + sum = 0; + if ((snes_header.rom_type == 0xf5 && snes_header.map_type != 0x30) + || snes_header.rom_type == 0xf9 || bs_dump) + { + for (i = 0; i < rom_size; i++) + sum += (*rom_buffer)[i]; // Far East of Eden Zero (J) + if (rom_size == 24 * MBIT) + sum *= 2; // Momotaro Dentetsu Happy (J) + + if (bs_dump) + for (i = rominfo->header_start; + i < (int) (rominfo->header_start + SNES_HEADER_LEN); i++) + sum -= (*rom_buffer)[i]; + } + else + { + int i_start = st_dump ? 8 * MBIT : 0; + for (i = i_start; i < internal_rom_size; i++) + sum += (*rom_buffer)[i]; + } + + return sum; +} +#endif + + +int +snes_isprint (char *s, int len) +{ + unsigned char *p = (unsigned char *) s; + + for (; len >= 0; p++, len--) + // we don't use isprint(), because we don't want to get different results + // of check_banktype() for different locale settings + if (*p < 0x20 || *p > 0x7e) + return FALSE; + + return TRUE; +} + + +int +check_banktype (unsigned char *rom_buffer, int header_offset) +/* + This function is used to check if the value of header_offset is a good guess + for the location of the internal SNES header (and thus of the bank type + (LoROM, HiROM or Extended HiROM)). The higher the returned value, the higher + the chance the guess was correct. +*/ +{ + int score = 0, x, y; + +// dumper (stdout, (char *) rom_buffer + SNES_HEADER_START + header_offset, +// SNES_HEADER_LEN, SNES_HEADER_START + header_offset, DUMPER_HEX); + + // game ID info (many games don't have useful info here) + if (snes_isprint ((char *) rom_buffer + SNES_HEADER_START + header_offset + 2, 4)) + score += 1; + + if (!bs_dump) + { + if (snes_isprint ((char *) rom_buffer + SNES_HEADER_START + header_offset + 16, + SNES_NAME_LEN)) + score += 1; + + // map type + x = rom_buffer[SNES_HEADER_START + header_offset + 37]; + if ((x & 0xf) < 4) + score += 2; + y = rom_buffer[SNES_HEADER_START + header_offset + 38]; + if (snes_hirom_ok && !(y == 0x34 || y == 0x35)) // ROM type for SA-1 + // map type, HiROM flag (only if we're sure about value of snes_hirom) + if ((x & 1) == ((header_offset >= snes_header_base + SNES_HIROM) ? 1 : 0)) + score += 1; + + // ROM size + if (1 << (rom_buffer[SNES_HEADER_START + header_offset + 39] - 7) <= 64) + score += 1; + + // SRAM size + if (1 << rom_buffer[SNES_HEADER_START + header_offset + 40] <= 256) + score += 1; + + // country + if (rom_buffer[SNES_HEADER_START + header_offset + 41] <= 13) + score += 1; + } + else + { + if (snes_hirom_ok) + // map type, HiROM flag + if ((rom_buffer[SNES_HEADER_START + header_offset + 40] & 1) == + ((header_offset >= snes_header_base + SNES_HIROM) ? 1 : 0)) + score += 1; + } + + // publisher "escape code" + if (rom_buffer[SNES_HEADER_START + header_offset + 42] == 0x33) + score += 2; + else // publisher code + if (snes_isprint ((char *) rom_buffer + SNES_HEADER_START + header_offset, 2)) + score += 2; + + // version + if (rom_buffer[SNES_HEADER_START + header_offset + 43] <= 2) + score += 2; + + // checksum bytes + x = rom_buffer[SNES_HEADER_START + header_offset + 44] + + (rom_buffer[SNES_HEADER_START + header_offset + 45] << 8); + y = rom_buffer[SNES_HEADER_START + header_offset + 46] + + (rom_buffer[SNES_HEADER_START + header_offset + 47] << 8); + if (x + y == 0xffff) + { + if (x == 0xffff || y == 0xffff) + score += 3; + else + score += 4; + } + + // reset vector + if (rom_buffer[SNES_HEADER_START + header_offset + 0x4d] & 0x80) + score += 3; + + return score; +} + + +int +snes_demirror (st_rominfo_t *rominfo) // nice verb :-) +{ + int fixed = 0, size = ucon64.file_size - rominfo->buheader_len, mirror_size = 0; + char src_name[FILENAME_MAX], dest_name[FILENAME_MAX]; + unsigned char *buffer; + + if (!(buffer = (unsigned char *) malloc (size))) + { + fprintf (stderr, ucon64_msg[ROM_BUFFER_ERROR], size); + exit (1); + } + ucon64_fread (buffer, rominfo->buheader_len, size, ucon64.rom); + if (rominfo->interleaved) + { + printf ("NOTE: ROM is interleaved -- deinterleaving\n"); + snes_deinterleave (rominfo, &buffer, size); + } + + if (size % (12 * MBIT) == 0 && size != 36 * MBIT) // 12, 24 or 48 Mbit dumps can be mirrored + mirror_size = size / 12 * 2; + else if (size == 16 * MBIT) // ...and some C4 dumps too + mirror_size = 4 * MBIT; + else if (size == 32 * MBIT) // ...and some SA-1 dumps too + mirror_size = 8 * MBIT; + + if (mirror_size) + { + if (memcmp (buffer + size - mirror_size, buffer + size - 2 * mirror_size, + mirror_size) == 0) + { + if (ucon64.quiet == -1) + printf ("Mirrored: %d - %d == %d - %d\n", + (size - 2 * mirror_size) / MBIT, (size - mirror_size) / MBIT, + (size - mirror_size) / MBIT, size / MBIT); + size -= mirror_size; + fixed = 1; + } + } + + if (!fixed) + { + if (ucon64.quiet < 1) + printf ("NOTE: Did not detect a mirrored block -- no file has been written\n"); + free (buffer); + return 1; + } + + strcpy (src_name, ucon64.rom); + strcpy (dest_name, ucon64.rom); + ucon64_file_handler (dest_name, src_name, 0); + fcopy (src_name, 0, rominfo->buheader_len, dest_name, "wb"); + ucon64_fwrite (buffer, rominfo->buheader_len, size, dest_name, "ab"); + printf (ucon64_msg[WROTE], dest_name); + + remove_temp_file (); + free (buffer); + return 0; +} + + +static void +write_game_table_entry (FILE *destfile, int file_no, st_rominfo_t *rominfo, int size) +{ + int n, uses_DSP; + unsigned char name[0x1c], flags1, flags2; + static int slot = 0; + + uses_DSP = snes_header.rom_type == 3 || snes_header.rom_type == 5 || + snes_header.rom_type == 0xf6; + + fseek (destfile, 0x4000 + (file_no - 1) * 0x20, SEEK_SET); + fputc (0xff, destfile); // 0x0 = 0xff + memcpy (name, rominfo->name, 0x1c); + for (n = 0; n < 0x1c; n++) + { + if (!isprint ((int) name[n])) + name[n] = '.'; + else + name[n] = toupper (name[n]); // The Super Flash loader (SFBOTX2.GS) + } // only supports upper case characters + fwrite (name, 1, 0x1c, destfile); // 0x1 - 0x1c = name + + if (snes_sramsize) + { + if (snes_sramsize == 2 * 1024) + flags2 = 0x00; + else if (snes_sramsize == 8 * 1024) + flags2 = 0x10; + else if (snes_sramsize == 32 * 1024) + flags2 = 0x20; + else // if (snes_sramsize == 128 * 1024) // Default to 1024 kbit SRAM + flags2 = 0x30; + } + else + flags2 = 0x40; + + if (snes_header_base == SNES_EROM) // Enable Extended Map for >32 Mbit ROMs + flags2 |= 0x80; + + flags1 = snes_hirom ? 0x10 : 0x00; + + if (!snes_hirom && uses_DSP) // Set LoROM DSP flag if necessary + flags1 |= 0x01; + + if (slot == 0) + flags1 |= 0x00; + else if (slot == 0x200000) + flags1 |= 0x40; + else if (slot == 0x400000) + flags1 |= 0x20; + else if (slot == 0x600000) + flags1 |= 0x60; + + slot += (size + 16 * MBIT - 1) & ~(16 * MBIT - 1); + + fputc (flags1, destfile); // 0x1d = mapping flags + fputc (flags2, destfile); // 0x1e = SRAM flags + fputc (size / 0x8000, destfile); // 0x1f = ROM size (not used by loader) +} + + +int +snes_multi (int truncate_size, char *fname) +{ +#define BUFSIZE (32 * 1024) + int n, n_files, file_no, bytestowrite, byteswritten, done, truncated = 0, + totalsize_disk = 0, totalsize_card = 0, org_do_not_calc_crc = ucon64.do_not_calc_crc; + struct stat fstate; + FILE *srcfile, *destfile; + char destname[FILENAME_MAX]; + unsigned char buffer[BUFSIZE]; + + if (truncate_size == 0) + { + fprintf (stderr, "ERROR: Can't make multi-game file of 0 bytes\n"); + return -1; + } + + if (fname != NULL) + { + strcpy (destname, fname); + n_files = ucon64.argc; + } + else + { + strcpy (destname, ucon64.argv[ucon64.argc - 1]); + n_files = ucon64.argc - 1; + } + + ucon64_file_handler (destname, NULL, OF_FORCE_BASENAME); + if ((destfile = fopen (destname, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], destname); + return -1; + } + + printf ("Creating multi-game file for Super Flash: %s\n", destname); + + file_no = 0; + for (n = 1; n < n_files; n++) + { + if (access (ucon64.argv[n], F_OK)) + continue; // "file" does not exist (option) + stat (ucon64.argv[n], &fstate); + if (!S_ISREG (fstate.st_mode)) + continue; + if (file_no == 5) // loader + 4 games + { + puts ("WARNING: A multi-game file can contain a maximum of 4 games. The other files\n" + " are ignored."); + break; + } + + ucon64.console = UCON64_UNKNOWN; + ucon64.rom = ucon64.argv[n]; + ucon64.file_size = fsizeof (ucon64.rom); + // DON'T use fstate.st_size, because file could be compressed + ucon64.rominfo->buheader_len = UCON64_ISSET (ucon64.buheader_len) ? + ucon64.buheader_len : 0; + ucon64.rominfo->interleaved = UCON64_ISSET (ucon64.interleaved) ? + ucon64.interleaved : 0; + ucon64.do_not_calc_crc = 1; + if (snes_init (ucon64.rominfo) != 0) + printf ("WARNING: %s does not appear to be a SNES ROM\n", ucon64.rom); + else if (ucon64.rominfo->interleaved) + printf ("WARNING: %s appears to be interleaved\n", ucon64.rom); + + if ((srcfile = fopen (ucon64.rom, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], ucon64.rom); + continue; + } + if (ucon64.rominfo->buheader_len) + fseek (srcfile, ucon64.rominfo->buheader_len, SEEK_SET); + + if (file_no == 0) + { + printf ("Loader: %s\n", ucon64.rom); + if (ucon64.file_size - ucon64.rominfo->buheader_len != 32 * 1024) + printf ("WARNING: Are you sure %s is a loader binary?\n", ucon64.rom); + } + else + { + printf ("ROM%d: %s\n", file_no, ucon64.rom); + write_game_table_entry (destfile, file_no, ucon64.rominfo, + ucon64.file_size - ucon64.rominfo->buheader_len); + fseek (destfile, totalsize_disk, SEEK_SET); // restore file pointer + } + + done = 0; + byteswritten = 0; // # of bytes written per file + while (!done) + { + bytestowrite = fread (buffer, 1, BUFSIZE, srcfile); + if (totalsize_disk + bytestowrite > truncate_size) + { + bytestowrite = truncate_size - totalsize_disk; + done = 1; + truncated = 1; + printf ("Output file is %d Mbit, truncating %s, skipping %d bytes\n", + truncate_size / MBIT, ucon64.rom, ucon64.file_size - + ucon64.rominfo->buheader_len - (byteswritten + bytestowrite)); + } + else if (totalsize_card + bytestowrite > 64 * MBIT - 32 * 1024) + { + /* + Note that it is correct to check for any size larger than 64 + Mbit - 32 kB, as we always overwrite the last 32 kB of the flash + card. Note also that this means it's useless to write a smaller + loader. + */ + bytestowrite = 64 * MBIT - 32 * 1024 - totalsize_card; + done = 1; + truncated = 1; + printf ("Output file needs 64 Mbit on flash card, truncating %s, skipping %d bytes\n", + ucon64.rom, ucon64.file_size - + ucon64.rominfo->buheader_len - (byteswritten + bytestowrite)); + } + totalsize_disk += bytestowrite; + if (file_no > 0) + totalsize_card += bytestowrite; + if (bytestowrite == 0) + done = 1; + fwrite (buffer, 1, bytestowrite, destfile); + byteswritten += bytestowrite; + } + + file_no++; + + // We don't need padding for Super Flash as sf_write_rom() will care + // about alignment. Games have to be aligned to a 16 Mbit boundary. + totalsize_card = (totalsize_card + 16 * MBIT - 1) & ~(16 * MBIT - 1); + fclose (srcfile); + if (truncated) + break; + } + // fill the next game table entry + fseek (destfile, 0x4000 + (file_no - 1) * 0x20, SEEK_SET); + fputc (0, destfile); // indicate no next game + fclose (destfile); + ucon64.console = UCON64_SNES; + ucon64.do_not_calc_crc = org_do_not_calc_crc; + + return 0; +} + + +int +snes_densrt (st_rominfo_t *rominfo) +{ + int size = ucon64.file_size - rominfo->buheader_len, header_start; + char src_name[FILENAME_MAX], dest_name[FILENAME_MAX]; + unsigned char buheader[512], *buffer; + + if (!nsrt_header) + { + if (ucon64.quiet < 1) + printf ("NOTE: ROM has no NSRT header -- no file has been written\n"); + return 1; + } + + ucon64_fread (buheader, 0, 512, ucon64.rom); + if (!(buffer = (unsigned char *) malloc (size))) + { + fprintf (stderr, ucon64_msg[ROM_BUFFER_ERROR], size); + exit (1); + } + ucon64_fread (buffer, rominfo->buheader_len, size, ucon64.rom); + + if (rominfo->interleaved) + header_start = SNES_HEADER_START + (snes_hirom ? 0 : size / 2); // (Ext.) HiROM : LoROM + else + header_start = rominfo->header_start; + get_nsrt_info (buffer, header_start, buheader); + memset (buheader + 0x1d0, 0, 32); // remove NSRT header + + strcpy (src_name, ucon64.rom); + strcpy (dest_name, ucon64.rom); + ucon64_file_handler (dest_name, src_name, 0); + + ucon64_fwrite (buheader, 0, 512, dest_name, "wb"); + if (rominfo->buheader_len > 512) + fcopy (src_name, 512, rominfo->buheader_len - 512, dest_name, "ab"); + ucon64_fwrite (buffer, rominfo->buheader_len, size, dest_name, "ab"); + + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + free (buffer); + return 0; +} + + +static void +set_nsrt_checksum (unsigned char *header) +{ + int n; + char checksum = -1; + + for (n = 0x1d0; n <= 0x1ed; n++) + checksum += header[n]; + header[0x1ee] = checksum; + header[0x1ef] = ~checksum; +} + + +static void +set_nsrt_info (st_rominfo_t *rominfo, unsigned char *header) +/* + This function will write an NSRT header if the user specified a controller + type, but only if the checksum is correct. We write a complete NSRT header + only to be 100% compatible with NSRT. We are only interested in the + controller type feature, though. + NSRT is a SNES ROM tool. See developers.html. + + NSRT header format (0x1d0 - 0x1ef, offsets in _copier header_): + 0x1d0 low nibble = original country value + high nibble = bank type + 1 = LoROM + 2 = HiROM + 3 = "Extended" HiROM + 0x1d1 - 0x1e5 original game name + 0x1e6 low byte of original SNES checksum + 0x1e7 high byte of original SNES checksum + 0x1e8 - 0x1eb "NSRT" + 0x1ec header version; a value of for example 15 should be + interpreted as 1.5 + 0x1ed low nibble = port 2 controller type + high nibble = port 1 controller type + 0 = gamepad + 1 = mouse + 2 = mouse / gamepad + 3 = super scope + 4 = super scope / gamepad + 5 = Konami's justifier + 6 = multitap + 7 = mouse / super scope / gamepad + 0x1ee NSRT header checksum + the checksum is calculated by adding all bytes of the + NSRT header (except the checksum bytes themselves) + and then subtracting 1 + 0x1ef inverse NSRT header checksum +*/ +{ + int x; + + if ((UCON64_ISSET (ucon64.controller) || UCON64_ISSET (ucon64.controller2)) + && !nsrt_header) // don't overwrite these values + { + if (rominfo->current_internal_crc != rominfo->internal_crc) + { + printf ("WARNING: The controller type info will be discarded (checksum is bad)\n"); + return; + } + + header[0x1d0] = bs_dump ? 0 : snes_header.country; + if (rominfo->header_start == SNES_EROM + SNES_HEADER_START + SNES_HIROM) + header[0x1d0] |= 0x30; // Note: Extended LoROM is not supported + else + header[0x1d0] |= snes_hirom ? 0x20 : 0x10; + + if (!bs_dump && st_dump) + memcpy (header + 0x1d1, rominfo->name, 16); + else // for ST dumps, rominfo->name may be used + memcpy (header + 0x1d1, &snes_header.name, SNES_NAME_LEN); + header[0x1e6] = snes_header.checksum_low; + header[0x1e7] = snes_header.checksum_high; + memcpy (header + 0x1e8, "NSRT", 4); + header[0x1ec] = NSRT_HEADER_VERSION; + } + + if (UCON64_ISSET (ucon64.controller)) + { + for (x = 0; x < 8; x++) + if ((ucon64.controller >> x) & 1) + break; + if (x != 0 && x != 1 && x != 2 && x != 6) + { + printf ("WARNING: Invalid value for controller in port 1, using \"0\"\n"); + x = 0; + } + header[0x1ed] = x << 4; + } + if (UCON64_ISSET (ucon64.controller2)) + { + for (x = 0; x < 8; x++) + if ((ucon64.controller2 >> x) & 1) + break; + if (x >= 8) + { + printf ("WARNING: Invalid value for controller in port 2, using \"0\"\n"); + x = 0; + } + header[0x1ed] |= x; + } + + // set the checksum bytes + if (UCON64_ISSET (ucon64.controller) || UCON64_ISSET (ucon64.controller2)) + set_nsrt_checksum (header); +} + + +static void +get_nsrt_info (unsigned char *rom_buffer, int header_start, unsigned char *buheader) +{ + if (nsrt_header) + { + memcpy (rom_buffer + header_start + 16 - (st_dump ? SNES_HEADER_START : 0), + buheader + 0x1d1, (bs_dump || st_dump) ? 16 : SNES_NAME_LEN); // name + // we ignore interleaved ST dumps + if (!bs_dump) + { + // According to the NSRT specification, the region byte should be set + // to 0 for BS dumps. + rom_buffer[header_start + 41] = buheader[0x1d0] & 0x0f; // region + // NSRT only modifies the internal header. For BS dumps the internal + // checksum does not include the header. So, we don't have to + // overwrite the checksum. + rom_buffer[header_start + 44] = ~buheader[0x1e6]; // inverse checksum low + rom_buffer[header_start + 45] = ~buheader[0x1e7]; // inverse checksum high + rom_buffer[header_start + 46] = buheader[0x1e6]; // checksum low + rom_buffer[header_start + 47] = buheader[0x1e7]; // checksum high + } + } +} + + +static void +reset_header (void *header) +{ + // preserve possible NSRT header + if (nsrt_header) + { + memset (header, 0, 0x1d0); + memset ((unsigned char *) header + 0x1f0, 0, 16); + ((unsigned char *) header)[0x1ec] = NSRT_HEADER_VERSION; + set_nsrt_checksum ((unsigned char *) header); + } + else + memset (header, 0, SWC_HEADER_LEN); +} + + +static void +handle_nsrt_header (st_rominfo_t *rominfo, unsigned char *header, + const char **snes_country) +{ + char buf[800], name[SNES_NAME_LEN + 1], *str_list[9] = + { + "Gamepad", "Mouse", "Mouse / Gamepad", "Super Scope", + "Super Scope / Gamepad", "Konami's Justifier", "Multitap", + "Mouse / Super Scope / Gamepad", "Unknown" + }; + int x = header[0x1ed], ctrl1 = x >> 4, ctrl2 = x & 0xf, + name_len = (bs_dump || st_dump) ? 16 : SNES_NAME_LEN; + + memcpy (name, header + 0x1d1, name_len); + name[name_len] = 0; + for (x = 0; x < name_len; x++) + if (!isprint ((int) name[x])) + name[x] = '.'; + + if (ctrl1 > 8) + ctrl1 = 8; + if (ctrl2 > 8) + ctrl2 = 8; + sprintf (buf, "\nNSRT info:\n" + " Original country: %s\n" + " Original game name: \"%s\"\n" + " Original checksum: 0x%04x\n" + " Port 1 controller type: %s\n" + " Port 2 controller type: %s\n" + " Header version: %.1f", + NULL_TO_UNKNOWN_S (snes_country[MIN (header[0x1d0] & 0xf, SNES_COUNTRY_MAX - 1)]), + name, + header[0x1e6] + (header[0x1e7] << 8), + str_list[ctrl1], + str_list[ctrl2], + header[0x1ec] / 10.f); + strcat (rominfo->misc, buf); +} diff --git a/tools/ucon64-2.0.0-src/src/console/snes.h b/tools/ucon64-2.0.0-src/src/console/snes.h new file mode 100644 index 0000000..b676ae1 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/console/snes.h @@ -0,0 +1,65 @@ +/* +snes.h - Super NES support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB +Copyright (c) 2001 - 2004 dbjh +Copyright (c) 2002 - 2003 John Weidman + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef SNES_H +#define SNES_H + +#include "backup/fig.h" // for st_fig_header_t + +#define SNES_HEADER_START 0x7fb0 +#define SNES_HIROM 0x8000 +#define SNES_EROM 0x400000 // "Extended" ROM, Hi or Lo + +typedef enum { SWC = 1, GD3, UFO, FIG, MGD_SNES, SMC } snes_file_t; + +extern const st_getopt2_t snes_usage[]; + +extern snes_file_t snes_get_file_type (void); +extern int snes_buheader_info (st_rominfo_t *rominfo); +extern int snes_chk (st_rominfo_t *rominfo); +extern int snes_col (const char *color); +extern int snes_demirror (st_rominfo_t *rominfo); +extern int snes_densrt (st_rominfo_t *rominfo); +extern int snes_dint (st_rominfo_t *rominfo); +extern int snes_f (st_rominfo_t *rominfo); +extern int snes_fig (st_rominfo_t *rominfo); +extern int snes_figs (st_rominfo_t *rominfo); +extern int snes_gd3 (st_rominfo_t *rominfo); +extern int snes_gd3s (st_rominfo_t *rominfo); +extern int snes_get_snes_hirom (void); +extern int snes_init (st_rominfo_t *rominfo); +extern int snes_j (st_rominfo_t *rominfo); +extern int snes_k (st_rominfo_t *rominfo); +extern int snes_l (st_rominfo_t *rominfo); +extern int snes_make_gd_names (const char *filename, st_rominfo_t *rominfo, char **names); +extern int snes_mgd (st_rominfo_t *rominfo); +extern int snes_mgh (st_rominfo_t *rominfo); +extern int snes_multi (int truncate_size, char *fname); +extern int snes_n (st_rominfo_t *rominfo, const char *name); +extern int snes_s (st_rominfo_t *rominfo); +extern void snes_set_fig_header (st_rominfo_t *rominfo, st_fig_header_t *header); +extern int snes_smc (st_rominfo_t *rominfo); +extern int snes_swc (st_rominfo_t *rominfo); +extern int snes_swcs (st_rominfo_t *rominfo); +extern int snes_ufo (st_rominfo_t *rominfo); +extern int snes_ufos (st_rominfo_t *rominfo); +#endif // SNES_H diff --git a/tools/ucon64-2.0.0-src/src/console/swan.c b/tools/ucon64-2.0.0-src/src/console/swan.c new file mode 100644 index 0000000..4c9dc7d --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/console/swan.c @@ -0,0 +1,206 @@ +/* +swan.c - WonderSwan support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include "misc/misc.h" +#include "misc/file.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ucon64_misc.h" +#include "swan.h" + + +static int swan_chksum (unsigned char *rom_buffer); + +const st_getopt2_t swan_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "WonderSwan/WonderSwan Color/SwanCrystal"/*"19XX/19XX/2002 Bandai"*/, + NULL + }, + { + "swan", 0, 0, UCON64_SWAN, + NULL, "force recognition", + &ucon64_wf[WF_OBJ_SWAN_SWITCH] + }, + { + "chk", 0, 0, UCON64_CHK, + NULL, "fix ROM checksum", + &ucon64_wf[WF_OBJ_ALL_DEFAULT] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} +}; + + +typedef struct st_swan_header +{ + char pad[10]; +} st_swan_header_t; +#define SWAN_HEADER_START (ucon64.file_size - 10) +#define SWAN_HEADER_LEN (sizeof (st_swan_header_t)) + +st_swan_header_t swan_header; + + +int +swan_chk (st_rominfo_t *rominfo) +{ + char buf[3], dest_name[FILENAME_MAX]; + + strcpy (dest_name, ucon64.rom); + ucon64_file_handler (dest_name, NULL, 0); + fcopy (ucon64.rom, 0, ucon64.file_size, dest_name, "wb"); + + ucon64_fputc (dest_name, SWAN_HEADER_START + 8, rominfo->current_internal_crc, "r+b"); // low byte + ucon64_fputc (dest_name, SWAN_HEADER_START + 9, rominfo->current_internal_crc >> 8, "r+b"); // high byte + + ucon64_fread (buf, SWAN_HEADER_START + 8, 2, dest_name); + dumper (stdout, buf, 2, SWAN_HEADER_START + 8, DUMPER_HEX); + + printf (ucon64_msg[WROTE], dest_name); + return 0; +} + + +/* + Byte2 - Cartridge ID number for this developer + + Byte3 - ?Unknown? + 00 - most roms + 01 - Dig2/BAN032 & soro/KGT007 + 02 - Chocobo/BAN002 + 03 - sdej/BAN006 + 04 - srv2/BPR006 + + Byte4 - ROM Size: + 01 - ? + 02 - 4Mbit + 03 - 8Mbit + 04 - 16Mbit + 05 - ? + 06 - 32Mbit + 07 - ? + 08 - ? + 09 - 128Mbit + + Byte5 - SRAM/EEPROM Size: + 00 - 0k + 01 - 64k SRAM + 02 - 256k SRAM + 10 - 1k EEPROM (MGH001/NAP001) + 20 - 16k EEPROM + + Byte6 - Additional capabilities(?) + 04 - ?? game played in "horizontal" position (most roms) + 05 - ?? game played in "vertical" position + 10 - ?? (SUN003) +*/ +int +swan_init (st_rominfo_t *rominfo) +{ + int result = -1; + unsigned char *rom_buffer, buf[MAXBUFSIZE]; +#define SWAN_MAKER_MAX 0x30 + const char *swan_maker[SWAN_MAKER_MAX] = + { + "BAN", "BAN", NULL, NULL, NULL, + "DTE", NULL, NULL, NULL, NULL, + NULL, "SUM", "SUM", NULL, "BPR", + NULL, NULL, NULL, "KNM", NULL, + NULL, NULL, "KGT", NULL, NULL, + NULL, NULL, "MGH", NULL, "BEC", + "NAP", "BVL", NULL, NULL, NULL, + NULL, NULL, NULL, "KDK", NULL, + "SQR", NULL, NULL, NULL, NULL, + "NMC", NULL, NULL + }; + + rominfo->buheader_len = UCON64_ISSET (ucon64.buheader_len) ? ucon64.buheader_len : 0; + + ucon64_fread (&swan_header, SWAN_HEADER_START + rominfo->buheader_len, + SWAN_HEADER_LEN, ucon64.rom); + + rominfo->header = &swan_header; + rominfo->header_start = SWAN_HEADER_START; + rominfo->header_len = SWAN_HEADER_LEN; + + // ROM maker + rominfo->maker = NULL_TO_UNKNOWN_S (swan_maker[MIN (OFFSET (swan_header, 0), + SWAN_MAKER_MAX - 1)]); + + // misc stuff + sprintf ((char *) buf, "Minimum supported system: %s", + (!OFFSET (swan_header, 1) ? "WS Monochrome" : "WS Color")); + strcat (rominfo->misc, (const char *) buf); + + if (!(rom_buffer = (unsigned char *) malloc (ucon64.file_size))) + { + fprintf (stderr, ucon64_msg[ROM_BUFFER_ERROR], ucon64.file_size); + return -1; + } + ucon64_fread (rom_buffer, 0, ucon64.file_size, ucon64.rom); + + rominfo->has_internal_crc = 1; + rominfo->internal_crc_len = 2; + + if (ucon64.file_size > 10) // header itself is already 10 bytes + { + rominfo->current_internal_crc = swan_chksum (rom_buffer); + rominfo->internal_crc = OFFSET (swan_header, 8); // low byte of checksum + rominfo->internal_crc += OFFSET (swan_header, 9) << 8; // high byte of checksum + if (rominfo->current_internal_crc == rominfo->internal_crc) + result = 0; + else + result = -1; + } + if (ucon64.console == UCON64_SWAN) + result = 0; + + rominfo->console_usage = swan_usage[0].help; + rominfo->copier_usage = unknown_usage[0].help; + + free (rom_buffer); + return result; +} + + +int +swan_chksum (unsigned char *ptr) +{ + unsigned int csum = 0, t; + + if (ucon64.file_size % 4) + return -1; + + t = ucon64.file_size - 2; + while (t-- > 0) + csum += *ptr++; + + return csum & 0xffff; +} diff --git a/tools/ucon64-2.0.0-src/src/console/swan.h b/tools/ucon64-2.0.0-src/src/console/swan.h new file mode 100644 index 0000000..badc1e7 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/console/swan.h @@ -0,0 +1,27 @@ +/* +swan.h - WonderSwan support for uCON64 + +Copyright (c) 2001 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef WSWAN_H +#define WSWAN_H + +extern int swan_init (st_rominfo_t *rominfo); +extern const st_getopt2_t swan_usage[]; +extern int swan_chk (st_rominfo_t *rominfo); +#endif diff --git a/tools/ucon64-2.0.0-src/src/genpal.txt b/tools/ucon64-2.0.0-src/src/genpal.txt new file mode 100644 index 0000000..e843d30 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/genpal.txt @@ -0,0 +1 @@ +# Put your PAL protection search-and-defeat "codes" (patterns) here \ No newline at end of file diff --git a/tools/ucon64-2.0.0-src/src/install.sh b/tools/ucon64-2.0.0-src/src/install.sh new file mode 100755 index 0000000..95c9bce --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/install.sh @@ -0,0 +1,45 @@ +#! /bin/bash +# Yes, Bash, because we use features specific to it. + +# Make it possible to specify another location (DESTDIR=/usr/bin ./install.sh). +if [ -z $DESTDIR ]; then +DESTDIR=/usr/local/bin +elif [ ! -e $DESTDIR ]; then +echo "$DESTDIR does not exist, installing to /usr/local/bin" +DESTDIR=/usr/local/bin +fi + +echo "Give root's password:" +# The version of su on Mac OS X requires the user name to be specified +su root -c " +echo Continuing installation. +chown root ucon64 +chmod 4775 ucon64 +cp -p ucon64 $DESTDIR +" +if [ ! -e $HOME/.ucon64 ]; then +mkdir $HOME/.ucon64 +fi +if [ ! -e $HOME/.ucon64/dat ]; then +mkdir $HOME/.ucon64/dat +echo "You can copy/move your DAT file collection to $HOME/.ucon64/dat" +fi + +if [ ${OSTYPE:0:6} == darwin ]; then +LIBSUFFIX=.dylib +elif [ $OSTYPE == cygwin ]; then +LIBSUFFIX=.dll +elif [ $OSTYPE == msys ]; then +LIBSUFFIX=.dll +else +LIBSUFFIX=.so +fi + +if [ -f libdiscmage/discmage$LIBSUFFIX ]; then +cp libdiscmage/discmage$LIBSUFFIX $HOME/.ucon64 +elif [ -f discmage$LIBSUFFIX ]; then +cp discmage$LIBSUFFIX $HOME/.ucon64 +fi +echo "Be sure to check $HOME/.ucon64rc for some options after" +echo "you've run uCON64 once." +echo diff --git a/tools/ucon64-2.0.0-src/src/install_beos.sh b/tools/ucon64-2.0.0-src/src/install_beos.sh new file mode 100755 index 0000000..5a48772 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/install_beos.sh @@ -0,0 +1,51 @@ +#!/bin/sh +# BeOS R5 install script for uCON64 +cd $(dirname "$0") + +areply=$(alert "This will start installation of uCON64 in a BeOS system. + +uCON64 will be installed in $HOME/config/bin. + +Do you want to continue?" "Cancel" "Install") +if [ "$areply" == "Install" ]; then + cp ucon64 "$HOME/config/bin" + if [ ! -e "$HOME/.ucon64" ]; then + mkdir "$HOME/.ucon64" + fi + if [ ! -e "$HOME/.ucon64/dat" ]; then + mkdir "$HOME/.ucon64/dat" + fi + if [ -f libdiscmage/discmage.so ]; then + cp libdiscmage/discmage.so "$HOME/.ucon64" + elif [ -f discmage.so ]; then + cp discmage.so "$HOME/.ucon64" + fi + # ask for ioport driver installation + drreply=$(alert "In order to communicate with a backup device (\"copier\") uCON64 needs the BeOS ioport driver by Caz Jones. You needn't install it if you don't want to use uCON64 for communicating with a copier. + +Would you like to do install it?" "No" "Yes, install driver") + if [ "$drreply" == "Yes, install driver" ]; then + if [ -e "$HOME/ioport" ]; then + cd "$HOME/ioport/driver" + install_ioport + elif [ -e ioport.zip ]; then + unzip ioport.zip -d "$HOME" + cd "$HOME/ioport/driver" + install_ioport + elif [ -e "$HOME/ioport.zip" ]; then + unzip "$HOME/ioport.zip" -d "$HOME" + cd "$HOME/ioport/driver" + install_ioport + else + alert "Please download the latest version of the ioport driver from either +http://www.infernal.currantbun.com or +http://ucon64.sourceforge.net +and copy it to $HOME. Then retry to install the driver." + # exit + # Don't exit as uCON64 itself has been successfully installed + fi + fi + + alert "Done. +You can use uCON64 from the terminal now." +fi diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/Makefile.in b/tools/ucon64-2.0.0-src/src/libdiscmage/Makefile.in new file mode 100644 index 0000000..5ce17d7 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/Makefile.in @@ -0,0 +1,267 @@ +.PHONY: all clean install + +@DEFINE_DLOPEN_MAKE@ +@DEFINE_ZLIB_MAKE@ + +prefix=@prefix@ +exec_prefix=@exec_prefix@ +includedir=@includedir@ +libdir=@libdir@ + +INSTALL=@INSTALL@ +INSTALL_PROGRAM=@INSTALL_PROGRAM@ +INSTALL_DATA=@INSTALL_DATA@ +#RANLIB=@RANLIB@ + +CC=@CC@ +CFLAGS0=-I. -Wall -W -O3 @DEFS@ +CFLAGS=$(CFLAGS0) -DDLL +ifdef DLOPEN +CFLAGS+=-DDLOPEN +endif +ifeq ($(findstring darwin,$(OSTYPE)),darwin) # for example "darwin7.0" +# On Mac OS X using -s gives the following warning: +# /usr/bin/libtool: -static not specified, -s invalid +LDFLAGS= +else +LDFLAGS=-s +endif + +# The test for Cygwin should be done before the test for DJGPP, because the +# environment variable DJGPP can be set under Bash for people who have +# installed both GCC (and friends) ports. + +GCC_WIN=0 +ifeq ($(TERM),cygwin) # test cygwin before DJGPP +GCC_WIN=1 +endif +ifeq ($(OSTYPE),msys) # test msys (MinGW's POSIX build env.) before DJGPP +GCC_WIN=1 +endif + +LIBNAME=discmage +OBJECTS=libdm_misc.o dllinit.o misc.o misc_wav.o format/format.o format/cdi.o \ + format/nero.o format/cue.o format/toc.o format/other.o +ifneq ($(OSTYPE),beos) +LIBS=-lm +else +LIBS= +endif +ifdef USE_ZLIB +LIBS+=-lz +OBJECTS+=unzip.o map.o misc_z.o +else +ifeq ($(GCC_WIN),1) +else +ifdef DJGPP # DJGPP code in dllinit needs map code +OBJECTS+=map.o +endif # DJGPP +endif # GCC_WIN +endif # USE_ZLIB + + +ifeq ($(TERM),cygwin) # test cygwin before DJGPP + +GCCA_DIR=/lib/gcc-lib/i686-pc-cygwin/3.2/ +ifeq ($(CC),g++) +LIBS+=-lstdc++ +endif +LIBS+=-L$(GCCA_DIR) -lgcc -lcygwin -lkernel32 +# kernel32 for DLOPEN and DisableThreadLibraryCalls() + +ifdef DLOPEN +ENTRY=__cygwin_dll_entry@12 +else +ENTRY=_DllMain@12 +endif + +FULLLIBNAME=$(LIBNAME).dll +DLLFLAGS=$(LDFLAGS) --dll $(OBJECTS) $(LIBS) -e $(ENTRY) -o $(LIBNAME).dll +DLLTOOLFLAGS=-d $(LIBNAME).def -b tmp.base -e tmp.exp -D $(LIBNAME).dll +ifndef DLOPEN +DLLTOOLFLAGS+=-l $(LIBNAME).a +endif + +else +ifeq ($(OSTYPE),msys) # test msys before DJGPP + +GCCA_DIR=/mingw/lib/gcc-lib/mingw32/3.2.3/ +LIBS+=-L/mingw/lib -lkernel32 -lmsvcrt -L$(GCCA_DIR) -lgcc +# MSYS problem: Specifying the library directory is necessary when compiling on +# a different filesystem than the filesystem that MinGW is installed on. + +FULLLIBNAME=$(LIBNAME).dll +DLLFLAGS=$(LDFLAGS) --dll $(OBJECTS) $(LIBS) -e _DllMain@12 -o $(LIBNAME).dll +DLLTOOLFLAGS=-d $(LIBNAME).def -b tmp.base -e tmp.exp -D $(LIBNAME).dll +ifndef DLOPEN +DLLTOOLFLAGS+=-l $(LIBNAME).a +endif + +else +ifdef DJGPP + +OBJECTS+=dxe_misc.o + +GCCA_DIR=c:/djgpp/lib/gcc-lib/djgpp/3.31 +LIBS+=-L$(GCCA_DIR) -lgcc + +DLLFLAGS=$(OBJECTS) $(LIBS) $(LDFLAGS) +# $(LDFLAGS) must come after $(OBJECTS) +FULLLIBNAME=$(LIBNAME).dxe + +else # Unix, BeOS or Mac OS X (Darwin) + +CFLAGS+=-fPIC + +ifeq ($(findstring darwin,$(OSTYPE)),darwin) +FULLLIBNAME=$(LIBNAME).dylib +else +FULLLIBNAME=$(LIBNAME).so +endif + +ifndef DLOPEN # GNU specific: "simply expanded variable" +FULLLIBNAME:=$(addprefix lib,$(FULLLIBNAME)) +endif + +ifeq ($(OSTYPE),beos) +LDFLAGS+=-nostart +else +ifeq ($(findstring darwin,$(OSTYPE)),darwin) +LDFLAGS+=-dynamiclib +else +LDFLAGS+=-shared +endif # darwin +endif # beos + +DLLFLAGS+=$(LDFLAGS) $(OBJECTS) $(LIBS) -o $(FULLLIBNAME) + +endif # DJGPP +endif # msys +endif # cygwin + + +all: $(FULLLIBNAME) + + +clean: +ifeq ($(GCC_WIN),1) + rm -f $(FULLLIBNAME) $(LIBNAME).a $(OBJECTS) *.core *.stackdump *.o \ + tmp.* +else +ifdef DJGPP + del $(FULLLIBNAME) +ifndef DLOPEN + del $(LIBNAME).a +endif + del *.o + del format\*.o +else # Unix, BeOS or Mac OS X (Darwin) + rm -f $(FULLLIBNAME) $(OBJECTS) *.core *.stackdump *.o +endif # DJGPP +endif # GCC_WIN + + +distclean: clean +ifeq ($(GCC_WIN),1) + rm -f Makefile config.log config.status config.cache config.h +else +ifdef DJGPP + del Makefile + del config.log + del config.status + del config.cache + del config.h +else + rm -f Makefile config.log config.status config.cache config.h +endif # DJGPP +endif # GCC_WIN + + +.c.o: + $(CC) $(CFLAGS) -c $< -o $@ + + +ifeq ($(GCC_WIN),1) + +ifndef DLOPEN +$(LIBNAME).dll $(LIBNAME).a: $(OBJECTS) +else +$(LIBNAME).dll: $(OBJECTS) +endif +# echo EXPORTS > tmp.def +## nm $(OBJECTS) | grep ' T _' | sed 's/.* T _//' >> tmp.def +# nm $(OBJECTS) | grep '^........ [T] _' | sed 's/[^_]*_//' >> tmp.def +# We use nm instead of dlltool --output-def, so that we don't have to +# specify explicitly (in the source code) which symbols should be exported. +# We don't create the .def file automatically anymore. Using nm resulted in a +# (too large?) .def file which resulted in a non-working DLL when using Cygwin. + + ld --base-file tmp.base $(DLLFLAGS) + dlltool $(DLLTOOLFLAGS) + ld tmp.exp $(DLLFLAGS) + +else +ifdef DJGPP + +ifndef DLOPEN +$(LIBNAME).dxe $(LIBNAME).a: $(OBJECTS) djimport.o dlopen.o +else +$(LIBNAME).dxe: $(OBJECTS) +endif + dxegen $(LIBNAME).dxe _import_export $(DLLFLAGS) +ifndef DLOPEN +# Recompile map.c, because it has to be a normal object file for the import +# library (no references to import_export) + $(CC) $(CFLAGS0) -c map.c -o map.o + ar rs $(LIBNAME).a djimport.o map.o dlopen.o +endif + +else # Unix, BeOS or Mac OS X (Darwin) +# Unix uses LD_LIBRARY_PATH for dynamic linking, BeOS uses LIBRARY_PATH, Darwin +# uses LD_LIBRARY_PATH, DYLD_LIBRARY_PATH and DYLD_FALLBACK_LIBRARY_PATH + +$(FULLLIBNAME): $(OBJECTS) + $(CC) $(DLLFLAGS) + +endif # DJGPP +endif # GCC_WIN + + +install: +ifndef DLOPEN + [ -d $(DESTDIR)$(libdir) ] || \ + (mkdir -p $(DESTDIR)$(libdir); chmod 755 $(DESTDIR)$(libdir)) + $(INSTALL_DATA) $(FULLLIBNAME) $(DESTDIR)$(libdir)/$(FULLLIBNAME) +# $(RANLIB) $(DESTDIR)$(libdir)/$(FULLLIBNAME) +# $(LIBTOOL) --mode=install $(INSTALL) $(FULLLIBNAME) $(libdir)/$(FULLLIBNAME) + [ -d $(DESTDIR)$(includedir) ] || \ + (mkdir -p $(DESTDIR)$(includedir); chmod 755 $(DESTDIR)$(includedir)) + $(INSTALL_DATA) lib$(LIBNAME).h $(DESTDIR)$(includedir) +endif + +uninstall: +ifndef DLOPEN + rm -f $(DESTDIR)$(libdir)/$(FULLLIBNAME) + rm -f $(DESTDIR)$(includedir)/lib$(LIBNAME).h +endif + + +# Dependencies +LIBDM_STD_H=libdiscmage.h misc.h dxedll_priv.h format/format.h config.h + +libdm_misc.o: $(LIBDM_STD_H) +format/format.o: $(LIBDM_STD_H) +format/ccd.o: format/ccd.h $(LIBDM_STD_H) +format/cdi.o: format/cdi.h $(LIBDM_STD_H) +format/nero.o: format/nero.h $(LIBDM_STD_H) +format/cue.o: format/cue.h $(LIBDM_STD_H) +format/toc.o: format/toc.h $(LIBDM_STD_H) +format/other.o: format/other.h $(LIBDM_STD_H) +misc_wav.o: $(LIBDM_STD_H) +dllinit.o: $(LIBDM_STD_H) +misc.o: misc.h dxedll_priv.h +misc_z.o: misc_z.h misc.h dxedll_priv.h +dxe_misc.o: dxedll_pub.h +djimport.o: libdiscmage.h dlopen.h dxedll_pub.h +dlopen.o: dlopen.h dxedll_pub.h +map.o: map.h diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/Makefile.orig b/tools/ucon64-2.0.0-src/src/libdiscmage/Makefile.orig new file mode 100644 index 0000000..e3100f2 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/Makefile.orig @@ -0,0 +1,267 @@ +.PHONY: all clean install + +DLOPEN=1 +#USE_ZLIB=1 + +prefix=/usr/local +exec_prefix=${prefix} +includedir=${prefix}/include +libdir=${exec_prefix}/lib + +INSTALL=/usr/bin/install -c +INSTALL_PROGRAM=${INSTALL} +INSTALL_DATA=${INSTALL} -m 644 +#RANLIB=ranlib + +CC=gcc +CFLAGS0=-I. -Wall -W -O3 -DHAVE_CONFIG_H +CFLAGS=$(CFLAGS0) -DDLL +ifdef DLOPEN +CFLAGS+=-DDLOPEN +endif +ifeq ($(findstring darwin,$(OSTYPE)),darwin) # for example "darwin7.0" +# On Mac OS X using -s gives the following warning: +# /usr/bin/libtool: -static not specified, -s invalid +LDFLAGS= +else +LDFLAGS=-s +endif + +# The test for Cygwin should be done before the test for DJGPP, because the +# environment variable DJGPP can be set under Bash for people who have +# installed both GCC (and friends) ports. + +GCC_WIN=0 +ifeq ($(TERM),cygwin) # test cygwin before DJGPP +GCC_WIN=1 +endif +ifeq ($(OSTYPE),msys) # test msys (MinGW's POSIX build env.) before DJGPP +GCC_WIN=1 +endif + +LIBNAME=discmage +OBJECTS=libdm_misc.o dllinit.o misc.o misc_wav.o format/format.o format/cdi.o \ + format/nero.o format/cue.o format/toc.o format/other.o +ifneq ($(OSTYPE),beos) +LIBS=-lm +else +LIBS= +endif +ifdef USE_ZLIB +LIBS+=-lz +OBJECTS+=unzip.o map.o misc_z.o +else +ifeq ($(GCC_WIN),1) +else +ifdef DJGPP # DJGPP code in dllinit needs map code +OBJECTS+=map.o +endif # DJGPP +endif # GCC_WIN +endif # USE_ZLIB + + +ifeq ($(TERM),cygwin) # test cygwin before DJGPP + +GCCA_DIR=/lib/gcc-lib/i686-pc-cygwin/3.2/ +ifeq ($(CC),g++) +LIBS+=-lstdc++ +endif +LIBS+=-L$(GCCA_DIR) -lgcc -lcygwin -lkernel32 +# kernel32 for DLOPEN and DisableThreadLibraryCalls() + +ifdef DLOPEN +ENTRY=__cygwin_dll_entry@12 +else +ENTRY=_DllMain@12 +endif + +FULLLIBNAME=$(LIBNAME).dll +DLLFLAGS=$(LDFLAGS) --dll $(OBJECTS) $(LIBS) -e $(ENTRY) -o $(LIBNAME).dll +DLLTOOLFLAGS=-d $(LIBNAME).def -b tmp.base -e tmp.exp -D $(LIBNAME).dll +ifndef DLOPEN +DLLTOOLFLAGS+=-l $(LIBNAME).a +endif + +else +ifeq ($(OSTYPE),msys) # test msys before DJGPP + +GCCA_DIR=/mingw/lib/gcc-lib/mingw32/3.2.3/ +LIBS+=-L/mingw/lib -lkernel32 -lmsvcrt -L$(GCCA_DIR) -lgcc +# MSYS problem: Specifying the library directory is necessary when compiling on +# a different filesystem than the filesystem that MinGW is installed on. + +FULLLIBNAME=$(LIBNAME).dll +DLLFLAGS=$(LDFLAGS) --dll $(OBJECTS) $(LIBS) -e _DllMain@12 -o $(LIBNAME).dll +DLLTOOLFLAGS=-d $(LIBNAME).def -b tmp.base -e tmp.exp -D $(LIBNAME).dll +ifndef DLOPEN +DLLTOOLFLAGS+=-l $(LIBNAME).a +endif + +else +ifdef DJGPP + +OBJECTS+=dxe_misc.o + +GCCA_DIR=c:/djgpp/lib/gcc-lib/djgpp/3.31 +LIBS+=-L$(GCCA_DIR) -lgcc + +DLLFLAGS=$(OBJECTS) $(LIBS) $(LDFLAGS) +# $(LDFLAGS) must come after $(OBJECTS) +FULLLIBNAME=$(LIBNAME).dxe + +else # Unix, BeOS or Mac OS X (Darwin) + +CFLAGS+=-fPIC + +ifeq ($(findstring darwin,$(OSTYPE)),darwin) +FULLLIBNAME=$(LIBNAME).dylib +else +FULLLIBNAME=$(LIBNAME).so +endif + +ifndef DLOPEN # GNU specific: "simply expanded variable" +FULLLIBNAME:=$(addprefix lib,$(FULLLIBNAME)) +endif + +ifeq ($(OSTYPE),beos) +LDFLAGS+=-nostart +else +ifeq ($(findstring darwin,$(OSTYPE)),darwin) +LDFLAGS+=-dynamiclib +else +LDFLAGS+=-shared +endif # darwin +endif # beos + +DLLFLAGS+=$(LDFLAGS) $(OBJECTS) $(LIBS) -o $(FULLLIBNAME) + +endif # DJGPP +endif # msys +endif # cygwin + + +all: $(FULLLIBNAME) + + +clean: +ifeq ($(GCC_WIN),1) + rm -f $(FULLLIBNAME) $(LIBNAME).a $(OBJECTS) *.core *.stackdump *.o \ + tmp.* +else +ifdef DJGPP + del $(FULLLIBNAME) +ifndef DLOPEN + del $(LIBNAME).a +endif + del *.o + del format\*.o +else # Unix, BeOS or Mac OS X (Darwin) + rm -f $(FULLLIBNAME) $(OBJECTS) *.core *.stackdump *.o +endif # DJGPP +endif # GCC_WIN + + +distclean: clean +ifeq ($(GCC_WIN),1) + rm -f Makefile config.log config.status config.cache config.h +else +ifdef DJGPP + del Makefile + del config.log + del config.status + del config.cache + del config.h +else + rm -f Makefile config.log config.status config.cache config.h +endif # DJGPP +endif # GCC_WIN + + +.c.o: + $(CC) $(CFLAGS) -c $< -o $@ + + +ifeq ($(GCC_WIN),1) + +ifndef DLOPEN +$(LIBNAME).dll $(LIBNAME).a: $(OBJECTS) +else +$(LIBNAME).dll: $(OBJECTS) +endif +# echo EXPORTS > tmp.def +## nm $(OBJECTS) | grep ' T _' | sed 's/.* T _//' >> tmp.def +# nm $(OBJECTS) | grep '^........ [T] _' | sed 's/[^_]*_//' >> tmp.def +# We use nm instead of dlltool --output-def, so that we don't have to +# specify explicitly (in the source code) which symbols should be exported. +# We don't create the .def file automatically anymore. Using nm resulted in a +# (too large?) .def file which resulted in a non-working DLL when using Cygwin. + + ld --base-file tmp.base $(DLLFLAGS) + dlltool $(DLLTOOLFLAGS) + ld tmp.exp $(DLLFLAGS) + +else +ifdef DJGPP + +ifndef DLOPEN +$(LIBNAME).dxe $(LIBNAME).a: $(OBJECTS) djimport.o dlopen.o +else +$(LIBNAME).dxe: $(OBJECTS) +endif + dxegen $(LIBNAME).dxe _import_export $(DLLFLAGS) +ifndef DLOPEN +# Recompile map.c, because it has to be a normal object file for the import +# library (no references to import_export) + $(CC) $(CFLAGS0) -c map.c -o map.o + ar rs $(LIBNAME).a djimport.o map.o dlopen.o +endif + +else # Unix, BeOS or Mac OS X (Darwin) +# Unix uses LD_LIBRARY_PATH for dynamic linking, BeOS uses LIBRARY_PATH, Darwin +# uses LD_LIBRARY_PATH, DYLD_LIBRARY_PATH and DYLD_FALLBACK_LIBRARY_PATH + +$(FULLLIBNAME): $(OBJECTS) + $(CC) $(DLLFLAGS) + +endif # DJGPP +endif # GCC_WIN + + +install: +ifndef DLOPEN + [ -d $(DESTDIR)$(libdir) ] || \ + (mkdir -p $(DESTDIR)$(libdir); chmod 755 $(DESTDIR)$(libdir)) + $(INSTALL_DATA) $(FULLLIBNAME) $(DESTDIR)$(libdir)/$(FULLLIBNAME) +# $(RANLIB) $(DESTDIR)$(libdir)/$(FULLLIBNAME) +# $(LIBTOOL) --mode=install $(INSTALL) $(FULLLIBNAME) $(libdir)/$(FULLLIBNAME) + [ -d $(DESTDIR)$(includedir) ] || \ + (mkdir -p $(DESTDIR)$(includedir); chmod 755 $(DESTDIR)$(includedir)) + $(INSTALL_DATA) lib$(LIBNAME).h $(DESTDIR)$(includedir) +endif + +uninstall: +ifndef DLOPEN + rm -f $(DESTDIR)$(libdir)/$(FULLLIBNAME) + rm -f $(DESTDIR)$(includedir)/lib$(LIBNAME).h +endif + + +# Dependencies +LIBDM_STD_H=libdiscmage.h misc.h dxedll_priv.h format/format.h config.h + +libdm_misc.o: $(LIBDM_STD_H) +format/format.o: $(LIBDM_STD_H) +format/ccd.o: format/ccd.h $(LIBDM_STD_H) +format/cdi.o: format/cdi.h $(LIBDM_STD_H) +format/nero.o: format/nero.h $(LIBDM_STD_H) +format/cue.o: format/cue.h $(LIBDM_STD_H) +format/toc.o: format/toc.h $(LIBDM_STD_H) +format/other.o: format/other.h $(LIBDM_STD_H) +misc_wav.o: $(LIBDM_STD_H) +dllinit.o: $(LIBDM_STD_H) +misc.o: misc.h dxedll_priv.h +misc_z.o: misc_z.h misc.h dxedll_priv.h +dxe_misc.o: dxedll_pub.h +djimport.o: libdiscmage.h dlopen.h dxedll_pub.h +dlopen.o: dlopen.h dxedll_pub.h +map.o: map.h diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/Makefile.vc6 b/tools/ucon64-2.0.0-src/src/libdiscmage/Makefile.vc6 new file mode 100644 index 0000000..8fd7eca --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/Makefile.vc6 @@ -0,0 +1,73 @@ +DLOPEN=1 +#USE_ZLIB=1 + +CC=cl.exe +CFLAGS=/nologo /I. /W3 /O2 /DHAVE_CONFIG_H /DDLL +!ifdef DLOPEN +CFLAGS=$(CFLAGS) /DDLOPEN +!endif + +LIBNAME=discmage +OBJECTS=libdm_misc.obj dllinit.obj misc.obj misc_wav.obj format/format.obj \ + format/cdi.obj format/nero.obj format/cue.obj format/toc.obj format/other.obj +!ifdef USE_ZLIB +LIBS=zlib.lib +OBJECTS=$(OBJECTS) unzip.obj map.obj misc_z.obj +!else +LIBS= +!endif + + +FULLLIBNAME=$(LIBNAME).dll +DLLFLAGS=/NOLOGO /DLL $(OBJECTS) $(LIBS) /DEF:$(LIBNAME).def /OUT:$(LIBNAME).dll + + +all: $(FULLLIBNAME) + + +clean: + del $(LIBNAME).dll + del $(LIBNAME).lib + del *.obj + del format\*.obj + del $(LIBNAME).exp + + +distclean: clean + del config.h + + +.c.obj: + $(CC) $(CFLAGS) /c $< /Fo$@ + + +$(LIBNAME).dll: $(OBJECTS) + link.exe $(DLLFLAGS) +# link.exe automatically creates the import library. "/IMPLIB:filename.lib" +# could be used to give the import library another name +# lib.exe $(DLLFLAGS) /OUT:$(LIBNAME).lib + +install: + +uninstall: + + +# Dependencies +LIBDM_STD_H=libdiscmage.h misc.h dxedll_priv.h format/format.h config.h + +libdm_misc.obj: $(LIBDM_STD_H) +format/format.obj: $(LIBDM_STD_H) +format/ccd.obj: format/ccd.h $(LIBDM_STD_H) +format/cdi.obj: format/cdi.h $(LIBDM_STD_H) +format/nero.obj: format/nero.h $(LIBDM_STD_H) +format/cue.obj: format/cue.h $(LIBDM_STD_H) +format/toc.obj: format/toc.h $(LIBDM_STD_H) +format/other.obj: format/other.h $(LIBDM_STD_H) +misc_wav.obj: $(LIBDM_STD_H) +dllinit.obj: $(LIBDM_STD_H) +misc.obj: misc.h dxedll_priv.h +misc_z.obj: misc_z.h misc.h dxedll_priv.h +dxe_misc.obj: dxedll_pub.h +djimport.obj: libdiscmage.h dlopen.h dxedll_pub.h +dlopen.obj: dlopen.h dxedll_pub.h +map.obj: map.h diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/config.h.in b/tools/ucon64-2.0.0-src/src/libdiscmage/config.h.in new file mode 100644 index 0000000..61c3d2f --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/config.h.in @@ -0,0 +1,109 @@ +/* src/config.h.in. Generated from configure.in by autoheader. */ + +/* enable debug output (default: no) */ +#undef DEBUG + +/* enable dynamic loading of library (default: no) */ +#undef DLOPEN + +/* Define to 1 if you have the header file. */ +#undef HAVE_BYTESWAP_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_DIRENT_H + +/* Define to 1 if you don't have `vprintf' but do have `_doprnt.' */ +#undef HAVE_DOPRNT + +/* Define to 1 if you have the header file. */ +#undef HAVE_FCNTL_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_INTTYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_MEMORY_H + +/* Define to 1 if you have the header file, and it defines `DIR'. */ +#undef HAVE_NDIR_H + +/* Define to 1 if you have the `realpath' function. */ +#undef HAVE_REALPATH + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDINT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STDLIB_H + +/* Define to 1 if you have the `strftime' function. */ +#undef HAVE_STRFTIME + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRINGS_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_STRING_H + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +#undef HAVE_SYS_DIR_H + +/* Define to 1 if you have the header file, and it defines `DIR'. + */ +#undef HAVE_SYS_NDIR_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_STAT_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_SYS_TYPES_H + +/* Define to 1 if you have the header file. */ +#undef HAVE_UNISTD_H + +/* Define to 1 if you have the `vprintf' function. */ +#undef HAVE_VPRINTF + +/* Define to the address where bug reports for this package should be sent. */ +#undef PACKAGE_BUGREPORT + +/* Define to the full name of this package. */ +#undef PACKAGE_NAME + +/* Define to the full name and version of this package. */ +#undef PACKAGE_STRING + +/* Define to the one symbol short name of this package. */ +#undef PACKAGE_TARNAME + +/* Define to the version of this package. */ +#undef PACKAGE_VERSION + +/* Define to 1 if you have the ANSI C header files. */ +#undef STDC_HEADERS + +/* enable usage of color (default: yes) */ +#undef USE_ANSI_COLOR + +/* build with gzip and zip support (default: yes) */ +#undef USE_ZLIB + +/* Define to empty if `const' does not conform to ANSI C. */ +#undef const + +/* Define to `int' if doesn't define. */ +#undef gid_t + +/* Define as `__inline' if that's what the C compiler calls it, or to nothing + if it is not supported. */ +#undef inline + +/* Define to `int' if does not define. */ +#undef pid_t + +/* Define to `unsigned' if does not define. */ +#undef size_t + +/* Define to `int' if doesn't define. */ +#undef uid_t diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/discmage.def b/tools/ucon64-2.0.0-src/src/libdiscmage/discmage.def new file mode 100644 index 0000000..4853ab2 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/discmage.def @@ -0,0 +1,18 @@ +EXPORTS +dm_close +dm_disc_read +dm_disc_write +dm_get_version +dm_get_version_s +dm_open +dm_reopen +dm_fdopen +dm_nfo +dm_read +dm_write +dm_set_gauge +dm_cue_read +dm_cue_write +dm_toc_read +dm_toc_write +dm_rip diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/djimport.c b/tools/ucon64-2.0.0-src/src/libdiscmage/djimport.c new file mode 100644 index 0000000..82cfd3a --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/djimport.c @@ -0,0 +1,226 @@ +/* +djimport.c - discmage import library for DJGPP + +Copyright (c) 2002 - 2004 dbjh + + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ +#include +#include "dlopen.h" +#include "dxedll_pub.h" +#include "libdiscmage.h" + +#define CHECK \ + if (!dxe_loaded) \ + { \ + load_dxe (); \ + dxe_loaded = 1; \ + } + +static int dxe_loaded = 0; +char djimport_path[FILENAME_MAX] = "discmage.dxe"; // default value + +static void *libdm; +static uint32_t (*dm_get_version_ptr) (void); +static const char *(*dm_get_version_s_ptr) (void); +static void (*dm_set_gauge_ptr) (void (*) (int, int)); + +static FILE *(*dm_fdopen_ptr) (dm_image_t *, int, const char *); +static dm_image_t *(*dm_open_ptr) (const char *, uint32_t); +static dm_image_t *(*dm_reopen_ptr) (const char *, uint32_t, dm_image_t *); +static int (*dm_close_ptr) (dm_image_t *); +static void (*dm_nfo_ptr) (const dm_image_t *, int, int); + +static int (*dm_disc_read_ptr) (const dm_image_t *); +static int (*dm_disc_write_ptr) (const dm_image_t *); + +static int (*dm_read_ptr) (char *, int, int, const dm_image_t *); +static int (*dm_write_ptr) (const char *, int, int, const dm_image_t *); + +static dm_image_t *(*dm_toc_read_ptr) (dm_image_t *, const char *); +static int (*dm_toc_write_ptr) (const dm_image_t *); + +static dm_image_t *(*dm_cue_read_ptr) (dm_image_t *, const char *); +static int (*dm_cue_write_ptr) (const dm_image_t *); + +static int (*dm_rip_ptr) (const dm_image_t *, int, uint32_t); + + +static void +load_dxe (void) +{ + libdm = open_module (djimport_path); + + dm_get_version_ptr = get_symbol (libdm, "dm_get_version"); + dm_get_version_s_ptr = get_symbol (libdm, "dm_get_version_s"); + dm_set_gauge_ptr = get_symbol (libdm, "dm_set_gauge"); + + dm_open_ptr = get_symbol (libdm, "dm_open"); + dm_fdopen_ptr = get_symbol (libdm, "dm_fdopen"); + dm_reopen_ptr = get_symbol (libdm, "dm_reopen"); + dm_close_ptr = get_symbol (libdm, "dm_close"); + dm_nfo_ptr = get_symbol (libdm, "dm_nfo"); + + dm_disc_read_ptr = get_symbol (libdm, "dm_disc_read"); + dm_disc_write_ptr = get_symbol (libdm, "dm_disc_write"); + + dm_read_ptr = get_symbol (libdm, "dm_read"); + dm_write_ptr = get_symbol (libdm, "dm_write"); + + dm_toc_read_ptr = get_symbol (libdm, "dm_toc_read"); + dm_toc_write_ptr = get_symbol (libdm, "dm_toc_write"); + + dm_cue_read_ptr = get_symbol (libdm, "dm_cue_read"); + dm_cue_write_ptr = get_symbol (libdm, "dm_cue_write"); + + dm_rip_ptr = get_symbol (libdm, "dm_rip"); +} + + +uint32_t +dm_get_version (void) +{ + CHECK + return dm_get_version_ptr (); +} + + +const char * +dm_get_version_s (void) +{ + CHECK + return dm_get_version_s_ptr (); +} + + +void +dm_set_gauge (void (*a) (int, int)) +{ + CHECK + dm_set_gauge_ptr (a); +} + + +FILE * +dm_fdopen (dm_image_t *a, int b, const char *c) +{ + CHECK + return dm_fdopen_ptr (a, b, c); +} + + +dm_image_t * +dm_open (const char *a, uint32_t b) +{ + CHECK + return dm_open_ptr (a, b); +} + + +dm_image_t * +dm_reopen (const char *a, uint32_t b, dm_image_t *c) +{ + CHECK + return dm_reopen_ptr (a, b, c); +} + + +int +dm_close (dm_image_t *a) +{ + CHECK + return dm_close_ptr (a); +} + + +void +dm_nfo (const dm_image_t *a, int b, int c) +{ + CHECK + dm_nfo_ptr (a, b, c); +} + + +int +dm_disc_read (const dm_image_t *a) +{ + CHECK + return dm_disc_read_ptr (a); +} + + +int +dm_disc_write (const dm_image_t *a) +{ + CHECK + return dm_disc_write_ptr (a); +} + + +int +dm_read (char *a, int b, int c, const dm_image_t *d) +{ + CHECK + return dm_read_ptr (a, b, c, d); +} + + +int +dm_write (const char *a, int b, int c, const dm_image_t *d) +{ + CHECK + return dm_write_ptr (a, b, c, d); +} + + +dm_image_t * +dm_toc_read (dm_image_t *a, const char *b) +{ + CHECK + return dm_toc_read_ptr (a, b); +} + + +int +dm_toc_write (const dm_image_t *a) +{ + CHECK + return dm_toc_write_ptr (a); +} + + +dm_image_t * +dm_cue_read (dm_image_t *a, const char *b) +{ + CHECK + return dm_cue_read_ptr (a, b); +} + + +int +dm_cue_write (const dm_image_t *a) +{ + CHECK + return dm_cue_write_ptr (a); +} + + +int +dm_rip (const dm_image_t *a, int b, uint32_t c) +{ + CHECK + return dm_rip_ptr (a, b, c); +} diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/dllinit.c b/tools/ucon64-2.0.0-src/src/libdiscmage/dllinit.c new file mode 100644 index 0000000..70fb7e0 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/dllinit.c @@ -0,0 +1,162 @@ +/* +dllinit.c - DLL initialization code + +Copyright (c) 2002 - 2004 dbjh + + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +#if defined __CYGWIN__ && defined DLOPEN +#include + +DECLARE_CYGWIN_DLL(DllMain); +#endif + + +#include +#include +#include "libdiscmage.h" + + +#if defined __CYGWIN__ || defined _WIN32 +#include + +#ifdef __cplusplus +extern "C" BOOL WINAPI DllMain (HINSTANCE h, DWORD reason, LPVOID ptr); +#endif + +/* + When this function is explicitly specified as entry point (for example by + using the option /ENTRY of link.exe) printf() does not produce output when + called from this function. +*/ +BOOL WINAPI +DllMain (HINSTANCE h, DWORD reason, LPVOID ptr) +{ + (void) ptr; // warning remover + switch (reason) + { + case DLL_PROCESS_ATTACH: + DisableThreadLibraryCalls ((HMODULE) h); + break; + case DLL_PROCESS_DETACH: + break; + case DLL_THREAD_ATTACH: + break; + case DLL_THREAD_DETACH: + break; + } + return TRUE; +} + +#elif defined DJGPP +#include "dxedll_pub.h" // for st_symbol_t +#include "dxedll_priv.h" // must be included after headers +#include "map.h" // of external libraries! + + +int dxe_init (void); +void *dxe_symbol (char *symbol_name); + +st_symbol_t import_export = +{ + dxe_init, dxe_symbol, sizeof (st_symbol_t), + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + {0, NULL, NULL, 0, 0, 0, NULL, 0}, {0, NULL, NULL, 0, 0, 0, NULL, 0}, + {0, NULL, NULL, 0, 0, 0, NULL, 0}, NULL, NULL, NULL, 0 +}; +st_map_t *symbol; + + +int +dxe_init (void) +{ + symbol = map_create (17); + symbol->cmp_key = (int (*) (void *, void *)) strcmp; // How beautiful! ;-) + + symbol = map_put (symbol, "dm_get_version", dm_get_version); + symbol = map_put (symbol, "dm_get_version_s", dm_get_version_s); + symbol = map_put (symbol, "dm_set_gauge", dm_set_gauge); + + symbol = map_put (symbol, "dm_open", dm_open); + symbol = map_put (symbol, "dm_reopen", dm_reopen); + symbol = map_put (symbol, "dm_fdopen", dm_fdopen); + symbol = map_put (symbol, "dm_close", dm_close); + symbol = map_put (symbol, "dm_nfo", dm_nfo); + + symbol = map_put (symbol, "dm_read", dm_read); + symbol = map_put (symbol, "dm_write", dm_write); + + symbol = map_put (symbol, "dm_disc_read", dm_disc_read); + symbol = map_put (symbol, "dm_disc_write", dm_disc_write); + + symbol = map_put (symbol, "dm_toc_read", dm_toc_read); + symbol = map_put (symbol, "dm_toc_write", dm_toc_write); + + symbol = map_put (symbol, "dm_cue_read", dm_cue_read); + symbol = map_put (symbol, "dm_cue_write", dm_cue_write); + + symbol = map_put (symbol, "dm_rip", dm_rip); + + return 0; +} + + +/* + Normally, the code that uses a dynamic library knows what it wants, i.e., it + searches for specific symbol names. So, for a program that uses a DXE the + code could look something like: + void *handle; + int (*function1) (int); + + handle = open_module (MODULE_NAME); + function1 = ((st_symbol_t *) handle)->function1; + + However, by adding a symbol loading function, st_symbol_t doesn't have to be + updated if the DXE should export more or other symbols, which makes using a + DXE less error prone. Changing st_symbol_t would also require a recompile of + the code that uses the DXE (which is a *bad* thing). + A symbol loading function also makes an "extension API" a bit more elegant, + because the extension functions needn't be hardcoded in st_symbol_t; +*/ +void * +dxe_symbol (char *symbol_name) +{ + return map_get (symbol, symbol_name); +} + +#elif defined __unix__ + +// The functions _init() and _fini() seem to be reserved on GNU/Linux +#if 0 +void _init (void) +{ +} + + +void _fini (void) +{ +} +#endif + +#endif diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/dlopen.c b/tools/ucon64-2.0.0-src/src/libdiscmage/dlopen.c new file mode 100644 index 0000000..1a6f65e --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/dlopen.c @@ -0,0 +1,294 @@ +/* +dlopen.c - DLL support code + +Copyright (c) 2002 - 2004 dbjh + + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#ifdef DJGPP +#include +#elif defined __unix__ || defined __APPLE__ // Mac OS X actually; __unix__ is also +#include // defined under Cygwin (and DJGPP) +#elif defined _WIN32 +#include +#elif defined __BEOS__ +#include +#include +#endif + +#include +#include +#include + + +#ifdef DJGPP +#include "dxedll_pub.h" +#include "map.h" + + +#define INITIAL_HANDLE 1 +static st_map_t *dxe_map; +extern int errno; + + +void +uninit_func (void) +{ + fprintf (stderr, "An uninitialized member of the import/export structure was called!\n" + "Update dlopen.c/open_module()\n"); + exit (1); +} +#endif + + +void * +open_module (char *module_name) +{ + void *handle; +#ifdef DJGPP + static int new_handle = INITIAL_HANDLE; + int n, m; + st_symbol_t *sym = _dxe_load (module_name); + /* + _dxe_load() doesn't really return a handle. It returns a pointer to the one + symbol a DXE module can export. + */ + if (sym == 0) + { + fprintf (stderr, "Error while loading DXE module: %s\n", module_name); + exit (1); + } + + if (sym->size != sizeof (st_symbol_t)) + { + fprintf (stderr, "Incompatible DXE module: %s\n", module_name); + exit (1); + } + + // initialize the import/export structure + + /* + Catch calls to uninitialized members in case a new function was added to + st_symbol_t, but forgotten to initialize here. + */ + m = sizeof (st_symbol_t) / sizeof (void (*) (void)); + for (n = 0; n < m && ((void (**) (void)) sym)[n] != 0; n++) // Don't overwrite values initialized by DXE + ; + for (; n < m; n++) + ((void (**) (void)) sym)[n] = uninit_func; + + // initialize functions + sym->printf = printf; + sym->fprintf = fprintf; + sym->vfprintf = vfprintf; + sym->sprintf = sprintf; + sym->vsprintf = vsprintf; + sym->puts = puts; + sym->fputs = fputs; + sym->sscanf = sscanf; + sym->vsscanf = vsscanf; + sym->fopen = fopen; + sym->fdopen = fdopen; + sym->popen = popen; + sym->fclose = fclose; + sym->pclose = pclose; + sym->fseek = fseek; + sym->ftell = ftell; + sym->rewind = rewind; + sym->fread = fread; + sym->fwrite = fwrite; + sym->fgetc = fgetc; + sym->fgets = fgets; + sym->feof = feof; + sym->fputc = fputc; + sym->fflush = fflush; + sym->ferror = ferror; + sym->rename = rename; + sym->remove = remove; + + sym->free = free; + sym->malloc = malloc; + sym->calloc = calloc; + sym->realloc = realloc; + sym->exit = exit; + sym->strtol = strtol; + sym->getenv = getenv; + sym->srand = srand; + sym->rand = rand; + sym->atoi = atoi; + + sym->memcpy = memcpy; + sym->memset = memset; + sym->strcmp = strcmp; + sym->strcpy = strcpy; + sym->strncpy = strncpy; + sym->strcat = strcat; + sym->strncat = strncat; + sym->strcasecmp = strcasecmp; + sym->strncasecmp = strncasecmp; + sym->strchr = strchr; + sym->strrchr = strrchr; + sym->strpbrk = strpbrk; + sym->strspn = strspn; + sym->strcspn = strcspn; + sym->strlen = strlen; + sym->strstr = strstr; + sym->strdup = strdup; + sym->strtok = strtok; + + sym->tolower = tolower; + sym->toupper = toupper; + sym->isupper = isupper; + + sym->opendir = opendir; + sym->readdir = readdir; + sym->closedir = closedir; + + sym->access = access; + sym->rmdir = rmdir; + sym->isatty = isatty; + sym->chdir = chdir; + sym->getcwd = getcwd; + sym->getuid = getuid; + sym->sync = sync; + sym->truncate = truncate; + + sym->stat = stat; + sym->chmod = chmod; + sym->mkdir = mkdir; + sym->time = time; + sym->delay = delay; + sym->__dpmi_int = __dpmi_int; + + // initialize variables + sym->__dj_stdin = __dj_stdin; + sym->__dj_stdout = __dj_stdout; + sym->__dj_stderr = __dj_stderr; + sym->__dj_ctype_flags = __dj_ctype_flags; + sym->__dj_ctype_tolower = __dj_ctype_tolower; + sym->__dj_ctype_toupper = __dj_ctype_toupper; + sym->errno = errno; + + // initialize the DXE module + sym->dxe_init (); + + if (new_handle == INITIAL_HANDLE) + dxe_map = map_create (10); + dxe_map = map_put (dxe_map, (void *) new_handle, sym); + handle = (void *) new_handle++; +#elif defined __unix__ || defined __APPLE__ // Mac OS X actually + /* + We use dlcompat under Mac OS X simply because it's there. I (dbjh) don't + want to add extra code only because "using the native api's is the supported + method of loading dynamically on Mac OS X" (Peter O'Gorman, maintainer of + dlcompat). Besides, dlcompat has been tested while any new code we add, not. + RTLD_NOW is ignored by dlcompat (7-12-2003). + */ + if ((handle = dlopen (module_name, RTLD_LAZY)) == NULL) + { + fputs (dlerror (), stderr); + fputc ('\n', stderr); + exit (1); + } +#elif defined _WIN32 + if ((handle = LoadLibrary (module_name)) == NULL) + { + LPTSTR strptr; + + FormatMessage (FORMAT_MESSAGE_ALLOCATE_BUFFER | + FORMAT_MESSAGE_FROM_SYSTEM | + FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, GetLastError (), + MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT), + (LPTSTR) &strptr, 0, NULL); + // Note the construct with strptr. You wouldn't believe what a bunch of + // fucking morons those guys at Microsoft are! + fputs (strptr, stderr); + LocalFree (strptr); + exit (1); + } +#elif defined __BEOS__ + if ((int) (handle = (void *) load_add_on (module_name)) < B_NO_ERROR) + { + fprintf (stderr, "Error while loading add-on image: %s\n", module_name); + exit (1); + } +#endif + + return handle; +} + + +void * +get_symbol (void *handle, char *symbol_name) +{ + void *symptr; +#ifdef DJGPP + st_symbol_t *sym = map_get (dxe_map, handle); + if (sym == NULL) + { + fprintf (stderr, "Invalid handle: %x\n", (int) handle); + exit (1); + } + + symptr = sym->dxe_symbol (symbol_name); + if (symptr == NULL) + { + fprintf (stderr, "Could not find symbol: %s\n", symbol_name); + exit (1); + } +#elif defined __unix__ || defined __APPLE__ // Mac OS X actually, see + char *strptr; // comment in open_module() + + symptr = dlsym (handle, symbol_name); + if ((strptr = (char *) dlerror ()) != NULL) // this is "the correct way" + { // according to the info page + fputs (strptr, stderr); + fputc ('\n', stderr); + exit (1); + } +#elif defined _WIN32 + symptr = (void *) GetProcAddress ((HINSTANCE) handle, symbol_name); + if (symptr == NULL) + { + LPTSTR strptr; + + FormatMessage (FORMAT_MESSAGE_ALLOCATE_BUFFER | + FORMAT_MESSAGE_FROM_SYSTEM | + FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, GetLastError (), + MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT), + (LPTSTR) &strptr, 0, NULL); + fputs (strptr, stderr); + LocalFree (strptr); + exit (1); + } +#elif defined __BEOS__ + int status = get_image_symbol ((int) handle, symbol_name, + B_SYMBOL_TYPE_TEXT, &symptr); // B_SYMBOL_TYPE_DATA/B_SYMBOL_TYPE_ANY + if (status != B_OK) + { + fprintf (stderr, "Could not find symbol: %s\n", symbol_name); + exit (1); + } +#endif + + return symptr; +} diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/dlopen.h b/tools/ucon64-2.0.0-src/src/libdiscmage/dlopen.h new file mode 100644 index 0000000..7dbcb0a --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/dlopen.h @@ -0,0 +1,27 @@ +/* +dlopen.h - DLL support code + +Copyright (c) 2002 dbjh + + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ +#ifndef DLOPEN_H +#define DLOPEN_H + +void *open_module (char *module_name); +void *get_symbol (void *handle, char *symbol_name); + +#endif // DLOPEN_H diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/dxe_misc.c b/tools/ucon64-2.0.0-src/src/libdiscmage/dxe_misc.c new file mode 100644 index 0000000..5a819eb --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/dxe_misc.c @@ -0,0 +1,590 @@ +/* +dxe_misc.c - miscellaneous functions for the grand libdiscmage DXE hack + +Copyright 2003 - 2004 dbjh + + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +/* + The original reason this file was created was because we can do the + (re)definition of the names of the buffered file I/O functions only once. + For a DXE they would have to be (re)defined twice if we want to be able to + use the zlib & unzip code in miscz.c; once to substitute the names to make + code use the import/export "table" and once to make code use the f*2() + functions in miscz.c. +*/ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include "dxedll_pub.h" + +extern st_symbol_t import_export; +int errno = 0; // TODO: verify how dangerous this is (is it?) + + +int +printf (const char *format, ...) +{ + va_list argptr; + int n_chars; + + va_start (argptr, format); + n_chars = import_export.vfprintf (&import_export.__dj_stdout, format, argptr); + va_end (argptr); + return n_chars; +} + + +int +fprintf (FILE *file, const char *format, ...) +{ + va_list argptr; + int n_chars; + + va_start (argptr, format); + n_chars = import_export.vfprintf (file, format, argptr); + va_end (argptr); + return n_chars; +} + + +int +vfprintf (FILE *file, const char *format, va_list argptr) +{ + return import_export.vfprintf (file, format, argptr); +} + + +int +sprintf (char *buffer, const char *format, ...) +{ + va_list argptr; + int n_chars; + + va_start (argptr, format); + n_chars = import_export.vsprintf (buffer, format, argptr); + va_end (argptr); + return n_chars; +} + + +int +vsprintf (char *buffer, const char *format, va_list argptr) +{ + return import_export.vsprintf (buffer, format, argptr); +} + + +int +puts (const char *str) +{ + return import_export.puts (str); +} + + +int +fputs (const char *str, FILE *file) +{ + return import_export.fputs (str, file); +} + + +int +sscanf (const char *buffer, const char *format, ...) +{ + va_list argptr; + int n_chars; + + va_start (argptr, format); + n_chars = import_export.vsscanf (buffer, format, argptr); + va_end (argptr); + return n_chars; +} + + +int +vsscanf (const char *buffer, const char *format, va_list argptr) +{ + return import_export.vsscanf (buffer, format, argptr); +} + + +FILE * +fopen (const char *filename, const char *mode) +{ + return import_export.fopen (filename, mode); +} + + +FILE * +fdopen (int fd, const char *mode) +{ + return import_export.fdopen (fd, mode); +} + + +FILE * +popen (const char *command, const char *mode) +{ + return import_export.popen (command, mode); +} + + +int +fclose (FILE *file) +{ + return import_export.fclose (file); +} + + +int +pclose (FILE *stream) +{ + return import_export.pclose (stream); +} + + +int +fseek (FILE *file, long offset, int mode) +{ + return import_export.fseek (file, offset, mode); +} + + +long +ftell (FILE *file) +{ + return import_export.ftell (file); +} + + +void +rewind (FILE *file) +{ + import_export.rewind (file); +} + + +size_t +fread (void *buffer, size_t size, size_t number, FILE *file) +{ + return import_export.fread (buffer, size, number, file); +} + + +size_t +fwrite (const void *buffer, size_t size, size_t number, FILE *file) +{ + return import_export.fwrite (buffer, size, number, file); +} + + +int +fgetc (FILE *file) +{ + return import_export.fgetc (file); +} + + +char * +fgets (char *buffer, int maxlength, FILE *file) +{ + return import_export.fgets (buffer, maxlength, file); +} + + +int +feof (FILE *file) +{ + return import_export.feof (file); +} + + +int +fputc (int character, FILE *file) +{ + return import_export.fputc (character, file); +} + + +int +fflush (FILE *file) +{ + return import_export.fflush (file); +} + + +int +ferror (FILE *file) +{ + return import_export.ferror (file); +} + + +int +rename (const char *oldname, const char *newname) +{ + return import_export.rename (oldname, newname); +} + + +int +remove (const char *filename) +{ + return import_export.remove (filename); +} + + +void +free (void *mem) +{ + import_export.free (mem); +} + + +void * +malloc (size_t size) +{ + return import_export.malloc (size); +} + + +void * +calloc (size_t n_elements, size_t size) +{ + return import_export.calloc (n_elements, size); +} + + +void * +realloc (void *mem, size_t size) +{ + return import_export.realloc (mem, size); +} + + +void +exit (int code) +{ + import_export.exit (code); +} + + +long +strtol (const char *str, char **endptr, int base) +{ + return import_export.strtol (str, endptr, base); +} + + +char * +getenv (const char *name) +{ + return import_export.getenv (name); +} + + +void +srand (unsigned seed) +{ + import_export.srand (seed); +} + + +int +rand (void) +{ + return import_export.rand (); +} + + +int +atoi (const char *str) +{ + return import_export.atoi (str); +} + + +void * +memcpy (void *dest, const void *src, size_t size) +{ + return import_export.memcpy (dest, src, size); +} + + +void * +memset (void *mem, int value, size_t size) +{ + return import_export.memset (mem, value, size); +} + + +int +strcmp (const char *s1, const char *s2) +{ + return import_export.strcmp (s1, s2); +} + + +char * +strcpy (char *dest, const char *src) +{ + return import_export.strcpy (dest, src); +} + + +char * +strncpy (char *dest, const char *src, size_t n) +{ + return import_export.strncpy (dest, src, n); +} + + +char * +strcat (char *s1, const char *s2) +{ + return import_export.strcat (s1, s2); +} + + +char * +strncat (char *s1, const char *s2, size_t n) +{ + return import_export.strncat (s1, s2, n); +} + + +int +strcasecmp (const char *s1, const char *s2) +{ + return import_export.strcasecmp (s1, s2); +} + + +int +strncasecmp (const char *s1, const char *s2, size_t n) +{ + return import_export.strncasecmp (s1, s2, n); +} + + +char * +strchr (const char *str, int c) +{ + return import_export.strchr (str, c); +} + + +char * +strrchr (const char *str, int c) +{ + return import_export.strrchr (str, c); +} + + +char * +strpbrk (const char *str, const char *set) +{ + return import_export.strpbrk (str, set); +} + + +size_t +strspn (const char *str, const char *set) +{ + return import_export.strspn (str, set); +} + + +size_t +strcspn (const char *str, const char *set) +{ + return import_export.strcspn (str, set); +} + + +size_t +strlen (const char *str) +{ + return import_export.strlen (str); +} + + +char * +strstr (const char *s1, const char *s2) +{ + return import_export.strstr (s1, s2); +} + + +char * +strdup (const char *str) +{ + return import_export.strdup (str); +} + + +char * +strtok (char *s1, const char *s2) +{ + return import_export.strtok (s1, s2); +} + + +#undef tolower +int +tolower (int c) +{ + return import_export.tolower (c); +} + + +#undef toupper +int +toupper (int c) +{ + return import_export.toupper (c); +} + + +#undef isupper +int +isupper (int c) +{ + return import_export.isupper (c); +} + + +DIR * +opendir (const char *dirname) +{ + return import_export.opendir (dirname); +} + + +struct dirent * +readdir (DIR *dir) +{ + return import_export.readdir (dir); +} + + +int +closedir (DIR *dir) +{ + return import_export.closedir (dir); +} + + +int +access (const char *filename, int mode) +{ + return import_export.access (filename, mode); +} + + +int +rmdir (const char *dirname) +{ + return import_export.rmdir (dirname); +} + + +int +isatty (int fd) +{ + return import_export.isatty (fd); +} + + +int +chdir (const char *dirname) +{ + return import_export.chdir (dirname); +} + + +char * +getcwd (char *buffer, size_t size) +{ + return import_export.getcwd (buffer, size); +} + + +int +getuid (void) +{ + return import_export.getuid (); +} + + +int +sync (void) +{ + return import_export.sync (); +} + + +int +truncate (const char *filename, off_t size) +{ + return import_export.truncate (filename, size); +} + + +int +stat (const char *filename, struct stat *statbuf) +{ + return import_export.stat (filename, statbuf); +} + + +int +chmod (const char *filename, mode_t mode) +{ + return import_export.chmod (filename, mode); +} + + +int +mkdir (const char *path, mode_t mode) +{ + return import_export.mkdir (path, mode); +} + + +time_t +time (time_t *t) +{ + return import_export.time (t); +} + + +void +delay (unsigned nmillis) +{ + import_export.delay (nmillis); +} + + +int +__dpmi_int (int vector, __dpmi_regs *regs) +{ + return import_export.__dpmi_int (vector, regs); +} diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/dxedll_priv.h b/tools/ucon64-2.0.0-src/src/libdiscmage/dxedll_priv.h new file mode 100644 index 0000000..3945d89 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/dxedll_priv.h @@ -0,0 +1,74 @@ +/* +dxedll_priv.h - DXE support (code/data private to DXE) + +Copyright (c) 2002 - 2003 dbjh + + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ + +#ifndef DXEDLL_PRIV_H +#define DXEDLL_PRIV_H + +#include "dxedll_pub.h" + +#ifdef __cplusplus +extern "C" { +#endif + +extern st_symbol_t import_export; + +// zlib functions +#if 0 +#define gzopen import_export.gzopen +#define gzclose import_export.gzclose +#define gzwrite import_export.gzwrite +#define gzgets import_export.gzgets +#define gzeof import_export.gzeof +#define gzseek import_export.gzseek +#define gzputc import_export.gzputc +#define gzread import_export.gzread +#define gzgetc import_export.gzgetc +#define gzrewind import_export.gzrewind +#define gztell import_export.gztell + +// unzip functions +#define unzOpen import_export.unzOpen +#define unzOpenCurrentFile import_export.unzOpenCurrentFile +#define unzGoToFirstFile import_export.unzGoToFirstFile +#define unzClose import_export.unzClose +#define unzGetGlobalInfo import_export.unzGetGlobalInfo +#define unzGoToNextFile import_export.unzGoToNextFile +#define unzCloseCurrentFile import_export.unzCloseCurrentFile +#define unzeof import_export.unzeof +#define unzReadCurrentFile import_export.unzReadCurrentFile +#define unztell import_export.unztell +#define unzGetCurrentFileInfo import_export.unzGetCurrentFileInfo +#endif + +// variables +#define __dj_stdin import_export.__dj_stdin +#define __dj_stdout import_export.__dj_stdout +#define __dj_stderr import_export.__dj_stderr +#define __dj_ctype_flags import_export.__dj_ctype_flags +#define __dj_ctype_tolower import_export.__dj_ctype_tolower +#define __dj_ctype_toupper import_export.__dj_ctype_toupper +//#define errno import_export.errno + +#ifdef __cplusplus +} +#endif + +#endif // DXEDLL_PRIV_H diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/dxedll_pub.h b/tools/ucon64-2.0.0-src/src/libdiscmage/dxedll_pub.h new file mode 100644 index 0000000..e23baae --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/dxedll_pub.h @@ -0,0 +1,159 @@ +/* +dxedll_pub.h - DXE client support code + +Copyright (c) 2002 - 2004 dbjh + + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ +#ifndef DXEDLL_PUB_H +#define DXEDLL_PUB_H + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#include +#ifdef HAVE_DIRENT_H +#include +#endif +#ifdef HAVE_UNISTD_H +#include +#endif +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct st_symbol +{ + // functions exported by the DXE module + int (*dxe_init) (void); + void *(*dxe_symbol) (char *symbol_name); + + // variables exported by the DXE module + int size; // yes, this var needs to be here + // (or it could be a function) + /* + functions imported by the DXE module + Note that most functions used by the DXE module and not defined in it + should be listed here. That includes standard C library functions and + variables. + */ + int (*printf) (const char *, ...); + int (*fprintf) (FILE *, const char *, ...); + int (*vfprintf) (FILE *, const char *, va_list); + int (*sprintf) (char *, const char *, ...); + int (*vsprintf) (char *, const char *, va_list); + int (*puts) (const char *); + int (*fputs) (const char *, FILE *); + int (*sscanf) (const char *, const char *, ...); + int (*vsscanf) (const char *, const char *, va_list); + FILE *(*fopen) (const char *, const char *); + FILE *(*fdopen) (int, const char *); + FILE *(*popen) (const char *, const char *); + int (*fclose) (FILE *); + int (*pclose) (FILE *); + int (*fseek) (FILE *, long, int); + long (*ftell) (FILE *); + void (*rewind) (FILE *); + size_t (*fread) (void *, size_t, size_t, FILE *); + size_t (*fwrite) (const void *, size_t, size_t, FILE *); + int (*fgetc) (FILE *); + char *(*fgets) (char *, int, FILE *); + int (*feof) (FILE *); + int (*fputc) (int, FILE *); + int (*fflush) (FILE *); + int (*ferror) (FILE *); + int (*rename) (const char *, const char *); + int (*remove) (const char *); + + void (*free) (void *); + void *(*malloc) (size_t); + void *(*calloc) (size_t, size_t); + void *(*realloc) (void *, size_t); + void (*exit) (int) __attribute__ ((noreturn)); + long (*strtol) (const char *, char **, int); + char *(*getenv) (const char *); + void (*srand) (unsigned); + int (*rand) (void); + int (*atoi) (const char *); + + void *(*memcpy) (void *, const void *, size_t); + void *(*memset) (void *, int, size_t); + int (*strcmp) (const char *, const char *); + char *(*strcpy) (char *, const char *); + char *(*strncpy) (char *, const char *, size_t); + char *(*strcat) (char *, const char *); + char *(*strncat) (char *, const char *, size_t); + int (*strcasecmp) (const char *, const char *); + int (*strncasecmp) (const char *, const char *, size_t); + char *(*strchr) (const char *, int); + char *(*strrchr) (const char *, int); + char *(*strpbrk) (const char *, const char *); + size_t (*strspn) (const char *, const char *); + size_t (*strcspn) (const char *, const char *); + size_t (*strlen) (const char *); + char *(*strstr) (const char *, const char *); + char *(*strdup) (const char *); + char *(*strtok) (char *, const char *); + + int (*tolower) (int); + int (*toupper) (int); + int (*isupper) (int); + + DIR *(*opendir) (const char *); + struct dirent *(*readdir) (DIR *); + int (*closedir) (DIR *); + + // va_start(), va_arg() and va_end() are macros + + int (*access) (const char *, int); + int (*rmdir) (const char *); + int (*isatty) (int); + int (*chdir) (const char *); + char *(*getcwd) (char *, size_t); + int (*getuid) (void); + int (*sync) (void); + int (*truncate) (const char *, off_t); + + int (*stat) (const char *, struct stat *); + int (*chmod) (const char *, mode_t); + int (*mkdir) (const char *, mode_t); + time_t (*time) (time_t *); + void (*delay) (unsigned); + int (*__dpmi_int) (int, __dpmi_regs *); + + // Put all variables AFTER the functions. This makes it easy to catch + // uninitialized function pointers. + FILE __dj_stdin, __dj_stdout, __dj_stderr; + // WARNING: actually the __dj_ctype_X variables are arrays + unsigned short *__dj_ctype_flags; + unsigned char *__dj_ctype_tolower, *__dj_ctype_toupper; + int errno; +} st_symbol_t; + +#ifdef __cplusplus +} +#endif + +#endif // DXEDLL_PUB_H diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/format/ccd.c b/tools/ucon64-2.0.0-src/src/libdiscmage/format/ccd.c new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/format/ccd.c @@ -0,0 +1 @@ + diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/format/ccd.h b/tools/ucon64-2.0.0-src/src/libdiscmage/format/ccd.h new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/format/ccd.h @@ -0,0 +1 @@ + diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/format/cdi.c b/tools/ucon64-2.0.0-src/src/libdiscmage/format/cdi.c new file mode 100644 index 0000000..c060f7a --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/format/cdi.c @@ -0,0 +1,309 @@ +/* +cdi.c - DiscJuggler/CDI image support for libdiscmage + +Copyright (c) 2002 NoisyB (noisyb@gmx.net) +based on specs and code by Dext + + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ +#ifdef HAVE_CONFIG_H +#include "../config.h" +#endif +#include +#include +#include +#include "../misc.h" +#include "../libdiscmage.h" +#include "../libdm_misc.h" +#include "format.h" +#ifdef DJGPP +#include "../dxedll_priv.h" +#endif + +// cdi images are little-endian + +// header magic +#define CDI_V2 0x80000004 +#define CDI_V3 0x80000005 +#define CDI_V35 0x80000006 +#define CDI_V4 (CDI_V35) + +static uint32_t header_start = 0, version = 0, position = 0; + +int +cdi_track_init (dm_track_t *track, FILE *fh) +// based on the DiscJuggler 4.0 header specs by Dext (see comments below) +{ + int cdi_track_modes[] = {2048, 2336, 2352, 0}, x = 0; + uint32_t value32; +// uint16_t value16; + uint8_t value8; + char value_s[300]; + const char track_header_magic[] = { 0, 0, 0x01, 0, 0, 0, (const char) 0xFF, + (const char) 0xFF, (const char) 0xFF, (const char) 0xFF}; + +#ifdef DEBUG + printf ("%lx\n", ftell(fh)); + fflush (stdout); +#endif + +#if 0 + fread (&value32, 4, 1, fh); // [ 8 unkown data (not NULL) 3.00.780 only (may not be present)] + if (le2me_32 (value32)) + fseek (fh, 2, SEEK_CUR); // skip +#else +// callibrate + fseek (fh, -9, SEEK_CUR); + for (x = 0; x < 64; x++) + { + if (fread (&value_s, 1, 10, fh) != 10) + return -1; + fseek (fh, -10, SEEK_CUR); + if (!memcmp (track_header_magic, value_s, 10)) + break; + fseek (fh, 1, SEEK_CUR); + } +#endif +#ifdef DEBUG + printf ("new offset: %lx\n", ftell (fh)); + fflush (stdout); +#endif + + for (x = 0; x < 2; x++) // 20 00 00 01 00 00 00 FF FF FF FF + { // 00 00 01 00 00 00 FF FF FF FF track start mark? + fread (&value_s, 1, 10, fh); + if (memcmp (track_header_magic, value_s, 10)) + { + fprintf (stderr, "ERROR: could not locate the track start mark (pos: %08lx)\n", ftell (fh)); + return -1; + } + } + + fseek (fh, 4, SEEK_CUR); // 4 discjuggler settings no idea of internal bit fields + fread (&value8, 1, 1, fh); // 1 filename_lenght + fread (&value_s, 1, value8, fh); // [fl] [filename] +#ifdef DEBUG + if (value8 < sizeof (value_s)) + { + value_s[value8] = 0; + puts (value_s); + fflush (stdout); + } +#endif + fseek (fh, 19, SEEK_CUR); // 1 NULL + // 10 NULL (ISRC?) + // 4 2 (always?) + // 4 NULL + fread (&value32, 4, 1, fh); // [ 4 0x80000000 (4.x only)] + +// fseek (fh, 4, SEEK_CUR); // 4 max_cd_length = 0x514C8 (333000 dec) or 0x57E40 (360000 dec) + if (le2me_32 (value32) == 0x80000000) + fseek (fh, 4, SEEK_CUR); // [ 4 0x980000 (4.x only)] + fseek (fh, 2, SEEK_CUR); // 2 2 (always?) + fread (&value32, 4, 1, fh); // 4 track->pregap_len = 0x96 (150 dec) in sectors + track->pregap_len = le2me_32 (value32); +#ifdef DEBUG + printf ("pregap: %x\n", track->pregap_len); + fflush (stdout); +#endif + fread (&value32, 4, 1, fh); // 4 track_length (in sectors) + track->track_len = le2me_32 (value32); +#ifdef DEBUG + printf ("track len: %d\n", track->track_len); + fflush (stdout); +#endif + fseek (fh, 6, SEEK_CUR); // NULL + fread (&value32, 4, 1, fh); // 4 track_mode (0 = audio, 1 = mode1, 2 = mode2) + track->mode = le2me_32 (value32); +#ifdef DEBUG + printf ("track mode: %d\n", track->mode); + fflush (stdout); +#endif + fseek (fh, 12, SEEK_CUR); // 4 NULL + // 4 session_number (starting at 0) + // 4 track_number (in current session, starting at 0) + fread (&value32, 4, 1, fh); // 4 start_lba + track->start_lba = le2me_32 (value32); + fread (&value32, 4, 1, fh); // 4 total_length (pregap+track), less if truncated + track->total_len = le2me_32 (value32); +#if 1 + fseek (fh, 16, SEEK_CUR); // 16 NULL + fread (&value32, 4, 1, fh); // 4 sector_size (0 = 2048, 1 = 2336, 2 = 2352) + value32 = le2me_32 (value32); + if (/* value8 < 0 || */ value32 > 2) + { + fprintf (stderr, "ERROR: unsupported sector size (%u)\n", (unsigned int) value32); + return -1; + } + track->sector_size = cdi_track_modes[value32]; +#else + fseek (fh, 19, SEEK_CUR); // 19 NULL + fread (&value8, 1, 1, fh); // 1 sector_size (0 = 2048, 1 = 2336, 2 = 2352) +// value32 = le2me_32 (value32); + if (/* value8 < 0 || */ value8 > 2) + { + fprintf (stderr, "ERROR: unsupported sector size (%d)\n", value8); + return -1; + } + track->sector_size = cdi_track_modes[value8]; +#endif +#ifdef DEBUG + printf ("sector size: %d\n\n", track->sector_size); + fflush (stdout); +#endif + fseek (fh, 29, SEEK_CUR); // 4 0 = audio, 4 = data + // 1 NULL + // 4 total_length (again?) + // 20 NULL + if (version != CDI_V2) + { + fseek (fh, 5, SEEK_CUR); + fread (&value32, 4, 1, fh); // 9 unknown data 3.0 only (build 780+: 00FFFFFFFFFFFFFFFF) + if (le2me_32 (value32) == 0xffffffff) + fseek (fh, 78, SEEK_CUR); // 78 unknown data 3.00.780 only (not NULL) + } + + fseek (fh, (version == CDI_V2 ? 12 : 13), SEEK_CUR); // skip session + +#ifdef DEBUG + printf ("%lx\n", ftell(fh)); + fflush (stdout); +#endif + + track->track_start = position; // position inside the image + position += (track->total_len * track->sector_size); + +#if 0 + pos = ftell (fh); + fseek (fh, track->track_start, SEEK_SET); + dm_track_init (track, fh); // try to get more (precise) info from the track itself + fseek (fh, pos, SEEK_SET); +#endif + + return 0; +} + + +int +cdi_init (dm_image_t *image) +{ + typedef struct + { + uint32_t version; + char *version_s; + } st_probe_t; + + static const st_probe_t probe[] = { + {CDI_V2, "DiscJuggler/CDI image (v2.x)"}, + {CDI_V3, "DiscJuggler/CDI image (v3.x)"}, + {CDI_V35, "DiscJuggler/CDI image (v3.5)"}, + {CDI_V4, "DiscJuggler/CDI image (v4.x)"}, + {0, NULL} + }; + int s = 0, t = 0, x = 0, size = q_fsize (image->fname); + FILE *fh; + uint16_t value_16; + uint32_t value_32; +#ifdef DEBUG + int result; + unsigned char buf[MAXBUFSIZE]; +#endif + + header_start = + version = + position = 0; + + if (size < 8) + return -1; // image file is too small + + if (!(fh = fopen (image->fname, "rb"))) + return -1; + + fseek (fh, size - 8, SEEK_SET); + fread (&value_32, 1, 4, fh); + image->version = version = value_32; + fread (&value_32, 1, 4, fh); + image->header_start = header_start = value_32; + + if (!image->header_start) + { + fclose (fh); + return -1; // bad image + } + + // a supported DiscJuggler version? + for (x = 0; probe[x].version; x++) + if (image->version == probe[x].version) + break; + + if (image->version != probe[x].version) + { + fclose (fh); + return -1; + } + + image->desc = probe[x].version_s; + + image->header_start = + (image->version == CDI_V35 || image->version == CDI_V4 ? + size - image->header_start : image->header_start); + +//TODO: get the correct header size when != (image->version == CDI_V35 || image->version == CDI_V4) +// image->header_len = size - image->header_start; + +#ifdef DEBUG + fseek (fh, image->header_start, SEEK_SET); + memset (&buf, 0, MAXBUFSIZE); + result = fread (buf, 1, MAXBUFSIZE, fh); + mem_hexdump (buf, result, image->header_start); +#endif + + fseek (fh, image->header_start, SEEK_SET); + + fread (&value_16, 2, 1, fh); // how many sessions? + image->sessions = value_16; + + if (!image->sessions) + { + fclose (fh); + return -1; + } + + image->tracks = 0; + for (s = 0; s < image->sessions; s++) + { +#ifdef DEBUG + printf ("track# offset: %lx\n", ftell (fh)); + fflush (stdout); +#endif + fread (&value_16, 1, 2, fh); // how many tracks in this session? + + for (t = 0; t < value_16; t++) + if (!cdi_track_init (&image->track[image->tracks], fh)) + { + image->tracks++; // total # of tracks + image->session[s]++; // # of tracks for this session + } + else + { + fclose (fh); + return !image->tracks ? (-1) : 0; + } + } + + fclose (fh); + return 0; +} diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/format/cdi.h b/tools/ucon64-2.0.0-src/src/libdiscmage/format/cdi.h new file mode 100644 index 0000000..d624d64 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/format/cdi.h @@ -0,0 +1,27 @@ +/* +cdi.h - DiscJuggler/CDI image support for libdiscmage + +Copyright (c) 2002 NoisyB (noisyb@gmx.net) +based on specs and code by Dext + + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ +#ifndef CDI_H +#define CDI_H +extern int cdi_init (dm_image_t *image); +extern int cdi_track_init (dm_track_t *track, FILE *fh); + +#endif // CDI_H diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/format/cue.c b/tools/ucon64-2.0.0-src/src/libdiscmage/format/cue.c new file mode 100644 index 0000000..4176a2b --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/format/cue.c @@ -0,0 +1,273 @@ +/* +cue.c - CUE support for libdiscmage + +Copyright (c) 2002 - 2003 NoisyB (noisyb@gmx.net) + + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ +#ifdef HAVE_CONFIG_H +#include "../config.h" +#endif +#include "../misc.h" +#include "../libdiscmage.h" +#include "../libdm_misc.h" +#include "format.h" +#ifdef DJGPP +#include "../dxedll_priv.h" +#endif + + +const st_track_desc_t cue_desc[] = + { + {DM_MODE1_2048, "MODE1/2048"}, // CD-ROM Mode1 Data (cooked) + {DM_MODE1_2352, "MODE1/2352"}, // CD-ROM Mode1 Data (raw) + {DM_MODE2_2336, "MODE2/2336"}, // CD-ROM XA Mode2 Data + {DM_MODE2_2352, "MODE2/2352"}, // CD-ROM XA Mode2 Data + {DM_AUDIO, "AUDIO"}, // Audio/Music (2352) +#if 0 + {DM_UNKNOWN, "CDG"}, // Karaoke CD+G (2448) + {DM_UNKNOWN, "CDI/2336"}, // CD-I Mode2 Data + {DM_UNKNOWN, "CDI/2352"}, // CD-I Mode2 Data +#endif + {0, NULL} + }; + + +static const char * +cue_get_desc (int id) +{ + int x = 0; + + for (x = 0; cue_desc[x].desc; x++) + if (id == cue_desc[x].id) + return cue_desc[x].desc; + return ""; +} + + +dm_image_t * +dm_cue_read (dm_image_t *image, const char *cue_file) +{ + char buf[MAXBUFSIZE]; +#if 0 + , *p = NULL; + char inum[3]; + char min; + char sec; + char fps; + int already_set = 0; +#endif + int t = 0, x = 0; + FILE *fh = NULL; + + if (!(fh = fopen (cue_file, "rb"))) + return NULL; // cue_file not found + + for (; fgets (buf, MAXBUFSIZE, fh); t++) + { + if (strstr (buf, " TRACK ")) + { + dm_track_t *track = (dm_track_t *) &image->track[t]; + + track->sector_size = track->mode = 0; + + for (x = 0; cue_desc[x].desc; x++) + if (stristr (buf, cue_desc[x].desc)) + { + dm_get_track_mode_by_id (cue_desc[x].id, &track->mode, &track->sector_size); + break; + } + + if (!track->sector_size) + { + fclose (fh); + return !t ? NULL : image; + } + } +#if 0 + else if (strstr (buf, " INDEX ")) + { + /* check stuff here so if the answer is false the else stuff below won't be executed */ + strncpy (inum, &buf[10], 2); + inum[2] = '\0'; + if ((already_set == 0) && + ((strcmp (inum, "00") == 0) || (strcmp (inum, "01") == 0))) + { + already_set = 1; + + min = ((buf[13] - '0') << 4) | (buf[14] - '0'); + sec = ((buf[16] - '0') << 4) | (buf[17] - '0'); + fps = ((buf[19] - '0') << 4) | (buf[20] - '0'); + + track->minute = (((min >> 4) * 10) + (min & 0xf)); + track->second = (((sec >> 4) * 10) + (sec & 0xf)); + track->frame = (((fps >> 4) * 10) + (fps & 0xf)); + } + } + else if (strstr (buf, "PREGAP ")) + { + } + else if (strstr (buf, "POSTGAP ")) + { + } +#endif + } + + fclose (fh); + + return image; +} + + +int +dm_cue_write (const dm_image_t *image) +{ + int result = (-1), t = 0; + + for (t = 0; t < image->tracks; t++) + { +#if FILENAME_MAX > MAXBUFSIZE + char buf[FILENAME_MAX]; +#else + char buf[MAXBUFSIZE]; +#endif +// char buf2[MAXBUFSIZE]; + dm_track_t *track = (dm_track_t *) &image->track[t]; + int m = 0, s = 0, f = 0; + FILE *fh = NULL; + + strcpy (buf, image->fname); +#if 0 + sprintf (buf2, "_%d.CUE", t); + set_suffix (buf, buf2); +#else + set_suffix (buf, ".CUE"); +#endif + + if (!(fh = fopen (buf, "wb"))) + { + result = -1; + continue; + } + else + result = 0; + + switch (track->mode) + { + case 0: // audio + // TODO: WAVE, AIFF, ... + fprintf (fh, "FILE \"%s\" WAVE\r\n", image->fname); + break; + + case 1: // iso + fprintf (fh, "FILE \"%s\" BINARY\r\n", image->fname); + break; + + default: // bin + fprintf (fh, "FILE \"%s\" BINARY\r\n", image->fname); + break; + } + + fprintf (fh, " TRACK %02d %s\r\n", + t + 1, + cue_get_desc (track->id)); + + /* + You can use the PREGAP command to specify the length of a track + pre-gap. CDRWIN internally generates the pre-gap data. No data is + consumed from the current data file. + */ + if (track->pregap_len > 0) + { + dm_lba_to_msf (track->pregap_len, &m, &s, &f); + fprintf (fh, " PREGAP %02d:%02d:%02d\r\n", m, s, f); + } + + /* + You can use the INDEX command to specify indexes (or + subindexes) within a track. + */ + fprintf (fh, " INDEX 01 00:00:00\r\n"); // default + + + /* + You can use the POSTGAP command to specify the length of a + track post-gap. CDRWIN internally generates the post-gap data. + No data is consumed from the current data file. + */ + if (track->postgap_len > 0) + { + dm_lba_to_msf (track->postgap_len, &m, &s, &f); + fprintf (fh, " POSTGAP %02d:%02d:%02d\r\n", m, s, f); + } + + fclose (fh); + } + + return result; +} + + +int +cue_init (dm_image_t *image) +{ + int t = 0; + FILE *fh = NULL; +#if 0 + char buf[FILENAME_MAX]; + + strcpy (buf, image->fname); + set_suffix (buf, ".CUE"); + if (dm_cue_read (image, buf)) // read and parse cue into dm_image_t + { + image->desc = "ISO/BIN track (with CUE file)"; + return 0; + } +#endif + +#if 1 + image->sessions = + image->tracks = + image->session[0] = 1; +#endif + + // missing or invalid cue? try the image itself + if (!(fh = fopen (image->fname, "rb"))) + return -1; + + for (t = 0; t < image->tracks; t++) + { + dm_track_t *track = (dm_track_t *) &image->track[t]; + + if (!dm_track_init (track, fh)) + { + track->track_len = + track->total_len = q_fsize (image->fname) / track->sector_size; + } + else + { + fclose (fh); + return !t ? (-1) : 0; + } + } + + dm_cue_write (image); // write the missing cue + + image->desc = "ISO/BIN track (missing CUE file created)"; + + fclose (fh); + return 0; +} diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/format/cue.h b/tools/ucon64-2.0.0-src/src/libdiscmage/format/cue.h new file mode 100644 index 0000000..5c0b34f --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/format/cue.h @@ -0,0 +1,25 @@ +/* +cue.h - CUE support for libdiscmage + +Copyright (c) 2002 - 2003 NoisyB (noisyb@gmx.net) + + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ +#ifndef CUE_H +#define CUE_H +extern int dm_mkcue (const dm_image_t *image); +extern int cue_init (dm_image_t *image); +#endif // CUE_H diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/format/format.c b/tools/ucon64-2.0.0-src/src/libdiscmage/format/format.c new file mode 100644 index 0000000..6254932 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/format/format.c @@ -0,0 +1,358 @@ +/* +format.c - support of different image formats for libdiscmage + +Copyright (c) 2004 NoisyB (noisyb@gmx.net) + + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ +#ifdef HAVE_CONFIG_H +#include "../config.h" +#endif +#ifdef HAVE_UNISTD_H +#include +#endif +#include +#include +#include +#include +#include +#include +#ifdef DEBUG +#ifdef __GNUC__ +#warning DEBUG active +#else +#pragma message ("DEBUG active") +#endif +#endif +#include +#include "../misc.h" +#include "../libdiscmage.h" +#include "../libdm_misc.h" +#include "format.h" +#include "cdi.h" +#include "cue.h" +#include "nero.h" +#include "other.h" +#include "toc.h" +#include "ccd.h" +#ifdef DJGPP // DXE's are specific to DJGPP +#include "../dxedll_priv.h" +#endif + +/* + callibrate() a brute force function that tries to find a iso header + or anything else that could identify a file as an + image (can be very slow) +*/ +#if 0 +static FILE * +callibrate (const char *s, int len, FILE *fh) +// brute force callibration +{ + int32_t pos = ftell (fh); + char buf[MAXBUFSIZE]; +// malloc ((len + 1) * sizeof (char)); + int size = 0; + int tries = 0; //TODO: make this an arg + + fseek (fh, 0, SEEK_END); + size = ftell (fh); + fseek (fh, pos, SEEK_SET); + + for (; pos < size - len && tries < 32768; pos++, tries++) + { + fseek (fh, pos, SEEK_SET); + fread (&buf, len, 1, fh); +#ifdef DEBUG + mem_hexdump (buf, len, ftell (fh) - len); + mem_hexdump (s, len, ftell (fh) - len); +#endif + if (!memcmp (s, buf, len)) + { + fseek (fh, -len, SEEK_CUR); + return fh; + } + } + + return NULL; +} +#endif + + +int +dm_track_init (dm_track_t *track, FILE *fh) +{ + int pos = 0, x = 0, identified = 0; + const char sync_data[] = {0, (const char) 0xff, (const char) 0xff, + (const char) 0xff, (const char) 0xff, + (const char) 0xff, (const char) 0xff, + (const char) 0xff, (const char) 0xff, + (const char) 0xff, (const char) 0xff, 0}; + char value_s[32]; + uint8_t value8 = 0; + + fseek (fh, track->track_start, SEEK_SET); +#if 1 + fread (value_s, 1, 16, fh); +#else +// callibrate + fseek (fh, -15, SEEK_CUR); + for (x = 0; x < 64; x++) + { + if (fread (&value_s, 1, 16, fh) != 16) + return -1; + fseek (fh, -16, SEEK_CUR); + if (!memcmp (sync_data, value_s, 12)) + break; + fseek (fh, 1, SEEK_CUR); + } +#endif + + if (!memcmp (sync_data, value_s, 12)) + { + value8 = (uint8_t) value_s[15]; + + for (x = 0; track_probe[x].sector_size; x++) + if (track_probe[x].mode == value8) + { + // search for valid PVD in sector 16 of source image + pos = (track_probe[x].sector_size * 16) + + track_probe[x].seek_header + track->track_start; + fseek (fh, pos, SEEK_SET); + fread (value_s, 1, 16, fh); + if (!memcmp (pvd_magic, &value_s, 8) || + !memcmp (svd_magic, &value_s, 8) || + !memcmp (vdt_magic, &value_s, 8)) + { + identified = 1; + break; + } + } + } + + // no sync_data found? probably MODE1/2048 + if (!identified) + { + x = 0; + if (track_probe[x].sector_size != 2048) + fprintf (stderr, "ERROR: dm_track_init()\n"); + + fseek (fh, (track_probe[x].sector_size * 16) + + track_probe[x].seek_header + track->track_start, SEEK_SET); + fread (value_s, 1, 16, fh); + + if (!memcmp (pvd_magic, &value_s, 8) || + !memcmp (svd_magic, &value_s, 8) || + !memcmp (vdt_magic, &value_s, 8)) + identified = 1; + } + + if (!identified) + { + fprintf (stderr, "ERROR: could not find iso header of current track\n"); + return -1; + } + + track->sector_size = track_probe[x].sector_size; + track->mode = track_probe[x].mode; + track->seek_header = track_probe[x].seek_header; + track->seek_ecc = track_probe[x].seek_ecc; + track->iso_header_start = (track_probe[x].sector_size * 16) + track_probe[x].seek_header; + track->id = dm_get_track_mode_id (track->mode, track->sector_size); + + return 0; +} + + +dm_image_t * +dm_reopen (const char *fname, uint32_t flags, dm_image_t *image) +// recurses through all _init functions to find correct image type +{ + typedef struct + { + int type; + int (*init) (dm_image_t *); + int (*track_init) (dm_track_t *, FILE *); + } st_probe_t; + + static st_probe_t probe[] = + { + {DM_CDI, cdi_init, cdi_track_init}, + {DM_NRG, nrg_init, nrg_track_init}, +// {DM_CCD, ccd_init, ccd_track_init}, + {DM_CUE, cue_init, dm_track_init}, + {DM_TOC, toc_init, dm_track_init}, + {DM_OTHER, other_init, dm_track_init}, + {0, NULL, NULL} + }; + int x, identified = 0; +// static dm_image_t image2; + FILE *fh = NULL; + +#ifdef DEBUG + printf ("sizeof (dm_track_t) == %d\n", sizeof (dm_track_t)); + printf ("sizeof (dm_image_t) == %d\n", sizeof (dm_image_t)); + fflush (stdout); +#endif + + if (image) + dm_close (image); + + if (access (fname, F_OK) != 0) + return NULL; + + if (!image) +#if 1 + image = (dm_image_t *) malloc (sizeof (dm_image_t)); +#else + image = (dm_image_t *) &image2; +#endif + + memset (image, 0, sizeof (dm_image_t)); + if (!image) + return NULL; + + image->desc = ""; // deprecated + + for (x = 0; probe[x].type; x++) + if (probe[x].init) + { + dm_clean (image); + image->flags = flags; + strcpy (image->fname, fname); + + if (!probe[x].init (image)) + { + identified = 1; + break; + } + } + + if (!identified) // unknown image + return NULL; + + image->type = probe[x].type; + + if (!(fh = fopen (image->fname, "rb"))) + return image; + + // verify header or sheet informations + for (x = 0; x < image->tracks; x++) + { + dm_track_t *track = (dm_track_t *) &image->track[x]; + + if (track->mode != 0) // AUDIO/2352 has no iso header + track->iso_header_start = track->track_start + (track->sector_size * (16 + track->pregap_len)) + track->seek_header; + +#ifdef DEBUG + printf ("iso header offset: %d\n\n", (int) track->iso_header_start); + fflush (stdout); +#endif + + track->id = dm_get_track_mode_id (track->mode, track->sector_size); + } + + fclose (fh); + + return image; +} + + +dm_image_t * +dm_open (const char *fname, uint32_t flags) +{ + return dm_reopen (fname, flags, NULL); +} + + +int +dm_close (dm_image_t *image) +{ +#if 1 + free (image); +#else + memset (image, 0, sizeof (dm_image_t)); +#endif + image = NULL; + return 0; +} + + +int +dm_read (char *buffer, int track_num, int sector, const dm_image_t *image) +{ + dm_track_t *track = (dm_track_t *) &image->track[track_num]; + FILE *fh; + + if (!(fh = fopen (image->fname, "rb"))) + return 0; + + if (fseek (fh, track->track_start + (track->sector_size * sector), SEEK_SET) != 0) + { + fclose (fh); + return 0; + } + + if (fread (buffer, track->sector_size, 1, fh) != track->sector_size) + { + fclose (fh); + return 0; + } + + fclose (fh); + return track->sector_size; +} + + +int +dm_write (const char *buffer, int track_num, int sector, const dm_image_t *image) +{ + (void) buffer; + (void) track_num; + (void) sector; + (void) image; + return 0; +} + + +int +dm_disc_read (const dm_image_t *image) +{ + (void) image; + fprintf (stderr, dm_msg[DEPRECATED], "dm_disc_read()"); + fflush (stderr); + return 0; +} + + +int +dm_disc_write (const dm_image_t *image) +{ + (void) image; + fprintf (stderr, dm_msg[DEPRECATED], "dm_disc_write()"); + fflush (stderr); + return 0; +} + + +int +dm_seek (dm_image_t *image, int track_num, int sector) +{ + (void) image; // warning remover + (void) track_num; // warning remover + (void) sector; // warning remover + return 0; +} diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/format/format.h b/tools/ucon64-2.0.0-src/src/libdiscmage/format/format.h new file mode 100644 index 0000000..4374ac0 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/format/format.h @@ -0,0 +1,24 @@ +/* +format.h - support of different image formats for libdiscmage + +Copyright (c) 2004 NoisyB (noisyb@gmx.net) + + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ +#ifndef FORMAT_H +#define FORMAT_H +extern int dm_track_init (dm_track_t *track, FILE *fh); +#endif // FORMAT_H diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/format/nero.c b/tools/ucon64-2.0.0-src/src/libdiscmage/format/nero.c new file mode 100644 index 0000000..d552aba --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/format/nero.c @@ -0,0 +1,519 @@ +/* +nero.c - Nero image support for libdiscmage + +Copyright (c) 2003 NoisyB (noisyb@gmx.net) +based on specs and code by Dext + + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ +#ifdef HAVE_CONFIG_H +#include "../config.h" +#endif +#include +#include +#include +#include "../misc.h" +#include "../libdiscmage.h" +#include "../libdm_misc.h" +#include "format.h" +#ifdef DJGPP +#include "../dxedll_priv.h" +#endif + +// nero images are big-endian + +// structs for chunks +typedef struct +{ + unsigned char type[4]; + int32_t tracks; // ? + int32_t track_type; + int32_t pad; +} st_cues_t; + + +typedef struct +{ + unsigned char type[4]; + int32_t tracks0; // ? + int32_t tracks1; // ? + unsigned char pad[14]; + unsigned char unknown; // ? 0x20 + unsigned char pad1; + unsigned char unknown2; // ? 0x01 + unsigned char tracks; +} st_daoi_t; + + +typedef struct +{ + int32_t current; // global_current_track? + int32_t current_msf; + int32_t unknown; // global_current_track |= 0x0100 + int32_t current_msf2; +} st_cues_track_t; + + +typedef struct +{ + unsigned char pad[10]; + int32_t sector_size; + int32_t mode; + int32_t offset; + int32_t offset2; + int32_t offset3; +} st_daoi_track_t; + + +typedef struct +{ + int32_t track_mode; + int32_t current_msf; +} st_cues_tail_t; + + +typedef struct +{ + unsigned char type[4]; + int32_t unknown; // 0x04 ? + int32_t tracks; +} st_sinf_t; + + +typedef struct +{ + unsigned char type[4]; + int32_t tracks; +} st_etnf_t; + + +typedef struct +{ + int32_t offset; + int32_t track_len; // image->track_len * sector_size + int32_t track_mode; + int32_t start_lba; + int32_t pad; +} st_etnf_track_t; + + +// header magic +#define NRG_CUES "CUES" // nero_pre5.5 +#define NRG_CUEX "CUEX" // nero5.5 +#define NRG_DAOI "DAOI" // nero_pre5.5 +#define NRG_DAOX "DAOX" // nero5.5 +#define NRG_SINF "SINF" +#define NRG_ETNF "ETNF" +#define NRG_ETN2 "ETN2" +#define NRG_END_ "END!" +#define NRG_NERO "NERO" // nero_pre5.5 +#define NRG_NER5 "NER5" // nero5.5 +#define NRG_CUES "CUES" +#define NRG_DAOI "DAOI" + +static uint32_t header_start = 0;//, version = 0, position = 0; + + +static int +nrg_chunk_offset (const dm_image_t *image, const char *chunk_id) +{ + FILE *fh = NULL; + int pos = 0; + char value_s[32]; + + if (!(fh = fopen (image->fname, "rb"))) + return FALSE; + + fseek (fh, image->header_start, SEEK_SET); + +// find + while (fread (&value_s, 4, 1, fh)) + if (!memcmp (value_s, chunk_id, 4)) + { + pos = ftell (fh); + fclose (fh); + return pos; + } + fclose (fh); + + return 0; +} + + +static int +nrg_chunk_size (const dm_image_t *image, const char *chunk_id) +// returns chunk length +{ + int pos = 0; + FILE *fh = NULL; + int value_32 = 0; + + pos = nrg_chunk_offset (image, chunk_id); + if (!pos) + return 0; + + if (!(fh = fopen (image->fname, "rb"))) + return 0; + + fseek (fh, pos, SEEK_SET); + + fread (&value_32, 4, 1, fh); + fclose (fh); + + return be2me_32 (value_32); // return chunk length +} + + +static int +nrg_ident_chunk (const char *chunk_id) +{ + static const char *chunk[] = + { + NRG_CUEX, + NRG_CUES, + NRG_DAOX, + NRG_DAOI, + NRG_SINF, + NRG_ETNF, + NRG_ETN2, + NRG_END_, + NRG_NERO, + NRG_NER5, + NRG_CUES, + NRG_DAOI, + NULL + }; + int x = 0; + + for (x = 0; chunk[x]; x++) + if (!memcmp (chunk[x], chunk_id, 4)) + return TRUE; + return FALSE; +} + + +int +nrg_track_init (dm_track_t *track, FILE *fh) +{ + uint8_t value8; + uint32_t value32; + + fread (&value8, 1, 1, fh); + if (value8 == 42) + track->mode = 2; + else if (value8 == 01) + track->mode = 0; + else + track->mode = 1; + + fread (&value8, 1, 1, fh); // track # + fread (&value8, 1, 1, fh); // index? + fread (&value8, 1, 1, fh); // pad byte + + fread (&value32, 4, 1, fh); // start_lba + track->start_lba = be2me_32 (value32); + + return 0; +} + + +int +nrg_init (dm_image_t * image) +{ + typedef struct + { + char *version; + char *version_s; + } st_probe_t; + + static const st_probe_t probe[] = { + {NRG_NERO, "Nero/NRG image (<=v5.0)"}, + {NRG_NER5, "Nero/NRG image (v5.5)"}, + {NULL, NULL} + }; + int s = 0, t = 0, x = 0, size = q_fsize (image->fname); + int result = 0; + FILE *fh; + char value_s[16]; +// uint16_t value_16; + uint32_t value_32; +#ifdef DEBUG + unsigned char buf[MAXBUFSIZE]; +#endif + + header_start = 0; +// version = +// position = 0; + + if (size < 12) + return -1; // image file is too small + + if (!(fh = fopen (image->fname, "rb"))) + return -1; + + fseek (fh, -4, SEEK_END); + fread (&value_32, 1, 4, fh); + image->header_start = header_start = be2me_32 (value_32); + if (image->header_start < 1) + { + fclose (fh); + return -1; // bad image + } + + image->desc = NULL; + for (x = 0; probe[x].version; x++) + if (nrg_chunk_offset (image, probe[x].version)) + { + image->desc = probe[x].version_s; + break; + } + + if (!image->desc) + { + fclose (fh); + return -1; + } + + fseek (fh, image->header_start, SEEK_SET); + fread (&value_s, 1, 4, fh); + if (!nrg_ident_chunk (value_s)) + { + fclose (fh); + return -1; + } + + image->header_len = size - image->header_start; + +#ifdef DEBUG + fseek (fh, image->header_start, SEEK_SET); + memset (&buf, 0, MAXBUFSIZE); + result = fread (buf, 1, MAXBUFSIZE, fh); + mem_hexdump (buf, result, image->header_start); +#endif + + fseek (fh, image->header_start, SEEK_SET); + + if (!(result = nrg_chunk_size (image, NRG_CUEX))) + { + fclose (fh); + return -1; + } + +// fread (&value_16, 2, 1, fh); // how many sessions? + image->sessions = 1; + image->tracks = (result / 16) - 1; + + for (s = 0; s < image->sessions; s++) + for (t = 0; t < image->tracks; t++) + { + if (!nrg_track_init (&image->track[t], fh)) + { + image->session[s]++; // # of tracks for this session + } + else + { + fclose (fh); + return -1; + } + } + + fclose (fh); + + return 0; +} + + +#if 0 +void +nrg_write_cues_hdr (char *fcues, int32_t *fcues_i, dm_image_t * image) +{ + int32_t value32; + st_cues_t cues; + + memset (&cues, 0, sizeof (st_cues_t)); + + strcpy (cues.type, CUES_S); + + cues.tracks = me2be_32 (((image->tracks + 1) * 16)); + + value32 = (image->track_type != 0 ? 0x41000000 : 0x01000000); + cues.track_type = me2be_32 (value32); + + memcpy (&(fcues[*fcues_i]), &cues, sizeof (st_cues_t)); + *fcues_i += sizeof (st_cues_t); +} + + +void +nrg_write_daoi (char *fdaoi, int32_t *fdaoi_i, dm_image_t * image) +{ + st_daoi_t daoi; + + memset (&daoi, 0, sizeof (st_daoi_t)); + + strcpy (daoi.type, DAOI_S); + + daoi.tracks0 = me2be_32 (22 + (30 * image->tracks)); + daoi.tracks1 = me2be_32 (22 + (30 * image->tracks)); + daoi.unknown = me2be_32 (0x20); + daoi.unknown2 = me2be_32 (0x01); + daoi.tracks = me2be_32 (image->tracks); + + memcpy (&(fdaoi[*fdaoi_i]), &daoi, sizeof (st_daoi_t)); + *fdaoi_i += sizeof (st_daoi_t); +} + + +void +nrg_write_cues_track (char *fcues, int32_t *fcues_i, dm_image_t * image) +{ + int32_t value32; + int32_t current_msf; + struct cdrom_msf msf; + st_cues_track_t cues_track; + + value32 = (image->mode != 0 ? 0x41000000 : 0x01000000); + value32 |= (to_bcd (image->global_current_track) << 16) & 0x00ff0000; + cues_track.current = me2be_32 (value32); + + lba_to_msf (image->start_lba, &msf); + current_msf = (to_bcd (msf.cdmsf_frame0) | to_bcd (msf.cdmsf_sec0) << 8 | to_bcd (msf.cdmsf_min0) << 16); + cues_track.current_msf = me2be_32 (current_msf); + + value32 |= 0x0100; + cues_track.unknown = me2be_32 (value32); + + lba_to_msf (image->start_lba + (image->track_length < 0 ? 0 : // pregap = 0 + image->pregap_length), &msf); + current_msf = (to_bcd (msf.cdmsf_frame0) | to_bcd (msf.cdmsf_sec0) << 8 | to_bcd (msf.cdmsf_min0) << 16); + + cues_track.current_msf2 = me2be_32 (current_msf); + + memcpy (&(fcues[*fcues_i]), &cues_track, sizeof (st_cues_track_t)); + *fcues_i += sizeof (st_cues_track_t); +} + + +void +nrg_write_daoi_track (char *fdaoi, int32_t *fdaoi_i, dm_image_t * image, + int32_t offset) +{ + int32_t value32; + st_daoi_track_t daoi_track; + + memset (&daoi_track, 0, sizeof (st_daoi_track_t)); + + daoi_track.sector_size = me2be_32 (image->sector_size); + + value32 = (!image->mode ? 0x07000001 : 0x03000001); + daoi_track.mode = me2be_32 (value32); + + daoi_track.offset = me2be_32 (offset); + + value32 = offset + (image->track_length < 0 ? 0 : // pregap = 0 + image->pregap_length * image->sector_size); + daoi_track.offset2 = me2be_32 (value32); + + value32 = offset + + ((image->pregap_length + image->track_length) * image->sector_size); + daoi_track.offset3 = me2be_32 (value32); + + memcpy (&(fdaoi[*fdaoi_i]), &daoi_track, sizeof (st_daoi_track_t)); + *fdaoi_i += sizeof (st_daoi_track_t); +} + + +void +nrg_write_cues_tail (char *fcues, int32_t *fcues_i, dm_image_t * image) +{ + int32_t value32; + int32_t current_msf; + struct cdrom_msf msf; + st_cues_tail_t cues_tail; + + memset (&cues_tail, 0, sizeof (st_cues_tail_t)); + + value32 = (image->mode != 0 ? 0x41000000 : 0x01000000); + value32 |= 0xAA0100; + cues_tail.track_mode = me2be_32 (value32); + + lba_to_msf (image->start_lba + image->track_length + image->pregap_length, &msf); + current_msf = (to_bcd (msf.cdmsf_frame0) | to_bcd (msf.cdmsf_sec0) << 8 | to_bcd (msf.cdmsf_min0) << 16); + cues_tail.current_msf = me2be_32 (current_msf); + + memcpy (&(fcues[*fcues_i]), &cues_tail, sizeof (st_cues_tail_t)); + *fcues_i += sizeof (st_cues_tail_t); +} + + +void +nrg_write_sinf (char *fdaoi, int32_t *fdaoi_i, dm_image_t * image) +{ + st_sinf_t sinf; + + memset (&sinf, 0, sizeof (st_sinf_t)); + + strcpy (sinf.type, SINF_S); + sinf.unknown = me2be_32 (0x04); + sinf.tracks = me2be_32 (image->tracks); + + memcpy (&(fdaoi[*fdaoi_i]), &sinf, sizeof (st_sinf_t)); + *fdaoi_i += sizeof (st_sinf_t); +} + + +void +nrg_write_etnf (char *fdaoi, int32_t *fdaoi_i, dm_image_t * image) +{ + st_etnf_t etnf; + + memset (&etnf, 0, sizeof (st_etnf_t)); + + strcpy (etnf.type, ETNF_S); + etnf.tracks = me2be_32 (image->tracks * 20); + + memcpy (&(fdaoi[*fdaoi_i]), &etnf, sizeof (st_etnf_t)); + *fdaoi_i += sizeof (st_etnf_t); +} + + +void +nrg_write_etnf_track (char *fdaoi, int32_t *fdaoi_i, dm_image_t * image, + int32_t offset) +{ + int32_t value32; + int32_t sector_size = (image->do_convert ? 2336 : // conversion + image->sector_size); + st_etnf_track_t etnf_track; + + memset (&etnf_track, 0, sizeof (st_etnf_track_t)); + + etnf_track.offset = me2be_32 (offset); + + value32 = image->track_length - (image->do_cut ? 2 : // equals savetrack + 0); + etnf_track.track_len = me2be_32 (value32 * sector_size); + + value32 = (image->mode != 0 ? 0x03 : 0x07); + etnf_track.track_mode = me2be_32 (value32); + + etnf_track.start_lba = me2be_32 (image->start_lba); + etnf_track.pad = 0; + + memcpy (&(fdaoi[*fdaoi_i]), &etnf_track, sizeof (st_etnf_track_t)); + *fdaoi_i += sizeof (st_etnf_track_t); +} +#endif diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/format/nero.h b/tools/ucon64-2.0.0-src/src/libdiscmage/format/nero.h new file mode 100644 index 0000000..0352b93 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/format/nero.h @@ -0,0 +1,26 @@ +/* +nero.h - Nero image support for libdiscmage + +Copyright (c) 2003 NoisyB (noisyb@gmx.net) +based on specs and code by Dext + + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ +#ifndef NERO_H +#define NERO_H +extern int nrg_init (dm_image_t * image); +extern int nrg_track_init (dm_track_t *track, FILE *fh); +#endif // NERO_H diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/format/other.c b/tools/ucon64-2.0.0-src/src/libdiscmage/format/other.c new file mode 100644 index 0000000..a853ab5 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/format/other.c @@ -0,0 +1,183 @@ +/* +other.c - other/proprietary image support for libdiscmage + +Copyright (c) 2003 NoisyB (noisyb@gmx.net) +Gamecube support is based on specs from GC-NFO.COM - [w] / GC-NFO + + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ +#ifdef HAVE_CONFIG_H +#include "../config.h" +#endif +#include +#include +#include +#include "../misc.h" +#include "../libdiscmage.h" +#include "../libdm_misc.h" +#include "format.h" +#ifdef DJGPP +#include "../dxedll_priv.h" +#endif + +// header magic +#define GC_MAGIC (0x424e5231) +#define GC_MAGIC_S ("BNR1") +//if (0 != (rc = read_raw_frame(cdrom, 16, buf))) { /* Safe PSX signature is at 0x9200 */ +#if 0 +static unsigned char psx_sign[] = { + 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, + 0x01, 0x43, 0x44, 0x30, 0x30, 0x31, 0x01, 0x00, + 0x50, 0x4C, 0x41, 0x59, 0x53, 0x54, 0x41, 0x54, + 0x49, 0x4F, 0x4E, 0x20, 0x20, 0x20, 0x20, 0x20 +}; +#endif + +static uint32_t header_start = 0; //, version = 0, position = 0; + +#if 0 +//TODO: replace with dm_sheet_track_init() +int +other_track_init (dm_track_t *track, FILE *fh) +{ + (void) fh; + return 0; +} +#endif + + +static dm_image_t * +dm_other_gc_init (dm_image_t *image) +{ + typedef struct + { + char serial[4]; + char maker[2]; // currently identical to the gameboy advance makers + char pad[102]; + char desc[944]; + char pad2[3]; + char pad3; + char pad4[32]; + } st_boot_bin_t; + + typedef struct + { + char magic[4]; // "BNR1" + char pad[6172]; + char name[32]; + char company[32]; + char name_long[64]; + char company_long[64]; + char desc[128]; + } st_opening_bnr_t; + + st_boot_bin_t boot_bin; + st_opening_bnr_t opening_bnr; + dm_track_t *track = (dm_track_t *) &image->track[0]; + FILE *fh; + + image->sessions = + image->tracks = 1; + image->session[0] = 1; + + image->header_start = header_start; + image->header_len = sizeof (st_opening_bnr_t); + + track->track_start = 0; + track->track_len = + track->total_len = q_fsize (image->fname); + + track->sector_size = 1; + + memset (&boot_bin, 0, sizeof (st_boot_bin_t)); + memset (&opening_bnr, 0, sizeof (st_opening_bnr_t)); + + if (!(fh = fopen (image->fname, "rb"))) + return NULL; + + fread (&boot_bin, sizeof (st_boot_bin_t), 1, fh); + fseek (fh, header_start, SEEK_SET); + fread (&opening_bnr, sizeof (st_opening_bnr_t), 1, fh); + + fclose (fh); + +#ifdef DEBUG + mem_hexdump (&boot_bin, sizeof (st_boot_bin_t), sizeof (st_boot_bin_t)); + mem_hexdump (&opening_bnr, sizeof (st_opening_bnr_t), sizeof (st_opening_bnr_t)); + + printf ("%d\n%d\n\n", sizeof (st_boot_bin_t), sizeof (st_opening_bnr_t)); + fflush (stdout); +#endif + + opening_bnr.name[sizeof (opening_bnr.name) - 1] = + opening_bnr.company[sizeof (opening_bnr.company) - 1] = + opening_bnr.name_long[sizeof (opening_bnr.name_long) - 1] = + opening_bnr.company_long[sizeof (opening_bnr.company_long) - 1] = + opening_bnr.desc[sizeof (opening_bnr.desc) - 1] = 0; + + sprintf (image->misc, "Misc: %s\n %s\n %s\n %s\n %s", + opening_bnr.name, + opening_bnr.company, + opening_bnr.name_long, + opening_bnr.company_long, + opening_bnr.desc); + + return image; +} + + +int +other_init (dm_image_t *image) +{ + typedef struct + { + uint32_t version; + char *version_s; + uint32_t start; + uint32_t len; + char *version_long; + dm_image_t *(*func) (dm_image_t *); + } st_probe_t; + + static const st_probe_t probe[] = { + {GC_MAGIC, GC_MAGIC_S, 0, 0x20000, "proprietary GameCube image", dm_other_gc_init}, + {0, NULL, 0, 0, NULL, NULL} + }; + int x = 0; //, s = 0, t = 0, size = q_fsize (image->fname); +// FILE *fh; +// uint16_t value_16; +// uint32_t value_32; + +// if (!(fh = fopen (image->fname, "rb"))) +// return -1; + + for (x = 0; probe[x].version; x++) + if ((header_start = q_fncmp (image->fname, + probe[x].start, + probe[x].len, + probe[x].version_s, + strlen (probe[x].version_s), + 0))) + { + image->desc = probe[x].version_long; + probe[x].func (image); + break; + } + +// fclose (fh); + + return 0; +} diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/format/other.h b/tools/ucon64-2.0.0-src/src/libdiscmage/format/other.h new file mode 100644 index 0000000..81c088e --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/format/other.h @@ -0,0 +1,26 @@ +/* +other.h - other/proprietary image support for libdiscmage + +Copyright (c) 2003 NoisyB (noisyb@gmx.net) +Gamecube support is based on specs from GC-NFO.COM - [w] / GC-NFO + + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ +#ifndef OTHER_H +#define OTHER_H +extern int other_init (dm_image_t *image); +//extern int other_track_init (dm_track_t *track, FILE *fh); +#endif // OTHER_H diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/format/toc.c b/tools/ucon64-2.0.0-src/src/libdiscmage/format/toc.c new file mode 100644 index 0000000..70524fe --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/format/toc.c @@ -0,0 +1,177 @@ +/* +toc.c - TOC support for libdiscmage + +Copyright (c) 2002 - 2003 NoisyB (noisyb@gmx.net) + + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ +#ifdef HAVE_CONFIG_H +#include "../config.h" +#endif +#include "../misc.h" +#include "../libdiscmage.h" +#include "../libdm_misc.h" +#include "format.h" +#ifdef DJGPP +#include "../dxedll_priv.h" +#endif + + +const st_track_desc_t toc_desc[] = + { + {DM_MODE1_2048, "MODE1"}, // MODE2_FORM1 + {DM_MODE1_2352, "MODE1_RAW"}, + {DM_MODE2_2336, "MODE2"}, // MODE2_FORM_MIX + {DM_MODE2_2352, "MODE2_RAW"}, + {DM_AUDIO, "AUDIO"}, + {0, NULL} + }; + + +static const char * +toc_get_desc (int id) +{ + int x = 0; + + for (x = 0; toc_desc[x].desc; x++) + if (id == toc_desc[x].id) + return toc_desc[x].desc; + return ""; +} + + +dm_image_t * +dm_toc_read (dm_image_t *image, const char *toc_file) +{ + (void) image; + (void) toc_file; + + return NULL; +} + + +int +dm_toc_write (const dm_image_t *image) +{ + int result = (-1), t = 0; + + for (t = 0; t < image->tracks; t++) + { +#if FILENAME_MAX > MAXBUFSIZE + char buf[FILENAME_MAX]; +#else + char buf[MAXBUFSIZE]; +#endif +// char buf2[MAXBUFSIZE]; + dm_track_t *track = (dm_track_t *) &image->track[t]; +// int m = 0, s = 0, f = 0; + FILE *fh = NULL; + + strcpy (buf, image->fname); +#if 0 + sprintf (buf2, "_%d.TOC", t); + set_suffix (buf, buf2); +#else + set_suffix (buf, ".TOC"); +#endif + + if (!(fh = fopen (buf, "wb"))) + { + result = -1; + continue; + } + else result = 0; + + switch (track->mode) + { + case 0: // audio + fprintf (fh, "AUDIO\n\n"); + break; + + case 1: // mode1 + fprintf (fh, "CD_ROM\n\n"); + break; + + default: // mode2 + fprintf (fh, "CD_ROM_XA\n\n"); + break; + } + + fprintf (fh, "TRACK \"%s\"\n" +// "NO COPY\n" + "DATAFILE \"%s\" %u// length in bytes: %u\n", + toc_get_desc (track->id), + image->fname, + (unsigned int) (track->total_len * track->sector_size), + (unsigned int) (track->total_len * track->sector_size)); + +//TODO: pregap? postgap? + + fclose (fh); + } + + return result; +} + + +int +toc_init (dm_image_t *image) +{ + int t = 0; + FILE *fh = NULL; + char buf[FILENAME_MAX]; + + strcpy (buf, image->fname); + set_suffix (buf, ".TOC"); + if ((dm_toc_read (image, buf))) // read and parse toc into dm_image_t + { + image->desc = "ISO/BIN track (with TOC file)"; + return 0; + } + + // missing or invalid cue? try the image itself + if (!(fh = fopen (image->fname, "rb"))) + return -1; + +#if 1 + image->sessions = + image->tracks = + image->session[0] = 1; +#endif + + for (t = 0; t < image->tracks; t++) + { + dm_track_t *track = (dm_track_t *) &image->track[t]; + + if (!dm_track_init (track, fh)) + { + track->track_len = + track->total_len = q_fsize (image->fname) / track->sector_size; + } + else + { + fclose (fh); + return !t ? (-1) : 0; + } + } + + dm_toc_write (image); // write the missing cue + + image->desc = "ISO/BIN track (missing TOC file created)"; + + fclose (fh); + return 0; +} diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/format/toc.h b/tools/ucon64-2.0.0-src/src/libdiscmage/format/toc.h new file mode 100644 index 0000000..245c0d7 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/format/toc.h @@ -0,0 +1,25 @@ +/* +toc.h - TOC support for libdiscmage + +Copyright (c) 2002 - 2003 NoisyB (noisyb@gmx.net) + + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ +#ifndef TOC_H +#define TOC_H +extern int dm_mktoc (const dm_image_t *image); +extern int toc_init (dm_image_t *image); +#endif // TOC_H diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/getopt.h b/tools/ucon64-2.0.0-src/src/libdiscmage/getopt.h new file mode 100644 index 0000000..596cccc --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/getopt.h @@ -0,0 +1,132 @@ +/* Declarations for getopt. + Copyright (C) 1989,90,91,92,93,94,96,97 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _GETOPT_H +#define _GETOPT_H 1 + +#ifdef __cplusplus +extern "C" +{ +#endif + +/* For communication from `getopt' to the caller. + When `getopt' finds an option that takes an argument, + the argument value is returned here. + Also, when `ordering' is RETURN_IN_ORDER, + each non-option ARGV-element is returned here. */ + + extern char *optarg; + +/* Index in ARGV of the next element to be scanned. + This is used for communication to and from the caller + and for communication between successive calls to `getopt'. + + On entry to `getopt', zero means this is the first call; initialize. + + When `getopt' returns -1, this is the index of the first of the + non-option elements that the caller should itself scan. + + Otherwise, `optind' communicates from one call to the next + how much of ARGV has been scanned so far. */ + + extern int optind; + +/* Callers store zero here to inhibit the error message `getopt' prints + for unrecognized options. */ + + extern int opterr; + +/* Set to an option character which was unrecognized. */ + + extern int optopt; + +/* Describe the long-named options requested by the application. + The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector + of `struct option' terminated by an element containing a name which is + zero. + + The field `has_arg' is: + no_argument (or 0) if the option does not take an argument, + required_argument (or 1) if the option requires an argument, + optional_argument (or 2) if the option takes an optional argument. + + If the field `flag' is not NULL, it points to a variable that is set + to the value given in the field `val' when the option is found, but + left unchanged if the option is not found. + + To have a long-named option do something other than set an `int' to + a compiled-in constant, such as set a value from `optarg', set the + option's `flag' field to zero and its `val' field to a nonzero + value (the equivalent single-letter option character, if there is + one). For long options that have a zero `flag' field, `getopt' + returns the contents of the `val' field. */ + + struct option + { +#if defined (__STDC__) && __STDC__ + const char *name; +#else + char *name; +#endif + /* has_arg can't be an enum because some compilers complain about + type mismatches in all the code that assumes it is an int. */ + int has_arg; + int *flag; + int val; + }; + +/* Names for the values of the `has_arg' field of `struct option'. */ + +#define no_argument 0 +#define required_argument 1 +#define optional_argument 2 + +#if defined (__STDC__) && __STDC__ +#if defined __GNU_LIBRARY__ || defined __cplusplus +/* Many other libraries have conflicting prototypes for getopt, with + differences in the consts, in stdlib.h. To avoid compilation + errors, only prototype getopt for the GNU C library. */ + extern int getopt (int argc, char *const *argv, const char *shortopts); +#else /* not __GNU_LIBRARY__ */ + extern int getopt (); +#endif /* __GNU_LIBRARY__ */ + extern int getopt_long (int argc, char *const *argv, const char *shortopts, + const struct option *longopts, int *longind); + extern int getopt_long_only (int argc, char *const *argv, + const char *shortopts, + const struct option *longopts, int *longind); + +/* Internal only. Users should not call this directly. */ + extern int _getopt_internal (int argc, char *const *argv, + const char *shortopts, + const struct option *longopts, int *longind, + int long_only); +#else /* not __STDC__ */ + extern int getopt (); + extern int getopt_long (); + extern int getopt_long_only (); + + extern int _getopt_internal (); +#endif /* __STDC__ */ + +#ifdef __cplusplus +} +#endif + +#endif /* _GETOPT_H */ diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/libdiscmage.h b/tools/ucon64-2.0.0-src/src/libdiscmage/libdiscmage.h new file mode 100644 index 0000000..52bff2f --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/libdiscmage.h @@ -0,0 +1,202 @@ +/* +libdiscmage.h - libdiscmage + +Copyright (c) 2002 - 2004 NoisyB (noisyb@gmx.net) +Copyright (c) 2002 - 2004 dbjh + + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ +#ifndef LIBDISCMAGE_H +#define LIBDISCMAGE_H + +#ifdef __cplusplus +extern "C" { +#endif + +#include // FILENAME_MAX + +#if defined __linux__ || defined __FreeBSD__ || defined __OpenBSD__ || \ + defined __solaris__ || defined __MINGW32__ || defined __CYGWIN__ || \ + defined __BEOS__ || defined AMIGA || defined __APPLE__ // Mac OS X actually +// We cannot use config.h (for HAVE_INTTYPES_H), because this header file may be +// installed in a system include directory +#include +#else // __MSDOS__, _WIN32 (VC++) +#ifndef OWN_INTTYPES +#define OWN_INTTYPES // signal that these are defined +typedef unsigned char uint8_t; +typedef unsigned short int uint16_t; +typedef unsigned int uint32_t; +#ifndef _WIN32 +typedef unsigned long long int uint64_t; +#else +typedef unsigned __int64 uint64_t; +#endif +typedef signed char int8_t; +typedef signed short int int16_t; +typedef signed int int32_t; +#ifndef _WIN32 +typedef signed long long int int64_t; +#else +typedef signed __int64 int64_t; +#endif +#endif // OWN_INTTYPES +#endif + +#define DM_VERSION_MAJOR 0 +#define DM_VERSION_MINOR 0 +#define DM_VERSION_STEP 7 + + +// a CD can have max. 99 tracks; this value might change in the future +#define DM_MAX_TRACKS 99 + +typedef struct +{ +// TODO?: replace those uint32_t with uint64_t or so... + +// some formats use to have the tracks "embedded" (like: cdi, nrg, etc..) +// this is the start offset inside the image + uint32_t track_start; // in bytes + uint32_t track_end; // in bytes + + int16_t pregap_len; // in sectors + uint32_t track_len; // in sectors + uint32_t total_len; // in sectors; pregap_len + track_len == total_len + // (less if the track is truncated) + + int16_t postgap_len;// in sectors + int16_t start_lba; // in sectors + +// start of the iso header inside the track (inside the image) + int32_t iso_header_start; // if -1 then no iso header + + int8_t mode; // 0 == AUDIO, 1 == MODE1, 2 == MODE2 + uint16_t sector_size; // in bytes; includes seek_header + seek_ecc + int16_t seek_header; // in bytes + int16_t seek_ecc; // in bytes + + const char *desc; // deprecated + int id; // DM_AUDIO, DM_MODE1_2048, ... +} dm_track_t; + + +typedef struct +{ + int type; // image type DM_CDI, DM_NRG, DM_TOC, etc. + char *desc; // like type but more verbose + int flags; // DM_FIX, ... + char fname[FILENAME_MAX]; // filename of image + uint32_t version; // version of image (used by CDI and NRG) + + int sessions; // # of sessions + int tracks; // # of tracks + + dm_track_t track[DM_MAX_TRACKS]; // array of dm_track_t + uint8_t session[DM_MAX_TRACKS + 1]; // array of uint32_t with tracks per session + +// some image formats (CDI) use embedded headers instead of TOC or CUE files + int header_start; + int header_len; // if header_len == 0 then no header(!) + + char misc[4096]; // miscellaneous information about proprietary images (other.c) +} dm_image_t; + + +/* + dm_get_version() returns version of libdiscmage as uint32_t + dm_get_version_s() returns version of libdiscmage as string + dm_open() this is the first function to call with the filename of the + image; it will try to recognize the image format, etc. + dm_reopen() like dm_open() but can reuse an existing dm_image_t + dm_close() the last function; close image + dm_fdopen() returns a FILE ptr from the start of a track (in image) +TODO: dm_seek() seek for tracks inside image + dm_fseek (image, 2, SEEK_END); + will seek to the end of the 2nd track in image + dm_set_gauge() enter here the name of a function that takes two integers + gauge (pos, total) + { + printf ("%d of %d done", pos, total); + } + dm_nfo() display dm_image_t + dm_read() read single sector from track (in image) +TODO: dm_write() write single sector to track (in image) + + dm_toc_read() read TOC sheet into dm_image_t (deprecated) + dm_toc_write() write dm_image_t as TOC sheet (deprecated) + dm_cue_read() read CUE sheet into dm_image_t (deprecated) + dm_cue_write() write dm_image_t as CUE sheet (deprecated) + dm_disc_read() deprecated reading or writing images is done + by those scripts in contrib/ (deprecated) + dm_disc_write() deprecated reading or writing images is done + by those scripts in contrib/ (deprecated) +*/ +extern uint32_t dm_get_version (void); +extern const char *dm_get_version_s (void); +extern void dm_set_gauge (void (*gauge) (int, int)); + +extern dm_image_t *dm_open (const char *fname, uint32_t flags); +extern dm_image_t *dm_reopen (const char *fname, uint32_t flags, dm_image_t *image); +extern int dm_close (dm_image_t *image); + +//extern int dm_seek (FILE *fp, int track_num, int how); +extern FILE *dm_fdopen (dm_image_t *image, int track_num, const char *mode); +//#define DM_NFO_ANSI_COLOR 1 +//#define DM_NFO_VERBOSE 2 +extern void dm_nfo (const dm_image_t *image, int verbose, int ansi_color); + +extern int dm_read (char *buffer, int track_num, int sector, const dm_image_t *image); +extern int dm_write (const char *buffer, int track_num, int sector, const dm_image_t *image); + +extern dm_image_t *dm_toc_read (dm_image_t *image, const char *toc_sheet); +extern int dm_toc_write (const dm_image_t *image); + +extern dm_image_t *dm_cue_read (dm_image_t *image, const char *cue_sheet); +extern int dm_cue_write (const dm_image_t *image); + +extern int dm_disc_read (const dm_image_t *image); +extern int dm_disc_write (const dm_image_t *image); + + +/* + dm_rip() convert/rip a track from an image +TODO: DM_FILES rip files from track instead of track + DM_WAV convert possible audio track to wav (instead of raw) + DM_2048 (bin2iso) convert binary sector_size to 2048 bytes + (could result in a malformed output image) +TODO: DM_FIX (isofix) takes an ISO image with PVD pointing + to bad DR offset and add padding data so actual DR + gets located in right absolute address. + Original boot area, PVD, SVD and VDT are copied to + the start of new, fixed ISO image. + Supported input images are: 2048, 2336, + 2352 and 2056 bytes per sector. All of them are + converted to 2048 bytes per sector when writing + excluding 2056 image which is needed by Mac users. +*/ +#define DM_CDMAGE 0 +#define DM_FILES 1 +#define DM_WAV 2 +#define DM_2048 4 +#define DM_FIX 8 +extern int dm_rip (const dm_image_t *image, int track_num, uint32_t flags); + +#ifdef __cplusplus +} +#endif + +#endif // LIBDISCMAGE_H diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/libdm_misc.c b/tools/ucon64-2.0.0-src/src/libdiscmage/libdm_misc.c new file mode 100644 index 0000000..f4475f0 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/libdm_misc.c @@ -0,0 +1,900 @@ +/* +libdm_misc.c - libdiscmage miscellaneous + +Copyright (c) 2002 - 2004 NoisyB (noisyb@gmx.net) + + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#ifdef HAVE_UNISTD_H +#include +#endif +#include +#include +#include +#include +#include +#include +#ifdef DEBUG +#ifdef __GNUC__ +#warning DEBUG active +#else +#pragma message ("DEBUG active") +#endif +#endif +#include "misc.h" +#include "libdiscmage.h" +#include "libdm_misc.h" +#include "format/format.h" +#ifdef DJGPP // DXE's are specific to DJGPP +#include "dxedll_priv.h" +#endif +#include "misc_wav.h" + +#ifndef CD_MINS +#define CD_MINS 74 /* max. minutes per CD, not really a limit */ +#define CD_SECS 60 /* seconds per minute */ +#define CD_FRAMES 75 /* frames per second */ +#endif + +#define MBIT (131072) +#define TOMBIT(x) ((int)(x) / MBIT) +#define TOMBIT_F(x) ((float)(x) / MBIT) + + +const char pvd_magic[] = {0x01, 'C', 'D', '0', '0', '1', 0x01, 0}; +const char svd_magic[] = {0x02, 'C', 'D', '0', '0', '1', 0x01, 0}; +const char vdt_magic[] = {(const char) 0xff, 'C', 'D', '0', '0', '1', 0x01, 0}; + + +#define ISODCL(from, to) (to - from + 1) +typedef struct + { + char type[ISODCL (1, 1)]; /* 711 */ + char id[ISODCL (2, 6)]; + char version[ISODCL (7, 7)]; /* 711 */ + char unused1[ISODCL (8, 8)]; + char system_id[ISODCL (9, 40)]; /* achars */ + char volume_id[ISODCL (41, 72)]; /* dchars */ + char unused2[ISODCL (73, 80)]; + char volume_space_size[ISODCL (81, 88)]; /* 733 */ + char unused3[ISODCL (89, 120)]; + char volume_set_size[ISODCL (121, 124)]; /* 723 */ + char volume_sequence_number[ISODCL (125, 128)]; /* 723 */ + char logical_block_size[ISODCL (129, 132)]; /* 723 */ + char path_table_size[ISODCL (133, 140)]; /* 733 */ + char type_l_path_table[ISODCL (141, 144)]; /* 731 */ + char opt_type_l_path_table[ISODCL (145, 148)]; /* 731 */ + char type_m_path_table[ISODCL (149, 152)]; /* 732 */ + char opt_type_m_path_table[ISODCL (153, 156)]; /* 732 */ + char root_directory_record[ISODCL (157, 190)]; /* 9.1 */ + char volume_set_id[ISODCL (191, 318)]; /* dchars */ + char publisher_id[ISODCL (319, 446)]; /* achars */ + char preparer_id[ISODCL (447, 574)]; /* achars */ + char application_id[ISODCL (575, 702)]; /* achars */ + char copyright_file_id[ISODCL (703, 739)]; /* 7.5 dchars */ + char abstract_file_id[ISODCL (740, 776)]; /* 7.5 dchars */ + char bibliographic_file_id[ISODCL (777, 813)]; /* 7.5 dchars */ + char creation_date[ISODCL (814, 830)]; /* 8.4.26.1 */ + char modification_date[ISODCL (831, 847)]; /* 8.4.26.1 */ + char expiration_date[ISODCL (848, 864)]; /* 8.4.26.1 */ + char effective_date[ISODCL (865, 881)]; /* 8.4.26.1 */ + char file_structure_version[ISODCL (882, 882)]; /* 711 */ + char unused4[ISODCL (883, 883)]; + char application_data[ISODCL (884, 1395)]; + char unused5[ISODCL (1396, 2048)]; + } st_iso_header_t; + + +/* + * A CD-ROM physical sector size is 2048, 2052, 2056, 2324, 2332, 2336, + * 2340, or 2352 bytes long. + +* Sector types of the standard CD-ROM data formats: + * + * format sector type user data size (bytes) + * ----------------------------------------------------------------------------- + * 1 (Red Book) CD-DA 2352 (CD_FRAMESIZE_RAW) + * 2 (Yellow Book) Mode1 Form1 2048 (CD_FRAMESIZE) + * 3 (Yellow Book) Mode1 Form2 2336 (CD_FRAMESIZE_RAW0) + * 4 (Green Book) Mode2 Form1 2048 (CD_FRAMESIZE) + * 5 (Green Book) Mode2 Form2 2328 (2324+4 spare bytes) + * + * + * The layout of the standard CD-ROM data formats: + * ----------------------------------------------------------------------------- + * - audio (red): | audio_sample_bytes | + * | 2352 | + * + * - data (yellow, mode1): | sync - head - data - EDC - zero - ECC | + * | 12 - 4 - 2048 - 4 - 8 - 276 | + * + * - data (yellow, mode2): | sync - head - data | + * | 12 - 4 - 2336 | + * + * - XA data (green, mode2 form1): | sync - head - sub - data - EDC - ECC | + * | 12 - 4 - 8 - 2048 - 4 - 276 | + * + * - XA data (green, mode2 form2): | sync - head - sub - data - Spare | + * | 12 - 4 - 8 - 2324 - 4 | + * + */ + +/* + from CDmage + + m1_2048=iso + m1_2352=tao + m2_2336=mm2 + m2_2352=tao + cf_2048=fcd + a1_2352=pcm + a2_2352=wav + cg_2448=cdg + ci_2336=mci + ci_2352=cdi + cv_2048=vcd + +CDRWin cuesheet file (*.cue)|*.cue +M1/2048 track (*.iso)|*.iso +M1/2352 track (*.bin;*.tao;*.iso;*.img;*.bwi)|*.bin;*.tao;*.iso;*.img;*.bwi +M2/2336 track (*.mm2)|*.mm2 +M2/2352 track (*.bin;*.tao;*.iso;*.img;*.bwi)|*.bin;*.tao;*.iso;*.img;*.bwi +VirtualCD uncompressed container file (*.fcd)|*.fcd +Audio track image file (*.pcm;*.bin;*.img;*.bwi)|*.pcm;*.bin;*img;*.bwi +Wave file 44.1KHz 16-bit stereo (*.wav)|*.wav +Virtual Drive uncomp. container file (*.vcd)|*.vcd +Nero Burning Rom image file (*.nrg)|*.nrg +CloneCD image control file (*.ccd)|*.ccd +Raw Image (*.iso;*.bin;*.tao;*.img;*.bwi;*.mm2)|*.iso;*.bin;*.tao;*.img;*.bwi;*.mm2 +BlindWrite TOC file (*.bwt)|*.bwt +DiscJuggler CD image file (*.cdi)|*.cdi +Gear image files (*.rdb;*.md1;*.xa)|*.rdb;*.md1;*.xa +NTI CD image files (*.cdp;*.ncd)|*.cdp;*.ncd +Prassi Global-CD image file (*.gcd)|*.gcd +WinOnCD full CD image file (*.c2d)|*.c2d +Easy CD Creator image file (*.cif)|*.cif +*/ + +const st_track_probe_t track_probe[] = + { + {1, 0, 2048, 0, DM_MODE1_2048, ".iso"}, // MODE2_FORM1 + {1, 16, 2352, 288, DM_MODE1_2352, ".bin.tao.iso.img.bwi"}, + {2, 8, 2336, 280, DM_MODE2_2336, ".mm2"}, // MODE2_FORM_MIX + {2, 24, 2352, 280, DM_MODE2_2352, ".bin.tao.iso.img.bwi"}, +#if 0 + {2, 24, 2324, 4, DM_UNKNOWN, NULL}, // MODE2/2328, MODE2_FORM2 + {2, 0, 2340, 0, DM_UNKNOWN, NULL}, + {2, 0, 2368, 0, DM_UNKNOWN, NULL}, + {2, 0, 2448, 0, DM_UNKNOWN, NULL}, + {2, 0, 2646, 0, DM_UNKNOWN, NULL}, + {2, 0, 2647, 0, DM_UNKNOWN, NULL}, + {2, 0, 2336, 280, DM_UNKNOWN, NULL}, // MODE2/2336, Macintosh + {2, 16, 2352, 280, DM_UNKNOWN, NULL}, // MODE2/2352, Macintosh + {2, 0, 2056, 0, DM_UNKNOWN, NULL}, // MODE2/2056, Macintosh + {0, 0, 0, 0, DM_UNKNOWN, NULL}, + {0, 0, 0, 0, DM_UNKNOWN, NULL}, +#endif + {0, 0, 2352, 0, DM_AUDIO, ".pcm.bin.img.bwi"}, + // TODO: remove this! +// {0, 0, 1, 0, DM_AUDIO, ".pcm.bin.img.bwi"}, + {0, 0, 0, 0, 0, NULL} + }; + +const char *dm_msg[] = { + "ERROR: %s has been deprecated\n", + "ERROR: Unknown/unsupported track mode\n", + "ERROR: The images track mode is already MODE1/2048\n", + "WARNING: This function is still in ALPHA stage. It might not work properly\n", + NULL +}; + +static void (*dm_gauge_ptr) (int pos, int size) = NULL; + + +int +dm_get_track_mode_id (int mode, int sector_size) +{ + int x = 0; + + for (x = 0; track_probe[x].sector_size; x++) + if (track_probe[x].mode == mode && + track_probe[x].sector_size == sector_size) + return track_probe[x].id; + + return 0; // no id +} + + +void +dm_get_track_mode_by_id (int id, int8_t *mode, uint16_t *sector_size) +{ + int x = 0; + + for (x = 0; track_probe[x].sector_size; x++) + if (track_probe[x].id == id) + { + *mode = track_probe[x].mode; + *sector_size = track_probe[x].sector_size; + return; + } +} + + + +int +dm_bcd_to_int (int b) +{ +// return (b & 0x0F) + 10 * (((b) >> 4) & 0x0F); + return (b & 15) + ((b & 240) >> 4) * 10; +} + + +int +dm_int_to_bcd (int i) +{ +#if 0 +#if 1 + return i % 10 | ((i / 10) % 10) << 4; +#else + return ((i / 10) * 16) + (i % 10); +#endif +#else + return ((i / 10) << 4) | (i % 10); +#endif +} + + +int +dm_is_bcd (int b) +{ + return ((b & 15) < 10) && ((b >> 4) < 10); +} + + +int +dm_lba_to_msf (int lba, int *m0, int *s0, int *f0) +#if 1 +{ + static int m, s, f; + + m = s = f = -1; + +#ifdef __follow_redbook__ + if (lba >= -150 && lba < 405000) /* lba <= 404849 */ +#else + if (lba >= -150) +#endif + { + m = (lba + 150) / CD_SECS / CD_FRAMES; + s = (lba + 150 - m * CD_SECS * CD_FRAMES) / CD_FRAMES; + f = (lba + 150 - m * CD_SECS * CD_FRAMES - s * CD_FRAMES); + + } + else if (lba >= -45150 && lba <= -151) + { + m = (lba + 450150) / CD_SECS / CD_FRAMES; + s = (lba + 450150 - m * CD_SECS * CD_FRAMES) / CD_FRAMES; + f = (lba + 450150 - m * CD_SECS * CD_FRAMES - s * CD_FRAMES); + } + + *m0 = m; + *s0 = s; + *f0 = f; + + if (lba > 404849 || *m0 == -1 || *s0 == -1 || *f0 == -1) /* 404850 -> 404999: lead out */ + return FALSE; + return TRUE; +} +#else +{ + static int m, s, f; + + m = s = f = -1; + + if (lba >= -150) + { + m = (lba + 150) / (CD_SECS * CD_FRAMES); + lba -= m * CD_SECS * CD_FRAMES; + s = (lba + 150) / CD_FRAMES; + lba -= s * CD_FRAMES; + f = (lba + 150); + } + else + { + m = (lba + 450150) / (CD_SECS * CD_FRAMES); + lba -= m * CD_SECS * CD_FRAMES; + s = (lba + 450150) / CD_FRAMES; + lba -= s * CD_FRAMES; + f = (lba + 450150); + } + + *m0 = m; + *s0 = s; + *f0 = f; + + return TRUE; +} +#endif + + +int +dm_msf_to_lba (int m, int s, int f, int force_positive) +#if 1 +{ + long ret = (m * CD_SECS + s) +#if 0 + * CD_FRAMES + f; +#else + ; + ret *= CD_FRAMES; + ret += f; +#endif + + if (m < 90 || force_positive) + ret -= 150; + else + ret -= 450150; + + return ret; +} +#else +{ + return m * CD_SECS * CD_FRAMES + s * CD_FRAMES + f; +} +#endif + + +void +dm_clean (dm_image_t *image) +{ + int x = 0; + + memset (image, 0, sizeof (dm_image_t)); + for (x = 0; x < DM_MAX_TRACKS; x++) + image->track[x].iso_header_start = (-1); +} + + +uint32_t +dm_get_version (void) +{ + static const uint32_t dm_version = LIB_VERSION (DM_VERSION_MAJOR, + DM_VERSION_MINOR, + DM_VERSION_STEP); + return dm_version; +} + + +const char * +dm_get_version_s (void) +{ + return "supported: BIN, ISO, CDI"; +} + + +void +dm_set_gauge (void (*gauge) (int, int)) +{ + dm_gauge_ptr = gauge; +} + + +void +dm_gauge (int pos, int size) +{ + if (dm_gauge_ptr) + dm_gauge_ptr (pos, size); +} + + +FILE * +dm_fdopen (dm_image_t *image, int track_num, const char *mode) +{ + dm_track_t *track = (dm_track_t *) &image->track[track_num]; + FILE *fh; + + if (!(fh = fopen (image->fname, mode))) + return NULL; + + if (!fseek (fh, track->track_start, SEEK_SET)) + return fh; + + fclose (fh); + return NULL; +} + + + + +int +dm_rip (const dm_image_t *image, int track_num, uint32_t flags) +{ + dm_track_t *track = (dm_track_t * ) &image->track[track_num]; +#if FILENAME_MAX > MAXBUFSIZE + char buf[FILENAME_MAX], buf2[FILENAME_MAX]; +#else + char buf[MAXBUFSIZE], buf2[MAXBUFSIZE]; +#endif + unsigned int x = 0; + int result = 0, m = 0, s = 0, f = 0; + char *p = NULL; + FILE *fh = NULL, *fh2 = NULL; + + if (flags & DM_FIX || flags & DM_2048) + fprintf (stderr, dm_msg[ALPHA]); + +// set dest. name + strcpy (buf, basename (image->fname)); + p = (char *) get_suffix (buf); + if (p) + buf[strlen (buf) - strlen (p)] = 0; + sprintf (buf2, "%s_%d", buf, track_num + 1); + + switch (track->mode) + { + case 0: + if (flags & DM_WAV) + set_suffix (buf2, ".WAV"); + else + set_suffix (buf2, ".RAW"); + break; + + case 1: + case 2: + default: + if (flags & DM_2048 || track->sector_size == 2048) + set_suffix (buf2, ".ISO"); + else + set_suffix (buf2, ".BIN"); + break; + } + +#if 0 + if (track->total_len < track->track_len + track->pregap_len) + { + fprintf (stderr, "SKIPPING: track seems truncated\n"); + return -1; + } +#endif + +#if 0 +// this is not a problem + if (flags & DM_2048 && track->mode == 1 && track->sector_size == 2048) + { + fprintf (stderr, dm_msg[ALREADY_2048]); + return -1; + } +#endif + + if (track->pregap_len != 150) // 0x96 + fprintf (stderr, "WARNING: track seems to have a non-standard pregap (%d Bytes)\n", + track->pregap_len); + +#if 0 + if (image->pregap && track->mode == 0 && remaining_tracks > 1) // quick hack to save next track pregap (audio tracks only) + track->track_len += pregap_length; // if this isn't last track in current session +// does this mean i shouldn't skip pregrap if it's a audio track? +#endif + +// open source and check + if (!(fh = fopen (image->fname, "rb"))) + return -1; + +// open dest. + if (!(fh2 = fopen (buf2, "wb"))) + { + fclose (fh); + return -1; + } + + if (!track->mode && flags & DM_WAV) + misc_wav_write_header_v3 (fh2, track->track_len * 2352); //TODO: get that 2352 value from somewhere + + fseek (fh, track->track_start, SEEK_SET); // start of track + // skip pregap (always?) + fseek (fh, track->pregap_len * track->sector_size, SEEK_CUR); + + for (x = 0; x < track->track_len; x++) + { + memset (buf, 0, sizeof (buf)); + fread (&buf, 1, track->sector_size, fh); + + if (flags & DM_2048) + result = fwrite (&buf[track->seek_header], 1, 2048, fh2); + else + { + const char sync_data[] = {0, (const char) 0xff, (const char) 0xff, + (const char) 0xff, (const char) 0xff, + (const char) 0xff, (const char) 0xff, + (const char) 0xff, (const char) 0xff, + (const char) 0xff, (const char) 0xff, 0}; +// uint32_t value_32 = 0; + + memset (&buf2, 0, sizeof (buf2)); + result = 0; + result += fwrite (&sync_data, 1, 12, fh2); + + dm_lba_to_msf (150 + x, &m, &s, &f); +#ifdef DEBUG + fprintf (stderr, "%d: %d %d %d\n", track->sector_size, m, s, f); + fflush (stderr); +#endif + + result += fwrite (&buf2, 1, 3, fh2); //TODO: MSF + if (fputc (track->mode, fh2)) + result++; + result += fwrite (&buf2, 1, track->seek_header, fh2); // padding + result += fwrite (&buf, 1, track->sector_size, fh2); + result += fwrite (&buf2, 1, track->seek_ecc, fh2); // padding + } + + if (!result) + { + fprintf (stderr, "ERROR: writing sector %d\n", x); + fclose (fh); + fclose (fh2); + return -1; + } + + if (!(x % 100)) + dm_gauge (x * track->sector_size, track->track_len * track->sector_size); + } + + dm_gauge (x * track->sector_size, track->track_len * track->sector_size); + +// fseek (fh, track->total_len * track->sector_size, SEEK_CUR); + + fclose (fh); + fclose (fh2); + + return 0; +} + + +#if 0 +// TODO: merge into dm_rip +int +dm_isofix (const dm_image_t * image, int start_lba, int track_num) +{ +#define BOOTFILE_S "bootfile.bin" +#define HEADERFILE_S "header.iso" + int32_t size_left, last_pos, i, size; + dm_track_t *track = (dm_track_t *) &image->track[track_num]; + char buf[MAXBUFSIZE], buf2[FILENAME_MAX]; + FILE *dest = NULL, *src = NULL, *boot = NULL, *header = NULL; + int mac = FALSE; + const char sub_header[] = {0, 0, 0x08, 0, 0, 0, 0x08, 0}; + + if (start_lba <= 0) + { + fprintf (stderr, "ERROR: Bad LBA value"); + return -1; + } + + if (!track) + return -1; + + mac = (track->sector_size == 2056 ? TRUE : FALSE); + + if (!(src = fopen (image->fname, "rb"))) + return -1; + + strcpy (buf2, basename (image->fname)); + set_suffix (buf2, ".FIX"); + if (!(dest = fopen (buf2, "wb"))) + { + fclose (src); + return -1; + } + + // Saving boot area to file 'bootfile.bin'... + if (!(boot = fopen (BOOTFILE_S, "wb"))) + { + fclose (src); + + fclose (dest); + remove (buf); + + return -1; + } + + // Saving ISO header to file 'header.iso'... + if (!(header = fopen (HEADERFILE_S, "wb"))) + { + fclose (src); + + fclose (dest); + remove (buf); + + fclose (boot); + remove (BOOTFILE_S); + + return -1; + } + + // save boot area + for (i = 0; i < 16; i++) + { + fseek (src, track->seek_header, SEEK_CUR); + fread (buf, 2048, 1, src); + fseek (src, track->seek_ecc, SEEK_CUR); + + if (mac) + fwrite (sub_header, 8, 1, dest); + fwrite (buf, 2048, 1, dest); + + if (mac) + fwrite (sub_header, 8, 1, boot); + fwrite (buf, 2048, 1, boot); + + if (mac) + fwrite (sub_header, 8, 1, header); + fwrite (buf, 2048, 1, header); + } + fclose (boot); // boot area written + + // seek & copy pvd etc. +// last_pos = ftell (src); // start of pvd + for (last_pos = ftell (src); memcmp (vdt_magic, buf, 8) != 0; last_pos = ftell (src)) + { + fseek (src, track->seek_header, SEEK_CUR); + fread (buf, 2048, 1, src); + fseek (src, track->seek_ecc, SEEK_CUR); + + if (memcmp (pvd_magic, buf, 8) != 0 && + memcmp (svd_magic, buf, 8) != 0 && + memcmp (vdt_magic, buf, 8) != 0) + { + fprintf (stderr, "ERROR: Found unknown Volume Descriptor"); +// which sector? + return -1; + } + + printf ("Found %s at sector %d\n", + !memcmp (pvd_magic, buf, 8) ? "PVD" : + !memcmp (svd_magic, buf, 8) ? "SVD" : + !memcmp (vdt_magic, buf, 8) ? "VDT" : "unknown Volume Descriptor", + last_pos / track->sector_size); + + if (mac) + fwrite (sub_header, 8, 1, dest); + fwrite (buf, 2048, 1, dest); + + if (mac) + fwrite (sub_header, 8, 1, header); + fwrite (buf, 2048, 1, header); + } + + // add padding data to header file + memset (&buf, 0, sizeof (buf)); + size_left = 300 - (last_pos / track->sector_size); + for (i = 0; i < size_left; i++) + { + if (mac == TRUE) + fwrite (sub_header, 8, 1, header); + fwrite (buf, 2048, 1, header); + } + fclose (header); + + // add padding data to iso image + if (last_pos > (int) (start_lba * track->sector_size)) + { + fprintf (stderr, "ERROR: LBA value is too small\n" + " It should be at least %d for current ISO image (probably greater)", + last_pos / track->sector_size); + return -1; + } + + if (start_lba < 11700) + fprintf (stderr, + "WARNING: LBA value should be greater or equal to 11700 for multisession\n" + " images\n"); + + // adding padding data up to start LBA value... + size_left = start_lba - (last_pos / track->sector_size); + memset (&buf, 0, sizeof (buf)); + for (i = 0; i < size_left; i++) + { + if (mac) + fwrite (sub_header, 8, 1, dest); + if (!fwrite (buf, 2048, 1, dest)) + return -1; + } + +// append original iso image + fseek (src, 0L, SEEK_SET); + size = q_fsize (buf2); + size_left = size / track->sector_size; + for (i = 0; i < size_left; i++) + { + fseek (src, track->seek_header, SEEK_CUR); + if (!fread (buf, 2048, 1, src)) + break; + fseek (src, track->seek_ecc, SEEK_CUR); + + if (mac) + fwrite (sub_header, 8, 1, dest); + if (!fwrite (buf, 2048, 1, dest)) + return -1; + } + + fclose (src); + fclose (dest); + + return 0; +} +#endif + + +void +dm_nfo (const dm_image_t *image, int verbose, int ansi_color) +{ +#define COLS 80 + int t = 0, s = 0, x = 0, min = 0, sec = 0, frames = 0, + filesize = q_fsize (image->fname); + char buf[MAXBUFSIZE]; + st_iso_header_t iso_header; + FILE *fh = NULL; + int result = -1; + +#ifndef USE_ANSI_COLOR + (void) ansi_color; // warning remover +#endif + +#if 0 + if (image->console_usage != NULL) + { + strcpy (buf, rominfo->console_usage[0].desc); + puts (to_func (buf, strlen (buf), toprint2)); + +#if 0 + if (image->console_usage[1].desc) + { + strcpy (buf, rominfo->console_usage[1].desc); + printf (" %s\n", to_func (buf, strlen (buf), toprint2)); + } +#endif + } +#endif + + printf ("%d Bytes (%.4f MB)\n\n", filesize, (float) filesize / (1024 * 1024)); + printf ("Type: %s\n", image->desc); + + if (image->misc[0]) + puts (image->misc); + + printf ("Sessions: %d\n", image->sessions); + printf ("Tracks: %d\n", image->tracks); + + if ((COLS / image->tracks) > 1 && image->sessions && image->tracks) + { + printf ("Layout: "); + + for (s = t = 0; s < image->sessions; s++) + { +#ifdef USE_ANSI_COLOR + if (ansi_color) + printf ("\x1b[0m[\x1b[30;41m%2d \x1b[0m", s + 1); +// printf ("\x1b[0m[\x1b[30;41m"); + else +#endif + printf ("[%2d ", s + 1); +// printf ("["); + + for (x = 0; x < image->session[s]; x++, t++) +#ifdef USE_ANSI_COLOR + if (ansi_color) + printf ("\x1b[0m[\x1b[30;42m%2d \x1b[0m]", t + 1); + else +#endif + printf ("[%2d ]", t + 1); + +#ifdef USE_ANSI_COLOR + if (ansi_color) + printf ("\x1b[0m] "); + else +#endif + printf ("] "); + } + + fputc ('\n', stdout); + } + + for (t = 0; t < image->tracks; t++) + { + const dm_track_t *track = (const dm_track_t *) &image->track[t]; + + if (!track) + continue; + + if (!track->mode && track->sector_size == 2352) + strcpy (buf, "AUDIO"); + else + sprintf (buf, "MODE%d/%d", track->mode, track->sector_size); + + printf ("Track: %d %s", t + 1, buf); + + dm_lba_to_msf (track->track_len, &min, &sec, &frames); + printf ("\n %d Sectors, %d:%02d/%02d MSF, %d Bytes (%.4f MB)", + (int) track->total_len, + min, sec, frames, + (int) (track->total_len * track->sector_size), + (float) (track->total_len * track->sector_size) / (1024 * 1024)); + + fputc ('\n', stdout); + + if (verbose) + { + printf (" Pregap: %d, Start Sector: %d, End Sector: %d, Postgap: %d\n", + track->pregap_len, + (int) (track->track_start / track->sector_size), + (int) ((track->track_start / track->sector_size) + track->total_len), + track->postgap_len); + + dm_lba_to_msf (track->track_len, &min, &sec, &frames); + printf (" Total Time: %d:%02d/%02d MSF, File Start Pos: %d, End Pos: %d\n", + min, sec, frames, + (int) track->track_start, + (int) track->track_end); + } + + memset (&iso_header, 0, sizeof (st_iso_header_t)); + result = -1; + + if (track->iso_header_start != -1) + if ((fh = fopen (image->fname, "rb"))) + if (fread (&iso_header, track->iso_header_start, sizeof (st_iso_header_t), fh)) + { + if (verbose) + mem_hexdump (&iso_header, sizeof (st_iso_header_t), track->iso_header_start); + + // name, maker, country and size + // some have a name with control chars in it -> replace control chars + strncpy2 (buf, NULL_TO_EMPTY (iso_header.volume_id), + sizeof (iso_header.volume_id)); + to_func (buf, strlen (buf), toprint2); + if (*strtrim (buf)) + printf (" %s\n", buf); + + strncpy2 (buf, NULL_TO_EMPTY (iso_header.publisher_id), + sizeof (iso_header.publisher_id)); + to_func (buf, strlen (buf), toprint2); + if (*strtrim (buf)) + printf (" %s\n", buf); + + strncpy2 (buf, NULL_TO_EMPTY (iso_header.preparer_id), + sizeof (iso_header.preparer_id)); + to_func (buf, strlen (buf), toprint2); + if (*strtrim (buf)) + printf (" %s\n", buf); +#if 0 + strncpy2 (buf, NULL_TO_EMPTY (iso_header.logical_block_size), + sizeof (iso_header.logical_block_size)); + to_func (buf, strlen (buf), toprint2); + if (*strtrim (buf)) + printf (" %s\n", buf); +#endif + strncpy2 (buf, NULL_TO_EMPTY (iso_header.application_id), + sizeof (iso_header.application_id)); + to_func (buf, strlen (buf), toprint2); + if (*strtrim (buf)) + printf (" %s\n", buf); + } + } +} diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/libdm_misc.h b/tools/ucon64-2.0.0-src/src/libdiscmage/libdm_misc.h new file mode 100644 index 0000000..1cf8602 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/libdm_misc.h @@ -0,0 +1,123 @@ +/* +libdm_misc.h - libdiscmage miscellaneous + +Copyright (c) 2002 - 2003 NoisyB (noisyb@gmx.net) +Copyright (c) 2002 - 2004 dbjh + + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ +#ifndef LIBDM_MISC_H +#define LIBDM_MISC_H +/* + libdm messages + + usage example: fprintf (stdout, dm_msg[DEPRECATED], filename); +*/ +enum +{ + DEPRECATED = 0, + UNKNOWN_IMAGE, + ALREADY_2048, + ALPHA +}; +extern const char *dm_msg[]; + + +typedef struct +{ + int mode; + int seek_header; // sync, head, sub + int sector_size; // data + int seek_ecc; // EDC, zero, ECC, spare + + int id; + + const char *suffix; +} st_track_probe_t; +extern const st_track_probe_t track_probe[]; + + +typedef struct +{ + int id; + const char *desc; +} st_track_desc_t; // used in toc.c and cue.c + + +enum { + DM_AUDIO = 1, +#if 0 + DM_SIZERAW, + DM_SIZEISO_MODE1, + DM_SIZEISO_MODE2_RAW, + DM_SIZEISO_MODE2_FORM1, + DM_SIZEISO_MODE2_FORM2, + DM_MODE1, + DM_MODE2, +#endif + DM_MODE1_2352, + DM_MODE2_2352, + DM_MODE1_2048, + DM_MODE2_2336 +}; + + +enum { + DM_UNKNOWN = -1, + DM_CUE = 1, + DM_TOC, + DM_CDI, + DM_NRG, +// DM_CCD, + DM_OTHER +}; + + +/* + dm_get_track_desc() returns a string like "MODE1/2352" depending on the + mode and sector_size specified; if cue == FALSE + it will return the string in TOC format +*/ +extern int dm_get_track_mode_id (int mode, int sector_size); +extern void dm_get_track_mode_by_id (int id, int8_t *mode, uint16_t *sector_size); +extern void dm_clean (dm_image_t *image); +extern void dm_gauge (int, int); + +extern const char pvd_magic[]; +extern const char svd_magic[]; +extern const char vdt_magic[]; + + +/* + dm_lba_to_msf() convert LBA to minutes, seconds, frames + dm_msf_to_lba() convert minutes, seconds, frames to LBA + + LBA represents the logical block address for the CD-ROM absolute + address field or for the offset from the beginning of the current track + expressed as a number of logical blocks in a CD-ROM track relative + address field. + MSF represents the physical address written on CD-ROM discs, + expressed as a sector count relative to either the beginning of the + medium or the beginning of the current track. + + dm_bcd_to_int() convert BCD to integer + dm_int_to_bcd() convert integer to BCD +*/ +extern int dm_lba_to_msf (int lba, int *m, int *s, int *f); +extern int dm_msf_to_lba (int m, int s, int f, int force_positive); +extern int dm_bcd_to_int (int b); +extern int dm_int_to_bcd (int i); +#endif // LIBDM_MISC_H diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/map.c b/tools/ucon64-2.0.0-src/src/libdiscmage/map.c new file mode 100644 index 0000000..5eea896 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/map.c @@ -0,0 +1,129 @@ +/* +map.c - a map (associative array) implementation + +Copyright (c) 2002 - 2003 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#include +#include +#include +#include "map.h" +#if defined DJGPP && defined DLL +#include "dxedll_priv.h" +#endif + + +st_map_t * +map_create (int n_elements) +{ + st_map_t *map; + int size = sizeof (st_map_t) + n_elements * sizeof (st_map_element_t); + + if ((map = (st_map_t *) malloc (size)) == NULL) + { + fprintf (stderr, "ERROR: Not enough memory for buffer (%d bytes)\n", size); + exit (1); + } + map->data = (st_map_element_t *) (((unsigned char *) map) + sizeof (st_map_t)); + memset (map->data, MAP_FREE_KEY, n_elements * sizeof (st_map_element_t)); + map->size = n_elements; + map->cmp_key = map_cmp_key_def; + return map; +} + + +void +map_copy (st_map_t *dest, st_map_t *src) +{ + memcpy (dest->data, src->data, src->size * sizeof (st_map_element_t)); + dest->cmp_key = src->cmp_key; +} + + +int +map_cmp_key_def (void *key1, void *key2) +{ + return key1 != key2; +} + + +st_map_t * +map_put (st_map_t *map, void *key, void *object) +{ + int n = 0; + + while (n < map->size && map->data[n].key != MAP_FREE_KEY && + map->cmp_key (map->data[n].key, key)) + n++; + + if (n == map->size) // current map is full + { + int new_size = map->size + 20; + st_map_t *map2; + + map2 = map_create (new_size); + map_copy (map2, map); + free (map); + map = map2; + } + + map->data[n].key = key; + map->data[n].object = object; + + return map; +} + + +void * +map_get (st_map_t *map, void *key) +{ + int n = 0; + + while (n < map->size && map->cmp_key (map->data[n].key, key)) + n++; + + if (n == map->size) + return NULL; + + return map->data[n].object; +} + + +void +map_del (st_map_t *map, void *key) +{ + int n = 0; + + while (n < map->size && map->cmp_key (map->data[n].key, key)) + n++; + + if (n < map->size) + map->data[n].key = MAP_FREE_KEY; +} + + +void +map_dump (st_map_t *map) +{ + int n = 0; + + while (n < map->size) + { + printf ("%p -> %p\n", map->data[n].key, map->data[n].object); + n++; + } +} diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/map.h b/tools/ucon64-2.0.0-src/src/libdiscmage/map.h new file mode 100644 index 0000000..28b695d --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/map.h @@ -0,0 +1,72 @@ +/* +map.h - a map (associative array) implementation + +Copyright (c) 2002 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef MAP_H +#define MAP_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* + map_create() create a new map (associative array) + map_copy() copy map src to map dest + dest must be a larger map than src + Note that this function also copies the member cmp_key. + map_put() put object in map under key + Callers should always reset the passed map pointer with the one + this function returns. This is necessary in case the map had to + be resized. + map_get() get object from map stored under key + returns NULL if there is no object with key in map + map_del() remove the object stored under key from map + map_dump() display the current contents of map + + The value MAP_FREE_KEY is reserved as a special key value. Don't use that + value. +*/ +#define MAP_FREE_KEY 0 + +typedef struct st_map_element +{ + void *key; + void *object; +} st_map_element_t; + +typedef struct st_map +{ + st_map_element_t *data; + int size; + int (*cmp_key) (void *key1, void *key2); +} st_map_t; + +extern st_map_t *map_create (int n_elements); +extern void map_copy (st_map_t *dest, st_map_t *src); +extern st_map_t *map_put (st_map_t *map, void *key, void *object); +extern int map_cmp_key_def (void *key1, void *key2); +extern void *map_get (st_map_t *map, void *key); +extern void map_del (st_map_t *map, void *key); +extern void map_dump (st_map_t *map); + +#ifdef __cplusplus +} +#endif + +#endif // MAP_H diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/misc.c b/tools/ucon64-2.0.0-src/src/libdiscmage/misc.c new file mode 100644 index 0000000..f28e9d5 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/misc.c @@ -0,0 +1,3181 @@ +/* +misc.c - miscellaneous functions + +Copyright (c) 1999 - 2004 NoisyB +Copyright (c) 2001 - 2004 dbjh +Copyright (c) 2002 - 2004 Jan-Erik Karlsson (Amiga code) + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" // USE_ZLIB +#endif +#include +#include +#include +#ifdef HAVE_UNISTD_H +#include +#endif +#include // struct option +#include +#include +#include +#include +#include // va_arg() +#include // for S_IFLNK + +#ifdef __MSDOS__ +#include // delay(), milliseconds +#elif defined __unix__ +#include // usleep(), microseconds +#elif defined __BEOS__ +#include // snooze(), microseconds +// Include OS.h before misc.h, because OS.h includes StorageDefs.h which +// includes param.h which unconditionally defines MIN and MAX. +#elif defined AMIGA +#include +#include +#include +#include +#include // GetKey() +#include +#include +#elif defined _WIN32 +#include // Sleep(), milliseconds +#endif + +#ifdef USE_ZLIB +#include "misc_z.h" +#endif +#include "misc.h" + +#ifdef __CYGWIN__ // under Cygwin (gcc for Windows) we +#define USE_POLL // need poll() for kbhit(). poll() +#include // is available on Linux, not on +#endif // BeOS. DOS already has kbhit() + +#if (defined __unix__ && !defined __MSDOS__) || defined __BEOS__ || \ + defined __APPLE__ // Mac OS X actually +#include +typedef struct termios tty_t; +#endif + + +#ifdef DJGPP +#include // needed for __dpmi_int() by ansi_init() +#ifdef DLL +#include "dxedll_priv.h" +#endif +#endif + +extern int errno; + +typedef struct st_func_node +{ + void (*func) (void); + struct st_func_node *next; +} st_func_node_t; + +static st_func_node_t func_list = { NULL, NULL }; +static int func_list_locked = 0; +static int misc_ansi_color = 0; + +#if (defined __unix__ && !defined __MSDOS__) || defined __BEOS__ || \ + defined __APPLE__ // Mac OS X actually +static void set_tty (tty_t *param); +#endif + + +#ifndef USE_ZLIB +int +q_fsize (const char *filename) +{ + struct stat fstate; + + if (!stat (filename, &fstate)) + return fstate.st_size; + + errno = ENOENT; + return -1; +} +#endif + + +#ifdef DEBUG +static void +getopt2_sanity_check (const st_getopt2_t *option) +{ + int x, y; + + for (x = 0; option[x].name || option[x].help; x++) + if (option[x].name) + for (y = 0; option[y].name || option[y].help; y++) + if (option[y].name) + if (!strcmp (option[x].name, option[y].name)) + if (option[x].val != option[y].val || + option[x].has_arg != option[y].has_arg) + { + fprintf (stderr, "ERROR: getopt2_sanity_check(): found dupe %s%s with different has_arg, or val\n", + option[x].name[1] ? OPTION_LONG_S : OPTION_S, option[x].name); + } +} + + +void +getopt2_parse_usage (const char *usage_output) +// parse usage output into st_getopt2_t array (for development) +{ + int i = 0, count = 0; + char buf[MAXBUFSIZE], *s = NULL, *d = NULL; + FILE *fh = fopen (usage_output, "r"); + + if (!fh) + return; + + while (fgets (buf, MAXBUFSIZE, fh)) + { + st_getopt2_t usage; + int value = 0; + + if (*buf == '\n') + continue; + + memset (&usage, 0, sizeof (st_getopt2_t)); + +#ifdef DEBUG + printf (buf); +#endif + s = d = buf; + d = strstr (s, " " OPTION_S); + if (d && (d - s) < 10) + { + s = (d + strspn (++d, OPTION_S)); + + for (i = 0; s[i] && s[i] != ' '; i++) + if (s[i] == OPTARG) + { + value = 1; + d = strtok (s, OPTARG_S); + break; + } + + if (!value) + d = strtok (s, " "); + + if (d) + usage.name = d; + + if (value) // parse =VALUE + { + d = strtok (NULL, " "); + + if (d) + usage.arg_name = d; + } + } + + + if (usage.name) + { + printf ("{\"%s\", ", usage.name); + + if (usage.arg_name) + printf ("1, \"%s\", ", usage.arg_name); + else + printf ("0, NULL, "); + + printf ("\"%s\", NULL},", strtrim (strtok (NULL, "\n"))); + + } + else + printf ("{NULL, 0, NULL, \"%s\", NULL},", strtrim (strtok (s, "\n"))); + + count++; + if (!(count % 10)) + printf (" // %d", count); + fputc ('\n', stdout); + } +} +#endif // DEBUG + + +#ifdef DEBUG +static char * +string_code (char *d, const char *s) +{ + char *p = d; + + *p = 0; + for (; *s; s++) + switch (*s) + { + case '\n': + strcat (p, "\\n\"\n \""); + break; + + case '\"': + strcat (p, "\\\""); + break; + + default: + p = strchr (p, 0); + *p = *s; + *(++p) = 0; + } + + return d; +} + + +static void +getopt2_usage_code (const st_getopt2_t *usage) +{ + int i = 0; + char buf[MAXBUFSIZE]; + +#ifdef DEBUG + getopt2_sanity_check (usage); +#endif + + for (; usage[i].name || usage[i].help; i++) + { + printf ("{\n %s%s%s, %d, 0, %d, // %d\n %s%s%s, %s%s%s,\n (void *) %d\n},\n", + usage[i].name ? "\"" : "", + usage[i].name ? usage[i].name : "NULL", + usage[i].name ? "\"" : "", + usage[i].has_arg, + usage[i].val, + i, + usage[i].arg_name ? "\"" : "", + usage[i].arg_name ? usage[i].arg_name : "NULL", + usage[i].arg_name ? "\"" : "", + usage[i].help ? "\"" : "", + usage[i].help ? string_code (buf, usage[i].help) : "NULL", + usage[i].help ? "\"" : "", + (int) usage[i].object); + } +} +#endif // DEBUG + + +void +getopt2_usage (const st_getopt2_t *usage) +{ +#ifdef DEBUG + getopt2_usage_code (usage); +#else + int i = 0; + char buf[MAXBUFSIZE]; + + for (i = 0; usage[i].name || usage[i].help; i++) + if (usage[i].help) // hidden options ARE allowed + { + if (usage[i].name) + { + sprintf (buf, "%s%s%s%s%s%s ", + // long or short name? + (usage[i].name[1] ? " " OPTION_LONG_S : " " OPTION_S), + usage[i].name, + usage[i].has_arg == 2 ? "[" : "", // == 2 arg is optional + usage[i].arg_name ? OPTARG_S : "", + usage[i].arg_name ? usage[i].arg_name : "", + usage[i].has_arg == 2 ? "]" : ""); // == 2 arg is optional + + if (strlen (buf) < 16) + { + strcat (buf, " "); + buf[16] = 0; + } + fputs (buf, stdout); + } + + if (usage[i].help) + { + char c, *p = buf, *p2 = NULL; + + strcpy (buf, usage[i].help); + + if (usage[i].name) + for (; (p2 = strchr (p, '\n')); p = p2 + 1) + { + c = p2[1]; + p2[1] = 0; + fputs (p, stdout); + fputs (" ", stdout); + p2[1] = c; + } + + fputs (p, stdout); + fputc ('\n', stdout); + } + } +#endif // DEBUG +} + + +int +getopt2_long (struct option *long_option, const st_getopt2_t *option, int n) +{ + int i = 0, j = 0, x = 0; + +#ifdef DEBUG + getopt2_sanity_check (option); +#endif + + memset (long_option, 0, sizeof (struct option) * n); + + for (; option[i].name || option[i].help; i++) + if (option[i].name) // IS option + { + for (j = 0; j < i; j++) + if (option[j].name) + if (!strcmp (option[i].name, option[j].name)) + break; // no dupes + + if (j == i && x < n) + { +#ifdef _MSC_VER + (char *) +#endif + long_option[x].name = +#ifdef _MSC_VER + (char *) +#endif + option[i].name; + long_option[x].has_arg = option[i].has_arg; + long_option[x].flag = option[i].flag; + long_option[x++].val = option[i].val; + } + } + + return x < n ? x + 1 : 0; +} + + +int +getopt2_short (char *short_option, const st_getopt2_t *option, int n) +{ + int i = 0; + char *p = short_option; + +#ifdef DEBUG + getopt2_sanity_check (option); +#endif + + *p = 0; + for (; option[i].name || option[i].help; i++) + if ((int) strlen (short_option) + 3 < n && option[i].name) // IS option + if (!option[i].name[1]) // IS short + if (!strchr (short_option, option[i].name[0])) // no dupes + { + *p++ = option[i].name[0]; + switch (option[i].has_arg) + { + case 2: + *p++ = ':'; + case 1: // falling through + *p++ = ':'; + case 0: + break; +#ifdef DEBUG + default: + fprintf (stderr, "ERROR: getopt2_short(): unexpected has_arg value (%d)\n", option[i].has_arg); +#endif // DEBUG + } + *p = 0; + } +#ifdef DEBUG + printf ("%s\n", short_option); + fflush (stdout); +#endif + + return (int) strlen (short_option) + 3 < n ? (int) strlen (short_option) : 0; +} + + +const st_getopt2_t * +getopt2_get_index_by_val (const st_getopt2_t *option, int val) +{ + int x = 0; + + for (; option[x].name || option[x].help; x++) + if (option[x].name) // it IS an option + if (option[x].val == val) + return &option[x]; + + return NULL; +} + + +#if defined _WIN32 && defined USE_ANSI_COLOR +int +vprintf2 (const char *format, va_list argptr) +// Cheap hack to get the Visual C++ and MinGW ports support "ANSI colors". +// Cheap, because it only supports the ANSI escape sequences uCON64 uses. +{ +#undef printf +#undef fprintf + int n_chars = 0, n_ctrl = 0, n_print, done = 0; + char output[MAXBUFSIZE], *ptr, *ptr2; + HANDLE stdout_handle; + CONSOLE_SCREEN_BUFFER_INFO info; + WORD org_attr, new_attr = 0; + + n_chars = _vsnprintf (output, MAXBUFSIZE, format, argptr); + if (n_chars == -1) + { + fprintf (stderr, "INTERNAL ERROR: Output buffer in vprintf2() is too small (%d bytes).\n" + " Please send a bug report\n", MAXBUFSIZE); + exit (1); + } + + if ((ptr = strchr (output, 0x1b)) == NULL) + fputs (output, stdout); + else + { + stdout_handle = GetStdHandle (STD_OUTPUT_HANDLE); + GetConsoleScreenBufferInfo (stdout_handle, &info); + org_attr = info.wAttributes; + + if (ptr > output) + { + *ptr = 0; + fputs (output, stdout); + *ptr = 0x1b; + } + while (!done) + { + if (memcmp (ptr, "\x1b[0m", 4) == 0) + { + new_attr = org_attr; + n_ctrl = 4; + } + else if (memcmp (ptr, "\x1b[01;31m", 8) == 0) + { + new_attr = FOREGROUND_INTENSITY | FOREGROUND_RED; + n_ctrl = 8; + } + else if (memcmp (ptr, "\x1b[01;32m", 8) == 0) + { + new_attr = FOREGROUND_INTENSITY | FOREGROUND_GREEN; + n_ctrl = 8; + } + else if (memcmp (ptr, "\x1b[01;33m", 8) == 0) // bright yellow + { + new_attr = FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN; + n_ctrl = 8; + } + else if (memcmp (ptr, "\x1b[31;41m", 8) == 0) + { + new_attr = FOREGROUND_RED | BACKGROUND_RED; + n_ctrl = 8; + } + else if (memcmp (ptr, "\x1b[32;42m", 8) == 0) + { + new_attr = FOREGROUND_GREEN | BACKGROUND_GREEN; + n_ctrl = 8; + } + else if (memcmp (ptr, "\x1b[30;41m", 8) == 0) // 30 = foreground black + { + new_attr = BACKGROUND_RED; + n_ctrl = 8; + } + else if (memcmp (ptr, "\x1b[30;42m", 8) == 0) + { + new_attr = BACKGROUND_GREEN; + n_ctrl = 8; + } + else if (*ptr == 0x1b) + { + new_attr = FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE; + SetConsoleTextAttribute (stdout_handle, new_attr); + printf ("\n" + "INTERNAL WARNING: vprintf2() encountered an unsupported ANSI escape sequence\n" + " Please send a bug report\n"); + n_ctrl = 0; + } + SetConsoleTextAttribute (stdout_handle, new_attr); + + ptr2 = strchr (ptr + 1, 0x1b); + if (ptr2) + n_print = ptr2 - ptr; + else + { + n_print = strlen (ptr); + done = 1; + } + + ptr[n_print] = 0; + ptr += n_ctrl; + fputs (ptr, stdout); + (ptr - n_ctrl)[n_print] = 0x1b; + ptr = ptr2; + } + } + return n_chars; +#define printf printf2 +#define fprintf fprintf2 +} + + +int +printf2 (const char *format, ...) +{ + va_list argptr; + int n_chars; + + va_start (argptr, format); + n_chars = vprintf2 (format, argptr); + va_end (argptr); + return n_chars; +} + + +int +fprintf2 (FILE *file, const char *format, ...) +{ + va_list argptr; + int n_chars; + + va_start (argptr, format); + if (file != stdout) + n_chars = vfprintf (file, format, argptr); + else + n_chars = vprintf2 (format, argptr); + va_end (argptr); + return n_chars; +} +#endif // defined _WIN32 && defined USE_ANSI_COLOR + + +void +clear_line (void) +/* + This function is used to fix a problem when using the MinGW or Visual C++ + port under Windows 98 (probably Windows 95 too) while ANSI.SYS is not loaded. + If a line contains colors, printed with printf() or fprintf() (actually + printf2() or fprintf2()), it cannot be cleared by printing spaces on the same + line. A solution is using SetConsoleTextAttribute(). + The problem doesn't occur if ANSI.SYS is loaded. It also doesn't occur under + Windows XP, even if ANSI.SYS isn't loaded. + We print 79 spaces (not 80), because under command.com the cursor advances to + the next line if we print something on the 80th column (in 80 column mode). + This doesn't happen under xterm. +*/ +{ +#if !defined _WIN32 || !defined USE_ANSI_COLOR + fputs ("\r \r", stdout); +#else + WORD org_attr; + CONSOLE_SCREEN_BUFFER_INFO info; + HANDLE stdout_handle = GetStdHandle (STD_OUTPUT_HANDLE); + GetConsoleScreenBufferInfo (stdout_handle, &info); + org_attr = info.wAttributes; + SetConsoleTextAttribute (stdout_handle, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE); + fputs ("\r \r", stdout); + SetConsoleTextAttribute (stdout_handle, org_attr); +#endif +} + + +int +ansi_init (void) +{ + int result = isatty (STDOUT_FILENO); + +#ifdef DJGPP + if (result) + { + // Don't use __MSDOS__, because __dpmi_regs and __dpmi_int are DJGPP specific + __dpmi_regs reg; + + reg.x.ax = 0x1a00; // DOS 4.0+ ANSI.SYS installation check + __dpmi_int (0x2f, ®); + if (reg.h.al != 0xff) // AL == 0xff if installed + result = 0; + } +#endif + + misc_ansi_color = result; + + return result; +} + + +#if 0 // currently not used +char * +ansi_strip (char *str) +{ + int ansi = 0; + char *p = str, *s = str; + + for (; *p; p++) + switch (*p) + { + case '\x1b': // escape + ansi = 1; + break; + + case 'm': + if (ansi) + { + ansi = 0; + break; + } + + default: + if (!ansi) + { + *s = *p; + s++; + } + break; + } + *s = 0; + + return str; +} +#endif + + +int +isfname (int c) +{ + if (isalnum (c)) + return TRUE; + + // characters that are also allowed in filenames + return strchr (".,'+- ()[]!&", c) ? TRUE : FALSE; +} + + +int +isprint2 (int c) +{ + if (isprint (c)) + return TRUE; + + // characters that also work with printf + if (c == '\x1b') + return misc_ansi_color ? TRUE : FALSE; + + return strchr ("\t\n\r", c) ? TRUE : FALSE; +} + + +int +tofname (int c) +{ + return isfname (c) ? c : '_'; +} + + +int +toprint2 (int c) +{ + return isprint2 (c) ? c : '.'; +} + + +int +is_func (char *s, int size, int (*func) (int)) +{ + char *p = s; + + /* + Casting to unsigned char * is necessary to avoid differences between the + different compilers' run-time environments. At least for isprint(). Without + the cast the isprint() of (older versions of) DJGPP, MinGW, Cygwin and + Visual C++ returns nonzero values for ASCII characters > 126. + */ + for (; size >= 0; p++, size--) + if (!func (*(unsigned char *) p)) + return FALSE; + + return TRUE; +} + + +char * +to_func (char *s, int size, int (*func) (int)) +{ + char *p = s; + + for (; size > 0; p++, size--) + *p = func (*p); + + return s; +} + + +char * +strcasestr2 (const char *str, const char *search) +{ + char *p = (char *) str; + int len = strlen (search); + + if (!len) + return p; + + for (; *p; p++) + if (!strnicmp (p, search, len)) + return p; + + return NULL; +} + + +char * +strncpy2 (char *dest, const char *src, size_t size) +{ + if (dest) + { + strncpy (dest, src ? src : "", size); + dest[size] = 0; + } + return dest; +} + + +int +isupper2 (int c) +{ + return isupper (c); +} + + +char * +set_suffix (char *filename, const char *suffix) +{ + char suffix2[FILENAME_MAX], *p, *p2; + + if (!(p = basename2 (filename))) + p = filename; + if ((p2 = strrchr (p, '.'))) + if (p2 != p) // files can start with '.' + *p2 = 0; + + strcpy (suffix2, suffix); + strcat (filename, is_func (p, strlen (p), isupper2) ? strupr (suffix2) : strlwr (suffix2)); + + return filename; +} + + +char * +set_suffix_i (char *filename, const char *suffix) +{ + char *p, *p2; + + if (!(p = basename2 (filename))) + p = filename; + if ((p2 = strrchr (p, '.'))) + if (p2 != p) // files can start with '.' + *p2 = 0; + + strcat (filename, suffix); + + return filename; +} + + +const char * +get_suffix (const char *filename) +// Note that get_suffix() never returns NULL. Other code relies on that! +{ + char *p, *p2; + + if (!(p = basename2 (filename))) + p = (char *) filename; + if (!(p2 = strrchr (p, '.'))) + p2 = ""; + if (p2 == p) + p2 = ""; // files can start with '.'; be + // consistent with set_suffix{_i}() + return p2; +} + + +static int +strtrimr (char *str) +/* + Removes all trailing blanks from a string. + Blanks are defined with isspace (blank, tab, newline, return, formfeed, + vertical tab = 0x09 - 0x0D + 0x20) +*/ +{ + int i, j; + + j = i = strlen (str) - 1; + + while (isspace ((int) str[i]) && (i >= 0)) + str[i--] = 0; + + return j - i; +} + + +static int +strtriml (char *str) +/* + Removes all leading blanks from a string. + Blanks are defined with isspace (blank, tab, newline, return, formfeed, + vertical tab = 0x09 - 0x0D + 0x20) +*/ +{ + int i = 0, j; + + j = strlen (str) - 1; + + while (isspace ((int) str[i]) && (i <= j)) + i++; + + if (0 < i) + strcpy (str, &str[i]); + + return i; +} + + +char * +strtrim (char *str) +/* + Removes all leading and trailing blanks in a string. + Blanks are defined with isspace (blank, tab, newline, return, formfeed, + vertical tab = 0x09 - 0x0D + 0x20) +*/ +{ + strtrimr (str); + strtriml (str); + + return str; +} + + +int +memwcmp (const void *buffer, const void *search, uint32_t searchlen, int wildcard) +{ + uint32_t n; + + for (n = 0; n < searchlen; n++) + if (((uint8_t *) search)[n] != wildcard && + ((uint8_t *) buffer)[n] != ((uint8_t *) search)[n]) + return -1; + + return 0; +} + + +void * +mem_search (const void *buffer, uint32_t buflen, + const void *search, uint32_t searchlen) +{ + int32_t n; + + for (n = 0; n <= (int32_t) (buflen - searchlen); n++) + if (memcmp ((uint8_t *) buffer + n, search, searchlen) == 0) + return (uint8_t *) buffer + n; + + return 0; +} + + +void * +mem_swap_b (void *buffer, uint32_t n) +{ + uint8_t *a = (uint8_t *) buffer, byte; + + for (; n > 1; n -= 2) + { + byte = *a; + *a = *(a + 1); + *(a + 1) = byte; + a += 2; + } + + return buffer; +} + + +void * +mem_swap_w (void *buffer, uint32_t n) +{ + uint16_t *a = (uint16_t *) buffer, word; + + n >>= 1; // # words = # bytes / 2 + for (; n > 1; n -= 2) + { + word = *a; + *a = *(a + 1); + *(a + 1) = word; + a += 2; + } + + return buffer; +} + + +#ifdef DEBUG +static void +mem_hexdump_code (const void *buffer, uint32_t n, int virtual_start) +// hexdump something into C code (for development) +{ + uint32_t pos; + const unsigned char *p = (const unsigned char *) buffer; + + for (pos = 0; pos < n; pos++, p++) + { + printf ("0x%02x, ", *p); + + if (!((pos + 1) & 7)) + fprintf (stdout, "// 0x%x (%d)\n", pos + virtual_start + 1, pos + virtual_start + 1); + } +} +#endif + + +void +mem_hexdump (const void *buffer, uint32_t n, int virtual_start) +// hexdump something +{ +#ifdef DEBUG + mem_hexdump_code (buffer, n, virtual_start); +#else + uint32_t pos; + char buf[17]; + const unsigned char *p = (const unsigned char *) buffer; + + buf[16] = 0; + for (pos = 0; pos < n; pos++, p++) + { + if (!(pos & 15)) + printf ("%08x ", (unsigned int) (pos + virtual_start)); + printf ((pos + 1) & 3 ? "%02x " : "%02x ", *p); + + *(buf + (pos & 15)) = isprint (*p) ? *p : '.'; + if (!((pos + 1) & 15)) + puts (buf); + } + if (pos & 15) + { + *(buf + (pos & 15)) = 0; + puts (buf); + } +#endif +} + + +#if 0 // currently not used +int +mkdir2 (const char *name) +// create a directory and check its permissions +{ + struct stat *st = NULL; + + if (stat (name, st) == -1) + { + if (errno != ENOENT) + { + fprintf (stderr, "stat %s", name); + return -1; + } + if (mkdir (name, 0700) == -1) + { + fprintf (stderr, "mkdir %s", name); + return -1; + } + if (stat (name, st) == -1) + { + fprintf (stderr, "stat %s", name); + return -1; + } + } + + if (!S_ISDIR (st->st_mode)) + { + fprintf (stderr, "%s is not a directory\n", name); + return -1; + } + if (st->st_uid != getuid ()) + { + fprintf (stderr, "%s is not owned by you\n", name); + return -1; + } + if (st->st_mode & 077) + { + fprintf (stderr, "%s must not be accessible by other users\n", name); + return -1; + } + + return 0; +} +#endif + + +char * +basename2 (const char *path) +// basename() clone (differs from Linux's basename()) +{ + char *p1; +#if defined DJGPP || defined __CYGWIN__ + char *p2; +#endif + + if (path == NULL) + return NULL; + +#if defined DJGPP || defined __CYGWIN__ + // Yes, DJGPP, not __MSDOS__, because DJGPP's basename() behaves the same + // Cygwin has no basename() + p1 = strrchr (path, '/'); + p2 = strrchr (path, '\\'); + if (p2 > p1) // use the last separator in path + p1 = p2; +#else + p1 = strrchr (path, FILE_SEPARATOR); +#endif +#if defined DJGPP || defined __CYGWIN__ || defined _WIN32 + if (p1 == NULL) // no slash, perhaps a drive? + p1 = strrchr (path, ':'); +#endif + + return p1 ? p1 + 1 : (char *) path; +} + + +char * +dirname2 (const char *path) +// dirname() clone (differs from Linux's dirname()) +{ + char *p1, *dir; +#if defined DJGPP || defined __CYGWIN__ + char *p2; +#endif + + if (path == NULL) + return NULL; + // real dirname() uses malloc() so we do too + // +2: +1 for string terminator +1 if path is ":" + if ((dir = (char *) malloc (strlen (path) + 2)) == NULL) + return NULL; + + strcpy (dir, path); +#if defined DJGPP || defined __CYGWIN__ + // Yes, DJGPP, not __MSDOS__, because DJGPP's dirname() behaves the same + // Cygwin has no dirname() + p1 = strrchr (dir, '/'); + p2 = strrchr (dir, '\\'); + if (p2 > p1) // use the last separator in path + p1 = p2; +#else + p1 = strrchr (dir, FILE_SEPARATOR); +#endif +#if defined DJGPP || defined __CYGWIN__ || defined _WIN32 + if (p1 == NULL) // no slash, perhaps a drive? + { + if ((p1 = strrchr (dir, ':'))) + { + p1[1] = '.'; + p1 += 2; + } + } +#endif + + while (p1 > dir && // find first of last separators (we have to strip trailing ones) +#if defined DJGPP || defined __CYGWIN__ + ((*(p1 - 1) == '/' && (*p1 == '/' || *p1 == '\\')) + || + (*(p1 - 1) == '\\' && (*p1 == '\\' || *p1 == '/')))) +#else + (*(p1 - 1) == FILE_SEPARATOR && *p1 == FILE_SEPARATOR)) +#endif + p1--; + + if (p1 == dir) + p1++; // don't overwrite single separator (root dir) +#if defined DJGPP || defined __CYGWIN__ || defined _WIN32 + else if (p1 > dir) + if (*(p1 - 1) == ':') + p1++; // we must not overwrite the last separator if +#endif // it was directly preceded by a drive letter + + if (p1) + *p1 = 0; // terminate string (overwrite the separator) + else + { + dir[0] = '.'; + dir[1] = 0; + } + + return dir; +} + + +#ifndef HAVE_REALPATH +#undef realpath +char * +realpath (const char *path, char *full_path) +{ +#if defined __unix__ || defined __BEOS__ || defined __MSDOS__ +/* + Keep the "defined _WIN32"'s in this code in case GetFullPathName() turns out + to have some unexpected problems. This code works for Visual C++, but it + doesn't return the same paths as GetFullPathName() does. Most notably, + GetFullPathName() expands :. to the current directory of + : while this code doesn't. +*/ +#define MAX_READLINKS 32 + char copy_path[FILENAME_MAX], got_path[FILENAME_MAX], *new_path = got_path, + *max_path; +#if defined __MSDOS__ || defined _WIN32 || defined __CYGWIN__ + char c; +#endif +#ifdef S_IFLNK + char link_path[FILENAME_MAX]; + int readlinks = 0; +#endif + int n; + + // Make a copy of the source path since we may need to modify it + n = strlen (path); + if (n >= FILENAME_MAX - 2) + return NULL; + else if (n == 0) + return NULL; + + strcpy (copy_path, path); + path = copy_path; + max_path = copy_path + FILENAME_MAX - 2; +#if defined __MSDOS__ || defined _WIN32 || defined __CYGWIN__ + c = toupper (*path); + if (c >= 'A' && c <= 'Z' && path[1] == ':') + { + *new_path++ = *path++; + *new_path++ = *path++; + if (*path == FILE_SEPARATOR) + *new_path++ = *path++; + } + else +#endif + if (*path != FILE_SEPARATOR) + { + getcwd (new_path, FILENAME_MAX - 1); +#ifdef DJGPP + // DJGPP's getcwd() returns a path with forward slashes + { + int l = strlen (new_path); + for (n = 0; n < l; n++) + if (new_path[n] == '/') + new_path[n] = FILE_SEPARATOR; + } +#endif + new_path += strlen (new_path); + if (*(new_path - 1) != FILE_SEPARATOR) + *new_path++ = FILE_SEPARATOR; + } + else + { + *new_path++ = FILE_SEPARATOR; + path++; + } + + // Expand each (back)slash-separated pathname component + while (*path != 0) + { + // Ignore stray FILE_SEPARATOR + if (*path == FILE_SEPARATOR) + { + path++; + continue; + } + if (*path == '.') + { + // Ignore "." + if (path[1] == 0 || path[1] == FILE_SEPARATOR) + { + path++; + continue; + } + if (path[1] == '.') + { + if (path[2] == 0 || path[2] == FILE_SEPARATOR) + { + path += 2; + // Ignore ".." at root + if (new_path == got_path + 1) + continue; + // Handle ".." by backing up + while (*((--new_path) - 1) != FILE_SEPARATOR) + ; + continue; + } + } + } + // Safely copy the next pathname component + while (*path != 0 && *path != FILE_SEPARATOR) + { + if (path > max_path) + return NULL; + + *new_path++ = *path++; + } +#ifdef S_IFLNK + // Protect against infinite loops + if (readlinks++ > MAX_READLINKS) + return NULL; + + // See if latest pathname component is a symlink + *new_path = 0; + n = readlink (got_path, link_path, FILENAME_MAX - 1); + if (n < 0) + { + // EINVAL means the file exists but isn't a symlink + if (errno != EINVAL +#ifdef __BEOS__ + // Make this function work for a mounted ext2 fs ("/:") + && errno != B_NAME_TOO_LONG +#endif + ) + { + // Make sure it's null terminated + *new_path = 0; + strcpy (full_path, got_path); + return NULL; + } + } + else + { + // Note: readlink() doesn't add the null byte + link_path[n] = 0; + if (*link_path == FILE_SEPARATOR) + // Start over for an absolute symlink + new_path = got_path; + else + // Otherwise back up over this component + while (*(--new_path) != FILE_SEPARATOR) + ; + if (strlen (path) + n >= FILENAME_MAX - 2) + return NULL; + // Insert symlink contents into path + strcat (link_path, path); + strcpy (copy_path, link_path); + path = copy_path; + } +#endif // S_IFLNK + *new_path++ = FILE_SEPARATOR; + } + // Delete trailing slash but don't whomp a lone slash + if (new_path != got_path + 1 && *(new_path - 1) == FILE_SEPARATOR) + { +#if defined __MSDOS__ || defined _WIN32 || defined __CYGWIN__ + if (new_path >= got_path + 3) + { + if (*(new_path - 2) == ':') + { + c = toupper (*(new_path - 3)); + if (!(c >= 'A' && c <= 'Z')) + new_path--; + } + else + new_path--; + } + else + new_path--; +#else + new_path--; +#endif + } + // Make sure it's null terminated + *new_path = 0; + strcpy (full_path, got_path); + + return full_path; +#elif defined _WIN32 + char *p, c; + int n; + + if (GetFullPathName (path, FILENAME_MAX, full_path, &p) == 0) + return NULL; + + c = toupper (full_path[0]); + n = strlen (full_path) - 1; + // Remove trailing separator if full_path is not the root dir of a drive, + // because Visual C++'s run-time system is *really* stupid + if (full_path[n] == FILE_SEPARATOR && + !(c >= 'A' && c <= 'Z' && full_path[1] == ':' && full_path[3] == 0)) // && full_path[2] == FILE_SEPARATOR + full_path[n] = 0; + + return full_path; +#elif defined AMIGA + strcpy (full_path, path); + return full_path; +#endif +} +#endif + + +char * +realpath2 (const char *path, char *full_path) +// enhanced realpath() which returns the absolute path of a file +{ + char path1[FILENAME_MAX]; + const char *path2; + + if (path[0] == '~') + { + if (path[1] == FILE_SEPARATOR +#ifdef __CYGWIN__ + || path[1] == '\\' +#endif + ) + sprintf (path1, "%s"FILE_SEPARATOR_S"%s", getenv2 ("HOME"), &path[2]); + else if (path[1] == 0) + strcpy (path1, getenv2 ("HOME")); + path2 = path1; + } + else + path2 = path; + + return realpath (path2, full_path); +} + + +int +one_file (const char *filename1, const char *filename2) +// returns 1 if filename1 and filename2 refer to one file, 0 if not (or error) +{ +#ifndef _WIN32 + struct stat finfo1, finfo2; + + /* + Not the name, but the combination inode & device identify a file. + Note that stat() doesn't need any access rights except search rights for + the directories in the path to the file. + */ + if (stat (filename1, &finfo1) != 0) + return 0; + if (stat (filename2, &finfo2) != 0) + return 0; + if (finfo1.st_dev == finfo2.st_dev && finfo1.st_ino == finfo2.st_ino) + return 1; + else + return 0; +#else + HANDLE file1, file2; + BY_HANDLE_FILE_INFORMATION finfo1, finfo2; + + file1 = CreateFile (filename1, 0, FILE_SHARE_READ, NULL, OPEN_EXISTING, + FILE_ATTRIBUTE_NORMAL, NULL); + if (file1 == INVALID_HANDLE_VALUE) + return 0; + file2 = CreateFile (filename2, 0, FILE_SHARE_READ, NULL, OPEN_EXISTING, + FILE_ATTRIBUTE_NORMAL, NULL); + if (file2 == INVALID_HANDLE_VALUE) + { + CloseHandle (file1); + return 0; + } + GetFileInformationByHandle (file1, &finfo1); + GetFileInformationByHandle (file2, &finfo2); + CloseHandle (file1); + CloseHandle (file2); + if (finfo1.dwVolumeSerialNumber == finfo2.dwVolumeSerialNumber && + (finfo1.nFileIndexHigh << 16 | finfo1.nFileIndexLow) == + (finfo2.nFileIndexHigh << 16 | finfo2.nFileIndexLow)) + return 1; + else + return 0; +#endif +} + + +int +one_filesystem (const char *filename1, const char *filename2) +// returns 1 if filename1 and filename2 reside on one file system, 0 if not +// (or an error occurred) +{ +#ifndef _WIN32 + struct stat finfo1, finfo2; + + if (stat (filename1, &finfo1) != 0) + return 0; + if (stat (filename2, &finfo2) != 0) + return 0; + if (finfo1.st_dev == finfo2.st_dev) + return 1; + else + return 0; +#else + DWORD fattrib1, fattrib2; + char path1[FILENAME_MAX], path2[FILENAME_MAX], *p, d1, d2; + HANDLE file1, file2; + BY_HANDLE_FILE_INFORMATION finfo1, finfo2; + + if ((fattrib1 = GetFileAttributes (filename1)) == (DWORD) -1) + return 0; + if ((fattrib2 = GetFileAttributes (filename2)) == (DWORD) -1) + return 0; + if (fattrib1 & FILE_ATTRIBUTE_DIRECTORY || fattrib2 & FILE_ATTRIBUTE_DIRECTORY) + /* + We special-case directories, because we can't use + FILE_FLAG_BACKUP_SEMANTICS as argument to CreateFile() under + Windows 9x/ME. There seems to be no Win32 function other than + CreateFile() to obtain a handle to a directory. + */ + { + if (GetFullPathName (filename1, FILENAME_MAX, path1, &p) == 0) + return 0; + if (GetFullPathName (filename2, FILENAME_MAX, path2, &p) == 0) + return 0; + d1 = toupper (path1[0]); + d2 = toupper (path2[0]); + if (d1 == d2 && d1 >= 'A' && d1 <= 'Z' && d2 >= 'A' && d2 <= 'Z') + if (strlen (path1) >= 2 && strlen (path2) >= 2) + // We don't handle unique volume names + if (path1[1] == ':' && path2[1] == ':') + return 1; + return 0; + } + + file1 = CreateFile (filename1, 0, FILE_SHARE_READ, NULL, OPEN_EXISTING, + FILE_ATTRIBUTE_NORMAL, NULL); + if (file1 == INVALID_HANDLE_VALUE) + return 0; + file2 = CreateFile (filename2, 0, FILE_SHARE_READ, NULL, OPEN_EXISTING, + FILE_ATTRIBUTE_NORMAL, NULL); + if (file2 == INVALID_HANDLE_VALUE) + { + CloseHandle (file1); + return 0; + } + GetFileInformationByHandle (file1, &finfo1); + GetFileInformationByHandle (file2, &finfo2); + CloseHandle (file1); + CloseHandle (file2); + if (finfo1.dwVolumeSerialNumber == finfo2.dwVolumeSerialNumber) + return 1; + else + return 0; +#endif +} + + +int +rename2 (const char *oldname, const char *newname) +{ + int retval; + char *dir1 = dirname2 (oldname), *dir2 = dirname2 (newname); + struct stat fstate; + + // We should use dirname{2}() in case oldname or newname doesn't exist yet + if (one_filesystem (dir1, dir2)) + { + if (access (newname, F_OK) == 0) + { + stat (newname, &fstate); + chmod (newname, fstate.st_mode | S_IWUSR); + remove (newname); // *try* to remove or rename() will fail + } + retval = rename (oldname, newname); + } + else + { + retval = q_rfcpy (oldname, newname); + // don't remove unless the file can be copied + if (retval == 0) + { + stat (oldname, &fstate); + chmod (oldname, fstate.st_mode | S_IWUSR); + remove (oldname); + } + } + + free (dir1); + free (dir2); + return retval; +} + + +int +truncate2 (const char *filename, int new_size) +{ + int size = q_fsize (filename); + struct stat fstate; + + stat (filename, &fstate); + if (chmod (filename, fstate.st_mode | S_IWUSR)) + return -1; + + if (size < new_size) + { + FILE *file; + unsigned char padbuffer[MAXBUFSIZE]; + int n_bytes; + + if ((file = fopen (filename, "ab")) == NULL) + return -1; + + memset (padbuffer, 0, MAXBUFSIZE); + + while (size < new_size) + { + n_bytes = new_size - size > MAXBUFSIZE ? MAXBUFSIZE : new_size - size; + fwrite (padbuffer, 1, n_bytes, file); + size += n_bytes; + } + + fclose (file); + } + else + truncate (filename, new_size); + + return 0; // success +} + + +int +change_mem (char *buf, int bufsize, char *searchstr, int strsize, + char wc, char esc, char *newstr, int newsize, int offset, ...) +// convenience wrapper for change_mem2() +{ + va_list argptr; + int i, n_esc = 0, retval; + st_cm_set_t *sets; + + va_start (argptr, offset); + for (i = 0; i < strsize; i++) + if (searchstr[i] == esc) + n_esc++; + + sets = (st_cm_set_t *) malloc (n_esc * sizeof (st_cm_set_t)); + va_start (argptr, offset); + for (i = 0; i < n_esc; i++) + { + sets[i].data = va_arg (argptr, char *); // get next set of characters + sets[i].size = va_arg (argptr, int); // get set size + } + va_end (argptr); + retval = change_mem2 (buf, bufsize, searchstr, strsize, wc, esc, newstr, + newsize, offset, sets); + free (sets); + return retval; +} + + +int +change_mem2 (char *buf, int bufsize, char *searchstr, int strsize, char wc, + char esc, char *newstr, int newsize, int offset, st_cm_set_t *sets) +/* + Search for all occurrences of string searchstr in buf and replace newsize + bytes in buf by copying string newstr to the end of the found search string + in buf plus offset. + If searchstr contains wildcard characters wc, then n wildcard characters in + searchstr match any n characters in buf. + If searchstr contains escape characters esc, sets must point to an array of + sets. sets must contain as many elements as there are escape characters in + searchstr. searchstr matches for an escape character if one of the characters + in sets[i]->data matches. + Note that searchstr is not necessarily a C string; it may contain one or more + zero bytes as strsize indicates the length. + offset is the relative offset from the last character in searchstring and may + have a negative value. + The return value is the number of times a match was found. + This function was written to patch SNES ROM dumps. It does basically the same + as the old uCON does, with one exception, the line with: + bufpos -= n_wc; + + As stated in the comment, this causes the search to restart at the first + wildcard character of the sequence of wildcards that was most recently + skipped if the current character in buf didn't match the current character + in searchstr. This makes change_mem() behave a bit more intuitive. For + example + char str[] = "f foobar means..."; + change_mem (str, strlen (str), "f**bar", 6, '*', '!', "XXXXXXXX", 8, 2, NULL); + finds and changes "foobar means..." into "foobar XXXXXXXX", while with uCON's + algorithm it would not (but does the job good enough for patching SNES ROMs). + + One example of using sets: + char str[] = "fu-bar is the same as foobar "; + st_cm_set_t sets[] = {{"o-", 2}, {"uo", 2}}; + change_mem (str, strlen (str), "f!!", 3, '*', '!', "fighter", 7, 1, sets); + This changes str into "fu-fighter is the same as foofighter". +*/ +{ + char *set; + int bufpos, strpos = 0, pos_1st_esc = -1, setsize, i, n_wc, n_matches = 0, + setindex = 0; + + for (bufpos = 0; bufpos < bufsize; bufpos++) + { + if (strpos == 0 && searchstr[0] != esc && searchstr[0] != wc) + while (bufpos < bufsize && searchstr[0] != buf[bufpos]) + bufpos++; + + // handle escape character in searchstr + while (searchstr[strpos] == esc && bufpos < bufsize) + { + if (strpos == pos_1st_esc) + setindex = 0; // reset argument pointer + if (pos_1st_esc == -1) + pos_1st_esc = strpos; + + set = sets[setindex].data; // get next set of characters + setsize = sets[setindex].size; // get set size + setindex++; + i = 0; + // see if buf[bufpos] matches with any character in current set + while (i < setsize && buf[bufpos] != set[i]) + i++; + if (i == setsize) + break; // buf[bufpos] didn't match with any char + + if (strpos == strsize - 1) // check if we are at the end of searchstr + { + memcpy (buf + bufpos + offset, newstr, newsize); + n_matches++; + break; + } + + strpos++; + bufpos++; + } + if (searchstr[strpos] == esc) + { + strpos = 0; + continue; + } + + // skip wildcards in searchstr + n_wc = 0; + while (searchstr[strpos] == wc && bufpos < bufsize) + { + if (strpos == strsize - 1) // check if at end of searchstr + { + memcpy (buf + bufpos + offset, newstr, newsize); + n_matches++; + break; + } + + strpos++; + bufpos++; + n_wc++; + } + if (bufpos == bufsize) + break; + if (searchstr[strpos] == wc) + { + strpos = 0; + continue; + } + + if (searchstr[strpos] == esc) + { + bufpos--; // current char has to be checked, but `for' + continue; // increments bufpos + } + + // no escape char, no wildcard -> normal character + if (searchstr[strpos] == buf[bufpos]) + { + if (strpos == strsize - 1) // check if at end of searchstr + { + memcpy (buf + bufpos + offset, newstr, newsize); + n_matches++; + strpos = 0; + } + else + strpos++; + } + else + { + bufpos -= n_wc; // scan the most recent wildcards too if + if (strpos > 0) // the character didn't match + { + bufpos--; // current char has to be checked, but `for' + strpos = 0; // increments bufpos + } + } + } + + return n_matches; +} + + +int +build_cm_patterns (st_cm_pattern_t **patterns, const char *filename, int verbose) +/* + This function goes a bit over the top what memory allocation technique + concerns, but at least it's stable. + Note the important difference between (*patterns)[0].n_sets and + patterns[0]->n_sets (not especially that member). I (dbjh) am too ashamed to + tell how long it took me to finally realise that... +*/ +{ + char src_name[FILENAME_MAX], line[MAXBUFSIZE], buffer[MAXBUFSIZE], + *token, *last, *ptr; + int line_num = 0, n_sets, n_codes = 0, n, currentsize1, requiredsize1, + currentsize2, requiredsize2, currentsize3, requiredsize3; + FILE *srcfile; + + strcpy (src_name, filename); + if (access (src_name, F_OK | R_OK)) + return -1; // NOT an error, it's optional + + if ((srcfile = fopen (src_name, "r")) == NULL) // open in text mode + { + fprintf (stderr, "ERROR: Can't open \"%s\" for reading\n", src_name); + return -1; + } + + *patterns = NULL; + currentsize1 = requiredsize1 = 0; + while (fgets (line, sizeof line, srcfile) != NULL) + { + line_num++; + n_sets = 0; + + ptr = line + strspn (line, "\t "); + if (*ptr == '#' || *ptr == '\n' || *ptr == '\r') + continue; + if ((ptr = strpbrk (line, "\n\r#"))) // text after # is comment + *ptr = 0; + + requiredsize1 += sizeof (st_cm_pattern_t); + if (requiredsize1 > currentsize1) + { + currentsize1 = requiredsize1 + 10 * sizeof (st_cm_pattern_t); + if (!(*patterns = (st_cm_pattern_t *) realloc (*patterns, currentsize1))) + { + fprintf (stderr, "ERROR: Not enough memory for buffer (%d bytes)\n", currentsize1); + return -1; + } + } + + (*patterns)[n_codes].search = NULL; + currentsize2 = 0; + requiredsize2 = 1; // for string terminator + n = 0; + strcpy (buffer, line); + token = strtok (buffer, ":"); + token = strtok (token, " "); +// printf ("token: \"%s\"\n", token); + last = token; + // token is never NULL here (yes, tested with empty files and such) + do + { + requiredsize2++; + if (requiredsize2 > currentsize2) + { + currentsize2 = requiredsize2 + 10; + if (!((*patterns)[n_codes].search = + (char *) realloc ((*patterns)[n_codes].search, currentsize2))) + { + fprintf (stderr, "ERROR: Not enough memory for buffer (%d bytes)\n", currentsize2); + free (*patterns); + *patterns = NULL; + return -1; + } + } + (*patterns)[n_codes].search[n] = (unsigned char) strtol (token, NULL, 16); + n++; + } + while ((token = strtok (NULL, " "))); + (*patterns)[n_codes].search_size = n; // size in bytes + + strcpy (buffer, line); + token = strtok (last, ":"); + token = strtok (NULL, ":"); + token = strtok (token, " "); + last = token; + if (!token) + { + printf ("WARNING: Line %d is invalid, no wildcard value is specified\n", + line_num); + continue; + } + (*patterns)[n_codes].wildcard = (char) strtol (token, NULL, 16); + + strcpy (buffer, line); + token = strtok (last, ":"); + token = strtok (NULL, ":"); + token = strtok (token, " "); + last = token; + if (!token) + { + printf ("WARNING: Line %d is invalid, no escape value is specified\n", + line_num); + continue; + } + (*patterns)[n_codes].escape = (char) strtol (token, NULL, 16); + + strcpy (buffer, line); + token = strtok (last, ":"); + token = strtok (NULL, ":"); + token = strtok (token, " "); + last = token; + if (!token) + { + printf ("WARNING: Line %d is invalid, no replacement is specified\n", line_num); + continue; + } + (*patterns)[n_codes].replace = NULL; + currentsize2 = 0; + requiredsize2 = 1; // for string terminator + n = 0; + do + { + requiredsize2++; + if (requiredsize2 > currentsize2) + { + currentsize2 = requiredsize2 + 10; + if (!((*patterns)[n_codes].replace = + (char *) realloc ((*patterns)[n_codes].replace, currentsize2))) + { + fprintf (stderr, "ERROR: Not enough memory for buffer (%d bytes)\n", currentsize2); + free ((*patterns)[n_codes].search); + free (*patterns); + *patterns = NULL; + return -1; + } + } + (*patterns)[n_codes].replace[n] = (unsigned char) strtol (token, NULL, 16); + n++; + } + while ((token = strtok (NULL, " "))); + (*patterns)[n_codes].replace_size = n; // size in bytes + + strcpy (buffer, line); + token = strtok (last, ":"); + token = strtok (NULL, ":"); + token = strtok (token, " "); + last = token; + if (!token) + { + printf ("WARNING: Line %d is invalid, no offset is specified\n", line_num); + continue; + } + (*patterns)[n_codes].offset = strtol (token, NULL, 10); // yes, offset is decimal + + if (verbose) + { + printf ("\n" + "line: %d\n" + "searchstring: ", + line_num); + for (n = 0; n < (*patterns)[n_codes].search_size; n++) + printf ("%02x ", (unsigned char) (*patterns)[n_codes].search[n]); + printf ("(%d)\n" + "wildcard: %02x\n" + "escape: %02x\n" + "replacement: ", + (*patterns)[n_codes].search_size, + (unsigned char) (*patterns)[n_codes].wildcard, + (unsigned char) (*patterns)[n_codes].escape); + for (n = 0; n < (*patterns)[n_codes].replace_size; n++) + printf ("%02x ", (unsigned char) (*patterns)[n_codes].replace[n]); + printf ("(%d)\n" + "offset: %d\n", + (*patterns)[n_codes].replace_size, + (*patterns)[n_codes].offset); + } + + (*patterns)[n_codes].sets = NULL; + currentsize2 = 0; + requiredsize2 = 1; // for string terminator + strcpy (buffer, line); + token = strtok (last, ":"); + token = strtok (NULL, ":"); + last = token; + while (token) + { + requiredsize2 += sizeof (st_cm_set_t); + if (requiredsize2 > currentsize2) + { + currentsize2 = requiredsize2 + 10 * sizeof (st_cm_set_t); + if (!((*patterns)[n_codes].sets = (st_cm_set_t *) + realloc ((*patterns)[n_codes].sets, currentsize2))) + { + fprintf (stderr, "ERROR: Not enough memory for buffer (%d bytes)\n", currentsize2); + free ((*patterns)[n_codes].replace); + free ((*patterns)[n_codes].search); + free (*patterns); + *patterns = NULL; + return -1; + } + } + + (*patterns)[n_codes].sets[n_sets].data = NULL; + currentsize3 = 0; + requiredsize3 = 1; // for string terminator + n = 0; + token = strtok (token, " "); + do + { + requiredsize3++; + if (requiredsize3 > currentsize3) + { + currentsize3 = requiredsize3 + 10; + if (!((*patterns)[n_codes].sets[n_sets].data = (char *) + realloc ((*patterns)[n_codes].sets[n_sets].data, currentsize3))) + { + fprintf (stderr, "ERROR: Not enough memory for buffer (%d bytes)\n", currentsize3); + free ((*patterns)[n_codes].sets); + free ((*patterns)[n_codes].replace); + free ((*patterns)[n_codes].search); + free (*patterns); + *patterns = NULL; + return -1; + } + } + (*patterns)[n_codes].sets[n_sets].data[n] = + (unsigned char) strtol (token, NULL, 16); + n++; + } + while ((token = strtok (NULL, " "))); + (*patterns)[n_codes].sets[n_sets].size = n; + + if (verbose) + { + printf ("set: "); + for (n = 0; n < (*patterns)[n_codes].sets[n_sets].size; n++) + printf ("%02x ", (unsigned char) (*patterns)[n_codes].sets[n_sets].data[n]); + printf ("(%d)\n", (*patterns)[n_codes].sets[n_sets].size); + } + + strcpy (buffer, line); + token = strtok (last, ":"); + token = strtok (NULL, ":"); + last = token; + + n_sets++; + } + (*patterns)[n_codes].n_sets = n_sets; + + n_codes++; + } + fclose (srcfile); + return n_codes; +} + + +void +cleanup_cm_patterns (st_cm_pattern_t **patterns, int n_patterns) +{ + int n, m; + for (n = 0; n < n_patterns; n++) + { + free ((*patterns)[n].search); + (*patterns)[n].search = NULL; + free ((*patterns)[n].replace); + (*patterns)[n].replace = NULL; + for (m = 0; m < (*patterns)[n].n_sets; m++) + { + free ((*patterns)[n].sets[m].data); + (*patterns)[n].sets[m].data = NULL; + } + free ((*patterns)[n].sets); + (*patterns)[n].sets = NULL; + } + free (*patterns); + *patterns = NULL; +} + + +int +gauge (time_t init_time, int pos, int size) +{ +#define GAUGE_LENGTH ((int64_t) 24) + + int curr, bps, left, p, percentage; + char progress[MAXBUFSIZE]; + + if (pos > size || !size) + return -1; + + if ((curr = time (0) - init_time) == 0) + curr = 1; // `round up' to at least 1 sec (no division + // by zero below) + bps = pos / curr; // # bytes/second (average transfer speed) + left = size - pos; + left /= bps ? bps : 1; + + p = (int) ((GAUGE_LENGTH * pos) / size); + *progress = 0; + strncat (progress, "========================", p); + + if (misc_ansi_color) + { + progress[p] = 0; + if (p < GAUGE_LENGTH) + strcat (progress, "\x1b[31;41m"); + } + + strncat (&progress[p], "------------------------", (int) (GAUGE_LENGTH - p)); + + percentage = (int) ((((int64_t) 100) * pos) / size); + + printf ( + misc_ansi_color ? "\r%10d Bytes [\x1b[32;42m%s\x1b[0m] %d%%, BPS=%d, " : + "\r%10d Bytes [%s] %d%%, BPS=%d, ", pos, progress, percentage, bps); + + if (pos == size) + printf ("TOTAL=%03d:%02d", curr / 60, curr % 60); // DON'T print a newline + else // -> gauge can be cleared + printf ("ETA=%03d:%02d ", left / 60, left % 60); + + fflush (stdout); + + return 0; +} + + +#ifdef __CYGWIN__ +/* + Weird problem with combination Cygwin uCON64 exe and cmd.exe (Bash is ok): + When a string with "e (e with diaeresis, one character) is read from an + environment variable, the character isn't the right character for accessing + the file system. We fix this. + TODO: fix the same problem for other non-ASCII characters (> 127). +*/ +char * +fix_character_set (char *str) +{ + int n, l = strlen (str); + unsigned char *ptr = (unsigned char *) str; + + for (n = 0; n < l; n++) + { + if (ptr[n] == 0x89) // e diaeresis + ptr[n] = 0xeb; + else if (ptr[n] == 0x84) // a diaeresis + ptr[n] = 0xe4; + else if (ptr[n] == 0x8b) // i diaeresis + ptr[n] = 0xef; + else if (ptr[n] == 0x94) // o diaeresis + ptr[n] = 0xf6; + else if (ptr[n] == 0x81) // u diaeresis + ptr[n] = 0xfc; + } + + return str; +} +#endif + + +char * +getenv2 (const char *variable) +/* + getenv() suitable for enviroments w/o HOME, TMP or TEMP variables. + The caller should copy the returned string to it's own memory, because this + function will overwrite that memory on the next call. + Note that this function never returns NULL. +*/ +{ + char *tmp; + static char value[MAXBUFSIZE]; +#if defined __CYGWIN__ || defined __MSDOS__ +/* + Under DOS and Windows the environment variables are not stored in a case + sensitive manner. The run-time systems of DJGPP and Cygwin act as if they are + stored in upper case. Their getenv() however *is* case sensitive. We fix this + by changing all characters of the search string (variable) to upper case. + + Note that under Cygwin's Bash environment variables *are* stored in a case + sensitive manner. +*/ + char tmp2[MAXBUFSIZE]; + + strcpy (tmp2, variable); + variable = strupr (tmp2); // DON'T copy the string into variable +#endif // (variable itself is local) + + *value = 0; + + if ((tmp = getenv (variable)) != NULL) + strcpy (value, tmp); + else + { + if (!strcmp (variable, "HOME")) + { + if ((tmp = getenv ("USERPROFILE")) != NULL) + strcpy (value, tmp); + else if ((tmp = getenv ("HOMEDRIVE")) != NULL) + { + strcpy (value, tmp); + tmp = getenv ("HOMEPATH"); + strcat (value, tmp ? tmp : FILE_SEPARATOR_S); + } + else + /* + Don't just use C:\\ under DOS, the user might not have write access + there (Windows NT DOS-box). Besides, it would make uCON64 behave + differently on DOS than on the other platforms. + Returning the current directory when none of the above environment + variables are set can be seen as a feature. A frontend could execute + uCON64 with an environment without any of the environment variables + set, so that the directory from where uCON64 starts will be used. + */ + { + char c; + getcwd (value, FILENAME_MAX); + c = toupper (*value); + // if current dir is root dir strip problematic ending slash (DJGPP) + if (c >= 'A' && c <= 'Z' && + value[1] == ':' && value[2] == '/' && value[3] == 0) + value[2] = 0; + } + } + + if (!strcmp (variable, "TEMP") || !strcmp (variable, "TMP")) + { +#if defined __MSDOS__ || defined __CYGWIN__ + /* + DJGPP and (yet another) Cygwin quirck + A trailing backslash is used to check for a directory. Normally + DJGPP's run-time system is able to handle forward slashes in paths, + but access() won't differentiate between files and dirs if a + forward slash is used. Cygwin's run-time system seems to handle + paths with forward slashes quite different from paths with + backslashes. This trick seems to work only if a backslash is used. + */ + if (access ("\\tmp\\", R_OK | W_OK) == 0) +#else + // trailing file separator to force it to be a directory + if (access (FILE_SEPARATOR_S"tmp"FILE_SEPARATOR_S, R_OK | W_OK) == 0) +#endif + strcpy (value, FILE_SEPARATOR_S"tmp"); + else + getcwd (value, FILENAME_MAX); + } + } + +#ifdef __CYGWIN__ + /* + Under certain circumstances Cygwin's run-time system returns "/" as value + of HOME while that var has not been set. To specify a root dir a path like + /cygdrive/ or simply a drive letter should be used. + */ + if (!strcmp (variable, "HOME") && !strcmp (value, "/")) + getcwd (value, FILENAME_MAX); + + return fix_character_set (value); +#else + return value; +#endif +} + + +char * +get_property (const char *filename, const char *propname, char *buffer, + const char *def) +{ + char line[MAXBUFSIZE], *p = NULL; + FILE *fh; + int prop_found = 0, i, whitespace_len; + + if ((fh = fopen (filename, "r")) != 0) // opening the file in text mode + { // avoids trouble under DOS + while (fgets (line, sizeof line, fh) != NULL) + { + whitespace_len = strspn (line, "\t "); + p = line + whitespace_len; // ignore leading whitespace + if (*p == '#' || *p == '\n' || *p == '\r') + continue; // text after # is comment + if ((p = strpbrk (line, "#\r\n"))) // strip *any* returns + *p = 0; + + p = strchr (line, PROPERTY_SEPARATOR); + // if no divider was found the propname must be a bool config entry + // (present or not present) + if (p) + *p = 0; // note that this "cuts" _line_ + // strip trailing whitespace from property name part of line + for (i = strlen (line) - 1; + i >= 0 && (line[i] == '\t' || line[i] == ' '); + i--) + ; + line[i + 1] = 0; + + if (!stricmp (line + whitespace_len, propname)) + { + if (p) + { + p++; + // strip leading whitespace from value + strcpy (buffer, p + strspn (p, "\t ")); + // strip trailing whitespace from value + for (i = strlen (buffer) - 1; + i >= 0 && (buffer[i] == '\t' || buffer[i] == ' '); + i--) + ; + buffer[i + 1] = 0; + } + prop_found = 1; + break; // an environment variable + } // might override this + } + fclose (fh); + } + + p = getenv2 (propname); + if (*p == 0) // getenv2() never returns NULL + { + if (!prop_found) + { + if (def) + strcpy (buffer, def); + else + buffer = NULL; // buffer won't be changed + } // after this func (=ok) + } + else + strcpy (buffer, p); + return buffer; +} + + +int32_t +get_property_int (const char *filename, const char *propname) +{ + char buf[160]; // 159 is enough for a *very* large number + int32_t value = 0; + + get_property (filename, propname, buf, NULL); + + if (buf[0]) + switch (tolower (buf[0])) + { + case '0': // 0 + case 'n': // [Nn]o + return 0; + } + + value = strtol (buf, NULL, 10); + return value ? value : 1; // if buf was only text like 'Yes' +} // we'll return at least 1 + + +char * +get_property_fname (const char *filename, const char *propname, char *buffer, + const char *def) +// get a filename from file with name filename, expand it and fix characters +{ + char tmp[FILENAME_MAX]; + + get_property (filename, propname, tmp, def); +#ifdef __CYGWIN__ + fix_character_set (tmp); +#endif + return realpath2 (tmp, buffer); +} + + +int +set_property (const char *filename, const char *propname, const char *value, + const char *comment) +{ + int found = 0, result = 0, file_size = 0, i; + char line[MAXBUFSIZE], line2[MAXBUFSIZE], *str = NULL, *p = NULL; + FILE *fh; + struct stat fstate; + + if (stat (filename, &fstate) != 0) + file_size = fstate.st_size; + + if (!(str = (char *) malloc ((file_size + MAXBUFSIZE) * sizeof (char)))) + { + errno = ENOMEM; + return -1; + } + *str = 0; + + if ((fh = fopen (filename, "r")) != 0) // opening the file in text mode + { // avoids trouble under DOS + while (fgets (line, sizeof line, fh) != NULL) + { + strcpy (line2, line); + if ((p = strpbrk (line2, PROPERTY_SEPARATOR_S "#\r\n"))) + *p = 0; // note that this "cuts" _line2_ + for (i = strlen (line2) - 1; + i >= 0 && (line2[i] == '\t' || line2[i] == ' '); + i--) + ; + line2[i + 1] = 0; + + if (!stricmp (line2 + strspn (line2, "\t "), propname)) + { + found = 1; + if (value == NULL) + continue; + + sprintf (line, "%s" PROPERTY_SEPARATOR_S "%s\n", propname, value); + } + strcat (str, line); + } + fclose (fh); + } + + if (!found && value) + { + if (comment) + { + strcat (str, PROPERTY_COMMENT_S "\n" PROPERTY_COMMENT_S " "); + + for (p = strchr (str, 0); *comment; comment++) + switch (*comment) + { + case '\r': + break; + case '\n': + strcat (str, "\n" PROPERTY_COMMENT_S " "); + break; + + default: + p = strchr (str, 0); + *p = *comment; + *(++p) = 0; + break; + } + + strcat (str, "\n" PROPERTY_COMMENT_S "\n"); + } + + sprintf (line, "%s" PROPERTY_SEPARATOR_S "%s\n", propname, value); + strcat (str, line); + } + + if ((fh = fopen (filename, "w")) == NULL) // open in text mode + return -1; + result = fwrite (str, 1, strlen (str), fh); + fclose (fh); + + return result; +} + + +char * +tmpnam2 (char *temp) +// tmpnam() clone +{ + char *p = getenv2 ("TEMP"); + static time_t init = 0; + + if (!init) + { + init = time (0); + srand (init); + } + + *temp = 0; + while (!(*temp) || !access (temp, F_OK)) // must work for files AND dirs + sprintf (temp, "%s%s%08x.tmp", p, FILE_SEPARATOR_S, rand()); + + return temp; +} + + +#if (defined __unix__ && !defined __MSDOS__) || defined __BEOS__ || \ + defined __APPLE__ // Mac OS X actually +static int oldtty_set = 0, stdin_tty = 1; // 1 => stdin is a tty, 0 => it's not +static tty_t oldtty, newtty; + + +void +set_tty (tty_t *param) +{ + if (stdin_tty && tcsetattr (STDIN_FILENO, TCSANOW, param) == -1) + { + fprintf (stderr, "ERROR: Could not set tty parameters\n"); + exit (100); + } +} + + +/* + This code compiles with DJGPP, but is not neccesary. Our kbhit() conflicts + with DJGPP's one, so it won't be used for that function. Perhaps it works + for making getchar() behave like getch(), but that's a bit pointless. +*/ +void +init_conio (void) +{ + if (!isatty (STDIN_FILENO)) + { + stdin_tty = 0; + return; // rest is nonsense if not a tty + } + + if (tcgetattr (STDIN_FILENO, &oldtty) == -1) + { + fprintf (stderr, "ERROR: Could not get tty parameters\n"); + exit (101); + } + oldtty_set = 1; + + if (register_func (deinit_conio) == -1) + { + fprintf (stderr, "ERROR: Could not register function with register_func()\n"); + exit (102); + } + + newtty = oldtty; + newtty.c_lflag &= ~(ICANON | ECHO); + newtty.c_lflag |= ISIG; + newtty.c_cc[VMIN] = 1; // if VMIN != 0, read calls + newtty.c_cc[VTIME] = 0; // block (wait for input) + + set_tty (&newtty); +} + + +void +deinit_conio (void) +{ + if (oldtty_set) + { + tcsetattr (STDIN_FILENO, TCSAFLUSH, &oldtty); + oldtty_set = 0; + } +} + + +#if defined __CYGWIN__ && !defined USE_POLL +#warning kbhit() does not work properly in Cygwin executable if USE_POLL is not defined +#endif +// this kbhit() conflicts with DJGPP's one +int +kbhit (void) +{ +#ifdef USE_POLL + struct pollfd fd; + + fd.fd = STDIN_FILENO; + fd.events = POLLIN; + fd.revents = 0; + + return poll (&fd, 1, 0) > 0; +#else + tty_t tmptty = newtty; + int ch, key_pressed; + + tmptty.c_cc[VMIN] = 0; // doesn't work as expected under + set_tty (&tmptty); // Cygwin (define USE_POLL) + + if ((ch = fgetc (stdin)) != EOF) + { + key_pressed = 1; + ungetc (ch, stdin); + } + else + key_pressed = 0; + + set_tty (&newtty); + + return key_pressed; +#endif +} +#elif defined AMIGA // (__unix__ && !__MSDOS__) || +int // __BEOS__ ||__APPLE__ +kbhit (void) +{ + return GetKey () != 0xff ? 1 : 0; +} + + +int +getch (void) +{ + BPTR con_fileh; + int temp; + + con_fileh = Input (); + // put the console into RAW mode which makes getchar() behave like getch()? + if (con_fileh) + SetMode (con_fileh, 1); + temp = getchar (); + // put the console out of RAW mode (might make sense) + if (con_fileh) + SetMode (con_fileh, 0); + + return temp; +} +#endif // AMIGA + + +#if defined __unix__ && !defined __MSDOS__ +int +drop_privileges (void) +{ + uid_t uid; + gid_t gid; + + uid = getuid (); + if (setuid (uid) == -1) + { + fprintf (stderr, "ERROR: Could not set uid\n"); + return 1; + } + gid = getgid (); // This shouldn't be necessary + if (setgid (gid) == -1) // if `make install' was + { // used, but just in case + fprintf (stderr, "ERROR: Could not set gid\n"); // (root did `chmod +s') + return 1; + } + + return 0; +} +#endif + + +int +register_func (void (*func) (void)) +{ + st_func_node_t *func_node = &func_list, *new_node; + + while (func_node->next != NULL) + func_node = func_node->next; + + if ((new_node = (st_func_node_t *) malloc (sizeof (st_func_node_t))) == NULL) + return -1; + + new_node->func = func; + new_node->next = NULL; + func_node->next = new_node; + return 0; +} + + +int +unregister_func (void (*func) (void)) +{ + st_func_node_t *func_node = &func_list, *prev_node = &func_list; + + while (func_node->next != NULL && func_node->func != func) + { + prev_node = func_node; + func_node = func_node->next; + } + if (func_node->func != func) + return -1; + + if (!func_list_locked) + { + prev_node->next = func_node->next; + free (func_node); + return 0; + } + else + return -1; +} + + +void +handle_registered_funcs (void) +{ + st_func_node_t *func_node = &func_list; + + func_list_locked = 1; + while (func_node->next != NULL) + { + func_node = func_node->next; // first node contains no valid address + if (func_node->func != NULL) + func_node->func (); + } + func_list_locked = 0; +} + + +#ifndef HAVE_BYTESWAP_H +uint16_t +bswap_16 (uint16_t x) +{ +#if 1 + uint8_t *ptr = (uint8_t *) &x, tmp; + tmp = ptr[0]; + ptr[0] = ptr[1]; + ptr[1] = tmp; + return x; +#else + return (((x) & 0x00ff) << 8 | ((x) & 0xff00) >> 8); +#endif +} + + +uint32_t +bswap_32 (uint32_t x) +{ +#if 1 + uint8_t *ptr = (uint8_t *) &x, tmp; + tmp = ptr[0]; + ptr[0] = ptr[3]; + ptr[3] = tmp; + tmp = ptr[1]; + ptr[1] = ptr[2]; + ptr[2] = tmp; + return x; +#else + return ((((x) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) | + (((x) & 0x0000ff00) << 8) | (((x) & 0x000000ff) << 24)); +#endif +} + + +uint64_t +bswap_64 (uint64_t x) +{ + uint8_t *ptr = (uint8_t *) &x, tmp; + tmp = ptr[0]; + ptr[0] = ptr[7]; + ptr[7] = tmp; + tmp = ptr[1]; + ptr[1] = ptr[6]; + ptr[6] = tmp; + tmp = ptr[2]; + ptr[2] = ptr[5]; + ptr[5] = tmp; + tmp = ptr[3]; + ptr[3] = ptr[4]; + ptr[4] = tmp; + return x; +} +#endif // #ifndef HAVE_BYTESWAP_H + + +void +wait2 (int nmillis) +{ +#ifdef __MSDOS__ + delay (nmillis); +#elif defined __unix__ || defined __APPLE__ // Mac OS X actually + usleep (nmillis * 1000); +#elif defined __BEOS__ + snooze (nmillis * 1000); +#elif defined AMIGA + Delay (nmillis * 1000); +#elif defined _WIN32 + Sleep (nmillis); +#else +#ifdef __GNUC__ +#warning Please provide a wait2() implementation +#else +#pragma message ("Please provide a wait2() implementation") +#endif + volatile int n; + for (n = 0; n < nmillis * 65536; n++) + ; +#endif +} + + +char * +q_fbackup (const char *filename, int mode) +{ + static char buf[FILENAME_MAX]; + + if (access (filename, R_OK) != 0) + return (char *) filename; + + strcpy (buf, filename); + set_suffix (buf, ".BAK"); + if (strcmp (filename, buf) != 0) + { + remove (buf); // *try* to remove or rename() will fail + if (rename (filename, buf)) // keep file attributes like date, etc. + { + fprintf (stderr, "ERROR: Can't rename \"%s\" to \"%s\"\n", filename, buf); + exit (1); + } + } + else // handle the case where filename has the suffix ".BAK". + { + char *dir = dirname2 (filename), buf2[FILENAME_MAX]; + + if (dir == NULL) + { + fprintf (stderr, "INTERNAL ERROR: dirname2() returned NULL\n"); + exit (1); + } + strcpy (buf, dir); + if (buf[0] != 0) + if (buf[strlen (buf) - 1] != FILE_SEPARATOR) + strcat (buf, FILE_SEPARATOR_S); + + strcat (buf, basename2 (tmpnam2 (buf2))); + if (rename (filename, buf)) + { + fprintf (stderr, "ERROR: Can't rename \"%s\" to \"%s\"\n", filename, buf); + exit (1); + } + free (dir); + } + + switch (mode) + { + case BAK_MOVE: + return buf; + + case BAK_DUPE: + default: + if (q_fcpy (buf, 0, q_fsize (buf), filename, "wb")) + { + fprintf (stderr, "ERROR: Can't open \"%s\" for writing\n", filename); + exit (1); + } + sync (); + return buf; + } +} + + +int +q_fcpy (const char *src, int start, int len, const char *dest, const char *mode) +{ + int seg_len; + char buf[MAXBUFSIZE]; + FILE *fh, *fh2; + + if (one_file (dest, src)) // other code depends on this + return -1; // behaviour! + + if (!(fh = fopen (src, "rb"))) + { + errno = ENOENT; + return -1; + } + if (!(fh2 = fopen (dest, mode))) + { + errno = ENOENT; + fclose (fh); + return -1; + } + + fseek (fh, start, SEEK_SET); + fseek (fh2, 0, SEEK_END); + + for (; len > 0; len -= seg_len) + { + if (!(seg_len = fread (buf, 1, MIN (len, MAXBUFSIZE), fh))) + break; + fwrite (buf, 1, seg_len, fh2); + } + + fclose (fh); + fclose (fh2); + sync (); + return 0; +} + + +int +q_rfcpy (const char *src, const char *dest) +// Raw file copy function. Raw, because it will copy the file data as it is, +// unlike q_fcpy() +{ +#ifdef USE_ZLIB +#undef fopen +#undef fread +#undef fwrite +#undef fclose +#endif + FILE *fh, *fh2; + int seg_len; + char buf[MAXBUFSIZE]; + + if (one_file (dest, src)) + return -1; + + if (!(fh = fopen (src, "rb"))) + return -1; + if (!(fh2 = fopen (dest, "wb"))) + { + fclose (fh); + return -1; + } + while ((seg_len = fread (buf, 1, MAXBUFSIZE, fh))) + fwrite (buf, 1, seg_len, fh2); + + fclose (fh); + fclose (fh2); + return 0; +#ifdef USE_ZLIB +#define fopen fopen2 +#define fread fread2 +#define fwrite fwrite2 +#define fclose fclose2 +#endif +} + + +int +q_fswap (const char *filename, int start, int len, swap_t type) +{ + int seg_len; + FILE *fh; + char buf[MAXBUFSIZE]; + struct stat fstate; + + // First (try to) change the file mode or we won't be able to write to it if + // it's a read-only file. + stat (filename, &fstate); + if (chmod (filename, fstate.st_mode | S_IWUSR)) + { + errno = EACCES; + return -1; + } + + if (!(fh = fopen (filename, "r+b"))) + { + errno = ENOENT; + return -1; + } + + fseek (fh, start, SEEK_SET); + + for (; len > 0; len -= seg_len) + { + if (!(seg_len = fread (buf, 1, MIN (len, MAXBUFSIZE), fh))) + break; + if (type == SWAP_BYTE) + mem_swap_b (buf, seg_len); + else // SWAP_WORD + mem_swap_w (buf, seg_len); + fseek (fh, -seg_len, SEEK_CUR); + fwrite (buf, 1, seg_len, fh); + /* + This appears to be a bug in DJGPP and Solaris. Without an extra call to + fseek() a part of the file won't be swapped (DJGPP: after 8 MB, Solaris: + after 12 MB). + */ + fseek (fh, 0, SEEK_CUR); + } + + fclose (fh); + sync (); + return 0; +} + + +int +q_fncmp (const char *filename, int start, int len, const char *search, + int searchlen, int wildcard) +{ +#define BUFSIZE 8192 + char buf[BUFSIZE]; + FILE *fh; + int seglen, maxsearchlen, searchpos, filepos = 0, matchlen = 0; + + if (!(fh = fopen (filename, "rb"))) + { + errno = ENOENT; + return -1; + } + fseek (fh, start, SEEK_SET); + filepos = start; + + while ((seglen = fread (buf, 1, BUFSIZE + filepos > start + len ? + start + len - filepos : BUFSIZE, fh))) + { + maxsearchlen = searchlen - matchlen; + for (searchpos = 0; searchpos <= seglen; searchpos++) + { + if (searchpos + maxsearchlen >= seglen) + maxsearchlen = seglen - searchpos; + if (!memwcmp (buf + searchpos, search + matchlen, maxsearchlen, wildcard)) + { + if (matchlen + maxsearchlen < searchlen) + { + matchlen += maxsearchlen; + break; + } + else + { + fclose (fh); + return filepos + searchpos - matchlen; + } + } + else + matchlen = 0; + } + filepos += seglen; + } + + fclose (fh); + return -1; +} + + +int +quick_io (void *buffer, size_t start, size_t len, const char *filename, + const char *mode) +{ + int result; + FILE *fh; + + if ((fh = fopen (filename, (const char *) mode)) == NULL) + { +#ifdef DEBUG + fprintf (stderr, "ERROR: Could not open \"%s\" in mode \"%s\"\n" + "CAUSE: %s\n", filename, mode, strerror (errno)); +#endif + return -1; + } + +#ifdef DEBUG + fprintf (stderr, "\"%s\": \"%s\"\n", filename, (char *) mode); +#endif + + fseek (fh, start, SEEK_SET); + + // Note the order of arguments of fread() and fwrite(). Now quick_io() + // returns the number of characters read or written. Some code relies on + // this behaviour! + if (*mode == 'r' && mode[1] != '+') // "r+b" always writes + result = (int) fread (buffer, 1, len, fh); + else + result = (int) fwrite (buffer, 1, len, fh); + + fclose (fh); + return result; +} + + +int +quick_io_c (int value, size_t start, const char *filename, const char *mode) +{ + int result; + FILE *fh; + + if ((fh = fopen (filename, (const char *) mode)) == NULL) + { +#ifdef DEBUG + fprintf (stderr, "ERROR: Could not open \"%s\" in mode \"%s\"\n" + "CAUSE: %s\n", filename, mode, strerror (errno)); +#endif + return -1; + } + +#ifdef DEBUG + fprintf (stderr, "\"%s\": \"%s\"\n", filename, (char *) mode); +#endif + + fseek (fh, start, SEEK_SET); + + if (*mode == 'r' && mode[1] != '+') // "r+b" always writes + result = fgetc (fh); + else + result = fputc (value, fh); + + fclose (fh); + return result; +} + + +#if 0 +int +process_file (const char *src, int start, int len, const char *dest, const char *mode, int (*func) (char *, int)) +{ + int seg_len; + char buf[MAXBUFSIZE]; + FILE *fh, *fh2; + + if (one_file (dest, src)) + return -1; + + if (!(fh = fopen (src, "rb"))) + { + errno = ENOENT; + return -1; + } + if (!(fh2 = fopen (dest, mode))) + { + errno = ENOENT; + fclose (fh); + return -1; + } + + fseek (fh, start, SEEK_SET); + fseek (fh2, 0, SEEK_END); + + for (; len > 0; len -= seg_len) + { + if (!(seg_len = fread (buf, 1, MIN (len, MAXBUFSIZE), fh))) + break; + func (buf, seg_len); + fwrite (buf, 1, seg_len, fh2); + } + + fclose (fh); + fclose (fh2); + sync (); + return 0; +} +#endif + + +int +strarg (char **argv, char *str, const char *separator_s, int max_args) +{ +#ifdef DEBUG + int pos = 0; +#endif + int argc = 0; + + if (!str) + return 0; + if (!*str) + return 0; + + for (; (argv[argc] = (char *) strtok (!argc ? str : NULL, separator_s)) && + (argc < (max_args - 1)); argc++) + ; + +#ifdef DEBUG + fprintf (stderr, "argc: %d\n", argc); + for (pos = 0; pos < argc; pos++) + fprintf (stderr, "argv[%d]: %s\n", pos, argv[pos]); + + fflush (stderr); +#endif + + return argc; +} + + +#ifdef _WIN32 +int +truncate (const char *path, off_t size) +{ + int retval; + HANDLE file = CreateFile (path, GENERIC_WRITE, FILE_SHARE_READ, NULL, + OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); + if (file == INVALID_HANDLE_VALUE) + return -1; + + SetFilePointer (file, size, 0, FILE_BEGIN); + retval = SetEndOfFile (file); // returns nonzero on success + CloseHandle (file); + + return retval ? 0 : -1; // truncate() returns zero on success +} + + +int +sync (void) +{ + _commit (fileno (stdout)); + _commit (fileno (stderr)); + fflush (NULL); // flushes all streams opened for output + return 0; +} + + +#if defined __MINGW32__ && defined DLL +// Ugly hack in order to fix something in zlib (yep, it's that bad) +FILE * +fdopen (int fd, const char *mode) +{ + return _fdopen (fd, mode); +} +#endif + + +#elif defined AMIGA // _WIN32 +int +truncate (const char *path, off_t size) +{ + BPTR fh; + ULONG newsize; + + if (!(fh = Open (path, MODE_OLDFILE))) + return -1; + + newsize = SetFileSize (fh, size, OFFSET_BEGINNING); + Close (fh); + + return newsize == (ULONG) size ? 0 : -1; // truncate() returns zero on success +} + + +int +chmod (const char *path, mode_t mode) +{ + if (!SetProtection ((STRPTR) path, + ((mode & S_IRUSR ? 0 : FIBF_READ) | + (mode & S_IWUSR ? 0 : FIBF_WRITE | FIBF_DELETE) | + (mode & S_IXUSR ? 0 : FIBF_EXECUTE) | + (mode & S_IRGRP ? FIBF_GRP_READ : 0) | + (mode & S_IWGRP ? FIBF_GRP_WRITE | FIBF_GRP_DELETE : 0) | + (mode & S_IXGRP ? FIBF_GRP_EXECUTE : 0) | + (mode & S_IROTH ? FIBF_OTR_READ : 0) | + (mode & S_IWOTH ? FIBF_OTR_WRITE | FIBF_OTR_DELETE : 0) | + (mode & S_IXOTH ? FIBF_OTR_EXECUTE : 0)))) + return -1; + else + return 0; +} + + +void +sync (void) +{ +} + + +int +readlink (const char *path, char *buf, int bufsize) +{ + (void) path; // warning remover + (void) buf; // idem + (void) bufsize; // idem + // always return -1 as if anything passed to it isn't a soft link + return -1; +} + + +// custom _popen() and _pclose(), because the standard ones (named popen() and +// pclose()) are buggy +FILE * +_popen (const char *path, const char *mode) +{ + int fd; + BPTR fh; + long fhflags; + char *apipe = malloc (strlen (path) + 7); + + if (!apipe) + return NULL; + + strcpy (apipe, "APIPE:"); + strcat (apipe, path); + + if (*mode == 'w') + fhflags = MODE_NEWFILE; + else + fhflags = MODE_OLDFILE; + + if (!(fh = Open (apipe, fhflags))) + return NULL; + + return fdopen (fd, mode); +} + + +int +_pclose (FILE *stream) +{ + return fclose (stream); +} +#endif // AMIGA diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/misc.h b/tools/ucon64-2.0.0-src/src/libdiscmage/misc.h new file mode 100644 index 0000000..e030f4b --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/misc.h @@ -0,0 +1,617 @@ +/* +misc.h - miscellaneous functions + +Copyright (c) 1999 - 2004 NoisyB +Copyright (c) 2001 - 2004 dbjh +Copyright (c) 2002 - 2004 Jan-Erik Karlsson (Amiga code) + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef MISC_H +#define MISC_H + +#ifdef HAVE_CONFIG_H +#include "config.h" // USE_ZLIB, USE_ANSI_COLOR support +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include // gauge() prototype contains time_t +#include +#ifdef USE_ZLIB +#include "misc_z.h" +#endif // USE_ZLIB + + +#ifdef __sun +#ifdef __SVR4 +#define __solaris__ +#endif +#endif + +#ifdef HAVE_INTTYPES_H +#include +#else // __MSDOS__, _WIN32 (VC++) +#ifndef OWN_INTTYPES +#define OWN_INTTYPES // signal that these are defined +typedef unsigned char uint8_t; +typedef unsigned short int uint16_t; +typedef unsigned int uint32_t; +#ifndef _WIN32 +typedef unsigned long long int uint64_t; +#else +typedef unsigned __int64 uint64_t; +#endif +typedef signed char int8_t; +typedef signed short int int16_t; +typedef signed int int32_t; +#ifndef _WIN32 +typedef signed long long int int64_t; +#else +typedef signed __int64 int64_t; +#endif +#endif // OWN_INTTYPES +#endif + +#if (defined __unix__ && !defined __MSDOS__) || defined __BEOS__ || \ + defined AMIGA || defined __APPLE__ // Mac OS X actually +// GNU/Linux, Solaris, FreeBSD, Cygwin, BeOS, Amiga, Mac (OS X) +#define FILE_SEPARATOR '/' +#define FILE_SEPARATOR_S "/" +#else // DJGPP, Win32 +#define FILE_SEPARATOR '\\' +#define FILE_SEPARATOR_S "\\" +#endif + +#ifndef MAXBUFSIZE +#define MAXBUFSIZE 32768 +#endif // MAXBUFSIZE + +#ifndef ARGS_MAX +#define ARGS_MAX 128 +#endif // ARGS_MAX + +#if (!defined TRUE || !defined FALSE) +#define FALSE 0 +#define TRUE (!FALSE) +#endif + +#ifndef MIN +#define MIN(a,b) ((a)<(b)?(a):(b)) +#endif +#ifndef MAX +#define MAX(a,b) ((a)>(b)?(a):(b)) +#endif +#define LIB_VERSION(ver, rel, seq) (((ver) << 16) | ((rel) << 8) | (seq)) +#define NULL_TO_EMPTY(str) ((str) ? (str) : ("")) +//#define RANDOM(min, max) ((rand () % (max - min)) + min) +#define OFFSET(a, offset) ((((unsigned char *)&(a))+(offset))[0]) + +#ifdef WORDS_BIGENDIAN +#undef WORDS_BIGENDIAN +#endif + +#if defined _LIBC || defined __GLIBC__ + #include + #if __BYTE_ORDER == __BIG_ENDIAN + #define WORDS_BIGENDIAN 1 + #endif +#elif defined AMIGA || defined __sparc__ || defined __BIG_ENDIAN__ || \ + defined __APPLE__ + #define WORDS_BIGENDIAN 1 +#endif + +#ifdef __MSDOS__ // __MSDOS__ must come before __unix__, + #define CURRENT_OS_S "MSDOS" // because DJGPP defines both +#elif defined __unix__ + #ifdef __CYGWIN__ + #define CURRENT_OS_S "Win32 (Cygwin)" + #elif defined __FreeBSD__ + #define CURRENT_OS_S "Unix (FreeBSD)" + #elif defined __OpenBSD__ + #define CURRENT_OS_S "Unix (OpenBSD)" + #elif defined __linux__ + #define CURRENT_OS_S "Unix (Linux)" + #elif defined __solaris__ + #ifdef __sparc__ + #define CURRENT_OS_S "Unix (Solaris/Sparc)" + #else + #define CURRENT_OS_S "Unix (Solaris/i386)" + #endif + #else + #define CURRENT_OS_S "Unix" + #endif +#elif defined _WIN32 + #ifdef __MINGW32__ + #define CURRENT_OS_S "Win32 (MinGW)" + #else + #define CURRENT_OS_S "Win32 (Visual C++)" + #endif +#elif defined __APPLE__ + #if defined __POWERPC__ || defined __ppc__ + #define CURRENT_OS_S "Apple (PPC)" + #else + #define CURRENT_OS_S "Apple" + #endif +#elif defined __BEOS__ + #define CURRENT_OS_S "BeOS" +#elif defined AMIGA + #if defined __PPC__ + #define CURRENT_OS_S "Amiga (PPC)" + #else + #define CURRENT_OS_S "Amiga (68K)" + #endif +#else + #define CURRENT_OS_S "?" +#endif + + +/* + mem functions + + memwcmp() memcmp with wildcard support + mem_search() search for a byte sequence + mem_swap_b() swap n bytes of buffer + mem_swap_w() swap n/2 words of buffer + mem_hexdump() hexdump n bytes of buffer; you can use here a virtual_start for the displayed counter +*/ +#ifdef HAVE_BYTESWAP_H +#include +#else +extern uint16_t bswap_16 (uint16_t x); +extern uint32_t bswap_32 (uint32_t x); +extern uint64_t bswap_64 (uint64_t x); +#endif +#ifdef WORDS_BIGENDIAN +#define me2be_16(x) (x) +#define me2be_32(x) (x) +#define me2be_64(x) (x) +#define me2le_16(x) (bswap_16(x)) +#define me2le_32(x) (bswap_32(x)) +#define me2le_64(x) (bswap_64(x)) +#define be2me_16(x) (x) +#define be2me_32(x) (x) +#define be2me_64(x) (x) +#define le2me_16(x) (bswap_16(x)) +#define le2me_32(x) (bswap_32(x)) +#define le2me_64(x) (bswap_64(x)) +#else +#define me2be_16(x) (bswap_16(x)) +#define me2be_32(x) (bswap_32(x)) +#define me2be_64(x) (bswap_64(x)) +#define me2le_16(x) (x) +#define me2le_32(x) (x) +#define me2le_64(x) (x) +#define be2me_16(x) (bswap_16(x)) +#define be2me_32(x) (bswap_32(x)) +#define be2me_64(x) (bswap_64(x)) +#define le2me_16(x) (x) +#define le2me_32(x) (x) +#define le2me_64(x) (x) +#endif +extern int memwcmp (const void *buffer, const void *search, uint32_t searchlen, int wildcard); +extern void *mem_search (const void *buffer, uint32_t buflen, const void *search, uint32_t searchlen); +extern void *mem_swap_b (void *buffer, uint32_t n); +extern void *mem_swap_w (void *buffer, uint32_t n); +extern void mem_hexdump (const void *buffer, uint32_t n, int virtual_start); + + +/* + String manipulation + + isfname() test if char could be used for filenames + isprint2() test if char could be used for stdout + tofname() replaces chars that can not be used for filenames + toprint2() replaces chars that should not be used for stdout + + is_func() use all is*() functions on an array of char + to_func() use all to*() functions on an array of char + + strtrim() trim isspace()'s from start and end of string + strncpy2() a safer strncpy that DOES terminate a string + + is_upper2() wrapper for is_upper() (DAMN stupid programmers!) + set_suffix() set/replace suffix of filename with suffix + suffix means in this case the suffix INCLUDING the dot '.' + set_suffix_i() like set_suffix(), but doesn't change the case + get_suffix() get suffix of filename + + basename2() DJGPP basename() clone + dirname2() DJGPP dirname() clone + realpath2() realpath() replacement + one_file() returns 1 if two filenames refer to one file, otherwise it + returns 0 + one_filesystem() returns 1 if two filenames refer to files on one file + system, otherwise it returns 0 + mkdir2() mkdir() wrapper who automatically cares for rights, etc. + rename2() renames oldname to newname even if oldname and newname are not + on one file system + truncate2() don't use truncate() to enlarge files, because the result is + undefined (by POSIX) use truncate2() instead which does both + strarg() break a string into tokens +*/ +extern int isfname (int c); +extern int isprint2 (int c); +extern int tofname (int c); +extern int toprint2 (int c); +extern int is_func (char *s, int size, int (*func) (int)); +extern char *to_func (char *s, int size, int (*func) (int)); +#define strupr(s) (to_func(s, strlen(s), toupper)) +#define strlwr(s) (to_func(s, strlen(s), tolower)) +//#ifndef HAVE_STRCASESTR +// strcasestr is GNU only +extern char *strcasestr2 (const char *str, const char *search); +#define stristr strcasestr2 +//#else +//#define stristr strcasestr +//#endif +#ifndef _WIN32 +#define stricmp strcasecmp +#define strnicmp strncasecmp +#endif +extern char *strtrim (char *str); +extern char *strncpy2 (char *dest, const char *src, size_t size); +extern int isupper2 (int c); +extern char *set_suffix (char *filename, const char *suffix); +extern char *set_suffix_i (char *filename, const char *suffix); +extern const char *get_suffix (const char *filename); +extern char *basename2 (const char *path); +// override a possible XPG basename() which modifies its arg +#define basename basename2 +extern char *dirname2 (const char *path); +#define dirname dirname2 +extern int one_file (const char *filename1, const char *filename2); +extern int one_filesystem (const char *filename1, const char *filename2); +extern char *realpath2 (const char *src, char *full_path); +extern int mkdir2 (const char *name); +extern int rename2 (const char *oldname, const char *newname); +extern int truncate2 (const char *filename, int size); +extern int strarg (char **argv, char *str, const char *separator_s, int max_args); + + +/* + Misc stuff + + change_mem{2}() see header of implementation for usage + build_cm_patterns() helper function for change_mem2() to read search patterns + from a file + cleanup_cm_patterns() helper function for build_cm_patterns() to free all + memory allocated for a (list of) st_pattern_t structure(s) + clear_line () clear the current line (79 spaces) + ansi_init() initialize ANSI output + ansi_strip() strip ANSI codes from a string + gauge() init_time == time when gauge() was first started or when + the transfer started + pos == current position + size == full size + gauge given these three values will calculate many + informative things like time, status bar, cps, etc. + it can be used for procedures which take some time to + inform the user about the actual progress + getenv2() getenv() clone for enviroments w/o HOME, TMP or TEMP variables + tmpnam2() replacement for tmpnam() temp must have the size of FILENAME_MAX + renlwr() renames all files tolower() + drop_privileges() switch to the real user and group id (leave "root mode") + register_func() atexit() replacement + returns -1 if it fails, 0 if it was successful + unregister_func() unregisters a previously registered function + returns -1 if it fails, 0 if it was successful + handle_registered_funcs() calls all the registered functions + wait2 wait (sleep) a specified number of milliseconds +*/ +typedef struct st_cm_set +{ + char *data; + int size; +} st_cm_set_t; + +typedef struct st_cm_pattern +{ + char *search, wildcard, escape, *replace; + int search_size, replace_size, offset, n_sets; + st_cm_set_t *sets; +} st_cm_pattern_t; + +extern int change_mem (char *buf, int bufsize, char *searchstr, int strsize, + char wc, char esc, char *newstr, int newsize, int offset, ...); +extern int change_mem2 (char *buf, int bufsize, char *searchstr, int strsize, + char wc, char esc, char *newstr, int newsize, + int offset, st_cm_set_t *sets); +extern int build_cm_patterns (st_cm_pattern_t **patterns, const char *filename, int verbose); +extern void cleanup_cm_patterns (st_cm_pattern_t **patterns, int n_patterns); + +extern void clear_line (void); +extern int ansi_init (void); +extern char *ansi_strip (char *str); +extern int gauge (time_t init_time, int pos, int size); +extern char *getenv2 (const char *variable); +extern char *tmpnam2 (char *temp); +//extern int renlwr (const char *path); +#if defined __unix__ && !defined __MSDOS__ +extern int drop_privileges (void); +#endif +extern int register_func (void (*func) (void)); +extern int unregister_func (void (*func) (void)); +extern void handle_registered_funcs (void); +extern void wait2 (int nmillis); + + +/* + Extended getopt(), usage and workflow handling + + getopt2_usage() a renderer for a nice usage output + takes an st_getopt2_t array + getop2_parse_usage() parse usage output into st_getopt2_t + array (for development) + getopt2_long() turn st_getopt2_t into struct option for getopt1() + getopt2_short() turn st_getopt2_t shortoptions string for getopt1() + + getopt2_get_index_by_val() +*/ +#include "getopt.h" // getopt2 needs struct option from getopt1 + +#define OPTION '-' +#define OPTION_S "-" +#define OPTION_LONG_S "--" +#define OPTARG '=' +#define OPTARG_S "=" + +typedef struct +{ + const char *name; // see getopt() + int has_arg; // see getopt() + int *flag; // see getopt() + int val; // see getopt() + const char *arg_name; // name of the options arg as it should be + // displayed in the --help output + // "--name=arg_name" if has_arg == 1 + // "--name[=arg_name]" if has_arg == 2 + const char *help; // --help, -h, -? output for the current option + void *object; // could be used for workflow objects +} st_getopt2_t; + +extern void getopt2_usage (const st_getopt2_t *option); +#ifdef DEBUG +extern void getopt2_parse_usage (const char *usage_output); +#endif +extern int getopt2_long (struct option *long_option, const st_getopt2_t *option, int n); +extern int getopt2_short (char *short_option, const st_getopt2_t *option, int n); +extern const st_getopt2_t *getopt2_get_index_by_val (const st_getopt2_t *option, int val); + + +/* + Quick I/O + + mode + "r", "rb", "w", "wb", "a", "ab" + + quick_io_c() returns byte read or fputc()'s status + quick_io() returns number of bytes read or written + + Macros + + q_fread() same as fread but takes start and src is a filename + q_fwrite() same as fwrite but takes start and dest is a filename; mode + is the same as fopen() modes + q_fgetc() same as fgetc but takes filename instead of FILE and a pos + q_fputc() same as fputc but takes filename instead of FILE and a pos + b,s,l,f,m == buffer,start,len,filename,mode + + Misc + + q_fncmp() search in filename from start len bytes for the first appearance + of search which has searchlen + wildcard could be one character or -1 (wildcard off) + q_fcpy() copy src from start for len to dest with mode (fopen(..., mode)) + q_rfcpy() copy src to dest without looking at the file data (no + decompression like with q_fcpy()) + q_fswap() swap len bytes of file starting from start + q_fbackup() + + modes + + BAK_DUPE (default) + rename file to keep attributes and copy it back to old name and return + new name + + filename -> rename() -> buf -> f_cpy() -> filename -> return buf + + BAK_MOVE + just rename file and return new name (static) + + filename -> rename() -> buf -> return buf +*/ +extern int quick_io (void *buffer, size_t start, size_t len, const char *fname, const char *mode); +extern int quick_io_c (int value, size_t start, const char *fname, const char *mode); +#define q_fread(b,s,l,f) (quick_io(b,s,l,f,"rb")) +#define q_fwrite(b,s,l,f,m) (quick_io((void *)b,s,l,f,m)) +#define q_fgetc(f,s) (quick_io_c(0,s,f,"rb")) +#define q_fputc(f,s,b,m) (quick_io_c(b,s,f,m)) +typedef enum { SWAP_BYTE, SWAP_WORD } swap_t; + +extern int q_fncmp (const char *filename, int start, int len, + const char *search, int searchlen, int wildcard); +extern int q_fcpy (const char *src, int start, int len, const char *dest, const char *mode); +extern int q_rfcpy (const char *src, const char *dest); +extern int q_fswap (const char *filename, int start, int len, swap_t type); +#define q_fswap_b(f, s, l) q_fswap(f, s, l, SWAP_BYTE) +#define q_fswap_w(f, s, l) q_fswap(f, s, l, SWAP_WORD) +#if 1 +#define BAK_DUPE 0 +#define BAK_MOVE 1 +extern char *q_fbackup (const char *filename, int mode); +#else +extern char *q_fbackup (char *move_name, const char *filename); +#endif +#ifndef USE_ZLIB +extern int q_fsize (const char *filename); +#endif + + +/* + Configuration file handling + + get_property() get value of propname from filename or return value of env + with name like propname or return def + get_property_int() like get_property() but returns an integer which is 0 + if the value of propname was 0, [Nn] or [Nn][Oo] and an + integer or at least 1 for every other case + get_property_fname() like get_property() but specifically for filenames, + i.e., it runs realpath2() on the filename and fixes the + characters if necessary (Cygwin) + set_property() set propname with value in filename + DELETE_PROPERTY() like set_property but when value of propname is NULL the + whole property will disappear from filename +*/ +#define PROPERTY_SEPARATOR '=' +#define PROPERTY_SEPARATOR_S "=" +#define PROPERTY_COMMENT '#' +#define PROPERTY_COMMENT_S "#" +extern char *get_property (const char *filename, const char *propname, char *value, + const char *def); +extern int32_t get_property_int (const char *filename, const char *propname); +extern char *get_property_fname (const char *filename, const char *propname, + char *buffer, const char *def); +extern int set_property (const char *filename, const char *propname, const char *value, const char *comment); +#define DELETE_PROPERTY(a, b) (set_property(a, b, NULL, NULL)) + + +/* + Portability (conio.h, etc...) + + init_conio() init console I/O + deinit_conio() stop console I/O + getch() + kbhit() + fix_character_set() fixes some Cygwin problems with filenames + truncate() + sync() + popen() + pclose() + vprintf2() + printf2() + fprintf2() +*/ +#if (defined __unix__ && !defined __MSDOS__) || defined __BEOS__ || \ + defined __APPLE__ // Mac OS X actually +extern void init_conio (void); +extern void deinit_conio (void); +#define getch getchar // getchar() acts like DOS getch() after init_conio() +extern int kbhit (void); // may only be used after init_conio()! + +#elif defined __MSDOS__ +#include // getch() +#include // kbhit() + +#elif defined _WIN32 +#include // kbhit() & getch() + +#elif defined AMIGA +extern int kbhit (void); +//#define getch getchar +// Gonna use my (Jan-Erik) fake one. Might work better and more like the real +// getch(). +#endif + +#ifdef __CYGWIN__ +extern char *fix_character_set (char *value); +#endif + + +#ifdef _WIN32 +// Note that _WIN32 is defined by cl.exe while the other constants (like WIN32) +// are defined in header files. MinGW's gcc.exe defines all constants. + +#include + +extern int truncate (const char *path, off_t size); +extern int sync (void); +// For MinGW popen() and pclose() are unavailable for DLL's. For DLL's _popen() +// and _pclose() should be used. Visual C++ only has the latter two. +#ifndef pclose // misc_z.h's definition gets higher "precedence" +#define pclose _pclose +#endif +#ifndef popen // idem +#define popen _popen +#endif + +#ifdef USE_ANSI_COLOR +#include + +extern int vprintf2 (const char *format, va_list argptr); +extern int printf2 (const char *format, ...); +extern int fprintf2 (FILE *file, const char *format, ...); +#define vprintf vprintf2 +#define printf printf2 +#define fprintf fprintf2 +#endif // USE_ANSI_COLOR + +#ifndef __MINGW32__ +#include +#include +#include // According to MSDN must + // come after . Yep, that's M$. +#define S_IWUSR _S_IWRITE +#define S_IRUSR _S_IREAD +#define S_ISDIR(mode) ((mode) & _S_IFDIR ? 1 : 0) +#define S_ISREG(mode) ((mode) & _S_IFREG ? 1 : 0) + +#define F_OK 00 +#define W_OK 02 +#define R_OK 04 +#define X_OK R_OK // this is correct for dirs, but not for exes + +#define STDIN_FILENO (fileno (stdin)) +#define STDOUT_FILENO (fileno (stdout)) +#define STDERR_FILENO (fileno (stderr)) + +#else +#ifdef DLL +#define access _access +#define chmod _chmod +#define fileno _fileno +#define getcwd _getcwd +#define isatty _isatty +#define rmdir _rmdir +#define stat _stat +#define strdup _strdup +#define stricmp _stricmp +#define strnicmp _strnicmp +#endif // DLL + +#endif // !__MINGW32__ + +#elif defined AMIGA // _WIN32 +// custom _popen() and _pclose(), because the standard ones (named popen() and +// pclose()) are buggy +#ifndef pclose // misc_z.h's definition gets higher "precedence" +#define pclose _pclose +#endif +#ifndef popen // idem +#define popen _popen +#endif +extern FILE *_popen (const char *path, const char *mode); +extern int _pclose (FILE *stream); +#endif // AMIGA + +#ifdef __cplusplus +} +#endif + +#endif // MISC_H diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/misc_wav.c b/tools/ucon64-2.0.0-src/src/libdiscmage/misc_wav.c new file mode 100644 index 0000000..47b9702 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/misc_wav.c @@ -0,0 +1,148 @@ +/* +misc_wav.c + +Copyright (c) 2004 NoisyB (noisyb@gmx.net) + + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ +#include +#include +#include +#include "misc.h" +#include "misc_wav.h" +#ifndef M_PI +#define M_PI 3.1415926535 +#endif +// TODO: replace ceil(), floor() and sin() + +unsigned char wav_header[3][80] = { + { + 'R', 'I', 'F', 'F', 0x80, 0x80, 0x80, 0x80, // RIFF TAG + 'W', 'A', 'V', 'E', // WAV TAG + 'f', 'm', 't', ' ', 0x10, 0, 0, 0, // FMT TAG + 1, 0, // format (WAVE_FORMAT_PCM) + 1, 0, // CHANNELS + 0x22, 0x56, 0, 0, // SamplesPerSec + 0x22, 0x56, 0, 0, // BytesPerSec + 1, 0, // Block align + 8, 0, // Bits per sample + 'd', 'a', 't', 'a', 0, 0, 0, 0, '\0' // DATA TAG + }, + { + 'R', 'I', 'F', 'F', 0x80, 0x80, 0x80, 0x80, // RIFF TAG + 'W', 'A', 'V', 'E', // WAV TAG + 'f', 'm', 't', ' ', 0x10, 0, 0, 0, // FMT TAG + 1, 0, // format (WAVE_FORMAT_PCM) + 1, 0, // CHANNELS + 0x44, 0xac, 0, 0, // SamplesPerSec + 0x44, 0xac, 0, 0, // BytesPerSec + 1, 0, // Block align + 8, 0, // Bits per sample + 'd', 'a', 't', 'a', 0, 0, 0, 0, '\0' // DATA TAG + }, + { + 'R', 'I', 'F', 'F', 0x80, 0x80, 0x80, 0x80, // RIFF TAG + 'W', 'A', 'V', 'E', // WAV TAG + 'f', 'm', 't', ' ', 0x10, 0, 0, 0, // FMT TAG + 1, 0, // format (WAVE_FORMAT_PCM) + 2, 0, // CHANNELS + 0x44, 0xac, 0, 0, // SamplesPerSec + 0x10, 0xb1, 2, 0, // BytesPerSec + 4, 0, // Block align + 0x10, 0, // Bits per sample + 'd', 'a', 't', 'a', 0, 0, 0, 0, '\0' // DATA TAG + } +}; + + +typedef struct +{ + uint8_t magic[4]; // 'RIFF' + uint32_t total_length; // length of file minus the 8 byte riff header + + uint8_t type[4]; // 'WAVE' + + uint8_t fmt[4]; // 'fmt ' + uint32_t header_length; // length of format chunk minus 8 byte header + uint16_t format; // identifies WAVE_FORMAT_PCM + uint16_t channels; + uint32_t freq; // samples per second per channel + uint32_t bytespersecond; + uint16_t blockalign; // basic block size + uint16_t bitspersample; + + // PCM formats then go straight to the data chunk + uint8_t data[4]; // 'data' + uint32_t data_length; // length of data chunk minus 8 byte header +} st_wav_header_t; + + +int +misc_wav_write_header (FILE *fh, int channels, int freq, + int bytespersecond, int blockalign, + int bitspersample, int data_length) +{ + st_wav_header_t wav_header; + memset (&wav_header, 0, sizeof (st_wav_header_t)); + + strncpy ((char *) wav_header.magic, "RIFF", 4); + wav_header.total_length = me2le_32 (data_length + sizeof (st_wav_header_t) - 8); + strncpy ((char *) wav_header.type, "WAVE", 4); + strncpy ((char *) wav_header.fmt, "fmt ", 4); + wav_header.header_length = me2le_32 (16); // always 16 + wav_header.format = me2le_16 (1); // WAVE_FORMAT_PCM == default + wav_header.channels = me2le_16 (channels); + wav_header.freq = me2le_32 (freq); + wav_header.bytespersecond = me2le_32 (bytespersecond); + wav_header.blockalign = me2le_16 (blockalign); + wav_header.bitspersample = me2le_16 (bitspersample); + strncpy ((char *) wav_header.data, "data", 4); + wav_header.data_length = me2le_32 (data_length); + + return fwrite (&wav_header, 1, sizeof (st_wav_header_t), fh); +} + + +void +misc_wav_generator (unsigned char *bit, int bitLength, float volume, int wavType) +{ + int i; + +#ifndef USE_LIBMATH + (void) wavType; +#else + if (wavType == SQUARE_WAVE) +#endif // USE_LIBMATH + { + int halfBitLength = (int) (floor ((float) bitLength) / 2.0); + int isOdd = (int) (ceil ((float) bitLength / 2.0) - halfBitLength); + + for (i = 0; i < halfBitLength; i++) + bit[i] = (unsigned char) floor (0xfc * volume); + + if (isOdd) + bit[i++] = 0x80; + + for (; i < bitLength; i++) + bit[i] = (unsigned char) floor (0x06 * volume); + } +#ifdef USE_LIBMATH + else // SINE_WAV + for (i = 0; i < bitLength; i++) + bit[i] = (unsigned char) floor + (((sin ((((double) 2 * (double) M_PI) / (double) bitLength) * (double) i) * volume + 1) * 128)); +#endif // USE_LIBMATH +} diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/misc_wav.h b/tools/ucon64-2.0.0-src/src/libdiscmage/misc_wav.h new file mode 100644 index 0000000..8fa3117 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/misc_wav.h @@ -0,0 +1,41 @@ +/* +misc_wav.h + +Copyright (c) 2004 NoisyB (noisyb@gmx.net) + + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ +#ifndef MISC_WAV_H +#define MISC_WAV_H +/* + misc_wav_header() read/(over-)write a wav header + mode == "r", "rb", "w", "wb", etc... + it does NOT insert a wav header + misc_wav_generator() generate a SQUARE_WAVE or SINE_WAVE +*/ +extern int misc_wav_write_header (FILE *fh, int channels, int freq, + int bytespersecond, int blockalign, + int bitspersample, int data_length); +// TODO: remove these +#define misc_wav_write_header_v2(fh,c,f,bit,dl) misc_wav_write_header(fh, c, f, (bit*c*f)/8, (bit*c)/8, bit, dl) +#define misc_wav_write_header_v3(fh,dl) misc_wav_write_header (fh, 2, 44100, 176400, 4, 16, dl) + + +#define SQUARE_WAVE 0 +#define SINE_WAVE 1 +extern void misc_wav_generator (unsigned char *bit, int bitLength, + float volume, int wavType); +#endif // MISC_WAV_H diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/misc_z.c b/tools/ucon64-2.0.0-src/src/libdiscmage/misc_z.c new file mode 100644 index 0000000..ae1417b --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/misc_z.c @@ -0,0 +1,666 @@ +/* +misc_z.c - miscellaneous zlib functions + +Copyright (c) 2001 - 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" // USE_ZLIB +#endif +#ifdef USE_ZLIB +#include +#include +#include +#include +#include +#include +#include "misc_z.h" +#include "misc.h" +#include "map.h" +#include "unzip.h" +#if defined DJGPP && defined DLL +#include "dxedll_priv.h" +#endif + + +extern int errno; + + +int +q_fsize (const char *filename) +// If USE_ZLIB is defined this function is very slow. Please avoid to use +// it much. +{ + FILE *file; + unsigned char magic[4] = { 0 }; + +#undef fopen +#undef fread +#undef fclose + if ((file = fopen (filename, "rb")) == NULL) + { + errno = ENOENT; + return -1; + } + fread (magic, 1, sizeof (magic), file); + fclose (file); +#define fopen fopen2 +#define fclose fclose2 +#define fread fread2 + + if (magic[0] == 0x1f && magic[1] == 0x8b && magic[2] == 0x08) + { // ID1, ID2 and CM. gzip uses Compression Method 8 + int size = 0; + + if ((file = (FILE *) gzopen (filename, "rb")) == NULL) + { // Shouldn't fail because we could open it with fopen() + errno = ENOENT; + return -1; + } +#if 1 + // This is not much faster than the other method + while (!gzeof (file)) + gzseek (file, 1024 * 1024, SEEK_CUR); + size = gztell (file); +#else + // Is there a more efficient way to determine the uncompressed size? + while ((bytesread = gzread (file, buf, MAXBUFSIZE)) > 0) + size += bytesread; +#endif + gzclose (file); + return size; + } + else if (magic[0] == 'P' && magic[1] == 'K' && magic[2] == 0x03 && magic[3] == 0x04) + { + unz_file_info info; + + if ((file = (FILE *) unzOpen (filename)) == NULL) + { + errno = ENOENT; + return -1; + } + unzip_goto_file (file, unzip_current_file_nr); + unzGetCurrentFileInfo (file, &info, NULL, 0, NULL, 0, NULL, 0); + unzClose (file); + + return info.uncompressed_size; + } + else + { + struct stat fstate; + + if (!stat (filename, &fstate)) + return fstate.st_size; + + errno = ENOENT; + return -1; + } +} + + +/* + The zlib functions gzwrite() and gzputc() write compressed data if the file + was opened with a "w" in the mode string, but we want to control whether we + write compressed data. Note that for the mode string "w+", zlib ignores the + '+'. zlib does the same for "r+". + Currently we never write compressed data. That is, no code fopen()s files + with a mode string containing 'f', 'h' or a number, but writing compressed + output does work. +*/ +st_map_t *fh_map = NULL; // associative array: file handle -> file mode + +typedef enum { FM_NORMAL, FM_GZIP, FM_ZIP, FM_UNDEF } fmode2_t; + +typedef struct st_finfo +{ + fmode2_t fmode; + int compressed; +} st_finfo_t; + +static st_finfo_t finfo_list[6] = { {FM_NORMAL, 0}, + {FM_NORMAL, 1}, // should never be used + {FM_GZIP, 0}, + {FM_GZIP, 1}, + {FM_ZIP, 0}, // should never be used + {FM_ZIP, 1} }; + +int unzip_current_file_nr = 0; + + +static void +init_fh_map (void) +{ + fh_map = map_create (20); // 20 simultaneous open files + map_put (fh_map, stdin, &finfo_list[0]); // should be enough to start with + map_put (fh_map, stdout, &finfo_list[0]); + map_put (fh_map, stderr, &finfo_list[0]); +} + + +static st_finfo_t * +get_finfo (FILE *file) +{ + st_finfo_t *finfo; + + if (fh_map == NULL) + init_fh_map (); + if ((finfo = (st_finfo_t *) map_get (fh_map, file)) == NULL) + { + fprintf (stderr, "\nINTERNAL ERROR: File pointer was not present in map (%p)\n", file); + map_dump (fh_map); + exit (1); + } + return finfo; +} + + +static fmode2_t +get_fmode (FILE *file) +{ + return get_finfo (file)->fmode; +} + + +int +unzip_get_number_entries (const char *filename) +{ + FILE *file; + unsigned char magic[4] = { 0 }; + +#undef fopen +#undef fread +#undef fclose + if ((file = fopen (filename, "rb")) == NULL) + { + errno = ENOENT; + return -1; + } + fread (magic, 1, sizeof (magic), file); + fclose (file); +#define fopen fopen2 +#define fclose fclose2 +#define fread fread2 + + if (magic[0] == 'P' && magic[1] == 'K' && magic[2] == 0x03 && magic[3] == 0x04) + { + unz_global_info info; + + file = (FILE *) unzOpen (filename); + unzGetGlobalInfo (file, &info); + unzClose (file); + return info.number_entry; + } + else + return -1; +} + + +int +unzip_goto_file (unzFile file, int file_index) +{ + int retval = unzGoToFirstFile (file), n = 0; + + if (file_index > 0) + while (n < file_index) + { + retval = unzGoToNextFile (file); + n++; + } + return retval; +} + + +static int +unzip_seek_helper (FILE *file, int offset) +{ + char buffer[MAXBUFSIZE]; + int n, tmp, pos = unztell (file); // returns ftell() of the "current file" + + if (pos == offset) + return 0; + else if (pos > offset) + { + unzCloseCurrentFile (file); + unzip_goto_file (file, unzip_current_file_nr); + unzOpenCurrentFile (file); + pos = 0; + } + n = offset - pos; + while (n > 0 && !unzeof (file)) + { + tmp = unzReadCurrentFile (file, buffer, n > MAXBUFSIZE ? MAXBUFSIZE : n); + if (tmp < 0) + return -1; + n -= tmp; + } + return n > 0 ? -1 : 0; +} + + +FILE * +fopen2 (const char *filename, const char *mode) +{ +#undef fopen + int n, len = strlen (mode), read = 0, compressed = 0; + fmode2_t fmode = FM_UNDEF; + st_finfo_t *finfo; + FILE *file = NULL; + +// printf ("opening %s", filename); + if (fh_map == NULL) + init_fh_map (); + + for (n = 0; n < len; n++) + { + switch (mode[n]) + { + case 'r': + read = 1; + break; + case 'f': + case 'h': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + fmode = FM_GZIP; + break; + case 'w': + case 'a': + fmode = FM_NORMAL; + break; + case '+': + if (fmode == FM_UNDEF) + fmode = FM_NORMAL; + break; + } + } + + if (read) + { +#undef fread +#undef fclose + unsigned char magic[4] = { 0 }; + FILE *fh; + + // TODO?: check if mode is valid for fopen(), i.e., no 'f', 'h' or number + if ((fh = fopen (filename, mode)) != NULL) + { + fread (magic, sizeof (magic), 1, fh); + if (magic[0] == 0x1f && magic[1] == 0x8b && magic[2] == 0x08) + { // ID1, ID2 and CM. gzip uses Compression Method 8 + fmode = FM_GZIP; + compressed = 1; + } + else if (magic[0] == 'P' && magic[1] == 'K' && + magic[2] == 0x03 && magic[3] == 0x04) + { + fmode = FM_ZIP; + compressed = 1; + } + else + /* + Files that are opened with mode "r+" will probably be written to. + zlib doesn't support mode "r+", so we have to use FM_NORMAL. + Mode "r" doesn't require FM_NORMAL and FM_GZIP works, but we + shouldn't introduce needless overhead. + */ + fmode = FM_NORMAL; + fclose (fh); + } +#define fread fread2 +#define fclose fclose2 + } + + if (fmode == FM_NORMAL) + file = fopen (filename, mode); + else if (fmode == FM_GZIP) + file = (FILE *) gzopen (filename, mode); + else if (fmode == FM_ZIP) + { + file = (FILE *) unzOpen (filename); + if (file != NULL) + { + unzip_goto_file (file, unzip_current_file_nr); + unzOpenCurrentFile (file); + } + } + + if (file == NULL) + return NULL; + + finfo = &finfo_list[fmode * 2 + compressed]; + fh_map = map_put (fh_map, file, finfo); + +/* + printf (", ptr = %p, mode = %s, fmode = %s\n", file, mode, + fmode == FM_NORMAL ? "FM_NORMAL" : + (fmode == FM_GZIP ? "FM_GZIP" : + (fmode == FM_ZIP ? "FM_ZIP" : "FM_UNDEF"))); + map_dump (fh_map); +*/ + return file; +#define fopen fopen2 +} + + +int +fclose2 (FILE *file) +{ +#undef fclose + fmode2_t fmode = get_fmode (file); + + map_del (fh_map, file); + if (fmode == FM_NORMAL) + return fclose (file); + else if (fmode == FM_GZIP) + return gzclose (file); + else if (fmode == FM_ZIP) + { + unzCloseCurrentFile (file); + return unzClose (file); + } + else + return EOF; +#define fclose fclose2 +} + + +int +fseek2 (FILE *file, long offset, int mode) +{ +#undef fseek + st_finfo_t *finfo = get_finfo (file); + +/* +// if (fmode != FM_NORMAL) + printf ("fmode = %s\n", finfo->fmode == FM_NORMAL ? "FM_NORMAL" : + (finfo->fmode == FM_GZIP ? "FM_GZIP" : + (finfo->fmode == FM_ZIP ? "FM_ZIP" : "FM_UNDEF"))); +*/ + + if (finfo->fmode == FM_NORMAL) + return fseek (file, offset, mode); + else if (finfo->fmode == FM_GZIP) + { + if (mode == SEEK_END) // zlib doesn't support SEEK_END + { + // Note that this is _slow_... + while (!gzeof (file)) + { + gzgetc (file); // necessary for _uncompressed_ files in order to set EOF + gzseek (file, 1024 * 1024, SEEK_CUR); + } + offset += gztell (file); + mode = SEEK_SET; + } + /* + FUCKING zlib documentation! It took me around 4 hours of debugging time + to find out that the doc is wrong! From the doc: + gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET) + That is not true for uncompressed files. gzrewind() doesn't change the + file pointer for uncompressed files in the ports I tested (zlib 1.1.3, + DJGPP, Cygwin & GNU/Linux). It clears the EOF indicator. + */ + if (!finfo->compressed) + gzrewind (file); + return gzseek (file, offset, mode) == -1 ? -1 : 0; + } + else if (finfo->fmode == FM_ZIP) + { + int base; + if (mode != SEEK_SET && mode != SEEK_CUR && mode != SEEK_END) + { + errno = EINVAL; + return -1; + } + if (mode == SEEK_SET) + base = 0; + else if (mode == SEEK_CUR) + base = unztell (file); + else // mode == SEEK_END + { + unz_file_info info; + + unzip_goto_file (file, unzip_current_file_nr); + unzGetCurrentFileInfo (file, &info, NULL, 0, NULL, 0, NULL, 0); + base = info.uncompressed_size; + } + return unzip_seek_helper (file, base + offset); + } + return -1; +#define fseek fseek2 +} + + +size_t +fread2 (void *buffer, size_t size, size_t number, FILE *file) +{ +#undef fread + fmode2_t fmode = get_fmode (file); + + if (size == 0 || number == 0) + return 0; + + if (fmode == FM_NORMAL) + return fread (buffer, size, number, file); + else if (fmode == FM_GZIP) + { + int n = gzread (file, buffer, number * size); + return n / size; + } + else if (fmode == FM_ZIP) + { + int n = unzReadCurrentFile (file, buffer, number * size); + return n / size; + } + return 0; +#define fread fread2 +} + + +int +fgetc2 (FILE *file) +{ +#undef fgetc + fmode2_t fmode = get_fmode (file); + + if (fmode == FM_NORMAL) + return fgetc (file); + else if (fmode == FM_GZIP) + return gzgetc (file); + else if (fmode == FM_ZIP) + { + char c; + int retval = unzReadCurrentFile (file, &c, 1); + return retval <= 0 ? EOF : c & 0xff; // avoid sign bit extension + } + else + return EOF; +#define fgetc fgetc2 +} + + +char * +fgets2 (char *buffer, int maxlength, FILE *file) +{ +#undef fgets + fmode2_t fmode = get_fmode (file); + + if (fmode == FM_NORMAL) + return fgets (buffer, maxlength, file); + else if (fmode == FM_GZIP) + { + char *retval = gzgets (file, buffer, maxlength); + return retval == Z_NULL ? NULL : retval; + } + else if (fmode == FM_ZIP) + { + int n = 0, c = 0; + while (n < maxlength - 1 && (c = fgetc (file)) != EOF) + { + buffer[n] = c; // '\n' must also be stored in buffer + n++; + if (c == '\n') + { + buffer[n] = 0; + break; + } + } + if (n >= maxlength - 1 || c == EOF) + buffer[n] = 0; + return n > 0 ? buffer : NULL; + } + else + return NULL; +#define fgets fgets2 +} + + +int +feof2 (FILE *file) +{ +#undef feof + fmode2_t fmode = get_fmode (file); + + if (fmode == FM_NORMAL) + return feof (file); + else if (fmode == FM_GZIP) + return gzeof (file); + else if (fmode == FM_ZIP) + return unzeof (file); // returns feof() of the "current file" + else + return -1; +#define feof feof2 +} + + +size_t +fwrite2 (const void *buffer, size_t size, size_t number, FILE *file) +{ +#undef fwrite + fmode2_t fmode = get_fmode (file); + + if (size == 0 || number == 0) + return 0; + + if (fmode == FM_NORMAL) + return fwrite (buffer, size, number, file); + else if (fmode == FM_GZIP) + { + int n = gzwrite (file, (void *) buffer, number * size); + return n / size; + } + else + return 0; // writing to zip files is not supported +#define fwrite fwrite2 +} + + +int +fputc2 (int character, FILE *file) +{ +#undef fputc + fmode2_t fmode = get_fmode (file); + + if (fmode == FM_NORMAL) + return fputc (character, file); + else if (fmode == FM_GZIP) + return gzputc (file, character); + else + return EOF; // writing to zip files is not supported +#define fputc fputc2 +} + + +long +ftell2 (FILE *file) +{ +#undef ftell + fmode2_t fmode = get_fmode (file); + + if (fmode == FM_NORMAL) + return ftell (file); + else if (fmode == FM_GZIP) + return gztell (file); + else if (fmode == FM_ZIP) + return unztell (file); // returns ftell() of the "current file" + else + return -1; +#define ftell ftell2 +} + + +void +rewind2 (FILE *file) +{ + fseek2 (file, 0, SEEK_SET); +} + + +FILE * +popen2 (const char *command, const char *mode) +{ +#undef popen +#if defined _WIN32 || defined AMIGA +#define popen _popen +#endif + int compressed = 0; + fmode2_t fmode = FM_NORMAL; + st_finfo_t *finfo; + FILE *file; + + if (fh_map == NULL) + init_fh_map (); + + file = popen (command, mode); + if ((file = popen (command, mode)) == NULL) + return NULL; + + finfo = &finfo_list[fmode * 2 + compressed]; + fh_map = map_put (fh_map, file, finfo); + + return file; +#undef popen +#define popen popen2 +} + + +int +pclose2 (FILE *stream) +{ +#undef pclose +#if defined _WIN32 || defined AMIGA +#define pclose _pclose +#endif + fmode2_t fmode = get_fmode (stream); + + if (fmode == FM_NORMAL) + return pclose (stream); + else if (fmode == FM_GZIP || fmode == FM_ZIP) + return -1; + else + return -1; +#undef pclose +#define pclose pclose2 +} +#endif // USE_ZLIB diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/misc_z.h b/tools/ucon64-2.0.0-src/src/libdiscmage/misc_z.h new file mode 100644 index 0000000..ab76f56 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/misc_z.h @@ -0,0 +1,86 @@ +/* +misc_z.h - miscellaneous zlib functions + +Copyright (c) 2001 - 2003 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef MISC_Z_H +#define MISC_Z_H + +#ifdef HAVE_CONFIG_H +#include "config.h" // USE_ZLIB +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef USE_ZLIB +// make sure ZLIB support is enabled everywhere +//#warning USE_ZLIB is defined + +#include +#include +#include "unzip.h" + +extern FILE *fopen2 (const char *filename, const char *mode); +extern int fclose2 (FILE *file); +extern int fseek2 (FILE *file, long offset, int mode); +extern size_t fread2 (void *buffer, size_t size, size_t number, FILE *file); +extern int fgetc2 (FILE *file); +extern char *fgets2 (char *buffer, int maxlength, FILE *file); +extern int feof2 (FILE *file); +extern size_t fwrite2 (const void *buffer, size_t size, size_t number, FILE *file); +extern int fputc2 (int character, FILE *file); +extern long ftell2 (FILE *file); +extern void rewind2 (FILE *file); +extern FILE *popen2 (const char *command, const char *mode); +extern int pclose2 (FILE *stream); + +extern int q_fsize2 (const char *filename); + +#undef feof // necessary on (at least) Cygwin + +#define fopen(FILE, MODE) fopen2(FILE, MODE) +#define fclose(FILE) fclose2(FILE) +#define fseek(FILE, OFFSET, MODE) fseek2(FILE, OFFSET, MODE) +#define fread(BUF, SIZE, NUM, FILE) fread2(BUF, SIZE, NUM, FILE) +#define fgetc(FILE) fgetc2(FILE) +#define fgets(BUF, MAXLEN, FILE) fgets2(BUF, MAXLEN, FILE) +#define feof(FILE) feof2(FILE) +#define fwrite(BUF, SIZE, NUM, FILE) fwrite2(BUF, SIZE, NUM, FILE) +#define fputc(CHAR, FILE) fputc2(CHAR, FILE) +#define ftell(FILE) ftell2(FILE) +#define rewind(FILE) rewind2(FILE) +#undef popen +#define popen(COMMAND, MODE) popen2(COMMAND, MODE) +#undef pclose +#define pclose(FILE) pclose2(FILE) +#define q_fsize(FILENAME) q_fsize2(FILENAME) + +// Returns the number of files in the "central dir of this disk" or -1 if +// filename is not a ZIP file or an error occured. +extern int unzip_get_number_entries (const char *filename); +extern int unzip_goto_file (unzFile file, int file_index); +extern int unzip_current_file_nr; +#endif + +#ifdef __cplusplus +} +#endif + +#endif // MISC_Z_H diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/unzip.c b/tools/ucon64-2.0.0-src/src/libdiscmage/unzip.c new file mode 100644 index 0000000..1b84182 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/unzip.c @@ -0,0 +1,1253 @@ +/* unzip.c -- IO on .zip files using zlib + Version 0.15 beta, Mar 19th, 1998, + + Read unzip.h for more info +*/ + + +#include +#include +#include +#include "zlib.h" +#include "unzip.h" + +#ifdef STDC +# include +# include +# include +#endif +#ifdef NO_ERRNO_H + extern int errno; +#else +# include +#endif + + +#ifndef local +# define local static +#endif +/* compile with -Dlocal if your debugger can't find static symbols */ + + + +#if !defined(unix) && !defined(CASESENSITIVITYDEFAULT_YES) && \ + !defined(CASESENSITIVITYDEFAULT_NO) +#define CASESENSITIVITYDEFAULT_NO +#endif + + +#ifndef UNZ_BUFSIZE +#define UNZ_BUFSIZE (16384) +#endif + +#ifndef UNZ_MAXFILENAMEINZIP +#define UNZ_MAXFILENAMEINZIP (256) +#endif + +#ifndef ALLOC +# define ALLOC(size) (malloc(size)) +#endif +#ifndef TRYFREE +# define TRYFREE(p) {if (p) free(p);} +#endif + +#define SIZECENTRALDIRITEM (0x2e) +#define SIZEZIPLOCALHEADER (0x1e) + + +/* I've found an old Unix (a SunOS 4.1.3_U1) without all SEEK_* defined.... */ + +#ifndef SEEK_CUR +#define SEEK_CUR 1 +#endif + +#ifndef SEEK_END +#define SEEK_END 2 +#endif + +#ifndef SEEK_SET +#define SEEK_SET 0 +#endif + +const char unz_copyright[] = + " unzip 0.15 Copyright 1998 Gilles Vollant "; + +/* unz_file_info_interntal contain internal info about a file in zipfile*/ +typedef struct unz_file_info_internal_s +{ + uLong offset_curfile;/* relative offset of local header 4 bytes */ +} unz_file_info_internal; + + +/* file_in_zip_read_info_s contain internal information about a file in zipfile, + when reading and decompress it */ +typedef struct +{ + char *read_buffer; /* internal buffer for compressed data */ + z_stream stream; /* zLib stream structure for inflate */ + + uLong pos_in_zipfile; /* position in byte on the zipfile, for fseek*/ + uLong stream_initialised; /* flag set if stream structure is initialised*/ + + uLong offset_local_extrafield;/* offset of the local extra field */ + uInt size_local_extrafield;/* size of the local extra field */ + uLong pos_local_extrafield; /* position in the local extra field in read*/ + + uLong crc32; /* crc32 of all data uncompressed */ + uLong crc32_wait; /* crc32 we must obtain after decompress all */ + uLong rest_read_compressed; /* number of byte to be decompressed */ + uLong rest_read_uncompressed;/*number of byte to be obtained after decomp*/ + FILE* file; /* io structore of the zipfile */ + uLong compression_method; /* compression method (0==store) */ + uLong byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/ +} file_in_zip_read_info_s; + + +/* unz_s contain internal information about the zipfile +*/ +typedef struct +{ + FILE* file; /* io structore of the zipfile */ + unz_global_info gi; /* public global information */ + uLong byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/ + uLong num_file; /* number of the current file in the zipfile*/ + uLong pos_in_central_dir; /* pos of the current file in the central dir*/ + uLong current_file_ok; /* flag about the usability of the current file*/ + uLong central_pos; /* position of the beginning of the central dir*/ + + uLong size_central_dir; /* size of the central directory */ + uLong offset_central_dir; /* offset of start of central directory with + respect to the starting disk number */ + + unz_file_info cur_file_info; /* public info about the current file in zip*/ + unz_file_info_internal cur_file_info_internal; /* private info about it*/ + file_in_zip_read_info_s* pfile_in_zip_read; /* structure about the current + file if we are decompressing it */ +} unz_s; + + +/* =========================================================================== + Read a byte from a gz_stream; update next_in and avail_in. Return EOF + for end of file. + IN assertion: the stream s has been sucessfully opened for reading. +*/ + + +local int unzlocal_getByte(FILE *fin,int *pi) +{ + unsigned char c; + int err = fread(&c, 1, 1, fin); + if (err==1) + { + *pi = (int)c; + return UNZ_OK; + } + else + { + if (ferror(fin)) + return UNZ_ERRNO; + else + return UNZ_EOF; + } +} + + +/* =========================================================================== + Reads a long in LSB order from the given gz_stream. Sets +*/ +local int unzlocal_getShort (FILE* fin,uLong *pX) +{ + uLong x ; + int i; + int err; + + err = unzlocal_getByte(fin,&i); + x = (uLong)i; + + if (err==UNZ_OK) + err = unzlocal_getByte(fin,&i); + x += ((uLong)i)<<8; + + if (err==UNZ_OK) + *pX = x; + else + *pX = 0; + return err; +} + +local int unzlocal_getLong (FILE* fin,uLong *pX) +{ + uLong x ; + int i; + int err; + + err = unzlocal_getByte(fin,&i); + x = (uLong)i; + + if (err==UNZ_OK) + err = unzlocal_getByte(fin,&i); + x += ((uLong)i)<<8; + + if (err==UNZ_OK) + err = unzlocal_getByte(fin,&i); + x += ((uLong)i)<<16; + + if (err==UNZ_OK) + err = unzlocal_getByte(fin,&i); + x += ((uLong)i)<<24; + + if (err==UNZ_OK) + *pX = x; + else + *pX = 0; + return err; +} + + +/* My own strcmpi / strcasecmp */ +local int strcmpcasenosensitive_internal (const char* fileName1,const char* fileName2) +{ + for (;;) + { + char c1=*(fileName1++); + char c2=*(fileName2++); + if ((c1>='a') && (c1<='z')) + c1 -= 0x20; + if ((c2>='a') && (c2<='z')) + c2 -= 0x20; + if (c1=='\0') + return ((c2=='\0') ? 0 : -1); + if (c2=='\0') + return 1; + if (c1c2) + return 1; + } +} + + +#ifdef CASESENSITIVITYDEFAULT_NO +#define CASESENSITIVITYDEFAULTVALUE 2 +#else +#define CASESENSITIVITYDEFAULTVALUE 1 +#endif + +#ifndef STRCMPCASENOSENTIVEFUNCTION +#define STRCMPCASENOSENTIVEFUNCTION strcmpcasenosensitive_internal +#endif + +/* + Compare two filename (fileName1,fileName2). + If iCaseSenisivity = 1, comparision is case sensitivity (like strcmp) + If iCaseSenisivity = 2, comparision is not case sensitivity (like strcmpi + or strcasecmp) + If iCaseSenisivity = 0, case sensitivity is defaut of your operating system + (like 1 on Unix, 2 on Windows) + +*/ +extern int ZEXPORT unzStringFileNameCompare (const char* fileName1,const char* fileName2, + int iCaseSensitivity) +{ + if (iCaseSensitivity==0) + iCaseSensitivity=CASESENSITIVITYDEFAULTVALUE; + + if (iCaseSensitivity==1) + return strcmp(fileName1,fileName2); + + return STRCMPCASENOSENTIVEFUNCTION(fileName1,fileName2); +} + +#define BUFREADCOMMENT (0x400) + +/* + Locate the Central directory of a zipfile (at the end, just before + the global comment) +*/ +local uLong unzlocal_SearchCentralDir(FILE *fin) +{ + unsigned char* buf; + uLong uSizeFile; + uLong uBackRead; + uLong uMaxBack=0xffff; /* maximum size of global comment */ + uLong uPosFound=0; + + if (fseek(fin,0,SEEK_END) != 0) + return 0; + + + uSizeFile = ftell( fin ); + + if (uMaxBack>uSizeFile) + uMaxBack = uSizeFile; + + buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4); + if (buf==NULL) + return 0; + + uBackRead = 4; + while (uBackReaduMaxBack) + uBackRead = uMaxBack; + else + uBackRead+=BUFREADCOMMENT; + uReadPos = uSizeFile-uBackRead ; + + uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ? + (BUFREADCOMMENT+4) : (uSizeFile-uReadPos); + if (fseek(fin,uReadPos,SEEK_SET)!=0) + break; + + if (fread(buf,(uInt)uReadSize,1,fin)!=1) + break; + + for (i=(int)uReadSize-3; (i--)>0;) + if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) && + ((*(buf+i+2))==0x05) && ((*(buf+i+3))==0x06)) + { + uPosFound = uReadPos+i; + break; + } + + if (uPosFound!=0) + break; + } + TRYFREE(buf); + return uPosFound; +} + +/* + Open a Zip file. path contain the full pathname (by example, + on a Windows NT computer "c:\\test\\zlib109.zip" or on an Unix computer + "zlib/zlib109.zip". + If the zipfile cannot be opened (file don't exist or in not valid), the + return value is NULL. + Else, the return value is a unzFile Handle, usable with other function + of this unzip package. +*/ +extern unzFile ZEXPORT unzOpen (const char *path) +{ + unz_s us; + unz_s *s; + uLong central_pos,uL; + FILE * fin ; + + uLong number_disk; /* number of the current dist, used for + spaning ZIP, unsupported, always 0*/ + uLong number_disk_with_CD; /* number the the disk with central dir, used + for spaning ZIP, unsupported, always 0*/ + uLong number_entry_CD; /* total number of entries in + the central dir + (same than number_entry on nospan) */ + + int err=UNZ_OK; + + if (unz_copyright[0]!=' ') + return NULL; + + fin=fopen(path,"rb"); + if (fin==NULL) + return NULL; + + central_pos = unzlocal_SearchCentralDir(fin); + if (central_pos==0) + err=UNZ_ERRNO; + + if (fseek(fin,central_pos,SEEK_SET)!=0) + err=UNZ_ERRNO; + + /* the signature, already checked */ + if (unzlocal_getLong(fin,&uL)!=UNZ_OK) + err=UNZ_ERRNO; + + /* number of this disk */ + if (unzlocal_getShort(fin,&number_disk)!=UNZ_OK) + err=UNZ_ERRNO; + + /* number of the disk with the start of the central directory */ + if (unzlocal_getShort(fin,&number_disk_with_CD)!=UNZ_OK) + err=UNZ_ERRNO; + + /* total number of entries in the central dir on this disk */ + if (unzlocal_getShort(fin,&us.gi.number_entry)!=UNZ_OK) + err=UNZ_ERRNO; + + /* total number of entries in the central dir */ + if (unzlocal_getShort(fin,&number_entry_CD)!=UNZ_OK) + err=UNZ_ERRNO; + + if ((number_entry_CD!=us.gi.number_entry) || + (number_disk_with_CD!=0) || + (number_disk!=0)) + err=UNZ_BADZIPFILE; + + /* size of the central directory */ + if (unzlocal_getLong(fin,&us.size_central_dir)!=UNZ_OK) + err=UNZ_ERRNO; + + /* offset of start of central directory with respect to the + starting disk number */ + if (unzlocal_getLong(fin,&us.offset_central_dir)!=UNZ_OK) + err=UNZ_ERRNO; + + /* zipfile comment length */ + if (unzlocal_getShort(fin,&us.gi.size_comment)!=UNZ_OK) + err=UNZ_ERRNO; + + if ((central_pospfile_in_zip_read!=NULL) + unzCloseCurrentFile(file); + + fclose(s->file); + TRYFREE(s); + return UNZ_OK; +} + + +/* + Write info about the ZipFile in the *pglobal_info structure. + No preparation of the structure is needed + return UNZ_OK if there is no problem. */ +extern int ZEXPORT unzGetGlobalInfo (unzFile file,unz_global_info *pglobal_info) +{ + unz_s* s; + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + *pglobal_info=s->gi; + return UNZ_OK; +} + + +/* + Translate date/time from Dos format to tm_unz (readable more easilty) +*/ +local void unzlocal_DosDateToTmuDate (uLong ulDosDate,tm_unz* ptm) +{ + uLong uDate; + uDate = (uLong)(ulDosDate>>16); + ptm->tm_mday = (uInt)(uDate&0x1f) ; + ptm->tm_mon = (uInt)((((uDate)&0x1E0)/0x20)-1) ; + ptm->tm_year = (uInt)(((uDate&0x0FE00)/0x0200)+1980) ; + + ptm->tm_hour = (uInt) ((ulDosDate &0xF800)/0x800); + ptm->tm_min = (uInt) ((ulDosDate&0x7E0)/0x20) ; + ptm->tm_sec = (uInt) (2*(ulDosDate&0x1f)) ; +} + +/* + Get Info about the current file in the zipfile, with internal only info +*/ +local int unzlocal_GetCurrentFileInfoInternal OF((unzFile file, + unz_file_info *pfile_info, + unz_file_info_internal + *pfile_info_internal, + char *szFileName, + uLong fileNameBufferSize, + void *extraField, + uLong extraFieldBufferSize, + char *szComment, + uLong commentBufferSize)); + +local int unzlocal_GetCurrentFileInfoInternal (unzFile file, + unz_file_info *pfile_info, + unz_file_info_internal *pfile_info_internal, + char *szFileName, + uLong fileNameBufferSize, + void *extraField, + uLong extraFieldBufferSize, + char *szComment, + uLong commentBufferSize) +{ + unz_s* s; + unz_file_info file_info; + unz_file_info_internal file_info_internal; + int err=UNZ_OK; + uLong uMagic; + long lSeek=0; + + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + if (fseek(s->file,s->pos_in_central_dir+s->byte_before_the_zipfile,SEEK_SET)!=0) + err=UNZ_ERRNO; + + + /* we check the magic */ + if (err==UNZ_OK) + { + if (unzlocal_getLong(s->file,&uMagic) != UNZ_OK) + err=UNZ_ERRNO; + else if (uMagic!=0x02014b50) + err=UNZ_BADZIPFILE; + } + + if (unzlocal_getShort(s->file,&file_info.version) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getShort(s->file,&file_info.version_needed) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getShort(s->file,&file_info.flag) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getShort(s->file,&file_info.compression_method) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getLong(s->file,&file_info.dosDate) != UNZ_OK) + err=UNZ_ERRNO; + + unzlocal_DosDateToTmuDate(file_info.dosDate,&file_info.tmu_date); + + if (unzlocal_getLong(s->file,&file_info.crc) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getLong(s->file,&file_info.compressed_size) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getLong(s->file,&file_info.uncompressed_size) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getShort(s->file,&file_info.size_filename) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getShort(s->file,&file_info.size_file_extra) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getShort(s->file,&file_info.size_file_comment) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getShort(s->file,&file_info.disk_num_start) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getShort(s->file,&file_info.internal_fa) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getLong(s->file,&file_info.external_fa) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getLong(s->file,&file_info_internal.offset_curfile) != UNZ_OK) + err=UNZ_ERRNO; + + lSeek+=file_info.size_filename; + if ((err==UNZ_OK) && (szFileName!=NULL)) + { + uLong uSizeRead ; + if (file_info.size_filename0) && (fileNameBufferSize>0)) + if (fread(szFileName,(uInt)uSizeRead,1,s->file)!=1) + err=UNZ_ERRNO; + lSeek -= uSizeRead; + } + + + if ((err==UNZ_OK) && (extraField!=NULL)) + { + uLong uSizeRead ; + if (file_info.size_file_extrafile,lSeek,SEEK_CUR)==0) + lSeek=0; + else + err=UNZ_ERRNO; + } + if ((file_info.size_file_extra>0) && (extraFieldBufferSize>0)) + if (fread(extraField,(uInt)uSizeRead,1,s->file)!=1) + err=UNZ_ERRNO; + lSeek += file_info.size_file_extra - uSizeRead; + } + else + lSeek+=file_info.size_file_extra; + + + if ((err==UNZ_OK) && (szComment!=NULL)) + { + uLong uSizeRead ; + if (file_info.size_file_commentfile,lSeek,SEEK_CUR)==0) + lSeek=0; + else + err=UNZ_ERRNO; + } + if ((file_info.size_file_comment>0) && (commentBufferSize>0)) + if (fread(szComment,(uInt)uSizeRead,1,s->file)!=1) + err=UNZ_ERRNO; + lSeek+=file_info.size_file_comment - uSizeRead; + } + else + lSeek+=file_info.size_file_comment; + + if ((err==UNZ_OK) && (pfile_info!=NULL)) + *pfile_info=file_info; + + if ((err==UNZ_OK) && (pfile_info_internal!=NULL)) + *pfile_info_internal=file_info_internal; + + return err; +} + + + +/* + Write info about the ZipFile in the *pglobal_info structure. + No preparation of the structure is needed + return UNZ_OK if there is no problem. +*/ +extern int ZEXPORT unzGetCurrentFileInfo (unzFile file, + unz_file_info *pfile_info, + char *szFileName, + uLong fileNameBufferSize, + void *extraField, + uLong extraFieldBufferSize, + char *szComment, + uLong commentBufferSize) +{ + return unzlocal_GetCurrentFileInfoInternal(file,pfile_info,NULL, + szFileName,fileNameBufferSize, + extraField,extraFieldBufferSize, + szComment,commentBufferSize); +} + +/* + Set the current file of the zipfile to the first file. + return UNZ_OK if there is no problem +*/ +extern int ZEXPORT unzGoToFirstFile (unzFile file) +{ + int err=UNZ_OK; + unz_s* s; + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + s->pos_in_central_dir=s->offset_central_dir; + s->num_file=0; + err=unzlocal_GetCurrentFileInfoInternal(file,&s->cur_file_info, + &s->cur_file_info_internal, + NULL,0,NULL,0,NULL,0); + s->current_file_ok = (err == UNZ_OK); + return err; +} + + +/* + Set the current file of the zipfile to the next file. + return UNZ_OK if there is no problem + return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest. +*/ +extern int ZEXPORT unzGoToNextFile (unzFile file) +{ + unz_s* s; + int err; + + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + if (!s->current_file_ok) + return UNZ_END_OF_LIST_OF_FILE; + if (s->num_file+1==s->gi.number_entry) + return UNZ_END_OF_LIST_OF_FILE; + + s->pos_in_central_dir += SIZECENTRALDIRITEM + s->cur_file_info.size_filename + + s->cur_file_info.size_file_extra + s->cur_file_info.size_file_comment ; + s->num_file++; + err = unzlocal_GetCurrentFileInfoInternal(file,&s->cur_file_info, + &s->cur_file_info_internal, + NULL,0,NULL,0,NULL,0); + s->current_file_ok = (err == UNZ_OK); + return err; +} + + +/* + Try locate the file szFileName in the zipfile. + For the iCaseSensitivity signification, see unzipStringFileNameCompare + + return value : + UNZ_OK if the file is found. It becomes the current file. + UNZ_END_OF_LIST_OF_FILE if the file is not found +*/ +extern int ZEXPORT unzLocateFile (unzFile file, const char *szFileName, + int iCaseSensitivity) +{ + unz_s* s; + int err; + + + uLong num_fileSaved; + uLong pos_in_central_dirSaved; + + + if (file==NULL) + return UNZ_PARAMERROR; + + if (strlen(szFileName)>=UNZ_MAXFILENAMEINZIP) + return UNZ_PARAMERROR; + + s=(unz_s*)file; + if (!s->current_file_ok) + return UNZ_END_OF_LIST_OF_FILE; + + num_fileSaved = s->num_file; + pos_in_central_dirSaved = s->pos_in_central_dir; + + err = unzGoToFirstFile(file); + + while (err == UNZ_OK) + { + char szCurrentFileName[UNZ_MAXFILENAMEINZIP+1]; + unzGetCurrentFileInfo(file,NULL, + szCurrentFileName,sizeof(szCurrentFileName)-1, + NULL,0,NULL,0); + if (unzStringFileNameCompare(szCurrentFileName, + szFileName,iCaseSensitivity)==0) + return UNZ_OK; + err = unzGoToNextFile(file); + } + + s->num_file = num_fileSaved ; + s->pos_in_central_dir = pos_in_central_dirSaved ; + return err; +} + + +/* + Read the local header of the current zipfile + Check the coherency of the local header and info in the end of central + directory about this file + store in *piSizeVar the size of extra info in local header + (filename and size of extra field data) +*/ +local int unzlocal_CheckCurrentFileCoherencyHeader (unz_s* s, + uInt* piSizeVar, + uLong *poffset_local_extrafield, + uInt *psize_local_extrafield) +{ + uLong uMagic,uData,uFlags; + uLong size_filename; + uLong size_extra_field; + int err=UNZ_OK; + + *piSizeVar = 0; + *poffset_local_extrafield = 0; + *psize_local_extrafield = 0; + + if (fseek(s->file,s->cur_file_info_internal.offset_curfile + + s->byte_before_the_zipfile,SEEK_SET)!=0) + return UNZ_ERRNO; + + + if (err==UNZ_OK) + { + if (unzlocal_getLong(s->file,&uMagic) != UNZ_OK) + err=UNZ_ERRNO; + else if (uMagic!=0x04034b50) + err=UNZ_BADZIPFILE; + } + + if (unzlocal_getShort(s->file,&uData) != UNZ_OK) + err=UNZ_ERRNO; +/* + else if ((err==UNZ_OK) && (uData!=s->cur_file_info.wVersion)) + err=UNZ_BADZIPFILE; +*/ + if (unzlocal_getShort(s->file,&uFlags) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getShort(s->file,&uData) != UNZ_OK) + err=UNZ_ERRNO; + else if ((err==UNZ_OK) && (uData!=s->cur_file_info.compression_method)) + err=UNZ_BADZIPFILE; + + if ((err==UNZ_OK) && (s->cur_file_info.compression_method!=0) && + (s->cur_file_info.compression_method!=Z_DEFLATED)) + err=UNZ_BADZIPFILE; + + if (unzlocal_getLong(s->file,&uData) != UNZ_OK) /* date/time */ + err=UNZ_ERRNO; + + if (unzlocal_getLong(s->file,&uData) != UNZ_OK) /* crc */ + err=UNZ_ERRNO; + else if ((err==UNZ_OK) && (uData!=s->cur_file_info.crc) && + ((uFlags & 8)==0)) + err=UNZ_BADZIPFILE; + + if (unzlocal_getLong(s->file,&uData) != UNZ_OK) /* size compr */ + err=UNZ_ERRNO; + else if ((err==UNZ_OK) && (uData!=s->cur_file_info.compressed_size) && + ((uFlags & 8)==0)) + err=UNZ_BADZIPFILE; + + if (unzlocal_getLong(s->file,&uData) != UNZ_OK) /* size uncompr */ + err=UNZ_ERRNO; + else if ((err==UNZ_OK) && (uData!=s->cur_file_info.uncompressed_size) && + ((uFlags & 8)==0)) + err=UNZ_BADZIPFILE; + + + if (unzlocal_getShort(s->file,&size_filename) != UNZ_OK) + err=UNZ_ERRNO; + else if ((err==UNZ_OK) && (size_filename!=s->cur_file_info.size_filename)) + err=UNZ_BADZIPFILE; + + *piSizeVar += (uInt)size_filename; + + if (unzlocal_getShort(s->file,&size_extra_field) != UNZ_OK) + err=UNZ_ERRNO; + *poffset_local_extrafield= s->cur_file_info_internal.offset_curfile + + SIZEZIPLOCALHEADER + size_filename; + *psize_local_extrafield = (uInt)size_extra_field; + + *piSizeVar += (uInt)size_extra_field; + + return err; +} + +/* + Open for reading data the current file in the zipfile. + If there is no error and the file is opened, the return value is UNZ_OK. +*/ +extern int ZEXPORT unzOpenCurrentFile (unzFile file) +{ + int err=UNZ_OK; + int Store; + uInt iSizeVar; + unz_s* s; + file_in_zip_read_info_s* pfile_in_zip_read_info; + uLong offset_local_extrafield; /* offset of the local extra field */ + uInt size_local_extrafield; /* size of the local extra field */ + + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + if (!s->current_file_ok) + return UNZ_PARAMERROR; + + if (s->pfile_in_zip_read != NULL) + unzCloseCurrentFile(file); + + if (unzlocal_CheckCurrentFileCoherencyHeader(s,&iSizeVar, + &offset_local_extrafield,&size_local_extrafield)!=UNZ_OK) + return UNZ_BADZIPFILE; + + pfile_in_zip_read_info = (file_in_zip_read_info_s*) + ALLOC(sizeof(file_in_zip_read_info_s)); + if (pfile_in_zip_read_info==NULL) + return UNZ_INTERNALERROR; + + pfile_in_zip_read_info->read_buffer=(char*)ALLOC(UNZ_BUFSIZE); + pfile_in_zip_read_info->offset_local_extrafield = offset_local_extrafield; + pfile_in_zip_read_info->size_local_extrafield = size_local_extrafield; + pfile_in_zip_read_info->pos_local_extrafield=0; + + if (pfile_in_zip_read_info->read_buffer==NULL) + { + TRYFREE(pfile_in_zip_read_info); + return UNZ_INTERNALERROR; + } + + pfile_in_zip_read_info->stream_initialised=0; + + if ((s->cur_file_info.compression_method!=0) && + (s->cur_file_info.compression_method!=Z_DEFLATED)) + err=UNZ_BADZIPFILE; + Store = s->cur_file_info.compression_method==0; + + pfile_in_zip_read_info->crc32_wait=s->cur_file_info.crc; + pfile_in_zip_read_info->crc32=0; + pfile_in_zip_read_info->compression_method = + s->cur_file_info.compression_method; + pfile_in_zip_read_info->file=s->file; + pfile_in_zip_read_info->byte_before_the_zipfile=s->byte_before_the_zipfile; + + pfile_in_zip_read_info->stream.total_out = 0; + + if (!Store) + { + pfile_in_zip_read_info->stream.zalloc = (alloc_func)0; + pfile_in_zip_read_info->stream.zfree = (free_func)0; + pfile_in_zip_read_info->stream.opaque = (voidpf)0; + + err=inflateInit2(&pfile_in_zip_read_info->stream, -MAX_WBITS); + if (err == Z_OK) + pfile_in_zip_read_info->stream_initialised=1; + /* windowBits is passed < 0 to tell that there is no zlib header. + * Note that in this case inflate *requires* an extra "dummy" byte + * after the compressed stream in order to complete decompression and + * return Z_STREAM_END. + * In unzip, i don't wait absolutely Z_STREAM_END because I known the + * size of both compressed and uncompressed data + */ + } + pfile_in_zip_read_info->rest_read_compressed = + s->cur_file_info.compressed_size ; + pfile_in_zip_read_info->rest_read_uncompressed = + s->cur_file_info.uncompressed_size ; + + + pfile_in_zip_read_info->pos_in_zipfile = + s->cur_file_info_internal.offset_curfile + SIZEZIPLOCALHEADER + + iSizeVar; + + pfile_in_zip_read_info->stream.avail_in = (uInt)0; + + + s->pfile_in_zip_read = pfile_in_zip_read_info; + return UNZ_OK; +} + + +/* + Read bytes from the current file. + buf contain buffer where data must be copied + len the size of buf. + + return the number of byte copied if somes bytes are copied + return 0 if the end of file was reached + return <0 with error code if there is an error + (UNZ_ERRNO for IO error, or zLib error for uncompress error) +*/ +extern int ZEXPORT unzReadCurrentFile (unzFile file, voidp buf, unsigned len) +{ + int err=UNZ_OK; + uInt iRead = 0; + unz_s* s; + file_in_zip_read_info_s* pfile_in_zip_read_info; + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + pfile_in_zip_read_info=s->pfile_in_zip_read; + + if (pfile_in_zip_read_info==NULL) + return UNZ_PARAMERROR; + + + if ((pfile_in_zip_read_info->read_buffer == NULL)) + return UNZ_END_OF_LIST_OF_FILE; + if (len==0) + return 0; + + pfile_in_zip_read_info->stream.next_out = (Bytef*)buf; + + pfile_in_zip_read_info->stream.avail_out = (uInt)len; + + if (len>pfile_in_zip_read_info->rest_read_uncompressed) + pfile_in_zip_read_info->stream.avail_out = + (uInt)pfile_in_zip_read_info->rest_read_uncompressed; + + while (pfile_in_zip_read_info->stream.avail_out>0) + { + if ((pfile_in_zip_read_info->stream.avail_in==0) && + (pfile_in_zip_read_info->rest_read_compressed>0)) + { + uInt uReadThis = UNZ_BUFSIZE; + if (pfile_in_zip_read_info->rest_read_compressedrest_read_compressed; + if (uReadThis == 0) + return UNZ_EOF; + if (fseek(pfile_in_zip_read_info->file, + pfile_in_zip_read_info->pos_in_zipfile + + pfile_in_zip_read_info->byte_before_the_zipfile,SEEK_SET)!=0) + return UNZ_ERRNO; + if (fread(pfile_in_zip_read_info->read_buffer,uReadThis,1, + pfile_in_zip_read_info->file)!=1) + return UNZ_ERRNO; + pfile_in_zip_read_info->pos_in_zipfile += uReadThis; + + pfile_in_zip_read_info->rest_read_compressed-=uReadThis; + + pfile_in_zip_read_info->stream.next_in = + (Bytef*)pfile_in_zip_read_info->read_buffer; + pfile_in_zip_read_info->stream.avail_in = (uInt)uReadThis; + } + + if (pfile_in_zip_read_info->compression_method==0) + { + uInt uDoCopy,i ; + if (pfile_in_zip_read_info->stream.avail_out < + pfile_in_zip_read_info->stream.avail_in) + uDoCopy = pfile_in_zip_read_info->stream.avail_out ; + else + uDoCopy = pfile_in_zip_read_info->stream.avail_in ; + + for (i=0;istream.next_out+i) = + *(pfile_in_zip_read_info->stream.next_in+i); + + pfile_in_zip_read_info->crc32 = crc32(pfile_in_zip_read_info->crc32, + pfile_in_zip_read_info->stream.next_out, + uDoCopy); + pfile_in_zip_read_info->rest_read_uncompressed-=uDoCopy; + pfile_in_zip_read_info->stream.avail_in -= uDoCopy; + pfile_in_zip_read_info->stream.avail_out -= uDoCopy; + pfile_in_zip_read_info->stream.next_out += uDoCopy; + pfile_in_zip_read_info->stream.next_in += uDoCopy; + pfile_in_zip_read_info->stream.total_out += uDoCopy; + iRead += uDoCopy; + } + else + { + uLong uTotalOutBefore,uTotalOutAfter; + const Bytef *bufBefore; + uLong uOutThis; + int flush=Z_SYNC_FLUSH; + + uTotalOutBefore = pfile_in_zip_read_info->stream.total_out; + bufBefore = pfile_in_zip_read_info->stream.next_out; + + /* + if ((pfile_in_zip_read_info->rest_read_uncompressed == + pfile_in_zip_read_info->stream.avail_out) && + (pfile_in_zip_read_info->rest_read_compressed == 0)) + flush = Z_FINISH; + */ + err=inflate(&pfile_in_zip_read_info->stream,flush); + + uTotalOutAfter = pfile_in_zip_read_info->stream.total_out; + uOutThis = uTotalOutAfter-uTotalOutBefore; + + pfile_in_zip_read_info->crc32 = + crc32(pfile_in_zip_read_info->crc32,bufBefore, + (uInt)(uOutThis)); + + pfile_in_zip_read_info->rest_read_uncompressed -= + uOutThis; + + iRead += (uInt)(uTotalOutAfter - uTotalOutBefore); + + if (err==Z_STREAM_END) + return (iRead==0) ? UNZ_EOF : iRead; + if (err!=Z_OK) + break; + } + } + + if (err==Z_OK) + return iRead; + return err; +} + + +/* + Give the current position in uncompressed data +*/ +extern z_off_t ZEXPORT unztell (unzFile file) +{ + unz_s* s; + file_in_zip_read_info_s* pfile_in_zip_read_info; + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + pfile_in_zip_read_info=s->pfile_in_zip_read; + + if (pfile_in_zip_read_info==NULL) + return UNZ_PARAMERROR; + + return (z_off_t)pfile_in_zip_read_info->stream.total_out; +} + + +/* + return 1 if the end of file was reached, 0 elsewhere +*/ +extern int ZEXPORT unzeof (unzFile file) +{ + unz_s* s; + file_in_zip_read_info_s* pfile_in_zip_read_info; + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + pfile_in_zip_read_info=s->pfile_in_zip_read; + + if (pfile_in_zip_read_info==NULL) + return UNZ_PARAMERROR; + + if (pfile_in_zip_read_info->rest_read_uncompressed == 0) + return 1; + else + return 0; +} + + + +/* + Read extra field from the current file (opened by unzOpenCurrentFile) + This is the local-header version of the extra field (sometimes, there is + more info in the local-header version than in the central-header) + + if buf==NULL, it return the size of the local extra field that can be read + + if buf!=NULL, len is the size of the buffer, the extra header is copied in + buf. + the return value is the number of bytes copied in buf, or (if <0) + the error code +*/ +extern int ZEXPORT unzGetLocalExtrafield (unzFile file,voidp buf,unsigned len) +{ + unz_s* s; + file_in_zip_read_info_s* pfile_in_zip_read_info; + uInt read_now; + uLong size_to_read; + + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + pfile_in_zip_read_info=s->pfile_in_zip_read; + + if (pfile_in_zip_read_info==NULL) + return UNZ_PARAMERROR; + + size_to_read = (pfile_in_zip_read_info->size_local_extrafield - + pfile_in_zip_read_info->pos_local_extrafield); + + if (buf==NULL) + return (int)size_to_read; + + if (len>size_to_read) + read_now = (uInt)size_to_read; + else + read_now = (uInt)len ; + + if (read_now==0) + return 0; + + if (fseek(pfile_in_zip_read_info->file, + pfile_in_zip_read_info->offset_local_extrafield + + pfile_in_zip_read_info->pos_local_extrafield,SEEK_SET)!=0) + return UNZ_ERRNO; + + if (fread(buf,(uInt)size_to_read,1,pfile_in_zip_read_info->file)!=1) + return UNZ_ERRNO; + + return (int)read_now; +} + +/* + Close the file in zip opened with unzipOpenCurrentFile + Return UNZ_CRCERROR if all the file was read but the CRC is not good +*/ +extern int ZEXPORT unzCloseCurrentFile (unzFile file) +{ + int err=UNZ_OK; + + unz_s* s; + file_in_zip_read_info_s* pfile_in_zip_read_info; + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + pfile_in_zip_read_info=s->pfile_in_zip_read; + + if (pfile_in_zip_read_info==NULL) + return UNZ_PARAMERROR; + + + if (pfile_in_zip_read_info->rest_read_uncompressed == 0) + { + if (pfile_in_zip_read_info->crc32 != pfile_in_zip_read_info->crc32_wait) + err=UNZ_CRCERROR; + } + + + TRYFREE(pfile_in_zip_read_info->read_buffer); + pfile_in_zip_read_info->read_buffer = NULL; + if (pfile_in_zip_read_info->stream_initialised) + inflateEnd(&pfile_in_zip_read_info->stream); + + pfile_in_zip_read_info->stream_initialised = 0; + TRYFREE(pfile_in_zip_read_info); + + s->pfile_in_zip_read=NULL; + + return err; +} + + +/* + Get the global comment string of the ZipFile, in the szComment buffer. + uSizeBuf is the size of the szComment buffer. + return the number of byte copied or an error code <0 +*/ +extern int ZEXPORT unzGetGlobalComment (unzFile file, char *szComment, uLong uSizeBuf) +{ + unz_s* s; + uLong uReadThis ; + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + + uReadThis = uSizeBuf; + if (uReadThis>s->gi.size_comment) + uReadThis = s->gi.size_comment; + + if (fseek(s->file,s->central_pos+22,SEEK_SET)!=0) + return UNZ_ERRNO; + + if (uReadThis>0) + { + *szComment='\0'; + if (fread(szComment,(uInt)uReadThis,1,s->file)!=1) + return UNZ_ERRNO; + } + + if ((szComment != NULL) && (uSizeBuf > s->gi.size_comment)) + *(szComment+s->gi.size_comment)='\0'; + return (int)uReadThis; +} diff --git a/tools/ucon64-2.0.0-src/src/libdiscmage/unzip.h b/tools/ucon64-2.0.0-src/src/libdiscmage/unzip.h new file mode 100644 index 0000000..fe3e9fc --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/libdiscmage/unzip.h @@ -0,0 +1,275 @@ +/* unzip.h -- IO for uncompress .zip files using zlib + Version 0.15 beta, Mar 19th, 1998, + + Copyright (C) 1998 Gilles Vollant + + This unzip package allow extract file from .ZIP file, compatible with PKZip 2.04g + WinZip, InfoZip tools and compatible. + Encryption and multi volume ZipFile (span) are not supported. + Old compressions used by old PKZip 1.x are not supported + + THIS IS AN ALPHA VERSION. AT THIS STAGE OF DEVELOPPEMENT, SOMES API OR STRUCTURE + CAN CHANGE IN FUTURE VERSION !! + I WAIT FEEDBACK at mail info@winimage.com + Visit also http://www.winimage.com/zLibDll/unzip.htm for evolution + + Condition of use and distribution are the same than zlib : + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + +*/ +/* for more info about .ZIP format, see + ftp://ftp.cdrom.com/pub/infozip/doc/appnote-970311-iz.zip + PkWare has also a specification at : + ftp://ftp.pkware.com/probdesc.zip */ + +#ifndef _unz_H +#define _unz_H + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _ZLIB_H +#include "zlib.h" +#endif + +#if defined(STRICTUNZIP) || defined(STRICTZIPUNZIP) +/* like the STRICT of WIN32, we define a pointer that cannot be converted + from (void*) without cast */ +typedef struct TagunzFile__ { int unused; } unzFile__; +typedef unzFile__ *unzFile; +#else +typedef voidp unzFile; +#endif + + +#define UNZ_OK (0) +#define UNZ_END_OF_LIST_OF_FILE (-100) +#define UNZ_ERRNO (Z_ERRNO) +#define UNZ_EOF (0) +#define UNZ_PARAMERROR (-102) +#define UNZ_BADZIPFILE (-103) +#define UNZ_INTERNALERROR (-104) +#define UNZ_CRCERROR (-105) + +/* tm_unz contain date/time info */ +typedef struct tm_unz_s +{ + uInt tm_sec; /* seconds after the minute - [0,59] */ + uInt tm_min; /* minutes after the hour - [0,59] */ + uInt tm_hour; /* hours since midnight - [0,23] */ + uInt tm_mday; /* day of the month - [1,31] */ + uInt tm_mon; /* months since January - [0,11] */ + uInt tm_year; /* years - [1980..2044] */ +} tm_unz; + +/* unz_global_info structure contain global data about the ZIPfile + These data comes from the end of central dir */ +typedef struct unz_global_info_s +{ + uLong number_entry; /* total number of entries in + the central dir on this disk */ + uLong size_comment; /* size of the global comment of the zipfile */ +} unz_global_info; + + +/* unz_file_info contain information about a file in the zipfile */ +typedef struct unz_file_info_s +{ + uLong version; /* version made by 2 bytes */ + uLong version_needed; /* version needed to extract 2 bytes */ + uLong flag; /* general purpose bit flag 2 bytes */ + uLong compression_method; /* compression method 2 bytes */ + uLong dosDate; /* last mod file date in Dos fmt 4 bytes */ + uLong crc; /* crc-32 4 bytes */ + uLong compressed_size; /* compressed size 4 bytes */ + uLong uncompressed_size; /* uncompressed size 4 bytes */ + uLong size_filename; /* filename length 2 bytes */ + uLong size_file_extra; /* extra field length 2 bytes */ + uLong size_file_comment; /* file comment length 2 bytes */ + + uLong disk_num_start; /* disk number start 2 bytes */ + uLong internal_fa; /* internal file attributes 2 bytes */ + uLong external_fa; /* external file attributes 4 bytes */ + + tm_unz tmu_date; +} unz_file_info; + +extern int ZEXPORT unzStringFileNameCompare OF ((const char* fileName1, + const char* fileName2, + int iCaseSensitivity)); +/* + Compare two filename (fileName1,fileName2). + If iCaseSenisivity = 1, comparision is case sensitivity (like strcmp) + If iCaseSenisivity = 2, comparision is not case sensitivity (like strcmpi + or strcasecmp) + If iCaseSenisivity = 0, case sensitivity is defaut of your operating system + (like 1 on Unix, 2 on Windows) +*/ + + +extern unzFile ZEXPORT unzOpen OF((const char *path)); +/* + Open a Zip file. path contain the full pathname (by example, + on a Windows NT computer "c:\\zlib\\zlib111.zip" or on an Unix computer + "zlib/zlib111.zip". + If the zipfile cannot be opened (file don't exist or in not valid), the + return value is NULL. + Else, the return value is a unzFile Handle, usable with other function + of this unzip package. +*/ + +extern int ZEXPORT unzClose OF((unzFile file)); +/* + Close a ZipFile opened with unzipOpen. + If there is files inside the .Zip opened with unzOpenCurrentFile (see later), + these files MUST be closed with unzipCloseCurrentFile before call unzipClose. + return UNZ_OK if there is no problem. */ + +extern int ZEXPORT unzGetGlobalInfo OF((unzFile file, + unz_global_info *pglobal_info)); +/* + Write info about the ZipFile in the *pglobal_info structure. + No preparation of the structure is needed + return UNZ_OK if there is no problem. */ + + +extern int ZEXPORT unzGetGlobalComment OF((unzFile file, + char *szComment, + uLong uSizeBuf)); +/* + Get the global comment string of the ZipFile, in the szComment buffer. + uSizeBuf is the size of the szComment buffer. + return the number of byte copied or an error code <0 +*/ + + +/***************************************************************************/ +/* Unzip package allow you browse the directory of the zipfile */ + +extern int ZEXPORT unzGoToFirstFile OF((unzFile file)); +/* + Set the current file of the zipfile to the first file. + return UNZ_OK if there is no problem +*/ + +extern int ZEXPORT unzGoToNextFile OF((unzFile file)); +/* + Set the current file of the zipfile to the next file. + return UNZ_OK if there is no problem + return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest. +*/ + +extern int ZEXPORT unzLocateFile OF((unzFile file, + const char *szFileName, + int iCaseSensitivity)); +/* + Try locate the file szFileName in the zipfile. + For the iCaseSensitivity signification, see unzStringFileNameCompare + + return value : + UNZ_OK if the file is found. It becomes the current file. + UNZ_END_OF_LIST_OF_FILE if the file is not found +*/ + + +extern int ZEXPORT unzGetCurrentFileInfo OF((unzFile file, + unz_file_info *pfile_info, + char *szFileName, + uLong fileNameBufferSize, + void *extraField, + uLong extraFieldBufferSize, + char *szComment, + uLong commentBufferSize)); +/* + Get Info about the current file + if pfile_info!=NULL, the *pfile_info structure will contain somes info about + the current file + if szFileName!=NULL, the filemane string will be copied in szFileName + (fileNameBufferSize is the size of the buffer) + if extraField!=NULL, the extra field information will be copied in extraField + (extraFieldBufferSize is the size of the buffer). + This is the Central-header version of the extra field + if szComment!=NULL, the comment string of the file will be copied in szComment + (commentBufferSize is the size of the buffer) +*/ + +/***************************************************************************/ +/* for reading the content of the current zipfile, you can open it, read data + from it, and close it (you can close it before reading all the file) + */ + +extern int ZEXPORT unzOpenCurrentFile OF((unzFile file)); +/* + Open for reading data the current file in the zipfile. + If there is no error, the return value is UNZ_OK. +*/ + +extern int ZEXPORT unzCloseCurrentFile OF((unzFile file)); +/* + Close the file in zip opened with unzOpenCurrentFile + Return UNZ_CRCERROR if all the file was read but the CRC is not good +*/ + + +extern int ZEXPORT unzReadCurrentFile OF((unzFile file, + voidp buf, + unsigned len)); +/* + Read bytes from the current file (opened by unzOpenCurrentFile) + buf contain buffer where data must be copied + len the size of buf. + + return the number of byte copied if somes bytes are copied + return 0 if the end of file was reached + return <0 with error code if there is an error + (UNZ_ERRNO for IO error, or zLib error for uncompress error) +*/ + +extern z_off_t ZEXPORT unztell OF((unzFile file)); +/* + Give the current position in uncompressed data +*/ + +extern int ZEXPORT unzeof OF((unzFile file)); +/* + return 1 if the end of file was reached, 0 elsewhere +*/ + +extern int ZEXPORT unzGetLocalExtrafield OF((unzFile file, + voidp buf, + unsigned len)); +/* + Read extra field from the current file (opened by unzOpenCurrentFile) + This is the local-header version of the extra field (sometimes, there is + more info in the local-header version than in the central-header) + + if buf==NULL, it return the size of the local extra field + + if buf!=NULL, len is the size of the buffer, the extra header is copied in + buf. + the return value is the number of bytes copied in buf, or (if <0) + the error code +*/ + +#ifdef __cplusplus +} +#endif + +#endif /* _unz_H */ diff --git a/tools/ucon64-2.0.0-src/src/mdntsc.txt b/tools/ucon64-2.0.0-src/src/mdntsc.txt new file mode 100644 index 0000000..174807c --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/mdntsc.txt @@ -0,0 +1 @@ +# Put your NTSC protection search-and-defeat "codes" (patterns) here \ No newline at end of file diff --git a/tools/ucon64-2.0.0-src/src/misc/archive.c b/tools/ucon64-2.0.0-src/src/misc/archive.c new file mode 100644 index 0000000..c06c021 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/misc/archive.c @@ -0,0 +1,677 @@ +/* +archive.c - g(un)zip and unzip support + +Copyright (c) 2001 - 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" // USE_ZLIB +#endif +#ifdef USE_ZLIB +#include +#include +#include +#include +#include +#include +#ifdef HAVE_BYTESWAP_H +#include +#else +#include "bswap.h" +#endif +#include "archive.h" +#include "misc.h" +#include "map.h" +#include "unzip.h" +#if defined DJGPP && defined DLL +#include "dxedll_priv.h" +#endif + + +#ifdef MAXBUFSIZE +#undef MAXBUFSIZE +#endif // MAXBUFSIZE +#define MAXBUFSIZE 32768 + + +extern int errno; + + +int +fsizeof (const char *filename) +// If USE_ZLIB is defined this function is very slow. Please avoid to use +// it much. +{ + FILE *file; + unsigned char magic[4] = { 0 }; + +#undef fopen +#undef fread +#undef fclose + if ((file = fopen (filename, "rb")) == NULL) + { + errno = ENOENT; + return -1; + } + fread (magic, 1, sizeof (magic), file); + fclose (file); +#define fopen fopen2 +#define fclose fclose2 +#define fread fread2 + + if (magic[0] == 0x1f && magic[1] == 0x8b && magic[2] == 0x08) + { // ID1, ID2 and CM. gzip uses Compression Method 8 + int size = 0; + + if ((file = (FILE *) gzopen (filename, "rb")) == NULL) + { // Shouldn't fail because we could open it with fopen() + errno = ENOENT; + return -1; + } +#if 1 + // This is not much faster than the other method + while (!gzeof (file)) + gzseek (file, 1024 * 1024, SEEK_CUR); + size = gztell (file); +#else + // Is there a more efficient way to determine the uncompressed size? + while ((bytesread = gzread (file, buf, MAXBUFSIZE)) > 0) + size += bytesread; +#endif + gzclose (file); + return size; + } + else if (magic[0] == 'P' && magic[1] == 'K' && magic[2] == 0x03 && magic[3] == 0x04) + { + unz_file_info info; + + if ((file = (FILE *) unzOpen (filename)) == NULL) + { + errno = ENOENT; + return -1; + } + unzip_goto_file (file, unzip_current_file_nr); + unzGetCurrentFileInfo (file, &info, NULL, 0, NULL, 0, NULL, 0); + unzClose (file); + + return info.uncompressed_size; + } + else + { + struct stat fstate; + + if (!stat (filename, &fstate)) + return fstate.st_size; + + errno = ENOENT; + return -1; + } +} + + +/* + The zlib functions gzwrite() and gzputc() write compressed data if the file + was opened with a "w" in the mode string, but we want to control whether we + write compressed data. Note that for the mode string "w+", zlib ignores the + '+'. zlib does the same for "r+". + Currently we never write compressed data. That is, no code fopen()s files + with a mode string containing 'f', 'h' or a number, but writing compressed + output does work. +*/ +st_map_t *fh_map = NULL; // associative array: file handle -> file mode + +typedef enum { FM_NORMAL, FM_GZIP, FM_ZIP, FM_UNDEF } fmode2_t; + +typedef struct st_finfo +{ + fmode2_t fmode; + int compressed; +} st_finfo_t; + +static st_finfo_t finfo_list[6] = { {FM_NORMAL, 0}, + {FM_NORMAL, 1}, // should never be used + {FM_GZIP, 0}, + {FM_GZIP, 1}, + {FM_ZIP, 0}, // should never be used + {FM_ZIP, 1} }; + +int unzip_current_file_nr = 0; + + +static void +init_fh_map (void) +{ + fh_map = map_create (20); // 20 simultaneous open files + map_put (fh_map, stdin, &finfo_list[0]); // should be enough to start with + map_put (fh_map, stdout, &finfo_list[0]); + map_put (fh_map, stderr, &finfo_list[0]); +} + + +static st_finfo_t * +get_finfo (FILE *file) +{ + st_finfo_t *finfo; + + if (fh_map == NULL) + init_fh_map (); + if ((finfo = (st_finfo_t *) map_get (fh_map, file)) == NULL) + { + fprintf (stderr, "\nINTERNAL ERROR: File pointer was not present in map (%p)\n", file); + map_dump (fh_map); + exit (1); + } + return finfo; +} + + +static fmode2_t +get_fmode (FILE *file) +{ + return get_finfo (file)->fmode; +} + + +int +unzip_get_number_entries (const char *filename) +{ + FILE *file; + unsigned char magic[4] = { 0 }; + +#undef fopen +#undef fread +#undef fclose + if ((file = fopen (filename, "rb")) == NULL) + { + errno = ENOENT; + return -1; + } + fread (magic, 1, sizeof (magic), file); + fclose (file); +#define fopen fopen2 +#define fclose fclose2 +#define fread fread2 + + if (magic[0] == 'P' && magic[1] == 'K' && magic[2] == 0x03 && magic[3] == 0x04) + { + unz_global_info info; + + file = (FILE *) unzOpen (filename); + unzGetGlobalInfo (file, &info); + unzClose (file); + return info.number_entry; + } + else + return -1; +} + + +int +unzip_goto_file (unzFile file, int file_index) +{ + int retval = unzGoToFirstFile (file), n = 0; + + if (file_index > 0) + while (n < file_index) + { + retval = unzGoToNextFile (file); + n++; + } + return retval; +} + + +static int +unzip_seek_helper (FILE *file, int offset) +{ + char buffer[MAXBUFSIZE]; + int n, tmp, pos = unztell (file); // returns ftell() of the "current file" + + if (pos == offset) + return 0; + else if (pos > offset) + { + unzCloseCurrentFile (file); + unzip_goto_file (file, unzip_current_file_nr); + unzOpenCurrentFile (file); + pos = 0; + } + n = offset - pos; + while (n > 0 && !unzeof (file)) + { + tmp = unzReadCurrentFile (file, buffer, n > MAXBUFSIZE ? MAXBUFSIZE : n); + if (tmp < 0) + return -1; + n -= tmp; + } + return n > 0 ? -1 : 0; +} + + +FILE * +fopen2 (const char *filename, const char *mode) +{ +#undef fopen + int n, len = strlen (mode), read = 0, compressed = 0; + fmode2_t fmode = FM_UNDEF; + st_finfo_t *finfo; + FILE *file = NULL; + +// printf ("opening %s", filename); + if (fh_map == NULL) + init_fh_map (); + + for (n = 0; n < len; n++) + { + switch (mode[n]) + { + case 'r': + read = 1; + break; + case 'f': + case 'h': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + fmode = FM_GZIP; + break; + case 'w': + case 'a': + fmode = FM_NORMAL; + break; + case '+': + if (fmode == FM_UNDEF) + fmode = FM_NORMAL; + break; + } + } + + if (read) + { +#undef fread +#undef fclose + unsigned char magic[4] = { 0 }; + FILE *fh; + + // TODO?: check if mode is valid for fopen(), i.e., no 'f', 'h' or number + if ((fh = fopen (filename, mode)) != NULL) + { + fread (magic, sizeof (magic), 1, fh); + if (magic[0] == 0x1f && magic[1] == 0x8b && magic[2] == 0x08) + { // ID1, ID2 and CM. gzip uses Compression Method 8 + fmode = FM_GZIP; + compressed = 1; + } + else if (magic[0] == 'P' && magic[1] == 'K' && + magic[2] == 0x03 && magic[3] == 0x04) + { + fmode = FM_ZIP; + compressed = 1; + } + else + /* + Files that are opened with mode "r+" will probably be written to. + zlib doesn't support mode "r+", so we have to use FM_NORMAL. + Mode "r" doesn't require FM_NORMAL and FM_GZIP works, but we + shouldn't introduce needless overhead. + */ + fmode = FM_NORMAL; + fclose (fh); + } +#define fread fread2 +#define fclose fclose2 + } + + if (fmode == FM_NORMAL) + file = fopen (filename, mode); + else if (fmode == FM_GZIP) + file = (FILE *) gzopen (filename, mode); + else if (fmode == FM_ZIP) + { + file = (FILE *) unzOpen (filename); + if (file != NULL) + { + unzip_goto_file (file, unzip_current_file_nr); + unzOpenCurrentFile (file); + } + } + + if (file == NULL) + return NULL; + + finfo = &finfo_list[fmode * 2 + compressed]; + fh_map = map_put (fh_map, file, finfo); + +/* + printf (", ptr = %p, mode = %s, fmode = %s\n", file, mode, + fmode == FM_NORMAL ? "FM_NORMAL" : + (fmode == FM_GZIP ? "FM_GZIP" : + (fmode == FM_ZIP ? "FM_ZIP" : "FM_UNDEF"))); + map_dump (fh_map); +*/ + return file; +#define fopen fopen2 +} + + +int +fclose2 (FILE *file) +{ +#undef fclose + fmode2_t fmode = get_fmode (file); + + map_del (fh_map, file); + if (fmode == FM_NORMAL) + return fclose (file); + else if (fmode == FM_GZIP) + return gzclose (file); + else if (fmode == FM_ZIP) + { + unzCloseCurrentFile (file); + return unzClose (file); + } + else + return EOF; +#define fclose fclose2 +} + + +int +fseek2 (FILE *file, long offset, int mode) +{ +#undef fseek + st_finfo_t *finfo = get_finfo (file); + +/* +// if (fmode != FM_NORMAL) + printf ("fmode = %s\n", finfo->fmode == FM_NORMAL ? "FM_NORMAL" : + (finfo->fmode == FM_GZIP ? "FM_GZIP" : + (finfo->fmode == FM_ZIP ? "FM_ZIP" : "FM_UNDEF"))); +*/ + + if (finfo->fmode == FM_NORMAL) + return fseek (file, offset, mode); + else if (finfo->fmode == FM_GZIP) + { + if (mode == SEEK_END) // zlib doesn't support SEEK_END + { + // Note that this is _slow_... + while (!gzeof (file)) + { + gzgetc (file); // necessary for _uncompressed_ files in order to set EOF + gzseek (file, 1024 * 1024, SEEK_CUR); + } + offset += gztell (file); + mode = SEEK_SET; + } + /* + FUCKING zlib documentation! It took me around 4 hours of debugging time + to find out that the doc is wrong! From the doc: + gzrewind(file) is equivalent to (int)gzseek(file, 0L, SEEK_SET) + That is not true for uncompressed files. gzrewind() doesn't change the + file pointer for uncompressed files in the ports I tested (zlib 1.1.3, + DJGPP, Cygwin & GNU/Linux). It clears the EOF indicator. + */ + if (!finfo->compressed) + gzrewind (file); + return gzseek (file, offset, mode) == -1 ? -1 : 0; + } + else if (finfo->fmode == FM_ZIP) + { + int base; + if (mode != SEEK_SET && mode != SEEK_CUR && mode != SEEK_END) + { + errno = EINVAL; + return -1; + } + if (mode == SEEK_SET) + base = 0; + else if (mode == SEEK_CUR) + base = unztell (file); + else // mode == SEEK_END + { + unz_file_info info; + + unzip_goto_file (file, unzip_current_file_nr); + unzGetCurrentFileInfo (file, &info, NULL, 0, NULL, 0, NULL, 0); + base = info.uncompressed_size; + } + return unzip_seek_helper (file, base + offset); + } + return -1; +#define fseek fseek2 +} + + +size_t +fread2 (void *buffer, size_t size, size_t number, FILE *file) +{ +#undef fread + fmode2_t fmode = get_fmode (file); + + if (size == 0 || number == 0) + return 0; + + if (fmode == FM_NORMAL) + return fread (buffer, size, number, file); + else if (fmode == FM_GZIP) + { + int n = gzread (file, buffer, number * size); + return n / size; + } + else if (fmode == FM_ZIP) + { + int n = unzReadCurrentFile (file, buffer, number * size); + return n / size; + } + return 0; +#define fread fread2 +} + + +int +fgetc2 (FILE *file) +{ +#undef fgetc + fmode2_t fmode = get_fmode (file); + + if (fmode == FM_NORMAL) + return fgetc (file); + else if (fmode == FM_GZIP) + return gzgetc (file); + else if (fmode == FM_ZIP) + { + char c; + int retval = unzReadCurrentFile (file, &c, 1); + return retval <= 0 ? EOF : c & 0xff; // avoid sign bit extension + } + else + return EOF; +#define fgetc fgetc2 +} + + +char * +fgets2 (char *buffer, int maxlength, FILE *file) +{ +#undef fgets + fmode2_t fmode = get_fmode (file); + + if (fmode == FM_NORMAL) + return fgets (buffer, maxlength, file); + else if (fmode == FM_GZIP) + { + char *retval = gzgets (file, buffer, maxlength); + return retval == Z_NULL ? NULL : retval; + } + else if (fmode == FM_ZIP) + { + int n = 0, c = 0; + while (n < maxlength - 1 && (c = fgetc (file)) != EOF) + { + buffer[n] = c; // '\n' must also be stored in buffer + n++; + if (c == '\n') + { + buffer[n] = 0; + break; + } + } + if (n >= maxlength - 1 || c == EOF) + buffer[n] = 0; + return n > 0 ? buffer : NULL; + } + else + return NULL; +#define fgets fgets2 +} + + +int +feof2 (FILE *file) +{ +#undef feof + fmode2_t fmode = get_fmode (file); + + if (fmode == FM_NORMAL) + return feof (file); + else if (fmode == FM_GZIP) + return gzeof (file); + else if (fmode == FM_ZIP) + return unzeof (file); // returns feof() of the "current file" + else + return -1; +#define feof feof2 +} + + +size_t +fwrite2 (const void *buffer, size_t size, size_t number, FILE *file) +{ +#undef fwrite + fmode2_t fmode = get_fmode (file); + + if (size == 0 || number == 0) + return 0; + + if (fmode == FM_NORMAL) + return fwrite (buffer, size, number, file); + else if (fmode == FM_GZIP) + { + int n = gzwrite (file, (void *) buffer, number * size); + return n / size; + } + else + return 0; // writing to zip files is not supported +#define fwrite fwrite2 +} + + +int +fputc2 (int character, FILE *file) +{ +#undef fputc + fmode2_t fmode = get_fmode (file); + + if (fmode == FM_NORMAL) + return fputc (character, file); + else if (fmode == FM_GZIP) + return gzputc (file, character); + else + return EOF; // writing to zip files is not supported +#define fputc fputc2 +} + + +long +ftell2 (FILE *file) +{ +#undef ftell + fmode2_t fmode = get_fmode (file); + + if (fmode == FM_NORMAL) + return ftell (file); + else if (fmode == FM_GZIP) + return gztell (file); + else if (fmode == FM_ZIP) + return unztell (file); // returns ftell() of the "current file" + else + return -1; +#define ftell ftell2 +} + + +void +rewind2 (FILE *file) +{ + fseek2 (file, 0, SEEK_SET); +} + + +FILE * +popen2 (const char *command, const char *mode) +{ +#undef popen +#if defined _WIN32 || defined AMIGA +#define popen _popen +#endif + int compressed = 0; + fmode2_t fmode = FM_NORMAL; + st_finfo_t *finfo; + FILE *file; + + if (fh_map == NULL) + init_fh_map (); + + file = popen (command, mode); + if ((file = popen (command, mode)) == NULL) + return NULL; + + finfo = &finfo_list[fmode * 2 + compressed]; + fh_map = map_put (fh_map, file, finfo); + + return file; +#undef popen +#define popen popen2 +} + + +int +pclose2 (FILE *stream) +{ +#undef pclose +#if defined _WIN32 || defined AMIGA +#define pclose _pclose +#endif + fmode2_t fmode = get_fmode (stream); + + if (fmode == FM_NORMAL) + return pclose (stream); + else if (fmode == FM_GZIP || fmode == FM_ZIP) + return -1; + else + return -1; +#undef pclose +#define pclose pclose2 +} +#endif // USE_ZLIB diff --git a/tools/ucon64-2.0.0-src/src/misc/archive.h b/tools/ucon64-2.0.0-src/src/misc/archive.h new file mode 100644 index 0000000..78bff5e --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/misc/archive.h @@ -0,0 +1,85 @@ +/* +archive.h - g(un)zip and unzip support + +Copyright (c) 2001 - 2003 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef MISC_ARCHIVE_H +#define MISC_ARCHIVE_H + +#ifdef HAVE_CONFIG_H +#include "config.h" // USE_ZLIB +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef USE_ZLIB +// make sure ZLIB support is enabled everywhere +//#warning USE_ZLIB is defined + +#include +#include +#include "unzip.h" + +extern FILE *fopen2 (const char *filename, const char *mode); +extern int fclose2 (FILE *file); +extern int fseek2 (FILE *file, long offset, int mode); +extern size_t fread2 (void *buffer, size_t size, size_t number, FILE *file); +extern int fgetc2 (FILE *file); +extern char *fgets2 (char *buffer, int maxlength, FILE *file); +extern int feof2 (FILE *file); +extern size_t fwrite2 (const void *buffer, size_t size, size_t number, FILE *file); +extern int fputc2 (int character, FILE *file); +extern long ftell2 (FILE *file); +extern void rewind2 (FILE *file); +extern FILE *popen2 (const char *command, const char *mode); +extern int pclose2 (FILE *stream); + +extern int fsizeof2 (const char *filename); + +#undef feof // necessary on (at least) Cygwin + +#define fopen(FILE, MODE) fopen2(FILE, MODE) +#define fclose(FILE) fclose2(FILE) +#define fseek(FILE, OFFSET, MODE) fseek2(FILE, OFFSET, MODE) +#define fread(BUF, SIZE, NUM, FILE) fread2(BUF, SIZE, NUM, FILE) +#define fgetc(FILE) fgetc2(FILE) +#define fgets(BUF, MAXLEN, FILE) fgets2(BUF, MAXLEN, FILE) +#define feof(FILE) feof2(FILE) +#define fwrite(BUF, SIZE, NUM, FILE) fwrite2(BUF, SIZE, NUM, FILE) +#define fputc(CHAR, FILE) fputc2(CHAR, FILE) +#define ftell(FILE) ftell2(FILE) +#define rewind(FILE) rewind2(FILE) +#undef popen +#define popen(COMMAND, MODE) popen2(COMMAND, MODE) +#undef pclose +#define pclose(FILE) pclose2(FILE) +#define fsizeof(FILENAME) fsizeof2(FILENAME) + +// Returns the number of files in the "central dir of this disk" or -1 if +// filename is not a ZIP file or an error occured. +extern int unzip_get_number_entries (const char *filename); +extern int unzip_goto_file (unzFile file, int file_index); +extern int unzip_current_file_nr; +#endif // USE_ZLIB + +#ifdef __cplusplus +} +#endif +#endif // MISC_ARCHIVE_H diff --git a/tools/ucon64-2.0.0-src/src/misc/bswap.h b/tools/ucon64-2.0.0-src/src/misc/bswap.h new file mode 100644 index 0000000..918722a --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/misc/bswap.h @@ -0,0 +1,207 @@ +/* +bswap.h - bswap functions + +Copyright (c) 1999 - 2004 NoisyB +Copyright (c) 2001 - 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef MISC_BSWAP_H +#define MISC_BSWAP_H + +#ifdef HAVE_CONFIG_H +#include "config.h" // HAVE_BYTESWAP_H +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef HAVE_INTTYPES_H +#include +#else // __MSDOS__, _WIN32 (VC++) +#include "itypes.h" +#endif + + +/* + bswap_16() 12 21 + bswap_32() 1234 4321 + bswap_64() 12345678 87654321 + + wswap_32() 1234 3412 + wswap_64() 12345678 78563412 +*/ + +#ifdef _MSC_VER +// Visual C++ doesn't allow inline in C source code +#define inline __inline +#endif + +#ifdef HAVE_BYTESWAP_H +#include +#else + + +static inline uint16_t +bswap_16 (uint16_t x) +{ +#if 1 + uint8_t *ptr = (uint8_t *) &x, tmp; + tmp = ptr[0]; + ptr[0] = ptr[1]; + ptr[1] = tmp; + return x; +#else + return ((((x) & 0xff00) >> 8) | + (((x) & 0x00ff) << 8)); +#endif +} + + +static inline uint32_t +bswap_32 (uint32_t x) +{ +#if 1 + uint8_t *ptr = (uint8_t *) &x, tmp; + tmp = ptr[0]; + ptr[0] = ptr[3]; + ptr[3] = tmp; + tmp = ptr[1]; + ptr[1] = ptr[2]; + ptr[2] = tmp; + return x; +#else + return ((((x) & 0xff000000) >> 24) | + (((x) & 0x00ff0000) >> 8) | + (((x) & 0x0000ff00) << 8) | + (((x) & 0x000000ff) << 24)); +#endif +} + + +static inline uint64_t +bswap_64 (uint64_t x) +{ +#if 1 + uint8_t *ptr = (uint8_t *) &x, tmp; + tmp = ptr[0]; + ptr[0] = ptr[7]; + ptr[7] = tmp; + tmp = ptr[1]; + ptr[1] = ptr[6]; + ptr[6] = tmp; + tmp = ptr[2]; + ptr[2] = ptr[5]; + ptr[5] = tmp; + tmp = ptr[3]; + ptr[3] = ptr[4]; + ptr[4] = tmp; + return x; +#else + return ((((x) & 0xff00000000000000ull) >> 56) | + (((x) & 0x00ff000000000000ull) >> 40) | + (((x) & 0x0000ff0000000000ull) >> 24) | + (((x) & 0x000000ff00000000ull) >> 8) | + (((x) & 0x00000000ff000000ull) << 8) | + (((x) & 0x0000000000ff0000ull) << 24) | + (((x) & 0x000000000000ff00ull) << 40) | + (((x) & 0x00000000000000ffull) << 56)); +#endif +} +#endif // HAVE_BYTESWAP_H + + +#ifdef WORDS_BIGENDIAN +#undef WORDS_BIGENDIAN +#endif + +#if defined _LIBC || defined __GLIBC__ +#include +#if __BYTE_ORDER == __BIG_ENDIAN +#define WORDS_BIGENDIAN 1 +#endif +#elif defined AMIGA || defined __sparc__ || defined __BIG_ENDIAN__ || \ + defined __APPLE__ +#define WORDS_BIGENDIAN 1 +#endif + +#ifdef WORDS_BIGENDIAN +#define me2be_16 +#define me2be_32 +#define me2be_64 +#define me2le_16 bswap_16 +#define me2le_32 bswap_32 +#define me2le_64 bswap_64 +#else +#define me2be_16 bswap_16 +#define me2be_32 bswap_32 +#define me2be_64 bswap_64 +#define me2le_16 +#define me2le_32 +#define me2le_64 +#endif +#define be2me_16 me2be_16 +#define be2me_32 me2be_32 +#define be2me_64 me2be_64 +#define le2me_16 me2le_16 +#define le2me_32 me2le_32 +#define le2me_64 me2le_64 + + +static inline uint32_t +wswap_32 (uint32_t x) +{ +#if 0 + uint16_t *ptr = (uint16_t *) &x, tmp; + tmp = ptr[0]; + ptr[0] = ptr[1]; + ptr[1] = tmp; + return x; +#else + return ((((x) & 0xffff0000) >> 16) | + (((x) & 0x0000ffff) << 16)); +#endif +} + + +#if 0 +static inline uint64_t +wswap_64 (uint64_t x) +{ +#if 1 + uint16_t *ptr = (uint16_t *) &x, tmp; + tmp = ptr[0]; + ptr[0] = ptr[3]; + ptr[3] = tmp; + tmp = ptr[1]; + ptr[1] = ptr[2]; + ptr[2] = tmp; + return x; +#else + return ((((x) & 0xffff000000000000ull) >> 48) | + (((x) & 0x0000ffff00000000ull) >> 16) | + (((x) & 0x00000000ffff0000ull) << 16) | + (((x) & 0x000000000000ffffull) << 48)); +#endif +} +#endif + + +#ifdef __cplusplus +} +#endif +#endif // MISC_BSWAP_H diff --git a/tools/ucon64-2.0.0-src/src/misc/chksum.c b/tools/ucon64-2.0.0-src/src/misc/chksum.c new file mode 100644 index 0000000..e6ce926 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/misc/chksum.c @@ -0,0 +1,556 @@ +/* +chksum.c - miscellaneous checksum functions + +Copyright (c) 1999 - 2004 NoisyB +Copyright (c) 2001 - 2004 dbjh + +sha1 - Copyright (c) 2002, Dr Brian Gladman , Worcester, UK. + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + +MD5 - Copyright (C) 1990, RSA Data Security, Inc. All rights reserved. + License to copy and use this software is granted provided that + it is identified as the "RSA Data Security, Inc. MD5 Message + Digest Algorithm" in all material mentioning or referencing this + software or this function. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" // USE_ZLIB +#endif +#include +#include +#include +//#ifdef HAVE_BYTESWAP_H +//#include +//#else +#include "bswap.h" +//#endif +#ifdef USE_ZLIB +#include +#include "unzip.h" +#endif +#include "misc.h" +#include "chksum.h" + + +#if (!defined TRUE || !defined FALSE) +#define FALSE 0 +#define TRUE (!FALSE) +#endif + +#ifndef MIN +#define MIN(a,b) ((a) < (b) ? (a) : (b)) +#endif +#ifndef MAX +#define MAX(a,b) ((a) > (b) ? (a) : (b)) +#endif + +#ifdef WORDS_BIGENDIAN +#undef WORDS_BIGENDIAN +#endif + + +#if defined _LIBC || defined __GLIBC__ + #include + #if __BYTE_ORDER == __BIG_ENDIAN + #define WORDS_BIGENDIAN 1 + #endif +#elif defined AMIGA || defined __sparc__ || defined __BIG_ENDIAN__ || \ + defined __APPLE__ + #define WORDS_BIGENDIAN 1 +#endif + + +#ifndef MAXBUFSIZE +#define MAXBUFSIZE 32768 +#endif // MAXBUFSIZE + + +#define ROTL32(x,n) (((x) << (n)) | ((x) >> (32 - (n)))) + +#define SHA1_BLOCK_SIZE 64 +#define SHA1_DIGEST_SIZE 20 +#define SHA2_GOOD 0 +#define SHA2_BAD 1 +#define SHA1_MASK (SHA1_BLOCK_SIZE - 1) + + +void +sha1_compile (s_sha1_ctx_t ctx[1]) +{ +#define CH(x,y,z) (((x) & (y)) ^ (~(x) & (z))) +#define PARITY(x,y,z) ((x) ^ (y) ^ (z)) +#define MAJ(x,y,z) (((x) & (y)) ^ ((x) & (z)) ^ ((y) & (z))) + + uint32_t w[80], i, a, b, c, d, e, t; + + /* + note that words are compiled from the buffer into 32-bit + words in big-endian order so an order reversal is needed + here on little endian machines + */ + for (i = 0; i < SHA1_BLOCK_SIZE / 4; ++i) + w[i] = me2be_32 (ctx->wbuf[i]); + + for (i = SHA1_BLOCK_SIZE / 4; i < 80; ++i) + w[i] = ROTL32 (w[i - 3] ^ w[i - 8] ^ w[i - 14] ^ w[i - 16], 1); + + a = ctx->hash[0]; + b = ctx->hash[1]; + c = ctx->hash[2]; + d = ctx->hash[3]; + e = ctx->hash[4]; + + for (i = 0; i < 80; i++) + { + t = a; + a = ROTL32 (a, 5) + e + w[i]; + if (i < 20) + a += CH (b, c, d) + 0x5a827999; + else if (i < 40) + a += PARITY (b, c, d) + 0x6ed9eba1; + else if (i < 60) + a += MAJ (b, c, d) + 0x8f1bbcdc; + else if (i < 80) + a += PARITY (b, c, d) + 0xca62c1d6; + e = d; + d = c; + c = ROTL32 (b, 30); + b = t; + } + + ctx->hash[0] += a; + ctx->hash[1] += b; + ctx->hash[2] += c; + ctx->hash[3] += d; + ctx->hash[4] += e; +} + + +void +sha1_begin (s_sha1_ctx_t ctx[1]) +{ + ctx->count[0] = ctx->count[1] = 0; + ctx->hash[0] = 0x67452301; + ctx->hash[1] = 0xefcdab89; + ctx->hash[2] = 0x98badcfe; + ctx->hash[3] = 0x10325476; + ctx->hash[4] = 0xc3d2e1f0; +} + + +void +sha1 (s_sha1_ctx_t ctx[1], const unsigned char data[], unsigned int len) +{ + uint32_t pos = (uint32_t) (ctx->count[0] & SHA1_MASK), + space = SHA1_BLOCK_SIZE - pos; + const unsigned char *sp = data; + + if ((ctx->count[0] += len) < len) + ++(ctx->count[1]); + + while (len >= space) // transfer whole blocks while possible + { + memcpy (((unsigned char *) ctx->wbuf) + pos, sp, space); + sp += space; + len -= space; + space = SHA1_BLOCK_SIZE; + pos = 0; + sha1_compile (ctx); + } + + memcpy (((unsigned char *) ctx->wbuf) + pos, sp, len); +} + + +void +sha1_end (unsigned char hval[], s_sha1_ctx_t ctx[1]) +{ +#ifdef WORDS_BIGENDIAN + const uint32_t mask[4] = { 0x00000000, 0xff000000, 0xffff0000, 0xffffff00 }; + const uint32_t bits[4] = { 0x80000000, 0x00800000, 0x00008000, 0x00000080 }; +#else + const uint32_t mask[4] = { 0x00000000, 0x000000ff, 0x0000ffff, 0x00ffffff }; + const uint32_t bits[4] = { 0x00000080, 0x00008000, 0x00800000, 0x80000000 }; +#endif + uint32_t i = (uint32_t) (ctx->count[0] & SHA1_MASK); + + /* + mask out the rest of any partial 32-bit word and then set + the next byte to 0x80. On big-endian machines any bytes in + the buffer will be at the top end of 32 bit words, on little + endian machines they will be at the bottom. Hence the AND + and OR masks above are reversed for little endian systems + Note that we can always add the first padding byte at this + because the buffer always contains at least one empty slot + */ + ctx->wbuf[i >> 2] = (ctx->wbuf[i >> 2] & mask[i & 3]) | bits[i & 3]; + + /* + we need 9 or more empty positions, one for the padding byte + (above) and eight for the length count. If there is not + enough space pad and empty the buffer + */ + if (i > SHA1_BLOCK_SIZE - 9) + { + if (i < 60) + ctx->wbuf[15] = 0; + sha1_compile (ctx); + i = 0; + } + else // compute a word index for the empty buffer positions + i = (i >> 2) + 1; + + while (i < 14) // and zero pad all but last two positions + ctx->wbuf[i++] = 0; + + // assemble the eight byte counter in big-endian format + ctx->wbuf[14] = me2be_32 ((ctx->count[1] << 3) | (ctx->count[0] >> 29)); + ctx->wbuf[15] = me2be_32 (ctx->count[0] << 3); + + sha1_compile (ctx); + + // extract the hash value as bytes in case the hash buffer is + // misaligned for 32-bit words + for (i = 0; i < SHA1_DIGEST_SIZE; ++i) + hval[i] = (unsigned char) (ctx->hash[i >> 2] >> 8 * (~i & 3)); +} + + +// MD5 +static void md5_transform (uint32_t *buf, uint32_t *in); + + +// Padding +static unsigned char md5_padding[64] = + { + 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 + }; + +// MD5_F, MD5_G and MD5_H are basic MD5 functions: selection, majority, parity +#define MD5_F(x, y, z) (((x) & (y)) | ((~x) & (z))) +#define MD5_G(x, y, z) (((x) & (z)) | ((y) & (~z))) +#define MD5_H(x, y, z) ((x) ^ (y) ^ (z)) +#define MD5_I(x, y, z) ((y) ^ ((x) | (~z))) + +// MD5_FF, MD5_GG, MD5_HH, and MD5_II transformations for rounds 1, 2, 3, and 4 +// Rotation is separate from addition to prevent recomputation +#define MD5_FF(a, b, c, d, x, s, ac) {(a) += MD5_F ((b), (c), (d)) + (x) + (uint32_t)(ac); (a) = ROTL32 ((a), (s)); (a) += (b); } +#define MD5_GG(a, b, c, d, x, s, ac) {(a) += MD5_G ((b), (c), (d)) + (x) + (uint32_t)(ac); (a) = ROTL32 ((a), (s)); (a) += (b); } +#define MD5_HH(a, b, c, d, x, s, ac) {(a) += MD5_H ((b), (c), (d)) + (x) + (uint32_t)(ac); (a) = ROTL32 ((a), (s)); (a) += (b); } +#define MD5_II(a, b, c, d, x, s, ac) {(a) += MD5_I ((b), (c), (d)) + (x) + (uint32_t)(ac); (a) = ROTL32 ((a), (s)); (a) += (b); } + +// constants for transformation +#define MD5_S11 7 // round 1 +#define MD5_S12 12 +#define MD5_S13 17 +#define MD5_S14 22 +#define MD5_S21 5 // round 2 +#define MD5_S22 9 +#define MD5_S23 14 +#define MD5_S24 20 +#define MD5_S31 4 // round 3 +#define MD5_S32 11 +#define MD5_S33 16 +#define MD5_S34 23 +#define MD5_S41 6 // round 4 +#define MD5_S42 10 +#define MD5_S43 15 +#define MD5_S44 21 + + +// basic MD5 step, md5_transform buf based on in +static void +md5_transform (uint32_t *buf, uint32_t *in) +{ + uint32_t a = buf[0], b = buf[1], c = buf[2], d = buf[3]; + + // round 1 + MD5_FF (a, b, c, d, in[0], MD5_S11, (uint32_t) 3614090360u); // 1 + MD5_FF (d, a, b, c, in[1], MD5_S12, (uint32_t) 3905402710u); // 2 + MD5_FF (c, d, a, b, in[2], MD5_S13, (uint32_t) 606105819u); // 3 + MD5_FF (b, c, d, a, in[3], MD5_S14, (uint32_t) 3250441966u); // 4 + MD5_FF (a, b, c, d, in[4], MD5_S11, (uint32_t) 4118548399u); // 5 + MD5_FF (d, a, b, c, in[5], MD5_S12, (uint32_t) 1200080426u); // 6 + MD5_FF (c, d, a, b, in[6], MD5_S13, (uint32_t) 2821735955u); // 7 + MD5_FF (b, c, d, a, in[7], MD5_S14, (uint32_t) 4249261313u); // 8 + MD5_FF (a, b, c, d, in[8], MD5_S11, (uint32_t) 1770035416u); // 9 + MD5_FF (d, a, b, c, in[9], MD5_S12, (uint32_t) 2336552879u); // 10 + MD5_FF (c, d, a, b, in[10], MD5_S13, (uint32_t) 4294925233u); // 11 + MD5_FF (b, c, d, a, in[11], MD5_S14, (uint32_t) 2304563134u); // 12 + MD5_FF (a, b, c, d, in[12], MD5_S11, (uint32_t) 1804603682u); // 13 + MD5_FF (d, a, b, c, in[13], MD5_S12, (uint32_t) 4254626195u); // 14 + MD5_FF (c, d, a, b, in[14], MD5_S13, (uint32_t) 2792965006u); // 15 + MD5_FF (b, c, d, a, in[15], MD5_S14, (uint32_t) 1236535329u); // 16 + + // round 2 + MD5_GG (a, b, c, d, in[1], MD5_S21, (uint32_t) 4129170786u); // 17 + MD5_GG (d, a, b, c, in[6], MD5_S22, (uint32_t) 3225465664u); // 18 + MD5_GG (c, d, a, b, in[11], MD5_S23, (uint32_t) 643717713u); // 19 + MD5_GG (b, c, d, a, in[0], MD5_S24, (uint32_t) 3921069994u); // 20 + MD5_GG (a, b, c, d, in[5], MD5_S21, (uint32_t) 3593408605u); // 21 + MD5_GG (d, a, b, c, in[10], MD5_S22, (uint32_t) 38016083u); // 22 + MD5_GG (c, d, a, b, in[15], MD5_S23, (uint32_t) 3634488961u); // 23 + MD5_GG (b, c, d, a, in[4], MD5_S24, (uint32_t) 3889429448u); // 24 + MD5_GG (a, b, c, d, in[9], MD5_S21, (uint32_t) 568446438u); // 25 + MD5_GG (d, a, b, c, in[14], MD5_S22, (uint32_t) 3275163606u); // 26 + MD5_GG (c, d, a, b, in[3], MD5_S23, (uint32_t) 4107603335u); // 27 + MD5_GG (b, c, d, a, in[8], MD5_S24, (uint32_t) 1163531501u); // 28 + MD5_GG (a, b, c, d, in[13], MD5_S21, (uint32_t) 2850285829u); // 29 + MD5_GG (d, a, b, c, in[2], MD5_S22, (uint32_t) 4243563512u); // 30 + MD5_GG (c, d, a, b, in[7], MD5_S23, (uint32_t) 1735328473u); // 31 + MD5_GG (b, c, d, a, in[12], MD5_S24, (uint32_t) 2368359562u); // 32 + + // round 3 + MD5_HH (a, b, c, d, in[5], MD5_S31, (uint32_t) 4294588738u); // 33 + MD5_HH (d, a, b, c, in[8], MD5_S32, (uint32_t) 2272392833u); // 34 + MD5_HH (c, d, a, b, in[11], MD5_S33, (uint32_t) 1839030562u); // 35 + MD5_HH (b, c, d, a, in[14], MD5_S34, (uint32_t) 4259657740u); // 36 + MD5_HH (a, b, c, d, in[1], MD5_S31, (uint32_t) 2763975236u); // 37 + MD5_HH (d, a, b, c, in[4], MD5_S32, (uint32_t) 1272893353u); // 38 + MD5_HH (c, d, a, b, in[7], MD5_S33, (uint32_t) 4139469664u); // 39 + MD5_HH (b, c, d, a, in[10], MD5_S34, (uint32_t) 3200236656u); // 40 + MD5_HH (a, b, c, d, in[13], MD5_S31, (uint32_t) 681279174u); // 41 + MD5_HH (d, a, b, c, in[0], MD5_S32, (uint32_t) 3936430074u); // 42 + MD5_HH (c, d, a, b, in[3], MD5_S33, (uint32_t) 3572445317u); // 43 + MD5_HH (b, c, d, a, in[6], MD5_S34, (uint32_t) 76029189u); // 44 + MD5_HH (a, b, c, d, in[9], MD5_S31, (uint32_t) 3654602809u); // 45 + MD5_HH (d, a, b, c, in[12], MD5_S32, (uint32_t) 3873151461u); // 46 + MD5_HH (c, d, a, b, in[15], MD5_S33, (uint32_t) 530742520u); // 47 + MD5_HH (b, c, d, a, in[2], MD5_S34, (uint32_t) 3299628645u); // 48 + + // round 4 + MD5_II (a, b, c, d, in[0], MD5_S41, (uint32_t) 4096336452u); // 49 + MD5_II (d, a, b, c, in[7], MD5_S42, (uint32_t) 1126891415u); // 50 + MD5_II (c, d, a, b, in[14], MD5_S43, (uint32_t) 2878612391u); // 51 + MD5_II (b, c, d, a, in[5], MD5_S44, (uint32_t) 4237533241u); // 52 + MD5_II (a, b, c, d, in[12], MD5_S41, (uint32_t) 1700485571u); // 53 + MD5_II (d, a, b, c, in[3], MD5_S42, (uint32_t) 2399980690u); // 54 + MD5_II (c, d, a, b, in[10], MD5_S43, (uint32_t) 4293915773u); // 55 + MD5_II (b, c, d, a, in[1], MD5_S44, (uint32_t) 2240044497u); // 56 + MD5_II (a, b, c, d, in[8], MD5_S41, (uint32_t) 1873313359u); // 57 + MD5_II (d, a, b, c, in[15], MD5_S42, (uint32_t) 4264355552u); // 58 + MD5_II (c, d, a, b, in[6], MD5_S43, (uint32_t) 2734768916u); // 59 + MD5_II (b, c, d, a, in[13], MD5_S44, (uint32_t) 1309151649u); // 60 + MD5_II (a, b, c, d, in[4], MD5_S41, (uint32_t) 4149444226u); // 61 + MD5_II (d, a, b, c, in[11], MD5_S42, (uint32_t) 3174756917u); // 62 + MD5_II (c, d, a, b, in[2], MD5_S43, (uint32_t) 718787259u); // 63 + MD5_II (b, c, d, a, in[9], MD5_S44, (uint32_t) 3951481745u); // 64 + + buf[0] += a; + buf[1] += b; + buf[2] += c; + buf[3] += d; +} + + +// set pseudoRandomNumber to zero for RFC MD5 implementation +void +md5_init (s_md5_ctx_t *mdContext, unsigned long pseudoRandomNumber) +{ + mdContext->i[0] = mdContext->i[1] = (uint32_t) 0; + + // Load magic initialization constants + mdContext->buf[0] = (uint32_t) 0x67452301 + (pseudoRandomNumber * 11); + mdContext->buf[1] = (uint32_t) 0xefcdab89 + (pseudoRandomNumber * 71); + mdContext->buf[2] = (uint32_t) 0x98badcfe + (pseudoRandomNumber * 37); + mdContext->buf[3] = (uint32_t) 0x10325476 + (pseudoRandomNumber * 97); +} + + +void +md5_update (s_md5_ctx_t *mdContext, unsigned char *inBuf, unsigned int inLen) +{ + uint32_t in[16]; + int mdi = 0; + unsigned int i = 0, ii = 0; + + // Compute number of bytes mod 64 + mdi = (int) ((mdContext->i[0] >> 3) & 0x3F); + + // Update number of bits + if ((mdContext->i[0] + ((uint32_t) inLen << 3)) < mdContext->i[0]) + mdContext->i[1]++; + mdContext->i[0] += ((uint32_t) inLen << 3); + mdContext->i[1] += ((uint32_t) inLen >> 29); + + while (inLen--) + { + // Add new character to buffer, increment mdi + mdContext->in[mdi++] = *inBuf++; + + // Transform if necessary + if (mdi == 0x40) + { + for (i = 0, ii = 0; i < 16; i++, ii += 4) + in[i] = (((uint32_t) mdContext->in[ii + 3]) << 24) | + (((uint32_t) mdContext->in[ii + 2]) << 16) | + (((uint32_t) mdContext->in[ii + 1]) << 8) | + ((uint32_t) mdContext->in[ii]); + + md5_transform (mdContext->buf, in); + mdi = 0; + } + } +} + + +void +md5_final (s_md5_ctx_t *mdContext) +{ + uint32_t in[16]; + int mdi = 0; + unsigned int i = 0, ii = 0, padLen = 0; + + // Save number of bits + in[14] = mdContext->i[0]; + in[15] = mdContext->i[1]; + + // Compute number of bytes mod 64 + mdi = (int) ((mdContext->i[0] >> 3) & 0x3F); + + // Pad out to 56 mod 64 + padLen = (mdi < 56) ? (56 - mdi) : (120 - mdi); + md5_update (mdContext, md5_padding, padLen); + + // Append length in bits and transform + for (i = 0, ii = 0; i < 14; i++, ii += 4) + in[i] = (((uint32_t) mdContext->in[ii + 3]) << 24) | + (((uint32_t) mdContext->in[ii + 2]) << 16) | + (((uint32_t) mdContext->in[ii + 1]) << 8) | ((uint32_t) mdContext->in[ii]); + + md5_transform (mdContext->buf, in); + + // Store buffer in digest + for (i = 0, ii = 0; i < 4; i++, ii += 4) + { + mdContext->digest[ii] = (unsigned char) (mdContext->buf[i] & 0xFF); + mdContext->digest[ii + 1] = + (unsigned char) ((mdContext->buf[i] >> 8) & 0xFF); + mdContext->digest[ii + 2] = + (unsigned char) ((mdContext->buf[i] >> 16) & 0xFF); + mdContext->digest[ii + 3] = + (unsigned char) ((mdContext->buf[i] >> 24) & 0xFF); + } +} + + +// CRC16 +//#define WITH_CRC16 // currently not used + +#if !defined USE_ZLIB || defined WITH_CRC16 + +#define CRC16_POLYNOMIAL 0xa001 +#define CRC32_POLYNOMIAL 0xedb88320 + + +void +init_crc_table (void *table, unsigned int polynomial) +// works for crc16 and crc32 +{ + unsigned int crc, i, j; + + for (i = 0; i < 256; i++) + { + crc = i; + for (j = 8; j > 0; j--) + if (crc & 1) + crc = (crc >> 1) ^ polynomial; + else + crc >>= 1; + + if (polynomial == CRC32_POLYNOMIAL) + ((unsigned int *) table)[i] = crc; + else + ((unsigned short *) table)[i] = (unsigned short) crc; + } +} +#endif + + +#ifdef WITH_CRC16 + +static unsigned short *crc16_table = NULL; + + +static void +free_crc16_table (void) +{ + free (crc16_table); + crc16_table = NULL; +} + + +unsigned short +chksum_crc16 (unsigned short crc, const void *buffer, unsigned int size) +{ + unsigned char *p = (unsigned char *) buffer; + + if (!crc16_table) + { + crc16_table = (unsigned short *) malloc (256 * 2); + register_func (free_crc16_table); + init_crc_table (crc16_table, CRC16_POLYNOMIAL); + } + + crc = ~crc; + while (size--) + crc = (crc >> 8) ^ crc16_table[(crc ^ *p++) & 0xff]; + return ~crc; +} +#endif + + +// CRC32 +#ifndef USE_ZLIB + +static unsigned int *crc32_table = NULL; + + +static void +free_crc32_table (void) +{ + free (crc32_table); + crc32_table = NULL; +} + + +unsigned int +crc32 (unsigned int crc, const void *buffer, unsigned int size) +{ + unsigned char *p = (unsigned char *) buffer; + + if (!crc32_table) + { + crc32_table = (unsigned int *) malloc (256 * 4); + register_func (free_crc32_table); + init_crc_table (crc32_table, CRC32_POLYNOMIAL); + } + + crc = ~crc; + while (size--) + crc = (crc >> 8) ^ crc32_table[(crc ^ *p++) & 0xff]; + return ~crc; +} +#endif diff --git a/tools/ucon64-2.0.0-src/src/misc/chksum.h b/tools/ucon64-2.0.0-src/src/misc/chksum.h new file mode 100644 index 0000000..f7aab29 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/misc/chksum.h @@ -0,0 +1,105 @@ +/* +chksum.h - miscellaneous checksum functions + SHA1, MD5, CRC16 and CRC32 + +Copyright (c) 1999 - 2004 NoisyB +Copyright (c) 2001 - 2004 dbjh + +sha1 - Copyright (c) 2002, Dr Brian Gladman , Worcester, UK. + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + + +MD5 - Copyright (C) 1990, RSA Data Security, Inc. All rights reserved. + License to copy and use this software is granted provided that + it is identified as the "RSA Data Security, Inc. MD5 Message + Digest Algorithm" in all material mentioning or referencing this + software or this function. +*/ +#ifndef MISC_CHKSUM_H +#define MISC_CHKSUM_H + +#ifdef HAVE_CONFIG_H +#include "config.h" // USE_ZLIB +#endif +#ifdef __cplusplus +extern "C" { +#endif +#ifdef HAVE_INTTYPES_H +#include +#else // __MSDOS__, _WIN32 (VC++) +#include "itypes.h" +#endif + + +/* + s_sha1_ctx_t + sha1_begin() start sha1 + sha1() process data + sha1_end() stop sha1 + + s_md5_ctx_t + md5_init() start md5 + md5_update() process data + md5_final() stop md5 + + chksum_crc16() + + crc32() a crc32() clone (if no ZLIB is used) + use zlib's crc32() if USE_ZLIB is defined... + ... but make it possible to link against a library + that uses zlib while this code does not use it +*/ +typedef struct +{ + uint32_t count[2]; + uint32_t hash[5]; + uint32_t wbuf[16]; +} s_sha1_ctx_t; + +extern void sha1_begin (s_sha1_ctx_t ctx[1]); +extern void sha1 (s_sha1_ctx_t ctx[1], const unsigned char data[], unsigned int len); +extern void sha1_end (unsigned char hval[], s_sha1_ctx_t ctx[1]); + + +// data structure for MD5 (Message Digest) computation +typedef struct +{ + uint32_t i[2]; // number of _bits_ handled mod 2^64 + uint32_t buf[4]; // scratch buffer + unsigned char in[64]; // input buffer + unsigned char digest[16]; // actual digest after md5_final call +} s_md5_ctx_t; + +extern void md5_init (s_md5_ctx_t *mdContext, unsigned long pseudoRandomNumber); +extern void md5_update (s_md5_ctx_t *mdContext, unsigned char *inBuf, unsigned int inLen); +extern void md5_final (s_md5_ctx_t *mdContext); + + +#ifdef WITH_CRC16 +extern unsigned short chksum_crc16 (unsigned short crc, const void *buffer, unsigned int size); +#endif + +#ifndef USE_ZLIB +extern unsigned int crc32 (unsigned int crc, const void *buffer, unsigned int size); +#endif + + +#ifdef __cplusplus +} +#endif + +#endif // MISC_CHKSUM_H diff --git a/tools/ucon64-2.0.0-src/src/misc/dlopen.c b/tools/ucon64-2.0.0-src/src/misc/dlopen.c new file mode 100644 index 0000000..1a6f65e --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/misc/dlopen.c @@ -0,0 +1,294 @@ +/* +dlopen.c - DLL support code + +Copyright (c) 2002 - 2004 dbjh + + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#ifdef DJGPP +#include +#elif defined __unix__ || defined __APPLE__ // Mac OS X actually; __unix__ is also +#include // defined under Cygwin (and DJGPP) +#elif defined _WIN32 +#include +#elif defined __BEOS__ +#include +#include +#endif + +#include +#include +#include + + +#ifdef DJGPP +#include "dxedll_pub.h" +#include "map.h" + + +#define INITIAL_HANDLE 1 +static st_map_t *dxe_map; +extern int errno; + + +void +uninit_func (void) +{ + fprintf (stderr, "An uninitialized member of the import/export structure was called!\n" + "Update dlopen.c/open_module()\n"); + exit (1); +} +#endif + + +void * +open_module (char *module_name) +{ + void *handle; +#ifdef DJGPP + static int new_handle = INITIAL_HANDLE; + int n, m; + st_symbol_t *sym = _dxe_load (module_name); + /* + _dxe_load() doesn't really return a handle. It returns a pointer to the one + symbol a DXE module can export. + */ + if (sym == 0) + { + fprintf (stderr, "Error while loading DXE module: %s\n", module_name); + exit (1); + } + + if (sym->size != sizeof (st_symbol_t)) + { + fprintf (stderr, "Incompatible DXE module: %s\n", module_name); + exit (1); + } + + // initialize the import/export structure + + /* + Catch calls to uninitialized members in case a new function was added to + st_symbol_t, but forgotten to initialize here. + */ + m = sizeof (st_symbol_t) / sizeof (void (*) (void)); + for (n = 0; n < m && ((void (**) (void)) sym)[n] != 0; n++) // Don't overwrite values initialized by DXE + ; + for (; n < m; n++) + ((void (**) (void)) sym)[n] = uninit_func; + + // initialize functions + sym->printf = printf; + sym->fprintf = fprintf; + sym->vfprintf = vfprintf; + sym->sprintf = sprintf; + sym->vsprintf = vsprintf; + sym->puts = puts; + sym->fputs = fputs; + sym->sscanf = sscanf; + sym->vsscanf = vsscanf; + sym->fopen = fopen; + sym->fdopen = fdopen; + sym->popen = popen; + sym->fclose = fclose; + sym->pclose = pclose; + sym->fseek = fseek; + sym->ftell = ftell; + sym->rewind = rewind; + sym->fread = fread; + sym->fwrite = fwrite; + sym->fgetc = fgetc; + sym->fgets = fgets; + sym->feof = feof; + sym->fputc = fputc; + sym->fflush = fflush; + sym->ferror = ferror; + sym->rename = rename; + sym->remove = remove; + + sym->free = free; + sym->malloc = malloc; + sym->calloc = calloc; + sym->realloc = realloc; + sym->exit = exit; + sym->strtol = strtol; + sym->getenv = getenv; + sym->srand = srand; + sym->rand = rand; + sym->atoi = atoi; + + sym->memcpy = memcpy; + sym->memset = memset; + sym->strcmp = strcmp; + sym->strcpy = strcpy; + sym->strncpy = strncpy; + sym->strcat = strcat; + sym->strncat = strncat; + sym->strcasecmp = strcasecmp; + sym->strncasecmp = strncasecmp; + sym->strchr = strchr; + sym->strrchr = strrchr; + sym->strpbrk = strpbrk; + sym->strspn = strspn; + sym->strcspn = strcspn; + sym->strlen = strlen; + sym->strstr = strstr; + sym->strdup = strdup; + sym->strtok = strtok; + + sym->tolower = tolower; + sym->toupper = toupper; + sym->isupper = isupper; + + sym->opendir = opendir; + sym->readdir = readdir; + sym->closedir = closedir; + + sym->access = access; + sym->rmdir = rmdir; + sym->isatty = isatty; + sym->chdir = chdir; + sym->getcwd = getcwd; + sym->getuid = getuid; + sym->sync = sync; + sym->truncate = truncate; + + sym->stat = stat; + sym->chmod = chmod; + sym->mkdir = mkdir; + sym->time = time; + sym->delay = delay; + sym->__dpmi_int = __dpmi_int; + + // initialize variables + sym->__dj_stdin = __dj_stdin; + sym->__dj_stdout = __dj_stdout; + sym->__dj_stderr = __dj_stderr; + sym->__dj_ctype_flags = __dj_ctype_flags; + sym->__dj_ctype_tolower = __dj_ctype_tolower; + sym->__dj_ctype_toupper = __dj_ctype_toupper; + sym->errno = errno; + + // initialize the DXE module + sym->dxe_init (); + + if (new_handle == INITIAL_HANDLE) + dxe_map = map_create (10); + dxe_map = map_put (dxe_map, (void *) new_handle, sym); + handle = (void *) new_handle++; +#elif defined __unix__ || defined __APPLE__ // Mac OS X actually + /* + We use dlcompat under Mac OS X simply because it's there. I (dbjh) don't + want to add extra code only because "using the native api's is the supported + method of loading dynamically on Mac OS X" (Peter O'Gorman, maintainer of + dlcompat). Besides, dlcompat has been tested while any new code we add, not. + RTLD_NOW is ignored by dlcompat (7-12-2003). + */ + if ((handle = dlopen (module_name, RTLD_LAZY)) == NULL) + { + fputs (dlerror (), stderr); + fputc ('\n', stderr); + exit (1); + } +#elif defined _WIN32 + if ((handle = LoadLibrary (module_name)) == NULL) + { + LPTSTR strptr; + + FormatMessage (FORMAT_MESSAGE_ALLOCATE_BUFFER | + FORMAT_MESSAGE_FROM_SYSTEM | + FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, GetLastError (), + MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT), + (LPTSTR) &strptr, 0, NULL); + // Note the construct with strptr. You wouldn't believe what a bunch of + // fucking morons those guys at Microsoft are! + fputs (strptr, stderr); + LocalFree (strptr); + exit (1); + } +#elif defined __BEOS__ + if ((int) (handle = (void *) load_add_on (module_name)) < B_NO_ERROR) + { + fprintf (stderr, "Error while loading add-on image: %s\n", module_name); + exit (1); + } +#endif + + return handle; +} + + +void * +get_symbol (void *handle, char *symbol_name) +{ + void *symptr; +#ifdef DJGPP + st_symbol_t *sym = map_get (dxe_map, handle); + if (sym == NULL) + { + fprintf (stderr, "Invalid handle: %x\n", (int) handle); + exit (1); + } + + symptr = sym->dxe_symbol (symbol_name); + if (symptr == NULL) + { + fprintf (stderr, "Could not find symbol: %s\n", symbol_name); + exit (1); + } +#elif defined __unix__ || defined __APPLE__ // Mac OS X actually, see + char *strptr; // comment in open_module() + + symptr = dlsym (handle, symbol_name); + if ((strptr = (char *) dlerror ()) != NULL) // this is "the correct way" + { // according to the info page + fputs (strptr, stderr); + fputc ('\n', stderr); + exit (1); + } +#elif defined _WIN32 + symptr = (void *) GetProcAddress ((HINSTANCE) handle, symbol_name); + if (symptr == NULL) + { + LPTSTR strptr; + + FormatMessage (FORMAT_MESSAGE_ALLOCATE_BUFFER | + FORMAT_MESSAGE_FROM_SYSTEM | + FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, GetLastError (), + MAKELANGID (LANG_NEUTRAL, SUBLANG_DEFAULT), + (LPTSTR) &strptr, 0, NULL); + fputs (strptr, stderr); + LocalFree (strptr); + exit (1); + } +#elif defined __BEOS__ + int status = get_image_symbol ((int) handle, symbol_name, + B_SYMBOL_TYPE_TEXT, &symptr); // B_SYMBOL_TYPE_DATA/B_SYMBOL_TYPE_ANY + if (status != B_OK) + { + fprintf (stderr, "Could not find symbol: %s\n", symbol_name); + exit (1); + } +#endif + + return symptr; +} diff --git a/tools/ucon64-2.0.0-src/src/misc/dlopen.h b/tools/ucon64-2.0.0-src/src/misc/dlopen.h new file mode 100644 index 0000000..7dbcb0a --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/misc/dlopen.h @@ -0,0 +1,27 @@ +/* +dlopen.h - DLL support code + +Copyright (c) 2002 dbjh + + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ +#ifndef DLOPEN_H +#define DLOPEN_H + +void *open_module (char *module_name); +void *get_symbol (void *handle, char *symbol_name); + +#endif // DLOPEN_H diff --git a/tools/ucon64-2.0.0-src/src/misc/dxedll_pub.h b/tools/ucon64-2.0.0-src/src/misc/dxedll_pub.h new file mode 100644 index 0000000..e23baae --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/misc/dxedll_pub.h @@ -0,0 +1,159 @@ +/* +dxedll_pub.h - DXE client support code + +Copyright (c) 2002 - 2004 dbjh + + +This library is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +This library is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +*/ +#ifndef DXEDLL_PUB_H +#define DXEDLL_PUB_H + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#include +#ifdef HAVE_DIRENT_H +#include +#endif +#ifdef HAVE_UNISTD_H +#include +#endif +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct st_symbol +{ + // functions exported by the DXE module + int (*dxe_init) (void); + void *(*dxe_symbol) (char *symbol_name); + + // variables exported by the DXE module + int size; // yes, this var needs to be here + // (or it could be a function) + /* + functions imported by the DXE module + Note that most functions used by the DXE module and not defined in it + should be listed here. That includes standard C library functions and + variables. + */ + int (*printf) (const char *, ...); + int (*fprintf) (FILE *, const char *, ...); + int (*vfprintf) (FILE *, const char *, va_list); + int (*sprintf) (char *, const char *, ...); + int (*vsprintf) (char *, const char *, va_list); + int (*puts) (const char *); + int (*fputs) (const char *, FILE *); + int (*sscanf) (const char *, const char *, ...); + int (*vsscanf) (const char *, const char *, va_list); + FILE *(*fopen) (const char *, const char *); + FILE *(*fdopen) (int, const char *); + FILE *(*popen) (const char *, const char *); + int (*fclose) (FILE *); + int (*pclose) (FILE *); + int (*fseek) (FILE *, long, int); + long (*ftell) (FILE *); + void (*rewind) (FILE *); + size_t (*fread) (void *, size_t, size_t, FILE *); + size_t (*fwrite) (const void *, size_t, size_t, FILE *); + int (*fgetc) (FILE *); + char *(*fgets) (char *, int, FILE *); + int (*feof) (FILE *); + int (*fputc) (int, FILE *); + int (*fflush) (FILE *); + int (*ferror) (FILE *); + int (*rename) (const char *, const char *); + int (*remove) (const char *); + + void (*free) (void *); + void *(*malloc) (size_t); + void *(*calloc) (size_t, size_t); + void *(*realloc) (void *, size_t); + void (*exit) (int) __attribute__ ((noreturn)); + long (*strtol) (const char *, char **, int); + char *(*getenv) (const char *); + void (*srand) (unsigned); + int (*rand) (void); + int (*atoi) (const char *); + + void *(*memcpy) (void *, const void *, size_t); + void *(*memset) (void *, int, size_t); + int (*strcmp) (const char *, const char *); + char *(*strcpy) (char *, const char *); + char *(*strncpy) (char *, const char *, size_t); + char *(*strcat) (char *, const char *); + char *(*strncat) (char *, const char *, size_t); + int (*strcasecmp) (const char *, const char *); + int (*strncasecmp) (const char *, const char *, size_t); + char *(*strchr) (const char *, int); + char *(*strrchr) (const char *, int); + char *(*strpbrk) (const char *, const char *); + size_t (*strspn) (const char *, const char *); + size_t (*strcspn) (const char *, const char *); + size_t (*strlen) (const char *); + char *(*strstr) (const char *, const char *); + char *(*strdup) (const char *); + char *(*strtok) (char *, const char *); + + int (*tolower) (int); + int (*toupper) (int); + int (*isupper) (int); + + DIR *(*opendir) (const char *); + struct dirent *(*readdir) (DIR *); + int (*closedir) (DIR *); + + // va_start(), va_arg() and va_end() are macros + + int (*access) (const char *, int); + int (*rmdir) (const char *); + int (*isatty) (int); + int (*chdir) (const char *); + char *(*getcwd) (char *, size_t); + int (*getuid) (void); + int (*sync) (void); + int (*truncate) (const char *, off_t); + + int (*stat) (const char *, struct stat *); + int (*chmod) (const char *, mode_t); + int (*mkdir) (const char *, mode_t); + time_t (*time) (time_t *); + void (*delay) (unsigned); + int (*__dpmi_int) (int, __dpmi_regs *); + + // Put all variables AFTER the functions. This makes it easy to catch + // uninitialized function pointers. + FILE __dj_stdin, __dj_stdout, __dj_stderr; + // WARNING: actually the __dj_ctype_X variables are arrays + unsigned short *__dj_ctype_flags; + unsigned char *__dj_ctype_tolower, *__dj_ctype_toupper; + int errno; +} st_symbol_t; + +#ifdef __cplusplus +} +#endif + +#endif // DXEDLL_PUB_H diff --git a/tools/ucon64-2.0.0-src/src/misc/file.c b/tools/ucon64-2.0.0-src/src/misc/file.c new file mode 100644 index 0000000..033c867 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/misc/file.c @@ -0,0 +1,1009 @@ +/* +file.c - miscellaneous file functions + +Copyright (c) 1999 - 2004 NoisyB +Copyright (c) 2001 - 2004 dbjh +Copyright (c) 2002 - 2004 Jan-Erik Karlsson (Amiga) + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" // USE_ZLIB +#endif +#include +#include +#include +#ifdef HAVE_UNISTD_H +#include +#endif +#include +#include +#include +#include +#include // va_arg() +#include // for S_IFLNK + +#ifdef __MSDOS__ +#include // delay(), milliseconds +#elif defined __unix__ +#include // usleep(), microseconds +#elif defined __BEOS__ +#include // snooze(), microseconds +// Include OS.h before misc.h, because OS.h includes StorageDefs.h which +// includes param.h which unconditionally defines MIN and MAX. +#elif defined AMIGA +#include +#include +#include +#include +#include // GetKey() +#include +#include +#elif defined _WIN32 +#include // Sleep(), milliseconds +#endif + +#ifdef HAVE_INTTYPES_H +#include +#else // __MSDOS__, _WIN32 (VC++) +#include "itypes.h" +#endif +#ifdef USE_ZLIB +#include "archive.h" +#endif +#include "file.h" +#include "misc.h" // getenv2() +#include "getopt.h" // struct option + +#ifdef DJGPP +#ifdef DLL +#include "dxedll_priv.h" +#endif +#endif + +#ifndef MAXBUFSIZE +#define MAXBUFSIZE 32768 +#endif // MAXBUFSIZE + +#ifndef MAX +#define MAX(a,b) ((a) > (b) ? (a) : (b)) +#endif +#ifndef MIN +#define MIN(a,b) ((a) < (b) ? (a) : (b)) +#endif + +#ifdef _MSC_VER +// Visual C++ doesn't allow inline in C source code +#define inline __inline +#endif + + +extern int errno; + + +int +isfname (int c) +{ + // characters that are allowed in filenames + return ((isalnum (c) || (c && strchr (".,'+- ()[]!&_", c)))); +} + + +int +tofname (int c) +{ + return isfname (c) ? c : '_'; +} + + +#ifndef HAVE_REALPATH +#undef realpath +char * +realpath (const char *path, char *full_path) +{ +#if defined __unix__ || defined __BEOS__ || defined __MSDOS__ +/* + Keep the "defined _WIN32"'s in this code in case GetFullPathName() turns out + to have some unexpected problems. This code works for Visual C++, but it + doesn't return the same paths as GetFullPathName() does. Most notably, + GetFullPathName() expands :. to the current directory of + : while this code doesn't. +*/ +#define MAX_READLINKS 32 + char copy_path[FILENAME_MAX], got_path[FILENAME_MAX], *new_path = got_path, + *max_path; +#if defined __MSDOS__ || defined _WIN32 || defined __CYGWIN__ + char c; +#endif +#ifdef S_IFLNK + char link_path[FILENAME_MAX]; + int readlinks = 0; +#endif + int n; + + // Make a copy of the source path since we may need to modify it + n = strlen (path); + if (n >= FILENAME_MAX - 2) + return NULL; + else if (n == 0) + return NULL; + + strcpy (copy_path, path); + path = copy_path; + max_path = copy_path + FILENAME_MAX - 2; +#if defined __MSDOS__ || defined _WIN32 || defined __CYGWIN__ + c = toupper (*path); + if (c >= 'A' && c <= 'Z' && path[1] == ':') + { + *new_path++ = *path++; + *new_path++ = *path++; + if (*path == FILE_SEPARATOR) + *new_path++ = *path++; + } + else +#endif + if (*path != FILE_SEPARATOR) + { + getcwd (new_path, FILENAME_MAX - 1); +#ifdef DJGPP + // DJGPP's getcwd() returns a path with forward slashes + { + int l = strlen (new_path); + for (n = 0; n < l; n++) + if (new_path[n] == '/') + new_path[n] = FILE_SEPARATOR; + } +#endif + new_path += strlen (new_path); + if (*(new_path - 1) != FILE_SEPARATOR) + *new_path++ = FILE_SEPARATOR; + } + else + { + *new_path++ = FILE_SEPARATOR; + path++; + } + + // Expand each (back)slash-separated pathname component + while (*path != 0) + { + // Ignore stray FILE_SEPARATOR + if (*path == FILE_SEPARATOR) + { + path++; + continue; + } + if (*path == '.') + { + // Ignore "." + if (path[1] == 0 || path[1] == FILE_SEPARATOR) + { + path++; + continue; + } + if (path[1] == '.') + { + if (path[2] == 0 || path[2] == FILE_SEPARATOR) + { + path += 2; + // Ignore ".." at root + if (new_path == got_path + 1) + continue; + // Handle ".." by backing up + while (*((--new_path) - 1) != FILE_SEPARATOR) + ; + continue; + } + } + } + // Safely copy the next pathname component + while (*path != 0 && *path != FILE_SEPARATOR) + { + if (path > max_path) + return NULL; + + *new_path++ = *path++; + } +#ifdef S_IFLNK + // Protect against infinite loops + if (readlinks++ > MAX_READLINKS) + return NULL; + + // See if latest pathname component is a symlink + *new_path = 0; + n = readlink (got_path, link_path, FILENAME_MAX - 1); + if (n < 0) + { + // EINVAL means the file exists but isn't a symlink + if (errno != EINVAL +#ifdef __BEOS__ + // Make this function work for a mounted ext2 fs ("/:") + && errno != B_NAME_TOO_LONG +#endif + ) + { + // Make sure it's null terminated + *new_path = 0; + strcpy (full_path, got_path); + return NULL; + } + } + else + { + // NOTE: readlink() doesn't add the null byte + link_path[n] = 0; + if (*link_path == FILE_SEPARATOR) + // Start over for an absolute symlink + new_path = got_path; + else + // Otherwise back up over this component + while (*(--new_path) != FILE_SEPARATOR) + ; + if (strlen (path) + n >= FILENAME_MAX - 2) + return NULL; + // Insert symlink contents into path + strcat (link_path, path); + strcpy (copy_path, link_path); + path = copy_path; + } +#endif // S_IFLNK + *new_path++ = FILE_SEPARATOR; + } + // Delete trailing slash but don't whomp a lone slash + if (new_path != got_path + 1 && *(new_path - 1) == FILE_SEPARATOR) + { +#if defined __MSDOS__ || defined _WIN32 || defined __CYGWIN__ + if (new_path >= got_path + 3) + { + if (*(new_path - 2) == ':') + { + c = toupper (*(new_path - 3)); + if (!(c >= 'A' && c <= 'Z')) + new_path--; + } + else + new_path--; + } + else + new_path--; +#else + new_path--; +#endif + } + // Make sure it's null terminated + *new_path = 0; + strcpy (full_path, got_path); + + return full_path; +#elif defined _WIN32 + char *p, c; + int n; + + if (GetFullPathName (path, FILENAME_MAX, full_path, &p) == 0) + return NULL; + + c = toupper (full_path[0]); + n = strlen (full_path) - 1; + // Remove trailing separator if full_path is not the root dir of a drive, + // because Visual C++'s run-time system is *really* stupid + if (full_path[n] == FILE_SEPARATOR && + !(c >= 'A' && c <= 'Z' && full_path[1] == ':' && full_path[3] == 0)) // && full_path[2] == FILE_SEPARATOR + full_path[n] = 0; + + return full_path; +#elif defined AMIGA + strcpy (full_path, path); + return full_path; +#endif +} +#endif + + +#if 0 +st_strpath_t * +strpath (st_strpath_t *path, const char *path_s) +{ +// TODO: compare this with splitpath() + if (path_s == NULL) + return NULL; + + realpath2 (path_s, path->realpath); + +#if defined DJGPP || defined __CYGWIN__ || defined _WIN32 + if (isalpha (path->realpath[0]) && + path->realpath[1] == ':' && + path->realpath[2] == FILE_SEPARATOR) + sprintf (path->drive, "%c:\\", toupper (path->realpath[0])); +#else + strcpy (path->drive, FILE_SEPARATOR_S); +#endif + + dirname2 (path_s, path->dirname); + strcpy (path->basename, basename2 (path_s)); + strcpy (path->suffix, get_suffix (path_s)); + + return path; +} +#endif + + +char * +realpath2 (const char *path, char *full_path) +// enhanced realpath() which returns the absolute path of a file +{ + char path1[FILENAME_MAX]; + const char *path2; + + if (path[0] == '~') + { + if (path[1] == FILE_SEPARATOR +#ifdef __CYGWIN__ + || path[1] == '\\' +#endif + ) + sprintf (path1, "%s"FILE_SEPARATOR_S"%s", getenv2 ("HOME"), &path[2]); + else if (path[1] == 0) + strcpy (path1, getenv2 ("HOME")); + path2 = path1; + } + else + path2 = path; + + return realpath (path2, full_path); +} + + +char * +dirname2 (const char *path, char *dir) +{ + char *p1; +#if defined DJGPP || defined __CYGWIN__ + char *p2; +#endif + + if (path == NULL) + return NULL; + + strcpy (dir, path); +#if defined DJGPP || defined __CYGWIN__ + // Yes, DJGPP, not __MSDOS__, because DJGPP's dirname() behaves the same + // Cygwin has no dirname() + p1 = strrchr (dir, '/'); + p2 = strrchr (dir, '\\'); + if (p2 > p1) // use the last separator in path + p1 = p2; +#else + p1 = strrchr (dir, FILE_SEPARATOR); +#endif + +#if defined DJGPP || defined __CYGWIN__ || defined _WIN32 + if (p1 == NULL) // no slash, perhaps a drive? + { + if ((p1 = strrchr (dir, ':'))) + { + p1[1] = '.'; + p1 += 2; + } + } +#endif + + while (p1 > dir && // find first of last separators (we have to strip trailing ones) +#if defined DJGPP || defined __CYGWIN__ + ((*(p1 - 1) == '/' && (*p1 == '/' || *p1 == '\\')) + || + (*(p1 - 1) == '\\' && (*p1 == '\\' || *p1 == '/')))) +#else + (*(p1 - 1) == FILE_SEPARATOR && *p1 == FILE_SEPARATOR)) +#endif + p1--; + + if (p1 == dir) + p1++; // don't overwrite single separator (root dir) +#if defined DJGPP || defined __CYGWIN__ || defined _WIN32 + else if (p1 > dir) + if (*(p1 - 1) == ':') + p1++; // we must not overwrite the last separator if +#endif // it was directly preceded by a drive letter + + if (p1) + *p1 = 0; // terminate string (overwrite the separator) + else + { + dir[0] = '.'; + dir[1] = 0; + } + + return dir; +} + + +const char * +basename2 (const char *path) +{ + char *p1; +#if defined DJGPP || defined __CYGWIN__ + char *p2; +#endif + + if (path == NULL) + return NULL; + +#if defined DJGPP || defined __CYGWIN__ + // Yes, DJGPP, not __MSDOS__, because DJGPP's basename() behaves the same + // Cygwin has no basename() + p1 = strrchr (path, '/'); + p2 = strrchr (path, '\\'); + if (p2 > p1) // use the last separator in path + p1 = p2; +#else + p1 = strrchr (path, FILE_SEPARATOR); +#endif + +#if defined DJGPP || defined __CYGWIN__ || defined _WIN32 + if (p1 == NULL) // no slash, perhaps a drive? + p1 = strrchr (path, ':'); +#endif + + return p1 ? p1 + 1 : path; +} + + +const char * +get_suffix (const char *filename) +// Note that get_suffix() never returns NULL. Other code relies on that! +{ + const char *p, *s; + + if (!(p = basename2 (filename))) + p = filename; + if (!(s = strrchr (p, '.'))) + s = strchr (p, 0); // strchr(p, 0) and NOT "" is the + if (s == p) // suffix of a file without suffix + s = strchr (p, 0); // files can start with '.' + + return s; +} + + +char * +set_suffix (char *filename, const char *suffix) +{ + // always use set_suffix() and NEVER the code below + strcpy ((char *) get_suffix (filename), suffix); + + return filename; +} + + +int +one_file (const char *filename1, const char *filename2) +// returns 1 if filename1 and filename2 refer to one file, 0 if not (or error) +{ +#ifndef _WIN32 + struct stat finfo1, finfo2; + + /* + Not the name, but the combination inode & device identify a file. + Note that stat() doesn't need any access rights except search rights for + the directories in the path to the file. + */ + if (stat (filename1, &finfo1) != 0) + return 0; + if (stat (filename2, &finfo2) != 0) + return 0; + if (finfo1.st_dev == finfo2.st_dev && finfo1.st_ino == finfo2.st_ino) + return 1; + else + return 0; +#else + HANDLE file1, file2; + BY_HANDLE_FILE_INFORMATION finfo1, finfo2; + + file1 = CreateFile (filename1, 0, FILE_SHARE_READ, NULL, OPEN_EXISTING, + FILE_ATTRIBUTE_NORMAL, NULL); + if (file1 == INVALID_HANDLE_VALUE) + return 0; + file2 = CreateFile (filename2, 0, FILE_SHARE_READ, NULL, OPEN_EXISTING, + FILE_ATTRIBUTE_NORMAL, NULL); + if (file2 == INVALID_HANDLE_VALUE) + { + CloseHandle (file1); + return 0; + } + GetFileInformationByHandle (file1, &finfo1); + GetFileInformationByHandle (file2, &finfo2); + CloseHandle (file1); + CloseHandle (file2); + if (finfo1.dwVolumeSerialNumber == finfo2.dwVolumeSerialNumber && + (finfo1.nFileIndexHigh << 16 | finfo1.nFileIndexLow) == + (finfo2.nFileIndexHigh << 16 | finfo2.nFileIndexLow)) + return 1; + else + return 0; +#endif +} + + +int +one_filesystem (const char *filename1, const char *filename2) +// returns 1 if filename1 and filename2 reside on one file system, 0 if not +// (or an error occurred) +{ +#ifndef _WIN32 + struct stat finfo1, finfo2; + + if (stat (filename1, &finfo1) != 0) + return 0; + if (stat (filename2, &finfo2) != 0) + return 0; + if (finfo1.st_dev == finfo2.st_dev) + return 1; + else + return 0; +#else + DWORD fattrib1, fattrib2; + char path1[FILENAME_MAX], path2[FILENAME_MAX], *p, d1, d2; + HANDLE file1, file2; + BY_HANDLE_FILE_INFORMATION finfo1, finfo2; + + if ((fattrib1 = GetFileAttributes (filename1)) == (DWORD) -1) + return 0; + if ((fattrib2 = GetFileAttributes (filename2)) == (DWORD) -1) + return 0; + if (fattrib1 & FILE_ATTRIBUTE_DIRECTORY || fattrib2 & FILE_ATTRIBUTE_DIRECTORY) + /* + We special-case directories, because we can't use + FILE_FLAG_BACKUP_SEMANTICS as argument to CreateFile() under + Windows 9x/ME. There seems to be no Win32 function other than + CreateFile() to obtain a handle to a directory. + */ + { + if (GetFullPathName (filename1, FILENAME_MAX, path1, &p) == 0) + return 0; + if (GetFullPathName (filename2, FILENAME_MAX, path2, &p) == 0) + return 0; + d1 = toupper (path1[0]); + d2 = toupper (path2[0]); + if (d1 == d2 && d1 >= 'A' && d1 <= 'Z' && d2 >= 'A' && d2 <= 'Z') + if (strlen (path1) >= 2 && strlen (path2) >= 2) + // We don't handle unique volume names + if (path1[1] == ':' && path2[1] == ':') + return 1; + return 0; + } + + file1 = CreateFile (filename1, 0, FILE_SHARE_READ, NULL, OPEN_EXISTING, + FILE_ATTRIBUTE_NORMAL, NULL); + if (file1 == INVALID_HANDLE_VALUE) + return 0; + file2 = CreateFile (filename2, 0, FILE_SHARE_READ, NULL, OPEN_EXISTING, + FILE_ATTRIBUTE_NORMAL, NULL); + if (file2 == INVALID_HANDLE_VALUE) + { + CloseHandle (file1); + return 0; + } + GetFileInformationByHandle (file1, &finfo1); + GetFileInformationByHandle (file2, &finfo2); + CloseHandle (file1); + CloseHandle (file2); + if (finfo1.dwVolumeSerialNumber == finfo2.dwVolumeSerialNumber) + return 1; + else + return 0; +#endif +} + + +int +rename2 (const char *oldname, const char *newname) +{ + int retval; + char dir1[FILENAME_MAX], dir2[FILENAME_MAX]; + struct stat fstate; + + dirname2 (oldname, dir1); + dirname2 (newname, dir2); + + // We should use dirname{2}() in case oldname or newname doesn't exist yet + if (one_filesystem (dir1, dir2)) + { + if (access (newname, F_OK) == 0 && !one_file (oldname, newname)) + { + stat (newname, &fstate); + chmod (newname, fstate.st_mode | S_IWUSR); + remove (newname); // *try* to remove or rename() will fail + } + retval = rename (oldname, newname); + } + else + { + retval = fcopy_raw (oldname, newname); + // don't remove unless the file can be copied + if (retval == 0) + { + stat (oldname, &fstate); + chmod (oldname, fstate.st_mode | S_IWUSR); + remove (oldname); + } + } + + return retval; +} + + +int +truncate2 (const char *filename, off_t new_size) +{ + int size = fsizeof (filename); + struct stat fstate; + + stat (filename, &fstate); + if (chmod (filename, fstate.st_mode | S_IWUSR)) + return -1; + + if (size < new_size) + { + FILE *file; + unsigned char padbuffer[MAXBUFSIZE]; + int n_bytes; + + if ((file = fopen (filename, "ab")) == NULL) + return -1; + + memset (padbuffer, 0, MAXBUFSIZE); + + while (size < new_size) + { + n_bytes = new_size - size > MAXBUFSIZE ? MAXBUFSIZE : new_size - size; + fwrite (padbuffer, 1, n_bytes, file); + size += n_bytes; + } + + fclose (file); + } + else + truncate (filename, new_size); + + return 0; // success +} + + +char * +tmpnam2 (char *temp) +// tmpnam() clone +{ + char *p = getenv2 ("TEMP"); + + srand (time (0)); + + *temp = 0; + while (!(*temp) || !access (temp, F_OK)) // must work for files AND dirs + sprintf (temp, "%s%s%08x.tmp", p, FILE_SEPARATOR_S, rand()); + + return temp; +} + + +static inline int +fcopy_func (void *buffer, int n, void *object) +{ + fwrite (buffer, 1, n, (FILE *) object); + return n; +} + + +int +fcopy (const char *src, size_t start, size_t len, const char *dest, const char *mode) +{ + FILE *output; + int result = 0; + + if (one_file (dest, src)) // other code depends on this + return -1; // behaviour! + + if (!(output = fopen (dest, mode))) + { + errno = ENOENT; + return -1; + } + + fseek (output, 0, SEEK_END); + + result = quick_io_func (fcopy_func, MAXBUFSIZE, output, start, len, src, "rb"); + + fclose (output); + sync (); + + return result == -1 ? result : 0; +} + + +int +fcopy_raw (const char *src, const char *dest) +// Raw file copy function. Raw, because it will copy the file data as it is, +// unlike fcopy(). Don't merge fcopy_raw() with fcopy(). They have both their +// uses. +{ +#ifdef USE_ZLIB +#undef fopen +#undef fread +#undef fwrite +#undef fclose +#endif + FILE *fh, *fh2; + int seg_len; + char buf[MAXBUFSIZE]; + + if (one_file (dest, src)) + return -1; + + if (!(fh = fopen (src, "rb"))) + return -1; + if (!(fh2 = fopen (dest, "wb"))) + { + fclose (fh); + return -1; + } + while ((seg_len = fread (buf, 1, MAXBUFSIZE, fh))) + fwrite (buf, 1, seg_len, fh2); + + fclose (fh); + fclose (fh2); + return 0; +#ifdef USE_ZLIB +#define fopen fopen2 +#define fread fread2 +#define fwrite fwrite2 +#define fclose fclose2 +#endif +} + + +#ifndef USE_ZLIB +int +fsizeof (const char *filename) +{ + struct stat fstate; + + if (!stat (filename, &fstate)) + return fstate.st_size; + + errno = ENOENT; + return -1; +} +#endif + + +static FILE * +quick_io_open (const char *filename, const char *mode) +{ + FILE *fh = NULL; + + if (*mode == 'w' || *mode == 'a' || mode[1] == '+') // will we write to it? + if (!access (filename, F_OK)) // exists? + { + struct stat fstate; + // First (try to) change the file mode or we won't be able to write to + // it if it's a read-only file. + stat (filename, &fstate); + if (chmod (filename, fstate.st_mode | S_IWUSR)) + { + errno = EACCES; + return NULL; + } + } + + if ((fh = fopen (filename, (const char *) mode)) == NULL) + { +#ifdef DEBUG + fprintf (stderr, "ERROR: Could not open \"%s\" in mode \"%s\"\n" + "CAUSE: %s\n", filename, mode, strerror (errno)); +#endif + return NULL; + } + +#ifdef DEBUG + fprintf (stderr, "\"%s\": \"%s\"\n", filename, (char *) mode); +#endif + + return fh; +} + + +int +quick_io_c (int value, size_t pos, const char *filename, const char *mode) +{ + int result; + FILE *fh; + + if (!(fh = quick_io_open (filename, (const char *) mode))) + return -1; + + fseek (fh, pos, SEEK_SET); + + if (*mode == 'r' && mode[1] != '+') // "r+b" always writes + result = fgetc (fh); + else + result = fputc (value, fh); + + fclose (fh); + return result; +} + + +int +quick_io (void *buffer, size_t start, size_t len, const char *filename, + const char *mode) +{ + int result; + FILE *fh; + + if (!(fh = quick_io_open (filename, (const char *) mode))) + return -1; + + fseek (fh, start, SEEK_SET); + + // Note the order of arguments of fread() and fwrite(). Now quick_io() + // returns the number of characters read or written. Some code relies on + // this behaviour! + if (*mode == 'r' && mode[1] != '+') // "r+b" always writes + result = (int) fread (buffer, 1, len, fh); + else + result = (int) fwrite (buffer, 1, len, fh); + + fclose (fh); + return result; +} + + +static inline int +quick_io_func_inline (int (*func) (void *, int, void *), int func_maxlen, + void *object, void *buffer, int buffer_len) +{ + int i = 0, func_size = MIN (func_maxlen, buffer_len), func_result = 0; + + for (; i < buffer_len; i += func_size) + { + func_size = MIN (func_size, buffer_len - i); + func_result = func ((char *) buffer + i, func_size, object); + if (func_result < func_size) + break; + } + + return i + func_result; +} + + +int +quick_io_func (int (*func) (void *, int, void *), int func_maxlen, void *object, + size_t start, size_t len, const char *filename, const char *mode) +// func() takes buffer, length and object (optional), func_maxlen is maximum +// length passed to func() +{ + void *buffer = NULL; + int buffer_maxlen = 0, buffer_len = 0, func_len = 0; + size_t len_done = 0; + FILE *fh = NULL; + + if (len <= 5 * 1024 * 1024) // files up to 5 MB are loaded + if ((buffer = malloc (len))) // in their entirety + buffer_maxlen = len; + if (!buffer) + { + if ((buffer = malloc (func_maxlen))) + buffer_maxlen = func_maxlen; + else + return -1; + } + + if (!(fh = quick_io_open (filename, (const char *) mode))) + { + free (buffer); + return -1; + } + + fseek (fh, start, SEEK_SET); + + for (len_done = 0; len_done < len; len_done += buffer_len) + { + if (!(buffer_len = fread (buffer, 1, buffer_maxlen, fh))) + break; + + func_len = quick_io_func_inline (func, func_maxlen, object, buffer, buffer_len); + + if (func_len < buffer_len) // less than buffer_len? this must be the end + break; // or a problem (if write mode) + + if (*mode == 'w' || *mode == 'a' || mode[1] == '+') + { + fseek (fh, -buffer_len, SEEK_CUR); + fwrite (buffer, 1, buffer_len, fh); + /* + This appears to be a bug in DJGPP and Solaris (for ecample, when + called from ucon64_fbswap16()). Without an extra call to fseek() a + part of the file won't be written (DJGPP: after 8 MB, Solaris: after + 12 MB). + */ + fseek (fh, 0, SEEK_CUR); + } + } + + fclose (fh); + free (buffer); + sync (); + + // returns total bytes processed or if (func() < 0) it returns that error value + return func_len < 0 ? func_len : ((int) len_done + func_len); +} + + +char * +mkbak (const char *filename, backup_t type) +{ + static char buf[FILENAME_MAX]; + + if (access (filename, R_OK) != 0) + return (char *) filename; + + strcpy (buf, filename); + set_suffix (buf, ".bak"); + if (strcmp (filename, buf) != 0) + { + remove (buf); // *try* to remove or rename() will fail + if (rename (filename, buf)) // keep file attributes like date, etc. + { + fprintf (stderr, "ERROR: Can't rename \"%s\" to \"%s\"\n", filename, buf); + exit (1); + } + } + else // handle the case where filename has the suffix ".bak". + { + char buf2[FILENAME_MAX]; + + if (!dirname2 (filename, buf)) + { + fprintf (stderr, "INTERNAL ERROR: dirname2() returned NULL\n"); + exit (1); + } + if (buf[0] != 0) + if (buf[strlen (buf) - 1] != FILE_SEPARATOR) + strcat (buf, FILE_SEPARATOR_S); + + strcat (buf, basename2 (tmpnam2 (buf2))); + if (rename (filename, buf)) + { + fprintf (stderr, "ERROR: Can't rename \"%s\" to \"%s\"\n", filename, buf); + exit (1); + } + } + + switch (type) + { + case BAK_MOVE: + return buf; + + case BAK_DUPE: + default: + if (fcopy (buf, 0, fsizeof (buf), filename, "wb")) + { + fprintf (stderr, "ERROR: Can't open \"%s\" for writing\n", filename); + exit (1); + } + sync (); + return buf; + } +} diff --git a/tools/ucon64-2.0.0-src/src/misc/file.h b/tools/ucon64-2.0.0-src/src/misc/file.h new file mode 100644 index 0000000..824ebb5 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/misc/file.h @@ -0,0 +1,134 @@ +/* +file.h - miscellaneous file functions + +Copyright (c) 1999 - 2004 NoisyB +Copyright (c) 2001 - 2004 dbjh +Copyright (c) 2002 - 2004 Jan-Erik Karlsson (Amiga) + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef MISC_FILE_H +#define MISC_FILE_H + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include // off_t +#ifdef HAVE_INTTYPES_H +#include +#else // __MSDOS__, _WIN32 (VC++) +#include "itypes.h" +#endif + + +#if (defined __unix__ && !defined __MSDOS__) || defined __BEOS__ || \ + defined AMIGA || defined __APPLE__ // Mac OS X actually +// GNU/Linux, Solaris, FreeBSD, OpenBSD, Cygwin, BeOS, Amiga, Mac (OS X) +#define FILE_SEPARATOR '/' +#define FILE_SEPARATOR_S "/" +#else // DJGPP, Win32 +#define FILE_SEPARATOR '\\' +#define FILE_SEPARATOR_S "\\" +#endif + + +/* + Miscellaneous file operations + + isfname() test if char could be used for filenames + tofname() replaces char that can not be used for filenames + strpath() a general routine to parse paths + set_suffix() set/replace suffix of filename with suffix + suffix means in this case the suffix INCLUDING the dot '.' + get_suffix() get suffix of filename + basename2() basename() replacement + dirname2() dirname() replacement + realpath2() realpath() replacement + one_file() returns 1 if two filenames refer to one file, otherwise it + returns 0 + one_filesystem() returns 1 if two filenames refer to files on one file + system, otherwise it returns 0 + rename2() renames oldname to newname even if oldname and newname are not + on one file system + truncate2() don't use truncate() to enlarge files, because the result is + undefined (by POSIX) use truncate2() instead which does both + tmpnam2() replacement for tmpnam() temp must have the size of FILENAME_MAX + mkbak() modes + BAK_DUPE (default) + rename file to keep attributes and copy it back to old name + and return new name + filename -> rename() -> buf -> f_cpy() -> filename -> return buf + BAK_MOVE + just rename file and return new name (static) + filename -> rename() -> buf -> return buf + fcopy() copy src from start for len to dest with mode + fcopy_raw() copy src to dest without looking at the file data (no + decompression like with fcopy()) + fsizeof() returns size of a file in bytes + quick_io() returns number of bytes read or written + quick_io_c() returns byte read or fputc()'s status + quick_io_func() + runs func() everytime it loads a new buffer + write modes will overwrite the file specified + NOTE: modes of all quick_*() are similar to fopen() modes + mode: "r.." + func(void *, int) must always return the number of bytes or a + negative value if a problem occured + mode: "a.." or "w.." + func(void *, int) must always return the exact number of bytes + (int) or the buffer won't be written +*/ +extern int isfname (int c); +extern int tofname (int c); +#if 0 +typedef struct +{ + char realpath[FILENAME_MAX]; // absolute path + char drive[FILENAME_MAX]; // "/", "C:\\", etc.. (depending on platform) + char dirname[FILENAME_MAX]; // (relative) dirname + char basename[FILENAME_MAX]; // filename + char suffix[FILENAME_MAX]; // suffix, extension (including dot) +} st_strpath_t; + +extern st_strpath_t *strpath (st_strpath_t *path, const char *path_s); +#endif +extern char *realpath2 (const char *path, char *full_path); +extern char *dirname2 (const char *path, char *dir); +extern const char *basename2 (const char *path); +extern const char *get_suffix (const char *filename); +extern char *set_suffix (char *filename, const char *suffix); +extern int one_file (const char *filename1, const char *filename2); +extern int one_filesystem (const char *filename1, const char *filename2); +extern int rename2 (const char *oldname, const char *newname); +extern int truncate2 (const char *filename, off_t size); +extern char *tmpnam2 (char *temp); +typedef enum { BAK_DUPE, BAK_MOVE } backup_t; +extern char *mkbak (const char *filename, backup_t type); +extern int fcopy (const char *src, size_t start, size_t len, const char *dest, + const char *dest_mode); +extern int fcopy_raw (const char *src, const char *dest); +#ifndef USE_ZLIB +// archive.h's definition gets higher "precedence" +extern int fsizeof (const char *filename); +#endif +extern int quick_io (void *buffer, size_t start, size_t len, const char *fname, + const char *mode); +extern int quick_io_c (int value, size_t pos, const char *fname, const char *mode); +extern int quick_io_func (int (*callback_func) (void *, int, void *), + int func_maxlen, void *object, size_t start, + size_t len, const char *fname, const char *mode); + +#endif // MISC_FILE_H diff --git a/tools/ucon64-2.0.0-src/src/misc/getopt.c b/tools/ucon64-2.0.0-src/src/misc/getopt.c new file mode 100644 index 0000000..d7d5546 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/misc/getopt.c @@ -0,0 +1,1060 @@ +/* Getopt for GNU. + NOTE: getopt is now part of the C library, so if you don't know what + "Keep this file name-space clean" means, talk to roland@gnu.ai.mit.edu + before changing it! + + Copyright (C) 1987, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97 + Free Software Foundation, Inc. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +/* This tells Alpha OSF/1 not to define a getopt prototype in . + Ditto for AIX 3.2 and . */ +#ifndef _NO_PROTO +#define _NO_PROTO +#endif + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#if !defined (__STDC__) || !__STDC__ +/* This is a separate conditional since some stdc systems + reject `defined (const)'. */ +#ifndef const +#define const +#endif +#endif + +#include +#include + +/* Comment out all this code if we are using the GNU C Library, and are not + actually compiling the library itself. This code is part of the GNU C + Library, but also included in many other GNU distributions. Compiling + and linking in this code is a waste when using the GNU C library + (especially if it is a shared library). Rather than having every GNU + program understand `configure --with-gnu-libc' and omit the object files, + it is simpler to just do this in the source for each such file. */ + +#define GETOPT_INTERFACE_VERSION 2 +#if !defined (_LIBC) && defined (__GLIBC__) && __GLIBC__ >= 2 +#include +#if _GNU_GETOPT_INTERFACE_VERSION == GETOPT_INTERFACE_VERSION +#define ELIDE_CODE +#endif +#endif + +#ifndef ELIDE_CODE + + +/* This needs to come after some library #include + to get __GNU_LIBRARY__ defined. */ +#ifdef __GNU_LIBRARY__ +/* Don't include stdlib.h for non-GNU C libraries because some of them + contain conflicting prototypes for getopt. */ +#include +#include +#endif /* GNU C library. */ + +#ifdef VMS +#include +#if HAVE_STRING_H - 0 +#include +#endif +#endif + +#if defined (_WIN32) && !defined (__CYGWIN32__) +/* It's not Unix, really. See? Capital letters. */ +#include +#define getpid() GetCurrentProcessId() +#endif + +#ifndef _ +/* This is for other GNU distributions with internationalized messages. + When compiling libc, the _ macro is predefined. */ +#ifdef HAVE_LIBINTL_H +# include +# define _(msgid) gettext (msgid) +#else +# define _(msgid) (msgid) +#endif +#endif + +/* This version of `getopt' appears to the caller like standard Unix `getopt' + but it behaves differently for the user, since it allows the user + to intersperse the options with the other arguments. + + As `getopt' works, it permutes the elements of ARGV so that, + when it is done, all the options precede everything else. Thus + all application programs are extended to handle flexible argument order. + + Setting the environment variable POSIXLY_CORRECT disables permutation. + Then the behavior is completely standard. + + GNU application programs can use a third alternative mode in which + they can distinguish the relative order of options and other arguments. */ + +#include "getopt.h" + +/* For communication from `getopt' to the caller. + When `getopt' finds an option that takes an argument, + the argument value is returned here. + Also, when `ordering' is RETURN_IN_ORDER, + each non-option ARGV-element is returned here. */ + +char *optarg = NULL; + +/* Index in ARGV of the next element to be scanned. + This is used for communication to and from the caller + and for communication between successive calls to `getopt'. + + On entry to `getopt', zero means this is the first call; initialize. + + When `getopt' returns -1, this is the index of the first of the + non-option elements that the caller should itself scan. + + Otherwise, `optind' communicates from one call to the next + how much of ARGV has been scanned so far. */ + +/* 1003.2 says this must be 1 before any call. */ +int optind = 1; + +/* Formerly, initialization of getopt depended on optind==0, which + causes problems with re-calling getopt as programs generally don't + know that. */ + +int __getopt_initialized = 0; + +/* The next char to be scanned in the option-element + in which the last option character we returned was found. + This allows us to pick up the scan where we left off. + + If this is zero, or a null string, it means resume the scan + by advancing to the next ARGV-element. */ + +static char *nextchar; + +/* Callers store zero here to inhibit the error message + for unrecognized options. */ + +int opterr = 1; + +/* Set to an option character which was unrecognized. + This must be initialized on some systems to avoid linking in the + system's own getopt implementation. */ + +int optopt = '?'; + +/* Describe how to deal with options that follow non-option ARGV-elements. + + If the caller did not specify anything, + the default is REQUIRE_ORDER if the environment variable + POSIXLY_CORRECT is defined, PERMUTE otherwise. + + REQUIRE_ORDER means don't recognize them as options; + stop option processing when the first non-option is seen. + This is what Unix does. + This mode of operation is selected by either setting the environment + variable POSIXLY_CORRECT, or using `+' as the first character + of the list of option characters. + + PERMUTE is the default. We permute the contents of ARGV as we scan, + so that eventually all the non-options are at the end. This allows options + to be given in any order, even with programs that were not written to + expect this. + + RETURN_IN_ORDER is an option available to programs that were written + to expect options and other ARGV-elements in any order and that care about + the ordering of the two. We describe each non-option ARGV-element + as if it were the argument of an option with character code 1. + Using `-' as the first character of the list of option characters + selects this mode of operation. + + The special argument `--' forces an end of option-scanning regardless + of the value of `ordering'. In the case of RETURN_IN_ORDER, only + `--' can cause `getopt' to return -1 with `optind' != ARGC. */ + +static enum +{ + REQUIRE_ORDER, PERMUTE, RETURN_IN_ORDER +} +ordering; + +/* Value of POSIXLY_CORRECT environment variable. */ +static char *posixly_correct; + +#ifdef __GNU_LIBRARY__ +/* We want to avoid inclusion of string.h with non-GNU libraries + because there are many ways it can cause trouble. + On some systems, it contains special magic macros that don't work + in GCC. */ +#include +#define my_index strchr +#else + +/* Avoid depending on library functions or files + whose names are inconsistent. */ + +#ifdef __cplusplus +extern "C" +#endif +char *getenv (const char *); + +static char * +my_index (const char *str, int chr) +{ + while (*str) + { + if (*str == chr) + return (char *) str; + str++; + } + return 0; +} + +/* If using GCC, we can safely declare strlen this way. + If not using GCC, it is ok not to declare it. */ +#ifdef __GNUC__ +/* Note that Motorola Delta 68k R3V7 comes with GCC but not stddef.h. + That was relevant to code that was here before. */ +#if !defined (__STDC__) || !__STDC__ +/* gcc with -traditional declares the built-in strlen to return int, + and has done so at least since version 2.4.5. -- rms. */ +extern int strlen (const char *); +#endif /* not __STDC__ */ +#endif /* __GNUC__ */ + +#endif /* not __GNU_LIBRARY__ */ + +/* Handle permutation of arguments. */ + +/* Describe the part of ARGV that contains non-options that have + been skipped. `first_nonopt' is the index in ARGV of the first of them; + `last_nonopt' is the index after the last of them. */ + +static int first_nonopt; +static int last_nonopt; + +#ifdef _LIBC +/* Bash 2.0 gives us an environment variable containing flags + indicating ARGV elements that should not be considered arguments. */ + +/* Defined in getopt_init.c */ +extern char *__getopt_nonoption_flags; + +static int nonoption_flags_max_len; +static int nonoption_flags_len; + +static int original_argc; +static char *const *original_argv; + +extern pid_t __libc_pid; + +/* Make sure the environment variable bash 2.0 puts in the environment + is valid for the getopt call we must make sure that the ARGV passed + to getopt is that one passed to the process. */ +static void + __attribute__ ((unused)) store_args_and_env (int argc, char *const *argv) +{ + /* XXX This is no good solution. We should rather copy the args so + that we can compare them later. But we must not use malloc(3). */ + original_argc = argc; + original_argv = argv; +} + +text_set_element (__libc_subinit, store_args_and_env); + +# define SWAP_FLAGS(ch1, ch2) \ + if (nonoption_flags_len > 0) \ + { \ + char __tmp = __getopt_nonoption_flags[ch1]; \ + __getopt_nonoption_flags[ch1] = __getopt_nonoption_flags[ch2]; \ + __getopt_nonoption_flags[ch2] = __tmp; \ + } +#else /* !_LIBC */ +# define SWAP_FLAGS(ch1, ch2) +#endif /* _LIBC */ + +/* Exchange two adjacent subsequences of ARGV. + One subsequence is elements [first_nonopt,last_nonopt) + which contains all the non-options that have been skipped so far. + The other is elements [last_nonopt,optind), which contains all + the options processed since those non-options were skipped. + + `first_nonopt' and `last_nonopt' are relocated so that they describe + the new indices of the non-options in ARGV after they are moved. */ + +#if defined (__STDC__) && __STDC__ +static void exchange (char **); +#endif + +static void +exchange (char **argv) +{ + int bottom = first_nonopt; + int middle = last_nonopt; + int top = optind; + char *tem; + + /* Exchange the shorter segment with the far end of the longer segment. + That puts the shorter segment into the right place. + It leaves the longer segment in the right place overall, + but it consists of two parts that need to be swapped next. */ + +#ifdef _LIBC + /* First make sure the handling of the `__getopt_nonoption_flags' + string can work normally. Our top argument must be in the range + of the string. */ + if (nonoption_flags_len > 0 && top >= nonoption_flags_max_len) + { + /* We must extend the array. The user plays games with us and + presents new arguments. */ + char *new_str = malloc (top + 1); + if (new_str == NULL) + nonoption_flags_len = nonoption_flags_max_len = 0; + else + { + memcpy (new_str, __getopt_nonoption_flags, nonoption_flags_max_len); + memset (&new_str[nonoption_flags_max_len], '\0', + top + 1 - nonoption_flags_max_len); + nonoption_flags_max_len = top + 1; + __getopt_nonoption_flags = new_str; + } + } +#endif + + while (top > middle && middle > bottom) + { + if (top - middle > middle - bottom) + { + /* Bottom segment is the short one. */ + int len = middle - bottom; + register int i; + + /* Swap it with the top part of the top segment. */ + for (i = 0; i < len; i++) + { + tem = argv[bottom + i]; + argv[bottom + i] = argv[top - (middle - bottom) + i]; + argv[top - (middle - bottom) + i] = tem; + SWAP_FLAGS (bottom + i, top - (middle - bottom) + i); + } + /* Exclude the moved bottom segment from further swapping. */ + top -= len; + } + else + { + /* Top segment is the short one. */ + int len = top - middle; + register int i; + + /* Swap it with the bottom part of the bottom segment. */ + for (i = 0; i < len; i++) + { + tem = argv[bottom + i]; + argv[bottom + i] = argv[middle + i]; + argv[middle + i] = tem; + SWAP_FLAGS (bottom + i, middle + i); + } + /* Exclude the moved top segment from further swapping. */ + bottom += len; + } + } + + /* Update records for the slots the non-options now occupy. */ + + first_nonopt += (optind - last_nonopt); + last_nonopt = optind; +} + +/* Initialize the internal data when the first call is made. */ + +#if defined (__STDC__) && __STDC__ +static const char *_getopt_initialize (int, char *const *, const char *); +#endif +static const char * +_getopt_initialize (int argc, char *const *argv, const char *optstring) +{ + /* Start processing options with ARGV-element 1 (since ARGV-element 0 + is the program name); the sequence of previously skipped + non-option ARGV-elements is empty. */ + + first_nonopt = last_nonopt = optind; + + nextchar = NULL; + + posixly_correct = getenv ("POSIXLY_CORRECT"); + + /* Determine how to handle the ordering of options and nonoptions. */ + + if (optstring[0] == '-') + { + ordering = RETURN_IN_ORDER; + ++optstring; + } + else if (optstring[0] == '+') + { + ordering = REQUIRE_ORDER; + ++optstring; + } + else if (posixly_correct != NULL) + ordering = REQUIRE_ORDER; + else + ordering = PERMUTE; + +#ifdef _LIBC + if (posixly_correct == NULL + && argc == original_argc && argv == original_argv) + { + if (nonoption_flags_max_len == 0) + { + if (__getopt_nonoption_flags == NULL + || __getopt_nonoption_flags[0] == '\0') + nonoption_flags_max_len = -1; + else + { + const char *orig_str = __getopt_nonoption_flags; + int len = nonoption_flags_max_len = strlen (orig_str); + if (nonoption_flags_max_len < argc) + nonoption_flags_max_len = argc; + __getopt_nonoption_flags = + (char *) malloc (nonoption_flags_max_len); + if (__getopt_nonoption_flags == NULL) + nonoption_flags_max_len = -1; + else + { + memcpy (__getopt_nonoption_flags, orig_str, len); + memset (&__getopt_nonoption_flags[len], '\0', + nonoption_flags_max_len - len); + } + } + } + nonoption_flags_len = nonoption_flags_max_len; + } + else + nonoption_flags_len = 0; +#else + (void) argc; // warning remover + (void) argv; // warning remover +#endif + + return optstring; +} + +/* Scan elements of ARGV (whose length is ARGC) for option characters + given in OPTSTRING. + + If an element of ARGV starts with '-', and is not exactly "-" or "--", + then it is an option element. The characters of this element + (aside from the initial '-') are option characters. If `getopt' + is called repeatedly, it returns successively each of the option characters + from each of the option elements. + + If `getopt' finds another option character, it returns that character, + updating `optind' and `nextchar' so that the next call to `getopt' can + resume the scan with the following option character or ARGV-element. + + If there are no more option characters, `getopt' returns -1. + Then `optind' is the index in ARGV of the first ARGV-element + that is not an option. (The ARGV-elements have been permuted + so that those that are not options now come last.) + + OPTSTRING is a string containing the legitimate option characters. + If an option character is seen that is not listed in OPTSTRING, + return '?' after printing an error message. If you set `opterr' to + zero, the error message is suppressed but we still return '?'. + + If a char in OPTSTRING is followed by a colon, that means it wants an arg, + so the following text in the same ARGV-element, or the text of the following + ARGV-element, is returned in `optarg'. Two colons mean an option that + wants an optional arg; if there is text in the current ARGV-element, + it is returned in `optarg', otherwise `optarg' is set to zero. + + If OPTSTRING starts with `-' or `+', it requests different methods of + handling the non-option ARGV-elements. + See the comments about RETURN_IN_ORDER and REQUIRE_ORDER, above. + + Long-named options begin with `--' instead of `-'. + Their names may be abbreviated as long as the abbreviation is unique + or is an exact match for some defined option. If they have an + argument, it follows the option name in the same ARGV-element, separated + from the option name by a `=', or else the in next ARGV-element. + When `getopt' finds a long-named option, it returns 0 if that option's + `flag' field is nonzero, the value of the option's `val' field + if the `flag' field is zero. + + The elements of ARGV aren't really const, because we permute them. + But we pretend they're const in the prototype to be compatible + with other systems. + + LONGOPTS is a vector of `struct option' terminated by an + element containing a name which is zero. + + LONGIND returns the index in LONGOPT of the long-named option found. + It is only valid when a long-named option has been found by the most + recent call. + + If LONG_ONLY is nonzero, '-' as well as '--' can introduce + long-named options. */ + +int +_getopt_internal (int argc, char *const *argv, const char *optstring, + const struct option *longopts, int *longind, int long_only) +{ + optarg = NULL; + + if (optind == 0 || !__getopt_initialized) + { + if (optind == 0) + optind = 1; /* Don't scan ARGV[0], the program name. */ + optstring = _getopt_initialize (argc, argv, optstring); + __getopt_initialized = 1; + } + + /* Test whether ARGV[optind] points to a non-option argument. + Either it does not have option syntax, or there is an environment flag + from the shell indicating it is not an option. The later information + is only used when the used in the GNU libc. */ +#ifdef _LIBC +#define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0' \ + || (optind < nonoption_flags_len \ + && __getopt_nonoption_flags[optind] == '1')) +#else +#define NONOPTION_P (argv[optind][0] != '-' || argv[optind][1] == '\0') +#endif + + if (nextchar == NULL || *nextchar == '\0') + { + /* Advance to the next ARGV-element. */ + + /* Give FIRST_NONOPT & LAST_NONOPT rational values if OPTIND has been + moved back by the user (who may also have changed the arguments). */ + if (last_nonopt > optind) + last_nonopt = optind; + if (first_nonopt > optind) + first_nonopt = optind; + + if (ordering == PERMUTE) + { + /* If we have just processed some options following some non-options, + exchange them so that the options come first. */ + + if (first_nonopt != last_nonopt && last_nonopt != optind) + exchange ((char **) argv); + else if (last_nonopt != optind) + first_nonopt = optind; + + /* Skip any additional non-options + and extend the range of non-options previously skipped. */ + + while (optind < argc && NONOPTION_P) + optind++; + last_nonopt = optind; + } + + /* The special ARGV-element `--' means premature end of options. + Skip it like a null option, + then exchange with previous non-options as if it were an option, + then skip everything else like a non-option. */ + + if (optind != argc && !strcmp (argv[optind], "--")) + { + optind++; + + if (first_nonopt != last_nonopt && last_nonopt != optind) + exchange ((char **) argv); + else if (first_nonopt == last_nonopt) + first_nonopt = optind; + last_nonopt = argc; + + optind = argc; + } + + /* If we have done all the ARGV-elements, stop the scan + and back over any non-options that we skipped and permuted. */ + + if (optind == argc) + { + /* Set the next-arg-index to point at the non-options + that we previously skipped, so the caller will digest them. */ + if (first_nonopt != last_nonopt) + optind = first_nonopt; + return -1; + } + + /* If we have come to a non-option and did not permute it, + either stop the scan or describe it to the caller and pass it by. */ + + if (NONOPTION_P) + { + if (ordering == REQUIRE_ORDER) + return -1; + optarg = argv[optind++]; + return 1; + } + + /* We have found another option-ARGV-element. + Skip the initial punctuation. */ + + nextchar = (argv[optind] + 1 + + (longopts != NULL && argv[optind][1] == '-')); + } + + /* Decode the current option-ARGV-element. */ + + /* Check whether the ARGV-element is a long option. + + If long_only and the ARGV-element has the form "-f", where f is + a valid short option, don't consider it an abbreviated form of + a long option that starts with f. Otherwise there would be no + way to give the -f short option. + + On the other hand, if there's a long option "fubar" and + the ARGV-element is "-fu", do consider that an abbreviation of + the long option, just like "--fu", and not "-f" with arg "u". + + This distinction seems to be the most useful approach. */ + + if (longopts != NULL + && (argv[optind][1] == '-' + || (long_only + && (argv[optind][2] + || !my_index (optstring, argv[optind][1]))))) + { + char *nameend; + const struct option *p; + const struct option *pfound = NULL; + int exact = 0; + int ambig = 0; + int indfound = -1; + int option_index; + + for (nameend = nextchar; *nameend && *nameend != '='; nameend++) + /* Do nothing. */ ; + + /* Test all long options for either exact match + or abbreviated matches. */ + for (p = longopts, option_index = 0; p->name; p++, option_index++) + if (!strncmp (p->name, nextchar, nameend - nextchar)) + { + if ((unsigned int) (nameend - nextchar) + == (unsigned int) strlen (p->name)) + { + /* Exact match found. */ + pfound = p; + indfound = option_index; + exact = 1; + break; + } + else if (pfound == NULL) + { + /* First nonexact match found. */ + pfound = p; + indfound = option_index; + } + else + /* Second or later nonexact match found. */ + ambig = 1; + } + + if (ambig && !exact) + { + if (opterr) + fprintf (stderr, _("%s: option `%s' is ambiguous\n"), + argv[0], argv[optind]); + nextchar += strlen (nextchar); + optind++; + optopt = 0; + return '?'; + } + + if (pfound != NULL) + { + option_index = indfound; + optind++; + if (*nameend) + { + /* Don't test has_arg with >, because some C compilers don't + allow it to be used on enums. */ + if (pfound->has_arg) + optarg = nameend + 1; + else + { + if (opterr) + { + if (argv[optind - 1][1] == '-') + /* --option */ + fprintf (stderr, + _ + ("%s: option `--%s' doesn't allow an argument\n"), + argv[0], pfound->name); + else + /* +option or -option */ + fprintf (stderr, + _ + ("%s: option `%c%s' doesn't allow an argument\n"), + argv[0], argv[optind - 1][0], pfound->name); + } + + nextchar += strlen (nextchar); + + optopt = pfound->val; + return '?'; + } + } + else if (pfound->has_arg == 1) + { + if (optind < argc) + optarg = argv[optind++]; + else + { + if (opterr) + fprintf (stderr, + _("%s: option `%s' requires an argument\n"), + argv[0], argv[optind - 1]); + nextchar += strlen (nextchar); + optopt = pfound->val; + return optstring[0] == ':' ? ':' : '?'; + } + } + nextchar += strlen (nextchar); + if (longind != NULL) + *longind = option_index; + if (pfound->flag) + { + *(pfound->flag) = pfound->val; + return 0; + } + return pfound->val; + } + + /* Can't find it as a long option. If this is not getopt_long_only, + or the option starts with '--' or is not a valid short + option, then it's an error. + Otherwise interpret it as a short option. */ + if (!long_only || argv[optind][1] == '-' + || my_index (optstring, *nextchar) == NULL) + { + if (opterr) + { + if (argv[optind][1] == '-') + /* --option */ + fprintf (stderr, _("%s: unrecognized option `--%s'\n"), + argv[0], nextchar); + else + /* +option or -option */ + fprintf (stderr, _("%s: unrecognized option `%c%s'\n"), + argv[0], argv[optind][0], nextchar); + } + nextchar = (char *) ""; + optind++; + optopt = 0; + return '?'; + } + } + + /* Look at and handle the next short option-character. */ + + { + char c = *nextchar++; + char *temp = my_index (optstring, c); + + /* Increment `optind' when we start to process its last character. */ + if (*nextchar == '\0') + ++optind; + + if (temp == NULL || c == ':') + { + if (opterr) + { + if (posixly_correct) + /* 1003.2 specifies the format of this message. */ + fprintf (stderr, _("%s: illegal option -- %c\n"), argv[0], c); + else + fprintf (stderr, _("%s: invalid option -- %c\n"), argv[0], c); + } + optopt = c; + return '?'; + } + /* Convenience. Treat POSIX -W foo same as long option --foo */ + if (temp[0] == 'W' && temp[1] == ';') + { + char *nameend; + const struct option *p; + const struct option *pfound = NULL; + int exact = 0; + int ambig = 0; + int indfound = 0; + int option_index; + + /* This is an option that requires an argument. */ + if (*nextchar != '\0') + { + optarg = nextchar; + /* If we end this ARGV-element by taking the rest as an arg, + we must advance to the next element now. */ + optind++; + } + else if (optind == argc) + { + if (opterr) + { + /* 1003.2 specifies the format of this message. */ + fprintf (stderr, _("%s: option requires an argument -- %c\n"), + argv[0], c); + } + optopt = c; + if (optstring[0] == ':') + c = ':'; + else + c = '?'; + return c; + } + else + /* We already incremented `optind' once; + increment it again when taking next ARGV-elt as argument. */ + optarg = argv[optind++]; + + /* optarg is now the argument, see if it's in the + table of longopts. */ + + for (nextchar = nameend = optarg; *nameend && *nameend != '='; + nameend++) + /* Do nothing. */ ; + + /* Test all long options for either exact match + or abbreviated matches. */ + for (p = longopts, option_index = 0; p->name; p++, option_index++) + if (!strncmp (p->name, nextchar, nameend - nextchar)) + { + if ((unsigned int) (nameend - nextchar) == strlen (p->name)) + { + /* Exact match found. */ + pfound = p; + indfound = option_index; + exact = 1; + break; + } + else if (pfound == NULL) + { + /* First nonexact match found. */ + pfound = p; + indfound = option_index; + } + else + /* Second or later nonexact match found. */ + ambig = 1; + } + if (ambig && !exact) + { + if (opterr) + fprintf (stderr, _("%s: option `-W %s' is ambiguous\n"), + argv[0], argv[optind]); + nextchar += strlen (nextchar); + optind++; + return '?'; + } + if (pfound != NULL) + { + option_index = indfound; + if (*nameend) + { + /* Don't test has_arg with >, because some C compilers don't + allow it to be used on enums. */ + if (pfound->has_arg) + optarg = nameend + 1; + else + { + if (opterr) + fprintf (stderr, _("\ +%s: option `-W %s' doesn't allow an argument\n"), argv[0], pfound->name); + + nextchar += strlen (nextchar); + return '?'; + } + } + else if (pfound->has_arg == 1) + { + if (optind < argc) + optarg = argv[optind++]; + else + { + if (opterr) + fprintf (stderr, + _("%s: option `%s' requires an argument\n"), + argv[0], argv[optind - 1]); + nextchar += strlen (nextchar); + return optstring[0] == ':' ? ':' : '?'; + } + } + nextchar += strlen (nextchar); + if (longind != NULL) + *longind = option_index; + if (pfound->flag) + { + *(pfound->flag) = pfound->val; + return 0; + } + return pfound->val; + } + nextchar = NULL; + return 'W'; /* Let the application handle it. */ + } + if (temp[1] == ':') + { + if (temp[2] == ':') + { + /* This is an option that accepts an argument optionally. */ + if (*nextchar != '\0') + { + optarg = nextchar; + optind++; + } + else + optarg = NULL; + nextchar = NULL; + } + else + { + /* This is an option that requires an argument. */ + if (*nextchar != '\0') + { + optarg = nextchar; + /* If we end this ARGV-element by taking the rest as an arg, + we must advance to the next element now. */ + optind++; + } + else if (optind == argc) + { + if (opterr) + { + /* 1003.2 specifies the format of this message. */ + fprintf (stderr, + _("%s: option requires an argument -- %c\n"), + argv[0], c); + } + optopt = c; + if (optstring[0] == ':') + c = ':'; + else + c = '?'; + } + else + /* We already incremented `optind' once; + increment it again when taking next ARGV-elt as argument. */ + optarg = argv[optind++]; + nextchar = NULL; + } + } + return c; + } +} + +int +getopt (int argc, char *const *argv, const char *optstring) +{ + return _getopt_internal (argc, argv, optstring, + (const struct option *) 0, (int *) 0, 0); +} + +int +getopt_long (int argc, char *const *argv, const char *shortopts, + const struct option *longopts, int *longind) +{ + return _getopt_internal (argc, argv, shortopts, + longopts, longind, 0); +} + +int +getopt_long_only (int argc, char *const *argv, const char *shortopts, + const struct option *longopts, int *longind) +{ + return _getopt_internal (argc, argv, shortopts, + longopts, longind, 1); +} + +#endif /* Not ELIDE_CODE. */ + +#ifdef TEST + +/* Compile with -DTEST to make an executable for use in testing + the above definition of `getopt'. */ + +int +main (int argc, char **argv) +{ + int c; + int digit_optind = 0; + + while (1) + { + int this_option_optind = optind ? optind : 1; + + c = getopt (argc, argv, "abc:d:0123456789"); + if (c == -1) + break; + + switch (c) + { + case '0': + case '1': + case '2': + case '3': + case '4': + case '5': + case '6': + case '7': + case '8': + case '9': + if (digit_optind != 0 && digit_optind != this_option_optind) + printf ("digits occur in two different argv-elements.\n"); + digit_optind = this_option_optind; + printf ("option %c\n", c); + break; + + case 'a': + printf ("option a\n"); + break; + + case 'b': + printf ("option b\n"); + break; + + case 'c': + printf ("option c with value `%s'\n", optarg); + break; + + case '?': + break; + + default: + printf ("?? getopt returned character code 0%o ??\n", c); + } + } + + if (optind < argc) + { + printf ("non-option ARGV-elements: "); + while (optind < argc) + printf ("%s ", argv[optind++]); + printf ("\n"); + } + + exit (0); +} + +#endif /* TEST */ diff --git a/tools/ucon64-2.0.0-src/src/misc/getopt.h b/tools/ucon64-2.0.0-src/src/misc/getopt.h new file mode 100644 index 0000000..596cccc --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/misc/getopt.h @@ -0,0 +1,132 @@ +/* Declarations for getopt. + Copyright (C) 1989,90,91,92,93,94,96,97 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with the GNU C Library; see the file COPYING.LIB. If not, + write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +#ifndef _GETOPT_H +#define _GETOPT_H 1 + +#ifdef __cplusplus +extern "C" +{ +#endif + +/* For communication from `getopt' to the caller. + When `getopt' finds an option that takes an argument, + the argument value is returned here. + Also, when `ordering' is RETURN_IN_ORDER, + each non-option ARGV-element is returned here. */ + + extern char *optarg; + +/* Index in ARGV of the next element to be scanned. + This is used for communication to and from the caller + and for communication between successive calls to `getopt'. + + On entry to `getopt', zero means this is the first call; initialize. + + When `getopt' returns -1, this is the index of the first of the + non-option elements that the caller should itself scan. + + Otherwise, `optind' communicates from one call to the next + how much of ARGV has been scanned so far. */ + + extern int optind; + +/* Callers store zero here to inhibit the error message `getopt' prints + for unrecognized options. */ + + extern int opterr; + +/* Set to an option character which was unrecognized. */ + + extern int optopt; + +/* Describe the long-named options requested by the application. + The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector + of `struct option' terminated by an element containing a name which is + zero. + + The field `has_arg' is: + no_argument (or 0) if the option does not take an argument, + required_argument (or 1) if the option requires an argument, + optional_argument (or 2) if the option takes an optional argument. + + If the field `flag' is not NULL, it points to a variable that is set + to the value given in the field `val' when the option is found, but + left unchanged if the option is not found. + + To have a long-named option do something other than set an `int' to + a compiled-in constant, such as set a value from `optarg', set the + option's `flag' field to zero and its `val' field to a nonzero + value (the equivalent single-letter option character, if there is + one). For long options that have a zero `flag' field, `getopt' + returns the contents of the `val' field. */ + + struct option + { +#if defined (__STDC__) && __STDC__ + const char *name; +#else + char *name; +#endif + /* has_arg can't be an enum because some compilers complain about + type mismatches in all the code that assumes it is an int. */ + int has_arg; + int *flag; + int val; + }; + +/* Names for the values of the `has_arg' field of `struct option'. */ + +#define no_argument 0 +#define required_argument 1 +#define optional_argument 2 + +#if defined (__STDC__) && __STDC__ +#if defined __GNU_LIBRARY__ || defined __cplusplus +/* Many other libraries have conflicting prototypes for getopt, with + differences in the consts, in stdlib.h. To avoid compilation + errors, only prototype getopt for the GNU C library. */ + extern int getopt (int argc, char *const *argv, const char *shortopts); +#else /* not __GNU_LIBRARY__ */ + extern int getopt (); +#endif /* __GNU_LIBRARY__ */ + extern int getopt_long (int argc, char *const *argv, const char *shortopts, + const struct option *longopts, int *longind); + extern int getopt_long_only (int argc, char *const *argv, + const char *shortopts, + const struct option *longopts, int *longind); + +/* Internal only. Users should not call this directly. */ + extern int _getopt_internal (int argc, char *const *argv, + const char *shortopts, + const struct option *longopts, int *longind, + int long_only); +#else /* not __STDC__ */ + extern int getopt (); + extern int getopt_long (); + extern int getopt_long_only (); + + extern int _getopt_internal (); +#endif /* __STDC__ */ + +#ifdef __cplusplus +} +#endif + +#endif /* _GETOPT_H */ diff --git a/tools/ucon64-2.0.0-src/src/misc/getopt2.c b/tools/ucon64-2.0.0-src/src/misc/getopt2.c new file mode 100644 index 0000000..9d2679b --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/misc/getopt2.c @@ -0,0 +1,469 @@ +/* +getopt2.c - getopt1() extension + +Copyright (c) 2004 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include "getopt.h" // struct option +#include "getopt2.h" + + +#ifdef MAXBUFSIZE +#undef MAXBUFSIZE +#endif // MAXBUFSIZE +#define MAXBUFSIZE 32768 + + +#ifdef DEBUG +static void +getopt2_sanity_check (const st_getopt2_t *option) +{ + int x, y = 0; + + for (x = 0; option[x].name || option[x].help; x++) + if (option[x].name) + for (y = 0; option[y].name || option[y].help; y++) + if (option[y].name) + if (!strcmp (option[x].name, option[y].name)) + if (option[x].val != option[y].val || + option[x].has_arg != option[y].has_arg) + { + fprintf (stderr, "ERROR: getopt2_sanity_check(): found dupe %s%s with different has_arg, or val\n", + option[x].name[1] ? OPTION_LONG_S : OPTION_S, option[x].name); + } +} + + +void +getopt2_parse_usage (const char *usage_output) +// parse usage output into st_getopt2_t array (for development) +{ + int i = 0, count = 0; + char buf[MAXBUFSIZE], *s = NULL, *d = NULL; + FILE *fh = fopen (usage_output, "r"); + + if (!fh) + return; + + while (fgets (buf, MAXBUFSIZE, fh)) + { + st_getopt2_t usage; + int value = 0; + + if (*buf == '\n') + continue; + + memset (&usage, 0, sizeof (st_getopt2_t)); + +#ifdef DEBUG + printf (buf); +#endif + s = d = buf; + d = strstr (s, " " OPTION_S); + if (d && (d - s) < 10) + { + s = (d + strspn (++d, OPTION_S)); + + for (i = 0; s[i] && s[i] != ' '; i++) + if (s[i] == OPTARG) + { + value = 1; + d = strtok (s, OPTARG_S); + break; + } + + if (!value) + d = strtok (s, " "); + + if (d) + usage.name = d; + + if (value) // parse =VALUE + { + d = strtok (NULL, " "); + + if (d) + usage.arg_name = d; + } + } + + + if (usage.name) + { + printf ("{\"%s\", ", usage.name); + + if (usage.arg_name) + printf ("1, \"%s\", ", usage.arg_name); + else + printf ("0, NULL, "); + + printf ("\"%s\", NULL},", strtrimr (strtriml (strtok (NULL, "\n")))); + + } + else + printf ("{NULL, 0, NULL, \"%s\", NULL},", strtrimr (strtriml (strtok (s, "\n")))); + + count++; + if (!(count % 10)) + printf (" // %d", count); + fputc ('\n', stdout); + } +} +#endif // DEBUG + + +#ifdef DEBUG +static inline char * +string_code (char *d, const char *s) +{ + char *p = d; + + *p = 0; + for (; *s; s++) + switch (*s) + { + case '\n': + strcat (p, "\\n\"\n \""); + break; + + case '\"': + strcat (p, "\\\""); + break; + + default: + p = strchr (p, 0); + *p = *s; + *(++p) = 0; + } + + return d; +} + + +static void +getopt2_usage_code (const st_getopt2_t *usage) +{ + int i = 0; + char buf[MAXBUFSIZE]; + +#ifdef DEBUG + getopt2_sanity_check (usage); +#endif + + for (; usage[i].name || usage[i].help; i++) + { + printf ("{\n %s%s%s, %d, 0, %d, // %d\n %s%s%s, %s%s%s,\n (void *) %d\n},\n", + usage[i].name ? "\"" : "", + usage[i].name ? usage[i].name : "NULL", + usage[i].name ? "\"" : "", + usage[i].has_arg, + usage[i].val, + i, + usage[i].arg_name ? "\"" : "", + usage[i].arg_name ? usage[i].arg_name : "NULL", + usage[i].arg_name ? "\"" : "", + usage[i].help ? "\"" : "", + usage[i].help ? string_code (buf, usage[i].help) : "NULL", + usage[i].help ? "\"" : "", + (int) usage[i].object); + } +} +#endif // DEBUG + + +void +getopt2_usage (const st_getopt2_t *usage) +{ +#ifdef DEBUG + getopt2_usage_code (usage); +#else + int i = 0; + char buf[MAXBUFSIZE]; + + for (i = 0; usage[i].name || usage[i].help; i++) + if (usage[i].help) // hidden options ARE allowed + { + if (usage[i].name) + { + sprintf (buf, "%s%s%s%s%s%s ", + // long or short name? + (usage[i].name[1] ? " " OPTION_LONG_S : " " OPTION_S), + usage[i].name, + usage[i].has_arg == 2 ? "[" : "", // == 2 arg is optional + usage[i].arg_name ? OPTARG_S : "", + usage[i].arg_name ? usage[i].arg_name : "", + usage[i].has_arg == 2 ? "]" : ""); // == 2 arg is optional + + if (strlen (buf) < 16) + { + strcat (buf, " "); + buf[16] = 0; + } + fputs (buf, stdout); + } + + if (usage[i].help) + { + char c, *p = buf, *p2 = NULL; + + strcpy (buf, usage[i].help); + + if (usage[i].name) + for (; (p2 = strchr (p, '\n')); p = p2 + 1) + { + c = p2[1]; + p2[1] = 0; + fputs (p, stdout); + fputs (" ", stdout); + p2[1] = c; + } + + fputs (p, stdout); + fputc ('\n', stdout); + } + } +#endif // DEBUG +} + + +static int +getopt2_long_internal (struct option *long_option, const st_getopt2_t *option, + int n, int long_only) +{ + int i = 0, j = 0, x = 0; + +#ifdef DEBUG + getopt2_sanity_check (option); +#endif + + memset (long_option, 0, sizeof (struct option) * n); + + for (; option[i].name || option[i].help; i++) + if (option[i].name) // IS option + if (long_only || option[i].name[1]) // IS long + // if (long_only) also one char options are long + { + for (j = 0; j < i; j++) + if (option[j].name) + if (!strcmp (option[i].name, option[j].name)) + break; // no dupes + + if (j == i && x < n) + { +#ifdef _MSC_VER + (char *) +#endif + long_option[x].name = +#ifdef _MSC_VER + (char *) +#endif + option[i].name; + long_option[x].has_arg = option[i].has_arg; + long_option[x].flag = option[i].flag; + long_option[x++].val = option[i].val; + } + } + + return x < n ? x + 1 : 0; +} + + +int +getopt2_long (struct option *long_option, const st_getopt2_t *option, int n) +{ + return getopt2_long_internal (long_option, option, n, 0); +} + + +int +getopt2_long_only (struct option *long_option, const st_getopt2_t *option, int n) +{ + return getopt2_long_internal (long_option, option, n, 1); +} + + +int +getopt2_short (char *short_option, const st_getopt2_t *option, int n) +{ + int i = 0; + char *p = short_option; + +#ifdef DEBUG + getopt2_sanity_check (option); +#endif + + *p = 0; + for (; option[i].name || option[i].help; i++) + if ((int) strlen (short_option) + 3 < n && option[i].name) // IS option + if (!option[i].name[1]) // IS short + if (!strchr (short_option, option[i].name[0])) // no dupes + { + *p++ = option[i].name[0]; + switch (option[i].has_arg) + { + case 2: + *p++ = ':'; + case 1: // falling through + *p++ = ':'; + case 0: + break; +#ifdef DEBUG + default: + fprintf (stderr, "ERROR: getopt2_short(): unexpected has_arg value (%d)\n", option[i].has_arg); +#endif // DEBUG + } + *p = 0; + } +#ifdef DEBUG + printf ("%s\n", short_option); + fflush (stdout); +#endif + + return (int) strlen (short_option) + 3 < n ? (int) strlen (short_option) : 0; +} + + +const st_getopt2_t * +getopt2_get_index_by_val (const st_getopt2_t *option, int val) +{ + int i = 0; + + for (; option[i].name || option[i].help; i++) + if (option[i].name && // it IS an option + option[i].val == val) + return &option[i]; + + return NULL; +} + + +#if TEST +// compile with -DTEST to build an executable +// WTF? - dbjh + +enum +{ + OPTION_HELP = 1, + OPTION_A, + OPTION_BBB, + OPTION_C, + OPTION_D +}; + + +#define MAX_OPTIONS 256 + + +int +main (int argc, char **argv) +{ + const char *str = "test"; + int c, digit_optind = 0; + st_getopt2_t option[] = + { + { + "help", 0, 0, OPTION_HELP, + NULL, "show this output and exit", + NULL + }, + { + "a", 0, 0, OPTION_A, + NULL, "option a", + (void *) str + }, + { + "bbb", 0, 0, OPTION_BBB, + NULL, "option bbb", + NULL + }, + { + "c", 1, 0, OPTION_C, + "ARG", "option c with required ARG", + NULL + }, + { + "d", 2, 0, OPTION_D, + "ARG", "option d with optional ARG", + NULL + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + struct option option_long[MAX_OPTIONS]; + char option_short[MAX_OPTIONS*3]; + + // turn st_getopt2_t into struct option + getopt2_long (option_long, option, MAX_OPTIONS); + getopt2_short (option_short, option, MAX_OPTIONS); + +// printf ("option_short: \"%s\"\n", option_short); + + optind = 0; + while ((c = getopt_long (argc, argv, option_short, option_long, NULL)) != -1) + { + if (c == '?') // getopt() returns 0x3f ('?') when an unknown option was given + { + printf ("Try '%s " OPTION_LONG_S "help' for more information.\n", + argv[0]); + exit (1); + } + + if (c == -1) + break; + + switch (c) + { + case OPTION_A: + printf ("option a with object '%s'\n", (const char *) getopt2_get_index_by_val (option, OPTION_A)->object); + break; + + case OPTION_BBB: + printf ("option bbb\n"); + break; + + case OPTION_C: + printf ("option c with required value '%s'\n", optarg); + break; + + case OPTION_D: + printf ("option d with optional value '%s'\n", optarg); + break; + + case OPTION_HELP: + getopt2_usage (option); + break; + + default: + printf ("?? getopt returned character code 0%o ??\n", c); + } + } + + if (optind < argc) + { + printf ("non-option ARGV-elements: "); + while (optind < argc) + printf ("%s ", argv[optind++]); + printf ("\n"); + } + + exit (0); +} +#endif // TEST diff --git a/tools/ucon64-2.0.0-src/src/misc/getopt2.h b/tools/ucon64-2.0.0-src/src/misc/getopt2.h new file mode 100644 index 0000000..39545b7 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/misc/getopt2.h @@ -0,0 +1,85 @@ +/* +getopt2.h - getopt1() extension + +Copyright (c) 2004 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef MISC_GETOPT2_H +#define MISC_GETOPT2_H + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#ifdef __cplusplus +extern "C" { +#endif +#include "getopt.h" // getopt2 needs struct option from getopt1 + + +/* + Extended getopt1(), usage and workflow handling + + getopt2_usage() render usage output from st_getopt2_t array + getopt2_parse_usage() parse usage output into st_getopt2_t array (for dev) + getopt2_long() turn st_getopt2_t into struct option for getopt1_long() + getopt2_long_only() turn st_getopt2_t into struct option for getopt1_long_only() + getopt2_short() turn st_getopt2_t into short options string for getopt1_*() + getopt2_get_index_by_val() return single st_getopt2_t by val + + OPTION option marker (default: '-') + OPTION_S option marker as string (default: "-") + OPTION_LONG_S long option marker as string (default: "--") + OPTARG optarg separator (default: '=') + OPTARG_S optarg separator as string (default: "=") + + you will use THESE everywhere and you will NEVER change them + +*/ +#define OPTION '-' +#define OPTION_S "-" +#define OPTION_LONG_S "--" +#define OPTARG '=' +#define OPTARG_S "=" + +typedef struct +{ + const char *name; // see getopt() + int has_arg; // see getopt() + int *flag; // see getopt() + int val; // see getopt() + const char *arg_name; // name of the options arg as it should be + // displayed in the --help output + // "--name=arg_name" if has_arg == 1 + // "--name[=arg_name]" if has_arg == 2 + const char *help; // --help, -h, -? output for the current option + void *object; // could be used for workflow objects +} st_getopt2_t; + +extern void getopt2_usage (const st_getopt2_t *option); +#ifdef DEBUG +extern void getopt2_parse_usage (const char *usage_output); +#endif +extern int getopt2_long (struct option *long_option, const st_getopt2_t *option, int n); +extern int getopt2_long_only (struct option *long_option, const st_getopt2_t *option, int n); +extern int getopt2_short (char *short_option, const st_getopt2_t *option, int n); +extern const st_getopt2_t *getopt2_get_index_by_val (const st_getopt2_t *option, int val); + +#ifdef __cplusplus +} +#endif +#endif // MISC_GETOPT2_H diff --git a/tools/ucon64-2.0.0-src/src/misc/itypes.h b/tools/ucon64-2.0.0-src/src/misc/itypes.h new file mode 100644 index 0000000..3f6b651 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/misc/itypes.h @@ -0,0 +1,57 @@ +/* +itypes.h - integer types + +Copyright (c) 1999 - 2004 NoisyB +Copyright (c) 2001 - 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef MISC_ITYPES_H +#define MISC_ITYPES_H + +#ifdef HAVE_CONFIG_H +#include "config.h" // HAVE_INTTYPES_H +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef HAVE_INTTYPES_H +#include +#else // __MSDOS__, _WIN32 (VC++) +#ifndef OWN_INTTYPES +#define OWN_INTTYPES // signal that these are defined +typedef unsigned char uint8_t; +typedef signed char int8_t; +typedef unsigned short int uint16_t; +typedef signed short int int16_t; +typedef unsigned int uint32_t; +typedef signed int int32_t; +#ifndef _WIN32 +typedef unsigned long long int uint64_t; +typedef signed long long int int64_t; +#else +typedef unsigned __int64 uint64_t; +typedef signed __int64 int64_t; +#endif +#endif // OWN_INTTYPES +#endif + +#ifdef __cplusplus +} +#endif +#endif // MISC_ITYPES_H diff --git a/tools/ucon64-2.0.0-src/src/misc/map.c b/tools/ucon64-2.0.0-src/src/misc/map.c new file mode 100644 index 0000000..5eea896 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/misc/map.c @@ -0,0 +1,129 @@ +/* +map.c - a map (associative array) implementation + +Copyright (c) 2002 - 2003 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#include +#include +#include +#include "map.h" +#if defined DJGPP && defined DLL +#include "dxedll_priv.h" +#endif + + +st_map_t * +map_create (int n_elements) +{ + st_map_t *map; + int size = sizeof (st_map_t) + n_elements * sizeof (st_map_element_t); + + if ((map = (st_map_t *) malloc (size)) == NULL) + { + fprintf (stderr, "ERROR: Not enough memory for buffer (%d bytes)\n", size); + exit (1); + } + map->data = (st_map_element_t *) (((unsigned char *) map) + sizeof (st_map_t)); + memset (map->data, MAP_FREE_KEY, n_elements * sizeof (st_map_element_t)); + map->size = n_elements; + map->cmp_key = map_cmp_key_def; + return map; +} + + +void +map_copy (st_map_t *dest, st_map_t *src) +{ + memcpy (dest->data, src->data, src->size * sizeof (st_map_element_t)); + dest->cmp_key = src->cmp_key; +} + + +int +map_cmp_key_def (void *key1, void *key2) +{ + return key1 != key2; +} + + +st_map_t * +map_put (st_map_t *map, void *key, void *object) +{ + int n = 0; + + while (n < map->size && map->data[n].key != MAP_FREE_KEY && + map->cmp_key (map->data[n].key, key)) + n++; + + if (n == map->size) // current map is full + { + int new_size = map->size + 20; + st_map_t *map2; + + map2 = map_create (new_size); + map_copy (map2, map); + free (map); + map = map2; + } + + map->data[n].key = key; + map->data[n].object = object; + + return map; +} + + +void * +map_get (st_map_t *map, void *key) +{ + int n = 0; + + while (n < map->size && map->cmp_key (map->data[n].key, key)) + n++; + + if (n == map->size) + return NULL; + + return map->data[n].object; +} + + +void +map_del (st_map_t *map, void *key) +{ + int n = 0; + + while (n < map->size && map->cmp_key (map->data[n].key, key)) + n++; + + if (n < map->size) + map->data[n].key = MAP_FREE_KEY; +} + + +void +map_dump (st_map_t *map) +{ + int n = 0; + + while (n < map->size) + { + printf ("%p -> %p\n", map->data[n].key, map->data[n].object); + n++; + } +} diff --git a/tools/ucon64-2.0.0-src/src/misc/map.h b/tools/ucon64-2.0.0-src/src/misc/map.h new file mode 100644 index 0000000..28b695d --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/misc/map.h @@ -0,0 +1,72 @@ +/* +map.h - a map (associative array) implementation + +Copyright (c) 2002 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef MAP_H +#define MAP_H + +#ifdef __cplusplus +extern "C" { +#endif + +/* + map_create() create a new map (associative array) + map_copy() copy map src to map dest + dest must be a larger map than src + Note that this function also copies the member cmp_key. + map_put() put object in map under key + Callers should always reset the passed map pointer with the one + this function returns. This is necessary in case the map had to + be resized. + map_get() get object from map stored under key + returns NULL if there is no object with key in map + map_del() remove the object stored under key from map + map_dump() display the current contents of map + + The value MAP_FREE_KEY is reserved as a special key value. Don't use that + value. +*/ +#define MAP_FREE_KEY 0 + +typedef struct st_map_element +{ + void *key; + void *object; +} st_map_element_t; + +typedef struct st_map +{ + st_map_element_t *data; + int size; + int (*cmp_key) (void *key1, void *key2); +} st_map_t; + +extern st_map_t *map_create (int n_elements); +extern void map_copy (st_map_t *dest, st_map_t *src); +extern st_map_t *map_put (st_map_t *map, void *key, void *object); +extern int map_cmp_key_def (void *key1, void *key2); +extern void *map_get (st_map_t *map, void *key); +extern void map_del (st_map_t *map, void *key); +extern void map_dump (st_map_t *map); + +#ifdef __cplusplus +} +#endif + +#endif // MAP_H diff --git a/tools/ucon64-2.0.0-src/src/misc/misc.c b/tools/ucon64-2.0.0-src/src/misc/misc.c new file mode 100644 index 0000000..02b3308 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/misc/misc.c @@ -0,0 +1,1456 @@ +/* +misc.c - miscellaneous functions + +Copyright (c) 1999 - 2004 NoisyB +Copyright (c) 2001 - 2004 dbjh +Copyright (c) 2002 - 2004 Jan-Erik Karlsson (Amiga code) + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" // USE_ZLIB +#endif +#include +#include +#include +#ifdef HAVE_UNISTD_H +#include +#endif +#include +#include +#include +#include +#include // va_arg() +#include // for S_IFLNK + +#ifdef __MSDOS__ +#include // delay(), milliseconds +#elif defined __unix__ +#include // usleep(), microseconds +#elif defined __BEOS__ +#include // snooze(), microseconds +// Include OS.h before misc.h, because OS.h includes StorageDefs.h which +// includes param.h which unconditionally defines MIN and MAX. +#elif defined AMIGA +#include +#include +#include +#include +#include // GetKey() +#include +#include +#elif defined _WIN32 +#include // Sleep(), milliseconds +#endif + +#ifdef USE_ZLIB +#include "archive.h" +#endif +#include "file.h" +#include "misc.h" +#include "getopt.h" // struct option + +#ifdef __CYGWIN__ // under Cygwin (gcc for Windows) we +#define USE_POLL // need poll() for kbhit(). poll() +#include // is available on Linux, not on +#endif // BeOS. DOS already has kbhit() + +#if (defined __unix__ && !defined __MSDOS__) || defined __BEOS__ || \ + defined __APPLE__ // Mac OS X actually +#include +typedef struct termios tty_t; +#endif + + +#ifdef DJGPP +#include // needed for __dpmi_int() by ansi_init() +#ifdef DLL +#include "dxedll_priv.h" +#endif +#endif + + +#ifdef MAXBUFSIZE +#undef MAXBUFSIZE +#endif // MAXBUFSIZE +#define MAXBUFSIZE 32768 + + +extern int errno; + +typedef struct st_func_node +{ + void (*func) (void); + struct st_func_node *next; +} st_func_node_t; + +static st_func_node_t func_list = { NULL, NULL }; +static int func_list_locked = 0; +static int misc_ansi_color = 0; + +#if (defined __unix__ && !defined __MSDOS__) || defined __BEOS__ || \ + defined __APPLE__ // Mac OS X actually +static void set_tty (tty_t *param); +#endif + + +#if defined _WIN32 && defined USE_ANSI_COLOR +int +vprintf2 (const char *format, va_list argptr) +// Cheap hack to get the Visual C++ and MinGW ports support "ANSI colors". +// Cheap, because it only supports the ANSI escape sequences uCON64 uses. +{ +#undef printf +#undef fprintf + int n_chars = 0, n_ctrl = 0, n_print, done = 0; + char output[MAXBUFSIZE], *ptr, *ptr2; + HANDLE stdout_handle; + CONSOLE_SCREEN_BUFFER_INFO info; + WORD org_attr, new_attr = 0; + + n_chars = _vsnprintf (output, MAXBUFSIZE, format, argptr); + if (n_chars == -1) + { + fprintf (stderr, "INTERNAL ERROR: Output buffer in vprintf2() is too small (%d bytes).\n" + " Please send a bug report\n", MAXBUFSIZE); + exit (1); + } + + if ((ptr = strchr (output, 0x1b)) == NULL) + fputs (output, stdout); + else + { + stdout_handle = GetStdHandle (STD_OUTPUT_HANDLE); + GetConsoleScreenBufferInfo (stdout_handle, &info); + org_attr = info.wAttributes; + + if (ptr > output) + { + *ptr = 0; + fputs (output, stdout); + *ptr = 0x1b; + } + while (!done) + { + if (memcmp (ptr, "\x1b[0m", 4) == 0) + { + new_attr = org_attr; + n_ctrl = 4; + } + else if (memcmp (ptr, "\x1b[01;31m", 8) == 0) + { + new_attr = FOREGROUND_INTENSITY | FOREGROUND_RED; + n_ctrl = 8; + } + else if (memcmp (ptr, "\x1b[01;32m", 8) == 0) + { + new_attr = FOREGROUND_INTENSITY | FOREGROUND_GREEN; + n_ctrl = 8; + } + else if (memcmp (ptr, "\x1b[01;33m", 8) == 0) // bright yellow + { + new_attr = FOREGROUND_INTENSITY | FOREGROUND_RED | FOREGROUND_GREEN; + n_ctrl = 8; + } + else if (memcmp (ptr, "\x1b[31;41m", 8) == 0) + { + new_attr = FOREGROUND_RED | BACKGROUND_RED; + n_ctrl = 8; + } + else if (memcmp (ptr, "\x1b[32;42m", 8) == 0) + { + new_attr = FOREGROUND_GREEN | BACKGROUND_GREEN; + n_ctrl = 8; + } + else if (memcmp (ptr, "\x1b[30;41m", 8) == 0) // 30 = foreground black + { + new_attr = BACKGROUND_RED; + n_ctrl = 8; + } + else if (memcmp (ptr, "\x1b[30;42m", 8) == 0) + { + new_attr = BACKGROUND_GREEN; + n_ctrl = 8; + } + else if (*ptr == 0x1b) + { + new_attr = FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE; + SetConsoleTextAttribute (stdout_handle, new_attr); + printf ("\n" + "INTERNAL WARNING: vprintf2() encountered an unsupported ANSI escape sequence\n" + " Please send a bug report\n"); + n_ctrl = 0; + } + SetConsoleTextAttribute (stdout_handle, new_attr); + + ptr2 = strchr (ptr + 1, 0x1b); + if (ptr2) + n_print = ptr2 - ptr; + else + { + n_print = strlen (ptr); + done = 1; + } + + ptr[n_print] = 0; + ptr += n_ctrl; + fputs (ptr, stdout); + (ptr - n_ctrl)[n_print] = 0x1b; + ptr = ptr2; + } + } + return n_chars; +#define printf printf2 +#define fprintf fprintf2 +} + + +int +printf2 (const char *format, ...) +{ + va_list argptr; + int n_chars; + + va_start (argptr, format); + n_chars = vprintf2 (format, argptr); + va_end (argptr); + return n_chars; +} + + +int +fprintf2 (FILE *file, const char *format, ...) +{ + va_list argptr; + int n_chars; + + va_start (argptr, format); + if (file != stdout) + n_chars = vfprintf (file, format, argptr); + else + n_chars = vprintf2 (format, argptr); + va_end (argptr); + return n_chars; +} +#endif // defined _WIN32 && defined USE_ANSI_COLOR + + +void +clear_line (void) +/* + This function is used to fix a problem when using the MinGW or Visual C++ + port under Windows 98 (probably Windows 95 too) while ANSI.SYS is not loaded. + If a line contains colors, printed with printf() or fprintf() (actually + printf2() or fprintf2()), it cannot be cleared by printing spaces on the same + line. A solution is using SetConsoleTextAttribute(). + The problem doesn't occur if ANSI.SYS is loaded. It also doesn't occur under + Windows XP, even if ANSI.SYS isn't loaded. + We print 79 spaces (not 80), because under command.com the cursor advances to + the next line if we print something on the 80th column (in 80 column mode). + This doesn't happen under xterm. +*/ +{ +#if !defined _WIN32 || !defined USE_ANSI_COLOR + fputs ("\r \r", stdout); +#else + WORD org_attr; + CONSOLE_SCREEN_BUFFER_INFO info; + HANDLE stdout_handle = GetStdHandle (STD_OUTPUT_HANDLE); + GetConsoleScreenBufferInfo (stdout_handle, &info); + org_attr = info.wAttributes; + SetConsoleTextAttribute (stdout_handle, FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE); + fputs ("\r \r", stdout); + SetConsoleTextAttribute (stdout_handle, org_attr); +#endif +} + + +int +ansi_init (void) +{ + int result = isatty (STDOUT_FILENO); + +#ifdef DJGPP + if (result) + { + // Don't use __MSDOS__, because __dpmi_regs and __dpmi_int are DJGPP specific + __dpmi_regs reg; + + reg.x.ax = 0x1a00; // DOS 4.0+ ANSI.SYS installation check + __dpmi_int (0x2f, ®); + if (reg.h.al != 0xff) // AL == 0xff if installed + result = 0; + } +#endif + + misc_ansi_color = result; + + return result; +} + + +void +dumper (FILE *output, const void *buffer, size_t bufferlen, int virtual_start, + unsigned int flags) +// Do NOT use DUMPER_PRINT in uCON64 code - dbjh +{ +#define DUMPER_REPLACER ('.') + size_t pos; + char buf[17]; + const unsigned char *p = (const unsigned char *) buffer; + + memset (buf, 0, sizeof (buf)); + for (pos = 0; pos < bufferlen; pos++, p++) + if (flags & DUMPER_PRINT) + { + fprintf (output, "%c", isprint (*p) || +#ifdef USE_ANSI_COLOR + *p == 0x1b || // ESC +#endif + isspace (*p) ? *p : DUMPER_REPLACER); + } + else if (flags & DUMPER_DUAL) + { + if (!(pos & 3)) + fprintf (output, (flags & DUMPER_DEC_COUNT ? "%010d " : "%08x "), + (int) (pos + virtual_start)); + + fprintf (output, "%02x %08d ", + *p, + ((*p >> 7) & 1) * 10000000 + + ((*p >> 6) & 1) * 1000000 + + ((*p >> 5) & 1) * 100000 + + ((*p >> 4) & 1) * 10000 + + ((*p >> 3) & 1) * 1000 + + ((*p >> 2) & 1) * 100 + + ((*p >> 1) & 1) * 10 + + (*p & 1)); + + *(buf + (pos & 3)) = isprint (*p) ? *p : DUMPER_REPLACER; + if (!((pos + 1) & 3)) + fprintf (output, "%s\n", buf); + } + else if (flags & DUMPER_CODE) + { + fprintf (output, "0x%02x, ", *p); + + if (!((pos + 1) & 7)) + fprintf (output, (flags & DUMPER_DEC_COUNT ? "// (%d) 0x%x\n" : "// 0x%x (%d)\n"), + (int) (pos + virtual_start + 1), + (int) (pos + virtual_start + 1)); + } + else // if (flags & DUMPER_HEX) // default + { + if (!(pos & 15)) + fprintf (output, (flags & DUMPER_DEC_COUNT ? "%08d " : "%08x "), + (int) (pos + virtual_start)); + + fprintf (output, (pos + 1) & 3 ? "%02x " : "%02x ", *p); + + *(buf + (pos & 15)) = isprint (*p) ? *p : DUMPER_REPLACER; + if (!((pos + 1) & 15)) + fprintf (output, "%s\n", buf); + } + + if (flags & DUMPER_PRINT) + return; + else if (flags & DUMPER_DUAL) + { + if (pos & 3) + { + *(buf + (pos & 3)) = 0; + fprintf (output, "%s\n", buf); + } + } + else if (flags & DUMPER_CODE) + return; + else // if (flags & DUMPER_HEX) // default + { + if (pos & 15) + { + *(buf + (pos & 15)) = 0; + fprintf (output, "%s\n", buf); + } + } +} + + +int +change_mem (char *buf, int bufsize, char *searchstr, int strsize, + char wc, char esc, char *newstr, int newsize, int offset, ...) +// convenience wrapper for change_mem2() +{ + va_list argptr; + int i, n_esc = 0, retval; + st_cm_set_t *sets; + + va_start (argptr, offset); + for (i = 0; i < strsize; i++) + if (searchstr[i] == esc) + n_esc++; + + sets = (st_cm_set_t *) malloc (n_esc * sizeof (st_cm_set_t)); + va_start (argptr, offset); + for (i = 0; i < n_esc; i++) + { + sets[i].data = va_arg (argptr, char *); // get next set of characters + sets[i].size = va_arg (argptr, int); // get set size + } + va_end (argptr); + retval = change_mem2 (buf, bufsize, searchstr, strsize, wc, esc, newstr, + newsize, offset, sets); + free (sets); + return retval; +} + + +int +change_mem2 (char *buf, int bufsize, char *searchstr, int strsize, char wc, + char esc, char *newstr, int newsize, int offset, st_cm_set_t *sets) +/* + Search for all occurrences of string searchstr in buf and replace newsize + bytes in buf by copying string newstr to the end of the found search string + in buf plus offset. + If searchstr contains wildcard characters wc, then n wildcard characters in + searchstr match any n characters in buf. + If searchstr contains escape characters esc, sets must point to an array of + sets. sets must contain as many elements as there are escape characters in + searchstr. searchstr matches for an escape character if one of the characters + in sets[i]->data matches. + Note that searchstr is not necessarily a C string; it may contain one or more + zero bytes as strsize indicates the length. + offset is the relative offset from the last character in searchstring and may + have a negative value. + The return value is the number of times a match was found. + This function was written to patch SNES ROM dumps. It does basically the same + as the old uCON does, with one exception, the line with: + bufpos -= n_wc; + + As stated in the comment, this causes the search to restart at the first + wildcard character of the sequence of wildcards that was most recently + skipped if the current character in buf didn't match the current character + in searchstr. This makes change_mem() behave a bit more intuitive. For + example + char str[] = "f foobar means..."; + change_mem (str, strlen (str), "f**bar", 6, '*', '!', "XXXXXXXX", 8, 2, NULL); + finds and changes "foobar means..." into "foobar XXXXXXXX", while with uCON's + algorithm it would not (but does the job good enough for patching SNES ROMs). + + One example of using sets: + char str[] = "fu-bar is the same as foobar "; + st_cm_set_t sets[] = {{"o-", 2}, {"uo", 2}}; + change_mem (str, strlen (str), "f!!", 3, '*', '!', "fighter", 7, 1, sets); + This changes str into "fu-fighter is the same as foofighter". +*/ +{ + char *set; + int bufpos, strpos = 0, pos_1st_esc = -1, setsize, i, n_wc, n_matches = 0, + setindex = 0; + + for (bufpos = 0; bufpos < bufsize; bufpos++) + { + if (strpos == 0 && searchstr[0] != esc && searchstr[0] != wc) + while (bufpos < bufsize && searchstr[0] != buf[bufpos]) + bufpos++; + + // handle escape character in searchstr + while (searchstr[strpos] == esc && bufpos < bufsize) + { + if (strpos == pos_1st_esc) + setindex = 0; // reset argument pointer + if (pos_1st_esc == -1) + pos_1st_esc = strpos; + + set = sets[setindex].data; // get next set of characters + setsize = sets[setindex].size; // get set size + setindex++; + i = 0; + // see if buf[bufpos] matches with any character in current set + while (i < setsize && buf[bufpos] != set[i]) + i++; + if (i == setsize) + break; // buf[bufpos] didn't match with any char + + if (strpos == strsize - 1) // check if we are at the end of searchstr + { + memcpy (buf + bufpos + offset, newstr, newsize); + n_matches++; + break; + } + + strpos++; + bufpos++; + } + if (searchstr[strpos] == esc) + { + strpos = 0; + continue; + } + + // skip wildcards in searchstr + n_wc = 0; + while (searchstr[strpos] == wc && bufpos < bufsize) + { + if (strpos == strsize - 1) // check if at end of searchstr + { + memcpy (buf + bufpos + offset, newstr, newsize); + n_matches++; + break; + } + + strpos++; + bufpos++; + n_wc++; + } + if (bufpos == bufsize) + break; + if (searchstr[strpos] == wc) + { + strpos = 0; + continue; + } + + if (searchstr[strpos] == esc) + { + bufpos--; // current char has to be checked, but `for' + continue; // increments bufpos + } + + // no escape char, no wildcard -> normal character + if (searchstr[strpos] == buf[bufpos]) + { + if (strpos == strsize - 1) // check if at end of searchstr + { + memcpy (buf + bufpos + offset, newstr, newsize); + n_matches++; + strpos = 0; + } + else + strpos++; + } + else + { + bufpos -= n_wc; // scan the most recent wildcards too if + if (strpos > 0) // the character didn't match + { + bufpos--; // current char has to be checked, but `for' + strpos = 0; // increments bufpos + } + } + } + + return n_matches; +} + + +int +build_cm_patterns (st_cm_pattern_t **patterns, const char *filename, int verbose) +/* + This function goes a bit over the top what memory allocation technique + concerns, but at least it's stable. + Note the important difference between (*patterns)[0].n_sets and + patterns[0]->n_sets (not especially that member). I (dbjh) am too ashamed to + tell how long it took me to finally realise that... +*/ +{ + char src_name[FILENAME_MAX], line[MAXBUFSIZE], buffer[MAXBUFSIZE], + *token, *last, *ptr; + int line_num = 0, n_sets, n_codes = 0, n, currentsize1, requiredsize1, + currentsize2, requiredsize2, currentsize3, requiredsize3; + FILE *srcfile; + + strcpy (src_name, filename); + if (access (src_name, F_OK | R_OK)) + return -1; // NOT an error, it's optional + + if ((srcfile = fopen (src_name, "r")) == NULL) // open in text mode + { + fprintf (stderr, "ERROR: Can't open \"%s\" for reading\n", src_name); + return -1; + } + + *patterns = NULL; + currentsize1 = requiredsize1 = 0; + while (fgets (line, sizeof line, srcfile) != NULL) + { + line_num++; + n_sets = 0; + + ptr = line + strspn (line, "\t "); + if (*ptr == '#' || *ptr == '\n' || *ptr == '\r') + continue; + if ((ptr = strpbrk (line, "\n\r#"))) // text after # is comment + *ptr = 0; + + requiredsize1 += sizeof (st_cm_pattern_t); + if (requiredsize1 > currentsize1) + { + currentsize1 = requiredsize1 + 10 * sizeof (st_cm_pattern_t); + if (!(*patterns = (st_cm_pattern_t *) realloc (*patterns, currentsize1))) + { + fprintf (stderr, "ERROR: Not enough memory for buffer (%d bytes)\n", currentsize1); + return -1; + } + } + + (*patterns)[n_codes].search = NULL; + currentsize2 = 0; + requiredsize2 = 1; // for string terminator + n = 0; + strcpy (buffer, line); + token = strtok (buffer, ":"); + token = strtok (token, " "); +// printf ("token: \"%s\"\n", token); + last = token; + // token is never NULL here (yes, tested with empty files and such) + do + { + requiredsize2++; + if (requiredsize2 > currentsize2) + { + currentsize2 = requiredsize2 + 10; + if (!((*patterns)[n_codes].search = + (char *) realloc ((*patterns)[n_codes].search, currentsize2))) + { + fprintf (stderr, "ERROR: Not enough memory for buffer (%d bytes)\n", currentsize2); + free (*patterns); + *patterns = NULL; + return -1; + } + } + (*patterns)[n_codes].search[n] = (unsigned char) strtol (token, NULL, 16); + n++; + } + while ((token = strtok (NULL, " "))); + (*patterns)[n_codes].search_size = n; // size in bytes + + strcpy (buffer, line); + token = strtok (last, ":"); + token = strtok (NULL, ":"); + token = strtok (token, " "); + last = token; + if (!token) + { + printf ("WARNING: Line %d is invalid, no wildcard value is specified\n", + line_num); + continue; + } + (*patterns)[n_codes].wildcard = (char) strtol (token, NULL, 16); + + strcpy (buffer, line); + token = strtok (last, ":"); + token = strtok (NULL, ":"); + token = strtok (token, " "); + last = token; + if (!token) + { + printf ("WARNING: Line %d is invalid, no escape value is specified\n", + line_num); + continue; + } + (*patterns)[n_codes].escape = (char) strtol (token, NULL, 16); + + strcpy (buffer, line); + token = strtok (last, ":"); + token = strtok (NULL, ":"); + token = strtok (token, " "); + last = token; + if (!token) + { + printf ("WARNING: Line %d is invalid, no replacement is specified\n", line_num); + continue; + } + (*patterns)[n_codes].replace = NULL; + currentsize2 = 0; + requiredsize2 = 1; // for string terminator + n = 0; + do + { + requiredsize2++; + if (requiredsize2 > currentsize2) + { + currentsize2 = requiredsize2 + 10; + if (!((*patterns)[n_codes].replace = + (char *) realloc ((*patterns)[n_codes].replace, currentsize2))) + { + fprintf (stderr, "ERROR: Not enough memory for buffer (%d bytes)\n", currentsize2); + free ((*patterns)[n_codes].search); + free (*patterns); + *patterns = NULL; + return -1; + } + } + (*patterns)[n_codes].replace[n] = (unsigned char) strtol (token, NULL, 16); + n++; + } + while ((token = strtok (NULL, " "))); + (*patterns)[n_codes].replace_size = n; // size in bytes + + strcpy (buffer, line); + token = strtok (last, ":"); + token = strtok (NULL, ":"); + token = strtok (token, " "); + last = token; + if (!token) + { + printf ("WARNING: Line %d is invalid, no offset is specified\n", line_num); + continue; + } + (*patterns)[n_codes].offset = strtol (token, NULL, 10); // yes, offset is decimal + + if (verbose) + { + printf ("\n" + "line: %d\n" + "searchstring: ", + line_num); + for (n = 0; n < (*patterns)[n_codes].search_size; n++) + printf ("%02x ", (unsigned char) (*patterns)[n_codes].search[n]); + printf ("(%d)\n" + "wildcard: %02x\n" + "escape: %02x\n" + "replacement: ", + (*patterns)[n_codes].search_size, + (unsigned char) (*patterns)[n_codes].wildcard, + (unsigned char) (*patterns)[n_codes].escape); + for (n = 0; n < (*patterns)[n_codes].replace_size; n++) + printf ("%02x ", (unsigned char) (*patterns)[n_codes].replace[n]); + printf ("(%d)\n" + "offset: %d\n", + (*patterns)[n_codes].replace_size, + (*patterns)[n_codes].offset); + } + + (*patterns)[n_codes].sets = NULL; + currentsize2 = 0; + requiredsize2 = 1; // for string terminator + strcpy (buffer, line); + token = strtok (last, ":"); + token = strtok (NULL, ":"); + last = token; + while (token) + { + requiredsize2 += sizeof (st_cm_set_t); + if (requiredsize2 > currentsize2) + { + currentsize2 = requiredsize2 + 10 * sizeof (st_cm_set_t); + if (!((*patterns)[n_codes].sets = (st_cm_set_t *) + realloc ((*patterns)[n_codes].sets, currentsize2))) + { + fprintf (stderr, "ERROR: Not enough memory for buffer (%d bytes)\n", currentsize2); + free ((*patterns)[n_codes].replace); + free ((*patterns)[n_codes].search); + free (*patterns); + *patterns = NULL; + return -1; + } + } + + (*patterns)[n_codes].sets[n_sets].data = NULL; + currentsize3 = 0; + requiredsize3 = 1; // for string terminator + n = 0; + token = strtok (token, " "); + do + { + requiredsize3++; + if (requiredsize3 > currentsize3) + { + currentsize3 = requiredsize3 + 10; + if (!((*patterns)[n_codes].sets[n_sets].data = (char *) + realloc ((*patterns)[n_codes].sets[n_sets].data, currentsize3))) + { + fprintf (stderr, "ERROR: Not enough memory for buffer (%d bytes)\n", currentsize3); + free ((*patterns)[n_codes].sets); + free ((*patterns)[n_codes].replace); + free ((*patterns)[n_codes].search); + free (*patterns); + *patterns = NULL; + return -1; + } + } + (*patterns)[n_codes].sets[n_sets].data[n] = + (unsigned char) strtol (token, NULL, 16); + n++; + } + while ((token = strtok (NULL, " "))); + (*patterns)[n_codes].sets[n_sets].size = n; + + if (verbose) + { + printf ("set: "); + for (n = 0; n < (*patterns)[n_codes].sets[n_sets].size; n++) + printf ("%02x ", (unsigned char) (*patterns)[n_codes].sets[n_sets].data[n]); + printf ("(%d)\n", (*patterns)[n_codes].sets[n_sets].size); + } + + strcpy (buffer, line); + token = strtok (last, ":"); + token = strtok (NULL, ":"); + last = token; + + n_sets++; + } + (*patterns)[n_codes].n_sets = n_sets; + + n_codes++; + } + fclose (srcfile); + return n_codes; +} + + +void +cleanup_cm_patterns (st_cm_pattern_t **patterns, int n_patterns) +{ + int n, m; + for (n = 0; n < n_patterns; n++) + { + free ((*patterns)[n].search); + (*patterns)[n].search = NULL; + free ((*patterns)[n].replace); + (*patterns)[n].replace = NULL; + for (m = 0; m < (*patterns)[n].n_sets; m++) + { + free ((*patterns)[n].sets[m].data); + (*patterns)[n].sets[m].data = NULL; + } + free ((*patterns)[n].sets); + (*patterns)[n].sets = NULL; + } + free (*patterns); + *patterns = NULL; +} + + +#if 1 +int +gauge (FILE *output, time_t start_time, int pos, int size, unsigned int flags) +{ +#define GAUGE_LENGTH ((int64_t) 24) + int curr, bps, left, p, percentage; + char progress[1024]; + + if (pos > size || !size) + return -1; + + percentage = (int) ((((int64_t) 100) * pos) / size); + + if (/* output != stdout && */ flags & GAUGE_PERCENT) + { + fprintf (output, "%u\n", percentage); + fflush (output); + + return 0; + } + + if ((curr = time (0) - start_time) == 0) + curr = 1; // `round up' to at least 1 sec (no division + // by zero below) + bps = pos / curr; // # bytes/second (average transfer speed) + left = size - pos; + left /= bps ? bps : 1; + + p = (int) ((GAUGE_LENGTH * pos) / size); + *progress = 0; + strncat (progress, "========================", p); + +// if (flags & GAUGE_ANSI) + if (misc_ansi_color) + { + progress[p] = 0; + if (p < GAUGE_LENGTH) + strcat (progress, "\x1b[31;41m"); + } + + strncat (&progress[p], "------------------------", (int) (GAUGE_LENGTH - p)); + + fprintf (output, +// (flags & GAUGE_ANSI) ? + misc_ansi_color ? + "\r%10d Bytes [\x1b[32;42m%s\x1b[0m] %d%%, BPS=%d, " : + "\r%10d Bytes [%s] %d%%, BPS=%d, ", pos, progress, percentage, bps); + + if (pos == size) + fprintf (output, "TOTAL=%02d:%02d", curr / 60, curr % 60); // DON'T print a newline + else if (pos) // -> gauge can be cleared + fprintf (output, "ETA=%02d:%02d ", left / 60, left % 60); + else // don't display a nonsense ETA + fputs ("ETA=? ", stdout); + + fflush (output); + + return 0; +} +#else +int +gauge (time_t init_time, int pos, int size, unsigned int flags) +{ +#define GAUGE_LENGTH ((int64_t) 24) + + int curr, bps, left, p, percentage; + char progress[MAXBUFSIZE]; + + if (pos > size || !size) + return -1; + + if ((curr = time (0) - init_time) == 0) + curr = 1; // `round up' to at least 1 sec (no division + // by zero below) + bps = pos / curr; // # bytes/second (average transfer speed) + left = size - pos; + left /= bps ? bps : 1; + + p = (int) ((GAUGE_LENGTH * pos) / size); + *progress = 0; + strncat (progress, "========================", p); + + if (misc_ansi_color) + { + progress[p] = 0; + if (p < GAUGE_LENGTH) + strcat (progress, "\x1b[31;41m"); + } + + strncat (&progress[p], "------------------------", (int) (GAUGE_LENGTH - p)); + + percentage = (int) ((((int64_t) 100) * pos) / size); + + printf ( + misc_ansi_color ? "\r%10d Bytes [\x1b[32;42m%s\x1b[0m] %d%%, BPS=%d, " : + "\r%10d Bytes [%s] %d%%, BPS=%d, ", pos, progress, percentage, bps); + + if (pos == size) + printf ("TOTAL=%02d:%02d", curr / 60, curr % 60); // DON'T print a newline + else if (pos) // -> gauge can be cleared + printf ("ETA=%02d:%02d ", left / 60, left % 60); + else // don't display a nonsense ETA + fputs ("ETA=? ", stdout); + + fflush (stdout); + + return 0; +} +#endif + + +#ifdef __CYGWIN__ +/* + Weird problem with combination Cygwin uCON64 exe and cmd.exe (Bash is ok): + When a string with "e (e with diaeresis, one character) is read from an + environment variable, the character isn't the right character for accessing + the file system. We fix this. + TODO: fix the same problem for other non-ASCII characters (> 127). +*/ +char * +fix_character_set (char *str) +{ + int n, l = strlen (str); + unsigned char *ptr = (unsigned char *) str; + + for (n = 0; n < l; n++) + { + if (ptr[n] == 0x89) // e diaeresis + ptr[n] = 0xeb; + else if (ptr[n] == 0x84) // a diaeresis + ptr[n] = 0xe4; + else if (ptr[n] == 0x8b) // i diaeresis + ptr[n] = 0xef; + else if (ptr[n] == 0x94) // o diaeresis + ptr[n] = 0xf6; + else if (ptr[n] == 0x81) // u diaeresis + ptr[n] = 0xfc; + } + + return str; +} +#endif + + +char * +getenv2 (const char *variable) +/* + getenv() suitable for enviroments w/o HOME, TMP or TEMP variables. + The caller should copy the returned string to it's own memory, because this + function will overwrite that memory on the next call. + Note that this function never returns NULL. +*/ +{ + char *tmp; + static char value[MAXBUFSIZE]; +#if defined __CYGWIN__ || defined __MSDOS__ +/* + Under DOS and Windows the environment variables are not stored in a case + sensitive manner. The run-time systems of DJGPP and Cygwin act as if they are + stored in upper case. Their getenv() however *is* case sensitive. We fix this + by changing all characters of the search string (variable) to upper case. + + Note that under Cygwin's Bash environment variables *are* stored in a case + sensitive manner. +*/ + char tmp2[MAXBUFSIZE]; + + strcpy (tmp2, variable); + variable = strupr (tmp2); // DON'T copy the string into variable +#endif // (variable itself is local) + + *value = 0; + + if ((tmp = getenv (variable)) != NULL) + strcpy (value, tmp); + else + { + if (!strcmp (variable, "HOME")) + { + if ((tmp = getenv ("USERPROFILE")) != NULL) + strcpy (value, tmp); + else if ((tmp = getenv ("HOMEDRIVE")) != NULL) + { + strcpy (value, tmp); + tmp = getenv ("HOMEPATH"); + strcat (value, tmp ? tmp : FILE_SEPARATOR_S); + } + else + /* + Don't just use C:\\ under DOS, the user might not have write access + there (Windows NT DOS-box). Besides, it would make uCON64 behave + differently on DOS than on the other platforms. + Returning the current directory when none of the above environment + variables are set can be seen as a feature. A frontend could execute + uCON64 with an environment without any of the environment variables + set, so that the directory from where uCON64 starts will be used. + */ + { + char c; + getcwd (value, FILENAME_MAX); + c = toupper (*value); + // if current dir is root dir strip problematic ending slash (DJGPP) + if (c >= 'A' && c <= 'Z' && + value[1] == ':' && value[2] == '/' && value[3] == 0) + value[2] = 0; + } + } + + if (!strcmp (variable, "TEMP") || !strcmp (variable, "TMP")) + { +#if defined __MSDOS__ || defined __CYGWIN__ + /* + DJGPP and (yet another) Cygwin quirck + A trailing backslash is used to check for a directory. Normally + DJGPP's run-time system is able to handle forward slashes in paths, + but access() won't differentiate between files and dirs if a + forward slash is used. Cygwin's run-time system seems to handle + paths with forward slashes quite different from paths with + backslashes. This trick seems to work only if a backslash is used. + */ + if (access ("\\tmp\\", R_OK | W_OK) == 0) +#else + // trailing file separator to force it to be a directory + if (access (FILE_SEPARATOR_S"tmp"FILE_SEPARATOR_S, R_OK | W_OK) == 0) +#endif + strcpy (value, FILE_SEPARATOR_S"tmp"); + else + getcwd (value, FILENAME_MAX); + } + } + +#ifdef __CYGWIN__ + /* + Under certain circumstances Cygwin's run-time system returns "/" as value + of HOME while that var has not been set. To specify a root dir a path like + /cygdrive/ or simply a drive letter should be used. + */ + if (!strcmp (variable, "HOME") && !strcmp (value, "/")) + getcwd (value, FILENAME_MAX); + + return fix_character_set (value); +#else + return value; +#endif +} + + +long int +strtol2 (const char *str, char **tail) +{ + long int i; + + return ((i = strtol (str, tail, 10))) ? i : strtol (str, tail, 16); +} + + +#if (defined __unix__ && !defined __MSDOS__) || defined __BEOS__ || \ + defined __APPLE__ // Mac OS X actually +static int oldtty_set = 0, stdin_tty = 1; // 1 => stdin is a tty, 0 => it's not +static tty_t oldtty, newtty; + + +void +set_tty (tty_t *param) +{ + if (stdin_tty && tcsetattr (STDIN_FILENO, TCSANOW, param) == -1) + { + fprintf (stderr, "ERROR: Could not set tty parameters\n"); + exit (100); + } +} + + +/* + This code compiles with DJGPP, but is not neccesary. Our kbhit() conflicts + with DJGPP's one, so it won't be used for that function. Perhaps it works + for making getchar() behave like getch(), but that's a bit pointless. +*/ +void +init_conio (void) +{ + if (!isatty (STDIN_FILENO)) + { + stdin_tty = 0; + return; // rest is nonsense if not a tty + } + + if (tcgetattr (STDIN_FILENO, &oldtty) == -1) + { + fprintf (stderr, "ERROR: Could not get tty parameters\n"); + exit (101); + } + oldtty_set = 1; + + if (register_func (deinit_conio) == -1) + { + fprintf (stderr, "ERROR: Could not register function with register_func()\n"); + exit (102); + } + + newtty = oldtty; + newtty.c_lflag &= ~(ICANON | ECHO); + newtty.c_lflag |= ISIG; + newtty.c_cc[VMIN] = 1; // if VMIN != 0, read calls + newtty.c_cc[VTIME] = 0; // block (wait for input) + + set_tty (&newtty); +} + + +void +deinit_conio (void) +{ + if (oldtty_set) + { + tcsetattr (STDIN_FILENO, TCSAFLUSH, &oldtty); + oldtty_set = 0; + } +} + + +#if defined __CYGWIN__ && !defined USE_POLL +#warning kbhit() does not work properly in Cygwin executable if USE_POLL is not defined +#endif +// this kbhit() conflicts with DJGPP's one +int +kbhit (void) +{ +#ifdef USE_POLL + struct pollfd fd; + + fd.fd = STDIN_FILENO; + fd.events = POLLIN; + fd.revents = 0; + + return poll (&fd, 1, 0) > 0; +#else + tty_t tmptty = newtty; + int ch, key_pressed; + + tmptty.c_cc[VMIN] = 0; // doesn't work as expected under + set_tty (&tmptty); // Cygwin (define USE_POLL) + + if ((ch = fgetc (stdin)) != EOF) + { + key_pressed = 1; + ungetc (ch, stdin); + } + else + key_pressed = 0; + + set_tty (&newtty); + + return key_pressed; +#endif +} +#elif defined AMIGA // (__unix__ && !__MSDOS__) || +int // __BEOS__ ||__APPLE__ +kbhit (void) +{ + return GetKey () != 0xff ? 1 : 0; +} + + +int +getch (void) +{ + BPTR con_fileh; + int temp; + + con_fileh = Input (); + // put the console into RAW mode which makes getchar() behave like getch()? + if (con_fileh) + SetMode (con_fileh, 1); + temp = getchar (); + // put the console out of RAW mode (might make sense) + if (con_fileh) + SetMode (con_fileh, 0); + + return temp; +} +#endif // AMIGA + + +#if defined __unix__ && !defined __MSDOS__ +int +drop_privileges (void) +{ + uid_t uid; + gid_t gid; + + uid = getuid (); + if (setuid (uid) == -1) + { + fprintf (stderr, "ERROR: Could not set uid\n"); + return 1; + } + gid = getgid (); // This shouldn't be necessary + if (setgid (gid) == -1) // if `make install' was + { // used, but just in case + fprintf (stderr, "ERROR: Could not set gid\n"); // (root did `chmod +s') + return 1; + } + + return 0; +} +#endif + + +int +register_func (void (*func) (void)) +{ + st_func_node_t *func_node = &func_list, *new_node; + + while (func_node->next != NULL) + func_node = func_node->next; + + if ((new_node = (st_func_node_t *) malloc (sizeof (st_func_node_t))) == NULL) + return -1; + + new_node->func = func; + new_node->next = NULL; + func_node->next = new_node; + return 0; +} + + +int +unregister_func (void (*func) (void)) +{ + st_func_node_t *func_node = &func_list, *prev_node = &func_list; + + while (func_node->next != NULL && func_node->func != func) + { + prev_node = func_node; + func_node = func_node->next; + } + if (func_node->func != func) + return -1; + + if (!func_list_locked) + { + prev_node->next = func_node->next; + free (func_node); + return 0; + } + else + return -1; +} + + +void +handle_registered_funcs (void) +{ + st_func_node_t *func_node = &func_list; + + func_list_locked = 1; + while (func_node->next != NULL) + { + func_node = func_node->next; // first node contains no valid address + if (func_node->func != NULL) + func_node->func (); + } + func_list_locked = 0; +} + + +void +wait2 (int nmillis) +{ +#ifdef __MSDOS__ + delay (nmillis); +#elif defined __unix__ || defined __APPLE__ // Mac OS X actually + usleep (nmillis * 1000); +#elif defined __BEOS__ + snooze (nmillis * 1000); +#elif defined AMIGA + Delay (nmillis * 1000); +#elif defined _WIN32 + Sleep (nmillis); +#else +#ifdef __GNUC__ +#warning Please provide a wait2() implementation +#else +#pragma message ("Please provide a wait2() implementation") +#endif + volatile int n; + for (n = 0; n < nmillis * 65536; n++) + ; +#endif +} + + +#ifdef _WIN32 +int +truncate (const char *path, off_t size) +{ + int retval; + HANDLE file = CreateFile (path, GENERIC_WRITE, FILE_SHARE_READ, NULL, + OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); + if (file == INVALID_HANDLE_VALUE) + return -1; + + SetFilePointer (file, size, 0, FILE_BEGIN); + retval = SetEndOfFile (file); // returns nonzero on success + CloseHandle (file); + + return retval ? 0 : -1; // truncate() returns zero on success +} + + +int +sync (void) +{ + _commit (fileno (stdout)); + _commit (fileno (stderr)); + fflush (NULL); // flushes all streams opened for output + return 0; +} + + +#if defined __MINGW32__ && defined DLL +// Ugly hack in order to fix something in zlib +FILE * +fdopen (int fd, const char *mode) +{ + return _fdopen (fd, mode); +} +#endif + + +#elif defined AMIGA // _WIN32 +int +truncate (const char *path, off_t size) +{ + BPTR fh; + ULONG newsize; + + if (!(fh = Open (path, MODE_OLDFILE))) + return -1; + + newsize = SetFileSize (fh, size, OFFSET_BEGINNING); + Close (fh); + + return newsize == (ULONG) size ? 0 : -1; // truncate() returns zero on success +} + + +int +chmod (const char *path, mode_t mode) +{ + if (!SetProtection ((STRPTR) path, + ((mode & S_IRUSR ? 0 : FIBF_READ) | + (mode & S_IWUSR ? 0 : FIBF_WRITE | FIBF_DELETE) | + (mode & S_IXUSR ? 0 : FIBF_EXECUTE) | + (mode & S_IRGRP ? FIBF_GRP_READ : 0) | + (mode & S_IWGRP ? FIBF_GRP_WRITE | FIBF_GRP_DELETE : 0) | + (mode & S_IXGRP ? FIBF_GRP_EXECUTE : 0) | + (mode & S_IROTH ? FIBF_OTR_READ : 0) | + (mode & S_IWOTH ? FIBF_OTR_WRITE | FIBF_OTR_DELETE : 0) | + (mode & S_IXOTH ? FIBF_OTR_EXECUTE : 0)))) + return -1; + else + return 0; +} + + +void +sync (void) +{ +} + + +int +readlink (const char *path, char *buf, int bufsize) +{ + (void) path; // warning remover + (void) buf; // idem + (void) bufsize; // idem + // always return -1 as if anything passed to it isn't a soft link + return -1; +} + + +// custom _popen() and _pclose(), because the standard ones (named popen() and +// pclose()) are buggy +FILE * +_popen (const char *path, const char *mode) +{ + int fd; + BPTR fh; + long fhflags; + char *apipe = malloc (strlen (path) + 7); + + if (!apipe) + return NULL; + + strcpy (apipe, "APIPE:"); + strcat (apipe, path); + + if (*mode == 'w') + fhflags = MODE_NEWFILE; + else + fhflags = MODE_OLDFILE; + + if (!(fh = Open (apipe, fhflags))) + return NULL; + + return fdopen (fd, mode); +} + + +int +_pclose (FILE *stream) +{ + return fclose (stream); +} +#endif // AMIGA diff --git a/tools/ucon64-2.0.0-src/src/misc/misc.h b/tools/ucon64-2.0.0-src/src/misc/misc.h new file mode 100644 index 0000000..6a16fe9 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/misc/misc.h @@ -0,0 +1,344 @@ +/* +misc.h - miscellaneous functions + +Copyright (c) 1999 - 2004 NoisyB +Copyright (c) 2001 - 2004 dbjh +Copyright (c) 2002 - 2004 Jan-Erik Karlsson (Amiga code) + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef MISC_H +#define MISC_H + +#ifdef HAVE_CONFIG_H +#include "config.h" // USE_ZLIB, USE_ANSI_COLOR support +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#include +#include // gauge() prototype contains time_t +#include + + +#ifdef __sun +#ifdef __SVR4 +#define __solaris__ +#endif +#endif + +#ifdef WORDS_BIGENDIAN +#undef WORDS_BIGENDIAN +#endif + +#if defined _LIBC || defined __GLIBC__ + #include + #if __BYTE_ORDER == __BIG_ENDIAN + #define WORDS_BIGENDIAN 1 + #endif +#elif defined AMIGA || defined __sparc__ || defined __BIG_ENDIAN__ || \ + defined __APPLE__ + #define WORDS_BIGENDIAN 1 +#endif + +#ifdef __MSDOS__ // __MSDOS__ must come before __unix__, + #define CURRENT_OS_S "MSDOS" // because DJGPP defines both +#elif defined __unix__ + #ifdef __CYGWIN__ + #define CURRENT_OS_S "Win32 (Cygwin)" + #elif defined __FreeBSD__ + #define CURRENT_OS_S "Unix (FreeBSD)" + #elif defined __OpenBSD__ + #define CURRENT_OS_S "Unix (OpenBSD)" + #elif defined __linux__ + #define CURRENT_OS_S "Unix (Linux)" + #elif defined __solaris__ + #ifdef __sparc__ + #define CURRENT_OS_S "Unix (Solaris/Sparc)" + #else + #define CURRENT_OS_S "Unix (Solaris/i386)" + #endif + #else + #define CURRENT_OS_S "Unix" + #endif +#elif defined _WIN32 + #ifdef __MINGW32__ + #define CURRENT_OS_S "Win32 (MinGW)" + #else + #define CURRENT_OS_S "Win32 (Visual C++)" + #endif +#elif defined __APPLE__ + #if defined __POWERPC__ || defined __ppc__ + #define CURRENT_OS_S "Apple (PPC)" + #else + #define CURRENT_OS_S "Apple" + #endif +#elif defined __BEOS__ + #define CURRENT_OS_S "BeOS" +#elif defined AMIGA + #if defined __PPC__ + #define CURRENT_OS_S "Amiga (PPC)" + #else + #define CURRENT_OS_S "Amiga (68K)" + #endif +#else + #define CURRENT_OS_S "?" +#endif + +/* + dumper() dump n bytes of buffer + you can use here a virtual_start for the displayed counter + DUMPER_HEX + dump in hex (base: 16) (default) + DUMPER_DUAL + dump in dual (base: 2) + DUMPER_CODE + dump as C code + DUMPER_PRINT + printf() buffer after chars passed isprint() and isspace() + other chars will be printed as dots '.' + do NOT use DUMPER_PRINT in uCON64 code - dbjh + DUMPER_HEX_COUNT + show position as hex value (default) + DUMPER_DEC_COUNT + show position as decimal value +*/ +#define DUMPER_HEX (0) +#define DUMPER_HEX_COUNT (0) +#define DUMPER_DUAL (1) +#define DUMPER_CODE (1 << 1) +#define DUMPER_PRINT (1 << 2) +#define DUMPER_DEC (1 << 3) +#define DUMPER_DEC_COUNT (1 << 4) +#define DUMPER_DEFAULT (DUMPER_HEX_COUNT|DUMPER_HEX) +extern void dumper (FILE *output, const void *buffer, size_t bufferlen, + int virtual_start, unsigned int flags); + +/* + Misc stuff + + change_mem{2}() see header of implementation for usage + build_cm_patterns() helper function for change_mem2() to read search patterns + from a file + cleanup_cm_patterns() helper function for build_cm_patterns() to free all + memory allocated for a (list of) st_pattern_t structure(s) + ansi_init() initialize ANSI output + gauge() start_time + time when gauge() was first started or when + (you may use time(0) to set this) + the gauge started + pos + current position + size + the expected end postion (size) + given these values gauge will calculate many + informative things like time, status bar, cps, etc. + it can be used for procedures which take some time to + inform the user about the actual gauge + GAUGE_DEFAULT + default gauge with full information, without ansi colors + GAUGE_PERCENT + lite/small gauge only showing percentage with linefeed + without ansi colors (can be used with popen(), etc..) + GAUGE_ANSI + enable ansi colors + GAUGE_DELETE_AFTER + delete (clears the current line) gauge() after process + has finished + clear_line () clear the current line (79 spaces) + drop_privileges() switch to the real user and group id (leave "root mode") + register_func() atexit() replacement + returns -1 if it fails, 0 if it was successful + unregister_func() unregisters a previously registered function + returns -1 if it fails, 0 if it was successful + handle_registered_funcs() calls all the registered functions + wait2 wait (sleep) a specified number of milliseconds + getenv2() getenv() clone for enviroments w/o HOME, TMP or TEMP variables + strtol2() tries base == 16 after base == 10 failed +*/ +typedef struct st_cm_set +{ + char *data; + int size; +} st_cm_set_t; + +typedef struct st_cm_pattern +{ + char *search, wildcard, escape, *replace; + int search_size, replace_size, offset, n_sets; + st_cm_set_t *sets; +} st_cm_pattern_t; + +extern int change_mem (char *buf, int bufsize, char *searchstr, int strsize, + char wc, char esc, char *newstr, int newsize, int offset, ...); +extern int change_mem2 (char *buf, int bufsize, char *searchstr, int strsize, + char wc, char esc, char *newstr, int newsize, + int offset, st_cm_set_t *sets); +extern int build_cm_patterns (st_cm_pattern_t **patterns, const char *filename, int verbose); +extern void cleanup_cm_patterns (st_cm_pattern_t **patterns, int n_patterns); + +extern int ansi_init (void); +extern void clear_line (void); + +#define GAUGE_PERCENT (1) +#if 0 +#define GAUGE_BPS (1 << 1) +#define GAUGE_GAUGE (1 << 2) +#define GAUGE_ANSI (1 << 3) +#define GAUGE_DELETE_AFTER (1 << 4) +#define GAUGE_BYTES_POS (1 << 5) +#define GAUGE_LINEFEED_ON (1 << 6) +#define GAUGE_DEFAULT (GAUGE_PERCENT | GAUGE_BPS | GAUGE_GAUGE | GAUGE_ANSI | GAUGE_BYTES_POS) +#else +#define GAUGE_DEFAULT 0 +#endif +extern int gauge (FILE *output, time_t start_time, int pos, int total_size, unsigned int flags); + +#if defined __unix__ && !defined __MSDOS__ +extern int drop_privileges (void); +#endif +extern int register_func (void (*func) (void)); +extern int unregister_func (void (*func) (void)); +extern void handle_registered_funcs (void); + +extern void wait2 (int nmillis); +extern char *getenv2 (const char *variable); +extern long int strtol2 (const char *str, char **tail); + +/* + Portability (conio.h, etc...) + + init_conio() init console I/O + deinit_conio() stop console I/O + getch() + kbhit() + fix_character_set() fixes some Cygwin problems with filenames + truncate() + sync() + popen() + pclose() + vprintf2() + printf2() + fprintf2() +*/ +#if (defined __unix__ && !defined __MSDOS__) || defined __BEOS__ || \ + defined __APPLE__ // Mac OS X actually +extern void init_conio (void); +extern void deinit_conio (void); +#define getch getchar // getchar() acts like DOS getch() after init_conio() +extern int kbhit (void); // may only be used after init_conio()! + +#elif defined __MSDOS__ +#include // getch() +#include // kbhit() + +#elif defined _WIN32 +#include // kbhit() & getch() + +#elif defined AMIGA +extern int kbhit (void); +//#define getch getchar +// Gonna use my (Jan-Erik) fake one. Might work better and more like the real +// getch(). +#endif + +#ifdef __CYGWIN__ +extern char *fix_character_set (char *str); +#endif + +#ifdef _WIN32 +// Note that _WIN32 is defined by cl.exe while the other constants (like WIN32) +// are defined in header files. MinGW's gcc.exe defines all constants. + +#include + +extern int truncate (const char *path, off_t size); +extern int sync (void); +// For MinGW popen() and pclose() are unavailable for DLL's. For DLL's _popen() +// and _pclose() should be used. Visual C++ only has the latter two. +#ifndef pclose // archive.h's definition gets higher "precedence" +#define pclose _pclose +#endif +#ifndef popen // idem +#define popen _popen +#endif + +#ifdef USE_ANSI_COLOR +#include + +extern int vprintf2 (const char *format, va_list argptr); +extern int printf2 (const char *format, ...); +extern int fprintf2 (FILE *file, const char *format, ...); +#define vprintf vprintf2 +#define printf printf2 +#define fprintf fprintf2 +#endif // USE_ANSI_COLOR + +#ifndef __MINGW32__ +#include +#include +#include // According to MSDN must + // come after . Yep, that's M$. +#define S_IWUSR _S_IWRITE +#define S_IRUSR _S_IREAD +#define S_ISDIR(mode) ((mode) & _S_IFDIR ? 1 : 0) +#define S_ISREG(mode) ((mode) & _S_IFREG ? 1 : 0) + +#define F_OK 00 +#define W_OK 02 +#define R_OK 04 +#define X_OK R_OK // this is correct for dirs, but not for exes + +#define STDIN_FILENO (fileno (stdin)) +#define STDOUT_FILENO (fileno (stdout)) +#define STDERR_FILENO (fileno (stderr)) + +#else +#ifdef DLL +#define access _access +#define chmod _chmod +#define fileno _fileno +#define getcwd _getcwd +#define isatty _isatty +#define rmdir _rmdir +#define stat _stat +#define strdup _strdup +#define stricmp _stricmp +#define strnicmp _strnicmp +#endif // DLL + +#endif // !__MINGW32__ + +#elif defined AMIGA // _WIN32 +// custom _popen() and _pclose(), because the standard ones (named popen() and +// pclose()) are buggy +#ifndef pclose // archive.h's definition gets higher "precedence" +#define pclose _pclose +#endif +#ifndef popen // idem +#define popen _popen +#endif +extern FILE *_popen (const char *path, const char *mode); +extern int _pclose (FILE *stream); +#endif // AMIGA + +#ifdef __cplusplus +} +#endif + +#endif // MISC_H diff --git a/tools/ucon64-2.0.0-src/src/misc/parallel.c b/tools/ucon64-2.0.0-src/src/misc/parallel.c new file mode 100644 index 0000000..485b409 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/misc/parallel.c @@ -0,0 +1,985 @@ +/* +parallel.c - miscellaneous parallel port functions + +Copyright (c) 1999 - 2004 NoisyB +Copyright (c) 2001 - 2004 dbjh +Copyright (c) 2001 Caz (original BeOS code) +Copyright (c) 2002 - 2004 Jan-Erik Karlsson (Amiga code) + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#ifdef USE_PARALLEL + +#include +#include +#include +#ifdef HAVE_UNISTD_H +#include // ioperm() (libc5) +#endif + +#ifdef USE_PPDEV // ppdev is a Linux parallel +#include // port device driver +#include +#include +#include +#include +#elif defined __linux__ && defined __GLIBC__ // USE_PPDEV +#ifdef HAVE_SYS_IO_H // necessary for some Linux/PPC configs +#include // ioperm() (glibc), in{b, w}(), out{b, w}() +#else +#error No sys/io.h; configure with --disable-parallel +#endif +#elif defined __OpenBSD__ // __linux__ && __GLIBC__ +#include +#include +#elif defined __BEOS__ || defined __FreeBSD__ // __OpenBSD__ +#include +#elif defined AMIGA // __BEOS__ || __FreeBSD__ +#error Parallel port I/O code is broken; Please contact Jan-Erik Karlsson +#include +#include +#include +#include +#include +#include +#include +#elif defined _WIN32 // AMIGA +#include +#include // inp{w}() & outp{w}() +#include "dlopen.h" +#elif defined __CYGWIN__ // _WIN32 +#include // definition of WINAPI +#undef _WIN32 +#include +#include +#include "dlopen.h" +#endif +#include "misc.h" +#include "file.h" +#include "itypes.h" +#include "parallel.h" +#include "getopt2.h" +#include "ucon64.h" + + +#if defined USE_PPDEV || defined __BEOS__ || defined __FreeBSD__ || defined AMIGA +static void close_io_port (void); +#endif +#if defined __i386__ || defined __x86_64__ // GCC && x86 +inline static unsigned char i386_input_byte (unsigned short); +inline static unsigned short i386_input_word (unsigned short); +inline static void i386_output_byte (unsigned short, unsigned char); +inline static void i386_output_word (unsigned short, unsigned short); +#endif + + +#if defined USE_PPDEV || defined __BEOS__ || defined __FreeBSD__ +static int parport_io_fd; +#ifdef USE_PPDEV +static enum { FORWARD = 0, REVERSE } parport_io_direction; +static int parport_io_mode; +#endif +#endif + +#ifdef __BEOS__ +typedef struct st_ioport +{ + unsigned int port; + unsigned char data8; + unsigned short data16; +} st_ioport_t; +#endif + +#ifdef AMIGA +static struct IOStdReq *parport_io_req; +static struct MsgPort *parport; +#endif + + +#if defined _WIN32 || defined __CYGWIN__ + +#define NODRIVER_MSG "ERROR: No (working) I/O port driver. Please see the FAQ, question 4\n" + +static void *io_driver; + +// inpout32.dll only has I/O functions for byte-sized I/O +static unsigned char (__stdcall *Inp32) (unsigned short) = NULL; +static void (__stdcall *Outp32) (unsigned short, unsigned char) = NULL; + +static unsigned char inpout32_input_byte (unsigned short port) { return Inp32 (port); } +static void inpout32_output_byte (unsigned short port, unsigned char byte) { Outp32 (port, byte); } + +// io.dll has more functions then the ones we refer to here, but we don't need them +static char (WINAPI *PortIn) (short int) = NULL; +static short int (WINAPI *PortWordIn) (short int) = NULL; +static void (WINAPI *PortOut) (short int, char) = NULL; +static void (WINAPI *PortWordOut) (short int, short int) = NULL; +static short int (WINAPI *IsDriverInstalled) () = NULL; + +static unsigned char io_input_byte (unsigned short port) { return PortIn (port); } +static unsigned short io_input_word (unsigned short port) { return PortWordIn (port); } +static void io_output_byte (unsigned short port, unsigned char byte) { PortOut (port, byte); } +static void io_output_word (unsigned short port, unsigned short word) { PortWordOut (port, word); } + +// dlportio.dll has more functions then the ones we refer to here, but we don't need them +static unsigned char (__stdcall *DlPortReadPortUchar) (unsigned long) = NULL; +static unsigned short (__stdcall *DlPortReadPortUshort) (unsigned long) = NULL; +static void (__stdcall *DlPortWritePortUchar) (unsigned long, unsigned char) = NULL; +static void (__stdcall *DlPortWritePortUshort) (unsigned long, unsigned short) = NULL; + +static unsigned char dlportio_input_byte (unsigned short port) { return DlPortReadPortUchar (port); } +static unsigned short dlportio_input_word (unsigned short port) { return DlPortReadPortUshort (port); } +static void dlportio_output_byte (unsigned short port, unsigned char byte) { DlPortWritePortUchar (port, byte); } +static void dlportio_output_word (unsigned short port, unsigned short word) { DlPortWritePortUshort (port, word); } + +#if defined __CYGWIN__ || defined __MINGW32__ +// default to functions which are always available (but which generate an +// exception under Windows NT/2000/XP without an I/O driver) +static unsigned char (*input_byte) (unsigned short) = i386_input_byte; +static unsigned short (*input_word) (unsigned short) = i386_input_word; +static void (*output_byte) (unsigned short, unsigned char) = i386_output_byte; +static void (*output_word) (unsigned short, unsigned short) = i386_output_word; + +#elif defined _WIN32 +// The following four functions are needed because inp{w} and outp{w} seem to be macros +static unsigned char inp_func (unsigned short port) { return (unsigned char) inp (port); } +static unsigned short inpw_func (unsigned short port) { return inpw (port); } +static void outp_func (unsigned short port, unsigned char byte) { outp (port, byte); } +static void outpw_func (unsigned short port, unsigned short word) { outpw (port, word); } + +// default to functions which are always available (but which generate an +// exception under Windows NT/2000/XP without an I/O driver) +static unsigned char (*input_byte) (unsigned short) = inp_func; +static unsigned short (*input_word) (unsigned short) = inpw_func; +static void (*output_byte) (unsigned short, unsigned char) = outp_func; +static void (*output_word) (unsigned short, unsigned short) = outpw_func; + +#endif +#endif // _WIN32 || __CYGWIN__ + + +#if defined __i386__ || defined __x86_64__ // GCC && x86 +unsigned char +i386_input_byte (unsigned short port) +{ + unsigned char byte; + __asm__ __volatile__ + ("inb %1, %0" + : "=a" (byte) + : "d" (port) + ); + return byte; +} + + +unsigned short +i386_input_word (unsigned short port) +{ + unsigned short word; + __asm__ __volatile__ + ("inw %1, %0" + : "=a" (word) + : "d" (port) + ); + return word; +} + + +void +i386_output_byte (unsigned short port, unsigned char byte) +{ + __asm__ __volatile__ + ("outb %1, %0" + : + : "d" (port), "a" (byte) + ); +} + + +void +i386_output_word (unsigned short port, unsigned short word) +{ + __asm__ __volatile__ + ("outw %1, %0" + : + : "d" (port), "a" (word) + ); +} +#endif // __i386__ || __x86_64__ + + +unsigned char +inportb (unsigned short port) +{ +#ifdef USE_PPDEV + int ppreg = port - ucon64.parport; + unsigned char byte; + + switch (ppreg) + { + case 0: // data + if (parport_io_direction == FORWARD) // dir is forward? + { + parport_io_direction = REVERSE; // change it to reverse + ioctl (parport_io_fd, PPDATADIR, &parport_io_direction); + } + ioctl (parport_io_fd, PPRDATA, &byte); + break; + case 1: // status + ioctl (parport_io_fd, PPRSTATUS, &byte); + break; + case 2: // control + ioctl (parport_io_fd, PPRCONTROL, &byte); + break; + case 3: // EPP/ECP address + if (!(parport_io_mode & IEEE1284_ADDR)) // IEEE1284_DATA is 0! + { + parport_io_mode |= IEEE1284_ADDR; + ioctl (parport_io_fd, PPSETMODE, &parport_io_mode); + } + read (parport_io_fd, &byte, 1); + break; + case 4: // EPP/ECP data + if (parport_io_mode & IEEE1284_ADDR) + { + parport_io_mode &= ~IEEE1284_ADDR; // IEEE1284_DATA is 0 + ioctl (parport_io_fd, PPSETMODE, &parport_io_mode); + } + read (parport_io_fd, &byte, 1); + break; + case 0x402: // ECP register + printf ("WARNING: Ignored read from ECP register, returning 0\n"); + byte = 0; + break; + default: + fprintf (stderr, + "ERROR: inportb() tried to read from an unsupported port (0x%x)\n", + port); + exit (1); + } + return byte; +#elif defined __BEOS__ + st_ioport_t temp; + + temp.port = port; + ioctl (parport_io_fd, 'r', &temp, 0); + + return temp.data8; +#elif defined AMIGA + (void) port; // warning remover + ULONG wait_mask; + + parport_io_req->io_Length = 1; + parport_io_req->io_Command = CMD_READ; + +/* + SendIO ((struct IORequest *) parport_io_req); + + wait_mask = SIGBREAKF_CTRL_C | SIGBREAKF_CTRL_F | 1L << parport->mp_SigBit; + if (Wait (wait_mask) & (SIGBREAKF_CTRL_C | SIGBREAKF_CTRL_F)) + AbortIO ((struct IORequest *) parport_io_req); + WaitIO ((struct IORequest *) parport_io_req); +*/ + + /* + The difference between using SendIO() and DoIO(), is that DoIO() handles + messages etc. by itself but it will not return until the IO is done. + + Probably have to do more error handling here :-) + + Can one CTRL-C a DoIO() request? (Or for that matter a SendIO().) + */ + + if (DoIO ((struct IORequest *) parport_io_req)) + { + fprintf (stderr, "ERROR: Could not communicate with parallel port (%s, %d)\n", + ucon64.parport_dev, ucon64.parport); + exit (1); + } + + return (unsigned char) parport_io_req->io_Data; +#elif defined _WIN32 || defined __CYGWIN__ + return input_byte (port); +#elif defined __i386__ || defined __x86_64__ + return i386_input_byte (port); +#elif defined HAVE_SYS_IO_H + return inb (port); +#endif +} + + +unsigned short +inportw (unsigned short port) +{ +#ifdef USE_PPDEV + int ppreg = port - ucon64.parport; + unsigned char buf[2]; + + switch (ppreg) + { + case 3: // EPP/ECP address + if (!(parport_io_mode & IEEE1284_ADDR)) // IEEE1284_DATA is 0! + { + parport_io_mode |= IEEE1284_ADDR; + ioctl (parport_io_fd, PPSETMODE, &parport_io_mode); + } + read (parport_io_fd, buf, 2); + break; + case 4: // EPP/ECP data + if (parport_io_mode & IEEE1284_ADDR) + { + parport_io_mode &= ~IEEE1284_ADDR; // IEEE1284_DATA is 0 + ioctl (parport_io_fd, PPSETMODE, &parport_io_mode); + } + read (parport_io_fd, buf, 2); + break; + // the data, status, control and ECP registers should only be accessed in "8-bit mode" + default: + fprintf (stderr, + "ERROR: inportw() tried to read from an unsupported port (0x%x)\n", + port); + exit (1); + } + return buf[0] | buf[1] << 8; // words are read in little endian format +#elif defined __BEOS__ + st_ioport_t temp; + + temp.port = port; + ioctl (parport_io_fd, 'r16', &temp, 0); + + return temp.data16; +#elif defined AMIGA + (void) port; // warning remover + ULONG wait_mask; + + parport_io_req->io_Length = 2; + parport_io_req->io_Command = CMD_READ; + + if (DoIO ((struct IORequest *) parport_io_req)) + { + fprintf (stderr, "ERROR: Could not communicate with parallel port (%s, %d)\n", + ucon64.parport_dev, ucon64.parport); + exit (1); + } + + return (unsigned short) parport_io_req->io_Data; +#elif defined _WIN32 || defined __CYGWIN__ + return input_word (port); +#elif defined __i386__ || defined __x86_64__ + return i386_input_word (port); +#elif defined HAVE_SYS_IO_H + return inw (port); +#endif +} + + +void +outportb (unsigned short port, unsigned char byte) +{ +#ifdef USE_PPDEV + int ppreg = port - ucon64.parport; + + switch (ppreg) + { + case 0: // data + if (parport_io_direction == REVERSE) // dir is reverse? + { + parport_io_direction = FORWARD; // change it to forward + ioctl (parport_io_fd, PPDATADIR, &parport_io_direction); + } + ioctl (parport_io_fd, PPWDATA, &byte); + break; + case 2: // control + ioctl (parport_io_fd, PPWCONTROL, &byte); + break; + case 3: // EPP/ECP address + if (!(parport_io_mode & IEEE1284_ADDR)) // IEEE1284_DATA is 0! + { + parport_io_mode |= IEEE1284_ADDR; + ioctl (parport_io_fd, PPSETMODE, &parport_io_mode); + } + write (parport_io_fd, &byte, 1); + break; + case 4: // EPP/ECP data + if (parport_io_mode & IEEE1284_ADDR) + { + parport_io_mode &= ~IEEE1284_ADDR; // IEEE1284_DATA is 0 + ioctl (parport_io_fd, PPSETMODE, &parport_io_mode); + } + write (parport_io_fd, &byte, 1); + break; + case 0x402: // ECP register + printf ("WARNING: Ignored write to ECP register\n"); + break; + default: + fprintf (stderr, + "ERROR: outportb() tried to write to an unsupported port (0x%x)\n", + port); + exit (1); + } +#elif defined __BEOS__ + st_ioport_t temp; + + temp.port = port; + temp.data8 = byte; + ioctl (parport_io_fd, 'w', &temp, 0); +#elif defined AMIGA + (void) port; // warning remover + ULONG wait_mask; + + parport_io_req->io_Length = 1; + parport_io_req->io_Data = byte; + parport_io_req->io_Command = CMD_WRITE; + + if (DoIO ((struct IORequest *) parport_io_req)) + { + fprintf (stderr, "ERROR: Could not communicate with parallel port (%s, %d)\n", + ucon64.parport_dev, ucon64.parport); + exit (1); + } +#elif defined _WIN32 || defined __CYGWIN__ + output_byte (port, byte); +#elif defined __i386__ || defined __x86_64__ + i386_output_byte (port, byte); +#elif defined HAVE_SYS_IO_H + outb (byte, port); +#endif +} + + +void +outportw (unsigned short port, unsigned short word) +{ +#ifdef USE_PPDEV + int ppreg = port - ucon64.parport; + unsigned char buf[2]; + + // words are written in little endian format + buf[0] = word; + buf[1] = word >> 8; + switch (ppreg) + { + case 3: // EPP/ECP address + if (!(parport_io_mode & IEEE1284_ADDR)) // IEEE1284_DATA is 0! + { + parport_io_mode |= IEEE1284_ADDR; + ioctl (parport_io_fd, PPSETMODE, &parport_io_mode); + } + write (parport_io_fd, buf, 2); + break; + case 4: // EPP/ECP data + if (parport_io_mode & IEEE1284_ADDR) + { + parport_io_mode &= ~IEEE1284_ADDR; // IEEE1284_DATA is 0 + ioctl (parport_io_fd, PPSETMODE, &parport_io_mode); + } + write (parport_io_fd, buf, 2); + break; + // the data, control and ECP registers should only be accessed in "8-bit mode" + default: + fprintf (stderr, + "ERROR: outportw() tried to write to an unsupported port (0x%x)\n", + port); + exit (1); + } +#elif defined __BEOS__ + st_ioport_t temp; + + temp.port = port; + temp.data16 = word; + ioctl (parport_io_fd, 'w16', &temp, 0); +#elif defined AMIGA + (void) port; // warning remover + ULONG wait_mask; + + parport_io_req->io_Length = 2; + parport_io_req->io_Data = word; + parport_io_req->io_Command = CMD_WRITE; + + if (DoIO ((struct IORequest *) parport_io_req)) + { + fprintf (stderr, "ERROR: Could not communicate with parallel port (%s, %d)\n", + ucon64.parport_dev, ucon64.parport); + exit (1); + } +#elif defined _WIN32 || defined __CYGWIN__ + output_word (port, word); +#elif defined __i386__ || defined __x86_64__ + i386_output_word (port, word); +#elif defined HAVE_SYS_IO_H + outw (word, port); +#endif +} + + +#if (defined __i386__ || defined __x86_64__ || defined _WIN32) && !defined USE_PPDEV +#define DETECT_MAX_CNT 1000 +static int +parport_probe (unsigned int port) +{ + int i = 0; + + outportb ((unsigned short) port, 0xaa); + for (i = 0; i < DETECT_MAX_CNT; i++) + if (inportb ((unsigned short) port) == 0xaa) + break; + + if (i < DETECT_MAX_CNT) + { + outportb ((unsigned short) port, 0x55); + for (i = 0; i < DETECT_MAX_CNT; i++) + if (inportb ((unsigned short) port) == 0x55) + break; + } + + if (i >= DETECT_MAX_CNT) + return 0; + + return 1; +} +#endif + + +#ifdef _WIN32 +static LONG +new_exception_filter (LPEXCEPTION_POINTERS exception_pointers) +{ + if (exception_pointers->ExceptionRecord->ExceptionCode == EXCEPTION_PRIV_INSTRUCTION) + { + fputs (NODRIVER_MSG, stderr); + exit (1); + } + return EXCEPTION_CONTINUE_SEARCH; +} +#elif defined __CYGWIN__ +static int +new_exception_handler (PEXCEPTION_RECORD exception_record, void *establisher_frame, + PCONTEXT context_record, void *dispatcher_context) +{ + (void) establisher_frame; + (void) context_record; + (void) dispatcher_context; + if (exception_record->ExceptionCode == EXCEPTION_PRIV_INSTRUCTION) + { + fputs (NODRIVER_MSG, stderr); + exit (1); + } + return EXCEPTION_CONTINUE_SEARCH; +} +#endif + + +int +parport_open (int port) +{ +#ifdef USE_PPDEV + struct timeval t; + int capabilities = 0, ucon64_parport, x; + + if (port == PARPORT_UNKNOWN) + port = 0; + + parport_io_fd = open (ucon64.parport_dev, O_RDWR | O_NONBLOCK); + if (parport_io_fd == -1) + { + fprintf (stderr, "ERROR: Could not open parallel port device (%s)\n" + " Check if you have the required privileges\n", + ucon64.parport_dev); + exit (1); + } + + ioctl (parport_io_fd, PPEXCL); // disable sharing + ioctl (parport_io_fd, PPCLAIM); + t.tv_sec = 0; + t.tv_usec = 500 * 1000; // set time-out to 500 milliseconds + ioctl (parport_io_fd, PPSETTIME, &t); +/* + ioctl (parport_io_fd, PPGETTIME, &t); + printf ("Current time-out value: %ld microseconds\n", t.tv_usec); +*/ + + ioctl (parport_io_fd, PPGETMODES, &capabilities); +// printf ("Capabilities: %x\n", capabilities); + + if (ucon64.parport_mode == UCON64_EPP || ucon64.parport_mode == UCON64_ECP) + if ((capabilities & (PARPORT_MODE_EPP | PARPORT_MODE_ECP)) == 0) + printf ("WARNING: EPP or ECP mode was requested, but not available\n"); + + // set mode for read() and write() + if (capabilities & PARPORT_MODE_ECP) + parport_io_mode = IEEE1284_MODE_ECP; + else if (capabilities & PARPORT_MODE_EPP) + parport_io_mode = IEEE1284_MODE_EPP; + else + parport_io_mode = IEEE1284_MODE_BYTE; + parport_io_mode |= IEEE1284_DATA; // default to EPP/ECP data reg + ioctl (parport_io_fd, PPSETMODE, &parport_io_mode); // (IEEE1284_DATA is 0...) + + x = PP_FASTREAD | PP_FASTWRITE; // enable 16-bit transfers + ioctl (parport_io_fd, PPSETFLAGS, &x); + + parport_io_direction = FORWARD; // set forward direction as default + ioctl (parport_io_fd, PPDATADIR, &parport_io_direction); +#elif defined __BEOS__ + parport_io_fd = open ("/dev/misc/ioport", O_RDWR | O_NONBLOCK); + if (parport_io_fd == -1) + { + parport_io_fd = open ("/dev/misc/parnew", O_RDWR | O_NONBLOCK); + if (parport_io_fd == -1) + { + fprintf (stderr, "ERROR: Could not open I/O port device (no driver)\n" + " You can download the latest ioport driver from\n" + " http://www.infernal.currantbun.com or http://ucon64.sourceforge.net\n"); + exit (1); + } + else + { // print warning, but continue + printf ("WARNING: Support for the driver parnew is deprecated. Future versions of uCON64\n" + " might not support this driver. You can download the latest ioport\n" + " driver from http://www.infernal.currantbun.com or\n" + " http://ucon64.sourceforge.net\n\n"); + } + } +#elif defined AMIGA + int x; + + parport = CreatePort (NULL, 0); + if (parport == NULL) + { + fprintf (stderr, "ERROR: Could not create the MsgPort\n"); + exit (1); + } + parport_io_req = CreateExtIO (parport, sizeof (struct IOExtPar)); + if (parport_io_req == NULL) + { + fprintf (stderr, "ERROR: Could not create the I/O request structure\n"); + DeletePort (parport); + parport_io_req = NULL; + exit (1); + } + + // Is it possible to probe for the correct port? + if (port == PARPORT_UNKNOWN) + port = 0; + + x = OpenDevice (ucon64.parport_dev, port, (struct IORequest *) parport_io_req, + (ULONG) 0); + if (x != 0) + { + fprintf (stderr, "ERROR: Could not open parallel port (%s, %x)\n", + ucon64.parport_dev, port); + DeleteExtIO ((struct IOExtPar *) parport_io_req); + DeletePort (parport); + exit (1); + } + + if (register_func (close_io_port) == -1) + { + // AbortIO ((struct IORequest *) parport_io_req); // should not be necessary with DoIO() + CloseDevice ((struct IORequest *) parport_io_req); + DeleteExtIO (parport_io_req); + DeletePort (parport); + parport_io_req = NULL; + fprintf (stderr, "ERROR: Could not register function with register_func()\n"); + exit (1); + } +#elif defined __FreeBSD__ + parport_io_fd = open ("/dev/io", O_RDWR); + if (parport_io_fd == -1) + { + fprintf (stderr, "ERROR: Could not open I/O port device (/dev/io)\n" + " (This program needs root privileges for the requested action)\n"); + exit (1); + } +#endif + +#if defined USE_PPDEV || defined __BEOS__ || defined __FreeBSD__ + if (register_func (close_io_port) == -1) + { + close (parport_io_fd); + fprintf (stderr, "ERROR: Could not register function with register_func()\n"); + exit(1); + } +#endif + +#if defined __linux__ && (defined __i386__ || defined __x86_64__) && !defined USE_PPDEV + /* + Some code needs us to switch to the real uid and gid. However, other code + needs access to I/O ports other than the standard printer port registers. + We just do an iopl(3) and all code should be happy. Using iopl(3) enables + users to run all code without being root (of course with the uCON64 + executable setuid root). + Another reason to use iopl() and not ioperm() is that the former enables + access to all I/O ports, while the latter enables access to ports up to + 0x3ff. For the standard parallel port hardware addresses this is not a + problem. It *is* a problem for add-on parallel port cards which can be + mapped to I/O addresses above 0x3ff. + */ + if (iopl (3) == -1) + { + fprintf (stderr, "ERROR: Could not set the I/O privilege level to 3\n" + " (This program needs root privileges for the requested action)\n"); + exit (1); // Don't return, if iopl() fails port access + } // causes core dump +#endif // __linux__ && (__i386__ || __x86_64__) && !USE_PPDEV + +#ifdef __OpenBSD__ // || defined __NetBSD__, add after feature request ;-) + // We use i386_iopl() under OpenBSD for the same reasons we use iopl() under + // Linux (i386_set_ioperm() has the same limitation as ioperm()). + if (i386_iopl (3) == -1) + { + fprintf (stderr, "ERROR: Could not set the I/O privilege level to 3\n" + " (This program needs root privileges for the requested action)\n"); + exit (1); + } +#endif + +#if (defined __i386__ || defined __x86_64__ || defined _WIN32) && !defined USE_PPDEV + +#if defined _WIN32 || defined __CYGWIN__ + /* + We support the I/O port drivers inpout32.dll, io.dll and dlportio.dll, + because using them is way easier than using UserPort or GiveIO. The drivers + are also more reliable and seem to enable access to all I/O ports + (dlportio.dll enables access to ports > 0x100). The downsides of + inpout32.dll are that it's almost two times slower than UserPort and that + it only has functions for byte-sized I/O. + */ + char fname[FILENAME_MAX]; + int driver_found = 0; + + sprintf (fname, "%s" FILE_SEPARATOR_S "%s", ucon64.configdir, "dlportio.dll"); +#if 0 // We must not do this for Cygwin or access() won't "find" the file + change_mem (fname, strlen (fname), "/", 1, 0, 0, "\\", 1, 0); +#endif + if (access (fname, F_OK) == 0) + { + io_driver = open_module (fname); + + driver_found = 1; + printf ("Using %s\n", fname); + + DlPortReadPortUchar = +#ifdef __cplusplus // this is really nice: gcc wants something else than g++... + (unsigned char (__stdcall *) (unsigned long)) +#endif + get_symbol (io_driver, "DlPortReadPortUchar"); + DlPortReadPortUshort = +#ifdef __cplusplus + (unsigned short (__stdcall *) (unsigned long)) +#endif + get_symbol (io_driver, "DlPortReadPortUshort"); + DlPortWritePortUchar = +#ifdef __cplusplus + (void (__stdcall *) (unsigned long, unsigned char)) +#endif + get_symbol (io_driver, "DlPortWritePortUchar"); + DlPortWritePortUshort = +#ifdef __cplusplus + (void (__stdcall *) (unsigned long, unsigned short)) +#endif + get_symbol (io_driver, "DlPortWritePortUshort"); + input_byte = dlportio_input_byte; + input_word = dlportio_input_word; + output_byte = dlportio_output_byte; + output_word = dlportio_output_word; + } + + if (!driver_found) + { + sprintf (fname, "%s" FILE_SEPARATOR_S "%s", ucon64.configdir, "io.dll"); + if (access (fname, F_OK) == 0) + { + io_driver = open_module (fname); + + IsDriverInstalled = +#ifdef __cplusplus + (short int (WINAPI *) ()) +#endif + get_symbol (io_driver, "IsDriverInstalled"); + if (IsDriverInstalled ()) + { + driver_found = 1; + printf ("Using %s\n", fname); + + PortIn = +#ifdef __cplusplus + (char (WINAPI *) (short int)) +#endif + get_symbol (io_driver, "PortIn"); + PortWordIn = +#ifdef __cplusplus + (short int (WINAPI *) (short int)) +#endif + get_symbol (io_driver, "PortWordIn"); + PortOut = +#ifdef __cplusplus + (void (WINAPI *) (short int, char)) +#endif + get_symbol (io_driver, "PortOut"); + PortWordOut = +#ifdef __cplusplus + (void (WINAPI *) (short int, short int)) +#endif + get_symbol (io_driver, "PortWordOut"); + input_byte = io_input_byte; + input_word = io_input_word; + output_byte = io_output_byte; + output_word = io_output_word; + } + } + } + + if (!driver_found) + { + sprintf (fname, "%s" FILE_SEPARATOR_S "%s", ucon64.configdir, "inpout32.dll"); + if (access (fname, F_OK) == 0) + { + driver_found = 1; + printf ("Using %s\n", fname); + io_driver = open_module (fname); + Inp32 = +#ifdef __cplusplus + (unsigned char (__stdcall *) (unsigned short)) +#endif + get_symbol (io_driver, "Inp32"); + Outp32 = +#ifdef __cplusplus + (void (__stdcall *) (unsigned short, unsigned char)) +#endif + get_symbol (io_driver, "Out32"); + // note that inport_word and output_word keep their default value... + input_byte = inpout32_input_byte; + output_byte = inpout32_output_byte; + } + } + + /* + __try and __except are not supported by MinGW and Cygwin. MinGW has __try1 + and __except1, but using them requires more code than we currently have. + Cygwin does something stupid which breaks SetUnhandledExceptionFilter()... + */ + { +#ifdef _WIN32 // MinGW & Visual C++ + LPTOP_LEVEL_EXCEPTION_FILTER org_exception_filter = + SetUnhandledExceptionFilter ((LPTOP_LEVEL_EXCEPTION_FILTER) new_exception_filter); + input_byte (0x378); // 0x378 is okay (don't use this function's parameter) + // if we get here accessing I/O port 0x378 did not cause an exception + SetUnhandledExceptionFilter (org_exception_filter); +#else // Cygwin + exception_list list; + exception_handler *org_handler; + cygwin_internal (CW_INIT_EXCEPTIONS, &list); + org_handler = list.handler; + list.handler = new_exception_handler; + input_byte (0x378); + list.handler = org_handler; +#endif + } +#endif // _WIN32 || __CYGWIN__ + + if (port == PARPORT_UNKNOWN) // no port specified or forced? + { + unsigned int parport_addresses[] = { 0x3bc, 0x378, 0x278 }; + int x, found = 0; + + for (x = 0; x < 3; x++) + if ((found = parport_probe (parport_addresses[x])) == 1) + { + port = parport_addresses[x]; + break; + } + + if (found != 1) + { + fprintf (stderr, "ERROR: Could not find a parallel port on your system\n" + " Try to specify it by hand\n\n"); + exit (1); + } + } +#endif // (__i386__ || __x86_64__ || _WIN32) && !USE_PPDEV + +#ifdef USE_PPDEV + // the following two calls need a valid value for ucon64.parport + ucon64_parport = ucon64.parport; + ucon64.parport = port; +#endif + outportb ((unsigned short) (port + PARPORT_CONTROL), + (unsigned char) (inportb ((unsigned short) (port + PARPORT_CONTROL)) & 0x0f)); + // bit 4 = 0 -> IRQ disable for ACK, bit 5-7 unused +#ifdef USE_PPDEV + ucon64.parport = ucon64_parport; +#endif + + return port; +} + + +#if defined USE_PPDEV || defined __BEOS__ || defined __FreeBSD__ || defined AMIGA +void +close_io_port (void) +{ +#ifdef AMIGA + CloseDevice ((struct IORequest *) parport_io_req); + DeleteExtIO ((struct IOExtPar *) parport_io_req); + DeletePort (parport); + parport_io_req = NULL; +#elif defined USE_PPDEV + parport_io_mode = IEEE1284_MODE_COMPAT; + // We really don't want to perform IEEE 1284 negotiation, but if we don't do + // it ppdev will do it for us... + ioctl (parport_io_fd, PPNEGOT, &parport_io_mode); + ioctl (parport_io_fd, PPRELEASE); +#else // __BEOS__ || __FreeBSD__ + close (parport_io_fd); +#endif +} +#endif + + +int +parport_close (int parport) +{ + (void) parport; +#if defined USE_PPDEV || defined __BEOS__ || defined __FreeBSD__ || defined AMIGA + if (unregister_func (close_io_port) == 0) // call func only if it can be removed! + close_io_port (); // (or else it will be called twice) +#elif defined _WIN32 || defined __CYGWIN__ + input_byte = NULL; + input_word = NULL; + output_byte = NULL; + output_word = NULL; +#endif + return 0; +} + + +void +parport_print_info (void) +{ +#ifdef USE_PPDEV + printf ("Using parallel port device: %s\n", ucon64.parport_dev); +#elif defined AMIGA + printf ("Using parallel port device: %s, port %d\n", ucon64.parport_dev, ucon64.parport); +#else + printf ("Using I/O port base address: 0x%x\n", ucon64.parport); +#endif +} +#endif // USE_PARALLEL diff --git a/tools/ucon64-2.0.0-src/src/misc/parallel.h b/tools/ucon64-2.0.0-src/src/misc/parallel.h new file mode 100644 index 0000000..4a6c36c --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/misc/parallel.h @@ -0,0 +1,54 @@ +/* +parallel.h - miscellaneous parallel port functions + +Copyright (c) 1999 - 2001 NoisyB +Copyright (c) 2001 - 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef MISC_PARALLEL_H +#define MISC_PARALLEL_H + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#ifdef USE_PARALLEL + +#define PARPORT_DATA 0 // output +#define PARPORT_STATUS 1 // input +#define PARPORT_CONTROL 2 +#define PARPORT_EADDRESS 3 // EPP/ECP address +#define PARPORT_EDATA 4 // EPP/ECP output/input + +#define PARPORT_INPUT_MASK 0x78 + +#define PARPORT_IBUSY 0x80 +#define PARPORT_STROBE 1 + +#define PARPORT_UNKNOWN (-1) + +// DJGPP (DOS) has these, but it's better that all code uses the same functions. +extern unsigned char inportb (unsigned short port); +extern unsigned short inportw (unsigned short port); +extern void outportb (unsigned short port, unsigned char byte); +extern void outportw (unsigned short port, unsigned short word); + +extern int parport_open (int parport); +extern int parport_close (int parport); +extern void parport_print_info (void); +#endif // USE_PARALLEL +#endif // MISC_PARALLEL_H diff --git a/tools/ucon64-2.0.0-src/src/misc/property.c b/tools/ucon64-2.0.0-src/src/misc/property.c new file mode 100644 index 0000000..49047cb --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/misc/property.c @@ -0,0 +1,254 @@ +/* +property.c - configfile handling + +Copyright (c) 2004 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include // for struct stat +#include +#ifdef HAVE_UNISTD_H +#include +#endif +#include +#include "file.h" // realpath2() +#include "property.h" +#include "misc.h" // getenv2() + + +// Shouldn't we include string.h? - dbjh +#ifndef _WIN32 +#define stricmp strcasecmp +#endif + +#ifdef MAXBUFSIZE +#undef MAXBUFSIZE +#endif // MAXBUFSIZE +#define MAXBUFSIZE 32768 + +#define PROPERTY_SEPARATOR '=' +#define PROPERTY_SEPARATOR_S "=" +#define PROPERTY_COMMENT '#' +#define PROPERTY_COMMENT_S "#" + + +char * +get_property (const char *filename, const char *propname, char *buffer, + const char *def) +{ + char line[MAXBUFSIZE], *p = NULL; + FILE *fh; + int prop_found = 0, i, whitespace_len; + + if ((fh = fopen (filename, "r")) != 0) // opening the file in text mode + { // avoids trouble under DOS + while (fgets (line, sizeof line, fh) != NULL) + { + whitespace_len = strspn (line, "\t "); + p = line + whitespace_len; // ignore leading whitespace + if (*p == '#' || *p == '\n' || *p == '\r') + continue; // text after # is comment + if ((p = strpbrk (line, "#\r\n"))) // strip *any* returns + *p = 0; + + p = strchr (line, PROPERTY_SEPARATOR); + // if no divider was found the propname must be a bool config entry + // (present or not present) + if (p) + *p = 0; // note that this "cuts" _line_ + // strip trailing whitespace from property name part of line + for (i = strlen (line) - 1; + i >= 0 && (line[i] == '\t' || line[i] == ' '); + i--) + ; + line[i + 1] = 0; + + if (!stricmp (line + whitespace_len, propname)) + { + if (p) + { + p++; + // strip leading whitespace from value + strcpy (buffer, p + strspn (p, "\t ")); + // strip trailing whitespace from value + for (i = strlen (buffer) - 1; + i >= 0 && (buffer[i] == '\t' || buffer[i] == ' '); + i--) + ; + buffer[i + 1] = 0; + } + prop_found = 1; + break; // an environment variable + } // might override this + } + fclose (fh); + } + + p = getenv2 (propname); + if (*p == 0) // getenv2() never returns NULL + { + if (!prop_found) + { + if (def) + strcpy (buffer, def); + else + buffer = NULL; // buffer won't be changed + } // after this func (=ok) + } + else + strcpy (buffer, p); + return buffer; +} + + +int +get_property_int (const char *filename, const char *propname) +{ + char buf[MAXBUFSIZE]; // MAXBUFSIZE is enough for a *very* large number + // and people who might not get the idea that + // get_property_int() is ONLY about numbers + int value = 0; + + get_property (filename, propname, buf, NULL); + + if (*buf) + switch (tolower (*buf)) + { + case '0': // 0 + case 'n': // [Nn]o + return 0; + } + + value = strtol (buf, NULL, 10); + return value ? value : 1; // if buf was only text like 'Yes' +} // we'll return at least 1 + + +char * +get_property_fname (const char *filename, const char *propname, char *buffer, + const char *def) +// get a filename from file with name filename, expand it and fix characters +{ + char tmp[FILENAME_MAX]; + + get_property (filename, propname, tmp, def); +#ifdef __CYGWIN__ + fix_character_set (tmp); +#endif + return realpath2 (tmp, buffer); +} + + +int +set_property (const char *filename, const char *propname, const char *value, + const char *comment) +{ + int found = 0, result = 0, file_size = 0, i; + char line[MAXBUFSIZE], line2[MAXBUFSIZE], *str = NULL, *p = NULL; + FILE *fh; + struct stat fstate; + + if (stat (filename, &fstate) != 0) + file_size = fstate.st_size; + + if (!(str = (char *) malloc (file_size + MAXBUFSIZE))) + return -1; + *str = 0; + + if ((fh = fopen (filename, "r")) != 0) // opening the file in text mode + { // avoids trouble under DOS + while (fgets (line, sizeof line, fh) != NULL) + { + strcpy (line2, line); + if ((p = strpbrk (line2, PROPERTY_SEPARATOR_S "#\r\n"))) + *p = 0; // note that this "cuts" _line2_ + for (i = strlen (line2) - 1; + i >= 0 && (line2[i] == '\t' || line2[i] == ' '); + i--) + ; + line2[i + 1] = 0; + + if (!stricmp (line2 + strspn (line2, "\t "), propname)) + { + found = 1; + if (value == NULL) + continue; + + sprintf (line, "%s" PROPERTY_SEPARATOR_S "%s\n", propname, value); + } + strcat (str, line); + } + fclose (fh); + } + + if (!found && value) + { + if (comment) + { + strcat (str, PROPERTY_COMMENT_S "\n" PROPERTY_COMMENT_S " "); + + for (p = strchr (str, 0); *comment; comment++) + switch (*comment) + { + case '\r': + break; + case '\n': + strcat (str, "\n" PROPERTY_COMMENT_S " "); + break; + + default: + p = strchr (str, 0); + *p = *comment; + *(++p) = 0; + break; + } + + strcat (str, "\n" PROPERTY_COMMENT_S "\n"); + } + + sprintf (line, "%s" PROPERTY_SEPARATOR_S "%s\n", propname, value); + strcat (str, line); + } + + if ((fh = fopen (filename, "w")) == NULL) // open in text mode + return -1; + result = fwrite (str, 1, strlen (str), fh); + fclose (fh); + + return result; +} + + +int +set_property_array (const char *filename, const st_property_t *prop) +{ + int i = 0, result = 0; + + for (; prop[i].name; i++) + { + result = set_property (filename, prop[i].name, prop[i].value, prop[i].comment); + + if (result == -1) // failed + break; + } + + return result; +} diff --git a/tools/ucon64-2.0.0-src/src/misc/property.h b/tools/ucon64-2.0.0-src/src/misc/property.h new file mode 100644 index 0000000..3675eb9 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/misc/property.h @@ -0,0 +1,67 @@ +/* +property.h - configfile handling + +Copyright (c) 2004 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef MISC_PROPERTY_H +#define MISC_PROPERTY_H + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#ifdef __cplusplus +extern "C" { +#endif + + +typedef struct +{ + const char *name; // property name + const char *value; // property value + const char *comment; // property comment, # COMMENT +} st_property_t; // NAME=VALUE + + +/* + get_property() get value of propname from filename or return value + of env with name like propname or return def + get_property_int() like get_property() but returns an integer which is 0 + if the value of propname was 0, [Nn] or [Nn][Oo] + and an integer or at least 1 for every other case + get_property_fname() like get_property() but specifically for filenames, + i.e., it runs realpath2() on the filename and fixes + the characters if necessary (Cygwin) + set_property() set propname with value in filename + set_property_array() set an array of properties (st_property_t) at once + DELETE_PROPERTY() like set_property but when value of propname is NULL + the whole property will disappear from filename +*/ +extern char *get_property (const char *filename, const char *propname, char *value, + const char *def); +extern int get_property_int (const char *filename, const char *propname); +extern char *get_property_fname (const char *filename, const char *propname, + char *buffer, const char *def); +extern int set_property (const char *filename, const char *propname, const char *value, const char *comment); +extern int set_property_array (const char *filename, const st_property_t *prop); +#define DELETE_PROPERTY(a, b) (set_property(a, b, NULL, NULL)) + +#ifdef __cplusplus +} +#endif +#endif // MISC_PROPERTY_H diff --git a/tools/ucon64-2.0.0-src/src/misc/string.c b/tools/ucon64-2.0.0-src/src/misc/string.c new file mode 100644 index 0000000..022c951 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/misc/string.c @@ -0,0 +1,240 @@ +/* +string.c - some string functions + +Copyright (c) 1999 - 2004 NoisyB +Copyright (c) 2001 - 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#include "string.h" + + +#ifdef _MSC_VER +// Visual C++ doesn't allow inline in C source code +#define inline __inline +#endif + + +static inline int +is_func (char *s, int len, int (*func) (int)) +{ + char *p = s; + + /* + Casting to unsigned char * is necessary to avoid differences between the + different compilers' run-time environments. At least for isprint(). Without + the cast the isprint() of (older versions of) DJGPP, MinGW, Cygwin and + Visual C++ returns nonzero values for ASCII characters > 126. + */ + for (; len >= 0; p++, len--) + if (!func (*(unsigned char *) p)) + return 0; + + return 1; +} + + +static inline char * +to_func (char *s, int len, int (*func) (int)) +{ + char *p = s; + + for (; len > 0; p++, len--) + *p = func (*p); + + return s; +} + + +char * +strupr (char *s) +{ + return to_func (s, strlen (s), toupper); +} + + +char * +strlwr (char *s) +{ + return to_func (s, strlen (s), tolower); +} + + +char * +strcasestr2 (const char *str, const char *search) +{ + if (!(*search)) + return (char *) str; +#if 0 + else + { + int len = strlen (search); + + for (; *str; str++) + if (!strnicmp (str, search, len)) + return (char *) str; + } + + return NULL; +#else + return (char *) memmem2 (str, strlen (str), search, strlen (search), MEMMEM2_CASE); +#endif +} + + +char * +strtrimr (char *str) +{ + int i = strlen (str) - 1; + + while (isspace ((int) str[i]) && (i >= 0)) + str[i--] = 0; + + return str; +} + + +char * +strtriml (char *str) +{ + int i = 0, j; + + j = strlen (str) - 1; + + while (isspace ((int) str[i]) && (i <= j)) + i++; + + if (0 < i) + strcpy (str, &str[i]); + + return str; +} + + +#ifdef DEBUG +static int +strarg_debug (int argc, char **argv) +{ + int pos; + fprintf (stderr, "argc: %d\n", argc); + for (pos = 0; pos < argc; pos++) + fprintf (stderr, "argv[%d]: %s\n", pos, argv[pos]); + + fflush (stderr); +} +#endif + + +int +strarg (char **argv, char *str, const char *separator_s, int max_args) +{ + int argc = 0; + + if (str) + if (*str) + for (; (argv[argc] = (char *) strtok (!argc ? str : NULL, separator_s)) && + (argc < (max_args - 1)); argc++) + ; + +#ifdef DEBUG + strarg_debug (argc, argv); +#endif + + return argc; +} + + +int +memcmp2 (const void *buffer, const void *search, size_t searchlen, unsigned int flags) +{ + size_t i = 0; + const unsigned char *b = (const unsigned char *) buffer, + *s = (const unsigned char *) search; + + if (!flags) + return memcmp (buffer, search, searchlen); + + if (flags & MEMMEM2_REL) + { + searchlen--; + if (searchlen < 1) + return -1; + } + + for (i = 0; i < searchlen; i++) + { + if (flags & MEMMEM2_WCARD (0)) + if (*(s + i) == (flags & 0xff)) + continue; + + if (flags & MEMMEM2_REL) + { + if ((*(b + i) - *(b + i + 1)) != (*(s + i) - *(s + i + 1))) + break; + } + else + { + if (flags & MEMMEM2_CASE && isalpha (*(s + i))) + { + if (tolower (*(b + i)) != tolower (*(s + i))) + break; + } + else + if (*(b + i) != *(s + i)) + break; + } + } + + return i == searchlen ? 0 : -1; +} + + +const void * +memmem2 (const void *buffer, size_t bufferlen, + const void *search, size_t searchlen, unsigned int flags) +{ + size_t i; + + if (bufferlen >= searchlen) + for (i = 0; i <= bufferlen - searchlen; i++) + if (!memcmp2 ((const unsigned char *) buffer + i, search, searchlen, flags)) + return (const unsigned char *) buffer + i; + + return NULL; +} + + +#if 0 +int +memwcmp (const void *buffer, const void *search, unsigned int searchlen, int wildcard) +{ + unsigned int n; + + for (n = 0; n < searchlen; n++) + if (((unsigned char *) search)[n] != wildcard && + ((unsigned char *) buffer)[n] != ((unsigned char *) search)[n]) + return -1; + + return 0; +} +#endif diff --git a/tools/ucon64-2.0.0-src/src/misc/string.h b/tools/ucon64-2.0.0-src/src/misc/string.h new file mode 100644 index 0000000..9b07e1e --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/misc/string.h @@ -0,0 +1,92 @@ +/* +string.h - some string functions + +Copyright (c) 1999 - 2004 NoisyB +Copyright (c) 2001 - 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef MISC_STRING_H +#define MISC_STRING_H + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#ifdef __cplusplus +extern "C" { +#endif +#include +/* + String manipulation + + strtriml() removes all leading blanks from a string + strtrimr() removes all trailing blanks from a string + Blanks are defined with isspace (blank, tab, newline, + return, formfeed, vertical tab = 0x09 - 0x0D + 0x20) + You can combine: strtriml (strtrimr ()) or + strtrimr (strtriml ()) + strarg() break a string into (max_args) tokens + replaces strtok[_r](), strsep(), etc... + strupr() strupr() clone + strlwr() strlwr() clone + memcmp2() memcmp() replacement with flags for wildcard and + relative/shifted similarities support + MEMCMP2_WCARD(WC) + WC is the wildcard char + MEMCMP2_REL + look for relative/shifted similarities + MEMCMP2_CASE + ignore case of isalpha() bytes + memmem2() memmem() replacement with flags for wildcard and + relative/shifted similarities support + MEMMEM2_WCARD(WC) + WC is the wildcard char + MEMMEM2_REL + look for relative/shifted similarities + MEMMEM2_CASE + ignore case of isalpha() bytes + stristr() same as strcasestr() + stricmp() same as strcasecmp() + strnicmp() same as strncasecmp() + strcasestr() strcasestr() clone for non-GNU platforms +*/ +extern char *strtriml (char *str); +extern char *strtrimr (char *str); +extern int strarg (char **argv, char *str, const char *separator_s, int max_args); +extern char *strlwr (char *str); +extern char *strupr (char *str); +#define MEMCMP2_WCARD(WC) ((1 << 9) | ((WC) & 0xff)) +#define MEMCMP2_REL (1 << 10) +#define MEMCMP2_CASE (1 << 11) +extern int memcmp2 (const void *buffer, + const void *search, size_t searchlen, unsigned int flags); +#define MEMMEM2_WCARD MEMCMP2_WCARD +#define MEMMEM2_REL MEMCMP2_REL +#define MEMMEM2_CASE MEMCMP2_CASE +extern const void *memmem2 (const void *buffer, size_t bufferlen, + const void *search, size_t searchlen, unsigned int flags); +extern char *strcasestr2 (const char *str, const char *search); +#define stristr strcasestr2 +#ifndef _WIN32 +#define stricmp strcasecmp +#define strnicmp strncasecmp +#endif + +#ifdef __cplusplus +} +#endif +#endif // MISC_STRING_H diff --git a/tools/ucon64-2.0.0-src/src/misc/unzip.c b/tools/ucon64-2.0.0-src/src/misc/unzip.c new file mode 100644 index 0000000..1b84182 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/misc/unzip.c @@ -0,0 +1,1253 @@ +/* unzip.c -- IO on .zip files using zlib + Version 0.15 beta, Mar 19th, 1998, + + Read unzip.h for more info +*/ + + +#include +#include +#include +#include "zlib.h" +#include "unzip.h" + +#ifdef STDC +# include +# include +# include +#endif +#ifdef NO_ERRNO_H + extern int errno; +#else +# include +#endif + + +#ifndef local +# define local static +#endif +/* compile with -Dlocal if your debugger can't find static symbols */ + + + +#if !defined(unix) && !defined(CASESENSITIVITYDEFAULT_YES) && \ + !defined(CASESENSITIVITYDEFAULT_NO) +#define CASESENSITIVITYDEFAULT_NO +#endif + + +#ifndef UNZ_BUFSIZE +#define UNZ_BUFSIZE (16384) +#endif + +#ifndef UNZ_MAXFILENAMEINZIP +#define UNZ_MAXFILENAMEINZIP (256) +#endif + +#ifndef ALLOC +# define ALLOC(size) (malloc(size)) +#endif +#ifndef TRYFREE +# define TRYFREE(p) {if (p) free(p);} +#endif + +#define SIZECENTRALDIRITEM (0x2e) +#define SIZEZIPLOCALHEADER (0x1e) + + +/* I've found an old Unix (a SunOS 4.1.3_U1) without all SEEK_* defined.... */ + +#ifndef SEEK_CUR +#define SEEK_CUR 1 +#endif + +#ifndef SEEK_END +#define SEEK_END 2 +#endif + +#ifndef SEEK_SET +#define SEEK_SET 0 +#endif + +const char unz_copyright[] = + " unzip 0.15 Copyright 1998 Gilles Vollant "; + +/* unz_file_info_interntal contain internal info about a file in zipfile*/ +typedef struct unz_file_info_internal_s +{ + uLong offset_curfile;/* relative offset of local header 4 bytes */ +} unz_file_info_internal; + + +/* file_in_zip_read_info_s contain internal information about a file in zipfile, + when reading and decompress it */ +typedef struct +{ + char *read_buffer; /* internal buffer for compressed data */ + z_stream stream; /* zLib stream structure for inflate */ + + uLong pos_in_zipfile; /* position in byte on the zipfile, for fseek*/ + uLong stream_initialised; /* flag set if stream structure is initialised*/ + + uLong offset_local_extrafield;/* offset of the local extra field */ + uInt size_local_extrafield;/* size of the local extra field */ + uLong pos_local_extrafield; /* position in the local extra field in read*/ + + uLong crc32; /* crc32 of all data uncompressed */ + uLong crc32_wait; /* crc32 we must obtain after decompress all */ + uLong rest_read_compressed; /* number of byte to be decompressed */ + uLong rest_read_uncompressed;/*number of byte to be obtained after decomp*/ + FILE* file; /* io structore of the zipfile */ + uLong compression_method; /* compression method (0==store) */ + uLong byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/ +} file_in_zip_read_info_s; + + +/* unz_s contain internal information about the zipfile +*/ +typedef struct +{ + FILE* file; /* io structore of the zipfile */ + unz_global_info gi; /* public global information */ + uLong byte_before_the_zipfile;/* byte before the zipfile, (>0 for sfx)*/ + uLong num_file; /* number of the current file in the zipfile*/ + uLong pos_in_central_dir; /* pos of the current file in the central dir*/ + uLong current_file_ok; /* flag about the usability of the current file*/ + uLong central_pos; /* position of the beginning of the central dir*/ + + uLong size_central_dir; /* size of the central directory */ + uLong offset_central_dir; /* offset of start of central directory with + respect to the starting disk number */ + + unz_file_info cur_file_info; /* public info about the current file in zip*/ + unz_file_info_internal cur_file_info_internal; /* private info about it*/ + file_in_zip_read_info_s* pfile_in_zip_read; /* structure about the current + file if we are decompressing it */ +} unz_s; + + +/* =========================================================================== + Read a byte from a gz_stream; update next_in and avail_in. Return EOF + for end of file. + IN assertion: the stream s has been sucessfully opened for reading. +*/ + + +local int unzlocal_getByte(FILE *fin,int *pi) +{ + unsigned char c; + int err = fread(&c, 1, 1, fin); + if (err==1) + { + *pi = (int)c; + return UNZ_OK; + } + else + { + if (ferror(fin)) + return UNZ_ERRNO; + else + return UNZ_EOF; + } +} + + +/* =========================================================================== + Reads a long in LSB order from the given gz_stream. Sets +*/ +local int unzlocal_getShort (FILE* fin,uLong *pX) +{ + uLong x ; + int i; + int err; + + err = unzlocal_getByte(fin,&i); + x = (uLong)i; + + if (err==UNZ_OK) + err = unzlocal_getByte(fin,&i); + x += ((uLong)i)<<8; + + if (err==UNZ_OK) + *pX = x; + else + *pX = 0; + return err; +} + +local int unzlocal_getLong (FILE* fin,uLong *pX) +{ + uLong x ; + int i; + int err; + + err = unzlocal_getByte(fin,&i); + x = (uLong)i; + + if (err==UNZ_OK) + err = unzlocal_getByte(fin,&i); + x += ((uLong)i)<<8; + + if (err==UNZ_OK) + err = unzlocal_getByte(fin,&i); + x += ((uLong)i)<<16; + + if (err==UNZ_OK) + err = unzlocal_getByte(fin,&i); + x += ((uLong)i)<<24; + + if (err==UNZ_OK) + *pX = x; + else + *pX = 0; + return err; +} + + +/* My own strcmpi / strcasecmp */ +local int strcmpcasenosensitive_internal (const char* fileName1,const char* fileName2) +{ + for (;;) + { + char c1=*(fileName1++); + char c2=*(fileName2++); + if ((c1>='a') && (c1<='z')) + c1 -= 0x20; + if ((c2>='a') && (c2<='z')) + c2 -= 0x20; + if (c1=='\0') + return ((c2=='\0') ? 0 : -1); + if (c2=='\0') + return 1; + if (c1c2) + return 1; + } +} + + +#ifdef CASESENSITIVITYDEFAULT_NO +#define CASESENSITIVITYDEFAULTVALUE 2 +#else +#define CASESENSITIVITYDEFAULTVALUE 1 +#endif + +#ifndef STRCMPCASENOSENTIVEFUNCTION +#define STRCMPCASENOSENTIVEFUNCTION strcmpcasenosensitive_internal +#endif + +/* + Compare two filename (fileName1,fileName2). + If iCaseSenisivity = 1, comparision is case sensitivity (like strcmp) + If iCaseSenisivity = 2, comparision is not case sensitivity (like strcmpi + or strcasecmp) + If iCaseSenisivity = 0, case sensitivity is defaut of your operating system + (like 1 on Unix, 2 on Windows) + +*/ +extern int ZEXPORT unzStringFileNameCompare (const char* fileName1,const char* fileName2, + int iCaseSensitivity) +{ + if (iCaseSensitivity==0) + iCaseSensitivity=CASESENSITIVITYDEFAULTVALUE; + + if (iCaseSensitivity==1) + return strcmp(fileName1,fileName2); + + return STRCMPCASENOSENTIVEFUNCTION(fileName1,fileName2); +} + +#define BUFREADCOMMENT (0x400) + +/* + Locate the Central directory of a zipfile (at the end, just before + the global comment) +*/ +local uLong unzlocal_SearchCentralDir(FILE *fin) +{ + unsigned char* buf; + uLong uSizeFile; + uLong uBackRead; + uLong uMaxBack=0xffff; /* maximum size of global comment */ + uLong uPosFound=0; + + if (fseek(fin,0,SEEK_END) != 0) + return 0; + + + uSizeFile = ftell( fin ); + + if (uMaxBack>uSizeFile) + uMaxBack = uSizeFile; + + buf = (unsigned char*)ALLOC(BUFREADCOMMENT+4); + if (buf==NULL) + return 0; + + uBackRead = 4; + while (uBackReaduMaxBack) + uBackRead = uMaxBack; + else + uBackRead+=BUFREADCOMMENT; + uReadPos = uSizeFile-uBackRead ; + + uReadSize = ((BUFREADCOMMENT+4) < (uSizeFile-uReadPos)) ? + (BUFREADCOMMENT+4) : (uSizeFile-uReadPos); + if (fseek(fin,uReadPos,SEEK_SET)!=0) + break; + + if (fread(buf,(uInt)uReadSize,1,fin)!=1) + break; + + for (i=(int)uReadSize-3; (i--)>0;) + if (((*(buf+i))==0x50) && ((*(buf+i+1))==0x4b) && + ((*(buf+i+2))==0x05) && ((*(buf+i+3))==0x06)) + { + uPosFound = uReadPos+i; + break; + } + + if (uPosFound!=0) + break; + } + TRYFREE(buf); + return uPosFound; +} + +/* + Open a Zip file. path contain the full pathname (by example, + on a Windows NT computer "c:\\test\\zlib109.zip" or on an Unix computer + "zlib/zlib109.zip". + If the zipfile cannot be opened (file don't exist or in not valid), the + return value is NULL. + Else, the return value is a unzFile Handle, usable with other function + of this unzip package. +*/ +extern unzFile ZEXPORT unzOpen (const char *path) +{ + unz_s us; + unz_s *s; + uLong central_pos,uL; + FILE * fin ; + + uLong number_disk; /* number of the current dist, used for + spaning ZIP, unsupported, always 0*/ + uLong number_disk_with_CD; /* number the the disk with central dir, used + for spaning ZIP, unsupported, always 0*/ + uLong number_entry_CD; /* total number of entries in + the central dir + (same than number_entry on nospan) */ + + int err=UNZ_OK; + + if (unz_copyright[0]!=' ') + return NULL; + + fin=fopen(path,"rb"); + if (fin==NULL) + return NULL; + + central_pos = unzlocal_SearchCentralDir(fin); + if (central_pos==0) + err=UNZ_ERRNO; + + if (fseek(fin,central_pos,SEEK_SET)!=0) + err=UNZ_ERRNO; + + /* the signature, already checked */ + if (unzlocal_getLong(fin,&uL)!=UNZ_OK) + err=UNZ_ERRNO; + + /* number of this disk */ + if (unzlocal_getShort(fin,&number_disk)!=UNZ_OK) + err=UNZ_ERRNO; + + /* number of the disk with the start of the central directory */ + if (unzlocal_getShort(fin,&number_disk_with_CD)!=UNZ_OK) + err=UNZ_ERRNO; + + /* total number of entries in the central dir on this disk */ + if (unzlocal_getShort(fin,&us.gi.number_entry)!=UNZ_OK) + err=UNZ_ERRNO; + + /* total number of entries in the central dir */ + if (unzlocal_getShort(fin,&number_entry_CD)!=UNZ_OK) + err=UNZ_ERRNO; + + if ((number_entry_CD!=us.gi.number_entry) || + (number_disk_with_CD!=0) || + (number_disk!=0)) + err=UNZ_BADZIPFILE; + + /* size of the central directory */ + if (unzlocal_getLong(fin,&us.size_central_dir)!=UNZ_OK) + err=UNZ_ERRNO; + + /* offset of start of central directory with respect to the + starting disk number */ + if (unzlocal_getLong(fin,&us.offset_central_dir)!=UNZ_OK) + err=UNZ_ERRNO; + + /* zipfile comment length */ + if (unzlocal_getShort(fin,&us.gi.size_comment)!=UNZ_OK) + err=UNZ_ERRNO; + + if ((central_pospfile_in_zip_read!=NULL) + unzCloseCurrentFile(file); + + fclose(s->file); + TRYFREE(s); + return UNZ_OK; +} + + +/* + Write info about the ZipFile in the *pglobal_info structure. + No preparation of the structure is needed + return UNZ_OK if there is no problem. */ +extern int ZEXPORT unzGetGlobalInfo (unzFile file,unz_global_info *pglobal_info) +{ + unz_s* s; + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + *pglobal_info=s->gi; + return UNZ_OK; +} + + +/* + Translate date/time from Dos format to tm_unz (readable more easilty) +*/ +local void unzlocal_DosDateToTmuDate (uLong ulDosDate,tm_unz* ptm) +{ + uLong uDate; + uDate = (uLong)(ulDosDate>>16); + ptm->tm_mday = (uInt)(uDate&0x1f) ; + ptm->tm_mon = (uInt)((((uDate)&0x1E0)/0x20)-1) ; + ptm->tm_year = (uInt)(((uDate&0x0FE00)/0x0200)+1980) ; + + ptm->tm_hour = (uInt) ((ulDosDate &0xF800)/0x800); + ptm->tm_min = (uInt) ((ulDosDate&0x7E0)/0x20) ; + ptm->tm_sec = (uInt) (2*(ulDosDate&0x1f)) ; +} + +/* + Get Info about the current file in the zipfile, with internal only info +*/ +local int unzlocal_GetCurrentFileInfoInternal OF((unzFile file, + unz_file_info *pfile_info, + unz_file_info_internal + *pfile_info_internal, + char *szFileName, + uLong fileNameBufferSize, + void *extraField, + uLong extraFieldBufferSize, + char *szComment, + uLong commentBufferSize)); + +local int unzlocal_GetCurrentFileInfoInternal (unzFile file, + unz_file_info *pfile_info, + unz_file_info_internal *pfile_info_internal, + char *szFileName, + uLong fileNameBufferSize, + void *extraField, + uLong extraFieldBufferSize, + char *szComment, + uLong commentBufferSize) +{ + unz_s* s; + unz_file_info file_info; + unz_file_info_internal file_info_internal; + int err=UNZ_OK; + uLong uMagic; + long lSeek=0; + + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + if (fseek(s->file,s->pos_in_central_dir+s->byte_before_the_zipfile,SEEK_SET)!=0) + err=UNZ_ERRNO; + + + /* we check the magic */ + if (err==UNZ_OK) + { + if (unzlocal_getLong(s->file,&uMagic) != UNZ_OK) + err=UNZ_ERRNO; + else if (uMagic!=0x02014b50) + err=UNZ_BADZIPFILE; + } + + if (unzlocal_getShort(s->file,&file_info.version) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getShort(s->file,&file_info.version_needed) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getShort(s->file,&file_info.flag) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getShort(s->file,&file_info.compression_method) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getLong(s->file,&file_info.dosDate) != UNZ_OK) + err=UNZ_ERRNO; + + unzlocal_DosDateToTmuDate(file_info.dosDate,&file_info.tmu_date); + + if (unzlocal_getLong(s->file,&file_info.crc) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getLong(s->file,&file_info.compressed_size) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getLong(s->file,&file_info.uncompressed_size) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getShort(s->file,&file_info.size_filename) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getShort(s->file,&file_info.size_file_extra) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getShort(s->file,&file_info.size_file_comment) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getShort(s->file,&file_info.disk_num_start) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getShort(s->file,&file_info.internal_fa) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getLong(s->file,&file_info.external_fa) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getLong(s->file,&file_info_internal.offset_curfile) != UNZ_OK) + err=UNZ_ERRNO; + + lSeek+=file_info.size_filename; + if ((err==UNZ_OK) && (szFileName!=NULL)) + { + uLong uSizeRead ; + if (file_info.size_filename0) && (fileNameBufferSize>0)) + if (fread(szFileName,(uInt)uSizeRead,1,s->file)!=1) + err=UNZ_ERRNO; + lSeek -= uSizeRead; + } + + + if ((err==UNZ_OK) && (extraField!=NULL)) + { + uLong uSizeRead ; + if (file_info.size_file_extrafile,lSeek,SEEK_CUR)==0) + lSeek=0; + else + err=UNZ_ERRNO; + } + if ((file_info.size_file_extra>0) && (extraFieldBufferSize>0)) + if (fread(extraField,(uInt)uSizeRead,1,s->file)!=1) + err=UNZ_ERRNO; + lSeek += file_info.size_file_extra - uSizeRead; + } + else + lSeek+=file_info.size_file_extra; + + + if ((err==UNZ_OK) && (szComment!=NULL)) + { + uLong uSizeRead ; + if (file_info.size_file_commentfile,lSeek,SEEK_CUR)==0) + lSeek=0; + else + err=UNZ_ERRNO; + } + if ((file_info.size_file_comment>0) && (commentBufferSize>0)) + if (fread(szComment,(uInt)uSizeRead,1,s->file)!=1) + err=UNZ_ERRNO; + lSeek+=file_info.size_file_comment - uSizeRead; + } + else + lSeek+=file_info.size_file_comment; + + if ((err==UNZ_OK) && (pfile_info!=NULL)) + *pfile_info=file_info; + + if ((err==UNZ_OK) && (pfile_info_internal!=NULL)) + *pfile_info_internal=file_info_internal; + + return err; +} + + + +/* + Write info about the ZipFile in the *pglobal_info structure. + No preparation of the structure is needed + return UNZ_OK if there is no problem. +*/ +extern int ZEXPORT unzGetCurrentFileInfo (unzFile file, + unz_file_info *pfile_info, + char *szFileName, + uLong fileNameBufferSize, + void *extraField, + uLong extraFieldBufferSize, + char *szComment, + uLong commentBufferSize) +{ + return unzlocal_GetCurrentFileInfoInternal(file,pfile_info,NULL, + szFileName,fileNameBufferSize, + extraField,extraFieldBufferSize, + szComment,commentBufferSize); +} + +/* + Set the current file of the zipfile to the first file. + return UNZ_OK if there is no problem +*/ +extern int ZEXPORT unzGoToFirstFile (unzFile file) +{ + int err=UNZ_OK; + unz_s* s; + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + s->pos_in_central_dir=s->offset_central_dir; + s->num_file=0; + err=unzlocal_GetCurrentFileInfoInternal(file,&s->cur_file_info, + &s->cur_file_info_internal, + NULL,0,NULL,0,NULL,0); + s->current_file_ok = (err == UNZ_OK); + return err; +} + + +/* + Set the current file of the zipfile to the next file. + return UNZ_OK if there is no problem + return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest. +*/ +extern int ZEXPORT unzGoToNextFile (unzFile file) +{ + unz_s* s; + int err; + + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + if (!s->current_file_ok) + return UNZ_END_OF_LIST_OF_FILE; + if (s->num_file+1==s->gi.number_entry) + return UNZ_END_OF_LIST_OF_FILE; + + s->pos_in_central_dir += SIZECENTRALDIRITEM + s->cur_file_info.size_filename + + s->cur_file_info.size_file_extra + s->cur_file_info.size_file_comment ; + s->num_file++; + err = unzlocal_GetCurrentFileInfoInternal(file,&s->cur_file_info, + &s->cur_file_info_internal, + NULL,0,NULL,0,NULL,0); + s->current_file_ok = (err == UNZ_OK); + return err; +} + + +/* + Try locate the file szFileName in the zipfile. + For the iCaseSensitivity signification, see unzipStringFileNameCompare + + return value : + UNZ_OK if the file is found. It becomes the current file. + UNZ_END_OF_LIST_OF_FILE if the file is not found +*/ +extern int ZEXPORT unzLocateFile (unzFile file, const char *szFileName, + int iCaseSensitivity) +{ + unz_s* s; + int err; + + + uLong num_fileSaved; + uLong pos_in_central_dirSaved; + + + if (file==NULL) + return UNZ_PARAMERROR; + + if (strlen(szFileName)>=UNZ_MAXFILENAMEINZIP) + return UNZ_PARAMERROR; + + s=(unz_s*)file; + if (!s->current_file_ok) + return UNZ_END_OF_LIST_OF_FILE; + + num_fileSaved = s->num_file; + pos_in_central_dirSaved = s->pos_in_central_dir; + + err = unzGoToFirstFile(file); + + while (err == UNZ_OK) + { + char szCurrentFileName[UNZ_MAXFILENAMEINZIP+1]; + unzGetCurrentFileInfo(file,NULL, + szCurrentFileName,sizeof(szCurrentFileName)-1, + NULL,0,NULL,0); + if (unzStringFileNameCompare(szCurrentFileName, + szFileName,iCaseSensitivity)==0) + return UNZ_OK; + err = unzGoToNextFile(file); + } + + s->num_file = num_fileSaved ; + s->pos_in_central_dir = pos_in_central_dirSaved ; + return err; +} + + +/* + Read the local header of the current zipfile + Check the coherency of the local header and info in the end of central + directory about this file + store in *piSizeVar the size of extra info in local header + (filename and size of extra field data) +*/ +local int unzlocal_CheckCurrentFileCoherencyHeader (unz_s* s, + uInt* piSizeVar, + uLong *poffset_local_extrafield, + uInt *psize_local_extrafield) +{ + uLong uMagic,uData,uFlags; + uLong size_filename; + uLong size_extra_field; + int err=UNZ_OK; + + *piSizeVar = 0; + *poffset_local_extrafield = 0; + *psize_local_extrafield = 0; + + if (fseek(s->file,s->cur_file_info_internal.offset_curfile + + s->byte_before_the_zipfile,SEEK_SET)!=0) + return UNZ_ERRNO; + + + if (err==UNZ_OK) + { + if (unzlocal_getLong(s->file,&uMagic) != UNZ_OK) + err=UNZ_ERRNO; + else if (uMagic!=0x04034b50) + err=UNZ_BADZIPFILE; + } + + if (unzlocal_getShort(s->file,&uData) != UNZ_OK) + err=UNZ_ERRNO; +/* + else if ((err==UNZ_OK) && (uData!=s->cur_file_info.wVersion)) + err=UNZ_BADZIPFILE; +*/ + if (unzlocal_getShort(s->file,&uFlags) != UNZ_OK) + err=UNZ_ERRNO; + + if (unzlocal_getShort(s->file,&uData) != UNZ_OK) + err=UNZ_ERRNO; + else if ((err==UNZ_OK) && (uData!=s->cur_file_info.compression_method)) + err=UNZ_BADZIPFILE; + + if ((err==UNZ_OK) && (s->cur_file_info.compression_method!=0) && + (s->cur_file_info.compression_method!=Z_DEFLATED)) + err=UNZ_BADZIPFILE; + + if (unzlocal_getLong(s->file,&uData) != UNZ_OK) /* date/time */ + err=UNZ_ERRNO; + + if (unzlocal_getLong(s->file,&uData) != UNZ_OK) /* crc */ + err=UNZ_ERRNO; + else if ((err==UNZ_OK) && (uData!=s->cur_file_info.crc) && + ((uFlags & 8)==0)) + err=UNZ_BADZIPFILE; + + if (unzlocal_getLong(s->file,&uData) != UNZ_OK) /* size compr */ + err=UNZ_ERRNO; + else if ((err==UNZ_OK) && (uData!=s->cur_file_info.compressed_size) && + ((uFlags & 8)==0)) + err=UNZ_BADZIPFILE; + + if (unzlocal_getLong(s->file,&uData) != UNZ_OK) /* size uncompr */ + err=UNZ_ERRNO; + else if ((err==UNZ_OK) && (uData!=s->cur_file_info.uncompressed_size) && + ((uFlags & 8)==0)) + err=UNZ_BADZIPFILE; + + + if (unzlocal_getShort(s->file,&size_filename) != UNZ_OK) + err=UNZ_ERRNO; + else if ((err==UNZ_OK) && (size_filename!=s->cur_file_info.size_filename)) + err=UNZ_BADZIPFILE; + + *piSizeVar += (uInt)size_filename; + + if (unzlocal_getShort(s->file,&size_extra_field) != UNZ_OK) + err=UNZ_ERRNO; + *poffset_local_extrafield= s->cur_file_info_internal.offset_curfile + + SIZEZIPLOCALHEADER + size_filename; + *psize_local_extrafield = (uInt)size_extra_field; + + *piSizeVar += (uInt)size_extra_field; + + return err; +} + +/* + Open for reading data the current file in the zipfile. + If there is no error and the file is opened, the return value is UNZ_OK. +*/ +extern int ZEXPORT unzOpenCurrentFile (unzFile file) +{ + int err=UNZ_OK; + int Store; + uInt iSizeVar; + unz_s* s; + file_in_zip_read_info_s* pfile_in_zip_read_info; + uLong offset_local_extrafield; /* offset of the local extra field */ + uInt size_local_extrafield; /* size of the local extra field */ + + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + if (!s->current_file_ok) + return UNZ_PARAMERROR; + + if (s->pfile_in_zip_read != NULL) + unzCloseCurrentFile(file); + + if (unzlocal_CheckCurrentFileCoherencyHeader(s,&iSizeVar, + &offset_local_extrafield,&size_local_extrafield)!=UNZ_OK) + return UNZ_BADZIPFILE; + + pfile_in_zip_read_info = (file_in_zip_read_info_s*) + ALLOC(sizeof(file_in_zip_read_info_s)); + if (pfile_in_zip_read_info==NULL) + return UNZ_INTERNALERROR; + + pfile_in_zip_read_info->read_buffer=(char*)ALLOC(UNZ_BUFSIZE); + pfile_in_zip_read_info->offset_local_extrafield = offset_local_extrafield; + pfile_in_zip_read_info->size_local_extrafield = size_local_extrafield; + pfile_in_zip_read_info->pos_local_extrafield=0; + + if (pfile_in_zip_read_info->read_buffer==NULL) + { + TRYFREE(pfile_in_zip_read_info); + return UNZ_INTERNALERROR; + } + + pfile_in_zip_read_info->stream_initialised=0; + + if ((s->cur_file_info.compression_method!=0) && + (s->cur_file_info.compression_method!=Z_DEFLATED)) + err=UNZ_BADZIPFILE; + Store = s->cur_file_info.compression_method==0; + + pfile_in_zip_read_info->crc32_wait=s->cur_file_info.crc; + pfile_in_zip_read_info->crc32=0; + pfile_in_zip_read_info->compression_method = + s->cur_file_info.compression_method; + pfile_in_zip_read_info->file=s->file; + pfile_in_zip_read_info->byte_before_the_zipfile=s->byte_before_the_zipfile; + + pfile_in_zip_read_info->stream.total_out = 0; + + if (!Store) + { + pfile_in_zip_read_info->stream.zalloc = (alloc_func)0; + pfile_in_zip_read_info->stream.zfree = (free_func)0; + pfile_in_zip_read_info->stream.opaque = (voidpf)0; + + err=inflateInit2(&pfile_in_zip_read_info->stream, -MAX_WBITS); + if (err == Z_OK) + pfile_in_zip_read_info->stream_initialised=1; + /* windowBits is passed < 0 to tell that there is no zlib header. + * Note that in this case inflate *requires* an extra "dummy" byte + * after the compressed stream in order to complete decompression and + * return Z_STREAM_END. + * In unzip, i don't wait absolutely Z_STREAM_END because I known the + * size of both compressed and uncompressed data + */ + } + pfile_in_zip_read_info->rest_read_compressed = + s->cur_file_info.compressed_size ; + pfile_in_zip_read_info->rest_read_uncompressed = + s->cur_file_info.uncompressed_size ; + + + pfile_in_zip_read_info->pos_in_zipfile = + s->cur_file_info_internal.offset_curfile + SIZEZIPLOCALHEADER + + iSizeVar; + + pfile_in_zip_read_info->stream.avail_in = (uInt)0; + + + s->pfile_in_zip_read = pfile_in_zip_read_info; + return UNZ_OK; +} + + +/* + Read bytes from the current file. + buf contain buffer where data must be copied + len the size of buf. + + return the number of byte copied if somes bytes are copied + return 0 if the end of file was reached + return <0 with error code if there is an error + (UNZ_ERRNO for IO error, or zLib error for uncompress error) +*/ +extern int ZEXPORT unzReadCurrentFile (unzFile file, voidp buf, unsigned len) +{ + int err=UNZ_OK; + uInt iRead = 0; + unz_s* s; + file_in_zip_read_info_s* pfile_in_zip_read_info; + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + pfile_in_zip_read_info=s->pfile_in_zip_read; + + if (pfile_in_zip_read_info==NULL) + return UNZ_PARAMERROR; + + + if ((pfile_in_zip_read_info->read_buffer == NULL)) + return UNZ_END_OF_LIST_OF_FILE; + if (len==0) + return 0; + + pfile_in_zip_read_info->stream.next_out = (Bytef*)buf; + + pfile_in_zip_read_info->stream.avail_out = (uInt)len; + + if (len>pfile_in_zip_read_info->rest_read_uncompressed) + pfile_in_zip_read_info->stream.avail_out = + (uInt)pfile_in_zip_read_info->rest_read_uncompressed; + + while (pfile_in_zip_read_info->stream.avail_out>0) + { + if ((pfile_in_zip_read_info->stream.avail_in==0) && + (pfile_in_zip_read_info->rest_read_compressed>0)) + { + uInt uReadThis = UNZ_BUFSIZE; + if (pfile_in_zip_read_info->rest_read_compressedrest_read_compressed; + if (uReadThis == 0) + return UNZ_EOF; + if (fseek(pfile_in_zip_read_info->file, + pfile_in_zip_read_info->pos_in_zipfile + + pfile_in_zip_read_info->byte_before_the_zipfile,SEEK_SET)!=0) + return UNZ_ERRNO; + if (fread(pfile_in_zip_read_info->read_buffer,uReadThis,1, + pfile_in_zip_read_info->file)!=1) + return UNZ_ERRNO; + pfile_in_zip_read_info->pos_in_zipfile += uReadThis; + + pfile_in_zip_read_info->rest_read_compressed-=uReadThis; + + pfile_in_zip_read_info->stream.next_in = + (Bytef*)pfile_in_zip_read_info->read_buffer; + pfile_in_zip_read_info->stream.avail_in = (uInt)uReadThis; + } + + if (pfile_in_zip_read_info->compression_method==0) + { + uInt uDoCopy,i ; + if (pfile_in_zip_read_info->stream.avail_out < + pfile_in_zip_read_info->stream.avail_in) + uDoCopy = pfile_in_zip_read_info->stream.avail_out ; + else + uDoCopy = pfile_in_zip_read_info->stream.avail_in ; + + for (i=0;istream.next_out+i) = + *(pfile_in_zip_read_info->stream.next_in+i); + + pfile_in_zip_read_info->crc32 = crc32(pfile_in_zip_read_info->crc32, + pfile_in_zip_read_info->stream.next_out, + uDoCopy); + pfile_in_zip_read_info->rest_read_uncompressed-=uDoCopy; + pfile_in_zip_read_info->stream.avail_in -= uDoCopy; + pfile_in_zip_read_info->stream.avail_out -= uDoCopy; + pfile_in_zip_read_info->stream.next_out += uDoCopy; + pfile_in_zip_read_info->stream.next_in += uDoCopy; + pfile_in_zip_read_info->stream.total_out += uDoCopy; + iRead += uDoCopy; + } + else + { + uLong uTotalOutBefore,uTotalOutAfter; + const Bytef *bufBefore; + uLong uOutThis; + int flush=Z_SYNC_FLUSH; + + uTotalOutBefore = pfile_in_zip_read_info->stream.total_out; + bufBefore = pfile_in_zip_read_info->stream.next_out; + + /* + if ((pfile_in_zip_read_info->rest_read_uncompressed == + pfile_in_zip_read_info->stream.avail_out) && + (pfile_in_zip_read_info->rest_read_compressed == 0)) + flush = Z_FINISH; + */ + err=inflate(&pfile_in_zip_read_info->stream,flush); + + uTotalOutAfter = pfile_in_zip_read_info->stream.total_out; + uOutThis = uTotalOutAfter-uTotalOutBefore; + + pfile_in_zip_read_info->crc32 = + crc32(pfile_in_zip_read_info->crc32,bufBefore, + (uInt)(uOutThis)); + + pfile_in_zip_read_info->rest_read_uncompressed -= + uOutThis; + + iRead += (uInt)(uTotalOutAfter - uTotalOutBefore); + + if (err==Z_STREAM_END) + return (iRead==0) ? UNZ_EOF : iRead; + if (err!=Z_OK) + break; + } + } + + if (err==Z_OK) + return iRead; + return err; +} + + +/* + Give the current position in uncompressed data +*/ +extern z_off_t ZEXPORT unztell (unzFile file) +{ + unz_s* s; + file_in_zip_read_info_s* pfile_in_zip_read_info; + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + pfile_in_zip_read_info=s->pfile_in_zip_read; + + if (pfile_in_zip_read_info==NULL) + return UNZ_PARAMERROR; + + return (z_off_t)pfile_in_zip_read_info->stream.total_out; +} + + +/* + return 1 if the end of file was reached, 0 elsewhere +*/ +extern int ZEXPORT unzeof (unzFile file) +{ + unz_s* s; + file_in_zip_read_info_s* pfile_in_zip_read_info; + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + pfile_in_zip_read_info=s->pfile_in_zip_read; + + if (pfile_in_zip_read_info==NULL) + return UNZ_PARAMERROR; + + if (pfile_in_zip_read_info->rest_read_uncompressed == 0) + return 1; + else + return 0; +} + + + +/* + Read extra field from the current file (opened by unzOpenCurrentFile) + This is the local-header version of the extra field (sometimes, there is + more info in the local-header version than in the central-header) + + if buf==NULL, it return the size of the local extra field that can be read + + if buf!=NULL, len is the size of the buffer, the extra header is copied in + buf. + the return value is the number of bytes copied in buf, or (if <0) + the error code +*/ +extern int ZEXPORT unzGetLocalExtrafield (unzFile file,voidp buf,unsigned len) +{ + unz_s* s; + file_in_zip_read_info_s* pfile_in_zip_read_info; + uInt read_now; + uLong size_to_read; + + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + pfile_in_zip_read_info=s->pfile_in_zip_read; + + if (pfile_in_zip_read_info==NULL) + return UNZ_PARAMERROR; + + size_to_read = (pfile_in_zip_read_info->size_local_extrafield - + pfile_in_zip_read_info->pos_local_extrafield); + + if (buf==NULL) + return (int)size_to_read; + + if (len>size_to_read) + read_now = (uInt)size_to_read; + else + read_now = (uInt)len ; + + if (read_now==0) + return 0; + + if (fseek(pfile_in_zip_read_info->file, + pfile_in_zip_read_info->offset_local_extrafield + + pfile_in_zip_read_info->pos_local_extrafield,SEEK_SET)!=0) + return UNZ_ERRNO; + + if (fread(buf,(uInt)size_to_read,1,pfile_in_zip_read_info->file)!=1) + return UNZ_ERRNO; + + return (int)read_now; +} + +/* + Close the file in zip opened with unzipOpenCurrentFile + Return UNZ_CRCERROR if all the file was read but the CRC is not good +*/ +extern int ZEXPORT unzCloseCurrentFile (unzFile file) +{ + int err=UNZ_OK; + + unz_s* s; + file_in_zip_read_info_s* pfile_in_zip_read_info; + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + pfile_in_zip_read_info=s->pfile_in_zip_read; + + if (pfile_in_zip_read_info==NULL) + return UNZ_PARAMERROR; + + + if (pfile_in_zip_read_info->rest_read_uncompressed == 0) + { + if (pfile_in_zip_read_info->crc32 != pfile_in_zip_read_info->crc32_wait) + err=UNZ_CRCERROR; + } + + + TRYFREE(pfile_in_zip_read_info->read_buffer); + pfile_in_zip_read_info->read_buffer = NULL; + if (pfile_in_zip_read_info->stream_initialised) + inflateEnd(&pfile_in_zip_read_info->stream); + + pfile_in_zip_read_info->stream_initialised = 0; + TRYFREE(pfile_in_zip_read_info); + + s->pfile_in_zip_read=NULL; + + return err; +} + + +/* + Get the global comment string of the ZipFile, in the szComment buffer. + uSizeBuf is the size of the szComment buffer. + return the number of byte copied or an error code <0 +*/ +extern int ZEXPORT unzGetGlobalComment (unzFile file, char *szComment, uLong uSizeBuf) +{ + unz_s* s; + uLong uReadThis ; + if (file==NULL) + return UNZ_PARAMERROR; + s=(unz_s*)file; + + uReadThis = uSizeBuf; + if (uReadThis>s->gi.size_comment) + uReadThis = s->gi.size_comment; + + if (fseek(s->file,s->central_pos+22,SEEK_SET)!=0) + return UNZ_ERRNO; + + if (uReadThis>0) + { + *szComment='\0'; + if (fread(szComment,(uInt)uReadThis,1,s->file)!=1) + return UNZ_ERRNO; + } + + if ((szComment != NULL) && (uSizeBuf > s->gi.size_comment)) + *(szComment+s->gi.size_comment)='\0'; + return (int)uReadThis; +} diff --git a/tools/ucon64-2.0.0-src/src/misc/unzip.h b/tools/ucon64-2.0.0-src/src/misc/unzip.h new file mode 100644 index 0000000..fe3e9fc --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/misc/unzip.h @@ -0,0 +1,275 @@ +/* unzip.h -- IO for uncompress .zip files using zlib + Version 0.15 beta, Mar 19th, 1998, + + Copyright (C) 1998 Gilles Vollant + + This unzip package allow extract file from .ZIP file, compatible with PKZip 2.04g + WinZip, InfoZip tools and compatible. + Encryption and multi volume ZipFile (span) are not supported. + Old compressions used by old PKZip 1.x are not supported + + THIS IS AN ALPHA VERSION. AT THIS STAGE OF DEVELOPPEMENT, SOMES API OR STRUCTURE + CAN CHANGE IN FUTURE VERSION !! + I WAIT FEEDBACK at mail info@winimage.com + Visit also http://www.winimage.com/zLibDll/unzip.htm for evolution + + Condition of use and distribution are the same than zlib : + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + +*/ +/* for more info about .ZIP format, see + ftp://ftp.cdrom.com/pub/infozip/doc/appnote-970311-iz.zip + PkWare has also a specification at : + ftp://ftp.pkware.com/probdesc.zip */ + +#ifndef _unz_H +#define _unz_H + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _ZLIB_H +#include "zlib.h" +#endif + +#if defined(STRICTUNZIP) || defined(STRICTZIPUNZIP) +/* like the STRICT of WIN32, we define a pointer that cannot be converted + from (void*) without cast */ +typedef struct TagunzFile__ { int unused; } unzFile__; +typedef unzFile__ *unzFile; +#else +typedef voidp unzFile; +#endif + + +#define UNZ_OK (0) +#define UNZ_END_OF_LIST_OF_FILE (-100) +#define UNZ_ERRNO (Z_ERRNO) +#define UNZ_EOF (0) +#define UNZ_PARAMERROR (-102) +#define UNZ_BADZIPFILE (-103) +#define UNZ_INTERNALERROR (-104) +#define UNZ_CRCERROR (-105) + +/* tm_unz contain date/time info */ +typedef struct tm_unz_s +{ + uInt tm_sec; /* seconds after the minute - [0,59] */ + uInt tm_min; /* minutes after the hour - [0,59] */ + uInt tm_hour; /* hours since midnight - [0,23] */ + uInt tm_mday; /* day of the month - [1,31] */ + uInt tm_mon; /* months since January - [0,11] */ + uInt tm_year; /* years - [1980..2044] */ +} tm_unz; + +/* unz_global_info structure contain global data about the ZIPfile + These data comes from the end of central dir */ +typedef struct unz_global_info_s +{ + uLong number_entry; /* total number of entries in + the central dir on this disk */ + uLong size_comment; /* size of the global comment of the zipfile */ +} unz_global_info; + + +/* unz_file_info contain information about a file in the zipfile */ +typedef struct unz_file_info_s +{ + uLong version; /* version made by 2 bytes */ + uLong version_needed; /* version needed to extract 2 bytes */ + uLong flag; /* general purpose bit flag 2 bytes */ + uLong compression_method; /* compression method 2 bytes */ + uLong dosDate; /* last mod file date in Dos fmt 4 bytes */ + uLong crc; /* crc-32 4 bytes */ + uLong compressed_size; /* compressed size 4 bytes */ + uLong uncompressed_size; /* uncompressed size 4 bytes */ + uLong size_filename; /* filename length 2 bytes */ + uLong size_file_extra; /* extra field length 2 bytes */ + uLong size_file_comment; /* file comment length 2 bytes */ + + uLong disk_num_start; /* disk number start 2 bytes */ + uLong internal_fa; /* internal file attributes 2 bytes */ + uLong external_fa; /* external file attributes 4 bytes */ + + tm_unz tmu_date; +} unz_file_info; + +extern int ZEXPORT unzStringFileNameCompare OF ((const char* fileName1, + const char* fileName2, + int iCaseSensitivity)); +/* + Compare two filename (fileName1,fileName2). + If iCaseSenisivity = 1, comparision is case sensitivity (like strcmp) + If iCaseSenisivity = 2, comparision is not case sensitivity (like strcmpi + or strcasecmp) + If iCaseSenisivity = 0, case sensitivity is defaut of your operating system + (like 1 on Unix, 2 on Windows) +*/ + + +extern unzFile ZEXPORT unzOpen OF((const char *path)); +/* + Open a Zip file. path contain the full pathname (by example, + on a Windows NT computer "c:\\zlib\\zlib111.zip" or on an Unix computer + "zlib/zlib111.zip". + If the zipfile cannot be opened (file don't exist or in not valid), the + return value is NULL. + Else, the return value is a unzFile Handle, usable with other function + of this unzip package. +*/ + +extern int ZEXPORT unzClose OF((unzFile file)); +/* + Close a ZipFile opened with unzipOpen. + If there is files inside the .Zip opened with unzOpenCurrentFile (see later), + these files MUST be closed with unzipCloseCurrentFile before call unzipClose. + return UNZ_OK if there is no problem. */ + +extern int ZEXPORT unzGetGlobalInfo OF((unzFile file, + unz_global_info *pglobal_info)); +/* + Write info about the ZipFile in the *pglobal_info structure. + No preparation of the structure is needed + return UNZ_OK if there is no problem. */ + + +extern int ZEXPORT unzGetGlobalComment OF((unzFile file, + char *szComment, + uLong uSizeBuf)); +/* + Get the global comment string of the ZipFile, in the szComment buffer. + uSizeBuf is the size of the szComment buffer. + return the number of byte copied or an error code <0 +*/ + + +/***************************************************************************/ +/* Unzip package allow you browse the directory of the zipfile */ + +extern int ZEXPORT unzGoToFirstFile OF((unzFile file)); +/* + Set the current file of the zipfile to the first file. + return UNZ_OK if there is no problem +*/ + +extern int ZEXPORT unzGoToNextFile OF((unzFile file)); +/* + Set the current file of the zipfile to the next file. + return UNZ_OK if there is no problem + return UNZ_END_OF_LIST_OF_FILE if the actual file was the latest. +*/ + +extern int ZEXPORT unzLocateFile OF((unzFile file, + const char *szFileName, + int iCaseSensitivity)); +/* + Try locate the file szFileName in the zipfile. + For the iCaseSensitivity signification, see unzStringFileNameCompare + + return value : + UNZ_OK if the file is found. It becomes the current file. + UNZ_END_OF_LIST_OF_FILE if the file is not found +*/ + + +extern int ZEXPORT unzGetCurrentFileInfo OF((unzFile file, + unz_file_info *pfile_info, + char *szFileName, + uLong fileNameBufferSize, + void *extraField, + uLong extraFieldBufferSize, + char *szComment, + uLong commentBufferSize)); +/* + Get Info about the current file + if pfile_info!=NULL, the *pfile_info structure will contain somes info about + the current file + if szFileName!=NULL, the filemane string will be copied in szFileName + (fileNameBufferSize is the size of the buffer) + if extraField!=NULL, the extra field information will be copied in extraField + (extraFieldBufferSize is the size of the buffer). + This is the Central-header version of the extra field + if szComment!=NULL, the comment string of the file will be copied in szComment + (commentBufferSize is the size of the buffer) +*/ + +/***************************************************************************/ +/* for reading the content of the current zipfile, you can open it, read data + from it, and close it (you can close it before reading all the file) + */ + +extern int ZEXPORT unzOpenCurrentFile OF((unzFile file)); +/* + Open for reading data the current file in the zipfile. + If there is no error, the return value is UNZ_OK. +*/ + +extern int ZEXPORT unzCloseCurrentFile OF((unzFile file)); +/* + Close the file in zip opened with unzOpenCurrentFile + Return UNZ_CRCERROR if all the file was read but the CRC is not good +*/ + + +extern int ZEXPORT unzReadCurrentFile OF((unzFile file, + voidp buf, + unsigned len)); +/* + Read bytes from the current file (opened by unzOpenCurrentFile) + buf contain buffer where data must be copied + len the size of buf. + + return the number of byte copied if somes bytes are copied + return 0 if the end of file was reached + return <0 with error code if there is an error + (UNZ_ERRNO for IO error, or zLib error for uncompress error) +*/ + +extern z_off_t ZEXPORT unztell OF((unzFile file)); +/* + Give the current position in uncompressed data +*/ + +extern int ZEXPORT unzeof OF((unzFile file)); +/* + return 1 if the end of file was reached, 0 elsewhere +*/ + +extern int ZEXPORT unzGetLocalExtrafield OF((unzFile file, + voidp buf, + unsigned len)); +/* + Read extra field from the current file (opened by unzOpenCurrentFile) + This is the local-header version of the extra field (sometimes, there is + more info in the local-header version than in the central-header) + + if buf==NULL, it return the size of the local extra field + + if buf!=NULL, len is the size of the buffer, the extra header is copied in + buf. + the return value is the number of bytes copied in buf, or (if <0) + the error code +*/ + +#ifdef __cplusplus +} +#endif + +#endif /* _unz_H */ diff --git a/tools/ucon64-2.0.0-src/src/misc/usb.c b/tools/ucon64-2.0.0-src/src/misc/usb.c new file mode 100644 index 0000000..33a8cf9 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/misc/usb.c @@ -0,0 +1,99 @@ +/* +usb.c - USB support + +Copyright (c) 2003 Ulrich Hecht +Copyright (c) 2004 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#ifdef USE_USB +#include +#include +#include "usb.h" +#include "misc.h" + + +usb_dev_handle * +usbport_open (struct usb_device *device) +{ + usb_dev_handle *handle = usb_open (device); + return handle; +} + + +int +usbport_close (usb_dev_handle *handle) +{ + usb_release_interface (handle, 0); + return usb_close (handle); +} + + +int +usbport_read (usb_dev_handle *handle, char *buffer, int buffer_size) +{ + int result; + + result = usb_bulk_read (handle, 0x83, buffer, buffer_size, 20000); + if (result == -1) + { + fprintf (stderr, "ERROR: Could not read requested number of bytes read from USB\n" + " %s\n", usb_strerror ()); + return -1; + } + return result; +} + + +int +usbport_write (usb_dev_handle *handle, char *buffer, int buffer_size) +{ + int result; + + result = usb_bulk_write (handle, 0x4, buffer, buffer_size, 20000); + if (result == -1) + { + fprintf (stderr, "ERROR: Could not write requested number of bytes read to USB\n" + " %s\n", usb_strerror ()); + return -1; + } + return result; +} + + +struct usb_device * +usbport_probe (int vendor_id, int product_id) +{ + struct usb_bus *bus; + struct usb_device *dev; + + usb_init (); + usb_find_busses (); + usb_find_devices (); + + for (bus = usb_busses; bus; bus = bus->next) // usb_busses is present in libusb + for (dev = bus->devices; dev; dev = dev->next) + if ((dev->descriptor.idVendor == vendor_id) && + (dev->descriptor.idProduct == product_id)) + return dev; + + return NULL; +} + +#endif // USE_USB diff --git a/tools/ucon64-2.0.0-src/src/misc/usb.h b/tools/ucon64-2.0.0-src/src/misc/usb.h new file mode 100644 index 0000000..1322701 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/misc/usb.h @@ -0,0 +1,37 @@ +/* +usb.h - USB support + +Copyright (c) 2003 Ulrich Hecht +Copyright (c) 2004 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef MISC_USB_H +#define MISC_USB_H +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#ifdef USE_USB +#include + +extern struct usb_device *usbport_probe (int vendor_id, int product_id); +extern usb_dev_handle *usbport_open (struct usb_device *device); +extern int usbport_close (usb_dev_handle *handle); +extern int usbport_read (usb_dev_handle *handle, char *buffer, int buffer_size); +extern int usbport_write (usb_dev_handle *handle, char *buffer, int buffer_size); + +#endif // USE_USB +#endif // MISC_USB_H diff --git a/tools/ucon64-2.0.0-src/src/patch/aps.c b/tools/ucon64-2.0.0-src/src/patch/aps.c new file mode 100644 index 0000000..f58bfe2 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/patch/aps.c @@ -0,0 +1,528 @@ +/* +aps.c - Advanced Patch System support for uCON64 + +Copyright (c) 1998 Silo/BlackBag +Copyright (c) 1999 - 2001 NoisyB +Copyright (c) 2002 - 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#ifdef HAVE_UNISTD_H +#include +#endif +#include "misc/bswap.h" +#include "misc/file.h" +#include "misc/misc.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ucon64_misc.h" +#include "aps.h" + + +#define N64APS_DESCRIPTION_LEN 50 +#define N64APS_BUFFERSIZE 255 +#define N64APS_MAGICLENGTH 5 + +const st_getopt2_t aps_usage[] = + { + { + "a", 0, 0, UCON64_A, + NULL, "apply APS PATCH to ROM (APS<=v1.2)", + &ucon64_wf[WF_OBJ_ALL_STOP] + }, + { + "mka", 1, 0, UCON64_MKA, + "ORG_ROM", "create APS patch; ROM should be the modified ROM", + &ucon64_wf[WF_OBJ_ALL_STOP] + }, + { + "na", 1, 0, UCON64_NA, + "DESC", "change APS single line DESCRIPTION", + NULL + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + +char n64aps_magic[] = "APS10"; +unsigned char n64aps_patchtype = 1, n64aps_encodingmethod = 0; +FILE *n64aps_apsfile, *n64aps_orgfile, *n64aps_modfile; +int n64aps_changefound; + + +static void +readstdheader (void) +{ + char magic[N64APS_MAGICLENGTH], description[N64APS_DESCRIPTION_LEN + 1]; + + fread (magic, 1, N64APS_MAGICLENGTH, n64aps_apsfile); + if (strncmp (magic, n64aps_magic, N64APS_MAGICLENGTH) != 0) + { + fprintf (stderr, "ERROR: Not a valid APS file\n"); + fclose (n64aps_modfile); + fclose (n64aps_apsfile); + exit (1); + } + n64aps_patchtype = fgetc (n64aps_apsfile); + if (n64aps_patchtype != 1) // N64 patch + { + fprintf (stderr, "ERROR: Could not process patch file\n"); + fclose (n64aps_modfile); + fclose (n64aps_apsfile); + exit (1); + } + n64aps_encodingmethod = fgetc (n64aps_apsfile); + if (n64aps_encodingmethod != 0) // simple encoding + { + fprintf (stderr, "ERROR: Unknown or new encoding method\n"); + fclose (n64aps_modfile); + fclose (n64aps_apsfile); + exit (1); + } + + memset (description, ' ', N64APS_DESCRIPTION_LEN); + fread (description, 1, N64APS_DESCRIPTION_LEN, n64aps_apsfile); + description[N64APS_DESCRIPTION_LEN] = 0; + printf ("Description: %s\n", description); +} + + +static void +readN64header (void) +{ + unsigned int n64aps_magictest; + unsigned char buffer[8], APSbuffer[8], cartid[2], temp, teritory, APSteritory; + + fseek (n64aps_modfile, 0, SEEK_SET); + fread (&n64aps_magictest, 4, 1, n64aps_modfile); +#ifdef WORDS_BIGENDIAN + n64aps_magictest = bswap_32 (n64aps_magictest); +#endif + buffer[0] = fgetc (n64aps_apsfile); // APS format + if (((n64aps_magictest == 0x12408037) && (buffer[0] == 1)) || + ((n64aps_magictest != 0x12408037 && (buffer[0] == 0)))) + // 0 for Doctor format, 1 for everything else + { + fprintf (stderr, "ERROR: Image is in the wrong format\n"); + fclose (n64aps_modfile); + fclose (n64aps_apsfile); + exit (1); + } + + fseek (n64aps_modfile, 60, SEEK_SET); // cart id + fread (cartid, 1, 2, n64aps_modfile); + fread (buffer, 1, 2, n64aps_apsfile); + if (n64aps_magictest == 0x12408037) + { + temp = cartid[0]; + cartid[0] = cartid[1]; + cartid[1] = temp; + } + if ((buffer[0] != cartid[0]) || (buffer[1] != cartid[1])) + { + fprintf (stderr, "ERROR: This patch does not belong to this image\n"); + fclose (n64aps_modfile); + fclose (n64aps_apsfile); + exit (1); + } + + if (n64aps_magictest == 0x12408037) + fseek (n64aps_modfile, 63, SEEK_SET); // teritory + else + fseek (n64aps_modfile, 62, SEEK_SET); + teritory = fgetc (n64aps_modfile); + APSteritory = fgetc (n64aps_apsfile); + if (teritory != APSteritory) + { + printf ("WARNING: Wrong country\n"); +#if 0 + if (!force) + { + fclose (n64aps_modfile); + fclose (n64aps_apsfile); + exit (1); + } +#endif + } + + fseek (n64aps_modfile, 16, SEEK_SET); // CRC header position + fread (buffer, 1, 8, n64aps_modfile); + fread (APSbuffer, 1, 8, n64aps_apsfile); + if (n64aps_magictest == 0x12408037) + ucon64_bswap16_n (buffer, 8); + if (memcmp (APSbuffer, buffer, 8)) + { + printf ("WARNING: Incorrect image\n"); +#if 0 + if (!force) + { + fclose (n64aps_modfile); + fclose (n64aps_apsfile); + exit (1); + } +#endif + } + + fseek (n64aps_apsfile, 5, SEEK_CUR); + fseek (n64aps_modfile, 0, SEEK_SET); +} + + +static void +readsizeheader (int modsize, const char *modname) +{ + int orgsize, i; + + fread (&orgsize, 4, 1, n64aps_apsfile); +#ifdef WORDS_BIGENDIAN + orgsize = bswap_32 (orgsize); +#endif + if (modsize != orgsize) // resize file + { + if (orgsize < modsize) + { + fclose (n64aps_modfile); + if (truncate (modname, orgsize) != 0) + fprintf (stderr, "ERROR: Truncate failed\n"); + if ((n64aps_modfile = fopen (modname, "rb")) == NULL) + { + fprintf (stderr, "ERROR: Could not open %s after truncation\n", modname); + exit (1); + } + } + else + { + fseek (n64aps_modfile, 0, SEEK_END); + for (i = 0; i < (orgsize - modsize); i++) + fputc (0, n64aps_modfile); + } + } +// fseek (n64aps_modfile, 0, SEEK_SET); +} + + +static void +readpatch (void) +{ + int APSreadlen, offset; + unsigned char buffer[N64APS_BUFFERSIZE], size; + + while ((APSreadlen = fread (&offset, 1, 4, n64aps_apsfile))) + { +#ifdef WORDS_BIGENDIAN + offset = bswap_32 (offset); +#endif + if ((size = fgetc (n64aps_apsfile))) + { + fread (buffer, 1, size, n64aps_apsfile); + if ((fseek (n64aps_modfile, offset, SEEK_SET)) != 0) + { + fprintf (stderr, "ERROR: Seek failed\n"); + exit (1); + } + fwrite (buffer, 1, size, n64aps_modfile); + } + else // apply an RLE block + { + unsigned char data, len; + int i; + + data = fgetc (n64aps_apsfile), + len = fgetc (n64aps_apsfile); + + if ((fseek (n64aps_modfile, offset, SEEK_SET)) != 0) + { + fprintf (stderr, "ERROR: Seek failed\n"); + exit (1); + } + for (i = 0; i < len; i++) + fputc (data, n64aps_modfile); + } + } +} + + +// based on source code (version 1.2 981217) by Silo / BlackBag +int +aps_apply (const char *mod, const char *apsname) +{ + char modname[FILENAME_MAX]; + int size = fsizeof (mod); + + strcpy (modname, mod); + ucon64_file_handler (modname, NULL, 0); + fcopy (mod, 0, size, modname, "wb"); // no copy if one file + + if ((n64aps_modfile = fopen (modname, "r+b")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], modname); + exit (1); + } + if ((n64aps_apsfile = fopen (apsname, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], apsname); + exit (1); + } + + readstdheader (); + readN64header (); + readsizeheader (size, modname); + + readpatch (); + + fclose (n64aps_modfile); + fclose (n64aps_apsfile); + + printf (ucon64_msg[WROTE], modname); + return 0; +} + + +static int +n64caps_checkfile (FILE *file, const char *filename) +{ + unsigned int n64aps_magictest; + + fread (&n64aps_magictest, 4, 1, file); +#ifdef WORDS_BIGENDIAN + n64aps_magictest = bswap_32 (n64aps_magictest); +#endif + fseek (file, 0, SEEK_SET); + + if (n64aps_magictest != 0x12408037 && n64aps_magictest != 0x40123780) + { + fprintf (stderr, "ERROR: %s is an invalid N64 image\n", filename); + return FALSE; + } + else + return TRUE; +} + + +static void +writestdheader (void) +{ + char description[N64APS_DESCRIPTION_LEN]; + + fwrite (n64aps_magic, 1, N64APS_MAGICLENGTH, n64aps_apsfile); + fputc (n64aps_patchtype, n64aps_apsfile); + fputc (n64aps_encodingmethod, n64aps_apsfile); + + memset (description, ' ', N64APS_DESCRIPTION_LEN); + fwrite (description, 1, N64APS_DESCRIPTION_LEN, n64aps_apsfile); +} + + +static void +writeN64header (void) +{ + unsigned int n64aps_magictest; + unsigned char buffer[8], teritory, cartid[2], temp; + + fread (&n64aps_magictest, 4, 1, n64aps_orgfile); +#ifdef WORDS_BIGENDIAN + n64aps_magictest = bswap_32 (n64aps_magictest); +#endif + + if (n64aps_magictest == 0x12408037) // 0 for Doctor format, 1 for everything else + fputc (0, n64aps_apsfile); + else + fputc (1, n64aps_apsfile); + + fseek (n64aps_orgfile, 60, SEEK_SET); + fread (cartid, 1, 2, n64aps_orgfile); + if (n64aps_magictest == 0x12408037) + { + temp = cartid[0]; + cartid[0] = cartid[1]; + cartid[1] = temp; + } + fwrite (cartid, 1, 2, n64aps_apsfile); + + if (n64aps_magictest == 0x12408037) + fseek (n64aps_orgfile, 63, SEEK_SET); + else + fseek (n64aps_orgfile, 62, SEEK_SET); + teritory = fgetc (n64aps_orgfile); + fputc (teritory, n64aps_apsfile); + + fseek (n64aps_orgfile, 0x10, SEEK_SET); // CRC header position + fread (buffer, 1, 8, n64aps_orgfile); + if (n64aps_magictest == 0x12408037) + ucon64_bswap16_n (buffer, 8); + + fwrite (buffer, 1, 8, n64aps_apsfile); + memset (buffer, 0, 5); + fwrite (buffer, 1, 5, n64aps_apsfile); // pad + + fseek (n64aps_orgfile, 0, SEEK_SET); +} + + +static void +writesizeheader (int orgsize, int newsize) +{ + if (orgsize != newsize) + n64aps_changefound = TRUE; + +#ifdef WORDS_BIGENDIAN + newsize = bswap_32 (newsize); +#endif + fwrite (&newsize, 4, 1, n64aps_apsfile); +} + + +static void +writepatch (void) +// currently RLE is not supported +{ + int orgreadlen, newreadlen, filepos, changedstart = 0, changedoffset = 0, + i, changedlen = 0, changefound = 0; + unsigned char orgbuffer[N64APS_BUFFERSIZE], newbuffer[N64APS_BUFFERSIZE]; + + fseek (n64aps_orgfile, 0, SEEK_SET); + fseek (n64aps_modfile, 0, SEEK_SET); + filepos = 0; + while ((newreadlen = fread (newbuffer, 1, N64APS_BUFFERSIZE, n64aps_modfile))) + { + orgreadlen = fread (orgbuffer, 1, N64APS_BUFFERSIZE, n64aps_orgfile); + for (i = orgreadlen; i < newreadlen; i++) + orgbuffer[i] = 0; + + for (i = 0; i < newreadlen; i++) + { + if (newbuffer[i] != orgbuffer[i]) + { + if (!changefound) + { + changedstart = filepos + i; + changedoffset = i; + changedlen = 0; + changefound = TRUE; + n64aps_changefound = TRUE; + } + changedlen++; + } + else if (changefound) + { +#ifdef WORDS_BIGENDIAN + changedstart = bswap_32 (changedstart); +#endif + fwrite (&changedstart, 4, 1, n64aps_apsfile); + fputc (changedlen, n64aps_apsfile); + fwrite (newbuffer + changedoffset, 1, changedlen, n64aps_apsfile); + changefound = FALSE; + } + } + + if (changefound) + { +#ifdef WORDS_BIGENDIAN + changedstart = bswap_32 (changedstart); +#endif + fwrite (&changedstart, 4, 1, n64aps_apsfile); + fputc (changedlen, n64aps_apsfile); + fwrite (newbuffer + changedoffset, 1, changedlen, n64aps_apsfile); + changefound = FALSE; + } + + filepos += newreadlen; + } +} + + +// based on source code (version 1.2 981217) by Silo / BlackBag +int +aps_create (const char *orgname, const char *modname) +{ + char apsname[FILENAME_MAX]; + + if ((n64aps_orgfile = fopen (orgname, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], orgname); + exit (1); + } + if ((n64aps_modfile = fopen (modname, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], modname); + exit (1); + } + strcpy (apsname, modname); + set_suffix (apsname, ".aps"); + ucon64_file_handler (apsname, NULL, 0); + if ((n64aps_apsfile = fopen (apsname, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], apsname); + exit (1); + } + + if (!n64caps_checkfile (n64aps_orgfile, orgname) || + !n64caps_checkfile (n64aps_modfile, modname)) + exit (1); // n64caps_checkfile() already + // displayed an error message + n64aps_changefound = FALSE; + + writestdheader (); + writeN64header (); + writesizeheader (fsizeof (orgname), fsizeof (modname)); + + printf ("Searching differences..."); + fflush (stdout); + writepatch (); + printf (" done\n"); + + fclose (n64aps_modfile); + fclose (n64aps_orgfile); + fclose (n64aps_apsfile); + + if (!n64aps_changefound) + { + printf ("%s and %s are identical\n" + "Removing: %s\n", orgname, modname, apsname); + remove (apsname); + return -1; + } + else + printf (ucon64_msg[WROTE], apsname); + + return 0; +} + + +int +aps_set_desc (const char *aps, const char *description) +{ + char desc[50], apsname[FILENAME_MAX]; + + strcpy (apsname, aps); + memset (desc, ' ', 50); + strncpy (desc, description, strlen (description)); + ucon64_file_handler (apsname, NULL, 0); + fcopy (aps, 0, fsizeof (aps), apsname, "wb"); // no copy if one file + ucon64_fwrite (desc, 7, 50, apsname, "r+b"); + + printf (ucon64_msg[WROTE], apsname); + return 0; +} diff --git a/tools/ucon64-2.0.0-src/src/patch/aps.h b/tools/ucon64-2.0.0-src/src/patch/aps.h new file mode 100644 index 0000000..ec030bf --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/patch/aps.h @@ -0,0 +1,29 @@ +/* +aps.h - Advanced Patch System support for uCON64 + +Copyright (c) 1999 - 2001 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef APS_H +#define APS_H + +extern const st_getopt2_t aps_usage[]; + +extern int aps_apply (const char *modname, const char *apsname); +extern int aps_create (const char *orgname, const char *modname); +extern int aps_set_desc (const char *apsname, const char *description); +#endif diff --git a/tools/ucon64-2.0.0-src/src/patch/bsl.c b/tools/ucon64-2.0.0-src/src/patch/bsl.c new file mode 100644 index 0000000..e58835e --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/patch/bsl.c @@ -0,0 +1,116 @@ +/* +bsl.c - Baseline patcher support for uCON64 + +Copyright (c) ???? - ???? The White Knight +Copyright (c) 1999 - 2001 NoisyB +Copyright (c) 2003 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include "misc/misc.h" +#include "misc/file.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ucon64_misc.h" +#include "bsl.h" + + +const st_getopt2_t bsl_usage[] = + { + { + "b", 0, 0, UCON64_B, + NULL, "apply Baseline/BSL PATCH to ROM", + &ucon64_wf[WF_OBJ_ALL_STOP] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + + +int +bsl_apply (const char *mod, const char *bslname) +{ + FILE *modfile, *bslfile; + unsigned char byte; + char buf[4096], modname[FILENAME_MAX]; + int data, nbytes, offset; + + strcpy (modname, mod); + ucon64_file_handler (modname, NULL, 0); + fcopy (mod, 0, fsizeof (mod), modname, "wb"); // no copy if one file + + if ((modfile = fopen (modname, "r+b")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], modname); + return -1; + } + if ((bslfile = fopen (bslname, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], bslname); + return -1; + } + + printf ("Applying BSL/Baseline patch...\n"); + + while (!feof (bslfile)) // we could use 1, but feof() makes it fail-safe + { + fscanf (bslfile, "%d\n", &offset); + fscanf (bslfile, "%d\n", &data); + if ((offset == -1) && (data == -1)) + break; + + fseek (modfile, offset, SEEK_SET); + fputc (data, modfile); + } + + fscanf (bslfile, "%d\n", &offset); + fscanf (bslfile, "%d\n", &nbytes); + fseek (modfile, offset, SEEK_SET); + if (nbytes > 0) + { + while (nbytes > 4096) + { + fread (buf, 4096, 1, bslfile); + fwrite (buf, 4096, 1, modfile); + nbytes -= 4096; + } + while (nbytes-- >= 0) // yes, one byte more than the + { // _value_ read from the BSL file + byte = fgetc (bslfile); + fputc (byte, modfile); + } + } + + printf ("Patching complete\n\n"); + printf (ucon64_msg[WROTE], modname); + printf ("\n" + "NOTE: Sometimes you have to add/strip a 512 bytes header when you patch a ROM\n" + " This means you must modify for example a SNES ROM with -swc or -stp or\n" + " the patch will not work\n"); + + fclose (bslfile); + fclose (modfile); + + return 0; +} diff --git a/tools/ucon64-2.0.0-src/src/patch/bsl.h b/tools/ucon64-2.0.0-src/src/patch/bsl.h new file mode 100644 index 0000000..108c683 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/patch/bsl.h @@ -0,0 +1,26 @@ +/* +bsl.h - Baseline patcher support for uCON64 + +Copyright (c) ???? - ???? The White Knight +Copyright (c) 1999 - 2001 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef BSL_H +#define BSL_H +extern const st_getopt2_t bsl_usage[]; +extern int bsl_apply (const char *modname, const char *bslname); +#endif diff --git a/tools/ucon64-2.0.0-src/src/patch/gg.c b/tools/ucon64-2.0.0-src/src/patch/gg.c new file mode 100644 index 0000000..da97994 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/patch/gg.c @@ -0,0 +1,1133 @@ +/******************************************************************** + * Copyright (c) 2001 by WyrmCorp . + * All rights reserved. Distributed under the BSD Software License. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * + * 3. Neither the name of the nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE + * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR + * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * + * + * uggconv - Universal Game Genie (tm) Code Convertor + * + * Game Genie (tm) is a trademark of Galoob and is used for + * purely informational purposes. No endorsement of this + * utility by Galoob is implied. + * + * This application is 100% ANSI C. Compile with + * gcc uggconv.c -o uggconv + * or the equivalent for your platform. + */ +/* +Portions copyright (c) 2001 - 2002 NoisyB +Portions copyright (c) 2002 dbjh +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#include "misc/file.h" +#include "misc/misc.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ucon64_misc.h" +#include "console/snes.h" +#include "console/genesis.h" +#include "console/nes.h" +#include "console/sms.h" +#include "console/gb.h" +#include "gg.h" + + +#define GAME_GENIE_MAX_STRLEN 12 + + +const st_getopt2_t gg_usage[] = + { + { + "gge", 1, 0, UCON64_GGE, + "CODE", "encode and display Game Genie code\n" + "example: " OPTION_LONG_S "gge" OPTARG_S "CODE " OPTION_LONG_S "sms or " + OPTION_LONG_S "gge" OPTARG_S "CODE " OPTION_LONG_S "gb\n" + "CODE" OPTARG_S "'AAAA:VV' or CODE" OPTARG_S "'AAAA:VV:CC'\n" + OPTION_LONG_S "gge" OPTARG_S "CODE " OPTION_LONG_S "gen\n" + "CODE" OPTARG_S "'AAAAAA:VVVV'\n" + OPTION_LONG_S "gge" OPTARG_S "CODE " OPTION_LONG_S "nes\n" + "CODE" OPTARG_S "'AAAA:VV' or CODE" OPTARG_S "'AAAA:VV:CC'\n" + OPTION_LONG_S "gge" OPTARG_S "CODE " OPTION_LONG_S "snes\n" + "CODE" OPTARG_S "'AAAAAA:VV'", + &ucon64_wf[WF_OBJ_ALL_INIT_PROBE_NO_ROM] + }, + { + "ggd", 1, 0, UCON64_GGD, + "GG_CODE", "decode Game Genie code\n" + "example: " OPTION_LONG_S "ggd" OPTARG_S "GG_CODE " OPTION_LONG_S "sms or " + OPTION_LONG_S "ggd" OPTARG_S "GG_CODE " OPTION_LONG_S "gb\n" + "GG_CODE" OPTARG_S "'XXX-XXX' or GG_CODE" OPTARG_S "'XXX-XXX-XXX'\n" + OPTION_LONG_S "ggd" OPTARG_S "GG_CODE " OPTION_LONG_S "gen\n" + "GG_CODE" OPTARG_S "'XXXX-XXXX'\n" + OPTION_LONG_S "ggd" OPTARG_S "GG_CODE " OPTION_LONG_S "nes\n" + "GG_CODE" OPTARG_S "'XXXXXX' or GG_CODE" OPTARG_S "'XXXXXXXX'\n" + OPTION_LONG_S "ggd" OPTARG_S "GG_CODE " OPTION_LONG_S "snes\n" + "GG_CODE" OPTARG_S "'XXXX-XXXX'", + &ucon64_wf[WF_OBJ_ALL_INIT_PROBE_NO_ROM] + }, + { + "gg", 1, 0, UCON64_GG, + "GG_CODE", "apply Game Genie code (permanently)\n" + "example: like above but a ROM is required\n" + "supported are:\n" + "Game Boy/(Super GB)/GB Pocket/Color GB/(GB Advance),\n" + "Sega Master System(II/III)/Game Gear (Handheld),\n" + "Genesis/Sega Mega Drive/Sega CD/32X/Nomad,\n" + "Nintendo Entertainment System/NES/Famicom/Game Axe (Redant),\n" + "Super Nintendo Entertainment System/SNES/Super Famicom", + &ucon64_wf[WF_OBJ_ALL_INIT_PROBE] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + + +static st_rominfo_t *gg_rominfo; +static int CPUaddress; + + +/********************************************************************* + * + * GAME BOY / GAME GEAR ROUTINES + * + *********************************************************************/ + +static int gameGenieDecodeGameBoy (const char *in, char *out); +static int gameGenieEncodeGameBoy (const char *in, char *out); + +/********************************************************************* + * + * MEGADRIVE ROUTINES + * + *********************************************************************/ + +static int isGenesisChar (char c); +static int genesisValue (char c); +static int gameGenieDecodeMegadrive (const char *in, char *out); +static int gameGenieEncodeMegadrive (const char *in, char *out); + +/********************************************************************* + * + * NES ROUTINES + * + ********************************************************************/ + +#define encodeNES(v, n, m, s) data[n] |= (v >> s) & m +#define decodeNES(v, n, m, s) v |= (data[n] & m) << s + +static char mapNesChar (char hex); +static char unmapNesChar (char genie); +static int isNesChar (char c); +static int gameGenieDecodeNES (const char *in, char *out); +static int gameGenieEncodeNES (const char *in, char *out); + +/********************************************************************* + * + * SNES ROUTINES + * + ********************************************************************/ + +#define encodeSNES(x, y) transposed |= (((address & (0xc00000 >> (2*y))) << (2*y)) >> (2*x)) +#define decodeSNES(x, y) address |= (((transposed & (0xc00000 >> (2*x))) << (2*x)) >> (2*y)) + +static char mapSnesChar (char hex); +static char unmapSnesChar (char genie); +static int gameGenieDecodeSNES (const char *in, char *out); +static int gameGenieEncodeSNES (const char *in, char *out); + + +/********************************************************************* + * + * UTILITY ROUTINES + * + ********************************************************************/ + +char +hexDigit (int value) +{ + switch (toupper (value)) + { + case 0: + return '0'; + case 1: + return '1'; + case 2: + return '2'; + case 3: + return '3'; + case 4: + return '4'; + case 5: + return '5'; + case 6: + return '6'; + case 7: + return '7'; + case 8: + return '8'; + case 9: + return '9'; + case 10: + return 'A'; + case 11: + return 'B'; + case 12: + return 'C'; + case 13: + return 'D'; + case 14: + return 'E'; + case 15: + return 'F'; + default: + break; + } + return '?'; + +} + + +int +hexValue (char digit) +{ + switch (toupper (digit)) + { + case '0': + return 0; + case '1': + return 1; + case '2': + return 2; + case '3': + return 3; + case '4': + return 4; + case '5': + return 5; + case '6': + return 6; + case '7': + return 7; + case '8': + return 8; + case '9': + return 9; + case 'A': + return 10; + case 'B': + return 11; + case 'C': + return 12; + case 'D': + return 13; + case 'E': + return 14; + case 'F': + return 15; + default: + break; + } + return 0; +} + + +int +hexByteValue (char x, char y) +{ + return (hexValue (x) << 4) + hexValue (y); +} + + +/********************************************************************* + * + * GAME BOY / GAME GEAR ROUTINES + * + *********************************************************************/ + +int +gameGenieDecodeGameBoy (const char *in, char *out) +{ + int address = 0; + int value = 0; + int check = 0; + int haveCheck = 0; + int i; + + if (strlen (in) == 11 && in[3] == '-' && in[7] == '-') + haveCheck = 1; + else if (strlen (in) == 7 && in[3] == '-') + haveCheck = 0; + else + return -1; + for (i = 0; i < (int) strlen (in); ++i) + if (in[i] != '-' && !isxdigit ((int) in[i])) + return -1; + if (hexValue (in[6]) < 8) + return -1; + + value = hexByteValue (in[0], in[1]); + + address = + (hexValue (in[2]) << 8) | (hexValue (in[4]) << 4) | hexValue (in[5]) | + ((~hexValue (in[6]) & 0xf) << 12); + + if (haveCheck) + { + check = hexByteValue (in[8], in[10]); + check = ~check; + check = (((check & 0xfc) >> 2) | ((check & 0x03) << 6)) ^ 0x45; + sprintf (out, "%04X:%02X:%02X", address, value, check); + } + else + sprintf (out, "%04X:%02X", address, value); + + return 0; +} + + +int +gameGenieEncodeGameBoy (const char *in, char *out) +{ + int check = 0; + int haveCheck = 0; + int i; + + if (strlen (in) == 10 && in[4] == ':' && in[7] == ':') + haveCheck = 1; + else if (strlen (in) == 7 && in[4] == ':') + haveCheck = 0; + else + return -1; + for (i = 0; i < (int) strlen (in); ++i) + if (in[i] != ':' && !isxdigit ((int) in[i])) + return -1; + if (hexValue (in[0]) > 7) + return -1; + + out[0] = toupper (in[5]); + out[1] = toupper (in[6]); + out[2] = toupper (in[1]); + out[3] = '-'; + out[4] = toupper (in[2]); + out[5] = toupper (in[3]); + out[6] = hexDigit (~hexValue (in[0]) & 0xf); + out[7] = 0; + + if (haveCheck) + { + check = hexByteValue (in[8], in[10]); + check = ~check; + check = (((check & 0xfc) >> 2) | ((check & 0x03) << 6)) ^ 0x45; + + check = hexByteValue (in[8], in[9]); + check ^= 0x45; + check = ~(((check & 0xc0) >> 6) | ((check & 0x3f) << 2)); + i = (check & 0xf0) >> 4; + out[7] = '-'; + out[8] = hexDigit (i & 0xf); + out[9] = hexDigit ((i ^ 8) & 0xf); + out[10] = hexDigit (check & 0xf); + out[11] = 0; + } + + return 0; +} + + +/********************************************************************* + * + * MEGADRIVE ROUTINES + * + *********************************************************************/ + +static const char genesisChars[] = "ABCDEFGHJKLMNPRSTVWXYZ0123456789"; + + +int +isGenesisChar (char c) +{ + return strchr (genesisChars, toupper (c)) != 0; +} + + +int +genesisValue (char c) +{ + return strchr (genesisChars, toupper (c)) - genesisChars; +} + + +int +gameGenieDecodeMegadrive (const char *in, char *out) +{ + int address = 0; + int value = 0; + int data[8]; + int i; + + if (strlen (in) != 9 || in[4] != '-') + return -1; + for (i = 0; i < 9; ++i) + if (in[i] != '-' && !isGenesisChar (in[i])) + return -1; + + for (i = 0; i < 4; ++i) + data[i] = genesisValue (in[i]); + for (i = 5; i < 9; ++i) + data[i - 1] = genesisValue (in[i]); + + address = 0; + address |= (data[3] & 0x0f) << 20; + address |= (data[4] & 0x1e) << 15; + address |= (data[1] & 0x03) << 14; + address |= (data[2] & 0x1f) << 9; + address |= (data[3] & 0x10) << 4; + address |= (data[6] & 0x07) << 5; + address |= (data[7] & 0x1f); + + value = 0; + value |= (data[5] & 0x01) << 15; + value |= (data[6] & 0x18) << 10; + value |= (data[4] & 0x01) << 12; + value |= (data[5] & 0x1e) << 7; + value |= (data[0] & 0x1f) << 3; + value |= (data[1] & 0x16) >> 2; + + sprintf (out, "%06X:%04X", address, value); + + return 0; +} + + +int +gameGenieEncodeMegadrive (const char *in, char *out) +{ + int address = 0; + int value = 0; + int data[8] = { 0, 0, 0, 0, 0, 0, 0, 0 }; + int i; + + if (strlen (in) != 11 || in[6] != ':') + return -1; + for (i = 0; i < 11; ++i) + if (in[i] != ':' && !isxdigit ((int) in[i])) + return -1; + + sscanf (in, "%x:%x", &address, &value); + + data[3] |= (address >> 20) & 0x0f; + data[4] |= (address >> 15) & 0x1e; + data[1] |= (address >> 14) & 0x03; + data[2] |= (address >> 9) & 0x1f; + data[3] |= (address >> 4) & 0x10; + data[6] |= (address >> 5) & 0x07; + data[7] |= (address & 0x1f); + + data[5] |= (value >> 15) & 0x01; + data[6] |= (value >> 10) & 0x18; + data[4] |= (value >> 12) & 0x01; + data[5] |= (value >> 7) & 0x1e; + data[0] |= (value >> 3) & 0x1f; + data[1] |= (value << 2) & 0x16; + + for (i = 0; i < 4; ++i) + out[i] = genesisChars[data[i]]; + out[4] = '-'; + for (i = 5; i < 9; ++i) + out[i] = genesisChars[data[i - 1]]; + out[9] = 0; + + return 0; +} + + +/********************************************************************* + * + * NES ROUTINES + * + ********************************************************************/ + +char +mapNesChar (char hex) +{ + switch (toupper (hex)) + { + case '0': + return 'A'; + case '1': + return 'P'; + case '2': + return 'Z'; + case '3': + return 'L'; + case '4': + return 'G'; + case '5': + return 'I'; + case '6': + return 'T'; + case '7': + return 'Y'; + case '8': + return 'E'; + case '9': + return 'O'; + case 'A': + return 'X'; + case 'B': + return 'U'; + case 'C': + return 'K'; + case 'D': + return 'S'; + case 'E': + return 'V'; + case 'F': + return 'N'; + default: + break; + } + return '?'; +} + + +char +unmapNesChar (char genie) +{ + switch (toupper (genie)) + { + case 'A': + return '0'; + case 'P': + return '1'; + case 'Z': + return '2'; + case 'L': + return '3'; + case 'G': + return '4'; + case 'I': + return '5'; + case 'T': + return '6'; + case 'Y': + return '7'; + case 'E': + return '8'; + case 'O': + return '9'; + case 'X': + return 'A'; + case 'U': + return 'B'; + case 'K': + return 'C'; + case 'S': + return 'D'; + case 'V': + return 'E'; + case 'N': + return 'F'; + default: + break; + } + return '0'; +} + + +int +isNesChar (char c) +{ + return strchr ("APZLGITYEOXUKSVN-", toupper (c)) != 0; +} + + +int +gameGenieDecodeNES (const char *in, char *out) +{ + int address = 0; + int value = 0; + int check = 0; + int haveCheck = 0; + int data[8] = { 0, 0, 0, 0, 0, 0, 0, 0 }; + int i; + + if (strlen (in) == 8) + haveCheck = 1; + else if (strlen (in) == 6) + haveCheck = 0; + else + return -1; + for (i = 0; i < (int) strlen (in); ++i) + if (!isNesChar (in[i])) + return -1; + + for (i = 0; i < 6; ++i) + data[i] = hexValue (unmapNesChar (in[i])); + if (haveCheck) + { + data[6] = hexValue (unmapNesChar (in[6])); + data[7] = hexValue (unmapNesChar (in[7])); + } + + address = 0x8000; /* force high bit on */ + decodeNES (address, 1, 8, 4); + decodeNES (address, 2, 7, 4); + decodeNES (address, 3, 7, 12); + decodeNES (address, 3, 8, 0); + decodeNES (address, 4, 7, 0); + decodeNES (address, 4, 8, 8); + decodeNES (address, 5, 7, 8); + if (haveCheck) + { + decodeNES (value, 0, 7, 0); + decodeNES (value, 0, 8, 4); + decodeNES (value, 1, 7, 4); + decodeNES (value, 7, 8, 0); + decodeNES (check, 6, 7, 0); + decodeNES (check, 6, 8, 0); + decodeNES (check, 6, 8, 4); + decodeNES (check, 7, 7, 4); + } + else + { + decodeNES (value, 0, 7, 0); + decodeNES (value, 0, 8, 4); + decodeNES (value, 1, 7, 4); + decodeNES (value, 5, 8, 0); + } + + if (haveCheck) + sprintf (out, "%04X:%02X:%02X", address, value, check); + else + sprintf (out, "%04X:%02X", address, value); + + return 0; +} + + +int +gameGenieEncodeNES (const char *in, char *out) +{ + int address = 0x8000; + int value = 0; + int check = 0; + int haveCheck = 0; + int data[8] = { 0, 0, 0, 0, 0, 0, 0, 0 }; + int i; + + if (strlen (in) == 10 && in[4] == ':' && in[7] == ':') + haveCheck = 1; + else if (strlen (in) == 7 && in[4] == ':') + haveCheck = 0; + else + return -1; + for (i = 0; i < (int) strlen (in); ++i) + if (in[i] != ':' && !isxdigit ((int) in[i])) + return -1; + + if (haveCheck) + sscanf (in, "%x:%x:%x", &address, &value, &check); + else + sscanf (in, "%x:%x", &address, &value); + + /* Encode address with transposition cipher. + * Do not encode the high address bit (optional, Galoob isn't + * consistent but usually doesn't. + */ + encodeNES (address, 1, 8, 4); + encodeNES (address, 2, 7, 4); + encodeNES (address, 3, 7, 12); + encodeNES (address, 3, 8, 0); + encodeNES (address, 4, 7, 0); + encodeNES (address, 4, 8, 8); + encodeNES (address, 5, 7, 8); + if (haveCheck) + { + encodeNES (value, 0, 7, 0); + encodeNES (value, 0, 8, 4); + encodeNES (value, 1, 7, 4); + encodeNES (value, 7, 8, 0); + encodeNES (check, 6, 7, 0); + encodeNES (check, 6, 8, 0); + encodeNES (check, 6, 8, 4); + encodeNES (check, 7, 7, 4); + } + else + { + encodeNES (value, 0, 7, 0); + encodeNES (value, 0, 8, 4); + encodeNES (value, 1, 7, 4); + encodeNES (value, 5, 8, 0); + } + + if (haveCheck) + { + sprintf (out, "%c%c%c%c%c%c%c%c", + mapNesChar (hexDigit (data[0])), + mapNesChar (hexDigit (data[1])), + mapNesChar (hexDigit (data[2])), + mapNesChar (hexDigit (data[3])), + mapNesChar (hexDigit (data[4])), + mapNesChar (hexDigit (data[5])), + mapNesChar (hexDigit (data[6])), + mapNesChar (hexDigit (data[7]))); + } + else + { + sprintf (out, "%c%c%c%c%c%c", + mapNesChar (hexDigit (data[0])), + mapNesChar (hexDigit (data[1])), + mapNesChar (hexDigit (data[2])), + mapNesChar (hexDigit (data[3])), + mapNesChar (hexDigit (data[4])), + mapNesChar (hexDigit (data[5]))); + } + + return 0; +} + + +/********************************************************************* + * + * SNES ROUTINES + * + ********************************************************************/ + +char +mapSnesChar (char hex) +{ + switch (toupper (hex)) + { + case '0': + return 'D'; + case '1': + return 'F'; + case '2': + return '4'; + case '3': + return '7'; + case '4': + return '0'; + case '5': + return '9'; + case '6': + return '1'; + case '7': + return '5'; + case '8': + return '6'; + case '9': + return 'B'; + case 'A': + return 'C'; + case 'B': + return '8'; + case 'C': + return 'A'; + case 'D': + return '2'; + case 'E': + return '3'; + case 'F': + return 'E'; + default: + break; + } + return ' '; +} + + +char +unmapSnesChar (char genie) +{ + switch (toupper (genie)) + { + case 'D': + return '0'; + case 'F': + return '1'; + case '4': + return '2'; + case '7': + return '3'; + case '0': + return '4'; + case '9': + return '5'; + case '1': + return '6'; + case '5': + return '7'; + case '6': + return '8'; + case 'B': + return '9'; + case 'C': + return 'A'; + case '8': + return 'B'; + case 'A': + return 'C'; + case '2': + return 'D'; + case '3': + return 'E'; + case 'E': + return 'F'; + default: + break; + } + return ' '; +} + + +int +gameGenieDecodeSNES (const char *in, char *out) +{ + int value, hirom, address, transposed; + + if (!isxdigit ((int) in[0]) || !isxdigit ((int) in[1]) || + !isxdigit ((int) in[2]) || !isxdigit ((int) in[3]) || + in[4] != '-' || + !isxdigit ((int) in[5]) || !isxdigit ((int) in[6]) || + !isxdigit ((int) in[7]) || !isxdigit ((int) in[8]) || in[9] != 0) + return -1; + + value = hexByteValue (unmapSnesChar (in[0]), unmapSnesChar (in[1])); + + transposed = hexValue (unmapSnesChar (in[8])) + + (hexValue (unmapSnesChar (in[7])) << 4) + + (hexValue (unmapSnesChar (in[6])) << 8) + + (hexValue (unmapSnesChar (in[5])) << 12) + + (hexValue (unmapSnesChar (in[3])) << 16) + + (hexValue (unmapSnesChar (in[2])) << 20); + + address = 0; + decodeSNES (0, 4); + decodeSNES (1, 5); + decodeSNES (2, 8); + decodeSNES (3, 9); + decodeSNES (4, 7); + decodeSNES (5, 0); + decodeSNES (6, 1); + decodeSNES (7, 10); + decodeSNES (8, 11); + decodeSNES (9, 2); + decodeSNES (10, 3); + decodeSNES (11, 6); + + // if a ROM was specified snes.c will handle ucon64.snes_hirom + if (UCON64_ISSET (ucon64.snes_hirom)) // -hi or -nhi option was specified + hirom = ucon64.snes_hirom; + // if only a ROM was specified (not -hi or -nhi) the next if will fail for a + // handful of ROMs, namely Sufami Turbo ROMs and Extended ROMs + else if (gg_rominfo != 0) + hirom = gg_rominfo->header_start > SNES_HEADER_START ? 1 : 0; + else + hirom = 1; // I am less sure about the LoROM + // CPU -> ROM address conversion + CPUaddress = address; + if (hirom) + { + if (address >= 0xc00000 && address <= 0xffffff) + address -= 0xc00000; + else if (address >= 0x800000 && address <= 0xbfffff) + address -= 0x800000; + else if (address >= 0x400000 && address <= 0x7fffff) + address -= 0x400000; + } + else + { + if (address >= 0x808000) + address -= 0x808000; + else if (address >= 0x008000) + address -= 0x008000; + address = (address & 0x7fff) | ((address & 0xff0000) >> 1); + } + + sprintf (out, "%06X:%02X", address, value); + + return 0; +} + + +int +gameGenieEncodeSNES (const char *in, char *out) +{ + int value, address, transposed; + + if (!isxdigit ((int) in[0]) || !isxdigit ((int) in[1]) || + !isxdigit ((int) in[2]) || !isxdigit ((int) in[3]) || + !isxdigit ((int) in[4]) || !isxdigit ((int) in[5]) || + in[6] != ':' || !isxdigit ((int) in[7]) || !isxdigit ((int) in[8]) || in[9] != 0) + return -1; + + value = hexByteValue (mapSnesChar (in[7]), mapSnesChar (in[8])); + sscanf (in, "%x", &address); + + transposed = 0; + encodeSNES (0, 4); + encodeSNES (1, 5); + encodeSNES (2, 8); + encodeSNES (3, 9); + encodeSNES (4, 7); + encodeSNES (5, 0); + encodeSNES (6, 1); + encodeSNES (7, 10); + encodeSNES (8, 11); + encodeSNES (9, 2); + encodeSNES (10, 3); + encodeSNES (11, 6); + + sprintf (out, "%02X%c%c-%c%c%c%c", value, + mapSnesChar (hexDigit ((transposed & 0xf00000) >> 20)), + mapSnesChar (hexDigit ((transposed & 0x0f0000) >> 16)), + mapSnesChar (hexDigit ((transposed & 0x00f000) >> 12)), + mapSnesChar (hexDigit ((transposed & 0x000f00) >> 8)), + mapSnesChar (hexDigit ((transposed & 0x0000f0) >> 4)), + mapSnesChar (hexDigit ((transposed & 0x00000f)))); + + return 0; +} + + +#if 0 +static void +usage (void) +{ + puts ("uggconv v1.0 - Universal Game Genie (tm) Convertor"); + puts ("Copyright (c) 2001 by WyrmCorp "); + puts ("\nUsage:"); + puts ("Game Boy/Gear: uggconv -g [XXX-XXX] [XXX-XXX-XXX] [AAAA:VV] [AAAA:VV:CC] ..."); + puts ("Megadrive: uggconv -m [XXXX-XXXX] [AAAAAA:VVVV] ..."); + puts ("NES: uggconv -n [XXXXXX] [XXXXXXXX] [AAAA:VV] [AAAA:VV:CC] ..."); + puts ("SNES: uggconv -s [XXXX-XXXX] [AAAAAA:VV] ..."); + exit (1); +} +#endif + + +int +gg_main (int argc, const char **argv) +{ + char buffer[GAME_GENIE_MAX_STRLEN]; + int i; + int result = 0; + +#if 0 + if (argc < 3 || strlen (argv[1]) != 2 || argv[1][0] != '-') + usage (); + if (strchr ("gmns", argv[1][1]) == 0) + usage (); +#endif + + for (i = 2; i < argc; ++i) + { + if (strchr (argv[i], ':') == 0) + { + switch (argv[1][1]) + { + case 'g': + result = gameGenieDecodeGameBoy (argv[i], buffer); + break; + case 'm': + result = gameGenieDecodeMegadrive (argv[i], buffer); + break; + case 'n': + result = gameGenieDecodeNES (argv[i], buffer); + break; + case 's': + result = gameGenieDecodeSNES (argv[i], buffer); + break; + } + } + else + { + switch (argv[1][1]) + { + case 'g': + result = gameGenieEncodeGameBoy (argv[i], buffer); + break; + case 'm': + result = gameGenieEncodeMegadrive (argv[i], buffer); + break; + case 'n': + result = gameGenieEncodeNES (argv[i], buffer); + break; + case 's': + result = gameGenieEncodeSNES (argv[i], buffer); + break; + } + } + if (result != 0) + printf ("%-12s is badly formed\n", argv[i]); + else + { + if (CPUaddress != -1) // SNES decode specific + printf ("%-12s = %s (CPU address: %06X)\n", argv[i], buffer, CPUaddress); + else + printf ("%-12s = %s\n", argv[i], buffer); + } + } + return 0; +} + + +int gg_argc; +const char *gg_argv[128]; + + +int +gg_display (st_rominfo_t *rominfo, const char *code) +{ + gg_argv[0] = "uggconv"; + + switch (ucon64.console) + { + case UCON64_SNES: + gg_argv[1] = "-s"; + break; + + case UCON64_GEN: + gg_argv[1] = "-m"; + break; + + case UCON64_NES: + gg_argv[1] = "-n"; + break; + + case UCON64_GB: + case UCON64_SMS: + gg_argv[1] = "-g"; + break; + + default: + fprintf (stderr, + "ERROR: You must specify a ROM or force the console type\n" + " The force recognition option for SNES would be " OPTION_LONG_S "snes\n"); + return -1; + } + gg_argv[2] = code; + gg_argc = 3; + + if (ucon64.file_size > 0) // check if rominfo contains valid ROM info + gg_rominfo = rominfo; + else + gg_rominfo = 0; + CPUaddress = -1; + gg_main (gg_argc, gg_argv); + + return 0; +} + + +int +gg_apply (st_rominfo_t *rominfo, const char *code) +{ + int size = ucon64.file_size - rominfo->buheader_len, address, value, + result = -1; + char buf[MAXBUFSIZE], dest_name[FILENAME_MAX]; + + if (ucon64.file_size > 0) // check if rominfo contains valid ROM info + gg_rominfo = rominfo; + else + { + fprintf (stderr, "ERROR: You must specify a ROM to apply the code to\n"); + return -1; + } + + CPUaddress = -1; + switch (ucon64.console) + { + // interleaved images (GD3 (SNES) & SMD (Genesis)) should be allowed to + // be patched + case UCON64_GB: + case UCON64_SMS: + result = gameGenieDecodeGameBoy (code, buf); + break; + case UCON64_GEN: + result = gameGenieDecodeMegadrive (code, buf); + break; + case UCON64_NES: + result = gameGenieDecodeNES (code, buf); + break; + case UCON64_SNES: + result = gameGenieDecodeSNES (code, buf); + break; + default: + break; + } + + if (result != 0) + { + fprintf (stderr, "ERROR: Game Genie code %s is badly formed\n", code); + return -1; + } + + if (CPUaddress != -1) // SNES decode specific + printf ("%-12s = %s (CPU address: %06X)\n", code, buf, CPUaddress); + else + printf ("%-12s = %s\n", code, buf); + sscanf (buf, "%x:%x:*", &address, &value); + + if (address >= size) + { + fprintf (stderr, "ERROR: Address is too high for this ROM (%d)\n", address); + return -1; + } + + strcpy (dest_name, ucon64.rom); + ucon64_file_handler (dest_name, NULL, 0); + fcopy (ucon64.rom, 0, ucon64.file_size, dest_name, "wb"); // no copy if one file + + fputc ('\n', stdout); + buf[0] = ucon64_fgetc (dest_name, address + rominfo->buheader_len); + dumper (stdout, buf, 1, address + rominfo->buheader_len, DUMPER_HEX); + + ucon64_fputc (dest_name, address + rominfo->buheader_len, value, "r+b"); + + buf[0] = value; + dumper (stdout, buf, 1, address + rominfo->buheader_len, DUMPER_HEX); + fputc ('\n', stdout); + + printf (ucon64_msg[WROTE], dest_name); + return 0; +} diff --git a/tools/ucon64-2.0.0-src/src/patch/gg.h b/tools/ucon64-2.0.0-src/src/patch/gg.h new file mode 100644 index 0000000..0cf8716 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/patch/gg.h @@ -0,0 +1,27 @@ +/* +gg.h - GameGenie support for uCON64 + +Copyright (c) 2001 WyrmCorp . +Copyright (c) 2002 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef GG_H +#define GG_H +extern const st_getopt2_t gg_usage[]; +extern int gg_apply (st_rominfo_t *rominfo, const char *code); +extern int gg_display (st_rominfo_t *rominfo, const char *code); +#endif diff --git a/tools/ucon64-2.0.0-src/src/patch/ips.c b/tools/ucon64-2.0.0-src/src/patch/ips.c new file mode 100644 index 0000000..0ed936c --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/patch/ips.c @@ -0,0 +1,524 @@ +/* +ips.c - IPS support for uCON64 + +Copyright (c) ???? - ???? madman +Copyright (c) 1999 - 2001 NoisyB +Copyright (c) 2002 - 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#ifdef HAVE_UNISTD_H +#include +#endif +#include +#include "misc/misc.h" +#include "misc/file.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ucon64_misc.h" +#include "ips.h" + + +#define NO_RLE 256 +// for some strange reason 6 seems to be a general optimum value for RLE_START_THRESHOLD +#define RLE_START_THRESHOLD 6 // must be smaller than RLE_RESTART_THRESHOLD! +#define RLE_RESTART_THRESHOLD 13 +#define BRIDGE_LEN 5 +#define BUFSIZE 65535 +//#define DEBUG_IPS + +const st_getopt2_t ips_usage[] = + { + { + "i", 0, 0, UCON64_I, + NULL, "apply IPS PATCH to ROM (IPS<=v1.2)", + &ucon64_wf[WF_OBJ_ALL_STOP] + }, + { + "mki", 1, 0, UCON64_MKI, + "ORG_ROM", "create IPS patch; ROM should be the modified ROM", + &ucon64_wf[WF_OBJ_ALL_STOP] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + +static FILE *orgfile, *modfile, *ipsfile, *destfile; +static int ndiffs = 0, totaldiffs = 0, address = -1, rle_value = NO_RLE, filepos = 0; +static const char *destfname = NULL; + + +static unsigned char +read_byte (FILE *file) +{ + int byte; // this must be an int! + + byte = fgetc (file); + if (byte == EOF) + { + fprintf (stderr, "ERROR: Unexpected end of file\n"); + exit (1); + } + return byte; +} + + +static void +remove_destfile (void) +{ + if (destfname) + { + printf ("Removing: %s\n", destfname); + fclose (destfile); // necessary under DOS/Win9x for DJGPP port + remove (destfname); + destfname = NULL; + } +} + + +// based on IPS v1.0 for UNIX by madman +int +ips_apply (const char *mod, const char *ipsname) +{ + unsigned char byte, byte2, byte3; + char modname[FILENAME_MAX], magic[6]; + unsigned int offset, length, i; + + strcpy (modname, mod); + ucon64_file_handler (modname, NULL, 0); + fcopy (mod, 0, fsizeof (mod), modname, "wb"); // no copy if one file + + if ((modfile = fopen (modname, "r+b")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], modname); + exit (1); + } + if ((ipsfile = fopen (ipsname, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], ipsname); + exit (1); + } + + destfname = modname; + destfile = modfile; + register_func (remove_destfile); + + fgets (magic, 6, ipsfile); + if (strcmp (magic, "PATCH") != 0) + { // do at least one check for validity + fprintf (stderr, "ERROR: %s is not a valid IPS file\n", ipsname); + exit (1); + } + + printf ("Applying IPS patch...\n"); + while (!feof (ipsfile)) + { + byte = read_byte (ipsfile); + byte2 = read_byte (ipsfile); + byte3 = read_byte (ipsfile); + offset = (byte << 16) + (byte2 << 8) + byte3; + if (offset == 0x454f46) // numerical representation of ASCII "EOF" + break; + fseek (modfile, offset, SEEK_SET); + + byte = read_byte (ipsfile); + byte2 = read_byte (ipsfile); + length = (byte << 8) + byte2; + if (length == 0) + { // code for RLE compressed block + byte = read_byte (ipsfile); + byte2 = read_byte (ipsfile); + length = (byte << 8) + byte2; + byte = read_byte (ipsfile); +#ifdef DEBUG_IPS + printf ("[%02x] <= %02x (* %d)\n", offset, byte, length); +#endif + for (i = 0; i < length; i++) + fputc (byte, modfile); + } + else + { // non compressed + for (i = 0; i < length; i++) + { + byte = read_byte (ipsfile); +#ifdef DEBUG_IPS + printf ("[%02x] <= %02x\n", offset + i, byte); +#endif + fputc (byte, modfile); + } + } + } + fclose (modfile); // commit changes before calling truncate2() + + byte = fgetc (ipsfile); // don't use read_byte() here; + if (!feof (ipsfile)) // this part is optional + { // IPS2 stuff + byte2 = read_byte (ipsfile); + byte3 = read_byte (ipsfile); + length = (byte << 16) + (byte2 << 8) + byte3; + truncate2 (modname, length); + printf ("File truncated to %.4f MBit\n", length / (float) MBIT); + } + + printf ("Patching complete\n\n"); + printf (ucon64_msg[WROTE], modname); + printf ("\n" + "NOTE: Sometimes you have to add/strip a 512 bytes header when you patch a ROM\n" + " This means you must modify for example a SNES ROM with -swc or -stp or\n" + " the patch will not work\n"); + + unregister_func (remove_destfile); // unregister _after_ possible padding + fclose (ipsfile); + + return 0; +} + + +static void +write_address (int new_address) +{ + address = new_address; + if (address < 16777216) + /* + 16777216 = 2^24. The original code checked for 16711680 (2^24 - 64K), but + that is an artificial limit. + */ + { + fputc (address >> 16, ipsfile); + fputc (address >> 8, ipsfile); + fputc (address, ipsfile); + } + else + { + fprintf (stderr, "ERROR: IPS doesn't support addresses greater than 16777215\n" + " Consider using another patch format\n"); + exit (1); // will call remove_destfile() (indirectly) + } +} + + +static void +write_block (int ndiffs, unsigned char *buffer, int rle_value) +{ + if (rle_value == NO_RLE) + { + fputc (ndiffs >> 8, ipsfile); + fputc (ndiffs, ipsfile); + fwrite (buffer, 1, ndiffs, ipsfile); + } + else + { + fputc (0, ipsfile); + fputc (0, ipsfile); + fputc (ndiffs >> 8, ipsfile); + fputc (ndiffs, ipsfile); + fputc (rle_value, ipsfile); +#ifdef DEBUG_IPS + printf ("RLE "); +#endif + } +#ifdef DEBUG_IPS + printf ("length: %d\n", ndiffs); +#endif +} + + +static void +flush_diffs (unsigned char *buffer) +{ + if (ndiffs) + { + totaldiffs += ndiffs; + write_block (ndiffs, buffer, rle_value); + ndiffs = 0; + rle_value = NO_RLE; + address = -1; + } +} + + +static int +rle_end (int value, unsigned char *buffer) +{ + if (rle_value != NO_RLE && rle_value != value) + { + flush_diffs (buffer); + filepos--; + fseek (orgfile, filepos, SEEK_SET); + fseek (modfile, filepos, SEEK_SET); +#ifdef DEBUG_IPS + printf ("->normal\n"); +#endif + return 1; + } + return 0; +} + + +static int +check_for_rle (unsigned char byte, unsigned char *buf) +{ + int use_rle, i, retval = 0; + + if (rle_value == NO_RLE) + { + /* + Start with a new block (and stop with the current one) only if there + are at least RLE_RESTART_THRESHOLD + 1 equal bytes in a row. Restarting + for RLE has some overhead: possibly 5 bytes for the interrupted current + block plus 7 bytes for the RLE block. So, values smaller than 11 for + RLE_RESTART_THRESHOLD only make the IPS file larger than if no RLE + compression would be used. + */ + if (ndiffs > RLE_RESTART_THRESHOLD) + { + use_rle = 1; + for (i = ndiffs - RLE_RESTART_THRESHOLD; i < ndiffs; i++) + if (buf[i] != byte) + { + use_rle = 0; + break; + } + if (use_rle) + // we are not using RLE, but we should => start a new block + { + ndiffs -= RLE_RESTART_THRESHOLD; + filepos -= RLE_RESTART_THRESHOLD; + fseek (orgfile, filepos, SEEK_SET); + fseek (modfile, filepos, SEEK_SET); + + flush_diffs (buf); + write_address (filepos); + retval = 1; +#ifdef DEBUG_IPS + printf ("restart (%x)\n", address); +#endif + } + } + /* + Use RLE only if the last RLE_START_THRESHOLD + 1 (or more) bytes were + the same. Values smaller than 7 for RLE_START_THRESHOLD will make the + IPS file larger than if no RLE would be used (for this block). + normal block: + i address high byte + i + 1 address medium byte + i + 2 address low byte + i + 3 length high byte + i + 4 length low byte + i + 5 new byte + ... + RLE block: + i address high byte + i + 1 address medium byte + i + 2 address low byte + i + 3 0 + i + 4 0 + i + 5 length high byte + i + 6 length low byte + i + 7 new byte + The value 7 for RLE_START_THRESHOLD (instead of 2) is to compensate for + normal blocks that immediately follow the RLE block. + */ + else if (ndiffs > RLE_START_THRESHOLD) + { + use_rle = 1; + for (i = 0; i < ndiffs; i++) + if (buf[i] != byte) + { + use_rle = 0; + break; + } + if (use_rle) + { + rle_value = byte; +#ifdef DEBUG_IPS + printf ("->RLE\n"); +#endif + } + } + } + return retval; +} + + +int +ips_create (const char *orgname, const char *modname) +{ + int i, orgfilesize, modfilesize; + char ipsname[FILENAME_MAX]; + unsigned char byte, byte2, buf[BUFSIZE]; + + if ((orgfile = fopen (orgname, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], orgname); + exit (1); + } + if ((modfile = fopen (modname, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], modname); + exit (1); + } + strcpy (ipsname, modname); + set_suffix (ipsname, ".ips"); + ucon64_file_handler (ipsname, NULL, 0); + if ((ipsfile = fopen (ipsname, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], ipsname); + exit (1); + } + + destfname = ipsname; + destfile = ipsfile; + register_func (remove_destfile); + + orgfilesize = fsizeof (orgname); + modfilesize = fsizeof (modname); + + fprintf (ipsfile, "PATCH"); + +next_byte: + while (1) + { + byte = fgetc (orgfile); + byte2 = fgetc (modfile); + filepos++; + if (feof (modfile)) + break; + + if (modfilesize > 0x454f46 && filepos == 0x454f46) + /* + We must avoid writing 0x454f46 (4542278) as offset, because it has a + special meaning. Offset 0x454f46 is interpreted as EOF marker. It is + a numerical representation of the ASCII string "EOF". + We solve the problem by writing 2 patch bytes for offsets 0x454f45 + and 0x454f46 if at least one of those bytes differs for orgfile and + modfile. + */ + { + int byte3 = fgetc (orgfile); + unsigned char byte4 = read_byte (modfile); + filepos++; + + if (byte3 == EOF || byte != byte2 || byte3 != byte4) + { + if (address < 0 || address + ndiffs != 0x454f46 - 1 || + ndiffs > BUFSIZE - 2) + { + flush_diffs (buf); // commit any pending data + write_address (0x454f46 - 1); + } + // write 2 patch bytes (for offsets 0x454f45 and 0x454f46) + buf[ndiffs++] = byte2; + buf[ndiffs++] = byte4; + +#ifdef DEBUG_IPS + printf ("[%02x] => %02x\n" + "[%02x] => %02x\n", + filepos - 2, buf[ndiffs - 2], filepos - 1, buf[ndiffs - 1]); +#endif + } + continue; + } + + if (byte != byte2 || feof (orgfile)) + { + if (rle_end (byte2, buf)) + continue; + + if (address < 0) + { + flush_diffs (buf); // commit previous block + write_address (filepos - 1); + } + + buf[ndiffs++] = byte2; +#ifdef DEBUG_IPS + printf ("[%02x] => %02x%s\n", filepos - 1, byte2, + rle_value != NO_RLE ? " *" : ""); +#endif + check_for_rle (byte2, buf); + } + else if (address >= 0) // byte == byte2 && !feof (orgfile) + { + int n, n2, n_compare; + unsigned char bridge[BRIDGE_LEN + 1]; + + bridge[0] = byte; + buf[ndiffs] = byte2; + n = fread (bridge + 1, 1, BRIDGE_LEN, orgfile); + n2 = fread (&buf[ndiffs + 1], 1, MIN (BRIDGE_LEN, BUFSIZE - ndiffs), modfile); + n_compare = 1 + MIN (n, n2); + + for (i = 0; i < n_compare; i++) + if (buf[ndiffs + i] != bridge[i]) + { + for (n = 0; n < i; n++) + { + if (rle_end (buf[ndiffs], buf)) + goto next_byte; // yep, ugly +#ifdef DEBUG_IPS + printf ("[%02x] => %02x b%s\n", filepos - 1, + buf[ndiffs], rle_value != NO_RLE ? " *" : ""); +#endif + ndiffs++; + if (check_for_rle (buf[ndiffs - 1], buf)) + goto next_byte; // even uglier + filepos++; + } + filepos--; +// byte = bridge[n]; +// byte2 = buf[ndiffs]; + break; + } + + fseek (orgfile, filepos, SEEK_SET); + fseek (modfile, filepos, SEEK_SET); + + if (i == n_compare) // next few bytes are equal (between the files) + address = -1; + } + if (ndiffs == BUFSIZE) + flush_diffs (buf); + } + + flush_diffs (buf); + fprintf (ipsfile, "EOF"); + if (modfilesize < orgfilesize) + write_address (modfilesize); + + unregister_func (remove_destfile); + fclose (orgfile); + fclose (modfile); + fclose (ipsfile); + + if (totaldiffs == 0) + { + printf ("%s and %s are identical\n" + "Removing: %s\n", orgname, modname, ipsname); + remove (ipsname); + return -1; + } + + printf (ucon64_msg[WROTE], ipsname); + return 0; +} diff --git a/tools/ucon64-2.0.0-src/src/patch/ips.h b/tools/ucon64-2.0.0-src/src/patch/ips.h new file mode 100644 index 0000000..187b217 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/patch/ips.h @@ -0,0 +1,29 @@ +/* +ips.h - IPS support for uCON64 + +Copyright (c) ???? - ???? madman +Copyright (c) 1999 - 2001 NoisyB +Copyright (c) 2002 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef IPS_H +#define IPS_H +extern const st_getopt2_t ips_usage[]; + +extern int ips_apply (const char *destname, const char *ipsname); +extern int ips_create (const char *orgname, const char *modname); +#endif diff --git a/tools/ucon64-2.0.0-src/src/patch/pal4u.c b/tools/ucon64-2.0.0-src/src/patch/pal4u.c new file mode 100644 index 0000000..87a82d4 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/patch/pal4u.c @@ -0,0 +1,43 @@ +/* +pal4u.c - pal4u patcher support for uCON64 + +Copyright (c) 2001 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include "misc/file.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "pal4u.h" + + +const st_getopt2_t pal4u_usage[] = + { +#if 0 + "TODO: " OPTION_LONG_S "p4u apply PAL4U/P4U patch; " OPTION_LONG_S "rom" OPTARG_S "RAW_IMAGE" + "TODO: " OPTION_LONG_S "mkp4u create PAL4U/P4U patch; " OPTION_LONG_S "rom" OPTARG_S "RAW_IMAGE", +#endif + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; diff --git a/tools/ucon64-2.0.0-src/src/patch/pal4u.h b/tools/ucon64-2.0.0-src/src/patch/pal4u.h new file mode 100644 index 0000000..c4191bc --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/patch/pal4u.h @@ -0,0 +1,24 @@ +/* +pal4u.h - XPS patcher support for uCON64 + +Copyright (c) 2001 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef PAL4U_H +#define PAL4U_H +extern const st_getopt2_t pal4u_usage[]; +#endif diff --git a/tools/ucon64-2.0.0-src/src/patch/patch.h b/tools/ucon64-2.0.0-src/src/patch/patch.h new file mode 100644 index 0000000..9b912bb --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/patch/patch.h @@ -0,0 +1,32 @@ +/* +patch.h - single header file for all patch functions + +Copyright (c) 2003 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef PATCH_H +#define PATCH_H + +#include "aps.h" +#include "bsl.h" +#include "gg.h" +#include "ips.h" +#include "pal4u.h" +#include "ppf.h" +#include "xps.h" + +#endif diff --git a/tools/ucon64-2.0.0-src/src/patch/ppf.c b/tools/ucon64-2.0.0-src/src/patch/ppf.c new file mode 100644 index 0000000..3f049f0 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/patch/ppf.c @@ -0,0 +1,502 @@ +/* +ppf.c - Playstation Patch File support for uCON64 + +Copyright (c) ???? - ???? Icarus/Paradox +Copyright (c) 2001 NoisyB +Copyright (c) 2002 - 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#ifdef HAVE_UNISTD_H +#include +#endif +#include "misc/bswap.h" +#include "misc/misc.h" +#include "misc/file.h" +#include "misc/string.h" // MEMMEM2_CASE +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ucon64_misc.h" +#include "ppf.h" + + +#define MAX_ID_SIZE 3072 +#define DIFF_FSIZE +/* + I (dbjh) couldn't tell from the specification below if it is required that + the original file and the modified file have the same size. By defining + DIFF_FSIZE, PPF as I understand it becomes quite a generic patch file + format. It can be used to patch any file up to 4 GB. +*/ + + +const st_getopt2_t ppf_usage[] = + { + { + "ppf", 0, 0, UCON64_PPF, + NULL, "apply PPF PATCH to IMAGE (PPF<=v2.0); ROM should be an IMAGE", + &ucon64_wf[WF_OBJ_ALL_STOP] + }, + { + "mkppf", 1, 0, UCON64_MKPPF, + "ORG_IMG", "create PPF patch; ROM should be the modified IMAGE", + &ucon64_wf[WF_OBJ_ALL_STOP] + }, + { + "nppf", 1, 0, UCON64_NPPF, + "DESC", "change PPF single line DESCRIPTION", + NULL + }, + { + "idppf", 1, 0, UCON64_IDPPF, + "FILE_ID.DIZ", "change FILE_ID.DIZ of PPF PATCH (PPF v2.0)", + NULL + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + +/* + +.-----------------------------------------------------------------. +| PLAYSTATION PATCH FILE VERSION 2.0 FILE-STRUCTURE FOR DEVELOPERS| +'-----------------------------------------------------------------' + +1. The PPF 2.0 Header: + +@START_PPF20HEADER +.----------+--------+---------------------------------------------. +| POSITION | SIZE | E X P L A N A T I O N | ++----------|--------|---------------------------------------------+ +| 00-04 | 05 | PPF-magic: "PPF20" | ++----------|--------|---------------------------------------------+ +| 05 | 01 | Encoding method: | +| | | - If $00 then it is a PPF 1.0 patch | +| | | - If $01 then it is a PPF 2.0 patch | ++----------|--------|---------------------------------------------+ +| 06-55 | 50 | Patch description | ++----------|--------|---------------------------------------------+ +| 56-59 | 04 | Size of the file (e.g. CDRWin binfile) this | +| | | patch was made of. Used for identification | ++----------|--------|---------------------------------------------+ +| 60-1083 | 1024 | This is a binary block of 1024 byte taken | +| | | from position $9320 of the file (e.g. CDRWin| +| | | binfile) this patch was made of. Used for | +| | | identification. | ++----------|--------|---------------------------------------------+ +| 1084-X | XX | The patch itself. See below for structure! | +'----------+--------+---------------------------------------------' +@END_PPF20HEADER - total headersize = 1084 bytes. + + +2. The PPF 2.0 patch itself (encoding method #1) + +@START_PPF20PATCH +FORMAT : xxxx,y,zzzz + + xxxx = 4 byte file offset. + + y = Number of bytes that will be changed. + + zzzz = New data to be written ('y' number of bytes). + +Example +~~~~~~~ + +Starting from file offset 0x0015F9D0 replace 3 bytes with 01,02,03 +D0 F9 15 00 03 01 02 03 + +Be careful! Watch the endian format! If you own an Amiga and want +to do a PPF2-patcher for Amiga don't forget to swap the endian-format +of the offset to avoid seek errors! + +@END_PPF20PATCH + + +3. The PPF 2.0 fileid area + +@START_FILEID + +The fileid area is used to store additional patch information of +the PPF 2.0 file. I implemented this following the AMIGA standard +of adding a fileid to e.g. .txt files. You can add a FILE_ID to a +PPF 2.0 patch by using the tool 'PPFdiz.exe' or "PPF-O-MATIC2" +included in this package. You don't have to add a FILE_ID to your +PPF 2.0 patch. It's only for your pleasure! :) + +For developers: a file_id area begins with @BEGIN_FILE_ID.DIZ and +ends with @END_FILE_ID.DIZ (Amiga BBS standard). +Between @BEGIN_FILE_ID.DIZ and @END_FILE_ID.DIZ you will find +the fileid and followed after @END_FILE_ID.DIZ you will find an +integer (4 bytes long) with the length of the FILE_ID.DIZ! + +A FILE_ID.DIZ file cannot be greater than 3072 bytes. + +If you do a PPF 2.0 applier be sure to check for an existing FILE_ID +AREA, because it is located after the patch data! + +@END_FILEID +*/ + + +// based on source code of ApplyPPF v2.0 for Linux/Unix by Icarus/Paradox +int +ppf_apply (const char *mod, const char *ppfname) +{ + FILE *modfile, *ppffile; + char desc[50 + 1], diz[MAX_ID_SIZE + 1], buffer[1024], ppfblock[1024], + modname[FILENAME_MAX]; + int x, method, dizlen = 0, modlen, ppfsize, bytes_to_skip = 0, n_changes; + unsigned int pos; + + strcpy (modname, mod); + ucon64_file_handler (modname, NULL, 0); + fcopy (mod, 0, fsizeof (mod), modname, "wb"); // no copy if one file + + if ((modfile = fopen (modname, "r+b")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], modname); + exit (1); + } + if ((ppffile = fopen (ppfname, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], ppfname); + exit (1); + } + + // Is it a PPF File? + fread (buffer, 3, 1, ppffile); + if (strncmp ("PPF", buffer, 3)) + { + fprintf (stderr, "ERROR: %s is not a valid PPF file\n", ppfname); + exit (1); + } + + // What encoding method? PPF 1.0 or PPF 2.0? + fseek (ppffile, 5, SEEK_SET); + method = fgetc (ppffile); + if (method != 0 && method != 1) + { + fprintf (stderr, "ERROR: Unknown encoding method! Check for updates\n"); + exit (1); + } + + ppfsize = fsizeof (ppfname); + + // Show PPF information + fseek (ppffile, 6, SEEK_SET); // Read description line + fread (desc, 50, 1, ppffile); + desc[50] = 0; // terminate string + printf ("\n" // print a newline between + "Filename : %s\n", ppfname); // backup message and PPF info + printf ("Encoding method : %d (PPF %d.0)\n", method, method + 1); + printf ("Description : %s\n", desc); + + if (method == 0) // PPF 1.0 + { + printf ("FILE_ID.DIZ : No\n\n"); + x = 56; // file pointer is at right position (56) + } + else // method == 1 // PPF 2.0 + { + fseek (ppffile, ppfsize - 8, SEEK_SET); + fread (buffer, 4, 1, ppffile); + + // Is there a file id? + if (strncmp (".DIZ", buffer, 4)) + printf ("FILE_ID.DIZ : No\n\n"); + else + { + printf ("FILE_ID.DIZ : Yes, showing...\n"); + fread (&dizlen, 4, 1, ppffile); +#ifdef WORDS_BIGENDIAN + dizlen = bswap_32 (dizlen); // FILE_ID.DIZ size is in little-endian format +#endif + fseek (ppffile, ppfsize - dizlen - (16 + 4), SEEK_SET); + bytes_to_skip = dizlen + 18 + 16 + 4; // +4 for FILE_ID.DIZ size integer + if (dizlen > MAX_ID_SIZE) + dizlen = MAX_ID_SIZE; // do this after setting bytes_to_skip! + fread (diz, dizlen, 1, ppffile); + diz[dizlen] = 0; // terminate string + puts (diz); + } + + // Do the file size check + fseek (ppffile, 56, SEEK_SET); + fread (&x, 4, 1, ppffile); +#ifdef WORDS_BIGENDIAN + x = bswap_32 (x); // file size is stored in little-endian format +#endif + modlen = fsizeof (modname); + if (x != modlen) + { + fprintf (stderr, "ERROR: The size of %s is not %d bytes\n", modname, x); + exit (1); + } + + // Do the binary block check + fseek (ppffile, 60, SEEK_SET); + fread (ppfblock, 1024, 1, ppffile); + fseek (modfile, 0x9320, SEEK_SET); + memset (buffer, 0, 1024); // one little hack that makes PPF + fread (buffer, 1024, 1, modfile); // suitable for files < 38688 bytes + if (memcmp (ppfblock, buffer, 1024)) + { + fprintf (stderr, "ERROR: This patch does not belong to this image\n"); + exit (1); + } + + fseek (ppffile, 1084, SEEK_SET); + x = 1084; + } + + // Patch the image + printf ("Patching...\n"); + for (; x < ppfsize - bytes_to_skip; x += 4 + 1 + n_changes) + { + fread (&pos, 4, 1, ppffile); // Get position for modfile +#ifdef WORDS_BIGENDIAN + pos = bswap_32 (pos); +#endif + n_changes = fgetc (ppffile); // How many bytes do we have to write? + fread (buffer, n_changes, 1, ppffile); // And this is what we have to write + fseek (modfile, pos, SEEK_SET); // Go to the right position in the modfile + fwrite (buffer, n_changes, 1, modfile); // Write n_changes bytes to that pos + } + + printf ("Done\n"); + fclose (ppffile); + fclose (modfile); + + printf (ucon64_msg[WROTE], modname); + return 0; +} + + +// based on sourcecode of MakePPF v2.0 Linux/Unix by Icarus/Paradox +int +ppf_create (const char *orgname, const char *modname) +{ + FILE *orgfile, *modfile, *ppffile; + char ppfname[FILENAME_MAX], buffer[MAX_ID_SIZE], obuf[512], mbuf[512]; +#if 0 + char *fidname = "FILE_ID.DIZ"; +#endif + int x, osize, msize, blocksize, n_changes, total_changes = 0; + unsigned int seekpos = 0, pos; + + osize = fsizeof (orgname); + msize = fsizeof (modname); +#ifndef DIFF_FSIZE + if (osize != msize) + { + fprintf (stderr, "ERROR: File sizes do not match\n"); + return -1; + } +#endif + + if ((orgfile = fopen (orgname, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], orgname); + exit (1); + } + if ((modfile = fopen (modname, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], modname); + exit (1); + } + strcpy (ppfname, modname); + set_suffix (ppfname, ".ppf"); + ucon64_file_handler (ppfname, NULL, 0); + if ((ppffile = fopen (ppfname, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], ppfname); + exit (1); + } + + // creating PPF 2.0 header + fwrite ("PPF20", 5, 1, ppffile); // magic + fputc (1, ppffile); // encoding method + memset (buffer, ' ', 50); + fwrite (buffer, 50, 1, ppffile); // description line +#ifdef WORDS_BIGENDIAN + x = bswap_32 (osize); + fwrite (&x, 4, 1, ppffile); +#else + fwrite (&osize, 4, 1, ppffile); // orgfile size +#endif + fseek (orgfile, 0x9320, SEEK_SET); + memset (buffer, 0, 1024); // one little hack that makes PPF + fread (buffer, 1024, 1, orgfile); // suitable for files < 38688 bytes + fwrite (buffer, 1024, 1, ppffile); // 1024 byte block + + printf ("Writing patch data, please wait...\n"); + // finding changes + fseek (orgfile, 0, SEEK_SET); + fseek (modfile, 0, SEEK_SET); + while ((blocksize = fread (obuf, 1, 255, orgfile))) + { + blocksize = fread (mbuf, 1, blocksize, modfile); +#ifdef DIFF_FSIZE + if (blocksize == 0) + break; +#endif + pos = seekpos; + x = 0; + while (x != blocksize) + { + if (obuf[x] != mbuf[x]) + { + pos = seekpos + x; + n_changes = 0; + do + { + buffer[n_changes] = mbuf[x]; + n_changes++; + x++; + } + while (x != blocksize && obuf[x] != mbuf[x]); + total_changes += n_changes; +#ifdef WORDS_BIGENDIAN + pos = bswap_32 (pos); +#endif + fwrite (&pos, 4, 1, ppffile); + fputc (n_changes, ppffile); + fwrite (buffer, n_changes, 1, ppffile); + } + else + x++; + } + seekpos += blocksize; + } + +#ifdef DIFF_FSIZE + if (msize > osize) + { + pos = seekpos; + while ((blocksize = fread (buffer, 1, 255, modfile))) + { + total_changes += blocksize; +#ifdef WORDS_BIGENDIAN + x = bswap_32 (pos); + fwrite (&x, 4, 1, ppffile); +#else + fwrite (&pos, 4, 1, ppffile); +#endif + fputc (blocksize, ppffile); + fwrite (buffer, blocksize, 1, ppffile); + pos += blocksize; + } + } + else if (msize < osize) + printf ("WARNING: %s is smaller than %s\n" + " PPF can't store information about that fact\n", + modname, orgname); +#endif + + fclose (orgfile); + fclose (modfile); + + if (total_changes == 0) + { + printf ("%s and %s are identical\n" + "Removing: %s\n", orgname, modname, ppfname); + fclose (ppffile); + remove (ppfname); + return -1; + } + +#if 0 + if (fidname) + { + int fsize = fsizeof (fidname); + if (fsize > MAX_ID_SIZE) + fsize = MAX_ID_SIZE; // File id only up to 3072 bytes! + printf ("Adding FILE_ID.DIZ (%s)...\n", fidname); + ucon64_fread (buffer, 0, fsize, fidname); + fwrite ("@BEGIN_FILE_ID.DIZ", 18, 1, ppffile); + fwrite (buffer, fsize, 1, ppffile); + fwrite ("@END_FILE_ID.DIZ", 16, 1, ppffile); +#ifdef WORDS_BIGENDIAN + fsize = bswap_32 (fsize); // Write file size in little-endian format +#endif + fwrite (&fsize, 4, 1, ppffile); + } +#endif + fclose (ppffile); + + printf (ucon64_msg[WROTE], ppfname); + return 0; +} + + +int +ppf_set_desc (const char *ppf, const char *description) +{ + char desc[50], ppfname[FILENAME_MAX]; + + strcpy (ppfname, ppf); + memset (desc, ' ', 50); + strncpy (desc, description, strlen (description)); + ucon64_file_handler (ppfname, NULL, 0); + fcopy (ppf, 0, fsizeof (ppf), ppfname, "wb"); // no copy if one file + ucon64_fwrite (desc, 6, 50, ppfname, "r+b"); + + printf (ucon64_msg[WROTE], ppfname); + return 0; +} + + +int +ppf_set_fid (const char *ppf, const char *fidname) +{ + int fidsize, ppfsize, pos; + char ppfname[FILENAME_MAX], + fidbuf[MAX_ID_SIZE + 34 + 1] = "@BEGIN_FILE_ID.DIZ"; // +1 for string terminator + + strcpy (ppfname, ppf); + ucon64_file_handler (ppfname, NULL, 0); + fcopy (ppf, 0, fsizeof (ppf), ppfname, "wb"); // no copy if one file + + printf ("Adding FILE_ID.DIZ (%s)...\n", fidname); + fidsize = ucon64_fread (fidbuf + 18, 0, MAX_ID_SIZE, fidname); + memcpy (fidbuf + 18 + fidsize, "@END_FILE_ID.DIZ", 16); + + ppfsize = fsizeof (ppfname); + pos = ucon64_find (ppfname, 0, ppfsize, "@BEGIN_FILE_ID.DIZ", 18, + MEMCMP2_CASE | UCON64_FIND_QUIET); + if (pos == -1) + pos = ppfsize; + truncate (ppfname, pos); + + ucon64_fwrite (fidbuf, pos, fidsize + 18 + 16, ppfname, "r+b"); + pos += fidsize + 18 + 16; +#ifdef WORDS_BIGENDIAN + fidsize = bswap_32 (fidsize); // Write file size in little-endian format +#endif + ucon64_fwrite (&fidsize, pos, 4, ppfname, "r+b"); + + printf (ucon64_msg[WROTE], ppfname); + return 0; +} diff --git a/tools/ucon64-2.0.0-src/src/patch/ppf.h b/tools/ucon64-2.0.0-src/src/patch/ppf.h new file mode 100644 index 0000000..1e8d813 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/patch/ppf.h @@ -0,0 +1,29 @@ +/* +ppf.h - Playstation Patch File support for uCON64 + +Copyright (c) ???? - ???? Icarus/Paradox +Copyright (c) 2001 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef PPF_H +#define PPF_H +extern const st_getopt2_t ppf_usage[]; +extern int ppf_apply (const char *modname, const char *ppfname); +extern int ppf_create (const char *orgname, const char *modname); +extern int ppf_set_desc (const char *ppfname, const char *description); +extern int ppf_set_fid (const char *ppfname, const char *fidname); +#endif diff --git a/tools/ucon64-2.0.0-src/src/patch/xps.c b/tools/ucon64-2.0.0-src/src/patch/xps.c new file mode 100644 index 0000000..632682b --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/patch/xps.c @@ -0,0 +1,43 @@ +/* +xps.c - XPS patcher support for uCON64 + +Copyright (c) 2001 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include "misc/file.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "xps.h" + + +const st_getopt2_t xps_usage[] = + { +#if 0 + "TODO: " OPTIONS_LONG_S "xps apply XPS patch; " OPTION_LONG_S "rom" OPTARG_S "RAW_IMAGE" + "TODO: " OPTIONS_LONG_S "mkxps create XPS patch; " OPTION_LONG_S "rom" OPTARG_S "RAW_IMAGE " OPTION_LONG_S "file" OPTARG_S "CHANGED_IMAGE", +#endif + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; diff --git a/tools/ucon64-2.0.0-src/src/patch/xps.h b/tools/ucon64-2.0.0-src/src/patch/xps.h new file mode 100644 index 0000000..2337733 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/patch/xps.h @@ -0,0 +1,24 @@ +/* +xps.h - XPS patcher support for uCON64 + +Copyright (c) 2001 NoisyB + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef XPS_H +#define XPS_H +extern const st_getopt2_t xps_usage[]; +#endif diff --git a/tools/ucon64-2.0.0-src/src/snescopy.txt b/tools/ucon64-2.0.0-src/src/snescopy.txt new file mode 100644 index 0000000..4393336 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/snescopy.txt @@ -0,0 +1,66 @@ +# These codes have been put here for your convenience and as a reference so +# that you don't have to look at the source code. Read the FAQ for the format. +# +# Of the following two groups of three only one should be enabled at one time +# 02 01 01 70 02 01 01 70 d0 : 01: 02: ea ea : 0: 8f 9f : cf df +# Kirby's Dream Course, Lufia II - Rise of the Sinistrals +# 02 01 01 70 02 01 01 70 f0 : 01: 02: 80 : 0: 8f 9f : cf df +# 02 01 01 02 02 01 01 02 f0 : 01: 02: 80 : 0: 8f 9f : 30 31 32 33 : cf df : 30 31 32 33 +# +# 02 01 01 70 02 01 01 70 d0 : 01: 02: 80 : 0: 8f 9f : cf df +# Mega Man X +# 02 01 01 70 02 01 01 70 f0 : 01: 02: ea ea : 0: 8f 9f : cf df +# 02 01 01 02 02 01 01 02 f0 : 01: 02: ea ea : 0: 8f 9f : 30 31 32 33 : cf df : 30 31 32 33 +# +# Uniracers/Unirally +# 8f 01 01 77 e2 01 af 01 01 77 c9 01 f0:1:2:80:0 +# Donkey Kong Country (8f, 30, cf, 30) +# Note that this code must be searched for before the less specific uCON code. +# 02 02 02 02 02 02 60 02 d0 : 01: 02: ea ea : 0: 8f 9f : 57 59 : 60 68 : 30 31 32 33 : cf df : 57 59 : 30 31 32 33 +# 02 01 01 02 02 01 01 02 d0 : 01: 02: 80 : 0: 8f 9f : 30 31 32 33 : cf df : 30 31 32 33 +# Mario no Super Picross +# 02 01 01 b0 cf 01 01 b1 d0 : 01: 02: ea ea : 0: 8f af +# 02 01 01 02 af 01 01 02 c9 01 01 d0:01:02:80: 0: 8f 9f : 30 31 32 33 : 30 31 32 33 +# Super Metroid +# a9 00 00 a2 fe 1f df 00 00 70 d0:01:02:ea ea: 0 +# Breath of Fire II (bf, 30, df, 31) +# 02 01 01 02 02 01 01 02 f0 : 01: 02: 80 : 0: af bf : 30 31 32 33 : cf df : 30 31 32 33 +# +# Mega Man X +# 02 01 80 00 02 01 80 40 f0 : 01: 02: 80 : 0: af bf : cf df +# Demon's Crest (af, 80, cf) / Breath of Fire II (bf, c0, df) +# 02 01 ff 02 02 01 ff 40 f0 : 01: 02: 80 : 0: af bf : 80 c0 : cf df +# +# Killer Instinct +# 5c 7f d0 83 18 fb 78 c2 30 : 01: 02: ea ea ea ea ea ea ea ea ea : -8 +# Diddy's Kong Quest (the three below) +# 4b 4f 4e 47 00 f8 f7 : 01: 02: f8 : 0 +# 26 38 e9 48 12 c9 af 71 f0 : 01: 02: 80 : 0 +# a0 5c 2f 77 32 e9 c7 04 f0 : 01: 02: 80 : 0 +# +# BS The Legend of Zelda Remix +# 22 08 5c 10 b0 28 : 01: 02: ea ea ea ea ea ea : -5 +# BS The Legend of Zelda Remix (the next two enable music) +# da e2 30 c9 01 f0 18 c9 02 : 03: 04: 09 f0 18 c9 07 : -4 +# 29 ff 00 c9 07 00 90 16 : 01: 02: 00 : -3 +# +# Kirby's Dream Course (the two below) +# ca 10 f8 38 ef 1a 80 81 8d : 01: 02: 9c : 0 +# 81 ca 10 f8 cf 39 80 87 f0 : 01: 02: 80 : 0 +# +# Earthbound (internal codes, the three below) +# 84 26 ad 39 b5 d0 1a : 01: 02: ea ea : -1 +# 10 f8 38 ef ef ff c1 : 01: 02: ea a9 00 00 : -3 +# 10 f8 38 ef f2 fd c3 f0 : 01: 02: ea a9 00 00 80 : -4 +# Earthbound (alternative code, should be used alone; do not combine with -f!) +# 22 1c a1 c0 22 56 87 c0 : 01: 02: 51 : -6 +# +# Tetris Attack (the two below) +# c2 30 ad fc 1f c9 50 44 d0 : 01: 02: 4c d1 80 : -6 +# 8f 01 01 70 af 01 01 70 c9 01 01 d0 : 01: 02: 80 : 0 +# +# Dixie Kong's Double Trouble E. U version looks like it already has been "patched" +# a9 c3 80 dd ff ff f0 6c : 01: 02: f0 cc ff ff 80 7d : -5 +# +# Front Mission - Gun Hazard +# d0 f4 ab cf ae ff 00 d0 01: 03: 04: 00: 0 diff --git a/tools/ucon64-2.0.0-src/src/snesntsc.txt b/tools/ucon64-2.0.0-src/src/snesntsc.txt new file mode 100644 index 0000000..b829d08 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/snesntsc.txt @@ -0,0 +1,34 @@ +# Currently none of these codes are active, because they are all built in +# uCON64. They have been put here for your convenience and as a reference +# so that you don't have to look at the source code. See the document +# "NTSC-PAL notes.txt" for more detailed information. Read the FAQ for the +# format. +# +# 3f 21 02 10 f0: 01: 02: 80: 0: 29 89 +# ad 3f 21 29 10 d0: 01: 02: ea ea: 0 +# ad 3f 21 89 10 d0: 01: 02: ea ea: 0 +# The next code could be the alternative for the previous one. Leave it +# disabled until we find a game that needs it. +# ad 3f 21 89 10 d0: 01: 02: 80: 0 +# 3f 21 02 10 00 f0: 01: 02: 80: 0: 29 89 +# 3f 21 02 10 00 d0: 01: 02: ea ea: 0: 29 89 +# 3f 21 89 10 c2 01 d0: 01: 02: ea ea: 0 +# 3f 21 89 10 c2 01 f0: 01: 02: 80: 0 +# 3f 21 02 10 c9 10 f0: 01: 02: 80: 0: 29 89 +# ad 3f 21 29 10 c9 00 f0: 01: 02: ea ea: 0 +# ad 3f 21 29 10 c9 00 d0: 01: 02: 80: 0 +# ad 3f 21 29 10 c9 10 d0: 01: 02: ea ea: 0 +# 3f 21 29 10 cf 01 01 80 f0: 01: 02: 80: 0 +# ad 3f 21 8d 01 01 29 10 8d: 01: 02: 00: -1 +# 3f 21 00 02 10 f0: 01: 02: 80: 0: 29 89 +# af 3f 21 00 02 10 d0: 01: 02: ea ea: 0: 29 89 +# af 3f 21 00 02 10 00 f0: 01: 02: 80: 0: 29 89 +# af 3f 21 00 29 01 c9 01 f0: 01: 02: 80: 0 +# af 3f 21 00 29 10 80 2d 00 1b: 01: 02: 00: -4 +# 3f 21 00 89 10 c2 01 f0: 01: 02: 80: 0 +# af 3f 21 00 01 01 29 10 00 d0: 01: 02: ea ea: 0 +# 3f 21 c2 01 29 10 00 f0: 01: 02: 80: 0 +# 3f 21 c2 01 29 10 00 d0: 01: 02: ea ea: 0 +# af 3f 21 ea 89 10 00 d0: 01: 02: a9 00 00: -7 +# a2 18 01 bd 27 20 89 10 00 d0 01: 03: 04: ea ea: -1 +# 29 10 00 a2 00 00 c9 10 00 d0: 01: 02: 80: 0 diff --git a/tools/ucon64-2.0.0-src/src/snespal.txt b/tools/ucon64-2.0.0-src/src/snespal.txt new file mode 100644 index 0000000..cfc311e --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/snespal.txt @@ -0,0 +1,14 @@ +# Currently none of these codes are active, because they are all built in +# uCON64. They have been put here for your convenience and as a reference +# so that you don't have to look at the source code. See the document +# "NTSC-PAL notes.txt" for more detailed information. Read the FAQ for the +# format. +# +# ad 3f 21 89 10 d0: 01: 02: 80: 0 +# ad 3f 21 29 10 00 d0: 01: 02: 80: 0 +# ad 3f 21 89 10 00 d0: 01: 02: a9 10 00: -6 +# ad 3f 21 29 10 cf bd ff 01 f0: 01: 02: 80: 0 +# af 3f 21 00 29 10 d0: 01: 02: 80: 0 +# af 3f 21 00 29 10 00 d0: 01: 02: ea ea: 0 +# af 3f 21 00 29 01 c9 01 f0: 01: 02: 80: 0 +# a2 18 01 bd 27 20 89 10 00 f0 01: 03: 04: ea ea: -1 diff --git a/tools/ucon64-2.0.0-src/src/snesslow.txt b/tools/ucon64-2.0.0-src/src/snesslow.txt new file mode 100644 index 0000000..ab9fdf4 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/snesslow.txt @@ -0,0 +1,14 @@ +# Currently none of these codes are active, because they are all built in +# uCON64. They have been put here for your convenience and as a reference +# so that you don't have to look at the source code. Read the FAQ for the +# format. +# +# 04 0d 42: 03: 04: 9c: -2: 8c 8d 8e 8f +# 01 0d 42: 03: 04: 00: -2 +# a9 01 85 0d: 03: 04: 00: -2 +# a2 01 86 0d: 03: 04: 00: -2 +# a0 01 84 0d: 03: 04: 00: -2 +# +# 04 01 04 0d 42: 03: 04: 00: -3: a9 a2: 8d 8e +# a9 01 00 8d 0d 42: 03: 04: 00: -4 +# a9 01 8f 0d 42 00: 03: 04: 00: -4 diff --git a/tools/ucon64-2.0.0-src/src/ucon64.c b/tools/ucon64-2.0.0-src/src/ucon64.c new file mode 100644 index 0000000..a53a436 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/ucon64.c @@ -0,0 +1,1437 @@ +/* +uCON64 - a tool to modify video game ROMs and to transfer ROMs to the +different backup units/emulators that exist. It is based on the old uCON but +with completely new source. It aims to support all cartridge consoles and +handhelds like N64, JAG, SNES, NG, GENESIS, GB, LYNX, PCE, SMS, GG, NES and +their backup units + +Copyright (c) 1999 - 2004 NoisyB +Copyright (c) 2001 - 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ + +/* + First I want to thank SiGMA SEVEN! who was my mentor and taught me how to + write programs in C. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#include +#include +#include +#ifdef HAVE_UNISTD_H +#include +#endif +#ifdef HAVE_DIRENT_H +#include +#endif +#include +#include +#ifdef _WIN32 +#include +#endif + +#ifdef DEBUG +#ifdef __GNUC__ +#warning DEBUG active +#else +#pragma message ("DEBUG active") +#endif +#endif +#ifdef USE_PARALLEL +#include "misc/parallel.h" +#endif +#include "misc/bswap.h" +#include "misc/misc.h" +#include "misc/property.h" +#include "misc/chksum.h" +#include "misc/file.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "misc/string.h" +#include "ucon64.h" +#include "ucon64_misc.h" +#include "ucon64_opts.h" +#include "ucon64_dat.h" +#include "console/console.h" +#include "patch/patch.h" +#include "backup/backup.h" + + +static void ucon64_exit (void); +static int ucon64_execute_options (void); +static void ucon64_rom_nfo (const st_rominfo_t *rominfo); +static st_rominfo_t *ucon64_probe (st_rominfo_t *rominfo); +static int ucon64_rom_handling (void); +static int ucon64_process_rom (char *fname); + + +st_ucon64_t ucon64; // containes ptr to image, dat and rominfo + +static const char *ucon64_title = "uCON64 " UCON64_VERSION_S " " CURRENT_OS_S " 1999-2005"; + +#ifdef AMIGA +unsigned long __stacksize = 102400; // doesn't work on PPC? is StormC specific? +//unsigned long __stack = 102400; // for SAS/C, DICE, GCC etc.? +char vers[] = "$VER: uCON64 "UCON64_VERSION_S" "CURRENT_OS_S" ("__DATE__") ("__TIME__")"; +#endif + +typedef struct +{ + int val; // (st_getopt2_t->val) +// const + char *optarg; // option argument + int console; // the console (st_getopt2_t->object) + int flags; // workflow flags (st_getopt2_t->object) +} st_args_t; + +static st_args_t arg[UCON64_MAX_ARGS]; + +static st_getopt2_t options[UCON64_MAX_ARGS]; +static const st_getopt2_t lf[] = + { + {NULL, 0, 0, 0, NULL, "", NULL}, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }, + *option[] = + { + ucon64_options_usage, + ucon64_options_without_usage, + lf, + ucon64_padding_usage, + lf, + ucon64_dat_usage, + lf, + ucon64_patching_usage, + bsl_usage, + ips_usage, + aps_usage, + pal4u_usage, + ppf_usage, + xps_usage, + gg_usage, + lf, +#ifdef USE_DISCMAGE + libdm_usage, + lf, +#endif + dc_usage, + lf, + psx_usage, +#ifdef USE_PARALLEL + dex_usage, +#endif + lf, + gba_usage, +#if defined USE_PARALLEL || defined USE_USB + // f2a_usage has to come before fal_usage in case only USE_USB is defined + // (no support for parallel port) + f2a_usage, +#ifdef USE_PARALLEL + fal_usage, +#endif +#endif // USE_PARALLEL || USE_USB + lf, + n64_usage, +#ifdef USE_PARALLEL + doctor64_usage, + doctor64jr_usage, +#ifdef USE_LIBCD64 + cd64_usage, +#endif + dex_usage, +#endif // USE_PARALLEL + lf, + snes_usage, +#ifdef USE_PARALLEL + swc_usage, + gd_usage, + fig_usage, + sflash_usage, + // mgd_usage, +#endif + lf, + neogeo_usage, + lf, + genesis_usage, +#ifdef USE_PARALLEL + smd_usage, + mdpro_usage, + mcd_usage, + cmc_usage, + // mgd_usage, +#endif + lf, + gameboy_usage, +#ifdef USE_PARALLEL + gbx_usage, + mccl_usage, +#endif + lf, + lynx_usage, +#ifdef USE_PARALLEL + lynxit_usage, +#endif + lf, + pcengine_usage, +#ifdef USE_PARALLEL + msg_usage, + pcepro_usage, + // mgd_usage, +#endif + lf, + nes_usage, +#ifdef USE_PARALLEL + smc_usage, +#endif + lf, + sms_usage, +#ifdef USE_PARALLEL + smsggpro_usage, +#endif + lf, + swan_usage, + lf, + jaguar_usage, + lf, + ngp_usage, +#ifdef USE_PARALLEL + pl_usage, +#endif + lf, + atari_usage, + NULL + }; + + +static st_rominfo_t * +ucon64_rom_flush (st_rominfo_t * rominfo) +{ + if (rominfo) + memset (rominfo, 0, sizeof (st_rominfo_t)); + + ucon64.rominfo = NULL; + ucon64.crc32 = ucon64.fcrc32 = 0; // yes, this belongs here + rominfo->data_size = UCON64_UNKNOWN; + + return rominfo; +} + + +#ifdef DEBUG +void +ucon64_runtime_debug_output (st_getopt2_t *p) +{ + printf ("{\"%s\", %d, 0, %d, \"%s\", \"%s\", %d}, // console: %d workflow: %d\n", + p->name, + p->has_arg, + p->val, + p->arg_name, + p->help ? "usage" : p->help, // i (nb) mean it +// p->help, + 0, + p->object ? ((st_ucon64_obj_t *) p->object)->console : 0, + p->object ? ((st_ucon64_obj_t *) p->object)->flags : 0); +} + + +static void +ucon64_runtime_debug (void) +{ + int x = 0, y = 0, c = 0; + (void) x; + (void) y; + (void) c; + +#if 0 + // how many options (incl. dupes) do we have? + for (x = y = 0; options[x].name || options[x].help; x++) + if (options[x].name) + y++; + printf ("DEBUG: Total options (with dupes): %d\n", y); + printf ("DEBUG: UCON64_MAX_ARGS == %d, %s\n", UCON64_MAX_ARGS, + (y < UCON64_MAX_ARGS ? "good" : "\nERROR: too small; must be larger than options")); +#endif + +#if 1 + // list all options as a single st_getopt2_t array + for (x = 0; options[x].name || options[x].help; x++) + if (options[x].name) + ucon64_runtime_debug_output ((st_getopt2_t *) &options[x]); +#endif + +#if 0 + // how many consoles does uCON64 support? + for (x = y = 0; options[x].name || options[x].help; x++) + if (options[x].name && options[x].object) + if (options[x].val == ((st_ucon64_obj_t *) options[x].object)->console) + ucon64_runtime_debug_output ((st_getopt2_t *) &options[x]); +#endif + +#if 0 + // find options without an object (allowed) + for (x = 0; options[x].name || options[x].help; x++) + if (options[x].name && !options[x].object) + ucon64_runtime_debug_output ((st_getopt2_t *) &options[x]); +#endif + +#if 0 + // find options without a console (allowed) + for (x = 0; options[x].name || options[x].help; x++) + if (options[x].name && !((st_ucon64_obj_t *) options[x].object)->console) + ucon64_runtime_debug_output ((st_getopt2_t *) &options[x]); +#endif + +#if 0 + // find options without a workflow (allowed) + for (x = 0; options[x].name || options[x].help; x++) + if (options[x].name && !((st_ucon64_obj_t *) options[x].object)->flags) + ucon64_runtime_debug_output ((st_getopt2_t *) &options[x]); +#endif + +#if 0 + // find options without a val (NOT allowed) + for (x = 0; options[x].name || options[x].help; x++) + if (options[x].name && !options[x].val) + ucon64_runtime_debug_output ((st_getopt2_t *) &options[x]); +#endif + +#if 0 + // find options with has_arg but without arg_name AND/OR usage + // hidden options without arg_name AND usage are allowed + for (x = 0; options[x].name || options[x].help; x++) + if (options[x].name && + ((!options[x].has_arg && options[x].arg_name) || + (options[x].has_arg && !options[x].arg_name) || + !options[x].help)) + ucon64_runtime_debug_output ((st_getopt2_t *) &options[x]); +#endif + +#if 0 + // find dupe (NOT a problem) options that have different values for val, + // flag, and/or object (NOT allowed) + // getopt1() will always use the 1st option in the array + // (st_getopt2_t *)->arg_name and (st_getopt2_t *)->help can be as + // different as you like + for (x = 0; options[x].name || options[x].help; x++) + if (options[x].name) + for (y = 0; options[y].name || options[y].help; y++) + if (options[y].name && x != y) // IS option + if (!strcmp (options[y].name, options[x].name)) + if (options[y].has_arg != options[x].has_arg || // (NOT allowed) + options[y].flag != options[x].flag || // (NOT allowed) + options[y].val != options[x].val || // (NOT allowed) +// options[y].arg_name != options[x].arg_name || // (allowed) +// options[y].help != options[x].help || // (allowed) + ((st_ucon64_obj_t *) options[y].object)->console != ((st_ucon64_obj_t *) options[x].object)->console // (NOT allowed) + ((st_ucon64_obj_t *) options[x].object)->flags != ((st_ucon64_obj_t *) options[x].object)->flags) // (NOT allowed) + { + fputs ("ERROR: different dupe options found\n ", stdout); + ucon64_runtime_debug_output ((st_getopt2_t *) &options[x]); + fputs (" ", stdout); + ucon64_runtime_debug_output ((st_getopt2_t *) &options[y]); + fputs ("\n\n", stdout); + } +#endif + puts ("DEBUG: Sanity check finished"); + fflush (stdout); +} +#endif // DEBUG + + +void +ucon64_exit (void) +{ +#ifdef USE_DISCMAGE + if (ucon64.discmage_enabled) + if (ucon64.image) + dm_close ((dm_image_t *) ucon64.image); +#endif + + handle_registered_funcs (); + fflush (stdout); +} + + +int +main (int argc, char **argv) +{ + int x = 0, y = 0, rom_index = 0, c = 0; +#if (FILENAME_MAX < MAXBUFSIZE) + static char buf[MAXBUFSIZE]; +#else + static char buf[FILENAME_MAX]; +#endif + struct stat fstate; + struct option long_options[UCON64_MAX_ARGS]; + + printf ("%s\n" + "Uses code from various people. See 'developers.html' for more!\n" + "This may be freely redistributed under the terms of the GNU Public License\n\n", + ucon64_title); + + if (atexit (ucon64_exit) == -1) + { + fputs ("ERROR: Could not register function with atexit()\n", stderr); + exit (1); + } + + // flush st_ucon64_t + memset (&ucon64, 0, sizeof (st_ucon64_t)); + + ucon64.rom = + ucon64.file = + ucon64.mapr = + ucon64.comment = ""; + + ucon64.parport_needed = 0; + + ucon64.flags = WF_DEFAULT; + + ucon64.fname_arch[0] = 0; + + ucon64.argc = argc; + ucon64.argv = argv; // must be set prior to calling + // ucon64_load_discmage() (for DOS) + + // convert (st_getopt2_t **) to (st_getopt2_t *) + memset (&options, 0, sizeof (st_getopt2_t) * UCON64_MAX_ARGS); + for (c = x = 0; option[x]; x++) + for (y = 0; option[x][y].name || option[x][y].help; y++) + if (c < UCON64_MAX_ARGS) + { + memcpy (&options[c], &option[x][y], sizeof (st_getopt2_t)); + c++; + } + ucon64.options = options; + +#ifdef DEBUG + ucon64_runtime_debug (); // check (st_getopt2_t *) options consistency +#endif + +#ifdef __unix__ + // We need to modify the umask, because the configfile is made while we are + // still running in root mode. Maybe 0 is even better (in case root did + // `chmod +s'). + umask (002); +#endif + ucon64_configfile (); + +#ifdef USE_ANSI_COLOR + // ANSI colors? + ucon64.ansi_color = get_property_int (ucon64.configfile, "ansi_color"); + // the conditional call to ansi_init() has to be done *after* the check for + // the switch -ncol +#endif + + // parallel port? +#ifdef USE_PPDEV + get_property (ucon64.configfile, "parport_dev", ucon64.parport_dev, "/dev/parport0"); +#elif defined AMIGA + get_property (ucon64.configfile, "parport_dev", ucon64.parport_dev, "parallel.device"); +#endif + // use -1 (UCON64_UNKNOWN) to force probing if the config file doesn't contain + // a parport line + sscanf (get_property (ucon64.configfile, "parport", buf, "-1"), "%x", &ucon64.parport); + + // make backups? + ucon64.backup = get_property_int (ucon64.configfile, "backups"); + + // $HOME/.ucon64/ ? + get_property_fname (ucon64.configfile, "ucon64_configdir", ucon64.configdir, ""); + + // DAT file handling + ucon64.dat_enabled = 0; + get_property_fname (ucon64.configfile, "ucon64_datdir", ucon64.datdir, ""); + + // we use ucon64.datdir as path to the dats + if (!access (ucon64.datdir, + // !W_OK doesn't mean that files can't be written to dir for Win32 exe's +#if !defined __CYGWIN__ && !defined _WIN32 + W_OK | +#endif + R_OK | X_OK)) + if (!stat (ucon64.datdir, &fstate)) + if (S_ISDIR (fstate.st_mode)) + ucon64.dat_enabled = 1; + + if (!ucon64.dat_enabled) + if (!access (ucon64.configdir, +#if !defined __CYGWIN__ && !defined _WIN32 + W_OK | +#endif + R_OK | X_OK)) + if (!stat (ucon64.configdir, &fstate)) + if (S_ISDIR (fstate.st_mode)) + { +// fprintf (stderr, "Please move your DAT files from %s to %s\n\n", ucon64.configdir, ucon64.datdir); + strcpy (ucon64.datdir, ucon64.configdir); // use .ucon64/ instead of .ucon64/dat/ + ucon64.dat_enabled = 1; + } + + if (ucon64.dat_enabled) + ucon64_dat_indexer (); // update cache (index) files if necessary + +#ifdef USE_DISCMAGE + // load libdiscmage + ucon64.discmage_enabled = ucon64_load_discmage (); +#endif + + if (argc < 2) + { + ucon64_usage (argc, argv); + return 0; + } + + + // turn st_getopt2_t into struct option + getopt2_long_only (long_options, options, UCON64_MAX_ARGS); + + // getopt() is utilized to make uCON64 handle/parse cmdlines in a sane + // and expected way + x = optind = 0; + memset (&arg, 0, sizeof (st_args_t) * UCON64_MAX_ARGS); + while ((c = getopt_long_only (argc, argv, "", long_options, NULL)) != -1) + { + if (c == '?') // getopt() returns 0x3f ('?') when an unknown option was given + { + fprintf (stderr, + "Try '%s " OPTION_LONG_S "help' for more information.\n", + argv[0]); + exit (1); + } + + if (x < UCON64_MAX_ARGS) + { + const st_ucon64_obj_t *p = (st_ucon64_obj_t *) getopt2_get_index_by_val (options, c)->object; + + arg[x].console = UCON64_UNKNOWN; // default + + if (p) + { + arg[x].flags = p->flags; + if (p->console) + arg[x].console = p->console; + } + + arg[x].val = c; + arg[x++].optarg = (optarg ? optarg : NULL); + } + else + // this shouldn't happen + exit (1); + } + +#ifdef DEBUG + for (x = 0; arg[x].val; x++) + printf ("%d %s %d %d\n\n", + arg[x].val, + arg[x].optarg ? arg[x].optarg : "(null)", + arg[x].flags, + arg[x].console); +#endif + + rom_index = optind; // save index of first file + if (rom_index == argc) + ucon64_execute_options(); + else + for (; rom_index < argc; rom_index++) + { + int result = 0; + char buf2[FILENAME_MAX]; +#ifndef _WIN32 + struct dirent *ep; + DIR *dp; +#else + char search_pattern[FILENAME_MAX]; + WIN32_FIND_DATA find_data; + HANDLE dp; +#endif + + realpath2 (argv[rom_index], buf); + if (stat (buf, &fstate) != -1) + { + if (S_ISREG (fstate.st_mode)) + result = ucon64_process_rom (buf); + else if (S_ISDIR (fstate.st_mode)) // a dir? + { + char *p; +#if defined __MSDOS__ || defined _WIN32 || defined __CYGWIN__ + /* + Note that this code doesn't make much sense for Cygwin, + because at least the version I use (1.3.6, dbjh) doesn't + support current directories for drives. + */ + c = toupper (buf[0]); + if (buf[strlen (buf) - 1] == FILE_SEPARATOR || + (c >= 'A' && c <= 'Z' && buf[1] == ':' && buf[2] == 0)) +#else + if (buf[strlen (buf) - 1] == FILE_SEPARATOR) +#endif + p = ""; + else + p = FILE_SEPARATOR_S; + +#ifndef _WIN32 + if ((dp = opendir (buf))) + { + while ((ep = readdir (dp))) + { + sprintf (buf2, "%s%s%s", buf, p, ep->d_name); + if (stat (buf2, &fstate) != -1) + if (S_ISREG (fstate.st_mode)) + { + result = ucon64_process_rom (buf2); + if (result == 1) + break; + } + } + closedir (dp); + } +#else + sprintf (search_pattern, "%s%s*", buf, p); + if ((dp = FindFirstFile (search_pattern, &find_data)) != INVALID_HANDLE_VALUE) + { + do + { + sprintf (buf2, "%s%s%s", buf, p, find_data.cFileName); + if (stat (buf2, &fstate) != -1) + if (S_ISREG (fstate.st_mode)) + { + result = ucon64_process_rom (buf2); + if (result == 1) + break; + } + } + while (FindNextFile (dp, &find_data)); + FindClose (dp); + } +#endif + } + else + result = ucon64_process_rom (buf); + } + else + result = ucon64_process_rom (buf); + + if (result == 1) + break; + } + + return 0; +} + + +int +ucon64_process_rom (char *fname) +{ +#ifdef USE_ZLIB + int n_entries = unzip_get_number_entries (fname); + if (n_entries != -1) // it's a zip file + { + for (unzip_current_file_nr = 0; unzip_current_file_nr < n_entries; + unzip_current_file_nr++) + { + ucon64_fname_arch (fname); + /* + There seems to be no other way to detect directories in ZIP files + than by looking at the file name. Paths in ZIP files should contain + forward slashes. ucon64_fname_arch() changes forward slashes into + backslashes (FILE_SEPARATORs) when uCON64 is compiled with Visual + C++ or MinGW so that basename2() always produces a correct base + name. So, if the entry in the ZIP file is a directory + ucon64.fname_arch will be an empty string. + */ + if (ucon64.fname_arch[0] == 0) + continue; + + ucon64.rom = fname; + + ucon64_execute_options(); + + if (ucon64.flags & WF_STOP) + break; + } + unzip_current_file_nr = 0; + ucon64.fname_arch[0] = 0; + + if (ucon64.flags & WF_STOP) + return 1; + } + else +#endif + { + ucon64.rom = fname; + + ucon64_execute_options(); + if (ucon64.flags & WF_STOP) + return 1; + } + + return 0; +} + + +int +ucon64_execute_options (void) +/* + Execute all options for a single file. + Please, if you experience problems then try your luck with the flags + in ucon64_misc.c/ucon64_wf[] before changing things here or in + ucon64_rom_handling() +*/ +{ + int c = 0, result = 0, x = 0, opts = 0; + static int first_call = 1; // first call to this function + + ucon64.dat = NULL; +#ifdef USE_DISCMAGE + ucon64.image = NULL; +#endif + ucon64.rominfo = NULL; + + ucon64.battery = + ucon64.bs_dump = + ucon64.buheader_len = + ucon64.console = + ucon64.controller = + ucon64.controller2 = + ucon64.do_not_calc_crc = + ucon64.id = + ucon64.interleaved = + ucon64.mirror = + ucon64.part_size = + ucon64.region = + ucon64.snes_header_base = + ucon64.snes_hirom = + ucon64.split = + ucon64.tv_standard = + ucon64.use_dump_info = + ucon64.vram = UCON64_UNKNOWN; + + ucon64.file_size = + ucon64.crc32 = + ucon64.fcrc32 = + ucon64.io_mode = 0; + + // switches + for (x = 0; arg[x].val; x++) + { + if (arg[x].console != UCON64_UNKNOWN) + ucon64.console = arg[x].console; + if (arg[x].flags) + ucon64.flags = arg[x].flags; + if (arg[x].val) + ucon64.option = arg[x].val; + ucon64.optarg = arg[x].optarg; + +// if (ucon64.flags & WF_SWITCH) + ucon64_switches (&ucon64); + } +#ifdef USE_ANSI_COLOR + if (ucon64.ansi_color && first_call) + ucon64.ansi_color = ansi_init (); +#endif + +#ifdef USE_PARALLEL + /* + The copier options need root privileges for parport_open() + We can't use ucon64.flags & WF_PAR to detect whether a (parallel port) + copier option has been specified, because another switch might've been + specified after -port. + */ + if (ucon64.parport_needed == 1) + ucon64.parport = parport_open (ucon64.parport); +#endif // USE_PARALLEL +#if defined __unix__ && !defined __MSDOS__ + /* + We can drop privileges after we have set up parallel port access. We cannot + drop privileges if the user wants to communicate with the USB version of the + F2A. + SECURITY WARNING: We stay in root mode if the user specified an F2A option! + We could of course drop privileges which requires the user to run uCON64 as + root (not setuid root), but we want to be user friendly. Besides, doing + things as root is bad anyway (from a security viewpoint). + */ + if (first_call && ucon64.parport_needed != 2 +#ifdef USE_USB + && !ucon64.usbport +#endif + ) + drop_privileges (); +#endif // __unix__ && !__MSDOS__ + first_call = 0; + + for (x = 0; arg[x].val; x++) + if (!(arg[x].flags & WF_SWITCH)) + { + if (ucon64.console == UCON64_UNKNOWN) + ucon64.console = arg[x].console; + ucon64.flags = arg[x].flags; + ucon64.option = arg[x].val; + ucon64.optarg = arg[x].optarg; + + opts++; + + // WF_NO_SPLIT, WF_INIT, WF_PROBE, CRC32, DATabase and WF_NFO + result = ucon64_rom_handling (); + + if (result == -1) // no rom, but WF_NO_ROM + return -1; + + if (ucon64_options (&ucon64) == -1) + { + const st_getopt2_t *p = getopt2_get_index_by_val (options, c); + const char *opt = p ? p->name : NULL; + + fprintf (stderr, "ERROR: %s%s encountered a problem\n", + opt ? (!opt[1] ? OPTION_S : OPTION_LONG_S) : "", + opt ? opt : "uCON64"); + +// if (p) +// getopt2_usage (p); + + fputs (" Is the option you used available for the current console system?\n" + " Please report bugs to noisyb@gmx.net or ucon64-announce@lists.sf.net\n\n", + stderr); + + return -1; + } + +#if 0 + // WF_NFO_AFTER?! + if (!result && (ucon64.flags & WF_NFO_AFTER) && ucon64.quiet < 1) + ucon64_rom_handling (); +#endif + + /* + "stop" options: + - -multi (and -xfalmulti) takes more than one file as argument, but + should be executed only once. + - stop after sending one ROM to a copier ("multizip") + - stop after applying a patch so that the patch file won't be + interpreted as ROM + */ + if (ucon64.flags & WF_STOP) + break; + } + + if (!opts) // no options => just display ROM info + { + ucon64.flags = WF_DEFAULT; + // WF_NO_SPLIT WF_INIT, WF_PROBE, CRC32, DATabase and WF_NFO + if (ucon64_rom_handling () == -1) + return -1; // no rom, but WF_NO_ROM + } + + fflush (stdout); + + return 0; +} + + +int +ucon64_rom_handling (void) +{ + int no_rom = 0; + static st_rominfo_t rominfo; + struct stat fstate; + + ucon64_rom_flush (&rominfo); + + // a ROM (file)? + if (!ucon64.rom) + no_rom = 1; + else if (!ucon64.rom[0]) + no_rom = 1; + else if (access (ucon64.rom, F_OK | R_OK) == -1 && (!(ucon64.flags & WF_NO_ROM))) + { + fprintf (stderr, "ERROR: Could not open %s\n", ucon64.rom); + no_rom = 1; + } + else if (stat (ucon64.rom, &fstate) == -1) + no_rom = 1; + else if (S_ISREG (fstate.st_mode) != TRUE) + no_rom = 1; +#if 0 + // printing the no_rom error message for files of 0 bytes only confuses people + else if (!fstate.st_size) + no_rom = 1; +#endif + + if (no_rom) + { + if (!(ucon64.flags & WF_NO_ROM)) + { + fputs ("ERROR: This option requires a file argument (ROM/image/SRAM file/directory)\n", stderr); + return -1; + } + return 0; + } + + // The next statement is important and should be executed as soon as + // possible (and sensible) in this function + ucon64.file_size = fsizeof (ucon64.rom); + // We have to do this here, because we don't know the file size until now + if (ucon64.buheader_len > ucon64.file_size) + { + fprintf (stderr, + "ERROR: A backup unit header length was specified that is larger than the file\n" + " size (%d > %d)\n", ucon64.buheader_len, ucon64.file_size); + return -1; + } + + if (!(ucon64.flags & WF_INIT)) + return 0; + + // "walk through" _init() + if (ucon64.flags & WF_PROBE) + { + if (ucon64.rominfo) + { + // Restore any overrides from st_ucon64_t + // We have to do this *before* calling ucon64_probe(), *not* afterwards + if (UCON64_ISSET (ucon64.buheader_len)) + rominfo.buheader_len = ucon64.buheader_len; + + if (UCON64_ISSET (ucon64.interleaved)) + rominfo.interleaved = ucon64.interleaved; + +// ucon64.rominfo = (st_rominfo_t *) &rominfo; + } + ucon64.rominfo = ucon64_probe (&rominfo); // determines console type + +#ifdef USE_DISCMAGE + // check for disc image only if ucon64_probe() failed or --disc was used + if (ucon64.discmage_enabled) +// if (!ucon64.rominfo || ucon64.force_disc) + if (ucon64.force_disc) + ucon64.image = dm_reopen (ucon64.rom, 0, (dm_image_t *) ucon64.image); +#endif + } + // end of WF_PROBE + + // Does the option allow split ROMs? + if (ucon64.flags & WF_NO_SPLIT) + /* + Test for split files only if the console type knows about split files at + all. However we only know the console type after probing. + */ + if (ucon64.console == UCON64_NES || ucon64.console == UCON64_SNES || + ucon64.console == UCON64_GEN || ucon64.console == UCON64_NG) + if ((UCON64_ISSET (ucon64.split)) ? ucon64.split : ucon64_testsplit (ucon64.rom)) + { + fprintf (stderr, "ERROR: %s seems to be split. You have to join it first\n", + basename2 (ucon64.rom)); + return -1; + } + + + /* + CRC32 + + Calculating the CRC32 checksum for the ROM data of a UNIF file (NES) + shouldn't be done with ucon64_fcrc32(). nes_init() uses crc32(). + The CRC32 checksum is used to search in the DAT files, but at the time + of this writing (Februari the 7th 2003) all DAT files contain checksums + of files in only one format. This matters for SNES and Genesis ROMs in + interleaved format and Nintendo 64 ROMs in non-interleaved format. The + corresponding initialization functions calculate the CRC32 checksum of + the data in the format of which the checksum is stored in the DAT + files. For these "problematic" files, their "real" checksum is stored + in ucon64.fcrc32. + */ + if (ucon64.crc32 == 0) + if (!ucon64.force_disc) // NOT for disc images + if (!(ucon64.flags & WF_NO_CRC32) && ucon64.file_size <= MAXROMSIZE) + ucon64_chksum (NULL, NULL, &ucon64.crc32, ucon64.rom, ucon64.rominfo ? ucon64.rominfo->buheader_len : 0); + + + // DATabase + ucon64.dat = NULL; + if (ucon64.crc32 != 0 && ucon64.dat_enabled) + { + ucon64.dat = ucon64_dat_search (ucon64.crc32, NULL); + if (ucon64.dat) + { + // detected file size must match DAT file size + int size = ucon64.rominfo ? + UCON64_ISSET (ucon64.rominfo->data_size) ? + ucon64.rominfo->data_size : + ucon64.file_size - ucon64.rominfo->buheader_len : + ucon64.file_size; + if ((int) (((st_ucon64_dat_t *) ucon64.dat)->fsize) != size) + ucon64.dat = NULL; + } + + if (ucon64.dat) + switch (ucon64.console) + { + case UCON64_SNES: + case UCON64_GEN: + case UCON64_GB: + case UCON64_GBA: + case UCON64_N64: + // These ROMs have internal headers with name, country, maker, etc. + break; + + default: + // Use ucon64.dat instead of ucon64.dat_enabled in case the index + // file could not be created/opened -> no segmentation fault + if (ucon64.dat && ucon64.rominfo) + { + if (!ucon64.rominfo->name[0]) + strcpy (ucon64.rominfo->name, NULL_TO_EMPTY (((st_ucon64_dat_t *) ucon64.dat)->name)); + else if (ucon64.console == UCON64_NES) + { // override the three-character FDS or FAM name + int t = nes_get_file_type (); + if (t == FDS || t == FAM) + strcpy (ucon64.rominfo->name, NULL_TO_EMPTY (((st_ucon64_dat_t *) ucon64.dat)->name)); + } + + if (!ucon64.rominfo->country) + ucon64.rominfo->country = NULL_TO_EMPTY (((st_ucon64_dat_t *) ucon64.dat)->country); + } + break; + } + } + + // display info + if ((ucon64.flags & WF_NFO || ucon64.flags & WF_NFO_AFTER) && ucon64.quiet < 1) + ucon64_nfo (); + + return 0; +} + + +st_rominfo_t * +ucon64_probe (st_rominfo_t * rominfo) +{ + typedef struct + { + int console; + int (*init) (st_rominfo_t *); + uint32_t flags; + } st_probe_t; + +// auto recognition +#define AUTO (1) + + int x = 0; + st_probe_t probe[] = + { + /* + The order of the init functions is important. snes_init() must be + called before nes_init(), but after gameboy_init() and sms_init(). + sms_init() must be called before snes_init(), but after genesis_init(). + There may be more dependencies, so don't change the order unless you + can verify it won't break anything. + */ + {UCON64_GBA, gba_init, AUTO}, + {UCON64_N64, n64_init, AUTO}, + {UCON64_GEN, genesis_init, AUTO}, + {UCON64_LYNX, lynx_init, AUTO}, + {UCON64_GB, gameboy_init, AUTO}, + {UCON64_SMS, sms_init, AUTO}, + {UCON64_SNES, snes_init, AUTO}, + {UCON64_NES, nes_init, AUTO}, + {UCON64_NGP, ngp_init, AUTO}, + {UCON64_SWAN, swan_init, AUTO}, + {UCON64_JAG, jaguar_init, AUTO}, + {UCON64_PCE, pcengine_init, AUTO}, + {UCON64_NG, neogeo_init, 0}, + {UCON64_SWAN, swan_init, 0}, + {UCON64_DC, dc_init, 0}, + {UCON64_PSX, psx_init, 0}, +#if 0 + {UCON64_GC, NULL, 0}, + {UCON64_GP32, NULL, 0}, + {UCON64_COLECO, NULL, 0}, + {UCON64_INTELLI, NULL, 0}, + {UCON64_S16, NULL, 0}, + {UCON64_ATA, NULL, 0}, + {UCON64_VEC, NULL, 0}, + {UCON64_VBOY, NULL, 0}, +#endif + {UCON64_UNKNOWN, unknown_init, 0}, + {0, NULL, 0} + }; + + if (ucon64.console != UCON64_UNKNOWN) // force recognition option was used + { + for (x = 0; probe[x].console != 0; x++) + if (probe[x].console == ucon64.console) + { + ucon64_rom_flush (rominfo); + + probe[x].init (rominfo); + + return rominfo; + } + } + else if (ucon64.file_size <= MAXROMSIZE) // give auto_recognition a try + { + for (x = 0; probe[x].console != 0; x++) + if (probe[x].flags & AUTO) + { + ucon64_rom_flush (rominfo); + + if (!probe[x].init (rominfo)) + { + ucon64.console = probe[x].console; + return rominfo; + } + } + } + + return NULL; +} + + +int +ucon64_nfo (void) +{ + puts (ucon64.rom); + if (ucon64.fname_arch[0]) + printf (" (%s)\n", ucon64.fname_arch); + fputc ('\n', stdout); +#ifdef USE_DISCMAGE + if (ucon64.console == UCON64_UNKNOWN && !ucon64.image) +#else + if (ucon64.console == UCON64_UNKNOWN) +#endif + fprintf (stderr, "%s\n", ucon64_msg[CONSOLE_ERROR]); + + if (ucon64.rominfo && ucon64.console != UCON64_UNKNOWN && !ucon64.force_disc) + ucon64_rom_nfo (ucon64.rominfo); + +#ifdef USE_DISCMAGE + if (ucon64.discmage_enabled) + if (ucon64.image) + { + dm_nfo ((dm_image_t *) ucon64.image, ucon64.quiet < 0 ? 1 : 0, +#ifdef USE_ANSI_COLOR + ucon64.ansi_color ? 1 : +#endif + 0); + fputc ('\n', stdout); + + return 0; // no crc calc. for disc images and therefore no dat entry either + } +#endif + // Use ucon64.fcrc32 for SNES, Genesis & SMS interleaved/N64 non-interleaved + if (ucon64.fcrc32 && ucon64.crc32) + printf ("Search checksum (CRC32): 0x%08x\n" + "Data checksum (CRC32): 0x%08x\n", ucon64.crc32, ucon64.fcrc32); + else if (ucon64.fcrc32 || ucon64.crc32) + printf ("Checksum (CRC32): 0x%08x\n", ucon64.fcrc32 ? ucon64.fcrc32 : ucon64.crc32); + + // The check for the size of the file is made, so that uCON64 won't display a + // (nonsense) DAT info line when dumping a ROM (file doesn't exist, so + // ucon64.file_size is 0). + if (ucon64.file_size > 0 && ucon64.dat_enabled) + if (ucon64.dat) + ucon64_dat_nfo ((st_ucon64_dat_t *) ucon64.dat, 1); + + fputc ('\n', stdout); + + return 0; +} + + +static inline char * +to_func (char *s, int len, int (*func) (int)) +{ + char *p = s; + + for (; len > 0; p++, len--) + *p = func (*p); + + return s; +} + + +static inline int +toprint (int c) +{ + if (isprint (c)) + return c; + + // characters that also work with printf() +#ifdef USE_ANSI_COLOR + if (c == '\x1b') + return ucon64.ansi_color ? c : '.'; +#endif + + return strchr ("\t\n\r", c) ? c : '.'; +} + + +void +ucon64_rom_nfo (const st_rominfo_t *rominfo) +{ + unsigned int padded = ucon64_testpad (ucon64.rom), + intro = ((ucon64.file_size - rominfo->buheader_len) > MBIT) ? + ((ucon64.file_size - rominfo->buheader_len) % MBIT) : 0; + int x, split = (UCON64_ISSET (ucon64.split)) ? ucon64.split : + ucon64_testsplit (ucon64.rom); + char buf[MAXBUFSIZE]; + + // backup unit header + if (rominfo->buheader && rominfo->buheader_len && rominfo->buheader_len != UNKNOWN_HEADER_LEN) + { + dumper (stdout, rominfo->buheader, rominfo->buheader_len, rominfo->buheader_start, DUMPER_HEX); + fputc ('\n', stdout); + } + else + if (rominfo->buheader_len && ucon64.quiet < 0) + { + ucon64_dump (stdout, ucon64.rom, rominfo->buheader_start, rominfo->buheader_len, DUMPER_HEX); + fputc ('\n', stdout); + } + + // backup unit type? + if (rominfo->copier_usage != NULL) + { + puts (rominfo->copier_usage); + fputc ('\n', stdout); + } + + // ROM header + if (rominfo->header && rominfo->header_len) + { + dumper (stdout, rominfo->header, rominfo->header_len, + rominfo->header_start + rominfo->buheader_len, DUMPER_HEX); + fputc ('\n', stdout); + } + + // console type + if (rominfo->console_usage != NULL) + puts (rominfo->console_usage); + + // name, maker, country and size + strcpy (buf, NULL_TO_EMPTY (rominfo->name)); + x = UCON64_ISSET (rominfo->data_size) ? + rominfo->data_size : + ucon64.file_size - rominfo->buheader_len; + printf ("%s\n%s\n%s\n%d Bytes (%.4f Mb)\n\n", + // some ROMs have a name with control chars in it -> replace control chars + to_func (buf, strlen (buf), toprint), + NULL_TO_EMPTY (rominfo->maker), + NULL_TO_EMPTY (rominfo->country), + x, + TOMBIT_F (x)); + + // padded? + if (!padded) + puts ("Padded: No"); + else + printf ("Padded: Maybe, %d Bytes (%.4f Mb)\n", padded, TOMBIT_F (padded)); + + // intro, trainer? + // nes.c determines itself whether or not there is a trainer + if (intro && ucon64.console != UCON64_NES) + printf ("Intro/Trainer: Maybe, %d Bytes\n", intro); + + // interleaved? + if (rominfo->interleaved != UCON64_UNKNOWN) + // printing this is handy for SNES, N64 & Genesis ROMs, but maybe + // nonsense for others + printf ("Interleaved/Swapped: %s\n", + rominfo->interleaved ? + (rominfo->interleaved > 1 ? "Yes (2)" : "Yes") : + "No"); + + // backup unit header? + if (rominfo->buheader_len) + printf ("Backup unit/emulator header: Yes, %d Bytes\n", + rominfo->buheader_len); + else +// for NoisyB: + puts ("Backup unit/emulator header: No"); // printing No is handy for SNES ROMs +// for NoisyB: + + // split? + if (split) + { + printf ("Split: Yes, %d part%s\n", split, (split != 1) ? "s" : ""); + // nes.c calculates the correct checksum for split ROMs (=Pasofami + // format), so there is no need to join the files + if (ucon64.console != UCON64_NES) + puts ("NOTE: To get the correct checksum the ROM parts must be joined"); + } + + // miscellaneous info + if (rominfo->misc[0]) + { + strcpy (buf, rominfo->misc); + printf ("%s\n", to_func (buf, strlen (buf), toprint)); + } + + // internal checksums? + if (rominfo->has_internal_crc) + { + char *fstr; + + // the internal checksum of GBA ROMS stores only the checksum of the + // internal header + if (ucon64.console != UCON64_GBA) + fstr = "Checksum: %%s, 0x%%0%dlx (calculated) %%c= 0x%%0%dlx (internal)\n"; + else + fstr = "Header checksum: %%s, 0x%%0%dlx (calculated) %%c= 0x%%0%dlx (internal)\n"; + + sprintf (buf, fstr, + rominfo->internal_crc_len * 2, rominfo->internal_crc_len * 2); +#ifdef USE_ANSI_COLOR + printf (buf, + ucon64.ansi_color ? + ((rominfo->current_internal_crc == rominfo->internal_crc) ? + "\x1b[01;32mOk\x1b[0m" : "\x1b[01;31mBad\x1b[0m") + : + ((rominfo->current_internal_crc == rominfo->internal_crc) ? "Ok" : "Bad"), + rominfo->current_internal_crc, + (rominfo->current_internal_crc == rominfo->internal_crc) ? '=' : '!', + rominfo->internal_crc); +#else + printf (buf, + (rominfo->current_internal_crc == rominfo->internal_crc) ? "Ok" : "Bad", + rominfo->current_internal_crc, + (rominfo->current_internal_crc == rominfo->internal_crc) ? '=' : '!', + rominfo->internal_crc); +#endif + + if (rominfo->internal_crc2[0]) + printf ("%s\n", rominfo->internal_crc2); + } + + fflush (stdout); +} + + +#ifdef USE_ZLIB +void +ucon64_fname_arch (const char *fname) +{ + char name[FILENAME_MAX]; + + unzFile file = unzOpen (fname); + unzip_goto_file (file, unzip_current_file_nr); + unzGetCurrentFileInfo (file, NULL, name, FILENAME_MAX, NULL, 0, NULL, 0); + unzClose (file); +#if defined _WIN32 || defined __MSDOS__ + { + int n, l = strlen (name); + for (n = 0; n < l; n++) + if (name[n] == '/') + name[n] = FILE_SEPARATOR; + } +#endif + strncpy (ucon64.fname_arch, basename2 (name), FILENAME_MAX)[FILENAME_MAX - 1] = 0; +} +#endif + + +void +ucon64_usage (int argc, char *argv[]) +{ + int x = 0, y = 0, c = 0, single = 0; + const char *name_exe = basename2 (argv[0]); +#ifdef USE_DISCMAGE + char *name_discmage; +#endif + (void) argc; // warning remover + +#ifdef USE_ZLIB + printf ("Usage: %s [OPTION]... [ROM|IMAGE|SRAM|FILE|DIR|ARCHIVE]...\n\n", name_exe); +#else + printf ("Usage: %s [OPTION]... [ROM|IMAGE|SRAM|FILE|DIR]...\n\n", name_exe); +#endif + + // single usage + for (x = 0; arg[x].val; x++) + if (arg[x].console) // IS console + for (y = 0; option[y]; y++) + for (c = 0; option[y][c].name || option[y][c].help; c++) + if (option[y][c].object) + if (((st_ucon64_obj_t *) option[y][c].object)->console == arg[x].console) + { + getopt2_usage (option[y]); + single = 1; + break; + } + + if (!single) + getopt2_usage (options); + + fputc ('\n', stdout); + + printf ("DATabase: %d known ROMs (DAT files: %s)\n\n", + ucon64_dat_total_entries (), ucon64.datdir); + +#ifdef USE_DISCMAGE + name_discmage = +#ifdef DLOPEN + ucon64.discmage_path; +#else +#if defined __MSDOS__ + "discmage.dxe"; +#elif defined __CYGWIN__ || defined _WIN32 + "discmage.dll"; +#elif defined __APPLE__ // Mac OS X actually + "libdiscmage.dylib"; +#elif defined __unix__ || defined __BEOS__ + "libdiscmage.so"; +#else + "unknown"; +#endif +#endif + + if (!ucon64.discmage_enabled) + { + printf (ucon64_msg[NO_LIB], name_discmage); + fputc ('\n', stdout); + } +#endif + +#ifdef USE_PARALLEL + puts ("NOTE: You only need to specify PORT if uCON64 doesn't detect the (right)\n" + " parallel port. If that is the case give a hardware address. For example:\n" + " ucon64 " OPTION_LONG_S "xswc \"rom.swc\" " OPTION_LONG_S "port=0x378\n" + " In order to connect a copier to a PC's parallel port you need a standard\n" + " bidirectional parallel cable\n"); +#endif + + printf ("TIP: %s " OPTION_LONG_S "help " OPTION_LONG_S "snes (would show only SNES related help)\n", name_exe); + +#if defined __MSDOS__ || defined _WIN32 + printf (" %s " OPTION_LONG_S "help|more (to see everything in more)\n", name_exe); +#else + printf (" %s " OPTION_LONG_S "help|less (to see everything in less)\n", name_exe); // less is more ;-) +#endif + + puts (" Give the force recognition switch a try if something went wrong\n" + "\n" + "Please report any problems/ideas/fixes to noisyb@gmx.net or\n" + "ucon64-announce@lists.sf.net or visit http://ucon64.sf.net\n"); +} diff --git a/tools/ucon64-2.0.0-src/src/ucon64.h b/tools/ucon64-2.0.0-src/src/ucon64.h new file mode 100644 index 0000000..5ab8cfa --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/ucon64.h @@ -0,0 +1,211 @@ +/* +uCON64 - a tool to modify video game ROMs and to transfer ROMs to the +different backup units/emulators that exist. It is based on the old uCON but +with completely new source. It aims to support all cartridge consoles and +handhelds like N64, JAG, SNES, NG, GENESIS, GB, LYNX, PCE, SMS, GG, NES and +their backup units + +Copyright (c) 1999 - 2004 NoisyB +Copyright (c) 2001 - 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef UCON64_H +#define UCON64_H + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include "ucon64_defines.h" // MAXBUFSIZE, etc.. + + +#define UCON64_ISSET(x) (x != UCON64_UNKNOWN) + + +typedef enum { UCON64_SPP, UCON64_EPP, UCON64_ECP } parport_mode_t; + +/* + st_rominfo_t this struct contains very specific informations only + _init() can supply after the correct console + type was identified. + st_ucon64_t this struct containes st_rominfo_t and unspecific + informations and some workflow stuff + st_ucon64_obj_t ucon64 object for use in st_getopt2_t +*/ +typedef struct +{ + const char *console_usage; // console system of the ROM + const char *copier_usage; // backup unit of the ROM + + int interleaved; // ROM is interleaved (swapped) + int data_size; // ROM data size without "red tape" + + const void *buheader; // (possible) header of backup unit + int buheader_start; // start of backup unit header (mostly 0) + int buheader_len; // length of backup unit header 0 == no bu hdr + + const void *header; // (possible) internal ROM header + int header_start; // start of internal ROM header + int header_len; // length of internal ROM header 0 == no hdr + + char name[MAXBUFSIZE]; // internal ROM name + const char *maker; // maker name of the ROM + const char *country; // country name of the ROM + char misc[MAXBUFSIZE]; // some miscellaneous information + // about the ROM in one single string + int has_internal_crc; // ROM has internal checksum (SNES, Mega Drive, Game Boy) + unsigned int current_internal_crc; // calculated checksum + + unsigned int internal_crc; // internal checksum + int internal_crc_start; // start of internal checksum in ROM header + int internal_crc_len; // length (in bytes) of internal checksum in ROM header + + char internal_crc2[MAXBUFSIZE]; // 2nd or inverse internal checksum +} st_rominfo_t; + +typedef struct +{ + int argc; + char **argv; + + int option; // current option (UCON64_HEX, UCON64_FIND, ...) + const char *optarg; // ptr to current options optarg + + // TODO?: rename to fname + const char *rom; // ROM (cmdline) with path + + int fname_len; // force fname output format for --rrom, --rename, etc... + // fname_len can be UCON64_RR83 (8.3) or UCON64_FORCE63 (63.x) + char fname_arch[FILENAME_MAX]; // filename in archive (currently only for zip) + int file_size; // (uncompressed) ROM file size (NOT console specific) + unsigned int crc32; // crc32 value of ROM (used for DAT files) (NOT console specific) + unsigned int fcrc32; // if non-zero: crc32 of ROM as it is on disk (NOT console specific) + + /* + if console == UCON64_UNKNOWN or st_rominfo_t == NULL ucon64_rom_nfo() won't + be shown + */ + int console; // the detected console system + + const char *file; // FILE (cmdline) with path + + char configfile[FILENAME_MAX]; // path and name of the config file + char configdir[FILENAME_MAX]; // directory for config + char datdir[FILENAME_MAX]; // directory for DAT files + char output_path[FILENAME_MAX]; // -o argument (default: cwd) +#ifdef USE_DISCMAGE + char discmage_path[FILENAME_MAX]; // path to the discmage DLL +#endif +#if defined USE_PPDEV || defined AMIGA + char parport_dev[80]; // parallel port device (e.g. +#endif // /dev/parport0 or parallel.device) + int parport_needed; + int parport; // parallel port address + parport_mode_t parport_mode; // parallel port mode: ECP, EPP, SPP +#ifdef USE_USB + int usbport; // non-zero => use usbport, 1 = USB0, 2 = USB1 + char usbport_dev[80]; // usb port device (e.g. /dev/usb/hiddev0) +#endif + +#ifdef USE_ANSI_COLOR + int ansi_color; +#endif + int backup; // flag if backups files should be created + int frontend; // flag if uCON64 was started by a frontend +#ifdef USE_DISCMAGE + int discmage_enabled; // flag if discmage DLL is loaded +#endif + int dat_enabled; // flag if DAT file(s) are usable/enabled + int quiet; // quiet == -1 means verbose + 1 + + int force_disc; // --disc was used + uint32_t flags; // detect and init ROM info + + int do_not_calc_crc; // disable checksum calc. to speed up --ls,--lsv, etc. + + /* + These values override values in st_rominfo_t. Use UCON64_ISSET() + to check them. When adding new ones don't forget to update + ucon64_execute_options() too. + */ +#if 1 + int buheader_len; // length of backup unit header 0 == no bu hdr + int interleaved; // ROM is interleaved (swapped) +#else + st_rominfo_t *override; // overrides values in (st_rominfo_t *) rominfo +#endif + +#if 1 + int id; // generate unique name (currently + // only used by snes_gd3()) + // the following values are for SNES, NES, Genesis and Nintendo 64 + int battery; // NES UNIF/iNES/Pasofami + int bs_dump; // SNES "ROM" is a Broadcast Satellaview dump + const char *comment; // NES UNIF + int controller; // NES UNIF & SNES NSRT + int controller2; // SNES NSRT + const char *dump_info; // NES UNIF + int io_mode; // SNES SWC, Nintendo 64 CD64 & Cyan's Megadrive copier + const char *mapr; // NES UNIF board name or iNES mapper number + int mirror; // NES UNIF/iNES/Pasofami + int part_size; // SNES/Genesis split part size + int region; // Genesis (for -multi) + int snes_header_base; // SNES ROM is "Extended" (or Sufami Turbo) + int snes_hirom; // SNES ROM is HiROM + int split; // ROM is split + int tv_standard; // NES UNIF + int use_dump_info; // NES UNIF + int vram; // NES UNIF +#else + void *console_workflow; // ptr to a console specific workflow +#endif + +#ifdef USE_DISCMAGE + void *image; // info from libdiscmage (dm_image_t *) +#endif + void *dat; // info from DATabase (st_ucon64_dat_t *) + st_rominfo_t *rominfo; // info from _init() (st_rominfo_t *) + const st_getopt2_t *options; // all options with help (st_getopt2_t) +} st_ucon64_t; + +typedef struct +{ + int console; // UCON64_SNES, etc... + uint32_t flags; // WF_INIT, etc.. +// const char *optarg; // pointer to optarg + // initialised with NULL and used later +} st_ucon64_obj_t; + +/* + ucon64_init() init st_rominfo_t, st_ucon64_dat_t and dm_image_t + ucon64_nfo() display contents of st_rominfo_t, st_ucon64_dat_t and + dm_image_t + ucon64_flush_rom() flush only st_rominfo_t + ucon64_usage() print usage + ucon64_fname_arch() + + ucon64 global (st_ucon64_t *) +*/ +extern int ucon64_init (void); +extern int ucon64_nfo (void); +extern st_rominfo_t *ucon64_flush_rom (st_rominfo_t *); +extern void ucon64_usage (int argc, char *argv[]); +#ifdef USE_ZLIB +extern void ucon64_fname_arch (const char *fname); +#endif + +extern st_ucon64_t ucon64; +#endif // UCON64_H diff --git a/tools/ucon64-2.0.0-src/src/ucon64_dat.c b/tools/ucon64-2.0.0-src/src/ucon64_dat.c new file mode 100644 index 0000000..e51d274 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/ucon64_dat.c @@ -0,0 +1,1248 @@ +/* +ucon64_dat.c - support for DAT files as known from RomCenter, GoodXXXX, etc. + +Copyright (c) 1999 - 2004 NoisyB +Copyright (c) 2002 - 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#include +#ifdef HAVE_UNISTD_H +#include +#endif +#ifdef HAVE_DIRENT_H +#include +#endif +#ifdef _WIN32 +#include +#endif +#include "misc/misc.h" +#include "misc/getopt2.h" +#include "misc/property.h" +#include "misc/string.h" +#include "misc/file.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "ucon64.h" +#include "ucon64_misc.h" +#include "ucon64_dat.h" +#include "console/console.h" + +#define MAX_FIELDS_IN_DAT 32 +#define DAT_FIELD_SEPARATOR (0xac) +#define DAT_FIELD_SEPARATOR_S "\xac" +#define MAX_GAMES_FOR_CONSOLE 50000 // TODO?: dynamic size + +typedef struct +{ + const char *id; // string to detect console from datfile name + int (*compare) (const void *a, const void *b); // the function which compares the id with the filename + // compare() == 0 means success + int8_t console; // UCON64_SNES, UCON64_NES, etc. + const st_getopt2_t *console_usage; +} st_console_t; + +typedef struct +{ + uint32_t crc32; + long filepos; +} st_idx_entry_t; + +typedef struct +{ + uint32_t crc32; + char *fname; +} st_mkdat_entry_t; + +#ifndef _WIN32 +static DIR *ddat = NULL; +#else +static HANDLE ddat = NULL; +#endif +static FILE *fdat = NULL; +static int ucon64_n_files = 0, filepos_line = 0, warning = 1; // show the warning only +static FILE *ucon64_datfile; // once when indexing +static char ucon64_dat_fname[FILENAME_MAX]; +static st_mkdat_entry_t *ucon64_mkdat_entries = NULL; + +const st_getopt2_t ucon64_dat_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "DATabase (support for DAT files)", + NULL + }, + { + "db", 0, 0, UCON64_DB, + NULL, "DATabase statistics", + &ucon64_wf[WF_OBJ_ALL_STOP_NO_ROM] + }, + { + "dbv", 0, 0, UCON64_DBV, + NULL, "like " OPTION_LONG_S "db but more verbose", + &ucon64_wf[WF_OBJ_ALL_STOP_NO_ROM] + }, + { + "dbs", 1, 0, UCON64_DBS, + "CRC32", "search ROM with CRC32 in DATabase", + &ucon64_wf[WF_OBJ_ALL_STOP_NO_ROM] + }, + { + "scan", 0, 0, UCON64_SCAN, + NULL, "generate ROM list for all ROMs using DATabase\n" + "like: GoodXXXX scan ...", + &ucon64_wf[WF_OBJ_ALL_INIT_PROBE_NO_SPLIT] + }, + { + "lsd", 0, 0, UCON64_LSD, + NULL, "same as " OPTION_LONG_S "scan", + &ucon64_wf[WF_OBJ_ALL_INIT_PROBE] + }, + { + "mkdat", 1, 0, UCON64_MKDAT, + "DATFILE", "create DAT file; use -o to specify an output directory", + &ucon64_wf[WF_OBJ_ALL_INIT_PROBE] + }, + { + "rrom", 0, 0, UCON64_RROM, + NULL, "rename ROMs to their internal names", + &ucon64_wf[WF_OBJ_ALL_INIT_PROBE_NO_SPLIT] + }, + { + "rename", 0, 0, UCON64_RENAME, + NULL, "rename ROMs to their DATabase names\n" + "use -o to specify an output directory", + &ucon64_wf[WF_OBJ_ALL_INIT_PROBE_NO_SPLIT] + }, + { + "rr83", 0, 0, UCON64_RR83, + NULL, "force to rename to 8.3 filenames", + &ucon64_wf[WF_OBJ_ALL_INIT_PROBE_NO_SPLIT] + }, + { + "force63", 0, 0, UCON64_FORCE63, + NULL, "force to rename all filenames into Joliet CD format\n" + "like: GoodXXXX rename inplace force63 ...\n" + "TIP: using " OPTION_LONG_S "nes would process only NES ROMs", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, + { + "rl", 0, 0, UCON64_RL, + NULL, "rename ROMs to lowercase", + NULL + }, + { + "ru", 0, 0, UCON64_RU, + NULL, "rename ROMs to uppercase", + NULL + }, +#if 0 + { + "good", 0, 0, UCON64_GOOD, + NULL, "used with " OPTION_LONG_S "rrom and " OPTION_LONG_S "rr83 ROMs will be renamed using\n" + "the DATabase", + NULL + }, +#endif + { + NULL, 0, 0, 0, + NULL, NULL, + NULL + } + }; + + +static void +closedir_ddat (void) +{ + if (ddat) +#ifndef _WIN32 + closedir (ddat); +#else + FindClose (ddat); +#endif + ddat = NULL; +} + + +static void +fclose_fdat (void) +{ + if (fdat) + fclose (fdat); + fdat = NULL; +} + + +static int +custom_stristr (const void *a, const void *b) +{ + return !stristr ((const char *) a, (const char *) b); +} + + +static int +custom_strnicmp (const void *a, const void *b) +{ + return strnicmp ((const char *) a, (const char *) b, + MIN (strlen ((const char *) a), strlen ((const char *) b))); +} + + +#if 0 +static int +custom_stricmp (const void *a, const void *b) +{ + return stricmp ((const char *) a, (const char *) b); +} +#endif + + +static char * +get_next_file (char *fname) +{ +#ifndef _WIN32 + struct dirent *ep; + + if (!ddat) + if (!(ddat = opendir (ucon64.datdir))) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], ucon64.datdir); + return NULL; + } + while ((ep = readdir (ddat)) != NULL) + if (!stricmp (get_suffix (ep->d_name), ".dat")) + { + sprintf (fname, "%s" FILE_SEPARATOR_S "%s", ucon64.datdir, ep->d_name); + return fname; + } +#else + char search_pattern[FILENAME_MAX]; + WIN32_FIND_DATA find_data; + + if (!ddat) + { + // Note that FindFirstFile() & FindNextFile() are case insensitive + sprintf (search_pattern, "%s" FILE_SEPARATOR_S "*.dat", ucon64.datdir); + if ((ddat = FindFirstFile (search_pattern, &find_data)) == INVALID_HANDLE_VALUE) + { + // Not being able to find a DAT file is not a real error + if (GetLastError () != ERROR_FILE_NOT_FOUND) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], ucon64.datdir); + return NULL; + } + } + else + { + sprintf (fname, "%s" FILE_SEPARATOR_S "%s", ucon64.datdir, find_data.cFileName); + return fname; + } + } + while (FindNextFile (ddat, &find_data)) + { + sprintf (fname, "%s" FILE_SEPARATOR_S "%s", ucon64.datdir, find_data.cFileName); + return fname; + } +#endif + closedir_ddat (); + return NULL; +} + + +static st_ucon64_dat_t * +get_dat_header (char *fname, st_ucon64_dat_t *dat) +{ + char buf[50 * 80]; // should be enough + + // Hell yes! I (NoisyB) use get_property() here... + strncpy (dat->author, get_property (fname, "author", buf, "Unknown"), sizeof (dat->author))[sizeof (dat->author) - 1] = 0; + strncpy (dat->version, get_property (fname, "version", buf, "?"), sizeof (dat->version))[sizeof (dat->version) - 1] = 0; + strncpy (dat->refname, get_property (fname, "refname", buf, ""), sizeof (dat->refname))[sizeof (dat->refname) - 1] = 0; + strcpy (dat->comment, get_property (fname, "comment", buf, "")); + strncpy (dat->date, get_property (fname, "date", buf, "?"), sizeof (dat->date))[sizeof (dat->date) - 1] = 0; + + return dat; +} + + +static int +fname_to_console (const char *fname, st_ucon64_dat_t *dat) +{ + int pos; + // We use the filename to find out for what console a DAT file is meant. + // The field "refname" seems too unreliable. + static const st_console_t console_type[] = + { + {"GoodSNES", custom_strnicmp, UCON64_SNES, snes_usage}, + {"SNES", custom_strnicmp, UCON64_SNES, snes_usage}, + {"GoodNES", custom_strnicmp, UCON64_NES, nes_usage}, + {"NES", custom_strnicmp, UCON64_NES, nes_usage}, + {"FDS", custom_stristr, UCON64_NES, nes_usage}, + {"GoodGBA", custom_strnicmp, UCON64_GBA, gba_usage}, + {"GBA", custom_strnicmp, UCON64_GBA, gba_usage}, + {"GoodGBX", custom_strnicmp, UCON64_GB, gameboy_usage}, + {"GBX", custom_strnicmp, UCON64_GB, gameboy_usage}, + {"GoodGEN", custom_strnicmp, UCON64_GEN, genesis_usage}, + {"GEN", custom_strnicmp, UCON64_GEN, genesis_usage}, + {"GoodGG", custom_strnicmp, UCON64_SMS, sms_usage}, + {"GG", custom_strnicmp, UCON64_SMS, sms_usage}, + {"GoodSMS", custom_strnicmp, UCON64_SMS, sms_usage}, + {"SMS", custom_strnicmp, UCON64_SMS, sms_usage}, + {"GoodJAG", custom_strnicmp, UCON64_JAG, jaguar_usage}, + {"JAG", custom_strnicmp, UCON64_JAG, jaguar_usage}, + {"GoodLynx", custom_strnicmp, UCON64_LYNX, lynx_usage}, + {"Lynx", custom_strnicmp, UCON64_LYNX, lynx_usage}, + {"GoodN64", custom_strnicmp, UCON64_N64, n64_usage}, + {"N64", custom_strnicmp, UCON64_N64, n64_usage}, + {"GoodPCE", custom_strnicmp, UCON64_PCE, pcengine_usage}, + {"PCE", custom_strnicmp, UCON64_PCE, pcengine_usage}, + {"Good2600", custom_strnicmp, UCON64_ATA, atari_usage}, + {"2600", custom_strnicmp, UCON64_ATA, atari_usage}, + {"Good5200", custom_strnicmp, UCON64_ATA, atari_usage}, + {"5200", custom_strnicmp, UCON64_ATA, atari_usage}, + {"Good7800", custom_strnicmp, UCON64_ATA, atari_usage}, + {"7800", custom_strnicmp, UCON64_ATA, atari_usage}, + {"GoodVECT", custom_strnicmp, UCON64_VEC, vectrex_usage}, + {"Vectrex", custom_stristr, UCON64_VEC, vectrex_usage}, + {"GoodWSX", custom_strnicmp, UCON64_SWAN, swan_usage}, + {"swan", custom_stristr, UCON64_SWAN, swan_usage}, + {"GoodCOL", custom_strnicmp, UCON64_COLECO, coleco_usage}, + {"Coleco", custom_stristr, UCON64_COLECO, coleco_usage}, + {"GoodINTV", custom_strnicmp, UCON64_INTELLI, intelli_usage}, + {"Intelli", custom_stristr, UCON64_INTELLI, intelli_usage}, + {"GoodNGPX", custom_strnicmp, UCON64_NGP, ngp_usage}, + {"NGP", custom_strnicmp, UCON64_NGP, ngp_usage}, + {"GoodVBOY", custom_strnicmp, UCON64_VBOY, vboy_usage}, + {"VBOY", custom_strnicmp, UCON64_VBOY, vboy_usage}, + + {"Neo-Geo", custom_strnicmp, UCON64_NG, neogeo_usage}, + {"MAME", custom_stristr, UCON64_MAME, mame_usage}, + {"Dreamcast", custom_stristr, UCON64_DC, dc_usage}, + {"Saturn", custom_stristr, UCON64_SAT, sat_usage}, + {"3do", custom_stristr, UCON64_3DO, real3do_usage}, + {"CDi", custom_stristr, UCON64_CDI, cdi_usage}, + {"XBox", custom_stristr, UCON64_XBOX, xbox_usage}, + {"CD32", custom_stristr, UCON64_CD32, cd32_usage}, +/* TODO: + {"psx", custom_stristr, UCON64_PSX, psx_usage}, + {"ps1", custom_stristr, UCON64_PSX, psx_usage}, + {"psone", custom_stristr, UCON64_PSX, psx_usage}, + {"ps2", custom_stristr, UCON64_PS2, ps2_usage}, + {"dc", custom_stristr, UCON64_DC, dc_usage}, + {"system", custom_stristr, UCON64_S16, s16_usage}, + {"pocket", custom_stristr, UCON64_NGP, ngp_usage}, + {"virtual", custom_stristr, UCON64_VBOY, vboy_usage}, + {"", custom_stristr, 0, channelf_usage}, + {"", custom_stristr, 0, gamecom_usage}, + {"", custom_stristr, 0, gc_usage}, + {"", custom_stristr, 0, gp32_usage}, + {"", custom_stristr, 0, odyssey2_usage}, + {"", custom_stristr, 0, odyssey_usage}, + {"", custom_stristr, 0, s16_usage}, + {"", custom_stristr, 0, sat_usage}, + {"", custom_stristr, 0, vc4000_usage}, +*/ + {0, 0, 0, 0} + }; + + for (pos = 0; console_type[pos].id; pos++) + { + if (!console_type[pos].compare (fname, console_type[pos].id)) + { + dat->console = console_type[pos].console; + dat->console_usage = (console_type[pos].console_usage[0].help); + break; + } + } + + if (console_type[pos].id == 0) + { + if (warning) + { + printf ("WARNING: \"%s\" is meant for a console unknown to uCON64\n\n", fname); + warning = 0; + } + dat->console = UCON64_UNKNOWN; + dat->console_usage = NULL; + } + + return dat->console; +} + + +static st_ucon64_dat_t * +line_to_dat (const char *fname, const char *dat_entry, st_ucon64_dat_t *dat) +// parse a dat entry into st_ucon64_dat_t +{ + static const char *dat_country[28][2] = + { + {"(FC)", "French Canada"}, + {"(FN)", "Finland"}, + {"(G)", "Germany"}, + {"(GR)", "Greece"}, + {"(H)", "Holland"}, // other (incorrect) name for The Netherlands + {"(HK)", "Hong Kong"}, + {"(I)", "Italy"}, + {"(J)", "Japan"}, + {"(JE)", "Japan & Europe"}, + {"(JU)", "Japan & U.S.A."}, + {"(JUE)", "Japan, U.S.A. & Europe"}, + {"(K)", "Korea"}, + {"(NL)", "The Netherlands"}, + {"(PD)", "Public Domain"}, + {"(S)", "Spain"}, + {"(SW)", "Sweden"}, + {"(U)", "U.S.A."}, + {"(UE)", "U.S.A. & Europe"}, + {"(UK)", "England"}, + {"(Unk)", "Unknown country"}, + /* + At least (A), (B), (C), (E) and (F) have to come after the other + countries, because some games have (A), (B) etc. in their name (the + non-country part). For example, the SNES games + "SD Gundam Generations (A) 1 Nen Sensouki (J) (ST)" or + "SD Gundam Generations (B) Guripus Senki (J) (ST)". + */ + {"(1)", "Japan & Korea"}, + {"(4)", "U.S.A. & Brazil NTSC"}, + {"(A)", "Australia"}, + {"(B)", "non U.S.A. (Genesis)"}, + {"(C)", "China"}, + {"(E)", "Europe"}, + {"(F)", "France"}, + {NULL, NULL} + }; + static const char *dat_flags[][2] = + { + // Often flags contain numbers, so don't search for the closing bracket + {"[a", "Alternate"}, + {"[p", "Pirate"}, + {"[b", "Bad dump"}, + {"[t", "Trained"}, + {"[f", "Fixed"}, + {"[T", "Translation"}, + {"[h", "Hack"}, + {"[x", "Bad checksum"}, + {"[o", "Overdump"}, + {"[!]", "Verified good dump"}, // [!] is ok + {NULL, NULL} + }; + char *dat_field[MAX_FIELDS_IN_DAT + 2] = { NULL }, buf[MAXBUFSIZE], *p = NULL; + uint32_t pos = 0; + int x = 0; + + if ((unsigned char) dat_entry[0] != DAT_FIELD_SEPARATOR) + return NULL; + + strcpy (buf, dat_entry); + + strarg (dat_field, buf, DAT_FIELD_SEPARATOR_S, MAX_FIELDS_IN_DAT); + + memset (dat, 0, sizeof (st_ucon64_dat_t)); + + strcpy (dat->datfile, basename2 (fname)); + + if (dat_field[3]) + strcpy (dat->name, dat_field[3]); + + if (dat_field[4]) + strcpy (dat->fname, dat_field[4]); + + if (dat_field[5]) + sscanf (dat_field[5], "%x", (unsigned int *) &dat->crc32); + + if (dat_field[6][0] == 'N' && dat_field[7][0] == 'O') + // e.g. GoodSNES bad crc & Nintendo FDS DAT + sscanf (dat_field[8], "%d", (int *) &dat->fsize); + else + sscanf (dat_field[6], "%d", (int *) &dat->fsize); + + *buf = 0; + for (x = 0, p = buf; dat_flags[x][0]; x++, p += strlen (p)) + if (strstr (dat->name, dat_flags[x][0])) + sprintf (p, "%s, ", dat_flags[x][1]); + if (buf[0]) + { + if ((p = strrchr (buf, ','))) + *p = 0; + sprintf (dat->misc, "Flags: %s", buf); + } + + p = dat->name; + dat->country = NULL; + for (pos = 0; dat_country[pos][0]; pos++) + if (stristr (p, dat_country[pos][0])) + { + dat->country = dat_country[pos][1]; + break; + } + + fname_to_console (dat->datfile, dat); + dat->copier_usage = unknown_usage[0].help; + + return dat; +} + + +uint32_t +line_to_crc (const char *dat_entry) +// get crc32 of current line +{ + char *dat_field[MAX_FIELDS_IN_DAT + 2] = { NULL }, buf[MAXBUFSIZE]; + unsigned int crc32 = 0; // has to be unsigned int to + // avoid a stupid gcc warning + if ((unsigned char) dat_entry[0] != DAT_FIELD_SEPARATOR) + return 0; + + strcpy (buf, dat_entry); + + strarg (dat_field, buf, DAT_FIELD_SEPARATOR_S, MAX_FIELDS_IN_DAT); + + if (dat_field[5]) + sscanf (dat_field[5], "%x", &crc32); + + return (uint32_t) crc32; +} + + +static st_ucon64_dat_t * +get_dat_entry (char *fname, st_ucon64_dat_t *dat, uint32_t crc32, long start) +{ + char buf[MAXBUFSIZE]; + + if (!fdat) + if (!(fdat = fopen (fname, "rb"))) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], fname); +#if defined _WIN32 || defined __CYGWIN__ || defined __MSDOS__ + if (!stricmp (basename2 (fname), "ntuser.dat")) + fputs (" Please see the FAQ, question 47 & 36\n", stderr); + // "ERROR: " +#endif + return NULL; + } + + if (start >= 0) + fseek (fdat, start, SEEK_SET); + + filepos_line = ftell (fdat); + while (fgets (buf, MAXBUFSIZE, fdat) != NULL) + { + if ((unsigned char) buf[0] == DAT_FIELD_SEPARATOR) + if (!crc32 || line_to_crc (buf) == crc32) + if (line_to_dat (fname, buf, dat)) + return dat; + filepos_line = ftell (fdat); + } + + fclose_fdat (); + return NULL; +} + + +int +ucon64_dat_view (int console, int verbose) +{ + char fname_dat[FILENAME_MAX], fname_index[FILENAME_MAX]; + const char *fname; + unsigned char *p; + static st_ucon64_dat_t dat; + int n, fsize, n_entries, n_entries_sum = 0, n_datfiles = 0; + st_idx_entry_t *idx_entry; + + while (get_next_file (fname_dat)) + { + fname = basename2 (fname_dat); + if (console != UCON64_UNKNOWN) + if (fname_to_console (fname, &dat) != console) + continue; + + get_dat_header (fname_dat, &dat); + strcpy (fname_index, fname_dat); + set_suffix (fname_index, ".idx"); + + fsize = fsizeof (fname_index); + n_entries = fsize / sizeof (st_idx_entry_t); + n_entries_sum += n_entries; + n_datfiles++; + + printf ("DAT info:\n" + " %s\n" +// " Console: %s\n" + " Version: %s (%s, %s)\n" + " Author: %s\n" + " Comment: %s\n" + " Entries: %d\n\n", + fname, +// dat.console_usage[0], + dat.version, + dat.date, + dat.refname, + dat.author, + dat.comment, + n_entries); + + if (!(p = (unsigned char *) malloc (fsize))) + { + fprintf (stderr, ucon64_msg[BUFFER_ERROR], fsize); + continue; + } + + if (ucon64_fread (p, 0, fsize, fname_index) != fsize) + { + fprintf (stderr, ucon64_msg[READ_ERROR], fname_index); + free (p); + continue; + } + + if (verbose) + { + // display all DAT entries + for (n = 0; n < n_entries; n++) + { + idx_entry = &((st_idx_entry_t *) p)[n]; + printf ("Checksum (CRC32): 0x%08x\n", (unsigned int) idx_entry->crc32); + if (get_dat_entry (fname_dat, &dat, idx_entry->crc32, idx_entry->filepos)) + ucon64_dat_nfo (&dat, 0); + fputc ('\n', stdout); + } + fclose_fdat (); + } + free (p); + } + + printf ("DAT files: %d; entries: %d; total entries: %d\n", + n_datfiles, n_entries_sum, ucon64_dat_total_entries ()); + + return 0; +} + + +unsigned int +ucon64_dat_total_entries (void) +{ + uint32_t entries = 0; + int fsize; + char fname[FILENAME_MAX]; + + if (!ucon64.dat_enabled) + return 0; + + while (get_next_file (fname)) + { + set_suffix (fname, ".idx"); + fsize = fsizeof (fname); + entries += (fsize < 0 ? 0 : fsize / sizeof (st_idx_entry_t)); + } + + return entries; +} + + +static int +idx_compare (const void *key, const void *found) +{ + /* + The return statement looks overly complicated, but is really necessary. + This construct: + return ((st_idx_entry_t *) key)->crc32 - ((st_idx_entry_t *) found)->crc32; + does *not* work correctly for all cases. + */ + return (int) (((int64_t) ((st_idx_entry_t *) key)->crc32 - + (int64_t) ((st_idx_entry_t *) found)->crc32) / 2); +} + + +st_ucon64_dat_t * +ucon64_dat_search (uint32_t crc32, st_ucon64_dat_t *datinfo) +{ + char fname_dat[FILENAME_MAX], fname_index[FILENAME_MAX]; + const char *fname; + unsigned char *p = NULL; + int32_t fsize = 0; + st_idx_entry_t *idx_entry, key; + static st_ucon64_dat_t dat; + st_ucon64_dat_t *dat_p = NULL; + + memset (&dat, 0, sizeof (st_ucon64_dat_t)); + + if (!crc32) + return NULL; + + while (get_next_file (fname_dat)) + { + fname = basename2 (fname_dat); + + if (ucon64.console != UCON64_UNKNOWN) + if (fname_to_console (fname, &dat) != ucon64.console) + continue; + + strcpy (fname_index, fname_dat); + set_suffix (fname_index, ".idx"); + if (access (fname_index, F_OK) != 0) // for a "bad" DAT file + continue; + fsize = fsizeof (fname_index); + + if (!(p = (unsigned char *) malloc (fsize))) + { + fprintf (stderr, ucon64_msg[BUFFER_ERROR], fsize); + closedir_ddat (); + return NULL; + } + + // load the index for the current dat file + if (ucon64_fread (p, 0, fsize, fname_index) != fsize) + { + fprintf (stderr, ucon64_msg[READ_ERROR], fname_index); + closedir_ddat (); + free (p); + return NULL; + } + + // search index for crc + key.crc32 = crc32; + idx_entry = (st_idx_entry_t *) bsearch (&key, p, fsize / sizeof (st_idx_entry_t), + sizeof (st_idx_entry_t), idx_compare); + if (idx_entry) // crc32 found + { + if (!datinfo) + dat_p = (st_ucon64_dat_t *) &dat; // TODO?: malloc() + else + dat_p = (st_ucon64_dat_t *) &datinfo; + + // open dat file and read entry + if (get_dat_entry (fname_dat, dat_p, crc32, idx_entry->filepos)) + if (crc32 == dat_p->crc32) + { + strcpy (dat_p->datfile, basename2 (fname_dat)); + get_dat_header (fname_dat, dat_p); + closedir_ddat (); + fclose_fdat (); + free (p); + return dat_p; + } + fclose_fdat (); + } + free (p); + } + + return NULL; +} + + +int +ucon64_dat_indexer (void) +// create or update index of DAT file +{ + char fname_dat[FILENAME_MAX], fname_index[FILENAME_MAX], errorfname[FILENAME_MAX]; + struct stat fstate_dat, fstate_index; + st_ucon64_dat_t dat; + FILE *errorfile; + time_t start_time = 0; + int update = 0, n_duplicates, n, size = 0, pos; + st_idx_entry_t *idx_entries, *idx_entry; + + warning = 1; // enable warning again for DATs with unrecognized console systems + + if (!(idx_entries = (st_idx_entry_t *) + malloc (MAX_GAMES_FOR_CONSOLE * sizeof (st_idx_entry_t)))) + { + fprintf (stderr, ucon64_msg[BUFFER_ERROR], + MAX_GAMES_FOR_CONSOLE * sizeof (st_idx_entry_t)); + exit (1); + } + + while (get_next_file (fname_dat)) + { + strcpy (fname_index, fname_dat); + set_suffix (fname_index, ".idx"); + + if (!stat (fname_dat, &fstate_dat) && !stat (fname_index, &fstate_index)) + { + if (fstate_dat.st_mtime < fstate_index.st_mtime) + continue; // index file seems to be present and up-to-date + update = 1; + } + + start_time = time (0); + size = fsizeof (fname_dat); + + printf ("%s: %s\n", (update ? "Update" : "Create"), basename2 (fname_index)); + pos = 0; + n_duplicates = 0; + errorfile = NULL; + while (get_dat_entry (fname_dat, &dat, 0, -1)) + { + if (pos == MAX_GAMES_FOR_CONSOLE) + { + fprintf (stderr, + "\n" + "INTERNAL ERROR: MAX_GAMES_FOR_CONSOLE is too small (%d)\n", + MAX_GAMES_FOR_CONSOLE); + break; + } + + /* + Doing a linear search removes the need of using the slow qsort() + function inside the loop. Doing a binary search doesn't improve the + speed much, but is much more efficient of course. Using qsort() + inside the loop slows it down with a factor greater than 10. + */ + idx_entry = NULL; + for (n = 0; n < pos; n++) + if (idx_entries[n].crc32 == dat.crc32) + idx_entry = &idx_entries[n]; + if (idx_entry) + { + // This really makes one loose trust in the DAT files... + char current_name[2 * 80]; + long current_filepos = ftell (fdat); + + if (!errorfile) + { + strcpy (errorfname, fname_index); + set_suffix (errorfname, ".err"); + if (!(errorfile = fopen (errorfname, "w"))) // text file for WinDOS + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], errorfname); + continue; + } + } + + strcpy (current_name, dat.name); + get_dat_entry (fname_dat, &dat, 0, idx_entry->filepos); + fprintf (errorfile, + "\n" + "WARNING: DAT file contains a duplicate CRC32 (0x%x)!\n" + " First game with this CRC32: \"%s\"\n" + " Ignoring game: \"%s\"\n", + (unsigned int) dat.crc32, dat.name, current_name); + + n_duplicates++; + fseek (fdat, current_filepos, SEEK_SET); + continue; + } + + idx_entries[pos].crc32 = dat.crc32; + idx_entries[pos].filepos = filepos_line; + + if (!(pos % 20)) + ucon64_gauge (start_time, ftell (fdat), size); + pos++; + } + fclose_fdat (); + + if (pos > 0) + { + qsort (idx_entries, pos, sizeof (st_idx_entry_t), idx_compare); + if (ucon64_fwrite (idx_entries, 0, pos * sizeof (st_idx_entry_t), fname_index, "wb") + != (int) (pos * sizeof (st_idx_entry_t))) + { + fputc ('\n', stderr); + fprintf (stderr, ucon64_msg[WRITE_ERROR], fname_index); + } + ucon64_gauge (start_time, size, size); + } + + if (n_duplicates > 0) + printf ("\n" + "\n" + "WARNING: DAT file contains %d duplicate CRC32%s\n" + " Warnings have been written to \"%s\"", + n_duplicates, n_duplicates != 1 ? "s" : "", errorfname); + if (errorfile) + { + fclose (errorfile); + errorfile = NULL; + } + fputs ("\n\n", stdout); + } + free (idx_entries); + + return 0; +} + + +#if 0 +st_ucon64_dat_t * +ucon64_dat_flush (st_ucon64_dat_t *dat) +{ + memset (dat, 0, sizeof (st_ucon64_dat_t)); + ucon64.dat = NULL; + return NULL; +} +#endif + + +void +ucon64_dat_nfo (const st_ucon64_dat_t *dat, int display_version) +{ + char buf[MAXBUFSIZE], *p = NULL; + int n; + + if (!dat) + { + printf (ucon64_msg[DAT_NOT_FOUND], ucon64.crc32); + return; + } + + fputs ("DAT info:\n", stdout); + // console type? + if (dat->console_usage != NULL) + { + strcpy (buf, dat->console_usage); + // fix ugly multi-line console "usages" (PC-Engine) + if ((p = strchr (buf, '\n')) != NULL) + *p = 0; + printf (" %s\n", buf); + } + + printf (" %s\n", dat->name); + + if (dat->country) + printf (" %s\n", dat->country); + + /* + The DAT files are not consistent. Some include the file suffix, but + others don't. We want to display the canonical file name only if it + really differs from the canonical game name (usually file name without + suffix). + */ + n = strlen (dat->fname); + p = (char *) get_suffix (dat->fname); + if (!(stricmp (p, ".nes") && // NES + stricmp (p, ".fds") && // NES FDS + stricmp (p, ".gb") && // Game Boy + stricmp (p, ".gbc") && // Game Boy Color + stricmp (p, ".gba") && // Game Boy Advance + stricmp (p, ".smc") && // SNES + stricmp (p, ".sc") && // Sega Master System + stricmp (p, ".sg") && // Sega Master System + stricmp (p, ".sms") && // Sega Master System + stricmp (p, ".gg") && // Game Gear + stricmp (p, ".smd") && // Genesis + stricmp (p, ".v64"))) // Nintendo 64 + ((char *) dat->fname)[strlen (dat->fname) - strlen (p)] = 0; + + if (stricmp (dat->name, dat->fname) != 0) + printf (" Filename: %s\n", dat->fname); + + printf (" %d Bytes (%.4f Mb)\n", (int) dat->fsize, TOMBIT_F (dat->fsize)); + + if (dat->misc[0]) + printf (" %s\n", dat->misc); + + if (display_version) + { + if (stristr (dat->datfile, dat->version)) + printf (" %s (%s, %s)\n", + dat->datfile, + dat->date, + dat->refname); + else + printf (" %s (%s, %s, %s)\n", + dat->datfile, + dat->version, + dat->date, + dat->refname); + } +} + + +static void +ucon64_close_datfile (void) +{ + int n; + + if (ucon64_datfile) + { + fclose (ucon64_datfile); + printf (ucon64_msg[WROTE], ucon64_dat_fname); + ucon64_datfile = NULL; + + for (n = 0; n < ucon64_n_files; n++) + { + free (ucon64_mkdat_entries[n].fname); + ucon64_mkdat_entries[n].fname = NULL; + } + ucon64_n_files = 0; + } +} + + +int +ucon64_create_dat (const char *dat_file_name, const char *filename, + int buheader_len) +{ + static int first_file = 1, console; + int n, x; + static char *console_name; + char fname[FILENAME_MAX], *ptr; + time_t time_t_val; + struct tm *t; + + if (first_file) + { + char *plugin = ""; + + first_file = 0; + console = ucon64.console; + switch (ucon64.console) + { + case UCON64_3DO: + console_name = "3DO"; + break; + case UCON64_ATA: + console_name = "NES"; + break; + case UCON64_CD32: + console_name = "CD32"; + break; + case UCON64_CDI: + console_name = "CD-i"; + break; + case UCON64_COLECO: + console_name = "Coleco"; + break; + case UCON64_DC: + console_name = "Dreamcast"; + break; + case UCON64_GB: + console_name = "Game Boy"; + break; + case UCON64_GBA: + console_name = "Game Boy Advance"; + break; + case UCON64_GC: + console_name = "Game Cube"; + break; + case UCON64_GEN: + console_name = "Genesis/Mega Drive"; + plugin = "genesis.dll"; + break; + case UCON64_INTELLI: + console_name = "Intellivision"; + break; + case UCON64_JAG: + console_name = "Jaguar"; + break; + case UCON64_LYNX: + console_name = "Lynx"; + break; + case UCON64_MAME: + console_name = "M.A.M.E."; + plugin = "arcade.dll"; + break; + case UCON64_N64: + console_name = "Nintendo 64"; + plugin = "n64.dll"; + break; + case UCON64_NES: + console_name = "NES"; + plugin = "nes.dll"; + break; + case UCON64_NG: + console_name = "Neo Geo"; + plugin = "arcade.dll"; + break; + case UCON64_NGP: + console_name = "Neo Geo Pocket"; + break; + case UCON64_PCE: + console_name = "PC-Engine"; + break; + case UCON64_PS2: + console_name = "Playstation 2"; + break; + case UCON64_PSX: + console_name = "Playstation"; + break; + case UCON64_S16: + console_name = "S16"; + break; + case UCON64_SAT: + console_name = "Saturn"; + break; + case UCON64_SMS: + console_name = "SMS/Game Gear"; + break; + case UCON64_SNES: + console_name = "SNES"; + plugin = "snes.dll"; // be sure to use the new SNES plug-in (RC 2.62) + break; + case UCON64_SWAN: + console_name = "Wonderswan"; + break; + case UCON64_VBOY: + console_name = "Virtual Boy"; + break; + case UCON64_VEC: + console_name = "Vectrex"; + break; + case UCON64_XBOX: + console_name = "XBox"; + break; + default: + fputs (ucon64_msg[CONSOLE_ERROR], stderr); + exit (1); + break; + } + + if (!(ucon64_mkdat_entries = (st_mkdat_entry_t *) + malloc (MAX_GAMES_FOR_CONSOLE * sizeof (st_mkdat_entry_t)))) + { + fprintf (stderr, ucon64_msg[BUFFER_ERROR], + MAX_GAMES_FOR_CONSOLE * sizeof (st_mkdat_entry_t)); + exit (1); + } + + strcpy (ucon64_dat_fname, dat_file_name); + ucon64_file_handler (ucon64_dat_fname, NULL, OF_FORCE_BASENAME); + if (!(ucon64_datfile = fopen (ucon64_dat_fname, "wb"))) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], ucon64_dat_fname); + exit (1); + } + register_func (ucon64_close_datfile); + + time_t_val = time (NULL); + t = localtime (&time_t_val); + // RomCenter uses files in DOS text format, so we generate a file in that format + fprintf (ucon64_datfile, "[CREDITS]\r\n" + "author=uCON64\r\n" + "email=noisyb@gmx.net\r\n" + "homepage=uCON64 homepage\r\n" + "url=ucon64.sf.net\r\n" + "version=%s-%s\r\n" + "date=%d/%d/%d\r\n" + "comment=%s DAT file generated by uCON64\r\n" + "[DAT]\r\n" + "version=2.50\r\n" // required by RomCenter! + "plugin=%s\r\n" + "[EMULATOR]\r\n" + "refname=%s\r\n" + "version=\r\n" + "[GAMES]\r\n", + UCON64_VERSION_S, console_name, + t->tm_mday, t->tm_mon + 1, t->tm_year + 1900, + console_name, + plugin, + console_name); + } // first_file + + if (ucon64_n_files == MAX_GAMES_FOR_CONSOLE) + { + fprintf (stderr, + "INTERNAL ERROR: MAX_GAMES_FOR_CONSOLE is too small (%d)\n", + MAX_GAMES_FOR_CONSOLE); + exit (1); + } + strcpy (fname, basename2 (filename)); + + // Check the console type + n = 0; + if (ucon64.console != console) + { + if (ucon64.quiet == -1) + printf ("WARNING: Skipping (!%s) ", console_name); + else + return -1; + } + else + { + // Check if the CRC32 is unique. We don't want to be as stupid as + // the tool used to create the GoodDAT files. + // Yes, a plain and simple linear search. Analysing the files is orders + // of magnitude slower than this search + for (; n < ucon64_n_files; n++) + if (ucon64_mkdat_entries[n].crc32 == ucon64.crc32) + break; + if (n != ucon64_n_files) + { + if (ucon64.quiet < 1) // better print this by default + fputs ("WARNING: Skipping (duplicate) ", stdout); + else + return -1; + } + } + + fputs (filename, stdout); + if (ucon64.quiet == -1) // -v was specified + if (ucon64.fname_arch[0]) + printf (" (%s)", ucon64.fname_arch); + fputc ('\n', stdout); + + if (ucon64.console != console) // ucon64.quiet == -1 + return -1; + if (n != ucon64_n_files) + { + if (ucon64.quiet < 1) // better print this by default + printf (" First file with this CRC32 (0x%x) is:\n" + " \"%s\"\n", ucon64.crc32, ucon64_mkdat_entries[n].fname); + return -1; + } + + // Store the CRC32 to check if a file is unique + ucon64_mkdat_entries[ucon64_n_files].crc32 = ucon64.crc32; + /* + Also store the name of the file to display a helpful error message if a + file is not unique (a duplicate). We store the current filename inside the + archive as well, to be even more helpful :-) + */ + x = strlen (fname) + (ucon64.fname_arch[0] ? strlen (ucon64.fname_arch) + 4 : 1); + if (!(ucon64_mkdat_entries[ucon64_n_files].fname = (char *) malloc (x))) + { // + 3 for " ()" + fprintf (stderr, ucon64_msg[BUFFER_ERROR], x); // + 1 for ASCII-z + exit (1); + } + sprintf (ucon64_mkdat_entries[ucon64_n_files].fname, "%s%s%s%s", + fname, + ucon64.fname_arch[0] ? " (" : "", + ucon64.fname_arch[0] ? ucon64.fname_arch : "", + ucon64.fname_arch[0] ? ")" : ""); + + ptr = (char *) get_suffix (fname); + if (*ptr) + *ptr = 0; + fprintf (ucon64_datfile, DAT_FIELD_SEPARATOR_S "%s" // set file name + DAT_FIELD_SEPARATOR_S "%s" // set full name + DAT_FIELD_SEPARATOR_S "%s" // clone file name + DAT_FIELD_SEPARATOR_S "%s" // clone full name + DAT_FIELD_SEPARATOR_S "%s" // rom file name + DAT_FIELD_SEPARATOR_S "%08x" // RC quirck: leading zeroes are required + DAT_FIELD_SEPARATOR_S "%d" + DAT_FIELD_SEPARATOR_S // merged clone name + DAT_FIELD_SEPARATOR_S // merged rom name + DAT_FIELD_SEPARATOR_S "\r\n", + fname, + fname, + fname, + fname, + fname, + ucon64.crc32, + ucon64.file_size - buheader_len); + ucon64_n_files++; + return 0; +} diff --git a/tools/ucon64-2.0.0-src/src/ucon64_dat.h b/tools/ucon64-2.0.0-src/src/ucon64_dat.h new file mode 100644 index 0000000..ae20aea --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/ucon64_dat.h @@ -0,0 +1,69 @@ +/* +ucon64_dat.h - support for DAT files as known from RomCenter, GoodXXXX, etc. + +Copyright (c) 1999 - 2003 NoisyB +Copyright (c) 2003 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef UCON64_DAT_H +#define UCON64_DAT_H +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +extern const st_getopt2_t ucon64_dat_usage[]; + +typedef struct +{ + uint32_t crc32; // "official" CRC32 checksum of the ROM + int8_t console; // integer for the console system + char name[2 * 80]; // name of the ROM + const char *maker; // maker of the ROM + const char *country; // country of the ROM + char misc[25 * 80]; // miscellaneous information about the ROM + char fname[FILENAME_MAX]; // filename of the ROM + uint32_t fsize; // size in bytes + + char datfile[FILENAME_MAX]; // name of the dat file + char author[100]; // author of dat file + char version[100]; // version of dat file + char date[20]; // date of dat file + char comment[25 * 80]; // comment of dat file + char refname[100]; // ref name + + const char *console_usage; // console system usage + const char *copier_usage; // backup unit usage +} st_ucon64_dat_t; + +/* + ucon64_dat_search() search dat files for crc and return ucon64_dat_t + ucon64_dat_total_entries() return # of ROMs in all DAT's + ucon64_dat_view() display the complete dat collection + ucon64_dat_indexer() create or update index file for DAT's + ucon64_dat_flush() flush contents of ucon64_dat_t + ucon64_dat_nfo() view contents of ucon64_dat_t +*/ +extern st_ucon64_dat_t *ucon64_dat_search (uint32_t crc32, st_ucon64_dat_t *dat); +extern unsigned int ucon64_dat_total_entries (void); +extern int ucon64_dat_view (int console, int verbose); +extern int ucon64_dat_indexer (void); +//extern st_ucon64_dat_t *ucon64_dat_flush (st_ucon64_dat_t *dat); +extern void ucon64_dat_nfo (const st_ucon64_dat_t *dat, int display_version); +extern int ucon64_create_dat (const char *dat_file_name, const char *filename, + int buheader_len); + +#endif // UCON64_DAT_H diff --git a/tools/ucon64-2.0.0-src/src/ucon64_defines.h b/tools/ucon64-2.0.0-src/src/ucon64_defines.h new file mode 100644 index 0000000..6c1b0d4 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/ucon64_defines.h @@ -0,0 +1,400 @@ +/* +ucon64_defines.h - definitions for uCON64 + +Copyright (c) 2002 - 2003 NoisyB +Copyright (c) 2002 - 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef UCON64_DEFINES_H +#define UCON64_DEFINES_H + +// Please make sure that NO definition except FALSE has 0 as value! +#if (!defined TRUE || !defined FALSE) +#define FALSE 0 +#define TRUE (!FALSE) +#endif + +#if (!defined MIN || !defined MAX) +#define MIN(a,b) ((a) < (b) ? (a) : (b)) +#define MAX(a,b) ((a) > (b) ? (a) : (b)) +#endif + +#define LIB_VERSION(ver, rel, seq) (((ver) << 16) | ((rel) << 8) | (seq)) +#define NULL_TO_EMPTY(str) ((str) ? (str) : ("")) +//#define RANDOM(min, max) ((rand () % (max - min)) + min) +#define OFFSET(a, offset) ((((unsigned char *) &(a)) + (offset))[0]) + +#define UCON64_UNKNOWN (-1) +#define UCON64_UNKNOWN_S "Unknown" +#define NULL_TO_UNKNOWN_S(str) ((str) ? (str) : (UCON64_UNKNOWN_S)) + +#define UCON64_VERSION_S "2.0.0" + +/* program version counter */ +//#define UCON64_VERSION (200) + +/* version of config file layout */ +#define UCON64_CONFIG_VERSION (207) + +#define MBIT (131072) +#define TOMBIT(x) ((int)(x) / MBIT) +#define TOMBIT_F(x) ((float)(x) / MBIT) + +#define MAXROMSIZE (512 * MBIT) + +#ifndef MAXBUFSIZE +#define MAXBUFSIZE 32768 +#endif // MAXBUFSIZE + +// maximum number of arguments uCON64 takes from the cmdline +#define UCON64_MAX_ARGS 512 + +#define UCON64_OPTION (1000) +#define UCON64_CONSOLE (0) + +// options (consoles) +// these defines shall not exceed 0xffff since they share the same integer +// with the workflow flags (below) in st_getopt2_t +enum +{ + UCON64_3DO = UCON64_CONSOLE + 1, + UCON64_ATA, + UCON64_CD32, + UCON64_CDI, + UCON64_COLECO, + UCON64_DC, + UCON64_GB, + UCON64_GBA, + UCON64_GC, + UCON64_GEN, + UCON64_GP32, + UCON64_INTELLI, + UCON64_JAG, + UCON64_LYNX, + UCON64_MAME, + UCON64_N64, + UCON64_NES, + UCON64_NG, + UCON64_NGP, + UCON64_PCE, + UCON64_PS2, + UCON64_PSX, + UCON64_S16, + UCON64_SAT, + UCON64_SMS, + // don't mix the following with UCON64_GG (Game Genie), used only for --mgdgg + UCON64_GAMEGEAR, + UCON64_SNES, + UCON64_SWAN, + UCON64_VBOY, + UCON64_VEC, + UCON64_XBOX, +}; + +// options +enum +{ + UCON64_1991 = UCON64_OPTION + 1, + UCON64_A, + UCON64_B, + UCON64_B0, + UCON64_B1, + UCON64_BAT, + UCON64_BIN, + UCON64_BIOS, + UCON64_BOT, + UCON64_BS, + UCON64_C, + UCON64_CHK, + UCON64_CODE, + UCON64_COL, + UCON64_CRC, + UCON64_CRCHD, + UCON64_CRP, + UCON64_CS, + UCON64_CTRL, + UCON64_CTRL2, + UCON64_CMNT, + UCON64_DB, + UCON64_DBS, + UCON64_DBUH, + UCON64_DBV, + UCON64_DINT, + UCON64_DMIRR, + UCON64_DNSRT, + UCON64_DUAL, + UCON64_DUMPINFO, + UCON64_E, + UCON64_EROM, + UCON64_F, + UCON64_FDS, + UCON64_FDSL, + UCON64_FFE, + UCON64_FIG, + UCON64_FIGS, + UCON64_FILE, + UCON64_FIND, + UCON64_FINDI, + UCON64_FINDR, + UCON64_FRONTEND, + UCON64_GBX, + UCON64_GD3, + UCON64_GD3S, + UCON64_GG, + UCON64_GGD, + UCON64_GGE, + UCON64_HD, + UCON64_HDN, + UCON64_HELP, + UCON64_HEX, + UCON64_HI, + UCON64_I, + UCON64_ID, + UCON64_IDPPF, + UCON64_INES, + UCON64_INESHD, + UCON64_INS, + UCON64_INSN, + UCON64_INT, + UCON64_INT2, + UCON64_ISPAD, + UCON64_J, + UCON64_K, + UCON64_L, + UCON64_LNX, + UCON64_LOGO, + UCON64_LS, + UCON64_LSD, + UCON64_LSRAM, + UCON64_LSV, + UCON64_LYX, + UCON64_MAPR, + UCON64_MD5, + UCON64_MGD, + UCON64_MGDGG, + UCON64_MGH, + UCON64_MIRR, + UCON64_MKA, + UCON64_MKDAT, + UCON64_MKI, + UCON64_MKIP, + UCON64_MKPPF, + UCON64_MSG, + UCON64_MULTI, +// UCON64_MVS, + UCON64_N, + UCON64_N2, + UCON64_N2GB, + UCON64_NA, + UCON64_NBAK, + UCON64_NBAT, + UCON64_NBS, + UCON64_NCOL, + UCON64_NHD, + UCON64_NHI, + UCON64_NINT, + UCON64_NPPF, + UCON64_NROT, + UCON64_NS, + UCON64_NSWP, + UCON64_NTSC, + UCON64_NVRAM, + UCON64_O, + UCON64_P, + UCON64_PAD, + UCON64_PADHD, + UCON64_PADN, + UCON64_PAL, + UCON64_PARSE, + UCON64_PASOFAMI, + UCON64_PATCH, + UCON64_PATTERN, + UCON64_POKE, + UCON64_PORT, + UCON64_PPF, + UCON64_PRINT, + UCON64_Q, + UCON64_QQ, // already reserved ;-) + UCON64_REGION, + UCON64_RENAME, + UCON64_RROM, + UCON64_RR83, + UCON64_RL, + UCON64_ROM, + UCON64_ROTL, + UCON64_ROTR, + UCON64_RU, + UCON64_S, + UCON64_SAM, + UCON64_SCAN, + UCON64_SCR, + UCON64_SGB, + UCON64_SHA1, + UCON64_SMC, + UCON64_SMD, + UCON64_SMDS, + UCON64_SRAM, + UCON64_SSC, + UCON64_SSIZE, + UCON64_STP, + UCON64_STPN, + UCON64_STRIP, + UCON64_SWAP, + UCON64_SWAP2, + UCON64_SWC, + UCON64_SWCS, + UCON64_SWP, + UCON64_TEST, + UCON64_UFO, + UCON64_UFOS, + UCON64_UNIF, + UCON64_UNSCR, + UCON64_USMS, + UCON64_V, + UCON64_V64, + UCON64_VER, + UCON64_VMS, + UCON64_VRAM, + UCON64_XCD64, + UCON64_XCD64B, + UCON64_XCD64C, + UCON64_XCD64E, + UCON64_XCD64F, + UCON64_XCD64M, + UCON64_XCD64P, + UCON64_XCD64S, + UCON64_XCMC, + UCON64_XCMCM, + UCON64_XCMCT, + UCON64_XDEX, + UCON64_XDJR, + UCON64_XF2A, + UCON64_XF2AB, + UCON64_XF2AC, + UCON64_XF2AMULTI, + UCON64_XF2AS, + UCON64_XFAL, + UCON64_XFALB, + UCON64_XFALC, + UCON64_XFALMULTI, + UCON64_XFALS, + UCON64_XFALM, // actually only necessary for the Windows + UCON64_XFIG, // ports, but might be useful for others too + UCON64_XFIGS, + UCON64_XFIGC, + UCON64_XGBX, + UCON64_XGBXB, + UCON64_XGBXS, + UCON64_XGBXM, + UCON64_XGD3, + UCON64_XGD3R, + UCON64_XGD3S, + UCON64_XGD6, + UCON64_XGD6R, + UCON64_XGD6S, + UCON64_XGG, + UCON64_XGGB, + UCON64_XGGS, + UCON64_XLIT, + UCON64_XMCCL, + UCON64_XMCD, + UCON64_XMD, + UCON64_XMDB, + UCON64_XMDS, + UCON64_XMSG, + UCON64_XPCE, + UCON64_XPL, + UCON64_XPLI, + UCON64_XPLM, + UCON64_XSF, + UCON64_XSFS, + UCON64_XSMC, + UCON64_XSMCR, + UCON64_XSMD, + UCON64_XSMDS, + UCON64_XSWC, + UCON64_XSWC2, + UCON64_XSWC_IO, + UCON64_XSWCR, + UCON64_XSWCS, + UCON64_XSWCC, + UCON64_XV64, + UCON64_Z64, + + UCON64_FORCE63, + UCON64_GUI, + + // Keep these (libdiscmage) options separate + UCON64_DISC = UCON64_OPTION + 250, + UCON64_MKCUE, + UCON64_MKSHEET, + UCON64_MKTOC, + UCON64_RIP, + UCON64_BIN2ISO, + UCON64_ISOFIX, + UCON64_XCDRW, + UCON64_CDMAGE +}; + +/* + uCON64 workflow flags + + WF_PROBE probe for console type + WF_INIT init ROM info (ucon64_init()) necessary + w/o this flag WF_NFO and WF_NFO_AFTER + will be ignored + WF_NFO show info output before processing rom + WF_NFO_AFTER show info output AFTER processing rom + WF_NO_ROM for this option no ROM is required + WF_NO_CRC32 no CRC32 calculation necessary for this option; this + overrides even WF_INIT, WF_NFO and WF_NFO_AFTER + WF_STOP a "stop" option: + - -multi (and -xfalmulti) takes more than one file as + argument, but should be executed only once. + - stop after sending one ROM to a copier ("multizip") + - stop after applying a patch so that the patch file won't + be interpreted as ROM + WF_PAR this option requires a parallel port + WF_USB this option requires a USB port + WF_SERIAL this option requires a serial port + WF_NO_SPLIT this option does not work with split ROMs + WF_DEFAULT same as WF_INIT | WF_PROBE | WF_NFO + + example: + WF_NFO | WF_MFO_AFTER + a ROM is required and info will be shown before and + after it has been processed + + important: + we shift these flags 16 bit because they share the same integer with + those UCON64_ defines in st_getopt2_t +*/ +#define WF_DEFAULT (WF_PROBE | WF_INIT | WF_NFO) +#define WF_PROBE (1) +#define WF_INIT (1 << 1) +#define WF_NFO (1 << 2) +#define WF_STOP (1 << 3) +#define WF_NFO_AFTER (1 << 4) +#define WF_NO_ROM (1 << 5) +#define WF_PAR (1 << 6) +#define WF_USB (1 << 7) +#define WF_SERIAL (1 << 8) +#define WF_NO_CRC32 (1 << 9) +#define WF_NO_SPLIT (1 << 10) +#define WF_SWITCH (1 << 11) + +#endif // UCON64_DEFINES_H diff --git a/tools/ucon64-2.0.0-src/src/ucon64_misc.c b/tools/ucon64-2.0.0-src/src/ucon64_misc.c new file mode 100644 index 0000000..e6787e2 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/ucon64_misc.c @@ -0,0 +1,2780 @@ +/* +ucon64_misc.c - miscellaneous functions for uCON64 + +Copyright (c) 1999 - 2004 NoisyB +Copyright (c) 2001 - 2004 dbjh +Copyright (c) 2001 Caz +Copyright (c) 2002 - 2003 Jan-Erik Karlsson (Amiga) + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#include +#ifdef HAVE_UNISTD_H +#include +#endif +#ifdef _WIN32 +#include +#endif +#include "misc/misc.h" +#include "misc/string.h" +#include "misc/property.h" +#include "misc/bswap.h" +#include "misc/chksum.h" +#include "misc/file.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "misc/getopt2.h" // st_getopt2_t +#include "ucon64.h" +#include "ucon64_opts.h" +#include "ucon64_misc.h" +#include "ucon64_dat.h" +#include "console/console.h" +#include "backup/backup.h" +#include "patch/patch.h" + + +/* + uCON64 "workflow" objects + + We want to do things compile-time. Using ucon64_wf is necessary for VC 6. GCC + (3) accepts casts in struct initialisations. +*/ +st_ucon64_obj_t ucon64_wf[] = + { + {0, WF_SWITCH}, // WF_OBJ_ALL_SWITCH + {0, WF_DEFAULT}, // WF_OBJ_ALL_DEFAULT + {0, WF_DEFAULT | WF_NO_SPLIT}, // WF_OBJ_ALL_DEFAULT_NO_SPLIT + {0, WF_STOP}, // WF_OBJ_ALL_STOP + {0, WF_STOP | WF_NO_ROM}, // WF_OBJ_ALL_STOP_NO_ROM + {0, WF_DEFAULT | WF_STOP | WF_NO_ROM}, // WF_OBJ_ALL_DEFAULT_STOP_NO_ROM + {0, WF_INIT}, // WF_OBJ_ALL_INIT + {0, WF_INIT | WF_PROBE}, // WF_OBJ_ALL_INIT_PROBE + {0, WF_INIT | WF_PROBE | WF_STOP}, // WF_OBJ_ALL_INIT_PROBE_STOP, + {0, WF_INIT | WF_PROBE | WF_NO_ROM}, // WF_OBJ_ALL_INIT_PROBE_NO_ROM + {0, WF_INIT | WF_PROBE | WF_NO_SPLIT}, // WF_OBJ_ALL_INIT_PROBE_NO_SPLIT + {0, WF_INIT | WF_PROBE | WF_NO_CRC32}, // WF_OBJ_ALL_INIT_PROBE_NO_CRC32 + {0, WF_INIT | WF_NO_SPLIT}, // WF_OBJ_ALL_INIT_NO_SPLIT + + {UCON64_DC, WF_SWITCH}, // WF_OBJ_DC_SWITCH + {UCON64_DC, WF_DEFAULT}, // WF_OBJ_DC_DEFAULT + {UCON64_DC, WF_NO_ROM}, // WF_OBJ_DC_NO_ROM + {UCON64_GB, WF_SWITCH}, // WF_OBJ_GB_SWITCH + {UCON64_GB, WF_DEFAULT}, // WF_OBJ_GB_DEFAULT + {UCON64_GBA, WF_SWITCH}, // WF_OBJ_GBA_SWITCH + {UCON64_GBA, WF_DEFAULT}, // WF_OBJ_GBA_DEFAULT + {UCON64_GEN, WF_SWITCH}, // WF_OBJ_GEN_SWITCH + {UCON64_GEN, WF_DEFAULT}, // WF_OBJ_GEN_DEFAULT + {UCON64_GEN, WF_DEFAULT | WF_NO_SPLIT}, // WF_OBJ_GEN_DEFAULT_NO_SPLIT + {UCON64_JAG, WF_SWITCH}, // WF_OBJ_JAG_SWITCH + {UCON64_LYNX, WF_SWITCH}, // WF_OBJ_LYNX_SWITCH + {UCON64_LYNX, WF_DEFAULT}, // WF_OBJ_LYNX_DEFAULT + {UCON64_N64, WF_SWITCH}, // WF_OBJ_N64_SWITCH + {UCON64_N64, WF_DEFAULT}, // WF_OBJ_N64_DEFAULT + {UCON64_N64, WF_INIT | WF_PROBE}, // WF_OBJ_N64_INIT_PROBE + {UCON64_NG, WF_SWITCH}, // WF_OBJ_NG_SWITCH + {UCON64_NG, WF_DEFAULT}, // WF_OBJ_NG_DEFAULT + {UCON64_NES, WF_SWITCH}, // WF_OBJ_NES_SWITCH + {UCON64_NES, WF_DEFAULT}, // WF_OBJ_NES_DEFAULT + {UCON64_NGP, WF_SWITCH}, // WF_OBJ_NGP_SWITCH + {UCON64_PCE, WF_SWITCH}, // WF_OBJ_PCE_SWITCH + {UCON64_PCE, WF_DEFAULT}, // WF_OBJ_PCE_DEFAULT + {UCON64_PSX, WF_SWITCH}, // WF_OBJ_PSX_SWITCH + {UCON64_SMS, WF_SWITCH}, // WF_OBJ_SMS_SWITCH + {UCON64_SMS, WF_DEFAULT | WF_NO_SPLIT}, // WF_OBJ_SMS_DEFAULT_NO_SPLIT + {UCON64_SNES, WF_SWITCH}, // WF_OBJ_SNES_SWITCH + {UCON64_SNES, WF_DEFAULT}, // WF_OBJ_SNES_DEFAULT + {UCON64_SNES, WF_DEFAULT | WF_NO_SPLIT}, // WF_OBJ_SNES_DEFAULT_NO_SPLIT + {UCON64_SNES, WF_NO_ROM}, // WF_OBJ_SNES_NO_ROM + {UCON64_SNES, WF_INIT | WF_PROBE}, // WF_OBJ_SNES_INIT_PROBE + {UCON64_SWAN, WF_SWITCH}, // WF_OBJ_SWAN_SWITCH + + {UCON64_N64, WF_STOP | WF_NO_ROM}, // WF_OBJ_N64_STOP_NO_ROM + {UCON64_N64, WF_DEFAULT | WF_STOP}, // WF_OBJ_N64_DEFAULT_STOP + {UCON64_N64, WF_DEFAULT | WF_STOP | WF_NO_ROM}, // WF_OBJ_N64_DEFAULT_STOP_NO_ROM + {UCON64_GEN, WF_STOP | WF_NO_ROM}, // WF_OBJ_GEN_STOP_NO_ROM + {UCON64_GEN, WF_DEFAULT | WF_STOP | WF_NO_SPLIT | WF_NO_ROM}, // WF_OBJ_GEN_DEFAULT_STOP_NO_SPLIT_NO_ROM + {UCON64_GBA, WF_STOP | WF_NO_ROM}, // WF_OBJ_GBA_STOP_NO_ROM + {UCON64_GBA, WF_DEFAULT | WF_STOP}, // WF_OBJ_GBA_DEFAULT_STOP + {UCON64_GBA, WF_DEFAULT | WF_STOP | WF_NO_ROM}, // WF_OBJ_GBA_DEFAULT_STOP_NO_ROM + {UCON64_SNES, WF_STOP | WF_NO_ROM}, // WF_OBJ_SNES_STOP_NO_ROM + {UCON64_SNES, WF_DEFAULT | WF_STOP | WF_NO_ROM}, // WF_OBJ_SNES_DEFAULT_STOP_NO_ROM + {UCON64_SNES, WF_DEFAULT | WF_STOP | WF_NO_SPLIT | WF_NO_ROM}, // WF_OBJ_SNES_DEFAULT_STOP_NO_SPLIT_NO_ROM + {UCON64_GB, WF_STOP | WF_NO_ROM}, // WF_OBJ_GB_STOP_NO_ROM + {UCON64_GB, WF_DEFAULT | WF_STOP | WF_NO_ROM}, // WF_OBJ_GB_DEFAULT_STOP_NO_ROM + {UCON64_LYNX, WF_STOP | WF_NO_ROM}, // WF_OBJ_LYNX_STOP_NO_ROM + {UCON64_PCE, WF_DEFAULT | WF_STOP | WF_NO_SPLIT | WF_NO_ROM}, // WF_OBJ_PCE_DEFAULT_STOP_NO_SPLIT_NO_ROM + {UCON64_NGP, WF_STOP | WF_NO_ROM}, // WF_OBJ_NGP_STOP_NO_ROM + {UCON64_NGP, WF_DEFAULT | WF_STOP | WF_NO_ROM}, // WF_OBJ_NGP_DEFAULT_STOP_NO_ROM + {UCON64_NES, WF_STOP | WF_NO_ROM}, // WF_OBJ_NES_STOP_NO_ROM + {UCON64_NES, WF_DEFAULT | WF_STOP | WF_NO_SPLIT}, // WF_OBJ_NES_DEFAULT_STOP_NO_SPLIT + {UCON64_SMS, WF_STOP | WF_NO_ROM}, // WF_OBJ_SMS_STOP_NO_ROM + {UCON64_SMS, WF_DEFAULT | WF_STOP | WF_NO_SPLIT | WF_NO_ROM}, // WF_OBJ_SMS_DEFAULT_STOP_NO_SPLIT_NO_ROM + + {UCON64_GC, WF_SWITCH}, // WF_OBJ_GC_SWITCH + {UCON64_S16, WF_SWITCH}, // WF_OBJ_S16_SWITCH + {UCON64_ATA, WF_SWITCH}, // WF_OBJ_ATA_SWITCH + {UCON64_COLECO, WF_SWITCH}, // WF_OBJ_COLECO_SWITCH + {UCON64_VBOY, WF_SWITCH}, // WF_OBJ_VBOY_SWITCH + {UCON64_VEC, WF_SWITCH}, // WF_OBJ_VEC_SWITCH + {UCON64_INTELLI, WF_SWITCH}, // WF_OBJ_INTELLI_SWITCH + {UCON64_GP32, WF_SWITCH}, // WF_OBJ_GP32_SWITCH + {UCON64_PS2, WF_SWITCH}, // WF_OBJ_PS2_SWITCH + {UCON64_XBOX, WF_SWITCH}, // WF_OBJ_XBOX_SWITCH + {UCON64_SAT, WF_SWITCH}, // WF_OBJ_SAT_SWITCH + {UCON64_3DO, WF_SWITCH}, // WF_OBJ_3DO_SWITCH + {UCON64_CD32, WF_SWITCH}, // WF_OBJ_CD32_SWITCH + {UCON64_CDI, WF_SWITCH}, // WF_OBJ_CDI_SWITCH + }; + +#ifdef USE_DISCMAGE +#ifdef DLOPEN +#include "misc/dlopen.h" + +static void *libdm; +static uint32_t (*dm_get_version_ptr) (void) = NULL; +static const char *(*dm_get_version_s_ptr) (void) = NULL; +static void (*dm_set_gauge_ptr) (void (*) (int, int)) = NULL; +static void (*dm_nfo_ptr) (const dm_image_t *, int, int) = NULL; + +static FILE *(*dm_fdopen_ptr) (dm_image_t *, int, const char *) = NULL; +static dm_image_t *(*dm_open_ptr) (const char *, uint32_t) = NULL; +static dm_image_t *(*dm_reopen_ptr) (const char *, uint32_t, dm_image_t *) = NULL; +static int (*dm_close_ptr) (dm_image_t *) = NULL; + +static int (*dm_disc_read_ptr) (const dm_image_t *) = NULL; +static int (*dm_disc_write_ptr) (const dm_image_t *) = NULL; + +static int (*dm_read_ptr) (char *, int, int, const dm_image_t *) = NULL; +static int (*dm_write_ptr) (const char *, int, int, const dm_image_t *) = NULL; + +static dm_image_t *(*dm_toc_read_ptr) (dm_image_t *, const char *) = NULL; +static int (*dm_toc_write_ptr) (const dm_image_t *) = NULL; + +static dm_image_t *(*dm_cue_read_ptr) (dm_image_t *, const char *) = NULL; +static int (*dm_cue_write_ptr) (const dm_image_t *) = NULL; + +static int (*dm_rip_ptr) (const dm_image_t *, int, uint32_t) = NULL; +#endif // DLOPEN + +const st_getopt2_t libdm_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "All disc-based consoles", + NULL + }, + { + "disc", 0, 0, UCON64_DISC, + NULL, "force recognition; NEEDED", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, + { + "rip", 1, 0, UCON64_RIP, + "N", "rip/dump track N from IMAGE", + &ucon64_wf[WF_OBJ_ALL_DEFAULT] + }, +#if 0 + { + "filerip", 1, 0, UCON64_FILERIP, + "N", "rip/dump files from a track N in IMAGE", + NULL + }, + { + "cdmage", 1, 0, UCON64_CDMAGE, + "N", "like " OPTION_LONG_S "rip but writes always (padded) sectors with 2352 Bytes;\n" + "this is what CDmage would do", + &ucon64_wf[WF_OBJ_ALL_DEFAULT] + }, +#endif + { + "bin2iso", 1, 0, UCON64_BIN2ISO, + "N", "convert track N to ISO (if possible) by resizing\n" + "sectors to 2048 Bytes", + &ucon64_wf[WF_OBJ_ALL_DEFAULT] + }, + { + "isofix", 1, 0, UCON64_ISOFIX, + "N", "fix corrupted track N (if possible)\n" + "if PVD points to a bad DR offset it will add padding data\n" + "so actual DR gets located in right absolute address", + &ucon64_wf[WF_OBJ_ALL_DEFAULT] + }, + { + "mkcue", 0, 0, UCON64_MKCUE, + NULL, "generate CUE sheet for IMAGE or existing TOC sheet", + &ucon64_wf[WF_OBJ_ALL_DEFAULT] + }, + { + "mktoc", 0, 0, UCON64_MKTOC, + NULL, "generate TOC sheet for IMAGE or existing CUE sheet", + &ucon64_wf[WF_OBJ_ALL_DEFAULT] + }, + { + // hidden option + "mksheet", 0, 0, UCON64_MKSHEET, + NULL, /* "same as " OPTION_LONG_S "mktoc and " OPTION_LONG_S "mkcue" */ NULL, + &ucon64_wf[WF_OBJ_ALL_DEFAULT] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; +#endif // USE_DISCMAGE + + +/* + This is a string pool. gcc 2.9x generates something like this itself, but it + seems gcc 3.x does not. By using a string pool the executable will be + smaller than without it. + It's also handy in order to be consistent with messages. +*/ +const char *ucon64_msg[] = + { + "ERROR: Communication with backup unit failed\n" // PARPORT_ERROR + "TIP: Check cables and connection\n" + " Turn the backup unit off and on\n" +// " Split ROMs must be joined first\n" // handled with WF_NO_SPLIT + " Use " OPTION_LONG_S "port={3bc, 378, 278, ...} to specify a parallel port address\n" + " Set the port to SPP (standard, normal) mode in your BIOS as some backup\n" + " units do not support EPP and ECP style parallel ports\n" + " Read the backup unit's manual\n", + + "ERROR: Could not auto detect the right ROM/IMAGE/console type\n" // CONSOLE_ERROR + "TIP: If this is a ROM or CD IMAGE you might try to force the recognition\n" + " The force recognition option for SNES would be " OPTION_LONG_S "snes\n", + + "Wrote output to: %s\n", // WROTE + "ERROR: Can't open \"%s\" for reading\n", // OPEN_READ_ERROR + "ERROR: Can't open \"%s\" for writing\n", // OPEN_WRITE_ERROR + "ERROR: Can't read from \"%s\"\n", // READ_ERROR + "ERROR: Can't write to \"%s\"\n", // WRITE_ERROR + "ERROR: Not enough memory for buffer (%d bytes)\n", // BUFFER_ERROR + "ERROR: Not enough memory for ROM buffer (%d bytes)\n", // ROM_BUFFER_ERROR + "ERROR: Not enough memory for file buffer (%d bytes)\n", // FILE_BUFFER_ERROR + "DAT info: No ROM with 0x%08x as checksum found\n", // DAT_NOT_FOUND + "WARNING: Support for DAT files is disabled, because \"ucon64_datdir\" (either\n" // DAT_NOT_ENABLED + " in the configuration file or the environment) points to an incorrect\n" + " directory. Read the FAQ for more information.\n", + "Reading config file %s\n", // READ_CONFIG_FILE + "NOTE: %s not found or too old, support for discmage disabled\n", // NO_LIB + NULL + }; + +const st_getopt2_t unknown_usage[] = + { + {NULL, 0, 0, 0, NULL, "Unknown backup unit/emulator", NULL}, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }, + gc_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Nintendo Game Cube/Panasonic Gamecube Q" + /*"2001/2002 Nintendo http://www.nintendo.com"*/, + NULL + }, + { + "gc", 0, 0, UCON64_GC, + NULL, "force recognition", + &ucon64_wf[WF_OBJ_GC_SWITCH] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }, + s16_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Sega System 16(A/B)/Sega System 18/dual 68000" + /*"1987/19XX/19XX SEGA http://www.sega.com"*/, + NULL + }, + { + "s16", 0, 0, UCON64_S16, + NULL, "force recognition", + &ucon64_wf[WF_OBJ_S16_SWITCH] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }, + atari_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Atari VCS 2600(aka Stella)/Atari 5200 SuperSystem/Atari CX7800/Atari 2600 Jr" + /*"1977/1982/1984/1986 Atari"*/, + NULL + }, + { + "ata", 0, 0, UCON64_ATA, + NULL, "force recognition", + &ucon64_wf[WF_OBJ_ATA_SWITCH] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }, + coleco_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "ColecoVision"/*"1982"*/, + NULL + }, + { + "coleco", 0, 0, UCON64_COLECO, + NULL, "force recognition", + &ucon64_wf[WF_OBJ_COLECO_SWITCH] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }, + vboy_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Nintendo Virtual Boy"/*"19XX Nintendo http://www.nintendo.com"*/, + NULL + }, + { + "vboy", 0, 0, UCON64_VBOY, + NULL, "force recognition", + &ucon64_wf[WF_OBJ_VBOY_SWITCH] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }, + vectrex_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Vectrex"/*"1982"*/, + NULL + }, + { + "vec", 0, 0, UCON64_VEC, + NULL, "force recognition", + &ucon64_wf[WF_OBJ_VEC_SWITCH] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }, + intelli_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Intellivision"/*"1979 Mattel"*/, + NULL + }, + { + "intelli", 0, 0, UCON64_INTELLI, + NULL, "force recognition", + &ucon64_wf[WF_OBJ_INTELLI_SWITCH] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }, + gp32_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "GP32 Game System"/*"2002 Gamepark http://www.gamepark.co.kr"*/, + NULL + }, + { + "gp32", 0, 0, UCON64_GP32, + NULL, "force recognition", + &ucon64_wf[WF_OBJ_GP32_SWITCH] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }, + ps2_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Playstation 2"/*"2000 Sony http://www.playstation.com"*/, + NULL + }, + { + "ps2", 0, 0, UCON64_PS2, + NULL, "force recognition", + &ucon64_wf[WF_OBJ_PS2_SWITCH] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }, + xbox_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "XBox"/*"2001 Microsoft http://www.xbox.com"*/, + NULL + }, + { + "xbox", 0, 0, UCON64_XBOX, + NULL, "force recognition", + &ucon64_wf[WF_OBJ_XBOX_SWITCH] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }, + sat_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Saturn"/*"1994 SEGA http://www.sega.com"*/, + NULL + }, + { + "sat", 0, 0, UCON64_SAT, + NULL, "force recognition", + &ucon64_wf[WF_OBJ_SAT_SWITCH] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }, + real3do_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Real3DO"/*"1993 Panasonic/Goldstar/Philips"*/, + NULL + }, + { + "3do", 0, 0, UCON64_3DO, + NULL, "force recognition", + &ucon64_wf[WF_OBJ_3DO_SWITCH] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }, + cd32_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "CD32"/*"1993 Commodore"*/, + NULL + }, + { + "cd32", 0, 0, UCON64_CD32, + NULL, "force recognition", + &ucon64_wf[WF_OBJ_CD32_SWITCH] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }, + cdi_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "CD-i"/*"1991 Philips"*/, + NULL + }, + { + "cdi", 0, 0, UCON64_CDI, + NULL, "force recognition", + &ucon64_wf[WF_OBJ_CDI_SWITCH] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }, + vc4000_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Interton VC4000"/*"~1980"*/, + NULL + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }, + odyssey2_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "G7400+/Odyssey2"/*"1978"*/, + NULL + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }, + channelf_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "FC Channel F"/*"1976"*/, + NULL + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }, + odyssey_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Magnavox Odyssey"/*"1972 Ralph Baer (USA)"*/, + NULL + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }, + gamecom_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Game.com"/*"? Tiger"*/, + NULL + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }, + mame_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "M.A.M.E. (Multiple Arcade Machine Emulator)", + NULL + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + +#if 0 +Adv. Vision +Arcadia +Astrocade +Indrema +Microvision +N-Gage 2003 Nokia http://www.n-gage.com +Nuon +RCA Studio 2 +RDI Halcyon +Telstar +XE System +#endif + +const st_getopt2_t ucon64_options_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Options", + NULL + }, + { + "o", 1, 0, UCON64_O, + "DIRECTORY", "specify output directory", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, + { + "nbak", 0, 0, UCON64_NBAK, + NULL, "prevents backup files (*.BAK)", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, +#ifdef USE_ANSI_COLOR + { + "ncol", 0, 0, UCON64_NCOL, + NULL, "disable ANSI colors in output", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, +#endif +#if defined USE_PARALLEL || defined USE_USB + { + "port", 1, 0, UCON64_PORT, + "PORT", "specify " +#ifdef USE_USB + "USB" +#endif +#if defined USE_PARALLEL && defined USE_USB + " or " +#endif +#ifdef USE_PARALLEL + "parallel" +#endif + " PORT={" +#ifdef USE_USB + "USB0, USB1, " +#endif +#ifdef USE_PARALLEL + "3bc, 378, 278, " +#endif + "...}", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, +#endif // defined USE_PARALLEL || defined USE_USB + { + "hdn", 1, 0, UCON64_HDN, + "N", "force ROM has backup unit/emulator header with size of N Bytes", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, + { + "hd", 0, 0, UCON64_HD, + NULL, "same as " OPTION_LONG_S "hdn=512\n" + "most backup units use a header with a size of 512 Bytes", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, + { + "nhd", 0, 0, UCON64_NHD, + NULL, "force ROM has no backup unit/emulator header", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, + { + "ns", 0, 0, UCON64_NS, + NULL, "force ROM is not split", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, + { + "e", 0, 0, UCON64_E, +#ifdef __MSDOS__ + NULL, "emulate/run ROM (check ucon64.cfg for all Emulator settings)", +#else + NULL, "emulate/run ROM (check .ucon64rc for all Emulator settings)", +#endif + &ucon64_wf[WF_OBJ_ALL_DEFAULT] + }, + { + "crc", 0, 0, UCON64_CRC, + NULL, "show CRC32 value of ROM", +#if 0 + "; this will also force calculation for\n" + "files bigger than %d Bytes (%.4f Mb)" +#endif + &ucon64_wf[WF_OBJ_ALL_INIT_PROBE_NO_CRC32] + }, + { + "sha1", 0, 0, UCON64_SHA1, + NULL, "show SHA1 value of ROM", + &ucon64_wf[WF_OBJ_ALL_INIT_PROBE_NO_CRC32] + }, + { + "md5", 0, 0, UCON64_MD5, + NULL, "show MD5 value of ROM", + &ucon64_wf[WF_OBJ_ALL_INIT_PROBE_NO_CRC32] + }, + { + "ls", 0, 0, UCON64_LS, + NULL, "generate ROM list for all recognized ROMs", + &ucon64_wf[WF_OBJ_ALL_INIT_PROBE] + }, + { + "lsv", 0, 0, UCON64_LSV, + NULL, "like " OPTION_LONG_S "ls but more verbose", + &ucon64_wf[WF_OBJ_ALL_INIT_PROBE] + }, + { + "hex", 2, 0, UCON64_HEX, +#ifdef __MSDOS__ + "ST", "show ROM as hexdump; use \"ucon64 " OPTION_LONG_S "hex ...|more\"" +#else + "ST", "show ROM as hexdump; use \"ucon64 " OPTION_LONG_S "hex ...|less\"" // less is more ;-) +#endif + "\nST is the optional start value in bytes", + NULL + }, + { + "dual", 2, 0, UCON64_DUAL, // TODO: Think of a decent name - dbjh +#ifdef __MSDOS__ + "ST", "show ROM as dualdump; use \"ucon64 " OPTION_LONG_S "dual ...|more\"", +#else + "ST", "show ROM as dualdump; use \"ucon64 " OPTION_LONG_S "dual ...|less\"", +#endif + NULL + }, + { + "code", 2, 0, UCON64_CODE, +#ifdef __MSDOS__ + "ST", "show ROM as code; use \"ucon64 " OPTION_LONG_S "code ...|more\"", +#else + "ST", "show ROM as code; use \"ucon64 " OPTION_LONG_S "code ...|less\"", +#endif + NULL + }, + { + "print", 2, 0, UCON64_PRINT, +#ifdef __MSDOS__ + "ST", "show ROM in printable characters; use \"ucon64 " OPTION_LONG_S "print ...|more\"", +#else + "ST", "show ROM in printable characters; use \"ucon64 " OPTION_LONG_S "print ...|less\"", +#endif + NULL + }, + { + "find", 1, 0, UCON64_FIND, + "STRING", "find STRING in ROM (wildcard: '?')", + &ucon64_wf[WF_OBJ_ALL_INIT] + }, + { + "findi", 1, 0, UCON64_FINDI, + "STR", "like " OPTION_LONG_S "find but ignores the case of alpha bytes", + &ucon64_wf[WF_OBJ_ALL_INIT] + }, + { + "findr", 1, 0, UCON64_FINDR, + "STR", "like " OPTION_LONG_S "find but looks also for shifted/relative similarities\n" + "(wildcard: disabled)", + &ucon64_wf[WF_OBJ_ALL_INIT] + }, + { + "c", 1, 0, UCON64_C, + "FILE", "compare FILE with ROM for differences", + NULL + }, + { + "cs", 1, 0, UCON64_CS, + "FILE", "compare FILE with ROM for similarities", + NULL + }, + { + "help", 0, 0, UCON64_HELP, + NULL, "display this help and exit", + &ucon64_wf[WF_OBJ_ALL_STOP] + }, + { + "version", 0, 0, UCON64_VER, + NULL, "output version information and exit", + &ucon64_wf[WF_OBJ_ALL_STOP] + }, + { + "q", 0, 0, UCON64_Q, + NULL, "be quiet (don't show ROM info)", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, +#if 0 + { + "qq", 0, 0, UCON64_QQ, + NULL, "be even more quiet", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, +#endif + { + "v", 0, 0, UCON64_V, + NULL, "be more verbose (show backup unit headers also)", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + +const st_getopt2_t ucon64_options_without_usage[] = + { + { + "crchd", 0, 0, UCON64_CRCHD, // backward compat. + NULL, NULL, + &ucon64_wf[WF_OBJ_ALL_INIT_PROBE_NO_CRC32] + }, + { + "file", 1, 0, UCON64_FILE, // obsolete? + NULL, NULL, + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, + { + "frontend", 0, 0, UCON64_FRONTEND, // no usage? + NULL, NULL, + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, + { + "?", 0, 0, UCON64_HELP, // same as --help + NULL, NULL, + &ucon64_wf[WF_OBJ_ALL_STOP] + }, + { + "h", 0, 0, UCON64_HELP, // same as --help + NULL, NULL, + &ucon64_wf[WF_OBJ_ALL_STOP] + }, + { + "id", 0, 0, UCON64_ID, // currently only used in snes.c + NULL, NULL, + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, + { + "rom", 0, 0, UCON64_ROM, // obsolete? + NULL, NULL, + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, + { + "83", 0, 0, UCON64_RR83, // is now "rr83" + NULL, NULL, + &ucon64_wf[WF_OBJ_ALL_INIT_PROBE_NO_SPLIT] + }, +#if 0 + { + "xcdrw", 0, 0, UCON64_XCDRW, // obsolete + NULL, NULL, + &ucon64_wf[WF_OBJ_ALL_DEFAULT_STOP_NO_ROM] + }, + { + "cdmage", 1, 0, UCON64_CDMAGE, // obsolete + NULL, NULL, + &ucon64_wf[WF_OBJ_ALL_DEFAULT] + }, +#endif + // these consoles are (still) not supported + { + "3do", 0, 0, UCON64_3DO, + NULL, NULL, + &ucon64_wf[WF_OBJ_3DO_SWITCH] + }, + { + "gp32", 0, 0, UCON64_GP32, + NULL, NULL, + &ucon64_wf[WF_OBJ_GP32_SWITCH] + }, + { + "intelli", 0, 0, UCON64_INTELLI, + NULL, NULL, + &ucon64_wf[WF_OBJ_INTELLI_SWITCH] + }, + { + "ps2", 0, 0, UCON64_PS2, + NULL, NULL, + &ucon64_wf[WF_OBJ_PS2_SWITCH] + }, + { + "s16", 0, 0, UCON64_S16, + NULL, NULL, + &ucon64_wf[WF_OBJ_S16_SWITCH] + }, + { + "sat", 0, 0, UCON64_SAT, + NULL, NULL, + &ucon64_wf[WF_OBJ_SAT_SWITCH] + }, + { + "vboy", 0, 0, UCON64_VBOY, + NULL, NULL, + &ucon64_wf[WF_OBJ_VBOY_SWITCH] + }, + { + "vec", 0, 0, UCON64_VEC, + NULL, NULL, + &ucon64_wf[WF_OBJ_VEC_SWITCH] + }, + { + "xbox", 0, 0, UCON64_XBOX, + NULL, NULL, + &ucon64_wf[WF_OBJ_XBOX_SWITCH] + }, + { + "coleco", 0, 0, UCON64_COLECO, + NULL, NULL, + &ucon64_wf[WF_OBJ_COLECO_SWITCH] + }, + { + "gc", 0, 0, UCON64_GC, + NULL, NULL, + &ucon64_wf[WF_OBJ_GC_SWITCH] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + +const st_getopt2_t ucon64_padding_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Padding", + NULL + }, + { + "ispad", 0, 0, UCON64_ISPAD, + NULL, "check if ROM is padded", + &ucon64_wf[WF_OBJ_ALL_INIT_NO_SPLIT] + }, + { + "pad", 0, 0, UCON64_PAD, + NULL, "pad ROM to next Mb", + &ucon64_wf[WF_OBJ_ALL_DEFAULT] + }, + { + "p", 0, 0, UCON64_P, + NULL, "same as " OPTION_LONG_S "pad", + &ucon64_wf[WF_OBJ_ALL_DEFAULT] + }, + { + "padn", 1, 0, UCON64_PADN, + "N", "pad ROM to N Bytes (put Bytes with value 0x00 after end)", + &ucon64_wf[WF_OBJ_ALL_DEFAULT] + }, + { + "strip", 1, 0, UCON64_STRIP, + "N", "strip N Bytes from end of ROM", + NULL + }, + { + "stpn", 1, 0, UCON64_STPN, + "N", "strip N Bytes from start of ROM", + NULL + }, + { + "stp", 0, 0, UCON64_STP, + NULL, "same as " OPTION_LONG_S "stpn=512\n" + "most backup units use a header with a size of 512 Bytes", + NULL + }, + { + "insn", 1, 0, UCON64_INSN, + "N", "insert N Bytes (0x00) before ROM", + NULL + }, + { + "ins", 0, 0, UCON64_INS, + NULL, "same as " OPTION_LONG_S "insn=512\n" + "most backup units use a header with a size of 512 Bytes", + NULL + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + +const st_getopt2_t ucon64_patching_usage[] = + { + { + NULL, 0, 0, 0, + NULL, "Patching", + NULL + }, + { + "poke", 1, 0, UCON64_POKE, + "OFF:V", "change byte at file offset OFF to value V (both in hexadecimal)", + NULL + }, + { + "pattern", 1, 0, UCON64_PATTERN, + "FILE", "change ROM based on patterns specified in FILE", + &ucon64_wf[WF_OBJ_ALL_INIT_PROBE] + }, + { + "patch", 1, 0, UCON64_PATCH, + "PATCH", "specify the PATCH for the following options\n" + "use this option or uCON64 expects the last commandline\n" + "argument to be the name of the PATCH file", + &ucon64_wf[WF_OBJ_ALL_SWITCH] + }, + {NULL, 0, 0, 0, NULL, NULL, NULL} + }; + +char *ucon64_temp_file = NULL; +int (*ucon64_testsplit_callback) (const char *filename) = NULL; + +// _publisher_ strings for SNES, GB, GBC and GBA games +const char *nintendo_maker[NINTENDO_MAKER_LEN] = + { + NULL, "Nintendo", "Rocket Games/Ajinomoto", "Imagineer-Zoom", "Gray Matter", + "Zamuse", "Falcom", NULL, "Capcom", "Hot B Co.", + "Jaleco", "Coconuts Japan", "Coconuts Japan/G.X.Media", + "Micronet", "Technos", + "Mebio Software", "Shouei System", "Starfish", NULL, "Mitsui Fudosan/Dentsu", + NULL, "Warashi Inc.", NULL, "Nowpro", NULL, + "Game Village", NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, // 0Z + NULL, "Starfish", "Infocom", "Electronic Arts Japan", NULL, + "Cobra Team", "Human/Field", "KOEI", "Hudson Soft", "S.C.P./Game Village", + "Yanoman", NULL, "Tecmo Products", "Japan Glary Business", "Forum/OpenSystem", + "Virgin Games (Japan)", "SMDE", NULL, NULL, "Daikokudenki", + NULL, NULL, NULL, NULL, NULL, + "Creatures Inc.", "TDK Deep Impresion", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, // 1Z + "Destination Software/KSS", "Sunsoft/Tokai Engineering", + "POW (Planning Office Wada)/VR 1 Japan", "Micro World", NULL, + "San-X", "Enix", "Loriciel/Electro Brain", "Kemco Japan", "Seta Co., Ltd.", + "Culture Brain", NULL, "Palsoft", "Visit Co., Ltd.", "Intec", + "System Sacom", "Poppo", "Ubisoft Japan", NULL, "Media Works", + "NEC InterChannel", "Tam", "Gajin/Jordan", "Smilesoft", NULL, + NULL, "Mediakite", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, // 2Z + "Viacom", "Carrozzeria", "Dynamic", NULL, "Magifact", + "Hect", "Codemasters", "Taito/GAGA Communications", "Laguna", + "Telstar Fun & Games/Event/Taito", + NULL, "Arcade Zone Ltd.", "Entertainment International/Empire Software", "Loriciel", + "Gremlin Graphics", + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, // 3Z + "Seika Corp.", "UBI SOFT Entertainment Software", "Sunsoft US", NULL, "Life Fitness", + NULL, "System 3", "Spectrum Holobyte", NULL, "IREM", + NULL, "Raya Systems", "Renovation Products", "Malibu Games", NULL, + "Eidos/U.S. Gold", "Playmates Interactive", NULL, NULL, "Fox Interactive", + "Time Warner Interactive", NULL, NULL, NULL, NULL, + NULL, "Disney Interactive", NULL, "Black Pearl", NULL, + "Advanced Productions", NULL, NULL, "GT Interactive", "RARE", + "Crave Entertainment", // 4Z + "Absolute Entertainment", "Acclaim", "Activision", "American Sammy", "Take 2/GameTek", + "Hi Tech", "LJN Ltd.", NULL, "Mattel", NULL, + "Mindscape/Red Orb Entertainment", "Romstar", "Taxan", "Midway/Tradewest", NULL, + "American Softworks Corp.", "Majesco Sales Inc.", "3DO", NULL, NULL, + "Hasbro", "NewKidCo", "Telegames", "Metro3D", NULL, + "Vatical Entertainment", "LEGO Media", NULL, "Xicat Interactive", "Cryo Interactive", + NULL, NULL, "Red Storm Entertainment", "Microids", NULL, + "Conspiracy/Swing", // 5Z + "Titus", "Virgin Interactive", "Maxis", NULL, "LucasArts Entertainment", + NULL, NULL, "Ocean", NULL, "Electronic Arts", + NULL, "Laser Beam", NULL, NULL, "Elite Systems", + "Electro Brain", "The Learning Company", "BBC", NULL, "Software 2000", + NULL, "BAM! Entertainment", "Studio 3", NULL, NULL, + NULL, "Classified Games", NULL, "TDK Mediactive", NULL, + "DreamCatcher", "JoWood Produtions", "SEGA", "Wannado Edition", + "LSP (Light & Shadow Prod.)", + "ITE Media", // 6Z + "Infogrames", "Interplay", "JVC (US)", "Parker Brothers", NULL, + "SCI (Sales Curve Interactive)/Storm", NULL, NULL, "THQ Software", "Accolade Inc.", + "Triffix Entertainment", NULL, "Microprose Software", + "Universal Interactive/Sierra/Simon & Schuster", NULL, + "Kemco", "Rage Software", "Encore", NULL, "Zoo", + "BVM", "Simon & Schuster Interactive", "Asmik Ace Entertainment Inc./AIA", + "Empire Interactive", NULL, + NULL, "Jester Interactive", NULL, NULL, "Scholastic", + "Ignition Entertainment", NULL, "Stadlbauer", NULL, NULL, + NULL, // 7Z + "Misawa", "Teichiku", "Namco Ltd.", "LOZC", "KOEI", + NULL, "Tokuma Shoten Intermedia", "Tsukuda Original", "DATAM-Polystar", NULL, + NULL, "Bulletproof Software", "Vic Tokai Inc.", NULL, "Character Soft", + "I'Max", "Saurus", NULL, NULL, "General Entertainment", + NULL, NULL, "I'Max", "Success", NULL, + "SEGA Japan", NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, // 8Z + "Takara", "Chun Soft", "Video System Co., Ltd./McO'River", "BEC", NULL, + "Varie", "Yonezawa/S'pal", "Kaneko", NULL, "Victor Interactive Software/Pack in Video", + "Nichibutsu/Nihon Bussan", "Tecmo", "Imagineer", NULL, NULL, + "Nova", "Den'Z", "Bottom Up", NULL, "TGL (Technical Group Laboratory)", + NULL, "Hasbro Japan", NULL, "Marvelous Entertainment", NULL, + "Keynet Inc.", "Hands-On Entertainment", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, // 9Z + "Telenet", "Hori", NULL, NULL, "Konami", + "K.Amusement Leasing Co.", "Kawada", "Takara", NULL, "Technos Japan Corp.", + "JVC (Europe/Japan)/Victor Musical Industries", NULL, "Toei Animation", "Toho", NULL, + "Namco", "Media Rings Corp.", "J-Wing", NULL, "Pioneer LDC", + "KID", "Mediafactory", NULL, NULL, NULL, + "Infogrames Hudson", NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, // AZ + "Acclaim Japan", "ASCII Co./Nexoft" /*/Activision*/, "Bandai", NULL, "Enix", + NULL, "HAL Laboratory/Halken", "SNK", NULL, "Pony Canyon Hanbai", + "Culture Brain", "Sunsoft", "Toshiba EMI", "Sony Imagesoft", NULL, + "Sammy", "Magical", "Visco", NULL, "Compile", + NULL, "MTO Inc.", NULL, "Sunrise Interactive", NULL, + "Global A Entertainment", "Fuuki", NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, // BZ + "Taito", NULL, "Kemco", "Square", "Tokuma Shoten", + "Data East", "Tonkin House", NULL, "KOEI", NULL, + "Konami/Ultra/Palcom", "NTVIC/VAP", "Use Co., Ltd.", "Meldac", + "Pony Canyon (Japan)/FCI (US)", + "Angel/Sotsu Agency/Sunrise", "Yumedia/Aroma Co., Ltd.", NULL, NULL, "Boss", + "Axela/Crea-Tech", "Sekaibunka-Sha/Sumire kobo/Marigul Management Inc.", + "Konami Computer Entertainment Osaka", NULL, NULL, + "Enterbrain", NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, // CZ + "Taito/Disco", "Sofel", "Quest Corp.", "Sigma", "Ask Kodansha", + NULL, "Naxat", "Copya System", "Capcom Co., Ltd.", "Banpresto", + "TOMY", "Acclaim/LJN Japan", NULL, "NCS", "Human Entertainment", + "Altron", "Jaleco", "Gaps Inc.", NULL, NULL, + NULL, NULL, NULL, "Elf", NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, // DZ + "Jaleco", NULL, "Yutaka", "Varie", "T&ESoft", + "Epoch Co., Ltd.", NULL, "Athena", "Asmik", "Natsume", + "King Records", "Atlus", "Epic/Sony Records (Japan)", NULL, + "IGS (Information Global Service)", + NULL, "Chatnoir", "Right Stuff", NULL, NULL, + NULL, "Spike", "Konami Computer Entertainment Tokyo", "Alphadream Corp.", NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, // EZ + "A Wave", "Motown Software", "Left Field Entertainment", "Extreme Ent. Grp.", + "TecMagik", + NULL, NULL, NULL, NULL, "Cybersoft", + NULL, "Psygnosis", NULL, NULL, "Davidson/Western Tech.", + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, // FZ + NULL, "PCCW Japan", NULL, NULL, "KiKi Co. Ltd.", + "Open Sesame Inc.", "Sims", "Broccoli", "Avex", NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, // GZ + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, // HZ + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, "Yojigen", NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL, NULL, NULL, NULL, NULL, + NULL + }; // IZ + + +#ifdef USE_DISCMAGE +int +ucon64_load_discmage (void) +{ + uint32_t version; +#ifdef DLOPEN + get_property_fname (ucon64.configfile, "discmage_path", ucon64.discmage_path, ""); + + // if ucon64.discmage_path points to an existing file then load it + if (!access (ucon64.discmage_path, F_OK)) + { + libdm = open_module (ucon64.discmage_path); + + dm_get_version_ptr = (uint32_t (*) (void)) get_symbol (libdm, "dm_get_version"); + version = dm_get_version_ptr (); + if (version < LIB_VERSION (UCON64_DM_VERSION_MAJOR, + UCON64_DM_VERSION_MINOR, + UCON64_DM_VERSION_STEP)) + { + printf ("WARNING: Your libdiscmage is too old (%u.%u.%u)\n" + " You need at least version %u.%u.%u\n\n", + (unsigned int) version >> 16, + (unsigned int) ((version >> 8) & 0xff), + (unsigned int) (version & 0xff), + UCON64_DM_VERSION_MAJOR, + UCON64_DM_VERSION_MINOR, + UCON64_DM_VERSION_STEP); + return 0; + } + else + { + dm_get_version_s_ptr = (const char *(*) (void)) get_symbol (libdm, "dm_get_version_s"); + dm_set_gauge_ptr = (void (*) (void (*) (int, int))) get_symbol (libdm, "dm_set_gauge"); + + dm_open_ptr = (dm_image_t *(*) (const char *, uint32_t)) get_symbol (libdm, "dm_open"); + dm_reopen_ptr = (dm_image_t *(*) (const char *, uint32_t, dm_image_t *)) + get_symbol (libdm, "dm_reopen"); + dm_fdopen_ptr = (FILE *(*) (dm_image_t *, int, const char *)) + get_symbol (libdm, "dm_fdopen"); + dm_close_ptr = (int (*) (dm_image_t *)) get_symbol (libdm, "dm_close"); + dm_nfo_ptr = (void (*) (const dm_image_t *, int, int)) get_symbol (libdm, "dm_nfo"); + + dm_read_ptr = (int (*) (char *, int, int, const dm_image_t *)) get_symbol (libdm, "dm_read"); + dm_write_ptr = (int (*) (const char *, int, int, const dm_image_t *)) get_symbol (libdm, "dm_write"); + + dm_disc_read_ptr = (int (*) (const dm_image_t *)) get_symbol (libdm, "dm_disc_read"); + dm_disc_write_ptr = (int (*) (const dm_image_t *)) get_symbol (libdm, "dm_disc_write"); + + dm_toc_read_ptr = (dm_image_t *(*) (dm_image_t *, const char *)) get_symbol (libdm, "dm_toc_read"); + dm_toc_write_ptr = (int (*) (const dm_image_t *)) get_symbol (libdm, "dm_toc_write"); + + dm_cue_read_ptr = (dm_image_t *(*) (dm_image_t *, const char *)) get_symbol (libdm, "dm_cue_read"); + dm_cue_write_ptr = (int (*) (const dm_image_t *)) get_symbol (libdm, "dm_cue_write"); + + dm_rip_ptr = (int (*) (const dm_image_t *, int, uint32_t)) get_symbol (libdm, "dm_rip"); + + return 1; + } + } + else + return 0; +#else // !defined DLOPEN +#ifdef DJGPP + { + /* + The following piece of code makes the DLL "search" behaviour a bit like + the search behaviour for Windows programs. A bit, because the import + library just opens the file with the name that is stored in + djimport_path. It won't search for the DXE in the Windows system + directory, nor will it search the directories of the PATH environment + variable. + */ + extern char djimport_path[FILENAME_MAX]; + char dir[FILENAME_MAX]; + int n, l; + + dirname2 (ucon64.argv[0], dir); + sprintf (djimport_path, "%s"FILE_SEPARATOR_S"%s", dir, "discmage.dxe"); + // this is specific to DJGPP - not necessary, but prevents confusion + l = strlen (djimport_path); + for (n = 0; n < l; n++) + if (djimport_path[n] == '/') + djimport_path[n] = '\\'; + } +#endif // DJGPP + version = dm_get_version (); + if (version < LIB_VERSION (UCON64_DM_VERSION_MAJOR, + UCON64_DM_VERSION_MINOR, + UCON64_DM_VERSION_STEP)) + { + printf ("WARNING: Your libdiscmage is too old (%u.%u.%u)\n" + " You need at least version %u.%u.%u\n\n", + (unsigned int) version >> 16, + (unsigned int) ((version >> 8) & 0xff), + (unsigned int) (version & 0xff), + UCON64_DM_VERSION_MAJOR, + UCON64_DM_VERSION_MINOR, + UCON64_DM_VERSION_STEP); + return 0; + } + return 1; // discmage could be "loaded" +#endif // !defined DLOPEN +} + + +int +libdm_gauge (int pos, int size) +{ + static time_t init_time = 0; + + if (!init_time || !pos /* || !size */) + init_time = time (0); + + return ucon64_gauge (init_time, pos, size); +} + + +#ifdef DLOPEN +uint32_t +dm_get_version (void) +{ + return dm_get_version_ptr (); +} + + +const char * +dm_get_version_s (void) +{ + return dm_get_version_s_ptr (); +} + + +void +dm_set_gauge (void (*a) (int, int)) +{ + dm_set_gauge_ptr (a); +} + + +FILE * +dm_fdopen (dm_image_t *a, int b, const char *c) +{ + return dm_fdopen_ptr (a, b, c); +} + + +dm_image_t * +dm_open (const char *a, uint32_t b) +{ + return dm_open_ptr (a, b); +} + + +dm_image_t * +dm_reopen (const char *a, uint32_t b, dm_image_t *c) +{ + return dm_reopen_ptr (a, b, c); +} + + +int +dm_close (dm_image_t *a) +{ + return dm_close_ptr (a); +} + + +void +dm_nfo (const dm_image_t *a, int b, int c) +{ + dm_nfo_ptr (a, b, c); +} + + +int +dm_disc_read (const dm_image_t *a) +{ + return dm_disc_read_ptr (a); +} + + +int +dm_disc_write (const dm_image_t *a) +{ + return dm_disc_write_ptr (a); +} + + +int +dm_read (char *a, int b, int c, const dm_image_t *d) +{ + return dm_read_ptr (a, b, c, d); +} + + +int +dm_write (const char *a, int b, int c, const dm_image_t *d) +{ + return dm_write_ptr (a, b, c, d); +} + + +dm_image_t * +dm_toc_read (dm_image_t *a, const char *b) +{ + return dm_toc_read_ptr (a, b); +} + + +int +dm_toc_write (const dm_image_t *a) +{ + return dm_toc_write_ptr (a); +} + + +dm_image_t * +dm_cue_read (dm_image_t *a, const char *b) +{ + return dm_cue_read_ptr (a, b); +} + + +int +dm_cue_write (const dm_image_t *a) +{ + return dm_cue_write_ptr (a); +} + + +int +dm_rip (const dm_image_t *a, int b, uint32_t c) +{ + return dm_rip_ptr (a, b, c); +} +#endif // DLOPEN +#endif // USE_DISCMAGE + + +int +unknown_init (st_rominfo_t *rominfo) +// init routine for all consoles missing in console/. +{ + ucon64.rominfo = rominfo; + ucon64.dat = NULL; +#ifdef USE_DISCMAGE + ucon64.image = NULL; +#endif + + return 0; +} + + +int +ucon64_file_handler (char *dest, char *src, int flags) +/* + We have to handle the following cases (for example -swc and rom.swc exists): + 1) ucon64 -swc rom.swc + a) with backup creation enabled + Create backup of rom.swc + postcondition: src == name of backup + b) with backup creation disabled + Create temporary backup of rom.swc by renaming rom.swc + postcondition: src == name of backup + 2) ucon64 -swc rom.fig + a) with backup creation enabled + Create backup of rom.swc + postcondition: src == rom.fig + b) with backup creation disabled + Do nothing + postcondition: src == rom.fig + + This function returns 1 if dest existed (in the directory specified with -o). + Otherwise it returns 0; +*/ +{ + struct stat dest_info; + + ucon64_output_fname (dest, flags); // call this function unconditionally + +#if 0 + // ucon64_temp_file will be reset in remove_temp_file() + ucon64_temp_file = NULL; +#endif + if (!access (dest, F_OK)) + { + stat (dest, &dest_info); + // *Trying* to make dest writable here avoids having to change all code + // that might (try to) operate on a read-only file + chmod (dest, dest_info.st_mode | S_IWUSR); + + if (src == NULL) + { + if (ucon64.backup) + printf ("Wrote backup to: %s\n", mkbak (dest, BAK_DUPE)); + return 1; + } + + if (one_file (src, dest)) + { // case 1 + if (ucon64.backup) + { // case 1a + strcpy (src, mkbak (dest, BAK_DUPE)); + printf ("Wrote backup to: %s\n", src); + } + else + { // case 1b + strcpy (src, mkbak (dest, BAK_MOVE)); + ucon64_temp_file = src; + } + } + else + { // case 2 + if (ucon64.backup) // case 2a + printf ("Wrote backup to: %s\n", mkbak (dest, BAK_DUPE)); + } + return 1; + } + return 0; +} + + +void +remove_temp_file (void) +{ + if (ucon64_temp_file) + { + printf ("Removing: %s\n", ucon64_temp_file); + remove (ucon64_temp_file); + ucon64_temp_file = NULL; + } +} + + +char * +ucon64_output_fname (char *requested_fname, int flags) +{ + char suffix[80], fname[FILENAME_MAX]; + + // We have to make a copy, because get_suffix() returns a pointer to a + // location in the original string + strncpy (suffix, get_suffix (requested_fname), sizeof (suffix))[sizeof (suffix) - 1] = 0; // in case suffix is >= 80 chars + + // OF_FORCE_BASENAME is necessary for options like -gd3. Of course that + // code should handle archives and come up with unique filenames for + // archives with more than one file. + if (!ucon64.fname_arch[0] || (flags & OF_FORCE_BASENAME)) + { + strcpy (fname, basename2 (requested_fname)); + sprintf (requested_fname, "%s%s", ucon64.output_path, fname); + } + else // an archive (for now: zip file) + sprintf (requested_fname, "%s%s", ucon64.output_path, ucon64.fname_arch); + + /* + Keep the requested suffix, but only if it isn't ".zip" or ".gz". This + because we currently don't write to zip or gzip files. Otherwise the output + file would have the suffix ".zip" or ".gz" while it isn't a zip or gzip + file. uCON64 handles such files correctly, because it looks at the file + data itself, but many programs don't. + If the flag OF_FORCE_SUFFIX was used we keep the suffix, even if it's + ".zip" or ".gz". Now ucon64_output_fname() can be used when renaming/moving + files. + */ + if (!(flags & OF_FORCE_SUFFIX) && + !(stricmp (suffix, ".zip") && stricmp (suffix, ".gz"))) + strcpy (suffix, ".tmp"); + set_suffix (requested_fname, suffix); + return requested_fname; +} + + +#if 1 +int +ucon64_testpad (const char *filename) +/* + Test if EOF is padded (repeated byte values) + This (new) version is not efficient for uncompressed files, but *much* more + efficient for compressed files. For example (a bad case), on a Celeron 850 + just viewing info about a zipped dump of Mario Party (U) takes more than 3 + minutes when the old version of ucon64_testpad() is used. A gzipped dump + can take more than 6 minutes. With this version it takes about 9 seconds for + the zipped dump and 12 seconds for the gzipped dump. +*/ +{ + int c = 0, blocksize, i, n = 0, start_n; + unsigned char buffer[MAXBUFSIZE]; + FILE *file = fopen (filename, "rb"); + + if (!file) + return -1; + + while ((blocksize = fread (buffer, 1, MAXBUFSIZE, file))) + { + if (buffer[blocksize - 1] != c) + { + c = buffer[blocksize - 1]; + n = 0; + } + start_n = n; + for (i = blocksize - 1; i >= 0; i--) + { + if (buffer[i] != c) + { + n -= start_n; + break; + } + else + { + /* + A file is either padded with 2 or more bytes or it isn't + padded at all. It can't be detected that a file is padded with + 1 byte. + */ + if (i == blocksize - 2) + n += 2; + else if (i < blocksize - 2) + n++; + // NOT else, because i == blocksize - 1 must initially be skipped + } + } + } + + fclose (file); + return n; +} +#else +int +ucon64_testpad (const char *filename) +// test if EOF is padded (repeating bytes) +{ + int pos = ucon64.file_size - 1, buf_pos = pos % MAXBUFSIZE, + c = ucon64_fgetc (filename, pos); + unsigned char buf[MAXBUFSIZE]; + FILE *fh = fopen (filename, "rb"); + + if (!fh) + return -1; + + for (pos -= buf_pos; !fseek (fh, pos, SEEK_SET) && pos > -1; + pos -= MAXBUFSIZE, buf_pos = MAXBUFSIZE) + { + fread (buf, 1, buf_pos, fh); + + for (; buf_pos > 0; buf_pos--) + if (buf[buf_pos - 1] != c) + { + fclose (fh); + + return ucon64.file_size - (pos + buf_pos) > 1 ? + ucon64.file_size - (pos + buf_pos) : 0; + } + } + + fclose (fh); + + return ucon64.file_size; // the whole file is "padded" +} +#endif + + +int +ucon64_gauge (time_t init_time, int pos, int size) +{ + return gauge (stdout, init_time, pos, size, ucon64.frontend ? GAUGE_PERCENT : GAUGE_DEFAULT); +} + + +int +ucon64_testsplit (const char *filename) +// test if ROM is split into parts based on the name of files +{ + int x, parts = 0, l; + char buf[FILENAME_MAX], *p = NULL; + + for (x = -1; x < 2; x += 2) + { + parts = 0; + strcpy (buf, filename); + p = strrchr (buf, '.'); + l = strlen (buf); + + if (p == NULL) // filename doesn't contain a period + p = buf + l - 1; + else + p += x; // if x == -1 change char before '.' + // else if x == 1 change char after '.' + if (buf > p || // filename starts with '.' (x == -1) + p - buf > l - 1) // filename ends with '.' (x == 1) + continue; + + while (!access (buf, F_OK)) + (*p)--; // "rewind" (find the first part) + (*p)++; + + while (!access (buf, F_OK)) // count split parts + { + if (ucon64_testsplit_callback) + ucon64_testsplit_callback (buf); + (*p)++; + parts++; + } + + if (parts > 1) + return parts; + } + + return 0; +} + + +// configfile handling +static int +ucon64_configfile_update (void) +{ + char buf[MAXBUFSIZE]; + + sprintf (buf, "%d", UCON64_CONFIG_VERSION); + set_property (ucon64.configfile, "version", buf, "uCON64 configuration"); + + return 0; +} + + +typedef struct +{ + int id; + const char *command; +} st_command_t; + + +static int +ucon64_configfile_create (void) +{ + const st_getopt2_t *options = ucon64.options; + const st_property_t props[] = + { + { + "backups", "1", + "create backups of files? (1=yes; 0=no)\n" + "before processing a ROM uCON64 will make a backup of it" + }, + { + "ansi_color", "1", + "use ANSI colors in output? (1=yes; 0=no)" + }, +#ifdef USE_PPDEV + { + "parport_dev", "/dev/parport0", + "parallel port" + }, +#elif defined AMIGA + { + "parport_dev", "parallel.device", + "parallel port" + }, + { + "parport", "0", + NULL + }, +#else + { + "parport", "378", + "parallel port" + }, +#endif + { + "discmage_path", +#if defined __MSDOS__ + "~\\discmage.dxe", // realpath2() expands the tilde +#elif defined __CYGWIN__ + "~/discmage.dll", +#elif defined _WIN32 + "~\\discmage.dll", +#elif defined __APPLE__ // Mac OS X actually + "~/.ucon64/discmage.dylib", +#elif defined __unix__ || defined __BEOS__ + "~/.ucon64/discmage.so", +#else + "", +#endif + "complete path to the discmage library for CD image support" + }, + { + "ucon64_configdir", +#if defined __MSDOS__ || defined __CYGWIN__ || defined _WIN32 + "~", // realpath2() expands the tilde +#elif defined __unix__ || defined __BEOS__ || defined __APPLE__ // Mac OS X actually + "~/.ucon64", +#else + "", +#endif + "directory with additional config files" + }, + { + "ucon64_datdir", +#if defined __MSDOS__ || defined __CYGWIN__ || defined _WIN32 + "~", // realpath2() expands the tilde +#elif defined __unix__ || defined __BEOS__ || defined __APPLE__ // Mac OS X actually + "~/.ucon64/dat", +#else + "", +#endif + "directory with DAT files" + }, + { + "f2afirmware", "f2afirm.hex", + "F2A support files\n" + "path to F2A USB firmware" + }, + { + "iclientu", "iclientu.bin", + "path to GBA client binary (for USB code)" + }, + { + "iclientp", "iclientp.bin", + "path to GBA client binary (for parallel port code)" + }, + { + "ilogo", "ilogo.bin", + "path to iLinker logo file" + }, + { + "gbaloader", "loader.bin", + "path to GBA multi-game loader" + }, + {NULL, NULL, NULL} + }; + + st_command_t emulate[] = + { + {UCON64_3DO, ""}, + {UCON64_ATA, ""}, + {UCON64_CD32, ""}, + {UCON64_CDI, ""}, + {UCON64_COLECO, ""}, + {UCON64_DC, ""}, + {UCON64_GB, "vgb -sound -sync 50 -sgb -scale 2"}, + {UCON64_GBA, "vgba -scale 2 -uperiod 6"}, + {UCON64_GC, ""}, + {UCON64_GEN, "dgen -f -S 2"}, + {UCON64_INTELLI, ""}, + {UCON64_JAG, ""}, + {UCON64_LYNX, ""}, + {UCON64_MAME, ""}, + {UCON64_N64, ""}, + {UCON64_NES, "tuxnes -E2 -rx11 -v -s/dev/dsp -R44100"}, + {UCON64_NG, ""}, + {UCON64_NGP, ""}, + {UCON64_PCE, ""}, + {UCON64_PS2, ""}, + {UCON64_PSX, "pcsx"}, + {UCON64_S16, ""}, + {UCON64_SAT, ""}, + {UCON64_SMS, ""}, + {UCON64_GAMEGEAR, ""}, + {UCON64_SNES, "snes9x -tr -sc -hires -dfr -r 7 -is -joymap1 2 3 5 0 4 7 6 1"}, + {UCON64_SWAN, ""}, + {UCON64_VBOY, ""}, + {UCON64_VEC, ""}, + {UCON64_XBOX, ""}, + {0, NULL} + }; + int x = 0, y = 0; + + ucon64_configfile_update (); + + set_property_array (ucon64.configfile, props); + + for (x = 0; emulate[x].command; x++) + for (y = 0; options[y].name || options[y].help; y++) + if (emulate[x].id == options[y].val) + { + char buf[MAXBUFSIZE]; + + sprintf (buf, "emulate_%s", options[y].name); + + set_property (ucon64.configfile, buf, emulate[x].command, !x ? + "emulate_=\n\n" + "You can also use CRC32 values for ROM specific emulation options:\n\n" + "emulate_0x=\n" + "emulate_=" : NULL); + + break; + } + + return 0; +} + + +int +ucon64_configfile (void) +{ + char buf[MAXBUFSIZE], *dirname; + int result = -1; + + dirname = getenv2 ("UCON64_HOME"); + if (!dirname[0]) + dirname = getenv2 ("HOME"); + sprintf (ucon64.configfile, "%s" FILE_SEPARATOR_S +#ifdef __MSDOS__ + "ucon64.cfg" +#else + ".ucon64rc" +#endif + , dirname); + +// if (!access (ucon64.configfile, F_OK)) +// fprintf (stderr, ucon64_msg[READ_CONFIG_FILE], ucon64.configfile); + + if (access (ucon64.configfile, F_OK) != 0) + { + FILE *fh; + + printf ("WARNING: %s not found: creating...", ucon64.configfile); + + if (!(fh = fopen (ucon64.configfile, "w"))) // opening the file in text mode + { // avoids trouble under DOS + printf ("FAILED\n\n"); + return -1; + } + fclose (fh); // we'll use set_property() from now + + result = ucon64_configfile_create (); + + if (!result) + { + sync (); + printf ("OK\n\n"); + } + else + printf ("FAILED\n\n"); + } + else if (get_property_int (ucon64.configfile, "version") < UCON64_CONFIG_VERSION) + { + strcpy (buf, ucon64.configfile); + set_suffix (buf, ".old"); + + printf ("NOTE: Updating config, old version will be renamed to %s...", buf); + + fcopy (ucon64.configfile, 0, fsizeof (ucon64.configfile), buf, "wb"); // "wb" is correct for copying + + result = ucon64_configfile_update (); + + if (!result) + { + sync (); + printf ("OK\n\n"); + } + else + printf ("FAILED\n\n"); + } + + return result; +} + + +static inline char * +to_func (char *s, int len, int (*func) (int)) +{ + char *p = s; + + for (; len > 0; p++, len--) + *p = func (*p); + + return s; +} + + +int +ucon64_rename (int mode) +{ + char buf[FILENAME_MAX + 1], buf2[FILENAME_MAX + 1], suffix[80]; + const char *p, *p2; + int good_name; + + buf[0] = 0; + strncpy (suffix, get_suffix (ucon64.rom), sizeof (suffix))[sizeof (suffix) - 1] = 0; // in case suffix is >= 80 chars + + switch (mode) + { + case UCON64_RROM: + if (ucon64.rominfo) + if (ucon64.rominfo->name) + { + strcpy (buf, ucon64.rominfo->name); + strtriml (strtrimr (buf)); + } + break; + + case UCON64_RENAME: // GoodXXXX style rename + if (ucon64.dat) + if (((st_ucon64_dat_t *) ucon64.dat)->fname) + { + p = (char *) get_suffix (((st_ucon64_dat_t *) ucon64.dat)->fname); + strcpy (buf, ((st_ucon64_dat_t *) ucon64.dat)->fname); + + // get_suffix() never returns NULL + if (p[0]) + if (strlen (p) < 5) + if (!(stricmp (p, ".nes") && // NES + stricmp (p, ".fds") && // NES FDS + stricmp (p, ".gb") && // Game Boy + stricmp (p, ".gbc") && // Game Boy Color + stricmp (p, ".gba") && // Game Boy Advance + stricmp (p, ".smc") && // SNES + stricmp (p, ".sc") && // Sega Master System + stricmp (p, ".sg") && // Sega Master System + stricmp (p, ".sms") && // Sega Master System + stricmp (p, ".gg") && // Game Gear + stricmp (p, ".smd") && // Genesis + stricmp (p, ".v64"))) // Nintendo 64 + buf[strlen (buf) - strlen (p)] = 0; + } + break; + + default: + return 0; // invalid mode + } + + if (!buf[0]) + return 0; + + if (ucon64.fname_len == UCON64_FORCE63) + buf[63] = 0; + else if (ucon64.fname_len == UCON64_RR83) + buf[8] = 0; + + // replace chars the fs might not like + strcpy (buf2, to_func (buf, strlen (buf), tofname)); + strcpy (buf, basename2 (ucon64.rom)); + + p = (char *) get_suffix (buf); + // Remove the suffix from buf (ucon64.rom). Note that this isn't fool-proof. + // However, this is the best solution, because several DAT files contain + // "canonical" file names with a suffix. That is a STUPID bug. + if (p) + buf[strlen (buf) - strlen (p)] = 0; + +#ifdef DEBUG +// printf ("buf: \"%s\"; buf2: \"%s\"\n", buf, buf2); +#endif + if (!strcmp (buf, buf2)) + // also process files with a correct name, so that -rename can be used to + // "weed" out good dumps when -o is used (like GoodXXXX without inplace + // command) + good_name = 1; + else + { + // Another test if the file already has a correct name. This is necessary + // for files without a "normal" suffix (e.g. ".smc"). Take for example a + // name like "Final Fantasy III (V1.1) (U) [!]". + strcat (buf, suffix); + if (!strcmp (buf, buf2)) + { + good_name = 1; + suffix[0] = 0; // discard "suffix" (part after period) + } + else + good_name = 0; + } + + // DON'T use set_suffix()! Consider file names (in the DAT file) like + // "Final Fantasy III (V1.1) (U) [!]". The suffix is ".1) (U) [!]"... + strcat (buf2, suffix); + + if (ucon64.fname_len == UCON64_RR83) + buf2[12] = 0; + + ucon64_output_fname (buf2, OF_FORCE_BASENAME | OF_FORCE_SUFFIX); + + p = basename2 (ucon64.rom); + p2 = basename2 (buf2); + + if (one_file (ucon64.rom, buf2) && !strcmp (p, p2)) + { // skip only if the letter case + printf ("Skipping \"%s\"\n", p); // also matches (Windows...) + return 0; + } + + if (!good_name) + /* + Note that the previous statement causes whatever file is present in the + dir specified with -o (or the current dir) to be overwritten (if the file + already has a correct name). This seems bad, but is actually better than + making a backup. It isn't so bad, because the file that gets overwritten + is either the same as the file it is overwritten with or doesn't deserve + its name. + Without this statement repeating a rename action for already renamed + files would result in a real mess. And I (dbjh) mean a *real* mess... + */ + if (!access (buf2, F_OK) && !strcmp (p, p2)) // a file with that name exists already? + ucon64_file_handler (buf2, NULL, OF_FORCE_BASENAME | OF_FORCE_SUFFIX); + + if (!good_name) + printf ("Renaming \"%s\" to \"%s\"\n", p, p2); + else + printf ("Moving \"%s\"\n", p); +#ifndef DEBUG + rename2 (ucon64.rom, buf2); // rename2() must be used! +#endif +#ifdef USE_ZLIB + unzip_current_file_nr = 0x7fffffff - 1; // dirty hack +#endif + return 0; +} + + +int +ucon64_e (void) +{ + int result = 0; + char buf[MAXBUFSIZE], value[MAXBUFSIZE], name[MAXBUFSIZE]; + const char *value_p = NULL; + const st_getopt2_t *p = NULL, *options = ucon64.options; + + if (access (ucon64.configfile, F_OK) != 0) + { + fprintf (stderr, "ERROR: %s does not exist\n", ucon64.configfile); + return -1; + } + + sprintf (name, "emulate_%08x", ucon64.crc32); // look for emulate_ + value_p = get_property (ucon64.configfile, name, value, NULL); + + if (value_p == NULL) + { + sprintf (name, "emulate_0x%08x", ucon64.crc32); // look for emulate_0x + value_p = get_property (ucon64.configfile, name, value, NULL); + } + + if (value_p == NULL) + if ((p = getopt2_get_index_by_val (options, ucon64.console))) + { + sprintf (name, "emulate_%s", p->name); // look for emulate_ + value_p = get_property (ucon64.configfile, name, value, NULL); + } + + if (value_p == NULL) + { + fprintf (stderr, "ERROR: Could not find the correct settings (%s) in\n" + " %s\n" + "TIP: If the wrong console was detected you might try to force recognition\n" + " The force recognition option for SNES would be " OPTION_LONG_S "snes\n", + name, ucon64.configfile); + return -1; + } + + sprintf (buf, "%s \"%s\"", value_p, ucon64.rom); + + puts (buf); + fflush (stdout); + sync (); + + result = system (buf) +#if !(defined __MSDOS__ || defined _WIN32) + >> 8 // the exit code is coded in bits 8-15 +#endif // (does not apply to DJGPP, MinGW & VC++) + ; + +#if 1 + // Snes9x (Linux) for example returns a non-zero value on a normal exit + // (3)... + // under WinDOS, system() immediately returns with exit code 0 when + // starting a Windows executable (as if fork() was called) it also + // returns 0 when the exe could not be started + if (result != 127 && result != -1 && result != 0) // 127 && -1 are system() errors, rest are exit codes + { + fprintf (stderr, "ERROR: The emulator returned an error (?) code: %d\n" + "TIP: If the wrong emulator was used you might try to force recognition\n" + " The force recognition option for SNES would be " OPTION_LONG_S "snes\n", + result); + } +#endif + return result; +} + + +#define PATTERN_BUFSIZE (64 * 1024) +/* + In order for this function to be really useful for general purposes + change_mem2() should be changed so that it will return detailed status + information. Since we don't use it for general purposes, this has not a high + priority. It will be updated as soon as there is a need. + The thing that currently goes wrong is that offsets that fall outside the + buffer (either positive or negative) won't result in a change. It will result + in memory corruption... +*/ +int +ucon64_pattern (st_rominfo_t *rominfo, const char *pattern_fname) +{ + char src_name[FILENAME_MAX], dest_name[FILENAME_MAX], + buffer[PATTERN_BUFSIZE]; + FILE *srcfile, *destfile; + int bytesread = 0, n, n_found = 0, n_patterns, overlap = 0; + st_cm_pattern_t *patterns = NULL; + + realpath2 (pattern_fname, src_name); + // First try the current directory, then the configuration directory + if (access (src_name, F_OK | R_OK) == -1) + sprintf (src_name, "%s" FILE_SEPARATOR_S "%s", ucon64.configdir, pattern_fname); + n_patterns = build_cm_patterns (&patterns, src_name, ucon64.quiet == -1 ? 1 : 0); + if (n_patterns == 0) + { + fprintf (stderr, "ERROR: No patterns found in %s\n", src_name); + cleanup_cm_patterns (&patterns, n_patterns); + return -1; + } + else if (n_patterns < 0) + { + char dir1[FILENAME_MAX], dir2[FILENAME_MAX]; + dirname2 (pattern_fname, dir1); + dirname2 (src_name, dir2); + + fprintf (stderr, "ERROR: Could not read from %s, not in %s nor in %s\n", + basename2 (pattern_fname), dir1, dir2); + // when build_cm_patterns() returns -1, cleanup_cm_patterns() should not be called + return -1; + } + + printf ("Found %d pattern%s in %s\n", n_patterns, n_patterns != 1 ? "s" : "", src_name); + + for (n = 0; n < n_patterns; n++) + { + if (patterns[n].search_size > overlap) + { + overlap = patterns[n].search_size; + if (overlap > PATTERN_BUFSIZE) + { + fprintf (stderr, + "ERROR: Pattern %d is too large, specify a shorter pattern\n", + n + 1); + cleanup_cm_patterns (&patterns, n_patterns); + return -1; + } + } + + if ((patterns[n].offset < 0 && patterns[n].offset <= -patterns[n].search_size) || + patterns[n].offset > 0) + printf ("WARNING: The offset of pattern %d falls outside the search pattern.\n" + " This can cause problems with the current implementation of --pattern.\n" + " Please consider enlarging the search pattern.\n", + n + 1); + } + overlap--; + + puts ("Searching for patterns..."); + + strcpy (src_name, ucon64.rom); + strcpy (dest_name, ucon64.rom); + ucon64_file_handler (dest_name, src_name, 0); + if ((srcfile = fopen (src_name, "rb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], src_name); + return -1; + } + if ((destfile = fopen (dest_name, "wb")) == NULL) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], dest_name); + return -1; + } + if (rominfo->buheader_len) // copy header (if present) + { + n = rominfo->buheader_len; + while ((bytesread = fread (buffer, 1, MIN (n, PATTERN_BUFSIZE), srcfile))) + { + fwrite (buffer, 1, bytesread, destfile); + n -= bytesread; + } + } + + n = fread (buffer, 1, overlap, srcfile); // keep bytesread set to 0 + if (n < overlap) // DAMN special cases! + { + n_found += change_mem2 (buffer, n, patterns[n].search, + patterns[n].search_size, patterns[n].wildcard, + patterns[n].escape, patterns[n].replace, + patterns[n].replace_size, patterns[n].offset, + patterns[n].sets); + fwrite (buffer, 1, n, destfile); + n = -1; + } + else + do + { + if (bytesread) // the code also works without this if + { + for (n = 0; n < n_patterns; n++) + { + int x = 1 - patterns[n].search_size; + n_found += change_mem2 (buffer + overlap + x, + bytesread + patterns[n].search_size - 1, + patterns[n].search, patterns[n].search_size, + patterns[n].wildcard, patterns[n].escape, + patterns[n].replace, patterns[n].replace_size, + patterns[n].offset, patterns[n].sets); + } + fwrite (buffer, 1, bytesread, destfile); + memmove (buffer, buffer + bytesread, overlap); + } + } + while ((bytesread = fread (buffer + overlap, 1, PATTERN_BUFSIZE - overlap, srcfile))); + if (n != -1) + fwrite (buffer, 1, overlap, destfile); + + fclose (srcfile); + fclose (destfile); + cleanup_cm_patterns (&patterns, n_patterns); + + printf ("Found %d pattern%s\n", n_found, n_found != 1 ? "s" : ""); + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + return n_found; +} +#undef PATTERN_BUFSIZE + + +int +ucon64_bswap16_n (void *buffer, int n) +// bswap16() n bytes of buffer +{ + int i = n; + uint16_t *w = (uint16_t *) buffer; + + for (; i > 1; i -= 2, w++) + *w = bswap_16 (*w); + + return n; // return # of bytes swapped +} + + +static inline int +ucon64_fbswap16_func (void *buffer, int n, void *object) +// bswap16() n bytes of buffer +{ + (void) object; + return ucon64_bswap16_n (buffer, n); +} + + +static inline int +ucon64_fwswap32_func (void *buffer, int n, void *object) +// wswap32() n/2 words of buffer +{ + int i = n; + uint32_t *l = (uint32_t *) buffer; + (void) object; + + i >>= 1; // # words = # bytes / 2 + for (; i > 1; i -= 2, l++) + *l = wswap_32 (*l); + + return n; // return # of bytes swapped +} + + +void +ucon64_fbswap16 (const char *fname, size_t start, size_t len) +{ + quick_io_func (ucon64_fbswap16_func, MAXBUFSIZE, NULL, start, len, fname, "r+b"); +} + + +void +ucon64_fwswap32 (const char *fname, size_t start, size_t len) +{ + quick_io_func (ucon64_fwswap32_func, MAXBUFSIZE, NULL, start, len, fname, "r+b"); +} + + +typedef struct +{ + FILE *output; + int virtual_pos; + uint32_t flags; +} st_ucon64_dump_t; + + +static inline int +ucon64_dump_func (void *buffer, int n, void *object) +{ + st_ucon64_dump_t *o = (st_ucon64_dump_t *) object; + + dumper (o->output, buffer, n, o->virtual_pos, o->flags); + o->virtual_pos += n; + + return n; +} + + +void +ucon64_dump (FILE *output, const char *filename, size_t start, size_t len, + uint32_t flags) +{ + st_ucon64_dump_t o = {output, start, flags}; + + quick_io_func (ucon64_dump_func, MAXBUFSIZE, &o, start, len, filename, "rb"); +} + + +typedef struct +{ + const void *search; + uint32_t flags; + int searchlen; + int pos; + int found; +} st_ucon64_find_t; + + +static inline int +ucon64_find_func (void *buffer, int n, void *object) +{ + st_ucon64_find_t *o = (st_ucon64_find_t *) object; + char *ptr0 = (char *) buffer, *ptr1 = (char *) buffer; + int m; + static char match[MAXBUFSIZE - 1], compare[MAXBUFSIZE + 16 + 1]; + static int matchlen; + + // reset matchlen if this is the first call for a new file + if (o->found == -2) + { + o->found = -1; // -1 is default (return) value + matchlen = 0; + } + + // check if we can match the search string across the buffer boundary + for (m = 0; matchlen; matchlen--) + { + memcpy (compare, match + m++, matchlen); + memcpy (compare + matchlen, ptr1, ((o->searchlen + 0x0f) & ~0x0f) - matchlen); + if (memcmp2 (compare, o->search, o->searchlen, o->flags) == 0) + { + o->found = o->pos - matchlen; + if (!(o->flags & UCON64_FIND_QUIET)) + { + dumper (stdout, compare, (o->searchlen + 0x0f) & ~0x0f, o->found, DUMPER_HEX); + fputc ('\n', stdout); + } + } + } + + while (ptr1 - ptr0 < n) + { + ptr1 = (char *) memmem2 (ptr1, n - (ptr1 - ptr0), o->search, o->searchlen, + o->flags); + if (ptr1) + { + o->found = o->pos + ptr1 - ptr0; + if (!(o->flags & UCON64_FIND_QUIET)) + { + dumper (stdout, ptr1, (o->searchlen + 0x0f) & ~0x0f, o->found, DUMPER_HEX); + fputc ('\n', stdout); + } + ptr1++; + } + else + { + // try to find a partial match at the end of buffer + ptr1 = ptr0 + n - o->searchlen; + for (m = 1; m < o->searchlen; m++) + if (memcmp2 (ptr1 + m, o->search, o->searchlen - m, o->flags) == 0) + { + memcpy (match, ptr1 + m, o->searchlen - m); + matchlen = o->searchlen - m; + break; + } + if (!matchlen) // && o->flags & MEMMEM2_REL + { + match[0] = ptr0[n - 1]; // we must not split the string + matchlen = 1; // for a relative search + } + break; + } + } + + o->pos += n; + return n; +} + + +int +ucon64_find (const char *filename, size_t start, size_t len, + const char *search, int searchlen, uint32_t flags) +{ + int result = 0; + st_ucon64_find_t o = { search, flags, searchlen, start, -2 }; + // o.found == -2 signifies a new find operation (usually for a new file) + + if (searchlen < 1) + { + fprintf (stderr, "ERROR: No search string specified\n"); + exit (1); + } + else if (flags & MEMCMP2_REL) + if (searchlen < 2) + { + fprintf (stderr, "ERROR: Search string must be longer than 1 character for a relative search\n"); + exit (1); + } + if (searchlen > MAXBUFSIZE) + { + fprintf (stderr, "ERROR: Search string must be <= %d characters\n", MAXBUFSIZE); + exit (1); // see ucon64_find_func() for why + } + + if (!(flags & UCON64_FIND_QUIET)) + { + fputs (basename2 (filename), stdout); + if (ucon64.fname_arch[0]) + printf (" (%s)\n", basename2 (ucon64.fname_arch)); + else + fputc ('\n', stdout); + + // TODO: display "b?a" as "b" "a" + if (!(flags & (MEMCMP2_CASE | MEMCMP2_REL))) + printf ("Searching: \"%s\"\n\n", search); + else if (flags & MEMCMP2_CASE) + printf ("Case insensitive searching: \"%s\"\n\n", search); + else if (flags & MEMCMP2_REL) + { + char *p = (char *) search; + + printf ("Relative searching: \"%s\"\n\n", search); + for (; *(p + 1); p++) + printf ("'%c' - '%c' = %d\n", *p, *(p + 1), *p - *(p + 1)); + printf ("\n"); + } + } + + result = quick_io_func (ucon64_find_func, MAXBUFSIZE, &o, start, len, + filename, "rb"); + + return o.found; // return last occurrence or -1 +} + + +typedef struct +{ + s_sha1_ctx_t *m_sha1; + s_md5_ctx_t *m_md5; +// uint16_t *crc16; + unsigned int *crc32; +} st_ucon64_chksum_t; + + +static inline int +ucon64_chksum_func (void *buffer, int n, void *object) +{ + st_ucon64_chksum_t *o = (st_ucon64_chksum_t *) object; + + if (o->m_sha1) + sha1 (o->m_sha1, (const unsigned char *) buffer, n); + + if (o->m_md5) + md5_update (o->m_md5, (unsigned char *) buffer, n); + +// if (o->crc16) +// *(o->crc16) = crc16 (*(o->crc16), (const unsigned char *) buffer, n); + + if (o->crc32) + *(o->crc32) = crc32 (*(o->crc32), (const unsigned char *) buffer, n); + + return n; +} + + +int +ucon64_chksum (char *sha1_s, char *md5_s, unsigned int *crc32_i, // uint16_t *crc16_i, + const char *filename, size_t start) +{ + int i = 0, result; + s_sha1_ctx_t m_sha1; + s_md5_ctx_t m_md5; + st_ucon64_chksum_t o; + + memset (&o, 0, sizeof (st_ucon64_chksum_t)); + + if (sha1_s) + sha1_begin (o.m_sha1 = &m_sha1); + + if (md5_s) + md5_init (o.m_md5 = &m_md5, 0); + +// if (crc16_i) +// o.crc16 = crc16_i; + + if (crc32_i) + o.crc32 = crc32_i; + + result = quick_io_func (ucon64_chksum_func, MAXBUFSIZE, &o, start, + fsizeof (filename) - start, filename, "rb"); + if (sha1_s) + { + unsigned char buf[MAXBUFSIZE]; + + sha1_end (buf, &m_sha1); + for (*sha1_s = i = 0; i < 20; i++, sha1_s = strchr (sha1_s, 0)) + sprintf (sha1_s, "%02x", buf[i] & 0xff); + } + + if (md5_s) + { + md5_final (&m_md5); + for (*md5_s = i = 0; i < 16; i++, md5_s = strchr (md5_s, 0)) + sprintf (md5_s, "%02x", m_md5.digest[i]); + } + +// if (crc16_i) +// *(crc16_i) = *(o.crc16); + +// if (crc32_i) +// *(crc32_i) = *(o.crc32); + + return result; +} + + +#if 0 +#define FILEFILE_LARGE_BUF (1024 * 1024) + + +typedef struct +{ + FILE *output; + int pos0; + int pos; + int similar; + unsigned char *buffer; + const char *fname0; + const char *fname; + int found; +} st_ucon64_filefile_t; + + +static inline int +ucon64_filefile_func (void *buffer, int n, void *object) +{ + st_ucon64_filefile_t *o = (st_ucon64_filefile_t *) object; + int i = 0, j = 0, len = MIN (FILEFILE_LARGE_BUF, fsizeof (o->fname) - o->pos); + char *b = (char *) buffer; + + ucon64_fread (o->buffer, o->pos, len, o->fname); + + for (; i < n; i++) + if (o->similar == TRUE ? // find start + *(b + i) == *(o->buffer + i) : + *(b + i) != *(o->buffer + i)) + { + for (j = 0; i + j < n; j++) + if (o->similar == TRUE ? // find end (len) + *(b + i + j) != *(o->buffer + i + j) : + *(b + i + j) == *(o->buffer + i + j)) + break; + + fprintf (o->output, "%s:\n", o->fname0); + dumper (o->output, &b[i], j, o->pos0 + i, DUMPER_HEX); + + fprintf (o->output, "%s:\n", o->fname); + dumper (o->output, &o->buffer[i], j, o->pos + i, DUMPER_HEX); + + fputc ('\n', o->output); + + i += j; + o->found++; + } + + return n; +} + + +void +ucon64_filefile (const char *filename1, int start1, const char *filename2, + int start2, int similar) +{ + st_ucon64_filefile_t o; + + printf ("Comparing %s", basename2 (ucon64.rom)); + if (ucon64.fname_arch[0]) + printf (" (%s)", basename2 (ucon64.fname_arch)); + printf (" with %s\n", filename1); + + if (one_file (filename1, filename2)) + { + printf ("%s and %s refer to one file\n", filename1, filename2); + return; + } + + if (fsizeof (filename1) < start1 || fsizeof (filename2) < start2) + return; + + if (!(o.buffer = (unsigned char *) malloc (FILEFILE_LARGE_BUF))) + { + fputs ("ERROR: File not found/out of memory\n", stderr); + return; // it's logical to stop for this file + } + + o.fname0 = filename1; + o.pos0 = start1; + + o.fname = filename2; + o.pos = start2; + o.output = stdout; + o.similar = similar; + + o.found = 0; + + quick_io_func (ucon64_filefile_func, FILEFILE_LARGE_BUF, &o, start1, + fsizeof (filename1), filename1, "rb"); + + if (o.found) + printf ("Found %d %s\n", + o.found, + similar ? (o.found == 1 ? "similarity" : "similarities") : + (o.found == 1 ? "difference" : "differences")); +} +#else +#define FILEFILE_LARGE_BUF +// When verifying if the code produces the same output when FILEFILE_LARGE_BUF +// is defined as when it's not, be sure to use the same buffer size +void +ucon64_filefile (const char *filename1, int start1, const char *filename2, + int start2, int similar) +{ + int base, fsize1, fsize2, len, chunksize1, chunksize2, readok = 1, + bytesread1, bytesread2, bytesleft1, bytesleft2, n_bytes = 0; +#ifdef FILEFILE_LARGE_BUF + int bufsize = 1024 * 1024; + unsigned char *buf1, *buf2; +#else + int bufsize = MAXBUFSIZE; + unsigned char buf1[MAXBUFSIZE], buf2[MAXBUFSIZE]; +#endif + FILE *file1, *file2; + + printf ("Comparing %s", basename2 (ucon64.rom)); + if (ucon64.fname_arch[0]) + printf (" (%s)", basename2 (ucon64.fname_arch)); + printf (" with %s\n", filename1); + + if (one_file (filename1, filename2)) + { + printf ("%s and %s refer to one file\n\n", filename1, filename2); + return; + } + + fsize1 = fsizeof (filename1); // fsizeof() returns size in bytes + fsize2 = fsizeof (filename2); + if (fsize1 < start1 || fsize2 < start2) + return; + +#ifdef FILEFILE_LARGE_BUF + if (!(buf1 = (unsigned char *) malloc (bufsize))) + { + fprintf (stderr, ucon64_msg[FILE_BUFFER_ERROR], bufsize); + return; + } + + if (!(buf2 = (unsigned char *) malloc (bufsize))) + { + free (buf1); + fprintf (stderr, ucon64_msg[FILE_BUFFER_ERROR], bufsize); + return; + } +#endif + + if (!(file1 = fopen (filename1, "rb"))) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename1); +#ifdef FILEFILE_LARGE_BUF + free (buf1); + free (buf2); +#endif + return ; + } + if (!(file2 = fopen (filename2, "rb"))) + { + fprintf (stderr, ucon64_msg[OPEN_READ_ERROR], filename2); + fclose (file1); +#ifdef FILEFILE_LARGE_BUF + free (buf1); + free (buf2); +#endif + return; + } + + fseek (file1, start1, SEEK_SET); + fseek (file2, start2, SEEK_SET); + bytesleft1 = fsize1; + bytesread1 = 0; + bytesleft2 = fsize2; + bytesread2 = 0; + + while (bytesleft1 > 0 && bytesread1 < fsize2 && readok) + { + chunksize1 = fread (buf1, 1, bufsize, file1); + if (chunksize1 == 0) + readok = 0; + else + { + bytesread1 += chunksize1; + bytesleft1 -= chunksize1; + } + + while (bytesleft2 > 0 && bytesread2 < bytesread1 && readok) + { + chunksize2 = fread (buf2, 1, chunksize1, file2); + if (chunksize2 == 0) + readok = 0; + else + { + base = 0; + while (base < chunksize2) + { + if (similar == TRUE ? + buf1[base] == buf2[base] : + buf1[base] != buf2[base]) + { + for (len = 0; base + len < chunksize2; len++) + if (similar == TRUE ? + buf1[base + len] != buf2[base + len] : + buf1[base + len] == buf2[base + len]) + break; + + printf ("%s:\n", filename1); + dumper (stdout, &buf1[base], len, start1 + base + bytesread2, DUMPER_HEX); + printf ("%s:\n", filename2); + dumper (stdout, &buf2[base], len, start2 + base + bytesread2, DUMPER_HEX); + fputc ('\n', stdout); + base += len; + n_bytes += len; + } + else + base++; + } + + bytesread2 += chunksize2; + bytesleft2 -= chunksize2; + } + } + } + + fclose (file1); + fclose (file2); +#ifdef FILEFILE_LARGE_BUF + free (buf1); + free (buf2); +#endif + + printf ("Found %d %s\n\n", + n_bytes, + similar ? (n_bytes == 1 ? "similarity" : "similarities") : + (n_bytes == 1 ? "difference" : "differences")); + + return; +} +#endif diff --git a/tools/ucon64-2.0.0-src/src/ucon64_misc.h b/tools/ucon64-2.0.0-src/src/ucon64_misc.h new file mode 100644 index 0000000..f2c52c3 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/ucon64_misc.h @@ -0,0 +1,303 @@ +/* +ucon64_misc.h - miscellaneous functions for uCON64 + +Copyright (c) 1999 - 2004 NoisyB +Copyright (c) 2001 - 2004 dbjh +Copyright (c) 2001 Caz + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef UCON64_MISC_H +#define UCON64_MISC_H + +#ifdef HAVE_CONFIG_H +#include "config.h" // USE_DISCMAGE +#endif +#include "ucon64.h" // st_rominfo_t + + +/* + UCON64_DM_VERSION_MAJOR + UCON64_DM_VERSION_MINOR + UCON64_DM_VERSION_STEP min. version of libdiscmage supported by uCON64 + + ucon64_load_discmage() load libdiscmage + libdm_usage usage for libdiscmage + libdm_gauge gauge for libdiscmage +*/ +#ifdef USE_DISCMAGE +#include "libdiscmage/libdiscmage.h" // dm_image_t + +#define UCON64_DM_VERSION_MAJOR 0 +#define UCON64_DM_VERSION_MINOR 0 +#define UCON64_DM_VERSION_STEP 7 + +extern const st_getopt2_t libdm_usage[]; +extern int ucon64_load_discmage (void); +extern int libdm_gauge (int pos, int size); +#endif + + +/* + defines for unknown backup units/emulators +*/ +typedef struct // st_unknown_header +{ + /* + Don't create fields that are larger than one byte! For example size_low and + size_high could be combined in one unsigned short int. However, this gives + problems with little endian vs. big endian machines (e.g. writing the header + to disk). + */ + unsigned char size_low; + unsigned char size_high; + unsigned char emulation; + unsigned char hirom; + unsigned char emulation1; + unsigned char emulation2; + unsigned char pad[2]; + unsigned char id1; + unsigned char id2; + unsigned char type; + unsigned char pad2[501]; +} st_unknown_header_t; + +#define UNKNOWN_HEADER_START 0 +#define UNKNOWN_HEADER_LEN (sizeof (st_unknown_header_t)) + +extern int unknown_init (st_rominfo_t *rominfo); + +/* + usage for consoles not directly supported by uCON64 +*/ +extern const st_getopt2_t unknown_usage[], + atari_usage[], + cd32_usage[], + cdi_usage[], + channelf_usage[], + coleco_usage[], + gamecom_usage[], + gc_usage[], + gp32_usage[], + intelli_usage[], + odyssey2_usage[], + odyssey_usage[], + ps2_usage[], + real3do_usage[], + s16_usage[], + sat_usage[], + vboy_usage[], + vc4000_usage[], + vectrex_usage[], + xbox_usage[], + mame_usage[], + + ucon64_options_usage[], + ucon64_options_without_usage[], + ucon64_padding_usage[], + ucon64_patching_usage[]; + +#define NINTENDO_MAKER_LEN 684 + +extern const char *nintendo_maker[]; + +/* + uCON64 "workflow" objects + + We want to do things compile-time. Using ucon64_wf is necessary for VC 6. GCC + (3) accepts casts in struct initialisations. +*/ +enum +{ + WF_OBJ_ALL_SWITCH = 0, + WF_OBJ_ALL_DEFAULT, + WF_OBJ_ALL_DEFAULT_NO_SPLIT, + WF_OBJ_ALL_STOP, + WF_OBJ_ALL_STOP_NO_ROM, + WF_OBJ_ALL_DEFAULT_STOP_NO_ROM, + WF_OBJ_ALL_INIT, + WF_OBJ_ALL_INIT_PROBE, + WF_OBJ_ALL_INIT_PROBE_STOP, + WF_OBJ_ALL_INIT_PROBE_NO_ROM, + WF_OBJ_ALL_INIT_PROBE_NO_SPLIT, + WF_OBJ_ALL_INIT_PROBE_NO_CRC32, + WF_OBJ_ALL_INIT_NO_SPLIT, + + WF_OBJ_DC_SWITCH, + WF_OBJ_DC_DEFAULT, + WF_OBJ_DC_NO_ROM, + WF_OBJ_GB_SWITCH, + WF_OBJ_GB_DEFAULT, + WF_OBJ_GBA_SWITCH, + WF_OBJ_GBA_DEFAULT, + WF_OBJ_GEN_SWITCH, + WF_OBJ_GEN_DEFAULT, + WF_OBJ_GEN_DEFAULT_NO_SPLIT, + WF_OBJ_JAG_SWITCH, + WF_OBJ_LYNX_SWITCH, + WF_OBJ_LYNX_DEFAULT, + WF_OBJ_N64_SWITCH, + WF_OBJ_N64_DEFAULT, + WF_OBJ_N64_INIT_PROBE, + WF_OBJ_NG_SWITCH, + WF_OBJ_NG_DEFAULT, + WF_OBJ_NES_SWITCH, + WF_OBJ_NES_DEFAULT, + WF_OBJ_NGP_SWITCH, + WF_OBJ_PCE_SWITCH, + WF_OBJ_PCE_DEFAULT, + WF_OBJ_PSX_SWITCH, + WF_OBJ_SMS_SWITCH, + WF_OBJ_SMS_DEFAULT_NO_SPLIT, + WF_OBJ_SNES_SWITCH, + WF_OBJ_SNES_DEFAULT, + WF_OBJ_SNES_DEFAULT_NO_SPLIT, + WF_OBJ_SNES_NO_ROM, + WF_OBJ_SNES_INIT_PROBE, + WF_OBJ_SWAN_SWITCH, + + WF_OBJ_N64_STOP_NO_ROM, + WF_OBJ_N64_DEFAULT_STOP, + WF_OBJ_N64_DEFAULT_STOP_NO_ROM, + WF_OBJ_GEN_STOP_NO_ROM, + WF_OBJ_GEN_DEFAULT_STOP_NO_SPLIT_NO_ROM, + WF_OBJ_GBA_STOP_NO_ROM, + WF_OBJ_GBA_DEFAULT_STOP, + WF_OBJ_GBA_DEFAULT_STOP_NO_ROM, + WF_OBJ_SNES_STOP_NO_ROM, + WF_OBJ_SNES_DEFAULT_STOP_NO_ROM, + WF_OBJ_SNES_DEFAULT_STOP_NO_SPLIT_NO_ROM, + WF_OBJ_GB_STOP_NO_ROM, + WF_OBJ_GB_DEFAULT_STOP_NO_ROM, + WF_OBJ_LYNX_STOP_NO_ROM, + WF_OBJ_PCE_DEFAULT_STOP_NO_SPLIT_NO_ROM, + WF_OBJ_NGP_STOP_NO_ROM, + WF_OBJ_NGP_DEFAULT_STOP_NO_ROM, + WF_OBJ_NES_STOP_NO_ROM, + WF_OBJ_NES_DEFAULT_STOP_NO_SPLIT, + WF_OBJ_SMS_STOP_NO_ROM, + WF_OBJ_SMS_DEFAULT_STOP_NO_SPLIT_NO_ROM, + + WF_OBJ_GC_SWITCH, + WF_OBJ_S16_SWITCH, + WF_OBJ_ATA_SWITCH, + WF_OBJ_COLECO_SWITCH, + WF_OBJ_VBOY_SWITCH, + WF_OBJ_VEC_SWITCH, + WF_OBJ_INTELLI_SWITCH, + WF_OBJ_GP32_SWITCH, + WF_OBJ_PS2_SWITCH, + WF_OBJ_XBOX_SWITCH, + WF_OBJ_SAT_SWITCH, + WF_OBJ_3DO_SWITCH, + WF_OBJ_CD32_SWITCH, + WF_OBJ_CDI_SWITCH, +}; + +extern st_ucon64_obj_t ucon64_wf[]; + +/* + uCON64 messages + + usage example: fprintf (stdout, ucon64_msg[WROTE], filename); +*/ +enum +{ + PARPORT_ERROR = 0, + CONSOLE_ERROR, + WROTE, + OPEN_READ_ERROR, + OPEN_WRITE_ERROR, + READ_ERROR, + WRITE_ERROR, + BUFFER_ERROR, // not enough memory + ROM_BUFFER_ERROR, + FILE_BUFFER_ERROR, + DAT_NOT_FOUND, + DAT_NOT_ENABLED, + READ_CONFIG_FILE, + NO_LIB +}; + +extern const char *ucon64_msg[]; + +/* + ucon64_file_handler() handles backups (before modifying the ROM) and ROMs + inside archives. Read the comment at the header to + see how it and the flags work + remove_temp_file() remove possible temp file created by ucon64_file_handler() + ucon64_output_fname() + ucon64_gauge() wrapper for misc.c/gauge() + ucon64_testpad() test if ROM is padded + ucon64_testsplit() test if ROM is split + ucon64_configfile() configfile handling + ucon64_rename() DAT or internal header based rename + ucon64_e() emulator "frontend" + ucon64_pattern() change file based on patterns specified in pattern_fname +*/ +#define OF_FORCE_BASENAME 1 +#define OF_FORCE_SUFFIX 2 + +extern int ucon64_file_handler (char *dest, char *src, int flags); +extern void remove_temp_file (void); +extern char *ucon64_output_fname (char *requested_fname, int flags); +extern int ucon64_gauge (time_t init_time, int pos, int size); +extern int ucon64_testpad (const char *filename); +extern int ucon64_testsplit (const char *filename); +extern int ucon64_configfile (); +extern int ucon64_rename (int mode); +extern int ucon64_e (void); +extern int ucon64_pattern (st_rominfo_t *rominfo, const char *pattern_fname); +extern char *ucon64_temp_file; +extern int (*ucon64_testsplit_callback) (const char *filename); + +/* + Some general file stuff that MUST NOT and WILL NOT be written again and again + + ucon64_fread() same as fread but takes start and src is a filename + ucon64_fwrite() same as fwrite but takes start and dest is a filename; mode + is the same as fopen() modes + ucon64_fgetc() same as fgetc but takes filename instead of FILE and a pos + ucon64_fputc() same as fputc but takes filename instead of FILE and a pos + buf,s,bs,b,f,m == buffer,start,blksize,blks,filename,mode + ucon64_bswap16_n() bswap16() n bytes of buffer + ucon64_fbswap16() bswap16() len bytes of file from start + ucon64_fwswap32() wswap32() len bytes of file from start + ucon64_dump() file oriented wrapper for memdump() (uses the same flags) + ucon64_find() file oriented wrapper for memsearch() (uses the same flags) + ucon64_chksum() file oriented wrapper for chksum() + if (!sha1) {sha1 won't be calculated!} + ucon64_filefile() compare two files for similarities or differencies +*/ +#define ucon64_fgetc(f, p) (quick_io_c(0, p, f, "rb")) +#define ucon64_fputc(f, p, b, m) (quick_io_c(b, p, f, m)) +#define ucon64_fread(b, s, l, f) (quick_io(b, s, l, f, "rb")) +#define ucon64_fwrite(b, s, l, f, m) (quick_io((void *) b, s, l, f, m)) + +extern int ucon64_bswap16_n (void *buffer, int n); +extern void ucon64_fbswap16 (const char *fname, size_t start, size_t len); +extern void ucon64_fwswap32 (const char *fname, size_t start, size_t len); +extern void ucon64_dump (FILE *output, const char *filename, size_t start, + size_t len, uint32_t flags); +// Be sure the following constant doesn't conflict with the MEMCMP2_* constants +#define UCON64_FIND_QUIET (1 << 31) +extern int ucon64_find (const char *filename, size_t start, size_t len, + const char *search, int searchlen, uint32_t flags); +extern int ucon64_chksum (char *sha1, char *md5, unsigned int *crc32, // uint16_t *crc16, + const char *filename, size_t start); +extern void ucon64_filefile (const char *filename1, int start1, + const char *filename2, int start2, int similar); +#endif // #ifndef UCON64_MISC_H diff --git a/tools/ucon64-2.0.0-src/src/ucon64_opts.c b/tools/ucon64-2.0.0-src/src/ucon64_opts.c new file mode 100644 index 0000000..4000b70 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/ucon64_opts.c @@ -0,0 +1,2193 @@ +/* +ucon64_opts.c - switch()'es for all uCON64 options + +Copyright (c) 2002 - 2004 NoisyB +Copyright (c) 2002 - 2004 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif +#include +#include +#include +#include +#include +#include +#ifdef HAVE_UNISTD_H +#include +#endif +#include "misc/misc.h" +#include "misc/getopt2.h" +#include "misc/file.h" +#include "misc/string.h" +#ifdef USE_ZLIB +#include "misc/archive.h" +#endif +#include "ucon64.h" +#include "ucon64_misc.h" +#include "ucon64_dat.h" +#include "console/console.h" +#include "patch/patch.h" +#include "backup/backup.h" +#include "misc/chksum.h" + + +#ifdef _MSC_VER +// Visual C++ doesn't allow inline in C source code +#define inline __inline +#endif + + +int +ucon64_switches (st_ucon64_t *p) +{ +#ifdef USE_DISCMAGE + int x = 0; +#endif + int c = p->option; + const char *optarg = p->optarg; + + /* + Handle options or switches that cause other _options_ to be ignored except + other options of the same class (so the order in which they were specified + matters). + We have to do this here (not in ucon64_options()) or else other options + might be executed before these. + */ + switch (c) + { + /* + Many tools ignore other options if --help has been specified. We do the + same (compare with GNU tools). + */ + case UCON64_HELP: + ucon64_usage (ucon64.argc, ucon64.argv); + exit (0); + + /* + It's also common to exit after displaying version information. + On some configurations printf is a macro (Red Hat Linux 6.2 + GCC 3.2), + so we can't use preprocessor directives in the argument list. + */ + case UCON64_VER: + printf ("version: %s (%s)\n" + "platform: %s\n", + UCON64_VERSION_S, __DATE__, + CURRENT_OS_S); + +#ifdef WORDS_BIGENDIAN + puts ("endianess: big"); +#else + puts ("endianess: little"); +#endif + +#ifdef DEBUG + puts ("debug: yes"); +#else + puts ("debug: no"); +#endif + +#ifdef USE_PARALLEL +#ifdef USE_PPDEV + puts ("parallel port backup unit support: yes (ppdev)"); +#else + puts ("parallel port backup unit support: yes"); +#endif // USE_PPDEV +#else + puts ("parallel port backup unit support: no"); +#endif + +#ifdef USE_USB + puts ("USB port backup unit support: yes"); +#else + puts ("USB port backup unit support: no"); +#endif + + +#ifdef USE_ANSI_COLOR + puts ("ANSI colors enabled: yes"); +#else + puts ("ANSI colors enabled: no"); +#endif + +#ifdef USE_ZLIB + puts ("gzip and zip support: yes"); +#else + puts ("gzip and zip support: no"); +#endif + + printf ("configuration file %s %s\n", + // display the existence only for the config file (really helps solving problems) + access (ucon64.configfile, F_OK) ? "(not present):" : "(present): ", + ucon64.configfile); + +#ifdef USE_DISCMAGE + printf ("discmage DLL: "); + +#ifdef DLOPEN + puts (ucon64.discmage_path); +#else +#if defined __MSDOS__ + printf ("discmage.dxe"); +#elif defined __CYGWIN__ || defined _WIN32 + printf ("discmage.dll"); +#elif defined __APPLE__ // Mac OS X actually + printf ("libdiscmage.dylib"); +#elif defined __unix__ || defined __BEOS__ + printf ("libdiscmage.so"); +#else + printf ("unknown"); +#endif + puts (", dynamically linked"); +#endif // DLOPEN + + printf ("discmage enabled: %s\n", + ucon64.discmage_enabled ? "yes" : "no"); + + if (ucon64.discmage_enabled) + { + x = dm_get_version (); + printf ("discmage version: %d.%d.%d (%s)\n", + x >> 16, x >> 8, x, dm_get_version_s ()); + } + else + puts ("discmage version: not available"); +#endif // USE_DISCMAGE + + printf ("configuration directory: %s\n" + "DAT file directory: %s\n" + "entries in DATabase: %d\n" + "DATabase enabled: %s\n", + ucon64.configdir, + ucon64.datdir, + ucon64_dat_total_entries (), + ucon64.dat_enabled ? "yes" : "no"); + exit (0); + break; + + case UCON64_FRONTEND: + ucon64.frontend = 1; // used by ucon64_gauge() + break; + + case UCON64_NBAK: + ucon64.backup = 0; + break; + +#ifdef USE_ANSI_COLOR + case UCON64_NCOL: + ucon64.ansi_color = 0; + break; +#endif + + case UCON64_RIP: + case UCON64_MKTOC: + case UCON64_MKCUE: + case UCON64_MKSHEET: + case UCON64_BIN2ISO: + case UCON64_ISOFIX: + case UCON64_XCDRW: + case UCON64_DISC: + case UCON64_CDMAGE: + ucon64.force_disc = 1; + break; + + case UCON64_NS: + ucon64.split = 0; + break; + + case UCON64_HD: + ucon64.buheader_len = UNKNOWN_HEADER_LEN; + break; + + case UCON64_HDN: + ucon64.buheader_len = strtol (optarg, NULL, 10); + break; + + case UCON64_NHD: + ucon64.buheader_len = 0; + break; + + case UCON64_SWP: // deprecated + case UCON64_INT: + ucon64.interleaved = 1; + break; + + case UCON64_INT2: + ucon64.interleaved = 2; + break; + + case UCON64_NSWP: // deprecated + case UCON64_NINT: + ucon64.interleaved = 0; + break; + + case UCON64_PORT: +#ifdef USE_USB + if (!strnicmp (optarg, "usb", 3)) + { + if (strlen (optarg) >= 4) + ucon64.usbport = strtol (optarg + 3, NULL, 10) + 1; // usb0 => ucon64.usbport = 1 + else // we automatically detect the + ucon64.usbport = 1; // USB port in the F2A code + + /* + We don't want to make uCON64 behave different if --port=USB{n} is + specified *after* a transfer option (instead of before one), so we + have to reset ucon64.parport_needed here. + */ + ucon64.parport_needed = 0; + } + else +#endif + ucon64.parport = strtol (optarg, NULL, 16); + break; + +#ifdef USE_PARALLEL + /* + We detect the presence of these options here so that we can drop + privileges ASAP. + Note that the libcd64 options are not listed here. We cannot drop + privileges before libcd64 is initialised (after cd64_t.devopen() has been + called). + */ + case UCON64_XCMC: + case UCON64_XCMCT: + case UCON64_XDEX: + case UCON64_XDJR: + case UCON64_XF2A: // could be for USB version + case UCON64_XF2AMULTI: // idem + case UCON64_XF2AC: // idem + case UCON64_XF2AS: // idem + case UCON64_XF2AB: // idem + case UCON64_XFAL: + case UCON64_XFALMULTI: + case UCON64_XFALC: + case UCON64_XFALS: + case UCON64_XFALB: + case UCON64_XFIG: + case UCON64_XFIGS: + case UCON64_XFIGC: + case UCON64_XGBX: + case UCON64_XGBXS: + case UCON64_XGBXB: + case UCON64_XGD3: + case UCON64_XGD3R: + case UCON64_XGD3S: + case UCON64_XGD6: + case UCON64_XGD6R: + case UCON64_XGD6S: + case UCON64_XGG: + case UCON64_XGGS: + case UCON64_XGGB: + case UCON64_XLIT: + case UCON64_XMCCL: + case UCON64_XMCD: + case UCON64_XMD: + case UCON64_XMDS: + case UCON64_XMDB: + case UCON64_XMSG: + case UCON64_XPCE: + case UCON64_XPL: + case UCON64_XPLI: + case UCON64_XSF: + case UCON64_XSFS: + case UCON64_XSMC: + case UCON64_XSMCR: + case UCON64_XSMD: + case UCON64_XSMDS: + case UCON64_XSWC: + case UCON64_XSWC2: + case UCON64_XSWCR: + case UCON64_XSWCS: + case UCON64_XSWCC: + case UCON64_XV64: +#ifdef USE_USB + if (!ucon64.usbport) // no pport I/O if F2A option and USB F2A +#endif + ucon64.parport_needed = 1; + /* + We want to make this possible: + 1.) ucon64 + 2.) ucon64 --port= + The above works "automatically". The following type of command used to + be possible, but has been deprecated: + 3.) ucon64 + It has been removed, because it caused problems when specifying additional + switches without specifying the parallel port address. For example: + ucon64 -xfal -xfalm + This would be interpreted as: + ucon64 -xfal -xfalm + If has a name that starts with a number an I/O port associated + with that number will be accessed which might well have unwanted + results. We cannot check for valid I/O port numbers, because the I/O + port of the parallel port can be mapped to almost any 16-bit number. + */ +#if 0 + if (ucon64.parport == UCON64_UNKNOWN) + if (ucon64.argc >= 4) + if (access (ucon64.argv[ucon64.argc - 1], F_OK)) + // Yes, we don't get here if ucon64.argv[ucon64.argc - 1] is [0x]278, + // [0x]378 or [0x]3bc and a file with the same name (path) exists. + ucon64.parport = strtol (ucon64.argv[ucon64.argc - 1], NULL, 16); +#endif + break; + +#ifdef USE_LIBCD64 + case UCON64_XCD64: + case UCON64_XCD64B: + case UCON64_XCD64C: + case UCON64_XCD64E: + case UCON64_XCD64F: + case UCON64_XCD64M: + case UCON64_XCD64S: + // We don't really need the parallel port. We just have to make sure that + // privileges aren't dropped. + ucon64.parport_needed = 2; + break; + + case UCON64_XCD64P: + ucon64.io_mode = strtol (optarg, NULL, 10); + break; +#endif + + case UCON64_XCMCM: + ucon64.io_mode = strtol (optarg, NULL, 10); + break; + + case UCON64_XFALM: + case UCON64_XGBXM: + case UCON64_XPLM: + ucon64.parport_mode = UCON64_EPP; + break; + + case UCON64_XSWC_IO: + ucon64.io_mode = strtol (optarg, NULL, 16); + + if (ucon64.io_mode & SWC_IO_ALT_ROM_SIZE) + puts ("WARNING: I/O mode not yet implemented"); +#if 0 // all these constants are defined by default + if (ucon64.io_mode & (SWC_IO_SPC7110 | SWC_IO_SDD1 | SWC_IO_SA1 | SWC_IO_MMX2)) + puts ("WARNING: Be sure to compile swc.c with the appropriate constants defined"); +#endif + + if (ucon64.io_mode > SWC_IO_MAX) + { + printf ("WARNING: Invalid value for MODE (0x%x), using 0\n", ucon64.io_mode); + ucon64.io_mode = 0; + } + else + { + printf ("I/O mode: 0x%03x", ucon64.io_mode); + if (ucon64.io_mode) + { + char flagstr[100]; + + flagstr[0] = 0; + if (ucon64.io_mode & SWC_IO_FORCE_32MBIT) + strcat (flagstr, "force 32 Mbit dump, "); + if (ucon64.io_mode & SWC_IO_ALT_ROM_SIZE) + strcat (flagstr, "alternative ROM size method, "); + if (ucon64.io_mode & SWC_IO_SUPER_FX) + strcat (flagstr, "Super FX, "); + if (ucon64.io_mode & SWC_IO_SDD1) + strcat (flagstr, "S-DD1, "); + if (ucon64.io_mode & SWC_IO_SA1) + strcat (flagstr, "SA-1, "); + if (ucon64.io_mode & SWC_IO_SPC7110) + strcat (flagstr, "SPC7110, "); + if (ucon64.io_mode & SWC_IO_DX2_TRICK) + strcat (flagstr, "DX2 trick, "); + if (ucon64.io_mode & SWC_IO_MMX2) + strcat (flagstr, "Mega Man X 2, "); + if (ucon64.io_mode & SWC_IO_DUMP_BIOS) + strcat (flagstr, "dump BIOS, "); + + if (flagstr[0]) + flagstr[strlen (flagstr) - 2] = 0; + printf (" (%s)", flagstr); + } + fputc ('\n', stdout); + } + break; +#endif // USE_PARALLEL + + case UCON64_PATCH: // falling through, so --patch is an alias for --file + case UCON64_FILE: + ucon64.file = optarg; + break; + + case UCON64_I: + case UCON64_B: + case UCON64_A: + case UCON64_NA: + case UCON64_PPF: + case UCON64_NPPF: + case UCON64_IDPPF: + if (!ucon64.file || !ucon64.file[0]) + ucon64.file = ucon64.argv[ucon64.argc - 1]; + break; + +#if 0 + case UCON64_ROM: + if (optarg) + ucon64.rom = optarg; + break; +#endif + + case UCON64_O: + { + struct stat fstate; + int dir = 0; + + if (!stat (optarg, &fstate)) + if (S_ISDIR (fstate.st_mode)) + { + strcpy (ucon64.output_path, optarg); + if (ucon64.output_path[strlen (ucon64.output_path) - 1] != FILE_SEPARATOR) + strcat (ucon64.output_path, FILE_SEPARATOR_S); + dir = 1; + } + + if (!dir) + puts ("WARNING: Argument for -o must be a directory. Using current directory instead"); + } + break; + + case UCON64_NHI: + ucon64.snes_hirom = 0; + break; + + case UCON64_HI: + ucon64.snes_hirom = SNES_HIROM; + break; + + case UCON64_EROM: + ucon64.snes_header_base = SNES_EROM; + break; + + case UCON64_BS: + ucon64.bs_dump = 1; + break; + + case UCON64_NBS: + ucon64.bs_dump = 0; + break; + + case UCON64_CTRL: + if (UCON64_ISSET (ucon64.controller)) + ucon64.controller |= 1 << strtol (optarg, NULL, 10); + else + ucon64.controller = 1 << strtol (optarg, NULL, 10); + break; + + case UCON64_CTRL2: + if (UCON64_ISSET (ucon64.controller2)) + ucon64.controller2 |= 1 << strtol (optarg, NULL, 10); + else + ucon64.controller2 = 1 << strtol (optarg, NULL, 10); + break; + + case UCON64_NTSC: + if (!UCON64_ISSET (ucon64.tv_standard)) + ucon64.tv_standard = 0; + else if (ucon64.tv_standard == 1) + ucon64.tv_standard = 2; // code for NTSC/PAL (NES UNIF) + break; + + case UCON64_PAL: + if (!UCON64_ISSET (ucon64.tv_standard)) + ucon64.tv_standard = 1; + else if (ucon64.tv_standard == 0) + ucon64.tv_standard = 2; // code for NTSC/PAL (NES UNIF) + break; + + case UCON64_BAT: + ucon64.battery = 1; + break; + + case UCON64_NBAT: + ucon64.battery = 0; + break; + + case UCON64_VRAM: + ucon64.vram = 1; + break; + + case UCON64_NVRAM: + ucon64.vram = 0; + break; + + case UCON64_MIRR: + ucon64.mirror = strtol (optarg, NULL, 10); + break; + + case UCON64_MAPR: + ucon64.mapr = optarg; // pass the _string_, it can be a + break; // board name + + case UCON64_CMNT: + ucon64.comment = optarg; + break; + + case UCON64_DUMPINFO: + ucon64.use_dump_info = 1; + ucon64.dump_info = optarg; + break; + + case UCON64_RR83: + ucon64.fname_len = UCON64_RR83; + break; + + case UCON64_FORCE63: + ucon64.fname_len = UCON64_FORCE63; + break; + + case UCON64_Q: + case UCON64_QQ: // for now -qq is equivalent to -q + ucon64.quiet = 1; + break; + + case UCON64_V: + ucon64.quiet = -1; + break; + + case UCON64_SSIZE: + ucon64.part_size = strtol (optarg, NULL, 10) * MBIT; + break; + + case UCON64_ID: + ucon64.id = 1; + break; + + case UCON64_REGION: + if (optarg[1] == 0 && toupper (optarg[0]) == 'X') // be insensitive to case + ucon64.region = 256; + else + ucon64.region = strtol (optarg, NULL, 10); + break; + + default: + break; + } + + return 0; +} + + +static inline char * +to_func (char *s, int len, int (*func) (int)) +{ + char *p = s; + + for (; len > 0; p++, len--) + *p = func (*p); + + return s; +} + + +static inline int +toprint (int c) +{ + if (isprint (c)) + return c; + + // characters that also work with printf() +#ifdef USE_ANSI_COLOR + if (c == '\x1b') + return ucon64.ansi_color ? c : '.'; +#endif + + return strchr ("\t\n\r", c) ? c : '.'; +} + + +int +ucon64_options (st_ucon64_t *p) +{ +#ifdef USE_PARALLEL + int enableRTS = -1; // for UCON64_XSWC & UCON64_XSWC2 +#endif + int value = 0, x = 0, padded; + unsigned int checksum; + char buf[MAXBUFSIZE], src_name[FILENAME_MAX], dest_name[FILENAME_MAX], + *ptr = NULL; + struct stat fstate; + int c = p->option; + const char *optarg = p->optarg; + + if (ucon64.rom) + { + strcpy (src_name, ucon64.rom); + strcpy (dest_name, ucon64.rom); + } + + switch (c) + { + case UCON64_CRCHD: // deprecated + value = UNKNOWN_HEADER_LEN; + case UCON64_CRC: + if (!value) + value = ucon64.rominfo ? ucon64.rominfo->buheader_len : ucon64.buheader_len; + fputs (basename2 (ucon64.rom), stdout); + if (ucon64.fname_arch[0]) + printf (" (%s)\n", basename2 (ucon64.fname_arch)); + else + fputc ('\n', stdout); + checksum = 0; + ucon64_chksum (NULL, NULL, &checksum, ucon64.rom, value); + printf ("Checksum (CRC32): 0x%08x\n\n", checksum); + break; + + case UCON64_SHA1: + if (!value) + value = ucon64.rominfo ? ucon64.rominfo->buheader_len : ucon64.buheader_len; + fputs (basename2 (ucon64.rom), stdout); + if (ucon64.fname_arch[0]) + printf (" (%s)\n", basename2 (ucon64.fname_arch)); + else + fputc ('\n', stdout); + ucon64_chksum (buf, NULL, NULL, ucon64.rom, value); + printf ("Checksum (SHA1): 0x%s\n\n", buf); + break; + + case UCON64_MD5: + if (!value) + value = ucon64.rominfo ? ucon64.rominfo->buheader_len : ucon64.buheader_len; + fputs (basename2 (ucon64.rom), stdout); + if (ucon64.fname_arch[0]) + printf (" (%s)\n", basename2 (ucon64.fname_arch)); + else + fputc ('\n', stdout); + ucon64_chksum (NULL, buf, NULL, ucon64.rom, value); + printf ("Checksum (MD5): 0x%s\n\n", buf); + break; + + case UCON64_RL: + strcpy (buf, basename2 (ucon64.rom)); + printf ("Renaming \"%s\" to ", buf); + strlwr (buf); + printf ("\"%s\"\n", buf); + ucon64_output_fname (buf, OF_FORCE_BASENAME | OF_FORCE_SUFFIX); + rename2 (ucon64.rom, buf); + strcpy ((char *) ucon64.rom, buf); + break; + + case UCON64_RU: + strcpy (buf, basename2 (ucon64.rom)); + printf ("Renaming \"%s\" to ", buf); + strupr (buf); + printf ("\"%s\"\n", buf); + ucon64_output_fname (buf, OF_FORCE_BASENAME | OF_FORCE_SUFFIX); + rename2 (ucon64.rom, buf); + strcpy ((char *) ucon64.rom, buf); + break; + + case UCON64_HEX: + ucon64_dump (stdout, ucon64.rom, + optarg ? MAX (strtol2 (optarg, NULL), 0) : 0, + ucon64.file_size, DUMPER_HEX); + break; + + case UCON64_DUAL: + ucon64_dump (stdout, ucon64.rom, + optarg ? MAX (strtol2 (optarg, NULL), 0) : 0, + ucon64.file_size, DUMPER_DUAL); + break; + + case UCON64_CODE: + ucon64_dump (stdout, ucon64.rom, + optarg ? MAX (strtol2 (optarg, NULL), 0) : 0, + ucon64.file_size, DUMPER_CODE); + break; + + case UCON64_PRINT: + ucon64_dump (stdout, ucon64.rom, + optarg ? MAX (strtol2 (optarg, NULL), 0) : 0, + ucon64.file_size, DUMPER_PRINT); + break; + + case UCON64_C: + ucon64_filefile (optarg, 0, ucon64.rom, 0, FALSE); + break; + + case UCON64_CS: + ucon64_filefile (optarg, 0, ucon64.rom, 0, TRUE); + break; + + case UCON64_FIND: + ucon64_find (ucon64.rom, value, ucon64.file_size, optarg, + strlen (optarg), MEMCMP2_WCARD ('?')); + break; + + case UCON64_FINDR: + ucon64_find (ucon64.rom, value, ucon64.file_size, optarg, + strlen (optarg), MEMCMP2_WCARD ('?') | MEMCMP2_REL); + break; + + case UCON64_FINDI: + ucon64_find (ucon64.rom, value, ucon64.file_size, optarg, strlen (optarg), + MEMCMP2_WCARD ('?') | MEMCMP2_CASE); + break; + + case UCON64_PADHD: // deprecated + value = UNKNOWN_HEADER_LEN; + case UCON64_P: + case UCON64_PAD: + if (!value && ucon64.rominfo) + value = ucon64.rominfo->buheader_len; + ucon64_file_handler (dest_name, src_name, 0); + + fcopy (src_name, 0, ucon64.file_size, dest_name, "wb"); + if (truncate2 (dest_name, ucon64.file_size + (MBIT - ((ucon64.file_size - value) % MBIT))) == -1) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], dest_name); // msg is not a typo + exit (1); + } + + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + break; + + case UCON64_PADN: + ucon64_file_handler (dest_name, src_name, 0); + + fcopy (src_name, 0, ucon64.file_size, dest_name, "wb"); + if (truncate2 (dest_name, strtol (optarg, NULL, 10) + + (ucon64.rominfo ? ucon64.rominfo->buheader_len : 0)) == -1) + { + fprintf (stderr, ucon64_msg[OPEN_WRITE_ERROR], dest_name); // msg is not a typo + exit (1); + } + + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + break; + + case UCON64_ISPAD: + if ((padded = ucon64_testpad (ucon64.rom)) != -1) + { + if (!padded) + puts ("Padded: No\n"); + else + printf ("Padded: Maybe, %d Bytes (%.4f Mb)\n\n", padded, + (float) padded / MBIT); + } + break; + + case UCON64_STRIP: + ucon64_file_handler (dest_name, src_name, 0); + fcopy (src_name, 0, ucon64.file_size - strtol (optarg, NULL, 10), + dest_name, "wb"); + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + break; + + case UCON64_STP: + ucon64_file_handler (dest_name, src_name, 0); + fcopy (src_name, 512, ucon64.file_size, dest_name, "wb"); + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + break; + + case UCON64_STPN: + ucon64_file_handler (dest_name, src_name, 0); + fcopy (src_name, strtol (optarg, NULL, 10), ucon64.file_size, dest_name, "wb"); + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + break; + + case UCON64_INS: + ucon64_file_handler (dest_name, src_name, 0); + memset (buf, 0, 512); + ucon64_fwrite (buf, 0, 512, dest_name, "wb"); + fcopy (src_name, 0, ucon64.file_size, dest_name, "ab"); + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + break; + + case UCON64_INSN: + ucon64_file_handler (dest_name, src_name, 0); + value = strtol (optarg, NULL, 10); + if (value <= MAXBUFSIZE) + { + memset (buf, 0, value); + ucon64_fwrite (buf, 0, value, dest_name, "wb"); + } + else + { + int bytesleft = value, bytestowrite; + memset (buf, 0, MAXBUFSIZE); + while (bytesleft > 0) + { + bytestowrite = bytesleft <= MAXBUFSIZE ? bytesleft : MAXBUFSIZE; + ucon64_fwrite (buf, 0, bytestowrite, dest_name, + bytesleft == value ? "wb" : "ab"); // we have to use "wb" for + bytesleft -= bytestowrite; // the first iteration + } + } + fcopy (src_name, 0, ucon64.file_size, dest_name, "ab"); + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + break; + + case UCON64_A: + aps_apply (ucon64.rom, ucon64.file); + break; + + case UCON64_B: + bsl_apply (ucon64.rom, ucon64.file); + break; + + case UCON64_I: + ips_apply (ucon64.rom, ucon64.file); + break; + + case UCON64_PPF: + ppf_apply (ucon64.rom, ucon64.file); + break; + + case UCON64_MKA: + aps_create (optarg, ucon64.rom); // original, modified + break; + + case UCON64_MKI: + ips_create (optarg, ucon64.rom); // original, modified + break; + + case UCON64_MKPPF: + ppf_create (optarg, ucon64.rom); // original, modified + break; + + case UCON64_NA: + aps_set_desc (ucon64.rom, optarg); + break; + + case UCON64_NPPF: + ppf_set_desc (ucon64.rom, optarg); + break; + + case UCON64_IDPPF: + ppf_set_fid (ucon64.rom, optarg); + break; + + case UCON64_SCAN: + case UCON64_LSD: + if (ucon64.dat_enabled) + { + if (ucon64.crc32) + { + fputs (basename2 (ucon64.rom), stdout); + if (ucon64.fname_arch[0]) + printf (" (%s)\n", basename2 (ucon64.fname_arch)); + else + fputc ('\n', stdout); + // Use ucon64.fcrc32 for SNES & Genesis interleaved/N64 non-interleaved + printf ("Checksum (CRC32): 0x%08x\n", ucon64.fcrc32 ? + ucon64.fcrc32 : ucon64.crc32); + ucon64_dat_nfo ((st_ucon64_dat_t *) ucon64.dat, 1); + fputc ('\n', stdout); + } + } + else + printf (ucon64_msg[DAT_NOT_ENABLED]); + break; + + case UCON64_LSV: + if (ucon64.rominfo) + ucon64_nfo (); + break; + + case UCON64_LS: + if (ucon64.rominfo) + ptr = ucon64.rominfo->name; + + if (ucon64.dat) + { + if (!ptr) + ptr = ((st_ucon64_dat_t *) ucon64.dat)->name; + else if (!ptr[0]) + ptr = ((st_ucon64_dat_t *) ucon64.dat)->name; + } + + if (ptr) + if (ptr[0]) + { + if (stat (ucon64.rom, &fstate) != 0) + break; + strftime (buf, 13, "%b %d %Y", localtime (&fstate.st_mtime)); + printf ("%-31.31s %10d %s %s", to_func (ptr, strlen (ptr), toprint), + ucon64.file_size, buf, basename2 (ucon64.rom)); + if (ucon64.fname_arch[0]) + printf (" (%s)\n", basename2 (ucon64.fname_arch)); + else + fputc ('\n', stdout); + } + break; + + case UCON64_RENAME: + ucon64_rename (UCON64_RENAME); + break; + + case UCON64_RR83: + ucon64.fname_len = UCON64_RR83; + case UCON64_RROM: + ucon64_rename (UCON64_RROM); + break; + +#ifdef USE_DISCMAGE + case UCON64_BIN2ISO: + case UCON64_ISOFIX: + case UCON64_RIP: + case UCON64_CDMAGE: + if (ucon64.discmage_enabled) + { + uint32_t flags = 0; + + switch (c) + { + case UCON64_BIN2ISO: + flags |= DM_2048; // DM_2048 read sectors and convert to 2048 Bytes + break; + + case UCON64_ISOFIX: + flags |= DM_FIX; // DM_FIX read sectors and fix (if needed/possible) + break; + + case UCON64_CDMAGE: +// flags |= DM_CDMAGE; + break; + } + + ucon64.image = dm_reopen (ucon64.rom, 0, (dm_image_t *) ucon64.image); + if (ucon64.image) + { + int track = strtol (optarg, NULL, 10); + if (track < 1) + track = 1; + track--; // decrement for dm_rip() + + printf ("Writing track: %d\n\n", track + 1); + + dm_set_gauge ((void (*)(int, int)) &libdm_gauge); + dm_rip ((dm_image_t *) ucon64.image, track, flags); + fputc ('\n', stdout); + } + } + else + printf (ucon64_msg[NO_LIB], ucon64.discmage_path); + break; + + case UCON64_MKTOC: + case UCON64_MKCUE: + case UCON64_MKSHEET: + if (ucon64.discmage_enabled) + { + if (ucon64.image) + { + char buf[FILENAME_MAX]; + strcpy (buf, ((dm_image_t *) ucon64.image)->fname); + + if (c == UCON64_MKTOC || c == UCON64_MKSHEET) + { + set_suffix (buf, ".toc"); + ucon64_file_handler (buf, NULL, 0); + + if (!dm_toc_write ((dm_image_t *) ucon64.image)) + printf (ucon64_msg[WROTE], basename2 (buf)); + else + fputs ("ERROR: Could not generate toc sheet\n", stderr); + } + + if (c == UCON64_MKCUE || c == UCON64_MKSHEET) + { + set_suffix (buf, ".cue"); + ucon64_file_handler (buf, NULL, 0); + + if (!dm_cue_write ((dm_image_t *) ucon64.image)) + printf (ucon64_msg[WROTE], basename2 (buf)); + else + fputs ("ERROR: Could not generate cue sheet\n", stderr); + } + } + } + else + printf (ucon64_msg[NO_LIB], ucon64.discmage_path); + break; + + case UCON64_XCDRW: + if (ucon64.discmage_enabled) + { +// dm_set_gauge ((void *) &libdm_gauge); + if (!access (ucon64.rom, F_OK)) + dm_disc_write ((dm_image_t *) ucon64.image); + else + dm_disc_read ((dm_image_t *) ucon64.image); + } + else + printf (ucon64_msg[NO_LIB], ucon64.discmage_path); + break; +#endif // USE_DISCMAGE + + case UCON64_DB: + if (ucon64.quiet > -1) // -db + -v == -dbv + { + if (ucon64.dat_enabled) + { + ucon64_dat_view (ucon64.console, 0); + printf ("TIP: %s " OPTION_LONG_S "db " OPTION_LONG_S "nes" + " would show only information about known NES ROMs\n\n", + basename2 (ucon64.argv[0])); + } + else + fputs (ucon64_msg[DAT_NOT_ENABLED], stdout); + break; + } + + case UCON64_DBV: + if (ucon64.dat_enabled) + { + ucon64_dat_view (ucon64.console, 1); + printf ("TIP: %s " OPTION_LONG_S "dbv " OPTION_LONG_S "nes" + " would show only information about known NES ROMs\n\n", + basename2 (ucon64.argv[0])); + } + else + fputs (ucon64_msg[DAT_NOT_ENABLED], stdout); + break; + + case UCON64_DBS: + if (ucon64.dat_enabled) + { + ucon64.crc32 = 0; + sscanf (optarg, "%x", &ucon64.crc32); + + if (!(ucon64.dat = (st_ucon64_dat_t *) ucon64_dat_search (ucon64.crc32, NULL))) + { + printf (ucon64_msg[DAT_NOT_FOUND], ucon64.crc32); + printf ("TIP: Be sure to install the right DAT files in %s\n", ucon64.datdir); + } + else + { + ucon64_dat_nfo ((st_ucon64_dat_t *) ucon64.dat, 1); + printf ("\n" + "TIP: %s " OPTION_LONG_S "dbs" OPTARG_S "0x%08x " OPTION_LONG_S + "nes would search only for a NES ROM\n\n", + basename2 (ucon64.argv[0]), ucon64.crc32); + } + } + else + fputs (ucon64_msg[DAT_NOT_ENABLED], stdout); + break; + + case UCON64_MKDAT: + ucon64_create_dat (optarg, ucon64.rom, ucon64.rominfo ? ucon64.rominfo->buheader_len : 0); + break; + + case UCON64_MULTI: + switch (ucon64.console) + { + case UCON64_GBA: + gba_multi (strtol (optarg, NULL, 10) * MBIT, NULL); + break; + case UCON64_GEN: + genesis_multi (strtol (optarg, NULL, 10) * MBIT, NULL); + break; + case UCON64_PCE: + pcengine_multi (strtol (optarg, NULL, 10) * MBIT, NULL); + break; + case UCON64_SMS: // Sega Master System *and* Game Gear + sms_multi (strtol (optarg, NULL, 10) * MBIT, NULL); + break; + case UCON64_SNES: + snes_multi (strtol (optarg, NULL, 10) * MBIT, NULL); + break; + default: + return -1; + } + break; + + case UCON64_E: + ucon64_e (); + break; + + case UCON64_1991: + genesis_1991 (ucon64.rominfo); + break; + + case UCON64_B0: + lynx_b0 (ucon64.rominfo, optarg); + break; + + case UCON64_B1: + lynx_b1 (ucon64.rominfo, optarg); + break; + + case UCON64_BIN: + genesis_bin (ucon64.rominfo); + break; + + case UCON64_BIOS: + neogeo_bios (optarg); + break; + + case UCON64_BOT: + n64_bot (ucon64.rominfo, optarg); + break; + + case UCON64_CHK: + switch (ucon64.console) + { + case UCON64_GB: + gameboy_chk (ucon64.rominfo); + break; + case UCON64_GBA: + gba_chk (ucon64.rominfo); + break; + case UCON64_GEN: + genesis_chk (ucon64.rominfo); + break; + case UCON64_N64: + n64_chk (ucon64.rominfo); + break; + case UCON64_SMS: + sms_chk (ucon64.rominfo); + break; + case UCON64_SNES: + snes_chk (ucon64.rominfo); + break; + case UCON64_SWAN: + swan_chk (ucon64.rominfo); + break; + default: +// The next msg has already been printed +// fputs (ucon64_msg[CONSOLE_ERROR], stderr); + return -1; + } + break; + + case UCON64_COL: + snes_col (optarg); + break; + + case UCON64_CRP: + gba_crp (ucon64.rominfo, optarg); + break; + + case UCON64_DBUH: + snes_buheader_info (ucon64.rominfo); + break; + + case UCON64_SWAP: + case UCON64_DINT: + switch (ucon64.console) + { + case UCON64_NES: + nes_dint (); + break; + case UCON64_PCE: + pcengine_swap (ucon64.rominfo); + break; + case UCON64_SNES: + snes_dint (ucon64.rominfo); + break; + default: // Nintendo 64 + puts ("Converting file..."); + ucon64_file_handler (dest_name, NULL, 0); + fcopy (src_name, 0, ucon64.file_size, dest_name, "wb"); + ucon64_fbswap16 (dest_name, 0, ucon64.file_size); + printf (ucon64_msg[WROTE], dest_name); + break; + } + break; + + case UCON64_SWAP2: + // --swap2 is currently used only for Nintendo 64 + puts ("Converting file..."); + ucon64_file_handler (dest_name, NULL, 0); + fcopy (src_name, 0, ucon64.file_size, dest_name, "wb"); + ucon64_fwswap32 (dest_name, 0, ucon64.file_size); + printf (ucon64_msg[WROTE], dest_name); + break; + + case UCON64_DMIRR: + snes_demirror (ucon64.rominfo); + break; + + case UCON64_DNSRT: + snes_densrt (ucon64.rominfo); + break; + + case UCON64_F: + switch (ucon64.console) + { + case UCON64_GEN: + genesis_f (ucon64.rominfo); + break; + case UCON64_N64: + n64_f (ucon64.rominfo); + break; + case UCON64_PCE: + pcengine_f (ucon64.rominfo); + break; + case UCON64_SNES: + snes_f (ucon64.rominfo); + break; + default: +// The next msg has already been printed +// fputs (ucon64_msg[CONSOLE_ERROR], stderr); + return -1; + } + break; + + case UCON64_FDS: + nes_fds (); + break; + + case UCON64_FDSL: + nes_fdsl (ucon64.rominfo, NULL); + break; + + case UCON64_FFE: + nes_ffe (ucon64.rominfo); + break; + + case UCON64_FIG: + snes_fig (ucon64.rominfo); + break; + + case UCON64_FIGS: + snes_figs (ucon64.rominfo); + break; + + case UCON64_GBX: + gameboy_gbx (ucon64.rominfo); + break; + + case UCON64_GD3: + snes_gd3 (ucon64.rominfo); + break; + + case UCON64_GD3S: + snes_gd3s (ucon64.rominfo); + break; + + case UCON64_GG: + switch (ucon64.console) + { + case UCON64_GB: + case UCON64_GEN: + case UCON64_NES: + case UCON64_SMS: + case UCON64_SNES: + gg_apply (ucon64.rominfo, optarg); + break; + default: + fputs ("ERROR: Cannot apply Game Genie code for this ROM/console\n", stderr); +// The next msg has already been printed +// fputs (ucon64_msg[CONSOLE_ERROR], stderr); + return -1; + } + break; + + case UCON64_GGD: + gg_display (ucon64.rominfo, optarg); + break; + + case UCON64_GGE: + gg_display (ucon64.rominfo, optarg); + break; + + case UCON64_INES: + nes_ines (); + break; + + case UCON64_INESHD: + nes_ineshd (ucon64.rominfo); + break; + +#if 0 + case UCON64_IP: + break; +#endif + + case UCON64_VMS: + break; + + case UCON64_PARSE: + dc_parse (optarg); + break; + + case UCON64_MKIP: + dc_mkip (); + break; + + case UCON64_J: + switch (ucon64.console) + { + case UCON64_GEN: + genesis_j (ucon64.rominfo); + break; + case UCON64_NES: + nes_j (NULL); + break; + case UCON64_SNES: + snes_j (ucon64.rominfo); + break; + default: +// The next msg has already been printed +// fputs (ucon64_msg[CONSOLE_ERROR], stderr); + return -1; + } + break; + + case UCON64_K: + snes_k (ucon64.rominfo); + break; + + case UCON64_L: + snes_l (ucon64.rominfo); + break; + + case UCON64_LNX: + lynx_lnx (ucon64.rominfo); + break; + + case UCON64_LOGO: + switch (ucon64.console) + { + case UCON64_GB: + gameboy_logo (ucon64.rominfo); + break; + case UCON64_GBA: + gba_logo (ucon64.rominfo); + break; + default: +// The next msg has already been printed +// fputs (ucon64_msg[CONSOLE_ERROR], stderr); + return -1; + } + break; + + case UCON64_LSRAM: + n64_sram (ucon64.rominfo, optarg); + break; + + case UCON64_LYX: + lynx_lyx (ucon64.rominfo); + break; + + case UCON64_MGD: + switch (ucon64.console) + { + case UCON64_GB: + gameboy_mgd (ucon64.rominfo); + break; + case UCON64_GEN: + genesis_mgd (ucon64.rominfo); + break; + case UCON64_NG: + neogeo_mgd (); + break; + case UCON64_PCE: + pcengine_mgd (ucon64.rominfo); + break; + case UCON64_SMS: + sms_mgd (ucon64.rominfo, UCON64_SMS); + break; + case UCON64_SNES: + snes_mgd (ucon64.rominfo); + break; + default: +// The next msg has already been printed +// fputs (ucon64_msg[CONSOLE_ERROR], stderr); + return -1; + } + break; + + case UCON64_MGDGG: + sms_mgd (ucon64.rominfo, UCON64_GAMEGEAR); + break; + + case UCON64_MSG: + pcengine_msg (ucon64.rominfo); + break; + + case UCON64_N: +// if (strlen (optarg) == 0) +// break; + switch (ucon64.console) + { + case UCON64_GB: + gameboy_n (ucon64.rominfo, optarg); + break; + case UCON64_GBA: + gba_n (ucon64.rominfo, optarg); + break; + case UCON64_GEN: + genesis_n (ucon64.rominfo, optarg); + break; + case UCON64_LYNX: + lynx_n (ucon64.rominfo, optarg); + break; + case UCON64_N64: + n64_n (ucon64.rominfo, optarg); + break; + case UCON64_NES: + nes_n (optarg); + break; + case UCON64_SNES: + snes_n (ucon64.rominfo, optarg); + break; + default: +// The next msg has already been printed +// fputs (ucon64_msg[CONSOLE_ERROR], stderr); + return -1; + } + break; + + case UCON64_N2: +// if (strlen (optarg) == 0) +// break; + genesis_n2 (ucon64.rominfo, optarg); + break; + + case UCON64_N2GB: + gameboy_n2gb (ucon64.rominfo, optarg); + break; + + case UCON64_NROT: + lynx_nrot (ucon64.rominfo); + break; + + case UCON64_PASOFAMI: + nes_pasofami (); + break; + + case UCON64_PATTERN: + ucon64_pattern (ucon64.rominfo, optarg); + break; + + case UCON64_POKE: + ucon64_file_handler (dest_name, src_name, 0); + fcopy (src_name, 0, ucon64.file_size, dest_name, "wb"); + + sscanf (optarg, "%x:%x", &x, &value); + if (x >= ucon64.file_size) + { + fprintf (stderr, "ERROR: Offset 0x%x is too large\n", x); + remove (dest_name); + break; + } + fputc ('\n', stdout); + buf[0] = ucon64_fgetc (dest_name, x); + dumper (stdout, buf, 1, x, DUMPER_HEX); + + ucon64_fputc (dest_name, x, value, "r+b"); + + buf[0] = value; + dumper (stdout, buf, 1, x, DUMPER_HEX); + fputc ('\n', stdout); + + printf (ucon64_msg[WROTE], dest_name); + remove_temp_file (); + break; + + case UCON64_ROTL: + lynx_rotl (ucon64.rominfo); + break; + + case UCON64_ROTR: + lynx_rotr (ucon64.rominfo); + break; + + case UCON64_S: + switch (ucon64.console) + { + case UCON64_GEN: + genesis_s (ucon64.rominfo); + break; + case UCON64_NES: + nes_s (); + break; + case UCON64_NG: + neogeo_s (); + break; + case UCON64_SNES: + snes_s (ucon64.rominfo); + break; + default: +// The next msg has already been printed +// fputs (ucon64_msg[CONSOLE_ERROR], stderr); + return -1; + } + break; + + case UCON64_SAM: + neogeo_sam (optarg); + break; + + case UCON64_SCR: + dc_scramble (); + break; + + case UCON64_SGB: + gameboy_sgb (ucon64.rominfo); + break; + + case UCON64_SMC: + snes_smc (ucon64.rominfo); + break; + + case UCON64_SMD: + switch (ucon64.console) + { + case UCON64_GEN: + genesis_smd (ucon64.rominfo); + break; + case UCON64_SMS: + sms_smd (ucon64.rominfo); + break; + default: + return -1; + } + break; + + case UCON64_SMDS: + switch (ucon64.console) + { + case UCON64_GEN: + genesis_smds (); + break; + case UCON64_SMS: + sms_smds (); + break; + default: + return -1; + } + break; + + case UCON64_SRAM: + gba_sram (); + break; + + case UCON64_SSC: + gameboy_ssc (ucon64.rominfo); + break; + + case UCON64_SWC: + snes_swc (ucon64.rominfo); + break; + + case UCON64_SWCS: + snes_swcs (ucon64.rominfo); + break; + + case UCON64_UFO: + snes_ufo (ucon64.rominfo); + break; + + case UCON64_UFOS: + snes_ufos (ucon64.rominfo); + break; + + case UCON64_UNIF: + nes_unif (); + break; + + case UCON64_UNSCR: + dc_unscramble (); + break; + + case UCON64_USMS: + n64_usms (ucon64.rominfo, optarg); + break; + + case UCON64_V64: + n64_v64 (ucon64.rominfo); + break; + +#ifdef USE_PARALLEL + /* + It doesn't make sense to continue after executing a (send) backup option + ("multizip"). Don't return, but use break instead. ucon64_execute_options() + checks if an option was used that should stop uCON64. + */ +#ifdef USE_LIBCD64 + case UCON64_XCD64: + if (access (ucon64.rom, F_OK) != 0) + cd64_read_rom (ucon64.rom, 64); + else + cd64_write_rom (ucon64.rom); + fputc ('\n', stdout); + break; + + case UCON64_XCD64C: + if (!access (ucon64.rom, F_OK) && ucon64.backup) + printf ("Wrote backup to: %s\n", mkbak (ucon64.rom, BAK_MOVE)); + cd64_read_rom (ucon64.rom, strtol (optarg, NULL, 10)); + fputc ('\n', stdout); + break; + + case UCON64_XCD64B: + cd64_write_bootemu (ucon64.rom); + fputc ('\n', stdout); + break; + + case UCON64_XCD64S: + if (access (ucon64.rom, F_OK) != 0) + cd64_read_sram (ucon64.rom); + else + cd64_write_sram (ucon64.rom); + fputc ('\n', stdout); + break; + + case UCON64_XCD64F: + if (access (ucon64.rom, F_OK) != 0) + cd64_read_flashram (ucon64.rom); + else + cd64_write_flashram (ucon64.rom); + fputc ('\n', stdout); + break; + + case UCON64_XCD64E: + if (access (ucon64.rom, F_OK) != 0) + cd64_read_eeprom (ucon64.rom); + else + cd64_write_eeprom (ucon64.rom); + fputc ('\n', stdout); + break; + + case UCON64_XCD64M: + if (access (ucon64.rom, F_OK) != 0) + cd64_read_mempack (ucon64.rom, strtol (optarg, NULL, 10)); + else + cd64_write_mempack (ucon64.rom, strtol (optarg, NULL, 10)); + fputc ('\n', stdout); + break; +#endif + + case UCON64_XCMC: + if (!access (ucon64.rom, F_OK) && ucon64.backup) + printf ("Wrote backup to: %s\n", mkbak (ucon64.rom, BAK_MOVE)); + cmc_read_rom (ucon64.rom, ucon64.parport, ucon64.io_mode); // ucon64.io_mode contains speed value + fputc ('\n', stdout); + break; + + case UCON64_XCMCT: + cmc_test (strtol (optarg, NULL, 10), ucon64.parport, ucon64.io_mode); + fputc ('\n', stdout); + break; + + case UCON64_XDEX: + if (access (ucon64.rom, F_OK) != 0) + dex_read_block (ucon64.rom, strtol (optarg, NULL, 10), ucon64.parport); + else + dex_write_block (ucon64.rom, strtol (optarg, NULL, 10), ucon64.parport); + fputc ('\n', stdout); + break; + + case UCON64_XDJR: + if (access (ucon64.rom, F_OK) != 0) + doctor64jr_read (ucon64.rom, ucon64.parport); + else + { + if (!ucon64.rominfo->interleaved) + fputs ("ERROR: This ROM doesn't seem to be interleaved but the Doctor V64 Junior only\n" + " supports interleaved ROMs. Convert to a Doctor V64 compatible format\n", + stderr); + else + doctor64jr_write (ucon64.rom, ucon64.parport); + } + fputc ('\n', stdout); + break; + + case UCON64_XFAL: + if (access (ucon64.rom, F_OK) != 0) + fal_read_rom (ucon64.rom, ucon64.parport, 32); + else + fal_write_rom (ucon64.rom, ucon64.parport); + fputc ('\n', stdout); + break; + + case UCON64_XFALMULTI: + tmpnam2 (src_name); + ucon64_temp_file = src_name; + register_func (remove_temp_file); + // gba_multi() calls ucon64_file_handler() so the directory part will be + // stripped from src_name. The directory should be used though. + if (!ucon64.output_path[0]) + { + dirname2 (src_name, ucon64.output_path); + if (ucon64.output_path[strlen (ucon64.output_path) - 1] != FILE_SEPARATOR) + strcat (ucon64.output_path, FILE_SEPARATOR_S); + } + if (gba_multi (strtol (optarg, NULL, 10) * MBIT, src_name) == 0) + { // Don't try to start a transfer if there was a problem + fputc ('\n', stdout); + ucon64.file_size = fsizeof (src_name); + fal_write_rom (src_name, ucon64.parport); + } + + unregister_func (remove_temp_file); + remove_temp_file (); + fputc ('\n', stdout); + break; + + case UCON64_XFALC: + if (!access (ucon64.rom, F_OK) && ucon64.backup) + printf ("Wrote backup to: %s\n", mkbak (ucon64.rom, BAK_MOVE)); + fal_read_rom (ucon64.rom, ucon64.parport, strtol (optarg, NULL, 10)); + fputc ('\n', stdout); + break; + + case UCON64_XFALS: + if (access (ucon64.rom, F_OK) != 0) + fal_read_sram (ucon64.rom, ucon64.parport, UCON64_UNKNOWN); + else + fal_write_sram (ucon64.rom, ucon64.parport, UCON64_UNKNOWN); + fputc ('\n', stdout); + break; + + case UCON64_XFALB: + if (access (ucon64.rom, F_OK) != 0) + fal_read_sram (ucon64.rom, ucon64.parport, strtol (optarg, NULL, 10)); + else + fal_write_sram (ucon64.rom, ucon64.parport, strtol (optarg, NULL, 10)); + fputc ('\n', stdout); + break; + + case UCON64_XFIG: + if (access (ucon64.rom, F_OK) != 0) // file does not exist -> dump cartridge + fig_read_rom (ucon64.rom, ucon64.parport); + else + { + if (!ucon64.rominfo->buheader_len) + fputs ("ERROR: This ROM has no header. Convert to a FIG compatible format\n", + stderr); + else if (ucon64.rominfo->interleaved) + fputs ("ERROR: This ROM seems to be interleaved but the FIG doesn't support\n" + " interleaved ROMs. Convert to a FIG compatible format\n", + stderr); + else // file exists -> send it to the copier + fig_write_rom (ucon64.rom, ucon64.parport); + } + fputc ('\n', stdout); + break; + + case UCON64_XFIGS: + if (access (ucon64.rom, F_OK) != 0) // file does not exist -> dump SRAM contents + fig_read_sram (ucon64.rom, ucon64.parport); + else // file exists -> restore SRAM + fig_write_sram (ucon64.rom, ucon64.parport); + fputc ('\n', stdout); + break; + + case UCON64_XFIGC: + if (access (ucon64.rom, F_OK) != 0) // file does not exist -> dump cart SRAM contents + fig_read_cart_sram (ucon64.rom, ucon64.parport); + else // file exists -> restore SRAM + fig_write_cart_sram (ucon64.rom, ucon64.parport); + fputc ('\n', stdout); + break; + + case UCON64_XGBX: + if (access (ucon64.rom, F_OK) != 0) // file does not exist -> dump cartridge/flash card + gbx_read_rom (ucon64.rom, ucon64.parport); + else // file exists -> send it to the programmer + gbx_write_rom (ucon64.rom, ucon64.parport); + fputc ('\n', stdout); + break; + + case UCON64_XGBXS: + if (access (ucon64.rom, F_OK) != 0) + gbx_read_sram (ucon64.rom, ucon64.parport, -1); + else + gbx_write_sram (ucon64.rom, ucon64.parport, -1); + fputc ('\n', stdout); + break; + + case UCON64_XGBXB: + if (access (ucon64.rom, F_OK) != 0) + gbx_read_sram (ucon64.rom, ucon64.parport, strtol (optarg, NULL, 10)); + else + gbx_write_sram (ucon64.rom, ucon64.parport, strtol (optarg, NULL, 10)); + fputc ('\n', stdout); + break; + + case UCON64_XGD3: + if (access (ucon64.rom, F_OK) != 0) // file does not exist -> dump cartridge + gd3_read_rom (ucon64.rom, ucon64.parport); // dumping is not yet supported + else + { + if (!ucon64.rominfo->buheader_len) + fputs ("ERROR: This ROM has no header. Convert to a Game Doctor compatible format\n", + stderr); + else // file exists -> send it to the copier + gd3_write_rom (ucon64.rom, ucon64.parport, ucon64.rominfo); + } + fputc ('\n', stdout); + break; + + case UCON64_XGD3S: + if (access (ucon64.rom, F_OK) != 0) // file does not exist -> dump SRAM contents + gd3_read_sram (ucon64.rom, ucon64.parport); // dumping is not yet supported + else // file exists -> restore SRAM + gd3_write_sram (ucon64.rom, ucon64.parport); + fputc ('\n', stdout); + break; + + case UCON64_XGD3R: + if (access (ucon64.rom, F_OK) != 0) + gd3_read_saver (ucon64.rom, ucon64.parport); + else + gd3_write_saver (ucon64.rom, ucon64.parport); + fputc ('\n', stdout); + break; + + case UCON64_XGD6: + if (access (ucon64.rom, F_OK) != 0) + gd6_read_rom (ucon64.rom, ucon64.parport); // dumping is not yet supported + else + { + if (!ucon64.rominfo->buheader_len) + fputs ("ERROR: This ROM has no header. Convert to a Game Doctor compatible format\n", + stderr); + else + gd6_write_rom (ucon64.rom, ucon64.parport, ucon64.rominfo); + } + fputc ('\n', stdout); + break; + + case UCON64_XGD6S: + if (access (ucon64.rom, F_OK) != 0) + gd6_read_sram (ucon64.rom, ucon64.parport); + else + gd6_write_sram (ucon64.rom, ucon64.parport); + fputc ('\n', stdout); + break; + + case UCON64_XGD6R: + if (access (ucon64.rom, F_OK) != 0) + gd6_read_saver (ucon64.rom, ucon64.parport); + else + gd6_write_saver (ucon64.rom, ucon64.parport); + fputc ('\n', stdout); + break; + + case UCON64_XGG: + if (access (ucon64.rom, F_OK) != 0) + smsgg_read_rom (ucon64.rom, ucon64.parport, 32 * MBIT); + else + { + if (ucon64.rominfo->buheader_len) + fputs ("ERROR: This ROM has a header. Remove it with -stp or -mgd\n", + stderr); + else if (ucon64.rominfo->interleaved) + fputs ("ERROR: This ROM seems to be interleaved, but uCON64 doesn't support\n" + " sending interleaved ROMs to the SMS-PRO/GG-PRO. Convert ROM with -mgd\n", + stderr); + else + smsgg_write_rom (ucon64.rom, ucon64.parport); + } + fputc ('\n', stdout); + break; + + case UCON64_XGGS: + if (access (ucon64.rom, F_OK) != 0) + smsgg_read_sram (ucon64.rom, ucon64.parport, -1); + else + smsgg_write_sram (ucon64.rom, ucon64.parport, -1); + fputc ('\n', stdout); + break; + + case UCON64_XGGB: + if (access (ucon64.rom, F_OK) != 0) + smsgg_read_sram (ucon64.rom, ucon64.parport, strtol (optarg, NULL, 10)); + else + smsgg_write_sram (ucon64.rom, ucon64.parport, strtol (optarg, NULL, 10)); + fputc ('\n', stdout); + break; + + case UCON64_XLIT: + if (!access (ucon64.rom, F_OK) && ucon64.backup) + printf ("Wrote backup to: %s\n", mkbak (ucon64.rom, BAK_MOVE)); + lynxit_read_rom (ucon64.rom, ucon64.parport); + fputc ('\n', stdout); + break; + + case UCON64_XMCCL: + if (!access (ucon64.rom, F_OK) && ucon64.backup) + printf ("Wrote backup to: %s\n", mkbak (ucon64.rom, BAK_MOVE)); + mccl_read (ucon64.rom, ucon64.parport); + fputc ('\n', stdout); + break; + + case UCON64_XMCD: + if (!access (ucon64.rom, F_OK) && ucon64.backup) + printf ("Wrote backup to: %s\n", mkbak (ucon64.rom, BAK_MOVE)); + mcd_read_rom (ucon64.rom, ucon64.parport); + fputc ('\n', stdout); + break; + + case UCON64_XMD: + if (access (ucon64.rom, F_OK) != 0) // file does not exist -> dump flash card + md_read_rom (ucon64.rom, ucon64.parport, 64 * MBIT); // reads 32 Mbit if Sharp card + else // file exists -> send it to the MD-PRO + { + if (ucon64.rominfo->buheader_len) // binary with header is possible + fputs ("ERROR: This ROM has a header. Remove it with -stp or -bin\n", + stderr); + else if (genesis_get_file_type () != BIN) + fputs ("ERROR: This ROM is not in binary/BIN/RAW format. uCON64 only supports sending\n" + " binary files to the MD-PRO. Convert ROM with -bin\n", + stderr); + else + md_write_rom (ucon64.rom, ucon64.parport); + } + fputc ('\n', stdout); + break; + + case UCON64_XMDS: + if (access (ucon64.rom, F_OK) != 0) // file does not exist -> dump SRAM contents + md_read_sram (ucon64.rom, ucon64.parport, -1); + else // file exists -> restore SRAM + md_write_sram (ucon64.rom, ucon64.parport, -1); + fputc ('\n', stdout); + break; + + case UCON64_XMDB: + if (access (ucon64.rom, F_OK) != 0) + md_read_sram (ucon64.rom, ucon64.parport, strtol (optarg, NULL, 10)); + else + md_write_sram (ucon64.rom, ucon64.parport, strtol (optarg, NULL, 10)); + fputc ('\n', stdout); + break; + + case UCON64_XMSG: + if (access (ucon64.rom, F_OK) != 0) + msg_read_rom (ucon64.rom, ucon64.parport); + else + { + if (!ucon64.rominfo->buheader_len) + fputs ("ERROR: This ROM has no header. Convert to an MSG compatible format\n", + stderr); + else if (ucon64.rominfo->interleaved) + fputs ("ERROR: This ROM seems to be bit-swapped but the MSG doesn't support\n" + " bit-swapped ROMs. Convert to an MSG compatible format\n", + stderr); + else + msg_write_rom (ucon64.rom, ucon64.parport); + } + fputc ('\n', stdout); + break; + + case UCON64_XPCE: + if (access (ucon64.rom, F_OK) != 0) + pce_read_rom (ucon64.rom, ucon64.parport, 32 * MBIT); + else + pce_write_rom (ucon64.rom, ucon64.parport); + fputc ('\n', stdout); + break; + + case UCON64_XPL: + if (access (ucon64.rom, F_OK) != 0) + pl_read_rom (ucon64.rom, ucon64.parport); + else + pl_write_rom (ucon64.rom, ucon64.parport); + fputc ('\n', stdout); + break; + + case UCON64_XPLI: + pl_info (ucon64.parport); + fputc ('\n', stdout); + break; + + case UCON64_XSF: + if (access (ucon64.rom, F_OK) != 0) // file does not exist -> dump flash card + sf_read_rom (ucon64.rom, ucon64.parport, 64 * MBIT); + else // file exists -> send it to the Super Flash + sf_write_rom (ucon64.rom, ucon64.parport); + fputc ('\n', stdout); + break; + + case UCON64_XSFS: + if (access (ucon64.rom, F_OK) != 0) // file does not exist -> dump SRAM contents + sf_read_sram (ucon64.rom, ucon64.parport); + else // file exists -> restore SRAM + sf_write_sram (ucon64.rom, ucon64.parport); + fputc ('\n', stdout); + break; + + case UCON64_XSMC: // we don't use WF_NO_ROM => no need to check for file + if (!ucon64.rominfo->buheader_len) + fputs ("ERROR: This ROM has no header. Convert to an SMC compatible format with -ffe\n", + stderr); + else + smc_write_rom (ucon64.rom, ucon64.parport); + fputc ('\n', stdout); + break; + + case UCON64_XSMCR: + if (access (ucon64.rom, F_OK) != 0) + smc_read_rts (ucon64.rom, ucon64.parport); + else + smc_write_rts (ucon64.rom, ucon64.parport); + fputc ('\n', stdout); + break; + + case UCON64_XSMD: + if (access (ucon64.rom, F_OK) != 0) // file does not exist -> dump cartridge + smd_read_rom (ucon64.rom, ucon64.parport); + else // file exists -> send it to the copier + { + if (!ucon64.rominfo->buheader_len) + fputs ("ERROR: This ROM has no header. Convert to an SMD compatible format\n", + stderr); + else if (!ucon64.rominfo->interleaved) + fputs ("ERROR: This ROM doesn't seem to be interleaved but the SMD only supports\n" + " interleaved ROMs. Convert to an SMD compatible format\n", + stderr); + else + smd_write_rom (ucon64.rom, ucon64.parport); + } + fputc ('\n', stdout); + break; + + case UCON64_XSMDS: + if (access (ucon64.rom, F_OK) != 0) // file does not exist -> dump SRAM contents + smd_read_sram (ucon64.rom, ucon64.parport); + else // file exists -> restore SRAM + smd_write_sram (ucon64.rom, ucon64.parport); + fputc ('\n', stdout); + break; + + case UCON64_XSWC: + enableRTS = 0; // falling through + case UCON64_XSWC2: + if (access (ucon64.rom, F_OK) != 0) // file does not exist -> dump cartridge + swc_read_rom (ucon64.rom, ucon64.parport, ucon64.io_mode); + else + { + if (!ucon64.rominfo->buheader_len) + fputs ("ERROR: This ROM has no header. Convert to an SWC compatible format\n", + stderr); + else if (ucon64.rominfo->interleaved) + fputs ("ERROR: This ROM seems to be interleaved but the SWC doesn't support\n" + " interleaved ROMs. Convert to an SWC compatible format\n", + stderr); + else + { + if (enableRTS != 0) + enableRTS = 1; + // file exists -> send it to the copier + swc_write_rom (ucon64.rom, ucon64.parport, enableRTS); + } + } + fputc ('\n', stdout); + break; + + case UCON64_XSWCS: + if (access (ucon64.rom, F_OK) != 0) // file does not exist -> dump SRAM contents + swc_read_sram (ucon64.rom, ucon64.parport); + else // file exists -> restore SRAM + swc_write_sram (ucon64.rom, ucon64.parport); + fputc ('\n', stdout); + break; + + case UCON64_XSWCC: + if (access (ucon64.rom, F_OK) != 0) // file does not exist -> dump SRAM contents + swc_read_cart_sram (ucon64.rom, ucon64.parport, ucon64.io_mode); + else // file exists -> restore SRAM + swc_write_cart_sram (ucon64.rom, ucon64.parport, ucon64.io_mode); + fputc ('\n', stdout); + break; + + case UCON64_XSWCR: + if (access (ucon64.rom, F_OK) != 0) + swc_read_rts (ucon64.rom, ucon64.parport); + else + swc_write_rts (ucon64.rom, ucon64.parport); + fputc ('\n', stdout); + break; + + case UCON64_XV64: + if (access (ucon64.rom, F_OK) != 0) + doctor64_read (ucon64.rom, ucon64.parport); + else + { + if (!ucon64.rominfo->interleaved) + fputs ("ERROR: This ROM doesn't seem to be interleaved but the Doctor V64 only\n" + " supports interleaved ROMs. Convert to a Doctor V64 compatible format\n", + stderr); + else + doctor64_write (ucon64.rom, ucon64.rominfo->buheader_len, + ucon64.file_size, ucon64.parport); + } + fputc ('\n', stdout); + break; +#endif // USE_PARALLEL + +#if defined USE_PARALLEL || defined USE_USB + case UCON64_XF2A: + if (access (ucon64.rom, F_OK) != 0) + f2a_read_rom (ucon64.rom, 32); + else + f2a_write_rom (ucon64.rom, UCON64_UNKNOWN); + fputc ('\n', stdout); + break; + + case UCON64_XF2AMULTI: + f2a_write_rom (NULL, strtol (optarg, NULL, 10) * MBIT); + fputc ('\n', stdout); + break; + + case UCON64_XF2AC: + if (!access (ucon64.rom, F_OK) && ucon64.backup) + printf ("Wrote backup to: %s\n", mkbak (ucon64.rom, BAK_MOVE)); + f2a_read_rom (ucon64.rom, strtol (optarg, NULL, 10)); + fputc ('\n', stdout); + break; + + case UCON64_XF2AS: + if (access (ucon64.rom, F_OK) != 0) + f2a_read_sram (ucon64.rom, UCON64_UNKNOWN); + else + f2a_write_sram (ucon64.rom, UCON64_UNKNOWN); + fputc ('\n', stdout); + break; + + case UCON64_XF2AB: + if (access (ucon64.rom, F_OK) != 0) + f2a_read_sram (ucon64.rom, strtol (optarg, NULL, 10)); + else + f2a_write_sram (ucon64.rom, strtol (optarg, NULL, 10)); + fputc ('\n', stdout); + break; +#endif // USE_PARALLEL || USE_USB + + case UCON64_Z64: + n64_z64 (ucon64.rominfo); + break; + + default: + break; + } + + return 0; +} diff --git a/tools/ucon64-2.0.0-src/src/ucon64_opts.h b/tools/ucon64-2.0.0-src/src/ucon64_opts.h new file mode 100644 index 0000000..ea87102 --- /dev/null +++ b/tools/ucon64-2.0.0-src/src/ucon64_opts.h @@ -0,0 +1,26 @@ +/* +ucon64_opts.h - switch()'es for all uCON64 options + +Copyright (c) 2002 - 2004 NoisyB +Copyright (c) 2002 - 2003 dbjh + + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +*/ +#ifndef UCON64_OPTS_H +#define UCON64_OPTS_H +extern int ucon64_switches (st_ucon64_t *p); +extern int ucon64_options (st_ucon64_t *p); +#endif // UCON64_OPTS_H
    2. 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 a%F~tIe<{}FObBc716E@(zQZ>-miu3wDZGOK diff --git a/tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/files.pbxbtree b/tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/files.pbxbtree index b5790a21a54005ad2213f2afd8230725df0618e8..0674e95d9b88652a821e0307b9ca79c2dc6dd113 100644 GIT binary patch literal 6964 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 TyG86qqZ|JyHIx5oMRWWUl}MkL literal 7052 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 T^WfJbF+HREKUcbjt~&8=GjzoF diff --git a/tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/imports.pbxbtree b/tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/imports.pbxbtree index d5d4645d6854eea30de027a6d934d68a3d1e441d..c6ecf0bf508ae4ba4101d273880bce035a60067a 100644 GIT binary patch literal 20476 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 N9k}}c>bc7I{{YR$!=C^E diff --git a/tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/pbxindex.header b/tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/pbxindex.header index c6449f3148a849523e1a0a9f913dc8c29b007015..90a695abbb2b83a81b3a938e7316356b0a43bfad 100644 GIT binary patch literal 24 ccmb=(%Pdf2VPN=L#KOSNz`)QB#Ed`;07Vu9-v9sr literal 24 ccmb=(%Pdf2VPNQ#VqsusU|_fa#Ed`;06TUAWB>pF diff --git a/tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/protocols.pbxbtree b/tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/protocols.pbxbtree index fffc8996102fb229ebf73e478c28d31e2c01e11a..812ae56d71a6cfd88cffdbd2a51feacff78029b8 100644 GIT binary patch literal 2940 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 b`mN5CgtE1UfVe-NPoMWk;`rQg(D38G%uGOf diff --git a/tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/refs.pbxbtree b/tools/Quickdev16/build/Quickdev16.build/Quickdev16.pbxindex/refs.pbxbtree index cde70a617ece6cbc9847f786fecb4c6a959ee2ff..7024013370595485cea06eefd574131ff74da8ad 100644 GIT binary patch literal 463312 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