ede6e5b9f3b152364935f051771dbef96105a6a0
The reader draws a crisp BW page, then a 4-level grayscale antialiasing pass with inverted plane polarity (white = level 0 = both planes clear) and near-empty planes. The old model replaced the whole frame with those planes, wiping the page to an inverted muddle. Model it as e-ink actually behaves: keep a persistent surface, detect grayscale vs BW by DTM2's set-fraction (background is the white majority), and in grayscale treat level 0 as no-drive (keep pixel) so only the sparse antialiased edges repaint over the retained BW page. BW refreshes still repaint every pixel. Reader text now renders sharp.
xteink QEMU fork
Espressif's QEMU fork carrying the xteink X3/X4 (ESP32-C3) machine model and a wasm32 TCG backend (ported from ktock/qemu-wasm), used by xteink-web-emulator to run CrossPoint firmware in the browser.
Branch
main— the working branch. Base is Espressif'sesp-develop-9.2.2-20260417(40edccac).
Remotes
origin— https://ssh.gitea.va.reichard.io/evan/qemu-xteinkupstream— https://github.com/espressif/qemuqemu-wasm— https://github.com/ktock/qemu-wasm (source of the wasm32 backend)
Building
Native (parity check — authoritative)
nix develop
./configure --target-list=riscv32-softmmu --with-devices-riscv32=xteink --enable-gcrypt
ninja -C build qemu-system-riscv32
WebAssembly
Driven by the parent repo, not here:
cd ../xteink-web-emulator
make web-dev # incremental build straight from this tree
The parent's scripts/build-qemu-wasm.sh compiles this checkout inside the
emsdk Docker image defined in xteink-web-emulator/qemu/wasm/Dockerfile.
Description
Languages
C
83.1%
C++
6.4%
Python
3.3%
Dylan
2.8%
Shell
1.5%
Other
2.6%