Skip to content

User interface

This page lists the main features of the user interface. For more details, see the CT800 instruction manual (PDF).

Move input

Via the keypad. The user enters the from-square and the to-square. Just like the computer’s answer, this gets converted into long algebraic notation in the displayed move list. However, this conversion only takes place during normal play, not in analysis mode or when checking the principal variation. The reason is that the long notation needs more space.


For the whole game in “time per move” or “analysis” modes, else 40 plies. In games with time controls (game-in or tournament), the thinking times will also be unbooked/rebooked, including possible Fischer delay and player bonus.


The user can save the ongoing game via the menu so that he can load it after changing the batteries, including the time in games with time controls. There is only space for one saved game.

After each ply, the game is saved automatically, which safeguards against unexpected wall power outage. This is blocked if a game has been saved manually as this has priority. It is also inactive after the initial white ply if the computer has made it directly (without using the “go” key) from the initial position. Otherwise, the user could not access the saved game after a power loss when the initial colour is configured to “computer has White” or to “random” with the computer getting White.

The user can delete a manually saved game, which will activate auto-save again.

A supercap is used to power the backup memory. After some minutes of being powered, this should easily be enough for one week of backup standby.

Position viewer

The user can view the position, view with mirrored board and check the list of material. The upper and the lower half of the board are displayed side by side, which is yet the best solution with four lines of display. Scrolling would be rather more confusing.

Position editor

Entering a position also includes castling rights if castling might be allowed, a potential “en passant” square and setting up which side is to move. The position is checked for legality. The user can move back and forth through the piece entering, which lets him easily correct wrong items without being forced to start over.

If the colour mode is not “human vs. human”, the computer will take the side that is not to move. The “go” key can switch colours here as well. The opening book works also for entered positions if the castling rights are entered correctly. However, the special mobility evaluation between book end and middle game will not work.

Notation viewer

The game notation is available via menu or after the game via the position dialogue. It lists the game in long algebraic notation, four plies per screen together with the move numbers. The user can scroll through the whole game notation. That also works for games where Black had the first move (entered position), in which case the first, missing White ply is listed as “...”, as often seen in chess books.

Game infos

Display of evaluation and principal variation (up to 6 plies) can be requested via dialogue boxes. The depth is displayed in plies. If the selective depth exceeds the brute force base, the depth display will be like “x/y” – x plies brute force, y plies selective search. Otherwise, the depth is just displayed as “x plies”.

If one side enjoys a notable, but not decisive advantage (at least 50 centipawns), the display will include “+” or “-” automatically in the game screen, i.e. without calling dialogue boxes. If the computer has the advantage, it will be “+”, else “-”.

A decisive advantage (at least 300 centipawns) is displayed as “++” or “--”. A forced mate is announced with “+m” resp. “-m”.

If the computer has derived its ply from the opening book, “b” will be displayed.

If the computer is down by more than 950 centipawns, it will resign via a dialogue box and offer a new game. The capitulation can be declined, e.g. if the user wants to play until mate. The computer will not resign any more in this game.

The configuration options, position editor, save/load etc. are available via the menu. Every option is given in plain language, so the user does not have to remember what “level 5” might mean.

The menu is structured like a tree; the leading letter is the key that selects that feature. E.g. for getting to the position editor, the user would enter the menu mode via the special menu key, then press ‘c’, then ‘b’.

  • a: new game
  • b: file
    • a: load
    • b: save
    • c: erase
    • d: book
    • e: reset
  • c: position
    • a: view position
    • b: enter position
    • c: view notation
  • d: time
    • a: mode
    • b: details
    • c: add-ons
      • a: Fischer delay
      • b: player bonus
      • c: player factor
  • e: misc
    • a: colour
    • b: noise
    • c: speed
    • d: disp
    • e: light
    • f: beep
  • f: info


Only English is available, and the language is hardcoded into the software because the display is really small. Especially in the dialogues, there are actually not 20×4 characters available, but only 18×2, which is due to the dialogue boxes’ frames. The menu screen is also quite limited for the necessary number of items.

English offers a lot of useful words with just four letters (while it also features four letter words, this project does not use them). Other languages need longer words or even add more characters to verbs and nouns, depending on the grammar.

I evaluated the possibility of a German translation and found out that it would be quite awkward. It would have to rely on too many abbreviations, which would actually hinder the understanding instead of supporting it. So I spared myself the effort of separating program code and user interface language.