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.
-
🟢 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.
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.
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
andSIM
. - Useful for implementing software-based interrupt control and serial I/O logic.
SIM ; Configure interrupt masks or SODRIM ; 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.
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, 55HOUT 03H ; lights up alternating LEDsHLT
This is perfect for writing I/O programs that display patterns or signals, such as binary counters or blinking sequences.
🧰 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
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.
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.
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
;dataSTR: 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.
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
- On iOS:
- Open https://www.sim8085.com in Safari.
- Tap the Share icon and select Add to Home Screen.
- On Android:
- Open https://www.sim8085.com in your browser.
- Tap the menu (three dots) and select Add to Home Screen or Install App.
- On Desktop:
- Open https://www.sim8085.com.
- Look for the Install option in your browser’s URL bar.
For detailed instructions, check out Mozilla’s Installing and Uninstalling Web Apps guide.
November 11, 2024
Keyboard shortcuts are here!
Use your keyboard to assemble, run, and control other parts of the application.
Add documentation page
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.