Engines written in which programming language?

Programming Topics (Computer Chess) and technical aspects as test techniques, book building, program tuning etc

Moderator: Andres Valverde

Engines written in which programming language?

Postby Andreas Herrmann » 01 Jun 2009, 10:11

I was now some years far away from chess programming, so i havn't missed that there are so many new engines. But now i'm working on a complete new engine with Bitboards. At that time, where i have published my first version of Holmes, there were only about 50 or 60 free available engines out. But nowadays it seems there are many hundreds of them. Has someone count them all? How many are there?

I'm just trying to find out which programs are written in Pascal or Object Pascal. On Leos WBEC page and on this page http://computer-chess.org/doku.php?id=computer_chess:wiki:lists:chess_engine_list, not all engines are listed there in which language they are programmed.
A few unknown i have find out by checking the engines homepage or the exe files with a hexeditor, but in some cases i can't find it out.
Please check if something is wrong in my lists, or complete them.


    unknown programming language
    --------------------------------------
    AIChess (C# ??)
    AliChess
    Bison
    Blitzer
    Capture
    Clarabit
    Counter
    Damas
    Elf
    Etudé
    Laurifer
    Myrddin
    Robin
    RoboKewlper
    Sinapse
    Thinker
    Woodpecker
    Zephyr

    in C or C++
    -------------
    Alaric
    Alderon
    Arics
    Braincrack
    Brama
    Cecir
    Cefap
    Chad's Chess
    Chaturanga
    Chronos
    Clueless
    Colossus
    Cyberpagno
    DeepTrouble
    Dorky
    EvilKnight
    Evolution Chess
    Fauce
    FimbulWinter
    GarboChess
    Gargamella
    GES
    Gibbon
    GK
    Gosu
    Grizzly
    Hagrid
    Hamsters
    iChess
    JanWillem
    Jester
    Joana
    KillerQueen
    KKFChess
    Madeleine
    Mint
    Monik
    Morphy
    DRChess / MRChess
    Muriel / KDLChess
    Mystery
    N2
    NewRival
    NoonianChess
    Omar / AlfonsoX
    Plywood
    Pro Deo
    Pseudo
    Rodin
    Scorpio
    Sierzant = Porucznik ?
    Smash
    Snitch
    Soldat
    Storm
    StrategicDeep
    Tamerlane
    Tao
    Tarrasch
    T-Rex
    Usurper
    Yawce
    Zotron


    in C#
    ------
    SharpChess2


    in Java
    ---------
    Alf
    DeepDuke


    in VisualBasic
    ----------------
    Marginal


And here the list of engines written in Pascal or Object Pascal and compiled with Delphi, FreePascal, GNU Pascal, Lazarus, TurboPascal and so on.

    in Pascal or Object Pascal
    ------------------------------------------------------------------------
    Akiba (does not run under Arena, only under Winboard, because of wrong protocol implementation)
    Anatoli
    Anechka
    Bestia
    BlackBishop
    Booot
    Celes
    Critter Chess
    Crux
    Czolgista (private)
    Delfi
    Delphil
    DelphiMax
    Dirty (the exe in C++, the evaluation DLL in Delphi)
    Eagle
    EveAnn
    Excelsior
    Feuerstein
    FreeChess
    Gedeone
    Geko
    Goldbar (private)
    Holmes
    Ikarus (private / was also on Young Talents CD)
    Mater (mate solving prog)
    Monarch (old versions until version 2002.04c)
    Nero
    Neurosis
    Nexus (private)
    Petir
    Philou
    Protej
    RBrChess (does not start as white under Arena?)
    RDChess
    Spiderchess
    SSEChess (old 1.x versions)
    Stan's Chess
    Trynyty (crashes very often)
    TSCP Delphi (translation of TSCP 1.81 by Philippe Fabiani)
    Ufim
    Uragano
    WESP (private)
    Xinix (private)
    ZZZZZZ (old versions in Delphi, the current seems to be written in C)


Something wrong or do i miss some Pascal engines?


Andreas
User avatar
Andreas Herrmann
 
Posts: 13
Joined: 04 Nov 2006, 10:12
Location: Germany

Re: Engines written in which programming language?

Postby Roman Hartmann » 01 Jun 2009, 17:42

Hi,
no Pascal engine here but another one written in C. Roce (first version released in 2005) is written in C.

best regards
Roman
User avatar
Roman Hartmann
 
Posts: 155
Joined: 11 Oct 2004, 14:21

Re: Engines written in which programming language?

Postby Dann Corbit » 01 Jun 2009, 21:26

There are a few strange things in your list.
You can almost always find out exactly what compiler an image was built with.
1. If it is compressed, decompress it.
2. Run strings.exe against it
3. Examine the strings.exe output
The names of the symbols in the strings.exe output will tell you what compiler was used, almost 100%

For instance, this is from a Bison dump:
Code: Select all
GetTickCount
PeekNamedPipe
GetNumberOfConsoleInputEvents
FlushConsoleInputBuffer
SetConsoleMode
GetConsoleMode
GetStdHandle
KERNEL32.dll
strchr
strstr
printf
memset
sprintf
atoi
toupper
isupper
isdigit
free
memcpy
malloc
exit
fgets
__iob_func
setvbuf
__CxxFrameHandler3
??2@YAPAXI@Z
MSVCR80.dll
?terminate@@YAXXZ
_amsg_exit
__getmainargs
_cexit
_exit
_XcptFilter
__initenv
_initterm
_initterm_e
_configthreadlocale
__setusermatherr
_adjust_fdiv
__p__commode
__p__fmode
_encode_pointer
__set_app_type
_crt_debugger_hook
_except_handler4_common
_unlock
__dllonexit
_lock
_onexit
_decode_pointer
_invoke_watson
_controlfp_s
InterlockedExchange
Sleep
InterlockedCompareExchange
TerminateProcess
GetCurrentProcess
UnhandledExceptionFilter
SetUnhandledExceptionFilter
IsDebuggerPresent
QueryPerformanceCounter
GetCurrentThreadId
GetCurrentProcessId
GetSystemTimeAsFileTime
_itoa
button
check
combo
spin
string

Those symbols are from the Windows API, the C standard library and a few C++ methods.
Dann Corbit
 

Re: Engines written in which programming language?

Postby Dann Corbit » 01 Jun 2009, 21:34

These are .NET chess programs:
CheckMate
ChEngine
chessengine
cs-chess
csboard
Valil.Chess
csharp-chess
fafis
FsharpChess
Huo Chess
kingsout-0.2
Milady
rnChess
SharpChess
spastic
starter
uche
WoodPusher
Dann Corbit
 

Re: Engines written in which programming language?

Postby Dann Corbit » 01 Jun 2009, 21:35

For Java programs, look at Jim Ablett's site.
Dann Corbit
 

Re: Engines written in which programming language?

Postby Andreas Herrmann » 01 Jun 2009, 23:09

Hi Dann,

Dann Corbit wrote:There are a few strange things in your list.
You can almost always find out exactly what compiler an image was built with.
1. If it is compressed, decompress it.
2. Run strings.exe against it
3. Examine the strings.exe output
The names of the symbols in the strings.exe output will tell you what compiler was used, almost 100%

Those symbols are from the Windows API, the C standard library and a few C++ methods.


What is strings.exe, where do i find it? The Windows API can be used also from other languages, not only from C or C++. For example under Delphi you can use also the Windows API functions. And i don't know the C or C++ librarys. I have searched inside the exe files with a hex editor for strings like "Delphi" "Intel" "C++" "GNU" "Visual Studio" "Microsoft" ".c" ".h" ".pas" and simillar strings to find out the programming language.

Andreas

PS: I have just find a prog strings.exe here http://technet.microsoft.com/en-us/sysinternals/bb897439.aspx. Is that the right one?
User avatar
Andreas Herrmann
 
Posts: 13
Joined: 04 Nov 2006, 10:12
Location: Germany

Re: Engines written in which programming language?

Postby Dann Corbit » 02 Jun 2009, 03:36

Probably that binary is fine.
Some results (chess binaries, many not UCI or Winboard engines):
gb.exe (older goldbar) Borland Delphi
GK.exe Intel C++
Py.exe Microsoft Visual C++
g2.exe Microsoft Visual C++
ia.exe Microsoft Visual C++
ot.exe Microsoft Visual C++
pv.exe Microsoft Visual C++
tb.dll Borland C++ helper DLL
CTO.exe Microsoft Visual C++
Dan.exe Microsoft Visual C++
ECE.exe Microsoft Visual C++
Elf.exe Microsoft Visual C++
Feg.exe Microsoft Visual C++
G51.exe Microsoft Visual C++
GFC.exe Microsoft Visual C++
KKF.exe Microsoft Visual C++
N3D.dll Borland Delphi
SEE.exe GCC compiled Java
abc.exe GCC compiled C++
amy.exe Intel C++
ant.exe Microsoft Visual C++
bsc.exe GCC compiled C++
ca9.exe Borland Delphi
cpw.exe Microsoft Visual C++
eoc.exe Microsoft Visual C++
ges.exe Microsoft Visual C++
mad.exe Microsoft Visual C++
p2c.exe GCC compiled C++
pew.exe Microsoft Visual C++
sam.exe Microsoft Visual C++
tcb.exe Microsoft Visual C++
zct.exe Microsoft Visual C++
AR63.exe Microsoft Visual C++
Adam.exe Microsoft Visual C++
Alex.exe Microsoft Visual C++
Atak.exe Microsoft Visual C++
BOOK.exe Microsoft Visual C++
Buzz.exe Microsoft Visual C++
CPP1.exe Microsoft Visual C++
Flux.exe Java compiler
IACH.exe Microsoft Visual C++
IQ23.exe Microsoft Visual C++
KKFm.exe Microsoft Visual C++
KKFp.exe Microsoft Visual C++
Kiwi.exe Intel C++
Omar.exe Microsoft Visual C++
Witz.exe Microsoft Visual C++
Z2k3.exe Borland C++
aice.exe Microsoft Visual C++
amym.exe Microsoft Visual C++
bodo.exe Microsoft Visual C++
cito.exe Microsoft Visual C++
eden.exe compiled Java
egbb.dll Microsoft Visual C++
gosu.exe Microsoft Visual C++
goto.exe Microsoft Visual C++
gray.exe Mingw GCC
grey.exe Microsoft Visual C++
kace.exe Cygwin GCC
lime.exe Microsoft Visual C++
naum.exe Microsoft Visual C++
pg14.exe Mingw GCC
sage.exe Microsoft Visual C++
sdbc.exe Microsoft Visual C++
slow.exe Microsoft Visual C++
thor.exe Microsoft Visual C++
toga.exe Microsoft Visual C++
trex.exe Mingw GCC
wide.exe Microsoft Visual C++
yace.exe Microsoft Visual C++
zeus.exe Microsoft Visual C++
AYITO.exe Microsoft Visual C++
Akiba.exe Borland Delphi
Alice.exe Cygwin GCC
Arena.exe Borland Delphi
BSC23.exe-BSC28.exe Cygwin GCC
Bench.exe Cygwin GCC
Booot.exe Borland Delphi
Delay.exe Microsoft Visual C++
Dirty.exe Microsoft Visual C++
Dorky.exe Microsoft Visual C++
FAUCE.exe Microsoft Visual C++
FF215.exe Mingw GCC or Microsoft Visual C++
Fancy.exe Borland Delphi
GTest.exe Borland Delphi
JSBAM.exe Microsoft Visual C++
KKFmx.exe Microsoft Visual C++
Ktulu.exe Borland C++
Mizar.exe Microsoft Visual C++
Natch.exe Microsoft Visual C++
Petir.exe Borland Delphi
Pirat.exe Borland Delphi
Quark.exe Microsoft Visual C++
Rodin.exe Mingw GCC
SCOLD.exe Borland Turbo C
SKAKI.exe Microsoft Visual C++
Sissa.exe Mingw GCC
Spike.exe Microsoft Visual C++
TBCMP.exe Microsoft Visual C++
TBGEN.exe Microsoft Visual C++
Terra.exe Microsoft Visual C++
Tytan.exe Microsoft Visual C++
Utils.dll Borland Delphi
VB6DE.dll Microsoft VB6
VB6IT.dll Microsoft VB6
Vicki.exe Mingw GCC
Yin53.exe Boaland C++
Yin54.exe Microsoft Visual C++
ZL_20.exe Mingw GCC
ace64.exe Microsoft Visual C++
alfil.exe Mingw GCC
amyan.exe Microsoft Visual C++
atlas.exe Microsoft Visual C++
blitz.exe Intel Fortran
Bruja.exe Microsoft Visual C++
cecir.exe GCC Java compiler
cefap.exe Microsoft Visual C++
dirty.dll Borland Delphi
djinn.exe Microsoft Visual C++
frank.exe Mingw GCC
glean.exe Microsoft Visual C++
gnuan.exe cygwin GCC
goyaz.exe Borland Delphi
greko.exe Intel C++
homer.exe Microsoft Visual C++
ifrit.exe Microsoft Visual C++
joana.exe Microsoft Visual C++
learn.exe Cygwin GCC
movei.exe Microsoft Visual C++
mpich.dll Microsoft Visual C++
nesik.exe Borland C++
parse.exe Microsoft Visual C++
perft.exe Microsoft Visual C++
reger.exe Microsoft Visual C++
rotor.exe Microsoft Visual C++
sachy.exe Intel C++
scidt.exe Mingw GCC
simon.exe Microsoft Visual C++
smash.exe GCC Java compiler
tikov.exe Microsoft Visual C++
trace.exe Microsoft Visual C++
tscpn.exe Microsoft Visual C++
viper.exe Intel C++
wbalf.exe Java compiler
xpdnt.exe Microsoft Visual C++
yin56.exe Borland C++
zappa.exe Microsoft Visual C++
AMY0_7.exe - AMY0_8.exe Intel C++
AVERNO.exe Intel C++
Adam30.exe - Adam31.exe Microsoft Visual C++
Alf107.exe Java compiler
Alfil8.exe Microsoft Visual C++
Atak16.exe Microsoft Visual C++
Atak32.exe Microsoft Visual C++
Atak64.exe Microsoft Visual C++
CILIAN.exe Microsoft Visual C++
Cheoss.exe Java compiler
ChessV.exe Microsoft Visual C++
DanSMP.exe Microsoft Visual C++
Dgt2Wb.exe Microsoft Visual C++
EPD2WB.exe Microsoft Visual C++
EngMan.exe VB6
Engine.exe Microsoft Visual C++
FROMCB.exe Microsoft Visual C++
FluxII.exe JAVA Compiler
FullPV.exe Cygwin GCC
GK_090.exe Intel C++
GOYAZ1.exe - GOYAZ4.exe Borland Delphi
Holmes.exe Borland Delphi
JChess.exe GCC Java compiler
KKFpmx.exe Microsoft Visual C++
KQ-1_0.exe Microsoft Visual C++
KQ-1_0.exe Microsoft Visual C++
KQ2-b1.exe Microsoft Visual C++
KQ2-b3.exe Microsoft Visual C++
LC2EPD.dll Microsoft Visual C++
LGPGNC.exe Old Borland compiler (1992)
LIME22.exe Mingw GCC
LIME48.exe Mingw GCC
LIME62.exe Mingw GCC
Lg39Wb.exe Microsoft Visual C++
Maniac.exe VB6
Matacz.exe Microsoft Visual C++
Matrix.exe Intel C++
Orbius.exe Microsoft Visual C++
PGNMAN.exe Borland C++
PSWBTM.exe Mingw Java compiler? {This one is a little confusing}
Persed.exe Borland Delphi
Philou.exe Borland Delphi
Pos112.exe Java compiler
Quark6.exe Microsoft Visual C++
SCHACH.exe Microsoft Visual C++
SMPexe.exe Microsoft Visual C++
Sage11.exe - Sage13.exe Microsoft Visual C++
TBSTAT.exe Microsoft Visual C++
Taktix.exe Borland Delphi
Tao5_4.exe Microsoft Visual C++
Tao5_6.exe Borland C++
TogaII.exe Microsoft Visual C++
Tuxedo.exe Microsoft Visual C++
WAXMAN.exe Microsoft Visual C++
Wb2Uci.exe Microsoft Visual C++
ZARKOV.exe Borland C++
ZChess.exe Microsoft Visual C++
adam16.exe Microsoft Visual C++
alaric.exe Microsoft Visual C++
arasan.exe Microsoft Visual C++
awe144.exe- awe167.exe Borland C++
brutus.exe Microsoft Visual C++
chess1.exe Mingw GCC
cito12.exe Microsoft Visual C++
cito15.exe Microsoft Visual C++
cito20.exe Microsoft Visual C++
cyrano.exe Microsoft Visual C++
damas7.exe Mingw GCC
Diablo.exe Microsoft Visual C++
eeyore.exe Microsoft Visual C++
egtb64.dll Microsoft Visual C++
engine.dll Microsoft Visual C++
enigma.exe Mingw GCC
eveann.exe Borland Delphi
exacto.exe Microsoft Visual C++
fw_105.exe Mingw GCC
gaia10.exe Mingw GCC
gaia20.exe Mingw GCC
gaia35.exe Microsoft Visual C++
glc300.exe Microsoft Visual C++
gully2.exe Microsoft Visual C++
hagrid.exe Microsoft Visual C++
iChess.exe Microsoft Visual C++
jchecs.exe (GCC? -- not sure about this one)
jester.exe Intel C++
joanna.exe Microsoft Visual C++
kvetka.exe Borland Delphi
lime_1.exe Microsoft Visual C++
marvin.exe Microsoft Visual C++
mooboo.exe GCC
mscp16.exe Microsoft Visual C++
muriel.exe Cygwin GCC
nanook.exe Mingw GCC
nchess.exe Cygwin GCC
needle.exe Microsoft Visual C++
nomate.exe Microsoft Visual C++
ochess.exe GCC
parrot.exe Mingw GCC
pepito.exe Intel C++
pierre.exe Intel C++
prodeo.exe Unknown compiler
qchess.exe Borland Delphi
roce03.exe Microsoft Visual C++
roce38.exe Microsoft Visual C++
schess.exe Microsoft Visual C++
schola.exe Microsoft Visual C++
sloppy.exe Microsoft Visual C++
snitch.exe Microsoft Visual C++
strong.exe Microsoft Visual C++
szachy.exe Microsoft Visual C++
teedee.exe Microsoft Visual C++
zzzzzz.exe Intel C++
ADRIANO.exe Microsoft Visual C++
ALChess.exe Microsoft VB.Net
AMY0_83.exe Intel(R) C++
AMY0_87.exe Mingw GCC
Adamant.exe Borland C++
Alex002.exe Microsoft Visual C++
Alex139.exe Microsoft Visual C++
Alex140.exe Microsoft Visual C++
Alex141.exe Microsoft Visual C++
Alex161.exe Microsoft Visual C++
Alex178.exe Microsoft Visual C++
Alex187.exe Microsoft Visual C++
Anatoli.exe Borland Delphi
Ant-606.exe Microsoft Visual C++
Atak128.exe Microsoft Visual C++
BBChess.exe Microsoft Visual C++
BaChess.exe Microsoft Visual C++
Baron_2.exe Microsoft Visual C++
Beowulf.exe Intel C++
Betsy_6.exe Microsoft Visual C++
BigLion.exe Borland Delphi
BlueWin.exe Microsoft Visual C++
Booot23.exe - Booot49.exe Borland Delphi
Bringer.exe Microsoft Visual C++
CECIR35.exe GCC Java compiler
Chronos.exe Microsoft Visual C++
ChsGame.dll Microsoft Visual C++
Compare.exe Microsoft Visual C++
Crafty1.exe Microsoft Visual C++
Delphil.exe Borland Delphi
Dimitri.exe VB6
ELOstat.exe Borland C++
EPD2PGN.exe Borland Delphi
EPDUtil.exe Borland Delphi
Eagle03.exe Borland Delphi
Esc-116.exe Microsoft Visual C++
Euclide.exe Microsoft Visual C++
FENTool.exe Borland Delphi
FF124r2.exe Microsoft Visual C++
FLUX2_0.exe - FLUX2_2.exe Java compiler
FROMERT.exe Microsoft Visual C++
FireFly.exe Microsoft Visual C++
Fruit23.exe Microsoft Visual C++
GES_136.exe Microsoft Visual C++
GSCHESS.exe Borland C++
GTChess.exe Java compiler
GkSui18.exe Microsoft Visual C++
Golem01.exe Microsoft Visual C++
GreKo30.exe - GreKo32.exe Microsoft Visual C++
Gromit2.exe Cygwin GCC
Hermann.exe Microsoft Visual C++
Horizon.exe Microsoft Visual C++
Human_1.exe - Human_2.exe Borland C++
Jupiter.exe Microsoft Visual C++
KQ-0_65.exe Microsoft Visual C++
KQ-0_67.exe Microsoft Visual C++
LG38uci.exe Microsoft Visual C++
LGERBIL.exe Microsoft Visual C++
LaMoSca.exe Intel C++
Latista.exe Microsoft Visual C++
Lg39UCI.exe Microsoft Visual C++
MINT2_3.exe Microsoft Visual C++
Mad-009.exe Microsoft Visual C++
Matilde.exe VB6
Monarch.exe Microsoft Visual C++
Myrddin.exe Microsoft Visual C++
Mystery.exe Microsoft Visual C++
NAUM1_6.exe Microsoft Visual C++
NAUM2_0.exe Microsoft Visual C++
O'CHESS.exe GCC
OBK2PGN.exe Microsoft Visual C++
OBender.exe Microsoft Visual C++
PIRANHA.exe Borland Delphi
Pharaon.exe Microsoft Visual C++
Plywood.exe Microsoft Visual C++
Pooky21.exe - Pooky26.exe Mingw GCC
Pooky27.exe Intel C++
RDchess.exe Borland Delphi
Rooster.exe Microsoft Visual C++
SCACCHI.exe Borland Turbo C
SCP1_0d.exe - SCP1_0e.exe - SCP1_0i.exe Intel C++
Sage188.exeMicrosoft Visual C++
Sage22a.exe Microsoft Visual C++
Sharper.exe Microsoft Visual C++
Siboney.exe Microsoft Visual C++
Sinobyl.exe Microsoft Visual C++
Spike10.exe Microsoft Visual C++
Spike11.exe Microsoft Visual C++
Strelka.exe Microsoft Visual C++
TSCP181.exe Microsoft Visual C++
Terra31.exe Microsoft Visual C++
Terra33.exe Microsoft Visual C++
Testina.exe VB6
TheKing.exe Microsoft Visual C++
TogaIIa.exe Microsoft Visual C++
Tytan64.exe Microsoft Visual C++
WBMatch.exe VB6
WJChess.exe Microsoft Visual C++
WildCat.exe Microsoft Visual C++
Wilhelm.dll Microsoft Visual C++
WinEgtb.dll Microsoft Visual C++
abk2pgn.exe Microsoft Visual C++
accbook.dll Microsoft Visual C++
adam26b.exe Microsoft Visual C++
adam_27.exe Microsoft Visual C++
adapter.exe Microsoft Visual C++
alderon.exe Microsoft Visual C++
alf106a.exe java compiler
alibaba.exe Intel C++
arabian.exe Java compiler
arasanx.exe Microsoft Visual C++
awe153A.exe Borland C++
awe1_57.exe Borland C++
baronP4.exe Microsoft Visual C++
beaches.exe Borland C++
belofte.exe Mingw GCC
bikjump.exe Microsoft Visual C++
ABROK2_0602.exe Borland C++
ABROK2_0821.exe Borland C++
ARCBISHOP1_00a.exe SVW3Borland C++
ARCBISHOP1_00c.exe Borland C++
ARCBISHOP80v1_00.exe Borland C++
Adamant.exe Borland C++
Adamant_17.exe Borland C++
AjetacGUI.exe Borland C++
Asterisk_036.exe t2Borland C++
BBR_CHESS10.exe SVBorland C++
BEACHES1_1.exe Borland C++
BEACHES1_5.exe SVWBorland C++
BEACHES1_5_2.exe Borland C++
BIGLION2_23v.exe Borland C++
BIGLION2_23w.exe Borland C++
BIGLION2_23x.exe Borland C++
BUGCHESS.exe Borland C++
BigLion.exe ]Borland C++
CHANCELLOR1_00a.exe Borland C++
CHANCELLOR1_00c.exe Borland C++
Chess-it!.exe Borland C++
ChessExplorer.exe Borland C++
ChessGUI.exe Borland C++
DeepTrouble-100.exe Borland C++
DeepTrouble.exe Borland C++
ELOstat.exe Borland C++
EXACTO_0_d.exe Borland C++
FindDraw.exe Borland C++
GSCHESS.exe Borland C++
Gargamella-050.exe Borland C++
Human_1.exe EBorland C++
Human_2.exe EBorland C++
Ktulu.exe Borland C++
Ktulu_51.exe rBorland C++
Ktulu_71.exe Borland C++
Ktulu_75.exe Borland C++
Ktulu_80.exe Borland C++
LAMBCHOP1099.exe Borland C++
LadyGambit.exe Borland C++
LambChop_1099.exe Borland C++
MFChess-01.exe Borland C++
MWTCv1000.exe Borland C++
MainsBookMaker6.exe Borland C++
MainsworthyWinBoardArenaChessEngine Borland C++
Morphy_322.exe Borland C++
NagaSkaki.exe Borland C++
NewRival-1829.exe Borland C++
OBENDER2_02.exe Borland C++
OBENDER2_03.exe Borland C++
OBENDER2_09.exe Borland C++
OBENDER2_10.exe Borland C++
OBENDER2_11_5.exe Borland C++
Obender2_08.exe Borland C++
Obender_205.exe Borland C++
PGNMAN.exe Borland C++
PIECECVT.exe: Borland C++ -
PIRANHA.exe UBorland C++
PORUCZNIK3.exe Borland C++
PORUCZNIK4.exe Borland C++
PORUCZNIK8.exe Borland C++
PORUCZNIK8winboardx.exe Borland C++
PORUCZNIK9.exe Borland C++
Project1.dll Borland C++
Project2.dll Borland C++
Project3.dll Borland C++
Raffaela-005.exe Borland C++
Raffaela.exe Borland C++
Robin0_983.exe Borland C++
RobinEngine-096.exe Borland C++
RobinEngine.exe Borland C++
Sierzant_026.exe Borland C++
SmirfGUI.exe Borland C++
SonOfMainsworthy04WinBoardArenaChess Borland C++
TAKTIX2_23v.exe Borland C++
TAKTIX2_23w.exe YBorland C++
TAKTIX2_23x.exe Borland C++
Taktix.exe Borland C++
Tao5_6.exe Borland C++
Trace124.exe Borland C++
Trace125.exe Borland C++
Yin53.exe Borland C++
Z2k3.exe Borland C++
ZARKOV.exe Borland C++
Zotron_446.exe Borland C++
awe144.exe Borland C++
awe145.exe Borland C++
awe146.exe Borland C++
awe147.exe Borland C++
awe148.exe Borland C++
awe151.exe Borland C++
awe153A.exe Borland C++
awe164.exe Borland C++
awe167.exe Borland C++
awe1_57.exe Borland C++
awecon-11.exe Borland C++
awesome_170.exe Borland C++
beaches-150.exe Borland C++
beaches.exe Borland C++
chop1099.exe Borland C++
gargamella_050.exe Borland C++
ghost-13.exe Borland C++
hokpok_055.exe Borland C++
hokpok_056.exe Borland C++
hokpok_063.exe Borland C++
joanna2002.exe Borland C++
monik-211.exe Borland C++
morphy-322.exe Borland C++
nesik.exe Borland C++
obender207.exe Borland C++
pgn2pgc.exe Borland C++
qqchess.exe Borland C++
surprise-4_1.exe: Borland C++
surprise-4_1_1.exe Borland C++
surprise-4_1_5.exe Borland C++
tb.dll Borland C++
trace121.exe Borland C++
trace122.exe Borland C++
trace127.exe Borland C++
trace128.exe PSVBorland C++
trace129.exe XBorland C++
xadreco51.exe Borland C++
yin56.exe Borland C++
butcher.exe Microsoft Visual C++
chenard.exe Microsoft Visual C++
cito143.exe Microsoft Visual C++
cyclone.exe Microsoft Visual C++
dabbaba.exe Intel C++
damas7a.exe - damas7c.exe Mingw GCC
danasah.exe Microsoft Visual C++
dietmad.exe Microsoft Visual C++
eco2epd.exe Mingw GCC
ecoList.exe Java compiler
exchess.exe Intel C++
f21b-db.exe -f21g-gb.exe Microsoft Visual C++
fin2tex.exe Microsoft Visual C++
fin2zzz.exe Microsoft Visual C++
frenzee.exe Microsoft Visual C++
fruit22.exe Microsoft Visual C++
fruit_x.exe Microsoft Visual C++
gaia22a.exe Mingw GCC
glc3000.exe Microsoft Visual C++
glc3034.exe Microsoft Visual C++
glc3122.exe Microsoft Visual C++
gothmog.exe Cygwin GCC
greko59.exe Microsoft Visual C++
greko64.exe Microsoft Visual C++
hoplite.exe Microsoft Visual C++
kace-08.exe Intel C++
lc2cbcv.dll Microsoft Visual C++
makeeco.exe Microsoft Visual C++
matelev.exe Microsoft Visual C++
mfchess.exe Microsoft Visual C++
mint_23.exe Microsoft Visual C++
monsoon.exe Intel C++
naum2_1.exe : Microsoft Visual C++
naum3_0.exe Microsoft Visual C++
omar3_1.exe Microsoft Visual C++
pgn2epd.exe Microsoft Visual C++
pgn2fen.exe Microsoft Visual C++
pgn2pgc.exe Borland C++
pgnscan.exe Microsoft Visual C++
pgnscid.exe Mingw GCC
prophet.exe Intel C++
pywin32.exe Microsoft Visual C++
pywin98.exe Microsoft Visual C++
qqchess.exe Borland C++
rainman.exe Microsoft Visual C++
rattate.exe Cygwin GCC
resp019.exe Microsoft Visual C++
roce036.exe Microsoft Visual C++
roce350.exe Microsoft Visual C++
scidlet.exe Microsoft Visual C++
scmerge.exe Mingw GCC
scorpio.exe Intel C++
simonBB.exe Microsoft Visual C++
sinapse.exe Microsoft Visual C++
slow294.exe Microsoft Visual C++
slow296.exe Microsoft Visual C++
slowWV2.exe Microsoft Visual C++
spike12.exe Microsoft Visual C++
ssech_i.exe Intel C++
sseches.exe Microsoft Visual C++
terra34.exe Microsoft Visual C++
testsrc.exe Microsoft Visual C++
trex_15.exe Mingw GCC
trex_17.exe Mingw GCC
trex_19.exe Mingw GCC
typhoon.exe Intel C++
ufim401.exe - ufim802.exe Borland Delphi
warrior.exe Mingw GCC
xadreco.exe Microsoft Visual C++
xyclOps.exe Microsoft Visual C++
yace015.exe Microsoft Visual C++
yace016.exe Microsoft Visual C++
yace017.exe Microsoft Visual C++
yace018.exe Microsoft Visual C++
yace020.exe Microsoft Visual C++
yace021.exe Microsoft Visual C++
yace022.exe Microsoft Visual C++
yace023.exe Microsoft Visual C++
yace_pb.exe Microsoft Visual C++
zct_x64.exe Microsoft Visual C++
etc.
Dann Corbit
 

