1
0
Fork
You've already forked nano32
0
Basic OS/BIOS for RISC-V
Find a file
2026年06月13日 15:38:07 +02:00
.cargo runner linking and dt for rp2350 2026年06月02日 20:14:02 +02:00
.vscode runner linking and dt for rp2350 2026年06月02日 20:14:02 +02:00
src full path loggin breaks dtb parser? 2026年06月13日 15:38:07 +02:00
.gitignore iterator for dtb parsing 2026年06月03日 19:57:58 +02:00
build.rs runner linking and dt for rp2350 2026年06月02日 20:14:02 +02:00
Cargo.lock bitmap font rendering 2026年05月25日 16:36:46 +02:00
Cargo.toml pluggable drivers; feature gated all drivers 2026年06月03日 20:25:57 +02:00
COPYING readme + license 2026年05月24日 18:29:50 +02:00
readme.md doc design and progress 2026年05月28日 05:24:11 +02:00

nano32

Retro-style game console in the spirit of PICO-8 and TIC-80 but designed to actually run on low-end hardware.

Design Notes

The console has RISC-V 32-bit architecture with I, M, A and C extensions (rv32imac). The primary target platform is the RP2350 SoC, so games should require no more than 512kiB if RAM, ideally less for wider support.

Games are regular ELF binaries. For portability they should be relocatable and dynamically link to the BIOS functions. This way actual hardware does not require a MMU.

Consoles have a "BIOS" that acts as a bootloader loading the game from a cartridge and provides a HAL over display, sound and input peripherals.

Hardware "cartridges" are SD-Cards either directly storing the game in ELF or formatted with a FAT32 filesystem in a DOS partition table containing (multiple) such game files. The BIOS can offer a boot selection menu in the latter case.

Progress

Done:

  • BIOS for PC-style consoles like qemu's virt machine
    • VGA display driver

To-do:

  • Specification of BIOS API
  • BIOS for RP2350
  • Sample game
  • Utility libraries and tools for game development (SDK)

License

GPL-3.0-only