aboutsummaryrefslogtreecommitdiff
path: root/resources
diff options
context:
space:
mode:
authortslil clingman <tslil@posteo.de>2021-01-29 13:06:49 -0500
committertslil <tslil@posteo.de>2026-08-28 19:37:41 +0100
commit6c1154d80e7f7a04444d01d97942ac9e8138297a (patch)
treefbd85a108793aa4ac4fa6dc618d201da55df64b1 /resources
parenta5cb8973496611b82d3e4caa3c95f6e6ba1367be (diff)
Cleaned up build system
Diffstat (limited to 'resources')
-rwxr-xr-xresources/do_buildroot.sh36
-rwxr-xr-xresources/extract.sh69
2 files changed, 105 insertions, 0 deletions
diff --git a/resources/do_buildroot.sh b/resources/do_buildroot.sh
new file mode 100755
index 0000000..2df2e76
--- /dev/null
+++ b/resources/do_buildroot.sh
@@ -0,0 +1,36 @@
+#!/bin/sh
+
+# This file is part of ct1986
+#
+# 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 3 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 Takwrap. If not, see <https://www.gnu.org/licenses/>.
+
+BR="$1"
+
+board="$BR/board/raspberrypi0/"
+overlay="$board/rootfs_overlay/"
+
+# Build configuration
+cp resources/buildroot.config "$BR/.config"
+cp resources/linux.config resources/busybox.config "$board" # Causes recompile
+cp resources/post-build.sh resources/ct1986.sh resources/genimage-raspberrypi0.cfg "$board"
+
+# Overlay filesystem
+dirs="/usr/bin"
+for dir in $dirs; do
+ if [ ! -d "$overlay/$dir" ]; then
+ mkdir -p "$overlay/$dir"
+ fi
+done
+
+cd "$BR" && make
diff --git a/resources/extract.sh b/resources/extract.sh
new file mode 100755
index 0000000..fb6f267
--- /dev/null
+++ b/resources/extract.sh
@@ -0,0 +1,69 @@
+#!/bin/bash
+
+db_file=games_anon.db
+
+chosen_players="fwwwwibib archvenison NohatCoder nqeron ManaT
+SultanPepper orfane rabbitboy84 applemonkeyman Reid Tayacan Breeze
+AaaarghBot"
+
+query() {
+ query="(size == $1) and (result != '1-0') and (result != '0-1') and (result != '0-0') and (result != '1/2-1/2')"
+ selct=""
+ for player in $chosen_players; do
+ selct="$selct(player_black == '$player') or (player_white == '$player') or "
+ done;
+ if [ -n "$selct" ]; then
+ query="$query and (${selct:0:-4})"
+ fi
+ echo "SELECT $2 FROM games WHERE $query;"
+}
+
+extract() {
+ size="$1"
+ things="$2"
+ if [ ! -f "data/$db_file" ]; then
+ curl "https://www.playtak.com/games_anon.db" -o "data/$db_file"
+ fi
+ echo Extracing games of size "$size"...
+ sqlite3 "data/$db_file" "$(query $size $things)" | shuf > "data/playtak-$size"
+}
+
+process() {
+ size=$1
+ num_games=$2
+ fn=$3
+
+ ./pptdb "$size" "data/playtak-$size" > "data/check-$size"
+ tail -n22 "data/check-$size"
+ echo -ne "\tStripping overflows and illegal games... "
+ grep -Fvxf "data/check-$size" "data/playtak-$size" > "data/good-playtak-$size"
+
+ echo -en "Done.\n\tGenerating training data... "
+ ./pptdb "$size" "data/good-playtak-$size" generate
+
+ echo -en "\tChoosing $num_games of $(wc -l data/training-$size.csv | cut -d\ -f1) samples... "
+ head -n 1 "data/training-$size.csv" > "data/shuf-$size.csv"
+ tail -n+2 "data/training-$size.csv" > "data/tmp"
+ shuf -n $num_games "data/tmp" >> "data/shuf-$size.csv"
+ rm data/tmp
+
+ echo -en "Done.\n\tCompressing data... "
+ mv "data/shuf-$size.csv" "data/$fn-$size.csv"
+ if [ -f "data/$fn-$size.csv.gz" ]; then
+ rm "data/$fn-$size.csv.gz"
+ fi
+ gzip "data/$fn-$size.csv"
+ echo "Done, available in data/$fn-$size.csv.gz"
+}
+
+if [ ! -d data ]; then
+ mkdir data
+fi
+
+make pptdb
+
+for size in 5; do
+ echo
+ extract $size notation,result
+ process $size 400000 training
+done