Skip to content

Repository files navigation

GamerZero 嵌入式游戏机固件

English

GamerZero 是面向 OpenEcos retroSoC/StarrySkyC2 开发板的嵌入式游戏机固件工程。工程包含 SSD1327 灰度 OLED 显示驱动、按键输入抽象、游戏启动器和多个内置小游戏,可作为 OpenEcos 嵌入式应用示例或小型掌机固件基础。

功能特性

  • SSD1327 128x96 4-bit 灰度 OLED 显示驱动
  • 硬件按键读取与逻辑输入事件转换
  • 游戏启动器与统一游戏生命周期接口
  • 内置游戏:俄罗斯方块、贪吃蛇、2048、Dino
  • 蜂鸣器与音乐模块接口
  • 基于 ECOS SDK 和 RISC-V bare-metal 工具链构建

目录结构

  • main.cmain.h:固件入口和平台公共包含
  • Isrc/:项目公共头文件
  • src/:通用驱动、启动器和游戏框架
  • game/:内置游戏实现
  • music/:音乐播放模块
  • configs/:当前 ECOS SDK 配置输出
  • scripts/:构建与配置辅助 makefile
  • media/:媒体资源说明和占位目录

环境准备

构建前需要准备:

  • ECOS SDK
  • RISC-V bare-metal 交叉编译工具链,命令前缀为 riscv64-unknown-elf-
  • GNU Make

设置 ECOS SDK 路径:

export ECOS_SDK_HOME=/path/to/ecos-sdk

构建

当前配置中的固件名为 retrosoc_fw

make retrosoc_fw

构建产物会生成到 build/ 目录,包括 ELF、BIN、HEX、反汇编文本和内存统计信息。build/ 是生成目录,不纳入版本控制。

配置

如需重新配置板级和驱动选项:

make menuconfig

如需保存最小配置:

make savedefconfig

清理

只清理构建产物:

make clean

清理生成配置:

make clean_config

清理构建产物和生成配置:

make clean_all

贡献

欢迎通过 Issue 和 Pull Request 参与改进。提交贡献前请阅读 CONTRIBUTING.md,并遵守 CODE_OF_CONDUCT.md

开源协议

本项目遵循 Apache License 2.0 开源协议,详见 LICENSE

About

The Game Console for Using ECOS Open Source Chip.

Topics

Resources

Code of conduct

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages