Changelog

New updates and improvements for Sim8085

May 14, 2025

🧹 Code Formatter

Sim8085 now includes a built-in code formatting tool to clean up and align your 8085 assembly code — making it more readable and consistent with traditional 3-column style:

  • 🧠 Smart Label-Aware Formatting Labels are aligned to the left, and if a label is too long, the instruction is moved to the next line automatically.

  • 🧱 Mnemonic and Operand Alignment Instructions and operands are neatly spaced into consistent columns, making the structure of your code easier to follow.

  • ✍️ Comment Preservation Comments are retained exactly where you typed them — whether inline or on standalone lines.

  • Blank Line Preservation Your original blank lines are preserved, so logical sections of your program remain visually distinct.

🧪 Note: This feature is still in testing. If you notice any formatting issues or edge cases, please report them on GitHub.

Detailed Changelogs

May 8, 2025

🆕 Interrupt Controls & Indicators

Sim8085 now supports realistic interrupt simulation — not just the CPU behavior, but also the hardware lines and pending states:

  • 🟡 Interrupt Control Panel You can now toggle TRAP, RST 5.5, RST 6.5, and RST 7.5 lines from the new lightning bolt (⚡) menu — just like pressing hardware buttons. Each toggle represents the state of the actual interrupt line.

    Interrupt Controls

  • 🟢 Live Interrupt Status Panel A new sidebar section displays the enabled/masked state of each interrupt, as well as any pending interrupts. TRAP is always enabled (as it is in real 8085), and RST 7.5 now includes proper latch behavior.

    Interrupt Panel

These improvements make it easier to understand and debug interrupt-driven programs — and bring Sim8085 even closer to how real 8085 hardware behaves.

Detailed Changelogs

May 7, 2025

⚙️ Improved Memory and I/O Access Reliability

This update ensures that memory and I/O access remain stable and consistent, even as internal optimizations are made.

You can now rely on your programs working as expected — without surprises caused by behind-the-scenes changes.


⚡ Performance Improvements

  • Simulator is now lazy-loaded, meaning it’s only fetched when needed — improving initial load times significantly.
  • Additional load time optimizations applied to reduce startup delays, especially on slower connections.

🎨 UI & Styling Fixes

  • Fixed styling issues in the left and right panels, including spacing, overflow, and alignment.
  • Fixed layout problems caused by large footers, especially in documentation or tutorial pages.
  • Polished the changelog page styling for better readability and consistency.

Detailed Changelogs

May 6, 2025

🧠 RIM & SIM Instruction Support

Sim8085 now supports the RIM (Read Interrupt Mask) and SIM (Set Interrupt Mask) instructions — enabling simulation of advanced interrupt behavior and control flags.

  • You can now write programs that read and modify interrupt masks using RIM and SIM.
  • Useful for implementing software-based interrupt control and serial I/O logic.
SIM ; Configure interrupt masks or SOD
RIM ; Read interrupt masks and pending RSTs

🚨 RST Instruction and Interrupts

Support for RST n instructions (software interrupts) is now included!

You can now write monitor-style programs and test interrupt service routines:

RST 7 ; Jump to 0038H

This opens the door to more realistic system-level programming and educational use cases.


🧰 SIM/RIM ↔ Number Converter Tool

A new section has been added to the Toolbox Panel to decode and encode values for SIM and RIM instructions.

  • Visualize the meaning of each bit in SIM/RIM values
  • Easily toggle flags and copy the result into your program

This is especially helpful when setting up SOD, interrupt masks, and checking pending interrupts.


🐞 Bug Fixes

  • Fixed a bugs related to extra scrollbars on some screens.

Detailed Changelogs

May 5, 2025

💡 LED Array Connected to J3

Sim8085 now includes a virtual LED Array connected to port J3, letting you simulate LED output visually:

MVI A, 55H
OUT 03H ; lights up alternating LEDs
HLT

This is perfect for writing I/O programs that display patterns or signals, such as binary counters or blinking sequences.

LED Array


🧰 New Toolbox Panel

