-
-
Notifications
You must be signed in to change notification settings - Fork 52
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
Apple M1: Faulty video? #857
Comments
Oh, looks like Yars' Revenge has seen a regression to a much earlier bug where the sprites constantly move left to right? That's at least not M1 related. In both cases the vertical banding is something as-yet unknown. Likely some sort of latent Metal misuse if it shows up with or without Rosetta? I don't know offhand. Alas, the earliest I will have an M1 Mac of my own is this Thursday, and I'm travelling for just more than two weeks from Saturday so I may not get to look at this properly until virtually January. But it's a bug, so it's immediately top of the list. |
Notes on this, at long last: it seems to affect luminance phase machines only (i.e. the Vic-20 and Atari 2600), but is independent of NTSC vs PAL. There seems to be some element of phase dependence and the effect persists regardless of output mode, suggesting it's something to do with the input. |
So there seems to be some sort of disparity between the colour phase tagged to scans (i.e. runs of PCM output data) and those recorded at line ends, and I think this is causing the phase luminance encoder improperly to encode composite video. Specific clues:
That's subject to the specific relative frequencies of the Atari and the Vic-20 not happening to create a problem that the Apple II by luck avoids, of course. A lucky side effect of the separate Metal and OpenGL backends is that the target for phase information is provided via dependency injection. So the proper path forward here is formal CRT unit testing, I think. That wasn't a realistic option when I first wrote the thing because it was welded much more directly to OpenGL. |
Further notes to self on this: The same issue is seen on a 2019 MacBook Pro, but remains absent on my previous development machine — the 2015 Retina MacBook. So a random guess might be just that I've underspecified precision for my phase? It's currently a |
It looks like Clock Signal is having issues when run on Apple Silicon:
These are present if run under Rosetta 2 or run natively.
I have only tested Atari 2600 games.
The text was updated successfully, but these errors were encountered: