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:
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
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.
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
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:
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:
Then add the following code just before setbuf:
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. :)
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