From: Aaron Taylor Date: Mon, 24 May 2021 04:58:14 +0000 (-0700) Subject: Populated project README and added screenshot of new ANSI display mode. X-Git-Url: http://git.subgeniuskitty.com/sgk-go/.git/commitdiff_plain/c82ca61cf5e0994e080619e826b51d8a0ba96d51 Populated project README and added screenshot of new ANSI display mode. --- diff --git a/README.md b/README.md index 3b94f91..18b84a0 100644 --- a/README.md +++ b/README.md @@ -1 +1,61 @@ -Placeholder +# Overview # + +This repository contains a fork of GNU Go v3.8. + +I'm currently reading *Surreal Numbers* by Knuth and hope to continue with *On +Games and Numbers* by Conway. Applying these numbers to analysis of Go, just as +Conway did, would provide an engaging example as I learn to exploit my Xeon Phi +coprocessors. Hence, this fork of GNU Go to fiddle with. + + +# Status # + +Successfully builds and executes on FreeBSD 12 and Debian 10. + +Additional display modes verified in `st`, `xterm` and on a Tektronix 4107 +terminal. + + +# Modifications # + +## ANSI Terminal Support ## + +I find myself less distracted when playing from a serial terminal. I also +rarely finish a game in one session. Thus, my selection of GNU Go as a base +upon which to tinker was in part driven by its `--mode ascii` CLI interface. +This allows me to run a game inside `screen`, (re-)attaching to it either from +a real serial terminal or from a terminal emulator on a modern computer. + +When playing in ASCII mode, I found all my mental effort expended simply +attempting to read the board position. Adding some color cleared the fog. In +order to maintain compatibility with `screen` and my terminal, this addition of +color uses only ANSI escape codes to set the background, printing an ASCII +space character to create a block of color. This mode may be selected via the +`--mode ansi` option. The screenshot below shows ASCII mode on the left and +ANSI mode on the right, both boards depicting the same game. + +![Screenshot: ASCII mode (left) vs ANSI mode (right)](/sgk-go/.git/blob_plain/HEAD:/interface/interface-example.png) + +In support of serial terminals like my Tektronix 4107 which only support +era-appropriate ANSI escape codes, an additional `--mode strictansi` option was +created. + + +## Future Plans ## + +The GNU Go engine is written in plain old C, all reasonably organized and +readable. Combined with how inherently parallel most Go analysis appears to +be, this forms an ideal test case as I bring all the Xeon Phi development tools +online and learn to write parallel C code which fully exploits them. + + +# Instructions # + +The original GNU `README`, including full build instructions, may be found +under the filename `GNU_README`. On most platforms, to simply build and then +execute directly from within the build directory, run the following commands. + + ./configure + make + ./interface/gnugo --mode ansi + diff --git a/interface/interface-example.png b/interface/interface-example.png new file mode 100644 index 0000000..4736438 Binary files /dev/null and b/interface/interface-example.png differ