Skip to content

CircuitReeRUG/game_console

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

game_console

name tbd

Firmware Block Diagram

flowchart TD
    SD[(SD Card\nFAT32)]

    subgraph Core0 ["Core 0 -- Bootloader + Game"]
        Menu["Menu\n- Lists .bin files from SD\n- Selects & launches game"]
        Upload["USB Upload Mode\n- Mounts SD as USB drive\n- Copy .bin files from PC"]
        HAL["HAL\n- drawPixel(), drawText(), drawChar()\n- readInput()\n- sdRead(), sdWrite()\n- getTime()"]
        Game["Game Binary\n- Loaded into RAM @ 0x20010000\n- Owns its own loop\n- Calls HAL only"]
    end

    subgraph Core1 ["Core 1 -- Watchdog"]
        Overlay["Watchdog Loop\n- Monitors A+B+UP\n- Reboots console via watchdog"]
    end

    subgraph Hardware ["Peripherals"]
        OLED["OLED Display\n(mutex-guarded, 128x64)"]
        BTN["Buttons\n(A, B, D-Pad)"]
    end

    SD -->|"Read .bin files"| Menu
    Menu -->|"memcpy to 0x20010000\njump to entry"| Game
    Upload -->|"USB MSC"| SD
    Overlay -->|"watchdog_reboot()\non A+B+UP"| Core0
    Game -->|"calls"| HAL
    HAL -->|"drawPixel()"| OLED
    HAL -->|"readInput()"| BTN
Loading

Folders

  • bootloader/ - Core bootloader firmware for the RP2040. Handles menu, game loading, USB upload mode, and the HAL. You don't need to touch this unless you want to.
  • game/ - Template game project structure and example game firmware. This is the base template for developing new games.
  • pcb/ - Hardware design files including the KiCad PCB schematic, layout, footprints library, and production files (BOM, positions, netlist).
  • test-games/ - Test games and development utilities for validation and demonstration purposes.

Notes

  • Everything is incredibly rudimentary and you shouldn't expect us to respond to issues. We welcome contributions though, so if you want to add features or fix bugs, fork the repo and send a PR.
  • Add your game to the discussions tab! We would love to see what you make with this!
  • You can tag @frogspyder on the Cover Discord server if you want to chat about anything related to this project and/or drop by in the Discord thread.

About

name tbd

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors