User Tools

Site Tools


20b:hpvchess

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
20b:hpvchess [2010/04/12 09:39]
lemon
20b:hpvchess [2010/04/12 15:03] (current)
lemon
Line 1: Line 1:
 +====== hp vChess ======
  
 +{{:​20b:​5254.jpg?​100}}
 +
 +This is an attempt to turn the hp20b into a chess machine!
 +===== Instructions =====
 +
 +The moves are entered as numbers, where A=1,B=2, ... G=8. For example, the classic opening E2-E4 is coded as 5254.
 +
 +The calculator will response by appending its reply. for example 4745 (D7-D5). Castle by entering the king move.
 +
 +Just keep entering moves until one side wins!
 +
 +===== Code =====
 +
 +  * [[http://​www.voidware.com/​vchess/​hpvchess.bin|here]] is the binary (so far).
 +
 +   * I'll be releasing the source code, as soon as i figure out the idea buffer sizes.
 +===== Notes =====
 +
 +   * This project is not, at all, finished! ​
 +
 +   * The game supports promotions, but currently there is no way to enter them (using exponent maybe!). You will always get a queen by default.
 +
 +   * Currently, there is no UI to play as black.
 +
 +   * switching the calculator off ends the game.
 +
 +   * The three move repetition rule is not supported.
 +
 +   * you cannot change the level of play currently. This is supported internally, but for now i've set it to take a few seconds per move.
 +
 +   * the top row isnt being used at all, this should be used to display "​thinking.."​ and maybe the line being considered. also to prompt "​check"​ and for win and lose.
 +===== Problems =====
 +
 +   * unless your batteries are in top condition, the calculator can reset itself with a power failure.
 +
 +   * you will notice the calculator reports on start up. if it says "Power Up", it means it has started from a power dropout as indicated above, otherwise it should say "​Normal W"ake.
 +
 +===== Code Snippets =====
 +
 +==== How to disable the watchdog ====
 +
 +board_lowlevel.c,​ LowLevelInit
 +
 +can only write to WDTC_WDMR once, comment out original code and set to disabled, like this:
 +<​code>​
 +    // clobber watchdog!!! i hate dogs anyway :-)
 +     ​AT91C_BASE_WDTC->​WDTC_WDMR = AT91C_WDTC_WDDIS;​
 +
 +</​code>​
20b/hpvchess.txt · Last modified: 2010/04/12 15:03 by lemon