trunk/src/mame/video/deco_mlc.c
| r21931 | r21932 | |
| 173 | 173 | 0x4000 - Y flip |
| 174 | 174 | 0x2000 - Auto-flicker (display sprite only every other frame) |
| 175 | 175 | 0x1000 - If set combine this 4bpp sprite & next one, into 8bpp sprite |
| 176 | | 0x0800 - This is set ingame on Stadium Hero 96, on graphics which otherwise obscure the playfield? |
| 177 | | 0x0400 - Use raster IRQ lookup table when drawing object |
| 178 | | 0x0300 - Selects clipping window to use - and upper bits of raster select (stadhr96) |
| 176 | 0x0800 - upper clip bit (stadhr96 view of bases) |
| 177 | 0x0400 - Use raster IRQ lookup table when drawing object - or not? (OK for stadhr96, NOT enabled for avengrgs) |
| 178 | 0x0300 - lower clipping window to use (swapped) - and upper bits of raster select (stadhr96) |
| 179 | 179 | 0x0080 - seems to be both the lower bit of the raster select (stadhr96) AND the upper bit of colour / alpha (avngrgs?) - might depend on other bits? |
| 180 | 180 | 0x007f - Colour/alpha shadow enable |
| 181 | 181 | Word 2: 0x07ff - Y position |
| r21931 | r21932 | |
| 227 | 227 | rasterMode = (mlc_spriteram[offs+1]>>10)&0x1; |
| 228 | 228 | |
| 229 | 229 | |
| 230 | | |
| 231 | | int unk_bit = (mlc_spriteram[offs+1]>>10)&0x2; |
| 232 | | // just bail if this bit is set, although it might be clip window related and enable a clip window |
| 233 | | // to hide all the sprites it covers |
| 234 | | // this seem realistic because 2 of the upper 4 'clip windows' are usually set to invalid (off-screen) |
| 235 | | // areas, and we currently have no bit to select them. |
| 236 | | if (unk_bit) |
| 237 | | continue; |
| 238 | 230 | |
| 239 | 231 | |
| 240 | 232 | |
| 241 | 233 | clipper = (mlc_spriteram[offs+1]>>8)&0x3; |
| 234 | |
| 242 | 235 | indx = mlc_spriteram[offs+0]&0x3fff; |
| 243 | 236 | yscale = mlc_spriteram[offs+4]&0x3ff; |
| 244 | 237 | xscale = mlc_spriteram[offs+5]&0x3ff; |
| r21931 | r21932 | |
| 248 | 241 | however there are space for 8 clipping windows, where is the high bit? (Or is it ~0x400?) */ |
| 249 | 242 | clipper=((clipper&2)>>1)|((clipper&1)<<1); // Swap low two bits |
| 250 | 243 | |
| 244 | |
| 245 | |
| 246 | int upperclip = (mlc_spriteram[offs+1]>>10)&0x2; |
| 247 | // this is used on some ingame gfx in stadhr96 |
| 248 | // to clip the images of your guys on the bases |
| 249 | if (upperclip) |
| 250 | clipper |= 0x4; |
| 251 | |
| 252 | |
| 253 | |
| 251 | 254 | int min_y = m_mlc_clip_ram[(clipper*4)+0]; |
| 252 | 255 | int max_y = m_mlc_clip_ram[(clipper*4)+1]; |
| 253 | 256 | |