1.1 --- a/ULA.txt Thu Dec 08 23:50:49 2011 +0100
1.2 +++ b/ULA.txt Fri Dec 09 01:45:40 2011 +0100
1.3 @@ -21,9 +21,9 @@
1.4 One argument for a 2 byte resolution is smooth vertical scrolling. A pitfall
1.5 of changing the screen address by 2 bytes is the change in the number of lines
1.6 from the initial and final character rows that need reading by the ULA, which
1.7 -would need to maintain this state information. Another pitfall is the
1.8 -complication that might be introduced to software writing bitmaps of character
1.9 -height to the screen.
1.10 +would need to maintain this state information (although this is a relatively
1.11 +trivial change). Another pitfall is the complication that might be introduced
1.12 +to software writing bitmaps of character height to the screen.
1.13
1.14 Region Blanking
1.15 ---------------
1.16 @@ -123,8 +123,8 @@
1.17 that hardware to reduce the load on the system CPU which was responsible for
1.18 producing the video output.
1.19
1.20 -Hardware Sprites
1.21 -----------------
1.22 +Hardware Sprites and Colour Planes
1.23 +----------------------------------
1.24
1.25 An enhanced ULA might provide hardware sprites, but this would be done in an
1.26 way that is incompatible with the standard ULA, since no &FE*X locations are
1.27 @@ -137,6 +137,14 @@
1.28 particular state after each write. For example: read LSB of region, read MSB
1.29 of region, read size, read height.
1.30
1.31 +Providing hardware sprites can be awkward without having some kind of working
1.32 +area, since the ULA would need to remember where each sprite is to be plotted
1.33 +and then deduce which sprites would be contributing to any given pixel. An
1.34 +alternative is to use memory into which the sprites would be plotted, and this
1.35 +memory would be combined with the main screen memory, taking a particular
1.36 +colour as the "colourkey" which is to be considered transparent, and only
1.37 +overwriting the main screen pixels with pixel values for other colours.
1.38 +
1.39 Enhanced Graphics
1.40 -----------------
1.41
1.42 @@ -158,6 +166,12 @@
1.43 the given framework. The BBC Micro ULA employs &FE40-&FE4F for sound control,
1.44 and an enhanced ULA could adopt this interface.
1.45
1.46 +The BBC Micro uses the SN76489 chip to produce sound, and the entire
1.47 +functionality of this chip could be emulated for enhanced sound, with a subset
1.48 +of the functionality exposed via the &FE*6 interface.
1.49 +
1.50 +See: http://en.wikipedia.org/wiki/Texas_Instruments_SN76489
1.51 +
1.52 Waveform Upload
1.53 ---------------
1.54