项目简介
本项目是基于C语言开发的Uxn架构模拟器,可模拟Uxn架构的指令集。Uxn作为一种简化的指令集架构,该模拟器实现了其主要功能,像数据处理、寄存器操作、跳转以及与外部设备的交互等,同时提供图形化界面和命令行界面两种运行方式。
项目的主要特性和功能
- 指令集模拟:能执行Uxn指令集架构的各类指令。
- 图形化界面:借助SDL库实现图形界面,涵盖窗口管理、事件处理和渲染等功能。
- 命令行界面:支持命令行参数处理,可设置缩放比例、实现全屏运行等操作。
- 设备模拟:模拟多种外部设备(如控制台、音频、鼠标、文件等)的输入输出。
- 错误处理:在加载程序、处理输入事件等过程中进行有效的错误处理。
安装使用步骤
安装依赖
需安装SDL库和C编译器,不同系统安装方式如下:
- Linux(以Arch、Ubuntu、Void Linux为例):
- Arch:sudo pacman -Sy sdl2
- Ubuntu:sudo apt install libsdl2-dev
- Void Linux:sudo xbps-install SDL2-devel
- OS X:brew install sdl2
- Windows:可通过MSYS2安装,先下载MSYS2或用Chocolatey安装(choco install msys2),在MSYS shell中执行:
sh
pacman -S git mingw-w64-x86_64-gcc mingw64/mingw-w64-x86_64-SDL2
export PATH="${PATH}:/mingw64/bin"
编译源代码
- Linux/OS X:运行
build.sh脚本进行编译,./build.sh --debug可添加调试标志,./build.sh --format可格式化源代码,./build.sh --install可复制到~/bin。若要构建无图形模式的模拟器:cc src/devices/datetime.c src/devices/system.c src/devices/console.c src/devices/file.c src/uxn.c -DNDEBUG -Os -g0 -s src/uxncli.c -o bin/uxncli。 - Plan 9(9front):通过
npe执行mk install。若构建失败,可尝试rm -r /sys/include/npe后再次构建。 - Windows:在MSYS shell中,复制项目
git clone https://git.sr.ht/~rabbits/uxn,进入项目目录cd uxn,运行./build.sh。若要使用uxnemu.exe的控制台设备,运行./build.sh --console。
运行模拟器
- Emulator:启动
.rom文件,bin/uxnemu bin/piano.rom;若使用无图形模式,可使用uxncli。可从这里找额外的rom文件,从这里找预构建的rom文件。 - Assembler:将
.tal文件转换为Uxn兼容的rom文件,bin/uxnasm projects/examples/demos/life.tal bin/life.rom。
交互操作
可通过控制台输入、图形界面操作或命令行参数与模拟器交互。图形化界面下,有以下选项和控制:
- 选项:-2x强制中等缩放,-3x强制大缩放,-f强制全屏模式,--强制将下一个参数作为ROM名称读取。
- 控制:F1切换缩放,F2切换调试,F3捕获屏幕,F4重启,F5软重启,F11切换全屏,F12切换装饰。
- 按钮:LCTRL对应A,LALT对应B,LSHIFT对应SEL,HOME对应START。
注意:此模拟器仅支持Varvara(UXN)程序,并且需要在支持SDL库的环境中运行。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】