├── .deepsource.toml ├── .github ├── dependabot.yml └── workflows │ └── rust.yml ├── .gitignore ├── .rustfmt.toml ├── Cargo.lock ├── Cargo.toml ├── LICENSE.md ├── NOTE.md ├── README.md ├── assets ├── alleyway.gif ├── dmg-acid2.jpg ├── donkeykong.gif ├── frogger.gif ├── galaga.gif ├── mario.gif ├── mario2.gif ├── mortalkombat.gif ├── pacman.gif ├── roadrash.gif ├── spaceinvaders.gif ├── tetris.gif └── zelda.gif ├── core ├── Cargo.toml └── src │ ├── alu.rs │ ├── callbacks.rs │ ├── cartridge.rs │ ├── cgb_dma.rs │ ├── colour │ ├── bg_map_attributes.rs │ ├── colour.rs │ ├── grey_shades.rs │ ├── mod.rs │ └── palette_ram.rs │ ├── config.rs │ ├── constants.rs │ ├── cpu.rs │ ├── gpu.rs │ ├── helpers.rs │ ├── interrupts.rs │ ├── joypad.rs │ ├── lcd.rs │ ├── lib.rs │ ├── memory │ ├── battery_backed_ram.rs │ ├── cgb_speed_switch.rs │ ├── mbcs │ │ ├── mbc1.rs │ │ ├── mbc2.rs │ │ ├── mbc3.rs │ │ ├── mbc5.rs │ │ ├── mod.rs │ │ └── none.rs │ ├── memory.rs │ ├── mod.rs │ ├── ram.rs │ ├── rom.rs │ └── vram.rs │ ├── registers.rs │ ├── serial_cable.rs │ └── sound │ ├── apu.rs │ ├── channel1.rs │ ├── channel2.rs │ ├── channel3.rs │ ├── channel4.rs │ ├── length_function.rs │ ├── mod.rs │ ├── registers.rs │ └── volume_envelope.rs ├── libretro ├── Cargo.toml ├── libgbrs_libretro.info ├── run.sh └── src │ └── lib.rs ├── profiling ├── Cargo.toml └── src │ └── main.rs ├── roms ├── DMG-ACID2-LICENSE └── dmg-acid2.gb ├── sdl-gui ├── Cargo.toml ├── build.rs └── src │ ├── gui.rs │ └── main.rs ├── sfml-gui ├── Cargo.toml └── src │ ├── control.rs │ ├── gui.rs │ └── main.rs └── wasm-gui ├── Cargo.lock ├── Cargo.toml ├── buildAndServe.sh ├── index.html └── src └── lib.rs /.deepsource.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/.deepsource.toml -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/workflows/rust.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/.github/workflows/rust.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | .DS_Store 3 | /roms 4 | flamegraph.svg 5 | bytes.sav 6 | -------------------------------------------------------------------------------- /.rustfmt.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/.rustfmt.toml -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/LICENSE.md -------------------------------------------------------------------------------- /NOTE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/NOTE.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/README.md -------------------------------------------------------------------------------- /assets/alleyway.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/assets/alleyway.gif -------------------------------------------------------------------------------- /assets/dmg-acid2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/assets/dmg-acid2.jpg -------------------------------------------------------------------------------- /assets/donkeykong.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/assets/donkeykong.gif -------------------------------------------------------------------------------- /assets/frogger.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/assets/frogger.gif -------------------------------------------------------------------------------- /assets/galaga.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/assets/galaga.gif -------------------------------------------------------------------------------- /assets/mario.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/assets/mario.gif -------------------------------------------------------------------------------- /assets/mario2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/assets/mario2.gif -------------------------------------------------------------------------------- /assets/mortalkombat.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/assets/mortalkombat.gif -------------------------------------------------------------------------------- /assets/pacman.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/assets/pacman.gif -------------------------------------------------------------------------------- /assets/roadrash.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/assets/roadrash.gif -------------------------------------------------------------------------------- /assets/spaceinvaders.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/assets/spaceinvaders.gif -------------------------------------------------------------------------------- /assets/tetris.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/assets/tetris.gif -------------------------------------------------------------------------------- /assets/zelda.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/assets/zelda.gif -------------------------------------------------------------------------------- /core/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/Cargo.toml -------------------------------------------------------------------------------- /core/src/alu.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/alu.rs -------------------------------------------------------------------------------- /core/src/callbacks.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/callbacks.rs -------------------------------------------------------------------------------- /core/src/cartridge.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/cartridge.rs -------------------------------------------------------------------------------- /core/src/cgb_dma.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/cgb_dma.rs -------------------------------------------------------------------------------- /core/src/colour/bg_map_attributes.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/colour/bg_map_attributes.rs -------------------------------------------------------------------------------- /core/src/colour/colour.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/colour/colour.rs -------------------------------------------------------------------------------- /core/src/colour/grey_shades.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/colour/grey_shades.rs -------------------------------------------------------------------------------- /core/src/colour/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/colour/mod.rs -------------------------------------------------------------------------------- /core/src/colour/palette_ram.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/colour/palette_ram.rs -------------------------------------------------------------------------------- /core/src/config.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/config.rs -------------------------------------------------------------------------------- /core/src/constants.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/constants.rs -------------------------------------------------------------------------------- /core/src/cpu.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/cpu.rs -------------------------------------------------------------------------------- /core/src/gpu.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/gpu.rs -------------------------------------------------------------------------------- /core/src/helpers.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/helpers.rs -------------------------------------------------------------------------------- /core/src/interrupts.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/interrupts.rs -------------------------------------------------------------------------------- /core/src/joypad.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/joypad.rs -------------------------------------------------------------------------------- /core/src/lcd.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/lcd.rs -------------------------------------------------------------------------------- /core/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/lib.rs -------------------------------------------------------------------------------- /core/src/memory/battery_backed_ram.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/memory/battery_backed_ram.rs -------------------------------------------------------------------------------- /core/src/memory/cgb_speed_switch.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/memory/cgb_speed_switch.rs -------------------------------------------------------------------------------- /core/src/memory/mbcs/mbc1.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/memory/mbcs/mbc1.rs -------------------------------------------------------------------------------- /core/src/memory/mbcs/mbc2.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/memory/mbcs/mbc2.rs -------------------------------------------------------------------------------- /core/src/memory/mbcs/mbc3.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/memory/mbcs/mbc3.rs -------------------------------------------------------------------------------- /core/src/memory/mbcs/mbc5.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/memory/mbcs/mbc5.rs -------------------------------------------------------------------------------- /core/src/memory/mbcs/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/memory/mbcs/mod.rs -------------------------------------------------------------------------------- /core/src/memory/mbcs/none.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/memory/mbcs/none.rs -------------------------------------------------------------------------------- /core/src/memory/memory.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/memory/memory.rs -------------------------------------------------------------------------------- /core/src/memory/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/memory/mod.rs -------------------------------------------------------------------------------- /core/src/memory/ram.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/memory/ram.rs -------------------------------------------------------------------------------- /core/src/memory/rom.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/memory/rom.rs -------------------------------------------------------------------------------- /core/src/memory/vram.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/memory/vram.rs -------------------------------------------------------------------------------- /core/src/registers.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/registers.rs -------------------------------------------------------------------------------- /core/src/serial_cable.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/serial_cable.rs -------------------------------------------------------------------------------- /core/src/sound/apu.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/sound/apu.rs -------------------------------------------------------------------------------- /core/src/sound/channel1.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/sound/channel1.rs -------------------------------------------------------------------------------- /core/src/sound/channel2.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/sound/channel2.rs -------------------------------------------------------------------------------- /core/src/sound/channel3.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/sound/channel3.rs -------------------------------------------------------------------------------- /core/src/sound/channel4.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/sound/channel4.rs -------------------------------------------------------------------------------- /core/src/sound/length_function.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/sound/length_function.rs -------------------------------------------------------------------------------- /core/src/sound/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/sound/mod.rs -------------------------------------------------------------------------------- /core/src/sound/registers.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/sound/registers.rs -------------------------------------------------------------------------------- /core/src/sound/volume_envelope.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/core/src/sound/volume_envelope.rs -------------------------------------------------------------------------------- /libretro/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/libretro/Cargo.toml -------------------------------------------------------------------------------- /libretro/libgbrs_libretro.info: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/libretro/libgbrs_libretro.info -------------------------------------------------------------------------------- /libretro/run.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/libretro/run.sh -------------------------------------------------------------------------------- /libretro/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/libretro/src/lib.rs -------------------------------------------------------------------------------- /profiling/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/profiling/Cargo.toml -------------------------------------------------------------------------------- /profiling/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/profiling/src/main.rs -------------------------------------------------------------------------------- /roms/DMG-ACID2-LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/roms/DMG-ACID2-LICENSE -------------------------------------------------------------------------------- /roms/dmg-acid2.gb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/roms/dmg-acid2.gb -------------------------------------------------------------------------------- /sdl-gui/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/sdl-gui/Cargo.toml -------------------------------------------------------------------------------- /sdl-gui/build.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/sdl-gui/build.rs -------------------------------------------------------------------------------- /sdl-gui/src/gui.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/sdl-gui/src/gui.rs -------------------------------------------------------------------------------- /sdl-gui/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/sdl-gui/src/main.rs -------------------------------------------------------------------------------- /sfml-gui/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/sfml-gui/Cargo.toml -------------------------------------------------------------------------------- /sfml-gui/src/control.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/sfml-gui/src/control.rs -------------------------------------------------------------------------------- /sfml-gui/src/gui.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/sfml-gui/src/gui.rs -------------------------------------------------------------------------------- /sfml-gui/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/sfml-gui/src/main.rs -------------------------------------------------------------------------------- /wasm-gui/Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/wasm-gui/Cargo.lock -------------------------------------------------------------------------------- /wasm-gui/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/wasm-gui/Cargo.toml -------------------------------------------------------------------------------- /wasm-gui/buildAndServe.sh: -------------------------------------------------------------------------------- 1 | wasm-pack build --release --target web && \ 2 | python3 -m http.server -------------------------------------------------------------------------------- /wasm-gui/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/wasm-gui/index.html -------------------------------------------------------------------------------- /wasm-gui/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adamsoutar/gbrs/HEAD/wasm-gui/src/lib.rs --------------------------------------------------------------------------------