Re: Engines written in which programming language?

Postby Andreas Herrmann » 02 Jun 2009, 19:55

Hi Dann,

great list!!!!!!!!! :o

But i see some mistakes in your list. In Programs which are compiled with Borland C++, you will find often both strings "Delphi" and "Borland C++". That's because Borland C++ uses the Delphi librarys.
Piranha: is compiled with "Borland C++ - Copyright 1999 Inprise Corporation"
BigLion and Taktix: are both compiled with "Borland C++ - Copyright 1999 Inprise Corporation"


The following are a bit strange:

Celes: WBEC Info page says Delphi but...
31337.exe (Version 0.30): I can't find in the EXE which Compiler he has used
Celes.exe (Version 0.77): I can't find in the EXE which Compiler he has used

Crux: is compressed with Petite, but i know that Crux was together with Bestia and my Holmes one of the first free Delphi Engines

unknown Compiler
Feuerstein (Feuerstein0461.exe): The source code is Pascal, but i can't find in the EXE which Compiler he has used.
FreeChess (FreeChess2uci.exe): The source code is Pascal, but i can't find in the EXE which Compiler he has used.

Excelsior
It seems he has changed the programming language between version 2.x and 3.x
Version 2.32b: Borland Delphi
Version 3.16 : C# (Info from WBEC and string "D:\Projects\C#\PROJECTS\X3.16 (HT)\X3\obj\x86\Release\Excelsior316.pdb" in EXE)


