Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ezroot/gameboyemulator
Minimal game boy emulator that renders in CMD prompt
https://github.com/ezroot/gameboyemulator
cmd emulator gameboy
Last synced: about 1 month ago
JSON representation
Minimal game boy emulator that renders in CMD prompt
- Host: GitHub
- URL: https://github.com/ezroot/gameboyemulator
- Owner: EZroot
- Created: 2024-10-17T14:18:27.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2024-11-11T01:52:50.000Z (about 1 month ago)
- Last Synced: 2024-11-11T02:36:12.787Z (about 1 month ago)
- Topics: cmd, emulator, gameboy
- Language: C#
- Homepage:
- Size: 433 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# đŽ GameBoyEmulator
## đ Description**GameBoyEmulator** is a pure C# implementation of the original Game Boy hardware. It allows you to run Game Boy games in a Windows command-line environment, with support for key components like the CPU, memory, and graphics processing (PPU). ~~This emulator focuses on accuracy and performance while maintaining a clean and readable codebase~~, making it a great resource for anyone interested in emulation or CPU architecture.
## đ Features
- đšī¸ **Game Boy ROM Support**: Runs standard 32KB Game Boy ROMs.
- đ§ **CPU Emulation**: Partial instruction set coverage for the Game Boy's Z80-based CPU.
- đ¨ **Graphics (PPU)**: Rendering of the Game Boy's 160x144 pixel screen, including background and sprites.
- đŽ **Input Handling**: Polling for joypad input for controlling in-game actions.
- đĨī¸ **Command Line Interface**: Simple CLI for loading and playing games.
- đ ī¸ **Debug Mode**: Step-through frame functionality for debugging game behavior.## đŧī¸ Preview
![Tetris Preview](https://raw.githubusercontent.com/EZroot/GameBoyEmulator/refs/heads/main/GameBoyEmulator/screenshots/gameboyemulator.gif)
*Screenshot of Tetris running on GameBoyEmulator*
## đ ī¸ Getting Started
### Prerequisites
- đĸ **.NET Core**
- đĸ **Any OS**### Installation
1. Clone the repository:
```bash
git clone https://github.com/EZroot/GameBoyEmulator.git
```2. Open the solution in **Visual Studio** or your preferred IDE.
3. Build the project to generate the executable.
### Running the Emulator
1. Place your **Game Boy ROM** files in the same directory as the emulator executable.
2. Run the emulator via the command line:
```bash
GameBoyEmulator.exe path_to_rom.gb
```### đŽ Controls
- **Arrow Keys**: D-Pad (Up, Down, Left, Right)
- **Z**: A Button
- **X**: B Button
- **Spacebar**: Start
- **A**: Select## đ¤ Contributing
If you'd like to contribute to this project, feel free to fork the repository and submit a pull request. Contributions for new features, performance improvements, and bug fixes are highly welcome!
## đ License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for more details.
## đ Acknowledgments
- Inspired by various **Game Boy emulators** and resources that explain the Game Boy hardware.
- Special thanks to the **open-source community** for providing a wealth of resources on emulation.