Hi,
I just took a look in the Strelka sources to see if it could be easily ported to non-Windows systems. I had to replace some windows.h specific stuff, compiled the sources and got a version that ponders. But maybe not the right thing. Thus I need some help:
1. Can somebody give me the output of 'go depth 16' from the starting position?
2. There is one function that relies heavily on windows.h header. I took it out for now, making Strelka probably refusing any user input while it calculates. I can see the purpose of the function but as a I-never-touched-windows-guy don't know how it precisely works. Here it is:
int input_available()
{ static int init = 0, is_pipe;
static HANDLE stdin_h;
DWORD val;
if (stdin->_cnt > 0) return 1;
if (!init) {
init = 1;
stdin_h = GetStdHandle(STD_INPUT_HANDLE);
is_pipe = !GetConsoleMode(stdin_h,&val);
if (!is_pipe) {
SetConsoleMode(stdin_h,val&~(ENABLE_MOUSE_INPUT|ENABLE_WINDOW_INPUT));
FlushConsoleInputBuffer(stdin_h);
}
}
if (is_pipe) {
if (!PeekNamedPipe(stdin_h,NULL,0,NULL,&val,NULL)) return 1;
return val > 0;
}
else {
GetNumberOfConsoleInputEvents(stdin_h,&val);
return val > 1;
}
return 0;
}
I see that it checks if there is input available. But does it also store new input? Anybody interested to know more what needed to be changed or wants to help please let me know.
Guetti wrote:Hi,
I just took a look in the Strelka sources to see if it could be easily ported to non-Windows systems. I had to replace some windows.h specific stuff, compiled the sources and got a version that ponders. But maybe not the right thing. Thus I need some help:
1. Can somebody give me the output of 'go depth 16' from the starting position?
2. There is one function that relies heavily on windows.h header. I took it out for now, making Strelka probably refusing any user input while it calculates. I can see the purpose of the function but as a I-never-touched-windows-guy don't know how it precisely works. Here it is:
int input_available()
{ static int init = 0, is_pipe;
static HANDLE stdin_h;
DWORD val;
if (stdin->_cnt > 0) return 1;
if (!init) {
init = 1;
stdin_h = GetStdHandle(STD_INPUT_HANDLE);
is_pipe = !GetConsoleMode(stdin_h,&val);
if (!is_pipe) {
SetConsoleMode(stdin_h,val&~(ENABLE_MOUSE_INPUT|ENABLE_WINDOW_INPUT));
FlushConsoleInputBuffer(stdin_h);
}
}
if (is_pipe) {
if (!PeekNamedPipe(stdin_h,NULL,0,NULL,&val,NULL)) return 1;
return val > 0;
}
else {
GetNumberOfConsoleInputEvents(stdin_h,&val);
return val > 1;
}
return 0;
}
I see that it checks if there is input available. But does it also store new input? Anybody interested to know more what needed to be changed or wants to help please let me know.
replace the stuff above with this: (but untested, just out of my brain)
pgeorges wrote:
This command returns an error (404). The git repository does not seem to be properly set.
Could make a source package available ?
Pascal
Not sure what the problem is since the clone command works for me. Anyhow, heres a source package:
But I don't know if I have the right to port it to Pocket PC (for Scid) and release it, given that it is a bit hard for me to understand Strelka status and ownership.
I don't believe you can port it to anythng as Vas has claimed ownership.
He's planning to make a new release of it and then the licensing should
be clear.
CRoberson wrote:I don't believe you can port it to anythng as Vas has claimed ownership.
He's planning to make a new release of it and then the licensing should
be clear.