trunk/src/mame/video/deco_mlc.c
| r21892 | r21893 | |
| 165 | 165 | 0x4000 - Y flip |
| 166 | 166 | 0x2000 - Auto-flicker (display sprite only every other frame) |
| 167 | 167 | 0x1000 - If set combine this 4bpp sprite & next one, into 8bpp sprite |
| 168 | | 0x0800 - ? (Not seen used anywhere) |
| 168 | 0x0800 - This is set ingame on Stadium Hero 96, on graphics which otherwise obscure the playfield? |
| 169 | 169 | 0x0400 - Use raster IRQ lookup table when drawing object |
| 170 | 170 | 0x0300 - Selects clipping window to use |
| 171 | 171 | 0x00ff - Colour/alpha shadow enable |
| r21892 | r21893 | |
| 208 | 208 | // although it doesn't seem to set the scroll values very often either |
| 209 | 209 | // so the irq mechanism might be wrong |
| 210 | 210 | rasterMode = (mlc_spriteram[offs+1]>>10)&0x1; |
| 211 | |
| 212 | |
| 211 | 213 | |
| 214 | int unk_bit = (mlc_spriteram[offs+1]>>10)&0x2; |
| 215 | // just bail if this bit is set, although it might be clip window related and enable a clip window |
| 216 | // to hide all the sprites it covers |
| 217 | if (unk_bit) |
| 218 | continue; |
| 212 | 219 | |
| 220 | |
| 213 | 221 | |
| 214 | 222 | clipper = (mlc_spriteram[offs+1]>>8)&0x3; |
| 215 | 223 | indx = mlc_spriteram[offs+0]&0x3fff; |
| r21892 | r21893 | |
| 323 | 331 | |
| 324 | 332 | if (rasterMode) |
| 325 | 333 | { |
| 326 | | int irq_base_reg = 6 /* 6, 9, 12 */; |
| 334 | int irq_base_reg = 12 /* 6, 9, 12 */; |
| 327 | 335 | |
| 328 | 336 | int extra_y_off = m_irq_ram[irq_base_reg+0] & 0x7ff; |
| 329 | 337 | int extra_x_off = m_irq_ram[irq_base_reg+1] & 0x7ff; |
| r21892 | r21893 | |
| 332 | 340 | |
| 333 | 341 | if (extra_x_off & 0x400) extra_x_off -= 0x800; |
| 334 | 342 | if (extra_y_off & 0x400) extra_y_off -= 0x800; |
| 343 | |
| 344 | if (extra_y_scale & 0x400) extra_y_scale -= 0x800; |
| 345 | if (extra_x_scale & 0x400) extra_x_scale -= 0x800; |
| 335 | 346 | |
| 336 | 347 | x += extra_x_off; |
| 337 | | y += extra_x_off; |
| 348 | y += extra_y_off; |
| 338 | 349 | |
| 339 | | xscale = extra_x_scale; |
| 340 | | yscale = extra_y_scale; |
| 350 | xscale += extra_x_scale; |
| 351 | yscale += extra_y_scale; |
| 341 | 352 | |
| 342 | 353 | } |
| 343 | 354 | |
| r21892 | r21893 | |
| 382 | 393 | continue; |
| 383 | 394 | |
| 384 | 395 | |
| 385 | | |
| 396 | |
| 397 | // color = machine().rand(); |
| 386 | 398 | |
| 387 | 399 | int srcline = ((bby<<16) / ratio); |
| 388 | 400 | |