mirror of
https://github.com/dborth/fceugx.git
synced 2024-11-01 06:55:05 +01:00
small bug fixes, finalize 2.0.3
This commit is contained in:
parent
41059552b3
commit
1e892254a7
24
readme.txt
24
readme.txt
@ -1,7 +1,7 @@
|
|||||||
¸,ø¤°`°¤ø,¸¸,ø¤°`°¤ø,¸,ø¤°`°¤ø,¸¸,ø¤°`°¤ø,¸,ø¤°`°¤ø,¸¸,ø¤°`°¤ø,¸,ø¤°`°¤ø,¸¸,ø¤
|
¸,ø¤°`°¤ø,¸¸,ø¤°`°¤ø,¸,ø¤°`°¤ø,¸¸,ø¤°`°¤ø,¸,ø¤°`°¤ø,¸¸,ø¤°`°¤ø,¸,ø¤°`°¤ø,¸¸,ø¤
|
||||||
|
|
||||||
- FCE Ultra GX -
|
- FCE Ultra GX -
|
||||||
Version 2.0.2
|
Version 2.0.3
|
||||||
(Under GPL License)
|
(Under GPL License)
|
||||||
|
|
||||||
¸,ø¤°`°¤ø,¸¸,ø¤°`°¤ø,¸,ø¤°`°¤ø,¸¸,ø¤°`°¤ø,¸,ø¤°`°¤ø,¸¸,ø¤°`°¤ø,¸,ø¤°`°¤ø,¸¸,ø¤
|
¸,ø¤°`°¤ø,¸¸,ø¤°`°¤ø,¸,ø¤°`°¤ø,¸¸,ø¤°`°¤ø,¸,ø¤°`°¤ø,¸¸,ø¤°`°¤ø,¸,ø¤°`°¤ø,¸¸,ø¤
|
||||||
@ -29,11 +29,12 @@ SNES9x GX and Genesis Plus GX projects.
|
|||||||
|0O×øo· UPDATE HISTORY ·oø×O0|
|
|0O×øo· UPDATE HISTORY ·oø×O0|
|
||||||
`¨•¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨'
|
`¨•¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨¨ ¨¨¨¨¨¨¨¨¨¨¨¨¨'
|
||||||
|
|
||||||
[What's New 2.0.3]
|
[What's New 2.0.3 - October 1, 2008]
|
||||||
* VS game support (submitted by pakitovic)
|
* Complete rewrite of loading code - FDS / UNIF / NSF support added!
|
||||||
* Complete rewrite of loading code - UNIF / NSF support, FDS games
|
* VS games work (coin insert submitted by pakitovic)
|
||||||
load but don't run
|
* Mapping of 'Special' commands - VS coin insert, FDS switch disk (default A)
|
||||||
* 480p and DVD now available for GameCube
|
* 480p and DVD now available for GameCube
|
||||||
|
* Improved stability - less crashes!
|
||||||
|
|
||||||
[What's New 2.0.2 - September 19, 2008]
|
[What's New 2.0.2 - September 19, 2008]
|
||||||
* Fixed network freeze-up problem
|
* Fixed network freeze-up problem
|
||||||
@ -93,8 +94,8 @@ Loading / Running the Emulator:
|
|||||||
Wii - Via Homebrew Channel:
|
Wii - Via Homebrew Channel:
|
||||||
--------------------
|
--------------------
|
||||||
The most popular method of running homebrew on the Wii is through the Homebrew
|
The most popular method of running homebrew on the Wii is through the Homebrew
|
||||||
Channel. If you already have the channel installed, just copy over the apps folder
|
Channel. If you already have the channel installed, just copy over the apps
|
||||||
included in the archive into the root of your SD card.
|
folder included in the archive into the root of your SD card.
|
||||||
|
|
||||||
Remember to also create the fceugx directory structure required. See above.
|
Remember to also create the fceugx directory structure required. See above.
|
||||||
|
|
||||||
@ -132,6 +133,15 @@ You can load roms from DVD or SD card. If you create a bootable
|
|||||||
DVD of FCEUGX you can put roms on the same DVD. You may save preferences and
|
DVD of FCEUGX you can put roms on the same DVD. You may save preferences and
|
||||||
game data to SD or Memory Card.
|
game data to SD or Memory Card.
|
||||||
|
|
||||||
|
-=[ Famicom Disk System (FDS) ]=-
|
||||||
|
|
||||||
|
FCE Ultra GX supports loading FDS games. The FDS BIOS is required - put it
|
||||||
|
in your roms folder, and name it disksys.rom (should be 8 KB in size).
|
||||||
|
You can switch disks using the A button (by default). The mapped button
|
||||||
|
can be changed under Controller Configuration ('Special' button).
|
||||||
|
Compatibility is limited, so check that the game in question works on
|
||||||
|
FCE Ultra 0.98.12 for Windows before asking for help.
|
||||||
|
|
||||||
-=[ Supported Mappers ]=-
|
-=[ Supported Mappers ]=-
|
||||||
|
|
||||||
Mappers are the way the Nintendo handles switching from ROM/VROM so the more
|
Mappers are the way the Nintendo handles switching from ROM/VROM so the more
|
||||||
|
@ -15,8 +15,8 @@
|
|||||||
|
|
||||||
void DefaultSettings ();
|
void DefaultSettings ();
|
||||||
|
|
||||||
#define VERSIONNUM "2.0.2"
|
#define VERSIONNUM "2.0.3"
|
||||||
#define VERSIONSTR "FCE Ultra GX 2.0.2"
|
#define VERSIONSTR "FCE Ultra GX 2.0.3"
|
||||||
|
|
||||||
#define NOTSILENT 0
|
#define NOTSILENT 0
|
||||||
#define SILENT 1
|
#define SILENT 1
|
||||||
|
@ -162,7 +162,7 @@ ParseFATdirectory(int method)
|
|||||||
* LoadFATFile
|
* LoadFATFile
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
int
|
int
|
||||||
LoadFATFile (char *filename, int length)
|
LoadFATFile ()
|
||||||
{
|
{
|
||||||
char zipbuffer[2048];
|
char zipbuffer[2048];
|
||||||
char filepath[MAXPATHLEN];
|
char filepath[MAXPATHLEN];
|
||||||
@ -199,11 +199,10 @@ LoadFATFile (char *filename, int length)
|
|||||||
{
|
{
|
||||||
// Just load the file up
|
// Just load the file up
|
||||||
fseek(handle, 0, SEEK_END);
|
fseek(handle, 0, SEEK_END);
|
||||||
length = ftell(handle); // get filesize
|
size = ftell(handle); // get filesize
|
||||||
fseek(handle, 2048, SEEK_SET); // seek back to point where we left off
|
fseek(handle, 2048, SEEK_SET); // seek back to point where we left off
|
||||||
memcpy (nesrom, zipbuffer, 2048); // copy what we already read
|
memcpy (nesrom, zipbuffer, 2048); // copy what we already read
|
||||||
fread (nesrom + 2048, 1, length - 2048, handle);
|
fread (nesrom + 2048, 1, size - 2048, handle);
|
||||||
size = length;
|
|
||||||
}
|
}
|
||||||
fclose (handle);
|
fclose (handle);
|
||||||
return size;
|
return size;
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
|
|
||||||
bool ChangeFATInterface(int method, bool silent);
|
bool ChangeFATInterface(int method, bool silent);
|
||||||
int ParseFATdirectory(int method);
|
int ParseFATdirectory(int method);
|
||||||
int LoadFATFile (char *filename, int length);
|
int LoadFATFile ();
|
||||||
int SaveBufferToFAT (char *filepath, int datasize, bool silent);
|
int SaveBufferToFAT (char *filepath, int datasize, bool silent);
|
||||||
int LoadSaveBufferFromFAT (char *filepath, bool silent);
|
int LoadSaveBufferFromFAT (char *filepath, bool silent);
|
||||||
int LoadBufferFromFAT (char * buffer, char *filepath, bool silent);
|
int LoadBufferFromFAT (char * buffer, char *filepath, bool silent);
|
||||||
|
@ -300,30 +300,33 @@ int FileSelector (int method)
|
|||||||
StripExt(romFilename, filelist[selection].filename);
|
StripExt(romFilename, filelist[selection].filename);
|
||||||
|
|
||||||
ShowAction ((char *)"Loading...");
|
ShowAction ((char *)"Loading...");
|
||||||
|
|
||||||
|
int size = 0;
|
||||||
|
|
||||||
switch (method)
|
switch (method)
|
||||||
{
|
{
|
||||||
case METHOD_SD:
|
case METHOD_SD:
|
||||||
case METHOD_USB:
|
case METHOD_USB:
|
||||||
LoadFATFile (filelist[selection].filename,
|
size = LoadFATFile();
|
||||||
filelist[selection].length);
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case METHOD_DVD:
|
case METHOD_DVD:
|
||||||
dvddir = filelist[selection].offset;
|
dvddir = filelist[selection].offset;
|
||||||
dvddirlength = filelist[selection].length;
|
dvddirlength = filelist[selection].length;
|
||||||
LoadDVDFile (nesrom);
|
size = LoadDVDFile(nesrom);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case METHOD_SMB:
|
case METHOD_SMB:
|
||||||
LoadSMBFile (filelist[selection].filename,
|
size = LoadSMBFile();
|
||||||
filelist[selection].length);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (GCMemROM(method) > 0)
|
if (size > 0)
|
||||||
{
|
{
|
||||||
return 1;
|
if(GCMemROM(method) > 0)
|
||||||
|
return 1;
|
||||||
|
else
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -58,7 +58,7 @@ unsigned int ccpadmap[] = {
|
|||||||
WPAD_CLASSIC_BUTTON_MINUS, WPAD_CLASSIC_BUTTON_PLUS,
|
WPAD_CLASSIC_BUTTON_MINUS, WPAD_CLASSIC_BUTTON_PLUS,
|
||||||
WPAD_CLASSIC_BUTTON_UP, WPAD_CLASSIC_BUTTON_DOWN,
|
WPAD_CLASSIC_BUTTON_UP, WPAD_CLASSIC_BUTTON_DOWN,
|
||||||
WPAD_CLASSIC_BUTTON_LEFT, WPAD_CLASSIC_BUTTON_RIGHT,
|
WPAD_CLASSIC_BUTTON_LEFT, WPAD_CLASSIC_BUTTON_RIGHT,
|
||||||
WPAD_CLASSIC_BUTTON_FULL_R // insert coin for VS games
|
WPAD_CLASSIC_BUTTON_A // insert coin for VS games
|
||||||
};
|
};
|
||||||
/*** Nunchuk + wiimote Padmap ***/
|
/*** Nunchuk + wiimote Padmap ***/
|
||||||
unsigned int ncpadmap[] = {
|
unsigned int ncpadmap[] = {
|
||||||
|
@ -171,6 +171,7 @@ preparePrefsData (int method)
|
|||||||
|
|
||||||
createXMLSetting("FSDisable", "Four Score", toStr(GCSettings.FSDisable));
|
createXMLSetting("FSDisable", "Four Score", toStr(GCSettings.FSDisable));
|
||||||
createXMLSetting("zapper", "Zapper", toStr(GCSettings.zapper));
|
createXMLSetting("zapper", "Zapper", toStr(GCSettings.zapper));
|
||||||
|
createXMLSetting("crosshair", "Zapper Crosshair", toStr(GCSettings.crosshair));
|
||||||
createXMLController(gcpadmap, "gcpadmap", "GameCube Pad");
|
createXMLController(gcpadmap, "gcpadmap", "GameCube Pad");
|
||||||
createXMLController(wmpadmap, "wmpadmap", "Wiimote");
|
createXMLController(wmpadmap, "wmpadmap", "Wiimote");
|
||||||
createXMLController(ccpadmap, "ccpadmap", "Classic Controller");
|
createXMLController(ccpadmap, "ccpadmap", "Classic Controller");
|
||||||
@ -253,9 +254,9 @@ decodePrefsData (int method)
|
|||||||
char verMinor = version[15];
|
char verMinor = version[15];
|
||||||
char verPoint = version[17];
|
char verPoint = version[17];
|
||||||
|
|
||||||
if(verPoint < '2' && verMajor == '2') // less than version 2.0.2
|
if(verMajor == '2' && verPoint < '3') // less than version 2.0.3
|
||||||
return false; // reset settings
|
return false; // reset settings
|
||||||
else if(verMajor > '2' || verMinor > '0' || verPoint > '2') // some future version
|
else if(verMajor > '2' || verMinor > '0' || verPoint > '3') // some future version
|
||||||
return false; // reset settings
|
return false; // reset settings
|
||||||
|
|
||||||
// File Settings
|
// File Settings
|
||||||
@ -284,6 +285,7 @@ decodePrefsData (int method)
|
|||||||
loadXMLSettingInt(&GCSettings.slimit, "slimit");
|
loadXMLSettingInt(&GCSettings.slimit, "slimit");
|
||||||
loadXMLSettingInt(&GCSettings.screenscaler, "screenscaler");
|
loadXMLSettingInt(&GCSettings.screenscaler, "screenscaler");
|
||||||
loadXMLSettingInt(&GCSettings.zapper, "zapper");
|
loadXMLSettingInt(&GCSettings.zapper, "zapper");
|
||||||
|
loadXMLSettingInt(&GCSettings.crosshair, "crosshair");
|
||||||
// Controller Settings
|
// Controller Settings
|
||||||
|
|
||||||
loadXMLController(gcpadmap, "gcpadmap");
|
loadXMLController(gcpadmap, "gcpadmap");
|
||||||
|
@ -79,12 +79,18 @@ ConnectShare (bool silent)
|
|||||||
return false;
|
return false;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
ShowAction ((char*) "Connecting...");
|
||||||
|
|
||||||
// check that all parameter have been set
|
// check that all parameter have been set
|
||||||
if(strlen(GCSettings.smbuser) == 0 ||
|
if(strlen(GCSettings.smbuser) == 0 ||
|
||||||
strlen(GCSettings.smbpwd) == 0 ||
|
strlen(GCSettings.smbpwd) == 0 ||
|
||||||
strlen(GCSettings.smbshare) == 0 ||
|
strlen(GCSettings.smbshare) == 0 ||
|
||||||
strlen(GCSettings.smbip) == 0)
|
strlen(GCSettings.smbip) == 0)
|
||||||
|
{
|
||||||
|
if(!silent)
|
||||||
|
WaitPrompt((char*) "Invalid network settings. Check FCEUGX.xml.");
|
||||||
return false;
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if(!networkInit)
|
if(!networkInit)
|
||||||
networkInit = InitializeNetwork(silent);
|
networkInit = InitializeNetwork(silent);
|
||||||
@ -212,7 +218,7 @@ ParseSMBdirectory ()
|
|||||||
* Load SMB file
|
* Load SMB file
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
int
|
int
|
||||||
LoadSMBFile (char *filename, int length)
|
LoadSMBFile ()
|
||||||
{
|
{
|
||||||
char filepath[MAXPATHLEN];
|
char filepath[MAXPATHLEN];
|
||||||
|
|
||||||
|
@ -18,7 +18,7 @@ bool ConnectShare (bool silent);
|
|||||||
char * SMBPath(char * path);
|
char * SMBPath(char * path);
|
||||||
int UpdateSMBdirname();
|
int UpdateSMBdirname();
|
||||||
int ParseSMBdirectory ();
|
int ParseSMBdirectory ();
|
||||||
int LoadSMBFile (char *filename, int length);
|
int LoadSMBFile ();
|
||||||
int LoadSaveBufferFromSMB (char *filepath, bool silent);
|
int LoadSaveBufferFromSMB (char *filepath, bool silent);
|
||||||
int LoadBufferFromSMB (char * sbuffer, char *filepath, bool silent);
|
int LoadBufferFromSMB (char * sbuffer, char *filepath, bool silent);
|
||||||
int SaveBufferToSMB (char *filepath, int datasize, bool silent);
|
int SaveBufferToSMB (char *filepath, int datasize, bool silent);
|
||||||
|
Loading…
Reference in New Issue
Block a user