New engine: Prelude 1.0
https://github.com/Quinniboi10/Prelude
New engine releases & news H1 2025
Moderator: Ras
-
- Posts: 1427
- Joined: Sat Jul 21, 2018 7:43 am
- Location: Budapest, Hungary
- Full name: Gabor Szots
Re: New engine releases & news H1 2025
Gabor Szots
CCRL testing group
CCRL testing group
-
- Posts: 1427
- Joined: Sat Jul 21, 2018 7:43 am
- Location: Budapest, Hungary
- Full name: Gabor Szots
Re: New engine releases & news H1 2025
New engine: Schneckbert by Nikolas Windheuser, Germany.
https://github.com/CommanderKugel/Schneckbert
https://github.com/CommanderKugel/Schneckbert
Gabor Szots
CCRL testing group
CCRL testing group
-
- Posts: 48
- Joined: Sun Oct 20, 2013 8:40 pm
- Full name: Ehsan Rashid
Re: New engine releases & news H1 2025
I uploaded the new DON Chess Engine executables
This time it has Fix for Load error also.
Including the GUI (Fritz 19, Scid and others)
and some major updates.
here are the links:
DON 3.1 x64 AVX2.exe
https://pixeldrain.com/u/WoMCtC3H
DON 3.1 x64 BMI2.exe
https://pixeldrain.com/u/ckpkLgT9
try and let me know if it works
Thanks
Ehsan Rashid
This time it has Fix for Load error also.
Including the GUI (Fritz 19, Scid and others)
and some major updates.
here are the links:
DON 3.1 x64 AVX2.exe
https://pixeldrain.com/u/WoMCtC3H
DON 3.1 x64 BMI2.exe
https://pixeldrain.com/u/ckpkLgT9
try and let me know if it works
Thanks
Ehsan Rashid
-
- Posts: 48
- Joined: Sun Oct 20, 2013 8:40 pm
- Full name: Ehsan Rashid
Re: New engine releases & news H1 2024
I uploaded the new DON Chess Engine executables
This time it has Fix for Load error also.
Including the GUI (Fritz 19, Scid and others)
and some major updates.
here are the links:
DON 3.1 x64 AVX2.exe
https://pixeldrain.com/u/WoMCtC3H
DON 3.1 x64 BMI2.exe
https://pixeldrain.com/u/ckpkLgT9
try and let me know if it works
Thanks
Ehsan Rashid
This time it has Fix for Load error also.
Including the GUI (Fritz 19, Scid and others)
and some major updates.
here are the links:
DON 3.1 x64 AVX2.exe
https://pixeldrain.com/u/WoMCtC3H
DON 3.1 x64 BMI2.exe
https://pixeldrain.com/u/ckpkLgT9
try and let me know if it works
Thanks
Ehsan Rashid
-
- Posts: 1069
- Joined: Thu Mar 09, 2006 4:15 pm
- Location: Long Island, NY, USA
Re: New engine releases & news H1 2025
Hi all,
I released a tool "epdFaux" in my 40H-EPD-2025 package of "epd" tools.
"epdFaux" removes all "faux" (false, fake, spurious) en passant notations in an "epd" file.
This includes "faux" notations due to (1) lack of opponent pawn to make the capture; (2) opponent's capturing pawn pinned to its own king which prevents the capture; and (3) the two-space pawn move uncovering a discovered check on the opponent's king preventing an ep capture.
Links below.
Norm Pollock
I released a tool "epdFaux" in my 40H-EPD-2025 package of "epd" tools.
"epdFaux" removes all "faux" (false, fake, spurious) en passant notations in an "epd" file.
This includes "faux" notations due to (1) lack of opponent pawn to make the capture; (2) opponent's capturing pawn pinned to its own king which prevents the capture; and (3) the two-space pawn move uncovering a discovered check on the opponent's king preventing an ep capture.
Links below.
Norm Pollock
-
- Posts: 1069
- Joined: Thu Mar 09, 2006 4:15 pm
- Location: Long Island, NY, USA
Re: New engine releases & news H1 2025
An addendum to my prior post:
According to epd rules, an ep notation should be there even though it serves no purpose and can cause incorrect results when using computer processing. I understand it is the "rule", but this tool is for anyone who wants to circumvent the rule because of its side effects.
An irrelevant faux ep notation causes 2 otherwise identical epd records (one with the ep notation, and one without) to be considered different positions. This affects 3-peat detection using epd records. It affects searching, sorting and matching epd records.
According to epd rules, an ep notation should be there even though it serves no purpose and can cause incorrect results when using computer processing. I understand it is the "rule", but this tool is for anyone who wants to circumvent the rule because of its side effects.
An irrelevant faux ep notation causes 2 otherwise identical epd records (one with the ep notation, and one without) to be considered different positions. This affects 3-peat detection using epd records. It affects searching, sorting and matching epd records.
-
- Posts: 1427
- Joined: Sat Jul 21, 2018 7:43 am
- Location: Budapest, Hungary
- Full name: Gabor Szots
Re: New engine releases & news H1 2024
There is a H1 2025 thread for fresh updates.erashid wrote: ↑Wed Feb 05, 2025 3:45 pm I uploaded the new DON Chess Engine executables
This time it has Fix for Load error also.
Including the GUI (Fritz 19, Scid and others)
and some major updates.
here are the links:
DON 3.1 x64 AVX2.exe
https://pixeldrain.com/u/WoMCtC3H
DON 3.1 x64 BMI2.exe
https://pixeldrain.com/u/ckpkLgT9
try and let me know if it works
Thanks
Ehsan Rashid
Gabor Szots
CCRL testing group
CCRL testing group
-
- Posts: 36
- Joined: Thu Mar 03, 2022 7:29 am
- Full name: Alvin Peng
-
- Posts: 16
- Joined: Fri Jan 03, 2025 6:36 am
- Full name: alex lobov
Re: New engine releases & news H1 2025
Code: Select all
unit Book;
interface
uses Dialogs,//ShowMessage
SysUtils,// необходимый модуль для FileRead;
Classes; // необходимый модуль для TStringList;
function hash(const fen: string): UInt64;
function PolyglotKey(const APosition: string): UInt64;
function BestMove(const AKey: UInt64; const ABookName: TFileName): string; overload;
function BestMove(const APosition: string; const ABookName: TFileName): string; overload;
implementation
//uses VisualBoard, TypesChess;
{
* This little proof of concept utility for educational purposes
* computes the Polyglot key of a fen.
*
* For brevity this code does ZERO error checking and will
* unceremoniously segfault in case of an illegal fen.
*
* This code is released in the public domain by Michel Van den Bergh.
* The array Random64 is taken from the Polyglot source code.
* I am pretty sure that a table of random numbers is never protected
* by copyright.
*
}
const
Random64: array[0..780] of UiNT64 = (
$9D39247E33776D41, $2AF7398005AAA5C7, $44DB015024623547, $9C15F73E62A76AE2,
$75834465489C0C89, $3290AC3A203001BF, $0FBBAD1F61042279, $E83A908FF2FB60CA,
$0D7E765D58755C10, $1A083822CEAFE02D, $9605D5F0E25EC3B0, $D021FF5CD13A2ED5,
$40BDF15D4A672E32, $011355146FD56395, $5DB4832046F3D9E5, $239F8B2D7FF719CC,
$05D1A1AE85B49AA1, $679F848F6E8FC971, $7449BBFF801FED0B, $7D11CDB1C3B7ADF0,
$82C7709E781EB7CC, $F3218F1C9510786C, $331478F3AF51BBE6, $4BB38DE5E7219443,
$AA649C6EBCFD50FC, $8DBD98A352AFD40B, $87D2074B81D79217, $19F3C751D3E92AE1,
$B4AB30F062B19ABF, $7B0500AC42047AC4, $C9452CA81A09D85D, $24AA6C514DA27500,
$4C9F34427501B447, $14A68FD73C910841, $A71B9B83461CBD93, $03488B95B0F1850F,
$637B2B34FF93C040, $09D1BC9A3DD90A94, $3575668334A1DD3B, $735E2B97A4C45A23,
$18727070F1BD400B, $1FCBACD259BF02E7, $D310A7C2CE9B6555, $BF983FE0FE5D8244,
$9F74D14F7454A824, $51EBDC4AB9BA3035, $5C82C505DB9AB0FA, $FCF7FE8A3430B241,
$3253A729B9BA3DDE, $8C74C368081B3075, $B9BC6C87167C33E7, $7EF48F2B83024E20,
$11D505D4C351BD7F, $6568FCA92C76A243, $4DE0B0F40F32A7B8, $96D693460CC37E5D,
$42E240CB63689F2F, $6D2BDCDAE2919661, $42880B0236E4D951, $5F0F4A5898171BB6,
$39F890F579F92F88, $93C5B5F47356388B, $63DC359D8D231B78, $EC16CA8AEA98AD76,
$5355F900C2A82DC7, $07FB9F855A997142, $5093417AA8A7ED5E, $7BCBC38DA25A7F3C,
$19FC8A768CF4B6D4, $637A7780DECFC0D9, $8249A47AEE0E41F7, $79AD695501E7D1E8,
$14ACBAF4777D5776, $F145B6BECCDEA195, $DABF2AC8201752FC, $24C3C94DF9C8D3F6,
$BB6E2924F03912EA, $0CE26C0B95C980D9, $A49CD132BFBF7CC4, $E99D662AF4243939,
$27E6AD7891165C3F, $8535F040B9744FF1, $54B3F4FA5F40D873, $72B12C32127FED2B,
$EE954D3C7B411F47, $9A85AC909A24EAA1, $70AC4CD9F04F21F5, $F9B89D3E99A075C2,
$87B3E2B2B5C907B1, $A366E5B8C54F48B8, $AE4A9346CC3F7CF2, $1920C04D47267BBD,
$87BF02C6B49E2AE9, $092237AC237F3859, $FF07F64EF8ED14D0, $8DE8DCA9F03CC54E,
$9C1633264DB49C89, $B3F22C3D0B0B38ED, $390E5FB44D01144B, $5BFEA5B4712768E9,
$1E1032911FA78984, $9A74ACB964E78CB3, $4F80F7A035DAFB04, $6304D09A0B3738C4,
$2171E64683023A08, $5B9B63EB9CEFF80C, $506AACF489889342, $1881AFC9A3A701D6,
$6503080440750644, $DFD395339CDBF4A7, $EF927DBCF00C20F2, $7B32F7D1E03680EC,
$B9FD7620E7316243, $05A7E8A57DB91B77, $B5889C6E15630A75, $4A750A09CE9573F7,
$CF464CEC899A2F8A, $F538639CE705B824, $3C79A0FF5580EF7F, $EDE6C87F8477609D,
$799E81F05BC93F31, $86536B8CF3428A8C, $97D7374C60087B73, $A246637CFF328532,
$043FCAE60CC0EBA0, $920E449535DD359E, $70EB093B15B290CC, $73A1921916591CBD,
$56436C9FE1A1AA8D, $EFAC4B70633B8F81, $BB215798D45DF7AF, $45F20042F24F1768,
$930F80F4E8EB7462, $FF6712FFCFD75EA1, $AE623FD67468AA70, $DD2C5BC84BC8D8FC,
$7EED120D54CF2DD9, $22FE545401165F1C, $C91800E98FB99929, $808BD68E6AC10365,
$DEC468145B7605F6, $1BEDE3A3AEF53302, $43539603D6C55602, $AA969B5C691CCB7A,
$A87832D392EFEE56, $65942C7B3C7E11AE, $DED2D633CAD004F6, $21F08570F420E565,
$B415938D7DA94E3C, $91B859E59ECB6350, $10CFF333E0ED804A, $28AED140BE0BB7DD,
$C5CC1D89724FA456, $5648F680F11A2741, $2D255069F0B7DAB3, $9BC5A38EF729ABD4,
$EF2F054308F6A2BC, $AF2042F5CC5C2858, $480412BAB7F5BE2A, $AEF3AF4A563DFE43,
$19AFE59AE451497F, $52593803DFF1E840, $F4F076E65F2CE6F0, $11379625747D5AF3,
$BCE5D2248682C115, $9DA4243DE836994F, $066F70B33FE09017, $4DC4DE189B671A1C,
$51039AB7712457C3, $C07A3F80C31FB4B4, $B46EE9C5E64A6E7C, $B3819A42ABE61C87,
$21A007933A522A20, $2DF16F761598AA4F, $763C4A1371B368FD, $F793C46702E086A0,
$D7288E012AEB8D31, $DE336A2A4BC1C44B, $0BF692B38D079F23, $2C604A7A177326B3,
$4850E73E03EB6064, $CFC447F1E53C8E1B, $B05CA3F564268D99, $9AE182C8BC9474E8,
$A4FC4BD4FC5558CA, $E755178D58FC4E76, $69B97DB1A4C03DFE, $F9B5B7C4ACC67C96,
$FC6A82D64B8655FB, $9C684CB6C4D24417, $8EC97D2917456ED0, $6703DF9D2924E97E,
$C547F57E42A7444E, $78E37644E7CAD29E, $FE9A44E9362F05FA, $08BD35CC38336615,
$9315E5EB3A129ACE, $94061B871E04DF75, $DF1D9F9D784BA010, $3BBA57B68871B59D,
$D2B7ADEEDED1F73F, $F7A255D83BC373F8, $D7F4F2448C0CEB81, $D95BE88CD210FFA7,
$336F52F8FF4728E7, $A74049DAC312AC71, $A2F61BB6E437FDB5, $4F2A5CB07F6A35B3,
$87D380BDA5BF7859, $16B9F7E06C453A21, $7BA2484C8A0FD54E, $F3A678CAD9A2E38C,
$39B0BF7DDE437BA2, $FCAF55C1BF8A4424, $18FCF680573FA594, $4C0563B89F495AC3,
$40E087931A00930D, $8CFFA9412EB642C1, $68CA39053261169F, $7A1EE967D27579E2,
$9D1D60E5076F5B6F, $3810E399B6F65BA2, $32095B6D4AB5F9B1, $35CAB62109DD038A,
$A90B24499FCFAFB1, $77A225A07CC2C6BD, $513E5E634C70E331, $4361C0CA3F692F12,
$D941ACA44B20A45B, $528F7C8602C5807B, $52AB92BEB9613989, $9D1DFA2EFC557F73,
$722FF175F572C348, $1D1260A51107FE97, $7A249A57EC0C9BA2, $04208FE9E8F7F2D6,
$5A110C6058B920A0, $0CD9A497658A5698, $56FD23C8F9715A4C, $284C847B9D887AAE,
$04FEABFBBDB619CB, $742E1E651C60BA83, $9A9632E65904AD3C, $881B82A13B51B9E2,
$506E6744CD974924, $B0183DB56FFC6A79, $0ED9B915C66ED37E, $5E11E86D5873D484,
$F678647E3519AC6E, $1B85D488D0F20CC5, $DAB9FE6525D89021, $0D151D86ADB73615,
$A865A54EDCC0F019, $93C42566AEF98FFB, $99E7AFEABE000731, $48CBFF086DDF285A,
$7F9B6AF1EBF78BAF, $58627E1A149BBA21, $2CD16E2ABD791E33, $D363EFF5F0977996,
$0CE2A38C344A6EED, $1A804AADB9CFA741, $907F30421D78C5DE, $501F65EDB3034D07,
$37624AE5A48FA6E9, $957BAF61700CFF4E, $3A6C27934E31188A, $D49503536ABCA345,
$088E049589C432E0, $F943AEE7FEBF21B8, $6C3B8E3E336139D3, $364F6FFA464EE52E,
$D60F6DCEDC314222, $56963B0DCA418FC0, $16F50EDF91E513AF, $EF1955914B609F93,
$565601C0364E3228, $ECB53939887E8175, $BAC7A9A18531294B, $B344C470397BBA52,
$65D34954DAF3CEBD, $B4B81B3FA97511E2, $B422061193D6F6A7, $071582401C38434D,
$7A13F18BBEDC4FF5, $BC4097B116C524D2, $59B97885E2F2EA28, $99170A5DC3115544,
$6F423357E7C6A9F9, $325928EE6E6F8794, $D0E4366228B03343, $565C31F7DE89EA27,
$30F5611484119414, $D873DB391292ED4F, $7BD94E1D8E17DEBC, $C7D9F16864A76E94,
$947AE053EE56E63C, $C8C93882F9475F5F, $3A9BF55BA91F81CA, $D9A11FBB3D9808E4,
$0FD22063EDC29FCA, $B3F256D8ACA0B0B9, $B03031A8B4516E84, $35DD37D5871448AF,
$E9F6082B05542E4E, $EBFAFA33D7254B59, $9255ABB50D532280, $B9AB4CE57F2D34F3,
$693501D628297551, $C62C58F97DD949BF, $CD454F8F19C5126A, $BBE83F4ECC2BDECB,
$DC842B7E2819E230, $BA89142E007503B8, $A3BC941D0A5061CB, $E9F6760E32CD8021,
$09C7E552BC76492F, $852F54934DA55CC9, $8107FCCF064FCF56, $098954D51FFF6580,
$23B70EDB1955C4BF, $C330DE426430F69D, $4715ED43E8A45C0A, $A8D7E4DAB780A08D,
$0572B974F03CE0BB, $B57D2E985E1419C7, $E8D9ECBE2CF3D73F, $2FE4B17170E59750,
$11317BA87905E790, $7FBF21EC8A1F45EC, $1725CABFCB045B00, $964E915CD5E2B207,
$3E2B8BCBF016D66D, $BE7444E39328A0AC, $F85B2B4FBCDE44B7, $49353FEA39BA63B1,
$1DD01AAFCD53486A, $1FCA8A92FD719F85, $FC7C95D827357AFA, $18A6A990C8B35EBD,
$CCCB7005C6B9C28D, $3BDBB92C43B17F26, $AA70B5B4F89695A2, $E94C39A54A98307F,
$B7A0B174CFF6F36E, $D4DBA84729AF48AD, $2E18BC1AD9704A68, $2DE0966DAF2F8B1C,
$B9C11D5B1E43A07E, $64972D68DEE33360, $94628D38D0C20584, $DBC0D2B6AB90A559,
$D2733C4335C6A72F, $7E75D99D94A70F4D, $6CED1983376FA72B, $97FCAACBF030BC24,
$7B77497B32503B12, $8547EDDFB81CCB94, $79999CDFF70902CB, $CFFE1939438E9B24,
$829626E3892D95D7, $92FAE24291F2B3F1, $63E22C147B9C3403, $C678B6D860284A1C,
$5873888850659AE7, $0981DCD296A8736D, $9F65789A6509A440, $9FF38FED72E9052F,
$E479EE5B9930578C, $E7F28ECD2D49EECD, $56C074A581EA17FE, $5544F7D774B14AEF,
$7B3F0195FC6F290F, $12153635B2C0CF57, $7F5126DBBA5E0CA7, $7A76956C3EAFB413,
$3D5774A11D31AB39, $8A1B083821F40CB4, $7B4A38E32537DF62, $950113646D1D6E03,
$4DA8979A0041E8A9, $3BC36E078F7515D7, $5D0A12F27AD310D1, $7F9D1A2E1EBE1327,
$DA3A361B1C5157B1, $DCDD7D20903D0C25, $36833336D068F707, $CE68341F79893389,
$AB9090168DD05F34, $43954B3252DC25E5, $B438C2B67F98E5E9, $10DCD78E3851A492,
$DBC27AB5447822BF, $9B3CDB65F82CA382, $B67B7896167B4C84, $BFCED1B0048EAC50,
$A9119B60369FFEBD, $1FFF7AC80904BF45, $AC12FB171817EEE7, $AF08DA9177DDA93D,
$1B0CAB936E65C744, $B559EB1D04E5E932, $C37B45B3F8D6F2BA, $C3A9DC228CAAC9E9,
$F3B8B6675A6507FF, $9FC477DE4ED681DA, $67378D8ECCEF96CB, $6DD856D94D259236,
$A319CE15B0B4DB31, $073973751F12DD5E, $8A8E849EB32781A5, $E1925C71285279F5,
$74C04BF1790C0EFE, $4DDA48153C94938A, $9D266D6A1CC0542C, $7440FB816508C4FE,
$13328503DF48229F, $D6BF7BAEE43CAC40, $4838D65F6EF6748F, $1E152328F3318DEA,
$8F8419A348F296BF, $72C8834A5957B511, $D7A023A73260B45C, $94EBC8ABCFB56DAE,
$9FC10D0F989993E0, $DE68A2355B93CAE6, $A44CFE79AE538BBE, $9D1D84FCCE371425,
$51D2B1AB2DDFB636, $2FD7E4B9E72CD38C, $65CA5B96B7552210, $DD69A0D8AB3B546D,
$604D51B25FBF70E2, $73AA8A564FB7AC9E, $1A8C1E992B941148, $AAC40A2703D9BEA0,
$764DBEAE7FA4F3A6, $1E99B96E70A9BE8B, $2C5E9DEB57EF4743, $3A938FEE32D29981,
$26E6DB8FFDF5ADFE, $469356C504EC9F9D, $C8763C5B08D1908C, $3F6C6AF859D80055,
$7F7CC39420A3A545, $9BFB227EBDF4C5CE, $89039D79D6FC5C5C, $8FE88B57305E2AB6,
$A09E8C8C35AB96DE, $FA7E393983325753, $D6B6D0ECC617C699, $DFEA21EA9E7557E3,
$B67C1FA481680AF8, $CA1E3785A9E724E5, $1CFC8BED0D681639, $D18D8549D140CAEA,
$4ED0FE7E9DC91335, $E4DBF0634473F5D2, $1761F93A44D5AEFE, $53898E4C3910DA55,
$734DE8181F6EC39A, $2680B122BAA28D97, $298AF231C85BAFAB, $7983EED3740847D5,
$66C1A2A1A60CD889, $9E17E49642A3E4C1, $EDB454E7BADC0805, $50B704CAB602C329,
$4CC317FB9CDDD023, $66B4835D9EAFEA22, $219B97E26FFC81BD, $261E4E4C0A333A9D,
$1FE2CCA76517DB90, $D7504DFA8816EDBB, $B9571FA04DC089C8, $1DDC0325259B27DE,
$CF3F4688801EB9AA, $F4F5D05C10CAB243, $38B6525C21A42B0E, $36F60E2BA4FA6800,
$EB3593803173E0CE, $9C4CD6257C5A3603, $AF0C317D32ADAA8A, $258E5A80C7204C4B,
$8B889D624D44885D, $F4D14597E660F855, $D4347F66EC8941C3, $E699ED85B0DFB40D,
$2472F6207C2D0484, $C2A1E7B5B459AEB5, $AB4F6451CC1D45EC, $63767572AE3D6174,
$A59E0BD101731A28, $116D0016CB948F09, $2CF9C8CA052F6E9F, $0B090A7560A968E3,
$ABEEDDB2DDE06FF1, $58EFC10B06A2068D, $C6E57A78FBD986E0, $2EAB8CA63CE802D7,
$14A195640116F336, $7C0828DD624EC390, $D74BBE77E6116AC7, $804456AF10F5FB53,
$EBE9EA2ADF4321C7, $03219A39EE587A30, $49787FEF17AF9924, $A1E9300CD8520548,
$5B45E522E4B1B4EF, $B49C3B3995091A36, $D4490AD526F14431, $12A8F216AF9418C2,
$001F837CC7350524, $1877B51E57A764D5, $A2853B80F17F58EE, $993E1DE72D36D310,
$B3598080CE64A656, $252F59CF0D9F04BB, $D23C8E176D113600, $1BDA0492E7E4586E,
$21E0BD5026C619BF, $3B097ADAF088F94E, $8D14DEDB30BE846E, $F95CFFA23AF5F6F4,
$3871700761B3F743, $CA672B91E9E4FA16, $64C8E531BFF53B55, $241260ED4AD1E87D,
$106C09B972D2E822, $7FBA195410E5CA30, $7884D9BC6CB569D8, $0647DFEDCD894A29,
$63573FF03E224774, $4FC8E9560F91B123, $1DB956E450275779, $B8D91274B9E9D4FB,
$A2EBEE47E2FBFCE1, $D9F1F30CCD97FB09, $EFED53D75FD64E6B, $2E6D02C36017F67F,
$A9AA4D20DB084E9B, $B64BE8D8B25396C1, $70CB6AF7C2D5BCF0, $98F076A4F7A2322E,
$BF84470805E69B5F, $94C3251F06F90CF3, $3E003E616A6591E9, $B925A6CD0421AFF3,
$61BDD1307C66E300, $BF8D5108E27E0D48, $240AB57A8B888B20, $FC87614BAF287E07,
$EF02CDD06FFDB432, $A1082C0466DF6C0A, $8215E577001332C8, $D39BB9C3A48DB6CF,
$2738259634305C14, $61CF4F94C97DF93D, $1B6BACA2AE4E125B, $758F450C88572E0B,
$959F587D507A8359, $B063E962E045F54D, $60E8ED72C0DFF5D1, $7B64978555326F9F,
$FD080D236DA814BA, $8C90FD9B083F4558, $106F72FE81E2C590, $7976033A39F7D952,
$A4EC0132764CA04B, $733EA705FAE4FA77, $B4D8F77BC3E56167, $9E21F4F903B33FD9,
$9D765E419FB69F6D, $D30C088BA61EA5EF, $5D94337FBFAF7F5B, $1A4E4822EB4D7A59,
$6FFE73E81B637FB3, $DDF957BC36D8B9CA, $64D0E29EEA8838B3, $08DD9BDFD96B9F63,
$087E79E5A57D1D13, $E328E230E3E2B3FB, $1C2559E30F0946BE, $720BF5F26F4D2EAA,
$B0774D261CC609DB, $443F64EC5A371195, $4112CF68649A260E, $D813F2FAB7F5C5CA,
$660D3257380841EE, $59AC2C7873F910A3, $E846963877671A17, $93B633ABFA3469F8,
$C0C0F5A60EF4CDCF, $CAF21ECD4377B28C, $57277707199B8175, $506C11B9D90E8B1D,
$D83CC2687A19255F, $4A29C6465A314CD1, $ED2DF21216235097, $B5635C95FF7296E2,
$22AF003AB672E811, $52E762596BF68235, $9AEBA33AC6ECC6B0, $944F6DE09134DFB6,
$6C47BEC883A7DE39, $6AD047C430A12104, $A5B1CFDBA0AB4067, $7C45D833AFF07862,
$5092EF950A16DA0B, $9338E69C052B8E7B, $455A4B4CFE30E3F5, $6B02E63195AD0CF8,
$6B17B224BAD6BF27, $D1E0CCD25BB9C169, $DE0C89A556B9AE70, $50065E535A213CF6,
$9C1169FA2777B874, $78EDEFD694AF1EED, $6DC93D9526A50E68, $EE97F453F06791ED,
$32AB0EDB696703D3, $3A6853C7E70757A7, $31865CED6120F37D, $67FEF95D92607890,
$1F2B1D1F15F6DC9C, $B69E38A8965C6B65, $AA9119FF184CCCF4, $F43C732873F24C13,
$FB4A3D794A9A80D2, $3550C2321FD6109C, $371F77E76BB8417E, $6BFA9AAE5EC05779,
$CD04F3FF001A4778, $E3273522064480CA, $9F91508BFFCFC14A, $049A7F41061A9E60,
$FCB6BE43A9F2FE9B, $08DE8A1C7797DA9B, $8F9887E6078735A1, $B5B4071DBFC73A66,
$230E343DFBA08D33, $43ED7F5A0FAE657D, $3A88A0FBBCB05C63, $21874B8B4D2DBC4F,
$1BDEA12E35F6A8C9, $53C065C6C8E63528, $E34A1D250E7A8D6B, $D6B04D3B7651DD7E,
$5E90277E7CB39E2D, $2C046F22062DC67D, $B10BB459132D0A26, $3FA9DDFB67E2F199,
$0E09B88E1914F7AF, $10E8B35AF3EEAB37, $9EEDECA8E272B933, $D4C718BC4AE8AE5F,
$81536D601170FC20, $91B534F885818A06, $EC8177F83F900978, $190E714FADA5156E,
$B592BF39B0364963, $89C350C893AE7DC1, $AC042E70F8B383F2, $B49B52E587A1EE60,
$FB152FE3FF26DA89, $3E666E6F69AE2C15, $3B544EBE544C19F9, $E805A1E290CF2456,
$24B33C9D7ED25117, $E74733427B72F0C1, $0A804D18B7097475, $57E3306D881EDB4F,
$4AE7D6A36EB5DBCB, $2D8D5432157064C8, $D1E649DE1E7F268B, $8A328A1CEDFE552C,
$07A3AEC79624C7DA, $84547DDC3E203C94, $990A98FD5071D263, $1A4FF12616EEFC89,
$F6F7FD1431714200, $30C05B1BA332F41C, $8D2636B81555A786, $46C9FEB55D120902,
$CCEC0A73B49C9921, $4E9D2827355FC492, $19EBB029435DCB0F, $4659D2B743848A2C,
$963EF2C96B33BE31, $74F85198B05A2E7D, $5A0F544DD2B1FB18, $03727073C2E134B1,
$C7F6AA2DE59AEA61, $352787BAA0D7C22F, $9853EAB63B5E0B35, $ABBDCDD7ED5C0860,
$CF05DAF5AC8D77B0, $49CAD48CEBF4A71E, $7A4C10EC2158C4A6, $D9E92AA246BF719E,
$13AE978D09FE5557, $730499AF921549FF, $4E4B705B92903BA4, $FF577222C14F0A3A,
$55B6344CF97AAFAE, $B862225B055B6960, $CAC09AFBDDD2CDB4, $DAF8E9829FE96B5F,
$B5FDFC5D3132C498, $310CB380DB6F7503, $E87FBB46217A360E, $2102AE466EBB1148,
$F8549E1A3AA5E00D, $07A69AFDCC42261A, $C4C118BFE78FEAAE, $F9F4892ED96BD438,
$1AF3DBE25D8F45DA, $F5B4B0B0D2DEEEB4, $962ACEEFA82E1C84, $046E3ECAAF453CE9,
$F05D129681949A4C, $964781CE734B3C84, $9C2ED44081CE5FBD, $522E23F3925E319E,
$177E00F9FC32F791, $2BC60A63A6F3B3F2, $222BBFAE61725606, $486289DDCC3D6780,
$7DC7785B8EFDFC80, $8AF38731C02BA980, $1FAB64EA29A2DDF7, $E4D9429322CD065A,
$9DA058C67844F20C, $24C0E332B70019B0, $233003B5A6CFE6AD, $D586BD01C5C217F6,
$5E5637885F29BC2B, $7EBA726D8C94094B, $0A56A5F0BFE39272, $D79476A84EE20D06,
$9E4C1269BAA4BF37, $17EFEE45B0DEE640, $1D95B0A5FCF90BC6, $93CBE0B699C2585D,
$65FA4F227A2B6D79, $D5F9E858292504D5, $C2B5A03F71471A6F, $59300222B4561E00,
$CE2F8642CA0712DC, $7CA9723FBB2E8988, $2785338347F2BA08, $C61BB3A141E50E8C,
$150F361DAB9DEC26, $9F6A419D382595F4, $64A53DC924FE7AC9, $142DE49FFF7A7C3D,
$0C335248857FA9E7, $0A9C32D5EAE45305, $E6C42178C4BBB92E, $71F1CE2490D20B07,
$F1BCC3D275AFE51A, $E728E8C83C334074, $96FBF83A12884624, $81A1549FD6573DA5,
$5FA7867CAF35E149, $56986E2EF3ED091B, $917F1DD5F8886C61, $D20D8C88C8FFE65F,
$31D71DCE64B2C310, $F165B587DF898190, $A57E6339DD2CF3A0, $1EF6E6DBB1961EC9,
$70CC73D90BC26E24, $E21A6B35DF0C3AD7, $003A93D8B2806962, $1C99DED33CB890A1,
$CF3145DE0ADD4289, $D0E4427A5514FB72, $77C621CC9FB3A483, $67A34DAC4356550B,
$F8D626AAAF278509
);
var
{RandomPiece: ^UInt64 = @Random64[0];
RandomCastle: ^UInt64 = @Random64[768];
RandomEnPassant: ^UInt64 = @Random64[772];
RandomTurn: ^UInt64 = @Random64[780]; }
piece_names: String = 'pPnNbBrRqQkK';
(* Pascal version by R. Chastain. *)
function hash(const fen: string): UInt64;
var
board_s: string;
to_move_c: char;
castle_flags_s: string;
ep_square_s: string;
board: array[0..7, 0..7] of char;
c: char;
p, r, f, i, p_enc: integer;
begin
result := 0;
with TStringList.Create do
try
DelimitedText := fen;
board_s := Strings[0];
to_move_c := Strings[1][1];
castle_flags_s := Strings[2];
ep_square_s := Strings[3];
finally
Free;
end;
r := 7;
f := 0;
p := 1;
while p <= Length(board_s) do
begin
c := board_s[p];
Inc(p);
if c = '/' then
begin
Dec(r);
f := 0;
Continue;
end;
if (c >= '1') and (c <= '8') then
begin
for i := 0 to Ord(c) - Ord('1') do
begin
board[f][r] := '-';
Inc(f);
end;
Continue;
end;
board[f][r] := c;
Inc(f);
end;
for f := 0 to 7 do
for r := 0 to 7 do
begin
c := board[f][r];
if c <> '-' then
begin
p_enc := Pred(Pos(c, piece_names));
result := result xor Random64[64 * p_enc + 8 * r + f];
end;
end;
p := 1;
while p <= Length(castle_flags_s) do
begin
c := castle_flags_s[p];
Inc(p);
case c of
'K': result := result xor Random64[768];
'Q': result := result xor Random64[769];
'k': result := result xor Random64[770];
'q': result := result xor Random64[771];
end;
end;
if ep_square_s[1] <> '-' then
begin
f := Ord(ep_square_s[1]) - Ord('a');
if to_move_c = 'b' then
begin
if ((f > 0) and (board[f - 1][3] = 'p'))
or ((f < 7) and (board[f + 1][3] = 'p')) then
result := result xor Random64[772+f];
end else
begin
if ((f > 0) and (board[f - 1][4] = 'P'))
or ((f < 7) and (board[f + 1][4] = 'P')) then
result := result xor Random64[772+f];
end;
end;
if to_move_c = 'w' then
result := result xor Random64[780];
end;
type
entry_t = record
key: UInt64;
move: Word;//UInt16;
weight: Word;//UInt16;
learn: LongWord;//UInt32;
end;
const
entry_none: entry_t = (
key: 0;
move: 0;
weight: 0;
learn: 0
);
promote_pieces = 'nbrq';
MAX_MOVES = 100;
function int_from_file(const f: THandle; const l: integer; var r: UInt64): boolean;
var
i: integer;
c: byte;
begin
result := FALSE;
for i := 0 to Pred(l) do
begin
if FileRead(f, c, SizeOf(c)) <> SizeOf(c) then
Exit;
r := (r shl 8) + c;
end;
result := TRUE;
end;
function entry_from_file(const f: THandle; var entry: entry_t): boolean;
var
r: UInt64;
begin
r := 0;
result := FALSE;
if not int_from_file(f, 8, r) then Exit;
entry.key := r;
if not int_from_file(f, 2, r) then Exit;
entry.move := Word(r);
if not int_from_file(f, 2, r) then Exit;
entry.weight := Word(r);
if not int_from_file(f, 4, r) then Exit;
entry.learn := Word(r);
result := TRUE;
end;
function find_key(const f: THandle; const key: UInt64; var entry: entry_t): integer;
var
first, last, middle: integer;
first_entry, last_entry, middle_entry: entry_t;
fsFromEnd,fsFromCurrent,fsFromBeginning: Integer;
begin
fsFromBeginning:=0;// от начала файла
fsFromCurrent:=1;// от текущей позиции
fsFromEnd :=2;// от конца файла
first_entry := entry_none;
first := -1;
if FileSeek(f, -16, fsFromEnd) = -1 then
begin
entry := entry_none;
entry.key := key + 1; // hack
result:=-1;
Exit;
end;
last := FileSeek(f, 0, fsFromCurrent) div 16;
entry_from_file(f, last_entry);
while TRUE do
begin
if last - first = 1 then
begin
entry := last_entry;
result:=last;
Exit;
end;
middle := (first + last) div 2;
FileSeek(f, 16 * middle, fsFromBeginning);
entry_from_file(f, middle_entry);
if key <= middle_entry.key then
begin
last := middle;
last_entry := middle_entry;
end else
begin
first := middle;
first_entry := middle_entry;
end;
end;
end;
procedure move_to_string(var move_s: string; const move: Word);
var
f, fr, ff, t, tr, tf, p: integer;
begin
f := (move shr 6) and 63;
fr := (f shr 3) and 7;
ff := f and 7;
t := move and 63;
tr := (t shr 3) and 7;
tf := t and 7;
p := (move shr 12) and 7;
SetLength(move_s, 4);
move_s[1] := Chr(ff + Ord('a'));
move_s[2] := Chr(fr + Ord('1'));
move_s[3] := Chr(tf + Ord('a'));
move_s[4] := Chr(tr + Ord('1'));
if p <> 0 then
begin
SetLength(move_s, 5);
move_s[5] := promote_pieces[p];
end;
if move_s = 'e1h1' then
move_s := 'e1g1'
else if move_s = 'e1a1' then
move_s := 'e1c1'
else if move_s = 'e8h8' then
move_s := 'e8g8'
else if move_s = 'e8a8' then
move_s := 'e8c8';
end;
////////////////////////////////////////////////////////////////////////
function PolyglotKey(const APosition: string): UInt64;
begin
result := hash(APosition);
end;
function BestMove(const AKey: UInt64; const ABookName: TFileName): string;
var
f: THandle;
entry: entry_t;
offset: longint;
entries: array[0..MAX_MOVES - 1] of entry_t;
count: longint;
i: longint;
move_s: string;
total_weight: longint;
fsFromEnd,fsFromCurrent,fsFromBeginning: Integer;
begin
fsFromBeginning:=0;// от начала файла
fsFromCurrent:=1;// от текущей позиции
fsFromEnd :=2;// от конца файла
count:= 0;
f := FileOpen(ABookName, fmOpenRead);
if f = THandle(-1) then
begin
ShowMessage('Cannot open file '+ABookName);
result:='';
Exit;
end;
offset := find_key(f, AKey, entry);
if entry.key <> AKey then
begin
ShowMessage('No such key');
FileClose(f);
result:='';
Exit;
end;
entries[0] := entry;
count := 1;
FileSeek(f, 16 * (offset + 1), fsFromBeginning);
while TRUE do
begin
if not entry_from_file(f, entry) then
Break;
if entry.key <> AKey then
Break;
if count = MAX_MOVES then
begin
ShowMessage('Too many moves');
result:='';
Exit;
end;
entries[count] := entry;
Inc(count);
end;
FileClose(f);
total_weight := 0;
for i := 0 to Pred(count) do
Inc(total_weight, entries[i].weight);
for i := 0 to Pred(count) do
begin
move_to_string(move_s, entries[i].move);
//chess.MemoInfo.Lines.Add(Format('move=%s weight=%5.2f%%', [move_s, 100 * (entries[i].weight / total_weight)]));
end;
move_to_string(move_s, entries[0].move);
result := move_s;
end;
function BestMove(const APosition: string; const ABookName: TFileName): string;
var
LKey: UInt64;
Polyglot_key:UInt64;
begin
//chess.MemoInfo.Lines.Add('fen: '+APosition);
Polyglot_key:=hash(APosition);
//chess.MemoInfo.Lines.Add('the Polyglot key of a fen: '+Format('$%x', [Polyglot_key])+': '+IntToStr(UsePopcnt64(Polyglot_key,Polyglot_key shr 32))+' bit');
LKey := PolyglotKey(APosition);
result := BestMove(LKey, ABookName);
end;
end.
All Rights Reserved.

-
- Posts: 8
- Joined: Wed Oct 19, 2022 4:54 pm
- Full name: Christopher Crone
Re: New engine releases & news H1 2025
Yakka v1.2
Bug fixes and improvements. Changed evaluation from HCE to NNUE. Small net trained with my own training code and Yakka v1.1 HCE texel tuning positions.
Modest strength improvement over v1.1, estimated +40 ELO gain.
https://github.com/CJDalrymple/Yakka
Bug fixes and improvements. Changed evaluation from HCE to NNUE. Small net trained with my own training code and Yakka v1.1 HCE texel tuning positions.
Modest strength improvement over v1.1, estimated +40 ELO gain.
https://github.com/CJDalrymple/Yakka