bitfixer
Veteran Member
Hi all, hope everyone's doing well.
I had a bit of time recently to play around with some PETs and wanted to see how hard it would be to get video output from the PET to either VGA or HDMI. As I was working on other PET things, I wanted to avoid putting extra strain and hours on the PET CRTs with powering on and off, etc. I had some fun messing around with this and wanted to share what I found, maybe it will be useful to someone.
I started by looking at the schematic for a PET to composite video circuit. Looking at this, it seemed like the capacitor values were off, 2200mf seemed way too big of a cap to use here. And I did not happen to have any 74LS02s around to try. I did have a bunch of the fpga boards I use for the ROMulator board, so even though it was a bit of overkill just wired up the vsync, hsync, and video outputs from the PET user port to that, to see what I would get on the other side.
The VSYNC out from the PET goes from 5v to 0 during the vsync period, and the hsync appears to be inverted, going high during the hsync interval. From what I can tell this circuit inverts vsync twice, keeping it the same - and inverts hsync once. At first I tried just combining vsync and the inverted hsync together to form a composite sync, and then combining that with the video out through a couple of resistors to form the overall composite video out signal. This was on a PET 2001.
This signal actually did show a picture on a CRT monitor, although the image was shifted over and the left half of the screen was cut off. The discovery here was that the plain inverted hsync pulse was too wide to properly form a composite sync signal - the pulse width overlaps with the video signal and thus part of the picture is missing. I made the pulse narrower and this did the trick, giving a fairly good composite video signal. This presumably is what the cap and resistor do in the schematic, although not completely sure.
The same signal, however, would not sync using a composite to HDMI converter I tried, only on the older CRT monitor.
Repeating this experiment with an 8032 - no success. The hsync frequency on the 8032 is different, 20khz by my measurement while the 2001 had what looked very close to an NTSC line frequency, just over 15khz. So not surprisingly, nothing could sync to that.
Decided to try one of the cheap Gonbes GBS-8200 converters to see how that would work. Trying the 2001 first, it did work pretty well using the same composite sync signal. I got a reasonably good VGA signal out of it, a little noisy. The unit supposedly can sync to separate vsync and hsync signals, although when I tried that, I got nothing. Only the composite sync signal worked.
I tried the 8032 next to see if it could sync to a 20khz line frequency, and no luck. Just can't sync to it, it's too fast for CGA frequencies, and not fast enough for the EGA range supported by the converter.
So at the end of the day, I'd say the GBS-8200 is a pretty good solution for a PET 2001, although you do need a bit of extra circuitry to make it work. Essentially you need to shorten the HSYNC pulse and invert it, and merge the VSYNC with that to form a composite TTL sync signal, and connect that to the sync (S) pin on the GBS-8200. Then I hooked up just the green line (for that nice PET green) to the video output of the PET through a resistor, seemed like about 200 ohm worked well. Still not sure why the composite to HDMI converter didn't like it, but the GBS-8200 seemed happy with it. Maybe I'll make up a PCB to bring out the right signals for conversion if anyone is interested.
I'm still looking for a good way to get video from the 8032 to a modern display. As far as I can tell it would require a somewhat customized scan converter to do it. Since it's not just half the VGA frequency you can't just scan double, so seems like you'd have to buffer a whole image at a time and then scan it out in parallel. I did some very basic experiments with this using the FPGA board, and got as far as generating a pretty noisy VGA signal at 800x600. The plan would be to scan in a full frame of PET 8032 video at 640x200 into one memory buffer, then scan that out in parallel while the next frame gets captured. This could be another project, assuming I can't find an easier way to do it.
Does anyone know an existing way to get video out of an 8032 to a modern display? I realize this could be old news to everyone, so sorry if that is true. I enjoyed the investigation and wanted to see if this information could help anyone else looking at this.
I had a bit of time recently to play around with some PETs and wanted to see how hard it would be to get video output from the PET to either VGA or HDMI. As I was working on other PET things, I wanted to avoid putting extra strain and hours on the PET CRTs with powering on and off, etc. I had some fun messing around with this and wanted to share what I found, maybe it will be useful to someone.
I started by looking at the schematic for a PET to composite video circuit. Looking at this, it seemed like the capacitor values were off, 2200mf seemed way too big of a cap to use here. And I did not happen to have any 74LS02s around to try. I did have a bunch of the fpga boards I use for the ROMulator board, so even though it was a bit of overkill just wired up the vsync, hsync, and video outputs from the PET user port to that, to see what I would get on the other side.
The VSYNC out from the PET goes from 5v to 0 during the vsync period, and the hsync appears to be inverted, going high during the hsync interval. From what I can tell this circuit inverts vsync twice, keeping it the same - and inverts hsync once. At first I tried just combining vsync and the inverted hsync together to form a composite sync, and then combining that with the video out through a couple of resistors to form the overall composite video out signal. This was on a PET 2001.
This signal actually did show a picture on a CRT monitor, although the image was shifted over and the left half of the screen was cut off. The discovery here was that the plain inverted hsync pulse was too wide to properly form a composite sync signal - the pulse width overlaps with the video signal and thus part of the picture is missing. I made the pulse narrower and this did the trick, giving a fairly good composite video signal. This presumably is what the cap and resistor do in the schematic, although not completely sure.
The same signal, however, would not sync using a composite to HDMI converter I tried, only on the older CRT monitor.
Repeating this experiment with an 8032 - no success. The hsync frequency on the 8032 is different, 20khz by my measurement while the 2001 had what looked very close to an NTSC line frequency, just over 15khz. So not surprisingly, nothing could sync to that.
Decided to try one of the cheap Gonbes GBS-8200 converters to see how that would work. Trying the 2001 first, it did work pretty well using the same composite sync signal. I got a reasonably good VGA signal out of it, a little noisy. The unit supposedly can sync to separate vsync and hsync signals, although when I tried that, I got nothing. Only the composite sync signal worked.
I tried the 8032 next to see if it could sync to a 20khz line frequency, and no luck. Just can't sync to it, it's too fast for CGA frequencies, and not fast enough for the EGA range supported by the converter.
So at the end of the day, I'd say the GBS-8200 is a pretty good solution for a PET 2001, although you do need a bit of extra circuitry to make it work. Essentially you need to shorten the HSYNC pulse and invert it, and merge the VSYNC with that to form a composite TTL sync signal, and connect that to the sync (S) pin on the GBS-8200. Then I hooked up just the green line (for that nice PET green) to the video output of the PET through a resistor, seemed like about 200 ohm worked well. Still not sure why the composite to HDMI converter didn't like it, but the GBS-8200 seemed happy with it. Maybe I'll make up a PCB to bring out the right signals for conversion if anyone is interested.
I'm still looking for a good way to get video from the 8032 to a modern display. As far as I can tell it would require a somewhat customized scan converter to do it. Since it's not just half the VGA frequency you can't just scan double, so seems like you'd have to buffer a whole image at a time and then scan it out in parallel. I did some very basic experiments with this using the FPGA board, and got as far as generating a pretty noisy VGA signal at 800x600. The plan would be to scan in a full frame of PET 8032 video at 640x200 into one memory buffer, then scan that out in parallel while the next frame gets captured. This could be another project, assuming I can't find an easier way to do it.
Does anyone know an existing way to get video out of an 8032 to a modern display? I realize this could be old news to everyone, so sorry if that is true. I enjoyed the investigation and wanted to see if this information could help anyone else looking at this.