And i have find out that Programs compiled with FreePascal can be easy regognized by searching for "FPC "

FreePascal
Neurosis (Neurosis.exe): FPC 1.0.6 [2002/04/26] for i386 - WIN32
Stan's Chess (SchessWB.exe): FPC 1.0.6 [2002/04/26] for i386 - WIN32
Nero (nero_61.exe): FPC 2.0.0 [2005/05/08] for i386 - Win32
RBrChess (RBrChessV212.exe): FPC 2.2.2 [2008/08/03] for i386 - Win32

Lazarus
(can be recognized by strings "Lazarus" AND "FPC ...") because Lazarus uses intern a FreePascal Compiler
Protej (protej044.exe): strings "Lazarus" and "FPC 1.9.4 [2004/05/30] for i386 - Win32"



Andreas
User avatar
Andreas Herrmann
 
Posts: 13
Joined: 04 Nov 2006, 10:12
Location: Germany

Re: Engines written in which programming language?

Postby Dann Corbit » 02 Jun 2009, 20:09

Andreas Herrmann wrote:Hi Dann,

great list!!!!!!!!! :o

But i see some mistakes in your list. In Programs which are compiled with Borland C++, you will find often both strings "Delphi" and "Borland C++". That's because Borland C++ uses the Delphi librarys.
Piranha: is compiled with "Borland C++ - Copyright 1999 Inprise Corporation"
BigLion and Taktix: are both compiled with "Borland C++ - Copyright 1999 Inprise Corporation"

Yes, I just spent 2 seconds looking at the outputs. I guess 1/4 of them are just wrong.

The following are a bit strange:

Celes: WBEC Info page says Delphi but...
31337.exe (Version 0.30): I can't find in the EXE which Compiler he has used
Celes.exe (Version 0.77): I can't find in the EXE which Compiler he has used

I think that 31337 is written in C. The binary is full of C standard library function symbol names. Of course, it may simply link to the C runtime DLL, but this string within the binary is highly suspicious of C:
"Microsoft Visual C++ Runtime Library
Crux: is compressed with Petite, but i know that Crux was together with Bestia and my Holmes one of the first free Delphi Engines

unknown Compiler
Feuerstein (Feuerstein0461.exe): The source code is Pascal, but i can't find in the EXE which Compiler he has used.
FreeChess (FreeChess2uci.exe): The source code is Pascal, but i can't find in the EXE which Compiler he has used.

Excelsior
It seems he has changed the programming language between version 2.x and 3.x
Version 2.32b: Borland Delphi
Version 3.16 : C# (Info from WBEC and string "D:\Projects\C#\PROJECTS\X3.16 (HT)\X3\obj\x86\Release\Excelsior316.pdb" in EXE)


And i have find out that Programs compiled with FreePascal can be easy regognized by searching for "FPC "

