Z80 Sans – a disassembler in a font (2024)

github.com

86 points

pabs3

4 days ago


10 comments

Averave 6 hours ago

You can do a lot of crazy things with fonts. Just off the top of my head:

Tetris Font - https://news.ycombinator.com/item?id=40737294

A font which is also an LLM - https://news.ycombinator.com/item?id=40766791

And in the same vein:

Tetris in a PDF - https://news.ycombinator.com/item?id=42645218

Doom in a PDF - https://news.ycombinator.com/item?id=42678754

  • pwnfunction 5 hours ago

    next is to build a disassembled inside a pdf

  • anthk 5 hours ago

    get zmachine.ps and you could play zork i-iii, Tristam Island and tons of z3 zmachine games (search for calypso.z3 too) without cheating as the PDF format implements an ad-hoc JS interpreter where not all viewers parse it.

ilaksh 6 hours ago

I guess it would be cheating, but he actually could have just written it in Rust, since OpenType can execute web assembly. People have abused that to embed things like Tetris and even an LLM inside of fonts.

What he did was more impressive in a way.

tgv 7 hours ago

This made me smile. What an astonishing combination. The oddball application of a font as a disassembler works like a wonderful practical joke to me. Merging parsing, processing and rendering into a single step feels mad genius.

notglossy 7 hours ago

Man... I'm lucky if the fonts I'm using even have tabular figures as alternates. This is on a whole other level.

userbinator 6 hours ago

Not too surprising given that a font maps bytes into glyphs, and an instruction set maps them to instructions. I suspect a 6502 or 8051 version would be much simpler.

  • dhosek 6 hours ago

    Definitely. I wrote an incomplete z80 disassembler as a high school student back in the 80s, but never got to the 2-byte opcodes. 6502 has none of those so would be much easier to manage.

iberator 5 hours ago

Ha ha this is the best thing I have seen today in hacker news!

So clever and funny