├── .cargo └── config ├── .github ├── boot_roms.tar.gpg ├── dependabot.yml ├── scripts │ ├── install_wla-dx.sh │ └── unpack_bootroms.sh └── workflows │ └── ci.yml ├── .gitignore ├── .gitmodules ├── Cargo.lock ├── Cargo.toml ├── LICENSE ├── README.markdown ├── core ├── Cargo.toml ├── bootroms │ └── .gitignore ├── src │ ├── config.rs │ ├── config │ │ ├── bootrom.rs │ │ ├── cartridge.rs │ │ └── model.rs │ ├── cpu.rs │ ├── cpu │ │ ├── decode.rs │ │ ├── execute.rs │ │ ├── register_file.rs │ │ ├── test.rs │ │ └── test │ │ │ ├── cb_test.rs │ │ │ ├── test_0x.rs │ │ │ ├── test_1x.rs │ │ │ ├── test_2x.rs │ │ │ ├── test_3x.rs │ │ │ ├── test_4x.rs │ │ │ ├── test_5x.rs │ │ │ ├── test_6x.rs │ │ │ ├── test_7x.rs │ │ │ ├── test_add16.rs │ │ │ ├── test_add16_sp_e.rs │ │ │ ├── test_ax.rs │ │ │ ├── test_cx.rs │ │ │ ├── test_dec16.rs │ │ │ ├── test_ex.rs │ │ │ ├── test_fx.rs │ │ │ ├── test_inc16.rs │ │ │ ├── test_load16.rs │ │ │ ├── test_load16_hl_sp_e.rs │ │ │ ├── test_load16_sp_hl.rs │ │ │ ├── test_pop16.rs │ │ │ └── test_push16.rs │ ├── emulation.rs │ ├── gameboy.rs │ ├── hardware.rs │ ├── hardware │ │ ├── apu.rs │ │ ├── apu │ │ │ ├── ch1.rs │ │ │ ├── ch2.rs │ │ │ ├── ch3.rs │ │ │ ├── ch4.rs │ │ │ ├── envelope.rs │ │ │ ├── sweep.rs │ │ │ └── wave_duty.rs │ │ ├── bootrom.rs │ │ ├── cartridge.rs │ │ ├── interrupts.rs │ │ ├── joypad.rs │ │ ├── ppu.rs │ │ ├── serial.rs │ │ ├── timer.rs │ │ └── work_ram.rs │ ├── lib.rs │ ├── machine.rs │ ├── util.rs │ └── util │ │ └── int.rs └── tests │ └── mooneye_suite.rs ├── roms └── .gitkeep ├── run_acceptance_tests.sh ├── rustfmt.toml └── src ├── fps_counter.rs ├── frame_times.rs ├── frontend.rs ├── frontend ├── gui.rs ├── renderer.rs └── shader │ ├── frag_110.glsl │ ├── frag_140.glsl │ ├── vert_110.glsl │ └── vert_140.glsl ├── main.rs └── perf_counter.rs /.cargo/config: -------------------------------------------------------------------------------- 1 | [build] 2 | rustflags = ["-C", "target-cpu=native"] 3 | -------------------------------------------------------------------------------- /.github/boot_roms.tar.gpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/.github/boot_roms.tar.gpg -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/.github/dependabot.yml -------------------------------------------------------------------------------- /.github/scripts/install_wla-dx.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/.github/scripts/install_wla-dx.sh -------------------------------------------------------------------------------- /.github/scripts/unpack_bootroms.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/.github/scripts/unpack_bootroms.sh -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/.gitmodules -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/LICENSE -------------------------------------------------------------------------------- /README.markdown: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/README.markdown -------------------------------------------------------------------------------- /core/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/Cargo.toml -------------------------------------------------------------------------------- /core/bootroms/.gitignore: -------------------------------------------------------------------------------- 1 | *.bin 2 | -------------------------------------------------------------------------------- /core/src/config.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/config.rs -------------------------------------------------------------------------------- /core/src/config/bootrom.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/config/bootrom.rs -------------------------------------------------------------------------------- /core/src/config/cartridge.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/config/cartridge.rs -------------------------------------------------------------------------------- /core/src/config/model.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/config/model.rs -------------------------------------------------------------------------------- /core/src/cpu.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/cpu.rs -------------------------------------------------------------------------------- /core/src/cpu/decode.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/cpu/decode.rs -------------------------------------------------------------------------------- /core/src/cpu/execute.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/cpu/execute.rs -------------------------------------------------------------------------------- /core/src/cpu/register_file.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/cpu/register_file.rs -------------------------------------------------------------------------------- /core/src/cpu/test.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/cpu/test.rs -------------------------------------------------------------------------------- /core/src/cpu/test/cb_test.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/cpu/test/cb_test.rs -------------------------------------------------------------------------------- /core/src/cpu/test/test_0x.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/cpu/test/test_0x.rs -------------------------------------------------------------------------------- /core/src/cpu/test/test_1x.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/cpu/test/test_1x.rs -------------------------------------------------------------------------------- /core/src/cpu/test/test_2x.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/cpu/test/test_2x.rs -------------------------------------------------------------------------------- /core/src/cpu/test/test_3x.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/cpu/test/test_3x.rs -------------------------------------------------------------------------------- /core/src/cpu/test/test_4x.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/cpu/test/test_4x.rs -------------------------------------------------------------------------------- /core/src/cpu/test/test_5x.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/cpu/test/test_5x.rs -------------------------------------------------------------------------------- /core/src/cpu/test/test_6x.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/cpu/test/test_6x.rs -------------------------------------------------------------------------------- /core/src/cpu/test/test_7x.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/cpu/test/test_7x.rs -------------------------------------------------------------------------------- /core/src/cpu/test/test_add16.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/cpu/test/test_add16.rs -------------------------------------------------------------------------------- /core/src/cpu/test/test_add16_sp_e.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/cpu/test/test_add16_sp_e.rs -------------------------------------------------------------------------------- /core/src/cpu/test/test_ax.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/cpu/test/test_ax.rs -------------------------------------------------------------------------------- /core/src/cpu/test/test_cx.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/cpu/test/test_cx.rs -------------------------------------------------------------------------------- /core/src/cpu/test/test_dec16.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/cpu/test/test_dec16.rs -------------------------------------------------------------------------------- /core/src/cpu/test/test_ex.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/cpu/test/test_ex.rs -------------------------------------------------------------------------------- /core/src/cpu/test/test_fx.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/cpu/test/test_fx.rs -------------------------------------------------------------------------------- /core/src/cpu/test/test_inc16.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/cpu/test/test_inc16.rs -------------------------------------------------------------------------------- /core/src/cpu/test/test_load16.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/cpu/test/test_load16.rs -------------------------------------------------------------------------------- /core/src/cpu/test/test_load16_hl_sp_e.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/cpu/test/test_load16_hl_sp_e.rs -------------------------------------------------------------------------------- /core/src/cpu/test/test_load16_sp_hl.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/cpu/test/test_load16_sp_hl.rs -------------------------------------------------------------------------------- /core/src/cpu/test/test_pop16.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/cpu/test/test_pop16.rs -------------------------------------------------------------------------------- /core/src/cpu/test/test_push16.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/cpu/test/test_push16.rs -------------------------------------------------------------------------------- /core/src/emulation.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/emulation.rs -------------------------------------------------------------------------------- /core/src/gameboy.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/gameboy.rs -------------------------------------------------------------------------------- /core/src/hardware.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/hardware.rs -------------------------------------------------------------------------------- /core/src/hardware/apu.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/hardware/apu.rs -------------------------------------------------------------------------------- /core/src/hardware/apu/ch1.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/hardware/apu/ch1.rs -------------------------------------------------------------------------------- /core/src/hardware/apu/ch2.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/hardware/apu/ch2.rs -------------------------------------------------------------------------------- /core/src/hardware/apu/ch3.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/hardware/apu/ch3.rs -------------------------------------------------------------------------------- /core/src/hardware/apu/ch4.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/hardware/apu/ch4.rs -------------------------------------------------------------------------------- /core/src/hardware/apu/envelope.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/hardware/apu/envelope.rs -------------------------------------------------------------------------------- /core/src/hardware/apu/sweep.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/hardware/apu/sweep.rs -------------------------------------------------------------------------------- /core/src/hardware/apu/wave_duty.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/hardware/apu/wave_duty.rs -------------------------------------------------------------------------------- /core/src/hardware/bootrom.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/hardware/bootrom.rs -------------------------------------------------------------------------------- /core/src/hardware/cartridge.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/hardware/cartridge.rs -------------------------------------------------------------------------------- /core/src/hardware/interrupts.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/hardware/interrupts.rs -------------------------------------------------------------------------------- /core/src/hardware/joypad.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/hardware/joypad.rs -------------------------------------------------------------------------------- /core/src/hardware/ppu.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/hardware/ppu.rs -------------------------------------------------------------------------------- /core/src/hardware/serial.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/hardware/serial.rs -------------------------------------------------------------------------------- /core/src/hardware/timer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/hardware/timer.rs -------------------------------------------------------------------------------- /core/src/hardware/work_ram.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/hardware/work_ram.rs -------------------------------------------------------------------------------- /core/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/lib.rs -------------------------------------------------------------------------------- /core/src/machine.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/machine.rs -------------------------------------------------------------------------------- /core/src/util.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/util.rs -------------------------------------------------------------------------------- /core/src/util/int.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/src/util/int.rs -------------------------------------------------------------------------------- /core/tests/mooneye_suite.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/core/tests/mooneye_suite.rs -------------------------------------------------------------------------------- /roms/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /run_acceptance_tests.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/run_acceptance_tests.sh -------------------------------------------------------------------------------- /rustfmt.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/rustfmt.toml -------------------------------------------------------------------------------- /src/fps_counter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/src/fps_counter.rs -------------------------------------------------------------------------------- /src/frame_times.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/src/frame_times.rs -------------------------------------------------------------------------------- /src/frontend.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/src/frontend.rs -------------------------------------------------------------------------------- /src/frontend/gui.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/src/frontend/gui.rs -------------------------------------------------------------------------------- /src/frontend/renderer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/src/frontend/renderer.rs -------------------------------------------------------------------------------- /src/frontend/shader/frag_110.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/src/frontend/shader/frag_110.glsl -------------------------------------------------------------------------------- /src/frontend/shader/frag_140.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/src/frontend/shader/frag_140.glsl -------------------------------------------------------------------------------- /src/frontend/shader/vert_110.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/src/frontend/shader/vert_110.glsl -------------------------------------------------------------------------------- /src/frontend/shader/vert_140.glsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/src/frontend/shader/vert_140.glsl -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/src/main.rs -------------------------------------------------------------------------------- /src/perf_counter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Gekkio/mooneye-gb/HEAD/src/perf_counter.rs --------------------------------------------------------------------------------