GUIs and Novag Sapphire

This forum is for general discussions and questions, including Collectors Corner and anything to do with Computer chess.

Moderators: Harvey Williamson, Steve B, Watchman

Forum rules
This textbox is used to restore diagrams posted with the fen tag before the upgrade.
kalatov
Member
Posts: 149
Joined: Thu Aug 31, 2017 9:11 pm

Post by kalatov »

OK, I think I've just worked out the steps to play the Sapphire as white.

- Start a new game in Arena, with the Alain/Diamond engine loaded.
- Set the Sapphire to the level you want
- Go in to Game > Game data and swap the colours the players are playing, click OK.
- Click the 'cog' button on the Arena interface to get the engine to calculate and move, then press the 'Go' button on the Sapphire. It will move, you'll get the engine settings dialogue, click OK, and the move will be displayed on the Arena board. You can now respond as black and continue the game.
- You probably want to swap the board round to make it easier to play as black.

The 'mistake' I had been making was just pressing 'Go' on the Sapphire. This seemed Ok for the first move but then Arena declared the Sapphire's second move illegal. Alerting Arena to the fact that it is expecting the Sapphire's first move seems to get round this.

Phil
jfppal
Member
Posts: 3
Joined: Mon Oct 23, 2017 12:29 pm
Location: Valencia (España)

Post by jfppal »

I thank you a lot Phil. Un fortunately I am doing something wrong because I randomly get a variety of messages:
1.- Unexpected Error in Diamond Driver (This is the most often shown)
or
Timeout error, or something explaining that Port com x doesn't exist, or the log file can't be written... It's a nightmare. I only get twice the "select level" window.
I can perfectly use Sapphire (and SuperForte D, Diamond II or Super Diamond) using the buil-in Arena Citrine utility, but it seems it is the only way I can do it.
I include the log from Arena, in case you found it useful. Using Windows 10. Port Com 1, 9600 Baud... etc.

Thanks again,

Juan Francisco


2017-10-24 17:07:13,958 Arena 3.5.1
2017-10-24 17:07:14,008Font Arena Chess Figurine MISSING

2017-10-24 17:07:15,852**----------New game---2017-10-24 17:07:15,852 ma. -------------
2017-10-24 17:07:16,124**screen: 1152x648
2017-10-24 17:07:16,124**Monitors: 1
2017-10-24 17:07:16,124**Monitor0: 1152x648
2017-10-24 17:07:16,124**FormMonitor: 0
2017-10-24 17:07:16,124**DesktopRect: 0/0 .. 1152/648
2017-10-24 17:07:16,521**Loading 1
2017-10-24 17:07:21,881*1*-------------------Starting engine 1 Alainza.Uci.Diamond--------------------
2017-10-24 17:07:21,881*1*Configured Engine 1 Type: UCI
2017-10-24 17:07:21,881*1*Engine 1 dir: C:\Program Files (x86)\Alainza\UCI Drivers for Dedicated Machines
2017-10-24 17:07:21,881*1*Engine 1 commandline: "C:\Program Files (x86)\Alainza\UCI Drivers for Dedicated Machines\Alainza.Uci.Diamond.exe"
2017-10-24 17:07:22,155*1*Child Process Prio Adj: PID 9768 conhost.exe
2017-10-24 17:07:22,155*1*Engine 1 ProcessID: 11252
2017-10-24 17:07:22,155*1*Engine 1 Prio:32 ThreadPrio:0
2017-10-24 17:07:22,186-->1:uci
2017-10-24 17:07:22,295<--1:Novag Diamond by D.Kittinger (Diamond) and A.Zanchetta (UCI Driver)
2017-10-24 17:07:22,311<--1:id name Novag Diamond
2017-10-24 17:07:22,311<--1:id author D.Kittinger (Diamond) and A.Zanchetta (UCI Driver)
2017-10-24 17:07:22,327<--1:option name Serial Port type combo default COM1 var COM1 var COM2 var COM3 var COM4 var COM5 var COM6 var COM7 var COM8 var COM9
2017-10-24 17:07:22,327<--1:option name Clear Logs type button
2017-10-24 17:07:22,327<--1:option name OwnBook type check default true
2017-10-24 17:07:22,327<1>1:isready
2017-10-24 17:07:23,040*1*La operación se completó correctamente
2017-10-24 17:07:23,040*1*Engine crashed, restarting...
2017-10-24 17:07:23,040-->1:quit
2017-10-24 17:07:23,568*1*-------------------Starting engine 1 Alainza.Uci.Diamond--------------------
2017-10-24 17:07:23,568*1*Configured Engine 1 Type: UCI
2017-10-24 17:07:23,568*1*Engine 1 dir: C:\Program Files (x86)\Alainza\UCI Drivers for Dedicated Machines
2017-10-24 17:07:23,568*1*Engine 1 commandline: "C:\Program Files (x86)\Alainza\UCI Drivers for Dedicated Machines\Alainza.Uci.Diamond.exe"
2017-10-24 17:07:23,808*1*Child Process Prio Adj: PID 6912 conhost.exe
2017-10-24 17:07:23,808*1*Engine 1 ProcessID: 6516
2017-10-24 17:07:23,808*1*Engine 1 Prio:32 ThreadPrio:0
2017-10-24 17:07:23,839-->1:uci
2017-10-24 17:07:23,917<--1:Novag Diamond by D.Kittinger (Diamond) and A.Zanchetta (UCI Driver)
2017-10-24 17:07:23,933<--1:id name Novag Diamond
2017-10-24 17:07:23,933<--1:id author D.Kittinger (Diamond) and A.Zanchetta (UCI Driver)
2017-10-24 17:07:23,933<--1:option name Serial Port type combo default COM1 var COM1 var COM2 var COM3 var COM4 var COM5 var COM6 var COM7 var COM8 var COM9
2017-10-24 17:07:23,949<--1:option name Clear Logs type button
2017-10-24 17:07:23,949<--1:option name OwnBook type check default true
2017-10-24 17:07:23,949<1>1:isready
2017-10-24 17:07:45,241*1*Start calc, move no: 1
2017-10-24 17:07:45,242-->1:ucinewgame
2017-10-24 17:07:45,243-->1:isready
2017-10-24 17:07:45,347-->1:position startpos moves e2e4
2017-10-24 17:07:45,347-->1:go wtime 7200000 btime 7200000 winc 0 binc 0 movestogo 40
Archilog
Member
Posts: 7
Joined: Tue May 26, 2020 11:25 am

Post by Archilog »

Hello,

I sincerely appreciated your private help, Berger, in making my own interface to link my Sapphire to my PC; you were very kind!
Thanks also to Kalatov who initiated this post.

I was very surprised to have to link my Sapphire to a PC at a 9 600 bauds rate since every Novag user manual I found about the subject informs a 56k rate is okay. Thank you again, Kalatov, for this precious and very unique information.

I am a "new-newbie" in (electronic) chess. I've played Sargon II on a TRS-80 in the early 80's, used a good Advanced Starchess until the end of the decade... and withdrew from chess in the 90's.

If I remember well, I bought my Sapphire in 2013 or 2014 at a fair price, but I am really using it a lot right now, testing some English Openings 'of my own'. Nice machine, indeed: I now understand what a David Kittinger's program is... surprisingly human! It is a machine I really like to play with on an old wooden chessboard...

I shall achieve in a few days a new 'Unofficial Sapphire User Manual' I hope I could publish on Alain Zanchietta's site. This manual helped me a lot to understand how the Sapphire operates - because Novag's one was quite poor.

Chessly yours. ;)
Archilog
Member
Posts: 7
Joined: Tue May 26, 2020 11:25 am

Post by Archilog »

Archilog wrote:Hello,

[...]
I shall achieve in a few days a new 'Unofficial Sapphire User Manual' I hope I could publish on Alain Zanchetta's site. This manual helped me a lot to understand how the Sapphire operates - because Novag's one was quite poor.

Chessly yours. ;)
Sorry, Alain Zanchetta, I wrote your surname erroneously, and I did not find how to edit my post. The FAQ says:
How do I edit or delete a post?
Unless you are the board admin or forum moderator you can only edit or delete your own posts. You can edit a post (sometimes for only a limited time after it was made) by clicking the edit button for the relevant post. If someone has already replied to the post, you will find a small piece of text output below the post when you return to the topic that lists the number of times you edited it. This will only appear if no one has replied; it also will not appear if moderators or administrators edit the post (they should leave a message saying what they altered and why). Please note that normal users cannot delete a post once someone has replied.
But I see nothing like an [Edit] button on my page - logged in, of course. If an administrator can explain it, I'll be grateful.
User avatar
Steve B
Site Admin
Posts: 10140
Joined: Sun Jul 29, 2007 10:02 am
Location: New York City USofA
Contact:

Post by Steve B »

Archilog wrote:

But I see nothing like an [Edit] button on my page - logged in, of course. If an administrator can explain it, I'll be grateful.
you can only edit your post for a limited time after making the post
i believe its 15 min or something like that
after the time is up the Edit box (which is in the upper right corner wnen you read your post)will disappear

Editorial Regards
Steve
Archilog
Member
Posts: 7
Joined: Tue May 26, 2020 11:25 am

Post by Archilog »

Thank you, Steve. As I can see, it's a kind of blitz! :)
kalatov
Member
Posts: 149
Joined: Thu Aug 31, 2017 9:11 pm

Post by kalatov »

Archilog wrote:Hello,

I sincerely appreciated your private help, Berger, in making my own interface to link my Sapphire to my PC; you were very kind!
Thanks also to Kalatov who initiated this post.

I was very surprised to have to link my Sapphire to a PC at a 9 600 bauds rate since every Novag user manual I found about the subject informs a 56k rate is okay. Thank you again, Kalatov, for this precious and very unique information.

)
Hi Archilog, apologies for my delay in replying, I haven't been on here for a while. I'm really glad the information was useful, and I agree the Sapphire is a lovely little machine, probably my favourite in my (modest) collection.
kalatov
Member
Posts: 149
Joined: Thu Aug 31, 2017 9:11 pm

Post by kalatov »

So, my latest adventures with my Novag Sapphire. As I now use Linux pretty much exclusively when I'm off the clock, and my attempts at getting Windows 10 to work with serial ports cannot be described as a raging success, I decided to it was time to have a go at writing an interface for an onscreen board (I chose Xboard) and my beloved Sapphire. Not being much of a coder, I also wanted to at least get a bit further in my endeavours to learn Python.

With apologies to real coders, anyone who wants to give it a go, and has a Novag capable of talking serial, you can download v1.0 from here:
http://www.kasulu.org/wp-content/assets ... xboard.zip

It supports playing as white or black (although you have to manually press the 'Go' button on a Sapphire), changing the playing level via the GUI engine options, and taking back a whole move. Below are the notes from the script itself. Any bugs or comments, please let me know.

Phil

"This script is designed to act as a pseudo engine in Xboard, so that you can play against a Novag Sapphire (and no doubt Diamond) using the Xboard interface. Prerequisites are Python3 and the PySerial library. Since this is written in Python, theoretically, it should work under Windows, but that hasn’t been tested. In Windows the built in support for Novag computers in Arena is recommended, and the UCI engines created by Alain Zanchetta: http://alain.zanchetta.free.fr/softs/Al ... .Setup.msi

For a Sapphire or Diamond you will need a suitable hardware adapter to connect to a PC serial port. You can buy one from https://sites.google.com/site/bergerspr ... _interface or build one yourself following instructions from https://www.schach-computer.info/wiki/i ... eplacement. This script was developed on a PC running Linux (Ubuntu 20.04 as it happens), using a Novag Sapphire. I would expect it to work with a Novag Diamond, Sapphire & Diamond II, and a Citrine, although it hasn’t been tested with them. The later machines have, I believe, slight differences in their serial protocol, so some adjustments may be needed. The Sapphire doesn’t, for example, support the ‘J’ command listed in the documentation to tell the Novag to ‘Go’. You need to use the actual Go button to play black, or swap colours mid-game. Essentially you tell Xboard the engine is now playing the other colour and then press Go on the Novag. Any bug reports, improvements or feedback, please send to user kalatov at https://hiarcs.net/forums/"
kalatov
Member
Posts: 149
Joined: Thu Aug 31, 2017 9:11 pm

