← Back to Projects
8085 Microprocessor Emulator
January 15, 2023 active

8085 Microprocessor Emulator

A complete 8085 microprocessor emulator built with Rust and EGUI for educational purposes

Technologies

Rust EGUI Logos

Overview

This project is a complete emulator for the Intel 8085 microprocessor, built using Rust and EGUI. It was created as an educational tool to understand the inner workings of the 8085 microprocessor without needing physical hardware.

The emulator provides a simulation environment where users can write assembly programs, execute them , and observe how the processor’s internal components (registers, memory, flags) change during execution.

Technical Implementation

The emulator core is written in Rust, and the graphical interface was developed using the EGUI framework. The project use the Logos library for tokenizing assembly code, making it easy to parse and analyze.

Architecture

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   Assembly      │    │     Lexer       │    │    Parser       │
│   Source Code   │───▶│   (Logos)       │───▶│   (Custom)      │
└─────────────────┘    └─────────────────┘    └─────────────────┘
                                                        │
                                                        ▼
┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│      GUI        │    │   Emulator      │    │   Instruction   │
│    (EGUI)       │◀───│     Core        │◀───│    Decoder      │
└─────────────────┘    └─────────────────┘    └─────────────────┘

Educational Value

This emulator serves as an excellent learning tool for:

  • Computer Science Students: Understanding processor architecture and assembly programming
  • Embedded Systems: Learning low-level programming concepts

Future Enhancements

  • Interrupt Handling: Complete interrupt system simulation
  • Program Examples: Built-in library of example programs
  • Performance Profiling: Tools for analyzing program execution efficiency
  • Export Functionality: Save and load processor states