The following warnings occurred:
Warning [2] Undefined array key 149174 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 149176 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 149177 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 149178 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 149202 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 149203 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 149204 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 149206 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 149229 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 149233 - Line: 275 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 275 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined variable $thread - Line: 295 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 295 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Trying to access array offset on value of type null - Line: 295 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 295 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined variable $fid - Line: 295 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 295 errorHandler->error_callback
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 149176 - Line: 331 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 331 errorHandler->error_callback
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 304 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined array key 149233 - Line: 331 - File: inc/plugins/threaded_mode.php PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php 331 errorHandler->error_callback
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 332 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 304 ThreadedMode::buildtree
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined variable $theme - Line: 3 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 3 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Trying to access array offset on value of type null - Line: 3 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 3 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined variable $theme - Line: 3 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 3 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Trying to access array offset on value of type null - Line: 3 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 3 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Undefined variable $lang - Line: 5 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 5 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks
Warning [2] Attempt to read property "messages_in_thread" on null - Line: 5 - File: inc/plugins/threaded_mode.php(305) : eval()'d code PHP 8.1.2-1ubuntu2.14 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/inc/plugins/threaded_mode.php(305) : eval()'d code 5 errorHandler->error_callback
/inc/plugins/threaded_mode.php 305 eval
/inc/plugins/threaded_mode.php 23 ThreadedMode::showthread_threaded
/inc/class_plugins.php 142 threaded_mode_showthread_threaded
/showthread.php 918 pluginSystem->run_hooks





Chess on the uWatch !



#2

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

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


hex

-- hugh.


#3

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

#4

Brilliant!, just brilliant Hugh!

Which Chess engine does it use?

Dave.


#5

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.


#6

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.


#7

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 ;-)


#8

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.


#9

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.


#10

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!


#11

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,851 12-18-2009, 05:54 PM
Last Post: geoff quickfall
  Chess on the HP-200LX Xerxes 1 1,093 09-11-2009, 03:15 PM
Last Post: Steve Perkins
  OT: uWatch firmware v1.6.0 Released! hugh steers 7 1,956 05-24-2009, 09:04 PM
Last Post: Andrew Davie
  OT: uWatch MK2 DaveJ 15 3,694 04-22-2009, 12:14 AM
Last Post: db (martinez, ca.)
  OT: uWatch new look hugh steers 2 1,079 04-16-2009, 06:19 PM
Last Post: DaveJ
  OT: uWatch's available again DaveJ 2 1,039 02-24-2009, 04:58 AM
Last Post: DaveJ
  OT: uwatch featured on today's Hack-a-Day! Ren 3 1,258 01-21-2009, 03:51 PM
Last Post: DaveJ
  uWatch Complex Number Support hugh steers 24 5,242 11-09-2008, 11:38 AM
Last Post: hughsteers
  uWatch third batch now available DaveJ 9 2,372 11-07-2008, 07:39 AM
Last Post: Jeff O.
  uWatch DaveJ 4 1,423 08-11-2008, 08:00 AM
Last Post: DaveJ

Forum Jump: