Chess on the uWatch !
#1

for those with a uWatch, now in "games" section (v1.5.2)

ok, i admit the "board" is a bit lacking currently :-)


hex

-- hugh.

#2

I find the field descriptors a bit confusing.
"Moving Queen from F4 to EXP" :)

#3

Brilliant!, just brilliant Hugh!

Which Chess engine does it use?

Dave.

#4

The chess engine is Tom Kerrigan's Simple Chess Program (TSCP). http://www.tckerrigan.com/Chess/TSCP

As you can see, right now, ive only got the very basic move IO up and running. I had to adapt TSCP to run in 4K of RAM. Things like the book moves had to go, although i've noticed it makes traditional openings anyway.

I've written to Tom Kerrigan to ask permission to use his work. If he is happy i might improve the interface and add more features. for example, it would be nice to have a "postal" mode, whereby you can switch out of chess back to clock/calc and later back into chess to make a move whilst continuing the same game. other easy features are; swap sides, undo, set level etc.

it's been suggested already to draw the board as a scrolling two line square of letters (usual notation) and use the other screen space for move IO.

I'll see what Tom says first. currently this is a demo.

#5

Quote:
The chess engine is Tom Kerrigan's Simple Chess Program (TSCP). http://www.tckerrigan.com/Chess/TSCP

As you can see, right now, ive only got the very basic move IO up and running. I had to adapt TSCP to run in 4K of RAM. Things like the book moves had to go, although i've noticed it makes traditional openings anyway.

I've written to Tom Kerrigan to ask permission to use his work. If he is happy i might improve the interface and add more features. for example, it would be nice to have a "postal" mode, whereby you can switch out of chess back to clock/calc and later back into chess to make a move whilst continuing the same game. other easy features are; swap sides, undo, set level etc.

it's been suggested already to draw the board as a scrolling two line square of letters (usual notation) and use the other screen space for move IO.

I'll see what Tom says first. currently this is a demo.


I know TSCP well, I adapted it not that long ago to run on an Altium Nanoboard in a soft core MIPS processor on an FPGA:

That was the first hacked version, I subsequently got it working with bitmap pieces. The interface is touch-screen QVGA.
I was also in the process of translating some of the code into hardware (C to VHDL compiler) to make it run faster.
No problems with memory of course, easily ran in 32K.

Tom is cautious of it being redistributed, so I wouldn't be surprised if he says no to having the code merged with a GPL open source project.

Dave.


Edited: 30 Mar 2009, 5:08 p.m.

#6

Cool picture!

I have had a reply from Tom, basically, he wants to retain copyright of TSCP, which is quite reasonable. But he has given us permission to use the code in the uWatch. I have repackaged TSCP into uWatch-chess.c and have agreed to add a header which states clearly that it contains a derivative work of TSCP and that the copyright remains with him. As with the TSCP original source code, people will have to acquire his permission to use it in their own projects. The fact that we are using his code does not make it become GPL nor open.

quote:
"Sounds like you understand all my concerns and you have permission to redistribute the source/game/algorithms as long as I maintain all my copyright rights. However you think that should happen is up to you."

So, i might have a go at drawing a board on the uWatch - don't expect too much ;-)

#7

However, now i come to think about it, it seems that Tom's license is not compatible with the GPL.

Originally, i was thinking just about copyright. the GPL does not require Tom to give up his copyright, but it does require freedom to re-use and distribute and the latter is something Tom wants to retain except where expressly allowed.

not sure now.

#8

Quote:

However, now i come to think about it, it seems that Tom's license is not compatible with the GPL.

Originally, i was thinking just about copyright. the GPL does not require Tom to give up his copyright, but it does require freedom to re-use and distribute and the latter is something Tom wants to retain except where expressly allowed.


Yes, I've heard that is a common "gotcha" with GPL. Something along the lines of any code packaged with a GPL product has to then be freely distributable and repackagble in other GPL products by others with hindrance or permission, even though the original author still retains copyright.

Dave.

#9

I'm not an expert on the GPL, but the following paragraph from Section 6 of the GPLv3 might be relevant:

Quote:
A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.

(my emphasis). In this, a "covered work" means a work covered by the GPL. Could the combination of the chess program with the rest of the software be viewed as an aggregate, or is it too tightly integrated with the rest of the software for this?

From a philosophical point of view, including the chess code without granting the right to modify and redistribute it at will is not imposing any additional restrictions on what users can do with the code, so it seems to be compatible with the spirit of the GPL. However, I realise that such arguments are of little use in a legal context!

#10

Hugh,

if you and Dave Jones own copyright to all of the code in uWatch you could decide to licence future versions of uWatch under dual licence:

1/ gpl (version without chess)

2/ modified licence (version with chess).

seems like the act of linking chess with the existing uWatch code *and then releasing it to anyone* would violate the GPL. If Linux is a guide, you could use Linux loadable modules as an analogy (tho there is much debate about that). In which case, implement a run-time plugins loader for uWatch and compile chess as a plugin. Sounds like an interesting little project...

Neal.



Possibly Related Threads…
Thread Author Replies Views Last Post
  HP Classic with new electronics (a la uCalc/uWatch?) Mark Henderson 26 5,941 12-18-2009, 05:54 PM
Last Post: geoff quickfall
  Chess on the HP-200LX Xerxes 1 1,096 09-11-2009, 03:15 PM
Last Post: Steve Perkins
  OT: uWatch firmware v1.6.0 Released! hugh steers 7 1,969 05-24-2009, 09:04 PM
Last Post: Andrew Davie
  OT: uWatch MK2 DaveJ 15 3,700 04-22-2009, 12:14 AM
Last Post: db (martinez, ca.)
  OT: uWatch new look hugh steers 2 1,085 04-16-2009, 06:19 PM
Last Post: DaveJ
  OT: uWatch's available again DaveJ 2 1,048 02-24-2009, 04:58 AM
Last Post: DaveJ
  OT: uwatch featured on today's Hack-a-Day! Ren 3 1,268 01-21-2009, 03:51 PM
Last Post: DaveJ
  uWatch Complex Number Support hugh steers 24 5,248 11-09-2008, 11:38 AM
Last Post: hughsteers
  uWatch third batch now available DaveJ 9 2,377 11-07-2008, 07:39 AM
Last Post: Jeff O.
  uWatch DaveJ 4 1,428 08-11-2008, 08:00 AM
Last Post: DaveJ

Forum Jump: