Programmeur schrijft werkende code voor 8088-cpu in emoji's

Een creatieve programmeur heeft een manier gevonden om software te schrijven met alleen emoji's. Dat is wel een beetje gechargeerd. Daniel Balsom kreeg het voor elkaar om voor een oude 8088-cpu een programma te schrijven dat 'Hello' toont en een heel basale bewegende demo te maken, maar toch. Het is nu nog wachten op DOOM in emoji's, zegt Balsom.

Balsom, ook wel bekend als GloriousCow, beschrijft zijn project op zijn blog. Balsom werkt wel vaker met code voor oude processors en computers, waaronder code voor de Intel 8088-processor uit de jaren tachtig. Balsom ontdekte dat de gecodeerde tekenreeks van sommige emoji's toevallig overeenkomt met een specifieke operatie op de 8088. Zo zag hij dat een geitemoji naar %F0%9F%90%90 wordt omgezet en dat hexadecimale getal is toevallig een null operation op de 8088. "De volledige geitemoji is werkende 8088-machinecode", schrijft Balsom.

Hij werkte verder met dat idee in het achterhoofd. Hij ontdekte dat de meeste emoji's zich laten vertalen naar een tekenreeks waarmee hij tekst kan maken die de 8088 kan lezen. Als voorbeeld kreeg hij het voor elkaar om 24 emoji's aan elkaar te rijgen om het woord 'Hello' te spellen in een DOS-emulator. Voor 'Hello World' vond hij dat iets te veel werk.

Emoji hello

Balsom heeft een paar emoji's gevonden die een volledige instructie bevatten die leesbaar is voor de 8088. Andere emoji's vormen op zichzelf onvolledige instructies, maar werken wel als hij ze combineert.

Uiteindelijk noemt Balsom het schrijven van dergelijke 'emojissembly' 'een miserabele, pijnlijke klus'. Daarom schreef hij een soort vertaalprogramma, een loader.

De werking daarvan is nogal ingewikkeld, maar het resultaat is indrukwekkend. Met een kleine 250 emoji's kon Balsom een werkende VGA-demo maken. Balsom zegt benieuwd te zijn naar de verdere mogelijkheden. "Een werkende bios in emoji's? Een volledig emojibesturingssysteem? Kunnen we EmojiDOOM zien?" Aan de slag dus!

Emoji 2

Door Tijs Hofmans

Nieuwscoördinator

07-08-2026 • 12:21

26

Submitter: Radiant

Reacties (26)

Sorteer op:

Weergave:

Hoewel je natuurlijk door kunt klikken (en moet klikken als je echt geïnteresseerd bent) vind ik dan weer wel dat het feit dat de gebruikte encoding UTF-8 moet zijn best wel relevant.

Dezelfde emoji in UTF-16 gaat dus niet werken want dat levert een andere binaire representatie op....
Dat is ook niet zo gek. In UTF-16 krijg je voor emoji's al snel met surrogates te maken. Die beginnen met bytes in de reeks 0xD8 - 0xDF, en laten die bytes nou exact overeenkomen met de ESC codes die instructies sturen naar een eventuele coprocessor (lees: de floating-point unit). Als er geen FPU aangesloten is zijn dit NOP's, dus als het goed is zouden emoji code points in UTF-16 (bijna) allemaal NOP's moeten zijn. Op zich wel leuk dat het de processor niet crasht, maar het gaat ook niks interessants doen.

[Reactie gewijzigd door MneoreJ op 7 augustus 2026 21:34]

Grappig, maar natuurlijk wel een beetje flauw. Op deze manier kun je ook iets maken in HTML entities of pakweg Wingdings. Assembler code is niet meer dan een serie bytes. Elke byte staat voor een instructie of de waarde wat bij een instructie hoort (adres lo/hi-byte, etc), afhankelijk van de instructie natuurlijk. Het is maar net hoe je het presenteert. Dat je van die combinaties emoji's (of wingdings, japanse tekens, whatever), kunt maken is natuurlijk harstikke leuk.
Je mist een fundamenteel punt. Ja, assembly is een serie bytes. Maar niet elke serie van bytes is een emoji.

Wat dit project bewijst is dat de intersectie van "x86 instructies" en "UTF8 emoji" groot genoeg is om programma's in te schrijven.
Mag ik hier bekennen dat ik nog nooit utf8 emoji's heb getypt?
Natuurlijk wel de bekende hoofddraaiers als :) of ;) of +) etc. emoji's, maar geen 'moderne'.

Goeie genade, ik wist niet eens dat dit bestond:
YouTube: How To Use Emojis In Laptop & PC Windows - Full Guide

[Reactie gewijzigd door Piemol op 7 augustus 2026 12:38]

Sinds 2010 zijn Emoji opgenomen in Unicode. Dus elke device kan ze in principe lezen en laten zien, ongeacht OS.
Als je OS ondersteunt ja. De 8088 had er geen ondersteuning voor. Omdat het voorbeeld 4-bytes toont, ga ik even uit van UTF-32 (een bepaalde codering van Unicode). Dat zat pas ergens rond 2000 in Windows. Toen was de 8088 verleden tijd.