Introducing the Toolbox Panel — a handy sidebar with utilities to help you convert and inspect values while programming.

It currently includes:

  • Hex ⇄ Decimal Converter
  • Binary ⇄ Decimal Converter
  • SIM ⇄ Hex Helper to visualize SIM instruction bits

Toolbox Panel

This is just the beginning — more tools are planned for upcoming releases.


⚡ Performance Improvements

  • Improved loading performance with smarter asset loading
  • Removed unused Google Fonts to reduce page size

🐞 Bug Fixes

📱 Mobile Layouts

  • Fixed layout of the Actions panel on small screens
  • Reordered icons in the Actions list for better clarity
  • Fixed login page logo distortion on iPhone Safari
  • Improved changelog layout on mobile screens

🧱 General UI

  • Fixed CSS build issues
  • Corrected documentation path in sidebar
  • Fixed Tips section styling for consistency

Let me know if you’d like to split these into separate posts for each major feature or keep them combined.

May 3, 2025

✨ Added Support for Long-Running Programs

Sim8085 can now handle programs with infinite loops, such as those that generate square waves:

ORG 00H
WHILE:
MVI A, 00H
OUT 02H
MVI D, 0FFH
MVI E, 0FFH
CALL DELAY
MVI A, 01H
OUT 02H
MVI D, 0FFH
MVI E, 0FFH
CALL DELAY
JMP WHILE
HLT
DELAY:
DCX D
MOV A,D
ORA E
JNZ DELAY
RET

Previously, such programs could freeze the browser due to tight loops. This update introduces Instruction Timing Mode, a new simulator setting that emulates instruction execution delays more realistically.

Instruction Timing Setting

When enabled, the simulator inserts delays based on actual 8085 timing, allowing the host browser to remain responsive — even for infinite or long-running loops.

Note: Instruction Timing Mode is off by default. You must enable it before running time-sensitive or infinite loop programs.

This lays the groundwork for exciting features like:

  • Interactive programs (e.g., waiting for keyboard input)
  • Monitor programs that rely on polling loops
  • Realistic peripheral emulation in future updates

🛠️ Minor Fixes

  • When using the Full Memory View, searched rows now appear at the top of the view instead of the bottom — making them easier to find.

Row on top after search in full memory view

Detailed Changelogs

April 24, 2025

Added support for multiple labels

Programs such as the one below failed to assemble earlier,

; Program with multiple labels
; for single statement
JMP INIT
;data
STR: DB 'HELLO'
INIT:
START:
MVI A, STR
HLT

These programs are now supported by the assembler.

Note that you cannot add multiple labels to data definitions such as DB, EQU, SET and others.

Detailed Changelogs

November 16, 2024

Mobile & Offline Support Has Arrived!

Sim8085 is now more accessible than ever! Use it seamlessly on your mobile device or desktop, whether you’re online or offline.

Mobile Layout

What’s New?

  • Mobile-Friendly: Run Sim8085 on your phone to quickly try out programs, learn, and experiment with 8085 assembly programming—anytime, anywhere.
  • Offline Access: Enjoy Sim8085 even without an internet connection. Yes, you could technically debug an assembly program on a plane (not that you’d want to… or would you?).
  • Installable as an App: Add Sim8085 to your home screen or desktop and use it like a native app for a smoother experience.

How to Install

Install on iOS

  • On Android:
    1. Open https://www.sim8085.com in your browser.
    2. Tap the menu (three dots) and select Add to Home Screen or Install App.

Install on Android

For detailed instructions, check out Mozilla’s Installing and Uninstalling Web Apps guide.

Detailed Changelogs

November 11, 2024

Keyboard shortcuts are here!

Keyboard Shortcuts

Use your keyboard to assemble, run, and control other parts of the application.

Add documentation page

Documentation Section

Sim8085 now has a documentation section. Documents about Sim8085 and 8085 microprocessor in general will be available in this section.

Support for END Directive

The END directive is used for marking the end of assembling process and to set the starting address to start execution. Read the docs.

Detailed Changelogs

This site uses cookies to ensure the best experience for our users.

By continuing, you agree to the use of cookies.