Comments (6)
Not only this is extremely interesting, it is hard to describe how useful it is for T-cycle accurate measurements of Mode-3. Do you know which DMG CPU is it? Does it pass dmg_sound-2? Is this effect visible in Prehistorik Man's title screen? It does pretty much the same thing. Does this occur when you use different values (e.g. write the same value twice, write two different but non-inverted palettes)? This is so unfortunate I only have a CGB and SGB2 (which is effectively an MGB).
from sameboy.
Ok so I've got 2 DMG's here and both exhibit this same behavior:
Red:
Passes dmg_sound-2
Mainboard: DMG-CPU-08
Blue:
Fails test 10 on dmg_sound-2
Mainboard: DMG-CPU-06
Writing the same palette value during mode 3 doesn't cause any of the black pixels. Will try some more tests with different non-inverted palettes.
I've recorded some video of Prehistorik Man and it looks like the black edges are just slightly visible on the edges of the large text on the title screen:
Different alignment for the large text and no black edges on backlit CGB:
from sameboy.
I meant the actual revision of the CPU chip (It should say something like DMG-CPU B) but if red one passes dmg_sound-2 it means it's a DMG-CPU B (or the equivalent blob variant). My guess is that the value read by the PPU in that moment is the result of a bitwise AND operation between the old and new version. It is possible that other PPU registers are affected by this quirk, I'll have to take these all into account when I implement PPU-CPU conflicts properly.
from sameboy.
Ah yep, so I've now opened up the DMGs:
Red:
Passes dmg_sound-2
Mainboard: DMG-CPU-08
CPU: blob (?)
Blue:
Fails test 10 on dmg_sound-2
Mainboard: DMG-CPU-06
CPU: DMG-CPU B
from sameboy.
Very nice :) I've updated the test rom to do transitions between all colour combinations. Shows that ORing the values is correct, as you've done.
m3-palette-change-movable-sprite.gb.zip
I noticed an off-by-one error at the start of the line. It's a bit hard to see in the photo due to shadows from the pixels, but there should just be a single column of pixels with the original palette before the column of pixels with the conflict.
from sameboy.
That's... annoying. This means I have to reverify a lot of T-cycle timings on an actual DMG.
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.