Myracle GUI

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

Max
Posts: 278
Joined: Tue Apr 13, 2010 10:41 am

Re: Myracle GUI

Post by Max »

mar wrote: ↑Wed Nov 11, 2026 6:41 pm btw as for Phalanx: there's also non-compliant output for older Phalanx so the pgn for it doesn't show score/depth properly, even with the hack-fix.
Guenther kindly made a fix available here: https://rwbc-chess.de/download.htm
(for more information you can either e-mail him or contact him via the engine testers discord)
Thanks for the info, but it looks ok for Phalanx XXII:

Code: Select all

[Event "Gauntlet Phalanx XXII (xb)"]
[Site "Earth"]
[Date "2026.11.12"]
[Round "1.9"]
[White "Phalanx XXII"]
[Black "Cinnamon 2.4"]
[Result "0-1"]
[Time "07:43:09"]
[ECO "A16"]
[Opening "English Opening: Anglo-Indian Defense, Queen's Knight Variation"]
[Termination "black wins by checkmate"]

1. c4 {book} Nf6 {book} 2. Nc3 {book} e5 {book} 3. Nf3 {book} Nc6 {book} 4. e3 {book}
Bb4 {book} 5. d4 {book} exd4 {book} 6. Nxd4 {book} O-O {book} 7. Be2 {book} Ne4 {book}
8. Qc2 {book} Re8 {book} 9. O-O {-0.30/9 2.80s} Nxd4 {0.59/18 2.59s} 10. exd4 {0.46s}
Nxc3 {0.35/18 1.65s} 11. Bd3 {-0.19/10 3.14s} Nxa2 {0.69/17 2.53s} 12. Bxh7+ {-0.08/10
3.43s} Kh8 {1.13/17 2.49s} 13. Rxa2 {-0.06/10 1.78s} g6 {1.15/17 2.45s} 14. Bxg6 {0.77/9
1.53s} fxg6 {1.18/17 2.41s} 15. Qxg6 {0.85/9 0.90s} Re6 {1.13/16 1.49s} 16. Qh5+ {0.66/9
3.83s} Kg7 {1.05/15 2.36s} 17. d5 {0.72/9 4.40s} Qe8 {1.13/16 2.32s} 18. Qh4 {0.71/9
2.80s} Rg6 {1.04/16 2.28s} 19. Be3 {0.52/9 5.67s} a5 {1.05/14 2.25s} 20. Bd4+ {0.69/8
4.02s} Kf8 {0.97/15 2.21s} 21. b3 {0.63/7 1.54s} Raa6 {0.94/15 2.18s} 22. f3 {0.61/7
1.41s} c5 {1.16/15 2.14s} 23. dxc6 {0.24/8 2.24s} Raxc6 {1.23/14 2.11s} 24. Raf2 {0.04/8
3.12s} b6 {1.41/14 2.08s} 25. Qh8+ {-0.01/7 1.36s} Rg8 {1.51/14 2.05s} 26. Qh4 {-0.20/9
2.58s} Qe7 {1.58/16 2.02s} 27. Qf4+ {-0.23/9 4.01s} Ke8 {1.62/13 1.99s} 28. Rd1 {-0.23/8
2.00s} Re6 {1.80/13 1.97s} 29. Qb8 {-0.23/8 2.23s} Rd6 {2.04/16 1.94s} 30. Qxc8+ {-0.61/8
1.44s} Kf7 {2.21/16 1.91s} 31. Qb7 {-0.73/10 3.52s} Rxd4 {2.29/17 1.89s} 32. Rxd4 {-0.94/9
1.05s} Qe1+ {2.18/17 1.86s} 33. Rf1 {0.00s} Qe3+ {2.25/17 1.84s} 34. Kh1 {-0.96/10
1.74s} Qxd4 {2.34/16 1.82s} 35. f4 {-0.92/9 1.18s} Re8 {2.35/16 1.79s} 36. Qf3 {-1.09/9
1.99s} Re3 {2.45/17 1.77s} 37. Qh5+ {-0.86/8 1.13s} Ke7 {2.55/15 1.75s} 38. f5 {-1.27/7
1.12s} Kd8 {2.82/16 1.73s} 39. Qg5+ {-2.10/8 1.86s} Be7 {3.18/16 1.71s} 40. Qg8+ {-1.85/10
3.79s} Kc7 {2.99/17 1.69s} 41. Qa8 {-2.08/9 1.17s} Rxb3 {3.43/15 1.67s} 42. Qa7+ {-2.62/9
4.84s} Kd6 {3.41/14 1.65s} 43. h3 {-2.62/8 2.07s} Bf6 {3.52/15 1.63s} 44. Re1 {-2.75/8
2.10s} Kc5 {3.72/15 1.62s} 45. Qb7 {-2.88/8 1.28s} a4 {4.14/15 1.60s} 46. Rc1 {-2.66/8
1.69s} a3 {4.56/16 1.58s} 47. Qc8+ {-2.97/8 2.04s} Kb4 {4.90/15 1.57s} 48. Qf8+ {-3.87/9
1.66s} d6 {7.19/16 1.55s} 49. Qe8 {-5.89/9 3.37s} a2 {8.07/16 1.53s} 50. Qb5+ {0.11s}
Ka3 {11.02/17 1.52s} 51. Qa6+ {-7.96/10 0.71s} Kb2 {11.65/17 1.51s} 52. Rc2+ {-12.62/10
2.43s} Kxc2 {15.22/16 1.49s} 53. Qxa2+ {0.17s} Rb2 {+M6/18 1.48s} 54. Qa4+ {-299.74/10
1.69s} Kb1 {+M5/18 1.46s} 55. Qe8 {0.09s} Qd1+ {+M5/19 1.45s} 56. Kh2 {0.27s} Be5+ {+M4/20
1.44s} 57. Qxe5 {0.00s} dxe5 {+M4/21 1.43s} 58. Kg3 {0.08s} Qd3+ {+M3/20 1.41s} 59. Kg4 {0.00s}
Rxg2+ {+M2/19 1.40s} 60. Kh4 {0.00s} Qg3+ {+M1/20 1.39s} 61. Kh5 {0.00s} Qxh3# {+M1/21
1.38s} {black wins by checkmate} 0-1
Max
Posts: 278
Joined: Tue Apr 13, 2010 10:41 am

Re: Myracle GUI

Post by Max »

.. ah, I see the isssue in hyperbullet what is missing.

Code: Select all

[Event "?"]
[Site "?"]
[Date "2026.11.12"]
[Round "?"]
[White "Phalanx XXII"]
[Black "Cinnamon 2.4"]
[Result "0-1"]
[Time "08:41:21"]
[ECO "A05"]
[Opening "Zukertort Opening"]
[Termination "black wins by checkmate"]

1. Nf3 {book} Nf6 {book} 2. c4 {book} e6 {book} 3. g3 {book} d5 {book} 4. d4 {book}
dxc4 {book} 5. Bg2 {book} Nbd7 {book} 6. O-O {book} c6 {book} 7. a4 {book} a5 {book}
8. Bg5 {0.08s} Qb6 {0.57/11 0.30s} 9. Nbd2 {0.07s} Qa6 {0.49/13 0.18s} 10. Qc2 {0.14s}
b5 {0.29/12 0.18s} 11. e4 {0.21s} Bb7 {0.94/10 0.18s} 12. b3 {0.10s} cxb3 {1.13/11
0.18s} 13. Nxb3 {0.26s} Bb4 {0.99/10 0.18s} 14. Rfd1 {0.07s} bxa4 {1.17/10 0.17s}
15. Rxa4 {0.26s} Qb5 {0.83/11 0.17s} 16. Rda1 {0.08s} Nb6 {0.29/10 0.17s} 17. R4a2 {0.12s}
Qc4 {0.31/11 0.16s} 18. Ne5 {0.10s} Qxc2 {0.26/13 0.16s} 19. Rxc2 {0.02s} a4 {0.03/12
0.15s} 20. Nc1 {0.16s} Nfd7 {-0.05/11 0.15s} 21. Nxd7 {0.13s} Kxd7 {-0.22/13 0.15s}
22. Rb1 {0.22s} Ba5 {-0.61/13 0.15s} 23. e5 {0.25s} h6 {0.37/12 0.15s} 24. Be3 {0.26s}
Kc7 {0.17/12 0.16s} 25. Nd3 {0.16s} Nd5 {0.18/12 0.15s} 26. Nc5 {0.18s} Bb6 {0.03/13
0.15s} 27. Bxd5 {0.12s} Bxc5 {-0.01/13 0.15s} 28. Ba2 {0.11s} Ba7 {0.69/13 0.15s}
29. Rb4 {0.19s} a3 {0.32/12 0.15s} 30. h3 {0.09s} Rhb8 {0.93/10 0.15s} 31. Kh2 {0.08s}
Rd8 {1.29/10 0.14s} 32. Rc1 {0.11s} Ba6 {1.12/11 0.14s} 33. Rc3 {0.18s} Be2 {0.86/13
0.14s} 34. Kg2 {0.14s} g5 {0.41/12 0.14s} 35. Rc2 {0.20s} Ba6 {0.43/12 0.14s} 36. f3 {0.15s}
Rdb8 {1.65/13 0.14s} 37. Ra4 {0.12s} Bb6 {1.39/12 0.14s} 38. Rb4 {0.09s} Kd7 {1.62/12
0.14s} 39. Rb3 {0.15s} Bb5 {1.63/12 0.13s} 40. Rbc3 {0.08s} Ra4 {1.62/12 0.13s} 41. Rf2 {0.15s}
Ba5 {1.65/11 0.13s} 42. Rc1 {0.07s} Bd3 {1.79/13 0.13s} 43. f4 {0.10s} gxf4 {1.95/12
0.13s} 44. Bxf4 {0.16s} Rb2 {1.93/11 0.13s} 45. Bxh6 {0.08s} Rxd4 {2.04/12 0.12s}
46. Bf4 {0.12s} Bf5 {2.73/12 0.12s} 47. h4 {0.09s} Bb6 {2.87/12 0.12s} 48. Rxb2 {0.15s}
axb2 {3.22/12 0.12s} 49. Re1 {0.08s} Ra4 {8.37/12 0.12s} 50. Rd1+ {0.24s} Ke8 {9.71/12
0.12s} 51. Bb1 {0.03s} Ra1 {10.15/15 0.12s} 52. Rd3 {0.13s} Rxb1 {10.49/16 0.12s}
53. Rb3 {0.14s} Rg1+ {10.59/16 0.12s} 54. Kf3 {0.13s} b1=Q {10.97/15 0.12s} 55. Rxb1 {0.06s}
Rxb1 {11.16/15 0.11s} 56. h5 {0.16s} Rb3+ {11.28/15 0.12s} 57. Ke2 {0.26s} Bg4+ {11.42/15
0.12s} 58. Kd2 {0.25s} Bxh5 {11.49/16 0.12s} 59. Kc2 {0.20s} Ra3 {11.67/15 0.13s}
60. Kb2 {0.20s} Bc5 {11.78/16 0.13s} 61. Kc2 {0.07s} Bg6+ {11.78/15 0.13s} 62. Kd1 {0.19s}
Kd7 {12.20/15 0.13s} 63. Ke2 {0.14s} Bf5 {12.54/13 0.13s} 64. Kd2 {0.15s} Bd4 {15.51/15
0.13s} 65. Ke2 {0.16s} Ra2+ {15.64/16 0.13s} 66. Kd1 {0.08s} Bc3 {+M6/16 0.12s} 67. g4 {0.07s}
Bd3 {+M4/16 0.12s} 68. Be3 {0.02s} Re2 {+M4/17 0.12s} 69. Bd2 {0.00s} Rxd2+ {+M3/18
0.11s} 70. Ke1 {0.00s} Rh2+ {+M1/17 0.11s} 71. Kd1 {0.00s} Rh1# {+M1/18 0.10s} {black
wins by checkmate} 0-1
mar
Posts: 3119
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Myracle GUI

