That is exactly what I had in mind. With a ping-pongTrepan wrote:How do I send only the portion of the screen I want to each satellite screen? I imagine I need to somehow define a window inside of the 'bigger picture' in terms of pixels and then only that portion would get sent on port 1 to screen 1 for example. another portion gets sent only on port 2 the same way I guess?Bigglez wrote:A good way to impliment your idea is to use a PC
chassis and install a separate VGA graphics board
for each satellite (some graphics cards already allow
two separate monitors to be connected). The PC
chassic has all the power supplies and hardware
for the project, which is now a (massive) software
memory (two planes) one is written with all the data
and the other is read selectively with partial data.
They swap for the next frame (i.e. 60 - 120Hz refresh).
The readout is always slower (less pixels) and smaller
(a fraction of the original data), so the hardware needs
two timebases (one synched to the input, a second
free-running and at the output rate).
The remaining issue is that you have requested
several monitors for output, and they need to be fed
fresh data all the time. One solution is to 'over sample'
the memory so that multiple reads can be made and
fed to the monitors.
For example, to serve four satellite monitors, read
the first and hold it while the second, third and fourth
are read and held.
Each reading from a different address.
Or, the main memory is read selectively in sequence and
the data transferred to dedicated but separate memories
for each satellite monitor.
Most (if not all) digital signal manipulation takes multiple
clock cycles, and introduces delays. This is quite noticeable
if the sound is out of sync (flat panel TVs have adjustable
sound delays for lip-sync).