
Screenshots

Watch trailer on Steam ↗Mnemonimov
Reverie Foundry · Published by Reverie Foundry
Positive — 100% positive (31 reviews)
Last updated 28 Sept 2026
Mnemonimov is a fantasy console where you program in ASSEMBLY like in the 80s. Build anything from games to operating systems and understand how computers work at a low level.
£17.99
Lowest price we've ever recorded
View on SteamPrices can lag the live Steam store — always confirm before buying.
Price history
Simulation, Early Access · 2026 · More £15 - £30 games
Experience the thrill of programming in ASSEMBLY as you explore Mnemonimov, a fantasy console from Reverie Foundry. Dive into early access to craft your own software and uncover the intricacies of computer science fundamentals.
About this game
Sandbox-Only!

About the Game
Mnemonimov (pronounced nee-mo-ni-move) is a low-level programming sandbox inspired by early game consoles. In this fantasy console, you program in assembly language with full control over execution, rendering your games and other creations to a retro monochrome screen.
Start by building simple games or exploring the included sample projects, then expand into more complex systems as you build everything from scratch. With no tutorials or challenges, you work things out by experimenting. Read the manual, write code, run it, debug it, and repeat as you go.

Expressive assembly language with RISC-style memory access, floating-point operations, and vector instructions.
32-bit register-based virtual machine with a rich instruction set.
Labels, constants, bookmarks, and related directives for structuring large programs.
Support for referencing external assets, including images and binary files.
Integrated code editor with syntax highlighting and detailed error reporting.
Debugger with step-by-step execution, breakpoints, and inspection of registers and labels.
Command-line interface for managing projects and configuration.
Retro monochrome screen with 320x240 resolution at 60 Hz.
System calls for user input, rendering, terminal output, and system interaction.
Persistent memory storage for saving program data across runs.
Integrated technical reference covering the architecture, assembly language, and ABI conventions.
Large memory limits with no restrictions on code length or execution speed.

