Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature - CGB Compatability mode for DMG #146

Merged
merged 19 commits into from
Dec 9, 2024
Merged

Feature - CGB Compatability mode for DMG #146

merged 19 commits into from
Dec 9, 2024

Conversation

alloncm
Copy link
Owner

@alloncm alloncm commented Dec 8, 2024

Changes

  • Mimic the CGB bootrom better with writes to the locked registers on missing bootrom, currently uses the default palettes which could make a difference for popular games.
  • The system now can get an input regarding which system to emulate (CGB or DMG) by 3 ways
    1. The bootrom type with the --bootrom flag
    2. The mode type with the --mode flag
    3. Detecting it from the cartridge
  • Fixed a bug in the debugger ppu layer viewer
  • Decouple libretro to libretro_desktop and libretro_android to make building the desktop target easier (no need to install the android sdk).
  • Update libretro docs and default it to auto detect (until Ill add options)
  • SDL front-end is now the default one when running cargo run
  • Add 2 more tests
    • dmg-aci2 in CGB mode
    • MagenTests KEY0 lock after boot

TODO:

  • Verify all the targets works - rpi baremetal is still broken on new rust version
  • CR fixes
  • Verify documentation is up to date

Closes #120
Marks #144 the bug in the view

Need to decide if im using OPRI and KEY0 regs or doing it myslef
did not fix rpi baremetal as it does not compile on the newer toolchains :(
…h cgb mode

Not sure why the fix was needed for bg oam priority, probably the same reason turtle tests broke
I was being a smartass and turns out
 turning on the lcd during missing
 bootrom procedure is a bad idea
 as it fucks up the timing the ppu
Makefile.toml Show resolved Hide resolved
common/src/lib.rs Outdated Show resolved Hide resolved
common/src/lib.rs Outdated Show resolved Hide resolved
common/src/lib.rs Outdated Show resolved Hide resolved
common/src/lib.rs Outdated Show resolved Hide resolved
core/src/mmu/io_bus.rs Outdated Show resolved Hide resolved
core/src/mmu/io_bus.rs Outdated Show resolved Hide resolved
core/src/ppu/gb_ppu.rs Outdated Show resolved Hide resolved
rpi/src/bin/rpios/main.rs Outdated Show resolved Hide resolved
sdl/Cargo.toml Show resolved Hide resolved
Copy link
Owner Author

@alloncm alloncm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good

@alloncm alloncm merged commit 7d1ce65 into master Dec 9, 2024
1 check passed
@alloncm alloncm deleted the feature/comp_mode branch December 9, 2024 15:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Pokemon Red not working well in CGB mode
1 participant