MessChess

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

Moderator: Ras

User avatar
F.Huber
Posts: 869
Joined: Thu Mar 09, 2006 4:50 pm
Location: Austria
Full name: Franz Huber

Re: MessChess

Post by F.Huber »

Werewolf wrote: Tue Nov 30, 2021 3:48 pm Do you think one day we may get to see the Atlanta?!
Probably not in my lifetime.
There's still no mehod known, how to dump the program ROM from the integrated chip used in the Atlanta.
User avatar
Rubinus
Posts: 1213
Joined: Thu Jan 18, 2007 4:05 pm
Location: Prague
Full name: Pavel Háse

Re: MessChess

Post by Rubinus »

I still can't figure out how to make it work in ChessBase - ChessProgram11/Rybka3. There I need UCI, i.e. WB2UCI.exe and I can't manage to configure it to work.

I have downloaded the MessTini one from Ed Schroeder, and it works, although it crashes occasionally. However, I can't get anything else to work there either, even if I copy the rom there and overwrite the settings to what I want.

This is what the wb2uci.eng files from Ed Shroeder look like.
[ENGINE]
Name=Mephisto MM4
Author=Ed Schröder
Filename=MM4-UCI.exe

[OPTIONS]
Program=..\messtiny.exe mm4 -mmlog
And when I want to somehow configure MessChess, I can't. I'm making a mistake somewhere, but I can't figure out what it is yet.
delphiguru
Posts: 2
Joined: Tue Nov 30, 2021 3:35 pm
Full name: Sam D Hunt

Re: MessChess

Post by delphiguru »

I do Delphi programming. (Pascal) I have created a chess board program entitled "Shaibel's Chess Board". It opens pgn files, plays from the end of the game (provided the game is not completed). It plays offline on your Windows PC desktop or online between two players known as the host and the guest. This uses TCPIP servers and clients to communicate in the chat box and to send and read moves from and to each othger across the internet.
This all worked in a non-pgn compatible program structure. But, I am now adding support for PGN SAN and LA conversion and files...about 70% complete.

I fear that my programming bit skills are not as strong or inj alignment with developers' boards. But, I'll describe my program any way.
The "board" is made up of 64 TPanels entitled "a1".."h*'
I create a parallel array (arBoard: array of tRecSquare...piece name, color, vacant, etc.) which contains a record describing the the contents of each square. I use arBoard: array of tRecSquare to validate moves, check for attacked squares when castling and more.
Each TPanel has a TImage created and placed inside each panel. The TImahs are named (at runtime in InitBoard) "img" + TPanel.name).
aq typical move....player clicks first square (actually the image). The name of the TImage's.parent the TPanel or square name is captured. A function named GetSquareRec searches the arBoard array of records for this square's name (a1,a2,b1,b2...h8) and returns the associated tRecSquare. tRecSquare has a field named arIndex, which is a number, incremented from 1 to 64 during Inti....so, when the tRecSquare is known we know which square it refers to.
On the first square click, the square's tRecSquare record is saved in tRecRestoreFirstSquare (for undo) and the square's ('img' + 'a1') as TImage).pictuire.bmp image is saved in a static TImage "imgFirstSquare" on the form but out of view.
On the second square click, the square's tRecSquare record is saved in tRecRestoreSecondSquare and the square's ('img' + 'a1') as TImage).pictuire.bmp image is saved in a static TImage "imgSecondSquare" on the form but out of view.
The 2nd sqaures image is made to be thaqt of the first square. Both arBoard of tRecSquare's are updated to reflect the correct contents of the two squares.
THE MOVE IS VALIDATED using numerous functions for the several pieces.
If the move is valid, the board remains in its updated state.
Move validation includes functions to detect a player placing their own king in check which is not allowed.
If the move is validated, then the opponent's king check state is calculated...i.e. did my move put my opponnts king in check?
and the game continues.
This is about 4000 lines of code. It's written in Delphi XE2. I did have an early version ported to Lazarus 2.0, but it's too old to be much of any value. However, creating this did demonstrate that the Delphi version could be ported to Lazarus.
I'm not a perfectionist, but, I do liike work that I share to run bug-free, so, it'll be a couple of weeks before I can share this.
There is a website, but it's rather old. I'll try to attach a screen print with this post. It appears that I have been successful in attaching a screen print. The screen print shows the PGN file from a game I played recently on Lichess.org. The original file has the moveds in one long line. My program reformats the original PGN file into a single column of moves and supports "Save As", if you want to work with the reformatted file, instead of the original PGN file.
As you can see, the moves have not been executed, I am in the mniddle of the PGN reader/make moves code.
My app does work as a simple chess board without PGN SAN support.
Thanks for reading
User avatar
Rubinus
Posts: 1213
Joined: Thu Jan 18, 2007 4:05 pm
Location: Prague
Full name: Pavel Háse

