From d0d2cec07a53220792f0b681fe30dfa12a95c44e Mon Sep 17 00:00:00 2001 From: Mason Chen <124631707+Mason363@users.noreply.github.com> Date: Fri, 25 Sep 2026 21:19:51 +0000 Subject: [PATCH 1/6] Chess app for NumWorks: engine, bots, puzzles, 2-player clocks Claude-Session: https://claude.ai/code/session_015sUPTASWW2uFfWAa7KFy6o --- .gitignore | 2 + Makefile | 43 +++ src/chess.c | 731 ++++++++++++++++++++++++++++++++++++++++ src/chess.h | 80 +++++ src/icon.png | Bin 0 -> 969 bytes src/libc.c | 38 +++ src/main.c | 862 ++++++++++++++++++++++++++++++++++++++++++++++++ src/sprites.h | 44 +++ test/perft.c | 105 ++++++ tools/icon.py | 39 +++ tools/pieces.py | 284 ++++++++++++++++ 11 files changed, 2228 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 src/chess.c create mode 100644 src/chess.h create mode 100644 src/icon.png create mode 100644 src/libc.c create mode 100644 src/main.c create mode 100644 src/sprites.h create mode 100644 test/perft.c create mode 100644 tools/icon.py create mode 100644 tools/pieces.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..fd6aad7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +output/ +__pycache__/ diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..a325168 --- /dev/null +++ b/Makefile @@ -0,0 +1,43 @@ +# NumChess — chess for the NumWorks calculator. +# make build output/chess.nwa +# make run install on a connected calculator +# make test run engine tests on the host +Q ?= @ +CC = arm-none-eabi-gcc +NWLINK = npx --yes -- nwlink@1.0.0 +BUILD_DIR = output +SRC = src/main.c src/chess.c src/libc.c + +CFLAGS = -std=c99 $(shell $(NWLINK) eadk-cflags-device) +CFLAGS += -Os -Wall -fno-math-errno -fno-tree-loop-distribute-patterns -fno-reorder-functions -flto-partition=one +CFLAGS += -flto -fno-fat-lto-objects -fwhole-program -fvisibility=internal +LDFLAGS = -Wl,--relocatable -nostartfiles --specs=nano.specs +LDFLAGS += -Wl,-e,main -Wl,-u,eadk_app_name -Wl,-u,eadk_app_icon -Wl,-u,eadk_api_level +LDFLAGS += -Wl,--gc-sections -flinker-output=nolto-rel + +.PHONY: build run test clean +build: $(BUILD_DIR)/chess.nwa + +run: $(BUILD_DIR)/chess.nwa + @echo "INSTALL $<" + $(Q) $(NWLINK) install-nwa $< + +$(BUILD_DIR)/chess.nwa: $(SRC) src/chess.h src/sprites.h $(BUILD_DIR)/icon.o + @echo "LD $@" + $(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(SRC) $(BUILD_DIR)/icon.o -o $@ + $(Q) arm-none-eabi-strip --strip-unneeded $@ + $(Q) arm-none-eabi-size $@ + +$(BUILD_DIR)/icon.o: src/icon.png | $(BUILD_DIR) + @echo "ICON $<" + $(Q) $(NWLINK) png-icon-o $< $@ + +$(BUILD_DIR): + $(Q) mkdir -p $@ + +test: | $(BUILD_DIR) + $(Q) cc -O2 -DPLATFORM_DEVICE=1 $(shell $(NWLINK) eadk-cflags-simulator) test/perft.c -o $(BUILD_DIR)/perft + $(Q) $(BUILD_DIR)/perft + +clean: + $(Q) rm -rf $(BUILD_DIR) diff --git a/src/chess.c b/src/chess.c new file mode 100644 index 0000000..785ebd7 --- /dev/null +++ b/src/chess.c @@ -0,0 +1,731 @@ +#include "chess.h" +#include +#include + +Pos P; +Undo H[MAXGAME + MAXPLY]; +int hp; +uint32_t nodes; + +static uint64_t Z[16 * 64 + 25]; +#define ZP(pc, s) Z[(pc) * 64 + (s)] +#define Zc (Z + 1024) +#define Zep (Z + 1040) +#define Zside Z[1048] + +/* PeSTO piece-square tables (Ronald Friederich), mirrored across the + * d/e files and halved to fit in int8. Rows run rank 8 -> rank 1. */ +static const int8_t PST[12][32] = { + {0,0,0,0,22,42,47,41,-6,8,21,24,-9,8,5,11,-13,2,0,7,-9,7,0,-2,-14,9,1,-9,0,0,0,0}, + {0,0,0,0,91,85,73,70,45,46,35,31,12,10,4,1,3,3,-3,-3,-1,2,-3,0,2,3,2,6,0,0,0,0}, + {-68,-26,-33,3,-22,-8,34,15,-1,33,42,37,3,9,22,23,-5,6,9,10,-10,4,7,7,-12,-17,2,-1,-32,-10,-21,-12}, + {-39,-25,-10,-15,-19,-8,-12,-3,-16,-10,0,2,-9,3,8,11,-9,0,8,10,-11,-6,-1,6,-21,-11,-7,-2,-23,-25,-10,-9}, + {-9,3,-31,-15,-18,9,10,4,-4,19,23,19,-1,3,14,22,0,6,6,15,3,8,11,7,1,12,9,2,-13,-10,-6,-8}, + {-9,-9,-5,-4,-5,-2,-1,-4,2,-2,2,-1,0,3,6,6,-4,0,6,7,-7,-2,3,6,-10,-8,-4,1,-10,-3,-10,-3}, + {19,18,10,29,18,15,31,36,3,20,18,13,-11,-5,11,13,-15,-5,-5,2,-19,-7,-4,-3,-29,-5,-2,-2,-11,-12,2,8}, + {5,5,8,7,4,5,4,2,1,1,1,2,2,1,4,1,-2,-1,1,0,-5,-2,-4,-2,-2,-4,-2,-2,-7,2,-2,-1}, + {4,11,18,18,8,-3,13,-4,11,8,16,9,-6,-7,0,-4,-3,-6,-3,-3,-2,4,-2,-2,-8,-3,7,3,-13,-12,-8,-1}, + {3,8,10,14,-4,13,14,25,-3,6,11,24,10,20,16,26,1,17,13,20,-3,-4,8,4,-13,-15,-13,-8,-18,-12,-13,-12}, + {-13,6,-4,-18,0,-10,-6,-4,-8,12,2,-9,-13,-8,-9,-14,-25,-8,-18,-21,-10,-7,-13,-22,2,4,-6,-27,0,15,-4,-11}, + {-23,-8,-1,-7,0,10,13,9,6,15,17,9,-1,12,14,13,-7,1,11,13,-7,1,7,11,-11,-4,2,7,-24,-14,-9,-10}, +}; +static const int16_t VMG[7] = {0, 82, 337, 365, 477, 1025, 0}; +static const int16_t VEG[7] = {0, 94, 281, 297, 512, 936, 0}; +static const uint8_t PHASE[7] = {0, 0, 1, 1, 2, 4, 0}; + +static const int8_t KN[8] = {33, 31, 18, 14, -33, -31, -18, -14}; +static const int8_t KG[8] = {1, -1, 16, -16, 17, 15, -17, -15}; + +#define SQ64(s) (((s) + ((s) & 7)) >> 1) +#define OFF(s) ((s) & 0x88) +#define LAST(s) ((unsigned)((s) - 16) >= 96) + +static void upd(int sq, int pc, int sign) { + int t = TYPE(pc), f = sq & 7, r = sq >> 4; + if (f > 3) f = 7 - f; + if (!COLOR(pc)) r = 7 - r; + int i = r * 4 + f; + int mg = VMG[t] + 2 * PST[t * 2 - 2][i], eg = VEG[t] + 2 * PST[t * 2 - 1][i]; + if (COLOR(pc) ^ (sign < 0)) mg = -mg, eg = -eg; + P.mg += mg; + P.eg += eg; + P.phase += sign * PHASE[t]; + P.cnt[pc] += sign; + P.hash ^= ZP(pc, SQ64(sq)); +} + +static void put(int sq, int pc) { + P.b[sq] = pc; + upd(sq, pc, 1); + if (TYPE(pc) == KING) P.king[COLOR(pc)] = sq; +} + +static void del(int sq) { + upd(sq, P.b[sq], -1); + P.b[sq] = 0; +} + +static uint64_t rng64(void) { + static uint64_t s = 0x9E3779B97F4A7C15ull; + s ^= s >> 12, s ^= s << 25, s ^= s >> 27; + return s * 0x2545F4914F6CDD1Dull; +} + +void ch_init(void) { + for (int i = 0; i < 16 * 64 + 25; i++) Z[i] = rng64(); +} + +void ch_reset(void) { + static const uint8_t back[8] = {ROOK, KNIGHT, BISHOP, QUEEN, KING, BISHOP, KNIGHT, ROOK}; + memset(&P, 0, sizeof P); + hp = 0; + for (int f = 0; f < 8; f++) { + put(f, back[f]); + put(16 + f, PAWN); + put(0x60 + f, BLACK | PAWN); + put(0x70 + f, BLACK | back[f]); + } + P.castle = 15; + P.ep = NOSQ; + P.hash ^= Zc[15]; +} + +static int attacked(int sq, int by) { + int c = by << 3; + for (int i = 15; i <= 17; i += 2) { + int s = by ? sq + i : sq - i; + if (!OFF(s) && P.b[s] == (c | PAWN)) return 1; + } + for (int i = 0; i < 8; i++) { + int s = sq + KN[i]; + if (!OFF(s) && P.b[s] == (c | KNIGHT)) return 1; + s = sq + KG[i]; + if (!OFF(s) && P.b[s] == (c | KING)) return 1; + for (; !OFF(s); s += KG[i]) { + int p = P.b[s]; + if (p) { + if (COLOR(p) == by && (TYPE(p) == QUEEN || TYPE(p) == (i < 4 ? ROOK : BISHOP))) return 1; + break; + } + } + } + return 0; +} + +int in_check(void) { return attacked(P.king[P.side], !P.side); } + +static int left_in_check(void) { return attacked(P.king[P.side ^ 1], P.side); } + +static Move *addp(Move *ml, int f, int t, int caps) { + if (!LAST(t)) *ml++ = MOVE(f, t, 0); + else for (int p = 3; p >= (caps ? 3 : 0); p--) *ml++ = MOVE(f, t, p); + return ml; +} + +/* Pseudo-legal moves (castling is fully checked). caps: captures and queen promotions only. */ +static int gen(Move *ml0, int caps) { + Move *ml = ml0; + int us = P.side; + for (int sq = 0; sq < 120; sq++) { + int p = P.b[sq]; + if (OFF(sq) || !p || COLOR(p) != us) continue; + int t = TYPE(p); + if (t == PAWN) { + int fwd = us ? -16 : 16, s = sq + fwd; + if (!P.b[s]) { + if (LAST(s) || !caps) ml = addp(ml, sq, s, caps); + if (!caps && ((sq >> 4) == (us ? 6 : 1)) && !P.b[s + fwd]) *ml++ = MOVE(sq, s + fwd, 0); + } + for (int d = -1; d <= 1; d += 2) { + int c = s + d; + if (!OFF(c) && ((P.b[c] && COLOR(P.b[c]) != us) || c == P.ep)) ml = addp(ml, sq, c, caps); + } + continue; + } + const int8_t *dir = t == KNIGHT ? KN : KG + (t == BISHOP) * 4; + int nd = (t == BISHOP || t == ROOK) ? 4 : 8, slide = t != KNIGHT && t != KING; + for (int i = 0; i < nd; i++) { + for (int s = sq + dir[i]; !OFF(s); s += dir[i]) { + int q = P.b[s]; + if (q) { + if (COLOR(q) != us) *ml++ = MOVE(sq, s, 0); + break; + } + if (!caps) *ml++ = MOVE(sq, s, 0); + if (!slide) break; + } + } + } + if (!caps) { + int k = us ? 0x74 : 0x04; + if (P.king[us] == k && (P.castle & (us ? 12 : 3)) && !attacked(k, !us)) { + if ((P.castle & (us ? 4 : 1)) && !P.b[k + 1] && !P.b[k + 2] && !attacked(k + 1, !us)) + *ml++ = MOVE(k, k + 2, 0); + if ((P.castle & (us ? 8 : 2)) && !P.b[k - 1] && !P.b[k - 2] && !P.b[k - 3] && !attacked(k - 1, !us)) + *ml++ = MOVE(k, k - 2, 0); + } + } + return ml - ml0; +} + +static int crmask(int s) { + static const uint8_t sq[6] = {0x00, 0x04, 0x07, 0x70, 0x74, 0x77}, mk[6] = {2, 3, 1, 8, 12, 4}; + for (int i = 0; i < 6; i++) + if (s == sq[i]) return mk[i]; + return 0; +} + +void make(Move m) { + int f = MFROM(m), t = MTO(m), p = P.b[f], us = P.side; + Undo *u = &H[hp++]; + u->hash = P.hash, u->m = m, u->pc = p, u->castle = P.castle, u->ep = P.ep, u->fifty = P.fifty; + u->cap = P.b[t]; + P.fifty++; + if (TYPE(p) == PAWN) { + P.fifty = 0; + if (t == P.ep) { + int cs = t + (us ? 16 : -16); + u->cap = P.b[cs]; + del(cs); + } + } + if (P.b[t]) del(t), P.fifty = 0; + del(f); + if (TYPE(p) == PAWN && LAST(t)) p = (us << 3) | (MPROMO(m) + KNIGHT); + put(t, p); + if (TYPE(p) == KING && (t - f == 2 || f - t == 2)) { + int rf = t > f ? f + 3 : f - 4; + del(rf); + put((f + t) >> 1, (us << 3) | ROOK); + } + P.hash ^= Zc[P.castle]; + P.castle &= ~(crmask(f) | crmask(t)); + P.hash ^= Zc[P.castle]; + if (P.ep != NOSQ) P.hash ^= Zep[P.ep & 7]; + P.ep = NOSQ; + if (TYPE(p) == PAWN && (t - f == 32 || f - t == 32)) P.ep = (f + t) >> 1, P.hash ^= Zep[P.ep & 7]; + P.side ^= 1; + P.hash ^= Zside; +} + +void unmake(void) { + Undo *u = &H[--hp]; + int m = u->m, f = MFROM(m), t = MTO(m), us = P.side ^= 1; + if (m) { + del(t); + put(f, u->pc); + if (u->cap) put(TYPE(u->pc) == PAWN && t == u->ep ? t + (us ? 16 : -16) : t, u->cap); + if (TYPE(u->pc) == KING && (t - f == 2 || f - t == 2)) { + del((f + t) >> 1); + put(t > f ? f + 3 : f - 4, (us << 3) | ROOK); + } + } + P.castle = u->castle, P.ep = u->ep, P.fifty = u->fifty, P.hash = u->hash; +} + +static void make_null(void) { + Undo *u = &H[hp++]; + u->hash = P.hash, u->m = 0, u->castle = P.castle, u->ep = P.ep, u->fifty = P.fifty; + if (P.ep != NOSQ) P.hash ^= Zep[P.ep & 7]; + P.ep = NOSQ; + P.side ^= 1; + P.hash ^= Zside; +} + +int legal(Move *out) { + int n = gen(out, 0), k = 0; + for (int i = 0; i < n; i++) { + make(out[i]); + if (!left_in_check()) out[k++] = out[i]; + unmake(); + } + return k; +} + +int is_legal(Move m) { + Move ml[256]; + int n = legal(ml); + while (n--) + if (ml[n] == m) return 1; + return 0; +} + +int gives_check(Move m) { + make(m); + int c = in_check(); + unmake(); + return c; +} + +static int reps(void) { + int r = 0; + for (int i = hp - 2; i >= 0 && i >= hp - P.fifty; i -= 2) r += H[i].hash == P.hash; + return r; +} + +static int insufficient(void) { + uint8_t *c = P.cnt; + if (c[PAWN] | c[ROOK] | c[QUEEN] | c[8 | PAWN] | c[8 | ROOK] | c[8 | QUEEN]) return 0; + return c[KNIGHT] + c[BISHOP] + c[8 | KNIGHT] + c[8 | BISHOP] <= 1; +} + +int status(void) { + Move ml[256]; + if (!legal(ml)) return in_check() ? CHECKMATE : STALEMATE; + if (P.fifty >= 100) return FIFTY; + if (reps() >= 2) return REPETITION; + if (insufficient()) return MATERIAL; + return ONGOING; +} + +void san(Move m, char *o) { + int f = MFROM(m), t = MTO(m), p = P.b[f], ty = TYPE(p); + Move ml[256]; + if (ty == KING && (t - f == 2 || f - t == 2)) { + const char *c = t > f ? "O-O" : "O-O-O"; + while (*c) *o++ = *c++; + } else { + int cap = P.b[t] || (ty == PAWN && t == P.ep); + if (ty != PAWN) { + *o++ = " PNBRQK"[ty]; + int n = legal(ml), amb = 0, sf = 0, sr = 0; + while (n--) { + int mf = MFROM(ml[n]); + if (MTO(ml[n]) == t && mf != f && P.b[mf] == p) { + amb = 1; + sf |= (mf & 7) == (f & 7); + sr |= (mf >> 4) == (f >> 4); + } + } + if (amb && (!sf || sr)) *o++ = 'a' + (f & 7); + if (amb && sf) *o++ = '1' + (f >> 4); + } else if (cap) { + *o++ = 'a' + (f & 7); + } + if (cap) *o++ = 'x'; + *o++ = 'a' + (t & 7); + *o++ = '1' + (t >> 4); + if (ty == PAWN && LAST(t)) *o++ = '=', *o++ = "NBRQ"[MPROMO(m)]; + } + make(m); + if (in_check()) *o++ = legal(ml) ? '+' : '#'; + unmake(); + *o = 0; +} + +/* ---------------------------------------------------------------- Eval */ + +int eval(void) { + int ph = P.phase > 24 ? 24 : P.phase; + int s = (P.mg * ph + P.eg * (24 - ph)) / 24; + uint8_t *c = P.cnt; + s += 30 * ((c[BISHOP] >= 2) - (c[8 | BISHOP] >= 2)); + for (int w = 0; w < 2; w++) { + int sg = w ? -1 : 1, o = w << 3, x = 8 - o; + if (s * sg <= 0) continue; + if (!c[o | PAWN] && !c[o | ROOK] && !c[o | QUEEN] && c[o | KNIGHT] + c[o | BISHOP] <= 1) { + s /= 8; + } else if (!(c[x | PAWN] | c[x | KNIGHT] | c[x | BISHOP] | c[x | ROOK] | c[x | QUEEN])) { + /* Mop-up: drive the lone king to the edge and bring ours closer. */ + int k = P.king[!w], K = P.king[w], kf = k & 7, kr = k >> 4; + int cd = (kf < 4 ? 3 - kf : kf - 4) + (kr < 4 ? 3 - kr : kr - 4); + int df = kf - (K & 7), dr = kr - (K >> 4); + s += sg * (300 + cd * 20 + (14 - (df < 0 ? -df : df) - (dr < 0 ? -dr : dr)) * 8); + } + } + return (P.side ? -s : s) + 8; +} + +/* -------------------------------------------------------------- Search */ + +#define TTN 2048 +typedef struct { + uint16_t key; + Move m; + int16_t s; + uint8_t d, f; +} TTE; +enum { T_EXACT = 1, T_LOWER, T_UPPER }; +static TTE tt[TTN]; +static Move killers[MAXPLY][2]; +static int16_t hist[16 * 64]; +#define MSN 3000 +static Move mstack[MSN]; +static int16_t mscore[MSN]; +static int msp; +static uint64_t deadline; +static int stopped; +int think_depth; + +static int tick(void) { + if ((++nodes & 1023) == 0 && eadk_timing_millis() > deadline) stopped = 1; + return stopped; +} + +static void score_moves(Move *ml, int16_t *sc, int n, Move ttm, int ply) { + for (int i = 0; i < n; i++) { + Move m = ml[i]; + int f = MFROM(m), t = MTO(m), p = P.b[f], v = P.b[t], s; + if (m == ttm) s = 30000; + else if (v || (TYPE(p) == PAWN && t == P.ep)) s = 20000 + TYPE(v ? v : PAWN) * 16 - TYPE(p); + else if (TYPE(p) == PAWN && LAST(t)) s = MPROMO(m) == 3 ? 19000 : -1000; + else if (m == killers[ply][0]) s = 18000; + else if (m == killers[ply][1]) s = 17990; + else s = hist[p * 64 + SQ64(t)]; + sc[i] = s; + } +} + +static Move pick(Move *ml, int16_t *sc, int n, int i) { + int b = i; + for (int j = i + 1; j < n; j++) + if (sc[j] > sc[b]) b = j; + Move m = ml[b]; + int16_t s = sc[b]; + ml[b] = ml[i], sc[b] = sc[i], ml[i] = m, sc[i] = s; + return m; +} + +static int qs(int alpha, int beta, int ply) { + if (tick()) return 0; + int best = eval(); + if (best >= beta || ply >= MAXPLY - 1 || msp > MSN - 256) return best; + if (best > alpha) alpha = best; + Move *ml = mstack + msp; + int16_t *sc = mscore + msp; + int n = gen(ml, 1); + msp += n; + score_moves(ml, sc, n, 0, ply); + for (int i = 0; i < n; i++) { + Move m = pick(ml, sc, n, i); + make(m); + if (left_in_check()) { + unmake(); + continue; + } + int s = -qs(-beta, -alpha, ply + 1); + unmake(); + if (s > best) { + best = s; + if (s > alpha) { + alpha = s; + if (s >= beta) break; + } + } + } + msp -= n; + return best; +} + +int search(int depth, int alpha, int beta, int ply) { + if (ply && (P.fifty >= 100 || reps())) return 0; + int check = in_check(); + if (check) depth++; + if (depth <= 0) return qs(alpha, beta, ply); + if (tick()) return 0; + if (ply >= MAXPLY - 1 || msp > MSN - 256) return eval(); + if (alpha < -MATE + ply) alpha = -MATE + ply; + if (beta > MATE - ply - 1) beta = MATE - ply - 1; + if (alpha >= beta) return alpha; + + TTE *e = &tt[P.hash & (TTN - 1)]; + uint16_t key = P.hash >> 48; + Move ttm = 0; + if (e->key == key) { + ttm = e->m; + if (ply && e->d >= depth) { + int s = e->s; + if (s > MATE - 200) s -= ply; + else if (s < -MATE + 200) s += ply; + if (e->f == T_EXACT || (e->f == T_LOWER && s >= beta) || (e->f == T_UPPER && s <= alpha)) return s; + } + } + int pv = beta - alpha > 1, us = P.side << 3; + if (!pv && !check && depth >= 3 && ply && + (P.cnt[us | KNIGHT] | P.cnt[us | BISHOP] | P.cnt[us | ROOK] | P.cnt[us | QUEEN]) && eval() >= beta) { + make_null(); + int s = -search(depth - 3, -beta, -beta + 1, ply + 1); + unmake(); + if (stopped) return 0; + if (s >= beta) return s > MATE - 200 ? beta : s; + } + + Move *ml = mstack + msp; + int16_t *sc = mscore + msp; + int n = gen(ml, 0); + msp += n; + score_moves(ml, sc, n, ttm, ply); + int best = -INF, legalc = 0, a0 = alpha; + Move bm = 0; + for (int i = 0; i < n; i++) { + Move m = pick(ml, sc, n, i); + int p = P.b[MFROM(m)], t = MTO(m); + int quiet = !P.b[t] && !(TYPE(p) == PAWN && (t == P.ep || LAST(t))); + make(m); + if (left_in_check()) { + unmake(); + continue; + } + legalc++; + int s, nd = depth - 1; + if (legalc == 1) { + s = -search(nd, -beta, -alpha, ply + 1); + } else { + int r = depth >= 3 && legalc > 3 && quiet && sc[i] < 17000 && !check && !in_check() ? 1 + (legalc > 8) : 0; + s = -search(nd - r, -alpha - 1, -alpha, ply + 1); + if (r && s > alpha) s = -search(nd, -alpha - 1, -alpha, ply + 1); + if (s > alpha && s < beta) s = -search(nd, -beta, -alpha, ply + 1); + } + unmake(); + if (stopped) break; + if (s > best) { + best = s, bm = m; + if (s > alpha) { + alpha = s; + if (s >= beta) { + if (quiet) { + if (killers[ply][0] != m) killers[ply][1] = killers[ply][0], killers[ply][0] = m; + int16_t *h = &hist[p * 64 + SQ64(t)]; + *h = *h + depth * depth > 16000 ? 16000 : *h + depth * depth; + } + break; + } + } + } + } + msp -= n; + if (stopped) return 0; + if (!legalc) return check ? -MATE + ply : 0; + int s = best; + if (s > MATE - 200) s += ply; + else if (s < -MATE + 200) s -= ply; + e->key = key, e->m = bm, e->s = s, e->d = depth; + e->f = best >= beta ? T_LOWER : best > a0 ? T_EXACT : T_UPPER; + return best; +} + +static void limit(int ms) { + deadline = eadk_timing_millis() + ms; + stopped = 0; + msp = 0; +} + +Move think(int maxd, int ms, int *score) { + Move root[256]; + int n = legal(root), bs = 0; + if (!n) return 0; + limit(ms); + nodes = 0; + uint64_t t0 = eadk_timing_millis(); + memset(killers, 0, sizeof killers); + for (int i = 0; i < 16 * 64; i++) hist[i] >>= 2; + think_depth = 0; + for (int d = 1; d <= maxd; d++) { + int alpha = -INF, cur = -INF; + for (int i = 0; i < n; i++) { + make(root[i]); + int s; + if (!i) { + s = -search(d - 1, -INF, INF, 1); + } else { + s = -search(d - 1, -alpha - 1, -alpha, 1); + if (s > alpha && !stopped) s = -search(d - 1, -INF, -alpha, 1); + } + unmake(); + if (stopped) break; + if (s > alpha) { + Move m = root[i]; + memmove(root + 1, root, i * sizeof(Move)); + root[0] = m; + alpha = cur = s; + } + } + if (cur > -INF) bs = cur; + if (stopped) break; + think_depth = d; + if (MATE - (bs < 0 ? -bs : bs) <= d) break; + if ((eadk_timing_millis() - t0) * 2 > (uint64_t)ms) break; + } + if (score) *score = bs; + return root[0]; +} + +/* Score of one root move at a given depth, using a (alpha, beta) window. */ +int score_move(Move m, int depth, int alpha, int beta) { + make(m); + int s = -search(depth - 1, -beta, -alpha, 1); + unmake(); + return s; +} + +static int noise(int n) { return n ? (int)(eadk_random() % (n + 1) + eadk_random() % (n + 1)) - n : 0; } + +Move bot_move(int depth, int nz, int blunder, int ms) { + Move ml[256]; + int n = legal(ml), bs; + if (n <= 1) return n ? ml[0] : 0; + if ((int)(eadk_random() % 100) < blunder) return ml[eadk_random() % n]; + if (!nz && hp < 8) nz = 12, depth = depth < 4 ? depth : 4; /* opening variety */ + Move best = think(depth, nz ? 60000 : ms, &bs); + if (!nz) return best; + int d = think_depth ? think_depth : 1, bv = -INF; + limit(60000); + for (int i = 0; i < n; i++) { + int s = ml[i] == best ? bs : score_move(ml[i], d, bs - 2 * nz, INF); + s += noise(nz); + if (s > bv) bv = s, best = ml[i]; + } + return best; +} + +/* ---------------------------------------------------------- Mate search */ + +static int all_mated(int n, int co); +static Move mate_first; + +/* Can the side to move force mate in at most n moves? co: attacker only checks. */ +int mate_in(int n, int co) { + Move *ml = mstack + msp; + int k = gen(ml, 0), found = 0; + msp += k; + for (int pass = 0; pass < 2 && !found; pass++) { + if (pass && (co || n == 1)) break; + for (int i = 0; i < k && !found; i++) { + make(ml[i]); + if (!left_in_check() && in_check() == !pass) found = all_mated(n - 1, co); + unmake(); + if (found) mate_first = ml[i]; + } + } + msp -= k; + return found; +} + +/* Defender to move: does every reply lose to mate within n moves? */ +static int all_mated(int n, int co) { + Move *ml = mstack + msp; + int k = gen(ml, 0), any = 0, ok = 1; + msp += k; + for (int i = 0; i < k && ok; i++) { + make(ml[i]); + if (!left_in_check()) { + any = 1; + if (!n || !mate_in(n, co)) ok = 0; + } + unmake(); + } + msp -= k; + return any ? ok : in_check(); +} + +int mated_within(int n) { + msp = 0; + return all_mated(n, 0); +} + +int mate_len(int max, int co) { + msp = 0; + for (int n = 1; n <= max; n++) + if (mate_in(n, co)) return n; + return 0; +} + +/* First move of a mate in at most n, or 0. */ +Move mate_move(int n) { + return mate_len(n, 1) || mate_len(n, 0) ? mate_first : 0; +} + +/* Defender to move: the reply that postpones mate the longest. */ +Move defend(int n) { + Move ml[256]; + int k = legal(ml), best = -1; + Move bm = ml[0]; + for (int i = 0; i < k; i++) { + make(ml[i]); + int l = mate_len(n, 0); + unmake(); + if (!l) l = 99; + if (l > best || (l == best && eadk_random() % 3 == 0)) best = l, bm = ml[i]; + } + return bm; +} + +/* ------------------------------------------------------------- Puzzles */ + +Puzzle PZ; +#define PMARGIN 180 + +void gen_hook(void); + +static int is_quiet(Move m) { return !P.b[MTO(m)] && !gives_check(m); } + +/* Is m the only good move here (every other move scores at least PMARGIN less)? */ +static int unique(Move b, int s) { + Move ml[256]; + int n = legal(ml), d = think_depth; + for (int i = 0; i < n; i++) + if (ml[i] != b && score_move(ml[i], d, s - PMARGIN - 1, s - PMARGIN) > s - PMARGIN) return 0; + return 1; +} + +static int tactic(void) { + int s, r, k = 0, made = 0; + Move ml[256], b = think(5, 60000, &s); + if (s < 200 || s > MATE - 200 || !unique(b, s)) return 0; + int df = 1; + while (df < 5 && think(df, 60000, &r) != b) df++; + PZ.sol[k++] = b; + make(b), made++; + while (k < 5 && legal(ml)) { + Move rep = think(4, 60000, &r); + make(rep), made++; + Move b2 = think(5, 60000, &r); + if (r < 200 || r > MATE - 200 || !unique(b2, r)) break; + PZ.sol[k++] = rep, PZ.sol[k++] = b2; + make(b2), made++; + } + while (made--) unmake(); + PZ.nsol = k; + PZ.mate = 0; + PZ.rating = 450 + 150 * df + 120 * (k >> 1) + 150 * is_quiet(b) - 200 * (MTO(b) == MTO(H[hp - 1].m)) + + eadk_random() % 80; + return 1; +} + +void puzzle_gen(int kind, int target) { + for (int tries = 0;; tries++) { + ch_reset(); + int solver = eadk_random() & 1, prev = 0, s; + for (int ply = 0; ply < 100; ply++) { + Move ml[256]; + if (!legal(ml) || P.fifty > 30) break; + if (P.side == solver) { + if (ply >= 8) { + int n = mate_len(3, 1), ok = 0; + if (n && (kind == 0 || kind == n) && !(n == 3 && mate_len(2, 0))) { + PZ.sol[0] = mate_move(n); + PZ.nsol = 1, PZ.mate = n; + PZ.rating = 250 + n * 400 + 150 * is_quiet(PZ.sol[0]) + eadk_random() % 100; + ok = 1; + } else if (!n && (kind == 0 || kind == 4)) { + think(3, 60000, &s); + if (s >= 250 && s < MATE - 200 && s - prev >= 250) ok = tactic(); + } + int dr = PZ.rating - target; + if (ok && (dr < 0 ? -dr : dr) <= 250 + 40 * tries) { + PZ.pre = H[hp - 1].m; + unmake(); + PZ.start = P; + return; + } + } + gen_hook(); + make(bot_move(2, 40, 0, 60000)); + } else { + think(2, 60000, &s); + prev = -s; + make(eadk_random() % 8 ? bot_move(2, 110, 0, 60000) : ml[eadk_random() % legal(ml)]); + } + } + } +} diff --git a/src/chess.h b/src/chess.h new file mode 100644 index 0000000..236e075 --- /dev/null +++ b/src/chess.h @@ -0,0 +1,80 @@ +#ifndef CHESS_H +#define CHESS_H + +#include + +enum { EMPTY, PAWN, KNIGHT, BISHOP, ROOK, QUEEN, KING }; +#define BLACK 8 +#define COLOR(p) ((p) >> 3) +#define TYPE(p) ((p) & 7) +#define NOSQ 0x80 + +/* 0x88 squares: sq = rank * 16 + file */ +typedef uint16_t Move; /* from | to << 7 | promo << 14 (promo: 0 N, 1 B, 2 R, 3 Q) */ +#define MFROM(m) ((m) & 127) +#define MTO(m) (((m) >> 7) & 127) +#define MPROMO(m) ((m) >> 14) +#define MOVE(f, t, p) ((Move)((f) | (t) << 7 | (p) << 14)) + +#define MATE 30000 +#define INF 32000 +#define MAXPLY 64 +#define MAXGAME 600 + +typedef struct { + uint8_t b[128]; + uint8_t side, castle, ep, fifty; + uint8_t king[2]; + uint8_t cnt[16]; + int16_t mg, eg, phase; + uint64_t hash; +} Pos; + +typedef struct { + uint64_t hash; + Move m; + uint8_t pc, cap, castle, ep, fifty; +} Undo; + +extern Pos P; +extern Undo H[]; +extern int hp; + +enum { ONGOING, CHECKMATE, STALEMATE, FIFTY, REPETITION, MATERIAL }; + +void ch_init(void); +void ch_reset(void); +void make(Move m); +void unmake(void); +int in_check(void); +int legal(Move *out); +int is_legal(Move m); +int gives_check(Move m); +int status(void); +void san(Move m, char *out); + +int eval(void); +int search(int depth, int alpha, int beta, int ply); +Move think(int depth, int ms, int *score); +int score_move(Move m, int depth, int alpha, int beta); +Move bot_move(int depth, int noise, int blunder, int ms); +int mate_in(int n, int checks_only); +int mate_len(int max, int checks_only); +int mated_within(int n); +Move mate_move(int n); +Move defend(int n); + +typedef struct { + Pos start; /* position before the opponent's last move */ + Move pre; /* that move, played when the puzzle starts */ + Move sol[5]; /* solver moves and replies */ + uint8_t nsol, mate; + int16_t rating; +} Puzzle; +extern Puzzle PZ; +void puzzle_gen(int kind, int target); +extern int think_depth; + +extern uint32_t nodes; + +#endif diff --git a/src/icon.png b/src/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3c80b1a79707b75e1c4d82abe8bf8cd0425b13ce GIT binary patch literal 969 zcmV;)12+7LP)6X=_RgiKroIXoyCNG%1Z5#fTKjpn>6o5*a8(dr%}FQYattp#)jr z9`Yd!5yFQM!YJyq4y|?FuDkd8yWR_34r31Q?q}zB&i8!pe$#&bdwl=#ZS~W_(|319 z7TRvkHMtpFk?V4G7z|We=^yVmU%L-i78jE8lykY!L+2|Ec#M=@Lo|SDvd|txl#r#@ zC{-`iqDhTHsL@lNMU;S0qxn5f388j?%YE%x?A+C(Di&RH_!j3=5qXlDX^J)nYa;;_ z>C_x1PuKO6ZM6eau@fyJ{rA!T=(x8i`^KU|7N{vac6WF2Sj?_hC_9H5z{+GEbaZr# zjXm7i`4W%Ed8N6%kX^4(w)BT#+SvHGyZcpw=c&{U$?ln+FeP!wl)a--P+D7Ci-^U@ z=hu3BdtjxR4g}ODB`pF$EEZc||FD-*VsY^$piO6kheJtvB8`DiD73Qj78Ej936x?5 z)VYXSrW9S|+Dl8Xqy)h=0hPw5JY1y|U7Vhtf`FnFC4#sT<<{0Fh2gM3tx>k$ioi57 za!&|=LxYBghtQx(l*ID#8_qi2UFQZR$q3dRNhA{HOqJH1bEy{Plq7?ckQl3o#O&-0 z=U%+upq5gGA?;!Vk=Wk;Op~4JtW`@%U)R@1O2>@VNG6j^f$P~uRg}^+lar6p@Ulfo z8|_;O^Ybrw6Gp!(N*ObQg9AkkDyj^+Ee?Ytn|*FV$;V?guz5--aX0#(Bb`n|CawZ# zN{tsA;x)K6oN3CyhS;J7>N-DCCJ7|qhRfuckX!_MsS^2XWUofLoUO8H}l&mX&` r{@8i;%`U!gei7lDUzd3KmpZ=ytY|@HGj}nw00000NkvXXu0mjfmfzCP literal 0 HcmV?d00001 diff --git a/src/libc.c b/src/libc.c new file mode 100644 index 0000000..e9ee8a9 --- /dev/null +++ b/src/libc.c @@ -0,0 +1,38 @@ +/* Minimal replacements for the few libc routines the app needs: much + * smaller than newlib's speed-optimized versions. */ +#include + +#define EXPORT __attribute__((used, externally_visible)) + +EXPORT void *memcpy(void *d, const void *s, size_t n) { + char *o = d; + const char *i = s; + while (n--) *o++ = *i++; + return d; +} + +EXPORT void *memmove(void *d, const void *s, size_t n) { + char *o = d; + const char *i = s; + if (o < i) return memcpy(d, s, n); + while (n--) o[n] = i[n]; + return d; +} + +EXPORT void *memset(void *d, int c, size_t n) { + char *o = d; + while (n--) *o++ = c; + return d; +} + +EXPORT size_t strlen(const char *s) { + const char *e = s; + while (*e) e++; + return e - s; +} + +EXPORT char *strcpy(char *d, const char *s) { + char *o = d; + while ((*o++ = *s++)) {} + return d; +} diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..8bb7ee3 --- /dev/null +++ b/src/main.c @@ -0,0 +1,862 @@ +#include +#include +#include "chess.h" +#include "sprites.h" + +const char eadk_app_name[] __attribute__((section(".rodata.eadk_app_name"))) = "Chess"; +const uint32_t eadk_api_level __attribute__((section(".rodata.eadk_api_level"))) = 0; + +typedef uint16_t C; +#define RGB(r, g, b) ((C)((((r) & 0xF8) << 8) | (((g) & 0xFC) << 3) | ((b) >> 3))) + +#define BG RGB(0x26, 0x25, 0x22) +#define CARD RGB(0x3A, 0x38, 0x35) +#define GREEN RGB(0x81, 0xB6, 0x4C) +#define RED RGB(0xE0, 0x43, 0x3B) +#define WHITE 0xFFFF +#define DIM RGB(0x98, 0x97, 0x95) +#define INK RGB(0x26, 0x25, 0x22) +#define SQ_L RGB(0xEB, 0xEC, 0xD0) +#define SQ_D RGB(0x77, 0x95, 0x56) +#define HL_L RGB(0xF5, 0xF6, 0x82) +#define HL_D RGB(0xB9, 0xCA, 0x43) +#define HINT RGB(0x5B, 0x9B, 0xE6) + +enum { K_LEFT, K_UP, K_DOWN, K_RIGHT, K_OK, K_BACK, K_UNDO = 17, K_EXE = 52 }; +enum { M_BOT, M_2P, M_PUZ }; + +static C buf[900]; + +/* ------------------------------------------------------------ Drawing */ + +static C mix(C a, C b, int t) { + uint32_t A = (a | a << 16) & 0x07E0F81F, B = (b | b << 16) & 0x07E0F81F; + uint32_t M = ((A * (32 - t) + B * t) >> 5) & 0x07E0F81F; + return M | M >> 16; +} + +static void fill(int x, int y, int w, int h, C c) { + eadk_display_push_rect_uniform((eadk_rect_t){x, y, w, h}, c); +} + +static void text(const char *s, int x, int y, int big, C fg, C bg) { + eadk_display_draw_string(s, (eadk_point_t){x, y}, big, fg, bg); +} + +static void ctext(const char *s, int cx, int y, int big, C fg, C bg) { + int n = 0; + for (const char *c = s; *c; c++) n += (*c & 0xC0) != 0x80; + text(s, cx - n * (big ? 10 : 7) / 2, y, big, fg, bg); +} + +static char *itoa(int v, char *o) { + char t[8]; + int n = 0; + if (v < 0) *o++ = '-', v = -v; + do t[n++] = '0' + v % 10; while (v /= 10); + while (n) *o++ = t[--n]; + *o = 0; + return o; +} + +static float clampf(float v) { return v < 0 ? 0 : v > 1 ? 1 : v; } + +/* Anti-aliased rounded rectangle blended over what is on screen. */ +static void rrect(int x, int y, int w, int h, int r, C c) { + for (int j = 0; j < h; j++) { + int e = j < r || j >= h - r; + if (!e) { + fill(x, y + j, w, h - 2 * r, c); + j = h - r - 1; + continue; + } + eadk_rect_t R = {x, y + j, w, 1}; + eadk_display_pull_rect(R, buf); + for (int i = 0; i < w; i++) { + float dx = i < r ? r - i - 0.5f : i >= w - r ? i + 0.5f - (w - r) : 0; + float dy = j < r ? r - j - 0.5f : j + 0.5f - (h - r); + float d = __builtin_sqrtf(dx * dx + dy * dy) - r; + buf[i] = mix(buf[i], c, (int)(32 * clampf(0.5f - d))); + } + eadk_display_push_rect(R, buf); + } +} + +static void disc(int cx, int cy, int r, C c) { rrect(cx - r, cy - r, 2 * r, 2 * r, r, c); } + +/* Thick anti-aliased line blended over the screen. */ +static void stroke(float x0, float y0, float x1, float y1, float w, C c) { + int bx = (x0 < x1 ? x0 : x1) - w - 1, by = (y0 < y1 ? y0 : y1) - w - 1; + int bw = (x0 < x1 ? x1 - x0 : x0 - x1) + 2 * w + 3, bh = (y0 < y1 ? y1 - y0 : y0 - y1) + 2 * w + 3; + float ex = x1 - x0, ey = y1 - y0, l2 = ex * ex + ey * ey; + for (int j = 0; j < bh; j++) { + eadk_rect_t R = {bx, by + j, bw, 1}; + eadk_display_pull_rect(R, buf); + for (int i = 0; i < bw; i++) { + float px = bx + i + 0.5f - x0, py = by + j + 0.5f - y0, t = clampf((px * ex + py * ey) / l2); + px -= ex * t, py -= ey * t; + buf[i] = mix(buf[i], c, (int)(32 * clampf(w / 2 + 0.5f - __builtin_sqrtf(px * px + py * py)))); + } + eadk_display_push_rect(R, buf); + } +} + +static void dim(int x, int y, int w, int h) { + for (int j = 0; j < h; j++) { + eadk_rect_t R = {x, y + j, w, 1}; + eadk_display_pull_rect(R, buf); + for (int i = 0; i < w; i++) buf[i] = mix(buf[i], 0, 15); + eadk_display_push_rect(R, buf); + } +} + +/* ------------------------------------------------------------ Sprites */ + +static const C PCOL[2][3] = { + {RGB(0xF9, 0xF9, 0xF7), RGB(0x3A, 0x3A, 0x3A), RGB(0x3A, 0x3A, 0x3A)}, + {RGB(0x52, 0x4F, 0x4D), RGB(0x16, 0x15, 0x14), RGB(0xA8, 0xA5, 0xA2)}, +}; +/* class -> (color a, color b, weight of b) with colors: 0 bg, 1 body, 2 ink, 3 detail */ +static const uint8_t SHADE[8][3] = {{0, 0, 0}, {1, 1, 0}, {2, 2, 0}, {0, 2, 19}, + {0, 2, 10}, {3, 3, 0}, {1, 2, 16}, {1, 3, 16}}; + +static int spx(int t, int x, int y) { + const uint8_t *m = &SPR[t - 1].x; + int w = m[2] & 0x7F; + y -= m[1]; + if ((unsigned)y >= m[3]) return 0; + if (m[2] & 0x80 && x > 14) x = 29 - x; + x -= m[0]; + if ((unsigned)x >= (unsigned)w) return 0; + unsigned i = (SPR[t - 1].off + y * w + x) * 3; + return ((SPRD[i >> 3] | SPRD[(i >> 3) + 1] << 8) >> (i & 7)) & 7; +} + +static C shade(int pc, int x, int y, C bg) { + int k = spx(TYPE(pc), x, y); + if (!k) return bg; + const C *p = PCOL[COLOR(pc) > 1 ? x > 14 : COLOR(pc)]; + C c[4] = {bg, p[0], p[1], p[2]}; + return mix(c[SHADE[k][0]], c[SHADE[k][1]], SHADE[k][2]); +} + +/* Draw a piece (30px, or 15px when small) over the screen content. + * COLOR 2 draws a half white / half black piece. */ +static void sprite(int pc, int X, int Y, int small) { + int s = small ? 15 : 30; + eadk_rect_t R = {X, Y, s, s}; + eadk_display_pull_rect(R, buf); + for (int y = 0; y < s; y++) + for (int x = 0; x < s; x++) { + C *o = &buf[y * s + x]; + if (small) { + C a = mix(shade(pc, 2 * x, 2 * y, *o), shade(pc, 2 * x + 1, 2 * y, *o), 16); + C b = mix(shade(pc, 2 * x, 2 * y + 1, *o), shade(pc, 2 * x + 1, 2 * y + 1, *o), 16); + *o = mix(a, b, 16); + } else { + *o = shade(pc, x, y, *o); + } + } + eadk_display_push_rect(R, buf); +} + +/* -------------------------------------------------------------- Board */ + +static int mode, flip, cur = 0x14, sel = -1, hintsq = -1, badsq = -1, ntg, incheck; +static int anim_pc, anim_x, anim_y, anim_hide = -1; +static Move tg[256]; +static char lastsan[10]; + +static int sqx(int s) { return 30 * (flip ? 7 - (s & 7) : s & 7); } +static int sqy(int s) { return 30 * (flip ? s >> 4 : 7 - (s >> 4)); } +static int at(int vx, int vy) { return flip ? vy * 16 + 7 - vx : (7 - vy) * 16 + vx; } + +static void draw_sq(int s) { + int X = sqx(s), Y = sqy(s), light = ((s >> 4) + s) & 1, mark = 0; + Move lm = hp ? H[hp - 1].m : 0; + C base = light ? SQ_L : SQ_D; + if (s == sel || (hp && (s == MFROM(lm) || s == MTO(lm)))) base = light ? HL_L : HL_D; + if (s == hintsq) base = mix(base, HINT, 18); + if (s == badsq) base = mix(base, RED, 20); + int pc = s == anim_hide ? 0 : P.b[s]; + if (sel >= 0) + for (int i = 0; i < ntg; i++) + if (MFROM(tg[i]) == sel && MTO(tg[i]) == s) mark = pc ? 2 : 1; + int chk = incheck && s == P.king[P.side]; + for (int y = 0; y < 30; y++) + for (int x = 0; x < 30; x++) { + C c = base; + int dx = 2 * x - 29, dy = 2 * y - 29, d2 = dx * dx + dy * dy; + if (chk && d2 < 1100) c = mix(c, RED, (1100 - d2) * 30 / 1100); + if (mark == 2 && d2 > 600 && d2 < 900) c = mix(c, 0, 8); + if (pc) c = shade(pc, x, y, c); + if (mark == 1 && d2 < 150) c = mix(c, 0, d2 < 118 ? 8 : 4); + if (anim_pc) { + int u = X + x - anim_x, v = Y + y - anim_y; + if ((unsigned)u < 30 && (unsigned)v < 30) c = shade(anim_pc, u, v, c); + } + if (s == cur && sel != -2 && (x < 3 || x > 26 || y < 3 || y > 26)) c = light ? mix(c, INK, 13) : mix(c, WHITE, 22); + buf[y * 30 + x] = c; + } + eadk_display_push_rect((eadk_rect_t){X, Y, 30, 30}, buf); +} + +static void draw_board(void) { + for (int s = 0; s < 120; s++) + if (!(s & 0x88)) draw_sq(s); +} + +static void draw_rect_squares(int x, int y) { + for (int j = 0; j < 2; j++) + for (int i = 0; i < 2; i++) { + int vx = (x + i * 29) / 30, vy = (y + j * 29) / 30; + if (vx >= 0 && vx < 8 && vy >= 0 && vy < 8) draw_sq(at(vx, vy)); + } +} + +static void animate(Move m) { + int f = MFROM(m), t = MTO(m), x0 = sqx(f), y0 = sqy(f), x1 = sqx(t), y1 = sqy(t); + anim_pc = P.b[f], anim_hide = f, anim_x = x0, anim_y = y0; + int n = 7; + for (int i = 1; i <= n; i++) { + int ox = anim_x, oy = anim_y, k = n - i; + int e = 1024 - k * k * k * 1024 / (n * n * n); /* ease-out cubic */ + anim_x = x0 + (x1 - x0) * e / 1024, anim_y = y0 + (y1 - y0) * e / 1024; + draw_rect_squares(ox, oy); + draw_rect_squares(anim_x, anim_y); + eadk_timing_msleep(14); + } + anim_pc = 0, anim_hide = -1; +} + +/* ---------------------------------------------------------------- Bots */ + +static const struct { + char name[6]; + uint8_t pc, depth, noise, blunder; + uint16_t elo, ms; + C col; +} BOTS[] = { + {"Pip", PAWN, 1, 250, 45, 150, 0, RGB(0x8B, 0xC3, 0x4A)}, + {"Milo", PAWN, 1, 200, 28, 300, 0, RGB(0x4C, 0xAF, 0x50)}, + {"Luna", KNIGHT, 1, 150, 18, 450, 0, RGB(0x26, 0xA6, 0x9A)}, + {"Otto", KNIGHT, 2, 120, 12, 600, 0, RGB(0x29, 0xB6, 0xF6)}, + {"Ivy", BISHOP, 2, 90, 8, 750, 0, RGB(0x42, 0x8D, 0xF5)}, + {"Finn", BISHOP, 2, 65, 5, 900, 0, RGB(0x5C, 0x6B, 0xC0)}, + {"Nova", ROOK, 3, 45, 3, 1050, 0, RGB(0x7E, 0x57, 0xC2)}, + {"Hugo", ROOK, 3, 30, 2, 1200, 0, RGB(0xAB, 0x47, 0xBC)}, + {"Vera", QUEEN, 4, 20, 1, 1400, 0, RGB(0xEC, 0x40, 0x7A)}, + {"Rex", QUEEN, 5, 10, 0, 1600, 800, RGB(0xEF, 0x53, 0x50)}, + {"Zara", KING, 7, 0, 0, 1850, 900, RGB(0xFF, 0x70, 0x43)}, + {"Atlas", KING, 40, 0, 0, 2100, 2500, RGB(0xFF, 0xB3, 0x00)}, +}; +#define NBOTS 12 + +static const struct { uint8_t min, inc; } TC[] = {{1, 0}, {3, 0}, {3, 2}, {5, 0}, {10, 0}, {15, 10}, {30, 0}, {0, 0}}; + +static int bot = 4, pside = 0, pcol, tc = 3, autoflip = 1; +static int32_t tm[2]; +static int prating = 800, pstreak, pdelta; + +/* -------------------------------------------------------------- Input */ + +static int key(int ms) { + int32_t t = ms; + int e = eadk_event_get(&t); + return e == K_EXE ? K_OK : e; +} + +static int arrow(int e, int *i, int n, int horiz) { + if (e == (horiz ? K_LEFT : K_UP) && *i > 0) return --*i, 1; + if (e == (horiz ? K_RIGHT : K_DOWN) && *i < n - 1) return ++*i, 1; + return 0; +} + +/* ---------------------------------------------------------------- Menus */ + +static void button(int x, int y, int w, int h, const char *s, int on, int icon) { + C c = on ? GREEN : CARD; + rrect(x, y, w, h, 8, c); + if (icon) { + sprite(icon, x + 10, y + (h - 30) / 2, 0); + text(s, x + 50, y + (h - 18) / 2, 1, WHITE, c); + } else { + ctext(s, x + w / 2, y + (h - 18) / 2, 1, on ? WHITE : RGB(0xDD, 0xDC, 0xDA), c); + } +} + +/* Vertical list of buttons. Returns chosen index or -1. */ +static int list(const char *const *items, const uint8_t *icons, int n, int x, int w, int h, int gap, int *i) { + int y0 = (240 - n * h - (n - 1) * gap) / 2, redraw = 1; + for (;;) { + if (redraw) + for (int k = 0; k < n; k++) button(x, y0 + k * (h + gap), w, h, items[k], k == *i, icons ? icons[k] : 0); + int e = key(100000); + redraw = arrow(e, i, n, 0); + if (e == K_OK) return *i; + if (e == K_BACK) return -1; + } +} + +static int main_menu(int *i) { + static const char *const items[] = {"Play", "Puzzles", "2 Players"}; + static const uint8_t icons[] = {KNIGHT, QUEEN, KING | BLACK}; + fill(0, 0, 320, 240, BG); + return list(items, icons, 3, 60, 200, 56, 14, i); +} + +static void avatar(int b, int cx, int cy, int r) { + disc(cx, cy, r, BOTS[b].col); + sprite(BOTS[b].pc, cx - 15, cy - 16, 0); +} + +static int bot_select(void) { + fill(0, 0, 320, 240, BG); + int redraw = 1; + for (;;) { + if (redraw) { + for (int k = 0; k < NBOTS; k++) { + C c = k == bot ? CARD : BG; + rrect(6, k * 20, 148, 20, 6, c); + disc(20, k * 20 + 10, 5, BOTS[k].col); + text(BOTS[k].name, 32, k * 20 + 3, 0, k == bot ? WHITE : RGB(0xC8, 0xC7, 0xC5), c); + char e[6]; + itoa(BOTS[k].elo, e); + text(e, 146 - 7 * strlen(e), k * 20 + 3, 0, DIM, c); + } + fill(160, 0, 160, 240, BG); + avatar(bot, 240, 62, 40); + ctext(BOTS[bot].name, 240, 114, 1, WHITE, BG); + char e[6]; + itoa(BOTS[bot].elo, e); + ctext(e, 240, 136, 0, DIM, BG); + for (int k = 0; k < 3; k++) { + int x = 184 + k * 40; + rrect(x, 172, 32, 32, 8, k == pside ? GREEN : CARD); + sprite(KING | (k == 1 ? 16 : k == 2 ? BLACK : 0), x + 1, 173, 0); + } + } + int e = key(100000), o = bot, os = pside; + arrow(e, &bot, NBOTS, 0); + arrow(e, &pside, 3, 1); + redraw = o != bot || os != pside; + if (e == K_OK) return 1; + if (e == K_BACK) return 0; + } +} + +static int time_select(void) { + fill(0, 0, 320, 240, BG); + int redraw = 1; + for (;;) { + if (redraw) + for (int k = 0; k < 8; k++) { + int x = 12 + (k & 3) * 76, y = 64 + (k >> 2) * 64; + char s[8], *o = s; + if (TC[k].min) { + o = itoa(TC[k].min, o); + *o++ = '+'; + itoa(TC[k].inc, o); + } else { + strcpy(s, "\xE2\x88\x9E"); + } + rrect(x, y, 68, 52, 8, k == tc ? GREEN : CARD); + ctext(s, x + 34, y + 17, 1, WHITE, k == tc ? GREEN : CARD); + } + int e = key(100000), o = tc; + if (e == K_LEFT && tc & 3) tc--; + if (e == K_RIGHT && (tc & 3) < 3) tc++; + if (e == K_UP && tc > 3) tc -= 4; + if (e == K_DOWN && tc < 4) tc += 4; + redraw = o != tc; + if (e == K_OK) return 1; + if (e == K_BACK) return 0; + } +} + +/* Modal list drawn over the dimmed board. */ +static int overlay(const char *const *items, int n) { + dim(0, 0, 240, 240); + int h = n * 36 + 12, y = (240 - h) / 2, i = 0; + rrect(40, y, 160, h, 12, BG); + for (;;) { + for (int k = 0; k < n; k++) { + C c = k == i ? GREEN : BG; + rrect(46, y + 6 + k * 36, 148, 36, 8, c); + ctext(items[k], 120, y + 15 + k * 36, 1, WHITE, c); + } + int e = key(100000); + arrow(e, &i, n, 0); + if (e == K_OK || e == K_BACK) return e == K_OK ? i : -1; + } +} + +/* --------------------------------------------------------------- Panel */ + +static const uint8_t START[7] = {0, 8, 2, 2, 2, 1, 0}; +static const uint8_t WORTH[7] = {0, 1, 3, 3, 5, 9, 0}; + +static int material(int c) { + int m = 0; + for (int t = PAWN; t < KING; t++) m += WORTH[t] * P.cnt[c << 3 | t]; + return m; +} + +/* Pieces captured by side c, drawn as small icons from (x, y). */ +static void captures(int c, int y) { + int x = 244; + for (int t = QUEEN; t >= PAWN; t--) { + int n = START[t] - P.cnt[(!c) << 3 | t]; + for (int k = 0; k < n; k++, x += 7) { + if (x > 302) x = 244, y += 15; + sprite(t | (!c) << 3, x, y, 1); + } + if (n > 0) x += 6; + } + int d = material(c) - material(!c); + if (d > 0) { + char s[6] = "+"; + itoa(d, s + 1); + text(s, x > 290 ? 244 : x + 4, x > 290 ? y + 15 : y, 0, DIM, BG); + } +} + +static void fmt_clock(int32_t ms, char *o) { + if (ms < 0) ms = 0; + if (ms < 10000) { + o = itoa(ms / 1000, o); + *o++ = '.', *o++ = '0' + ms / 100 % 10, *o = 0; + } else { + int s = (ms + 999) / 1000; + o = itoa(s / 60, o); + *o++ = ':', *o++ = '0' + s % 60 / 10, *o++ = '0' + s % 10, *o = 0; + } +} + +static void clock_pill(int c, int y) { + int on = P.side == c; + C bg = on ? (tm[c] < 10000 && TC[tc].min ? RED : WHITE) : CARD, fg = on ? (bg == RED ? WHITE : INK) : DIM; + rrect(244, y, 72, 34, 8, bg); + if (TC[tc].min) { + char s[8]; + fmt_clock(tm[c], s); + ctext(s, 280, y + 8, 1, fg, bg); + } else { + sprite(KING | c << 3, 265, y + 2, 0); + } +} + +static void feedback(int ok) { + fill(244, 84, 72, 76, BG); + if (ok < 0) return; + disc(280, 120, 26, ok ? GREEN : RED); + if (ok) { + stroke(268, 121, 276, 129, 5, WHITE); + stroke(276, 129, 292, 112, 5, WHITE); + } else { + stroke(270, 110, 290, 130, 5, WHITE); + stroke(290, 110, 270, 130, 5, WHITE); + } +} + +static void puzzle_rating(void) { + char s[8]; + fill(240, 176, 80, 64, BG); + itoa(prating, s); + ctext(s, 280, 186, 1, WHITE, BG); + if (pdelta) { + char *o = s; + if (pdelta > 0) *o++ = '+'; + itoa(pdelta, o); + ctext(s, 280, 208, 0, pdelta > 0 ? GREEN : RED, BG); + } +} + +static void panel(void) { + int top = !flip; + fill(240, 0, 80, 240, BG); + if (mode == M_PUZ) { + int s = !PZ.start.side; + C bg = s ? RGB(0x10, 0x10, 0x10) : WHITE; + rrect(244, 8, 72, 34, 8, bg); + char t[10] = "Mate in "; + t[8] = '0' + PZ.mate; + ctext(PZ.mate ? t : "Best move", 280, 18, 0, s ? WHITE : INK, bg); + if (pstreak > 1) { + char k[12]; + strcpy(itoa(pstreak, k), " in a row"); + ctext(k, 280, 52, 0, DIM, BG); + } + puzzle_rating(); + return; + } + if (mode == M_BOT) { + avatar(bot, 280, 24, 18); + ctext(BOTS[bot].name, 280, 46, 1, WHITE, BG); + char e[6]; + itoa(BOTS[bot].elo, e); + ctext(e, 280, 66, 0, DIM, BG); + captures(top, 88); + } else { + clock_pill(top, 6); + clock_pill(!top, 200); + captures(top, 46); + } + captures(!top, mode == M_BOT ? 200 : 164); + if (hp) { + char n[8]; + strcpy(itoa((hp + 1) / 2, n), P.side ? "." : "..."); + ctext(n, 280, 112 - (mode == M_2P) * 8, 0, DIM, BG); + ctext(lastsan, 280, 128 - (mode == M_2P) * 8, 1, WHITE, BG); + } +} + +/* ------------------------------------------------------------ Moving */ + +static void refresh(void) { + sel = -1; + ntg = legal(tg); + incheck = in_check(); +} + +static void set_lastsan(void) { + lastsan[0] = 0; + if (!hp) return; + Move m = H[hp - 1].m; + unmake(); + san(m, lastsan); + make(m); +} + +static void do_move(Move m) { + san(m, lastsan); + animate(m); + make(m); + refresh(); + draw_board(); + panel(); +} + +static int promo_pick(int to) { + static const uint8_t order[4] = {3, 0, 2, 1}; + int X = sqx(to), Y = sqy(to), dir = Y ? -30 : 30, i = 0, c = P.side << 3; + for (;;) { + for (int k = 0; k < 4; k++) { + fill(X, Y + k * dir, 30, 30, k == i ? GREEN : WHITE); + sprite(c | (order[k] + KNIGHT), X, Y + k * dir, 0); + } + int e = key(100000); + if (e == K_UP || e == K_DOWN) i = (i + ((e == K_DOWN) == (dir > 0) ? 1 : 3)) & 3; + if (e == K_OK || e == K_BACK) { + draw_board(); + return e == K_OK ? order[i] : -1; + } + } +} + +/* Cursor handling. Returns a move, 0, or -1 when back is pressed with nothing selected. */ +static int human(int e) { + if (e <= K_RIGHT) { + int f = cur & 7, r = cur >> 4, d = flip ? -1 : 1, o = cur; + if (e == K_LEFT) f = (f - d) & 7; + if (e == K_RIGHT) f = (f + d) & 7; + if (e == K_UP) r = (r + d) & 7; + if (e == K_DOWN) r = (r - d) & 7; + cur = r * 16 + f; + draw_sq(o); + draw_sq(cur); + } else if (e == K_OK) { + if (sel >= 0) + for (int i = 0; i < ntg; i++) + if (MFROM(tg[i]) == sel && MTO(tg[i]) == cur) { + Move m = tg[i]; + if (TYPE(P.b[sel]) == PAWN && (cur >> 4 == 0 || cur >> 4 == 7)) { + int p = promo_pick(cur); + if (p < 0) return 0; + m = MOVE(sel, cur, p); + } + return m; + } + int p = P.b[cur]; + sel = p && COLOR(p) == P.side && sel != cur ? cur : -1; + draw_board(); + } else if (e == K_BACK) { + if (sel < 0) return -1; + sel = -1; + draw_board(); + } else if (e == K_UNDO) { + return -2; + } + return 0; +} + +/* ---------------------------------------------------------------- Game */ + +static int game_over(const char *title, const char *why) { + eadk_timing_msleep(400); + dim(0, 0, 240, 240); + rrect(20, 58, 200, 124, 12, BG); + ctext(title, 120, 74, 1, WHITE, BG); + ctext(why, 120, 98, 0, DIM, BG); + int i = 0; + for (;;) { + static const char *const b[2] = {"Rematch", "Menu"}; + for (int k = 0; k < 2; k++) { + C c = k == i ? GREEN : CARD; + rrect(30 + k * 94, 130, 86, 38, 8, c); + ctext(b[k], 73 + k * 94, 140, 1, WHITE, c); + } + int e = key(100000); + arrow(e, &i, 2, 1); + if (e == K_OK) return !i; + if (e == K_BACK) return 0; + } +} + +static void undo(int n) { + while (n-- && hp) unmake(); + if (mode == M_2P && autoflip) flip = P.side; + set_lastsan(); + refresh(); + draw_board(); + panel(); +} + +static void game(int md) { + static const char *const why[] = {"", "Checkmate", "Stalemate", "50-move rule", "Repetition", "Insufficient material"}; +again: + mode = md; + ch_reset(); + refresh(); + lastsan[0] = 0; + pcol = pside == 1 ? eadk_random() & 1 : pside >> 1; + flip = md == M_BOT && pcol; + int curs[2] = {0x14, 0x64}; + cur = curs[flip]; + tm[0] = tm[1] = TC[tc].min * 60000; + uint64_t last = eadk_timing_millis(); + draw_board(); + panel(); + for (;;) { + const char *title = 0, *reason = 0; + int st = status(), winner = -1; + if (st) { + reason = why[st]; + if (st == CHECKMATE) winner = !P.side; + } + if (md == M_2P && TC[tc].min && hp) { + uint64_t now = eadk_timing_millis(); + int32_t before = tm[P.side]; + tm[P.side] -= now - last; + last = now; + if (tm[P.side] <= 0) winner = !P.side, reason = "Timeout"; + if (before / 100 != tm[P.side] / 100 && (tm[P.side] < 10000 || before / 1000 != tm[P.side] / 1000)) + clock_pill(P.side, (P.side == !flip) ? 6 : 200); + } else { + last = eadk_timing_millis(); + } + if (reason) { + if (md == M_BOT) title = winner < 0 ? "Draw" : winner == pcol ? "You win" : BOTS[bot].name; + else title = winner < 0 ? "Draw" : winner ? "Black wins" : "White wins"; + static char t[12]; + if (md == M_BOT && winner >= 0 && winner != pcol) strcpy(strcpy(t, title) + strlen(title), " wins"), title = t; + if (game_over(title, reason)) goto again; + return; + } + if (md == M_BOT && P.side != pcol) { + uint64_t t0 = eadk_timing_millis(); + Move m = bot_move(BOTS[bot].depth, BOTS[bot].noise, BOTS[bot].blunder, BOTS[bot].ms); + int32_t wait = 450 - (int32_t)(eadk_timing_millis() - t0); + if (wait > 0) eadk_timing_msleep(wait); + do_move(m); + continue; + } + int e = key(md == M_2P && TC[tc].min && hp ? 50 : 100000); + int m = human(e); + if (m == -2) { + undo(md == M_BOT ? (hp >= 2) * 2 : 1); + continue; + } + if (m == -1) { + static const char *const pb[] = {"Undo", "Flip", "Resign", "Menu"}; + static const char *const p2[] = {"Undo", "Flip", "Draw", "Resign", "Menu"}; + int k = md == M_BOT ? overlay(pb, 4) : overlay(p2, 5); + if (md == M_BOT && k >= 2) k++; + if (k == 0) { + undo(md == M_BOT ? (hp >= 2) * 2 : 1); + continue; + } + if (k == 1) { + flip ^= 1; + if (md == M_2P) autoflip = !autoflip; + } + if (k == 2 || k == 3) { + title = k == 2 ? "Draw" : P.side ? "White wins" : "Black wins"; + if (md == M_BOT && k == 3) { + static char t[12]; + strcpy(strcpy(t, BOTS[bot].name) + strlen(BOTS[bot].name), " wins"); + title = t; + } + if (game_over(title, k == 2 ? "Agreement" : "Resignation")) goto again; + return; + } + if (k == 4) return; + draw_board(); + panel(); + last = eadk_timing_millis(); + continue; + } + if (m > 0) { + int mover = P.side; + curs[mover] = cur; + do_move(m); + if (md == M_2P) { + tm[mover] += TC[tc].inc * 1000; + if (autoflip && flip != P.side) { + eadk_timing_msleep(250); + flip = P.side; + cur = curs[P.side]; + draw_board(); + } + panel(); + } + } + } +} + +/* ------------------------------------------------------------- Puzzles */ + +static int spin; +void gen_hook(void) { + static uint64_t t; + uint64_t now = eadk_timing_millis(); + if (now - t < 60) return; + t = now; + for (int k = 0; k < 8; k++) { + int i = (spin - k) & 7; + static const int8_t dx[8] = {0, 11, 16, 11, 0, -11, -16, -11}, dy[8] = {-16, -11, 0, 11, 16, 11, 0, -11}; + fill(280 + dx[i] - 2, 120 + dy[i] - 2, 5, 5, mix(BG, WHITE, 32 - k * 4)); + } + spin++; +} + +static void rate(int won) { + int e = 16 + (prating - PZ.rating) / 25; + e = e < 2 ? 2 : e > 30 ? 30 : e; + pdelta = won ? 32 - e : -e; + prating += pdelta; + if (prating < 100) prating = 100; + pstreak = won ? pstreak + 1 : 0; +} + +static void puzzles(int kind) { + mode = M_PUZ; + for (;;) { + fill(240, 0, 80, 240, BG); + sel = -2; + draw_board(); + dim(0, 0, 240, 240); + puzzle_gen(kind, prating); + P = PZ.start; + hp = 0; + flip = !P.side; + cur = flip ? 0x74 : 0x04; + refresh(); + sel = -2; + lastsan[0] = 0; + pdelta = 0; + draw_board(); + panel(); + eadk_timing_msleep(500); + do_move(PZ.pre); + int step = 0, failed = 0, done = 0, rem = PZ.mate; + for (;;) { + int e = key(100000), m = 0; + if (done) { + if (e == K_OK) break; + if (e != K_BACK) continue; + m = -1; + } else { + m = human(e); + } + if (m == -1) { + static const char *const it[] = {"Hint", "Solution", "Next", "Menu"}; + int k = overlay(it, 4); + draw_board(); + if (k == 3) return; + if (k == 2) { + if (!done && !failed) rate(0); + break; + } + if (k < 0 || done) continue; + Move sm = PZ.mate ? (step ? mate_move(rem) : PZ.sol[0]) : PZ.sol[step]; + if (k == 0) { + hintsq = MFROM(sm); + draw_sq(hintsq); + continue; + } + if (!failed) failed = 1, rate(0); + m = sm; + } + if (m <= 0) continue; + hintsq = -1; + int ok; + if (PZ.mate) { + make(m); + ok = mated_within(rem - 1); + unmake(); + } else { + ok = m == PZ.sol[step]; + } + if (!ok) { + do_move(m); + badsq = MTO(m); + draw_sq(badsq); + if (!failed) failed = 1, rate(0); + feedback(0); + puzzle_rating(); + eadk_timing_msleep(700); + badsq = -1; + unmake(); + set_lastsan(); + refresh(); + draw_board(); + continue; + } + do_move(m); + step++; + if (PZ.mate ? status() == CHECKMATE : step >= PZ.nsol) { + if (!failed) rate(1); + done = 1; + sel = -2; + draw_board(); + panel(); + feedback(1); + continue; + } + feedback(1); + eadk_timing_msleep(350); + feedback(-1); + do_move(PZ.mate ? defend(--rem) : PZ.sol[step]); + step++; + } + hintsq = -1; + } +} + +static int puzzle_menu(int *i) { + static const char *const items[] = {"Mix", "Mate in 1", "Mate in 2", "Mate in 3", "Best move"}; + fill(0, 0, 320, 240, BG); + return list(items, 0, 5, 70, 180, 38, 8, i); +} + +int main(void) { + ch_init(); + int m = 0, pk = 0; + for (;;) { + if (main_menu(&m) < 0) return 0; + if (m == 0 && bot_select()) game(M_BOT); + if (m == 1 && puzzle_menu(&pk) >= 0) puzzles(pk); + if (m == 2 && time_select()) game(M_2P); + } +} diff --git a/src/sprites.h b/src/sprites.h new file mode 100644 index 0000000..17bfbc7 --- /dev/null +++ b/src/sprites.h @@ -0,0 +1,44 @@ +/* Generated by tools/pieces.py: 3 bits per pixel, 8 pixels per 3 bytes. */ +static const struct { uint16_t off; uint8_t x, y, w, h; } SPR[6] = { + {0, 7, 4, 136, 23}, + {184, 6, 3, 18, 24}, + {616, 7, 2, 16, 25}, + {1016, 6, 3, 137, 24}, + {1232, 3, 3, 140, 24}, + {1520, 6, 2, 137, 25}, +}; +static const uint8_t SPRD[658] = { + 0,0,108,0,64,201,0,32,39,0,168,36,0,230,36,0,230,36,0,168, + 36,0,32,37,0,0,73,0,0,73,0,64,217,0,32,39,0,48,37,0, + 64,37,0,32,39,0,168,36,0,230,36,0,101,219,156,36,73,178,109,219, + 74,146,36,178,109,219,220,182,109,0,0,0,36,0,0,0,0,128,163,6, + 0,0,0,0,160,36,17,0,0,0,0,230,196,18,1,0,0,48,37,73, + 44,0,0,0,234,77,146,104,0,0,80,105,147,36,209,0,0,114,146,36, + 73,34,0,152,146,36,73,146,136,0,148,36,73,146,36,30,48,53,137,228, + 36,73,4,168,143,180,41,73,18,17,178,52,96,74,146,68,4,53,0,152, + 147,36,17,1,0,192,148,36,73,52,0,0,168,36,73,18,15,0,64,37, + 73,146,68,3,0,204,73,146,36,17,1,0,114,146,36,73,68,0,156,36, + 73,146,36,13,144,36,73,146,36,73,2,148,36,73,146,36,137,8,217,182, + 109,219,182,45,130,219,182,109,219,182,13,0,0,96,3,0,0,0,0,72, + 18,0,0,0,0,40,17,0,0,0,0,200,22,0,0,0,0,80,34,0, + 0,0,0,76,26,0,0,0,64,201,150,8,0,0,40,39,137,69,0,0, + 228,36,105,44,0,0,149,36,109,34,2,192,156,228,77,226,1,128,156,164, + 79,98,1,128,146,188,73,18,1,192,156,36,73,226,1,192,148,36,73,162, + 1,0,148,36,73,34,0,0,166,36,73,52,0,0,32,217,182,4,0,0, + 38,73,146,52,0,0,38,219,182,53,0,192,36,73,146,164,1,156,156,36, + 73,98,141,146,147,36,73,18,75,178,109,219,182,109,91,219,182,109,219,182, + 109,0,73,128,4,38,17,19,48,139,152,129,89,155,12,204,177,29,96,178, + 109,3,156,36,9,0,230,36,0,48,39,1,128,57,9,0,204,73,0,96, + 78,2,0,115,18,0,152,147,0,192,148,4,0,166,36,0,56,73,2,40, + 73,18,64,37,73,192,73,146,4,73,146,36,42,73,146,80,182,109,27,219, + 182,109,0,0,0,0,8,0,0,9,76,0,0,74,131,2,0,152,35,76, + 152,134,73,2,70,69,3,7,128,84,52,96,0,136,105,0,54,96,0,9, + 96,2,6,64,3,166,97,0,164,97,18,5,96,210,38,75,0,168,88,78, + 2,0,74,146,36,0,32,39,73,2,0,115,146,36,0,64,253,255,15,0, + 80,219,182,0,0,37,73,2,0,144,36,73,0,48,73,146,4,0,114,146, + 36,0,32,219,182,13,0,220,182,109,0,0,0,3,0,0,16,0,0,155, + 0,0,148,4,0,0,41,0,0,0,1,0,0,8,0,0,64,192,36,73, + 194,228,88,254,148,36,201,229,36,73,174,36,73,114,57,73,146,79,73,146, + 28,114,146,228,160,146,36,1,166,36,9,64,181,109,129,201,73,2,76,146, + 36,76,146,36,65,78,146,4,178,109,219,224,182,109,3,0,0,0, +}; diff --git a/test/perft.c b/test/perft.c new file mode 100644 index 0000000..4ec4a20 --- /dev/null +++ b/test/perft.c @@ -0,0 +1,105 @@ +/* Host-side engine tests: perft node counts on standard positions, + * incremental hash/eval consistency, and a quick search benchmark. */ +#include "../src/chess.c" +#include +#include +#include + +uint64_t eadk_timing_millis() { + struct timespec ts; + clock_gettime(CLOCK_MONOTONIC, &ts); + return ts.tv_sec * 1000ull + ts.tv_nsec / 1000000; +} +uint32_t eadk_random() { return (uint32_t)rand(); } + +static void set_fen(const char *f) { + memset(&P, 0, sizeof P); + hp = 0; + for (int r = 7, c = 0; *f && *f != ' '; f++) { + if (*f == '/') r--, c = 0; + else if (*f >= '1' && *f <= '8') c += *f - '0'; + else { + const char *pcs = " PNBRQK pnbrqk", *q = strchr(pcs, *f); + put(r * 16 + c++, q - pcs); + } + } + f++; + P.side = *f == 'b'; + f += 2; + for (; *f && *f != ' '; f++) P.castle |= *f == 'K' ? 1 : *f == 'Q' ? 2 : *f == 'k' ? 4 : *f == 'q' ? 8 : 0; + f++; + P.ep = *f == '-' ? NOSQ : (f[1] - '1') * 16 + f[0] - 'a'; + P.hash ^= Zc[P.castle]; + if (P.ep != NOSQ) P.hash ^= Zep[P.ep & 7]; + if (P.side) P.hash ^= Zside; +} + +static int consistent(void) { + Pos s = P; + uint8_t b[128]; + memcpy(b, P.b, 128); + memset(&P, 0, sizeof P); + for (int i = 0; i < 128; i++) + if (!OFF(i) && b[i]) put(i, b[i]); + P.side = s.side, P.castle = s.castle, P.ep = s.ep, P.fifty = s.fifty; + P.hash ^= Zc[P.castle]; + if (P.ep != NOSQ) P.hash ^= Zep[P.ep & 7]; + if (P.side) P.hash ^= Zside; + int ok = P.hash == s.hash && P.mg == s.mg && P.eg == s.eg && P.phase == s.phase && + !memcmp(P.cnt, s.cnt, 16) && P.king[0] == s.king[0] && P.king[1] == s.king[1]; + P = s; + return ok; +} + +static uint64_t perft(int d) { + Move ml[256]; + int n = legal(ml); + if (d == 1) return n; + uint64_t c = 0; + for (int i = 0; i < n; i++) { + make(ml[i]); + if (d == 2 && !consistent()) { + printf("inconsistent incremental state\n"); + exit(1); + } + c += perft(d - 1); + unmake(); + } + return c; +} + +int main(void) { + static const struct { const char *fen; int d; uint64_t n; } T[] = { + {"rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq -", 5, 4865609}, + {"r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq -", 4, 4085603}, + {"8/2p5/3p4/KP5r/1R3p1k/8/4P1P1/8 w - -", 5, 674624}, + {"r3k2r/Pppp1ppp/1b3nbN/nP6/BBP1P3/q4N2/Pp1P2PP/R2Q1RK1 w kq -", 4, 422333}, + {"rnbq1k1r/pp1Pbppp/2p5/8/2B5/8/PPP1NnPP/RNBQK2R w KQ -", 4, 2103487}, + {"r4rk1/1pp1qppp/p1np1n2/2b1p1B1/2B1P1b1/P1NP1N2/1PP1QPPP/R4RK1 w - -", 4, 3894594}, + }; + ch_init(); + int fail = 0; + for (unsigned i = 0; i < sizeof T / sizeof *T; i++) { + set_fen(T[i].fen); + uint64_t n = perft(T[i].d); + printf("perft %u: %llu %s\n", i, (unsigned long long)n, n == T[i].n ? "ok" : "FAIL"); + fail |= n != T[i].n; + } + static const char *bench[] = { + "r1bqkbnr/pppp1ppp/2n5/4p3/4P3/5N2/PPPP1PPP/RNBQKB1R w KQkq -", + "r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq -", + "6k1/5ppp/8/8/8/8/5PPP/3R2K1 w - -", + }; + for (unsigned i = 0; i < 3; i++) { + set_fen(bench[i]); + uint64_t t = eadk_timing_millis(); + int s; + Move m = think(7, 100000, &s); + t = eadk_timing_millis() - t; + char buf[16]; + san(m, buf); + printf("bench %u: %s score %d depth %d nodes %u in %llums\n", i, buf, s, think_depth, nodes, + (unsigned long long)t); + } + return fail; +} diff --git a/tools/icon.py b/tools/icon.py new file mode 100644 index 0000000..6b9a53c --- /dev/null +++ b/tools/icon.py @@ -0,0 +1,39 @@ +#!/usr/bin/env python3 +"""Render the home screen icon (src/icon.png, 55x56): a knight on a green tile.""" +import struct, sys, zlib, os +sys.path.insert(0, os.path.dirname(__file__)) +import pieces + +W, H, SS = 55, 56, 6 +GREEN, BODY, INK = (0x81, 0xB6, 0x4C), (0xF9, 0xF9, 0xF7), (0x3A, 0x3A, 0x3A) +tile = pieces.box(0, 0, W, H, 10) +body, details, eye = pieces.knight() +scale, ox, oy = 1.6, 3.5, 3.5 # icon px -> piece space + + +def px(x, y): + acc = [0, 0, 0] + for sy in range(SS): + for sx in range(SS): + X, Y = x + (sx + 0.5) / SS, y + (sy + 0.5) / SS + c = (255, 255, 255) + if tile(X, Y) < 0: + c = GREEN + u, v = (X - ox) / scale + 0.8, (Y - oy) / scale + d = body(u, v) + if d < 0: + ink = d > -1.0 or eye(u, v) < 0 or any(g(u, v) < 0.5 for g in details) + c = INK if ink else BODY + acc = [a + b for a, b in zip(acc, c)] + return tuple(round(a / SS / SS) for a in acc) + + +raw = b''.join(b'\0' + bytes(v for x in range(W) for v in px(x, y)) for y in range(H)) + + +def chunk(t, d): + return struct.pack('>I', len(d)) + t + d + struct.pack('>I', zlib.crc32(t + d)) + + +open('src/icon.png', 'wb').write(b'\x89PNG\r\n\x1a\n' + chunk(b'IHDR', struct.pack('>IIBBBBB', W, H, 8, 2, 0, 0, 0)) + + chunk(b'IDAT', zlib.compress(raw, 9)) + chunk(b'IEND', b'')) diff --git a/tools/pieces.py b/tools/pieces.py new file mode 100644 index 0000000..cea794a --- /dev/null +++ b/tools/pieces.py @@ -0,0 +1,284 @@ +#!/usr/bin/env python3 +"""Rasterize the chess piece set into compact sprites (src/sprites.h). + +Pieces are described as signed distance fields and rendered with 8x8 +supersampling into a 30x30 cell. Each pixel is quantized to one of eight +classes (3 bits): + 0 transparent 1 body 2 outline 3 outline 60% over background + 4 outline 30% 5 inner detail 6 outline/body 7 detail/body +Symmetric pieces only store their left half. + + python3 tools/pieces.py # writes src/sprites.h + python3 tools/pieces.py prev.png # also writes a zoomed preview +""" +import math, struct, sys, zlib + +N = 30 # cell size +SS = 8 # supersampling per axis +OUTLINE = 1.2 # outline width in pixels +DETAIL = 0.55 # half width of inner detail strokes + + +def length(x, y): + return math.sqrt(x * x + y * y) + + +def circle(cx, cy, r): + return lambda x, y: length(x - cx, y - cy) - r + + +def ellipse(cx, cy, rx, ry): + m = min(rx, ry) + return lambda x, y: (length((x - cx) / rx, (y - cy) / ry) - 1) * m + + +def box(x0, y0, x1, y1, r=0.0): + cx, cy, hx, hy = (x0 + x1) / 2, (y0 + y1) / 2, (x1 - x0) / 2, (y1 - y0) / 2 + + def f(x, y): + qx, qy = abs(x - cx) - hx + r, abs(y - cy) - hy + r + return length(max(qx, 0), max(qy, 0)) + min(max(qx, qy), 0) - r + return f + + +def poly(pts): + def f(x, y): + d = 1e9 + s = 1 + n = len(pts) + for i in range(n): + ax, ay = pts[i] + bx, by = pts[i - 1] + ex, ey = bx - ax, by - ay + wx, wy = x - ax, y - ay + t = max(0, min(1, (wx * ex + wy * ey) / (ex * ex + ey * ey))) + d = min(d, length(wx - ex * t, wy - ey * t)) + c1, c2, c3 = y >= ay, y < by, ex * wy > ey * wx + if (c1 and c2 and c3) or (not c1 and not c2 and not c3): + s = -s + return s * d + return f + + +def seg(ax, ay, bx, by): + def f(x, y): + ex, ey, wx, wy = bx - ax, by - ay, x - ax, y - ay + t = max(0, min(1, (wx * ex + wy * ey) / (ex * ex + ey * ey))) + return length(wx - ex * t, wy - ey * t) + return f + + +def union(*fs): + return lambda x, y: min(f(x, y) for f in fs) + + +def smooth_union(k, *fs): + def f(x, y): + d = fs[0](x, y) + for g in fs[1:]: + e = g(x, y) + h = max(0, min(1, 0.5 + 0.5 * (e - d) / k)) + d = e * (1 - h) + d * h - k * h * (1 - h) + return d + return f + + +def sub(a, b): + return lambda x, y: max(a(x, y), -b(x, y)) + + +def mirror(pts): + """Close a left-half outline (top to bottom) into a symmetric polygon.""" + return pts + [(N - x, y) for x, y in reversed(pts)] + + +# ---------------------------------------------------------------- pieces +def pawn(): + body = smooth_union(1.2, + circle(15, 8.9, 4.7), + poly(mirror([(12.4, 13.2), (10.6, 16.2), (11.9, 16.6), (9.4, 22.8)])), + box(7.0, 22.2, 23.0, 26.8, 1.6)) + return body, [] + + +def rook(): + top = sub(box(8.2, 3.6, 21.8, 9.6, 0.6), + union(box(11.4, 2, 13.4, 6.4), box(16.6, 2, 18.6, 6.4))) + body = union(top, + poly(mirror([(10.2, 9), (10.6, 20.5)])), + box(8.6, 19.8, 21.4, 23.2, 0.6), + box(6.8, 22.6, 23.2, 26.8, 1.2)) + details = [seg(9.5, 9.6, 20.5, 9.6), seg(9.8, 20.2, 20.2, 20.2), seg(8, 23.2, 22, 23.2)] + return body, details + + +def bishop(): + mitre = smooth_union(0.8, + ellipse(15, 14.2, 5.9, 6.9), + poly([(15, 6.0), (19.9, 12), (10.1, 12)])) + body = union( + circle(15, 4.6, 2.2), + mitre, + box(10.4, 19.6, 19.6, 22.6, 0.8), + poly(mirror([(9.5, 22), (7.4, 26.8)])), + box(7, 23.5, 23, 26.8, 1.2)) + details = [seg(16.6, 10.6, 14.2, 14.4), seg(11.4, 19.7, 18.6, 19.7), seg(9.6, 22.8, 20.4, 22.8)] + return body, details + + +def queen(): + tips = [(5.6, 9.0), (10.2, 6.6), (15, 5.6), (19.8, 6.6), (24.4, 9.0)] + crown = poly([(8.4, 22.6), (5.4, 10.6), (10.6, 15.0), (10.0, 8.2), (13.9, 14.2), (15, 7.2), + (16.1, 14.2), (20.0, 8.2), (19.4, 15.0), (24.6, 10.6), (21.6, 22.6)]) + body = union(crown, *[circle(x, y, 2.0) for x, y in tips], + box(8.0, 20.0, 22.0, 23.4, 0.8), + box(7, 23, 23, 26.8, 1.2)) + details = [seg(9.0, 20.2, 21.0, 20.2), seg(8.6, 23.3, 21.4, 23.3)] + return body, details + + +def king(): + lobes = smooth_union(1.4, + circle(10.6, 14.6, 4.6), + circle(19.4, 14.6, 4.6), + ellipse(15, 13.6, 3.2, 4.2), + poly(mirror([(7.2, 15.5), (9.4, 22.6)]))) + cross = union(box(14, 2.4, 16, 10.2, 0.4), box(11.8, 4.2, 18.2, 6.2, 0.4)) + body = union(lobes, cross, + box(8.4, 20.4, 21.6, 23.4, 0.8), + box(7, 23, 23, 26.8, 1.2)) + details = [seg(15, 10.4, 15, 17.5), seg(9.4, 20.4, 20.6, 20.4), seg(8.6, 23.3, 21.4, 23.3)] + return body, details + + +def knight(): + head = poly([ + (22.2, 23.2), (22.6, 18.5), (22.2, 13.8), (20.8, 9.8), (18.4, 6.6), (15.8, 5.2), + (15.2, 2.8), (13.4, 4.8), (11.8, 3.6), (11.4, 6.4), (8.6, 9.6), (6.2, 13.6), + (5.8, 15.6), (7.2, 17.0), (9.4, 16.2), (11.2, 15.2), (13.6, 14.2), + (13.4, 16.4), (10.6, 19.6), (9.6, 23.2)]) + body = smooth_union(0.8, head, box(7, 22.6, 23.2, 26.8, 1.2)) + details = [seg(8.8, 23.2, 21.6, 23.2), seg(7.4, 14.4, 8.4, 13.8)] + eye = circle(12.2, 9.2, 1.0) + return body, details, eye + + +def render(shape): + body, details = shape[0], shape[1] + eye = shape[2] if len(shape) > 2 else None + cls = [] + for py in range(N): + row = [] + for px in range(N): + inside = ink = det = 0 + for sy in range(SS): + for sx in range(SS): + x = px + (sx + 0.5) / SS + y = py + (sy + 0.5) / SS + d = body(x, y) + if d < 0: + inside += 1 + if d > -OUTLINE: + ink += 1 + elif any(g(x, y) < DETAIL for g in details) or (eye and eye(x, y) < 0): + det += 1 + a = inside / (SS * SS) + if a < 0.2: + c = 0 + elif a < 0.5: + c = 4 + elif a < 0.85: + c = 3 + else: + fi, fd = ink / inside, det / inside + c = 2 if fi > 0.65 else 6 if fi > 0.3 else 5 if fd > 0.55 else 7 if fd > 0.2 else 1 + row.append(c) + cls.append(row) + return cls + + +PIECES = [('pawn', pawn), ('knight', knight), ('bishop', bishop), + ('rook', rook), ('queen', queen), ('king', king)] + + +def bounds(img): + ys = [y for y in range(N) if any(img[y])] + xs = [x for x in range(N) if any(img[y][x] for y in range(N))] + return min(xs), min(ys), max(xs), max(ys) + + +def symmetric(img): + return all(img[y][x] == img[y][N - 1 - x] for y in range(N) for x in range(N)) + + +def main(): + imgs = [(name, render(f())) for name, f in PIECES] + out, bits, meta, off = [], [], [], 0 + for name, img in imgs: + x0, y0, x1, y1 = bounds(img) + sym = symmetric(img) + if sym: + x0 = min(x0, N - 1 - x1) + w = N // 2 - x0 + else: + w = x1 - x0 + 1 + h = y1 - y0 + 1 + px = [img[y][x] for y in range(y0, y1 + 1) for x in range(x0, x0 + w)] + bits.extend(px) + meta.append((off, x0, y0, w, h, sym)) + off += len(px) + for i in range(0, len(bits), 8): + v = 0 + for j, c in enumerate(bits[i:i + 8]): + v |= c << (3 * j) + out += [v & 255, (v >> 8) & 255, v >> 16] + out.append(0) # padding: the decoder reads two bytes at a time + with open('src/sprites.h', 'w') as f: + f.write('/* Generated by tools/pieces.py: 3 bits per pixel, 8 pixels per 3 bytes. */\n') + f.write('static const struct { uint16_t off; uint8_t x, y, w, h; } SPR[6] = {\n') + for off, x0, y0, w, h, sym in meta: + f.write(' {%d, %d, %d, %d, %d},\n' % (off, x0, y0, w | (0x80 if sym else 0), h)) + f.write('};\nstatic const uint8_t SPRD[%d] = {\n' % len(out)) + for i in range(0, len(out), 20): + f.write(' ' + ','.join(str(v) for v in out[i:i + 20]) + ',\n') + f.write('};\n') + print('sprite bytes:', len(out), file=sys.stderr) + if len(sys.argv) > 1: + preview(imgs, sys.argv[1]) + + +def shade(c, bg, color): + ink = (0x3A, 0x3A, 0x3A) if color == 0 else (0x14, 0x13, 0x12) + body = (0xF8, 0xF8, 0xF6) if color == 0 else (0x52, 0x4F, 0x4D) + det = ink if color == 0 else (0xA8, 0xA5, 0xA2) + mix = lambda a, b, t: tuple(round(x * (1 - t) + y * t) for x, y in zip(a, b)) + return [bg, body, ink, mix(bg, ink, 0.6), mix(bg, ink, 0.3), det, mix(body, ink, 0.5), mix(body, det, 0.5)][c] + + +def preview(imgs, path, Z=4): + light, dark = (0xEB, 0xEC, 0xD0), (0x77, 0x95, 0x56) + W, Hh = 6 * N * Z, 2 * N * Z + 2 * N + 8 + pix = [[(40, 40, 40)] * W for _ in range(Hh)] + for color in range(2): + for i, (name, img) in enumerate(imgs): + bg = light if (i + color) % 2 == 0 else dark + for y in range(N): + for x in range(N): + rgb = shade(img[y][x], bg, color) + for dy in range(Z): + for dx in range(Z): + pix[color * N * Z + y * Z + dy][i * N * Z + x * Z + dx] = rgb + for k in range(2): + bg2 = light if (i + color + k) % 2 == 0 else dark + pix[2 * N * Z + 8 + color * N + y][k * 6 * N + i * N + x] = shade(img[y][x], bg2, color) + raw = b''.join(b'\0' + bytes(v for p in row for v in p) for row in pix) + + def chunk(t, d): + return struct.pack('>I', len(d)) + t + d + struct.pack('>I', zlib.crc32(t + d)) + png = b'\x89PNG\r\n\x1a\n' + chunk(b'IHDR', struct.pack('>IIBBBBB', W, Hh, 8, 2, 0, 0, 0)) + png += chunk(b'IDAT', zlib.compress(raw)) + chunk(b'IEND', b'') + open(path, 'wb').write(png) + + +if __name__ == '__main__': + main() From b53203afbd29291589ddd753893bed1c27a57763 Mon Sep 17 00:00:00 2001 From: Mason Chen <124631707+Mason363@users.noreply.github.com> Date: Fri, 25 Sep 2026 21:29:07 +0000 Subject: [PATCH 2/6] Tune bot ladder, thinking indicator, README, CI build Claude-Session: https://claude.ai/code/session_015sUPTASWW2uFfWAa7KFy6o --- .github/workflows/build.yml | 18 ++++++++ Makefile | 7 ++- README.md | 84 ++++++++++++++++++++++++++++++++++++ docs/bots.png | Bin 0 -> 8127 bytes docs/clock.png | Bin 0 -> 6148 bytes docs/game.png | Bin 0 -> 7371 bytes docs/menu.png | Bin 0 -> 4758 bytes docs/puzzle.png | Bin 0 -> 4922 bytes src/chess.c | 11 +++-- src/main.c | 69 ++++++++++++++++------------- test/perft.c | 1 + 11 files changed, 154 insertions(+), 36 deletions(-) create mode 100644 .github/workflows/build.yml create mode 100644 README.md create mode 100644 docs/bots.png create mode 100644 docs/clock.png create mode 100644 docs/game.png create mode 100644 docs/menu.png create mode 100644 docs/puzzle.png diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..f02a2b5 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,18 @@ +name: Build +on: [push, pull_request] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Install ARM toolchain + run: sudo apt-get update && sudo apt-get install -y gcc-arm-none-eabi libnewlib-arm-none-eabi + - name: Engine tests + run: make test + - name: Build + run: make build check + - uses: actions/upload-artifact@v4 + with: + name: chess.nwa + path: output/chess.nwa diff --git a/Makefile b/Makefile index a325168..41ae0d3 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,7 @@ # NumChess — chess for the NumWorks calculator. # make build output/chess.nwa # make run install on a connected calculator +# make check link the app like the calculator does (output/chess.bin) # make test run engine tests on the host Q ?= @ CC = arm-none-eabi-gcc @@ -15,13 +16,17 @@ LDFLAGS = -Wl,--relocatable -nostartfiles --specs=nano.specs LDFLAGS += -Wl,-e,main -Wl,-u,eadk_app_name -Wl,-u,eadk_app_icon -Wl,-u,eadk_api_level LDFLAGS += -Wl,--gc-sections -flinker-output=nolto-rel -.PHONY: build run test clean +.PHONY: build run check test clean build: $(BUILD_DIR)/chess.nwa run: $(BUILD_DIR)/chess.nwa @echo "INSTALL $<" $(Q) $(NWLINK) install-nwa $< +check: $(BUILD_DIR)/chess.nwa + $(Q) $(NWLINK) nwa-bin $< $(BUILD_DIR)/chess.bin + @echo "BIN $(BUILD_DIR)/chess.bin: $$(wc -c < $(BUILD_DIR)/chess.bin) bytes" + $(BUILD_DIR)/chess.nwa: $(SRC) src/chess.h src/sprites.h $(BUILD_DIR)/icon.o @echo "LD $@" $(Q) $(CC) $(CFLAGS) $(LDFLAGS) $(SRC) $(BUILD_DIR)/icon.o -o $@ diff --git a/README.md b/README.md new file mode 100644 index 0000000..d2724fd --- /dev/null +++ b/README.md @@ -0,0 +1,84 @@ +# NumChess + +Chess for the NumWorks calculator, built for the **N0120**. It's a native app of about 19 KB: bots, endless puzzles and a two-player clock. + +