Post by mar »

build 175 up:
- new clone tournament feature: open an existing/finished tournament and press clone button in tournament tab,
will open new tournament dialog filled with participants and parameters from current tour
useful for repeating the same tournament at a different tc, for example
mar
Posts: 3119
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Myracle GUI

Post by mar »

let's dive into some details about what Myracle actually is and how much effort actually went in, because I'm a bit annoyed of being
compared to what I consider low effort vibecoded GUIs (let's not get into plagiarising ideas, I understand it's necessary
to borrow good ideas and I borrowed a few as well, naturally; just that being copied the other day feels a bit ... awkward :)
let's not forget that many of the ideas come from Andres, Dany and John and from the feedback of many people in this thread
(especially Erik for the tournament scheduler weights idea) and also external feedback via e-mail, and I'd like to thank
all of them again for their help.

so, let's list some features first:

- a clean and very simple UI
- stable, doesn't leak memory or handles, small memory footprint, doesn't require a GPU to run nor a local web browser
- doesn't put random stuff in special folders or registry, 100% portable, no install
- battle tested (Andres is running tournaments 24/7)
- create arena-compatible logs for broadcasting, even with tour concurrency enabled
(again can be seen here in action thanks to Andres, using his myracle broacast tools: https://myracle.cc)
- was the first GUI I'm aware of to support multiple concurrent tournaments as far as I know (among other unique things)
- the first to do automatic anomaly log tracking as far as I know
- can run 1 million games in a single run (1sec sudden death, producing ~2GB PGN)
- written in C++, the resulting Window binary (as of build 174) is 2.8MB for whe Windows version and 3.6MB for the Linux version while requiring an additional ~1.6MB zip file with gui data, without additional dependencies like dozens/hundreds of dlls; feel free to compare with your favorite GUI
(of course that is including the internal tournament manager)
- the bundled SVG piece sets were painted by me using Inkscape, one design based on a puzzle from 1950ies german newspaper
- the figurine font was also created be me using FontForge based on one of my SVG piece sets
- the lowpoly 3D models were also handmade by me using Blender, design based on some staunton set image I found on the internet

now some more details about the code itself:
- every single line of code was written by a human, ~2300 sloc goes for Pyrrhic, a syzygy probing library in C (and the only third party code that I use) (sloc = source lines of code, here excluding blanks and comments)
- ~49k sloc is the chess GUI itself, including first-party portions of my engine's Cheng bitboard and movegen code and everything else including tournament management and UI design - every line written by me
note that the trinomial SPRT algorithm was modeled after CuteChess
- ~114k sloc is my base framework I used to build the GUI on top, with zero third-party dependencies,
including custom collections (arrays, queues, priority queues, hash sets, red-black trees and more), a job system, streams,
custom inflate/deflate, png and jpeg implementations, a simple lexer,
temporary and pool allocators, PRNGs, SIMD wrappers, thread wrapper, process wrapper and basic time handling routines,
low level audio code and sample mixer, ttf and svg parser,
rectangle regions for efficient tracking of paint regions,
muti-span antialised rasterized used for rendering polygons (horizontal coverage with vertical supersampling - something to improve in the future perhaps),
bezier curves are tesselated using de casteljau, the same rasterizer is used for unhinted text rendering with subpixel antialiasing (similar
to cleartype), for 3d rendering I use my state of the art subpixel correct software scanline rasterizer with perspective correct n-attribute interpolators
and (reverse) depth buffering, srgb conversion helpers and tables, low level UI code support including simple native windows, then many basic widgets, automatic layouts.
note that the framework contains quite a bit more things that were not used for this project.
every pixel inside the windows (except for non-client area) is rendered manually.
again every single line of base framework is written by me.

the whole project including the framework (optimized release build) builds in ~15 seconds on my 16-core rig, without precompiled headers or modules or unity build

the base framework weighs 530 files, the GUI itself (including pyrrhic) is 254 files and spans 1431 git commits
the first commit for Myracle itself comes from 12-30-2025, so it took ~10 and half months to build, a solo dev spare time effort while also partially building parts of the underlying UI framework on the fly.
my plan was to spend 1 year on this project so I still got about 1.5 months left, then I'll move on to other projects.
the framework crystalized from a portion of my old game engine that I've been working on for ~10 years since 2014
Max
Posts: 278
Joined: Tue Apr 13, 2010 10:41 am

Re: Myracle GUI

Post by Max »

Beowulf 2.4a forfeits by illegal move (on linux).
Seems this happens always after the opponent castled.

Code: Select all

anomaly log time unit: microseconds (1 000 000/second)
>>> myracle gui v1.0 build 175

anomaly: black forfeits by illegal move f3g5
last engine output (Beowulf 2.4a)
3249441507> xboard
3249441536> new
3249441536> hard
3249441537> easy
3249441537> post
3249441543> new
3249441544> force
3249444461> new
3249444474> edit
3249444474> #
3249444478> Pa2
3249444478> Pb2
3249444481> Pc2
3249444481> Pd2
3249444482> Pe2
3249444482> Pf2
3249444483> Pg2
3249444483> Ph2
3249444486> Ra1
3249444487> Bc1
3249444487> Qd1
3249444487> Ke1
3249444498> Bf1
3249444499> Ng1
3249444499> Rh1
3249444500> c
3249444500> Ra8
3249444501> Nb8
3249444502> Bc8
3249444502> Qd8
3249444503> Ke8
3249444503> Bf8
3249444503> Ng8
3249444504> Rh8
3249444504> Pa7
3249444505> Pb7
3249444505> Pc7
3249444506> Pd7
3249444506> Pe7
3249444506> Pf7
3249444507> Pg7
3249444509> Ph7
3249444510> .
3249447092< Welcome to Beowulf Version 2.4a!
3249447096< Could not find Opening Book book.dat!
3249447275< Loading Personality File default.per ... OK
3249447626< Checking for Tablebase Files
3249449246< r n b q k b n r 
3249449249< p p p p p p p p 
3249449251< . . . . . . . . 
3249449251< . . . . . . . . 
3249449254< . . . . . . . . 
3249449259< . . . . . . . . 
3249449263< P P P P P P P P 
3249449267< R N B Q K B N R 
3249449298< [1]W > 
3252153785> e2e4
3252153801> level 0 1 1
3252153801> time 6100
3252153802> otim 5929
3252153802> go
3252154114< Current Position = 3.92
3252154118<   2    358       0         34   a6 d3
3252154130<   2    367       0         66   b6 d3
3252154241<   2    388       0        101   d6 d3
3252154247<   2    393       0        133   e6 d4
3252154508<   2    410       0        250   d5 f3 dxe4 fxe4
3252155045<   3    436       0        499   d5 Bb5+ c6 Bd3
3252155165<   3    438       0        612   e6 d4 Nf6
3252155795<   3    439!      0       1045   Nc6 d4 Nf6
3252155798<   3    439       0       1070   Nc6 d4 Nf6
3252156014<   3    445       0       1226   Nf6 e5 Nd5
3252156095<   4    411?      0       1313   Nf6 e5 Nd5 d3
3252157518<   4    422       0       2143   e6 d4 d5 f3
3252167298<   5    443       1       7736   e6 Nf3 Nf6 e5 Ne4
3252175128<   5    451!      2      14914   d5 f3 e6 Bb5+ c6 f4
3252177320<   5    452       2      16729   d5 Bb5+ Bd7 Bd3 e6 Nf3
3252214371<   6    449       6      46897   d5 Bd3 dxe4 Bxe4 Nf6 f3
3252303032<   7    472      14     132854   d5 f3 e6 d3 Nc6 Be3 Nf6
3252566870<   8    452      41     446635   d5 d3 e5 Nf3 Nc6 Bg5 f6 Be3 dxe4 dxe4
3253232071<   9    466     107    1406256   d5 e5 Nc6 d4 Bf5 Nf3 e6 Bb5 Nge7
3254940502<  10    448     278    3823402   d5 e5 f6 d4 c5 dxc5 Qc7 Nf3 g5 c3 Qxc5
3257323993<  10    448     516    6841615   d5 e5 f6 d4 c5 dxc5 Qc7 Nf3 g5 c3 Qxc5
3257324017< move d7d5
3259245368> force
3259245374> e4e5
3259245378> time 5683
3259245379> otim 5837
3259245379> go
3259245625< Current Position = 4.61
3259245628<   2    437       0         34   f6 d4 c5 dxc5 Qc7 Nf3 g5 c3 Qxc5
3259245701<   2    446       0         96   e6 Nf3 Qd7 d3 h6 Bf4 Bb4+ c3 f6
3259245710<   2    447       0        122   Nc6 Nf3 a6 b3 Bg4 Bb2 e6 d3
3259245715<   3    447       0        134   Nc6 Nf3 a6 b3 Bg4 Bb2 e6 d3
3259245758<   3    448       0        176   f6 d4 c5 dxc5 Qc7 Nf3 g5 c3 Qxc5
3259245861<   4    448       0        272   f6 d4 c5 dxc5 Qc7 Nf3 g5 c3 Qxc5
3259245869<   5    448       0        372   f6 d4 c5 dxc5 Qc7 Nf3 g5 c3 Qxc5
3259246059<   6    448       0        605   f6 d4 c5 dxc5 Qc7 Nf3 g5 c3 Qxc5
3259246358<   7    448       0       1026   f6 d4 c5 dxc5 Qc7 Nf3 g5 c3 Qxc5
3259257637<   8    448       1      14901   f6 d4 c5 dxc5 Nc6 exf6 Nxf6 Nf3
3260435524<   9    448     118    1693533   f6 d4 Nc6 Nf3 a6 h3 Bf5 Bd3 Be6
3260435548< move f7f6
3262314821> force
3262314827> d2d4
3262314830> time 5664
3262314831> otim 5749
3262314831> go
3262315063< Current Position = 4.37
3262315067<   2    459       0          2   Nc6 Nf3 a6 h3 Bf5 Bd3 Be6
3262315074<   3    459       0         29   Nc6 Nf3 a6 h3 Bf5 Bd3 Be6
3262315076<   4    459       0         56   Nc6 Nf3 a6 h3 Bf5 Bd3 Be6
3262315077<   5    459       0         83   Nc6 Nf3 a6 h3 Bf5 Bd3 Be6
3262315079<   6    459       0        110   Nc6 Nf3 a6 h3 Bf5 Bd3 Be6
3262325230<   7    459       1      15507   Nc6 Nf3 a6 h3 Bf5 Bd3 Be6
3262538063<   8    439      22     299157   Nc6 Nf3 a6 b3 Bg4 Bb2 e6 Be2
3263311035<   8    441      99    1359447   e6 Nf3 c5 c3 cxd4 cxd4 Qa5+ Bd2 Bd6
3263656012<   8    441     134    1767036   e6 Nf3 c5 c3 cxd4 cxd4 Qa5+ Bd2 Bd6
3263665935< move e7e6
3265054324> force
3265054329> f1d3
3265054332> time 5629
3265054333> otim 5710
3265054333> go
3265054507< Current Position = 4.43
3265054510<   2    421       0         10   Qd7 Qh5+ Kd8 Qh4 Bb4+ Kd1 g5 Nf3
3265054610<   2    439       0         96   fxe5 Qh5+ g6 Qxe5 Nf6 Bg5 Bg7
3265055040<   3    410?      0        357   fxe5 Qh5+ g6 Qxe5 Nf6 Bg5 Bg7
3265055043<   3    440       0        379   Qd7 Qh5+ Kd8 Qh4 Bb4+ Kd1 g5 Nf3
3265056150<   3    441       0       1390   Ne7 Qh5+ g6 Qf3
3265056782<   4    383?      0       2133   Ne7 exf6 gxf6 Qh5+ Kd7 Bxh7
3265057465<   4    440       0       3145   fxe5 Qh5+ g6 Qxe5 Nf6 Bg5 Bg7
3265057953<   4    442       0       3680   Qd7 Qh5+ Kd8 Qh4 Bb4+ Kd1 g5 Nf3
3265062343<   5    443       0       8429   Qd7 Qh5+ Kd8 Qh4 Bb4+ Kd1 g5 Nf3
3265074816<   6    443       2      22545   Qd7 Qh5+ Kd8 Nf3 fxe5 Bg5+ Nf6 Nxe5
3265165331<   7    434      11     154192   Qd7 Qh5+ Kd8 Nf3 g6 Bxg6 Qg7 exf6 Qxg6
3265311934<   7    442      25     371753   g6 Nf3 Nc6 Bb5 Bd7 c4 a6
3265591322<   8    425      53     744036   g6 Nf3 Nc6 Kf1 Bg7 exf6 Qxf6 c3
3265937094<   8    434      88    1260142   Qd7 Qh5+ Kd8 Nf3 g6 Bxg6 Qg7 exf6 Qxg6
3266338291<   8    434     128    1781469   Qd7 Qh5+ Kd8 Nf3 g6 Bxg6 Qg7 exf6 Qxg6
3266348213< move d8d7
3283653306> force
3283653312> c1d2
3283653315> time 5599
3283653316> otim 4080
3283653316> go
3283653435< Current Position = 4.45
3283653563<   2    455       0         73   Nc6 Qh5+ Kd8 exf6 gxf6 Bb5
3283653871<   3    445       0        366   Nc6 Qh5+ Kd8 exf6 gxf6 Bb5
3283655108<   3    458       0       1380   c5 Qh5+ Kd8 Ba5+ b6 Bxh7 fxe5 dxc5 bxa5 Qxe5
3283659250<   4    466       0       5839   c5 c3 fxe5 dxe5
3283667797<   5    437?      1      14686   c5 Qh5+ Qf7 Qxf7+ Kxf7 dxc5 Bxc5
3283689810<   5    439       3      40271   Qf7 Bb5+ c6 Ba4 b5 Bb3 fxe5 dxe5
3283724543<   6    444       7      84158   Qf7 c4 fxe5 dxe5 Nc6 cxd5 Nxe5
3283757556<   6    451      10     128023   c5 Qh5+ Kd8 Bxh7 fxe5 dxe5 g6 Bxg6 Rxh5 Bxh5
3283881224<   7    456      22     300654   c5 Qh5+ Kd8 c3 Nc6 Nf3 fxe5 Nxe5
3284346451<   8    454      69     962201   c5 c3 fxe5 dxe5 Nc6 Qh5+ Kd8 Kf1 h6
3284584833<   8    454      93    1268792   c5 c3 fxe5 dxe5 Nc6 Qh5+ Kd8 Kf1 h6
3284584855< move c7c5
3285418122> force
3285418128> c2c4
3285418132> time 5606
3285418133> otim 4096
3285418133> go
3285418318< Current Position = 4.60
3285418582<   2    566       0        157   cxd4 Bxh7 fxe5 Bb4
3285419358<   3    551       0        737   cxd4 Bxh7 fxe5 Bb4
3285421623<   4    540       0       3253   cxd4 Bxh7 fxe5 Bb4
3285425085<   4    559       0       7946   dxc4 Bxc4 Qxd4 Qh5+ g6
3285437887<   5    576       1      25191   dxc4 Qh5+ Qf7 Qxf7+ Kxf7 Bxc4 cxd4
3285464108<   6    558       4      62178   dxc4 Qh5+ Qf7 Qxf7+ Kxf7 Bxc4 cxd4 Nf3 fxe5 Nxe5+ Ke8
3285504544<   6    575       8     120342   cxd4 cxd5 Qxd5 Qh5+ Kd8 Nf3 fxe5 Qxe5
3285626906<   7    575      20     318999   cxd4 exf6 Nxf6 cxd5 Nxd5 Qh5+ Qf7 Qxf7+ Kxf7 Kf1
3285713850<   7    581      29     452384   dxc4 Qh5+ Qf7 Qxf7+ Kxf7 Bxc4 cxd4 Nf3 Nc6
3285976895<   8    562      55     851096   dxc4 Qh5+ Qf7 Qxf7+ Kxf7 Bxc4 cxd4 exf6 Nxf6 Kf1
3286589093<   8    592     117    1853433   cxd4 cxd5 Qxd5 Qh5+ Kd8 Kf1 Qxe5 Ba5+ b6 Qf7
3286706568<   8    592     128    2031784   cxd4 cxd5 Qxd5 Qh5+ Kd8 Kf1 Qxe5 Ba5+ b6 Qf7
3286706592< move c5d4
3297757786> force
3297757792> f2f4
3297757796> time 5577
3297757797> otim 3091
3297757797> go
3297757939< Current Position = 5.97
3297758084<   2    639       0         99   fxe5 Qh5+ Kd8 Qh4+ Ne7 Nf3
3297758724<   3    646       0        605   fxe5 Qh5+ Kd8 Qh4+ Ne7 Nf3
3297760825<   4    646       0       3593   fxe5 Qh5+ Kd8 Qh4+ Ne7 Nf3
3297770141<   5    646       1      15563   fxe5 Qh5+ Kd8 Qh4+ Ne7 Nf3 dxc4 fxe5
3297797719<   6    635       3      52692   fxe5 Qh5+ Kd8 fxe5 dxc4 Bg5+ Be7 Bxc4 Bxg5 Qxg5+ Ke8
3297885596<   7    632      12     200426   fxe5 Qh5+ Kd8 fxe5 dxc4 Bxc4 Nc6 Nf3
3298195010<   8    621      43     710211   fxe5 Qh5+ Kd8 fxe5 dxc4 Bxc4 Nc6 Bg5+ Nge7 Nf3
3298343766<   8    623      58     956791   dxc4 Qh5+ Kd8 Bxc4 Nc6 Nf3 fxe5 Nxe5 Qd6 Nxc6+ Qxc6
3298664307<   8    623      90    1389457   dxc4 Qh5+ Kd8 Bxc4 Nc6 Nf3 fxe5 Nxe5 Qd6 Nxc6+ Qxc6
3298664332< move d5c4
3299232287> force
3299232293> d3c4
3299232297> time 5587
3299232297> otim 3134
3299232298> go
3299232439< Current Position = 5.70
3299232443<   2    604       0          3   fxe5 fxe5 Nc6 Qh5+ g6 Kf1 gxh5
3299232759<   2    629       0        219   Nc6 Nf3 fxe5 Nxe5 Qf7
3299232884<   3    624       0        365   Nc6 Nf3 fxe5 Nxe5 Qf7
3299233018<   3    648       0        544   fxe5 fxe5 Nc6 Qh5+ g6 Kf1 gxh5
3299233120<   4    622       0        663   fxe5 fxe5 Nc6 Qh5+ g6 Kf1 gxh5
3299234187<   4    628       0       2236   Nc6 Nf3 fxe5 Nxe5 Qf7
3299243225<   5    607       1      12425   Nc6 Nf3 Bc5 Kf1 fxe5 Nxe5 Nxe5 fxe5
3299244281<   5    641       1      13784   fxe5 fxe5 Nc6 Qh5+ g6 Kf1 gxh5
3299263489<   6    645       3      38511   fxe5 fxe5 Nc6 Nf3 d3 Kf1
3299365458<   7    638      13     192929   fxe5 Qh5+ Kd8 fxe5 Nc6 Bd3 Nh6 Bxh6 gxh6
3299677332<   8    621      44     661619   fxe5 Qh5+ Kd8 fxe5 Nc6 Nf3 d3 Bg5+ Be7 Rd1
3300694126<   8    621     146    2158775   fxe5 Qh5+ Kd8 fxe5 Nc6 Nf3 d3 Bg5+ Be7 Rd1
3300694151< move f6e5
3301654882> force
3301654887> f4e5
3301654889> time 5541
3301654890> otim 3138
3301654890> go
3301655086< Current Position = 6.04
3301655130<   2    622       0         43   Nc6 Nf3 Bc5 Bc3 dxc3 Qxd7+ Bxd7 bxc3
3301655607<   3    641       0        371   Nc6 Nf3 Bc5 Bc3 dxc3 Qxd7+ Bxd7 bxc3
3301655802<   4    628       0        705   Nc6 Nf3 Bc5 Bc3 dxc3 Qxd7+ Bxd7 bxc3
3301656930<   5    628       0       2050   Nc6 Nf3 Bc5 Bc3 dxc3 Qxd7+ Bxd7 bxc3
3301676891<   6    628       2      26766   Nc6 Nf3 Bc5 Bc3 dxc3 Qxd7+ Bxd7 bxc3
3301880209<   7    623      22     295237   Nc6 Qh5+ Kd8 Nh3 g6 Qh4+ Ke8 Ng5 Nxe5 Bxe6
3302740639<   8    623     108    1415093   Nc6 Nf3 a6 Ng5 Nxe5 Bxe6 Qc6 Qe2 Bxe6 Qxe5
3303005241<   8    623     135    1802544   Nc6 Nf3 a6 Ng5 Nxe5 Bxe6 Qc6 Qe2 Bxe6 Qxe5
3303015200< move b8c6
3308092657> force
3308092662> a1c1
3308092666> time 5505
3308092666> otim 2731
3308092667> go
3308092861< Current Position = 6.39
3308092884<   2    805       0         65   Nxe5 Qh5+ Nf7 Qe2 d3 Qxd3
3308093495<   3    804       0        497   Nxe5 Qh5+ Nf7 Qe2 d3 Qxd3
3308094625<   4    609?      0       2071   Nxe5 Qh5+ Kd8 Qxe5 d3 Bxd3 Qxd3
3308099177<   4    416       0       7609   Nxe5 Qh5+ Kd8 Qxe5 d3 Bxd3 Qxd3
3308099661<   4    597       0       8108   Kd8 Nf3 h6 Bb5 g5 Bxc6 bxc6
3308100443<   4    618       0       8964   Qf7 Nf3 h6 Bb5 Bd7 Rxc6 bxc6
3308102442<   4    630       0      11286   h5 Nf3 d3 Ng5
3308105272<   4    631       1      14366   a5 Nf3 d3 Kf1
3308107037<   4    632       1      16367   a6 Qe2 b6 Bg5
3308108902<   4    634       1      18442   Be7 Nf3 d3 Kf1
3308120444<   5    622       2      32243   Be7 Qe2 Bb4 Nf3 Qf7 Bxb4 Nxb4 Nxd4
3308129345<   5    663!      3      44722   a6 Qe2 b5 Qh5+ g6 Bb3
3308131201<   5    677       3      46905   a6 Nf3 b5 Rg1 bxc4 Rxc4
3308156880<   6    653       6      84389   a6 Nf3 b5 Bd3 Bb7 Rf1
3308277998<   7    639      18     248532   a6 Qh5+ g6 Qe2 b5 Bd3 Bb7 Nf3
3308776748<   8    639      68     987844   a6 Qe2 b5 Bd3 Nge7 Nh3 Qd5 Qh5+ g6
3309331185<   8    639     123    1821389   a6 Qe2 b5 Bd3 Nge7 Nh3 Qd5 Qh5+ g6
3309331205< move a7a6
3310748193> force
3310748198> g1f3
3310748201> time 5481
3310748201> otim 2689
3310748202> go
3310748388< Current Position = 6.13
3310748392<   2    651       0          2   b5 Bb3 Bb7 Rxc6 Bxc6 Ba5
3310748399<   3    651       0         37   b5 Bb3 Bb7 Rxc6 Bxc6 Ba5
3310748401<   4    651       0         72   b5 Bb3 Bb7 Rxc6 Bxc6 Ba5
3310748402<   5    651       0        107   b5 Bb3 Bb7 Rxc6 Bxc6 Ba5
3310759324<   6    651       1      13143   b5 Bb3 Bb7 Rxc6 Bxc6 Ba5
3310850003<   7    657      10     133792   b5 Bb3 d3 Ng5 Nxe5 Bxe6 Qd8 Rxc8 Rxc8 Bxg8 Rxg8 Nxh7
3311141816<   8    633      39     522562   b5 Bb3 d3 Ng5 Nd4 Kf1 Nxb3 Qxb3
3312154920<   9    633     140    1955273   b5 Bb3 d3 Ng5 Nd4 Rc3 Nxb3 Qxb3 Qd4 Rxd3 Qxe5+ Kf2
3312154945< move b7b5
3313208593> force
3313208600> c4b3
3313208604> time 5440
3313208605> otim 2684
3313208605> go
3313208800< Current Position = 6.54
3313208803<   2    622       0          2   d3 Ng5 Nd4 Rc3 Nxb3 Qxb3 Qd4 Rxd3 Qxe5+ Kf2
3313208811<   3    622       0         41   d3 Ng5 Nd4 Rc3 Nxb3 Qxb3 Qd4 Rxd3 Qxe5+ Kf2
3313208913<   4    622       0        113   d3 Ng5 Nd4 Rc3 Nxb3 Qxb3 Qd4 Rxd3 Qxe5+ Kf2
3313208924<   5    622       0        196   d3 Ng5 Nd4 Rc3 Nxb3 Qxb3 Qd4 Rxd3 Qxe5+ Kf2
3313209008<   6    622       0        317   d3 Ng5 Nd4 Rc3 Nxb3 Qxb3 Qd4 Rxd3 Qxe5+ Kf2
3313219290<   7    622       1      13126   d3 Ng5 Nd4 Rc3 Nxb3 Qxb3 Qd4 Rxd3 Qxe5+ Kf2
3313576673<   8    618      36     505029   d3 Ng5 Nxe5 Bxe6 Qd8 Rxc8 Rxc8 Nxh7
3314336532<   9    589?    112    1610000   d3 Ng5 Nxe5 Bxe6 Qb7 Qh5+ Kd8 Kf1 h6 Nf7+ Nxf7 Rxc8+ Rxc8 Ba5+ Rc7 Bxc7+ Kxc7 Qxf7+
3315274173<   9    589?    206    2958571   d3 Ng5 Nxe5 Bxe6 Qb7 Qh5+ Kd8 Kf1 h6 Nf7+ Nxf7 Rxc8+ Rxc8 Ba5+ Rc7 Bxc7+ Kxc7 Qxf7+
3315284064< move d4d3
3318838687> force
3318838693> e1g1
3318838696> time 5333
3318838697> otim 2428
3318838697> go
3318838881< Current Position = -7.21
3318838897<   2   -656       0          5   Ng5 Nxe5 Bxe6 Qb7 Qh5+ Kd8 Kf1 h6 Nf7+ Nxf7 Rxc8+ Rxc8 Ba5+ Rc7 Bxc7+ Kxc7 Qxf7+
3318838994<   3   -589!      0         73   Ng5 Nxe5 Bxe6 Qb7 Qh5+ Kd8 Kf1 h6 Nf7+ Nxf7 Rxc8+ Rxc8 Ba5+ Rc7 Bxc7+ Kxc7 Qxf7+
3318839032<   3   -618?      0        116   Ng5 Nxe5 Bxe6 Qb7 Qh5+ Kd8 Kf1 h6 Nf7+ Nxf7 Rxc8+ Rxc8 Ba5+ Rc7 Bxc7+ Kxc7 Qxf7+
3318839075<   3   -618       0        193   Ng5 Nxe5 Bxe6 Qb7 Qh5+ Kd8 Kf1 h6 Nf7+ Nxf7 Rxc8+ Rxc8 Ba5+ Rc7 Bxc7+ Kxc7 Qxf7+
3318839095<   4   -589!      0        229   Ng5 Nxe5 Bxe6 Qb7 Qh5+ Kd8 Kf1 h6 Nf7+ Nxf7 Rxc8+ Rxc8 Ba5+ Rc7 Bxc7+ Kxc7 Qxf7+
3318839130<   4   -590?      0        277   Ng5 Nxe5 Bxe6 Qb7 Qh5+ Kd8 Kf1 h6 Nf7+ Nxf7 Rxc8+ Rxc8 Ba5+ Rc7 Bxc7+ Kxc7 Qxf7+
3318839169<   4   -590       0        359   Ng5 Nxe5 Bxe6 Qb7 Qh5+ Kd8 Kf1 h6 Nf7+ Nxf7 Rxc8+ Rxc8 Ba5+ Rc7 Bxc7+ Kxc7 Qxf7+
3318839285<   5   -589       0        498   Ng5 Nxe5 Bxe6 Qb7 Qh5+ Kd8 Kf1 h6 Nf7+ Nxf7 Rxc8+ Rxc8 Ba5+ Rc7 Bxc7+ Kxc7 Qxf7+
3318839960<   6   -589       0       1119   Ng5 Nxe5 Bxe6 Qb7 Qh5+ Kd8 Kf1 h6 Nf7+ Nxf7 Rxc8+ Rxc8 Ba5+ Rc7 Bxc7+ Kxc7 Qxf7+
3318890053<   7   -589       5      66964   Ng5 Nxe5 Bxe6 Qb7 Qh5+ Kd8 Kf1 h6 Nf7+ Nxf7 Rxc8+ Rxc8 Ba5+ Rc7 Bxc7+ Kxc7 Qxf7+
3319172139<   8   -588      33     483335   Ng5 Nd4 Rc3 Qb7 Kf1 Qb8 Rxd3 Nxb3 Rxb3 Qxe5
3320259735<   9   -588     142    2159845   Ng5 Nd4 Rf1 Be7 Nf7 Nf6 Nxh8 Qa7
3320259751< move f3g5
3320262871> result 1-0 {black forfeits by illegal move f3g5}
3320262878> easy

3320263083>> anomaly log time

pgn:
[Event "Handicap"]
[Site "Earth"]
[Date "2026.11.15"]
[Round "1.3"]
[White "Stockfish 26.10.28"]
[Black "Beowulf 2.4a"]
[Result "1-0"]
[TimeControl "60+1"]
[SetUp "1"]
[FEN "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/R1BQKBNR w KQkq - 0 1"]
[Time "10:17:26"]
[GameDuration "00:01:11"]
[PlyCount "25"]
[Termination "black plays illegal move"]

1. e4 {-6.91/30 2.71s} d5 {4.48/10 5.17s} 2. e5 {-6.99/29 1.92s} f6 {4.48/9 1.19s}
3. d4 {-6.42/25 1.88s} e6 {4.41/8 1.35s} 4. Bd3 {-5.54/29 1.39s} Qd7 {4.34/8 1.29s}
5. Bd2 {-5.55/31 17.31s} c5 {4.54/8 0.93s} 6. c4 {-5.58/26 0.83s} cxd4 {5.92/8 1.29s}
7. f4 {-6.11/36 11.05s} dxc4 {6.23/8 0.91s} 8. Bxc4 {-5.76/25 0.57s} fxe5 {6.21/8
1.46s} 9. fxe5 {-4.69/28 0.96s} Nc6 {6.23/8 1.36s} 10. Rc1 {-4.72/30 5.08s} a6 {6.39/8
1.24s} 11. Nf3 {-4.36/24 1.42s} b5 {6.33/9 1.41s} 12. Bb3 {-3.50/19 1.05s} d3 {6.18/8
2.08s} 13. O-O {-3.21/25 3.55s} {black forfeits by illegal move f3g5} 1-0
mar
Posts: 3119
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Myracle GUI

Post by mar »

hi Max,

this looks like it's running old xboard 1 protocol...
my Beowulf 2.4a windows binary here supports uci, but it fails to think, claiming "illegal input" in uci mode here
I guess you set to xboard explicitly?

I'll investigate some more
Max
Posts: 278
Joined: Tue Apr 13, 2010 10:41 am

Re: Myracle GUI

Post by Max »

mar wrote: ↑Sun Nov 15, 2026 12:48 pm I guess you set to xboard explicitly?
Beowulf was installed on a Myracle version below 100, and - as far as I recall - xboard was selected automatically. I probably added the engine name.
mar
Posts: 3119
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Myracle GUI

Post by mar »

strange, having setup Beowulf 2.4a here to xboard + old protocol, it plays fine here, no illegal moves except a few time losses.
uci version doesn't work for the official windows build, but xboard 1 mode works well enough. may I ask where you got your Linux build from?
Max
Posts: 278
Joined: Tue Apr 13, 2010 10:41 am

Re: Myracle GUI

Post by Max »

cloned the source code

Code: Select all

git clone https://github.com/ColinFrayn/Beowulf
and compiled it with

Code: Select all

clang -O3 chess.c -o beowulf -lm
clang --version

Code: Select all

Ubuntu clang version 21.1.8 (6ubuntu1)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/lib/llvm-21/bin
mar
Posts: 3119
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Myracle GUI

Post by mar »

ok, I have a repro now on Windows too.
it seems you use a knight odds initial position and Beowulf doesn't correctly infer castling rights after edit position command as it should.

I observe the same problem in old Arena, although in Arena Beowulf doesn't move at all after a castling move (this is likely due to a subtle difference of how myracle sends moves to xboard engines) and loses on time instead.

so I assume this is an engine problem, not a GUI problem.