> based on my own observations from fixing up the Alpha One support the Moon Patrol > driver still needs a lot of hardware verification, eg. the backgrounds literally just > hardcode the correct colour lookups (unique colours are used, but I imagine the > hardware has a more complex algorithm for picking them, otherwise why have a larger > palette with a bunch of duplicate colours)
The Williams schematics for the "Scrolling Video Board" indicate the following logic for the background palette:
- The A0-A1 inputs may come from the "Cityscape" (3H) or "Near Mountains" (3K) graphics ROMs, or else the RA1 pullups.
- The A2-A3 inputs may come from the "Distant Mountains" (3L) graphics ROM, or else the RA2 pullups. (The hardware also has space for one more graphics ROM at 3N, which is unpopulated on Moon Patrol. It would be enabled by bit 3 of m_bgcontrol in the MAME driver.)
- A4 is tied to the same bit of the background control register that enables the cityscape (though a pullup is also provided on this line).
> I suspect I can remove the 'fill with solid colour' thing for the lower background > parts now, although I haven't tested, it really seems like that's just a 0xff pull up > from unpopulated rom spaces (because Alpha One populates them and expects a double > height background not a fill)
The fill areas do indeed appear to be from pullups, but not entirely because of unpopulated ROM spaces. The schematics seem to only allow one ROM in each background layer to be active at a time, disabling both of each outside scroll-adjusted screen halves; Kyle Hodgetts very likely added some simple wire mods in order to assign the background ROMs in each layer to alternating bands instead.
> Also prior to the Alpha One changes the driver was ignoring parts of the sprite CLUT > simply because Moon Patrol only uses 2bpp sprite gfx when the board supports 3 (so > decoding it with a blank plane and not fudging / ignoring parts of the sprite CLUT is > a lot cleaner)
The Moon Patrol "Character Video Board" does have unpopulated spaces for a third sprite ROM (at 3K) and the logic chips that would shift bits out of it and into the CLUT PROM (whose A2 input is instead grounded by a jumper). The schematics also suggest that installing some additional RAMs and logic chips could expand the number of sprite colors from 16 colors to 32, with the extra bit potentially affecting sprite priority as well depending on jumper connections.
|