+ Menu + Game against a bot + Bot selection + Mate in 2 puzzle + Two player clock +

+ +## Features + +**Play** against 12 bots, most of them at the beginner end: + +| Bot | Elo | | Bot | Elo | +|---|---|---|---|---| +| Pip | 150 | | Nova | 1050 | +| Milo | 300 | | Hugo | 1200 | +| Luna | 450 | | Vera | 1400 | +| Otto | 600 | | Rex | 1600 | +| Ivy | 750 | | Zara | 1850 | +| Finn | 900 | | Atlas | 2100 | + +You can play White, Black, or a random color. Bot-vs-bot matches confirm that each bot beats the one below it. The Elo numbers themselves are rough estimates. + +**Puzzles** never run out: each one is generated on the calculator from a fresh game, so no puzzle database is stored. + +* Modes: *Mix*, *Mate in 1*, *Mate in 2*, *Mate in 3* and *Best move* (win material with the only good move, sometimes several moves deep). +* A rating adapts to your results and picks puzzles near your level, and a streak counts your solves in a row. +* The opponent defends as stubbornly as possible, and any move that forces the mate counts as correct. +* The pause menu offers *Hint* and *Solution*. + +**2 Players** over the board, with a chess clock (1+0, 3+0, 3+2, 5+0, 10+0, 15+10, 30+0 or no clock). The board turns to face whoever is to move. + +**Everywhere:** + +* Legal-move dots and capture rings. +* Last-move and check highlights. +* Animated moves. +* A promotion picker. +* Captured pieces with the material difference. +* Undo, flip, resign and draw. +* Every draw rule: stalemate, threefold repetition, 50 moves and insufficient material. + +## Controls + +| Key | Action | +|---|---| +| Arrows | Move the cursor (wraps around the edges) | +| OK / EXE | Select a piece, play a move | +| Back | Deselect, or open the pause menu | +| ⌫ | Undo | + +## Install + +1. Get `chess.nwa`: download it from the latest [Build](../../actions) run, or build it yourself (see below). +2. Open [my.numworks.com/apps](https://my.numworks.com/apps), connect the calculator and upload the file. + +Or run `make run` with the calculator plugged in. + +## Build + +Requirements: the ARM embedded toolchain (`arm-none-eabi-gcc`) and Node.js, which `make` uses to fetch NumWorks' `nwlink` SDK. + +```sh +make # output/chess.nwa +make check # link it the way the calculator does and print the installed size +make test # engine tests on the host (perft on six positions, hashing, search benchmark) +``` + +## How it stays small + +* **Engine** (`src/chess.c`): + * 0x88 board with incremental hashing and evaluation. + * PeSTO piece-square tables, mirrored and packed into 384 bytes. + * Alpha-beta search with PVS, a transposition table, null-move pruning, LMR, killer moves and history heuristics. + * A mate solver. + * Bots get weaker through search depth, evaluation noise and occasional random moves. +* **Puzzles** are found by playing lopsided games between a careful side and a blunder-prone side, then keeping positions that have a forced mate or a single winning move. +* **Pieces** are signed-distance shapes rendered by `tools/pieces.py` to 3-bit anti-aliased sprites. The symmetric pieces store only their left half, so the whole set takes 658 bytes. +* **Text** uses the calculator's built-in fonts, and small replacements stand in for the libc routines. +* The app is built with `-Os` and LTO and uses no heap. diff --git a/docs/bots.png b/docs/bots.png new file mode 100644 index 0000000000000000000000000000000000000000..fc798b895411effb78088d29f9c3da2e84443b91 GIT binary patch literal 8127 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 P06y2R>1&p1SO@(t*d7rS literal 0 HcmV?d00001 diff --git a/docs/clock.png b/docs/clock.png new file mode 100644 index 0000000000000000000000000000000000000000..2146dfeb6982d2eb15093eceeee78654c385690c GIT binary patch literal 6148 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 literal 0 HcmV?d00001 diff --git a/docs/game.png b/docs/game.png new file mode 100644 index 0000000000000000000000000000000000000000..fdf1e06a17a5632819a137c28d8644fb2a995f0a GIT binary patch literal 7371 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 C@`-!^ literal 0 HcmV?d00001 diff --git a/docs/menu.png b/docs/menu.png new file mode 100644 index 0000000000000000000000000000000000000000..f0dbccd8f64e76be56334a70a448514641d87ff8 GIT binary patch literal 4758 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 UlLx;A^k*0#7@X2C)U^-)4}R{ deadline) stopped = 1; + if ((++nodes & 1023) == 0) { + ui_tick(); + if (eadk_timing_millis() > deadline) stopped = 1; + } return stopped; } @@ -655,8 +660,6 @@ Move defend(int n) { Puzzle PZ; #define PMARGIN 180 -void gen_hook(void); - static int is_quiet(Move m) { return !P.b[MTO(m)] && !gives_check(m); } /* Is m the only good move here (every other move scores at least PMARGIN less)? */ @@ -719,7 +722,7 @@ void puzzle_gen(int kind, int target) { return; } } - gen_hook(); + ui_tick(); make(bot_move(2, 40, 0, 60000)); } else { think(2, 60000, &s); diff --git a/src/main.c b/src/main.c index 8bb7ee3..0fb5cd0 100644 --- a/src/main.c +++ b/src/main.c @@ -187,7 +187,7 @@ static void draw_sq(int s) { for (int x = 0; x < 30; x++) { C c = base; int dx = 2 * x - 29, dy = 2 * y - 29, d2 = dx * dx + dy * dy; - if (chk && d2 < 1100) c = mix(c, RED, (1100 - d2) * 30 / 1100); + if (chk && d2 < 1300) c = mix(c, RED, d2 < 500 ? 30 : (1300 - d2) * 30 / 800); if (mark == 2 && d2 > 600 && d2 < 900) c = mix(c, 0, 8); if (pc) c = shade(pc, x, y, c); if (mark == 1 && d2 < 150) c = mix(c, 0, d2 < 118 ? 8 : 4); @@ -239,12 +239,12 @@ static const struct { } BOTS[] = { {"Pip", PAWN, 1, 250, 45, 150, 0, RGB(0x8B, 0xC3, 0x4A)}, {"Milo", PAWN, 1, 200, 28, 300, 0, RGB(0x4C, 0xAF, 0x50)}, - {"Luna", KNIGHT, 1, 150, 18, 450, 0, RGB(0x26, 0xA6, 0x9A)}, - {"Otto", KNIGHT, 2, 120, 12, 600, 0, RGB(0x29, 0xB6, 0xF6)}, - {"Ivy", BISHOP, 2, 90, 8, 750, 0, RGB(0x42, 0x8D, 0xF5)}, + {"Luna", KNIGHT, 1, 130, 14, 450, 0, RGB(0x26, 0xA6, 0x9A)}, + {"Otto", KNIGHT, 2, 110, 10, 600, 0, RGB(0x29, 0xB6, 0xF6)}, + {"Ivy", BISHOP, 2, 85, 7, 750, 0, RGB(0x42, 0x8D, 0xF5)}, {"Finn", BISHOP, 2, 65, 5, 900, 0, RGB(0x5C, 0x6B, 0xC0)}, - {"Nova", ROOK, 3, 45, 3, 1050, 0, RGB(0x7E, 0x57, 0xC2)}, - {"Hugo", ROOK, 3, 30, 2, 1200, 0, RGB(0xAB, 0x47, 0xBC)}, + {"Nova", ROOK, 3, 55, 3, 1050, 0, RGB(0x7E, 0x57, 0xC2)}, + {"Hugo", ROOK, 4, 40, 2, 1200, 0, RGB(0xAB, 0x47, 0xBC)}, {"Vera", QUEEN, 4, 20, 1, 1400, 0, RGB(0xEC, 0x40, 0x7A)}, {"Rex", QUEEN, 5, 10, 0, 1600, 800, RGB(0xEF, 0x53, 0x50)}, {"Zara", KING, 7, 0, 0, 1850, 900, RGB(0xFF, 0x70, 0x43)}, @@ -256,7 +256,7 @@ static const struct { uint8_t min, inc; } TC[] = {{1, 0}, {3, 0}, {3, 2}, {5, 0} static int bot = 4, pside = 0, pcol, tc = 3, autoflip = 1; static int32_t tm[2]; -static int prating = 800, pstreak, pdelta; +static int prating = 800, pstreak, pdelta, spin_mode, spin; /* -------------------------------------------------------------- Input */ @@ -278,8 +278,15 @@ static void button(int x, int y, int w, int h, const char *s, int on, int icon) C c = on ? GREEN : CARD; rrect(x, y, w, h, 8, c); if (icon) { - sprite(icon, x + 10, y + (h - 30) / 2, 0); - text(s, x + 50, y + (h - 18) / 2, 1, WHITE, c); + int ty = y + (h - 40) / 2; + rrect(x + 8, ty, 40, 40, 9, SQ_L); + if (icon == KING) { + sprite(KING, x + 6, ty + 5, 0); + sprite(KING | BLACK, x + 20, ty + 5, 0); + } else { + sprite(icon, x + 13, ty + 5, 0); + } + text(s, x + 60, y + (h - 18) / 2, 1, WHITE, c); } else { ctext(s, x + w / 2, y + (h - 18) / 2, 1, on ? WHITE : RGB(0xDD, 0xDC, 0xDA), c); } @@ -300,7 +307,7 @@ static int list(const char *const *items, const uint8_t *icons, int n, int x, in static int main_menu(int *i) { static const char *const items[] = {"Play", "Puzzles", "2 Players"}; - static const uint8_t icons[] = {KNIGHT, QUEEN, KING | BLACK}; + static const uint8_t icons[] = {KNIGHT | BLACK, QUEEN | BLACK, KING}; fill(0, 0, 320, 240, BG); return list(items, icons, 3, 60, 200, 56, 14, i); } @@ -656,16 +663,18 @@ static void game(int md) { last = eadk_timing_millis(); } if (reason) { - if (md == M_BOT) title = winner < 0 ? "Draw" : winner == pcol ? "You win" : BOTS[bot].name; - else title = winner < 0 ? "Draw" : winner ? "Black wins" : "White wins"; + if (md == M_BOT) title = winner < 0 ? "Draw" : winner == pcol ? "You won" : BOTS[bot].name; + else title = winner < 0 ? "Draw" : winner ? "Black won" : "White won"; static char t[12]; - if (md == M_BOT && winner >= 0 && winner != pcol) strcpy(strcpy(t, title) + strlen(title), " wins"), title = t; + if (md == M_BOT && winner >= 0 && winner != pcol) strcpy(strcpy(t, title) + strlen(title), " won"), title = t; if (game_over(title, reason)) goto again; return; } if (md == M_BOT && P.side != pcol) { uint64_t t0 = eadk_timing_millis(); + spin_mode = 2; Move m = bot_move(BOTS[bot].depth, BOTS[bot].noise, BOTS[bot].blunder, BOTS[bot].ms); + spin_mode = 0; int32_t wait = 450 - (int32_t)(eadk_timing_millis() - t0); if (wait > 0) eadk_timing_msleep(wait); do_move(m); @@ -688,13 +697,13 @@ static void game(int md) { } if (k == 1) { flip ^= 1; - if (md == M_2P) autoflip = !autoflip; + autoflip = flip == P.side; } if (k == 2 || k == 3) { - title = k == 2 ? "Draw" : P.side ? "White wins" : "Black wins"; + title = k == 2 ? "Draw" : P.side ? "White won" : "Black won"; if (md == M_BOT && k == 3) { static char t[12]; - strcpy(strcpy(t, BOTS[bot].name) + strlen(BOTS[bot].name), " wins"); + strcpy(strcpy(t, BOTS[bot].name) + strlen(BOTS[bot].name), " won"); title = t; } if (game_over(title, k == 2 ? "Agreement" : "Resignation")) goto again; @@ -726,18 +735,18 @@ static void game(int md) { /* ------------------------------------------------------------- Puzzles */ -static int spin; -void gen_hook(void) { +/* Progress animation while the engine works: 0 off, 1 ring (puzzles), 2 dots (bot). */ +void ui_tick(void) { static uint64_t t; uint64_t now = eadk_timing_millis(); - if (now - t < 60) return; + if (!spin_mode || now - t < 70) return; t = now; + spin++; for (int k = 0; k < 8; k++) { - int i = (spin - k) & 7; static const int8_t dx[8] = {0, 11, 16, 11, 0, -11, -16, -11}, dy[8] = {-16, -11, 0, 11, 16, 11, 0, -11}; - fill(280 + dx[i] - 2, 120 + dy[i] - 2, 5, 5, mix(BG, WHITE, 32 - k * 4)); + if (spin_mode == 1) fill(278 + dx[(spin - k) & 7], 118 + dy[(spin - k) & 7], 5, 5, mix(BG, WHITE, 32 - k * 4)); + else if (k < 3) fill(271 + k * 8, 80, 3, 3, (spin % 3) == k ? WHITE : CARD); } - spin++; } static void rate(int won) { @@ -756,7 +765,9 @@ static void puzzles(int kind) { sel = -2; draw_board(); dim(0, 0, 240, 240); + spin_mode = 1; puzzle_gen(kind, prating); + spin_mode = 0; P = PZ.start; hp = 0; flip = !P.side; @@ -800,14 +811,10 @@ static void puzzles(int kind) { } if (m <= 0) continue; hintsq = -1; - int ok; - if (PZ.mate) { - make(m); - ok = mated_within(rem - 1); - unmake(); - } else { - ok = m == PZ.sol[step]; - } + make(m); + int ok = (!step && m == PZ.sol[0]) || status() == CHECKMATE || + (PZ.mate ? mated_within(rem - 1) : m == PZ.sol[step]); + unmake(); if (!ok) { do_move(m); badsq = MTO(m); @@ -825,7 +832,7 @@ static void puzzles(int kind) { } do_move(m); step++; - if (PZ.mate ? status() == CHECKMATE : step >= PZ.nsol) { + if (status() == CHECKMATE || (!PZ.mate && step >= PZ.nsol)) { if (!failed) rate(1); done = 1; sel = -2; diff --git a/test/perft.c b/test/perft.c index 4ec4a20..ba5b534 100644 --- a/test/perft.c +++ b/test/perft.c @@ -11,6 +11,7 @@ uint64_t eadk_timing_millis() { return ts.tv_sec * 1000ull + ts.tv_nsec / 1000000; } uint32_t eadk_random() { return (uint32_t)rand(); } +void ui_tick(void) {} static void set_fen(const char *f) { memset(&P, 0, sizeof P); From 6be47da178f75a4f1010d35573c89806ba3b8a62 Mon Sep 17 00:00:00 2001 From: Mason Chen <124631707+Mason363@users.noreply.github.com> Date: Fri, 25 Sep 2026 21:33:08 +0000 Subject: [PATCH 3/6] Faster puzzle generation, pre-generate next puzzle, rating-targeted mix Claude-Session: https://claude.ai/code/session_015sUPTASWW2uFfWAa7KFy6o --- src/chess.c | 20 +++++++++++--------- src/main.c | 44 ++++++++++++++++++++++++++++++++++---------- 2 files changed, 45 insertions(+), 19 deletions(-) diff --git a/src/chess.c b/src/chess.c index f91aea8..8c28bfc 100644 --- a/src/chess.c +++ b/src/chess.c @@ -272,7 +272,7 @@ static int insufficient(void) { int status(void) { Move ml[256]; if (!legal(ml)) return in_check() ? CHECKMATE : STALEMATE; - if (P.fifty >= 100) return FIFTY; + if (P.fifty >= 100 || hp >= MAXGAME) return FIFTY; if (reps() >= 2) return REPETITION; if (insufficient()) return MATERIAL; return ONGOING; @@ -355,7 +355,7 @@ static int16_t mscore[MSN]; static int msp; static uint64_t deadline; static int stopped; -int think_depth; +int think_depth, think_score; void ui_tick(void); @@ -552,6 +552,7 @@ Move think(int maxd, int ms, int *score) { if ((eadk_timing_millis() - t0) * 2 > (uint64_t)ms) break; } if (score) *score = bs; + think_score = bs; return root[0]; } @@ -696,7 +697,7 @@ static int tactic(void) { } void puzzle_gen(int kind, int target) { - for (int tries = 0;; tries++) { + for (int tries = 0;;) { ch_reset(); int solver = eadk_random() & 1, prev = 0, s; for (int ply = 0; ply < 100; ply++) { @@ -711,11 +712,12 @@ void puzzle_gen(int kind, int target) { PZ.rating = 250 + n * 400 + 150 * is_quiet(PZ.sol[0]) + eadk_random() % 100; ok = 1; } else if (!n && (kind == 0 || kind == 4)) { - think(3, 60000, &s); + think(2, 60000, &s); if (s >= 250 && s < MATE - 200 && s - prev >= 250) ok = tactic(); } int dr = PZ.rating - target; - if (ok && (dr < 0 ? -dr : dr) <= 250 + 40 * tries) { + if (ok && !(kind & 3) && (dr < 0 ? -dr : dr) > 200 + 60 * tries++) ok = 0; + if (ok) { PZ.pre = H[hp - 1].m; unmake(); PZ.start = P; @@ -723,11 +725,11 @@ void puzzle_gen(int kind, int target) { } } ui_tick(); - make(bot_move(2, 40, 0, 60000)); + make(bot_move(1, 40, 0, 60000)); } else { - think(2, 60000, &s); - prev = -s; - make(eadk_random() % 8 ? bot_move(2, 110, 0, 60000) : ml[eadk_random() % legal(ml)]); + Move m = eadk_random() % 8 ? bot_move(1, 110, 0, 60000) : (think(1, 60000, 0), ml[eadk_random() % legal(ml)]); + prev = -think_score; + make(m); } } } diff --git a/src/main.c b/src/main.c index 0fb5cd0..36940a8 100644 --- a/src/main.c +++ b/src/main.c @@ -256,7 +256,7 @@ static const struct { uint8_t min, inc; } TC[] = {{1, 0}, {3, 0}, {3, 2}, {5, 0} static int bot = 4, pside = 0, pcol, tc = 3, autoflip = 1; static int32_t tm[2]; -static int prating = 800, pstreak, pdelta, spin_mode, spin; +static int prating = 800, pstreak, pdelta, spin_mode, spin_y, spin; /* -------------------------------------------------------------- Input */ @@ -672,7 +672,7 @@ static void game(int md) { } if (md == M_BOT && P.side != pcol) { uint64_t t0 = eadk_timing_millis(); - spin_mode = 2; + spin_mode = 2, spin_y = 80; Move m = bot_move(BOTS[bot].depth, BOTS[bot].noise, BOTS[bot].blunder, BOTS[bot].ms); spin_mode = 0; int32_t wait = 450 - (int32_t)(eadk_timing_millis() - t0); @@ -745,7 +745,7 @@ void ui_tick(void) { for (int k = 0; k < 8; k++) { static const int8_t dx[8] = {0, 11, 16, 11, 0, -11, -16, -11}, dy[8] = {-16, -11, 0, 11, 16, 11, 0, -11}; if (spin_mode == 1) fill(278 + dx[(spin - k) & 7], 118 + dy[(spin - k) & 7], 5, 5, mix(BG, WHITE, 32 - k * 4)); - else if (k < 3) fill(271 + k * 8, 80, 3, 3, (spin % 3) == k ? WHITE : CARD); + else if (k < 3) fill(271 + k * 8, spin_y, 3, 3, (spin % 3) == k ? WHITE : CARD); } } @@ -758,16 +758,39 @@ static void rate(int won) { pstreak = won ? pstreak + 1 : 0; } +/* Generate the next puzzle while the solved one stays on screen. */ +static Puzzle next; +static int have_next; +static void pregenerate(int kind) { + static Undo h[16]; + Puzzle cur = PZ; + Pos p = P; + int n = hp; + memcpy(h, H, sizeof h); + spin_mode = 2, spin_y = 164; + puzzle_gen(kind, prating); + spin_mode = 0; + next = PZ, have_next = 1; + PZ = cur, P = p, hp = n; + memcpy(H, h, sizeof h); + fill(270, 164, 24, 3, BG); +} + static void puzzles(int kind) { mode = M_PUZ; + have_next = 0; for (;;) { - fill(240, 0, 80, 240, BG); - sel = -2; - draw_board(); - dim(0, 0, 240, 240); - spin_mode = 1; - puzzle_gen(kind, prating); - spin_mode = 0; + if (have_next) { + PZ = next, have_next = 0; + } else { + fill(240, 0, 80, 240, BG); + sel = -2; + draw_board(); + dim(0, 0, 240, 240); + spin_mode = 1; + puzzle_gen(kind, prating); + spin_mode = 0; + } P = PZ.start; hp = 0; flip = !P.side; @@ -839,6 +862,7 @@ static void puzzles(int kind) { draw_board(); panel(); feedback(1); + pregenerate(kind); continue; } feedback(1); From d1d6013090aa76cf464b7de82836774aa6ef772d Mon Sep 17 00:00:00 2001 From: Mason Chen <124631707+Mason363@users.noreply.github.com> Date: Fri, 25 Sep 2026 21:33:27 +0000 Subject: [PATCH 4/6] README: update installed size Claude-Session: https://claude.ai/code/session_015sUPTASWW2uFfWAa7KFy6o --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d2724fd..88c189a 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # NumChess -Chess for the NumWorks calculator, built for the **N0120**. It's a native app of about 19 KB: bots, endless puzzles and a two-player clock. +Chess for the NumWorks calculator, built for the **N0120**. It's a native app of about 20 KB: bots, endless puzzles and a two-player clock.

