cbonello/lh5801
Sharp LH5801 8-bit microprocessor emulator in Dart.
- Stars
- 5
- Forks
- 1
- Last push (UTC)
- Apr 14, 2026
- Project status
- Active
LanguagesDartC++
Technical topics
Dependencies used
Dependency list 5 items
- benchmark_harnessDevelopment
^2.4.0 - coverageDevelopment
^1.12.0 - lintsDevelopment
^6.0.0 - mocktailDevelopment
^1.0.0 - testDevelopment
^1.31.0
App categories
Original README
English project snapshot. Visit GitHub for the latest content.
Expand / collapse project README
Sharp LH5801
Sharp LH5801 8-bit Microprocessor emulator written in Dart.
This package is part of an ongoing project of writing a Sharp PC-1500 emulator with Dart/Flutter.
Features
- Emulator — cycle-accurate LH5801 CPU emulation.
- Assembler — assemble LH5801 source files into binary.
- Disassembler — disassemble binary back to LH5801 mnemonics.
- CLI tool — command-line interface for assembling and disassembling files.
Requirements
Dart SDK >=3.10.0 <4.0.0
Installation
Add lh5801 as a dependency in your pubspec.yaml:
dependencies:
lh5801:
git:
url: https://github.com/cbonello/lh5801.git
Then run:
$ dart pub get
Usage
See example/ folder for a complete example that inverts the LCD screen of a Sharp PC-1500.
$ dart run example/main.dart
CLI
The package includes a command-line tool for assembling and disassembling files.
# Assemble a source file
$ dart run lh5801 asm input.asm -o output.bin
# Disassemble a binary file
$ dart run lh5801 dasm input.bin
# Set a custom origin address
$ dart run lh5801 dasm input.bin --origin 4000
Testing
$ dart test
00:03 +474: All tests passed!
Features and bugs
Please file feature requests and bugs at the issue tracker.