Let's make a Pi Pico 2 powered video card.
-
@gloriouscow is the pico generating the dot clock? EDIT: the same one generating the pixel data
@ldcd Yeah. For the moment.
-
@gloriouscow is the pico generating the dot clock? EDIT: the same one generating the pixel data
@gloriouscow oh there's no clock on the CGA port just HSYNC VSYNC and it's an alignment issue?
-
I'm starting to think a pico is not the appropriate thing to build a video card with.
all my fun ideas always end up with me concluding i should use an FPGA.
FPGAs are like the crabs of electronics projects. everything wants to turn into an FPGA if you give it enough time.
I do have a de10 nano FPGA board. It's in my MiSTer. Which I never use!
-
@gloriouscow oh there's no clock on the CGA port just HSYNC VSYNC and it's an alignment issue?
@ldcd correct there's no clock line on the video connector. The monitor has PLLs to synchronize to vertical and horizontal frequencies within a certain range. A CGA monitor expects a 15.7kHZ hsync, for example. The signal, although digital in color, is put through analog circuit and so the monitor does not have to sample colors.
The Pi in the rgb2hdmi is sampling the color at a certain period within a dot window. If I am writing colors out of phase with the sampling then we will have various flickering going on. Why only in those specific areas? I am not really sure.
-
I'm starting to think a pico is not the appropriate thing to build a video card with.
all my fun ideas always end up with me concluding i should use an FPGA.
FPGAs are like the crabs of electronics projects. everything wants to turn into an FPGA if you give it enough time.
@gloriouscow I think it's easy to just default to implementing solutions in software. There are plenty of good reasons why - the tooling is usually better and more familiar, it requires less specialized knowledge, it's often easier to throw together the first PoC and to extend it later.
Often the "proper" solution is that you probably should be working at a lower level - whether that's FPGAs or discrete components. The classic example is using an Arduino to make a blinking light. I don't think there should be any shame in it no matter what solution one uses, but good engineering involves knowing when you've outgrown the current approach
-
@gloriouscow I think it's easy to just default to implementing solutions in software. There are plenty of good reasons why - the tooling is usually better and more familiar, it requires less specialized knowledge, it's often easier to throw together the first PoC and to extend it later.
Often the "proper" solution is that you probably should be working at a lower level - whether that's FPGAs or discrete components. The classic example is using an Arduino to make a blinking light. I don't think there should be any shame in it no matter what solution one uses, but good engineering involves knowing when you've outgrown the current approach
I didn't know how to program Picos a month ago, now I do. I will bet good money future me will not be afraid of FPGAs, but they scare current me a lot
-
@ldcd correct there's no clock line on the video connector. The monitor has PLLs to synchronize to vertical and horizontal frequencies within a certain range. A CGA monitor expects a 15.7kHZ hsync, for example. The signal, although digital in color, is put through analog circuit and so the monitor does not have to sample colors.
The Pi in the rgb2hdmi is sampling the color at a certain period within a dot window. If I am writing colors out of phase with the sampling then we will have various flickering going on. Why only in those specific areas? I am not really sure.
@gloriouscow hmm I wonder if you're seeing some crosstalk between the different lines? Breadboards tend to have a lot of parasitics
-
@gloriouscow hmm I wonder if you're seeing some crosstalk between the different lines? Breadboards tend to have a lot of parasitics
@gloriouscow hmm actually I don't think that would do it
-
@gloriouscow hmm actually I don't think that would do it
@gloriouscow dumb question but have you checked HSYNC and VSYNC with a scope? I've had some monitors (although HDMI so probably quite different) where I've inverted or neglected one or the other and the PLL still sorta locks and you get an image
-
I do have a de10 nano FPGA board. It's in my MiSTer. Which I never use!
@gloriouscow A bit more expensive than 2 x $5 though

-
@gloriouscow A bit more expensive than 2 x $5 though

I don't think you need anything near that to make a CGA, but yeah, anything with an FPGA is going to be a bit more expensive.
-
I do have a de10 nano FPGA board. It's in my MiSTer. Which I never use!
Right. This isn't completely baffling or anything
-
Right. This isn't completely baffling or anything
Oh, wait, I remember this level from ZZT.
-
Oh, wait, I remember this level from ZZT.
I think the elf needs food badly
-
I think the elf needs food badly
okay this isn't that confusing
for example, these are the snake pins. you can choose from left snakes or right snakes

-
Right. This isn't completely baffling or anything
@gloriouscow this seems like something @paulrickards would generate and send to his plotter
-
I'm starting to think a pico is not the appropriate thing to build a video card with.
all my fun ideas always end up with me concluding i should use an FPGA.
FPGAs are like the crabs of electronics projects. everything wants to turn into an FPGA if you give it enough time.
@gloriouscow are DSPs horribly unfashionable now? I remember for a minute in the 90s, everything was a DSP
-
@gloriouscow this seems like something @paulrickards would generate and send to his plotter
@robdaemon @gloriouscow Totally, I'd plot that

-
okay this isn't that confusing
for example, these are the snake pins. you can choose from left snakes or right snakes

you know, there's a very good reason NOT to use an FPGA
when you actually use the proper tools for a job, it stops becoming a hack.
you're no longer a hacker, you're some kind of engineer or something. ugh.
-
you know, there's a very good reason NOT to use an FPGA
when you actually use the proper tools for a job, it stops becoming a hack.
you're no longer a hacker, you're some kind of engineer or something. ugh.
Well, I did an FPGA thing. Can check that off the bucket list.