{"repo":"true-grue/Brus-16","free":true,"listed":false,"github":"https://github.com/true-grue/Brus-16","clone":"git clone https://github.com/true-grue/Brus-16.git","description":"A tiny game console for education","language":"Python","stars":48,"topics":["16bit","fantasy-console","fpga","game-console","game-engine","gamedev","retro","sdl3","stack-machine","teaching"],"license":"MIT","category":"game-templates","readme_excerpt":"Brus-16 Brus-16 is an educational 16-bit game console with an original, minimalistic architecture. Unlike fantasy consoles, Brus-16 was designed for FPGA implementation. Online emulator. https://github.com/user-attachments/assets/ac93d727-8e6c-47fd-9cd3-85854dddd4d0 Architecture Brus-16 consists of: 16-bit stack-based CPU : Harvard architecture (8K words for code, 8K for data), two hardware stacks (values and return addresses), fixed instruction size. Designed to simplify compiler development. Graphics processor : Renders 64 filled rectangles per frame without a framebuffer. 640x480x16bpp, 60 fps. Sound processor : Additive synthesizer with 16 sine wave oscillators. Input controller : Supports 16 buttons. The ISA is described here. Software Tools There is a basic set of tool templates: Compiler ( brus16 dsl.py ): translates from a Python-like DSL to Brus-16 assembly. Assembler ( brus16 asm.py ): translates assembly into a binary image. Emulator ( brus16 cpu.c , brus16 emu.c , brus16 sfx.c ): software model of the console using the SDL3 library. Educational Projects Brus-16 can be used for various educational projects. Examples: - Develop a software emulator in another language (e.g., Rust, Go). - Create an interactive debugger with stack and memory visualization. - Write a full-featured assembler with macros and directives. - Extend the existing compiler (for-loops, multiple return values). - Implement new compiler optimizations (e.g., value numbering). - Develop a compiler f","default_branch":null,"files":null,"tree":[],"storefront":"/r/true-grue","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/true-grue/Brus-16/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}