Mnemonimov is not a guided learning tool. Like a painting program won't teach you how to draw, or a 3D editor won't teach you how to model, Mnemonimov will not teach you programming logic, assembly, or game development. There are no tutorials or levels, and the manual is strictly a technical reference for the console.
Mnemonimov is focused entirely on programming and debugging. It does not include a sprite editor, sound editor, map editor, or any asset creation tools. The console currently does not feature sound output or standalone exporting.
System Requirements
Will my PC run this? →Minimum
- Requires a 64-bit processor and operating system
- OS: Windows 10+
- Processor: 3.0 GHz+
- Memory: 8 GB RAM
- Graphics: OpenGL 3.3+ / 2 GB VRAM / 1366 x 768
- Storage: 300 MB available space
Recommended
- Requires a 64-bit processor and operating system
Supported Languages
Latest news
Patch NotesOfficial
Update 0.1.6
Hey everyone, today's update introduces a new Include directive for inserting code from other projects into your program, allowing you to reuse projects as libraries.This update also completes the set of input methods with keyboard input and adds character literals to make it easy to check for specific key codes. Check out the full list of changes below.MISAAdd an Include directive supporting recursive includes.Implement virtual paths to facilitate referencing files from other projects.Add keyboard input.Add character literals.UIGrab input focus when clicking anywhere in the Terminal tab.In the Code Analysis tab, show a message indicating that no problems have been detected.ManualAdd diagrams to the references for complex Bit Manipulation instructions to visually explain how they operate.Add an Appendix chapter with an ASCII Table and a Shortcuts page.In the references for SYS_GET_*_DELTA system calls, clarify how delta time is measured.In the Embed and Reserve page, document that the Embed directive supports lists of values, and that they can span multiple lines. Also document that a list of strings is concatenated into a single string.In the Common Mistakes page of the Execution Model chapter, mention that an exception caused by reaching the end of memory can also be a symptom of a missing exit point.In the Literals page, document the escape sequences supported in character and string literals.Read full article on Community Announcements (Reverie Foundry)Patch NotesOfficial
Patch 0.1.5
This is a small patch addressing a regression introduced in the previous update (0.1.4).AssemblerFix an issue where providing an argument of the incorrect type in the embed and reserve directives causes an Internal Assembler Error instead of reporting a type-checking error.Read full article on Community Announcements (Reverie Foundry)Patch NotesOfficial
Update 0.1.4
This update introduces a frequently requested feature: the manual in PDF form. You can now take the Mnemonimov documentation with you and study it outside the game.Besides the manual, this update includes mouse input for creating programs with a GUI, type-checking of immediate operands, and a small QoL improvement by disabling the redundant quit confirmation when there are no unsaved changes.ManualInclude a PDF version of the manual with the game and add a command for opening the containing directory.MISAImplement mouse input.AssemblerImplement type checking for immediate instruction operands.Fix an issue where the assembler fails to report that a program exceeds the size limit of 1 GiB.UIAdd a setting for adjusting when the game should ask for quit confirmation: always, with unsaved changes (new default), and never.Read full article on Community Announcements (Reverie Foundry)Patch NotesOfficial
Update 0.1.3
Hey everyone, today's update introduces support for CLI programs with the addition of terminal input, and enables printing on the same line with the new printing system call variants.This update also makes debugging easier with the introduction of exceptions that report invalid target addresses in Control Flow instructions, preventing hard-to-catch issues like accidentally jumping to an arbitrary memory address due to a missing pop instruction before a return.MISA(compatibility change) Rename the printing system calls to SYS_PRINT_LINE_* and introduce variants that do not append a newline.Implement terminal input, enabling the creation of CLI programs.VMIn Control Flow instructions, throw an exception if the target address does not point to a known instruction, making it considerably easier to catch control flow issues that lead to data being executed as code.ManualIn the Machine Model chapter, add an Input page documenting the existing button input, and the new terminal input.In the Execution Model chapter, add a page explaining VM exceptions.In the System Calls and (Instructions) Overview pages, document that arguments/operands are not implicitly cast, and integers are signed unless noted otherwise.In the (Instructions) Overview page, add a Syntax section covering operand order and related topics.In the description of the psh, pop, and mov instructions, mention the existence of the vector variants.Group system calls and Floating-Point instructions by category.Read full article on Community Announcements (Reverie Foundry)Patch NotesOfficial
Update 0.1.2
This update expands MISA with 11 new instructions that cover two important use cases: function pointers and unsigned arithmetic. It also brings several bug fixes across the VM, Code Editor, and Terminal.Note that this update introduces a compatibility change, as the fsgn instruction now outputs a float. This means that when opening an existing project, you will be presented with the Compatibility Change Report. It highlights any compatibility changes that may affect your project and helps you bring it up to date with the current MISA specification.MISA(compatibility change) Modify the fsgn instruction to output a float instead of an integer.Add pa-relative variants of branching instructions: cala, jmpa, jtra, jfsa.Add unsigned variants of arithmetic instructions where signedness affects the result: mlhu, divu, remu, minu, maxu, clpu.Add a fma instruction, an integer variant of ffma.VMAdd a setting for capping VM performance to reduce CPU usage when running processing-intensive projects.Fix vector instructions outputting wrong results when the destination overlaps with a source range.Fix sbpx instruction being able to draw a luma value 0 instead of treating it as transparency.Fix pop instruction being able to modify the zr register.Fix an issue where one extra instruction is executed when stopping the VM.Fix an issue where the VM can sometimes be run despite assembly errors.Fix an issue where the _input process sometimes runs at VM startup.Code EditorFix an issue where opening a project sets the assembly code to in certain cases.Fix executing line indicator being cleared on save.Fix executing line indicator staying visible after stepping over an exit instruction when there's no other active process.TerminalFix traceback command freezing the game for a long period when the stack is corrupted.Fix an issue where pressing esc while the terminal is focused does not fully release input focus, potentially blocking some inputs to the VM.ManualDocument how sgn and fsgn behave...Read full article on Community Announcements (Reverie Foundry)