Menu From 02ba0ce2cf34a03f5a4e7bbae3d2dc96a297d1a8 Mon Sep 17 00:00:00 2001 From: Mason Chen <124631707+Mason363@users.noreply.github.com> Date: Fri, 25 Sep 2026 22:11:37 +0000 Subject: [PATCH 5/6] README with screenshots and GIFs, release workflow Claude-Session: https://claude.ai/code/session_015sUPTASWW2uFfWAa7KFy6o --- .github/release-notes.md | 23 ++++ .github/workflows/release.yml | 35 ++++++ README.md | 198 +++++++++++++++++++++++++--------- docs/bots.gif | Bin 0 -> 118943 bytes docs/bots.png | Bin 8127 -> 8345 bytes docs/check.png | Bin 0 -> 8206 bytes docs/clock-low.png | Bin 0 -> 6441 bytes docs/clock.gif | Bin 0 -> 295818 bytes docs/clock.png | Bin 6148 -> 7062 bytes docs/game.png | Bin 7371 -> 0 bytes docs/gameover.png | Bin 0 -> 9243 bytes docs/hero.gif | Bin 0 -> 222057 bytes docs/icon.png | Bin 0 -> 1832 bytes docs/italian.png | Bin 0 -> 7253 bytes docs/menu.png | Bin 4758 -> 5085 bytes docs/pause.png | Bin 0 -> 7958 bytes docs/pieces.png | Bin 0 -> 3617 bytes docs/promotion.png | Bin 0 -> 7951 bytes docs/puzzle-best.png | Bin 0 -> 6016 bytes docs/puzzle-hint.png | Bin 0 -> 5050 bytes docs/puzzle-mate1.png | Bin 0 -> 5033 bytes docs/puzzle-mate3.png | Bin 0 -> 4620 bytes docs/puzzle-menu.png | Bin 0 -> 4697 bytes docs/puzzle-pause.png | Bin 0 -> 5680 bytes docs/puzzle-solved.png | Bin 0 -> 6953 bytes docs/puzzle-wrong.png | Bin 0 -> 5627 bytes docs/puzzle.gif | Bin 0 -> 123261 bytes docs/puzzle.png | Bin 4922 -> 0 bytes docs/roster.png | Bin 0 -> 11344 bytes docs/select.png | Bin 0 -> 7880 bytes docs/time.png | Bin 0 -> 3696 bytes tools/pieces.py | 21 ++-- 32 files changed, 212 insertions(+), 65 deletions(-) create mode 100644 .github/release-notes.md create mode 100644 .github/workflows/release.yml create mode 100644 docs/bots.gif create mode 100644 docs/check.png create mode 100644 docs/clock-low.png create mode 100644 docs/clock.gif delete mode 100644 docs/game.png create mode 100644 docs/gameover.png create mode 100644 docs/hero.gif create mode 100644 docs/icon.png create mode 100644 docs/italian.png create mode 100644 docs/pause.png create mode 100644 docs/pieces.png create mode 100644 docs/promotion.png create mode 100644 docs/puzzle-best.png create mode 100644 docs/puzzle-hint.png create mode 100644 docs/puzzle-mate1.png create mode 100644 docs/puzzle-mate3.png create mode 100644 docs/puzzle-menu.png create mode 100644 docs/puzzle-pause.png create mode 100644 docs/puzzle-solved.png create mode 100644 docs/puzzle-wrong.png create mode 100644 docs/puzzle.gif delete mode 100644 docs/puzzle.png create mode 100644 docs/roster.png create mode 100644 docs/select.png create mode 100644 docs/time.png diff --git a/.github/release-notes.md b/.github/release-notes.md new file mode 100644 index 0000000..2ae0807 --- /dev/null +++ b/.github/release-notes.md @@ -0,0 +1,23 @@ +

