Languages & compilers

Oboromi systems work

Work at the boundaries of IPC, CPU execution, and emulator diagnostics.

Interactive study

Explore the example
InstructiondecoderRegister8 bits
From the example below.

Why I’m interested

An emulator has to make instruction execution, memory, and failure conditions agree. That makes its boundaries especially interesting: parse the wrong packet or let a register overflow, and the rest of the system inherits the mistake. My Oboromi work focuses on those boundaries and on diagnostics that make them visible.

Progress

My local contributions cover IPC packet and schema parsing, bounded CPU configuration, shader diagnostics, and USB research tools. The browser example uses an original eight-bit instruction set to show successful execution, overflow, and a step-limit failure. Oboromi is the upstream experimental emulator.

Make execution limits visible

Run the same instruction set through successful execution, arithmetic overflow, and a step-limit failure. Each result shows where execution stops.

Choose an example

One register and explicit execution limits

The machine has one eight-bit register. Checked addition stops an overflow, and the step limit bounds execution. A successful program reaches HALT within that limit.

InstructiondecoderRegister8 bits

Input

LOAD 7
ADD 5
HALT

step limit: 8

Result

register trace: [0, 7, 12]
result: 12
state: Halted

One register and explicit execution limits

The machine has one eight-bit register. Checked addition stops an overflow, and the step limit bounds execution. A successful program reaches HALT within that limit.

InstructiondecoderRegister8 bits

Input

LOAD 250
ADD 10
HALT

step limit: 8

Result

state: Rejected
reason: Register overflow

One register and explicit execution limits

The machine has one eight-bit register. Checked addition stops an overflow, and the step limit bounds execution. A successful program reaches HALT within that limit.

InstructiondecoderRegister8 bits

Input

LOAD 7
ADD 5
HALT

step limit: 1

Result

state: Rejected
reason: Step limit reached

Rust executes this original eight-bit instruction set and records the register trace. The next example uses an IPC packet from the local Oboromi parser work. 0xNikilite authors Oboromi.

Sources and reference notes

Upstream emulator foundation

Reference: Oboromi by 0xNikilite. The browser example executes its own eight-bit instruction set.
Read the original source

What comes next

Add an IPC packet example from the local parser contributions and show the decoded fields beside the source bytes.

Implementation and credits

How does an executor stop overflow and enforce a step limit?

Rust executes an original instruction set with one eight-bit register, checked addition, and a step limit.

Compare a complete program, arithmetic overflow, and a step-limit failure.

Rust executes the eight-bit example and records its register trace.

0xNikilite authors Oboromi. My local contributions cover parser boundaries, runtime checks, and research tools.

Back to the collection