1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/docs/wiki/VGA_Output_Examples Thu May 02 23:21:07 2019 +0200
1.3 @@ -0,0 +1,35 @@
1.4 += VGA Output Example Comparison =
1.5 +
1.6 +In investigating different techniques, the following observations have been
1.7 +made about the behaviour of the different VGA examples:
1.8 +
1.9 +{{{#!table
1.10 + || DMA Channels || Horizontal Resolution || Picture Stability
1.11 + || Pixel Consistency || Scrolling Operational
1.12 +==
1.13 +vga || 1 || High || No || No || Yes
1.14 +==
1.15 +vga-cpu || 0 || High || Yes || Yes || Yes
1.16 +==
1.17 +vga-dual || 2 || High || No || No || No
1.18 +==
1.19 +vga-pmp || 1 || High || No || No || Yes
1.20 +==
1.21 +vga-timer || 2 || Low || Yes || Yes || Yes
1.22 +}}}
1.23 +
1.24 +Here, picture stability is assessed with the CPU accessing RAM. In general,
1.25 +all of the approaches can provide stable pictures with limited RAM access
1.26 +loading. However, under load, the picture will stretch and ripple for all
1.27 +examples where picture stability is given as "No".
1.28 +
1.29 +It should be noted that the vga-timer example employs two DMA channels, but
1.30 +this is only to maximise horizontal resolution. With a single channel,
1.31 +horizontal resolution is diminished still further in comparison to the other
1.32 +examples.
1.33 +
1.34 +It would appear that two most viable approaches are the vga-cpu and vga-timer,
1.35 +if only because they produce consistently-sized pixels, retain picture
1.36 +stability under load, and provide operational horizontal scrolling. These
1.37 +approaches provide a tradeoff between performance (vga-timer being faster) and
1.38 +resolution (vga-cpu being better).