|
Post by turboxray on Nov 25, 2019 22:02:45 GMT
Having been away for a while, what progress is there for HDMI output? Notably, has anyone done anything about the custom digital YUV table in the VCE? RGB is great and all, but seriously some games were made for the YUV custom palette in the VCE and it shows. The Y values are pretty easy to figure out. And I made a custom Palette for mednafen which comes close, but I haven't figured out how to extract U and V stepping from the VCE.
Are the current HDMI converters (including the CD emulators), available to update for these changes if someone DID finally map out all the U and V steppings? I plan on picking up a new digital scope and analyzer kinda soon to mess with this kinda stuff, but it'd be nice if said developers are willing to add the alt YUV/RGB map in their devices.
|
|
|
Post by dshadoff on Nov 26, 2019 0:26:38 GMT
I only know of 2 HDMI products, and neither of them (to my knowledge) touches the YUV palette.
Upergrafx: CDROM emulator and HDMI output. This one captures the dot output as well as the palette updates, and creates digital output based on the dot reference and timing. It does not re-implement 6270, and does not simply convert analog output.
There is another "maker" type converter available in Japan for about 3600yen, but it appears to simply convert the RGB bus output into HDMI with a mass-market chip. I understand that this is the same chip in some other low-end HDMI converters for other systems. I haven't personally seen the output from this.
|
|
|
Post by turboxray on Nov 26, 2019 1:09:19 GMT
I only know of 2 HDMI products, and neither of them (to my knowledge) touches the YUV palette. Upergrafx: CDROM emulator and HDMI output. This one captures the dot output as well as the palette updates, and creates digital output based on the dot reference and timing. It does not re-implement 6270, and does not simply convert analog output. There is another "maker" type converter available in Japan for about 3600yen, but it appears to simply convert the RGB bus output into HDMI with a mass-market chip. I understand that this is the same chip in some other low-end HDMI converters for other systems. I haven't personally seen the output from this. That's too bad because looks like the Upergrafx could easily do it (use the RGB 9bit value as an index into the YUV LUT like the VCE does).
|
|
|
Post by dshadoff on Nov 26, 2019 1:27:42 GMT
I'm not sure what kind of LUT it uses, but I expect it's custom. The guy who makes these is open to new ideas, but each feature needs to be prioritized against the size of the audience for the fix, and how much maintenance overhead is likely to be caused by it.
|
|
pokun
Gun-headed
Posts: 85
Homebrew skills: HuC6280 assembly
|
Post by pokun on Nov 30, 2019 12:41:34 GMT
I have a related question about the greyscale mode. I read that it's applied by the VCE only to the composite output by disabling colorburst, and that it's not available on the digital video or even on the analog RGB video output on the expansion port. So is it correct that greyscale mode won't work when using RGB or HDMI devices or mods? I read that the artifact correction flag also isn't available on the RGB but I guess it's not needed since there are no composite artifacts anyway?
|
|
|
Post by dshadoff on Nov 30, 2019 13:11:11 GMT
I don't know the answer to that question, but I could run a test on the Upergrafx if you can provide an example - either on a specific game, or if you provide test executable code. But it sounds odd to me that some feature would not be available to the RGB output... unless nobody would ever use that feature.
|
|
|
Post by ccovell on Nov 30, 2019 14:41:27 GMT
I have a related question about the greyscale mode. I read that it's applied by the VCE only to the composite output by disabling colorburst, and that it's not available on the digital video or even on the analog RGB video output on the expansion port. So is it correct that greyscale mode won't work when using RGB or HDMI devices or mods? I read that the artifact correction flag also isn't available on the RGB but I guess it's not needed since there are no composite artifacts anyway?
Correct on both counts. Greyscale and artifact correction features are composite-only. I have a greyscale demo on my homepage, or you can test it using Shapeshifter. When you pause the game, it enables greyscale mode, if I recall.
|
|
|
Post by dshadoff on Nov 30, 2019 16:46:02 GMT
I just tried Shapeshifter. Pause makes the regular machine go grayscale. As for Upergrafx, it also goes grayscale.
|
|
pokun
Gun-headed
Posts: 85
Homebrew skills: HuC6280 assembly
|
Post by pokun on Dec 2, 2019 0:13:28 GMT
Thanks for testing.
By regular machine you mean composite video?
I guess it's possible Shapeshifter just changes the palette so the greyscale demo might be a safer way to test. For the artifact correction flag, I think Chris Covell's Screen Dimension Test program allows you to toggle it with the RUN button. On Mednafen nothing seems to happen but on my TV (via composite) the text becomes much easier to read with it set.
I guess it's also possible that the UpperGrafx is monitoring the VCE port, detects if a game sets the greyscale flag and acts accordingly.
|
|
|
Post by dshadoff on Dec 2, 2019 1:16:08 GMT
By regular machine, I mean a standard TurboDuo, using standard composite video cable into a composite monitor. The UperGrafx monitors the output bitstream from the bus, but it's not clear to me whether the greyscale flag appears on the bus. (The UperGrafx test was run on a White PC Engine with UperGrafx on the bus).
|
|
pokun
Gun-headed
Posts: 85
Homebrew skills: HuC6280 assembly
|
Post by pokun on Dec 2, 2019 9:33:35 GMT
I see, thanks.
What about the input port to the VCE's control register (CR)? The CPU sets the flag using the $0400 address, so if it's possible to monitor that, it could know the state of the flag (as long as CR is properly initialized by the game).
|
|
|
Post by turboxray on Dec 2, 2019 18:33:09 GMT
I see, thanks.
What about the input port to the VCE's control register (CR)? The CPU sets the flag using the $0400 address, so if it's possible to monitor that, it could know the state of the flag (as long as CR is properly initialized by the game).
Yeah, I'd imagine he's just capturing bus activity to the hardware bank. I believe the HDMI NES mod does this? (I forget the name of it). It'd be kinda cool if he made use of extra bits on the VCE reg. Maybe two extra bits for selecting a custom palette filters ( more saturation, or softer looks, some gamma profiles, etc). Using TeD with it, games could be JIT patched.
|
|
|
Post by ccovell on Dec 3, 2019 0:59:55 GMT
I guess it's possible Shapeshifter just changes the palette so the greyscale demo might be a safer way to test.
I guess it's also possible that the UpperGrafx is monitoring the VCE port, detects if a game sets the greyscale flag and acts accordingly.
Nope, Shapeshifter stays full-colour when the game is paused on my RGB monitor, while at the same time through composite, it's in greyscale.
So it means the UperGrafx is watching the bus, or colorburst in composite, or something, and setting the output to greys over HDMI (or whatever it does. )
|
|
pokun
Gun-headed
Posts: 85
Homebrew skills: HuC6280 assembly
|
Post by pokun on Dec 10, 2019 21:29:50 GMT
Thank you for confirming it! So in short, greyscale mode has no effect on the RGB video output while it does work on the HDMI from UperGrafx due to how it works building its image by watching the bus. Also I was told by Turboxray on another forum that the artifact correction flag technically do apply to the RGB output (the scanline count alteration still happens), it's just that it isn't normally visible on it because there are no composite artifacts on RGB video.
|
|