Post by kalatov »

And of course, just after you do all the work, you find that someone has pretty much done it all before you!:
http://empiricalrabbit.blogspot.com/2016/05/

Oh well, good learning exercise. I've found that there are complexities with the Citrine that the Sapphire doesn't have, around expecting it's pieces to move. I know that the functionality in (Windows) Arena seems to have got round that, so perhaps my friend from back in 2016 will have some useful clues. I'm just trying to get to the point that I can play the Sapphire against the Citrine. Have also just bought a Diamond II, so will add that to the mix when it arrives.
kalatov
Member
Posts: 149
Joined: Thu Aug 31, 2017 9:11 pm

Post by kalatov »

I've spent more time than I probably should have done over Christmas, getting the script a lot more usable.

It now takes a serial port as a command line argument and works out the correct baud rate for the computer attached. It identifies the model, and works around some of the variations and quirks of the various iterations of Novag serial protocol. I have a Sapphire, Citrine and Diamond II to test against. It also handles the end of game scenarios pretty well, mates, draws and resignations.

If you have two serial ports you can connect a Novag to each and install the script twice as two different engines in Xboard, and play them against each other, watching the scrap on the Xboard, which also, of course, records the game for you.

There are more details in the comments at the start of the script, including how to get detailed debugging information out via Xboard, which may be of use to anyone interested in seeing the Novag serial protocol in action.

Probably the next thing I hope to do is implement sending positions to the computers from Xboard. Setting up a position on the Sapphire has always been more of a chore than it is worth. Also, now I actually have a Super System Distributor I'll be checking that it works with that.

If anyone has other models they can test against / implement fixes for then I'd be very happy to receive feedback. Of course if someone wishes to donate a Star Diamond/Sapphire, Super VIP etc so that I can support them I would be more than happy to receive them :lol:

The script is available from:
http://www.kasulu.org/wp-content/assets ... xboard.zip
Archilog
Member
Posts: 7
Joined: Tue May 26, 2020 11:25 am

Re:

Post by Archilog »

Hello, I am just quoting myself with a few pictures and a link...
Archilog wrote: Fri May 29, 2020 11:52 pm If I remember well, I bought my Sapphire in 2013 or 2014 at a fair price, but I am really using it a lot right now, testing some English Openings 'of my own'. Nice machine, indeed: I now understand what a David Kittinger's program is... surprisingly human! It is a machine I really like to play with on an old wooden chessboard...

I shall achieve in a few days a new 'Unofficial Sapphire User Manual' I hope I could publish on Alain Zanchetta's site. This manual helped me a lot to understand how the Sapphire operates - because Novag's one was quite poor.
Here is my favorite: an Indian ("Colombian" style) wooden chess set on a locally made board with drawers to place my Sapphire and its instructions made by myself.

Image

I am not a good player, even if I hope to be less bad one day soon. I train with my Sapphire at Fd7 (fixed depth 7 plys). In the following picture, I should have won the game, and I lost it. :? - but my Sapphire 'knew' that, according to its evaluation. Well, that was a goof.

Image

I finally finished my personal instruction manual for the Sapphire and sent it to Alain Zanchetta; it's a pdf that you can use on a phone, for example, and if you click or type in the summary, you'll immediately find the explanation of your choice. However, I prefer the paper version that I printed, bound and covered with some tape for more traditional use.

Here is the link: http://alain.zanchetta.free.fr/docs/Nov ... ial_EN.pdf

Happy reading :D
kalatov
Member
Posts: 149
Joined: Thu Aug 31, 2017 9:11 pm

Re: GUIs and Novag Sapphire

Post by kalatov »

Thanks for sharing that. It's always nice to read about Sapphires getting plenty of use, it is still the machine in my collection which has the most sentimental value for me.

All the best

Phil
markp763
Posts: 1
Joined: Sun Jun 11, 2023 3:01 pm

Re: Re:

Post by markp763 »

Thanks for the link. I am just using it a few years later. Very helpful.
Post Reply