+ Playing against a bot +

+ +Chess for the NumWorks N0120, in a native app of about 20 KB. + +### Install + +1. Download **`chess.nwa`** below. +2. Plug in the calculator and open [my.numworks.com/apps](https://my.numworks.com/apps) in Chrome or Edge. +3. Upload the file. **Chess** appears at the end of the home screen. + +### What's inside + +* **Play the bots:** 12 opponents from Pip (150) to Atlas (2100). Play White, Black or a random color, with undo, flip and resign. +* **Puzzles:** generated on the calculator, so they never run out. Modes are Mix, Mate in 1, 2 or 3, and Best move, with a rating, a streak, hints and solutions. +* **2 Players:** a chess clock (1+0 up to 30+0, or none) and a board that turns to face whoever is to move. +* **Full rules:** castling, en passant, underpromotion, and draws by stalemate, repetition, the 50-move rule or insufficient material. + +

+ Solving a puzzle + Two-player clock +

diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..2c2db9f --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,35 @@ +name: Release +on: + push: + tags: ['v*'] + workflow_dispatch: + inputs: + tag: + description: Tag to release, for example v1.0.0 + required: true + +permissions: + contents: write + +jobs: + release: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Install ARM toolchain + run: sudo apt-get update && sudo apt-get install -y gcc-arm-none-eabi libnewlib-arm-none-eabi + - name: Test + run: make test + - name: Build + run: make build check + - name: Publish release + env: + GH_TOKEN: ${{ github.token }} + TAG: ${{ github.event.inputs.tag || github.ref_name }} + run: | + if gh release view "$TAG" > /dev/null 2>&1; then + gh release upload "$TAG" output/chess.nwa --clobber + else + gh release create "$TAG" output/chess.nwa --target "$GITHUB_SHA" \ + --title "NumChess $TAG" --notes-file .github/release-notes.md + fi diff --git a/README.md b/README.md index 88c189a..8787e9e 100644 --- a/README.md +++ b/README.md @@ -1,64 +1,168 @@ -# NumChess +

