Welcome!
Final Burn Neo => FBN Development => Topic started by: KOF2112 on December 26, 2007, 11:27:38 AM
-
:biggrin:
Thanks to OopsWare
http://www.ojko.com/phpbb/viewtopic.php?f=3&t=3147
just a preview , no sound , gfx no flip and zoom , and some slow ....
more work need to be done ...
Merry Christmas !!!
-
:biggrin:
Thanks to OopsWare
http://www.ojko.com/phpbb/viewtopic.php?f=3&t=3147
just a preview , no sound , gfx no flip and zoom , and some slow ....
more work need to be done ...
Merry Christmas !!!
ThanX for the news KOF2112! ^^
SeeYaa!
:biggrin:
-
Here are some previews from the Oopsware CPS-3 driver in action! running on FBA finally!!
(http://jezeronline.com/images/cps3_fba_01.jpg) (http://jezeronline.com/images/cps3_fba_02.jpg)
(http://jezeronline.com/images/cps3_fba_03.jpg) (http://jezeronline.com/images/cps3_fba_04.jpg)
(http://jezeronline.com/images/cps3_fba_05.jpg) (http://jezeronline.com/images/cps3_fba_06.jpg)
(http://jezeronline.com/images/cps3_fba_07.jpg) (http://jezeronline.com/images/cps3_fba_08.jpg)
(http://jezeronline.com/images/cps3_fba_09.jpg) (http://jezeronline.com/images/cps3_fba_10.jpg)
I hope this driver keep updating with fixes and the other missing stuff like sound ^^
It's amazing what Oopsware is doing for FBA :smilie:
SeeYaa!
:biggrin:
-
HOLY COW!!
*speechless*
*edit*
Wonderful, just wonderful. Not only CPS-3, but a SH-2 core. ^^ This should help bring psykyo games to FBA as well. :)
-
HOLY COW!!
*speechless*
*edit*
Wonderful, just wonderful. Not only CPS-3, but a SH-2 core. ^^ This should help bring psykyo games to FBA as well. :)
HAHAHA lol, I was having the same reaction here, but I controlled myself and I didn't write the words xD
SeeYaa!
:biggrin:
-
OopsWare's CPS-3 Driver Updated! :biggrin: :biggrin: :biggrin:
OopsWare has done some excellent progress with the CPS-3 driver and fixed the GFXs (he mention that there are still some errors but they are in MAME too so no big worries about them), and he added all CPS-3 remaining drivers. CHD ROMs are not working for now.
updated !!! fix graphics , a bit of graphic errer still but in mema too.
all drivers in cps3 added , but not emulate it's cd-rom , all chs rom doesn't work .
Original post here:
http://www.ojko.com/phpbb/viewtopic.php?f=3&t=3147&p=19035#p19034
SeeYaa!
:biggrin:
PS: More preview pics coming ^^,... I'm doing a FB Alpha Enhanced build with this update too so stay tuned! :biggrin:
-
Some previews for those who want to look at whats new ^^ (like me lol)
(http://jezeronline.com/images/CPS3_fba_122807_01.jpg) (http://jezeronline.com/images/CPS3_fba_122807_02.jpg)
(http://jezeronline.com/images/CPS3_fba_122807_03.jpg) (http://jezeronline.com/images/CPS3_fba_122807_04.jpg)
(http://jezeronline.com/images/CPS3_fba_122807_05.jpg) (http://jezeronline.com/images/CPS3_fba_122807_06.jpg)
(http://jezeronline.com/images/CPS3_fba_122807_07.jpg) (http://jezeronline.com/images/CPS3_fba_122807_08.jpg)
(http://jezeronline.com/images/CPS3_fba_122807_09.jpg) (http://jezeronline.com/images/CPS3_fba_122807_10.jpg)
(http://jezeronline.com/images/CPS3_fba_122807_11.jpg) (http://jezeronline.com/images/CPS3_fba_122807_12.jpg)
SeeYaa!
:biggrin:
-
I just have a curiosity question, ... how can ElSemi CPS3 emulator run Redeartn (NOCD Asia) without the "redearth_nocd.bios" ?
SeeYaa!
:biggrin:
-
OMFG now I really have to update my fb evo with all of that stuffs, damn I was so lazy :P
Congratulations Oopsware, you did a wonderfull job \ o /
-
I just have a curiosity question, ... how can ElSemi CPS3 emulator run Redeartn (NOCD Asia) without the "redearth_nocd.bios" ?
SeeYaa!
:biggrin:
i found this question too , change some code :
static int Cps3Reset()
{
// re-map cram_bank
cram_bank = 0;
Sh2MapMemory((unsigned char *)RamCRam, 0x04100000, 0x041fffff, SM_RAM);
#if 0
Sh2Reset( *(unsigned int *)(RomBios + 0), *(unsigned int *)(RomBios + 4) );
#else
// fast boot
Sh2Reset( *(unsigned int *)(RomGame_D + 0), *(unsigned int *)(RomGame_D + 4) );
Sh2SetVBR( 0x06000000);
#endif
.....
and change a chd bios file to redearth_nocd.bios . we can got it run to it's intro ...
-
Many thanks to OopsWare for the progress done on Driver CPS-3...Thanks also to CaptainCPS-X for his wonderfull work and build FBA Enhanced :eek:
Now i have a question concerning Redeartn (NOCD Asia). FBA request for this game the following roms
name redeartn
cloneof redearth
romof redearth
description "Red Earth (961121, NO CD)"
year 1996
manufacturer "Capcom"
rom ( name redearth_nocd.bios size 524288 crc 00000000 )
rom ( name 10 size 8388608 crc 68188016 )
rom ( name 30 size 8388608 crc 074cab4d )
rom ( name 31 size 8388608 crc 14e2cad4 )
rom ( name 40 size 8388608 crc 72d98890 )
rom ( name 41 size 8388608 crc 88ccb33c )
rom ( name 50 size 8388608 crc 2f5b44bd )
And Mame thoses ones :
game (
name redeartn
description "Red Earth (961121, NO CD)"
year 1996
manufacturer "Capcom"
sourcefile cps3.c
cloneof redearth
romof redearth
rom ( name redearth_nocd.bios size 524288 flags nodump )
rom ( name 10 size 8388608 crc 68188016 sha1 93aaac08cb5566c33aabc16457085b0a36048019 )
rom ( name 30 size 8388608 crc 074cab4d sha1 4cb6cc9cce3b1a932b07058a5d723b3effa23fcf )
rom ( name 31 size 8388608 crc 14e2cad4 sha1 9958a4e315e4476e4791a6219b93495413c7b751 )
rom ( name 40 size 8388608 crc 72d98890 sha1 f40926c52cb7a71b0ef0027a0ea38bbc7e8b31b0 )
rom ( name 41 size 8388608 crc 88ccb33c sha1 1e7af35d186d0b4e45b6c27458ddb9cfddd7c9bc )
rom ( name 50 size 4194304 crc 2f5b44bd sha1 7ffdbed5b6899b7e31414a0828e04543d07435e4 )
)
Is this only a problem of Typo in FBA datfile? Does the rom name 50 for redeartn in Mame is a bad dump?...Just curious to know :biggrin:
In any case, thanks to iq_132, Oopsware, CaptainCPS-X and all others for their work on this Great Emulator called FBA :smilie:
-
to JacKc: that's my fault, already modified .
back to ncd redearth
compare sfiii and sfiiin 's bios file , only two byte differents, at 0x01ffec8 and 0x01ffecf
0x01ffec8 is region code 1->japan 2->usa 3->europe
0x01ffecf 0->chd 1->ncd
so, check redearth's bios it content region code at 0x01ffed8 ,
but unlucky , 0x01ffedf is NOT a cd/ncd flag , where :confused:
-
to JacKc: that's my fault, already modified .
back to ncd redearth
compare sfiii and sfiiin 's bios file , only two byte differents, at 0x01ffec8 and 0x01ffecf
0x01ffec8 is region code 1->japan 2->usa 3->europe
0x01ffecf 0->chd 1->ncd
so, check redearth's bios it content region code at 0x01ffed8 ,
but unlucky , 0x01ffedf is NOT a cd/ncd flag , where :confused:
I checked MAME cps3.c WIPs information at MAWS and I found this :
- 8th July 2007: ElSemi - CPS3 Emulator v1.0: This is the final version of the CPS3 emulator. It adds transparency effects (not actual transparency, but well it looks like that :) ), although it's not fully understood yet. Fixed palette transformation for flashes, and fadein/outs, now blacks properly fade to white. Fixed crashes in some zoomin ending sequences in SF3 games. Fixed a 1 pixel offset in the framebuffer that was causing a 1 pixel column problem in the left side of the screen sometimes. Added support for Nebula external video plugins (there is some source code and the interface documents in the plugins folder). Added CHD (MAME's compressed Hard Disks CD Images) support. Just put the .chd files in the CHD folder in the main directory (sorry, no path selection for it). And the bios (or the full roms zip) romsets in the ROMS directory. When loading a CHD romset, the emulator will run the entire startup sequence so it will take a while to boot (early games just have a black screen) while the bios waits for the cd to spin up. You don't need to go through the flashrom rewritting sequence, although you can see how it looks (just for fun, as it doesn't actually write anything) by going to Test menu and selecting "Game Rewrite". Using CHDs doesn't have an actual benefit (except for seeing the exact startup sequence of the game machine) apart from being able to run Warzard in any region because Warzard always checks the cd ingame unless it's set to Asia, so by having the real CD emulation through CHD, you can run it in any region).
http://www.mameworld.net/maws/driverinfo/cps3.c
you only mentioned 1->Japan 2->Usa 3->Europe but not Asia, can you set it to Asia region to see what happens ?
I don't know where the region is handled in the code so that's why I can't test ^^U
btw, as always ThanX for the great work!! ^^
SeeYaa!
:biggrin:
-
I don't know if you have any interest Oopsware, but here's a nice SH2 ASM core
http://gens.consolemul.com/download/SH2src160.zip
-
I attached some pics showing the redeartn ( Japan Bios ) with the code modification posted by OopsWare.
(the game won't pass the title screen for now)
SeeYaa!
:biggrin:
-
i found this question too , change some code :
static int Cps3Reset()
{
// re-map cram_bank
cram_bank = 0;
Sh2MapMemory((unsigned char *)RamCRam, 0x04100000, 0x041fffff, SM_RAM);
#if 0
Sh2Reset( *(unsigned int *)(RomBios + 0), *(unsigned int *)(RomBios + 4) );
#else
// fast boot
Sh2Reset( *(unsigned int *)(RomGame_D + 0), *(unsigned int *)(RomGame_D + 4) );
Sh2SetVBR( 0x06000000);
#endif
.....
and change a chd bios file to redearth_nocd.bios . we can got it run to it's intro ...
change some code After sfiii2 cannot play
-
Check this out lol :p
I commented the redeartn bios rom and it passed the title screen but seems that GFXs didn't load (btw, region appeared as Oceania :confused:)
(http://jezeronline.com/images/lol_5.jpg) (http://jezeronline.com/images/lol_1.jpg)
(http://jezeronline.com/images/lol_2.jpg) (http://jezeronline.com/images/lol_3.jpg)
(http://jezeronline.com/images/lol_4.jpg)
@OopsWare: Check the first page of this topic because there are some recent posts for you ^^ that may help you with your progress :wink:.
SeeYaa!
:biggrin:
-
Check this out people !!! ThanX to IQ_132 for helping me with my cps3run.cpp & d_cps3.cpp modifications, we were able to do this on FBA
(http://jezeronline.com/images/OMFG00.JPG) (http://jezeronline.com/images/OMFG1.JPG)
(http://jezeronline.com/images/OMFG2.JPG) (http://jezeronline.com/images/OMFG3.JPG)
(http://jezeronline.com/images/OMFG4.JPG) (http://jezeronline.com/images/OMFG5.JPG)
(http://jezeronline.com/images/OMFG6.JPG) (http://jezeronline.com/images/OMFG7.JPG)
(http://jezeronline.com/images/OMFG8.JPG) (http://jezeronline.com/images/OMFG9.JPG)
(http://jezeronline.com/images/OMFG10.JPG)
The modifications only affect 'redeartn' so other CPS-3 games are working fine.
I will post the code very soon, we're trying to find out how to get the correct region 'Asia' to show up
SeeYaa!
:biggrin:
-
Amazing the work done in so little time :eek:...Very impressive :smilie:
Great job Guys...Waiting for your next release impatiently CaptainCPS-X
-
More previews guys!! More stuff working than expected ^^
:biggrin:
(http://jezeronline.com/images/redeartn_euro.jpg) (http://jezeronline.com/images/redeartn_euro_01.jpg)
(http://jezeronline.com/images/redeartn_brazil_01.jpg) (http://jezeronline.com/images/redeartn_brazil_02.jpg)
(http://jezeronline.com/images/redeartn_brazil_03.jpg) (http://jezeronline.com/images/redeartn_asia_01.jpg)
(http://jezeronline.com/images/redeartn_hispanic_01.jpg) (http://jezeronline.com/images/redeartn_hispanic_02.jpg)
(http://jezeronline.com/images/redeartn_usa_01.jpg) (http://jezeronline.com/images/redeartn_usa_02.jpg)
(http://jezeronline.com/images/redeartn_oceania_01.jpg)
(http://jezeronline.com/images/fba_enh_redeartn_ndrv_01.jpg)
I will try other games to see if I can change region like with Red Earth ^^ anyway I will release the code along with the FBA Enhanced R10 in a few minutes :smilie:
SeeYaa!
:biggrin:
-
Well here you have the modified 'cps3run.cpp' & 'd_cps3.cpp' with Red Earth (NO CD) Working in all regions :biggrin: (I added all region clone drivers)
The romsets are not new zips or something like that, they use the same roms that 'redeartn' use AND there is a region patching done with different values depending on what romset we're loading. Here you have the code so you can see more clear what Im saying:
// 0x06000000 - JAPAN (WARZARD)
// 0x05000000 - ASIA
// 0x04000000 - EURO
// 0x03000000 - USA
// 0x02000000 - HISPANIC
// 0x01000000 - BRAZIL
// 0x00000000 - OCEANIA
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "redeartn")) { *((unsigned int *)(RomBios + 0x1FED8)) = 0x05000000; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "redearen")) { *((unsigned int *)(RomBios + 0x1FED8)) = 0x04000000; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "redearun")) { *((unsigned int *)(RomBios + 0x1FED8)) = 0x03000000; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "redearhn")) { *((unsigned int *)(RomBios + 0x1FED8)) = 0x02000000; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "redearbn")) { *((unsigned int *)(RomBios + 0x1FED8)) = 0x01000000; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "redearon")) { *((unsigned int *)(RomBios + 0x1FED8)) = 0x00000000; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "redearjn")) { *((unsigned int *)(RomBios + 0x1FED8)) = 0x06000000; }
be_to_le( RomBios, 0x080000 );
cps3_decrypt_bios();
...
and the problem that KOF2112 was mentioning was fixed with an IF statement, here you can see how + the new code...
static int Cps3Reset()
{
// re-map cram_bank
cram_bank = 0;
Sh2MapMemory((unsigned char *)RamCRam, 0x04100000, 0x041fffff, SM_RAM);
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "redeartn") || // Asia
!strcmp(BurnDrvGetTextA(DRV_NAME), "redearen") || // Euro
!strcmp(BurnDrvGetTextA(DRV_NAME), "redearun") || // USA
!strcmp(BurnDrvGetTextA(DRV_NAME), "redearhn") || // Hispanic
!strcmp(BurnDrvGetTextA(DRV_NAME), "redearbn") || // Brazil
!strcmp(BurnDrvGetTextA(DRV_NAME), "redearon") || // Oceania
!strcmp(BurnDrvGetTextA(DRV_NAME), "redearjn") ) // Japan (War-Zard)
{
// fast boot
Sh2Reset( *(unsigned int *)(RomGame_D + 0), *(unsigned int *)(RomGame_D + 4) );
Sh2SetVBR(0x06000000);
} else {
Sh2Reset( *(unsigned int *)(RomBios + 0), *(unsigned int *)(RomBios + 4) );
}
cps3_flash_init( &main_flash );
cps3_current_eeprom_read = 0;
cps3SndReset();
cps3_reset = 0;
return 0;
}
Replace your old .cpp files with the attached ones and do a clean build (delete your 'obj/' dir)
FB Alpha Enhanced R10 is done with the updated CPS3 driver but I haven't packaged it so it will be out in some minutes ^^
ThanX to IQ_132 for helping me understand how the patching works, we weren't able to do a fast boot for other NOCD games, because of that we couldn't patch other CPS3 to other regions. Maybe OopsWare can do a fast boot for other games so they can be changed of region too ^^
SeeYaa!
:biggrin:
-
:biggrin:
thank you CaptainCPS-X updated CPS-III driver
-
Well done !!! CaptainCPS-X ,
follow your link http://www.mameworld.net/maws/romset/redeartn, i found this:
A0810000:001FEDB:00000001:0000000F Japan
A0810000:001FEDB:00000002:0000000F Asia
A0810000:001FEDB:00000003:0000000F Euro
A0810000:001FEDB:00000004:0000000F USA
A0810000:001FEDB:00000005:0000000F Hispanic
A0810000:001FEDB:00000006:0000000F Brazil
A0810000:001FEDB:00000007:0000000F Oceania
A0810000:001FEDB:00000008:0000000F Asia (NCD)
so , i think we needn't each bios files, we can write some hack code like you post.
or set them as a DIP switch .
to iq_132:
thanx for your advice for ASM sh2 core . but my x86 asm realy bad .
but i wanta modify it's opcode analyze function, add a jumptable like MUSASHI 86K core.
in fact , that asm sh2 core is doing so .
-
sfiii2's coderegoin doesn't encrypt, so fast boot mode change to:
static int Cps3Reset()
{
// re-map cram_bank
cram_bank = 0;
Sh2MapMemory((unsigned char *)RamCRam, 0x04100000, 0x041fffff, SM_RAM);
#if 0
Sh2Reset( *(unsigned int *)(RomBios + 0), *(unsigned int *)(RomBios + 4) );
#else
// fast boot
if (cps3_isSpecial)
// sfiii2 only
Sh2Reset( *(unsigned int *)(RomGame + 0), *(unsigned int *)(RomGame + 4) );
else
Sh2Reset( *(unsigned int *)(RomGame_D + 0), *(unsigned int *)(RomGame_D + 4) );
Sh2SetVBR(0x06000000);
#endif
......
ok, let us make some test:
add some code after cps3_decrypt_bios(); in cps3Init()
......
be_to_le( RomBios, 0x080000 );
cps3_decrypt_bios();
unsigned int a1 = *(unsigned int *)( RomBios + 0x01fed8 );
unsigned int m1 = cps3_mask(0x01fed8, cps3_key1, cps3_key2);
bprintf(0, _T("%08x ^ %08x = %08x\n"), a1 ^ m1, m1, a1 );
.....
we'll got
fda7ee86 ^ ce87ce87 = 33202001 : redearth : Japan
fda7ee84 ^ ce87ce87 = 33202003 : warzard : Euro
so :
Asia (NCD) 33202008 ^ ce87ce87 = fda7ee8f
now we copy the bios file warzard_euro.29f400.u2 to redearth_nocd.bios
edit redearth_nocd.bios by a hex edit tools at offset 0x01fedb with value 0x8f
compress the redearth_nocd.bios to redeartn.zip update the crc in d_cps3.cpp
done !!! we got the redearth_nocd.bios ^^
-
Nicee!!! Gonna try that asap! ^^ ThanX OopsWare! Good Job!! :wink:
SeeYaa!
:biggrin:
-
I was able to patch 'sfiii2n' using something similar to what I did for 'redeartn' to make the temporary clones and look the results with different values...
(The first picture is without the region patching, using only the code posted by OopsWare, other pictures are when using my region patching)
(http://jezeronline.com/images/sfiii2_asia_ncd_01.jpg)
(http://jezeronline.com/images/sfiii2_asia_ncd_00.jpg) (http://jezeronline.com/images/sfiii2_oceania_ncd_01.jpg)
(http://jezeronline.com/images/sfiii2_euro_ncd_01.jpg) (http://jezeronline.com/images/sfiii2_japan_ncd_01.jpg)
(http://jezeronline.com/images/sfiii2_japan_ncd_02.jpg) (http://jezeronline.com/images/sfiii2_japan_ncd_03.jpg)
(http://jezeronline.com/images/sfiii2_brazil_ncd_01.jpg) (http://jezeronline.com/images/sfiii2_brazil_ncd_02.jpg)
(http://jezeronline.com/images/sfiii2_usa_ncd_01.jpg) (http://jezeronline.com/images/sfiii2_usa_ncd_02.jpg)
(http://jezeronline.com/images/sfiii2_usa_ncd_03.jpg)
I couldn't find a patch value to get 'Hispanic' btw, here is the code for reference of my tests (redeartn code is commented because I removed the temporary clones I was testing, there should be a Dipswitch option later that let the user select what region to set for the game but I dont know to much how that interface works):
// REDEARTN *****************************************************************************************************
//
// 0x06000000 - JAPAN (WARZARD)
// 0x05000000 - ASIA
// 0x04000000 - EURO
// 0x03000000 - USA
// 0x02000000 - HISPANIC
// 0x01000000 - BRAZIL
// 0x00000000 - OCEANIA
/*
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "redeartn")) { *((unsigned int *)(RomBios + 0x1FED8)) = 0x05000000; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "redearen")) { *((unsigned int *)(RomBios + 0x1FED8)) = 0x04000000; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "redearun")) { *((unsigned int *)(RomBios + 0x1FED8)) = 0x03000000; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "redearhn")) { *((unsigned int *)(RomBios + 0x1FED8)) = 0x02000000; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "redearbn")) { *((unsigned int *)(RomBios + 0x1FED8)) = 0x01000000; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "redearon")) { *((unsigned int *)(RomBios + 0x1FED8)) = 0x00000000; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "redearjn")) { *((unsigned int *)(RomBios + 0x1FED8)) = 0x06000000; }
*/
//
// SFIII2N ******************************************************************************************************
//
// 0x00000000 - ASIA (NOCD)
// 0x01000000 - EURO
// 0x02000000 - NO REGION (WHITE)
// 0x03000000 - JAPAN
// 0x04000000 - BRAZIL
// 0x05000000 - OCEANIA
// 0x06000000 - USA
// 0x07000000 - USA
// 0x08000000 - ASIA
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "sfiii2n")) { *((unsigned int *)(RomBios + 0x1FEC8)) ^= 0x00000000; }
// **************************************************************************************************************
btw, the reset code in my build is like this now :smilie: :
static int Cps3Reset()
{
// re-map cram_bank
cram_bank = 0;
Sh2MapMemory((unsigned char *)RamCRam, 0x04100000, 0x041fffff, SM_RAM);
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "redeartn") || (cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sfiii2n")))
{
// fast boot
if (cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sfiii2n"))
{
// sfiii2 only
Sh2Reset( *(unsigned int *)(RomGame + 0), *(unsigned int *)(RomGame + 4));
Sh2SetVBR(0x06000000);
} else {
// redeartn only
Sh2Reset( *(unsigned int *)(RomGame_D + 0), *(unsigned int *)(RomGame_D + 4));
Sh2SetVBR(0x06000000);
}
} else {
Sh2Reset( *(unsigned int *)(RomBios + 0), *(unsigned int *)(RomBios + 4));
}
cps3_flash_init( &main_flash );
cps3_current_eeprom_read = 0;
cps3SndReset();
cps3_reset = 0;
return 0;
}
EDIT: And this is my current redeartn driver with the nocd bios (obtained like OopsWare mentioned in his previous post :wink:)
// Red Earth (961121, NO CD) ASIA
static struct BurnRomInfo redeartnRomDesc[] = {
{ "redearth_nocd.bios",
0x080000, 0xDB09F27C, BRF_ESS | BRF_BIOS }, // SH-2 Bios
{ "10", 0x800000, 0x68188016, BRF_ESS | BRF_PRG }, // SH-2 Code
{ "30", 0x800000, 0x074cab4d, BRF_GRA },
{ "31", 0x800000, 0x14e2cad4, BRF_GRA },
{ "40", 0x800000, 0x72d98890, BRF_GRA },
{ "41", 0x800000, 0x88ccb33c, BRF_GRA },
{ "50", 0x400000, 0x2f5b44bd, BRF_GRA },
};
STD_ROM_PICK(redeartn);
STD_ROM_FN(redeartn);
I will let you know if in my particular case I will add sfiii2n clones 'temporary' like I did for 'redeartn', I will get some sleep now and when I get back depending on the WIP that OopsWare have I let you know.
SeeYaa!
:biggrin:
-
:biggrin:
Thanks OopsWare Help
-
I have been doing some work again and added "all" working including 'Hispanic' clones (I like to call them fake clones) with new and updated patching code, I have every CPS3 NOCD game region values to patch them, and their fake clone drivers are being done as I post this.
This is my current wip...
(http://jezeronline.com/images/sfiiin_sfiii2n_all_fake_clones_01.jpg)
I will take a break for some minutes to be with my family and then I come back to finish adding 'all' clone drivers for the other CPS3 games :smilie:
SeeYaa!
:biggrin:
-
Updated the picture I posted before, I missed to add 'Oceania' region, now in the new picture is shown in both 'sfiiin' fake clones and 'sfiii2n' fake clones, so they are complete and working fine :smilie:.
Please refresh (F5) the page to make sure your are looking at the updated image. Now I'm gonna take a break :p
SeeYaa!
:biggrin:
-
Fantastic the work done in so few time...Thanks :biggrin:
PS : The sound not yet emulated...Any progress in this way?
-
Fantastic the work done in so few time...Thanks :biggrin:
PS : The sound not yet emulated...Any progress in this way?
I don't know how to add sound right now, but I hope that OopsWare can add sound in his CPS3 WIP :smilie:
SeeYaa!
:biggrin:
-
Sure you can count on OopsWare to solve this problem :biggrin:
The most important is that NOW all the set CPS3 is now fully playable on FBA :wink:
-
MAME cheat.dat In Found the SFIII3 region
:sfiii3:A0010000:0001FECB:00000001:FFFFFFFF:Japan
:sfiii3:A0010000:0001FECB:00000002:FFFFFFFF:Asia
:sfiii3:A0010000:0001FECB:00000003:FFFFFFFF:Euro
:sfiii3:A0010000:0001FECB:00000004:FFFFFFFF:Usa
:sfiii3:A0010000:0001FECB:00000005:FFFFFFFF:Hispanic
:sfiii3:A0010000:0001FECB:00000006:FFFFFFFF:Brazil
:sfiii3:A0010000:0001FECB:00000007:FFFFFFFF:Oceania
:sfiii3:A0010000:0001FECB:00000008:FFFFFFFF:Korea
!strcmp(BurnDrvGetTextA(DRV_NAME), "sfiii3aan") || // Asia
!strcmp(BurnDrvGetTextA(DRV_NAME), "sfiii3en") || // Euro
!strcmp(BurnDrvGetTextA(DRV_NAME), "sfiii3hn") || // Hispanic
!strcmp(BurnDrvGetTextA(DRV_NAME), "sfiii3bn") || // Brazil
!strcmp(BurnDrvGetTextA(DRV_NAME), "sfiii3on") || // Oceania
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "sfiii3aan")) { *((unsigned int *)(RomBios + 0x1FECB)) = 0x00000003; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "sfiii3en")) { *((unsigned int *)(RomBios + 0x1FECB)) = 0x00000002; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "sfiii3hn")) { *((unsigned int *)(RomBios + 0x1FECB)) = 0x00000004; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "sfiii3bn")) { *((unsigned int *)(RomBios + 0x1FECB)) = 0x00000007; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "sfiii3on")) { *((unsigned int *)(RomBios + 0x1FECB)) = 0x00000006; }
-
MAME cheat.dat In Found the SFIII3 region
Yeah I already done the region clones for all CPS3 games, but ThanX anyway :smilie:
SeeYaa!
:biggrin:
-
Here is my actual code ...
[size=10pt]// ------------------------------------------------------------------------------------------------
// Module modified originally for use in FB Alpha Enhanced / Extras
// [ CaptainCPS-X ]
//
// I have to give ThanX to IQ_132 & OopsWare for their assistance.
//
// http://neosource.1emu.net/
// ------------------------------------------------------------------------------------------------
static int Cps3Reset()
{
// re-map cram_bank
cram_bank = 0;
Sh2MapMemory((unsigned char *)RamCRam, 0x04100000, 0x041fffff, SM_RAM);
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "redeartn") || // Asia
!strcmp(BurnDrvGetTextA(DRV_NAME), "redearen") || // Euro
!strcmp(BurnDrvGetTextA(DRV_NAME), "redearun") || // USA
!strcmp(BurnDrvGetTextA(DRV_NAME), "redearhn") || // Hispanic
!strcmp(BurnDrvGetTextA(DRV_NAME), "redearbn") || // Brazil
!strcmp(BurnDrvGetTextA(DRV_NAME), "redearon") || // Oceania
!strcmp(BurnDrvGetTextA(DRV_NAME), "redearjn") || // Japan (War-Zard)
(cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sfiiin")) ||
(cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sfiii2n")) ||
(cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3en")) ||
(cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3xn")) ||
(cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3jn")) ||
(cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3bn")) ||
(cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3on")) ||
(cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3un")) ||
(cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3hn")) ||
(cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3e2n")) ||
(cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3x2n")) ||
(cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3j2n")) ||
(cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3b2n")) ||
(cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3o2n")) ||
(cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3u2n")) ||
(cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3h2n"))
)
{
// fast boot
if (
(cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sfiiin")) ||
(cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sfiii2n")) ||
(cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3en")) ||
(cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3xn")) ||
(cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3jn")) ||
(cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3bn")) ||
(cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3on")) ||
(cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3un")) ||
(cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3hn")) ||
(cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3e2n")) ||
(cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3x2n")) ||
(cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3j2n")) ||
(cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3b2n")) ||
(cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3o2n")) ||
(cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3u2n")) ||
(cps3_isSpecial && !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3h2n"))
)
{
// sfiiin & sfiii2n only
Sh2Reset( *(unsigned int *)(RomGame + 0), *(unsigned int *)(RomGame + 4));
Sh2SetVBR(0x06000000);
} else {
// redeartn and fake clones only
Sh2Reset( *(unsigned int *)(RomGame_D + 0), *(unsigned int *)(RomGame_D + 4));
Sh2SetVBR(0x06000000);
}
} else {
Sh2Reset( *(unsigned int *)(RomGame_D + 0), *(unsigned int *)(RomGame_D + 4));
Sh2SetVBR(0x06000000);
}
cps3_flash_init( &main_flash );
cps3_current_eeprom_read = 0;
cps3SndReset();
cps3_reset = 0;
return 0;
}[/size]
[size=10pt] // --------------------------------------------------------------------------------------------
// REGION PATCH TESTS WHERE MADE ORIGINALLY FOR USE IN FBA ENHANCED / EXTRAS
// [CaptainCPS-X]
//
// http://neosource.1emu.net/
//
// Please do not remove this comment from the source if you use it.
// --------------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------------
// [ REDEARTN ] Red Earth (Asia, 961121, NO CD)
//
// 0x06000000 - JAPAN (WAR-ZARD)
// 0x05000000 - ASIA
// 0x04000000 - EURO
// 0x03000000 - USA
// 0x02000000 - HISPANIC
// 0x01000000 - BRAZIL
// 0x00000000 - OCEANIA
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "redeartn")) { *((unsigned int *)(RomBios + 0x1FED8)) = 0x05000000; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "redearen")) { *((unsigned int *)(RomBios + 0x1FED8)) = 0x04000000; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "redearun")) { *((unsigned int *)(RomBios + 0x1FED8)) = 0x03000000; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "redearhn")) { *((unsigned int *)(RomBios + 0x1FED8)) = 0x02000000; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "redearbn")) { *((unsigned int *)(RomBios + 0x1FED8)) = 0x01000000; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "redearon")) { *((unsigned int *)(RomBios + 0x1FED8)) = 0x00000000; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "redearjn")) { *((unsigned int *)(RomBios + 0x1FED8)) = 0x06000000; }
// REDEARTN NOTE: REGION PATCHES ARE DIFFERENT FROM THE OTHER CPS3 GAMES
//
// -> redeartn use: (RomBios + 0x1FED8)
// others use: (RomBios + 0x1FECB)
//
// -> redeartn use: =
// others use: ^= ( excluding NO REGION (WHITE) )
// --------------------------------------------------------------------------------------------
// [ SFIIIN ] Street Fighter III: New Generation (Asia, 970204, NO CD)
// [ SFIII2N ] Street Fighter III 2nd Impact: Giant Attack (Asia, 970930, NO CD)
//
// 0x00000000 - ASIA (NOCD)
// 0x00000001 - EURO
// 0x00000002 - NO REGION (WHITE)
// 0x00000003 - JAPAN
// 0x00000004 - BRAZIL
// 0x00000005 - OCEANIA
// 0x00000006 - USA
// 0x00000007 - HISPANIC
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "sfiiin") || !strcmp(BurnDrvGetTextA(DRV_NAME), "sfiii2n")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000000; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "sf3en") || !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3e2n")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000001; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "sf3xn") || !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3x2n")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000002; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "sf3jn") || !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3j2n")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000003; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "sf3bn") || !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3b2n")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000004; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "sf3on") || !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3o2n")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000005; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "sf3un") || !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3u2n")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000006; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "sf3hn") || !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3h2n")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000007; }
// --------------------------------------------------------------------------------------------
// [ SFIII3N ] Street Fighter III 3rd Strike: Fight for the Future (Japan, 990512, NO CD)
// [ SFIII3AN ] Street Fighter III 3rd Strike: Fight for the Future (Japan, 990608, NO CD)
//
// 0x00000000 - JAPAN
// 0x00000001 - NO REGION (WHITE)
// 0x00000002 - EURO
// 0x00000003 - ASIA
// 0x00000004 - HISPANIC
// 0x00000005 - USA
// 0x00000006 - OCEANIA
// 0x00000007 - BRAZIL
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "sfiii3n") || !strcmp(BurnDrvGetTextA(DRV_NAME), "sfiii3an")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000000; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "sf3x3n") || !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3x3an")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000001; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "sf3e3n") || !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3e3an")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000002; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "sf3a3n") || !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3a3an")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000003; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "sf3h3n") || !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3h3an")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000004; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "sf3u3n") || !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3u3an")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000005; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "sf3o3n") || !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3o3an")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000006; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "sf3b3n") || !strcmp(BurnDrvGetTextA(DRV_NAME), "sf3b3an")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000007; }
// --------------------------------------------------------------------------------------------
// [ JOJON ] JoJo's Venture / JoJo no Kimyouna Bouken (Asia, 981202, NO CD)
// [ JOJOALTN ] JoJo's Venture / JoJo no Kimyouna Bouken (Asia, 990108, NO CD)
//
// 0x00000000 - ASIA
// 0x00000001 - EURO
// 0x00000002 - NO REGION (XXXXXX) WHITE
// 0x00000003 - JAPAN
// 0x00000004 - BRAZIL
// 0x00000005 - OCEANIA
// 0x00000006 - USA
// 0x00000007 - HISPANIC
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "jojon") || !strcmp(BurnDrvGetTextA(DRV_NAME), "jojoaltn")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000000; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "jojoen") || !strcmp(BurnDrvGetTextA(DRV_NAME), "jojoalen")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000001; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "jojoxn") || !strcmp(BurnDrvGetTextA(DRV_NAME), "jojoalxn")) { *((unsigned int *)(RomBios + 0x1FECB)) = 0x00000002; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "jojojn") || !strcmp(BurnDrvGetTextA(DRV_NAME), "jojoaljn")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000003; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "jojobn") || !strcmp(BurnDrvGetTextA(DRV_NAME), "jojoalbn")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000004; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "jojoon") || !strcmp(BurnDrvGetTextA(DRV_NAME), "jojoalon")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000005; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "jojoun") || !strcmp(BurnDrvGetTextA(DRV_NAME), "jojoalun")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000006; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "jojohn") || !strcmp(BurnDrvGetTextA(DRV_NAME), "jojoalhn")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000007; }
// --------------------------------------------------------------------------------------------
// [ JOJOBAN ] JoJo's Bizarre Adventure: Heritage for the Future / JoJo no Kimyouna Bouken: Miraie no Isan (Japan, 990913, NO CD)
//
// 0x00000000 - JAPAN
// 0x00000001 - NO REGION (XXXXXX) WHITE
// 0x00000002 - EURO
// 0x00000003 - ASIA
// 0x00000004 - HISPANIC
// 0x00000005 - USA
// 0x00000006 - OCEANIA
// 0x00000007 - BRAZIL
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "jojoban")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000000; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "jojobaxn")) { *((unsigned int *)(RomBios + 0x1FECB)) = 0x00000001; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "jojobaen")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000002; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "jojobaan")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000003; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "jojobahn")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000004; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "jojobaun")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000005; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "jojobaon")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000006; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "jojobabn")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000007; }
// --------------------------------------------------------------------------------------------
// [ JOJOBANE ] JoJo's Bizarre Adventure: Heritage for the Future / JoJo no Kimyouna Bouken: Miraie no Isan (Euro, 990913, NO CD)
//
// 0x00000000 - EURO
// 0x00000001 - ASIA
// 0x00000002 - JAPAN
// 0x00000003 - NO REGION (XXXXXX) WHITE
// 0x00000004 - OCEANIA
// 0x00000005 - BRAZIL
// 0x00000006 - HISPANIC
// 0x00000007 - USA
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "jojobane")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000000; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "jojobna")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000001; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "jojobnj")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000002; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "jojobnx")) { *((unsigned int *)(RomBios + 0x1FECB)) = 0x00000003; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "jojobno")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000004; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "jojobnb")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000005; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "jojobnh")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000006; }
if (!strcmp(BurnDrvGetTextA(DRV_NAME), "jojobnu")) { *((unsigned int *)(RomBios + 0x1FECB)) ^= 0x00000007; }
be_to_le( RomBios, 0x080000 );
cps3_decrypt_bios();[/size]
[size=10pt]// ------------------------------------------------------------------------------------------------
// Fake Clone drivers made originally for use in FB Alpha Enhanced / Extras
// [ by CaptainCPS-X ]
//
// These drivers are not official in any way I added them originally to make it posible
// to select from different regions. In the future this can be simplified by adding a
// Dipswitch feature for CPS-3 games.
//
// http://neosource.1emu.net/
//
// Please do not remove this comment if you use this code.
// ------------------------------------------------------------------------------------------------
struct BurnDriver BurnDrvRedearen = {
"redearen", "redeartn", NULL, "1996",
"Red Earth (Europe, 961121, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, redeartnRomInfo, redeartnRomName, cps3InputInfo, NULL,
redearthInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvRedearun = {
"redearun", "redeartn", NULL, "1996",
"Red Earth (USA, 961121, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, redeartnRomInfo, redeartnRomName, cps3InputInfo, NULL,
redearthInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvRedearhn = {
"redearhn", "redeartn", NULL, "1996",
"Red Earth (Hispanic, 961121, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, redeartnRomInfo, redeartnRomName, cps3InputInfo, NULL,
redearthInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvRedearbn = {
"redearbn", "redeartn", NULL, "1996",
"Red Earth (Brazil, 961121, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, redeartnRomInfo, redeartnRomName, cps3InputInfo, NULL,
redearthInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvRedearon = {
"redearon", "redeartn", NULL, "1996",
"Red Earth (Oceania, 961121, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, redeartnRomInfo, redeartnRomName, cps3InputInfo, NULL,
redearthInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvRedearjn = {
"redearjn", "redeartn", NULL, "1996",
"Red Earth / War-Zard (Japan, 961121, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, redeartnRomInfo, redeartnRomName, cps3InputInfo, NULL,
redearthInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
// sfiiin FAKE CLONES
struct BurnDriver BurnDrvSf3en = {
"sf3en", "sfiiin", NULL, "1997",
"Street Fighter III: New Generation (Europe, 970204, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, sfiiinRomInfo, sfiiinRomName, cps3InputInfo, NULL,
sfiiiInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvSf3xn = {
"sf3xn", "sfiiin", NULL, "1997",
"Street Fighter III: New Generation (XXXXXX, 970204, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, sfiiinRomInfo, sfiiinRomName, cps3InputInfo, NULL,
sfiiiInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvSf3jn = {
"sf3jn", "sfiiin", NULL, "1997",
"Street Fighter III: New Generation (Japan, 970204, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, sfiiinRomInfo, sfiiinRomName, cps3InputInfo, NULL,
sfiiiInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvSf3bn = {
"sf3bn", "sfiiin", NULL, "1997",
"Street Fighter III: New Generation (Brazil, 970204, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, sfiiinRomInfo, sfiiinRomName, cps3InputInfo, NULL,
sfiiiInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvSf3on = {
"sf3on", "sfiiin", NULL, "1997",
"Street Fighter III: New Generation (Oceania, 970204, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, sfiiinRomInfo, sfiiinRomName, cps3InputInfo, NULL,
sfiiiInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvSf3un = {
"sf3un", "sfiiin", NULL, "1997",
"Street Fighter III: New Generation (USA, 970204, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, sfiiinRomInfo, sfiiinRomName, cps3InputInfo, NULL,
sfiiiInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvSf3hn = {
"sf3hn", "sfiiin", NULL, "1997",
"Street Fighter III: New Generation (Hispanic, 970204, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, sfiiinRomInfo, sfiiinRomName, cps3InputInfo, NULL,
sfiiiInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
// sfiii2n fake clones
struct BurnDriver BurnDrvSf3e2n = {
"sf3e2n", "sfiii2n", NULL, "1997",
"Street Fighter III 2nd Impact: Giant Attack (Europe, 970930, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, sfiii2nRomInfo, sfiii2nRomName, cps3InputInfo, NULL,
sfiii2Init, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvSf3x2n = {
"sf3x2n", "sfiii2n", NULL, "1997",
"Street Fighter III 2nd Impact: Giant Attack (XXXXXX, 970930, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, sfiii2nRomInfo, sfiii2nRomName, cps3InputInfo, NULL,
sfiii2Init, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvSf3j2n = {
"sf3j2n", "sfiii2n", NULL, "1997",
"Street Fighter III 2nd Impact: Giant Attack (Japan, 970930, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, sfiii2nRomInfo, sfiii2nRomName, cps3InputInfo, NULL,
sfiii2Init, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvSf3b2n = {
"sf3b2n", "sfiii2n", NULL, "1997",
"Street Fighter III 2nd Impact: Giant Attack (Brazil, 970930, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, sfiii2nRomInfo, sfiii2nRomName, cps3InputInfo, NULL,
sfiii2Init, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvSf3o2n = {
"sf3o2n", "sfiii2n", NULL, "1997",
"Street Fighter III 2nd Impact: Giant Attack (Oceania, 970930, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, sfiii2nRomInfo, sfiii2nRomName, cps3InputInfo, NULL,
sfiii2Init, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvSf3u2n = {
"sf3u2n", "sfiii2n", NULL, "1997",
"Street Fighter III 2nd Impact: Giant Attack (USA, 970930, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, sfiii2nRomInfo, sfiii2nRomName, cps3InputInfo, NULL,
sfiii2Init, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvSf3h2n = {
"sf3h2n", "sfiii2n", NULL, "1997",
"Street Fighter III 2nd Impact: Giant Attack (Hispanic, 970930, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, sfiii2nRomInfo, sfiii2nRomName, cps3InputInfo, NULL,
sfiii2Init, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
// sfiii3n fake clones
struct BurnDriver BurnDrvSf3x3n = {
"sf3x3n", "sfiii3", NULL, "1999",
"Street Fighter III 3rd Strike: Fight for the Future (XXXXXX, 990512, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, sfiii3nRomInfo, sfiii3nRomName, cps3InputInfo, NULL,
sfiii3Init, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvSf3e3n = {
"sf3e3n", "sfiii3n", NULL, "1999",
"Street Fighter III 3rd Strike: Fight for the Future (Europe, 990512, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, sfiii3nRomInfo, sfiii3nRomName, cps3InputInfo, NULL,
sfiii3Init, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvSf3a3n = {
"sf3a3n", "sfiii3n", NULL, "1999",
"Street Fighter III 3rd Strike: Fight for the Future (Asia, 990512, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, sfiii3nRomInfo, sfiii3nRomName, cps3InputInfo, NULL,
sfiii3Init, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvSf3h3n = {
"sf3h3n", "sfiii3n", NULL, "1999",
"Street Fighter III 3rd Strike: Fight for the Future (Hispanic, 990512, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, sfiii3nRomInfo, sfiii3nRomName, cps3InputInfo, NULL,
sfiii3Init, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvSf3u3n = {
"sf3u3n", "sfiii3n", NULL, "1999",
"Street Fighter III 3rd Strike: Fight for the Future (USA, 990512, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, sfiii3nRomInfo, sfiii3nRomName, cps3InputInfo, NULL,
sfiii3Init, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvSf3o3n = {
"sf3o3n", "sfiii3n", NULL, "1999",
"Street Fighter III 3rd Strike: Fight for the Future (Oceania, 990512, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, sfiii3nRomInfo, sfiii3nRomName, cps3InputInfo, NULL,
sfiii3Init, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvSf3b3n = {
"sf3b3n", "sfiii3n", NULL, "1999",
"Street Fighter III 3rd Strike: Fight for the Future (Brazil, 990512, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, sfiii3nRomInfo, sfiii3nRomName, cps3InputInfo, NULL,
sfiii3Init, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
// sfiii3an fake clones
struct BurnDriver BurnDrvSf3x3an = {
"sf3x3an", "sfiii3an", NULL, "1999",
"Street Fighter III 3rd Strike: Fight for the Future (XXXXXX, 990608, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, sfiii3anRomInfo, sfiii3anRomName, cps3InputInfo, NULL,
sfiii3Init, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvSf3e3an = {
"sf3e3an", "sfiii3an", NULL, "1999",
"Street Fighter III 3rd Strike: Fight for the Future (Europe, 990608, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, sfiii3anRomInfo, sfiii3anRomName, cps3InputInfo, NULL,
sfiii3Init, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvSf3a3an = {
"sf3a3an", "sfiii3an", NULL, "1999",
"Street Fighter III 3rd Strike: Fight for the Future (Asia, 990608, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, sfiii3anRomInfo, sfiii3anRomName, cps3InputInfo, NULL,
sfiii3Init, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvSf3h3an = {
"sf3h3an", "sfiii3an", NULL, "1999",
"Street Fighter III 3rd Strike: Fight for the Future (Hispanic, 990608, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, sfiii3anRomInfo, sfiii3anRomName, cps3InputInfo, NULL,
sfiii3Init, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvSf3u3an = {
"sf3u3an", "sfiii3an", NULL, "1999",
"Street Fighter III 3rd Strike: Fight for the Future (USA, 990608, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, sfiii3anRomInfo, sfiii3anRomName, cps3InputInfo, NULL,
sfiii3Init, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvSf3o3an = {
"sf3o3an", "sfiii3an", NULL, "1999",
"Street Fighter III 3rd Strike: Fight for the Future (Oceania, 990608, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, sfiii3anRomInfo, sfiii3anRomName, cps3InputInfo, NULL,
sfiii3Init, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvSf3b3an = {
"sf3b3an", "sfiii3an", NULL, "1999",
"Street Fighter III 3rd Strike: Fight for the Future (Brazil, 990608, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, sfiii3anRomInfo, sfiii3anRomName, cps3InputInfo, NULL,
sfiii3Init, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
// jojon fake clones
struct BurnDriver BurnDrvJojoen = {
"jojoen", "jojon", NULL, "1998",
"JoJo's Venture / JoJo no Kimyouna Bouken (Europe, 981202, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, jojonRomInfo, jojonRomName, cps3InputInfo, NULL,
jojoInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvJojoxn = {
"jojoxn", "jojon", NULL, "1998",
"JoJo's Venture / JoJo no Kimyouna Bouken (XXXXXX, 981202, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, jojonRomInfo, jojonRomName, cps3InputInfo, NULL,
jojoInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvJojojn = {
"jojojn", "jojon", NULL, "1998",
"JoJo's Venture / JoJo no Kimyouna Bouken (Japan, 981202, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, jojonRomInfo, jojonRomName, cps3InputInfo, NULL,
jojoInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvJojobn = {
"jojobn", "jojon", NULL, "1998",
"JoJo's Venture / JoJo no Kimyouna Bouken (Brazil, 981202, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, jojonRomInfo, jojonRomName, cps3InputInfo, NULL,
jojoInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvJojoon = {
"jojoon", "jojon", NULL, "1998",
"JoJo's Venture / JoJo no Kimyouna Bouken (Oceania, 981202, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, jojonRomInfo, jojonRomName, cps3InputInfo, NULL,
jojoInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvJojoun = {
"jojoun", "jojon", NULL, "1998",
"JoJo's Venture / JoJo no Kimyouna Bouken (USA, 981202, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, jojonRomInfo, jojonRomName, cps3InputInfo, NULL,
jojoInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvJojohn = {
"jojohn", "jojon", NULL, "1998",
"JoJo's Venture / JoJo no Kimyouna Bouken (Hispanic, 981202, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, jojonRomInfo, jojonRomName, cps3InputInfo, NULL,
jojoInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
// jojoaltn fake clones
struct BurnDriver BurnDrvJojoalen = {
"jojoalen", "jojoaltn", NULL, "1998",
"JoJo's Venture / JoJo no Kimyouna Bouken (Europe, 990108, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, jojoaltnRomInfo, jojoaltnRomName, cps3InputInfo, NULL,
jojoInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvJojoalxn = {
"jojoalxn", "jojoaltn", NULL, "1998",
"JoJo's Venture / JoJo no Kimyouna Bouken (XXXXXX, 990108, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, jojoaltnRomInfo, jojoaltnRomName, cps3InputInfo, NULL,
jojoInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvJojoaljn = {
"jojoaljn", "jojoaltn", NULL, "1998",
"JoJo's Venture / JoJo no Kimyouna Bouken (Japan, 990108, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, jojoaltnRomInfo, jojoaltnRomName, cps3InputInfo, NULL,
jojoInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvJojoalbn = {
"jojoalbn", "jojoaltn", NULL, "1998",
"JoJo's Venture / JoJo no Kimyouna Bouken (Brazil, 990108, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, jojoaltnRomInfo, jojoaltnRomName, cps3InputInfo, NULL,
jojoInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvJojoalon = {
"jojoalon", "jojoaltn", NULL, "1998",
"JoJo's Venture / JoJo no Kimyouna Bouken (Oceania, 990108, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, jojoaltnRomInfo, jojoaltnRomName, cps3InputInfo, NULL,
jojoInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvJojoalun = {
"jojoalun", "jojoaltn", NULL, "1998",
"JoJo's Venture / JoJo no Kimyouna Bouken (USA, 990108, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, jojoaltnRomInfo, jojoaltnRomName, cps3InputInfo, NULL,
jojoInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvJojoalhn = {
"jojoalhn", "jojoaltn", NULL, "1998",
"JoJo's Venture / JoJo no Kimyouna Bouken (Hipsanic, 990108, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, jojoaltnRomInfo, jojoaltnRomName, cps3InputInfo, NULL,
jojoInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
// jojoban fake clones
struct BurnDriver BurnDrvJojobaxn = {
"jojobaxn", "jojoban", NULL, "1999",
"JoJo's Bizarre Adventure: Heritage for the Future / JoJo no Kimyouna Bouken: Miraie no Isan (XXXXXX, 990913, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, jojobanRomInfo, jojobanRomName, cps3InputInfo, NULL,
jojobaInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvJojobaen = {
"jojobaen", "jojoban", NULL, "1999",
"JoJo's Bizarre Adventure: Heritage for the Future / JoJo no Kimyouna Bouken: Miraie no Isan (Europe, 990913, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, jojobanRomInfo, jojobanRomName, cps3InputInfo, NULL,
jojobaInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvJojobaan = {
"jojobaan", "jojoban", NULL, "1999",
"JoJo's Bizarre Adventure: Heritage for the Future / JoJo no Kimyouna Bouken: Miraie no Isan (Asia, 990913, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, jojobanRomInfo, jojobanRomName, cps3InputInfo, NULL,
jojobaInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvJojobahn = {
"jojobahn", "jojoban", NULL, "1999",
"JoJo's Bizarre Adventure: Heritage for the Future / JoJo no Kimyouna Bouken: Miraie no Isan (Hispanic, 990913, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, jojobanRomInfo, jojobanRomName, cps3InputInfo, NULL,
jojobaInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvJojobaun = {
"jojobaun", "jojoban", NULL, "1999",
"JoJo's Bizarre Adventure: Heritage for the Future / JoJo no Kimyouna Bouken: Miraie no Isan (USA, 990913, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, jojobanRomInfo, jojobanRomName, cps3InputInfo, NULL,
jojobaInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvJojobaon = {
"jojobaon", "jojoban", NULL, "1999",
"JoJo's Bizarre Adventure: Heritage for the Future / JoJo no Kimyouna Bouken: Miraie no Isan (Oceania, 990913, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, jojobanRomInfo, jojobanRomName, cps3InputInfo, NULL,
jojobaInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvJojobabn = {
"jojobabn", "jojoban", NULL, "1999",
"JoJo's Bizarre Adventure: Heritage for the Future / JoJo no Kimyouna Bouken: Miraie no Isan (Brazil, 990913, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, jojobanRomInfo, jojobanRomName, cps3InputInfo, NULL,
jojobaInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
// jojobane fake clones
struct BurnDriver BurnDrvJojobna = {
"jojobna", "jojobane", NULL, "1999",
"JoJo's Bizarre Adventure: Heritage for the Future / JoJo no Kimyouna Bouken: Miraie no Isan (Asia, 990913, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, jojobaneRomInfo, jojobaneRomName, cps3InputInfo, NULL,
jojobaInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvJojobnj = {
"jojobnj", "jojobane", NULL, "1999",
"JoJo's Bizarre Adventure: Heritage for the Future / JoJo no Kimyouna Bouken: Miraie no Isan (Japan, 990913, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, jojobaneRomInfo, jojobaneRomName, cps3InputInfo, NULL,
jojobaInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvJojobnx = {
"jojobnx", "jojobane", NULL, "1999",
"JoJo's Bizarre Adventure: Heritage for the Future / JoJo no Kimyouna Bouken: Miraie no Isan (XXXXXX, 990913, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, jojobaneRomInfo, jojobaneRomName, cps3InputInfo, NULL,
jojobaInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvJojobno = {
"jojobno", "jojobane", NULL, "1999",
"JoJo's Bizarre Adventure: Heritage for the Future / JoJo no Kimyouna Bouken: Miraie no Isan (Oceania, 990913, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, jojobaneRomInfo, jojobaneRomName, cps3InputInfo, NULL,
jojobaInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvJojobnb = {
"jojobnb", "jojobane", NULL, "1999",
"JoJo's Bizarre Adventure: Heritage for the Future / JoJo no Kimyouna Bouken: Miraie no Isan (Brazil, 990913, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, jojobaneRomInfo, jojobaneRomName, cps3InputInfo, NULL,
jojobaInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvJojobnh = {
"jojobnh", "jojobane", NULL, "1999",
"JoJo's Bizarre Adventure: Heritage for the Future / JoJo no Kimyouna Bouken: Miraie no Isan (Hispanic, 990913, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, jojobaneRomInfo, jojobaneRomName, cps3InputInfo, NULL,
jojobaInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
struct BurnDriver BurnDrvJojobnu = {
"jojobnu", "jojobane", NULL, "1999",
"JoJo's Bizarre Adventure: Heritage for the Future / JoJo no Kimyouna Bouken: Miraie no Isan (USA, 990913, NO CD)\0", NULL, "Capcom", "CPS-3",
NULL, NULL, NULL, NULL,
BDF_GAME_WORKING | BDF_16BIT_ONLY | BDF_CLONE, 2, HARDWARE_MISC_MISC,
NULL, jojobaneRomInfo, jojobaneRomName, cps3InputInfo, NULL,
jojobaInit, cps3Exit, cps3Frame, NULL, cps3Scan, &cps3_palette_change,
384, 224, 12, 7
};
[/size]
Enjoy the Fake Clones! xDD
SeeYaa!
:biggrin:
-
I received a recent PM asking me about the Redeartn Asia NOCD SH-2 bios file currently in my build of FBA, and so it seems that some of you may have missed some info in this thread...
As you guys know (if you don't know you will xD) OopsWare found a way to get our own dump of the 'Red Earth (Asia, 961121, NOCD)' SH-2 Bios file so we don't have to use other bios.
He posted it in the second page of this thread but I will Quote what he wrote:
sfiii2's coderegoin doesn't encrypt, so fast boot mode change to:
static int Cps3Reset()
{
// re-map cram_bank
cram_bank = 0;
Sh2MapMemory((unsigned char *)RamCRam, 0x04100000, 0x041fffff, SM_RAM);
#if 0
Sh2Reset( *(unsigned int *)(RomBios + 0), *(unsigned int *)(RomBios + 4) );
#else
// fast boot
if (cps3_isSpecial)
// sfiii2 only
Sh2Reset( *(unsigned int *)(RomGame + 0), *(unsigned int *)(RomGame + 4) );
else
Sh2Reset( *(unsigned int *)(RomGame_D + 0), *(unsigned int *)(RomGame_D + 4) );
Sh2SetVBR(0x06000000);
#endif
......
ok, let us make some test:
add some code after cps3_decrypt_bios(); in cps3Init()
......
be_to_le( RomBios, 0x080000 );
cps3_decrypt_bios();
unsigned int a1 = *(unsigned int *)( RomBios + 0x01fed8 );
unsigned int m1 = cps3_mask(0x01fed8, cps3_key1, cps3_key2);
bprintf(0, _T("%08x ^ %08x = %08x\n"), a1 ^ m1, m1, a1 );
.....
we'll got
fda7ee86 ^ ce87ce87 = 33202001 : redearth : Japan
fda7ee84 ^ ce87ce87 = 33202003 : warzard : Euro
so :
Asia (NCD) 33202008 ^ ce87ce87 = fda7ee8f
now we copy the bios file warzard_euro.29f400.u2 to redearth_nocd.bios
edit redearth_nocd.bios by a hex edit tools at offset 0x01fedb with value 0x8f
compress the redearth_nocd.bios to redeartn.zip update the crc in d_cps3.cpp
done !!! we got the redearth_nocd.bios ^^
This message is here:
http://neo-source.com/index.php?topic=786.msg6424#msg6424
So to make everyone's life easier I did a IPS patch to get it from the Europe SH-2 Bios.
Directions:
1. Unzip the "warzard_euro.29f400.u2" crc32(02E0F336) from "redearth.zip"
2. Rename it to "redearth_nocd.bios".
3. Use the Patcher (ouinja-0.59-nem.zip) + IPS Patch I attached and apply it to "redearth_nocd.bios"
4. You should have now the patched "redearth_nocd.bios" with a crc32 - (DB09F27C)
5. Add "redearth_nocd.bios" to "redeartN.zip" (Note: dont add it to 'redeartH.zip')
6. Enjoy! =) We have the undumped SH-2 Bios file for FBA first! xD lol
SeeYaa!
:biggrin:
[attachment deleted by admin]
-
Here you have my actual CPS3 updates to the drivers , changes are the ones mentioned in FB Alpha Enhanced R11 (check the attachements).
I think this are my last modifications to them for now.
btw, I hope OopsWare have good news about his CPS3 driver WIP soon ^^
SeeYaa!
:biggrin:
-
My actual and final CPS3 updates to the drivers. (there should be no problem now, only of course the other stuff not emulated like sound and CHDs)
All reported bugs are fixed now, the update will be included for R12.
- jojobnx (initiate and load fine now)
- sfiiiu (boots fine to the load CD screen)
- sfiii3a (boots fine to the load CD screen)
SeeYaa!
:biggrin:
-
all the cps-3 drivers crash with a guru meditation error when pressing alt-enter to exit full screen......no biggie though......just have to reload the emulator....
-
all the cps-3 drivers crash with a guru meditation error when pressing alt-enter to exit full screen......no biggie though......just have to reload the emulator....
That's not a bug in my updated drivers, and is not happening in my build so that bug is in your PC. Wait until I release my build and you'll see
SeeYaa!
:biggrin:
-
spend too many time to write the mksh2.cpp and create opcode jumptable.
but it increase 2 or more frames per second only :redface:
an other way, change
Sh2Run(6250000 * 4 / 60 / 4);
to
Sh2Run(3250000 * 4 / 60 / 4);
it will full speed on a P4 1.5, why ????
why mame run so fast :idiot:
haha ... i'v forgot the speedup hack in mame . :biggrin:
see mame's cps3.c
static READ32_HANDLER(cps3_speedup_r)
add this asap ...
-
spend too many time to write the mksh2.cpp and create opcode jumptable.
but it increase 2 or more frames per second only :redface:
an other way, change
Sh2Run(6250000 * 4 / 60 / 4);
to
Sh2Run(3250000 * 4 / 60 / 4);
it will full speed on a P4 1.5, why ????
why mame run so fast :idiot:
haha ... i'v forgot the speedup hack in mame . :biggrin:
see mame's cps3.c
static READ32_HANDLER(cps3_speedup_r)
add this asap ...
Wohooo!! ThanX OopsWare gonna test before going to sleep! ^^ (lol Im like a zoombie right now xD)
SeeYaa!
:biggrin:
-
That's not a bug in my updated drivers, and is not happening in my build so that bug is in your PC. Wait until I release my build and you'll see
SeeYaa!
:biggrin:
hmmmm, must of been one of the blitter options my computer doesn't like cause it works switching it from double pixels (software)......no more guru meditation error.
-
Wow!! going good here changing "Sh2Run(6250000 * 4 / 60 / 4);" to "Sh2Run(3250000 * 4 / 60 / 4);" :eek:
SeeYaa!
:biggrin:
-
That's just underclocking the cpu. Not correct at all. :S What it means is that the sh2 core isn't running as many cycles per second as it is suppose to. The reason it doesn't seem to affect gameplay is that the games don't take advantage of the cpu much.
Also, the SH2 core of MAME is very slowww (taking up most of the cpu time). That's why I suggested using that ASM SH2 core.
-
That's just underclocking the cpu. Not correct at all. :S What it means is that the sh2 core isn't running as many cycles per second as it is suppose to. The reason it doesn't seem to affect gameplay is that the games don't take advantage of the cpu much.
Also, the SH2 core of MAME is very slowww (taking up most of the cpu time). That's why I suggested using that ASM SH2 core.
I understand, but without underclocking is going a bit faster than before too, I think that when OopsWare implements the speedup from MAME cps3.c it will get better ^^
SeeYaa!
:biggrin:
-
It certainly does give quite a speedup. ^^
*edit*
please note that I'm talking about adding the speedup from MAME's cps3.c
-
I edit the Wrong :confused:
Making normal build...
Generating depend file for src/burner/win32/about.cpp...
Generating depend file for src/burner/win32/resource.rc...
Compiling src/burner/win32/about.cpp...
Compiling resource file resource.rc...
Compiling src/burn/cps3/mksh2.cpp...
src/burn/cps3/mksh2.cpp:1672: error: ISO C++ forbids declaration of `main' with
no type
src/burn/cps3/mksh2.cpp: In function `void OpCMPSTR(short unsigned int)':
src/burn/cps3/mksh2.cpp:354: warning: unused parameter `short unsigned int n'
src/burn/cps3/mksh2.cpp: In function `void OpXTRCT(short unsigned int)':
src/burn/cps3/mksh2.cpp:371: warning: unused parameter `short unsigned int n'
src/burn/cps3/mksh2.cpp: In function `void OpDMULU(short unsigned int)':
src/burn/cps3/mksh2.cpp:508: warning: unused parameter `short unsigned int n'
src/burn/cps3/mksh2.cpp: In function `void OpSUBC(short unsigned int)':
src/burn/cps3/mksh2.cpp:559: warning: unused parameter `short unsigned int n'
src/burn/cps3/mksh2.cpp: In function `void OpSUBV(short unsigned int)':
src/burn/cps3/mksh2.cpp:577: warning: unused parameter `short unsigned int n'
src/burn/cps3/mksh2.cpp: In function `void OpDMULS(short unsigned int)':
src/burn/cps3/mksh2.cpp:615: warning: unused parameter `short unsigned int n'
src/burn/cps3/mksh2.cpp: In function `void OpADDC(short unsigned int)':
src/burn/cps3/mksh2.cpp:667: warning: unused parameter `short unsigned int n'
src/burn/cps3/mksh2.cpp: In function `void OpADDV(short unsigned int)':
src/burn/cps3/mksh2.cpp:686: warning: unused parameter `short unsigned int n'
src/burn/cps3/mksh2.cpp: In function `void OpMAC_W(short unsigned int)':
src/burn/cps3/mksh2.cpp:805: warning: unused parameter `short unsigned int n'
src/burn/cps3/mksh2.cpp: In function `void OpDT(short unsigned int)':
src/burn/cps3/mksh2.cpp:859: warning: unused parameter `short unsigned int n'
src/burn/cps3/mksh2.cpp: In function `void OpTAS(short unsigned int)':
src/burn/cps3/mksh2.cpp:943: warning: unused parameter `short unsigned int n'
src/burn/cps3/mksh2.cpp: In function `void OpMOVLL4(short unsigned int)':
src/burn/cps3/mksh2.cpp:1051: warning: unused parameter `short unsigned int n'
src/burn/cps3/mksh2.cpp: In function `void OpBRA(short unsigned int)':
src/burn/cps3/mksh2.cpp:1242: warning: unused parameter `short unsigned int n'
src/burn/cps3/mksh2.cpp: In function `void OpBSR(short unsigned int)':
src/burn/cps3/mksh2.cpp:1257: warning: unused parameter `short unsigned int n'
src/burn/cps3/mksh2.cpp: In function `void OpTRAPA(short unsigned int)':
src/burn/cps3/mksh2.cpp:1285: warning: unused parameter `short unsigned int n'
mingw32-make[1]: *** [mksh2.o] Error 1
mingw32-make: *** [mingw] Error 2
_
FBA Compilation using MinGW v3.1.0 Done.
(Using Windows Vista Ultimate Environment)
请按任意键继续. . .
-
You don't want to compile mksh2.cpp into fba like that.
Open a command prompt there and type:
gcc mksh2.cpp -o mksh2.exe
now run that mksh2 program. It will output a big-ass file
you don't need to add mksh2.cpp or the ouputted file to fba's makefile.
next, open sh2.cpp and find this
#define USE_JUMPTABLE 0 << change to a 1
-
You don't want to compile mksh2.cpp into fba like that.
Open a command prompt there and type:
gcc mksh2.cpp -o mksh2.exe
now run that mksh2 program. It will output a big-ass file
you don't need to add mksh2.cpp or the ouputted file to fba's makefile.
next, open sh2.cpp and find this
#define USE_JUMPTABLE 0 << change to a 1
:biggrin:
ok Thanks iq_132 Help
-
some fix:
1. sh-2 core add jumptable mode , default set to off .
2. add speed-up hack code
3. add sound
4. fix region to a DIP switch
5. some other small fix
when i add the region DIPs some ROM info been changed, and lazy to fix it,
hope CaptainCPS-X can fix that. since use the fastboot mode, i wan't emulate
the cd-rom . because :
- 8th July 2007: ElSemi - CPS3 Emulator v1.0: This is the final version of the CPS3 emulator. It adds transparency effects (not actual transparency, but well it looks like that Smiley ), although it's not fully understood yet. Fixed palette transformation for flashes, and fadein/outs, now blacks properly fade to white. Fixed crashes in some zoomin ending sequences in SF3 games. Fixed a 1 pixel offset in the framebuffer that was causing a 1 pixel column problem in the left side of the screen sometimes. Added support for Nebula external video plugins (there is some source code and the interface documents in the plugins folder). Added CHD (MAME's compressed Hard Disks CD Images) support. Just put the .chd files in the CHD folder in the main directory (sorry, no path selection for it). And the bios (or the full roms zip) romsets in the ROMS directory. When loading a CHD romset, the emulator will run the entire startup sequence so it will take a while to boot (early games just have a black screen) while the bios waits for the cd to spin up. You don't need to go through the flashrom rewritting sequence, although you can see how it looks (just for fun, as it doesn't actually write anything) by going to Test menu and selecting "Game Rewrite". Using CHDs doesn't have an actual benefit (except for seeing the exact startup sequence of the game machine) apart from being able to run Warzard in any region because Warzard always checks the cd ingame unless it's set to Asia, so by having the real CD emulation through CHD, you can run it in any region).
-
Amazing work Oopsware. Just amazing. Thank you. :)
-
Fantastic OopsWare! :smilie:
Thanks! :cool:
-
Excellent job! You're pretty good! :wink:, gonna try it right now! ^^
I will try to check the regions stuff =)
SeeYaa!
:biggrin:
-
fantastic work everyone .. i don't know anything about compiling fba ... but faster emulation for cps3 with sound.. i quit
cant wait for the next fba e version cap
-
:eek:
Thanks OopsWare
-
Here is the driver with them MAME supported dumps......all NO CD's are fully working....the drivers without the nocd crash with a guru meditation error....can someone fix it so it shows the cd loading screen like previously, and can someone add the dips for the regions......any help would be greatly appreciated, thanks in advance....
-
Here is the driver with them MAME supported dumps......all NO CD's are fully working....the drivers without the nocd crash with a guru meditation error....can someone fix it so it shows the cd loading screen like previously, and can someone add the dips for the regions......any help would be greatly appreciated, thanks in advance....
Well, I help because I like to help when I can, but if you think you can abuse from the generosity of this forums you're wrong, sorry to be like this but please if you want something just wait until is released (and stop spamming), and if is not like you wanted when released then I'm sorry but this are not driver request forums is a emulation community. Any additional fix / feature not released by someone CAN'T be requested like it is a 'duty' or 'mandatory', no one have a gun on his head to write drivers.
This is a warning Nganiere. If you keep this attitude I will have to ban you.
@ General Users: Sorry to deform this topic with this post (this warning message will be removed in 2 days).
-
when i add the region DIPs some ROM info been changed, and lazy to fix it,
hope CaptainCPS-X can fix that. since use the fastboot mode, i wan't emulate
the cd-rom . because :
I did fix the DIPs problems for 'Red Earth (NOCD)' [ redeartn ] now you can select regions and play the game fine :wink: , I will make the needed update to the romset asap, right now I need to sleep ^^U.
SeeYaa!
:biggrin:
[attachment deleted by admin]
-
Amazing :eek:...Thanks to all for this awesome work on driver CPS3 :biggrin:
@ Nganiere : please stop spamming...It's very annoying :p
-
@ BisonSAS: Hi man, I have some questions regarding the functionality of the DIPswitches, since you have experience working with them, why could some DIPs values not appear ? I made that question because I have the DIPs working for some CPS3 drivers but there are others that are not showing any value in the DIPs window, just blank =(
here is some of my DIPs code (Its not final and some regions must be verified)
// WORKING ...
static struct BurnDIPInfo jojoDIPList[] = {
// Defaults
{0x1a, 0xFF, 0xFF, 0x08, NULL},
// DIP 1
{0, 0xFE, 0, 8, "Region" },
{0x1a, 0x01, 0x0f, 0x06, "BRAZIL" },
{0x1a, 0x01, 0x0f, 0x05, "HISPANIC" },
{0x1a, 0x01, 0x0f, 0x04, "USA" },
{0x1a, 0x01, 0x0f, 0x03, "EURO" },
{0x1a, 0x01, 0x0f, 0x02, "ASIA (NCD)" },
{0x1a, 0x01, 0x0f, 0x01, "JAPAN" },
{0x1a, 0x01, 0x0f, 0x00, "XXXXXX" },
{0x1a, 0x01, 0x0f, 0x07, "OCEANIA" },
};
STDDIPINFO(jojo);
// NOT WORKING ...
static struct BurnDIPInfo jojobaDIPList[] = {
// Defaults
{0x1a, 0xFF, 0xFF, 0x08, NULL},
// DIP 1
{0, 0xFE, 0, 8, "Region" },
{0x1a, 0x01, 0x0f, 0x06, "JAPAN" },
{0x1a, 0x01, 0x0f, 0x05, "ASIA" },
{0x1a, 0x01, 0x0f, 0x04, "EURO" },
{0x1a, 0x01, 0x0f, 0x03, "USA" },
{0x1a, 0x01, 0x0f, 0x02, "HISPANIC" },
{0x1a, 0x01, 0x0f, 0x01, "BRAZIL" },
{0x1a, 0x01, 0x0f, 0x00, "OCEANIA" },
{0x1a, 0x01, 0x0f, 0x05, "ASIA (NO CD)" },
};
STDDIPINFO(jojoba);
// NOT WORKING ...
static struct BurnDIPInfo jojobaneDIPList[] = {
// Defaults
{0x1a, 0xFF, 0xFF, 0x08, NULL},
// DIP 1
{0, 0xFE, 0, 8, "Region" },
{0x1a, 0x01, 0x0f, 0x06, "JAPAN" },
{0x1a, 0x01, 0x0f, 0x05, "ASIA" },
{0x1a, 0x01, 0x0f, 0x04, "EURO" },
{0x1a, 0x01, 0x0f, 0x03, "USA" },
{0x1a, 0x01, 0x0f, 0x02, "HISPANIC" },
{0x1a, 0x01, 0x0f, 0x01, "BRAZIL" },
{0x1a, 0x01, 0x0f, 0x00, "OCEANIA" },
{0x1a, 0x01, 0x0f, 0x05, "ASIA (NO CD)" },
};
STDDIPINFO(jojobane);
The first one is working the other two not, they show a blank DIPs in the windows, nothing is shown. If I can make the remaining dips to work the CPS3 driver will be almost complete, there are some issues with gfx in Red Earth (like the second health bar is not shown) and the CD-ROM not supported for now, but everything else is going pretty nice.
btw, I have implemented a little tweak in my build to made it posible to Enable or Disable both 'FastBoot' and 'SpeedHack' for CPS-3 :smilie: I attached some pictures including one that shows all verified romsets.
SeeYaa!
:biggrin:
-
remove dip config ???.ini file in \config\games can solve it .
maybe u set the region value to 7 and not exists in your new DIPList,
the burner can't show. is this a small bug ??
-
remove dip config ???.ini file in \config\games can solve it .
maybe u set the region value to 7 and not exists in your new DIPList,
the burner can't show. is this a small bug ??
That fixed it ^^ I didnt delete the old configs :p, btw, I fixed some other issues too and now all games have the DIPs working fine with or without the 'fastboot' / 'speedhack' options ^^
Im doing some cleaning to release the updated files :smilie:
SeeYaa!
:biggrin:
-
way to go CaptainCPS-X.....can't wait to try your updated drivers.....
-
OopsWare here I bring my updated 'cps3run.cpp' & 'd_cps3.cpp' , I organized everything in 'd_cps3.cpp' and added Functions macros / DIPs / Comments & added all CPS3 drivers (there are no more fake clones like I call them :p)...
In 'cps3run.cpp' there are some modifications including the implementation of bool's for the conditions of 'fastboot' and 'speedhacks' , they are the following:
- bFastBoot;
- bSpeedHack;
and removed the other build-conditioned 'FAST_BOOT' and 'SPEED_HACK'.
Here you have instructions on how to add the 'CPS-III Settings' to the FBA Menu like in my build :wink: :
In 'src/burn/burn.h' look for this:
extern bool bBurnUseMMX;
Add this before:
extern bool bFastBoot, bSpeedHack;
In 'src/burner/win32/scrn.cpp' look for:
case MENU_SNAPFACT:
Add this before:
// CPS-3: SET FAST BOOT
case MENU_CPS3_FASTBOOT:
{
if(!bFastBoot) {
bFastBoot = true;
} else {
bFastBoot = false;
}
MessageBox(hScrnWnd, _T("Enabling / Disabling 'FastBoot' requires at least a Reset to be applied."), _T("FB Alpha Enhanced Info"), MB_OK | MB_ICONINFORMATION);
POST_INITIALISE_MESSAGE;
break;
}
// CPS-3: SET SPEED HACK
case MENU_CPS3_SPEEDHACK:
{
if(!bSpeedHack) {
bSpeedHack = true;
} else {
bSpeedHack = false;
}
MessageBox(hScrnWnd, _T("Enabling / Disabling 'SpeedHack' requires the game to be Reloaded to be applied.\nNote: Reseting the game won't apply the feature."), _T("FB Alpha Enhanced Info"), MB_OK | MB_ICONINFORMATION);
POST_INITIALISE_MESSAGE;
break;
}
In 'src/burner/win32/menu.cpp' look for:
CheckMenuRadioItem(hMenu, MENU_ASPECTNORMAL, MENU_ASPECTWIDE, var, MF_BYCOMMAND);
Add this before:
// CPS-III Settings
CheckMenuItem(hMenu, MENU_CPS3_FASTBOOT, !bFastBoot ? MF_UNCHECKED : MF_CHECKED);
CheckMenuItem(hMenu, MENU_CPS3_SPEEDHACK, !bSpeedHack ? MF_UNCHECKED : MF_CHECKED);
In 'src/burner/win32/cona.cpp' look for:
// Sound
VAR(nAudSampleRate);
Add this before:
// CPS3 Settings
VAR(bFastBoot);
VAR(bSpeedHack);
In same 'cona.cpp' look for this:
_ftprintf(h, _T("\n// If non-zero, load and save all ram (the state)\n"));
VAR(bDrvSaveAll);
Add this before:
_ftprintf(h, _T("\n// CPS-3 -> Enable FastBoot [0 = disabled, 1 = enabled] \n"));
VAR(bFastBoot);
_ftprintf(h, _T("\n// CPS-3 -> Enable SpeedHack [0 = disabled, 1 = enabled]\n"));
VAR(bSpeedHack);
In 'src/burner/win32/resource.h' add these on top:
#define MENU_CPS3_FASTBOOT 20205
#define MENU_CPS3_SPEEDHACK 20206
In 'src/burner/win32/app.rc' look for:
MENUITEM "Set dipswitches...\tCtrl+F5", MENU_DIPSW, GRAYED
Add this After:
MENUITEM SEPARATOR
POPUP "CPS-III Settings..."
BEGIN
MENUITEM "Enable FastBoot", MENU_CPS3_FASTBOOT
MENUITEM "Enable SpeedHacks", MENU_CPS3_SPEEDHACK
END
That's All! ^^ , now you can get my updated files from the attachment :wink:
I hope this help you with your progress, btw this will not affect CHD drivers in any way, when run, they are expecting the CD-ROM normally so if you make the feature you can use my modified files. It doen't matter if you activate the 'fastboot' or 'speedhack' they will work fine without a crash =).
SeeYaa!
:biggrin:
-
I forgot to say how to add the CPS3 Mask so if you plan to add the CPS3 checkbox to your build you must have
this:
in src/burn/burn.h
#define HARDWARE_PUBLIC_MASK (0xFFFF0000)
#define HARDWARE_PREFIX_MISC (0x00000000)
#define HARDWARE_PREFIX_CAPCOM (0x01000000)
#define HARDWARE_PREFIX_SEGA (0x02000000)
#define HARDWARE_PREFIX_KONAMI (0x03000000)
#define HARDWARE_PREFIX_TOAPLAN (0x04000000)
#define HARDWARE_PREFIX_SNK (0x05000000)
#define HARDWARE_PREFIX_CAVE (0x06000000)
#define HARDWARE_PREFIX_CPS2 (0x07000000)
#define HARDWARE_PREFIX_IGS_PGM (0x08000000)
#define HARDWARE_PREFIX_CPS3 (0x09000000)
and at the bottom:
#define HARDWARE_IGS_PGM (HARDWARE_PREFIX_IGS_PGM)
#define HARDWARE_IGS_USE_ARM_CPU (0x0001)
#define HARDWARE_CAPCOM_CPS3 (HARDWARE_PREFIX_CPS3)
in src/burner/win32/resource.h you must have this added:
#define IDC_CHECKCPS3 20198
In src/burner/win32/sel.cpp you must have this:
#define MASKCPS (1 << (HARDWARE_PREFIX_CAPCOM >> 24))
#define MASKCPS2 (1 << (HARDWARE_PREFIX_CPS2 >> 24))
#define MASKCPS3 (1 << (HARDWARE_PREFIX_CPS3 >> 24))
#define MASKNEOGEO (1 << (HARDWARE_PREFIX_SNK >> 24))
#define MASKSEGA (1 << (HARDWARE_PREFIX_SEGA >> 24))
#define MASKTOAPLAN (1 << (HARDWARE_PREFIX_TOAPLAN >> 24))
#define MASKCAVE (1 << (HARDWARE_PREFIX_CAVE >> 24))
#define MASKMISC (1 << (HARDWARE_PREFIX_MISC >> 24))
#define MASKPGM (1 << (HARDWARE_PREFIX_IGS_PGM >> 24))
#define MASKALL (MASKCPS | MASKCPS2 | MASKCPS3 | MASKNEOGEO | MASKSEGA | MASKTOAPLAN | MASKCAVE | MASKPGM | MASKMISC)
In the same file you must have this part too:
CheckDlgButton(hSelDlg, IDC_CHECKCPS1, nLoadMenuShowX & MASKCPS ? BST_UNCHECKED : BST_CHECKED);
CheckDlgButton(hSelDlg, IDC_CHECKCPS2, nLoadMenuShowX & MASKCPS2 ? BST_UNCHECKED : BST_CHECKED);
CheckDlgButton(hSelDlg, IDC_CHECKCPS3, nLoadMenuShowX & MASKCPS3 ? BST_UNCHECKED : BST_CHECKED);
CheckDlgButton(hSelDlg, IDC_CHECKNEOGEO, nLoadMenuShowX & MASKNEOGEO ? BST_UNCHECKED : BST_CHECKED);
CheckDlgButton(hSelDlg, IDC_CHECKSEGA, nLoadMenuShowX & MASKSEGA ? BST_UNCHECKED : BST_CHECKED);
CheckDlgButton(hSelDlg, IDC_CHECKTOAPLAN, nLoadMenuShowX & MASKTOAPLAN ? BST_UNCHECKED : BST_CHECKED);
CheckDlgButton(hSelDlg, IDC_CHECKCAVE, nLoadMenuShowX & MASKCAVE ? BST_UNCHECKED : BST_CHECKED);
CheckDlgButton(hSelDlg, IDC_CHECKMISC, nLoadMenuShowX & MASKMISC ? BST_UNCHECKED : BST_CHECKED);
CheckDlgButton(hSelDlg, IDC_CHECKPGM, nLoadMenuShowX & MASKPGM ? BST_UNCHECKED : BST_CHECKED);
This too:
case IDC_CHECKCPS1:
nLoadMenuShowX ^= MASKCPS;
RebuildEverything();
break;
case IDC_CHECKCPS2:
nLoadMenuShowX ^= MASKCPS2;
RebuildEverything();
break;
case IDC_CHECKCPS3:
nLoadMenuShowX ^= MASKCPS3;
RebuildEverything();
break;
Now in src/burner/win32/app.rc search for this:
IDD_SELNEW DIALOGEX
...
That dialog must be updated with a new Checkbox control + resize the dialog dimensions too, you may want to copy one of the current Checkboxes and rename it to "IDC_CHECKCPS3", for example:
CONTROL "CPS3",IDC_CHECKCPS3,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,9,255,90,8,WS_EX_TRANSPARENT
The numbers in red are the coord's of the checkbox control and you must edit them especially for your dialog.
I hope that helps some to get the checkbox.
NOTE!: You can save all this if you dont want a checkbox and replace all "HARDWARE_CAPCOM_CPS3" located in 'd_cps3.cpp' with "HARDWARE_MISC_MISC" and they will be displayed in the Misc gamelist
SeeYaa!
:biggrin:
-
Wow, Cool! CAPtain :cool:
Thanks for your explanation.
Updated files and 'CPS-III Settings' are so useful stuffs.
Oh, Thank you OopsWare ;p
-
complains about not enough memory for the pcb or about the cd-rom on all the drivers.....I think this needs to be fixed
UPDATE:........you need to add the fastboot code to get this to work posted above I am guessing because I just tested FBA Enhanced by CaptainCPS-X and the drivers didn't work until I enabled it.....just a thought everyone...
*edit 1*
Wanna also report that some of the dips are wrong....NO CD dips are character check version regions......and some of the default dips are wrong....asia default dumps are jap on some of the games....otherwise great job and keep up the good work guys....
*edit 2*
trying to add the CPS-3 checkbox, but the checkboxes are off.......run into one another, filters window needs to be resized....whish I could figure that out...oh well, maybe later
USE THE EDIT BUTTON AND DO NOT DOUBLE POST. -IQ
-
hi! i was lurking this forum until i couldn't resist and registered to thank you, CaptainCPS-X & OopsWare, for your awesome efforts.
i know this is a WIP and i'm not complaining
just wanted to report that sound seems to have low quality (even though samplerate is set to 44100Hz)
and also the Service function acts like P1 Coin
-
small fix :
seems entries in the sprite table can be 0x0fff , but 0x01ff is enough .
it will fix graphics somewhere such as '3rd' or 'two hand' in sf3's intro .
int length = (RamSpr[i+0]&0x01ff0000)>>14; // how many entries in the sprite table
this problem exists in mame too : src\mame\drivers\cps3.c [line 1099]
static VIDEO_UPDATE(cps3)
...
int length = (cps3_spriteram[i+0]&0x01ff0000)>>16; // how many entries in the sprite table
...
-
small fix :
seems entries in the sprite table can be 0x0fff , but 0x01ff is enough .
it will fix graphics somewhere such as '3rd' or 'two hand' in sf3's intro .
int length = (RamSpr[i+0]&0x01ff0000)>>14; // how many entries in the sprite table
this problem exists in mame too : src\mame\drivers\cps3.c [line 1099]
static VIDEO_UPDATE(cps3)
...
int length = (cps3_spriteram[i+0]&0x01ff0000)>>16; // how many entries in the sprite table
...
Nice stuff OopsWare! gonna try your fix asap :wink: :biggrin:
SeeYaa!
:biggrin:
-
Yeah seems to be working fine in SFIII3N ^^, (ThanX for the fix OopsWare!)
SeeYaa!
:biggrin:
-
I'm having problems adding the cps-3 check box.....as you can see from the pic, I am having problems with the sel.cpp.....the misc box is not within the lines of the filter box, and the use only Latin Text box is messed up.....can someone please fix it for me and just post the fix code....thanks in advance...
UPDATE: FIXED THE LATIN TEXT BUG, UPLOADED NEW SEL.CPP.......NEED THE MISC BUG FIXED IF ANYONE CAN HELP
-
I'm having problems adding the cps-3 check box.....as you can see from the pic, I am having problems with the sel.cpp.....the misc box is not within the lines of the filter box, and the use only Latin Text box is messed up.....can someone please fix it for me and just post the fix code....thanks in advance...
UPDATE: FIXED THE LATIN TEXT BUG, UPLOADED NEW SEL.CPP.......NEED THE MISC BUG FIXED IF ANYONE CAN HELP
Man......... I ..... will...... release..... my...... source....code..... pretty ...... soon.....
Help yourself to calm down man, when I post the source it should be pretty easy to add what you want, but for now please be patient. I warned you one time and consider this a second warning Nganiere , you wont even see a 3rd warning about this so stop asking to add the stuff you want all time. This is not a restaurant.
-
Man......... I ..... will...... release..... my...... source....code..... pretty ...... soon.....
Help yourself to calm down man, when I post the source it should be pretty easy to add what you want, but for now please be patient. I warned you one time and consider this a second warning Nganiere , you wont even see a 3rd warning about this so stop asking to add the stuff you want all time. This is not a restaurant.
Ok, geez, I don't think my sel.cpp or whatever is wrong with my drivers is going to be the same.......it was added fine except the misc box is out of range of the filters box by a little bit, but it works....I don't mean to be a pain. Just wanted someone to help me out to fix it.......noticed one person did download it, so maybe someone will give me some assistance......thanks in advance if that is the case.....and sorry about the post if you don't like them....
-
- Changed inputs to "Street Fighter Layout"
- Enable the "Diagnostic" input
- Added save EEPROM configuration
- Added Unicode titles:
jojo -> ジョジョの 奇妙な冒険
jojoba -> ジョジョの 奇妙な冒険: 未来への遺産
- Added default game regions DIPs
- Changed the redeartn BIOS to "warzard_euro.29f400.u2"
- Now the "redeartn" using the default "Cps3PatchRegion"
- Changed the FAST_BOOT to HARDWARE_CAPCOM_CPS3_NO_CD
Please, add in your burn.h:
#define HARDWARE_CAPCOM_CPS3_NO_CD (0x0001)
-
- Changed inputs to "Street Fighter Layout"
- Enable the "Diagnostic" input
- Added save EEPROM configuration
- Added Unicode titles:
jojo -> ジョジョの 奇妙な冒険
jojoba -> ジョジョの 奇妙な冒険: 未来への遺産
- Added default game regions DIPs
- Changed the redeartn BIOS to "warzard_euro.29f400.u2"
- Now the "redeartn" using the default "Cps3PatchRegion"
- Chaged the FAST_BOOT to HARDWARE_CAPCOM_CPS3_NO_CD
Please, add in your burn.h:
#define HARDWARE_CAPCOM_CPS3_NO_CD (0x0001)
This is not compatible with my current source of FB Alpha Enhanced R13 right?
SeeYaa!
:biggrin:
-
This is not compatible with my current source of FB Alpha Enhanced R13 right?
To work in your FB Alpha Enhanced:
Remove this: HARDWARE_CAPCOM_CPS3_NO_CD and re-add:
bFastBoot and bSpeedHack
;p
-
sound fix to reduce the noise
-
add is in void cps3_drawgfxzoom_0(...); to fix blood bar in redearth.
....
if ( flipy ) {
dst += cps3_gfx_width * 7;
if ( flipx )
for(int i=0; i<8; i++, dst-= cps3_gfx_width, src += 8 ) {
if ( src[ 2] & 0xf ) dst[7] = color [ src[ 2] & 0xf ];
if ( src[ 2] >> 4 ) dst[6] = color [ src[ 2] >> 4 ];
if ( src[ 0] & 0xf ) dst[5] = color [ src[ 0] & 0xf ];
if ( src[ 0] >> 4 ) dst[4] = color [ src[ 0] >> 4 ];
if ( src[ 6] & 0xf ) dst[3] = color [ src[ 6] & 0xf ];
if ( src[ 6] >> 4 ) dst[2] = color [ src[ 6] >> 4 ];
if ( src[ 4] & 0xf ) dst[1] = color [ src[ 4] & 0xf ];
if ( src[ 4] >> 4 ) dst[0] = color [ src[ 4] >> 4 ];
}
else
for(int i=0; i<8; i++, dst-= cps3_gfx_width, src += 8 ) {
if ( src[ 2] & 0xf ) dst[0] = color [ src[ 2] & 0xf ];
if ( src[ 2] >> 4 ) dst[1] = color [ src[ 2] >> 4 ];
if ( src[ 0] & 0xf ) dst[2] = color [ src[ 0] & 0xf ];
if ( src[ 0] >> 4 ) dst[3] = color [ src[ 0] >> 4 ];
if ( src[ 6] & 0xf ) dst[4] = color [ src[ 6] & 0xf ];
if ( src[ 6] >> 4 ) dst[5] = color [ src[ 6] >> 4 ];
if ( src[ 4] & 0xf ) dst[6] = color [ src[ 4] & 0xf ];
if ( src[ 4] >> 4 ) dst[7] = color [ src[ 4] >> 4 ];
}
} else {
....
-
ThanX OopsWare! Excellent ^^ :biggrin:
(btw, I noticed you was editing your reply some times :biggrin:, if you have issues with smilies and the code you post, you can disable smilies in the additional option of the post ;p)
EDIT: I quoted your last reply and disabled smilies ^^
SeeYaa!
:biggrin:
-
Well here I bring a picture of the Fix working just fine ^^
btw, the sound is great!!! :biggrin:
SeeYaa!
:biggrin:
-
I don't see what is wrong with the graphics, with the bar anyways without the fix......any help would be appreciated as I don't see a problem......
-
Oopsware, I don't know if you know about this or not, but the Sean stage (sfiii)
is broken. :S It uses a different decoding than other backgrounds.
http://haze.mameworld.info/2007/06/27/cps3-tile-compression-part-3/
-
Oopsware, I don't know if you know about this or not, but the Sean stage (sfiii)
is broken. :S It uses a different decoding than other backgrounds.
http://haze.mameworld.info/2007/06/27/cps3-tile-compression-part-3/
i know this, but still not found that stage, not test it, to fix it : (need approve)
static UINT32 ProcessByte8(unsigned char b, unsigned int dst_offset)
{
unsigned char * destRAM = (unsigned char *) RamCRam;
int l=0;
if(lastb==lastb2) { //rle
int rle=(b+1)&0xff;
for(int i=0;i<rle;++i) {
#if BE_GFX
destRAM[(dst_offset&0x7fffff)] = lastb;
#else
destRAM[(dst_offset&0x7fffff)^3] = lastb;
#endif
//cps3_char_ram_dirty[(dst_offset&0x7fffff)/0x100] = 1;
//cps3_char_ram_is_dirty = 1;
dst_offset++;
++l;
}
lastb2=0xffff;
return l;
} else {
lastb2=lastb;
lastb=b;
#if BE_GFX
destRAM[(dst_offset&0x7fffff)] = b;
#else
destRAM[(dst_offset&0x7fffff)^3] = b;
#endif
//cps3_char_ram_dirty[(dst_offset&0x7fffff)/0x100] = 1;
//cps3_char_ram_is_dirty = 1;
return 1;
}
}
-
i know this, but still not found that stage, not test it, to fix it : (need approve)
Sorry, I hope I didn't sound demanding or anything. Just trying to help. :S
Anyway, that fixed it. :)
-
Sorry, I hope I didn't sound demanding or anything. Just trying to help. :S
Anyway, that fixed it. :)
nothing, is me must say thanx iq_132 :p
there still some gfx code need improve
1. line scroll support in cps3_draw_tilemapsprite_line(); currently is tile scroll ( 16 lines )
(sfiii's backgroud when super art)
2. palette when alpha blend, ( jojo's title in intro , redearth's magic effect ?? )
3. clearance between tiles when zoom
-
I posted this image from another thread. Don't know what's up with the "Super Art" background:
(http://img141.imageshack.us/img141/2735/sf3ngsuperartxk3.jpg) (http://imageshack.us)
-
I posted this image from another thread. Don't know what's up with the "Super Art" background:
That's related to the linescroll Oopsware mentioned.
-
That's related to the linescroll Oopsware mentioned.
I missed what Oopsware said about this, but I see it now. Thanks :biggrin:
-
ThanX for the fix OopsWare!! Sean stage is going good here too :biggrin:
SeeYaa!
:biggrin:
-
important fix for line scroll effect of super arts background .
it's my mistake that waste cpu time to render whole tiles.
some code i doesn't observed when i port it .
//clip.min_x = cliprect->min_x;
//clip.max_x = cliprect->max_x;
//clip.min_y = drawline;
//clip.max_y = drawline;
now it can be full speed without frameskip on a P4 1.x :biggrin:
static void cps3_drawgfxzoom_1(unsigned int code, unsigned int pal, int flipx, int flipy, int x, int y, int drawline)
{
unsigned int * dst = RamScreen;
unsigned char * src = (unsigned char *) RamCRam;
dst += (drawline * 1024 + x);
#if BE_GFX
if ( flipy ) {
src += code * 256 + 16 * (15 - (drawline - y));
if ( flipx ) {
if ( src[ 0] ) dst[15] = src[ 0] | pal;
if ( src[ 1] ) dst[14] = src[ 1] | pal;
if ( src[ 2] ) dst[13] = src[ 2] | pal;
if ( src[ 3] ) dst[12] = src[ 3] | pal;
if ( src[ 4] ) dst[11] = src[ 4] | pal;
if ( src[ 5] ) dst[10] = src[ 5] | pal;
if ( src[ 6] ) dst[ 9] = src[ 6] | pal;
if ( src[ 7] ) dst[ 8] = src[ 7] | pal;
if ( src[ 8] ) dst[ 7] = src[ 8] | pal;
if ( src[ 9] ) dst[ 6] = src[ 9] | pal;
if ( src[10] ) dst[ 5] = src[10] | pal;
if ( src[11] ) dst[ 4] = src[11] | pal;
if ( src[12] ) dst[ 3] = src[12] | pal;
if ( src[13] ) dst[ 2] = src[13] | pal;
if ( src[14] ) dst[ 1] = src[14] | pal;
if ( src[15] ) dst[ 0] = src[15] | pal;
} else {
if ( src[ 0] ) dst[ 0] = src[ 0] | pal;
if ( src[ 1] ) dst[ 1] = src[ 1] | pal;
if ( src[ 2] ) dst[ 2] = src[ 2] | pal;
if ( src[ 3] ) dst[ 3] = src[ 3] | pal;
if ( src[ 4] ) dst[ 4] = src[ 4] | pal;
if ( src[ 5] ) dst[ 5] = src[ 5] | pal;
if ( src[ 6] ) dst[ 6] = src[ 6] | pal;
if ( src[ 7] ) dst[ 7] = src[ 7] | pal;
if ( src[ 8] ) dst[ 8] = src[ 8] | pal;
if ( src[ 9] ) dst[ 9] = src[ 9] | pal;
if ( src[10] ) dst[10] = src[10] | pal;
if ( src[11] ) dst[11] = src[11] | pal;
if ( src[12] ) dst[12] = src[12] | pal;
if ( src[13] ) dst[13] = src[13] | pal;
if ( src[14] ) dst[14] = src[14] | pal;
if ( src[15] ) dst[15] = src[15] | pal;
}
} else {
src += code * 256 + 16 * (drawline - y);
if ( flipx ) {
if ( src[ 0] ) dst[15] = src[ 0] | pal;
if ( src[ 1] ) dst[14] = src[ 1] | pal;
if ( src[ 2] ) dst[13] = src[ 2] | pal;
if ( src[ 3] ) dst[12] = src[ 3] | pal;
if ( src[ 4] ) dst[11] = src[ 4] | pal;
if ( src[ 5] ) dst[10] = src[ 5] | pal;
if ( src[ 6] ) dst[ 9] = src[ 6] | pal;
if ( src[ 7] ) dst[ 8] = src[ 7] | pal;
if ( src[ 8] ) dst[ 7] = src[ 8] | pal;
if ( src[ 9] ) dst[ 6] = src[ 9] | pal;
if ( src[10] ) dst[ 5] = src[10] | pal;
if ( src[11] ) dst[ 4] = src[11] | pal;
if ( src[12] ) dst[ 3] = src[12] | pal;
if ( src[13] ) dst[ 2] = src[13] | pal;
if ( src[14] ) dst[ 1] = src[14] | pal;
if ( src[15] ) dst[ 0] = src[15] | pal;
} else {
if ( src[ 0] ) dst[ 0] = src[ 0] | pal;
if ( src[ 1] ) dst[ 1] = src[ 1] | pal;
if ( src[ 2] ) dst[ 2] = src[ 2] | pal;
if ( src[ 3] ) dst[ 3] = src[ 3] | pal;
if ( src[ 4] ) dst[ 4] = src[ 4] | pal;
if ( src[ 5] ) dst[ 5] = src[ 5] | pal;
if ( src[ 6] ) dst[ 6] = src[ 6] | pal;
if ( src[ 7] ) dst[ 7] = src[ 7] | pal;
if ( src[ 8] ) dst[ 8] = src[ 8] | pal;
if ( src[ 9] ) dst[ 9] = src[ 9] | pal;
if ( src[10] ) dst[10] = src[10] | pal;
if ( src[11] ) dst[11] = src[11] | pal;
if ( src[12] ) dst[12] = src[12] | pal;
if ( src[13] ) dst[13] = src[13] | pal;
if ( src[14] ) dst[14] = src[14] | pal;
if ( src[15] ) dst[15] = src[15] | pal;
}
}
#else
if ( flipy ) {
src += code * 256 + 16 * (15 - (drawline - y));
if ( flipx ) {
if ( src[ 3] ) dst[15] = src[ 3] | pal;
if ( src[ 2] ) dst[14] = src[ 2] | pal;
if ( src[ 1] ) dst[13] = src[ 1] | pal;
if ( src[ 0] ) dst[12] = src[ 0] | pal;
if ( src[ 7] ) dst[11] = src[ 7] | pal;
if ( src[ 6] ) dst[10] = src[ 6] | pal;
if ( src[ 5] ) dst[ 9] = src[ 5] | pal;
if ( src[ 4] ) dst[ 8] = src[ 4] | pal;
if ( src[11] ) dst[ 7] = src[11] | pal;
if ( src[10] ) dst[ 6] = src[10] | pal;
if ( src[ 9] ) dst[ 5] = src[ 9] | pal;
if ( src[ 8] ) dst[ 4] = src[ 8] | pal;
if ( src[15] ) dst[ 3] = src[15] | pal;
if ( src[14] ) dst[ 2] = src[14] | pal;
if ( src[13] ) dst[ 1] = src[13] | pal;
if ( src[12] ) dst[ 0] = src[12] | pal;
} else {
if ( src[ 3] ) dst[ 0] = src[ 3] | pal;
if ( src[ 2] ) dst[ 1] = src[ 2] | pal;
if ( src[ 1] ) dst[ 2] = src[ 1] | pal;
if ( src[ 0] ) dst[ 3] = src[ 0] | pal;
if ( src[ 7] ) dst[ 4] = src[ 7] | pal;
if ( src[ 6] ) dst[ 5] = src[ 6] | pal;
if ( src[ 5] ) dst[ 6] = src[ 5] | pal;
if ( src[ 4] ) dst[ 7] = src[ 4] | pal;
if ( src[11] ) dst[ 8] = src[11] | pal;
if ( src[10] ) dst[ 9] = src[10] | pal;
if ( src[ 9] ) dst[10] = src[ 9] | pal;
if ( src[ 8] ) dst[11] = src[ 8] | pal;
if ( src[15] ) dst[12] = src[15] | pal;
if ( src[14] ) dst[13] = src[14] | pal;
if ( src[13] ) dst[14] = src[13] | pal;
if ( src[12] ) dst[15] = src[12] | pal;
}
} else {
src += code * 256 + 16 * (drawline - y);
if ( flipx ) {
if ( src[ 3] ) dst[15] = src[ 3] | pal;
if ( src[ 2] ) dst[14] = src[ 2] | pal;
if ( src[ 1] ) dst[13] = src[ 1] | pal;
if ( src[ 0] ) dst[12] = src[ 0] | pal;
if ( src[ 7] ) dst[11] = src[ 7] | pal;
if ( src[ 6] ) dst[10] = src[ 6] | pal;
if ( src[ 5] ) dst[ 9] = src[ 5] | pal;
if ( src[ 4] ) dst[ 8] = src[ 4] | pal;
if ( src[11] ) dst[ 7] = src[11] | pal;
if ( src[10] ) dst[ 6] = src[10] | pal;
if ( src[ 9] ) dst[ 5] = src[ 9] | pal;
if ( src[ 8] ) dst[ 4] = src[ 8] | pal;
if ( src[15] ) dst[ 3] = src[15] | pal;
if ( src[14] ) dst[ 2] = src[14] | pal;
if ( src[13] ) dst[ 1] = src[13] | pal;
if ( src[12] ) dst[ 0] = src[12] | pal;
} else {
if ( src[ 3] ) dst[ 0] = src[ 3] | pal;
if ( src[ 2] ) dst[ 1] = src[ 2] | pal;
if ( src[ 1] ) dst[ 2] = src[ 1] | pal;
if ( src[ 0] ) dst[ 3] = src[ 0] | pal;
if ( src[ 7] ) dst[ 4] = src[ 7] | pal;
if ( src[ 6] ) dst[ 5] = src[ 6] | pal;
if ( src[ 5] ) dst[ 6] = src[ 5] | pal;
if ( src[ 4] ) dst[ 7] = src[ 4] | pal;
if ( src[11] ) dst[ 8] = src[11] | pal;
if ( src[10] ) dst[ 9] = src[10] | pal;
if ( src[ 9] ) dst[10] = src[ 9] | pal;
if ( src[ 8] ) dst[11] = src[ 8] | pal;
if ( src[15] ) dst[12] = src[15] | pal;
if ( src[14] ) dst[13] = src[14] | pal;
if ( src[13] ) dst[14] = src[13] | pal;
if ( src[12] ) dst[15] = src[12] | pal;
}
}
#endif
}
static void cps3_draw_tilemapsprite_line(int drawline, unsigned int * regs )
{
.....
cps3_drawgfxzoom_1(tileno,colour,xflip,yflip,(x*16)-scrollx%16,drawline-tilesubline, drawline);
....
}
-
ThanX OopsWare!! Im going to test it asap, ThanX like always for your great work on the CPS3 driver for FBA :biggrin:
SeeYaa!
:biggrin:
-
Working good around here :cool: (check the attachment)
SeeYaa!
:biggrin:
-
Let me post one more image from R13:
(http://img228.imageshack.us/img228/8946/sf3ngworldmapwh4.th.jpg) (http://img228.imageshack.us/my.php?image=sf3ngworldmapwh4.jpg)
Notice the image of South American (and Africa) have the same linescrolling problem as the Super Art background, same goes for the wooden boardwalk in Ryu/Ken's stage. Oopsware, I'm going to post this in case you missed this; if you managed to fixed it already, then good :biggrin:
-
Let me post one more image from R13:
(http://img228.imageshack.us/img228/8946/sf3ngworldmapwh4.th.jpg) (http://img228.imageshack.us/my.php?image=sf3ngworldmapwh4.jpg)
Notice the image of South American (and Africa) have the same linescrolling problem as the Super Art background, same goes for the wooden boardwalk in Ryu/Ken's stage. Oopsware, I'm going to post this in case you missed this; if you managed to fixed it already, then good :biggrin:
The release of R14 is almost finished it will include an extensive list of updates including some new updates that OopsWare sent me via MSN, so stay tuned :wink:
(Check the Attachment)
SeeYaa!
:biggrin:
[attachment deleted by admin]
-
Good work on the CPS-3 driver guys. If I had know, I could've helped you out with creating the Red Earth (NOCD) BIOS as I was able to create the newer CPS-3 BIOS files for MAME. It seems Capcom was lazy as all the CPS-3 BIOS files for a game are the same except for the region and/or NOCD byte. On a side note, I wonder if Red Earth/Warzard has a NOCD byte (other than the Asia NOCD region).
-
This image is snapped from Build R14:
(http://img530.imageshack.us/img530/3913/sf33rdsryusuperart2ea0.jpg)
Noticed the black line at the lower part of the screen and a very small portion of Alex's stage can still be seen. Is this normal?
-
here can fix the last line at bottom of screen in DrvDraw();
{
// Clear Screen Buffer
//memset(RamScreen, 0, 512 * 448 * sizeof(int));
unsigned int * pscr = RamScreen;
int clrsz = (cps3_gfx_max_x + 1) * sizeof(int);
for(int yy = 0; yy<=cps3_gfx_max_y; yy++, pscr += 512*2)
memset(pscr, 0, clrsz);
}
but don't know whether it can fix all .
-
here can fix the last line at bottom of screen in DrvDraw();
but don't know whether it can fix all .
Gonna test it asap ;p, ThanX OopsWare! ^^
SeeYaa!
:biggrin:
-
small fix , make the linear zoom more precise ...
effect to the intro of jojo sfiii3 redearth, and avatar select stage of redearth
if (!flipx) xpos2+=((xsizedraw2+1)/2);
else xpos2-=((xsizedraw2+1)/2);
ypos2+=((ysizedraw2+1)/2);
#if 0
if (!flipx) xpos2-= (xsize2+1)*((16*xinc)>>16);
else xpos2+= (xsize2)*((16*xinc)>>16);
if (flipy) ypos2-= ysize2*((16*yinc)>>16);
#else
if (!flipx) xpos2-= (((xsize2+1)*16*xinc)>>16);
else xpos2+= (((xsize2)*16*xinc)>>16);
if (flipy) ypos2-= ((ysize2*16*yinc)>>16);
#endif
{
count = 0;
for (xx=0;xx<xsize2+1;xx++) {
int current_xpos;
#if 0
if (!flipx) current_xpos = (xpos+xpos2+xx*((16*xinc)>>16) );
else current_xpos = (xpos+xpos2-xx*((16*xinc)>>16));
#else
if (!flipx) current_xpos = (xpos+xpos2+((xx*16*xinc)>>16) );
else current_xpos = (xpos+xpos2-((xx*16*xinc)>>16));
#endif
//current_xpos += rand()&0x3ff;
current_xpos += gscrollx;
current_xpos += 1;
current_xpos &=0x3ff;
if (current_xpos&0x200) current_xpos-=0x400;
for (yy=0;yy<ysize2+1;yy++) {
int current_ypos;
int actualpal;
#if 0
if (flipy) current_ypos = (ypos+ypos2+yy*((16*yinc)>>16));
else current_ypos = (ypos+ypos2-yy*((16*yinc)>>16));
#else
if (flipy) current_ypos = (ypos+ypos2+((yy*16*yinc)>>16));
else current_ypos = (ypos+ypos2-((yy*16*yinc)>>16));
#endif
current_ypos += gscrolly;
current_ypos = 0x3ff-current_ypos;
current_ypos -= 17;
current_ypos &=0x3ff;
-
Excellent :) It's really nice to see you putting so much work into this driver Oopsware. You're really making
a good effort to make FBA the best cps3 emulator.
-
ThanX OopsWare! Im adding the fix right now ^^, gonna test it asap!
SeeYaa!
:biggrin:
-
As for two JoJo games (jojo, jojoba) ,There seems still some alingnment problems in some scenes
1 pixel off (just see black gap in the right side)
http://i31.tinypic.com/1zxta11.jpg
btw, i hope you could submit your CPS3 improvements to MAME as well...
thanks millions
-
Now this is cool to see. Anyone got MAME Team to see this yet?
-
Now this is cool to see. Anyone got MAME Team to see this yet?
I think MAME team don't like FBA, so probably they haven't seen this. And sincerely I like that FBA has some exclusives about stuff being emulated correctly, since sometimes i see around the net ppl saying that FBA doesn't emulate the systems well.
MAME got a bigger dev team so they should know how to fix a lot of things, if they haven't fixed some CPS3 stuff is because they think MAME is correctly emulating the system and doesn't need much attention right now...probably they start working on the missing stuff like the correct CDROM emulation and other things in some months, when they find CPS3 interesting again :rolleyes:.
Oh, btw, guys this thread is about the CPS3 driver by OopsWare for FB Alpha emulator, not MAME CPS3 driver development.
SeeYaa!
:biggrin:
-
does http://oopsware.googlepages.com/cps3.zip have Oopsware's latest cps3 work? or am i better off stealing from FBAE?
-
does http://oopsware.googlepages.com/cps3.zip have Oopsware's latest cps3 work? or am i better off stealing from FBAE?
lol, you're not stealing if you use something from FBA Enhanced, but if you use something and say 'you' did it, well that is stealing, ..i suppose you know what's steaing or not :wink:.
btw, I think that file doesn't have the latest code he posted here, in my upcoming build of FBA Enhanced all that is added + my updates too, so soon everyone will be able to enjoy from all that when I finish working on it (right now im adding NeoGeo CD and some other things to release R16).
SeeYaa!
:biggrin:
-
You have no idea how pro thieves like myself steal stuff and get away with it. We announce were gonna do something after we are done :P
-
CaptainCPS-X that would be Haze not into FBA.
I think R. Belmont saw the snapshots.
"Also, it remains to be seen if these FBA fixes are actual fixes or just bad hacks."
-
CaptainCPS-X that would be Haze not into FBA.
I think R. Belmont saw the snapshots.
"Also, it remains to be seen if these FBA fixes are actual fixes or just bad hacks."
Are you quoting R.Belmont? or are you quoting yourself?
anyway, OopsWare is not hacking anything xD lol, that's called "emulating" Linear Zoom :rolleyes:
SeeYaa!
:biggrin:
-
btw, is there anything on the driver that should make the game run different at different machines or if it was started at different times?
For example, if I load sfiii3n on fbae and fast forward to the first play demo, sometimes its ibuki vs dudley and sometimes its ibuki vs sean
I mean a little bit of randomness is good for gameplay but online, any bit of randomness will lead to desynchronization.
-
@ KingHanco:
To be more specific I'm gonna quote what OopsWare originally wrote:
small fix , make the linear zoom more precise ...
effect to the intro of jojo sfiii3 redearth, and avatar select stage of redearth
OopsWare himself told me via MSN that he want to make CPS3 "better emulated" in FBA than it currently is in MAME, so that should be enough to make clear FBA is not a "HACK" or whatever you want to call it.
btw, do you know how much MAME make use of "Hacks" to make games work?, if you didn't know why are you talking about FBA hacking games, FBA is a emulator / MAME is a emulator...no big deal. If you prefer MAME for X or Y reason, that's your choice and because of that you will have to wait until a MAME devs work on the Linear Zoom fixes (with MAME dev I refer to anybody that is "developing" an Official / Unofficial MAME build, etc...)
And if we gonna talk about hacking, when you have time, check out the comments included in any emulator source code you want, i bet you that most of the emulators (if not all) out there "have to" hack something (BIOS / ROMs / IRQs / Watchdogs / CPUs / Memory Reads & Writes ) to "emulate" X or Y system / hardware.
SeeYaa!
:biggrin:
-
There's a bug in 3rdS Ken Vs. Makoto neutral throw bug : If Ken defeats Makoto with his neutral throw (i.e. knee bash), the game will reset (or crash for that matters).
On R15, it crashes. On FBA Shuffle, the bug seems non-existent.
-
when I play sfiii3n , the sound channel is reversed , is it a bug ?
-
Had a question to Oopsware about cps3RomWriteLong
I see that its writing to RomGame and RomGame_D
Is there any cps3 games in particular that needs it?
-
most memory region in cps3 is EEPROM , when normal bootup , bios will check this and load data
from CD-ROM into them. but NCD game in fastboot mode , no data will write to EEPROM.
-
This is a bug report for the fantastic Final burn Alpha ;-) (I love the CPS3 support)
The volume level in Street Fighter III 3rd impact is very high,,, so there are noticeable sound artifacts (clips/cracks into the speaker) when you finish the combat and other sound effects into the game.
Volume level in SFIII 1st and SFIII 2nd its OK, but in SFIII3rd, the volume level needs to be lowered down for avoid clipping.
-
Sometimes I really make myself happy. ^^
I've added some hack-tackular chd support to fba. ^^
-
CHD images working in FBA? you got the SCSI interface working, does that mean for chd versions we have to wait while it writes nvram?
sorry for all the questions, good work :D
-
I definitely didn't add the SCSI interface lol. I just hacked in some calls to MAME's chdman, wrote a bare-bones iso reading routine, and started a scsi simulation (just to make warzard work... it's not quite there yet, but it's a start).
As for the wait, no. Since i'm not properly emulating the scsi, you will only have to wait for the chd to decompress (which takes maybe 10-25 seconds).
-
Added support for layer disabling.
Note that you do have to advance a frame or so for it to take effect.
-
Added support for layer disabling.
Note that you do have to advance a frame or so for it to take effect.
Nice IQ! ^^ I remember you were working on something like that some time back...
btw, try "VidPaint(2);" instead of frame advance to redraw the screen, I don't know how you wrote the code but this should go after disabling the layers, for example:
ToggleCPS3Layers();
...
VidPaint(2); // redraw after enabling / disabling any CPS-III layer
the code is not driver specific or something like that, so it should redraw the screen no matter what game is emulated, what I don't remember is if it redraws GDI only or the emulated frame as well, anyway let me know man ;p
EDIT: LOL, I didn't notice you posted the cps_run.cpp (attachments font should be a little bigger for high resolutions xD)
SeeYaa!
:biggrin:
-
I used FBA's built-in layer disabling code -- search for nBurnLayer.
It seems that when you check/uncheck something it runs a frame of emulation, which would make unchecking a layer and then checking it actually show the unchecked (disabled) frame if you do not advance the frame. The next frame would show it with the layer enabled again.
I'm thinking that the shot factory should use BurnDrvRedraw() instead of BurnDrvFrame() (if that is, indeed, what it uses...).
-
I used FBA's built-in layer disabling code -- search for nBurnLayer.
It seems that when you check/uncheck something it runs a frame of emulation, which would make unchecking a layer and then checking it actually show the unchecked (disabled) frame if you do not advance the frame. The next frame would show it with the layer enabled again.
I'm thinking that the shot factory should use BurnDrvRedraw() instead of BurnDrvFrame() (if that is, indeed, what it uses...).
Ohhh! I see I thought you added a menu item for disabling CPS3 layers or a specific function, but you implemented it so it would adjust to the Shot factory core. For a long time I have been thinking that the shot factory should work a little bit different, so it can be of more use ^^, or I should say, more user-friendly :smilie:.
When I find some free time I will try using your code with a old modification I did to my FBA Enhanced that allowed to enable / disable layers from the Video menu (including some shortcut keys too), that way I can determine what could be the proper way to redraw the screen, since the module doesn't have to do anything with the Shot factory ^^.
SeeYaa!
:biggrin:
-
I'm sorry to revive an old thread, but I sent you a PM IQ regarding this issue since, to this day, the official build still has no support for a CPS3 shot factory. Thanks.
-
Wow. I'm a massive idiot. I posted the wrong file and just noticed today. lol
I'll go back and see what I can do.
-
Haha, I was going crazy trying to figure out why it didn't work. I overlooked that source file and noticed no calls or anything related to the shop factory and was trying to figure it out.
Hope you post the real deal soon :). Thanks.
-
Haha, I was going crazy trying to figure out why it didn't work. I overlooked that source file and noticed no calls or anything related to the shop factory and was trying to figure it out.
Hope you post the real deal soon :). Thanks.
Ok, lol. I completely re-wrote the changes. You can find the stuff I changed by looking for "layer disable" if you're terribly interested, otherwise you should just be able to paste this over your standard 0.2.97.07 cps3run.cpp.