News

Releases, milestones, and progress across native apps, game engines, and experiments.

release Retro DOS Games Emulator

Retro DOS Games Emulator is on the App Store

My DOS game emulator for iPhone and iPad passed App Review. It keeps your DOS games in one library, comes with Zork I and Rogue, and saves the whole session so you can continue exactly where you left off. The Mac version is still in App Review, and the same purchase will cover it.

  • Zork I and Rogue are included, with their MIT and BSD licenses. Select a game and press Play.
  • Import your own DOS games from a folder, a ZIP archive or an IMG / IMA disk image; the included MS-DOS 4.00 prepares the disk.
  • Touch controls with a virtual joystick, action buttons, a trackpad and a DOS keyboard, set up per game, or a connected game controller.
  • Sound Blaster, AdLib and General MIDI sound. No account, ads or analytics; everything stays on the device.
Retro DOS Games Emulator →
release Pramen

Pramen 1.2 decompiles against your own declarations

Pramen 1.2 is on Hugging Face. A binary carries no struct layouts, typedefs or types of globals, so the model used to see only offsets like [RCX + 0x18] and guess. Now you can give it the declarations a function uses, from your headers or your Ghidra project, and it writes the function against them. It was also trained on its own verified outputs, and is better without declarations too.

  • --context takes plain C declarations: structs, unions, enums, typedefs, extern globals and the prototypes of called functions. On 1,431 held-out ExeBench function × variant pairs the share that recompiles to exactly the input assembly rises from 26.3 % to 34.7 %, and the share that compiles at all from 46.5 % to 63.7 %.
  • A Ghidra script, PramenContext.py, exports the types, globals and callee signatures of the function under the cursor and copies them to the clipboard for the web UI or a decls.h file.
  • The model wrote eight candidates for 54,000 unseen function × variant pairs; those that recompiled to exactly the input assembly went into a final fine-tune. HumanEval-C averages rise from 39.1 % to 41.4 % greedy and from 51.0 % to 53.6 % with --candidates 8.
  • Same size, tokenizer and prompt format: without declarations it is used exactly like 1.1.
Pramen 1.2 on Hugging Face →
milestone Zeta

The full game: campaign, save games and multiplayer

New Mac and Windows test builds also run the full DOS version of Z: all 20 missions on five planets, installed straight from the original CD.

  • Point Zeta at an installed full game or at the original CD, as a folder or an .iso/.cue image. It unpacks the CD once and plays the cutscenes from it.
  • The full main menu works: New Game runs the campaign mission by mission, Save and Load keep a game, Replay Level reopens missions you have reached, and High Score keeps its table.
  • The full game's vehicles, guns and units behave as in the CD build: A.P.C.s carry squads, cranes rebuild ruins and bridges, Pyros and Lasers fire their own weapons, and every planet has its own effects, animals and birds.
  • Multi Player connects to a built-in server for two to four players. In its lobby you create a game or join one, everyone gets ready, and the player who created it starts the battle. A player who drops out can rejoin, and any player can pause the match.
  • The radar, the unit portraits with their backgrounds and the name plates follow the original's layout. The Windows build has still not been tested on Windows.
release Pramen

Pramen 1.1 decompiles more, and runs on a CPU

Pramen 1.1 is on Hugging Face. The neural decompiler was trained further on 8.5 million assembly → C pairs, gained four optimized variants and a mode that writes eight candidates and keeps the one whose recompiled assembly matches the input best. A KV cache and an int8 copy make it practical without a GPU. The Pramen page shows the 1.0 and 1.1 results side by side.

  • On the tasks of the 1.0 benchmark, scored the same way, the average pass rate rises from 32.0 % to 42.6 %. On the new 205-task HumanEval-C set it is 39.1 % with greedy decoding and 51.0 % with --candidates 8.
  • New variants: MSVC /O1 for x64 and x86, Open Watcom -ox for the small memory model and -os for the large one.
  • --candidates 8 recompiles each proposal with MSVC or Open Watcom and picks the closest match; no tests or source needed.
  • KV cache and --quantize int8: about 1.6× faster on a CPU with 40 % less RAM. The int8 copy is 303 MB and can be downloaded on its own.
Pramen 1.1 on Hugging Face →
research Zeta

Two neural networks play Z against each other

A side project: small neural networks learned to play the demo mission by playing it, and a video shows a full match between two of them with their decisions explained.

  • Every two seconds each squad scores 17 options (keep its order, move to a territory, attack a nearby enemy group) with a 7,809-weight network and draws one; the pick becomes an ordinary order.
  • Training started by copying a scripted bot, then reinforcement learning (PPO) over thousands of games against the original computer opponent, the bot, and earlier generations. The agents beat the original opponent in a 960-game round robin.
  • Zeta runs these matches without a window, records every order, and replays a match frame for frame. The ordinary game is unchanged: the computer opponent still plays as in the original.
Read how it was made →
article

Two neural networks play Z

Small neural networks learned to play Z (1996) by playing it. How they plug into the game, how they learned, and how the tournament went.

Read the article →
gameplay Zeta

New alpha with the original controls

New Mac and Windows test builds play much closer to the original, including its mouse and keyboard controls.

  • Controls follow the original: the left button selects and gives orders, holding the right button scrolls the map, and A selects every squad in view. WASD no longer moves the camera; use the arrow keys or push the mouse against the screen edge.
  • Unit behaviour, the computer opponent, production, and radio reports now match the original much more closely throughout the mission.
  • The macOS app is signed and notarized by Apple. The Windows ZIP contains a single executable. Original demo data are supplied separately on both platforms.
gameplay Zeta

Mac and Windows alpha: closer to the original

New Mac and Windows test builds improve vehicle movement, radio portraits, and battlefield effects.

  • Vehicles turn at the same moment as in the original; stationary tracks, wreck smoke, and radio gestures have also been corrected.
  • The macOS app is signed and notarized by Apple. The Windows ZIP contains a single executable. Original demo data are supplied separately on both platforms.
milestone Zeta

First standalone test alpha

The Z demo is ready to try on Apple Silicon Macs running macOS 26 or later.

  • One engine executable with built-in settings. Original demo data are supplied separately; the first-run wizard explains the download and folder selection.
  • Movement, combat, menus, production panels, and unit animations are closer to the original.
  • An early test build: gameplay fidelity is still being refined. Feedback is welcome.
release NorthPane

NorthPane 1.5 runs DOS games right in your file manager

NorthPane 1.5 is now on the Mac App Store. Open a supported Inno Setup installer like a folder, unpack the DOS game inside and play in the viewer. Save the whole session with Command-S and pick up where you left off. Watch the Space Quest IV trailer and the new App Store preview on the NorthPane page, in English or Czech.

  • Run DOS .exe, .com and .bat files, or boot a floppy or hard-disk image, in a virtual PC inside NorthPane.
  • Save and restore DOS sessions. Files stay on the virtual disk until you choose Write Changes to Folder.
  • Browse supported game installers, unpack the game and launch it from the same window. Games are not included.
  • Try the included Color Lab DOS sample from Help → What’s New.
Watch NorthPane 1.5 in action →
release NorthPane

NorthPane 1.4 is about everyday file work

Version 1.4 is about what a file manager does all day. Multi-Rename renames the marked files by mask and shows every new name before anything moves, copies and moves run as a queue in the background, ⌘Z takes back a rename, a move or a trip to the Trash, and ⌘P finds any file by name as you type. Everything new in 1.4 is translated into all sixteen languages the app speaks.

  • Multi-Rename (⇧F2) with masks, a counter, dates, search and replace and case changes, a preview of every name and Undo.
  • F5 and F6 run as a background queue with pause and cancel; Synchronize Folders and Find Duplicates are in Tools.
  • ⌘P finds a file or folder by name across every granted folder, and ⌘Z undoes renames, moves, copies, new folders and the Trash.
  • Every pane shortcut can be changed, with two presets; a sidebar follows the active pane; tags show as colored dots; cloud files show their status and never download on their own.
  • WebDAV and S3-compatible storage join SFTP and FTP, SFTP follows your SSH config, and server tabs come back after a restart.
  • Also: four new themes, F3 plays WAV and MP3 with a waveform, the path above a pane can be typed into, and ZIP archives over 4 GB open.
Download on the Mac App Store →
release NorthPane

NorthPane 1.3 brings local AI to files, code and binaries

Select files or a folder and ask a question: NorthPane answers from that scope alone, cites the passages it used and opens each citation on its original lines. The same local AI explains a selected function or a captured stretch of disassembly with linked evidence, on device through Apple Intelligence, through a runtime already running on the Mac, or through a GGUF model imported into the built-in llama.cpp runtime. Nothing leaves the machine, and the assistant never changes a file by itself.

  • Ask over selected files with checked citations, a cited outline saved as Markdown only on request, and a sample project under Help › What's New to try it on.
  • Explain Selected Code in the editor and Binary AI in the Binary Lab, with a guided walkthrough on a built-in ARM64 sample.
  • Find Files searches by words and, with a local embedding model, by meaning; a Symbols view maps a folder's code with callers, callees and references.
  • Markdown gains Map and Links views, renaming or moving a note offers to rewrite the links it broke, and JSON Canvas files open and edit in place.
  • 7z, RAR and ARJ browse like ZIP; packing offers ZIP, 7z, TAR and TAR.GZ with a password for ZIP and 7z. Tabs, folders and cursors come back after a relaunch, New File offers templates, and Enter browses an .app.
