PCEngine 720p digital video out
PCEngine 720p digital video out
[OVERVIEW]
I successed digital video outputs for PCEngine. It uses real hardware, no modification, no AD converter.
CD excluded PCEngine system has EXTBUS. It contains full CPU buses and dotclock and color RAM address bus(VDC data).
I've researched them, EXTBUS outputs perfectlly digital video data before DA convert by VCE(6260).
I designed interface the PCB between EXTBUS and Terastic's Cyclone V development board(c5g).
The FPGA watches write cycles for VCE register, stores VDC data into internal RAM, outputs upscanned digital video to T.M.D.S encoder.
[Destinaion Display resolution]
VCE divides master clock as dotclock, the divide numbers 4, 3 or 2. Digital video needs fixed number multiply for the upscan. I design scanline multiply number is 3. The resolution are XGA (1024x768) and 720p (1280x720). It is async outputs, FPGA uses single frame buffer, the tearing happens about every 6 seconds. The player dont mind the tearing, it is the ideal spec...
I have tried full sync digital video output. I have not successed, it maybe requires modify to output master clock into external side. If FPGA gets PCE master clock, it can outputs stable T.M.D.S waveform, the LCD monitor won't display clarity. Because the video signal is non-compliant XGA. Full synced pixel clock is 21.47*3MHz, XGA requies 65.0MHz.
[confirmed software]
I checked about 30 HuCard games. Almost ganes works with clarirty video.
[next]
I will implement the backup memory system into the C5G.
(edit) added new photo.
- R-TYPE part2 (dotclock = master /3)
- TV sports bascketball (dotclock = master /2)
- Momotarou Densetsu Gaiden (dotclock = master /4)
I successed digital video outputs for PCEngine. It uses real hardware, no modification, no AD converter.
CD excluded PCEngine system has EXTBUS. It contains full CPU buses and dotclock and color RAM address bus(VDC data).
I've researched them, EXTBUS outputs perfectlly digital video data before DA convert by VCE(6260).
I designed interface the PCB between EXTBUS and Terastic's Cyclone V development board(c5g).
The FPGA watches write cycles for VCE register, stores VDC data into internal RAM, outputs upscanned digital video to T.M.D.S encoder.
[Destinaion Display resolution]
VCE divides master clock as dotclock, the divide numbers 4, 3 or 2. Digital video needs fixed number multiply for the upscan. I design scanline multiply number is 3. The resolution are XGA (1024x768) and 720p (1280x720). It is async outputs, FPGA uses single frame buffer, the tearing happens about every 6 seconds. The player dont mind the tearing, it is the ideal spec...
I have tried full sync digital video output. I have not successed, it maybe requires modify to output master clock into external side. If FPGA gets PCE master clock, it can outputs stable T.M.D.S waveform, the LCD monitor won't display clarity. Because the video signal is non-compliant XGA. Full synced pixel clock is 21.47*3MHz, XGA requies 65.0MHz.
[confirmed software]
I checked about 30 HuCard games. Almost ganes works with clarirty video.
[next]
I will implement the backup memory system into the C5G.
(edit) added new photo.
- R-TYPE part2 (dotclock = master /3)
- TV sports bascketball (dotclock = master /2)
- Momotarou Densetsu Gaiden (dotclock = master /4)
Last edited by naruko on Mon Nov 16, 2015 3:42 am, edited 1 time in total.
- mikejmoffitt
- Posts: 1353
- Joined: Sun May 27, 2012 8:43 pm
Re: PCEngine 720p digital video out
This is great research. For me the tearing on-screen is a complete dealbreaker, but I am happy to see another system gain digital output.
For a zero-latency solution that won't tear, you could utilize the digital output from the EXTBUS and create a line doubler for a 2:1 video output.
For a zero-latency solution that won't tear, you could utilize the digital output from the EXTBUS and create a line doubler for a 2:1 video output.
Re: PCEngine 720p digital video out
Yes, looks very nice. It's basically the same idea as the NESRGB and other digital bus-sniffing mods.
Re: PCEngine 720p digital video out
Some technical help, since you seemed to ask for it in a blogpost:
VCE Register $0400, bit 2 controls whether the video field is 263/262.5(?) lines (when 0/1.) When set to 1, it also has the intended side effect of composite artifact correction. This "correction" is not visible at all in RGB/digital signals:
The only HuCard that I know of that sets $0400 bit 1 (512-pixel mode) is TV Sports Basketball. Several CD games use this high-res mode, though. If you have a PCE flash card, there are a couple screen test programs by me or others where you can do more thorough testing.
VCE Register $0400, bit 2 controls whether the video field is 263/262.5(?) lines (when 0/1.) When set to 1, it also has the intended side effect of composite artifact correction. This "correction" is not visible at all in RGB/digital signals:
The only HuCard that I know of that sets $0400 bit 1 (512-pixel mode) is TV Sports Basketball. Several CD games use this high-res mode, though. If you have a PCE flash card, there are a couple screen test programs by me or others where you can do more thorough testing.
Re: PCEngine 720p digital video out
I understand what means display artifacts!
I will check Rastan Saga II, Volfied and OutRun.
I don't have a flash card. But my adapter PCB has 2pcs 32-DIP socket for 512k x8 SRAM and Flash. I can check your test program.
I will check Rastan Saga II, Volfied and OutRun.
I don't have a flash card. But my adapter PCB has 2pcs 32-DIP socket for 512k x8 SRAM and Flash. I can check your test program.
Re: PCEngine 720p digital video out
But does having the correction (i.e. interlace mode) also cause the screen to jitter up and down by a half pixel every frame?ccovell wrote:VCE Register $0400, bit 2 controls whether the video field is 263/262.5(?) lines (when 0/1.) When set to 1, it also has the intended side effect of composite artifact correction.
Re: PCEngine 720p digital video out
Sorry, my memory must be bad, then. Maybe it's 262. Charles Macdonald did some investigation into how this bit can be manipulated by software with accurate timing, to give "near-true" interlace, but as it is, either setting 262/263 gives noninterlaced video. IIRC, in 263 mode, the screen is higher by like 1/4 of a scanline.tepples wrote:But does having the correction (i.e. interlace mode) also cause the screen to jitter up and down by a half pixel every frame?ccovell wrote:VCE Register $0400, bit 2 controls whether the video field is 263/262.5(?) lines (when 0/1.) When set to 1, it also has the intended side effect of composite artifact correction.
- mikejmoffitt
- Posts: 1353
- Joined: Sun May 27, 2012 8:43 pm
Re: PCEngine 720p digital video out
It does not happen. I do not think it is 262.5 lines but rather 262.tepples wrote:But does having the correction (i.e. interlace mode) also cause the screen to jitter up and down by a half pixel every frame?ccovell wrote:VCE Register $0400, bit 2 controls whether the video field is 263/262.5(?) lines (when 0/1.) When set to 1, it also has the intended side effect of composite artifact correction.
You can confirm this with Parasol Stars or Magical Chase, which are not interlaced yet does have the composite subcarrier movement (as opposed to Gekisha Boy or Pac-Land, which does not).
-
- Posts: 592
- Joined: Thu Aug 28, 2008 1:17 am
- Contact:
Re: PCEngine 720p digital video out
The bit in the VCE reg controls whether the output is 262 or 263 scanlines - not half lines that I remember seeing on the scope. It also doesn't automatically switch between them on a frame by frame basis or such. The 263 mode simply allows the color burst phase to invert on the next frame, since every scanline flip-flops it (the phase) - having an odd amount of scanlines means it has the inverse pattern on the next frame and so on. For analog TVs without any fancy filtering, it allows the pixels (or rather, artifacts) to average over two frames (for still images).
Charles interlace trick is manually switching between 262 line mode and 263 line mode, at the right time - causing "fields" to overlap. IIRC, when you switch between the modes - it causes the current scanline to end (VCE scanline, not VDC pixel data) - timing is critical. The trick works great on SDTVs, but CRT HDtvs didn't like it. I suspect the lack of field identification equalization pulses might have something to do with it.
Charles interlace trick is manually switching between 262 line mode and 263 line mode, at the right time - causing "fields" to overlap. IIRC, when you switch between the modes - it causes the current scanline to end (VCE scanline, not VDC pixel data) - timing is critical. The trick works great on SDTVs, but CRT HDtvs didn't like it. I suspect the lack of field identification equalization pulses might have something to do with it.
__________________________
http://pcedev.wordpress.com
http://pcedev.wordpress.com
Re: PCEngine 720p digital video out
I think, more specifically, it's that the equalization pulses allow VSYNC to start in the middle of a scanline, whereas simpler NTSC generators don't bother.tomaitheous wrote:I suspect the lack of field identification equalization pulses might have something to do with it.
Re: PCEngine 720p digital video out
I have checked SuperGrafx with my 720p adapter.
The result is bad, SuperGrafx's EXTBUS is connected color RAM address by VDC #0. This is not connected to VCE directly.
The result is bad, SuperGrafx's EXTBUS is connected color RAM address by VDC #0. This is not connected to VCE directly.
Re: PCEngine 720p digital video out
And none of the VPC lines go out to the exp bus? (Well, why would they, the exp bus was designed before the SGX was...)
-
- Posts: 9
- Joined: Sun Dec 11, 2016 1:57 pm
Re: PCEngine 720p digital video out
Is this the origin of the Upergrafx?