Getting Started
Prerequisites
To build and run oboromi, you will need the following tools installed:Install Rust
Install the latest stable version of Rust from rust-lang.org.
Building the Project
Once you have the prerequisites installed, follow these steps:The first build will take some time as Cargo downloads and compiles all dependencies, including the Unicorn engine bindings.
Code Style
We follow standard Rust community guidelines to maintain code quality and consistency.Formatting
All code must be formatted usingrustfmt. Before submitting a PR, run:
Linting
Useclippy to catch common mistakes and improve code quality:
Running Tests
We prioritize correctness. Please ensure all tests pass before submitting a PR.The project currently has limited test coverage as it’s in early development. See the Testing page for more details on the existing test suite.
Submitting a Pull Request
Follow these steps when submitting a pull request:Add tests
If you’ve added code that should be tested, add tests. This helps ensure the emulator remains correct as it evolves.
Reporting Bugs
Bugs are tracked as GitHub issues. When filing an issue, please include:- Clear and descriptive title - Help maintainers quickly identify the problem
- Exact steps to reproduce - What actions led to the issue?
- Expected behavior - What did you expect to happen?
- Actual behavior - What actually happened?
- Environment details - OS, Rust version, etc.
Example Bug Report
Example Bug Report
Title: CPU test hangs on macOS with M1 chipSteps to reproduce:
- Build oboromi on macOS M1
- Run
cargo test - Observe that
test_multicore_initializationhangs