FreePascal
Neurosis (Neurosis.exe): FPC 1.0.6 [2002/04/26] for i386 - WIN32
Stan's Chess (SchessWB.exe): FPC 1.0.6 [2002/04/26] for i386 - WIN32
Nero (nero_61.exe): FPC 2.0.0 [2005/05/08] for i386 - Win32
RBrChess (RBrChessV212.exe): FPC 2.2.2 [2008/08/03] for i386 - Win32

Lazarus
(can be recognized by strings "Lazarus" AND "FPC ...") because Lazarus uses intern a FreePascal Compiler
Protej (protej044.exe): strings "Lazarus" and "FPC 1.9.4 [2004/05/30] for i386 - Win32"



Andreas
Dann Corbit
 

Re: Engines written in which programming language?

Postby Andreas Herrmann » 02 Jun 2009, 20:57

Celes: WBEC Info page says Delphi but...
31337.exe (Version 0.30): I can't find in the EXE which Compiler he has used
Celes.exe (Version 0.77): I can't find in the EXE which Compiler he has used

I think that 31337 is written in C. The binary is full of C standard library function symbol names. Of course, it may simply link to the C runtime DLL, but this string within the binary is highly suspicious of C:
"Microsoft Visual C++ Runtime Library


Perhaps you have checked another version of Celes. In the above two versions you will find nothing of that.
So i have checked two other versions of Celes i have found on my computer:
31337.exe (Version 0.40): no Info inside the EXE which could recognize the Compiler
Celes.exe (Version 0.75c): In this version i find the same, than you discribed. "Microsoft Visual C++ Runtime Library".
Perhaps the versions are compiled with diffrent compilers or v0.30, v0.40 and v0.77 are compressed.
User avatar
Andreas Herrmann
 
