├── .github └── workflows │ ├── main.yml │ └── release.yml ├── .gitignore ├── .gitlab-ci.yml ├── Cargo.lock ├── Cargo.toml ├── LICENSE ├── README.md ├── gbemulator ├── Cargo.toml └── src │ ├── audio_output.rs │ ├── config │ ├── color_palette.rs │ ├── config.rs │ ├── config_storage.rs │ ├── controls.rs │ └── mod.rs │ ├── controls │ ├── keyboard_controller.rs │ └── mod.rs │ ├── emulation.rs │ ├── graphics │ ├── fps_checker.rs │ ├── gameboy_screen.rs │ ├── gui │ │ ├── controls_window.rs │ │ ├── emulator_app.rs │ │ ├── main_menu.rs │ │ ├── mod.rs │ │ └── palette_window.rs │ ├── mod.rs │ └── window.rs │ ├── main.rs │ └── savegame │ ├── filesystem_ram_dumper.rs │ └── mod.rs └── lib_gbemulation ├── Cargo.toml └── src ├── apu ├── apu.rs ├── channel │ ├── frame_sequencer.rs │ ├── frequency_sweep.rs │ ├── length_counter.rs │ ├── mod.rs │ ├── noise_channel.rs │ ├── square_channel.rs │ ├── volume_envelope.rs │ └── wave_channel.rs ├── mixer.rs └── mod.rs ├── cartridge ├── cartridge_base.rs ├── mbc1.rs ├── mbc2.rs ├── mod.rs └── rom_only.rs ├── clock.rs ├── cpu ├── cpu.rs ├── instructions │ ├── cb_instructions.rs │ ├── functions.rs │ ├── instructions.rs │ └── mod.rs ├── interrupt_handler.rs ├── mod.rs └── registers.rs ├── emulation.rs ├── gpu ├── gpu.rs ├── lcdc.rs ├── mod.rs └── stat.rs ├── io ├── joypad.rs ├── mod.rs └── timer.rs ├── lib.rs ├── memory ├── interrupts.rs ├── mmu.rs └── mod.rs └── util ├── binary.rs └── mod.rs /.github/workflows/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/.github/workflows/main.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitlab-ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/.gitlab-ci.yml -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/README.md -------------------------------------------------------------------------------- /gbemulator/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/gbemulator/Cargo.toml -------------------------------------------------------------------------------- /gbemulator/src/audio_output.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/gbemulator/src/audio_output.rs -------------------------------------------------------------------------------- /gbemulator/src/config/color_palette.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/gbemulator/src/config/color_palette.rs -------------------------------------------------------------------------------- /gbemulator/src/config/config.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/gbemulator/src/config/config.rs -------------------------------------------------------------------------------- /gbemulator/src/config/config_storage.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/gbemulator/src/config/config_storage.rs -------------------------------------------------------------------------------- /gbemulator/src/config/controls.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/gbemulator/src/config/controls.rs -------------------------------------------------------------------------------- /gbemulator/src/config/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/gbemulator/src/config/mod.rs -------------------------------------------------------------------------------- /gbemulator/src/controls/keyboard_controller.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/gbemulator/src/controls/keyboard_controller.rs -------------------------------------------------------------------------------- /gbemulator/src/controls/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod keyboard_controller; 2 | -------------------------------------------------------------------------------- /gbemulator/src/emulation.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/gbemulator/src/emulation.rs -------------------------------------------------------------------------------- /gbemulator/src/graphics/fps_checker.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/gbemulator/src/graphics/fps_checker.rs -------------------------------------------------------------------------------- /gbemulator/src/graphics/gameboy_screen.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/gbemulator/src/graphics/gameboy_screen.rs -------------------------------------------------------------------------------- /gbemulator/src/graphics/gui/controls_window.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/gbemulator/src/graphics/gui/controls_window.rs -------------------------------------------------------------------------------- /gbemulator/src/graphics/gui/emulator_app.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/gbemulator/src/graphics/gui/emulator_app.rs -------------------------------------------------------------------------------- /gbemulator/src/graphics/gui/main_menu.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/gbemulator/src/graphics/gui/main_menu.rs -------------------------------------------------------------------------------- /gbemulator/src/graphics/gui/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/gbemulator/src/graphics/gui/mod.rs -------------------------------------------------------------------------------- /gbemulator/src/graphics/gui/palette_window.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/gbemulator/src/graphics/gui/palette_window.rs -------------------------------------------------------------------------------- /gbemulator/src/graphics/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/gbemulator/src/graphics/mod.rs -------------------------------------------------------------------------------- /gbemulator/src/graphics/window.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/gbemulator/src/graphics/window.rs -------------------------------------------------------------------------------- /gbemulator/src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/gbemulator/src/main.rs -------------------------------------------------------------------------------- /gbemulator/src/savegame/filesystem_ram_dumper.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/gbemulator/src/savegame/filesystem_ram_dumper.rs -------------------------------------------------------------------------------- /gbemulator/src/savegame/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod filesystem_ram_dumper; 2 | -------------------------------------------------------------------------------- /lib_gbemulation/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/Cargo.toml -------------------------------------------------------------------------------- /lib_gbemulation/src/apu/apu.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/apu/apu.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/apu/channel/frame_sequencer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/apu/channel/frame_sequencer.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/apu/channel/frequency_sweep.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/apu/channel/frequency_sweep.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/apu/channel/length_counter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/apu/channel/length_counter.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/apu/channel/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/apu/channel/mod.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/apu/channel/noise_channel.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/apu/channel/noise_channel.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/apu/channel/square_channel.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/apu/channel/square_channel.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/apu/channel/volume_envelope.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/apu/channel/volume_envelope.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/apu/channel/wave_channel.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/apu/channel/wave_channel.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/apu/mixer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/apu/mixer.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/apu/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/apu/mod.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/cartridge/cartridge_base.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/cartridge/cartridge_base.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/cartridge/mbc1.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/cartridge/mbc1.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/cartridge/mbc2.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/cartridge/mbc2.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/cartridge/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/cartridge/mod.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/cartridge/rom_only.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/cartridge/rom_only.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/clock.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/clock.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/cpu/cpu.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/cpu/cpu.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/cpu/instructions/cb_instructions.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/cpu/instructions/cb_instructions.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/cpu/instructions/functions.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/cpu/instructions/functions.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/cpu/instructions/instructions.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/cpu/instructions/instructions.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/cpu/instructions/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/cpu/instructions/mod.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/cpu/interrupt_handler.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/cpu/interrupt_handler.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/cpu/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/cpu/mod.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/cpu/registers.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/cpu/registers.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/emulation.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/emulation.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/gpu/gpu.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/gpu/gpu.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/gpu/lcdc.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/gpu/lcdc.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/gpu/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/gpu/mod.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/gpu/stat.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/gpu/stat.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/io/joypad.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/io/joypad.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/io/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/io/mod.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/io/timer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/io/timer.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/lib.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/memory/interrupts.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/memory/interrupts.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/memory/mmu.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/memory/mmu.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/memory/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/memory/mod.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/util/binary.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datp4ddy/gbemulator/HEAD/lib_gbemulation/src/util/binary.rs -------------------------------------------------------------------------------- /lib_gbemulation/src/util/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod binary; 2 | --------------------------------------------------------------------------------