Welcome!

Final Burn Neo => FBN Development => Topic started by: destronger on February 15, 2014, 07:35:50 PM

Title: a little help
Post by: destronger on February 15, 2014, 07:35:50 PM
so, i get these errors with a compile of dkong.cpp

trying to get this to work in fbl.

Quote
d_dkong.obj : error LNK2001: unresolved external symbol "void __cdecl I8039NewFrame(void)" (?I8039NewFrame@@YAXXZ)
d_dkong.obj : error LNK2001: unresolved external symbol "void __cdecl BurnSamplePlay(int)" (?BurnSamplePlay@@YAXH@Z)
d_dkong.obj : error LNK2001: unresolved external symbol "void __cdecl BurnSampleStop(int)" (?BurnSampleStop@@YAXH@Z)
d_dkong.obj : error LNK2001: unresolved external symbol "void __cdecl BurnSampleExit(void)" (?BurnSampleExit@@YAXXZ)
d_dkong.obj : error LNK2001: unresolved external symbol "void __cdecl BurnSampleRender(short *,unsigned int)" (?BurnSampleRender@@YAXPAFI@Z)
d_dkong.obj : error LNK2001: unresolved external symbol "void __cdecl BurnSampleReset(void)" (?BurnSampleReset@@YAXXZ)
Release/Default.exe : fatal error LNK1120: 6 unresolved externals

mahalo
Title: Re: a little help
Post by: Arcadez on February 15, 2014, 07:59:16 PM
I know it's not my help your after :wink: but looking at the errors most are related to sound samples maybe worth checking
any sound source files linked with the donkey kong driver
Title: Re: a little help
Post by: destronger on February 15, 2014, 08:13:00 PM
I don't mind your input gf. I know it's related to sound. just trying to add dk and have nothing to compare it to. I was looking for something similar for a few but couldn't find anything.
Title: Re: a little help
Post by: iq_132 on February 15, 2014, 10:38:53 PM
Have you added the sample player and i8039 files? (samples.cpp/samples.h & i8039.cpp/i8039.h) they may also have been updated since fbal was ported.
Title: Re: a little help
Post by: destronger on February 16, 2014, 01:10:00 PM
clear as day when the obvious is the simpliest answer and one still doesn't even consider it.  :rolleyes:

thanks iq_132
Title: Re: a little help
Post by: iq_132 on February 16, 2014, 01:52:43 PM
clear as day when the obvious is the simpliest answer and one still doesn't even consider it.  :rolleyes:

thanks iq_132

I'm a firm believer and follower of the K.I.S.S. principle. :)
http://en.wikipedia.org/wiki/KISS_principle
Title: Re: a little help
Post by: destronger on February 16, 2014, 03:06:42 PM
thanks for the um... kiss iq_132.  :S

it looks like the samples.ccp & samples.h aren't used in the solution for fbl v1.12. they are in the source folders though. i added the existing samples and i get this:

Quote
Linking...
samples.obj : error LNK2001: unresolved external symbol "int __cdecl ZipLoadOneFile(char const *,char const *,void * *,int *)" (?ZipLoadOneFile@@YAHPBD0PAPAXPAH@Z)
samples.obj : error LNK2001: unresolved external symbol _szAppSamplesPath
Release/Default.exe : fatal error LNK1120: 2 unresolved externals

is dkong.ccp the only driver that uses this?

i tried looking for any other possible driver that uses samples in the latest fba source so i could compare but still nothing.
Title: Re: a little help
Post by: iq_132 on February 16, 2014, 04:13:55 PM
That's related to the zip file operations. IIrc fbal uses a different zip library from fba. You'll have to find that in the current fba sources and compare what it is in the fbal sources. If not... well... you may have to explore other options.
Title: Re: a little help
Post by: destronger on February 16, 2014, 04:43:23 PM
 :eek:

my brain is going to mush!

so what your saying is that to add donky kong to fbl would require modifying the way fbl handle zip files? :S
Title: Re: a little help
Post by: iq_132 on February 16, 2014, 05:12:42 PM
Open burner.h

find this

// zipfn.cpp
struct ZipEntry { char* szName;   unsigned int nLen; unsigned int nCrc; };