UTF-8 kwam later in Windows en is de facto voor UNIX/Linux de interface naar bijv libc. UTF-8 brak namelijk niet met 7-bit ASCII.

Wat deze persoon voor elkaar krijgt is best grappig. Eigenlijk een soort anachronisme.
Ik doe dit al jaren, maar moet ook wel bekennen dat ik niet eens weet hoe ik hier achter gekomen ben. Ik vraag me dan ook altijd af welke andere super handige Windows-shotcuts ik gemist heb.

Heb wel eens door de lijst heen gebladerd, maar je vergeet het dan toch vaak snel weer.
Ken je ook het Windows multi-clipboard met win+v? Die vind ik nog handiger dan win+punt
Heel erg bedankt. Weer wat geleerd.Reuze handig.
Op azerty-toetsenborden is het Win + puntkomma.
Op mijn qwerty-toetsenbord werkt zowel Win + punt en Win + puntkomma (maar bovenin de popup die dan toont staat in beide gevallen Win + punt).
Win + puntkomma is van Windows, niet van de AZERTY-layout. Win + punt werkt op zowel Windows als Linux. Op Mac is het Control + Command + Spatie.

[Reactie gewijzigd door novasurp op 7 augustus 2026 15:01]

In het filmpje wordt de "colon key" vermeld, en die staat op qwerty-toetsenborden blijkbaar samen met de puntkomma op dezelfde toets. Op azerty-toetsenborden is dat niet zo, vandaar dat ik het even toelichtte.
Nee, dat mag niet, snel je reactie wijzigen anders krijg je een permaban!
CMD-CTRL-Spatie op de Mac 🍏 🖥️

Het leukste is natuurlijk dat ze ook overal werken, in tegenstelling tot bijvoorbeeld het Apple-logo wat je op de Mac kunt typen met ALT-SHIFT-K, maar bij non-Apple apparaten niet getoond wordt aangezien dat character daar niet bestaat – of in ieder geval niet als Apple-logo. Ik typ hem hierachter: 
Is niet gek, want het gebruikte code-point is gedefinieerde als "Private Use Area" en is dus alleen voor intern gebruik.

Dat Apple één van die code-points gebruikt voor hun logo is niet direct verboden maar je kunt moeilijk verwachten dan andere besturingssystemen hier in meegaan...
:) en zo zijn emoticons. Hoewel de woorden emoji en emoticon op elkaar lijken hebben ze een andere oorsprong.
Moest de bron openen om ook daadwerkelijk emojis te zien. Dit was dus de code voor de VGA demo:
🐸☺️😖🐰😗😯😯😯😯😯😯😯😹😯🕳️😯🐮🐐🐐🐐🐐🐐🐐🐐🐐🐐🐐🐐🐐🐐🐐🐐🐐⭐️🍽️🍽️🍽️🍽️🐮🐰😔😬😬🗓️🍽️👁️📗🐪🗓️🧮🧯📗🐪🐮🗓️😿🧯🧯🧯🧯📗🐪🗓️🐮📗🐪🗓️🧮🧮🧯🧯👁️📗🐪🐮🗓️🧮🧯🧯🧯🧯🧯🧯📗🐪🗓️😿🧯🧯🧯🧯📗🐪🗓️😿🍽️🍽️🍽️🍽️🐮📗🐪🐮🗓️😯🍽️🍽️👁️📗🐪🐮🐮🐮🗓️😿🧮🧮🧮📗🐪🗓️🧮👁️👁️🍽️👁️📗🐪🐰😔🐐🐐♿️🇹🇭⏪️✋️💕🐀🍥🐐📣🈚️🌌🌋🏐🌕️👻🌺🌻🍵🆙🌮🍝🌐🌋🍠🌋🐅🍜💒🌳👹🎇👹🉑🎎🉑💞🆖🌳🆎🎇👹🉑🎎🉑💞🐖👯🆖🌻🕕️🌿🐐🍙👺👽️🌳👹🎇💗🉑🎎🉑💞🖕🎎🌙👻🌺🌻🐻🎂🌻🌳👮🐖🐸🍤🕕️🌻🐠🐻🍝🌻🌳🌷🐎🌷🍭🌌💗👻🐖🐖🌜️🌛📛🍕🍓🍪🍷🌙🍘🍾🍪👻🌺🌻🌙🌘🌙🐗🌊🏐💗🎐🧯🔥🌉
Ergens had ik gehoopt dat emojis van de instructies ook uit zouden beelden wat de instructie inhoudt. ADD een plus, MOV een pijltje, JMP een veer, OUT een floppy...
Eerlijk gezegd vind ik dit prachtig om te zien.
💻💾🖱️
⁉️😯🤯
😃😆🤣
💀💥😈☠️

Om te kunnen reageren moet je ingelogd zijn