Угадай число
My own, 2026
The first program I ever wrote for this machine. Sixteen lines. It thinks of a number, you guess, it says МЕНЬШЕ or БОЛЬШЕ, and it counts your tries. Nothing about it is clever. Everything about it mattered, because it was the first time the format ran in the other direction: source to token bytes to a disk the emulator would boot.

Run this disk · The image, 256,256 bytes
A decoder can be wrong for months and nobody notices. Misread a byte and it still produces something, and the something looks like a program. An encoder has no such cover. Emit the wrong bytes and an independently written parser stops on the spot. UGADAY is sixteen lines because sixteen lines was all I needed to make that argument: a comparison, two branches, a counter, and a jump back. It assembled, it loaded from sector 20, it ran, and it answered correctly. From that point the format knowledge ran in both directions, which is the sharpest test available without original hardware.
Everything I know about this dialect came out of a payroll program and a database suite, so the first thing I ever wrote in it says МЕНЬШЕ and БОЛЬШЕ, in uppercase Cyrillic, on a machine that has no other case. That was not decoration. Writing in the language the corpus is written in means the strings take the same KOI encoding path the originals took, and the moment a character came back wrong I would see it on the screen. A guessing game in Russian is also a byte level test of the character table.
Nothing here was found. UGADAY was written in 2026 as the first test of an assembler that did not exist before this project, and the disk it sits on was built by that assembler. No Soviet games disk has ever been recovered, from this machine or any other of its kind. The Russian in these strings is mine. I keep repeating it because a page like this one is exactly where the qualifier gets skipped, and once it is skipped somebody down the line treats a 2026 invention as a 1988 document.
UGADAY 50 -> МЕНЬШЕ | 25 -> БОЛЬШЕ | 37 -> ВЕРНО! ПОПЫТОК 3
The number is fixed at 37 and never drawn at random, because the dialect's random atom is undecoded. Accounting software needs no randomness, so the corpus does not give it up, and the honest thing was to write a constant rather than fake one. Guess 37 and you win on the first try. What is tested is the emulator, not the hardware; only a test on a surviving Iskra-226 could show whether real firmware accepts these bytes.
UGADAY.bas, 16 lines, assembled onto the image with iskra_asm.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
10 REM UGADAY 20 PRINT "*** УГАДАЙ ЧИСЛО ***" 30 PRINT "Я ЗАГАДАЛ ЧИСЛО ОТ 1 ДО 99" 40 V01 = 37 50 V02 = 0 60 PRINT "ВАШ ОТВЕТ" 70 INPUT V03 80 V02 = V02 + 1 90 IF V03 = V01 GOTO 200 100 IF V03 > V01 GOTO 150 110 PRINT "БОЛЬШЕ" 120 GOTO 60 150 PRINT "МЕНЬШЕ" 160 GOTO 60 200 PRINT "ВЕРНО! ПОПЫТОК";V02 210 END