1.1 --- a/ULA.txt Sat Feb 01 17:55:57 2014 +0100
1.2 +++ b/ULA.txt Sun Feb 16 01:42:42 2014 +0100
1.3 @@ -529,6 +529,35 @@
1.4 retain the details of such areas and additional logic to control the fill
1.5 operation.
1.6
1.7 +Enhancement: Region Filling
1.8 +---------------------------
1.9 +
1.10 +An alternative to memory writing might involve indicating regions using
1.11 +additional registers or memory where the ULA fills regions of the screen with
1.12 +content instead of reading from memory. Unlike hardware sprites which should
1.13 +realistically provide varied content, region filling could employ single
1.14 +colours or patterns, and one advantage of doing so would be that the ULA need
1.15 +not access memory at all within a particular region.
1.16 +
1.17 +Regions would be defined on a row-by-row basis. Instead of reading memory and
1.18 +blitting a direct representation to the screen, the ULA would read region
1.19 +definitions containing a start column, region width and colour details. There
1.20 +might be a certain number of definitions allowed per row, or the ULA might
1.21 +just traverse an ordered list of such definitions with each one indicating the
1.22 +row, start column, region width and colour details. One could even compress
1.23 +this information further by requiring only the row, start column and colour
1.24 +details with each subsequent definition terminating the effect of the previous
1.25 +one. However, one would also need to consider the convenience of preparing
1.26 +such definitions and whether efficient access to definitions for a particular
1.27 +row might be desirable. It might also be desirable to avoid having to prepare
1.28 +definitions for "empty" areas of the screen.
1.29 +
1.30 +One application of region filling is that of simple 2D and 3D shape rendering.
1.31 +Although it is entirely possible to plot such shapes to the screen and have
1.32 +the ULA blit the memory contents to the screen, such operations consume
1.33 +bandwidth both in the initial plotting and in the final transfer to the
1.34 +screen. Region filling would reduce such bandwidth usage substantially.
1.35 +
1.36 Enhancement: Hardware Sprites
1.37 -----------------------------
1.38