+ NumChess icon +

+ +

NumChess

+ +

+ Chess for the NumWorks N0120 calculator.
+ 12 bots, endless puzzles and a two-player clock, in a native app of about 20 KB. +

-Chess for the NumWorks calculator, built for the **N0120**. It's a native app of about 20 KB: bots, endless puzzles and a two-player clock. +

+ Latest release + Build status + Installed size: 20 KB +

+ +

+ Download chess.nwa +  ·  Install +  ·  Controls +  ·  Build +

-

- Menu - Game against a bot - Bot selection - Mate in 2 puzzle - Two player clock +

+ Choosing a bot and playing the Italian Game against Nova

-## Features +## Highlights -**Play** against 12 bots, most of them at the beginner end: +* **12 bots**, from Pip (150) to Atlas (2100), most of them at the beginner end. +* **Endless puzzles** created on the calculator: mate in 1, 2 or 3, or find the one winning move. A rating and a streak track your progress. +* **Two-player mode** with a chess clock. The board turns to face whoever is to move. +* **Fast and small:** about 20 KB installed. The piece set takes 658 bytes, and there's no puzzle database. -| Bot | Elo | | Bot | Elo | -|---|---|---|---|---| -| Pip | 150 | | Nova | 1050 | -| Milo | 300 | | Hugo | 1200 | -| Luna | 450 | | Vera | 1400 | -| Otto | 600 | | Rex | 1600 | -| Ivy | 750 | | Zara | 1850 | -| Finn | 900 | | Atlas | 2100 | + + + + + +
Main menu
Main menu
A game in progress
A game against Nova
-You can play White, Black, or a random color. Bot-vs-bot matches confirm that each bot beats the one below it. The Elo numbers themselves are rough estimates. +## Play the bots -**Puzzles** never run out: each one is generated on the calculator from a fresh game, so no puzzle database is stored. +Pick an opponent and a color (White, random or Black), then play. Each bot beats the one below it in bot-vs-bot matches. The Elo numbers are rough estimates. -* Modes: *Mix*, *Mate in 1*, *Mate in 2*, *Mate in 3* and *Best move* (win material with the only good move, sometimes several moves deep). -* A rating adapts to your results and picks puzzles near your level, and a streak counts your solves in a row. -* The opponent defends as stubbornly as possible, and any move that forces the mate counts as correct. -* The pause menu offers *Hint* and *Solution*. +

