这会把模拟器的bug修完了,部分功能开发会先在模拟器上进行。
图形部分使用SDL2,板上的物理按键也由SDL2处理。
串口输入输出则对应系统的基本输入输出流,这里的输入是利用conio.h做的非阻塞输入。
考虑到板上实际为单线程,因此模拟器也未设置多线程。
源码地址:XXXXXXXXXXXXXXXXXX/NSDN/NGV/tree/master/cortex/emulator
需要使用mingw编译,如要在linux上编译可能需要安装ncurses和SDL
预编译文件:
编译目标为Windows x64
源码结构:
Mode LastWriteTime Length Name Info
---- ------------- ------ ---- ----
d----- 2018.8.22 16:27 Assets 各种资源,对应板上的SD卡。其中logo.bmp为GUI使用
d----- 2018.8.21 23:04 Drivers 驱动程序库,包含基本驱动库NGV,脚本引擎NSASM以及SDL库
-a---- 2018.8.22 13:06 19 .gitignore git ignore
-a---- 2018.8.23 9:59 1787 app.cpp 用户程序文件
-a---- 2018.8.22 13:36 763 main.cpp 主程序文件,入口点
-a---- 2018.8.22 23:46 417 make.bat 编译脚本
-a---- 2018.8.23 9:53 6465 sdl.cpp SDL函数封装
-a---- 2018.8.22 11:36 295 sdl.h SDL函数封装头
-a---- 2018.8.21 18:49 597 util.cpp 其他函数
-a---- 2018.8.21 18:49 641 util.h 其他函数头
整个项目包含c99和c++11的代码,统一按c++11编译。
SDL图形窗口中,WSAD和光标对应板上左右摇杆按键,ESC退出模拟器,Backspace复位
Console窗口对应串口输入输出,Ctrl-C退出模拟器
欢迎star,fork,repo
时段 | 个数 |
---|---|
{{f.startingTime}}点 - {{f.endTime}}点 | {{f.fileCount}} |