Page 1 of 1

Request new compilation

Posted: Fri 03 Apr, 2015 6:30 pm
by MortalThing
Hi Tom,

1. Thank you for all you do PCEM emulator is very best I like it.
2. Please could you give your new version of PCEM-3dfx for windows compilation
3. I would try 3dfx functions thank you for your willingness

Re: Request new compilation

Posted: Fri 03 Apr, 2015 10:12 pm
by nerd73
MortalThing wrote:Hi Tom,

1. Thank you for all you do PCEM emulator is very best I like it.
2. Please could you give your new version of PCEM-3dfx for windows compilation
3. I would try 3dfx functions thank you for your willingness
IIRC you can download a toolkit to compile PCem online that includes a compile.bat and the necessary software to compile PCem, then you just set up Makefile.mingw to compile it with the dynamic recompiler for pentium emulation and much faster emulation of other CPUs.
Although it is 200 MB.

Re: Request new compilation

Posted: Fri 03 Apr, 2015 10:31 pm
by Commander Keen
Hmm I wonder where this toolkit might be?

Re: Request new compilation

Posted: Sat 04 Apr, 2015 7:44 am
by MortalThing
OK you can provide link for download?

Re: Request new compilation

Posted: Sun 05 Apr, 2015 4:03 pm
by MortalThing
Hi all, Please, can anyone provide your folder MinGW to compile.

I understand that I have the compiler tools such as gcc ++, but I'm not completely informed. How to do it.

I tried to

echo off
set path =% PATH%; mingw \ bin
MinGW32-make.exe -f Makefile.mingw
pause

but I miss the files /al/al.h

You are in a compilation of Windows or Linux?

I do not know how to add files contain, and where to get the right files

Therefore, I would like to ask if anyone can give thanks.

Re: Request new compilation

Posted: Mon 06 Apr, 2015 9:47 pm
by BlueMaxima
I actually tried to build the latest build, nerd73, using the kit you're talking about, and I ended up getting a build done successfully, but it had some really weird issues with the drop down menus (couldn't select the new MMX processors or 3DFX, they simply weren't there, along with some weird issues with other random dialogs showing up in those menus) and it was rather slow. I was hoping for a new build myself just so I don't screw up my own build again. :P

Re: Request new compilation

Posted: Tue 07 Apr, 2015 9:37 am
by ecksemmess
BlueMaxima wrote:I actually tried to build the latest build, nerd73, using the kit you're talking about, and I ended up getting a build done successfully, but it had some really weird issues with the drop down menus (couldn't select the new MMX processors or 3DFX, they simply weren't there, along with some weird issues with other random dialogs showing up in those menus) and it was rather slow. I was hoping for a new build myself just so I don't screw up my own build again. :P
Interesting--that sounds a lot like an issue I had on one of my builds a while ago. I eventually cleared it up just by starting from scratch, but I'm curious: what "random dialogs in the menus" did you see, specifically?

Re: Request new compilation

Posted: Tue 07 Apr, 2015 10:53 pm
by BlueMaxima
1.png
1.png (20.33 KiB) Viewed 9102 times
This sort of thing, mainly.
2.png
2.png (19.71 KiB) Viewed 9102 times
3.png
3.png (18.19 KiB) Viewed 9102 times
The CPU types would show up for a lot of other clones (or something? I really don't know how this would happen) and if you would try to select them, PCem would just outright crash. Also, you can type in those boxes, which is a bad idea because you can end up with some blank boxes and weird results completely by accident (although nothing as strange as these pictures). And I'm just now seeing the "Voodoo Graphics" box but I was more interested in the Pentium processors :P

Re: Request new compilation

Posted: Wed 08 Apr, 2015 3:37 am
by ecksemmess
Oh, I see. Not the kind of "random dialogs" I was envisioning, but you're in luck, as I once had the same issue you're having now and it's actually quite easy to fix. Here's what's going on: some versions of the gnu compiler appear to have a bug wherein when a pointer within a certain type of struct is referenced as the first part of a multi-part logical expression, the remaining parts go unevaluated. You must be using such a version, though Tom apparently isn't. In any case, the solution is simple: just go into win.c and find the following two lines, as well as any others elsewhere in the code that may resemble them:

Code: Select all

while (models[romstomodel[romset]].cpu[c].cpus != NULL && c < 3)
.
.
.
while (models[temp_model].cpu[c].cpus != NULL && c < 3)
...and modify them by simply switching the order of the logical comparison to ensure that the pointer appears as late in the expression as possible, like so:

Code: Select all

while ((c < 3) && (models[romstomodel[romset]].cpu[c].cpus != NULL))
.
.
.
while ((c < 3) && (models[temp_model].cpu[c].cpus != NULL))
Last time I checked, there were only those two instances, both in win.c, but it's possible that more have been added since then. Anyway, that should make short work of the problem. (By the way, the parentheses I added were for clarity only, and shouldn't affect this bug.) Perhaps Tom should make this change in the official codebase, as this problem does seem to crop up with some regularity.