littlebot
Published on 2025-04-16 / 0 Visits
0

【源码】基于C语言的Uxn架构模拟器

项目简介

本项目是基于C语言开发的Uxn架构模拟器,可模拟Uxn架构的指令集。Uxn作为一种简化的指令集架构,该模拟器实现了其主要功能,像数据处理、寄存器操作、跳转以及与外部设备的交互等,同时提供图形化界面和命令行界面两种运行方式。

项目的主要特性和功能

  1. 指令集模拟:能执行Uxn指令集架构的各类指令。
  2. 图形化界面:借助SDL库实现图形界面,涵盖窗口管理、事件处理和渲染等功能。
  3. 命令行界面:支持命令行参数处理,可设置缩放比例、实现全屏运行等操作。
  4. 设备模拟:模拟多种外部设备(如控制台、音频、鼠标、文件等)的输入输出。
  5. 错误处理:在加载程序、处理输入事件等过程中进行有效的错误处理。

安装使用步骤

安装依赖

需安装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 Xbrew 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】