Search found 23 matches

by LIJI
Thu Jul 14, 2016 11:34 am
Forum: GBDev
Topic: CGB Registers FF4C and FF6C
Replies: 8
Views: 6617

Re: CGB Registers FF4C and FF6C

Nothing yet. I'll investigate further once I finish some hardware-related project I'm planning that would help debug it.

Cancelled behavior? Probably not. Interesting undocumented behavior about DMG compatibility? Probably yes.
by LIJI
Sun Jun 12, 2016 7:24 am
Forum: GBDev
Topic: GBVideo (Pokemon) correct emulation
Replies: 22
Views: 10247

Re: GBVideo (Pokemon) correct emulation

I still don't have a test ROM for that, but considering somewhat similar behavior with registers related to the window (See 007 - The World Is Not Enough), I believe it is still writable. You want me to make a test ROM? Shouldn't take me until this afternoon. If what I have in mind works, visual co...
by LIJI
Sun Jun 12, 2016 7:02 am
Forum: GBDev
Topic: GBVideo (Pokemon) correct emulation
Replies: 22
Views: 10247

Re: GBVideo (Pokemon) correct emulation

Higan 0.99 fails this test too. It also misses the first line timing, meaning I'm not alone on this. :P
by LIJI
Sun Jun 12, 2016 3:41 am
Forum: GBDev
Topic: GBVideo (Pokemon) correct emulation
Replies: 22
Views: 10247

Re: GBVideo (Pokemon) correct emulation

More likely explanation: it fetches SCX into an internal counter (used to keep track of its current position at each pixel) and then uses that for the rest of the scanline. So changes to SCX mid-scanline go ignored precisely because it isn't even checked in the first place. That's exactly what I th...
by LIJI
Sat Jun 11, 2016 5:17 pm
Forum: GBDev
Topic: GBVideo (Pokemon) correct emulation
Replies: 22
Views: 10247

Re: GBVideo (Pokemon) correct emulation

It's still different from the actual result due to SCX locking on the wrong value. This result is similar to what SameBoy displays after applying the same fix, other than the top line. (I still can't figure out why the first interrupt triggers a little earlier in all other emulators and the real har...
by LIJI
Sat Jun 11, 2016 12:03 pm
Forum: GBDev
Topic: GBVideo (Pokemon) correct emulation
Replies: 22
Views: 10247

Re: GBVideo (Pokemon) correct emulation

Very interesting stuff. So the idea is, that when the LCD enters mode = 3, the scrollX gets locked ? Or should that be mode 2 ? Just for the sake of comparisons, here's your test with my rom (also failing of course). nefustogb.png I think it's still writable, but won't take effect until a new line ...
by LIJI
Sat Jun 11, 2016 4:07 am
Forum: GBDev
Topic: GBVideo (Pokemon) correct emulation
Replies: 22
Views: 10247

Re: GBVideo (Pokemon) correct emulation

Managed to answer my own question with a test ROM – Changing SCX while on a scan line has no effect. I tested the ROM on a real Gameboy Color, BGB, Gambatte and SameBoy (Higan 0.99 won't compile on my Mac and I don't have a 64-bit Windows VM). Gambatte's result is what a real CGB really displays, Sa...
by LIJI
Fri Jun 10, 2016 5:26 pm
Forum: GBDev
Topic: GBVideo (Pokemon) correct emulation
Replies: 22
Views: 10247

Re: GBVideo (Pokemon) correct emulation

The actual effect in this specific case is indeed simple scrolling, but it is definitely not obvious that it would work this way because GBVideoPlayer doesn't render by tiles. Remember the image GBVideoPlayer constructs with its tilemap and tileset (Right part in the picture below) is just plain hor...
by LIJI
Fri Jun 10, 2016 1:59 am
Forum: GBDev
Topic: GBVideo (Pokemon) correct emulation
Replies: 22
Views: 10247

Re: GBVideo (Pokemon) correct emulation

Yeah, I didn't really bother with the header... ><
by LIJI
Thu Jun 09, 2016 3:31 pm
Forum: GBDev
Topic: GBVideo (Pokemon) correct emulation
Replies: 22
Views: 10247

Re: GBVideo (Pokemon) correct emulation

I really like how my GBVideoPlayer became such an headache for accurate emulation developers, including myself. :) BGB definitely emulates this specific quirk correctly. Basically what happens (of course, this is a theory that I can't prove, but I couldn't prove it incorrect either) is this: On mode...
by LIJI
Thu Apr 07, 2016 3:45 pm
Forum: GBDev
Topic: CGB Registers FF4C and FF6C
Replies: 8
Views: 6617

Re: CGB Registers FF4C and FF6C

Well FF6C is not related to sprite priority order. I also ran Pokémon Puzzle Challenge (a CGB-only game) modified to run with FF6C turned on, and it functioned perfectly. I'm pretty much out of ideas about FF6C. =/
by LIJI
Thu Apr 07, 2016 4:52 am
Forum: GBDev
Topic: CGB Registers FF4C and FF6C
Replies: 8
Views: 6617

Re: CGB Registers FF4C and FF6C

Grr, I probably missed FF6C not being writable in DMG mode! :oops: How would you bypass the DMG boot ROM on a Gameboy? I tried to find code-execuation "vulnerabilities" while reversing the CGB boot ROM, but I found none. I'll also try modifying CGB-only ROMs to set register FF6C to 1 at bo...
by LIJI
Thu Apr 07, 2016 2:15 am
Forum: GBDev
Topic: CGB Registers FF4C and FF6C
Replies: 8
Views: 6617

Re: CGB Registers FF4C and FF6C

Emu Docs doesn't have much info about it unfortunately. I actually disassembled the CGB boot ROM completely myself (I even reimplemented it ), and it doesn't get any more complex than I explained – the boot ROM does not validate 143 at all. It simply writes it if bit 7 is on, or write 04 otherwise. ...
by LIJI
Wed Apr 06, 2016 12:21 pm
Forum: GBDev
Topic: CGB Registers FF4C and FF6C
Replies: 8
Views: 6617

CGB Registers FF4C and FF6C

I'm trying to figure out how registers FF4C and FF6C work in order to emulate them better in SameBoy . These registers are related to DMG emulation on a CGB. Here's what I already know about these two: The CGB boot ROM considers a game a CGB "enabled" game if bit 7 is on in byte 143. If th...
by LIJI
Tue Feb 16, 2016 1:23 pm
Forum: GBDev
Topic: GBVisualizer – Demo using undocumented registers
Replies: 16
Views: 8519

Re: GBVisualizer – Demo using undocumented registers

Do these registers exist in GBC mode on a GBA? What about in GBA mode? According to gekkio, GBC mode GBA works. I have not clue about GBA mode though, I'd have to find if it's mapped anywhere, I could test on my NDS sometime (I don't have a GBA, but I'll assume a GBA-mode NDS will function the same)