MCPcopy Create free account
hub / github.com/IsaacMarovitz/tetsuyu

github.com/IsaacMarovitz/tetsuyu @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
393 symbols 712 edges 48 files ⚖ custom 64 documented · 16% updated 4d ago★ 381 open issues

Browse by type

Functions 313 Types & classes 80
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

tetsuyu

鉄遊 (tetsu-yū) - A Game Boy emulator, written in Rust.

Features

  • Cycle-Accurate CPU
  • Decently accurate PPU
  • Accurate Audio
  • DMG & CGB Support
  • Configurable Input
  • Configurable Palettes & Shaders
  • Cross-Platform
  • MBC1/MBC2/MBC3/MBC5 Title Support
  • Accurate Color Correction

Pokemon Gold Demo

Tests

tetsuyu contains harnessess for running blargg, mealybug, and mooneye test suites. Most known failures are precise PPU timing issues that won't affect most ROMs. Current known failures:

Mealybug

  • m2_win_en_toggle
  • m3_lcdc_bg_en_change
  • m3_lcdc_bg_map_change
  • m3_lcdc_obj_en_change
  • m3_lcdc_obj_size_change
  • m3_lcdc_obj_size_change_scx
  • m3_lcdc_tile_sel_change
  • m3_lcdc_tile_sel_win_change
  • m3_lcdc_win_map_change
  • m3_scx_high_5_bits
  • m3_scx_low_3_bits
  • m3_scy_change
  • m3_window_timing_wx_0
  • m3_wx_4_change
  • m3_wx_4_change_sprites
  • m3_wx_5_change
  • m3_wx_6_change

Mooneye

  • ppu_intr_2_mode0_timing_sprites
  • bits_unused_hwio_gs (DMG-only)
  • di_timing_gs (DMG-only)
  • halt_ime1_timing2_gs (DMG-only)
  • ppu_hblank_ly_scx_timing_gs (DMG-only)
  • ppu_intr_1_2_timing_gs (DMG-only)
  • ppu_lcdon_timing_gs (DMG-only)
  • ppu_lcdon_write_timing_gs (DMG-only)
  • ppu_vblank_stat_intr_gs (DMG-only)

Referenced Documentation

  • https://gbdev.io/pandocs/
  • https://ajoneil.github.io/dmg-timing-spec

Referenced Implementations

  • https://github.com/LIJI32/SameBoy
  • https://github.com/mvdnes/rboy
  • https://github.com/mohanson/gameboy

Extension points exported contracts — how you extend this code

browse all types & interfaces →

Core symbols most depended-on inside this repo

browse all functions →

Shape

Method 301
Class 53
Enum 24
Function 12
Interface 3

Languages

Rust100%

Modules by API surface

src/hw/cpu.rs57 symbols
src/components/ppu/ppu.rs24 symbols
src/hw/motherboard.rs16 symbols
src/hw/sysbus.rs15 symbols
src/sound/ch3.rs13 symbols
src/hw/dma.rs13 symbols
src/components/registers.rs13 symbols
src/sound/apu.rs12 symbols
src/harness.rs12 symbols
src/framebuffer.rs12 symbols
src/config.rs11 symbols
src/sound/synth.rs10 symbols

For agents

$ claude mcp add tetsuyu \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page