Re: MessChess

Post by Rubinus »

https://www.youtube.com/watch?v=Xz3jj_Rv6Fw

An excursion to 1984, when such a game might have taken place. Such an opening by Black is not to be survived in the company of decent players! But whatever happened next, I think even Black might have won in the end. And that final ending, I didn't have the nerve to wait another 47 moves and I guessed a draw. Back then, a game at that pace would have lasted about a day and a half, and both programmers would have alternated between states of euphoria and despair while sipping coffee. :).

It runs about 10x faster in the emulator on my computer. Bricket Mephisto III, the predecessor of MMI, is said to have once tied with Karpov, the contemporary advertising slogan was "Mephisto computers play chess like the devil". Well, this game, at more than three times the tournament pace, would put even 3rd class players to shame.
User avatar
AdminX
Posts: 6363
Joined: Mon Mar 13, 2006 2:34 pm
Location: Acworth, GA

Re: MessChess

Post by AdminX »

Modena's nice Mate against Sargon 4.

Image
Black to Move.

[pgn]
[Event "Engine match"]
[Site "?"]
[Date "2021.12.04"]
[Round "1"]
[White "AVE ARB V2 Sargon 4.0 (mess 0.220)"]
[Black "Mephisto Modena (set 3) (mess 0.220)"]
[Result "0-1"]
[ECO "D04"]
[TimeControl "m10000"]

1.d4 d5 2.Nf3 Nf6 3.e3 Bf5 4.Bd3 e6 5.Bxf5 exf5 6.Qd3 Qc8 7.Nc3 Na6 8.O-O Nb4 9.Qe2 Ne4 10.a3 Nxc3 11.bxc3 Nc6 12.Qb5 Bd6 13.Bd2 O-O 14.Qxd5 Rd8 15.Qb3 Na5 16.Qa4 Nc6 17.c4 Rb8 18.Rab1 a6 19.d5 Ne5 20.Nxe5 Bxe5 21.f4 Bf6 22.c3 c6 23.Qb3 Qd7 24.dxc6 Qxc6 25.Qa2 Rd3 26.Rfc1 Rbd8 27.Rc2 b6 28.a4 Qd6 29.Rbb2 Qc5 30.Qb3 R8d6 31.Kf1 Bh4 32.Qb4 Qc7 33.Ke2 h6 34.g3 Be7 35.Qb3 Qc6 36.Kf2 Qh1 37.Be1 Rxe3 38.Kxe3 Re6+ 39.Kd3 Qe4+ 40.Kd2 Qe3+ 41.Kd1 Qxe1# 0-1
[/pgn]
"Good decisions come from experience, and experience comes from bad decisions."
__________________________________________________________________
Ted Summers
Werewolf
Posts: 2064
Joined: Thu Sep 18, 2008 10:24 pm

Re: MessChess

Post by Werewolf »

mephisto wrote: Sun Nov 28, 2021 10:25 am The ROMS which you can convert to .bat files in the CB-Emu Pro program work fine with the Hiarcs Explorer.

