4 repositorios
Simulation of hardware memory banking where a single address range is mapped to different physical memory banks.
Distinguishing note: Distinct from ML memory banks or OS heap allocation; this is the hardware technique of bank switching.
Explore 4 awesome GitHub repositories matching operating systems & systems programming · Memory Banking Implementation. Refine with filters or upvote what's useful.
MAME is a vintage hardware emulation platform designed to recreate the circuitry of arcade games, computers, and consoles to run original software on modern devices. It functions as a retro gaming preservation framework for managing, verifying, and archiving ROM sets and disk images to ensure long-term software accessibility. The project features a system debugging tool for inspecting emulated memory, CPU registers, and execution flow via breakpoints and disassembly. It also includes a Lua-based automation layer that exposes core system state and hardware controls for custom behavior and anal
Implements hardware memory banking to allow a single address range to map to multiple physical memory banks.
XiangShan is a high-performance RISC-V processor core and a hardware description language framework. It provides a construction-based system for designing, simulating, and verifying complex processor micro-architectures and peripheral devices. The project includes a high-performance CPU simulator used for architectural exploration and functional verification of processor execution. The project implements a superscalar out-of-order CPU architecture that uses renaming and reorder buffers to execute instructions in parallel. It generates synthesizable Verilog files from hardware descriptions to
Implements hardware memory banking to allow simultaneous access to different memory locations and increase cache bandwidth.
TIC-80 is a fantasy console platform and multi-language game engine that provides a virtual retro game development environment. It operates via a bytecode virtual machine that executes game logic within fixed memory and resolution constraints. The project distinguishes itself by offering integrated asset editors for pixel art, tile maps, and a pattern-based chiptune audio workstation all within a single environment. It supports multi-language scripting, allowing developers to write logic in Lua, JavaScript, or Ruby, and provides a standalone game exporter to package projects into native execu
Implements a bank-switching memory model to manage RAM and persistence within the virtual console.
Pokered es una suite integral de herramientas para el desensamblado, depuración y compilación de ROMs de Game Boy. Proporciona un desensamblado completo de los binarios originales del juego en código fuente ensamblador legible por humanos, junto con una cadena de herramientas de ensamblaje dedicada para compilar modificaciones de nuevo en archivos ROM jugables. El proyecto incluye un depurador de ROM especializado para monitorear estados internos del juego y una herramienta de parcheo utilizada para generar parches binarios para aplicar cambios a nivel de ensamblador. El framework cubre una amplia gama de capacidades de ingeniería inversa y modificación, incluyendo el análisis de lógica binaria y el mapeo de diseño de memoria. Permite la alteración de mecánicas de batalla, el porting de características de múltiples generaciones y la edición de scripts de juego, diálogos y diseños de mapas. El proceso de compilación utiliza un ensamblador externo e incluye verificación de integridad basada en hash para garantizar la precisión del desensamblado y la salida compilada.
Implements memory banking to organize code and data to match the physical hardware addressing of the Game Boy.