What's new

Pj's rom browser

Status
Not open for further replies.

Doomulation

?????????????????????????
Can anyone help me with this?
I've tried to figure out how Zilmar knows if the zipped games are supported. I have looked at the pj source, but I still can't figure it out.
By what I've found -- I've found some very instresting things -- Pj does _NOT_ read the CRC from roms which are zipped. It only reads the size of it unzipped.
But in order to know if it's supported or not, it must know CRC1 & 2 and the region of the rom.
However, how does it do so? I also know that it does not look in the filename, since I tried to rename it.
Do any of you know? Or could anyone of you look at the source to know? I know it's in RomBrowser.c.

Also, I seem to have problems to compile the code. First off, I'm missing "Reverse code.h" I think. And then there's a standard-library which I'm missing. I'm using c++ 5.0. It also complains of an undeclared type. ???
 

Hacktarux

Emulator Developer
Moderator
I think you need visual C++ 6 to compile this.
And comment the line that include "reverse code.h", i think this is an old file that is not used now.
 

linker

Emutalk Member
You need the VC6++ Professional or the Enterprise edition (it doesn't compile with the Standard edition for some reason). Also install the latest patches.

And doomulation:.. please don't doom us all :)
 

Greevy

Resident Emusician
Doomulation:

As I know, PJ64 uses the zlib library to support zipped roms.
(No need to download anything, everything is included.).

zlib Home Site

I'm pretty sure that PJ actually unzips zipped roms as you load them then place the rom in a temporary directory where it load it and then delete it after you close the emulator.
(Might even delete the temporary file after you stop to play the game).

I guess that would explain why it doesn't read the CRC from zipped files.

I might be wrong though.

As for the missing file.. Been playing with the PJ source for a while and never heard of it !
I'm using Microsoft Visual C++ Professional Edition with the latest Service Packs and I have Windows98SE French as my OS.

Good luck !
Greevy.
 

zilmar

Emulator Developer
Moderator
Doomulation said:

By what I've found -- I've found some very instresting things -- Pj does _NOT_ read the CRC from roms which are zipped. It only reads the size of it unzipped.

Well if you can read the code well enough to know what it is supposedly not doing .. then you should have no need to ask this question as you should have more then enough programming skills to work it out from the source.
 
OP
Doomulation

Doomulation

?????????????????????????
Erm... well, Zilmar. I suppose I could find out. The problem is though, that I've been looking for a pretty long time, and I can't compile the source, which would help pretty much.

And for you Greevy:
Unzipping all roms would be a nightmare! Even uzipping a 50 mb rom on my computer takes ages. No, I don't think it does actually unzip them to read the CRC. It does however unzip them when starting to emulate it. I know that pretty sure.
And it must have the CRC when showing the browser to know if it's compitable.
And as for the file, it's named "Reverse Code.h". The reason maybe you never heard of it, is probably because those lines are commented out.
 

linker

Emutalk Member
Doomulation said:

And as for the file, it's named "Reverse Code.h". The reason maybe you never heard of it, is probably because those lines are commented out.

I told you - get the vc++ v6.0 Professional. It'll be ok then.
 

Remote

Active member
Moderator
linker said:


I told you - get the vc++ v6.0 Professional. It'll be ok then.

If cash is the biggest issue for why you are stuck with an older version, go for the standard or educational version, which contains the complete Visual Studio package although you are not allowed to distrubute programs compiled with the educational version. Pick up MSVC++ 6.0 standard, which last time I checked, only will set you back by a good sixtifive US dollars, compared to all the Benjamin Franklin's you will be spending on the professional version.
 
OP
Doomulation

Doomulation

?????????????????????????
Whoa! That's not very much. I have been trying to get 6.0. I will try to get it, too. By money or not.
But that's not the issue. So let's skip it.
 

linker

Emutalk Member
Remote said:


If cash is the biggest issue for why you are stuck with an older version, go for the standard or educational version, which contains the complete Visual Studio package although you are not allowed to distrubute programs compiled with the educational version. Pick up MSVC++ 6.0 standard, which last time I checked, only will set you back by a good sixtifive US dollars, compared to all the Benjamin Franklin's you will be spending on the professional version.

Pj64 doesn't compile with vc++ 6.0 Standard Edition. I tried. You can compile it with enterprise or pro edition. Dunno for educational, but i think that it is the same as standard.
 
OP
Doomulation

Doomulation

?????????????????????????
Awright... I'm trying to get VC++ 6.0 standard.
Anyway, can you point out where the main function of the program is? Y'know, where the execution starts. That would help out a lot.
But I'm still confused on the part on how the emulator gets the CRC... but it shouldn't be a problem, since I already am on track for a code to solve this. Aw, yeah, right. It's true! :D
 
OP
Doomulation

Doomulation

?????????????????????????
Mmkay... this is what I got when I compiled the Pj source with visual c++ 6.0 standard edition. What's wrong now? ???

--------------------Configuration: Project64 - Win32 Release External--------------------
Compiling resources...
Compiling...
Command line warning D4002 : ignoring unknown option '/Ob2'
BreakPoints.c
CPU Log.c
Logging.c
mapping.c
r4300i Commands.c
r4300i Memory.c
r4300i Registers.c
TLB Display.c
Cheat.c
Main.c
Profiling.c
RomBrowser.c
Settings Api.c
Settings.c
Win32Timer.c
zip.c
Eeprom.c
FlashRam.c
Mempak.c
Sram.c
CPU.c
C:\Documents and Settings\patrick\Lokala inställningar\Temporary Internet Files\Content.IE5\ZU0ZBXSH\Pj64%20Build%2052%202001-12-22[1]\CPU.c(148) : warning C4013: 'CloseMempak' undefined; assuming extern returning int
DMA.c
Exception.c
Interpreter CPU.c
Interpreter Ops.c
Memory.c
pif.c
Recompiler CPU.c
Recompiler Fpu Ops.c
Recompiler Ops.c
Registers.c
rom.c
Sync CPU.c
TLB.c
Plugin.c
x86 fpu.c
X86.c
Compiling...
Command line warning D4002 : ignoring unknown option '/Ob2'
unzip.c
Linking...
LINK : warning LNK4098: defaultlib "LIBC" conflicts with use of other libs; use /NODEFAULTLIB:library
pif.obj : error LNK2001: unresolved external symbol _LogOptions
Release_External/Project64.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

Project64.exe - 2 error(s), 4 warning(s)
 
OP
Doomulation

Doomulation

?????????????????????????
Mmkay, it was copiled on standard. I'll soon try to compile on enterprise. If anybody knows how to compile it on standard, then please tell me.
 
OP
Doomulation

Doomulation

?????????????????????????
YES! I worked! I could compile it on enterprise edition!
Thanks for the help guys.
 
OP
Doomulation

Doomulation

?????????????????????????
BAH! I didn't need your help with that. It compiled anyway. And I didn't manage to figure out what to change ???
 

scaw

New member
Mmkay... this is what I got when I compiled the Pj source with visual c++ 6.0 standard edition. What's wrong now? ???

--------------------Configuration: Project64 - Win32 Release External--------------------
Compiling resources...
Compiling...
Command line warning D4002 : ignoring unknown option '/Ob2'
BreakPoints.c
CPU Log.c
Logging.c
mapping.c
r4300i Commands.c
r4300i Memory.c
r4300i Registers.c
TLB Display.c
Cheat.c
Main.c
Profiling.c
RomBrowser.c
Settings Api.c
Settings.c
Win32Timer.c
zip.c
Eeprom.c
FlashRam.c
Mempak.c
Sram.c
CPU.c
C:\Documents and Settings\patrick\Lokala inställningar\Temporary Internet Files\Content.IE5\ZU0ZBXSH\Pj64%20Build%2052%202001-12-22[1]\CPU.c(148) : warning C4013: 'CloseMempak' undefined; assuming extern returning int
DMA.c
Exception.c
Interpreter CPU.c
Interpreter Ops.c
Memory.c
pif.c
Recompiler CPU.c
Recompiler Fpu Ops.c
Recompiler Ops.c
Registers.c
rom.c
Sync CPU.c
TLB.c
Plugin.c
x86 fpu.c
X86.c
Compiling...
Command line warning D4002 : ignoring unknown option '/Ob2'
unzip.c
Linking...
LINK : warning LNK4098: defaultlib "LIBC" conflicts with use of other libs; use /NODEFAULTLIB:library
pif.obj : error LNK2001: unresolved external symbol _LogOptions
Release_External/Project64.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.

Project64.exe - 2 error(s), 4 warning(s)

Code:
C:\Documents and Settings\patrick\Lokala inställningar\Temporary Internet Files\Content.IE5\ZU0ZBXSH\Pj64%20Build%2052%202001-12-22[1]\CPU.c(148) : warning C4013: 'CloseMempak' undefined; assuming extern returning int

Add prototype to mempak.h.
void CloseMempak (void);

Code:
LINK : warning LNK4098: defaultlib "LIBC" conflicts with use of other libs; use /NODEFAULTLIB:library
pif.obj : error LNK2001: unresolved external symbol _LogOptions
Release_External/Project64.exe : fatal error LNK1120: 1 unresolved externals

In logging.h find hte line that reads

//extern LOG_OPTIONS LogOptions;
extern LOG_OPTIONS LogOptions;

change to

//extern LOG_OPTIONS LogOptions;
LOG_OPTIONS LogOptions;

Should compile. When you start it up, it will give you an error stating that you GFX file won't work, go to Options>Settings>Directories of the program and change the plugins directory to where the proper plugins are located. Then set the plugins you wish to use and everything should work okay.
 

Iconoclast

New member
Uhh...nope?

Bah. This whole, no reviving dead threads thing, is really just a stupid case of paranoia. Who cares? Maybe, there's a five-year-old thread about where to download MINIUSF files? But then, five years after the thread was started, someone wants to announce a new and better source of these files? Why start a new thread based on the same subject?

Sometimes, you guys are too conservative. There is nothing wrong with reviving dead threads! Unless, of course, you say something totally stupid. I mean, so what if you see the same thread from five years ago at the top of the New Posts search page? Does it really matter?
 
Status
Not open for further replies.

Top