Posts: 13
Joined: 04 Nov 2006, 10:12
Location: Germany

Re: Engines written in which programming language?

Postby rvida » 02 Jun 2009, 22:54

Andreas Herrmann wrote:
unknown Compiler
Feuerstein (Feuerstein0461.exe): The source code is Pascal, but i can't find in the EXE which Compiler he has used.


Feuerstein binary is packed with UPX. After decompressing (upx -d Feuestein0461.exe) you could find a string in the exe that says "Portions Copyright (c) 1983,99 Borland"
I think its an older version of delphi (<=Delphi5)
---
Richard Vida
rvida
 
Posts: 6
Joined: 26 Apr 2009, 10:57

Re: Engines written in which programming language?

Postby Andreas Herrmann » 04 Jun 2009, 10:40

rvida wrote:
Andreas Herrmann wrote:
unknown Compiler
Feuerstein (Feuerstein0461.exe): The source code is Pascal, but i can't find in the EXE which Compiler he has used.


Feuerstein binary is packed with UPX. After decompressing (upx -d Feuestein0461.exe) you could find a string in the exe that says "Portions Copyright (c) 1983,99 Borland"
I think its an older version of delphi (<=Delphi5)



You are right. It seems there are several programmers who are packing their binary files.
Congrats to your strong program Critter! You write on your web site, that you have compiled it with Delphi 2007. I have only versions up to Delphi 7 and Turbo Delphi 2006. All these versions does'nt support uint64 free of bugs in all integer functions. For example the function IntToStr handles an uint64 as an (signed) int64. Does Delphi 2007 support uint64 correct in all functions?

