next_inactive up previous


CCLOCK V2.0
a chess clock fo the HP48G(X) & HP49G

Dominique Rodriguez

Abstract:

A complete chess clock is proposed in this library with all the common options: handicap, Fischer & Bronstein modes. The clock is controlled using an input form which makes its use really easy. A magnified version of the calculator character font is used in order to makes the reading nice and clear, letting all the attention to playing the game. The calculator is put in low power state when waiting for key input, waiting for a clock interrupt for updating the countdown. It is fully compatible with the HP48G(X) series and also the HP49G, HP49G+ and it should work on the HP50 and the HP48GII(please tell me!).


Contents

1 License & right

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

If you find this software useful, please send me a small note so I can gauge its use. You should also consider making a donation: a postcard would be nice.

A donation of time is also welcome. Depending on your skills, this may involve correction of the documentation (especially this one), test of functionalities, suggestions for extensions, etc.

2 Downloads & Installation

Two libraries are proposed :

The clock does not work from a covered port, thus GX banks 2-33 are not allowed storage location for this library. It must be put in port 1 (for the HP48G(X)) or 0 (mandatory for the HP49G).

3 The CCLOCK command

This command calls an input form, so you can easily configure the behaviour of the clock:

\begin{figure}\includegraphics[width=\linewidth]{if.eps}
\end{figure}

INIT
this is the initial time allocated for each player, it can be null (only for the Fisher mode, and it is given under the format displayed in the following choose field:
H
decimal hour: 1,5 means 1h30mn;
HMS
sexagesimal hour: 1,3245 means 1h32mn45s;
mn
(default) decimal number of minutes: 1,25 means 0h01mn15s;
sec
decimal number of seconds: 1863 means 0h31mn03s.
INCREMENT
this is the time increment which is added to the full time after a certain number of move, the number is interpreted as the initial time using a time format (sec by default);
EACH
number of moves after which the increment time is added depending of the clock type:
STANDARD
the increment is added after the given number of move and the display is updated in the next move;
BLITZ
no time increment is added even if its value is non null;
Fischer
the time increment is added before each move;
Bronstein
the time increment is added after each move and the full time cannot go beyond the time allocated at the beginning of this move, the display is updated;
HANDICAP
this percentage differenciates the time/increment for each player, a positive number limits the whites time, whereas a negative one limits the blacks time; for instance choosing 25 will gives only 25% of the specified time increment to the whites, though -33 will gives only 33% of the specified time increment to the blacks;
BIP
activate or no the standard beep.

The input form can switch to Fischer mode if a null time is choosen with a non-null increment, and also can switch to BLITZ mode if a null increment is choosen with a non-null time.

\begin{figure}\includegraphics[width=.45\linewidth]{sw2f.eps}\hfill
\includegraphics[width=.45\linewidth]{sw2b.eps}
\end{figure}

After filling this input form and confirmed the values, the clock is ready to start as soon as you heard a beep:

\begin{figure}\includegraphics[width=.45\linewidth]{waitforbeep.eps}\hfill
\includegraphics[width=.45\linewidth]{ready.eps}
\end{figure}

Then pressing any key will start it, and every key pressed, except the ON key, will change the player countdown. The clock can be paused by pressing the ON key, then it can be resumed or stopped. When the clock is paused you can turn the calculator off, and resume the game when you want.

\begin{figure}\includegraphics[width=\linewidth]{pause.eps}
\end{figure}

The ply number is displayed on the left of the screen between both timers. During the ten last seconds, the tenth of second are displayed and a stressing ticking is activated (only if the flag 56 is set)! Then, when the time reaches zero a beeping is generated. As soon as a key is pressed the screen updating is suspended, but the player countdown is only stopped when he releases the key!

\begin{figure}\includegraphics[width=\linewidth]{tenth.eps}
\end{figure}

4 The ABOUT.CCL command

\begin{figure}\includegraphics[width=\linewidth]{about.eps}
\end{figure}

5 The source code

This library was developped directly on my HP48G(X) with $\mathcal{J\!\!A\!Z\!Z}$. If you want the source code, it is freely available as this software is free, just send me an email.

6 Acknowledgements

I would like to thank the following persons:

About this document ...

CCLOCK V2.0
a chess clock fo the HP48G(X)& HP49G

This document was generated using the LaTeX2HTML translator Version 2002-2-1 (1.70)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The translation was initiated by Dominique Rodriguez on 2009-02-01



next_inactive up previous
dominique.rodriguez@nospam.waika9.com