IanO wrote:The plug exposes an RS-232 interface (specs here). I bought the Novag Distributor and wrote a custom shim between the serial port/Novag protocol and WinBoard engine protocol. I haven't used a PC for a while, so to play it online again I'd need to get a USB-serial adapter and recode the shim for OS X + XBoard. (Are there any Cocoa native FICS interfaces for the Mac?)
I suppose that with free xboard and free X Windows on the Mac that there's not a big incentive to write a Cocoa interface.
I've glanced at what Novag manuals I could find and it seems to me that they're using the same PC protocol for the Citrine, Sapphire, and Super VIP units. Is this the case? If so, could you post a pointer to your shim code? I'd like to try connecting my Super VIP to xboard and just maybe to FICS.
IanO wrote:The plug exposes an RS-232 interface (specs here). I bought the Novag Distributor and wrote a custom shim between the serial port/Novag protocol and WinBoard engine protocol. I haven't used a PC for a while, so to play it online again I'd need to get a USB-serial adapter and recode the shim for OS X + XBoard. (Are there any Cocoa native FICS interfaces for the Mac?)
I suppose that with free xboard and free X Windows on the Mac that there's not a big incentive to write a Cocoa interface.
There should be: X11 with xboard is only an realistic option for the relatively small part of the OS X community who comes from a traditional Unix background (and even some of us who do come from a traditional Unix background find it awkward to use xboard).
I've occasionally been thinking about adding chess server support in Glaurung. Several users have requested this feature, and I will need it myself if I ever want to participate in the CCT or some other tournament on the ICC (I can't use xboard in official tournaments, because I didn't write it). The problem is that it seems to be a lot of work. Just reading the documentation takes some effort, because it all seems to be written for human ICC users, and not for programmers wanting to write an ICC client.
Tord Romstad wrote:I can't use xboard in official tournaments, because I didn't write it.
???
That's never stopped me or quite a few others from using xboard.
Yes, it is certainly allowed by the rules. It is just not something I want to do. If I participate in a tournament, I want to participate with my own program, not a hybrid of my own program and somebody else's. I used the Shredder GUI the first time I participated in Mainz, and felt very uncomfortable about doing so. I don't want to do anything similar again.
Other people participating in a tournament using my program may do exactly as they like, of course. Glaurung is free software, and everybody can do what they want with it, including participating in tournaments using whatever GUI they prefer (as long as the tournament rules allow it).
1) xboard, unlike some other interfaces, is not associated in any way with a commercial program. Actually, it's not tied with any program.
2) xboard does not affect move choice calculation, so it can't affect the middlegame.
3) xboard does not support opening books, so it can't affect the opening.
4) xboard does not support tablebases, so it can't affect the endgame.
5) xboard does not link with a client program, it only talks with one via a couple of streams.
6) The only thing it can do is claim a time forfeit win, and then only if asked.
When someone uses xboard, it's no more and no less improper than to use an OS written by someone else.
I'm not criticizing you or anyone else for using xboard. It's just something I personally don't feel comfortable about doing. I am a chess program author, not a chess engine author. The user interface is just as much part of the program as the engine. If I participate in a tournament, I want to use my whole program, and not to rip out a small part of it and run it in an interface written by somebody else.
For me, xboard is merely a way to access a chess server without my having to code around the kludge infested interaction that makes up the FICS/ICC text based protocol. Each of my programs has its own separate text interface and I don't allow third party protocols to pollute the command space.
So, xboard and the like do not add value to my program; instead, they prevent value from being taken away.
IanO wrote:The plug exposes an RS-232 interface (specs here). I bought the Novag Distributor and wrote a custom shim between the serial port/Novag protocol and WinBoard engine protocol. I haven't used a PC for a while, so to play it online again I'd need to get a USB-serial adapter and recode the shim for OS X + XBoard. (Are there any Cocoa native FICS interfaces for the Mac?)
I suppose that with free xboard and free X Windows on the Mac that there's not a big incentive to write a Cocoa interface.
I've glanced at what Novag manuals I could find and it seems to me that they're using the same PC protocol for the Citrine, Sapphire, and Super VIP units. Is this the case? If so, could you post a pointer to your shim code? I'd like to try connecting my Super VIP to xboard and just maybe to FICS.
I finally took the time to upload my WinBoard efforts to my web server. At this link you can find sources to three projects:
Tomorrow I'm sending in my order for a Citrine, so I should be able to start some hands-on work with it soon. In the meantime, I'm doing some hacking with a Super VIP and should have something running later today.
The next step with the Super VIP is building a cable adapter and using it test connections. This will plug into my trusty Keyspan serial/USB converter. I'm fairly sure I can get Lisp on the Macintosh to talk to the emulated serial port and from there I'll have to come up with the rest of the interface to xboard. Eventually it will get to FICS; I can use Symbolic's account temporarily if/until the admins can come up with a separate account.
The Super VIP seems to be working okay except that the sound output is gone.
I'm not criticizing you or anyone else for using xboard. It's just something I personally don't feel comfortable about doing. I am a chess program author, not a chess engine author. The user interface is just as much part of the program as the engine. If I participate in a tournament, I want to use my whole program, and not to rip out a small part of it and run it in an interface written by somebody else.
Tord
Understood. Just out of curiousity, any idea what interface is used when your program participates in tournaments such as CCT10? It seems like an unfortunate consequence of your philosophy that you cannot participate in tournaments, only operators on your behalf. It reminds me a little of some Jewish people I used to know that could not turn on/off lights during the Sabbath but had no objection to a shabbos goy doing it for them.