Frequently asked questions

Toledo Chess 1

Where is the <setjmp.h>?
It is included with every ANSI/ISO C compiler.
I've got same response every time, what about randomness?
Add srand(time(0)); just before Z H<130.
How can I make the computer to play white pieces?
Change 1<L&e to 1<L&!e.
What time took you to program it?
6 weeks from February 2005 to March 2005.
How you did the knight figure?
Hand formatting. 8)
Why is named Toledo Chess?
That was casual, it simply had no name, the judges at the IOCCC named the source after my last name, and the people simply started calling it Toledo Chess. Not related to Toledo, Spain or Toledo, Ohio.
Can I compile it with my old 16-bit Turbo C?
You need to make a few changes. First open the source code in Windows Wordpad (important), and insert this as first line:
#include <stdio.h>
Then replace all occurrences of 1e5 with 2e4, and 1e9 with 3e4, now save the source and open it in Turbo C.
Now you can run as two-player, inside the IDE use the menu Options-Arguments, put one argument (by example, one letter) to play against the computer.
These instructions are also useful for the knight's tour solver, for the other programs in this site, choose a 32-bit compiler!
Can I compile it as C++?
The C++ language is more strict but fortunately it is possible, it is necessary to include C standard libraries (we will not be using streams), and to define main in an acceptable form. Copy the original source code to a file with cpp extension (by example, toledo.cpp) and then add this at the beginning.
#include <stdio.h>
#include <stdlib.h>
int X(int, int, int, int);
int main(int argc, char *argv[])
  X((int)argc, 0, 0, 0);
#define main X
Now you can compile it with your C++ compiler. A good programming exercise would be to change the C style of input and output (getchar/putchar) to the C++ style (cin/cout).
Why my compiler gives me a warning about printf?
The compiler "knows" that printf has the prototype int printf(const char *, ...) but as the program doesn't include <stdio.h> then it treats it as int printf(...), this creates the warning. If you want to remove the warning add this at the start of the source code:
#include <stdio.h>

Toledo Nanochess

Why doesn't work with XBoard under *NIX/Mac OS X?
The XBoard protocol differs slightly from the Winboard protocol. It is necessary to add the following at the start of the Toledo Nanochess Winboard source code:
#include <signal.h>
Then add the following code just before setbuf:
signal(SIGINT, SIG_IGN);
It should work fine now.
Why the pack executables are so big?
The executables are statically linked, integrating the needed libraries, this saves a big-unnecessary Windows DLL, and reduces the zip-file size. If you do your own compilation, you can get a size somewhere around 10 KB, but you will need to tune carefully compiler optimization. :)


License terms for your Javascript chess?
It is free for non-commercial use, this includes all the forks, even those under the GPL as legally I'm the original author.
Please cite my name and website in any derivative source code or webpage where it is used. I would be glad to receive an e-mail telling me where you used it.
If you want to do commercial usage, just write me and we can reach a reasonable agreement.


Could you release your unobfuscated source code?
Currently I don't have plans to release unobfuscated source code, besides it would remove a lot of the thrill and learning from unobfuscating it by yourself.
Could you release your retro-games source code?
I don't have plans to release the source code mostly because that would affect cartridges sales. But when the cartridges sold out I'd be open to interesting offers :)
Could you release your commercial retro-games as ROM files?
Similar to previous question. When cartridges sold out I'd be open to the idea if someone comes with a good price and enough people interested.
What means 'biyubi'?
It is a Zapotec word that means "search until you find it", it should be pronounced as bee-you-bee.
Last modified: Jun/10/2013