4 Repos
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 ist eine umfassende Suite von Tools für die Disassemblierung, das Debugging und die Kompilierung von Game-Boy-ROMs. Sie bietet eine vollständige Disassemblierung der ursprünglichen Spiel-Binärdateien in menschenlesbaren Assembly-Quellcode, neben einer dedizierten Assembly-Toolchain für die Kompilierung von Modifikationen zurück in spielbare ROM-Dateien. Das Projekt enthält einen spezialisierten ROM-Debugger zur Überwachung interner Spielzustände und ein Patching-Tool, das verwendet wird, um Binär-Patches für die Anwendung von Änderungen auf Assembly-Ebene zu generieren. Das Framework deckt eine breite Palette an Reverse-Engineering- und Modifikationsfunktionen ab, einschließlich der Analyse von Binärlogik und Speicherlayout-Mapping. Es ermöglicht die Änderung von Kampfmechaniken, das Portieren von Multi-Generation-Funktionen sowie die Bearbeitung von Spielskripten, Dialogen und Kartenlayouts. Der Build-Prozess nutzt einen externen Assembler und enthält eine hashbasierte Integritätsprüfung, um die Genauigkeit der Disassemblierung und der kompilierten Ausgabe sicherzustellen.
Implements memory banking to organize code and data to match the physical hardware addressing of the Game Boy.