Comments (13)
That was tested against the libretro core, right? The libretro fork seems to be ~50 commits behind at the moment, so I'd have to test it with the latest code, and again, confirm the CGB results against my CGB-E, as CGB-C and older revisions have an extra PPU bug.
from sameboy.
Yep, didn't build myself
from sameboy.
Tested all of these tests on the latest master, as well as all intr_2_mode0_* tests.
The following tests pass on both DMG and CGB mode:
- intr_2_mode0_timing_sprites
- intr_2_mode0_scx1_timing_nops
- intr_2_mode0_scx2_timing_nops
- intr_2_mode0_scx3_timing_nops
- intr_2_mode0_scx5_timing_nops
- intr_2_mode0_scx6_timing_nops
- intr_2_mode0_scx7_timing_nops
The following tests pass on CGB mode and fail on DMG mode:
- intr_2_mode0_scx4_timing_nops
- intr_2_mode0_scx8_timing_nops
The following tests fail on both:
- intr_2_mode0_timing_sprites_nops
- intr_2_mode0_timing_sprites_scx1_nops
- intr_2_mode0_timing_sprites_scx2_nops
- intr_2_mode0_timing_sprites_scx3_nops
- intr_2_mode0_timing_sprites_scx4_nops
The rest of the tests fail as reported. I still have to confirm those on real hardware, but these should be useful.
from sameboy.
Funny, seems like intr_2_mode0_scx4_timing_nops
and intr_2_mode0_scx8_timing_nops
require an original boot ROM to pass. I wonder what's my DMG boot ROM is doing wrong, as these test do work with 4 other boot ROMs tested.
from sameboy.
Turns out these two failed thanks to a silly (but major) regression. A few more to go.
from sameboy.
Okay, I managed to compile the latest master and these are the results:
CGB Failing
intr_0_timing.gb
ly_lyc_0-C.gb
ly_lyc_0_write-C.gb
ly_lyc_153-C.gb
ly_lyc_153_write-C.gb
ly_lyc_write-C.gb
ly_new_frame-C.gb
stat_write_if-C.gb
DMG Failing
intr_0_timing.gb
intr_2_timing.gb
ly00_mode0_2-GS.gb
ly00_mode1_0-GS.gb
ly_lyc_0-GS.gb
ly_lyc_0_write-GS.gb
ly_lyc_write-GS.gb
stat_write_if-GS.gb
timer_if.gb
So, some intertesting regressions. I guess you will have to ponder a bit more about the details of the implemenatation. Best of luck!
from sameboy.
Fixed intr_0_timing
and intr_2_timing
, as well as another timing regression in DMG which might affect other tests. intr_0_timing
failed because the very first line ever rendered after turning the display on is glitched, and some edge case of that glitch was not emulated properly. intr_2_timing
failed because a PPU bug previously thought to be a CGB-only bug apparently happens on the DMG as well.
from sameboy.
UPDATED 1.4.18
I did not retest everything for reggresions, but it probably is down to this now:
CGB Failing
ly_lyc_0-C.gb
ly_lyc_0_write-C.gb
ly_lyc_153-C.gb
ly_lyc_153_write-C.gb
ly_lyc_write-C.gb
ly_new_frame-C.gb
DMG Failing
ly_lyc_0_write-GS.gb
ly_lyc_write-GS.gb
from sameboy.
It's extremely surprising how many different previously undocumented behaviors were discovered by simply fixing tests in this suit. I just discovered a new quirk that also explains several odd behaviors of the OAM interrupt, and while researching that quirk I wrote a new test ROM that discovered a new edge of the DMG STAT bug.
from sameboy.
Yeah, I found out Wilbert Pol is _Judge, so it has been a journey with his testsuits for at least 11 years. He sure knows his stuff! Glad it helps to advance the understanding of GB hardware.
PS: Do you have a place where your test roms are available?
from sameboy.
I plan releasing them after v0.11
from sameboy.
Tested currently failing as for the latest commit (testing everything for regressions):
CGB:
ly_new_frame-C
ly_lyc_write-C
ly_lyc_153-C
ly_lyc_0_write-C
ly_lyc_0-C
ly_lyc_153_write-C
DMG:
vblank_stat_intr-GS
ly_lyc_write-GS
ly_lyc_0_write-GS
from sameboy.
All DMG tests pass now. Some more research is needed for the CGB variant of the LYC write tests. It is also very likely that these tests are revision dependent, as CGB-CPU-D fixed some quirks with how LYC works.
from sameboy.
Related Issues (20)
- Keitai Denjuu Telefang - Power Version (Japan) (GB Compatible).gbc missing speech from title screen
- Donkey Kong ('94) - Pauline's cry is silent when using SGB emulation
- GB Classic: F1 Race - flickering line midscreen
- macOS: Do not hide panels when app focus is lost
- ROM files cannot be imported HOT 2
- Iphone HOT 2
- Switch Pro Controller iOS recognized, but unable to use HOT 2
- iOS: Gameboy Advance Games don’t get recognised HOT 3
- Add custom palette for iOS HOT 2
- Cloud sync iOS HOT 2
- Polished Crystal iOS (Fixed) HOT 1
- Hex digits invisible in SameBoy Cocoa v0.16.5 HOT 1
- Pocket Family (HuC-3) doesn’t do sound test HOT 3
- [Feature Request] Toggle all cameras on iOS port
- Instructions for testing the gameboy camera integration on real iOS devices HOT 5
- Turbo Speed does not stay HOT 4
- Associate ROM files with SameBoy on Windows HOT 3
- libretro Makefile will need an update to support new Wii U toolchain HOT 1
- Pokémon brown color scheme HOT 4
- [Feature request] Automatically switch emulated console depending on opened ROM
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sameboy.