Andreas
User avatar
Andreas Herrmann
 
Posts: 13
Joined: 04 Nov 2006, 10:12
Location: Germany

Re: Engines written in which programming language?

Postby rvida » 04 Jun 2009, 12:22

Andreas Herrmann wrote:
rvida wrote:
Andreas Herrmann wrote:
unknown Compiler
Feuerstein (Feuerstein0461.exe): The source code is Pascal, but i can't find in the EXE which Compiler he has used.


Feuerstein binary is packed with UPX. After decompressing (upx -d Feuestein0461.exe) you could find a string in the exe that says "Portions Copyright (c) 1983,99 Borland"
I think its an older version of delphi (<=Delphi5)



You are right. It seems there are several programmers who are packing their binary files.
Congrats to your strong program Critter! You write on your web site, that you have compiled it with Delphi 2007. I have only versions up to Delphi 7 and Turbo Delphi 2006. All these versions does'nt support uint64 free of bugs in all integer functions. For example the function IntToStr handles an uint64 as an (signed) int64. Does Delphi 2007 support uint64 correct in all functions?

Andreas


I dont have much experience with uint64 since I do not use bitboards, I use uint64 only with hash keys. Compiler support seems to be OK, only RTL lacks some of uint64 overloaded functions.

PS. Try IntoToHex() or Format('%x',[uint64var]) instead of IntToStr()
---
Richard Vida
rvida
 
Posts: 6
Joined: 26 Apr 2009, 10:57

Re: Engines written in which programming language?

Postby stegemma » 04 Nov 2009, 11:01

For precision, all Raffaela engine is written in assembly. What's in C++ Builder is just the interface. For this reason, the engine should be considered written in assembly, because nothing about the engine is in C++.

My previous DOS program Drago was in assembly, even the interface (but it was not a WinBoard engine).

My actual engine "Freccia" is still fully in assembly, with a short interface in C. When i say in assembly i mean that i write directly .asm sources, not inline assembly, and the assembly code is for the whole engine, not only some routine, as some program does.

Thanks.
stegemma
 
Posts: 15
Joined: 03 Nov 2009, 23:30


Return to Programming and Technical Discussions

Who is online

Users browsing this forum: No registered users and 30 guests