+ All 12 bots with their Elo ratings +

+ + + + + + + + + + + + + + + + + + +
Scrolling through the bots
Choose a bot and your color
Atlas selected
Atlas, the strongest bot, thinks up to 2.5 s per move
Legal moves shown as dots and capture rings
Legal moves as dots, captures as rings
King in check glowing red
Check glow, last-move highlight, captured pieces with material count
Promotion picker
Promotion picker
Game over card
Result card with rematch
Pause menu
Back opens the pause menu: undo, flip, resign
+ +## Puzzles + +Every puzzle is generated on the calculator. It plays a quick game between a careful side and a blunder-prone side, then stops at a position with a forced mate or a single winning move. Puzzles never run out, and the app stores none of them. + +

+ Solving a mate in 2 puzzle +

-**2 Players** over the board, with a chess clock (1+0, 3+0, 3+2, 5+0, 10+0, 15+10, 30+0 or no clock). The board turns to face whoever is to move. +* **Modes:** Mix, Mate in 1, Mate in 2, Mate in 3 and Best move. +* **Opening move:** each puzzle starts by playing the opponent's last move, which is the mistake you punish. +* **Accepted solutions:** any move that still forces the mate counts. The opponent defends as stubbornly as possible. +* **Rating:** it goes up or down after each puzzle, and Mix and Best move pick puzzles near it. A streak counts your solves in a row. +* **Pause menu:** Hint highlights the piece to move, Solution plays the answer, and Next skips. +* **Speed:** the next puzzle is prepared while you look at the solved one. + + + + + + + + + + + + + + + + + + +
Puzzle modes
Puzzle modes
Mate in 1
Mate in 1: the pill shows who is to move
Mate in 3 as Black
Mate in 3 as Black: the board flips for you
Best move puzzle
Best move: find the knight fork
Hint highlight
Hint
Wrong move
Wrong move: it's taken back and your rating drops
Solved
Solved
Puzzle pause menu
Hint, solution, next
+ +## Two players + +Play over the board with a chess clock. After every move the board turns to face the next player. If you prefer a fixed board, use Flip in the pause menu. + +

+ Two players with a 3+2 clock +

-**Everywhere:** + + + + + + +
Time controls
1+0 to 30+0, or no clock
Clocks
The active clock is lit
Low time
Under 10 s it turns red and shows tenths
-* Legal-move dots and capture rings. -* Last-move and check highlights. -* Animated moves. -* A promotion picker. -* Captured pieces with the material difference. -* Undo, flip, resign and draw. -* Every draw rule: stalemate, threefold repetition, 50 moves and insufficient material. +All the rules are included: castling, en passant, underpromotion, and draws by stalemate, threefold repetition, the 50-move rule or insufficient material. You can also agree to a draw or resign. ## Controls | Key | Action | |---|---| -| Arrows | Move the cursor (wraps around the edges) | -| OK / EXE | Select a piece, play a move | -| Back | Deselect, or open the pause menu | +| Arrows | Move the cursor (it wraps around the edges) | +| OK or EXE | Select a piece, then play a move | +| Back | Deselect, open the pause menu, or go back a screen | | ⌫ | Undo | +| Home | Quit | ## Install -1. Get `chess.nwa`: download it from the latest [Build](../../actions) run, or build it yourself (see below). -2. Open [my.numworks.com/apps](https://my.numworks.com/apps), connect the calculator and upload the file. +1. Download **[chess.nwa](https://github.com/Mason363/NumChess/releases/latest/download/chess.nwa)** from the [latest release](https://github.com/Mason363/NumChess/releases/latest). +2. Plug the calculator into your computer and open **[my.numworks.com/apps](https://my.numworks.com/apps)** in Chrome or Edge. +3. Upload `chess.nwa`. **Chess** appears at the end of the calculator's home screen. + +If you're building from source, `make run` builds and installs in one step. + +## Small by design + +

+ The piece set, zoomed 4x +

