Skip to main content

June 2026

A chess game

June 12 chess

Computer chess could provide an interactive illustration of how the Hybrix language handles nontrivial algorithms, however it's a lot of work to design a chess algorithm that is compact enough to understand, while still playing reasonably well. Micro-Max gained popularity in the chess community as a "code golf" sample with detailed documentation explaining how it works. After some discussion with its creator H.G. Muller, we've decided to port Micro-Max to the Hybrix language (but rewritten as readable code instead of character minimization). A full chess game ROM will be coming soon as well!

Two fixes

June 22 machine

The emulator's virtual gamepad incorrectly reported an axis range of ±1,024 instead of ±1,023. Why 1,023? Thinking about the spec, an analog stick would typically use an analog-to-digital converter (ADC) that produces an 11-bit unsigned number in the range 0 to 2,047. Our MMIO logic adjusts that to a more friendly -1,024 to 1,023, with "0" in the resting middle position (requiring some calibration to eliminate drift due to wear). Suppose our X axis had only 2 bits (-2, -1, 0, 1): it seems awkward for the leftmost extreme to be -2 whereas the rightmost extreme is +1. For a more friendly design, the adjustment can discard the -2 or -1,024 value to provide a more balanced range.

The WITH instruction can be written as with carry or with euclid to reflect its intended effect, which depends on the subsequent instruction. The disassembler now supports this, by looking ahead at the subsequent opcode. For irrelevant opcodes, the disassembly shows with ???.

Matte colors in the tile editor

June 26 designer

Matte coloring causes a tilemap cell's transparent pixels to be replaced by a solid color. Its main usage is adding a solid background behind console text (HASCII {mat}), so originally it didn't seem important to expose in the tilemap editor. However, since you only get one global io::matte_color, planning its usage in a scene can require some experimentation. To make that easier, the boards system and tilemap editor have been improved to support this:

  • Matte color can be previewed while you are editing
  • The full 16-bit tile code is now displayed
  • Clear pixels are painted as a checkerboard instead of a flat color, so a clear pixel and a pixel that merely matches the background no longer look identical.
  • The boards system features a new figure-based field for the symbol's matte color

Matte color in the tilemap editor