Go Recorder is a package with which to record or play the game of Go, or study Go problems, openings etc. This (vD1.1) is a demonstration version, which you are free to copy and distribute, as long as this ReadMe file accompanies it. This version is fully functional, except that: % it doesnUt have any of the improvements or great features which will be in the final version (as a result of your feedback, and further work on my part!) % it prints RDEMOS on the screen and printouts every so often (rude I know, but just to jog your conscience...) % it doesnUt have a couple of planned features, such as Newton Connection Kit compatibility (which will enable you to import/export games and problems from your Mac) and import/export to SmartGo format Full documentation is in the accompanying Word document. A plain text form without diagrams is appended here. To receive the release version, please send US$25, or near equivalent in round figures in your currency, to Neville Smythe 28 Fergusson Crescent Deakin, ACT 2600 AUSTRALIA Please send any comments, suggestions or queries to me at the above address or by email to Neville.Smythe@anu.edu.au. _____________________ Documentation (Plain text, diagrams deleted) After a short setup period, an empty Go board will be displayed, with some control buttons and information displayed beneath it. Placing stones on the board is simply a matter of tapping the board; stones will alternate black and white automatically. Using the controls Normal mode: When this button is hilighted (displayed with the square border), tapping the board results in a stone being placed at the tap point, with colour alternating. NB The move is added after the current move and before any next move if any. If you have left out a single move when recording, this may be what you want, but it may result in the alternation of colours being disturbed: see the REntry editorS below to correct this condition. If there is already a stone displayed at the tap point, then no move is entered but a check is made to see if the stone is part of a group which has been captured, in which case the captures are removed and added to the capture tally; such stones are recorded as being captured by the last stone played in the capturing wall. If there is a notation at the tap point, a new stone is entered which RcapturesS the notation (ie, removes it from the display). If you are entering a stone in the middle of a game, and there is a later stone at the tap point, a beep is emitted and no new entry is made; if there is a later notation at the point, the new entry is accepted (the notation will appear on top of the stone when appropriate). Double-tap on this button to enter a RPassS move. This is how the RNormal modeS button is displayed when not selected. Tap it once to select this mode. Black or White mode: When one of these buttons is selected, entry results in only black or white stones being placed respectively. Delete mode: Tap a displayed move (stone or notation) to remove it from the game (do not use this button for captures however Q see below). Select mode: Tap a point on the board Q if there is a move (stone or notation) at that point (even if not shown because it occurs is later in the game than the Rcurrent moveS) the board will display all moves in the game up to the selected move OR Drag an existing move to another point on the board or remove it entirely by dragging it off the board (a curve is drawn following the penpoint to the newly selected position) Capture mode: Tapped moves (stones ans notations) are treated as captures of the Rcurrent moveS Q they are removed from the display, added to the current move capture comments and to the capture tallies which are displayed to the right of this button (they show the captures up to the current move only). Use this button to remove dead stones at the end of the game, no longer relevant notations, etc Numbering: Stones will be displayed with move numbers. You may choose a first and last number to be displayed by entering numbers into the two input boxes to the right of this button: if the button is not hilighted, no moves are numbered if either the RfirstS or RlastS number box is empty, the Rcurrent moveS (last move played so far in the currently displayed portion of the game) will be indicated with a R+S unless it already carries a letter notation; this mode is useful for quickly keeping track of the last move played, it is also much faster than turning on full numbering if both first and last boxes are filled in Q just write appropriate numbers Q then moves between those two numbers will be numbered on the board BUT there is only room for two digits on each stone, so hundreds digits are not shown; moreover updating of the display is much slowed down, and a lot of precious memory is used, by having lots of numbers displayed SO it is best to keep the range of numbers down to something small! FURTHER: switching between numbering modes can be pretty slow, particularly for a full game display of 200 or more moves (as is any operation which forces a complete redraw of a very full board) It is also possible have Rmove number 1S assigned to a move other than the first game move (for example, you would not normally want to number the handicap moves or the setup moves in a problem). Use the REntry editorS (see below) to set the Rlast unnumbered moveS Number settings also affect the printed output of a game record Q see Printing below. The current move is displayed in text form to the left of these mode buttons, in the box with heavy frame. The move number (if any), colour and position of the move, any attached single character notation shown on the stone (if not numbered), any captures made by this move, and any (short) comment you wish to attach to this move, are displayed. A move need not be associated with a stone Q it can be just a notation marking on an empty point of the board. In fact it does not even have to have a position, it can be a pure comment line: see the REntry editorS below for full details. The first entry (Entry 0) is always just a comment; I recommend it and the next few entries be used for recording the players, komi, tournament, dates, winner, venue and other such information. All comment lines before the first true move (stone or notation) are printed along with diagram. The current move box accepts pen input as follows: % single-tap to flash the current move on the board (if it is a stone) % double-tap to bring up the REntry editorS (see below) % line-thru to automatically add a new comment entry immediately following this entry The previous move (if any) is displayed just above the current entry. It accepts pen input: % single-tap to make this entry the current entry % double-tap to go back 2 entries % line-thru to go back 5 entries The next move (if any) is displayed just below the current entry. It accepts pen input: % single-tap to make this entry the current entry % double-tap to go forward 2 entries % line-thru to go forward 5 entries The three entry info boxes as a whole also accept two other pen gestures: % scrub over the 3 information boxes with at least 4 zig-zag lines to bring up some choices: you may delete the current entry, open the REntry EditorS, or go directly to another entry selected by move number or entry number % a vertical line to hide the three boxes altogether: they are replaced by a small button which will re-show the info boxes. This may result in slightly faster response, as this information does not have to be updated. The current move will be taken to the end of the game; stones can be added but not deleted. Below the entry information boxes is a slider control, showing the current portion of the full game. Tap or slide this control to move to a different part of the game. (Sliding from the zero to full requires the complete game display to be reconstructed. This can be quite slow for a long game.) The Title of the game is displayed above the board. Use the RGame dialogS to set this title. Tap the title to verify the game. It is possible for a game record to become corrupted, as there is considerable information which must be kept consistent. Corruption could occur because of inconsistent data you enter when editing a game in the Entry Editor, a Newton reset while editing, or because of a bug in the program (please tell me!!!), or possibly because of a change in the record in the NCK or someone fooling about with soup editors! The verification process will usually be able to correct such errors, restoring the game to a consistent state. Details of errors encountered are printed in the Inspector if it is connected. The Status bar buttons: This button, toggles the board between a plain board and one with lettered and numbered sides for easy location of algebraic notation. The Routing Action button enables Printing, Faxing, Beaming, Mailing and Saving games % Print and Fax : You may print a Diagram, which is the currently displayed screen diagram (so includes moves only up the the current move) and also the title, initial comments, and captures made between the start number as set in the Numbering box and the current move, or between move 1 and the current move if numbering is not turned on. NB captured stones will NOT appear in the printout as in a tradional record Text, which is a text record of the current section of the game Q it is intended to accompany the Diagram, and so records only those moves made numbered between the start number and the current move if a numbering is turned on Full Text, which is a full text record up to the last entry % Beam : You can beam a game to another Newton (I hope Q has not been tested) % Mail : You can email a game record (I hope Q has not been tested) % Save: The displayed game is treated as a RworkingS game Q it is remembered when you close Go Recorder, and will re-appear when Go Recorder is re-launched, but will be discarded when you want to enter a new game. Tap this selection to save the latest version of the game permanently in an RarchiveS; if it has been previously saved, it will overwrite the previous version. Use the RGame dialogS to set the game title, save a copy without destroying the previous version, or reload a saved game. (You can also save from the Game dialog; using the Action button however is faster as it does not require reconstructing the display). The Undo button will undo up to the last two input moves, or slide control changes, but not much else. The Find and Assist buttons do nothing relevant in Go Recorder. Note on entries: an entry in the game record may be a Black or White stone, a single character Notation on the board, or a Comment Stones and Notations have a position, which may be A1 to T19 (or Pass for a stone) Comment entries do not have a position Each entry has an Entry Number (unique, determined strictly by order of entry, shown only in the title of this editor) A Stone may have Move Number, if it is after the last unnumbered move. A Stone may have a single character notation, and may have a comment attached. A Notation may have a comment attached. All kinds of entries may make captures (for example, you may wish to collect all dead stones at the end of the game into the captures for a final comment entry; notations may be captured when they are no longer relevant to the display). However Pass moves and Comment entries cannot be captured. Entry Editor: This dialog is invoked by double tapping or scrubbing on the current move box. Editing the middle of a large game record graphically can be very slow, this method is usually faster; it also enables addition of comments and notations. The RDataS section, the top half of the editor, allows you to see and edit: % the position of the entry % the colour of the move (Black or White for stones, Notation for a letter notation on the board not associated with a stone, or Comment for a pure comment line) % the captures made by the entry (enter positions D4 etc) % a single character notation % a comment attached to the move % any capturing move (information only, not editable) % you may also set this move to be the last unnumbered move Any changes made to the shown entry will be checked for consistency, sounding a beep if the change is unacceptable; it is allowed to position an entry on top of or under another entry however Q so that you can move entries around! A warning will be given if this occurs. If you are warned that an entry RhitsS another, you will create an inconsistent game unless you correct one or other of the entries. Placing a stone RoverS a notation is OK Q the notation will automatically be captured, you do not need to add it to the list of captures; placing a stone RunderS a notation is also OK. Changes made will be accepted into the game record when you close the editor in the normal way , but also if you use one of the navigation buttons (next move, etc). The RActionS section in the lower half of the dialog allows you to use this dialog to enter a game record from a text record instead of diagrammatically: % RS change the selected entry to the previous and next entries respectively (changes to the current move are accepted) % RGo to #S moves to an entry selected by entry number or move number (changes to the current move are accepted) % RRevertS restores the current move to to its original data % RAdd entry nextS adds a comment move after the current move (accepting any changes) % RAdd black nextS adds a black move after the current move (accepting any changes) % RAdd white nextS adds a white move after the current move (accepting any changes) % REnd game hereS discards all later moves in the game (but you are must confirm) % RRemove this entryS throws away the current entry (without confirmation and cannot be cancelled or undoneQ oops!) If, selecting an entry for editing, the colour of the move is not different from the previous move, you will be offered the opportunity to change the colour of this move and succeeding moves until alternation is restored. Game Dialog: This dialog is invoked by tapping the RGameS button. The top half of the dialog refers to the currently displayed game. You may: % edit the title of the game % create a new game, discarding the current display % save the currently displayed game; if previously saved, the former version will be overwritten % save as, that is, save the game as a new archive entry, leaving any former version unchanged % revert to a previously saved version (if one exists), discarding changes to moves or title. % the currently used memory usage is also shown. The RusedS memory is approximate; it uses as a reference point the memory available when Go Recorder opened Q it could even become negative if other packages are closed or removed! In any case it is approximate, as the system may release or require blocks of memory at any time. The RfreeS memory is however an indication of how much larger your game can be made before running into trouble Q if the free memory is less than the used memory, such things as printing or duplicating may become impossible! Tap on an archived game to update the memory display (some detritus may be cleared away). The lower half refers to previously saved games (in internal memory or on a card). A list of all available games is shown, together with the memory they occupy (when stored, games are highly compressed). Tap on a list entry to select; slide the pen up or down to scroll the list. Once a game has been selected, you may: % load the selected game into the display, discarding the current game % delete the game from the stored games % duplicate the game (R copyS is added the title); the displayed game is not changed % move the game from internal storage to card or vice versa (for example if you want to move the game from one card to another) % print, fax, beam or email the game by selecting the Routing action button. Note when a beamed game is received, it will be stored in the game archive. Bugs, Comments etc Please send any comments, suggestions for improvements, and most important, bug reports to Neville Smythe 28 Fergusson Crescent Deakin, ACT 2600 AUSTRALIA or Internet email: neville.smythe@anu.edu.au version history 1.1 fixed more bugs, including crash on first launch; captures and navigating now much faster, only occasionally needs to redraw the screen from scratch and even less often build arrays (which can take 20 secs)