add this after

int ZipOpen(const char* szZip);
int ZipClose();
int ZipGetList(struct ZipEntry** pList, int* pnListCount);
int ZipLoadFile(unsigned char* Dest, int nLen, int* pnWrote, int nEntry);
Title: Re: a little help
Post by: destronger on February 16, 2014, 09:48:03 PM
I'll give it a shot. thanks iq_132!
Title: Re: a little help
Post by: destronger on February 20, 2014, 09:46:19 PM
Open burner.h

find this

// zipfn.cpp
struct ZipEntry { char* szName;   unsigned int nLen; unsigned int nCrc; };

add this after

int ZipOpen(const char* szZip);
int ZipClose();
int ZipGetList(struct ZipEntry** pList, int* pnListCount);
int ZipLoadFile(unsigned char* Dest, int nLen, int* pnWrote, int nEntry);

i checked burner.h and the stuff you mentioned above is already there.


//////////////////////////////////////////////////////////////////////////////////

going through cps1 and i receive this error:

note: i have updated the timer.c & cpp & timkpr.h & cpp

Quote
src\burn\capcom\d_cps1.cpp(13626) : error C3861: 'TimeKeeperRead': identifier not found, even with argument-dependent lookup
src\burn\capcom\d_cps1.cpp(13640) : error C3861: 'TimeKeeperWrite': identifier not found, even with argument-dependent lookup
src\burn\capcom\d_cps1.cpp(13653) : error C3861: 'TimeKeeperTick': identifier not found, even with argument-dependent lookup
src\burn\capcom\d_cps1.cpp(13662) : error C3861: 'TimeKeeperScan': identifier not found, even with argument-dependent lookup
src\burn\capcom\d_cps1.cpp(13682) : error C2065: 'TIMEKEEPER_M48T35' : undeclared identifier
src\burn\capcom\d_cps1.cpp(13682) : error C3861: 'TimeKeeperInit': identifier not found, even with argument-dependent lookup
src\burn\capcom\d_cps1.cpp(13689) : error C3861: 'TimeKeeperExit': identifier not found, even with argument-dependent lookup

the only game other that ganbare(cps1.cpp) that has this type of code is d_slapshot.cpp

cps1 example:
Quote
UINT8 __fastcall GanbareTimeKeeperReadByte(UINT32 a)
{
   if (a & 1) {
      return TimeKeeperRead((a & 0xffff) >> 1);
   } else {
      return CpsRamFF[(a & 0xffff) >> 1];
   }
}

slapshot example:
Quote
UINT8 __fastcall Slapshot68KReadByte(UINT32 a)
{
   if (a >= 0xa00000 && a <= 0xa03fff) {
      return TimeKeeperRead((a - 0xa00000) >> 1);
   }

what would be the best way around this?
Title: Re: a little help
Post by: destronger on May 04, 2014, 12:20:10 AM
well, as things continue in the whole fba to fbl xbox port; i get this error:

Quote
d_actfancr.obj : error LNK2001: unresolved external symbol "int __cdecl h6280CpuScan(int)" (?h6280CpuScan@@YAHH@Z)

for the life of me i've tried and tried to figure it out.

edit: i have noticed that this same h6280CpuScan is related to the following files too:

h6280_intf.h
h6280_intf.ccp
pce.cpp
d_actfancer.cpp
d_dec0.cpp
deco16ic.cpp

i updated all of these files too.
Title: Re: a little help
Post by: Arcadez on May 05, 2014, 03:50:23 PM
well, as things continue in the whole fba to fbl xbox port; i get this error:

for the life of me i've tried and tried to figure it out.

edit: i have noticed that this same h6280CpuScan is related to the following files too:

h6280_intf.h
h6280_intf.ccp
pce.cpp
d_actfancer.cpp
d_dec0.cpp
deco16ic.cpp

i updated all of these files too.

sometimes a define error is hard to track down it could be in a src file where you least expect it you might need to update more stuff
keep plugging away im sure you'll find it!!!
Title: Re: a little help
Post by: dink on May 05, 2014, 03:58:38 PM
Hey there,
Check to make sure the h6280_intf.h & h6280_intf.cpp is getting compiled and linked correctly, because this is where the function originates. 

best regards,
- dink
Title: Re: a little help
Post by: destronger on May 05, 2014, 11:52:06 PM
right, i have the files in the source though. the linking part may be the issue. (using visual studios 2003 due to being a xbox release).

is there a way to link it correctly?
Title: Re: a little help
Post by: dink on May 06, 2014, 02:02:25 AM
I'm not sure if this applies to vs2003, but check this out: http://support.microsoft.com/kb/306234

I never used it myself, only gcc..
best regards,
- dink
Title: Re: a little help
Post by: destronger on May 07, 2014, 10:07:51 PM
yeah, i saw that link. i checked before puting the request in this post.
Title: Re: a little help
Post by: destronger on May 10, 2014, 08:52:12 PM
ok, i see what i did. i was going through a bunch of files and forgot to update the h6280_intf.cpp (the h6280_intf.h hasn't changed). now i get the following errors. compared to the h6280_intf.cpp that was in fbl v1.12 this file has changed quite a bit.

Quote
src\burn\h6280_intf.cpp(25) : error C2143: syntax error : missing ';' before '*'
src\burn\h6280_intf.cpp(25) : error C2501: 'h6280_handler::h6280_Regs' : missing storage-class or type specifiers
src\burn\h6280_intf.cpp(25) : error C2501: 'h6280_handler::h6280' : missing storage-class or type specifiers
src\burn\h6280_intf.cpp(197) : error C2146: syntax error : missing ';' before identifier 'H6280CheatCpuConfig'
src\burn\h6280_intf.cpp(197) : error C2501: 'H6280CheatCpuConfig' : missing storage-class or type specifiers
src\burn\h6280_intf.cpp(199) : error C2440: 'initializing' : cannot convert from 'void (__cdecl *)(INT32)' to 'int'
        This conversion requires a reinterpret_cast, a C-style cast or function-style cast
src\burn\h6280_intf.cpp(200) : error C2078: too many initializers
src\burn\h6280_intf.cpp(219) : error C2039: 'h6280' : is not a member of 'h6280_handler'
        src\burn\h6280_intf.cpp(18) : see declaration of 'h6280_handler'
src\burn\h6280_intf.cpp(219) : error C2065: 'h6280_Regs' : undeclared identifier
src\burn\h6280_intf.cpp(219) : error C2059: syntax error : ')'
src\burn\h6280_intf.cpp(246) : error C2039: 'h6280' : is not a member of 'h6280_handler'
        src\burn\h6280_intf.cpp(18) : see declaration of 'h6280_handler'
src\burn\h6280_intf.cpp(247) : error C2039: 'h6280' : is not a member of 'h6280_handler'
        src\burn\h6280_intf.cpp(18) : see declaration of 'h6280_handler'
src\burn\h6280_intf.cpp(247) : error C2039: 'h6280' : is not a member of 'h6280_handler'
        src\burn\h6280_intf.cpp(18) : see declaration of 'h6280_handler'
src\burn\h6280_intf.cpp(261) : error C2039: 'h6280' : is not a member of 'h6280_handler'
        src\burn\h6280_intf.cpp(18) : see declaration of 'h6280_handler'
src\burn\h6280_intf.cpp(261) : error C3861: 'h6280_set_context': identifier not found, even with argument-dependent lookup
src\burn\h6280_intf.cpp(270) : error C2039: 'h6280' : is not a member of 'h6280_handler'
        src\burn\h6280_intf.cpp(18) : see declaration of 'h6280_handler'
src\burn\h6280_intf.cpp(270) : error C3861: 'h6280_get_context': identifier not found, even with argument-dependent lookup
src\burn\h6280_intf.cpp(293) : error C2039: 'h6280' : is not a member of 'h6280_handler'
        src\burn\h6280_intf.cpp(18) : see declaration of 'h6280_handler'
src\burn\h6280_intf.cpp(293) : error C2227: left of '->h6280_totalcycles' must point to class/struct/union
src\burn\h6280_intf.cpp(307) : error C2065: 'p' : undeclared identifier
src\burn\h6280_intf.cpp(307) : error C2039: 'h6280' : is not a member of 'h6280_handler'
        src\burn\h6280_intf.cpp(18) : see declaration of 'h6280_handler'
src\burn\h6280_intf.cpp(307) : error C3861: 'h6280_Regs': identifier not found, even with argument-dependent lookup
src\burn\h6280_intf.cpp(309) : error C3861: 'p': identifier not found, even with argument-dependent lookup
src\burn\h6280_intf.cpp(313) : error C2227: left of '->irq_callback' must point to class/struct/union
        type is ''unknown-type''
src\burn\h6280_intf.cpp(313) : error C3861: 'p': identifier not found, even with argument-dependent lookup
src\burn\h6280_intf.cpp(316) : error C3861: 'p': identifier not found, even with argument-dependent lookup
src\burn\h6280_intf.cpp(317) : error C2070: ''unknown-type'': illegal sizeof operand
src\burn\h6280_intf.cpp(317) : error C3861: 'h6280_Regs': identifier not found, even with argument-dependent lookup
src\burn\h6280_intf.cpp(322) : error C2227: left of '->irq_callback' must point to class/struct/union
        type is ''unknown-type''
src\burn\h6280_intf.cpp(322) : error C3861: 'p': identifier not found, even with argument-dependent lookup

i know i'm close to getting this done. any help would be appreciated. i also attached the file in question.

note: i've taken out all the debug code as it's useless in the xbox build.
Title: Re: a little help
Post by: Arcadez on October 01, 2014, 06:04:55 PM
Edit never mind ive got the games on Donkey Kong hardware up and running just need to find out where to add
sample support paths to the FBL src as currantly the emulator doesn't support samples and and as a result the games
are missing the Full sound experience  :mad:

Was wondering can i just make the samples load within the rom tables as that would negate FBL needing the above
Title: Re: a little help
Post by: Arcadez on October 27, 2014, 09:19:48 PM
Sorry to be a pest here i just need a little advice im attempting to add the brand new konami core to FBL i had to rework a
fair bit of it basically im using the latest Konami drivers and video files with the older sound cores i have in FBL everything seems
to have gone ok of course i haven't tested all the games yet :D but Lethal Enforcers works so thats a good start i guess

i just have a little question about the new Rom Table handling...........

From Lethal Enforcers
Quote
      if (BurnLoadRomExt(DrvGfxROM0 + 0x000002,  2, 4, 2)) return 1;
      if (BurnLoadRomExt(DrvGfxROM0 + 0x000000,  3, 4, 2)) return 1;

ive added the updated load.cpp from FBA and declared the new rom load handlers in burninit.h just getting a little compile Error
in load.cpp ive reemed out the 2 lines of code which were the cause for now just wondering where in the Src i should look
for declerations of these handlers...........

In load.cpp
Quote
if (bDoIpsPatch) IpsApplyPatches(Load, RomName);

And

if (bDoIpsPatch) IpsApplyPatches(Dest, RomName);

Edit i see the above lines of code were actually already in my Src but reemed out from years back i guess maybe i dont need it then
i assumed wrongly it was part of the new changes in load.cpp sorry to have wasted your time
Title: Re: a little help
Post by: dink on October 28, 2014, 01:16:50 AM
If they were commented out previosly, then most likely FBL doesn't support IPS patching on-the-fly, and its safe to leave them commented.

best regards,
- dink
Title: Re: a little help
Post by: Arcadez on October 28, 2014, 06:29:50 PM
If they were commented out previosly, then most likely FBL doesn't support IPS patching on-the-fly, and its safe to leave them commented.

best regards,
- dink

Thanks for your input dink i've just left them commented out for now BTW the updates went well all the games work
except for those in dbz.cpp and mystwar.cpp i guessing this is a FBL VMM issue i'll need to get someone with a upgraded
console to try em and see if they boot only downside is Gradius 3 is still all green i'll need to launch it with a clean FBL
Install see if previous saves are messing up the game colours

While testing i spotted 2 games with Errors confirmed to be the same in FBA i'll post about these in the bugs thread
Title: Re: a little help
Post by: Arcadez on November 07, 2014, 07:35:27 PM
I hate pestering you guys for help but i just need some advice regarding the m107.cpp driver ive been off and on since july
trying to get Fire Barrel and Air Assault to work in FBL but no matter what i try the game hangs on the Boot Screen and goes no
further anyway to give myself the best chance of this game working im using the latest FBA for everything the driver uses
Burn_ym2151.cpp   Burn_iremga20.cpp  Nec_intf.cpp  ym2151.cpp  Nec CPU

I have a problem when i add the latest Nec CPU as it will break every game that uses it in my Src here's what i think is the issue
as it's the only thing really thats changed from the older Nec CPu i was using previously which just has one op table and no
LSB Handlers

From nec and v25 priv.h
Quote
#ifdef LSB_FIRST
typedef enum {
   AL = 0x1e, //NATIVE_ENDIAN_VALUE_LE_BE(0x1E, 0x1F),
   AH = 0x1f, //NATIVE_ENDIAN_VALUE_LE_BE(0x1F, 0x1E),
   CL = 0x1c, //NATIVE_ENDIAN_VALUE_LE_BE(0x1C, 0x1D),
   CH = 0x1d, //NATIVE_ENDIAN_VALUE_LE_BE(0x1D, 0x1C),
   DL = 0x1a, //NATIVE_ENDIAN_VALUE_LE_BE(0x1A, 0x1B),
   DH = 0x1b, //NATIVE_ENDIAN_VALUE_LE_BE(0x1B, 0x1A),
   BL = 0x18, //NATIVE_ENDIAN_VALUE_LE_BE(0x18, 0x19),
   BH = 0x19  //NATIVE_ENDIAN_VALUE_LE_BE(0x19, 0x18)
} BREGS;
#else
typedef enum {
   AL = 0x1f, //NATIVE_ENDIAN_VALUE_LE_BE(0x1E, 0x1F),
   AH = 0x1e, //NATIVE_ENDIAN_VALUE_LE_BE(0x1F, 0x1E),
   CL = 0x1d, //NATIVE_ENDIAN_VALUE_LE_BE(0x1C, 0x1D),
   CH = 0x1c, //NATIVE_ENDIAN_VALUE_LE_BE(0x1D, 0x1C),
   DL = 0x1b, //NATIVE_ENDIAN_VALUE_LE_BE(0x1A, 0x1B),
   DH = 0x1a, //NATIVE_ENDIAN_VALUE_LE_BE(0x1B, 0x1A),
   BL = 0x19, //NATIVE_ENDIAN_VALUE_LE_BE(0x18, 0x19),
   BH = 0x18  //NATIVE_ENDIAN_VALUE_LE_BE(0x19, 0x18)
} BREGS;
#endif

ive declared the LSB_FIRST commands in burninit.h and pasted in everything from burn_endian.h as i dont have the
FBA libretro folder in my FBL burner part of the source just the win32 i think ive set it up correctly
but the games using the Nec Cpu just boot to a black screen now im not sure if both op-tables above are needed for games
in the m107 driver?? but if so is there anyway i can have both of the above without the need for the LSB handling???
Title: Re: a little help
Post by: Arcadez on December 12, 2014, 10:53:49 PM
Recently ive been testing drivers with games that dont boot on a standard xbox see if they'll work when launched in 2 cores
anyway i manged to get Lord Of Gun and Alien challenge to boot everythings fine with the games except for the sprites are messed
up any idea what could cause this and maybe where in the Src to look for a fix ive already checked the most obvious places with
no joy

It wasn't a new driver it was in the FBL Src already so i assume i must have what it needs to work or maybe the core i added it
to is missing a key Src file the driver needs in the build??

Alien Challenge

(http://www.fshare.it/image.jpeg?i=7f1418434t4)

Lord Of Gun

(http://www.fshare.it/image.jpeg?i=mb141843428)
Title: Re: a little help
Post by: Arcadez on December 14, 2014, 11:32:33 AM
Confirmed the above is caused by a lack of free memory on a standard xbox time to find a lighter core to launch the games in
or create one ;)