+ +| | | +|---|---| +| Installed size | about 20 KB (20,074 bytes of code and data) | +| Piece set | 658 bytes: 3-bit anti-aliased sprites, and symmetric pieces store only half | +| Puzzle data | none: every puzzle is generated live | +| RAM | about 52 KB, all static, no heap | -Or run `make run` with the calculator plugged in. +* **Engine** (`src/chess.c`): + * 0x88 board with incremental hashing and evaluation. + * PeSTO piece-square tables, mirrored and packed into 384 bytes. + * Alpha-beta search with PVS, a transposition table, null-move pruning, late-move reductions, killer moves and history heuristics. + * A mate solver. + * Bots get weaker through search depth, evaluation noise and occasional random moves. +* **Graphics** (`src/main.c`): + * Each board square is drawn in one pass: highlights, check glow, move hints and the piece, all blended in RGB565. + * Rounded cards and circles are anti-aliased. + * Moves animate with an ease-out curve. + * Text uses the calculator's own fonts. +* **Pieces** are drawn as signed-distance shapes by `tools/pieces.py` and rendered to sprites. `tools/icon.py` makes the app icon the same way. +* **Build:** `-Os`, LTO, and small replacements for the libc routines. ## Build @@ -67,18 +171,8 @@ Requirements: the ARM embedded toolchain (`arm-none-eabi-gcc`) and Node.js, whic ```sh make # output/chess.nwa make check # link it the way the calculator does and print the installed size -make test # engine tests on the host (perft on six positions, hashing, search benchmark) +make test # engine tests on the host: perft on six positions, hashing, search benchmark +make run # install on a connected calculator ``` -## How it stays small - -* **Engine** (`src/chess.c`): - * 0x88 board with incremental hashing and evaluation. - * PeSTO piece-square tables, mirrored and packed into 384 bytes. - * Alpha-beta search with PVS, a transposition table, null-move pruning, LMR, killer moves and history heuristics. - * A mate solver. - * Bots get weaker through search depth, evaluation noise and occasional random moves. -* **Puzzles** are found by playing lopsided games between a careful side and a blunder-prone side, then keeping positions that have a forced mate or a single winning move. -* **Pieces** are signed-distance shapes rendered by `tools/pieces.py` to 3-bit anti-aliased sprites. The symmetric pieces store only their left half, so the whole set takes 658 bytes. -* **Text** uses the calculator's built-in fonts, and small replacements stand in for the libc routines. -* The app is built with `-Os` and LTO and uses no heap. +Every push is built by GitHub Actions. Pushing a `v*` tag publishes a release with `chess.nwa` attached. diff --git a/docs/bots.gif b/docs/bots.gif new file mode 100644 index 0000000000000000000000000000000000000000..d5bc49e1a77cff50b967f765e619c02d23f7d3d9 GIT binary patch literal 118943 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 literal 0 HcmV?d00001 diff --git a/docs/bots.png b/docs/bots.png index fc798b895411effb78088d29f9c3da2e84443b91..560115b7aea3d24e2535dba0c7c8c6283be9e209 100644 GIT binary patch literal 8345 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 PfUnzHcQgyGTfO{WnMBg3 literal 8127 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 P06y2R>1&p1SO@(t*d7rS diff --git a/docs/check.png b/docs/check.png new file mode 100644 index 0000000000000000000000000000000000000000..ee7320895430fb3fd8259fbfde0ef677b7a185cb GIT binary patch literal 8206 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 LrlZ??cP literal 0 HcmV?d00001 diff --git a/docs/clock-low.png b/docs/clock-low.png new file mode 100644 index 0000000000000000000000000000000000000000..987a5544af029faa61c4980629733b70c18b6718 GIT binary patch literal 6441 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

Q1^>=&g;{~D;L5W9O(-V@Bu^N+1ljIDCVv4 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 diff --git a/docs/game.png b/docs/game.png deleted file mode 100644 index fdf1e06a17a5632819a137c28d8644fb2a995f0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7371 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 C@`-!^ diff --git a/docs/gameover.png b/docs/gameover.png new file mode 100644 index 0000000000000000000000000000000000000000..3e1253fe0fcc27c4285412c09f368b357ce6fbf3 GIT binary patch literal 9243 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 literal 0 HcmV?d00001 diff --git a/docs/hero.gif b/docs/hero.gif new file mode 100644 index 0000000000000000000000000000000000000000..bc0070c952f3e356b62f30c0b7b7e49dd4da3385 GIT binary patch literal 222057 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
+8$t^Dg;Px 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 literal 0 HcmV?d00001 diff --git a/docs/icon.png b/docs/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..c4de38445711d5805986d739bdd0abc17c5907ce GIT binary patch literal 1832 zcmV+@2iN$CP)Nkl~){- z=il%5jq!TD^sTOL4^Vae51{78UqD0azd&0@Gf%IQ6Gj2!Ql_6cT@~{_d$~u>YLCompfERVu?v<)I7P0Oys1YMox?7+(P7OfR0S%r+mz8WluApf6fddy%)lge z6B{a()=??-9#t?B8!DC7Q7QGuNR!*u4O~5S512IjnFu$c*ifmoj>^GZyX#JN0O>Ol z%q!hp0H=4|0Xo{chXj>kL#5K{9DK06Va*X2&{E$CWX?|nF8tUIv|aBsN8V}b0-jBc zi*Qpal|!FO*R5{zyz!zNXujk&zA`)e72xdIb3pTDk5Z{rhKI_Q9x4k9-!lwOpPmC0 z78U}F7cT*7jx+)PHFN?~<|P6N$+1f1)2x_Je_AjoA6$FX1zbMS0qoxWJ&>B3`p_{= zO-(>W#katbBfkK#aRB39O#mj%P5|tQu}Y;<8MJQIcLJw(wE>eRW&q{o+n$^k)zt%K zWo3ZVdCKrOYgKZDu&GoIO)4dCaqhegB-)dKty{kW#*R%3=zS_HD}nXvKLMVf5Dz$( zBrBB~R}LuSKC}Ba;Pu1-o4))EsIRXBJRT2_o<5 zNvRw>H^FASr&6g@_N_BN z+{RabT(f31;BYvAii)0j5b>2wO^pFjDcZPk1F(E~5pZr_+aN}oO65?X^2(_WeAUK9 zi{1qmE_}!QwYa#*tiO{dX8_sR*#r2Ll#~?1=DKws0kyx~1*R=XQYw|oN218uqj!Py z^mL%Oc*R4N~dV_ zWV=!s^;EVtbOH@$?*a4Xy=DAYc$Awv)BFN%R4bKArKtL_3rI>z>~+-+wUUyOOjPja z$x0w|z88oe7Nb-~C6$ufNUmK{QVh7=9+O}9X9agUoq)||57NVmkCsY%<3$gU_Oe~6 zj7lmm9q%w1aaC0nP*(P}i7WlH@B3?gYb$WzzyaXk!9)1E-lEddkAeLBya9ZZS+jDD zzm|1esf<1DPGS# zKM`;qK80`6Oe)x;CfR|hIm3Zb6CaoJ_|E|cU*GhfLlWLYorx=zk(cd^&q)Ac<70sC zPA@Pf%TE9L(f-%)NR|?Ol~Zzg|HwDg*H|c(kw>LyT=uYlju$T`6PGgKwsF%2lgkIA zw6ruo>b<&xM=_OwMx*EU-7$GiY3Vww>x|p&wugMNQmIrvN!5qi@l6!T{O-W2laJ4K z!YQS4C{rnOy3V>>?dmI)%6{nPC69UTaO8yavl<(F?w=H%yBa8!Lz7CmbBj!; zKYCAs(D_Quc9cqAm&U(8-gMDzUaxDZ1Ln?sGi)a*-z0fVyiysJRLU&6b7vb5_QwZT za^3IiAC3rVjHy&cDwQ`c_vABj-Ql%s*8q>l9p)30j-yO*?%A^!Uu{&n_DW^6#+Ck) zm4hXj^whX=h)GSUri?0ISzBAngR?u~m&6ZBWpq!_6dT7RwCf$ruw(6w9lytSIjxL6zTc4iT<_skb+ zk$@z26B{a(R_EaIYj=!4kM0uQKRL!17`tf>9vUh|dDD6-jLPQYdGxoHQfaYbyx!ig zN|pRac4gOiQ{qQiul@a_QW;(^ WBA)a}jTF@Y0000>_=U+)v6b6b_^*y&>c05GYm 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 literal 0 HcmV?d00001 diff --git a/docs/puzzle-best.png b/docs/puzzle-best.png new file mode 100644 index 0000000000000000000000000000000000000000..4bccdcf943c248e682a4b08582854fbfdab7b698 GIT binary patch literal 6016 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 Xy_+?PBZi0J|3z4sTAAb+ldt>(;glRA literal 0 HcmV?d00001 diff --git a/docs/puzzle-mate3.png b/docs/puzzle-mate3.png new file mode 100644 index 0000000000000000000000000000000000000000..be38ede689a5a1eb06558d225b04eb299617f594 GIT binary patch literal 4620 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 literal 0 HcmV?d00001 diff --git a/docs/puzzle-menu.png b/docs/puzzle-menu.png new file mode 100644 index 0000000000000000000000000000000000000000..e5592ac66f0c0e17e2f8aef7bee680d5ceb53c71 GIT binary patch literal 4697 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 LMmjmi?QZ@Xoy%Bt literal 0 HcmV?d00001 diff --git a/docs/puzzle-solved.png b/docs/puzzle-solved.png new file mode 100644 index 0000000000000000000000000000000000000000..1fef69574bbb3007d1bb3ccac0637c3e324a36d5 GIT binary patch literal 6953 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 H`>_84eM4^g literal 0 HcmV?d00001 diff --git a/docs/puzzle-wrong.png b/docs/puzzle-wrong.png new file mode 100644 index 0000000000000000000000000000000000000000..9c7574799ef66aeb66135cda74867692d7064093 GIT binary patch literal 5627 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 literal 0 HcmV?d00001 diff --git a/docs/puzzle.gif b/docs/puzzle.gif new file mode 100644 index 0000000000000000000000000000000000000000..f4796942776ef005a221d3bf16c1bcde666f2360 GIT binary patch literal 123261 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

rlU9Nz{7T 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 N(Ua#VBt!(k{{hEOWGDat literal 0 HcmV?d00001 diff --git a/docs/puzzle.png b/docs/puzzle.png deleted file mode 100644 index 778db7ff1bbcd162cbcf228e8ef2265e243a217e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4922 zcmZu#2{=@3`+sJJtP?3ap{%8vibP>-X(mMyWhZ1GlC8qLw)B#OP_`*bZ`raIVai)V z6WOyfmJ+fxF~WDwncn}^|NGu^oonWtXStty`Q5+!p1EOi$`H#f#ti_#5{~Pe0)Qq1 zfEwn+KqF{AK}d)H}_u+xq3C&&kwr&{Ve^7?!NBsUha-=j*f1Y zj?Rvj4wjZSmP8vJQyXd1^QNX}O^GH%QzIhLh^TX1M@L^r9j~r_R9*eB`u@ZF_p9vR zk5f{DZe=BDMQLeSY5r~exLeb600@W?^mWXFdS?cLt@_>yQ5_=gE7!{Pv+16fXm9)b zlLYaMf-+&hi*N0QLX}qF1H+weE-&Au9LpJ6$$3uf)mivD85I8^PONS$M*9*QUFhKK zyG2)kA_FIDfQG)5gZpEB0Y4eA*=wTKMK}P86A!xhD7kj1&%}DbCJj&`JE(NJl%<3e z23eMAIye7JS5cer3Z7M}M>b0XJ#>(Nr+1|#%_V2p^^jFT!0Hq?Bvl$TqkFv7i17j9 z&>KY?bYc&maUwOIl^h%(ix?pM}Oa7cQ*}?*QYscOO_+VuZ>pPw^Kn{By-I~poVe}d~5fc+MLP?8sKVviU<+Qr9DV>ykD zVQWLsu9Fvch;UQO%d4vk3PyaqPR7>-J*%my>UAF&a6U6PKHi-A^y$^BAG1GgWwWWL}PPZ4Z-d7#SJJ zw2j^bhu82(SJckeo(;sh?Kck{TB6sF3=U3BF)DI9jI#%8JPu`R*VWK4b4yE%Lp93V zVARl=VD6{2y!8Cgr=irYKl-c)cg4lCwVORwyHeVLkx(TPjf7}3*oSdEcxg~B+Ba_1q{42npLULxSagj*$!u7c)pNrQc=CN+{UF zHuO?h8|`FsHv&E;vQcf+_aq?Q?Zs!jj2 zla<+d`iCpK_hv=vJ5M^ztB1dcS(FUk4!id&he@4eo>=K9L)jk=nY}8C_=oi1M0HPe z$APz*lJ*^BIqf5vuUZl;rqXP~8?V;FyJFdo>rLhQc4F003Mc>a)i-SOT8VW%&JKm^ z94|f?*jr1N?-Av_*dJ`U(5WkHC7UO`@S`PwApD|E34xuM~b-#ZCm;V-dg)_j|ZuSzrbL2#lv0+%G+ z13Jn)y65Q=yY;I<70<_CQxAac5y!irS+p|WCGr!Zv9wZ;A(@fJmavT%518kppEX=+ z#yQ8O7m42g#u<3#M7GVDmyBgG8wjCQ2F;ye5gMQ&TA4A{`+oPp<5@Glgfe76c^ zRtyyIP?(udF*s)1FcG24SoY690xAP+NkdKPD-5r*;8=S8o^KJGAz%2IlWR$VUw7#> zi+|Z=u*zl<*73eX>oXk5i|n6Q11bxb#7|~;y7fqr7xss3tdHq$Q1-2Bz(ksl!H=Y7 z9KOrNM4N=r)YU(tdO6{AbP^cd^ms8zt#TQYLC;I@kD*4uMBoiwjhTILNP!wdAKpEWdCO7*}9z zb7lOi2r=vagWZG}Yn!MRvqTiE)FJ%ZgC1cllMQFpgHwCN1h^Oc2M3ra$Th9k3GZ^v z*@o_IDFIK5RSg-BtQirqQbGR{0 zA6}~xOvQ#-EhyNyApr;P<%gUs7q<-eRqk4I;i=Na)u^0vUKbYA^8}b$D46e*3z4ZkW=i zd02$EUr9-Yyqg7K{HwgzcOvyLJ)*46BcM7nURE|(Z<@0n{aEXAA)f?-b1)syDSSzg zQMOG8ukP`qj0a|fWgsWWRh34W@#5m35bN9p9F38NMUO*~6qV2p;Vl}1-q=!+giAQA zfgZ=>IzdAC2)d)?yjDC7GY2if^ z1Z&f5Q0#G@>% zL>=yR@gP)hnWnW88>|RQ+xILAAOztLTt|g3amN$qc1>HAq2OF=czyYdRp?{qw8va} ze5N=k@^<8jD1rlK+7%I8%hO)U)tHj@`h}p{iZyIqm&57ABf6N!THcQWlx5P^n~-&d z%?D1lCrn}9@2zR$dZg{ca$AqDehe63(bXw1e&WS$-So)I)ukB-D^`__rM3%=|M-6( zV1YzZn&i?$NAq*Sa{d9$ug3#>0m{|g5B3Eo^$IGPHemL&`lpH}1F8Q&kNxq!%PQJS ztlX|=OB)>QPC?>=#vLVpnF*oYT7!Ax7ZTZ|llT$x#{PvUCL)gy{%L0&Q?ZAJC`UC>kV&%K0;dU-&78;~Z3%Fv#7~w1 zPNxN6m8;Ml;#>N$Tr3F!)CkNAu8Z;BYByOY>7mn3);8)x)DLgMSo^XeViMu3hY-k$1FVMB@OxR^BZx*HfD{p#l65lOtvf(^BL{Ws6zy9pFm&F@I*HPo zOpR6}Y(s+I!x;^g{?zUS_X$J2T~Hd>kd=w|y!*#0^k?_{3A@f5Lm7-2_C7Ano=19T zkaP%176WokR)6F{!@BHaocI)HIASQ6S9fe0R{3efvI;f)=T7k1o#0=d1FJ8~ex0M$ zzW@>WjQ0Xx6RuI**T%3lo*fU?U(+ok_UcNp#n=vA) zJ}8HU=ch5vUYK86n(BOetn@{lw#2c9+OV+s z2kP;YEp=gml1Nrj-7%h(e0);dv$8@r*2YixkBvC^ElyASN)*|VymzHMx&Xnf26cdo z%R!)|f-xtpEhW|6)p5JK=*N#7ZA}dg&2m`KS1iYq3e$Ca9Cl0_o}^Y`I-~-iW^*jMW7(26 zn4qzu(GoE_;S%^`;gSk-GCL=ypdelRY+CTO851iV2PA56O`rU)dR6EhE$7kMw`MR9j>3&3AK#jO{Y6V2&P6NcWle z9MI1B3n6cyHX_O?9N3qDnJV+xY8JN8&qq0dJgTawa}s5t3ukTcAxaYrrEB;}~_;SH?rE|$};V<3{EO_C<%1^$JDcf^G%~&6S zEl!pk!S!n#U3L=hxpfO-5HF8?!xom91=-vqGHH>peoI@W`SRf?{_Z)dCHkjSYl>{X UlLx;A^k*0#7@X2C)U^-)4}R{uv`EDfI>rEMIQi& zumAv=BqIiEh^T}I0e~3L)w-p6dU`5|6oew-a3mZiCa8pjd+65r88+u4%Zrgp;bN#@ zBu?M94i_7q{xTgZ05!EVUCjfaZdOXdO8S=NU9o`DOVofZJot%U*IjtHEL>kw5H6q; zEQW#!z*bjRgJt24k{(bbs<^BeCGWB80*A_?{5(DM4fO@Z1atFpaVa<@EkEefVz{jm z%o9E?@8RL;q4X35&A>rj!pr5YaPr{9P~oxRP`7ZDBs4fQ7=>hlW^@TkqM#~pzbAe$ zNtnJTOi4wl?k?Oz(r?uP?vbYyE{}tIHtVY};UdG+Gt%efJscC1lyt+bBH`f<)TU2h zN_nVaNmICrhrSyuJTg2uz;E{rfV!JIFfxD=7F0?=b*ZBSD|g{flmzAV>q4o^O<*tw zxRNk*esNwfvfR62o9OEc3l0nplz%D@ z4-F1>fbQ<@c75-HKJjaAZx$3&s{2w0eKQ}d1uw5GFMmoVC=3t&q*VN_7%HpO+|uk9 z;FtR*7b**d3kX63Jm8T^Fc-K-1{^1!Tc@G~b0~((!ot6xOz)ZoS1REo^#z3m;h;w3 zp;iu7O0rB=@{S(5ezA+Qesf)_PZlx{s9S;;uU&<`B65^vmexfB@164C8x-*O2o54)e@ z(U0s;1O1@Oy?J)scAkZH-T6o|0AgW7v|oS-us~uCC8EM<*umyP=Si zl?P=fCmYe-EI&9;314qP*4twD#*Z4a$NkpYXiPqj*6fXWBV-D_C&p@w6C2E`?gbvu z1^XV%nN`^wj8<!r22EYNQH9g$Pvvksot@BgXY^axXb`f-6 zGO}M7N_zHIMAd8clE}$n@B1Eo5^!qjL_Z!M@qT2twgn=q%!5W@Mu&72=Ht7l{;1O4 ztiqGcTH_qAO8^PB=R&sq!OD!e?NC`dScoMQ*d83LtW=5K^*vgtt<_9gHcOllX;3&l z4m#J3$V#fRcv9Wr4r=J;1*|!yt7&neV5`=2iNPn}&|$pWR3dXA=Nwg$8t2a5-k(>s zSrzx?i)=LmH@l7ub9j!w@efAWc`kfG*M}kWXajdmuFRPH6?ME};O=35U^vUSrFQEr z85DCY`GXUqGH?NNywRtbRERjF3Za_9pBU}WL}y*QJ-HT5W!arc=*xjn-|ywcU}pI`biN#u)LJNIBR<55fs2iWOeVvQ&qs)U)(bzr-0j@j-#L(!4@G6l4QXNO{Fa;= z3r{vidg}a$LEBLP7U9nXy3xK-!f{oXek<$7W?l)O6>chZ6&1uiwtZ3E;kIlmn~Au` zoZ}6rBp46y@Tb@Z2%B_gC!mvdUmDw&pR%yFY3oH~@$0Ir`|cgK`HnrdGhaQ zipgvxf*Po>(_P8AG#_@2L(|0WSLHOP!8ES4{6_bOz-kz}9F>J+5^C>#qQ4!p-cIdd z)>AB9-q3LFBGE-!aNH^e3h*@Y00N3pO>M}l3i(Z)Kv?vQn0O2-dO@s@b4ix+Q(K8} z4KrkYUR&a%G-^ioxW~PT4Ey^#1PT012aflxPj8mkJLUTWoIYPCvcQrsFu)2+C_P?> z=+@B~Fn5q*f%nyr!V^WWJL4D95)kb^G)!^ez<#WtgzV|3s7AmM7qCT zNSlVVxvH>=+?bWjA#T;*5pDVAph6mzw`d*_Ur$Q}K(e0#Vb5qHsB+ucZ;C0#Ty>QvFC*RGduAn=vd+m8A_uuA_{_R~M#l zbUonanO=Zm4B}3qLE}$IQqtm%NolqzdD=#CU&oWb66=oV^X#_paA5Vlo59uE!?4Rn z+kNPGRauvSW7x$TKCFG50XX3=4ok6Wx2fC5l66}3E52U6G3%;TVEx+Eih+w3eG|X} zx)-p;O`$>YY1ey(17u^{vc{g%&5_&eO{s8WDzl=_flHzXOh|8)Rju@ty!PVM72LGj zgCuZcMr>cy5?@utmv>Ny^5=r?NZ=fD(EW~p;O%*?xtF;XDbI1?#|{vItr+)Mgb0wA z8Ak=m;sGk+#T=U6=Z!s!J;-M1eP*dyLvdwGNh+7TDSnLV4VN}krZYyL7CcmO06n5u zH*4AN_DjX#t@k%h%6?luJ+z(a6Nj8_q5S(#uW1$Dn+p4J-WIu>nM?`1Vs5;m_LWug zAPpAHRw|D5+Y6Ji-;}Xl9dpV9z4o^Ak6DGxsX-B;la*hu?SlE%HZI9|gEMEU1LAsa zZNS)6sU|7>+jmV5Rlk4yP>>!TN-1Fp6%G&QY`^VE8N`}g++c4fjj z)Q9kpJxhF6^rpBqnw!a#MMtZg1GFT22U(FW-(!KGmw8iR7iRWB4Keuuar$2$%gxvA z6^kJH^ImLtb=ItzngteW(#)(RCz)4P9_uD?w~WFNCpP8BplS%h#VdvF#x_|sTN3Ar z%>u2z{VYrO?06u|Y?dfdd3+u`9<#*iEg!b!8^a^AOeF$&^}{dwa!jhWpx-h#(7v|S z?1@!v-+wJNW6bTjzUlm!|oI5%C z{XL=2Yj7xab*#p&TPgVJ)$cxrdN6z4?#w#B=e=I%!EIoH{Ac{~U!lw;(ds*}dsBm; zJ0p`~XiPSredIcxj+;H|+-rHt-T|68;B`rX_=l5B6@yB@O5r(87%BF4|$f8*tI`Ah}Bd;YN>^^Ww9zPCZY-S6WgD!vOGa^F0yGDjo{ z$;nA2+|f?f)xYu1-F>!NNca}s>8)A3s08dZey#qhv34XU0A52>*`p`Z;o+AZo=foC zwbLH}pT?S-2L^_RU8@Sg@S07majNj`ScQ;3@aseC%Ddvu?|jAy38kg8(u|B99>zxV zUVYw_Y9`Exb23ta1m7!-EvGQJ{pX0Gn6hBgI3~c4)7QR-JMNh(a6N$30x;_P?~y0-{dz{#njV+9b~uRATcW*iXUE>3>ea;k}{ zW{e+w`SJ*92@wVj*ep?SuNJvoHeIohv3epBSV;$D4Ogu9C}h4Quf(fEvmJ=C@(gxnNRTn7Y^ zHdHaZye{L*hzMO>M*YJ=y&$?QOc;Oo1DkI;-Of*K|f>;dsIhI0G6#gC=M^ z*YGpZ9NlreHQu8Pid8k`kG|2mhtEt0u@A3BzsYYQwRqgzJv02COUiIK+eZ6r^NfHG zWo>P8J{6+aM4 z5ecY3_tR-yeiHTN^Mp&)K>x?FMQ)z-X|;GsC^zg9!(zTMEfd0v~#QEm6AFUn&7Yjn9~TdCi| zf@xIe20<^qV$bG#kX{50j|($I6tm7g>O zVdS7N4*C5QN_KgBst~iv2)2W#l#y%>R3S31=?Z=Ylo<+6R3Yqg_iA=OP~NQ>q$h)b z7N`Xby*=v04!(_NuW!KbTqHhRGPgZi8rjhyUK}y3Y?wI3+Yuk0tbyM;D+2dEuFuA2 zG55!#?|p;{Jsz!Uz#lT6-#J_wt?JmUvTAlJ8FSDrsjIYlDva5iIQ>e8VC|Sd)WTPC_}hg_7s40s%&GFE2tl0< zMAl=T^@0E8obks^z9ghn^+&6sH~PoC&7v(P>b-xt*}eEQL%BrbJi7a?CXiCkd(4(i ziQt#W8!s~MFYHa++vs~=k=M4na=d-?#`u^3d&;a-|A9TL4T$pXCC#Rrnlxvfkby_M zYsMQO;5i>N5vX@eC>{1WHXQFU9*iF}3^}&mUO*R}Y>t}G`u#q=SHw zzBsUwUCxp5GAIu7@5VZu7jAvg9HyeDGKJ0}A8IrJ*HvC|uU4;py!^(RL1IgU>e zgZqN#9v-;IVHXh8a|#z5KiIupZ)HK`0UQV&TCtsiT06+&6&6ruJ?FD!A@S0Z)t`@z z$_+Jcr(-o(Q}<`8a^9l86q9H{{O1xX8eY(Aw983jjd(1Li1Go)BWs8~4>@?*GBE@9 zs&n{Hdd+*LCH?2Zh9S#6%IHJGjn+u ze=3tToQSv}Nf-Cs-sZ{L3P8@h-@|z=w~MCLbvB`qOM0$bxLv#s!gzGDTCp`Tl-o=(r?UM8?0ghYI^0?sYxf;E!%dq>AmDt^%%S1ZE*Gdg@@q~OFaE2j#PMK8 zCb#Qu6dk*=4I9!UX-1`$nweC0&7BS0?^pnIK8Gmk2{}DxaZG&*BwgOboIGc@^++O~ zKW$;HU+@D&-m_f`LrR%UG5Lh}FLXMVE*E`!P`@00bF0fmb!+s8FlN)VC#Ng91tM9+ zATko+z=o`QYfmr@2omqcR?q!)g1dptXNE$8xD652WE`@8G{eZ{J>im%=y79ffz-}W zN}Pm7&4^J>-t{J6B!6HV?Scxr$PZK;gYRJWBb!z>U zSZ`JokdbdQ8W|EG^JU_;2P&lemK%dSDUp9Bd4$JPd1`1}=#j&b_OHNnCpiQQ{ICL= z(|Qv`5bc$m)oFcTnfT<}So(L)n?G3Ee^bnMaQv&Fnf2`N=c=S1dPElRw0RaO#IM^E zA7MiE-`765gb@>~o6 z5mFE+OPndE65XzlTUN}yGuu6`+`cfw^cY_b;Jnr00c^zGS(mZ;=x?N;Tw3gi#{LA+ z@JV*6@wu`iC8>_HXY0AL6AcZ}N>D_)@^RVdT?G&+*&vF46rMet{Z08mH6;=W_*ztO z3?DQ)D#V>OI$EDS%638*z@Da;CZAr+p-2VIiSgQP=Ejv#RaQyWG+5Pxs@{n(hQBRB zMz^ui=(tK}-wo5b@}^PGL3L2LU3yCt%-B6K}J*qiM+ z0V_F<8a>h?U6ZA(vo0hU^i?d$=O4Wf?`G`m>yapHHj$GL&ZyB`5~0YFwNwbC2iw+n zmRdGIZHa9HJZAtY9{q2CG-O`&4?rrZyYF)F@|tQym38LhFZKrz&|BvcsoOZ4eE&2j zlNce=VN!M65?5*qUrL;~O@L6&2NdAc+el*~>_Vf3b7l$#Bg{j~ZNvB5xUUB~cI_vq z%ecPan9TbZh-!_>A$=@3Q*g7Tgb>YL1_VQl-@Q*0CtT(~iL2iK&DBVTI5klKbsXYN@7Skc(%;=BMSe|1pFSOIQE}X< z($N_;F?aI)^)dDeKUzoq<7iPx$hUa4C^nhDEuWl*KG>l%uDeZBmguC*dM+*xzq>nE zp0QJr-<@9VwbJ-xX=rV8@o_;8gHpw4^9pd@FZ5}5S`L#6+zD8K@VILP|4 zT(VPi=h|uamv83Q)*pTJkK!352tI_l@gaqkRx+mIMdk0B0Ij{a9Aw>ys0@Tt@YvW%O z@Rg_I!{MkgD9IH-Hy|O^^v-g4VS_g~UYZ1!18q5lg>ZBmpcyXv%ERFX`9IJFT3lHp z1|jyOp4}W(HD%&*a{H+JG-cM$r$fJX{Y5}xVH{{%TW8_wuI6U1ujq@&0tvxyGp|dA zHYq_%@Hj8VZ`Z>eU64EbN6+2x-uMqB(Vs`3#-?;b_P_jjxL?3{DwKkkeh?LD=qeZ* zGrIEVyjp2?cCEZzO|e!z!svq6^>4-@i;HDt7HgpXr0oE9%7PEsP`R}6UYQ9VjgRji zehFE(Zz8F@TplFUXRh;IVeiLH9}^Szvex)?tp~5Khc!1-P?VOsR-J(OY8zaKevoVi zl>+@TJ7|RSm$F+ux)qw6(F$`yD4onl*F%+n!a3V^`U@8SV5HtMWp>phA%(GPn0BXs zuoCLRyLY=MHrZ!;M~8jVL>3tdgViV61k`nSZsxWU0~K}sgS|tGi+5}8yi*NVZ{igT zqmoBnpdOy#SS*y3j1jm0LgKqKXx5K*b5l}!|1UxQc?EJAl24F5SLQN}jMI8*NwK<* zh<^S|&T6oWRv>38yNv98;Z@_|jzSS)?~0v%16y0Os^0ro>9tYXyu?;Ic9xcUH2=G~ z75V`CJ*V{ko_}v&6G6QTUbGx~+j~i|dS>3$)B-fc>f-K zIr1cdL;u-X>e{fdkt!KP*xzI4>V35P=$khCr()sj5m^bgoLDzEe2Jr)*U^@$<_gc9 zoWfm8LwX2!z#joZLJP+Jb4wl$f^~dePEG;TKVSChU%#po{MyT=3Nb-pL>S{d2vqv( zY7X>BKo`{uNte}A@XCr+!m!h6&N>xk0GAnJr90I)4}#`Az)n)wCpyc~IV_D45veS` zSzVFb02l~RPKJ;_u`cNMbr4jjZ28U|auv~#&v&*EncJhGV|v@9?+ZatCt2PZ{kMa~ zr0B$7Y@|{Gk@UZ2yv5LcF{U8xoKwVzXhbkhEM&#NjIvszijz&PWL zjc~>Xqtd?H>r;gD=nWu_*Vm_TI8G*%2HbzYiE8E2SpVyQ!`b=3W?fg;EJcHYk%bb> zX_2vnM1zfh#Ma^f{$yoa=HcW*-^NCkI6WukaJ%sdK^7X6^>Fzo=Og>&+kVjW>lKDY zC65XXg+K~v0y9`F>S;eH><49&eK=Z)_Ou_Z{5PGHHgRl$Y&eJn>7-R}bLJmwf&8Nr z2>eDKJ~*lf3^l z66mB9!2&4-e^~;Z`!W;w(kB$iB5fK*2!}O* zun|$rI)OnF$L8#IOw`dWMX52OwT)*L_)S)ghOb!y6lPVzt>%GO7LxYq@+__Yfm57;ZC}uzuZgZP zlx%L&)0>ci)RL6v)r*L8a?M#m+!vLcT0R`^{kGiMpYaLwJ$5_eo}?Z^sfvDQZtd;; z@~F*{63-+gKy!gM7R1SXT7}a|se$gDnnXV9w={-AL||>e)ValO#5n_uB(qawq3IM_ zGVpMJhW^IpRTjO9FIo1-+tt4XLS_vmb1r~_${|eYSaMeqSQtAbrncZm4;ptW!=$nm z|L`FZ-$$CS0$wD@&CDBW2tE9S1$7r1WS@!~D69=>=lLy8T$o;IFo9}r13;6W><#9T zCK}?zXG7ixGUeAL#jAQ)~(u_-!x0Y}^9*A&_?DUCaO4MHytQbk2;k>fPSZRm4} zR{{=`SJoB{B_OrF1J0NNbQ(Em>jW>zh<&0=h6iYW1VL`~mS4sS3f?Cbdr0<~6G>z$ zhDD_g5{bzSIb#l=>Fy9Er#Mt10+b7VAraAF>?xKC-1&5?=ww<*6gPckJ;5;Kcs;oK z)oWH6#|m@*xu^R6B=u!sF(vil-jWr{q~o-AIFxI7;ULm_PW4;lbLsI$;_P-*J|T=C z2fP-)a@KPvzaAC)tYPw2C!_O{#qaOOQ$j&0pD5_kaRZCLhP5zGgX`;8A~!3Xz6m9) z(Mbn64JI!<*tX{gbjCQ7s6`WU!M=cvNYg2#`tD=yFX&qau>9Z{cF4U;Wn7>hD zxi37b;*#3BUo(1k_t5+UjimSAikTy8uEKv4Sp!!uWAPnskHk7;GF1@+`1m5D6z0Z- zJ`>~oS%MEaxCWiZtHlqpaU;RFB548lzcVHPc|Ujyn%+U~rK?XVw6#a{$SxmTlci+xB0{9PO1_f917sDND~Fr%o=1hHdD;i$rf(8dd~H5D50HW?GeXzbxD)%<^1}r;3k# z6PY+=p>w-f&>82oteCAo+ucH^4*|y`gF3;Z>VBv)*8GKYtIF-F_`k(ngH6I0B-viH ze63q$c?uCwkm{O!e6O~H$JP?828*dCjOm&0lS!!_cuVq z20qG`ET8(?4mDlaX@6E=OLRuHZ4ehVm+d_nuo^yUbSzyCu&B5#jevmxCQ=jft14On zm#ro!c(iN6+&EA)tW55UORMp%NWjl`_UwH;zf1ik9d2|e=cP3(oKzDQH#8zJ)&;OypcV zBgg8G{!Nb6?Xid;2=MC`5c=Ohx__}^5h4wQxgP*=8^XJ>s*4*2PAw%Wsn-(%Y+`+n z`%^cBV!``>-DDQ=7v~X^Zbk`ja{ea`Chwm-hSLB;iJxaQ*g}(Q`|SMgf;E8#E4gPY zV=FFEa<76wgB74Zq=|2A6rg4Piv}Be-S@M!$S5y2V*M(w?ZBH-YdO!jzm(RmYQv(1 zJ`ay1pM*5I0N)~`47m;mxg{s<5)%n0qZ+T2l(E|OPUj)l!D1<=*)wFP7Cm0+vN65C zuW_%rRrFr1%jln;m*p9RJ-+#WNPEBh6Vt&k!vMzL7H)37pIQy>-qoj_ZR>mBWF-C7{AHSKO| z_j~pyX?E+(LtMh^06zXC9Gk-820c9v_i@bYu_ii8{HcE|c~or1hKFp~hpjCc7pnln z^*RH&j&CXA&2v|;>74zo;Si#Qx+=W=__D~=tK7zEGIVrr%@`Sl_+%b@??&r<@7{ZS zRp{H$X~d&yee^N(`vj{zar`%?eRWzNzVbl0zPVMVt9PBh(aDCK|Y~(BAt6Cn$N}86eJRZpqKT ze3`{Xm|(~$fa1)?7z|(P$W;bfx)gceJ4^8 zy1CoDR@%xDm|X9-KlSYVW@^URC#feLQ@Y3fL;U>lm^Mc{;`2PbaJJIY_90e62*%p@ zO3m5|*W%&pYsuxXPFwWkv+pEiQ)=Lyt@ok1HoE&eU-H2bPo({3YWxTLSlT${&9(;BW`JR40GHwV^S94YHDo$t**Jf zhJsb!ARw)~soVSx8}oYYO6A9olOIQBMERcshPV3b1Kyi?%n%4EN#M3gwPmn-MuKV; z-p2Nv`LIW@lOygHZ6;peG3E2i*xiFIxIvA$%$WyM#8!h`d=C;juSWtTCD^gX4!_8&|4!CyxC85c(uP?k2ng884w=nvEsy@!!w z*VZ;x`VzUJ>|s%HF1{_t$byxR?f7*`=fCfK&~!^_YgD0qrcQ1 S#lZ%EKMhqKm3KERg8l~^zAl`Yo@i)kAhnxyE#KvYwsovbM6AIN?pF(=Dtlx=s+PTks_xN@Al!L!(2POeXCct*g7MLBlb( zAh)`vx!JJ`)=rTKL-fjM*8yK7N)lt0{eWVq!w&^x=sS`eEh6 ze!+eOFYx)2Xi2oU7s1iN8YP5MQB&~?_I7k~1WoY&fBqlQK=9iM7yyWd8tLON`1JlB z*su{YEUooQzJKg$*- z)|0n#l^-e#);64cYko#5hsNFTUAq>e6;R+i8KnAmkQ0)Tl2m51h=#)f*lAk;4kH8o z@v+sDWmVeMfFuC>J_pPNAmc*-ZSI zhSr=^vCgK6>p{8S#qrB z-nrt!i22n;8twl5uC8a#`l>I3F+TA9d%ypt7#VPr!Ff&VM-3aFJi?!aS&i0`8qpJ$ zsJJf6fxC!G88i=?ev<0gqP#YiFGim5PR7o^`i$Dv2mkeBiFqct-#&vnCB4lfU|U@gOz)i?T-Gwz9e@_)c!Um0tjp010! zd^Lc<24di=_4_l1LdV4l$5Mr4TTj}o|J8!`0%DSO?|N=}DG_j5)eCBK4q3I0IZwU4 zqPLmU%01MEm539;Zt>s%b@nWbz`{p0*kO29;E~2pV^eX*IKRqD)D@X0p%$@aE04uZ z<|^Xu%4-UIZA&C^B|m8R@s9Z-lB9KuDZgXC24LpN886j_c9(r&CN#^CG%Amvcyc{y zJo)Tf5%H%p;r`N8!4rfM=nj>n`Qgf$kWIz_tzU`R1gdrIF$K zOJ{H7%avN+Qtm#u>ZA$4QRIoj1sSQgsO%Wo&EfN+;+Kdq49Q$MOw@W!t&lkjg|DTR+$Z#fd_Z%K>|d)EQos!|A$HQSzuY*wEt7 zO-3xH+AJx4sAou8U;piRI;hYAAU&O7!nVKMm)=xx;sB-+ZcF{-tb$(*IwYre#Dp|h zv;UobYUq>?ttjqZl?)Q(e)}ZHE%u?hddTDMDx;_)J4P256$KFlA>#fVC8+>8d+RB% zPYQaJNc)cQl5#yy&qN<9fM!VHwJ#U2qYlZ$DA0qd=OQSJU?K@*ziE@=@ib~I=&<6K zk<)@WzrSIrfmV6$!9IzAd+RrvV4^fSCFSF*%eyHny#(4^q>nUJSRM={Yq%t^zGtW} zN{%Zlj3~-AF#kKhK1@mxD~K0lTlC}8YvQ->)I7sK&-^{FYW&0ZNIT8tuNpy*R;olKB=sPOST3Z$pP z__VW6lV_{UfvZKYuF>6q0a6Eo=bSDZZfi(XEULb!NtqKS2^?jYBVHbl$(E6_V#G9) zPxdFlR94>@c8)dfH!#tCI8M71btzWW9jG@*jSIgC3br8s5Iywn{k25QT-A?sf$LIv zPMqfjWW0~TQ2-LhxCB@Jo-ln}`uoSF#Wd~gU;qa^EQ6Cb4UE1%yLqfu>{0^^Mt%kx zyY5W$lSM7JP~5%gV|tz=;Zpz`s3Ntw{f3=~h`qFEmcoltq;R$%(Uc8z>0+ftdUTZU zmNUQNb>reV?SoOphHgd``Y|c#7D%24(0-p>kWB4+K7wz0 zSSCgu7TkY=K7Ve^tICDpTy1{;`_mrrP3N!+m;z7-uB~ft zH!V>2?U(|${k%}$gPtw#AMu#0^b;PJ(0}r}UU*yrQ%W}~t7fSEuAuL_OwwkLOmM;> zVg)cNMpUbnZlov@_X#mYFZCT<=6wlzPA`l{F|d@EuN0<1u)*|kHa{$rC*ya`jxGmk z{aVPQ_5IE}nCgbMwL90y55-|^d0DWku>H5eiKA!fw}1%lYKT;)Zy~R(&t!j{sAbhK`r$%Rl(* zmr>t2$e95-jNKBSf{Rq|R`2!j$t6-O$4!sW7%kh?0{KSDAtENyXVc%?``WcTcU-3K zDy5`cvc#yXW0Dl8kfk`Yf{xDQx|=iIX*p8Yn{9Y&pO4;wfstp$xa%qo852so@M2S7 z`Bia;T5fOY@%WB}bampz9Z2*A=Voq@AR(gDu~m6?^v+|45iw#)6~vi@5Gos9jL9fH z6k2*HZOzsF?6Ji*n?3(~17v(-3}^HQ{n_*|{r3mTWu#mdFKKdm?I(6hORxF78)FCW zZ;}o(I(=JS-i`ROv9FJt8(DoE^+tM{B2Cyu6yk zw6*K_Wuwkr5mRk!h{cDkjw=Xe>7YMp+V)N8H^*b#>C)&2;?t@lW+pnF*K_->@`b_CfxkOD zF@wg&RX!@c+#Q(+6nO)dAf>^Tm5o|{dKFV(bPtR>nWNmX@DkeuTid;Y38-{b@j2{% z2`cIQ23Y047Xb#OTJf(=Xg~eO4&NpeB(ienJI-ybN`)96p{{qFdrjGscalCvN`eWQ zAbrn&>`hO9&?MEn%kB1s4Xd&~59mrR<=>nyxO5+pC_eRsuTce zlY{X{h1u4yrn@Td4a`>Fvn(<-20%x0)4^fFKa835iXQ@|+o&wYNF1~BiSsk0|aP9fn2Bu*k zFI1AKt*oAhC=rl{4+$s$a-7p`PjxP~Z7t`opJVD`Kfi=$Lhy|db#~Ol&!T0+oxvU2Lq1vhe}=l;-~mLfSJbE?gwTjxUwdj3hi0>k z*GQzqhXIMel~%id-U^cwH5@o*= zBHU;kh!fm4?`0mgH=1)cXN9m(5e2j95#d7>h;7qTcsyGL>RgaJ7Umu*J_s2EUfc{A z2z=UOtPB0cr+YT=$>M+c3g|ZL`|Ys@)~Gz@T??Cr5ls(!Zhy0@@n1YezXAaS6BW08 z{^I(aw>Nc5v9ue?amd;__{s#WKN5uz0SRE=<;iWn=62+X-LwVU)UDi9sg;&T6%|J< z(IFtM49uVDc9;3%T^aGljSg7IJTzJkF~;L&3cf4%7ImWyvQyvDE8vsM|B)W zQno%#xsYO&NtIDkQw-qCTqFsl2)C~sAY85ZMtI)`p`su>?_Tn7mlpVeO5ZvaU?aV- z_7<3(Ew#>;{zga>*n5mEHsjS^J!KG`82R11wUN8QaymE_U|sklg=4r1Haq*Jtu25j zxHvsR&Y!rgcug?|v zN6k^88SOh8Ib^WA`+F*1`>A3@fE|lB(=^qUQ!J?P4HHrS8chd3)oF zYm!hZtS=%Tu>#GaSvU3DbJn6Ei`BXT8|-LouBT@2r6}em-$MDMZV43_<#_%$XE8IZ zB%n^34eUGak(s{(A|vZNP+1~)G7fuM`Ky|{Hw zZyGS;sg23<8OwYy33@wZ_uDWbmW=G7njb%g!lX~|zQN@B+GGn4Bowqq7gbi)aYpO# zZaWqZgZn`~k}v84OX*8ELP2#pVYc~=x!b9z^Y6!H*~{PM2xmhT54o1nl136=U|fTWmP?mX_%@ZyZ(mJ+Dz(hKVi8as!G_P>>8QCGU& z8Vh10?4dK4y?K;g#^@u50;?1e#agq7Z3XgWksK_<$i4?dDy5`|P*iM3M5>#^2RS^Y z{v>DG)4jsOpWnO_)K8Vgfl*R*C^ZbqvvE|p=KYG~;kq6yO1KRC-r>7rmFKc=H``>O z`)aG|Mn^&cu(_rJ1xfe*EI;%eL?Hp`p_$DGh(Hd!3CP7Lzm7Um|2?N%HBRnhdG@r? zw%s;en}0@ht(xivvKHEcpm79Qi$};^^IPxV9-{y;W3rR+DbTqHuuI`lRpVo{kkJX+ z?g)EH5Zl-*ky=lYPgr#2Q&>V3@cFJT(-&4d9XVv7*Z?JprEtPo$jv~RY;t|ywpHwj zg0+<1-qxMi3G%^%j$Ep$a4^tOagf3*im zV~Ztw>T?4!fEpXfr<^I6y(lO=<~Babk`mLrWymdB=Zp~Brv(ni^2^?OdS%ROw}qfQ z#SlEO%RWAnV5H3Zk)$`j_)gGGtG4xV^UA5#47)w*{k2er+FU=2|<`3-ED_yIwDPwE? z`gLJ}gCDY>b6S{BopkOM^1v*0^AN{X_Lm)Lsh6*0q^GA&-X6O*OW*iq*X2sDUgWQS z@}=t~H#gLGLG2&UU~Nl(Dp&0Ya92yoR!l4R+>zH;ZKlG-QVrylj>b$hH;#<_4fZ+6 zS~VKdf!y$uJuCBDI5#)b#<(=l_uHlnLLh^cs>6RTRf~2GI{>>|IT*M;l~0$x z?lj&mW$tM{BO{}D#SFX3a6%6;nV)&K1M!FaQwL-Zf_pgyHo8GlU4$@M>t_J&hzIhLg=Cf zNCn|*s=7EZCSwaq1bO8Zi5D?iaTMWgiLos zZ5;MhRXZhDqa65^0bacQ#Q#$c^eFHZ|Lg_-1rnqMr;6>6c2~!lI==&pEToJ7dNJ@& znCwCJTTh$_UG>F&%Sb3-I0u^zjzW-A#fF-i{FSV$QFex>9{MZW1w5lNUlu*wCW2j_ z`-dn?qqt%N#gRG|%2}h{%=zL7aW8pUXImdeu$W*6Q|`VYdr>s2=r}*$ofZna{XjgV z9(xP2pC5gze|&3*W&rngkX*6$PRueTy#or@7k2Ehja8M?VK7w@vB88T8dEi&TwuU=Qbh8x`D+4tj zfRonRv#OXXD_N=KliRN}*4;_#xl)gy&I(1AKjUb=8v=g}w*jwM*R5EGev<+i&alf{ z+py3QLrqcT8rL6GR}V!BvdsQ&kn;B5xHDh>!VtW3eblEupSAq!S5I3;Mc~G=DjL@qj1<$8>uFJ7~v*DkoUg?J2TSL1q+G40)6^OWf7FKUX=y z{l~Z=e066B4pbSgjY>;=Zi;e$_vX3a?mMHw*^HLY8-V9^{r%%jr{~{@4*lwR>~FrI z#sL+Ajcuii9h)O{D+o|E#>y8JAWu|@b9q6 z86krX&NnwMl76TCVmDKpdkJp2!4wC4<}=IC5_p*CFC?55`0LS_DABJ&($eU1+aaA> z@4v>go}S<&(^3xo*tsQwu<^c#*^!2c0@-?QnD|2C;07ibOm?J_BO78=o*6I z&Wic+E{szNjK_JqZ^4P;NNda7_RZiT{1YXtiThT8&xnN1I2IY?9AOW+-zs8B>2IFE z6AR$7Nps>;XZd*M^FCYi?Vb;9Qr9g>TraK{9{;Fd#XL0i+GZ{dmTn{Y`7C_qH$R?i zK%Y3uPxeZuZ>xvb%#=G@@zeNYj0XBp^GggaY(e-QMG3m)4*N|)3+DJ31&bD>mg^O} z#r)~bcH?E_g`1U99-lG^G(ImOy153Z9f$V5P?D3mnta{WJiZM7jD(9jAEENTvGFRG zeY_mfD!we;z^L?3f7C@U&`TPC(Ty`6I#Ltar~S$1vBNZAH03XvUh&j!`zMk1i$$6f z&-fvwjUq}E&SK8#k0_?9yNiq707}6oimz^?Oul2|Fb5}y5dd?d&Vl~NfAt87$ArsXl+mG{etn-uc*9Wo=J z^q&O^?vHB@@WED;UD=&J4alr!KyUk$8RoxVzbOgjf5puksS#HAuO>J9b}N{kceO? zIEqMtfCxmEK!gDW4T~DW8a9cPkRZWC0wI|%=*&6&(K)UE=A5}dzH`2JyZ65Ld7ks8 zd%7RhSigNe06^pTu|sG8;3NQGV`?gp1+Hb<2Y?FjboDx{P$(=Njhr0q$vQ!=Xi$d(pH z89!#ErV&|PZNwxz`jiVk--((}4hhEL((N(vmW(C_`V2ZFGlM+nEnSW|85kNk9dnW_NpRV)NSCI@=g6455TqU0a=6k1ne!Yin=2*GUWs$5Gqyq}IAf zBtjz1sjZ!X!J@enT%knB=%b=NUCO#rg(4oKzS_mriT#r0bjV&P6588Y@_0N;8>7@( zG*84eGBqMzAsXy7z+Vc%1!8dLG1YxksFVL+|LYwXHc~GJ0AX_ckdxQtLBU8U9{m=6 zHSq6-n38f#xa%gHH56~YwoB^Eo0jJsLSApP-m{~{wB+?gg~HshG;HrYfRDf1Sh1Wj za9uo)AiJ5r7VHrSsD7c;lc&0+?a&WP`qn+c+soe7cVxD2yWKQgg@tb zitDkhLzIp%_Xn=)92@R$8IvX2JmI|+Z118?O|jH#8#fq`Ua3Vz)3b&2Ee%UUd+LTF z&FO&vwqaAi9qqL}*RphGXCgT-UR(gN$$BaVq(C@TrZF{XyBaLjjrwrgf&{LrM^DC#cUFDa zi>om@+Z}-b-jlXY+pz&CT|H(1a<#%vhmnsZ&YT*UT}mkGT}s&Na08Jvk25}HN-Lj= zX3y9N2Zu~@ZdcsS*H>j8`p2T8o*|U4=-N(jh96&29Dt73Kl?2R3OZ3_9dtoA-@(T? z7PS=UJAL;$lLpVBxm4J#~U&Kq*wV*`^3w0ld%5hrSio|iNHTuTH2ev zn;wa}4BZY8;Exr29&hkz{&RhMtESP}=F2BbTt{h!OTQHNDGqZ}Mjpe2ikrJVB1S?O zNrFKw6i_oDF@S5)gs#UUdSrITJa#&))+?_GD-cO*YN7!5@ud$Dd_iWWPX*L4rXQe{ zm(z~)N*6LR<|E69%_VwaoSB)HmghN7Z@7)pR*h_Uz-DayYgBU}81A==7jWtARs%~1(pCB}aP+pucHCzp~Z&<_+0q5iiS zqomTowWmwdqNp`_SkHtck>1JoU9_J^JF)vpgHU`NDaMxjKM;Ifyp0hJ4oHvmz`H@Tj-)6?-RJ?t=JD$3* zK+p){h(tT3-M9Aj$rHf~}!ihyoED!#LPQpJ!m@Yezz6v<``o zwxP#=P4Iur=f?<{^1T}hv4QaSS}py1I88q$ONkV{9n8AAzTP7z&EnoXGpNwjVrC_sXhx_qdd&U2jPFo&l)}89RN|GG9W0TA zTiHM3w}AfVEl%b!d(RrDMf;5`FY%-6&}Yt^2`9UpGHz%nNY+tv1So$}XlQBa$r!n8 z0=M~8X}PXjN`>w&CeAWB=3#AZRTX0d$@JT*8SPhEia?nA?{L`K86Rs-S(<;ED5sC2 zGv#uJc7HP!NcHkHf0h!y>Rqam)=(5KJM;Vr$s_MzwL5UsKi_th%kaf}7z$U-ggYJu zHxwCyxUY7l_!T7VAC-wX{&U0eA3~LKsAYb($jU(%Wn&j>+%!9PLm-ZARoxahKOu}j z(Z^QL@o!CPSBSN{N{OS1_?4yE*@=m%=Tjoq?UU7XoyBh;F794m=^LTAkV0%&IF}Yt zp{v16Y+9Joj~O4+sgJimXjdT|Y4{*IFH_e(al+j1p9RM*Nkz+ZFJRC`1oUnjNX^Hc z&1|3XkElcimx$ldZAlE%*||oMR5D~@g2x9^Id&@A%vR0HU+K}lqyj>RoCgCgx9x zetFd@&wU@~*In>7dS12aXZDF4V@gqx#m5)j9I%i*a<)LimDPtyIw_0u!N%fuf%Lf{ zK0g7~lT{wvq^~eUAX*j55)KY^z9pM0jB@5i_#gDHruYH4S|RFY@G5kbfJJDmViwY# zKaOW5#?7i%agPXx2nVrd2!i^nb(P+TKtlNi&iL?0}iNx zKK)=aZjvv?geM|<(v`!{LW6*yPy5K}VDe|rRG&Y?DW}apJZpX$L_y4&-zRo%ZVI>= W!HQn?r^tfI', len(d)) + t + d + struct.pack('>I', zlib.crc32(t + d)) png = b'\x89PNG\r\n\x1a\n' + chunk(b'IHDR', struct.pack('>IIBBBBB', W, Hh, 8, 2, 0, 0, 0)) - png += chunk(b'IDAT', zlib.compress(raw)) + chunk(b'IEND', b'') + png += chunk(b'IDAT', zlib.compress(raw, 9)) + chunk(b'IEND', b'') open(path, 'wb').write(png) From c24101ae3188df7bbe0eced2afbef59b61d3471b Mon Sep 17 00:00:00 2001 From: Mason Chen <124631707+Mason363@users.noreply.github.com> Date: Fri, 25 Sep 2026 22:12:15 +0000 Subject: [PATCH 6/6] Release notes: link images to the release tag Claude-Session: https://claude.ai/code/session_015sUPTASWW2uFfWAa7KFy6o --- .github/release-notes.md | 6 +++--- .github/workflows/release.yml | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/release-notes.md b/.github/release-notes.md index 2ae0807..710a5fc 100644 --- a/.github/release-notes.md +++ b/.github/release-notes.md @@ -1,5 +1,5 @@

- Playing against a bot + Playing against a bot

Chess for the NumWorks N0120, in a native app of about 20 KB. @@ -18,6 +18,6 @@ Chess for the NumWorks N0120, in a native app of about 20 KB. * **Full rules:** castling, en passant, underpromotion, and draws by stalemate, repetition, the 50-move rule or insufficient material.

- Solving a puzzle - Two-player clock + Solving a puzzle + Two-player clock

diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2c2db9f..2a6006e 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -30,6 +30,7 @@ jobs: if gh release view "$TAG" > /dev/null 2>&1; then gh release upload "$TAG" output/chess.nwa --clobber else + sed "s/{{TAG}}/$TAG/g" .github/release-notes.md > notes.md gh release create "$TAG" output/chess.nwa --target "$GITHUB_SHA" \ - --title "NumChess $TAG" --notes-file .github/release-notes.md + --title "NumChess $TAG" --notes-file notes.md fi