项目简介
本项目是基于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】