mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
Redumped color proms in Time Limit [ShouTime, TServo2049, pablopelos, The Dumping Union]
This commit is contained in:
parent
0b1375f218
commit
b46ed73b2f
@ -10,6 +10,7 @@ driver by Ernesto Corvi
|
||||
Notes:
|
||||
- Sprite colors are wrong (missing colortable?)
|
||||
- driver should probably be merged with suprridr.cpp and thepit.cpp
|
||||
- unused color bank for tilemaps? (colors 0x10-0x1f & 0x30-0x3f)
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
@ -290,14 +291,14 @@ ROM_START( timelimt )
|
||||
ROM_LOAD( "tl12", 0x1000, 0x1000, CRC(ce960389) SHA1(57ee52cfa1b5a3832b362b38c8b7aa411dfc782b) )
|
||||
|
||||
ROM_REGION( 0x6000, "sprites", 0 ) /* sprites */
|
||||
ROM_LOAD( "tl3", 0x0000, 0x2000, CRC(01a9fd95) SHA1(cd1078700c97a3539c9d9447c55efbd27540a1b3) )
|
||||
ROM_LOAD( "tl3", 0x4000, 0x2000, CRC(01a9fd95) SHA1(cd1078700c97a3539c9d9447c55efbd27540a1b3) )
|
||||
ROM_LOAD( "tl2", 0x2000, 0x2000, CRC(4693b849) SHA1(fbebedde53599fb1eaedc648bd704b321ab096b5) )
|
||||
ROM_LOAD( "tl1", 0x4000, 0x2000, CRC(c4007caf) SHA1(ae05af3319545d5ca98a046bfc100138a5a3ed96) )
|
||||
ROM_LOAD( "tl1", 0x0000, 0x2000, CRC(c4007caf) SHA1(ae05af3319545d5ca98a046bfc100138a5a3ed96) )
|
||||
|
||||
ROM_REGION( 0x0060, "proms", 0 )
|
||||
ROM_LOAD( "clr.35", 0x0000, 0x0020, CRC(9c9e6073) SHA1(98496175bf19a8cdb0018705bc1a2193b8a782e1) )
|
||||
ROM_LOAD( "clr.48", 0x0020, 0x0020, BAD_DUMP CRC(a0bcac59) SHA1(e5832831b21981363509b79d89766757bd9273b0) ) /* FIXED BITS (xxxxxx1x) */
|
||||
ROM_LOAD( "clr.57", 0x0040, 0x0020, NO_DUMP ) /* missing sprite color prom? */
|
||||
ROM_LOAD( "clr.48", 0x0020, 0x0020, CRC(a0bcac59) SHA1(e5832831b21981363509b79d89766757bd9273b0) ) /* FIXED BITS (xxxxxx1x) */
|
||||
ROM_LOAD( "clr.57", 0x0040, 0x0020, CRC(3a9f5394) SHA1(0b501f81ce1df722cf7ef982c03e0be337bfe9ee) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( progress )
|
||||
|
@ -2,13 +2,14 @@
|
||||
// copyright-holders:Ernesto Corvi
|
||||
#include "emu.h"
|
||||
#include "includes/timelimt.h"
|
||||
#include "video/resnet.h"
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
Convert the color PROMs into a more useable format.
|
||||
|
||||
Time Limit has two 32 bytes palette PROM, connected to the RGB output this
|
||||
Time Limit has three 32 bytes palette PROM, connected to the RGB output this
|
||||
way:
|
||||
|
||||
bit 7 -- 220 ohm resistor -- BLUE
|
||||
@ -22,10 +23,20 @@
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
PALETTE_INIT_MEMBER(timelimt_state, timelimt){
|
||||
PALETTE_INIT_MEMBER(timelimt_state, timelimt)
|
||||
{
|
||||
const uint8_t *color_prom = memregion("proms")->base();
|
||||
int i;
|
||||
static const int resistances_rg[3] = { 1000, 470, 220 };
|
||||
static const int resistances_b [2] = { 470, 220 };
|
||||
double weights_r[3], weights_g[3], weights_b[2];
|
||||
|
||||
compute_resistor_weights(0, 255, -1.0,
|
||||
3, resistances_rg, weights_r, 0, 0,
|
||||
3, resistances_rg, weights_g, 0, 0,
|
||||
2, resistances_b, weights_b, 0, 0);
|
||||
|
||||
|
||||
for (i = 0;i < palette.entries();i++)
|
||||
{
|
||||
int bit0,bit1,bit2,r,g,b;
|
||||
@ -34,16 +45,16 @@ PALETTE_INIT_MEMBER(timelimt_state, timelimt){
|
||||
bit0 = (*color_prom >> 0) & 0x01;
|
||||
bit1 = (*color_prom >> 1) & 0x01;
|
||||
bit2 = (*color_prom >> 2) & 0x01;
|
||||
r = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
|
||||
r = combine_3_weights(weights_r, bit0, bit1, bit2);
|
||||
/* green component */
|
||||
bit0 = (*color_prom >> 3) & 0x01;
|
||||
bit1 = (*color_prom >> 4) & 0x01;
|
||||
bit2 = (*color_prom >> 5) & 0x01;
|
||||
g = 0x21 * bit0 + 0x47 * bit1 + 0x97 * bit2;
|
||||
g = combine_3_weights(weights_g, bit0, bit1, bit2);
|
||||
/* blue component */
|
||||
bit0 = (*color_prom >> 6) & 0x01;
|
||||
bit1 = (*color_prom >> 7) & 0x01;
|
||||
b = 0x4f * bit0 + 0xa8 * bit1;
|
||||
b = combine_2_weights(weights_b, bit0, bit1);
|
||||
|
||||
palette.set_pen_color(i,rgb_t(r,g,b));
|
||||
color_prom++;
|
||||
@ -128,7 +139,7 @@ void timelimt_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
|
||||
|
||||
m_gfxdecode->gfx(2)->transpen(bitmap,cliprect,
|
||||
code,
|
||||
attr & 7,
|
||||
attr & 3, // was & 7, wrong for 3bpp and 32 colors
|
||||
flipx,flipy,
|
||||
sx,sy,0);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user