Download on the Mac App Store →
release Tivna

Tivna 1.2 shows the code before it saves the card

Tivna 1.2 is a calmer, cleaner version of the same private wallet. The library, the card detail and adding a card were redrawn, and after a scan or a photo import the app now shows the code it read before the card is saved. Android got the same refresh on Google Play two days later.

  • A cleaner library, card detail and add-card flow, and a refined icon.
  • A better dark mode and better support for the largest text sizes.
  • After a scan or a photo import, the recognized code is shown for confirmation before anything is saved.
  • If a code can't be read, pick another photo or type the code in, instead of ending up with a card that has no code.
  • Your cards and their sync are untouched by the update.
About Tivna →
article

Life with Arc Pro B70 + B60, part 1

Local AI on Intel Arc Pro B70 and B60. The build, model speeds and lessons from the first day on Windows 11.

Read the article →
release NorthPane

NorthPane 1.2 reads executables, and opens Windows installers

F3 on a Mach-O, ELF, PE or DOS executable now lays out a Binary Lab: a navigator of functions, imports, sections and strings, a typed inspector, a disassembler with a control-flow graph, and an entropy map of the whole file that shows where the packed parts are. And an Inno Setup installer, the kind a DOS-era re-release ships in, opens in a pane like any other archive, so the files copy straight out to the Mac without booting Windows.

  • Binary Lab on F3: navigator (⌘0), Go to Anything (⌘P), typed inspector (⌘B), the parsed header (⌘I), cross-references, basic blocks, and a control-flow graph.
  • Bytes patch into a saved copy and never in place; the names, comments and marks you add are kept across sessions, and two executables in the two panes compare function by function.
  • ⌘E unpacks the compressed stream under the cursor and keeps following the chain down. Tar joins zip as an archive the panes walk into.
  • Enter on an Inno Setup .exe lists what is inside, and every file that comes out is checked against the digest the installer carries for it.
  • Since 1.1: dropped SFTP and FTP sessions sign themselves back in after sleep, the editor highlights 43 languages, and the app and its listing now speak 16.
Download on the Mac App Store →
article

How to Extract a GOG Installer on macOS

Opening a Windows Inno Setup EXE as a folder with NorthPane

Read the article →
release NorthPane

NorthPane is on the Mac App Store

My dual-pane file manager for the Mac is out. Two panels side by side, the classic function keys, and the same commands whether the pane shows your disk or a server halfway around the world. Built for programmers and game developers, and for anyone who would rather let the keyboard do the work.

  • For macOS 14 and later, universal for Apple silicon and Intel, in English, Czech, German, and Spanish.
  • SFTP and FTP/FTPS in either pane, with host keys checked against your own ~/.ssh/known_hosts.
  • Zip archives browse like folders, on a ZIP reader and writer written by hand.
  • F3 goes deep: syntax highlighting, hex with an ARM64 and x86 disassembler, Markdown, PDF, and FBX models on a turntable.
  • Sandboxed, with no accounts, no analytics, and no backend of mine.
Download on the Mac App Store →
release Tivna

Tivna is on the App Store

My private wallet for loyalty cards is out. Photograph a loyalty, club, or discount card once and Tivna files it into a clean, searchable library; at the checkout, a full-screen barcode mode gets it scanned on the first try.

  • Free for iPhone (iOS 18+), in English, Czech, German, and Spanish.
  • Guided camera capture with automatic straightening, Photos import, or manual entry.
  • Regenerates crisp QR, EAN, Code 128, Code 39, ITF, PDF417, and Aztec codes.
  • No account: cards sync through your own private iCloud. One banner ad, removable with a one-time purchase.
Download on the App Store →
milestone Tivna

A private wallet for loyalty cards is next

My second iOS app is code-complete and heading to the App Store. Tivna keeps loyalty, club, and discount cards in a private, searchable library: photograph a card once, scan its barcode at any checkout.

  • Card capture with automatic straightening and cropping is done.
  • Full-screen barcode mode regenerates crisp QR, Code 128, PDF417, and Aztec codes.
  • Everything syncs through your own private iCloud: no account, no first-party tracking.
  • Remaining before release: final icon, store screenshots, and App Store review.
About Tivna →
site

One news feed for everything

The site now has a single news page and RSS feed covering every project: apps, game engines, and experiments. The Zeta devlog keeps its own feed; everything it publishes appears here too.

Subscribe via RSS →
milestone Zeta

The original demo is running

Zeta now starts from the original menu and loads the demo map into a working single-player game.

  • Original terrain, buildings, units, interface, music, and sound effects load from the demo data.
  • Movement, combat, production, territories, selection, minimap, and audio are working.
  • Pathfinding is being tuned to follow the original game's routing more closely.
  • WASD and arrow-key camera movement make it easier to navigate the map.