mirror of
https://github.com/holub/mame
synced 2025-05-28 08:33:05 +03:00
Added the video code back in.. it's definitely processing the blit lists etc. now, although all it seems to be drawing is blank data at this time. From Haze (nw)
This commit is contained in:
parent
6d00689c35
commit
f6874a26af
@ -14,53 +14,506 @@ public:
|
||||
: driver_device(mconfig, type, tag) { }
|
||||
};
|
||||
|
||||
/***************************************************************************
|
||||
Video Hardware
|
||||
***************************************************************************/
|
||||
|
||||
VIDEO_START(cavesh3)
|
||||
struct _clr_t
|
||||
{
|
||||
INT8 r,g,b;
|
||||
};
|
||||
typedef struct _clr_t clr_t;
|
||||
|
||||
// r5g5b5 ro clr_t
|
||||
INLINE void pen_to_clr(UINT16 pen, clr_t *clr)
|
||||
{
|
||||
clr->r = (pen >> 10) & 0x1f;
|
||||
clr->g = (pen >> 5) & 0x1f;
|
||||
clr->b = (pen ) & 0x1f;
|
||||
}
|
||||
|
||||
SCREEN_UPDATE(cavesh3)
|
||||
// convert separate r,g,b biases (0..80..ff) to clr_t (-1f..0..1f)
|
||||
INLINE void tint_to_clr(UINT8 r, UINT8 g, UINT8 b, clr_t *clr)
|
||||
{
|
||||
clr->r = (r - 0x80) / 4;
|
||||
clr->g = (g - 0x80) / 4;
|
||||
clr->b = (b - 0x80) / 4;
|
||||
|
||||
if (clr->r < -0x1f) clr->r = -0x1f;
|
||||
if (clr->g < -0x1f) clr->g = -0x1f;
|
||||
if (clr->b < -0x1f) clr->b = -0x1f;
|
||||
}
|
||||
|
||||
// convert alpha factor (0..ff) to clr_t (0..1f)
|
||||
INLINE void alpha_to_clr(UINT8 alpha, clr_t *clr)
|
||||
{
|
||||
clr->r = alpha / 8;
|
||||
clr->g = alpha / 8;
|
||||
clr->b = alpha / 8;
|
||||
}
|
||||
|
||||
// clamp to 0..1f
|
||||
INLINE INT8 clamp(INT8 comp)
|
||||
{
|
||||
if (comp > 0x1f) return 0x1f;
|
||||
else if (comp < 0) return 0;
|
||||
else return comp;
|
||||
}
|
||||
|
||||
// clr_t to r5g5b5
|
||||
INLINE UINT16 clr_to_pen(const clr_t *clr)
|
||||
{
|
||||
// return (clr->r << 10) | (clr->g << 5) | clr->b;
|
||||
return 0x8000 | (clr->r << 10) | (clr->g << 5) | clr->b;
|
||||
}
|
||||
|
||||
// add clrs
|
||||
INLINE void clr_add(const clr_t *clr0, const clr_t *clr1, clr_t *clr)
|
||||
{
|
||||
clr->r = clamp(clr0->r + clr1->r);
|
||||
clr->g = clamp(clr0->g + clr1->g);
|
||||
clr->b = clamp(clr0->b + clr1->b);
|
||||
}
|
||||
|
||||
// multiply clrs
|
||||
INLINE void clr_mul(const clr_t *clr0, const clr_t *clr1, clr_t *clr)
|
||||
{
|
||||
clr->r = clamp(clr0->r * clr1->r / 0x1f);
|
||||
clr->g = clamp(clr0->g * clr1->g / 0x1f);
|
||||
clr->b = clamp(clr0->b * clr1->b / 0x1f);
|
||||
}
|
||||
|
||||
INLINE char mode_name(UINT8 mode)
|
||||
{
|
||||
switch( mode )
|
||||
{
|
||||
case 0: return 'A'; // +alpha
|
||||
case 1: return 'S'; // +source
|
||||
case 2: return 'D'; // +dest
|
||||
case 3: return '*'; // *
|
||||
case 4: return 'a'; // -alpha
|
||||
case 5: return 's'; // -source
|
||||
case 6: return 'd'; // -dest
|
||||
case 7: return '-'; // *
|
||||
}
|
||||
return '?';
|
||||
}
|
||||
|
||||
// (1|s|d) * s_factor * s + (1|s|d) * d_factor * d
|
||||
// 0: +alpha
|
||||
// 1: +source
|
||||
// 2: +dest
|
||||
// 3: *
|
||||
// 4: -alpha
|
||||
// 5: -source
|
||||
// 6: -dest
|
||||
// 7: *
|
||||
INLINE void cavesh_clr_select(const clr_t *s_clr, const clr_t *d_clr, const clr_t *a_clr, UINT8 mode, clr_t *clr)
|
||||
{
|
||||
switch( mode )
|
||||
{
|
||||
case 0: // +alpha
|
||||
clr->r = a_clr->r;
|
||||
clr->g = a_clr->g;
|
||||
clr->b = a_clr->b;
|
||||
return;
|
||||
|
||||
case 1: // +source
|
||||
clr->r = s_clr->r;
|
||||
clr->g = s_clr->g;
|
||||
clr->b = s_clr->b;
|
||||
return;
|
||||
|
||||
case 2: // +dest
|
||||
clr->r = d_clr->r;
|
||||
clr->g = d_clr->g;
|
||||
clr->b = d_clr->b;
|
||||
return;
|
||||
|
||||
case 3: // *
|
||||
clr->r = 0x1f;
|
||||
clr->g = 0x1f;
|
||||
clr->b = 0x1f;
|
||||
return;
|
||||
|
||||
case 4: // -alpha
|
||||
clr->r = a_clr->r^0x1f;
|
||||
clr->g = a_clr->g^0x1f;
|
||||
clr->b = a_clr->b^0x1f;
|
||||
return;
|
||||
|
||||
case 5: // -source
|
||||
clr->r = s_clr->r^0x1f;
|
||||
clr->g = s_clr->g^0x1f;
|
||||
clr->b = s_clr->b^0x1f;
|
||||
return;
|
||||
|
||||
case 6: // -dest
|
||||
clr->r = d_clr->r^0x1f;
|
||||
clr->g = d_clr->g^0x1f;
|
||||
clr->b = d_clr->b^0x1f;
|
||||
return;
|
||||
|
||||
default:
|
||||
case 7: // *
|
||||
clr->r = 0x1f;
|
||||
clr->g = 0x1f;
|
||||
clr->b = 0x1f;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static UINT32 cavesh_gfx_addr;
|
||||
static UINT32 cavesh_gfx_scroll_0_x, cavesh_gfx_scroll_0_y;
|
||||
static UINT32 cavesh_gfx_scroll_1_x, cavesh_gfx_scroll_1_y;
|
||||
|
||||
static int cavesh_gfx_size;
|
||||
static bitmap_t *cavesh_bitmaps[1];
|
||||
|
||||
static VIDEO_START( cavesh3 )
|
||||
{
|
||||
cavesh_gfx_size = 0x2000 * 0x1000;
|
||||
cavesh_bitmaps[0] = auto_bitmap_alloc(machine, 0x2000, 0x1000, BITMAP_FORMAT_INDEXED16);
|
||||
}
|
||||
|
||||
INLINE UINT32 GFX_OFFSET( UINT32 p, UINT32 x0, UINT32 y0, UINT32 x, UINT32 y )
|
||||
{
|
||||
// return p * 0x100 * 0x1000 +
|
||||
// ((x0 + x) & 0x00ff) +
|
||||
// ((y0 + y) & 0x0fff) * 0x100;
|
||||
|
||||
/*
|
||||
// to see flash
|
||||
return (((x0 + x) & 0x1f00)>>8) * 0x100 * 0x1000 +
|
||||
((x0 + x) & 0x00ff) +
|
||||
((y0 + y) & 0x0fff) * 0x100;
|
||||
*/
|
||||
|
||||
// correct
|
||||
return ((x0 + x) & 0x1fff) +
|
||||
((y0 + y) & 0x0fff) * 0x2000;
|
||||
}
|
||||
|
||||
INLINE void draw_sprite(
|
||||
bitmap_t *bitmap, const rectangle *clip, UINT16 *gfx, int gfx_size,
|
||||
|
||||
int src_p,int src_x,int src_y, int dst_x,int dst_y, int dimx,int dimy, int flipx,int flipy,
|
||||
|
||||
int blend, clr_t *s_alpha_clr, int s_mode, clr_t *d_alpha_clr, int d_mode,
|
||||
|
||||
int tint, clr_t *tint_clr
|
||||
)
|
||||
{
|
||||
|
||||
logerror("draw sprite %04x %04x\n", dimx, dimy);
|
||||
|
||||
int x,y, xf,yf;
|
||||
clr_t s_clr, d_clr, clr0, clr1;
|
||||
UINT16 pen;
|
||||
UINT16 *bmp;
|
||||
|
||||
if (flipx) { xf = -1; src_x += (dimx-1); }
|
||||
else { xf = +1; }
|
||||
|
||||
if (flipy) { yf = -1; src_y += (dimy-1); }
|
||||
else { yf = +1; }
|
||||
|
||||
for (y = 0; y < dimy; y++)
|
||||
{
|
||||
for (x = 0; x < dimx; x++)
|
||||
{
|
||||
pen = gfx[GFX_OFFSET(src_p,src_x,src_y, xf * x, yf * y) % gfx_size];
|
||||
if ((pen & 0x8000) && ((dst_x + x) >= clip->min_x) && ((dst_x + x) <= clip->max_x) && ((dst_y + y) >= clip->min_y) && ((dst_y + y) <= clip->max_y))
|
||||
{
|
||||
bmp = BITMAP_ADDR16(bitmap, dst_y + y, dst_x + x);
|
||||
|
||||
// convert source to clr
|
||||
pen_to_clr(pen, &s_clr);
|
||||
|
||||
// apply clr bias to source
|
||||
// if (tint)
|
||||
clr_add(&s_clr, tint_clr, &s_clr);
|
||||
|
||||
if (blend)
|
||||
{
|
||||
// convert destination to clr
|
||||
pen_to_clr(*bmp, &d_clr);
|
||||
|
||||
// transform source
|
||||
cavesh_clr_select(&s_clr, &d_clr, s_alpha_clr, s_mode, &clr0);
|
||||
clr_mul(&clr0, &s_clr, &clr0);
|
||||
|
||||
// transform destination
|
||||
cavesh_clr_select(&s_clr, &d_clr, d_alpha_clr, d_mode, &clr1);
|
||||
clr_mul(&clr1, &d_clr, &clr1);
|
||||
|
||||
// blend (add) into source
|
||||
clr_add(&clr0, &clr1, &s_clr);
|
||||
}
|
||||
|
||||
// write result
|
||||
*bmp = clr_to_pen(&s_clr);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
INLINE UINT16 READ_NEXT_WORD(address_space &space, offs_t *addr)
|
||||
{
|
||||
UINT16 data = space.read_word(*addr);
|
||||
*addr += 2;
|
||||
|
||||
// printf("data %04x\n", data);
|
||||
return data;
|
||||
}
|
||||
|
||||
INLINE void cavesh_gfx_copy(address_space &space, offs_t *addr, int layer)
|
||||
{
|
||||
UINT32 x,y, dst_p,dst_x,dst_y, dimx,dimy;
|
||||
// UINT16 *dst;
|
||||
|
||||
// 0x20000000
|
||||
READ_NEXT_WORD(space, addr);
|
||||
READ_NEXT_WORD(space, addr);
|
||||
|
||||
// 0x99999999
|
||||
READ_NEXT_WORD(space, addr);
|
||||
READ_NEXT_WORD(space, addr);
|
||||
|
||||
dst_x = READ_NEXT_WORD(space, addr);
|
||||
dst_y = READ_NEXT_WORD(space, addr);
|
||||
|
||||
dst_p = 0;
|
||||
dst_x &= 0x1fff;
|
||||
dst_y &= 0x0fff;
|
||||
|
||||
dimx = (READ_NEXT_WORD(space, addr) & 0x1fff) + 1;
|
||||
dimy = (READ_NEXT_WORD(space, addr) & 0x0fff) + 1;
|
||||
|
||||
logerror("GFX COPY: DST %02X,%02X,%03X DIM %02X,%03X\n", dst_p,dst_x,dst_y, dimx,dimy);
|
||||
|
||||
for (y = 0; y < dimy; y++)
|
||||
{
|
||||
for (x = 0; x < dimx; x++)
|
||||
{
|
||||
*BITMAP_ADDR16(cavesh_bitmaps[0], dst_y + y, dst_x + x) = READ_NEXT_WORD(space, addr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
INLINE void cavesh_gfx_draw(address_space &space, offs_t *addr, int layer)
|
||||
{
|
||||
int x,y, dimx,dimy, flipx,flipy, src_p;
|
||||
int tint,blend, s_alpha,s_mode, d_alpha,d_mode;
|
||||
clr_t tint_clr, s_alpha_clr, d_alpha_clr;
|
||||
|
||||
UINT16 attr = READ_NEXT_WORD(space, addr);
|
||||
UINT16 alpha = READ_NEXT_WORD(space, addr);
|
||||
UINT16 src_x = READ_NEXT_WORD(space, addr);
|
||||
UINT16 src_y = READ_NEXT_WORD(space, addr);
|
||||
UINT16 dst_x = READ_NEXT_WORD(space, addr);
|
||||
UINT16 dst_y = READ_NEXT_WORD(space, addr);
|
||||
UINT16 w = READ_NEXT_WORD(space, addr);
|
||||
UINT16 h = READ_NEXT_WORD(space, addr);
|
||||
UINT16 tint_r = READ_NEXT_WORD(space, addr);
|
||||
UINT16 tint_gb = READ_NEXT_WORD(space, addr);
|
||||
|
||||
// 0: +alpha
|
||||
// 1: +source
|
||||
// 2: +dest
|
||||
// 3: *
|
||||
// 4: -alpha
|
||||
// 5: -source
|
||||
// 6: -dest
|
||||
// 7: *
|
||||
|
||||
d_mode = attr & 0x0007;
|
||||
s_mode = (attr & 0x0070) >> 4;
|
||||
|
||||
tint = !(attr & 0x0100);
|
||||
blend = attr & 0x0200;
|
||||
|
||||
flipy = attr & 0x0400;
|
||||
flipx = attr & 0x0800;
|
||||
|
||||
d_alpha = alpha & 0x00ff;
|
||||
s_alpha = (alpha & 0xff00) >> 8;
|
||||
|
||||
src_p = 0;
|
||||
src_x = src_x & 0x1fff;
|
||||
src_y = src_y & 0x0fff;
|
||||
|
||||
|
||||
x = (dst_x & 0x7fff) - (dst_x & 0x8000);
|
||||
y = (dst_y & 0x7fff) - (dst_y & 0x8000);
|
||||
|
||||
dimx = (w & 0x1fff) + 1;
|
||||
dimy = (h & 0x0fff) + 1;
|
||||
|
||||
// convert parameters to clr
|
||||
|
||||
tint_to_clr(tint_r & 0x00ff, (tint_gb >> 8) & 0xff, tint_gb & 0xff, &tint_clr);
|
||||
|
||||
alpha_to_clr(s_alpha, &s_alpha_clr);
|
||||
alpha_to_clr(d_alpha, &d_alpha_clr);
|
||||
|
||||
// draw
|
||||
draw_sprite(
|
||||
cavesh_bitmaps[0], &cavesh_bitmaps[0]->cliprect, BITMAP_ADDR16(cavesh_bitmaps[0], 0,0),cavesh_gfx_size,
|
||||
src_p,src_x,src_y, x,y, dimx,dimy, flipx,flipy,
|
||||
blend, &s_alpha_clr, s_mode, &d_alpha_clr, d_mode,
|
||||
tint, &tint_clr
|
||||
);
|
||||
}
|
||||
|
||||
static void cavesh_gfx_exec(address_space &space)
|
||||
{
|
||||
UINT16 layer = 0;
|
||||
|
||||
offs_t addr = cavesh_gfx_addr & 0x1fffffff;
|
||||
|
||||
logerror("GFX EXEC: %08X\n", addr);
|
||||
|
||||
cavesh_bitmaps[0]->cliprect.min_x = cavesh_gfx_scroll_1_x;
|
||||
cavesh_bitmaps[0]->cliprect.min_y = cavesh_gfx_scroll_1_y;
|
||||
cavesh_bitmaps[0]->cliprect.max_x = cavesh_bitmaps[0]->cliprect.min_x + 0x180-1;
|
||||
cavesh_bitmaps[0]->cliprect.max_y = cavesh_bitmaps[0]->cliprect.min_y + 0x100-1;
|
||||
|
||||
while (1)
|
||||
{
|
||||
UINT16 data = READ_NEXT_WORD(space, &addr);
|
||||
|
||||
switch( data & 0xf000 )
|
||||
{
|
||||
case 0x0000:
|
||||
case 0xf000:
|
||||
return;
|
||||
|
||||
case 0xc000:
|
||||
data = READ_NEXT_WORD(space, &addr);
|
||||
//logerror("GFX LAYER: %X\n", (UINT32)data);
|
||||
//printf("GFX LAYER: %X\n", (UINT32)data);
|
||||
layer = data ? 1 : 0;
|
||||
|
||||
if (layer)
|
||||
{
|
||||
cavesh_bitmaps[0]->cliprect.min_x = cavesh_gfx_scroll_1_x;
|
||||
cavesh_bitmaps[0]->cliprect.min_y = cavesh_gfx_scroll_1_y;
|
||||
cavesh_bitmaps[0]->cliprect.max_x = cavesh_bitmaps[0]->cliprect.min_x + 0x180-1;
|
||||
cavesh_bitmaps[0]->cliprect.max_y = cavesh_bitmaps[0]->cliprect.min_y + 0x100-1;
|
||||
}
|
||||
else
|
||||
{
|
||||
cavesh_bitmaps[0]->cliprect.min_x = 0;
|
||||
cavesh_bitmaps[0]->cliprect.min_y = 0;
|
||||
cavesh_bitmaps[0]->cliprect.max_x = 0x2000-1;
|
||||
cavesh_bitmaps[0]->cliprect.max_y = 0x1000-1;
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x2000:
|
||||
addr -= 2;
|
||||
cavesh_gfx_copy(space, &addr, layer);
|
||||
break;
|
||||
|
||||
case 0x1000:
|
||||
addr -= 2;
|
||||
cavesh_gfx_draw(space, &addr, layer);
|
||||
break;
|
||||
|
||||
default:
|
||||
popmessage("GFX op = %04X", data);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static READ32_HANDLER( cavesh_gfx_ready_r )
|
||||
{
|
||||
return 0x00000010;
|
||||
}
|
||||
|
||||
static WRITE32_HANDLER( cavesh_gfx_exec_w )
|
||||
{
|
||||
if ( ACCESSING_BITS_0_7 )
|
||||
{
|
||||
if (data & 1)
|
||||
{
|
||||
cavesh_gfx_exec(*space);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
static SCREEN_UPDATE( cavesh3 )
|
||||
{
|
||||
int scroll_0_x, scroll_0_y;
|
||||
int scroll_1_x, scroll_1_y;
|
||||
|
||||
bitmap_fill(bitmap, cliprect, 0);
|
||||
|
||||
scroll_0_x = -cavesh_gfx_scroll_0_x;
|
||||
scroll_0_y = -cavesh_gfx_scroll_0_y;
|
||||
scroll_1_x = -cavesh_gfx_scroll_1_x;
|
||||
scroll_1_y = -cavesh_gfx_scroll_1_y;
|
||||
|
||||
logerror("SCREEN UPDATE\n");
|
||||
|
||||
copyscrollbitmap_trans(bitmap, cavesh_bitmaps[0], 1,&scroll_0_x, 1,&scroll_0_y, cliprect, 0x8000);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
static READ32_HANDLER( cavesh3_blitter_r )
|
||||
{
|
||||
// UINT64 ret = space->machine().rand();
|
||||
static UINT32 i = 0;
|
||||
i^=0xffffffff;
|
||||
|
||||
logerror("%08x cavesh3_blitter_r access at %08x (%08x) - mem_mask %08x\n",cpu_get_pc(&space->device()), offset, offset*4, mem_mask);
|
||||
|
||||
switch (offset)
|
||||
switch (offset*4)
|
||||
{
|
||||
case 0x10:
|
||||
return cavesh_gfx_ready_r(space,offset,mem_mask);
|
||||
|
||||
case 0x4:
|
||||
return i;
|
||||
|
||||
case 0x9:
|
||||
return 0;
|
||||
|
||||
default:
|
||||
logerror("no case for blit read\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
static WRITE32_HANDLER( cavesh3_blitter_w )
|
||||
{
|
||||
logerror("%08x cavesh3_blitter_w access at %08x (%08x) - %08x %08x\n",cpu_get_pc(&space->device()),offset, offset*8, data,mem_mask);
|
||||
switch (offset*4)
|
||||
{
|
||||
case 0x04:
|
||||
cavesh_gfx_exec_w(space,offset,data,mem_mask);
|
||||
|
||||
case 0x08:
|
||||
COMBINE_DATA(&cavesh_gfx_addr);
|
||||
break;
|
||||
|
||||
case 0x14:
|
||||
COMBINE_DATA(&cavesh_gfx_scroll_0_x);
|
||||
break;
|
||||
|
||||
case 0x18:
|
||||
COMBINE_DATA(&cavesh_gfx_scroll_0_y);
|
||||
break;
|
||||
|
||||
case 0x40:
|
||||
COMBINE_DATA(&cavesh_gfx_scroll_1_x);
|
||||
break;
|
||||
|
||||
case 0x44:
|
||||
COMBINE_DATA(&cavesh_gfx_scroll_1_y);
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
static READ64_HANDLER( ymz2770c_z_r )
|
||||
{
|
||||
UINT64 ret = space->machine().rand();
|
||||
@ -266,7 +719,7 @@ static READ8_HANDLER( flash_io_r )
|
||||
|
||||
data = flash_page_data[flash_page_addr++];
|
||||
|
||||
// logerror("%08x FLASH: read data %02X from addr %03X (page %04X)\n", cpu_get_pc(&space->device()), data, old, flash_page_index);
|
||||
//logerror("%08x FLASH: read data %02X from addr %03X (page %04X)\n", cpu_get_pc(&space->device()), data, old, flash_page_index);
|
||||
break;
|
||||
|
||||
case STATE_READ_STATUS:
|
||||
@ -421,6 +874,13 @@ static MACHINE_RESET( cavesh3 )
|
||||
flash_hard_reset(machine);
|
||||
}
|
||||
|
||||
static PALETTE_INIT( cavesh_RRRRR_GGGGG_BBBBB )
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < 0x10000; i++)
|
||||
palette_set_color(machine, i, MAKE_RGB(pal5bit(i >> 10), pal5bit(i >> 5), pal5bit(i >> 0)));
|
||||
}
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( cavesh3, cavesh3_state )
|
||||
/* basic machine hardware */
|
||||
@ -434,10 +894,15 @@ static MACHINE_CONFIG_START( cavesh3, cavesh3_state )
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
|
||||
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_RGB32)
|
||||
MCFG_SCREEN_SIZE(640, 480)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
|
||||
MCFG_SCREEN_SIZE(0x200, 0x200)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 0x140-1, 0, 0xf0-1)
|
||||
|
||||
MCFG_PALETTE_INIT(cavesh_RRRRR_GGGGG_BBBBB)
|
||||
MCFG_PALETTE_LENGTH(0x10000)
|
||||
|
||||
|
||||
MCFG_SCREEN_UPDATE(cavesh3)
|
||||
MCFG_MACHINE_RESET(cavesh3)
|
||||
|
||||
@ -457,8 +922,8 @@ ROM_START( mushisam )
|
||||
ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF)
|
||||
ROM_LOAD16_WORD_SWAP("u4", 0x000000, 0x200000, CRC(0b5b30b2) SHA1(35fd1bb1561c30b311b4325bc8f4628f2fccd20b) ) /* (2004/10/12 MASTER VER.) */
|
||||
|
||||
ROM_REGION64_BE( 0x8400000, "game", ROMREGION_ERASEFF)
|
||||
ROM_LOAD16_WORD_SWAP("u2", 0x000000, 0x8400000, CRC(b1f826dc) SHA1(c287bd9f571d0df03d7fcbcf3c57c74ce564ab05) ) /* (2004/10/12 MASTER VER.) */
|
||||
ROM_REGION( 0x8400000, "game", ROMREGION_ERASEFF)
|
||||
ROM_LOAD("u2", 0x000000, 0x8400000, CRC(b1f826dc) SHA1(c287bd9f571d0df03d7fcbcf3c57c74ce564ab05) ) /* (2004/10/12 MASTER VER.) */
|
||||
|
||||
ROM_REGION( 0x800000, "samples", ROMREGION_ERASEFF)
|
||||
ROM_LOAD16_WORD_SWAP("u23", 0x000000, 0x400000, CRC(138e2050) SHA1(9e86489a4e65af5efb5495adf6d4b3e01d5b2816) )
|
||||
@ -469,8 +934,8 @@ ROM_START( mushisama )
|
||||
ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF)
|
||||
ROM_LOAD16_WORD_SWAP("u4", 0x000000, 0x200000, CRC(9f1c7f51) SHA1(f82ae72ec03687904ca7516887080be92365a5f3) ) /* (2004/10/12 MASTER VER) */
|
||||
|
||||
ROM_REGION64_BE( 0x8400000, "game", ROMREGION_ERASEFF)
|
||||
ROM_LOAD16_WORD_SWAP("u2", 0x000000, 0x8400000, CRC(2cd13810) SHA1(40e45e201b60e63a060b68d4cc767eb64cfb99c2) ) /* (2004/10/12 MASTER VER) */
|
||||
ROM_REGION( 0x8400000, "game", ROMREGION_ERASEFF)
|
||||
ROM_LOAD("u2", 0x000000, 0x8400000, CRC(2cd13810) SHA1(40e45e201b60e63a060b68d4cc767eb64cfb99c2) ) /* (2004/10/12 MASTER VER) */
|
||||
|
||||
ROM_REGION( 0x800000, "samples", ROMREGION_ERASEFF)
|
||||
ROM_LOAD16_WORD_SWAP("u23", 0x000000, 0x400000, CRC(138e2050) SHA1(9e86489a4e65af5efb5495adf6d4b3e01d5b2816) )
|
||||
@ -481,7 +946,7 @@ ROM_START( espgal2 )
|
||||
ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF)
|
||||
ROM_LOAD16_WORD_SWAP( "u4", 0x000000, 0x200000, CRC(09c908bb) SHA1(7d6031fd3542b3e1d296ff218feb40502fd78694) ) /* (2005/11/14 MASTER VER) */
|
||||
|
||||
ROM_REGION64_BE( 0x8400000, "game", ROMREGION_ERASEFF)
|
||||
ROM_REGION( 0x8400000, "game", ROMREGION_ERASEFF)
|
||||
ROM_LOAD( "u2", 0x000000, 0x8400000, CRC(222f58c7) SHA1(d47a5085a1debd9cb8c61d88cd39e4f5036d1797) ) /* (2005/11/14 MASTER VER) */
|
||||
|
||||
ROM_REGION( 0x800000, "samples", ROMREGION_ERASEFF)
|
||||
@ -493,8 +958,8 @@ ROM_START( mushitam )
|
||||
ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF)
|
||||
ROM_LOAD16_WORD_SWAP("u4", 0x000000, 0x200000, CRC(4a23e6c8) SHA1(d44c287bb88e6d413a8d35d75bc1b4928ad52cdf) ) /* (2005/09/09 MASTER VER) */
|
||||
|
||||
ROM_REGION64_BE( 0x8400000, "game", ROMREGION_ERASEFF)
|
||||
ROM_LOAD16_WORD_SWAP("u2", 0x000000, 0x8400000, CRC(3f93ff82) SHA1(6f6c250aa7134016ffb288d056bc937ea311f538) ) /* (2005/09/09 MASTER VER) */
|
||||
ROM_REGION( 0x8400000, "game", ROMREGION_ERASEFF)
|
||||
ROM_LOAD("u2", 0x000000, 0x8400000, CRC(3f93ff82) SHA1(6f6c250aa7134016ffb288d056bc937ea311f538) ) /* (2005/09/09 MASTER VER) */
|
||||
|
||||
ROM_REGION( 0x800000, "samples", ROMREGION_ERASEFF)
|
||||
ROM_LOAD16_WORD_SWAP("u23", 0x000000, 0x400000, CRC(701a912a) SHA1(85c198946fb693d99928ea2595c84ba4d9dc8157) )
|
||||
@ -505,8 +970,8 @@ ROM_START( futari15 )
|
||||
ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF)
|
||||
ROM_LOAD16_WORD_SWAP("u4", 0x000000, 0x200000, CRC(e8c5f128) SHA1(45fb8066fdbecb83fdc2e14555c460d0c652cd5f) ) /* (2006/12/8.MAST VER. 1.54.) */
|
||||
|
||||
ROM_REGION64_BE( 0x8400000, "game", ROMREGION_ERASEFF)
|
||||
ROM_LOAD16_WORD_SWAP("u2", 0x000000, 0x8400000, CRC(b9eae1fc) SHA1(410f8e7cfcbfd271b41fb4f8d049a13a3191a1f9) ) /* (2006/12/8.MAST VER. 1.54.) */
|
||||
ROM_REGION( 0x8400000, "game", ROMREGION_ERASEFF)
|
||||
ROM_LOAD("u2", 0x000000, 0x8400000, CRC(b9eae1fc) SHA1(410f8e7cfcbfd271b41fb4f8d049a13a3191a1f9) ) /* (2006/12/8.MAST VER. 1.54.) */
|
||||
|
||||
ROM_REGION( 0x800000, "samples", ROMREGION_ERASEFF)
|
||||
ROM_LOAD16_WORD_SWAP("u23", 0x000000, 0x400000, CRC(39f1e1f4) SHA1(53d12f59a56df35c705408c76e6e02118da656f1) )
|
||||
@ -517,8 +982,8 @@ ROM_START( futari15a )
|
||||
ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF)
|
||||
ROM_LOAD16_WORD_SWAP("u4", 0x000000, 0x200000, CRC(a609cf89) SHA1(56752fae9f42fa852af8ee2eae79e25ec7f17953) ) /* (2006/12/8 MAST VER 1.54) */
|
||||
|
||||
ROM_REGION64_BE( 0x8400000, "game", ROMREGION_ERASEFF)
|
||||
ROM_LOAD16_WORD_SWAP("u2", 0x000000, 0x8400000, CRC(b9d815f9) SHA1(6b6f668b0bbb087ffac65e4f0d8bd9d5b28eeb28) ) /* (2006/12/8 MAST VER 1.54) */
|
||||
ROM_REGION( 0x8400000, "game", ROMREGION_ERASEFF)
|
||||
ROM_LOAD("u2", 0x000000, 0x8400000, CRC(b9d815f9) SHA1(6b6f668b0bbb087ffac65e4f0d8bd9d5b28eeb28) ) /* (2006/12/8 MAST VER 1.54) */
|
||||
|
||||
ROM_REGION( 0x800000, "samples", ROMREGION_ERASEFF)
|
||||
ROM_LOAD16_WORD_SWAP("u23", 0x000000, 0x400000, CRC(39f1e1f4) SHA1(53d12f59a56df35c705408c76e6e02118da656f1) )
|
||||
@ -529,7 +994,7 @@ ROM_START( futari10 )
|
||||
ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF)
|
||||
ROM_LOAD16_WORD_SWAP( "u4", 0x000000, 0x200000, CRC(b127dca7) SHA1(e1f518bc72fc1cdf69aefa89eafa4edaf4e84778) ) /* (2006/10/23 MASTER VER.) */
|
||||
|
||||
ROM_REGION64_BE( 0x8400000, "game", ROMREGION_ERASEFF)
|
||||
ROM_REGION( 0x8400000, "game", ROMREGION_ERASEFF)
|
||||
ROM_LOAD( "u2", 0x000000, 0x8400000, CRC(78ffcd0c) SHA1(0e2937edec15ce3f5741b72ebd3bbaaefffb556e) ) /* (2006/10/23 MASTER VER.) */
|
||||
|
||||
ROM_REGION( 0x800000, "samples", ROMREGION_ERASEFF)
|
||||
@ -541,7 +1006,7 @@ ROM_START( futariblk )
|
||||
ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF)
|
||||
ROM_LOAD16_WORD_SWAP( "u4", 0x000000, 0x200000, CRC(6db13c62) SHA1(6a53ce7f70b754936ccbb3a4674d4b2f03979644) ) /* (2007/12/11 BLACK LABEL VER) */
|
||||
|
||||
ROM_REGION64_BE( 0x8400000, "game", ROMREGION_ERASEFF)
|
||||
ROM_REGION( 0x8400000, "game", ROMREGION_ERASEFF)
|
||||
ROM_LOAD( "u2", 0x000000, 0x8400000, CRC(08c6fd62) SHA1(e1fc386b2b0e41906c724287cbf82304297e0150) ) /* (2007/12/11 BLACK LABEL VER) */
|
||||
|
||||
ROM_REGION( 0x800000, "samples", ROMREGION_ERASEFF)
|
||||
@ -553,7 +1018,7 @@ ROM_START( ibara )
|
||||
ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF)
|
||||
ROM_LOAD16_WORD_SWAP( "u4", 0x000000, 0x200000, CRC(8e6c155d) SHA1(38ac2107dc7824836e2b4e04c7180d5ae43c9b79) ) /* (2005/03/22 MASTER VER..) */
|
||||
|
||||
ROM_REGION64_BE( 0x8400000, "game", ROMREGION_ERASEFF)
|
||||
ROM_REGION( 0x8400000, "game", ROMREGION_ERASEFF)
|
||||
ROM_LOAD( "u2", 0x000000, 0x8400000, CRC(55840976) SHA1(4982bdce84f9603adfed7a618f18bc80359ab81e) ) /* (2005/03/22 MASTER VER..) */
|
||||
|
||||
ROM_REGION( 0x800000, "samples", ROMREGION_ERASEFF)
|
||||
@ -565,7 +1030,7 @@ ROM_START( ibarablk )
|
||||
ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF)
|
||||
ROM_LOAD16_WORD_SWAP( "u4", 0x000000, 0x200000, CRC(ee1f1f77) SHA1(ac276f3955aa4dde2544af4912819a7ae6bcf8dd) ) /* (2006/02/06. MASTER VER.) */
|
||||
|
||||
ROM_REGION64_BE( 0x8400000, "game", ROMREGION_ERASEFF)
|
||||
ROM_REGION( 0x8400000, "game", ROMREGION_ERASEFF)
|
||||
ROM_LOAD( "u2", 0x000000, 0x8400000, CRC(5e46be44) SHA1(bed5f1bf452f2cac58747ecabec3c4392566a3a7) ) /* (2006/02/06. MASTER VER.) */
|
||||
|
||||
ROM_REGION( 0x800000, "samples", ROMREGION_ERASEFF)
|
||||
@ -577,7 +1042,7 @@ ROM_START( ibarablka )
|
||||
ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF)
|
||||
ROM_LOAD16_WORD_SWAP( "u4", 0x000000, 0x200000, CRC(a9d43839) SHA1(507696e616608c05893c7ac2814b3365e9cb0720) ) /* (2006/02/06 MASTER VER.) */
|
||||
|
||||
ROM_REGION64_BE( 0x8400000, "game", ROMREGION_ERASEFF)
|
||||
ROM_REGION( 0x8400000, "game", ROMREGION_ERASEFF)
|
||||
ROM_LOAD( "u2", 0x000000, 0x8400000, CRC(33400d96) SHA1(09c22b5431ac3726bf88c56efd970f56793f825a) ) /* (2006/02/06 MASTER VER.) */
|
||||
|
||||
ROM_REGION( 0x800000, "samples", ROMREGION_ERASEFF)
|
||||
@ -589,7 +1054,7 @@ ROM_START( deathsml )
|
||||
ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF)
|
||||
ROM_LOAD16_WORD_SWAP( "u4", 0x000000, 0x200000, CRC(1a7b98bf) SHA1(07798a4a846e5802756396b34df47d106895c1f1) ) /* (2007/10/09 MASTER VER) */
|
||||
|
||||
ROM_REGION64_BE( 0x8400000, "game", ROMREGION_ERASEFF)
|
||||
ROM_REGION( 0x8400000, "game", ROMREGION_ERASEFF)
|
||||
ROM_LOAD( "u2", 0x000000, 0x8400000, CRC(d45b0698) SHA1(7077b9445f5ed4749c7f683191ccd312180fac38) ) /* (2007/10/09 MASTER VER) */
|
||||
|
||||
ROM_REGION( 0x800000, "samples", ROMREGION_ERASEFF)
|
||||
@ -601,7 +1066,7 @@ ROM_START( mmpork )
|
||||
ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF)
|
||||
ROM_LOAD16_WORD_SWAP( "u4", 0x000000, 0x200000, CRC(d06cfa42) SHA1(5707feb4b3e5265daf5926f38c38612b24106f1f) ) /* (2007/ 4/17 MASTER VER.) */
|
||||
|
||||
ROM_REGION64_BE( 0x8400000, "game", ROMREGION_ERASEFF)
|
||||
ROM_REGION( 0x8400000, "game", ROMREGION_ERASEFF)
|
||||
ROM_LOAD( "u2", 0x000000, 0x8400000, CRC(1ee961b8) SHA1(81a2eba704ac1cf7fc44fa7c6a3f50e3570c104f) ) /* (2007/ 4/17 MASTER VER.) */
|
||||
|
||||
ROM_REGION( 0x800000, "samples", ROMREGION_ERASEFF)
|
||||
@ -613,7 +1078,7 @@ ROM_START( mmmbnk )
|
||||
ROM_REGION( 0x200000, "maincpu", ROMREGION_ERASEFF)
|
||||
ROM_LOAD16_WORD_SWAP( "u4", 0x0000, 0x200000, CRC(5589d8c6) SHA1(43fbdb0effe2bc0e7135698757b6ee50200aecde) ) /* (2007/06/05 MASTER VER.) */
|
||||
|
||||
ROM_REGION64_BE( 0x8400000, "game", ROMREGION_ERASEFF)
|
||||
ROM_REGION( 0x8400000, "game", ROMREGION_ERASEFF)
|
||||
ROM_LOAD( "u2", 0x0000, 0x8400000, CRC(f3b50c30) SHA1(962327798081b292b2d3fd3b7845c0197f9f2d8a) ) /* (2007/06/05 MASTER VER.) */
|
||||
|
||||
ROM_REGION( 0x800000, "samples", ROMREGION_ERASEFF)
|
||||
|
Loading…
Reference in New Issue
Block a user