#intel #emulator #chip #microprocessor #harness #build #8080

nightly no-std lemurs-8080

Intel 8080 微处理器的仿真器

8 个版本

0.5.2 2024年1月9日
0.5.1 2023年10月9日
0.4.8 2023年10月2日
0.4.7 2023年9月29日
0.3.0 2023年9月17日

#957Rust 模式

每月 47 次下载

UPL-1.0 许可证

105KB
2.5K SLoC

Lemurs 8080

此包提供了一个 Intel 8080 微处理器的仿真器。它仅模拟芯片本身,可以与支持已发布的 Harness 特性的任何值一起使用。

该包支持不带 "std" 功能的编译,以消除对 stdcrate 的依赖。这需要提供替代的 panic 处理程序和分配器。

您可以使用以下脚本构建一个静态库,该库可用于 C++ 项目,将在当前目录中生成一个名为 lemurs_8080_cpp 的文件夹,其中包含一个头文件和库的调试和发布版本

bash (Linux/Mac OS X/其他 POSIX)

#!/bin/bash
mkdir lemurs_8080_cpp; cd lemurs_8080_cpp; L8080=$(pwd); mkdir debug release
cargo new --vcs none build_8080_cpp
(cd build_8080_cpp; cargo add lemurs-8080; cargo vendor)
(
	cd build_8080_cpp/vendor/lemurs-8080; cp -R include "$L8080";
	cargo +nightly -Z unstable-options build --no-default-features --features "cpp $1" \
		--out-dir "${L8080}/debug"
	cargo +nightly -Z unstable-options build --no-default-features --features "cpp $1" \
		--out-dir "${L8080}/release" --release
)
rm -r build_8080_cpp

PowerShell (Windows)

mkdir 'lemurs_8080_cpp'
Set-Location .\lemurs_8080_cpp
Push-Location
'debug','release' | ForEach-Object {mkdir ".\$_"}
cargo new --vcs none build_8080_cpp
Set-Location build_8080_cpp
cargo add lemurs-8080
cargo vendor
Set-Location vendor\lemurs-8080
Copy-Item -Path .\include -Destination (Get-Location -Stack) -Recurse

cargo +nightly -Z unstable-options build --no-default-features --features "cpp" --out-dir "$(Get-Location -Stack)\debug"
cargo +nightly -Z unstable-options build --no-default-features --features "cpp" --out-dir "$(Get-Location -Stack)\release" --release

Pop-Location
Remove-Item -Recurse -Path build_8080_cpp

Lemurs 旨在成为芯片仿真包的集合。目前仅支持 i8080。

依赖关系

~1.1–1.6MB
~38K SLoC