On Fri, 2007-12-28 at 14:23 +0100, pgeorges wrote:
> Ben Hague a écrit :
> > Hi,
> > I've just got a Dream Cheeky USB Roll-Up Chess Game.
> > http://www.dreamlink.info/product/roll-up-chess-game.php . This uses a
> > very simple protocol where you press on the origin square and then the
> > destination square. I have written a simple driver and added support on
> > SCID by using the text move entry interface. The code is 
> >
> > proc openCheekyChess {} {
> >   set cheeky [open "/tmp/cheeky_chess" RDONLY]
> >   fconfigure $cheeky -buffering line -blocking 0
> >   fileevent $cheeky readable [list readCheekyChess $cheeky]
> >   return $cheeky
> > }
> >
> > proc readCheekyChess {cheeky args} {
> >   global moveEntry
> >   if {![eof $cheeky]} {
> >     set moveEntry(Text) [read $cheeky]
> >     set moveEntry(List) [sc_pos matchMoves $moveEntry(Text)
> > $moveEntry(Coord)]
> >     set len [llength $moveEntry(List)]
> >     if {$len == 1} {
> >       set move [string tolower [lindex $moveEntry(List) 0]]
> >     
> >       if {$moveEntry(AutoExpand) > 0  ||
> >         ![string compare [string tolower $moveEntry(Text)] $move]} {
> >         moveEntry_Complete
> >       }
> >     }
> >     updateStatusBar
> >   }
> > }
> >
> > openCheekyChess
> >
> > at the bottom of main.tcl. The problems I have are that this is Linux
> > only, doesn't fail gracefully and should be a configurable option.
> > However I know very little about tcl so I'm not clear on how this should
> > be done, particularly how to fit it into SCID properly.
> > Also, it seems to would be nice to have all possible input devices, such
> > as the DGT or Citrine in the same place, but they appear to work in
> > rather different ways, so would this be possible?
> >
> > If anyone is interested in the driver code let me know.
> >
> > Ben Hague
> >   
> Hi,
> 
> This is nice to see this device working with Scid. I just ordered a 
> Novag Citrine, and I will try to make it work with Scid also.
> Can you tell us a bit more about Dream Cheeky ? Is it reliable ?
> 
> Considering the driver, I suppose you wrote a kernel module ? Wouldn't 
> it be possible to use a user space program ? Maybe using sockets for 
> IPC, hence making something more portable between various OS. I don't 
> know if this would suffice to open /dev/ttyUSB0 for example without any 
> driver under Linux, then the only configuration needed is to point to 
> the correct /dev/ node.

The board is a cheap one, it's plastic and just over 1/4 the size of a
normal board. The big advantage it's got is the price, the Novag seems
to be around £250, and the DGT £350 while this is about £30. I don't
know about reliability yet, not really had it long enough, but it's so
simple there isn't much to go wrong.

It appears as a usb hid device, so I've used libhid to write a userspace
driver. libhid appears to be cross-platform, but the Windows side looks
to be very much a work in progress so I don't know how well it would
work. I'll look into sockets for IPC.

Ben Hague



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Scid-users mailing list
Scid-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/scid-users

Reply via email to