gampboy_emulator

command module
v0.0.0-...-8dce49b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 31, 2022 License: MIT Imports: 18 Imported by: 0

README

GAMPBOY EMULATOR

That's my first project in Golang, so please be kind to me Probably there are a lot of typos around the code and so many optimizations could be done , but don't care for now :3

Probably one of the most satisfying and interesting project I have ever done

What have I learned?

  • Go hates so much structs and map[string]
MBC supported
  • MBC1
  • MBC3
Blargg's tests
  • cpu_instrs

  • instr_timing

  • mem-timing and mem-timing-2

  • oam_bug/1-lcd_sync

    • that's pretty weird, the whole test is based on two delay
      delay 109
      delay 110
      if you see the code that those asm instructions generate look like
      LD A,0x50 ; delay 109
      CALL 0xC120
      ....
      and
      LD A,0x51 ; delay 110
      CALL 0xC120
      ...
      then the procedure will SUB 0x5 and loop until JR NC,0xFC
      but actually both 0x50 and 0x51 will do the same number of loops
      so ... plz someone tell me how to understand this test
      clearly if I add +6 to the second delay, this would be enough to make
      the test passed, because the loop will do one more cycle
  • halt_bug

    • correct output

      this

Mooneye's tests
  • interrupt/ie_push
  • acceptance/ie_timing
  • acceptance/rapid_di_ei
  • acceptance/div_timing
  • acceptance/oam_dma_start
  • acceptance/oam_dma_restart
  • acceptance/oam_dma_timing
  • acceptance/push_timing
  • acceptance/pop_timing
  • oam_dma/basic
  • oam_dma/reg_read
  • oam_dma/sources-GS
  • ppu/stat_lyc_onoff
Mattcurrie's tests
  • dmg_acid2
  • cgb_acid2
SameSuite's tests
  • ppu/blocking_bgpi_increase
  • dma/gdma_addr_mask
  • dma/gbc_dma_cont
  • dma/hdma_lcd_off
Thanks to

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
cpu
gui
mmu
ppu

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL