Firenzina 2.2.2 xTreme, a clone of Fire 2.2 xTreme

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

kranium
Posts: 2130
Joined: Thu May 29, 2008 10:43 am

Re: Can ANYONE ELSE run my initial /MD compile?

Post by kranium »

Gusev wrote: In the meanwhile, I wonder if ANYONE ELSE can run the initial release (has the DLLs). I overlooked the /MD setting, especially given that it was the default. Are these DLLs so hard to come by? :(
Microsoft Visual C++ 2010 Redistributable Package (x64)
http://www.microsoft.com/en-us/download ... x?id=14632

other versions also available
User avatar
geots
Posts: 4790
Joined: Sat Mar 11, 2006 12:42 am

Re: Firenzina 2.2.2 xTreme, a clone of Fire 2.2 xTreme

Post by geots »

Kyodai wrote:"Only advice - get with Jesus and go over it with him..."

Hmm... is there any special computer chess prayer needed for that? :idea:


More like "a wing and a prayer" :lol:


gts
Gusev
Posts: 1476
Joined: Mon Jan 28, 2013 2:51 pm

Re: Can ANYONE ELSE run my initial /MD compile?

Post by Gusev »

Microsoft Visual C++ 2010 Redistributable Package (x64)
http://www.microsoft.com/en-us/download ... x?id=14632

other versions also available
Thanks!! I see. They need a Microsoft Visual C++ 2012 Redistributable Package (x64). This is a nuisance, but it can be taken care of if one wants to.
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: Firenzina 2.2.2 xTreme, a clone of Fire 2.2 xTreme

Post by Evert »

At the risk of opening the floodgates: shouldn't this be called a fork, or possibly a derivative rather than a clone?
Gusev
Posts: 1476
Joined: Mon Jan 28, 2013 2:51 pm

Re: Firenzina 2.2.2 xTreme, a clone of Fire 2.2 xTreme

Post by Gusev »

To me, it's a clone, at least for the time being. If Norman Schmidt chooses to resume Fire, that'll make Firenzina a fork. Right now the other tooth of the fork is absent. Norm kindly promised to consider a possibility to contribute to Firenzina, which I would greatly appreciate, and I will set up a Github depository ASAP to make contributing easier. Firenzina has not earned the proud name of a derivative, IMHO. :wink:
Gusev
Posts: 1476
Joined: Mon Jan 28, 2013 2:51 pm

Re: Can ANYONE ELSE run my initial /MD compile?

Post by Gusev »

Jose, I will get to more universal compiles very soon. In the meanwhile, I released the /MT /GS- version today: http://dgusev.cs.edinboro.edu/GameDev/C ... MT_x64.zip
It preliminarily seems to behave comparably to the initial /MD release (will follow up on that), but the users shouldn't need Microsoft Visual C++ 2012 Redistributable Package (x64) to be able to run this new compile. I have also added thanks to you, Norman Schmidt, Jon Dart, and Jim Ablett for help and advice. Not all of the advice has been put to good use yet.
ZirconiumX
Posts: 1361
Joined: Sun Jul 17, 2011 11:14 am
Full name: Hannah Ravensloft

Re: Can ANYONE ELSE run my initial /MD compile?

Post by ZirconiumX »

How to fix a hell of a lot of gcc warnings in a few easy steps:

1. Open up fire.h with your favourite editor.
2. On line 33, add

Code: Select all

#include <stdbool.h>
3. On line 42, add

Code: Select all

#define boolean bool
Of course, this is temporary, you shouldn't need to use boolean ever again, and can start changing all the boolean types to bool.

The usage of C is interesting here. There are functions being assigned values and things like that.

Matthew:out
tu ne cede malis, sed contra audentior ito
ZirconiumX
Posts: 1361
Joined: Sun Jul 17, 2011 11:14 am
Full name: Hannah Ravensloft

Calling in the pest control

Post by ZirconiumX »

Another bug squashed:

utility.c

Replace ShowBanner() with this:

Code: Select all

void ShowBanner()
    {
    char *startup_banner;

	sprintf(startup_banner, Engine Vers Platform "\n"
        "by Yuri Censor, a clone of Fire 2.2 xTreme by Kranium, based on Ippolit\n" // Modification by Yuri Censor for Firenzina, 2/16/2013
        "compiled by Yuri Censor\n" // Modified by Yuri Censor for Firenzina, 2/23/2013; Was: compiled by NS (i.e., Norman Schmidt)
        "" __DATE__ " " __TIME__ "\n\n");

    Send(startup_banner);
    fflush(stdout);

#ifdef Log
		if (WriteLog)
			{
			log_file = fopen(log_filename, "a");
			fprintf(log_file, startup_banner);
			close_log();
			}
#endif
    }
GetSysInfo() expects Windows, as Linux does not have GetSystemInfo().

__cpuid() does not exist on Linux.

If you have a 33 core machine (not sure, but hey ho!) 33<<1 is 66, which is higher than MaxCPUs in fire.h.

history.h

It is impossible to assign a function a value. Unless the function is supposed to be a macro - in which case - where the hell is it?

search.c

OutputBestMove is static void and takes a parameter typePos *Position, yet in functions.h, OutputBestMove is void, and takes no parameters. Which one is it??

You also have a file missing in your git repo, intrin.h.

Norman, you were saying about Linux compatiility? Where? I can't find any.

Matthew:out
Last edited by ZirconiumX on Sun Mar 03, 2013 11:20 am, edited 3 times in total.
tu ne cede malis, sed contra audentior ito
User avatar
velmarin
Posts: 1600
Joined: Mon Feb 21, 2011 9:48 am

Re: Can ANYONE ELSE run my initial /MD compile?

Post by velmarin »

Matew,
"intrin.h" is library by "Microsoft", the intrinsic supports.

You can try compiling without instructions popcnt (first instance).

I hope enjoy the code "Ippolit", Norman writes very well in Fire.
You see how little by little will seem more "simple the first sight."

Have fun.
ZirconiumX
Posts: 1361
Joined: Sun Jul 17, 2011 11:14 am
Full name: Hannah Ravensloft

Re: Can ANYONE ELSE run my initial /MD compile?

Post by ZirconiumX »

velmarin wrote:Matew,
"intrin.h" is library by "Microsoft", the intrinsic supports.

You can try compiling without instructions popcnt (first instance).

I hope enjoy the code "Ippolit", Norman writes very well in Fire.
You see how little by little will seem more "simple the first sight."

Have fun.
Shouldn't it be <intrin.h> then?

Yet more Linux incompatibility.

Code: Select all

#ifdef WINDOWS
   #include "intrin.h"
#endif
In GCC you can use __builtin_popcountll(unsigned long long x), which doesn't require a header.

Matthew:out
tu ne cede malis, sed contra audentior ito