Also the legendary Saitek SPARC module, Dan & Kathe Spracklen's strongest offering is aldo now available 👍
Is it their strongest offering? What about the Fidlity Elite Avant Gard v.11 which used a 68060 processor running at 72 MHz?

http://www.chesscomputeruk.com/html/fid ... _v_11.html

edit: curiously under the MESS emulator it records it as using a 68040 processor rather than a 68060...don't know why.
User avatar
F.Huber
Posts: 869
Joined: Thu Mar 09, 2006 4:50 pm
Location: Austria
Full name: Franz Huber

Re: MessChess

Post by F.Huber »

Werewolf wrote: Sat Dec 04, 2021 6:25 pm edit: curiously under the MESS emulator it records it as using a 68040 processor rather than a 68060...don't know why.
Because the 68060 is not yet emulated in MAME, so I've used the 68040 with a higer CPU freqency to provide almost the same speed as the original CPU (there's not so much difference between these 2 processors).
Werewolf
Posts: 2064
Joined: Thu Sep 18, 2008 10:24 pm

Re: MessChess

Post by Werewolf »

F.Huber wrote: Sat Dec 04, 2021 7:56 pm
Werewolf wrote: Sat Dec 04, 2021 6:25 pm edit: curiously under the MESS emulator it records it as using a 68040 processor rather than a 68060...don't know why.
Because the 68060 is not yet emulated in MAME, so I've used the 68040 with a higer CPU freqency to provide almost the same speed as the original CPU (there's not so much difference between these 2 processors).
Thanks - that makes sense, except that in the emulation it says 72 MHz (on a 68040) and the original is also 72 MHz but on a 68060. Is your clock speed adjustment "under the hood" as it were?

Also, do you know if the Avent Gard v.11 is newer than the SPARC and stronger?
User avatar
F.Huber
Posts: 869
Joined: Thu Mar 09, 2006 4:50 pm
Location: Austria
Full name: Franz Huber

Re: MessChess

Post by F.Huber »

Werewolf wrote: Sat Dec 04, 2021 8:00 pm Thanks - that makes sense, except that in the emulation it says 72 MHz (on a 68040) and the original is also 72 MHz but on a 68060. Is your clock speed adjustment "under the hood" as it were?
Well, in CB-Emu there are 2 versions, one with 72MHz and the other with 166MHz.
And in MessExtra you can switch between 72, 144 and 166MHz in the menu 'Options > Configuration > CPU Frequency'.
Also, do you know if the Avent Gard v.11 is newer than the SPARC and stronger?
Look at the file 'Programs.txt' in the CB-Emu folder - there you'll find such informations.
User avatar
Rubinus
Posts: 1213
Joined: Thu Jan 18, 2007 4:05 pm
Location: Prague
Full name: Pavel Háse

Re: MessChess

Post by Rubinus »

I finally took the time to get ChessBase up and running!
The *.eng files for Shredder and *.uci files for ChessBase are essentially identical. So just create the engines for Shredder according to the instructions, rename everything from *.eng an *.uci and it works. You can also add parameters for speed, so if I set a ten times speed and a tempo of about 2min/move, then it handles 15+10 in the ChessBase environment without any problems.
But there is one problem, in a match or tournament the engine usually plays a single game, then it doesn't work properly. It would be nice if the GUI could somehow restart or quit the engine after the game is over - which it can do in the case of regular uci engines, after all!?

Code: Select all

[ENGINE]
Name=Mephisto Berlin 68000 v0.03
Author=MessChess
FileName=d:\programy\CB-Emu\MessChess\MessChess.exe
Parameter=berl16
logo=d:\programy\Logos\Mephisto.bmp

