TITLE=Technologies ROUTE=/technologies LOCALE=en MODIFIED=1792615260 URL=https://wiki.teletypegames.org/technologies L=1 #58 L=2 #20 L=3 #71 L=4 #22 L=5 #21 L=6 #24 L=7 #56 L=8 #64 L=9 #61 L=10 #62 L=11 #46 L=12 #60 L=13 #63 L=14 #69 L=15 #16 L=16 #18 L=17 #72 L=18 #57 L=19 #45 L=20 #47 L=21 #43 L=22 #44 L=23 #66 L=24 #34 L=25 #28 L=26 #15 L=27 https://nginx.org/ L=28 https://traefik.io/ L=29 https://gitea.io/ L=30 https://woodpecker-ci.org/ L=31 https://getgrav.org/ L=32 https://www.redmine.org/ L=33 https://matomo.org/ L=34 https://uptime.kuma.pet/ L=35 https://www.docker.com/ L=36 #68 L=37 #31 L=38 https://github.com/giampaolo/pyftpdlib L=39 #50 L=40 #49 L=41 https://github.com/ggml-org/llama.cpp L=42 https://huggingface.co/Qwen L=43 https://ai.google.dev/gemma L=44 #73 L=45 https://github.com/GoogleContainerTools/kaniko L=46 https://github.com/abarichello/godot-ci L=47 https://sourceforge.net/projects/acme-crossass/ L=48 https://vice-emu.sourceforge.io L=49 https://github.com/calmopyrin/yapesdl L=50 https://emulatorjs.org L=51 https://www.jsdelivr.com/ L=52 https://gitea.com/gitea/tea L=53 https://partner.steamgames.com/ L=54 #59 L=55 https://mermaid.js.org/ L=56 https://github.com/open-watcom/open-watcom-v2 L=57 https://www.dosbox-staging.org/ L=58 https://www.winehq.org/ L=59 #7 L=60 #10 L=61 https://www.irfanview.com/ L=62 https://archaicvirus.github.io/Pic-2-Tic/ L=63 https://mrlevrocks.itch.io/utf L=64 https://cxong.github.io/tic-80-examples/rle-image L=65 https://batocera.org L=66 https://www.retroarch.com L=67 https://store.steampowered.com/ L=68 https://itch.io L=69 http://www.brutman.com/mTCP/ q│ Everything named anywhere in this wiki: the languages we write in, the q│ software we run, the libraries we depend on. Libraries are grouped under q│ their language. Nothing comes from a lock file — this is what the wiki talks q│ about, with a link wherever a page exists. 1Languages 1═════════ t┌───────────────┬───────────────────┬───────────────────┬────────────────────┐ t│h Language t│h What it is t│h Where we use it t│h Licence t│ t├───────────────┼───────────────────┼───────────────────┼────────────────────┤ t│0 bGo0 t│0 Statically typed t│0 1Ebitengine games, t│0 BSD-3-Clause t│ t│0 t│0 systems language; t│0 2Inkwell, the t│0 t│ t│0 t│0 cross-compiler t│0 3Updater bot, the t│0 t│ t│0 t│0 and WebAssembly t│0 wiki fetcher and t│0 t│ t│0 t│0 target in the t│0 Countdowner t│0 t│ t│0 t│0 standard t│0 t│0 t│ t│0 t│0 toolchain. t│0 t│0 t│ t├───────────────┼───────────────────┼───────────────────┼────────────────────┤ t│0 bRuby0 t│0 Dynamic, t│0 The Catalog API, t│0 Ruby / t│ t│0 t│0 object-oriented t│0 4WarpEngine and t│0 BSD-2-Clause t│ t│0 t│0 scripting t│0 the 5RuBBS gem t│0 t│ t│0 t│0 language. t│0 t│0 t│ t├───────────────┼───────────────────┼───────────────────┼────────────────────┤ t│0 bPython 30 t│0 Scripting t│0 Every 6store t│0 PSF-2.0 t│ t│0 t│0 language present t│0 6engine — standard t│0 t│ t│0 t│0 on practically t│0 library only, t│0 t│ t│0 t│0 every host. t│0 because a t│0 t│ t│0 t│0 t│0 Batocera box has t│0 t│ t│0 t│0 t│0 cpython30 and no t│0 t│ t│0 t│0 t│0 cpip0 t│0 t│ t├───────────────┼───────────────────┼───────────────────┼────────────────────┤ t│0 bRust0 t│0 Memory-safe t│0 7Bevy games t│0 MIT / Apache-2.0 t│ t│0 t│0 systems language, t│0 t│0 t│ t│0 t│0 built around t│0 t│0 t│ t│0 t│0 Cargo crates. t│0 t│0 t│ t├───────────────┼───────────────────┼───────────────────┼────────────────────┤ t│0 bLua0 t│0 Small embeddable t│0 8TIC-80 cartridges t│0 MIT t│ t│0 t│0 scripting t│0 and 9LÖVE games t│0 t│ t│0 t│0 language. t│0 t│0 t│ t├───────────────┼───────────────────┼───────────────────┼────────────────────┤ t│0 bJavaScript0 t│0 The language of t│0 10Phaser games and t│0 ECMA-262 standard; t│ t│0 t│0 the browser. t│0 the renderer of t│0 V8 BSD-3-Clause t│ t│0 t│0 t│0 the 11WarpEngine t│0 t│ t│0 t│0 t│0 11Client t│0 t│ t├───────────────┼───────────────────┼───────────────────┼────────────────────┤ t│0 bTypeScript0 t│0 JavaScript with t│0 The public site's t│0 Apache-2.0 t│ t│0 t│0 static types, t│0 frontend and the t│0 t│ t│0 t│0 compiled before t│0 11WarpEngine Client t│0 t│ t│0 t│0 it ships. t│0 t│0 t│ t├───────────────┼───────────────────┼───────────────────┼────────────────────┤ t│0 bGDScript0 t│0 Godot's own t│0 12Godot projects t│0 MIT (Godot) t│ t│0 t│0 Python-flavoured t│0 t│0 t│ t│0 t│0 scripting t│0 t│0 t│ t│0 t│0 language. t│0 t│0 t│ t├───────────────┼───────────────────┼───────────────────┼────────────────────┤ t│0 bC#0 t│0 Godot's second t│0 Available in t│0 ECMA-334 standard; t│ t│0 t│0 first-class t│0 12Godot t│0 .NET MIT t│ t│0 t│0 scripting option. t│0 t│0 t│ t├───────────────┼───────────────────┼───────────────────┼────────────────────┤ t│0 b6502 assembly0 t│0 Machine language t│0 Blessing of Ra, t│0 — (instruction t│ t│0 t│0 of the C64's MOS t│0 Rabbit Scooter — t│0 set) t│ t│0 t│0 6510 and the t│0 C64, the C64 t│0 t│ t│0 t│0 Plus/4's t│0 Demo, the 13Plus/4 t│0 t│ t│0 t│0 7501/8501. t│0 13demo t│0 t│ t├───────────────┼───────────────────┼───────────────────┼────────────────────┤ t│0 bFree Pascal0 t│0 Compiled Pascal; t│0 The 14Discord t│0 GPL-2.0+ t│ t│0 t│0 small t│0 14thread scheduler t│0 (compiler), t│ t│0 t│0 self-contained t│0 t│0 LGPL-2.1+ with t│ t│0 t│0 binaries. t│0 t│0 linking exception t│ t│0 t│0 t│0 t│0 (RTL) t│ t├───────────────┼───────────────────┼───────────────────┼────────────────────┤ t│0 bC / C++0 t│0 Compiled systems t│0 15DOSINST and t│0 ISO standard; Open t│ t│0 t│0 languages: C++ t│0 16GMENU, built with t│0 Watcom Sybase Open t│ t│0 t│0 for our 16-bit t│0 Open Watcom for t│0 Watcom Public t│ t│0 t│0 DOS programs, C t│0 DOS (DOSINST also t│0 License 1.0, GCC t│ t│0 t│0 for the fantasy t│0 for Win32); t│0 GPL-3.0+, Clang t│ t│0 t│0 console. t│0 building the t│0 Apache-2.0 t│ t│0 t│0 t│0 TIC-80 Pro binary t│0 t│ t│0 t│0 t│0 from source in t│0 t│ t│0 t│0 t│0 the 8builder image t│0 t│ t├───────────────┼───────────────────┼───────────────────┼────────────────────┤ t│0 bJava0 t│0 Cross-platform, t│0 Running the t│0 GPL-2.0 with t│ t│0 t│0 JVM-hosted t│0 Unique Tile t│0 Classpath t│ t│0 t│0 language. t│0 Finder jar when t│0 Exception t│ t│0 t│0 t│0 producing TIC-80 t│0 (OpenJDK) t│ t│0 t│0 t│0 tiles t│0 t│ t├───────────────┼───────────────────┼───────────────────┼────────────────────┤ t│0 bPHP0 t│0 Server-side t│0 Grav CMS, which t│0 PHP-3.01 t│ t│0 t│0 scripting t│0 serves this 17wiki t│0 (BSD-3-Clause from t│ t│0 t│0 language. t│0 t│0 PHP 8.4) t│ t├───────────────┼───────────────────┼───────────────────┼────────────────────┤ t│0 bPOSIX csh0 t│0 Lowest common t│0 Every store t│0 POSIX standard; t│ t│0 t│0 denominator t│0 installer and t│0 dash BSD-3-Clause, t│ t│0 t│0 shell, so a t│0 uninstaller t│0 bash GPL-3.0+ t│ t│0 t│0 curl-piped t│0 t│0 t│ t│0 t│0 installer runs t│0 t│0 t│ t│0 t│0 where c/bin/sh0 is t│0 t│0 t│ t│0 t│0 dash. t│0 t│0 t│ t├───────────────┼───────────────────┼───────────────────┼────────────────────┤ t│0 bERB0 t│0 Ruby's embedded t│0 WarpEngine's t│0 Ruby / t│ t│0 t│0 templating t│0 per-platform 4CI t│0 BSD-2-Clause t│ t│0 t│0 syntax. t│0 4pipeline t│0 t│ t│0 t│0 t│0 4templates and t│0 t│ t│0 t│0 t│0 RuBBS screen t│0 t│ t│0 t│0 t│0 templates t│0 t│ t├───────────────┼───────────────────┼───────────────────┼────────────────────┤ t│0 bTwig0 t│0 PHP templating t│0 The wiki theme t│0 BSD-3-Clause t│ t│0 t│0 language used by t│0 and its 17JSON API t│0 t│ t│0 t│0 Grav. t│0 17endpoints t│0 t│ t└───────────────┴───────────────────┴───────────────────┴────────────────────┘ r────────────────────────────────────────────────────────────────────────────── 1Game engines, frameworks and platforms 1══════════════════════════════════════ t┌──────────────────┬──────────────────┬──────────────────┬───────────────────┐ t│h Technology t│h What it is t│h Notes t│h Licence t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 1bEbitengine0 t│0 2D game engine t│0 Powers Rabbit t│0 Apache-2.0 t│ t│0 t│0 for Go; desktop t│0 Roller t│0 t│ t│0 t│0 and WebAssembly t│0 t│0 t│ t│0 t│0 from one code t│0 t│0 t│ t│0 t│0 base. t│0 t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 7bBevy0 t│0 Data-driven ECS t│0 First-class WASM t│0 MIT / Apache-2.0 t│ t│0 t│0 engine in Rust, t│0 support t│0 t│ t│0 t│0 no visual editor t│0 t│0 t│ t│0 t│0 — projects are t│0 t│0 t│ t│0 t│0 Cargo crates. t│0 t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 12bGodot0 t│0 Open-source t│0 Exports web plus t│0 MIT t│ t│0 t│0 2D/3D engine t│0 Windows, Linux t│0 t│ t│0 t│0 with a visual t│0 and a universal t│0 t│ t│0 t│0 editor and t│0 macOS build t│0 t│ t│0 t│0 headless export. t│0 t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 9bLÖVE (Love2D)0 t│0 Lightweight Lua t│0 Web builds via t│0 zlib t│ t│0 t│0 framework for 2D t│0 clove.js0 t│0 t│ t│0 t│0 games, packaged t│0 t│0 t│ t│0 t│0 as a c.love0 t│0 t│0 t│ t│0 t│0 archive. t│0 t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 10bPhaser0 t│0 HTML5 2D t│0 Needs no t│0 MIT t│ t│0 t│0 framework: t│0 compilation — t│0 t│ t│0 t│0 WebGL/Canvas, t│0 the simplest of t│0 t│ t│0 t│0 physics, tweens, t│0 our pipelines t│0 t│ t│0 t│0 particles. t│0 t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 8bTIC-800 t│0 Fantasy console t│0 The Pro version t│0 MIT; the Pro t│ t│0 t│0 with editors for t│0 is a commercial t│0 binary is a paid t│ t│0 t│0 code, sprites, t│0 itch.io product; t│0 product t│ t│0 t│0 maps, sound and t│0 our builder t│0 t│ t│0 t│0 music. t│0 image compiles t│0 t│ t│0 t│0 t│0 it from source t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 18bCommodore 640 t│0 The 8-bit home t│0 PAL, t│0 — (hardware) t│ t│0 t│0 computer, t│0 raster-polled, t│0 t│ t│0 t│0 targeted in t│0 no interrupts t│0 t│ t│0 t│0 assembly as a t│0 t│0 t│ t│0 t│0 c.prg0. t│0 t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 13bCommodore Plus/40 t│0 The 264-series t│0 Same ACME t│0 — (hardware) t│ t│0 t│0 sibling: same t│0 toolchain as the t│0 t│ t│0 t│0 6502 core, TED t│0 C64, cxplus40 t│0 t│ t│0 t│0 instead of t│0 emulator t│0 t│ t│0 t│0 VIC-II and SID, t│0 t│0 t│ t│0 t│0 c.prg0 from c$10010. t│0 t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 2bInkwell0 t│0 Our t│0 Implements the t│0 MIT t│ t│0 t│0 point-and-click t│0 SCUMM-era t│0 t│ t│0 t│0 framework for t│0 skeleton t│0 t│ t│0 t│0 Go, a DSL layer t│0 t│0 t│ t│0 t│0 over Ebitengine. t│0 t│0 t│ t└──────────────────┴──────────────────┴──────────────────┴───────────────────┘ r────────────────────────────────────────────────────────────────────────────── 1In-house engines, services and tools 1════════════════════════════════════ t┌───────────────────┬──────────────┬────────────────────┬────────────────────┐ t│h Project t│h Language t│h What it does t│h Licence t│ t├───────────────────┼──────────────┼────────────────────┼────────────────────┤ t│0 4bWarpEngine0 t│0 Ruby t│0 Mountable Rails t│0 MIT t│ t│0 t│0 t│0 engine: retro t│0 t│ t│0 t│0 t│0 software catalog, t│0 t│ t│0 t│0 t│0 CI pipelines, t│0 t│ t│0 t│0 t│0 build endpoints, t│0 t│ t│0 t│0 t│0 public JSON API. t│0 t│ t├───────────────────┼──────────────┼────────────────────┼────────────────────┤ t│0 5bRuBBS0 t│0 Ruby t│0 Synchronet-style t│0 MIT t│ t│0 t│0 t│0 Telnet BBS t│0 t│ t│0 t│0 t│0 framework: t│0 t│ t│0 t│0 t│0 negotiation, ANSI t│0 t│ t│0 t│0 t│0 frame buffer, t│0 t│ t│0 t│0 t│0 widgets, themes. t│0 t│ t├───────────────────┼──────────────┼────────────────────┼────────────────────┤ t│0 2bInkwell0 t│0 Go t│0 Point-and-click t│0 MIT t│ t│0 t│0 t│0 framework on t│0 t│ t│0 t│0 t│0 Ebitengine; every t│0 t│ t│0 t│0 t│0 entity is a struct t│0 t│ t│0 t│0 t│0 literal in a t│0 t│ t│0 t│0 t│0 manager. t│0 t│ t├───────────────────┼──────────────┼────────────────────┼────────────────────┤ t│0 6bwarpstore0 t│0 Python t│0 Shared core of the t│0 MIT t│ t│0 t│0 t│0 store engines: t│0 t│ t│0 t│0 t│0 catalog, releases, t│0 t│ t│0 t│0 t│0 host matching, t│0 t│ t│0 t│0 t│0 state, HTTP — one t│0 t│ t│0 t│0 t│0 dependency-free t│0 t│ t│0 t│0 t│0 file. t│0 t│ t├───────────────────┼──────────────┼────────────────────┼────────────────────┤ t│0 19bWarpEngine0 t│0 Python t│0 Writes a catalog t│0 MIT t│ t│0 19bBatocera Store0 t│0 t│0 into a Batocera t│0 t│ t│0 t│0 t│0 box's ROM folders t│0 t│ t│0 t│0 t│0 and merges t│0 t│ t│0 t│0 t│0 cgamelist.xml0. t│0 t│ t├───────────────────┼──────────────┼────────────────────┼────────────────────┤ t│0 20bWarpEngine0 t│0 Python t│0 Renders a catalog t│0 MIT t│ t│0 20bRetroArch Store0 t│0 t│0 as RetroArch c.lpl0 t│0 t│ t│0 t│0 t│0 playlists with box t│0 t│ t│0 t│0 t│0 art, locally or t│0 t│ t│0 t│0 t│0 exported. t│0 t│ t├───────────────────┼──────────────┼────────────────────┼────────────────────┤ t│0 11bWarpEngine Client0 t│0 TypeScript t│0 Desktop app t│0 MIT t│ t│0 t│0 t│0 showing the t│0 t│ t│0 t│0 t│0 catalog as a grid t│0 t│ t│0 t│0 t│0 of cards, with the t│0 t│ t│0 t│0 t│0 store engine built t│0 t│ t│0 t│0 t│0 in. t│0 t│ t├───────────────────┼──────────────┼────────────────────┼────────────────────┤ t│0 21bTTG Batocera0 t│0 JSON t│0 Our own store t│0 MIT t│ t│0 21bStore0 / 22bTTG0 t│0 t│0 definitions — a t│0 t│ t│0 22bRetroArch Store0 t│0 t│0 cconfig.json0 and t│0 t│ t│0 t│0 t│0 two wrapper t│0 t│ t│0 t│0 t│0 scripts on top of t│0 t│ t│0 t│0 t│0 the engines above. t│0 t│ t├───────────────────┼──────────────┼────────────────────┼────────────────────┤ t│0 23bBBS Server0 t│0 Ruby t│0 The public t│0 MIT t│ t│0 t│0 t│0 Teletype Games BBS t│0 t│ t│0 t│0 t│0 on t│0 t│ t│0 t│0 t│0 cteletypegames.0 t│0 t│ t│0 t│0 t│0 corg:23230, built on t│0 t│ t│0 t│0 t│0 RuBBS. t│0 t│ t├───────────────────┼──────────────┼────────────────────┼────────────────────┤ t│0 3bUpdater bot0 t│0 Go t│0 Polls the wiki, t│0 MIT t│ t│0 t│0 t│0 Redmine and Gitea, t│0 t│ t│0 t│0 t│0 announces new t│0 t│ t│0 t│0 t│0 activity on t│0 t│ t│0 t│0 t│0 Discord; a cache t│0 t│ t│0 t│0 t│0 prevents repeats. t│0 t│ t├───────────────────┼──────────────┼────────────────────┼────────────────────┤ t│0 14bStatus bot0 t│0 Free Pascal t│0 Creates a weekly t│0 MIT t│ t│0 t│0 t│0 Discord thread at t│0 t│ t│0 t│0 t│0 a set time and t│0 t│ t│0 t│0 t│0 posts the opening t│0 t│ t│0 t│0 t│0 message. t│0 t│ t├───────────────────┼──────────────┼────────────────────┼────────────────────┤ t│0 bCountdowner0 t│0 Go t│0 Countdown timers t│0 Not declared t│ t│0 t│0 t│0 for deadlines and t│0 t│ t│0 t│0 t│0 releases — see t│0 t│ t│0 t│0 t│0 24Server. t│0 t│ t├───────────────────┼──────────────┼────────────────────┼────────────────────┤ t│0 bwiki-fetcher0 t│0 Go t│0 Two-way git sync t│0 MIT t│ t│0 t│0 t│0 of the live 17wiki: t│0 t│ t│0 t│0 t│0 takes pushes in on t│0 t│ t│0 t│0 t│0 a Gitea webhook, t│0 t│ t│0 t│0 t│0 commits the t│0 t│ t│0 t│0 t│0 server's edits, t│0 t│ t│0 t│0 t│0 parks conflicts on t│0 t│ t│0 t│0 t│0 a branch. t│0 t│ t├───────────────────┼──────────────┼────────────────────┼────────────────────┤ t│0 25bbackup-scripts0 t│0 Make + shell t│0 Dumps databases, t│0 MIT t│ t│0 t│0 t│0 mirrors t│0 t│ t│0 t│0 t│0 repositories, t│0 t│ t│0 t│0 t│0 prunes old dumps, t│0 t│ t│0 t│0 t│0 rsyncs off-site. t│0 t│ t├───────────────────┼──────────────┼────────────────────┼────────────────────┤ t│0 15bDOSINST0 t│0 C++ t│0 Installs, updates t│0 GPL-3.0 (because t│ t│0 t│0 t│0 and removes DOS t│0 of mTCP) t│ t│0 t│0 t│0 programs from the t│0 t│ t│0 t│0 t│0 read-only FTP t│0 t│ t│0 t│0 t│0 store at t│0 t│ t│0 t│0 t│0 cftp.teletypegames.0 t│0 t│ t│0 t│0 t│0 corg0; the same t│0 t│ t│0 t│0 t│0 source builds t│0 t│ t│0 t│0 t│0 cDOSINSTW.EXE0 for t│0 t│ t│0 t│0 t│0 Windows 95 and t│0 t│ t│0 t│0 t│0 later. t│0 t│ t├───────────────────┼──────────────┼────────────────────┼────────────────────┤ t│0 16bGMENU0 t│0 C++ t│0 Game menu for DOS: t│0 MIT t│ t│0 t│0 t│0 lists the game t│0 t│ t│0 t│0 t│0 folders with their t│0 t│ t│0 t│0 t│0 cMETADATA.INI0 data, t│0 t│ t│0 t│0 t│0 searches, filters, t│0 t│ t│0 t│0 t│0 sorts and starts t│0 t│ t│0 t│0 t│0 them; cGMEDIT.EXE0 t│0 t│ t│0 t│0 t│0 edits cMETADATA.INI0 t│0 t│ t│0 t│0 t│0 in a form. NASM t│0 t│ t│0 t│0 t│0 assembly up to t│0 t│ t│0 t│0 t│0 1.1.1. t│0 t│ t├───────────────────┼──────────────┼────────────────────┼────────────────────┤ t│0 26bBMAGIC0 t│0 C++ t│0 Boot Magic, a boot t│0 MIT t│ t│0 t│0 t│0 menu editor for t│0 t│ t│0 t│0 t│0 DOS: maps and t│0 t│ t│0 t│0 t│0 edits the boot t│0 t│ t│0 t│0 t│0 menu of cCONFIG.SYS0 t│0 t│ t│0 t│0 t│0 and cAUTOEXEC.BAT0 t│0 t│ t│0 t│0 t│0 and the startup t│0 t│ t│0 t│0 t│0 options of t│0 t│ t│0 t│0 t│0 cMSDOS.SYS0, with a t│0 t│ t│0 t│0 t│0 diff and a backup t│0 t│ t│0 t│0 t│0 before every save. t│0 t│ t└───────────────────┴──────────────┴────────────────────┴────────────────────┘ r────────────────────────────────────────────────────────────────────────────── 1Server and infrastructure software 1══════════════════════════════════ t┌──────────────────┬──────────────────┬──────────────────┬───────────────────┐ t│h Software t│h What it is t│h Role here t│h Licence t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 27bNginx0 t│0 HTTP server and t│0 Entry point for t│0 BSD-2-Clause t│ t│0 t│0 reverse proxy. t│0 all traffic, SSL t│0 t│ t│0 t│0 t│0 termination — t│0 t│ t│0 t│0 t│0 see 24Server t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 28bTraefik0 t│0 HTTP reverse t│0 Routes the t│0 MIT t│ t│0 t│0 proxy and load t│0 containerised t│0 t│ t│0 t│0 balancer with t│0 services by Host t│0 t│ t│0 t│0 dynamic routing. t│0 header t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 29bGitea0 t│0 Self-hosted Git: t│0 Our forge at t│0 MIT t│ t│0 t│0 repositories, t│0 cgit.0 t│0 t│ t│0 t│0 code review, t│0 cteletypegames.0 t│0 t│ t│0 t│0 issues. t│0 corg0; also hosts t│0 t│ t│0 t│0 t│0 a rubygems t│0 t│ t│0 t│0 t│0 package registry t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 30bWoodpecker CI0 t│0 CI/CD engine t│0 Runs every t│0 Apache-2.0 t│ t│0 t│0 integrated with t│0 build; its t│0 t│ t│0 t│0 Gitea. t│0 configuration t│0 t│ t│0 t│0 t│0 extension t│0 t│ t│0 t│0 t│0 fetches the t│0 t│ t│0 t│0 t│0 pipeline from t│0 t│ t│0 t│0 t│0 WarpEngine t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 31bGrav0 t│0 Flat-file CMS; t│0 This 17wiki t│0 MIT t│ t│0 t│0 content is t│0 t│0 t│ t│0 t│0 markdown on t│0 t│0 t│ t│0 t│0 disk. t│0 t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 32bRedmine0 t│0 Project t│0 Development t│0 GPL-2.0 t│ t│0 t│0 management and t│0 tasks, bugs and t│0 t│ t│0 t│0 issue tracking. t│0 milestones t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 33bMatomo0 t│0 Privacy-friendly t│0 Traffic across t│0 GPL-3.0+ t│ t│0 t│0 self-hosted t│0 the public sites t│0 t│ t│0 t│0 analytics. t│0 t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 34bUptime Kuma0 t│0 Self-hosted t│0 Availability of t│0 MIT t│ t│0 t│0 uptime monitor t│0 every t│0 t│ t│0 t│0 with alerts. t│0 server-side t│0 t│ t│0 t│0 t│0 component t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 35bDocker & Docker0 t│0 Container t│0 Every service on t│0 Apache-2.0 t│ t│0 bCompose0 t│0 runtime and t│0 the box, and t│0 (Engine, t│ t│0 t│0 orchestration. t│0 every CI builder t│0 Compose); Docker t│ t│0 t│0 t│0 image t│0 Desktop t│ t│0 t│0 t│0 t│0 proprietary t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 bMySQL 80 t│0 Relational t│0 The catalog t│0 GPL-2.0 t│ t│0 t│0 database. t│0 database behind t│0 (Community), t│ t│0 t│0 t│0 the 36Catalog API t│0 commercial dual t│ t│0 t│0 t│0 t│0 licence t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 bMariaDB0 t│0 MySQL-compatible t│0 Redmine's t│0 GPL-2.0 t│ t│0 t│0 relational t│0 database — t│0 t│ t│0 t│0 database. t│0 25backed up with t│0 t│ t│0 t│0 t│0 its own dump t│0 t│ t│0 t│0 t│0 script t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 bPostgreSQL0 t│0 Relational t│0 The wiki's t│0 PostgreSQL t│ t│0 t│0 database. t│0 database — t│0 t│ t│0 t│0 t│0 25backed up with t│0 t│ t│0 t│0 t│0 cpg_backup.sh0 t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 bphpMyAdmin0 t│0 Web UI for t│0 Database t│0 GPL-2.0 t│ t│0 t│0 inspecting and t│0 inspection in t│0 t│ t│0 t│0 managing MySQL. t│0 the 37deployment t│0 t│ t│0 t│0 t│0 stack t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 bApache0 t│0 Web server t│0 Serves the wiki t│0 Apache-2.0 t│ t│0 t│0 bundled in the t│0 inside its t│0 t│ t│0 t│0 Grav container t│0 container t│0 t│ t│0 t│0 alongside PHP t│0 t│0 t│ t│0 t│0 8.1. t│0 t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 bTelnet0 t│0 The 1970s remote t│0 How you reach t│0 — (IETF standard, t│ t│0 t│0 terminal t│0 the 23BBS t│0 RFC 854) t│ t│0 t│0 protocol, IAC t│0 t│0 t│ t│0 t│0 negotiation and t│0 t│0 t│ t│0 t│0 all. t│0 t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 brsync0 t│0 Incremental file t│0 Off-site t│0 GPL-3.0+ t│ t│0 t│0 synchronisation t│0 mirroring of the t│0 t│ t│0 t│0 over SSH. t│0 25backups t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 bDiscord0 t│0 Chat platform t│0 Team t│0 Proprietary t│ t│0 t│0 with bots and t│0 communication, t│0 service t│ t│0 t│0 webhooks. t│0 and the target t│0 t│ t│0 t│0 t│0 of both bots t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 bGoogle Calendar0 t│0 Shared calendar. t│0 Team scheduling t│0 Proprietary t│ t│0 t│0 t│0 — see t│0 service t│ t│0 t│0 t│0 Communication t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 bYouTube Data API0 t│0 Google's API for t│0 The public t│0 Proprietary t│ t│0 t│0 channel and t│0 site's t│0 service (Google t│ t│0 t│0 video metadata. t│0 latest-video t│0 API ToS) t│ t│0 t│0 t│0 panel t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 38bpyftpdlib0 t│0 FTP server t│0 The anonymous, t│0 MIT t│ t│0 t│0 library for t│0 read-only 39FTP t│0 t│ t│0 t│0 Python. t│0 39server at t│0 t│ t│0 t│0 t│0 cftp.0 t│0 t│ t│0 t│0 t│0 cteletypegames.0 t│0 t│ t│0 t│0 t│0 corg0 (the 15DOSINST t│0 t│ t│0 t│0 t│0 store and the t│0 t│ t│0 t│0 t│0 40TTGWIKI export), t│0 t│ t│0 t│0 t│0 in a container; t│0 t│ t│0 t│0 t│0 DOSINST and t│0 t│ t│0 t│0 t│0 TTGWIKI test t│0 t│ t│0 t│0 t│0 against it t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 41bllama.cpp0 t│0 Local t│0 The shared 44model t│0 MIT; Apache-2.0 t│ t│0 (cllama-server0) t│0 language-model t│0 44service in t│0 (Qwen3.5); Gemma t│ t│0 with 42bQwen3.50 t│0 inference with t│0 router mode, t│0 Terms of Use t│ t│0 0.8B and 43bGemma 30 t│0 an t│0 several models t│0 t│ t│0 270M t│0 OpenAI- t│0 behind one t│0 t│ t│0 t│0 compatible HTTP t│0 address; Qwen3.5 t│0 t│ t│0 t│0 API; small t│0 is the Lapis-ACP t│0 t│ t│0 t│0 open-weights t│0 of SERMO in the t│0 t│ t│0 t│0 instruction t│0 23BBS t│0 t│ t│0 t│0 models from t│0 t│0 t│ t│0 t│0 Alibaba and t│0 t│0 t│ t│0 t│0 Google. t│0 t│0 t│ t└──────────────────┴──────────────────┴──────────────────┴───────────────────┘ r────────────────────────────────────────────────────────────────────────────── 1Build, CI and developer tooling 1═══════════════════════════════ t┌──────────────────┬──────────────────┬──────────────────┬───────────────────┐ t│h Tool t│h What it is t│h Where it shows t│h Licence t│ t│h t│h t│h up t│h t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 bGNU Make0 t│0 Build automation t│0 The common front t│0 GPL-3.0+ t│ t│0 t│0 driven by a t│0 door of every t│0 t│ t│0 t│0 cMakefile0. t│0 engine's t│0 t│ t│0 t│0 t│0 workflow, the t│0 t│ t│0 t│0 t│0 backups and the t│0 t│ t│0 t│0 t│0 client t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 bGit0 t│0 Distributed t│0 Everything, t│0 GPL-2.0 t│ t│0 t│0 version control. t│0 including the t│0 t│ t│0 t│0 t│0 version fallback t│0 t│ t│0 t│0 t│0 when t│0 t│ t│0 t│0 t│0 cmetadata.json0 is t│0 t│ t│0 t│0 t│0 absent t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 bDocker builder0 t│0 Per-platform CI t│0 cgodot-builder0, t│0 MIT t│ t│0 bimages0 t│0 images t│0 ctic80pro0, t│0 (Dockerfiles); t│ t│0 t│0 configured t│0 cbevy-builder0 (as t│0 base images per t│ t│0 t│0 server-side in t│0 cbevy-ttg0, with t│0 component t│ t│0 t│0 WarpEngine's t│0 our crates t│0 t│ t│0 t│0 cci_platforms0. t│0 preloaded), t│0 t│ t│0 t│0 t│0 clove-builder0, t│0 t│ t│0 t│0 t│0 cebitengine-0 t│0 t│ t│0 t│0 t│0 cbuilder0 (as t│0 t│ t│0 t│0 t│0 cebitengine-ttg0, t│0 t│ t│0 t│0 t│0 with our Go t│0 t│ t│0 t│0 t│0 modules t│0 t│ t│0 t│0 t│0 preloaded), t│0 t│ t│0 t│0 t│0 cphaser-builder0, t│0 t│ t│0 t│0 t│0 cc64-builder0, t│0 t│ t│0 t│0 t│0 cplus4-builder0, t│0 t│ t│0 t│0 t│0 and t│0 t│ t│0 t│0 t│0 ccommodore-player0 t│0 t│ t│0 t│0 t│0 for the C64 / t│0 t│ t│0 t│0 t│0 Plus/4 package t│0 t│ t│0 t│0 t│0 step, and t│0 t│ t│0 t│0 t│0 cci-tools0 for the t│0 t│ t│0 t│0 t│0 helper steps t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 45bkaniko0 t│0 Container image t│0 Building our own t│0 Apache-2.0 t│ t│0 t│0 builder that t│0 CI images into t│0 t│ t│0 t│0 needs no Docker t│0 the Gitea t│0 t│ t│0 t│0 daemon. t│0 registry, with t│0 t│ t│0 t│0 t│0 no privileged t│0 t│ t│0 t│0 t│0 mode and no t│0 t│ t│0 t│0 t│0 docker socket t│0 t│ t│0 t│0 t│0 (c.woodpecker/ci-0 t│0 t│ t│0 t│0 t│0 cimages.yaml0 in t│0 t│ t│0 t│0 t│0 the t│0 t│ t│0 t│0 t│0 teletypegames t│0 t│ t│0 t│0 t│0 repo) t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 bUbuntu / Debian0 t│0 The base Linux t│0 Ubuntu 24.04 for t│0 Free software, t│ t│0 b/ Alpine0 t│0 distributions of t│0 the TIC-80 Pro t│0 mixed per package t│ t│0 t│0 those images. t│0 build, Debian t│0 t│ t│0 t│0 t│0 for the Rust t│0 t│ t│0 t│0 t│0 toolchain, t│0 t│ t│0 t│0 t│0 Alpine for the t│0 t│ t│0 t│0 t│0 light steps t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 46bgodot-ci0 t│0 Headless Godot t│0 The base of our t│0 MIT t│ t│0 t│0 editor plus t│0 cgodot-builder0 t│0 t│ t│0 t│0 matching export t│0 image t│0 t│ t│0 t│0 templates, in a t│0 t│0 t│ t│0 t│0 container. t│0 t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 bCMake0 t│0 Cross-platform t│0 Compiling TIC-80 t│0 BSD-3-Clause t│ t│0 t│0 build system t│0 Pro from source t│0 t│ t│0 t│0 generator. t│0 t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 bSDL20 t│0 Cross-platform t│0 A build t│0 zlib t│ t│0 t│0 graphics, audio t│0 dependency of t│0 t│ t│0 t│0 and input t│0 TIC-80; shipped t│0 t│ t│0 t│0 library. t│0 next to yapeSDL t│0 t│ t│0 t│0 t│0 in the C64 / t│0 t│ t│0 t│0 t│0 Plus/4 native t│0 t│ t│0 t│0 t│0 players t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 bmingw-w640 t│0 GCC t│0 Windows builds t│0 Public domain / t│ t│0 t│0 cross-compiler t│0 from the Linux t│0 ZPL-2.1 (runtime, t│ t│0 t│0 targeting t│0 CI image (Bevy's t│0 headers); GCC t│ t│0 t│0 Windows. t│0 cx86_64-pc-0 t│0 GPL-3.0+ t│ t│0 t│0 t│0 cwindows-gnu0) t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 bosxcross0 t│0 Cross- t│0 The planned t│0 GPL-2.0 (the t│ t│0 t│0 compilation t│0 route to mac t│0 Apple SDK under t│ t│0 t│0 toolchain for t│0 binaries for t│0 Apple's Xcode t│ t│0 t│0 macOS targets. t│0 Bevy and t│0 licence) t│ t│0 t│0 t│0 Ebitengine t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 47bACME0 t│0 6502 t│0 Assembling every t│0 GPL-2.0+ t│ t│0 t│0 cross-assembler. t│0 18C64 and 13Plus/4 t│0 t│ t│0 t│0 t│0 project into a t│0 t│ t│0 t│0 t│0 c.prg0 t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 48bVICE0 (cx64sc0, t│0 The Commodore t│0 Running C64 and t│0 GPL-2.0+ t│ t│0 cxplus40) t│0 8-bit emulator t│0 Plus/4 builds t│0 t│ t│0 t│0 family. t│0 locally, the t│0 t│ t│0 t│0 t│0 emulator behind t│0 t│ t│0 t│0 t│0 Batocera's cc640 t│0 t│ t│0 t│0 t│0 system, and — as t│0 t│ t│0 t│0 t│0 the cvice_x64sc0 / t│0 t│ t│0 t│0 t│0 cvice_xplus40 t│0 t│ t│0 t│0 t│0 libretro cores t│0 t│ t│0 t│0 t│0 compiled to t│0 t│ t│0 t│0 t│0 WebAssembly — t│0 t│ t│0 t│0 t│0 the browser t│0 t│ t│0 t│0 t│0 player of every t│0 t│ t│0 t│0 t│0 C64 and Plus/4 t│0 t│ t│0 t│0 t│0 release t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 49byapeSDL0 t│0 Attila Grósz's t│0 The native t│0 GPL-2.0+ t│ t│0 t│0 SDL2 emulator of t│0 player: the t│0 t│ t│0 t│0 the Commodore t│0 ccommodore-player0 t│0 t│ t│0 t│0 264 family, the t│0 image wraps the t│0 t│ t│0 t│0 C64 and the t│0 upstream Linux, t│0 t│ t│0 t│0 VIC-20; one t│0 Windows and t│0 t│ t│0 t│0 binary, the t│0 universal macOS t│0 t│ t│0 t│0 machine type t│0 binaries around t│0 t│ t│0 t│0 comes from its t│0 every C64 and t│0 t│ t│0 t│0 cyape.conf0. t│0 Plus/4 c.prg0, t│0 t│ t│0 t│0 t│0 with a launcher t│0 t│ t│0 t│0 t│0 that sets the t│0 t│ t│0 t│0 t│0 machine type and t│0 t│ t│0 t│0 t│0 autostarts the t│0 t│ t│0 t│0 t│0 program t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 50bEmulatorJS0 t│0 Browser t│0 The "Play in t│0 GPL-3.0 t│ t│0 t│0 front-end for t│0 browser" page of t│0 t│ t│0 t│0 libretro cores t│0 C64 and Plus/4 t│0 t│ t│0 t│0 compiled to t│0 releases; t│0 t│ t│0 t│0 WebAssembly. t│0 loader, minified t│0 t│ t│0 t│0 t│0 runtime and the t│0 t│ t│0 t│0 t│0 VICE core are t│0 t│ t│0 t│0 t│0 self-hosted in t│0 t│ t│0 t│0 t│0 the release's t│0 t│ t│0 t│0 t│0 own c/file/0 t│0 t│ t│0 t│0 t│0 folder, nothing t│0 t│ t│0 t│0 t│0 comes from its t│0 t│ t│0 t│0 t│0 CDN t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 bfswatch0 t│0 Filesystem t│0 The cmake watch0 t│0 GPL-3.0+ t│ t│0 t│0 change watcher. t│0 target in every t│0 t│ t│0 t│0 t│0 engine's t│0 t│ t│0 t│0 t│0 Makefile t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 bjq0 t│0 Command-line t│0 Reading t│0 MIT t│ t│0 t│0 JSON processor. t│0 cmetadata.json0 in t│0 t│ t│0 t│0 t│0 pipelines t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 bcurl0 t│0 HTTP client. t│0 Downloading t│0 curl (MIT-style) t│ t│0 t│0 t│0 runtimes and t│0 t│ t│0 t│0 t│0 HTML shells, and t│0 t│ t│0 t│0 t│0 every t│0 t│ t│0 t│0 t│0 upload/publish t│0 t│ t│0 t│0 t│0 call t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 bzip / unzip0 t│0 Archive t│0 Building the t│0 Info-ZIP t│ t│0 t│0 packaging. t│0 versioned t│0 t│ t│0 t│0 t│0 release ZIPs t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 bsed / awk0 t│0 Stream and text t│0 Patching web t│0 GPL-3.0+ (GNU); t│ t│0 t│0 processing. t│0 players, t│0 BSD awk MIT-style t│ t│0 t│0 t│0 extracting t│0 t│ t│0 t│0 t│0 versions, t│0 t│ t│0 t│0 t│0 splitting TIC-80 t│0 t│ t│0 t│0 t│0 asset sections t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 cmksquashfsb /0 t│0 SquashFS packer t│0 Rebuilding the t│0 GPL-2.0+ / t│ t│0 creadelf0 t│0 and ELF t│0 fused LÖVE t│0 GPL-3.0+ t│ t│0 t│0 inspector. t│0 AppImage without t│0 t│ t│0 t│0 t│0 executing it on t│0 t│ t│0 t│0 t│0 an Alpine t│0 t│ t│0 t│0 t│0 builder t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 bHomebrew0 t│0 macOS package t│0 cmake deps0 t│0 BSD-2-Clause t│ t│0 t│0 manager. t│0 installs cacme0 t│0 t│ t│0 t│0 t│0 and cvice0 with it t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 bVisual Studio0 t│0 Editor whose t│0 cCmd+Shift+B0 runs t│0 MIT (Code - OSS t│ t│0 bCode0 t│0 ctasks.json0 we t│0 the default t│0 source); t│ t│0 t│0 ship per engine. t│0 build task in t│0 proprietary t│ t│0 t│0 t│0 every tools t│0 binaries t│ t│0 t│0 t│0 repository t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 51bjsDelivr0 t│0 Public CDN for t│0 Where the pinned t│0 Free service t│ t│0 t│0 npm packages. t│0 cphaser.min.js0 is t│0 t│ t│0 t│0 t│0 fetched at build t│0 t│ t│0 t│0 t│0 time t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 cadb0 t│0 Android Debug t│0 Pushing an t│0 Apache-2.0 t│ t│0 t│0 Bridge. t│0 exported t│0 t│ t│0 t│0 t│0 RetroArch tree t│0 t│ t│0 t│0 t│0 onto a phone t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 ccodesignb /0 t│0 Apple's signing t│0 Ad-hoc signing t│0 Proprietary t│ t│0 bGatekeeper0 t│0 tool and its t│0 the Godot and t│0 (macOS) t│ t│0 t│0 runtime policy. t│0 WarpEngine t│0 t│ t│0 t│0 t│0 Client macOS t│0 t│ t│0 t│0 t│0 bundles t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 csipsb /0 t│0 Image and media t│0 Re-encoding t│0 Proprietary t│ t│0 bImageMagick /0 t│0 converters, t│0 catalog box art t│0 (sips) / t│ t│0 bFFmpeg0 t│0 first one found. t│0 to the PNG t│0 ImageMagick / t│ t│0 t│0 t│0 RetroArch t│0 LGPL-2.1+ or t│ t│0 t│0 t│0 insists on t│0 GPL-2.0+ (FFmpeg) t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 52ctea0 t│0 The Gitea t│0 Creating t│0 MIT t│ t│0 t│0 command-line t│0 releases and t│0 t│ t│0 t│0 client. t│0 replacing their t│0 t│ t│0 t│0 t│0 attachments from t│0 t│ t│0 t│0 t│0 a workstation t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 53bSteamworks SDK0 / t│0 Valve's SDK, t│0 The 54Steam t│0 Proprietary t│ t│0 bSteamPipe0 / t│0 content pipeline t│0 54publication plan t│0 (Steamworks SDK t│ t│0 csteamcmd0 t│0 and CLI. t│0 t│0 Access Agreement) t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 55bMermaid0 t│0 Text-to-diagram t│0 The architecture t│0 MIT t│ t│0 t│0 syntax rendered t│0 diagrams on t│0 t│ t│0 t│0 in markdown. t│0 24Server and t│0 t│ t│0 t│0 t│0 elsewhere t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 56bOpen Watcom v20 t│0 C/C++ compiler t│0 Builds 15DOSINST t│0 Sybase Open t│ t│0 t│0 and linker for t│0 (DOS and Win32) t│0 Watcom Public t│ t│0 t│0 16-bit DOS and t│0 and 16GMENU; their t│0 License 1.0 t│ t│0 t│0 Win32; the t│0 pipelines t│0 t│ t│0 t│0 snapshot release t│0 install a pinned t│0 t│ t│0 t│0 has macOS and t│0 snapshot t│0 t│ t│0 t│0 Linux binaries. t│0 t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 bDOSBox / 57DOSBox0 t│0 DOS emulators. t│0 Running the DOS t│0 GPL-2.0+ t│ t│0 57bStaging0 t│0 t│0 programs t│0 t│ t│0 t│0 t│0 locally, and t│0 t│ t│0 t│0 t│0 headless in CI: t│0 t│ t│0 t│0 t│0 GMENU's screen t│0 t│ t│0 t│0 t│0 tests (Debian's t│0 t│ t│0 t│0 t│0 DOSBox 0.74) and t│0 t│ t│0 t│0 t│0 DOSINST's t│0 t│ t│0 t│0 t│0 end-to-end tests t│0 t│ t│0 t│0 t│0 (DOSBox Staging, t│0 t│ t│0 t│0 t│0 with its NE2000 t│0 t│ t│0 t│0 t│0 network t│0 t│ t│0 t│0 t│0 emulation) t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 58bWine0 t│0 Runs Windows t│0 The tests of t│0 LGPL-2.1+ t│ t│0 t│0 programs on t│0 cDOSINSTW.EXE0 in t│0 t│ t│0 t│0 Linux. t│0 the DOSINST t│0 t│ t│0 t│0 t│0 pipeline t│0 t│ t└──────────────────┴──────────────────┴──────────────────┴───────────────────┘ r────────────────────────────────────────────────────────────────────────────── 1Content creation tools 1══════════════════════ t┌──────────────────┬──────────────────┬──────────────────┬───────────────────┐ t│h Tool t│h What it is t│h Where it shows t│h Licence t│ t│h t│h t│h up t│h t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 59bLibreSprite0 t│0 Open-source t│0 Sprite work t│0 GPL-2.0 t│ t│0 t│0 pixel art editor t│0 t│0 t│ t│0 t│0 for sprites and t│0 t│0 t│ t│0 t│0 animation; a t│0 t│0 t│ t│0 t│0 fork of t│0 t│0 t│ t│0 t│0 Aseprite. t│0 t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 60bPixelorama0 t│0 Cross-platform t│0 Sprite and t│0 MIT t│ t│0 t│0 pixel art t│0 animation work t│0 t│ t│0 t│0 editor: layers, t│0 t│0 t│ t│0 t│0 frames, custom t│0 t│0 t│ t│0 t│0 brushes. t│0 t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 61bIrfanView0 t│0 Windows image t│0 Merging images t│0 Freeware, free t│ t│0 t│0 viewer with t│0 before unifying t│0 for t│ t│0 t│0 batch and merge t│0 TIC-80 palettes t│0 non-commercial t│ t│0 t│0 functions. t│0 t│0 use t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 62bPic-2-Tic0 t│0 Web app that t│0 Applying the t│0 MIT t│ t│0 t│0 re-maps an image t│0 PICO-8 palette t│0 t│ t│0 t│0 onto a fixed t│0 to merged t│0 t│ t│0 t│0 console palette. t│0 backgrounds t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 63bUnique Tile0 t│0 Java tool that t│0 Producing TIC-80 t│0 Name your own t│ t│0 63bFinder0 t│0 reduces an image t│0 tiles — needs t│0 price on itch.io; t│ t│0 t│0 to its unique t│0 OpenJDK t│0 no licence stated t│ t│0 t│0 tiles. t│0 t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 64bRLE image0 t│0 Run-length t│0 Compressing t│0 MIT t│ t│0 64bencoder0 t│0 encoder for t│0 TIC-80 images t│0 t│ t│0 t│0 TIC-80 images. t│0 t│0 t│ t└──────────────────┴──────────────────┴──────────────────┴───────────────────┘ r────────────────────────────────────────────────────────────────────────────── 1Distribution platforms and retro hosts 1══════════════════════════════════════ t┌──────────────────┬──────────────────┬──────────────────┬───────────────────┐ t│h Platform t│h What it is t│h How we reach it t│h Licence t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 65bBatocera0 t│0 Plug-and-play t│0 The 19Batocera t│0 GPL-2.0+ t│ t│0 t│0 retro gaming t│0 19store engine t│0 (Buildroot- t│ t│0 t│0 Linux distro. t│0 installs into t│0 based); bundled t│ t│0 t│0 t│0 its ROM folders t│0 emulators per t│ t│0 t│0 t│0 t│0 component t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 bEmulationStation0 t│0 Batocera's t│0 Our metadata and t│0 MIT t│ t│0 t│0 front-end, whose t│0 box art are t│0 t│ t│0 t│0 library lives in t│0 merged into it, t│0 t│ t│0 t│0 cgamelist.xml0. t│0 never over the t│0 t│ t│0 t│0 t│0 user's own t│0 t│ t│0 t│0 t│0 entries t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 66bRetroArch0 t│0 Frontend for t│0 The 20RetroArch t│0 GPL-3.0 t│ t│0 t│0 libretro cores: t│0 20store engine t│0 t│ t│0 t│0 desktop, t│0 writes c.lpl0 t│0 t│ t│0 t│0 Android, Steam t│0 playlists for it t│0 t│ t│0 t│0 Deck, handhelds. t│0 t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 blibretro cores0 t│0 The emulator t│0 cvice_x64_0 t│0 Per core: VICE t│ t│0 t│0 plugins t│0 clibretro0 boots t│0 GPL-2.0+, TIC-80 t│ t│0 t│0 RetroArch loads. t│0 our c.prg0 files, t│0 MIT t│ t│0 t│0 t│0 ctic80_libretro0 t│0 t│ t│0 t│0 t│0 our c.tic0 t│0 t│ t│0 t│0 t│0 cartridges; the t│0 t│ t│0 t│0 t│0 WebAssembly t│0 t│ t│0 t│0 t│0 builds of t│0 t│ t│0 t│0 t│0 cvice_x64sc0 and t│0 t│ t│0 t│0 t│0 cvice_xplus40 run t│0 t│ t│0 t│0 t│0 inside t│0 t│ t│0 t│0 t│0 EmulatorJS on t│0 t│ t│0 t│0 t│0 the public site t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 67bSteam0 t│0 Valve's t│0 Planned for the t│0 Proprietary t│ t│0 t│0 storefront; t│0 point-and-click t│0 service t│ t│0 t│0 entry via t│0 title — see the t│0 t│ t│0 t│0 Steamworks and t│0 54publication plan t│0 t│ t│0 t│0 the Steam Direct t│0 t│0 t│ t│0 t│0 fee. t│0 t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 68bitch.io0 t│0 Indie t│0 Where TIC-80 Pro t│0 Proprietary t│ t│0 t│0 storefront. t│0 and Pixelorama t│0 service t│ t│0 t│0 t│0 are sold t│0 t│ t├──────────────────┼──────────────────┼──────────────────┼───────────────────┤ t│0 bMS-DOS0 (and DOS t│0 The 16-bit PC t│0 15DOSINST installs t│0 Proprietary t│ t│0 on Windows 9x) t│0 operating t│0 programs from t│0 (MS-DOS); FreeDOS t│ t│0 t│0 system, on real t│0 our FTP store, t│0 GPL-2.0+ t│ t│0 t│0 machines or in t│0 16GMENU is the t│0 t│ t│0 t│0 DOSBox. t│0 game menu on top t│0 t│ t└──────────────────┴──────────────────┴──────────────────┴───────────────────┘ r────────────────────────────────────────────────────────────────────────────── 1Libraries by language 1═════════════════════ 2Ruby 2──── t┌─────────────────┬─────────────────────────────────────────────┬────────────┐ t│h Library t│h What it does t│h Licence t│ t├─────────────────┼─────────────────────────────────────────────┼────────────┤ t│0 bRuby on Rails 80 t│0 The framework behind the 36Catalog API and t│0 MIT t│ t│0 t│0 the host of 4WarpEngine. t│0 t│ t├─────────────────┼─────────────────────────────────────────────┼────────────┤ t│0 4bwarp_engine0 t│0 Our mountable engine gem: catalog domain, t│0 MIT t│ t│0 t│0 CI pipeline server, build endpoints, public t│0 t│ t│0 t│0 API. t│0 t│ t├─────────────────┼─────────────────────────────────────────────┼────────────┤ t│0 5bbbs (RuBBS)0 t│0 Our Telnet BBS gem: Telnet, ANSI, widgets, t│0 MIT t│ t│0 t│0 themes, markdown, CSV persistence. t│0 t│ t├─────────────────┼─────────────────────────────────────────────┼────────────┤ t│0 bActiveAdmin0 t│0 The admin panel (blaze theme) for the t│0 MIT t│ t│0 t│0 catalog, the image library and the file t│0 t│ t│0 t│0 manager. t│0 t│ t├─────────────────┼─────────────────────────────────────────────┼────────────┤ t│0 bDevise0 t│0 Authentication for the admin panel. t│0 MIT t│ t├─────────────────┼─────────────────────────────────────────────┼────────────┤ t│0 bBlueprinter0 t│0 Serializers shaping the JSON API responses. t│0 MIT t│ t├─────────────────┼─────────────────────────────────────────────┼────────────┤ t│0 bapipie-rails0 t│0 REST API documentation, browsable as t│0 Apache-2.0 t│ t│0 t│0 Swagger UI at c/api/swagger0. t│0 t│ t├─────────────────┼─────────────────────────────────────────────┼────────────┤ t│0 bRSpec0 t│0 The test framework for the API and the t│0 MIT t│ t│0 t│0 engine. t│0 t│ t├─────────────────┼─────────────────────────────────────────────┼────────────┤ t│0 bRuboCop0 t│0 Linting, on the crubocop-rails-omakase0 t│0 MIT t│ t│0 t│0 preset. t│0 t│ t├─────────────────┼─────────────────────────────────────────────┼────────────┤ t│0 bArtii0 t│0 FIGlet big-banner rendering inside RuBBS. t│0 MIT t│ t└─────────────────┴─────────────────────────────────────────────┴────────────┘ 2Go 2── t┌──────────────────────────────┬──────────────────────────────┬──────────────┐ t│h Library t│h What it does t│h Licence t│ t├──────────────────────────────┼──────────────────────────────┼──────────────┤ t│0 1bEbitengine0 t│0 The engine itself: t│0 Apache-2.0 t│ t│0 (cgithub.com/hajimehoshi/0 t│0 rendering, input, game loop. t│0 t│ t│0 cebiten/v20) t│0 t│0 t│ t├──────────────────────────────┼──────────────────────────────┼──────────────┤ t│0 bEbiten caudio0 t│0 Ebitengine's audio package, t│0 Apache-2.0 t│ t│0 t│0 backing 2Inkwell's t│0 t│ t│0 t│0 WAV/OGG/MP3 player at 48 t│0 t│ t│0 t│0 kHz. t│0 t│ t├──────────────────────────────┼──────────────────────────────┼──────────────┤ t│0 2bInkwell0 t│0 Our point-and-click t│0 MIT t│ t│0 (cgit.teletypegames.org/0 t│0 adventure framework, t│0 t│ t│0 cengines/inkwell0) t│0 consumed as a plain Go t│0 t│ t│0 t│0 module. t│0 t│ t├──────────────────────────────┼──────────────────────────────┼──────────────┤ t│0 bgo-steamworks0 t│0 Steamworks SDK bindings: t│0 Apache-2.0 t│ t│0 (cgithub.com/Philipp15b/go-0 t│0 achievements, cloud, t│0 t│ t│0 csteamworks0) t│0 overlay, rich presence. t│0 t│ t├──────────────────────────────┼──────────────────────────────┼──────────────┤ t│0 cgo:embed0 t│0 Standard-library asset t│0 BSD-3-Clause t│ t│0 t│0 embedding; Rabbit Roller's t│0 t│ t│0 t│0 assets live in the binary. t│0 t│ t├──────────────────────────────┼──────────────────────────────┼──────────────┤ t│0 cwasm_exec.js0 t│0 The Go runtime helper t│0 BSD-3-Clause t│ t│0 t│0 shipped with every t│0 t│ t│0 t│0 WebAssembly build. t│0 t│ t└──────────────────────────────┴──────────────────────────────┴──────────────┘ 2JavaScript and TypeScript 2───────────────────────── t┌──────────────────┬────────────────────────────┬────────────────────────────┐ t│h Library t│h What it does t│h Licence t│ t├──────────────────┼────────────────────────────┼────────────────────────────┤ t│0 10bPhaser0 t│0 The framework itself, t│0 MIT t│ t│0 t│0 pinned per project and t│0 t│ t│0 t│0 fetched from a CDN at t│0 t│ t│0 t│0 build time. t│0 t│ t├──────────────────┼────────────────────────────┼────────────────────────────┤ t│0 bVue 30 t│0 The frontend framework of t│0 MIT t│ t│0 t│0 the 36public site. t│0 t│ t├──────────────────┼────────────────────────────┼────────────────────────────┤ t│0 bVite0 t│0 Build tool and dev server t│0 MIT t│ t│0 t│0 for that frontend. t│0 t│ t├──────────────────┼────────────────────────────┼────────────────────────────┤ t│0 bvue-router0 t│0 Client-side routing, one t│0 MIT t│ t│0 t│0 router module per page. t│0 t│ t├──────────────────┼────────────────────────────┼────────────────────────────┤ t│0 bPinia0 t│0 State stores, one per t│0 MIT t│ t│0 t│0 domain (software, events, t│0 t│ t│0 t│0 members, git, blog, t│0 t│ t│0 t│0 howtos, youtube, ui). t│0 t│ t├──────────────────┼────────────────────────────┼────────────────────────────┤ t│0 bvue-i18n0 t│0 Internationalisation of t│0 MIT t│ t│0 t│0 the frontend. t│0 t│ t├──────────────────┼────────────────────────────┼────────────────────────────┤ t│0 bTailwind CSS0 t│0 Utility-first styling. t│0 MIT t│ t├──────────────────┼────────────────────────────┼────────────────────────────┤ t│0 bTuiCSS0 t│0 Retro terminal look on top t│0 MIT t│ t│0 t│0 of Tailwind. t│0 t│ t├──────────────────┼────────────────────────────┼────────────────────────────┤ t│0 bESLint 90 t│0 Linting on a flat config, t│0 MIT t│ t│0 t│0 for Vue and TypeScript. t│0 t│ t├──────────────────┼────────────────────────────┼────────────────────────────┤ t│0 bElectron0 t│0 Desktop shell of the t│0 MIT t│ t│0 t│0 11WarpEngine Client; t│0 t│ t│0 t│0 ccontextIsolation0 on, t│0 t│ t│0 t│0 cnodeIntegration0 off. t│0 t│ t├──────────────────┼────────────────────────────┼────────────────────────────┤ t│0 belectron-builder0 t│0 Packages that client as an t│0 MIT t│ t│0 t│0 AppImage, a deb, an NSIS t│0 t│ t│0 t│0 installer and a portable t│0 t│ t│0 t│0 exe. t│0 t│ t├──────────────────┼────────────────────────────┼────────────────────────────┤ t│0 bNode.js / npm0 t│0 Runtime and package t│0 MIT (Node.js), t│ t│0 t│0 manager for the above; t│0 Artistic-2.0 (npm) t│ t│0 t│0 Node 22+ to install the t│0 t│ t│0 t│0 client's dependencies. t│0 t│ t└──────────────────┴────────────────────────────┴────────────────────────────┘ 2Rust 2──── t┌────────────────┬────────────────────────────────────────┬──────────────────┐ t│h Library t│h What it does t│h Licence t│ t├────────────────┼────────────────────────────────────────┼──────────────────┤ t│0 7bBevy0 t│0 The ECS engine, a plain Cargo t│0 MIT / Apache-2.0 t│ t│0 t│0 dependency. t│0 t│ t├────────────────┼────────────────────────────────────────┼──────────────────┤ t│0 bwasm-bindgen0 t│0 JS glue for web builds; crate and CLI t│0 MIT / Apache-2.0 t│ t│0 t│0 must be the same version. t│0 t│ t├────────────────┼────────────────────────────────────────┼──────────────────┤ t│0 bCargo / rustup0 t│0 The build tool and toolchain manager, t│0 MIT / Apache-2.0 t│ t│0 t│0 including the cwasm32-unknown-unknown0 t│0 t│ t│0 t│0 target. t│0 t│ t└────────────────┴────────────────────────────────────────┴──────────────────┘ 2Lua 2─── t┌──────────────────┬───────────────────────────────────────────────┬─────────┐ t│h Library t│h What it does t│h Licence t│ t├──────────────────┼───────────────────────────────────────────────┼─────────┤ t│0 9bLÖVE0 t│0 The framework, and the official artifacts our t│0 zlib t│ t│0 t│0 binaries are fused into. t│0 t│ t├──────────────────┼───────────────────────────────────────────────┼─────────┤ t│0 blove.js0 t│0 Emscripten LÖVE port; turns a c.love0 into a t│0 MIT t│ t│0 t│0 web build. t│0 t│ t├──────────────────┼───────────────────────────────────────────────┼─────────┤ t│0 cluac0 t│0 The Lua compiler, used as a syntax check t│0 MIT t│ t│0 t│0 before packaging. t│0 t│ t├──────────────────┼───────────────────────────────────────────────┼─────────┤ t│0 bluacheck0 t│0 Syntax errors and unused variables; gates the t│0 MIT t│ t│0 t│0 8TIC-80 pipeline. t│0 t│ t├──────────────────┼───────────────────────────────────────────────┼─────────┤ t│0 bLDoc0 t│0 Generates the API documentation packaged with t│0 MIT t│ t│0 t│0 every TIC-80 release. t│0 t│ t├──────────────────┼───────────────────────────────────────────────┼─────────┤ t│0 blua-minify-tic800 t│0 Minifies the concatenated source to fit the t│0 MIT t│ t│0 t│0 cartridge. t│0 t│ t└──────────────────┴───────────────────────────────────────────────┴─────────┘ 2Python 2────── t┌────────────────────────────────┬─────────────────────────────────┬─────────┐ t│h Library t│h What it does t│h Licence t│ t├────────────────────────────────┼─────────────────────────────────┼─────────┤ t│0 bThe standard library, and0 t│0 A deliberate constraint of t│0 PSF-2.0 t│ t│0 bnothing else0 t│0 6warpstore and both store t│0 t│ t│0 t│0 engines: the hosts range from a t│0 t│ t│0 t│0 Batocera box with no cpip0 to a t│0 t│ t│0 t│0 desktop, and neither may be t│0 t│ t│0 t│0 asked to install anything. t│0 t│ t├────────────────────────────────┼─────────────────────────────────┼─────────┤ t│0 chttp.server0 t│0 The built-in server behind cmake0 t│0 PSF-2.0 t│ t│0 t│0 cserve0 in the 10Phaser workflow. t│0 t│ t├────────────────────────────────┼─────────────────────────────────┼─────────┤ t│0 38bpyftpdlib0 t│0 The 39FTP server of the 15DOSINST t│0 MIT t│ t│0 t│0 store and the 40TTGWIKI export, t│0 t│ t│0 t│0 and the FTP server of their t│0 t│ t│0 t│0 tests — a server-side tool, so t│0 t│ t│0 t│0 the standard-library rule of t│0 t│ t│0 t│0 the store engines does not t│0 t│ t│0 t│0 apply. t│0 t│ t└────────────────────────────────┴─────────────────────────────────┴─────────┘ 2C++ (DOS and Win32) 2─────────────────── t┌────────────────────────┬─────────────────────────┬─────────────────────────┐ t│h Library t│h What it does t│h Licence t│ t├────────────────────────┼─────────────────────────┼─────────────────────────┤ t│0 69bmTCP0 t│0 Michael B. Brutman's t│0 GPL-3.0 t│ t│0 t│0 TCP/IP stack for DOS t│0 t│ t│0 t│0 over a packet driver; t│0 t│ t│0 t│0 15DOSINST's FTP client is t│0 t│ t│0 t│0 built on it, vendored t│0 t│ t│0 t│0 in its repository. t│0 t│ t├────────────────────────┼─────────────────────────┼─────────────────────────┤ t│0 bCrynwr packet drivers0 t│0 The DOS network card t│0 GPL-1.0 (version 1 t│ t│0 t│0 drivers mTCP talks to; t│0 only) t│ t│0 t│0 cNE2000.COM0 for DOSBox t│0 t│ t│0 t│0 Staging's emulated t│0 t│ t│0 t│0 card. t│0 t│ t├────────────────────────┼─────────────────────────┼─────────────────────────┤ t│0 bWinsock 1.10 t│0 The sockets of Windows t│0 Proprietary (Windows) t│ t│0 t│0 95 and later: the t│0 t│ t│0 t│0 network of t│0 t│ t│0 t│0 cDOSINSTW.EXE0. t│0 t│ t├────────────────────────┼─────────────────────────┼─────────────────────────┤ t│0 bThe Open Watcom C/C++0 t│0 The C library of t│0 Sybase Open Watcom t│ t│0 bruntime0 t│0 15DOSINST and 16GMENU: t│0 Public License 1.0 t│ t│0 t│0 files, DOS directory t│0 t│ t│0 t│0 scans, BIOS keyboard, t│0 t│ t│0 t│0 cint860 calls to the BIOS t│0 t│ t│0 t│0 and the mouse driver. t│0 t│ t└────────────────────────┴─────────────────────────┴─────────────────────────┘ 2Free Pascal 2─────────── t┌─────────────────────┬──────────────────────────┬───────────────────────────┐ t│h Library t│h What it does t│h Licence t│ t├─────────────────────┼──────────────────────────┼───────────────────────────┤ t│0 bThe Free Pascal RTL0 t│0 All the 14status bot t│0 LGPL-2.1+ with static t│ t│0 t│0 needs: schedule loop and t│0 linking exception t│ t│0 t│0 Discord API calls in one t│0 t│ t│0 t│0 binary. t│0 t│ t└─────────────────────┴──────────────────────────┴───────────────────────────┘