June 7, 2016 at 7:20 PM #7508
Question for Marqs or any other experts reading this.
We’re told the Dreamcast uses 480p but most TV sets convert this to VGA 640×480 when fed in through the VGA port, thus squashing the image.
However, on the OSSC, it seems that if we go to 480p in sampler, the Dreamcast needs to be set to VGA 640×480 mode in order to get the correct aspect ratio, this is checking against the linearity test in the 240p test suite.
So, what’s going on here, is the menu option around the wrong way in OSSC or what?June 7, 2016 at 7:45 PM #7509
Dreamcast uses DTV timings (H=858, V=525 for 60Hz and H=864, V=625 for 50Hz), which is why sampling should utilize the same parameters for best quality. However, framebuffer size in DC games is 640×480 as far as I know. With CRT, top and bottom portion of the image can actually get lost in overscan region, so a 640×480 screen with a 1:1 PAR (pixel aspect ratio) would look a bit squished on a 4:3 CRT display as well (only around 640×448 is actually shown). With OSSC and no overscan, a modern TV displays 720×480 on 4:3 area, again with squished image if DC uses square PAR.
I wonder which PAR DC 240p test suite uses, and if it also looks a bit squished on a CRT as I suspect.June 7, 2016 at 8:20 PM #7512
Maybe Artemio himself can shed a little light on that, I will see if I can contact him.June 7, 2016 at 10:22 PM #7516
The values the suite uses for VGA output are H=855 and V=526, pretty close to what marqs mentions.
Regarding PAR, it uses 10:11 for NTSC and 59:54 for PAL. However, when in 480p you can output either 1:1 or 10:11 depending on what you have selected. I guess I never updated the Dreamcast help t reflect that, sorry.
If you select the option that reads: “480p scaled 240p assets & scanlines”/”480p (scaled 240p)”
And if you select the option that reads: “480p mixed 480p/240p assets (1:1)”/”480p (Scaling disabled)”
You get: http://junkerhq.net/cps2/VGA-PAR.JPG
I need to update the suite anyway, withe the latest changes from the 16bit versions. So if you have suggestions let me know. I’ll make it so teh helkp reflects this changes, and those menu options are more clear (as the NTSC ones are: “480i scaled 240p assets (NTSC)”/”480i mixed 480p/240p assets (1:1/NTSC)”
June 8, 2016 at 8:29 AM #7518
- This reply was modified 9 months, 2 weeks ago by Artemio.
Ok, that makes sense. With NTSC-PAR, aspect should look about right with OSSC in DTV-480p mode but I’ll burn 240p suite soon myself and test it out. 1:1 VGA-PAR on the other hand, is optimal for CRT monitors (like one in the linked pictures) which have size adjustments so that one can fit 640×480 (?) area perfectly on the screen regardless of blanking lengths. In digital domain, the same effect could be achieved with active area adjustment.
After I finish advanced timing editor feature for OSSC, one can just set active area to 640 instead of 720 in DTV-480p mode, which then shows VGA-PAR correct while still using optimal sampling rate. However, some TVs may not accept the tweaked mode.
I wonder which PAR game developers did usually use. As development was done on PCs where assets most likely were viewed at 1:1, did they take into account that they will end up thinner on a CRT TV?
June 10, 2016 at 6:26 AM #7567
- This reply was modified 9 months, 2 weeks ago by marqs.
Just as a note, the monitor is an early 2000 one, and the image shown is in defaults as the monitor syncs to it. I didn’t manually adjust it but it is indeed in 640×480.
Regarding what PAR developers used, the probably sticked with NTSC. Or at least only with one. Having all the resources or data calculated for both would be too much work, but possible. Stretching in frame buffer would not be likely in the Dreamcast though.June 12, 2016 at 12:04 AM #7587
A scanline in VESA 640×480 mode has larger portion reserved for active picture data (640/800 =80%) than DC scanline (640/858 =~75%) so both should need separate adjustments unless there’s an automatic size adjust (at least my Sony monitor from that era didn’t have one).
BTW, how did you end up with those [H, V] values? Assuming DC uses a fixed 27MHz pixel clock (divided by 2 for non-VGA), [H=855, V=526] would result to 60.04Hz refresh rate. Was your target to get closer to 60Hz than with standard (?) values [H=858, V=525] that should generate to 59.94Hz?June 16, 2016 at 7:06 AM #7614
I had to dig into my logs from 2012 to be able to answer your question.
Back then, I was implementing the VGA mode, and found out that the default video mode given by KOS on Dreamcast didn’t fill the full video frame. Let me explain. Just as you mention, it is 640/856 and the dreamcast can only have graphics inside those 640. However, it can fill the entire active line with a solid color. I did implement this in the suite, but as a hidden feature for my testing (Under options, select “Back to Main Menu” and press Y+A simultaneously to toggle it).
Under closer inspection, my monitor does have an auto adjust feature, and I can force from the menu. When the full active video area is filled with a solid color, the aspect ratio when using the auto adjust the PAR is 1:1 in 640×480. That’s why I decided to implement the 1:1 PAR linearity test for VGA when in that mode. However, if you set the whole active video area to white, you have 720×480 and the NTSC PAR.
This takes me to why I changed the values. The default values didn’t fill a 720×480 area when I was checking the 240p and 480i values with my scope. So I implemented a screen to test, where I could tweak the internal values for the video signal and figure out the best ones.
There I noticed some values weren’t allowed, and the values I ended up with that did fill the area, didn’t crash the dreamcast and showed on the monitor were those. In other words, I messed up the timings to fit the values and didn’t notice.
I rescued that test today, and rechecked with my values combined with the proper timings, and they work. They’ll be the defaults for the suite now.
TL;DR I used those values because I made a mistake when fixing some other stuff, and they worked for me. I’m sorry for the troubled caused.
Here is a version of the suite compiled with the proper defaults for timings, and that has the Video Test debug menu enabled: http://junkerhq.net/cps2/240p-DC-PVR-1.23b-videotest.zipJune 20, 2016 at 12:12 AM #7652
I just burned v1.23b and tested it with OSSC. NTSC PAR looked correct with my TV set to 4:3 mode. There was a slight difference between DTV-480p and VGA 640x480p sampling modes in linearity test. It actually looked like VGA 640×480 mode would result to a bit more correct linearity, although it might also be my TV doing something funny. However, 720×480 sampling does not result to 100% correct aspect by definition – I recall you’d need something like 704×480 but that wouldn’t be supported on many TVs. Anyway, I still recommend everyone to use DTV-480p with Dreamcast – checkerboard test shows exactly why.
I tried Video Test debug menu but changing options did not have any effect (except “Draw Video Border”).June 20, 2016 at 12:23 AM #7653
There are effects, but most would be unusable. It might not be the case, but I know my menu is not very clear (I only used it for internal testing), but you need to press Y to set the values.June 20, 2016 at 10:03 AM #7654
Looks like I opened a real can of worms with this, thanks for looking into it!September 3, 2016 at 7:51 AM #8713
Hi people, I’m brand-new to the boards here, I’m in the USA with all NTSC-USA equipment, and I’m trying to figure out how to get properly proportioned graphics out of my Sega Dreamcast setup, primarily in 16:9 widescreen. That’s why my name is RoundCircleS. I will mention now that my TV set offers no useful aspect ratio adjustments at all, beyond selecting 16:9 or 4:3. I know that possibly besides composite input, Dreamcast won’t look right on any 4:3 screen without horizontal stretch adjustment, or if the original image is simply up-scaled to 16:9, and I think I sort of understand why this has always been a problem, and I think what you have come up with in the OSSC might be a solution. Please correct me wherever I am wrong or fill in the blanks because it would be nice to know why this has always been a problem for Dreamcast.
***Current setup is:
Dreamcast > S-Video cable (480i out) > Samsung TV model : LN-46-A650
From what I can see, this setup stretches the displayed image vertically in 4:3 mode (Ryo too thin) since Dreamcast outputs the S-video in (I am guessing here) “480i ITU-R Rec. 601” which is 3:2, and Segas solution is to paint black bars of specific pixel widths overlaying existing graphics on either side of the image, send it all out at 3:2, let all of it get squashed when the TV rectifies the 3:2 4:3 conflict as probably dictated by the standard, with the expectation that the end-user with a 4:3 set would simply horizontally stretch (not zoom) the image until the black bars on the left and right sides disappeared to re-gain the proper aspect ratio & image proportions. So from what I can gather, basically anyone looking at a 4:3 display showing Dreamcast through S-Video or VGA who does not have this manual/automatic adjustment somewhere on the set or in the game, won’t be looking at a display with proper proportions. My setup also can upscale the 4:3 image to 16:9, but then it squashes the image vertically (Ryo now too wide), I’m guessing since the original 3:2 image is not displayed correctly in 4:3 to begin with anyway, it just upscales the presented image to 16:9 and it works out getting screwed up again, but now in the opposite direction.
***Next step regardless:
Dreamcast > VGA cable > Samsung LN-46-A650 (TV has actual VGA-in and 3.5mm sound input tied to the VGA input)
This will give me 480p for the time being, but now the Dreamcast is outputting (I am guessing here) 480p 59.94, which is again 3:2. Again Sega paints the black bars over existing graphics, knowing how the 4:3 displays will re-fit the 3:2 image to 4:3 to appease the standard, and knowing that most monitors and even a lot of TVs (back then) had adjustments for stretching the picture and doing all sorts of things to the picture, so they assumed that most people back then would have just stretched (not zoomed) the image back out horizontally to cover the black bars on the left and right sides, and end up with a full 640×480 screen and most importantly, proper proportions! Unfortunately, my TV today does not do that!
***Looking around, I don’t see much out there. It seems like Framemeister might be what I want, but there’s no actual VGA plug input (You can input VGA through a component adaptor), and the horizontal scaling function seems maybe a little hit-or-miss. I don’t know, I’m not really sold on the Framemeister yet, but I am still checking into it.
***Possible better solution than Framemeister:
Dreamcast > VGA cable > OSSC outputting in 640×480 480p “digital video” mode> DVI-D -to- HDMI cable > Samsung LN-46-A650
I am thinking that I can use OSSC and take advantage of the 480p “digital video” mode, and connect it to my TV using the TVs HDMI input set to DVI input, allowing me to scale whatever shows up in 4:3/480p to 16:9, and finally end up with objects being displayed in proper proportion. I know that the 480p-DV standard allows for real-world flexibility between 4:3, 3:2, and 16:9 aspect ratios. Seems like the OSSC developer possibly realized about the Dreamcast outputting in 3:2, possibly realized that widescreen TVs don’t have tons of picture adjustments like back in the day, and possibly realized the problems that these conditions presented. That’s why I’m thinking that this might be the best solution, but I really have no idea.
Also, can I post a question asking about OSSC and specific TV compatibility in that specific thread, or is that only for posting test results? I’m wondering if anyone has tried what I want to do with the OSSC with my model of TV yet, and if it works.September 4, 2016 at 5:09 AM #8726
Hi, it says in my TVs manual that my TV HDMI/DVI input recognizes VESA mode in 640×480 with Horizontal Frequency 31.469 kHz, Vertical Frequency 59.940, Pixel Clock 25.175 and Sync Polarity -/- .
Does that so far look compatible with Dreamcast <VGA cable> OSSC 480p DV mode <DVItoHDMI> TV ?
Sorry guys, I am not a whiz when it comes to this stuff but I am trying to understand what is going on. I’m reading through this thread again and maybe the answer is already there, but I’m still trying to figure out where the 720×480 to 640×480 change happens. I was thinking the NTSC TV could be doing it automatically, but then it sounds like the DC might stick the black-bars on both sides of the original image like I thought, but then change that whole image to 640 x 480 by changing the PAR, and that’s how the 3:4 display ends up with a squashed image, nor will it upscale to 16:9 properly. Plus I started to realize that 3:2 is an odd ratio to output video in anyway unless you are recording film to process, but I also know that that ratio pops up somehow during 3:4/16:9 anamorphic wide-screen processing, so maybe that is part of why it does it at all.
I was figuring that my S-Video image in 16:9 is about 10% too wide based on comparing height and width of some circles on the screen, which sounds like PAR pixel aspect ratio difference might come into play as part of the problem there somehow. Then I was also thinking if the DC is narrowing the image by switching it to 640×480 with the intent of being stretched later, you would have to turn that back into the original 3:2 image and then turn that into anamorphic 3:2 (I guess as dictated by the 480pDV standard) in order to get proper 4:3, and consequently tv-up-scaled 16:9. Is that right or am I missing some stuff? Also was wondering more about those black bars, how DC decides to hang them, is it hardware or software? Personally I don’t give a hoot if they stay, as long as I have proper aspect ratio, but I think that there’re graphics under there. Just trying to figure out when things happen in this chain and why. If the OSSC can optimally utilize whatever is going on in the Dreamcast to give us proper aspect ratios in 480p 640×480, that would be awesome.September 4, 2016 at 10:05 AM #8729
Right first of all you can’t stretch Dreamcast to 16:9 and maintain correct aspect ratio, that’s what you seem to be suggesting in some of your post there?
Have a look at the picture below, that explains the situation a little better.September 4, 2016 at 7:17 PM #8732
Didn’t mean to imply that. I know that 4:3 does not properly scale to 16:9 widescreen. But it seems like maybe that 480p DV standard somehow allows a 4:3 image to be scaled to 16:9 properly, and somehow it can utilize 3:2 aspect ratio when working with 4:3 or 16:9. I think that the DV standard would record in 3:2. I’m not sure how everything works together, but when you guys started talking about using that DV standard and getting better results with the Dreamcast 480p aspect ratio on the display, that sounded like it could be the key, although I really don’t know why. I know pixel shape has something to do with it. I was also concerned about what is actually coming out of the Dreamcast so if this is a solution, it is implemented to get the best results.
You must be logged in to reply to this topic.