[OPTIONS]
Speed=1000
Level=norml 07
(I don't see the logo either, but that's a GUI problem, I'll figure it out.)
[pgn][Event "C30-39 Januar 2022, Blic:15'+10""]
[Site "?"]
[Date "2022.02.26"]
[Round "1"]
[White "Novag Diablo 68000"]
[Black "Mephisto Berlin 68000 v0.03"]
[Result "1/2-1/2"]
[ECO "D14"]
[PlyCount "95"]
[TimeControl "900+10"]

1. d4 {0.01/0 1 Oba mimo knihovnu} d5 {0.01/0 2} 2. c4 {0.01/0 0} c6 {0.01/0 1}
3. cxd5 {0.01/0 0} cxd5 {0.01/0 1} 4. Nc3 {0.01/0 0} Nf6 {0.01/0 1} 5. Nf3 {0.
01/0 0} Nc6 {0.01/0 1} 6. Bf4 {0.01/0 0} Bf5 {0.01/0 1} 7. e3 {0.01/0 0} e6 {
0.01/0 1} 8. Bb5 {0.01/0 2} Nd7 {0.01/0 1} 9. Qa4 {0.01/0 0} Rc8 {0.01/0 0} 10.
Bxc6 {0.01/0 13} Rxc6 {0.01/0 1} 11. Qxa7 {0.01/0 13} Qc8 {0.01/0 0} 12. Qa5 {
0.01/0 13} Ra6 {0.01/0 1} 13. Qc7 {0.01/0 13} Qxc7 {0.01/0 1} 14. Bxc7 {0.01/0
12} Bb4 {0.01/0 1} 15. a3 {0.01/0 13} O-O {0.01/0 36} 16. Rc1 {0.01/0 14} Rc8 {
0.01/0 35} 17. axb4 {0.01/0 13} Rxc7 {0.01/0 7} 18. O-O {0.01/0 5} Rc8 {0.01/0
22} 19. b5 {0.01/0 13} Raa8 {0.01/0 48} 20. Ra1 {0.01/0 0} h6 {0.01/0 14} 21.
Rfc1 {0.01/0 13} Bd3 {0.01/0 0} 22. Kh1 {0.01/0 13} Kf8 {0.01/0 37} 23. Re1 {
0.01/0 13} b6 {0.01/0 24} 24. Rec1 {0.01/0 13} h5 {0.01/0 12} 25. Kg1 {0.01/0
13} Ke8 {0.01/0 29} 26. Re1 {0.01/0 13} Ke7 {0.01/0 21} 27. Rxa8 {0.01/0 13}
Rxa8 {0.01/0 3} 28. g3 {0.01/0 9} f5 {0.01/0 18} 29. Rd1 {0.01/0 13} Bc4 {0.01/
0 23} 30. Kg2 {0.01/0 0} Kf6 {0.01/0 20} 31. h4 {0.01/0 0} Ra7 {0.01/0 13} 32.
Rb1 {0.01/0 13} Bd3 {0.01/0 16} 33. Rg1 {0.01/0 13} Bc4 {0.01/0 14} 34. Rc1 {
0.01/0 13} Ra8 {0.01/0 9} 35. b4 {0.01/0 13} Ra3 {0.01/0 8} 36. Nd2 {0.01/0 5}
Bd3 {0.01/0 3} 37. f4 {0.01/0 13} Kf7 {0.01/0 11} 38. Kf2 {0.01/0 13} Ke7 {0.
01/0 13} 39. Ke1 {0.01/0 14} Nf6 {0.01/0 9} 40. Nf3 {0.01/0 3} Ne4 {0.01/0 22}
41. Nxe4 {0.01/0 0} fxe4 {0.01/0 10} 42. Ne5 {0.01/0 13} Bxb5 {0.01/0 1} 43.
Kd2 {0.01/0 12} Kd6 {0.01/0 6} 44. Rc8 {0.01/0 7} Ra2+ {0.01/0 6} 45. Rc2 {0.
01/0 6} Ra3 {0.01/0 9} 46. Rc8 {0.01/0 13} Ra2+ {0.01/0 0} 47. Rc2 {0.01/0 13}
Ra3 {0.01/0 20} 48. Rc8 {0.01/0 13 Přijímám remis} 1/2-1/2
[/pgn]
Well, the rematch was not played anymore because the GUI entered the impossible first move 1.Rc2-c8 without restarting the opponents...
GUI Chessprogram11/Rybka3