Repository navigation
What's Changed in v0.1
⚡ Emulation & GPIO Fixes
- Port Output Level Resolution: Fixed
GPIOPin.Valueto read fromIO[PORTx]when configured asOUTPUT(DDRx = 1) rather thanIO[PINx]. This resolved the issue where LED indicators were not toggling on pin output writes. - Embedded Blink Example: Bundled
Blink.hexandBlink.cinto the output directory so the simulator auto-loads and executes PB5 blinking out of the box.
📦 Solution Restructure & Testing
- Separated Core Engine & UI:
AVR-Simulator.Core(.NET 10 Class Library): Standalone emulation core, instruction decoders, memory map, and Intel HEX parser without GUI dependencies.AVR-Simulator.UI(.NET 10 WPF): Visual desktop frontend with real-time port pin indicators and control menu.
- Comprehensive Unit Testing:
- Added
AVR-Simulator.Core.Tests(20 unit tests) covering instruction execution, memory operations, and HEX decoding. - Added
AVR-Simulator.UI.Tests(5 unit tests) for assembly and type integrity.
- Added
🎨 UI & UX Improvements
- Console Window Removed: Eliminated console window allocation on startup; the simulator now runs as a clean, native WPF desktop application.
- Modernized Port Display: Side-by-side pin state monitors for PORTB, PORTC, and PORTD with clear LED visual indicators.
- Application Icon: Integrated custom hacker/robot icon (
avr-hacker-icon.ico).
🚀 CI/CD & Automated Releases
- Automated Test Workflow: Added
.github/workflows/test.ymlrunning on push, PR, and manual dispatch. - Gated Releases: Added Test workflow as a required prerequisite check before any release can be created.
- Single-File Standalone Release: Compiles self-contained executable bundles with all necessary dependencies and sample assets attached directly to the release page.
- Status Badges: Added Test and Release badges to
README.md.
Downloads:
AVR_Simulator.zip- Complete portable bundle (includes executable, sample hex/c code, and license)AVR Simulator.exe- Standalone single-file Windows executableBlink.hex&Blink.c- Sample test firmware