├── .gitignore ├── .prettierrc.json ├── README.md ├── package.json ├── public ├── audioWorklet.js ├── favicon.ico ├── index.html ├── logo192.png ├── logo512.png ├── manifest.json └── robots.txt ├── res ├── cpuTest.asm └── cpuTest.bin ├── src ├── apu │ ├── apu.ts │ └── psg │ │ ├── envelope.ts │ │ ├── length.ts │ │ ├── noise.ts │ │ ├── pcm.ts │ │ ├── psg.ts │ │ ├── square.ts │ │ └── sweep.ts ├── cartridge │ ├── cartridge.ts │ ├── cartridgeType.ts │ ├── info.ts │ ├── mbc │ │ ├── mbc.ts │ │ ├── mbc1.ts │ │ ├── mbc3.ts │ │ └── mbc5.ts │ ├── mbcType.ts │ ├── rtc.ts │ └── rtcSave.ts ├── cpu │ ├── constants.ts │ ├── cpu.test.ts │ ├── cpu.ts │ ├── log.ts │ ├── lut.test.ts │ ├── lut.ts │ └── ops │ │ ├── alu.ts │ │ ├── cond.ts │ │ ├── jmp.ts │ │ ├── ld.ts │ │ ├── misc.ts │ │ ├── opcode.ts │ │ ├── register.ts │ │ ├── types.ts │ │ └── utils.ts ├── fuzzTest.ts ├── index.css ├── index.tsx ├── io │ └── ioBus.ts ├── memory │ ├── bankedRAM.ts │ ├── lockableRAM.ts │ ├── ram.ts │ ├── types.ts │ ├── utils.ts │ └── wram.ts ├── ppu │ ├── ppu.ts │ └── render.ts ├── react-app-env.d.ts ├── setupTests.ts ├── storage │ └── saveStorage.ts ├── system │ ├── baseEmulator.ts │ ├── baseSystem.ts │ ├── canvas.ts │ ├── dma.ts │ ├── dumpVRAM.ts │ ├── emulator.ts │ ├── gamepad.ts │ ├── hdma.ts │ ├── interrupter.ts │ ├── memoryBus.ts │ ├── serial.ts │ ├── speedController.ts │ ├── systemType.ts │ └── timer.ts └── utils │ └── downloadFile.ts └── tsconfig.json /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/.gitignore -------------------------------------------------------------------------------- /.prettierrc.json: -------------------------------------------------------------------------------- 1 | { 2 | "singleQuote": true 3 | } 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/README.md -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/package.json -------------------------------------------------------------------------------- /public/audioWorklet.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/public/audioWorklet.js -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/public/index.html -------------------------------------------------------------------------------- /public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/public/logo192.png -------------------------------------------------------------------------------- /public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/public/logo512.png -------------------------------------------------------------------------------- /public/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/public/manifest.json -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/public/robots.txt -------------------------------------------------------------------------------- /res/cpuTest.asm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/res/cpuTest.asm -------------------------------------------------------------------------------- /res/cpuTest.bin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/res/cpuTest.bin -------------------------------------------------------------------------------- /src/apu/apu.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/apu/apu.ts -------------------------------------------------------------------------------- /src/apu/psg/envelope.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/apu/psg/envelope.ts -------------------------------------------------------------------------------- /src/apu/psg/length.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/apu/psg/length.ts -------------------------------------------------------------------------------- /src/apu/psg/noise.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/apu/psg/noise.ts -------------------------------------------------------------------------------- /src/apu/psg/pcm.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/apu/psg/pcm.ts -------------------------------------------------------------------------------- /src/apu/psg/psg.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/apu/psg/psg.ts -------------------------------------------------------------------------------- /src/apu/psg/square.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/apu/psg/square.ts -------------------------------------------------------------------------------- /src/apu/psg/sweep.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/apu/psg/sweep.ts -------------------------------------------------------------------------------- /src/cartridge/cartridge.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/cartridge/cartridge.ts -------------------------------------------------------------------------------- /src/cartridge/cartridgeType.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/cartridge/cartridgeType.ts -------------------------------------------------------------------------------- /src/cartridge/info.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/cartridge/info.ts -------------------------------------------------------------------------------- /src/cartridge/mbc/mbc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/cartridge/mbc/mbc.ts -------------------------------------------------------------------------------- /src/cartridge/mbc/mbc1.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/cartridge/mbc/mbc1.ts -------------------------------------------------------------------------------- /src/cartridge/mbc/mbc3.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/cartridge/mbc/mbc3.ts -------------------------------------------------------------------------------- /src/cartridge/mbc/mbc5.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/cartridge/mbc/mbc5.ts -------------------------------------------------------------------------------- /src/cartridge/mbcType.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/cartridge/mbcType.ts -------------------------------------------------------------------------------- /src/cartridge/rtc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/cartridge/rtc.ts -------------------------------------------------------------------------------- /src/cartridge/rtcSave.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/cartridge/rtcSave.ts -------------------------------------------------------------------------------- /src/cpu/constants.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/cpu/constants.ts -------------------------------------------------------------------------------- /src/cpu/cpu.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/cpu/cpu.test.ts -------------------------------------------------------------------------------- /src/cpu/cpu.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/cpu/cpu.ts -------------------------------------------------------------------------------- /src/cpu/log.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/cpu/log.ts -------------------------------------------------------------------------------- /src/cpu/lut.test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/cpu/lut.test.ts -------------------------------------------------------------------------------- /src/cpu/lut.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/cpu/lut.ts -------------------------------------------------------------------------------- /src/cpu/ops/alu.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/cpu/ops/alu.ts -------------------------------------------------------------------------------- /src/cpu/ops/cond.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/cpu/ops/cond.ts -------------------------------------------------------------------------------- /src/cpu/ops/jmp.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/cpu/ops/jmp.ts -------------------------------------------------------------------------------- /src/cpu/ops/ld.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/cpu/ops/ld.ts -------------------------------------------------------------------------------- /src/cpu/ops/misc.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/cpu/ops/misc.ts -------------------------------------------------------------------------------- /src/cpu/ops/opcode.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/cpu/ops/opcode.ts -------------------------------------------------------------------------------- /src/cpu/ops/register.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/cpu/ops/register.ts -------------------------------------------------------------------------------- /src/cpu/ops/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/cpu/ops/types.ts -------------------------------------------------------------------------------- /src/cpu/ops/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/cpu/ops/utils.ts -------------------------------------------------------------------------------- /src/fuzzTest.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/fuzzTest.ts -------------------------------------------------------------------------------- /src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/index.css -------------------------------------------------------------------------------- /src/index.tsx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/index.tsx -------------------------------------------------------------------------------- /src/io/ioBus.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/io/ioBus.ts -------------------------------------------------------------------------------- /src/memory/bankedRAM.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/memory/bankedRAM.ts -------------------------------------------------------------------------------- /src/memory/lockableRAM.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/memory/lockableRAM.ts -------------------------------------------------------------------------------- /src/memory/ram.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/memory/ram.ts -------------------------------------------------------------------------------- /src/memory/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/memory/types.ts -------------------------------------------------------------------------------- /src/memory/utils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/memory/utils.ts -------------------------------------------------------------------------------- /src/memory/wram.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/memory/wram.ts -------------------------------------------------------------------------------- /src/ppu/ppu.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/ppu/ppu.ts -------------------------------------------------------------------------------- /src/ppu/render.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/ppu/render.ts -------------------------------------------------------------------------------- /src/react-app-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | -------------------------------------------------------------------------------- /src/setupTests.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/setupTests.ts -------------------------------------------------------------------------------- /src/storage/saveStorage.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/storage/saveStorage.ts -------------------------------------------------------------------------------- /src/system/baseEmulator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/system/baseEmulator.ts -------------------------------------------------------------------------------- /src/system/baseSystem.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/system/baseSystem.ts -------------------------------------------------------------------------------- /src/system/canvas.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/system/canvas.ts -------------------------------------------------------------------------------- /src/system/dma.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/system/dma.ts -------------------------------------------------------------------------------- /src/system/dumpVRAM.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/system/dumpVRAM.ts -------------------------------------------------------------------------------- /src/system/emulator.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/system/emulator.ts -------------------------------------------------------------------------------- /src/system/gamepad.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/system/gamepad.ts -------------------------------------------------------------------------------- /src/system/hdma.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/system/hdma.ts -------------------------------------------------------------------------------- /src/system/interrupter.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/system/interrupter.ts -------------------------------------------------------------------------------- /src/system/memoryBus.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/system/memoryBus.ts -------------------------------------------------------------------------------- /src/system/serial.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/system/serial.ts -------------------------------------------------------------------------------- /src/system/speedController.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/system/speedController.ts -------------------------------------------------------------------------------- /src/system/systemType.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/system/systemType.ts -------------------------------------------------------------------------------- /src/system/timer.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/system/timer.ts -------------------------------------------------------------------------------- /src/utils/downloadFile.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/src/utils/downloadFile.ts -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yoo2001818/gb-emulator-js/HEAD/tsconfig.json --------------------------------------------------------------------------------