Cleanups and version bump.
This commit is contained in:
parent
ee50133db6
commit
ab7d486957
@ -214,12 +214,12 @@ static TIMER_CALLBACK( serial_timer )
|
|||||||
cpustate->SBcount++;
|
cpustate->SBcount++;
|
||||||
|
|
||||||
/* if we get too many interrupts with no servicing, disable the timer
|
/* if we get too many interrupts with no servicing, disable the timer
|
||||||
until somebody does something */
|
until somebody does something */
|
||||||
if (cpustate->SBcount >= SERIAL_DISABLE_THRESH)
|
if (cpustate->SBcount >= SERIAL_DISABLE_THRESH)
|
||||||
timer_adjust_oneshot(cpustate->serial, attotime_never, 0);
|
timer_adjust_oneshot(cpustate->serial, attotime_never, 0);
|
||||||
|
|
||||||
/* only read if not full; this is needed by the Namco 52xx to ensure that
|
/* only read if not full; this is needed by the Namco 52xx to ensure that
|
||||||
the program can write to S and recover the value even if serial is enabled */
|
the program can write to S and recover the value even if serial is enabled */
|
||||||
if (!cpustate->sf)
|
if (!cpustate->sf)
|
||||||
{
|
{
|
||||||
cpustate->SB = (cpustate->SB >> 1) | (READPORT(MB88_PORTSI) ? 8 : 0);
|
cpustate->SB = (cpustate->SB >> 1) | (READPORT(MB88_PORTSI) ? 8 : 0);
|
||||||
|
@ -612,13 +612,13 @@ static void ppc403_spu_w(UINT32 a, UINT8 d)
|
|||||||
if (ppc.spu.sprc & 0x80) /* enable RX */
|
if (ppc.spu.sprc & 0x80) /* enable RX */
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
int baud_rate;
|
int baud_rate;
|
||||||
if (ppc.iocr & 0x2) {
|
if (ppc.iocr & 0x2) {
|
||||||
baud_rate = (3686400 / (ppc.spu.brd + 1)) / 16;
|
baud_rate = (3686400 / (ppc.spu.brd + 1)) / 16;
|
||||||
} else {
|
} else {
|
||||||
baud_rate = (33333333 / (ppc.spu.brd + 1)) / 16;
|
baud_rate = (33333333 / (ppc.spu.brd + 1)) / 16;
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* check if serial port is hooked to a DMA channel */
|
/* check if serial port is hooked to a DMA channel */
|
||||||
/* if so, do a DMA operation */
|
/* if so, do a DMA operation */
|
||||||
|
@ -162,7 +162,7 @@ WRITE8_DEVICE_HANDLER( namco_52xx_write )
|
|||||||
// asserted for one clock cycle ~= 21us.
|
// asserted for one clock cycle ~= 21us.
|
||||||
|
|
||||||
/* the 52xx uses TSTI to check for an interrupt; it also may be handling
|
/* the 52xx uses TSTI to check for an interrupt; it also may be handling
|
||||||
a timer interrupt, so we need to ensure the IRQ line is held long enough */
|
a timer interrupt, so we need to ensure the IRQ line is held long enough */
|
||||||
timer_set(device->machine, ATTOTIME_IN_USEC(5*21), (void *)device, 0, namco_52xx_irq_clear);
|
timer_set(device->machine, ATTOTIME_IN_USEC(5*21), (void *)device, 0, namco_52xx_irq_clear);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -240,7 +240,7 @@ static DEVICE_START( namco_52xx )
|
|||||||
|
|
||||||
static DEVICE_RESET( namco_52xx )
|
static DEVICE_RESET( namco_52xx )
|
||||||
{
|
{
|
||||||
// namco_52xx_state *state = get_safe_token(device);
|
// namco_52xx_state *state = get_safe_token(device);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -189,7 +189,7 @@ static DEVICE_START( namco_54xx )
|
|||||||
|
|
||||||
static DEVICE_RESET( namco_54xx )
|
static DEVICE_RESET( namco_54xx )
|
||||||
{
|
{
|
||||||
// namco_54xx_state *state = get_safe_token(device);
|
// namco_54xx_state *state = get_safe_token(device);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -243,7 +243,7 @@ static WRITE8_DEVICE_HANDLER( jan_adpcm_w )
|
|||||||
adpcm_idle = 0;
|
adpcm_idle = 0;
|
||||||
msm5205_reset_w(device,0);
|
msm5205_reset_w(device,0);
|
||||||
/* I don't think that this will ever happen, it's there just to be sure
|
/* I don't think that this will ever happen, it's there just to be sure
|
||||||
(i.e. I'll probably never do a "nagare" in my entire life ;-) ) */
|
(i.e. I'll probably never do a "nagare" in my entire life ;-) ) */
|
||||||
if(data & 0x20)
|
if(data & 0x20)
|
||||||
popmessage("ADPCM called with data = %02x, contact MAMEdev",data);
|
popmessage("ADPCM called with data = %02x, contact MAMEdev",data);
|
||||||
// printf("%02x 0\n",data);
|
// printf("%02x 0\n",data);
|
||||||
|
@ -465,9 +465,9 @@ static void update_outputs(UINT16 which)
|
|||||||
if (which & (1 << i))
|
if (which & (1 << i))
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
int val;
|
int val;
|
||||||
|
|
||||||
val = i8279.ram[i] & 0xff;
|
val = i8279.ram[i] & 0xff;
|
||||||
|
|
||||||
val = i8279.ram[i] & 0x0f;
|
val = i8279.ram[i] & 0x0f;
|
||||||
if (i8279.inhibit & 0x01)
|
if (i8279.inhibit & 0x01)
|
||||||
|
@ -146,7 +146,7 @@ VIDEO_UPDATE( test_vcu )
|
|||||||
color_base = 0x0;
|
color_base = 0x0;
|
||||||
|
|
||||||
bitmap_fill(bitmap,NULL,0);
|
bitmap_fill(bitmap,NULL,0);
|
||||||
// logerror("-->frame\n");
|
// logerror("-->frame\n");
|
||||||
|
|
||||||
if (planes_enabled[3])
|
if (planes_enabled[3])
|
||||||
copybitmap(bitmap,tmpbitmaps[3],0,0,0,0,cliprect);
|
copybitmap(bitmap,tmpbitmaps[3],0,0,0,0,cliprect);
|
||||||
@ -241,7 +241,7 @@ static VIDEO_UPDATE( greatgun )
|
|||||||
if (game_id==GREATGUN)
|
if (game_id==GREATGUN)
|
||||||
color_base = 0x0;
|
color_base = 0x0;
|
||||||
|
|
||||||
// bitmap_fill(bitmap,NULL,0);
|
// bitmap_fill(bitmap,NULL,0);
|
||||||
|
|
||||||
copybitmap (bitmap,tmpbitmaps[3],0,0,0,0,cliprect);
|
copybitmap (bitmap,tmpbitmaps[3],0,0,0,0,cliprect);
|
||||||
copybitmap_trans(bitmap,tmpbitmaps[2],0,0,0,0,cliprect,color_base);
|
copybitmap_trans(bitmap,tmpbitmaps[2],0,0,0,0,cliprect,color_base);
|
||||||
@ -260,7 +260,7 @@ static VIDEO_UPDATE( mazerbla )
|
|||||||
if (game_id==GREATGUN)
|
if (game_id==GREATGUN)
|
||||||
color_base = 0x0;
|
color_base = 0x0;
|
||||||
|
|
||||||
// bitmap_fill(bitmap,NULL,0);
|
// bitmap_fill(bitmap,NULL,0);
|
||||||
|
|
||||||
copybitmap (bitmap,tmpbitmaps[3],0,0,0,0,cliprect); //text
|
copybitmap (bitmap,tmpbitmaps[3],0,0,0,0,cliprect); //text
|
||||||
copybitmap_trans(bitmap,tmpbitmaps[2],0,0,0,0,cliprect,0);
|
copybitmap_trans(bitmap,tmpbitmaps[2],0,0,0,0,cliprect,0);
|
||||||
@ -401,9 +401,9 @@ static READ8_HANDLER( VCU_set_gfx_addr_r )
|
|||||||
case 0x0e:
|
case 0x0e:
|
||||||
case 0x0d:
|
case 0x0d:
|
||||||
case 0x0c:
|
case 0x0c:
|
||||||
// if (dbg_gfx_e)
|
// if (dbg_gfx_e)
|
||||||
// {
|
// {
|
||||||
// if (vbank==dbg_vbank)
|
// if (vbank==dbg_vbank)
|
||||||
{
|
{
|
||||||
if (game_id==MAZERBLA)
|
if (game_id==MAZERBLA)
|
||||||
color_base = 0x80; /* 0x80 constant: matches Mazer Blazer movie */
|
color_base = 0x80; /* 0x80 constant: matches Mazer Blazer movie */
|
||||||
@ -442,7 +442,7 @@ static READ8_HANDLER( VCU_set_gfx_addr_r )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// }
|
// }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* 1 bit per pixel */
|
/* 1 bit per pixel */
|
||||||
@ -450,9 +450,9 @@ static READ8_HANDLER( VCU_set_gfx_addr_r )
|
|||||||
case 0x0a:/* verified - 1bpp */
|
case 0x0a:/* verified - 1bpp */
|
||||||
case 0x09:/* verified - 1bpp: gun crosshair */
|
case 0x09:/* verified - 1bpp: gun crosshair */
|
||||||
case 0x08:/* */
|
case 0x08:/* */
|
||||||
// if (dbg_gfx_e)
|
// if (dbg_gfx_e)
|
||||||
// {
|
// {
|
||||||
// if (vbank==dbg_vbank)
|
// if (vbank==dbg_vbank)
|
||||||
{
|
{
|
||||||
if (game_id==MAZERBLA)
|
if (game_id==MAZERBLA)
|
||||||
color_base = 0x80; /* 0x80 - good for Mazer Blazer: (only in game, CRT test mode is bad) */
|
color_base = 0x80; /* 0x80 - good for Mazer Blazer: (only in game, CRT test mode is bad) */
|
||||||
@ -476,16 +476,16 @@ static READ8_HANDLER( VCU_set_gfx_addr_r )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// }
|
// }
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* 4 bits per pixel */
|
/* 4 bits per pixel */
|
||||||
case 0x03:
|
case 0x03:
|
||||||
case 0x01:
|
case 0x01:
|
||||||
case 0x00:
|
case 0x00:
|
||||||
// if (dbg_gfx_e)
|
// if (dbg_gfx_e)
|
||||||
// {
|
// {
|
||||||
// if (vbank==dbg_vbank)
|
// if (vbank==dbg_vbank)
|
||||||
{
|
{
|
||||||
if (game_id==MAZERBLA)
|
if (game_id==MAZERBLA)
|
||||||
color_base = 0x80; /* 0x80 - good for Mazer Blazer: (only in game, CRT test mode is bad) */
|
color_base = 0x80; /* 0x80 - good for Mazer Blazer: (only in game, CRT test mode is bad) */
|
||||||
@ -510,7 +510,7 @@ static READ8_HANDLER( VCU_set_gfx_addr_r )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// }
|
// }
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
popmessage("not supported VCU drawing mode=%2x", mode);
|
popmessage("not supported VCU drawing mode=%2x", mode);
|
||||||
@ -568,7 +568,7 @@ static READ8_HANDLER( VCU_set_clr_addr_r )
|
|||||||
case 0x13: /* draws sprites?? in mazer blazer and ... wrong sprite in place of targeting-cross and UFO laser */
|
case 0x13: /* draws sprites?? in mazer blazer and ... wrong sprite in place of targeting-cross and UFO laser */
|
||||||
case 0x03:
|
case 0x03:
|
||||||
/* ... this may proove that there is really only one area and that
|
/* ... this may proove that there is really only one area and that
|
||||||
the draw command/palette selector is done via the 'mode' only ... */
|
the draw command/palette selector is done via the 'mode' only ... */
|
||||||
//if (dbg_clr_e)
|
//if (dbg_clr_e)
|
||||||
{
|
{
|
||||||
offs = VCU_gfx_addr;
|
offs = VCU_gfx_addr;
|
||||||
@ -1360,12 +1360,12 @@ static IRQ_CALLBACK(irq_callback)
|
|||||||
/* D2 is set to GND when INT comes from ZPU board - from 6850 on schematics (RS232 controller) */
|
/* D2 is set to GND when INT comes from ZPU board - from 6850 on schematics (RS232 controller) */
|
||||||
|
|
||||||
/* resulting vectors:
|
/* resulting vectors:
|
||||||
1111 11000 (0xf8)
|
1111 11000 (0xf8)
|
||||||
1111 11010 (0xfa)
|
1111 11010 (0xfa)
|
||||||
1111 11100 (0xfc)
|
1111 11100 (0xfc)
|
||||||
|
|
||||||
note:
|
note:
|
||||||
1111 11110 (0xfe) - cannot happen and is not handled by game */
|
1111 11110 (0xfe) - cannot happen and is not handled by game */
|
||||||
|
|
||||||
return (zpu_int_vector & ~1); /* D0->GND is performed on CFB board */
|
return (zpu_int_vector & ~1); /* D0->GND is performed on CFB board */
|
||||||
}
|
}
|
||||||
@ -1399,11 +1399,11 @@ static MACHINE_RESET( greatgun )
|
|||||||
cpu_set_irq_callback(cputag_get_cpu(machine, "maincpu"), irq_callback);
|
cpu_set_irq_callback(cputag_get_cpu(machine, "maincpu"), irq_callback);
|
||||||
|
|
||||||
|
|
||||||
// patch VCU test
|
// patch VCU test
|
||||||
// VCU test starts at PC=0x56f
|
// VCU test starts at PC=0x56f
|
||||||
rom[0x05b6] = 0;
|
rom[0x05b6] = 0;
|
||||||
rom[0x05b7] = 0;
|
rom[0x05b7] = 0;
|
||||||
// so we also need to patch ROM checksum test
|
// so we also need to patch ROM checksum test
|
||||||
rom[0x037f] = 0;
|
rom[0x037f] = 0;
|
||||||
rom[0x0380] = 0;
|
rom[0x0380] = 0;
|
||||||
}
|
}
|
||||||
@ -1417,15 +1417,15 @@ static MACHINE_DRIVER_START( mazerbla )
|
|||||||
MDRV_CPU_ADD("sub", Z80, MASTER_CLOCK) /* 4 MHz, NMI, IM1 INT */
|
MDRV_CPU_ADD("sub", Z80, MASTER_CLOCK) /* 4 MHz, NMI, IM1 INT */
|
||||||
MDRV_CPU_PROGRAM_MAP(mazerbla_cpu2_map)
|
MDRV_CPU_PROGRAM_MAP(mazerbla_cpu2_map)
|
||||||
MDRV_CPU_IO_MAP(mazerbla_cpu2_io_map)
|
MDRV_CPU_IO_MAP(mazerbla_cpu2_io_map)
|
||||||
// MDRV_CPU_PERIODIC_INT(irq0_line_hold, 400 ) /* frequency in Hz */
|
// MDRV_CPU_PERIODIC_INT(irq0_line_hold, 400 ) /* frequency in Hz */
|
||||||
|
|
||||||
MDRV_CPU_ADD("sub2", Z80, MASTER_CLOCK) /* 4 MHz, no NMI, IM1 INT */
|
MDRV_CPU_ADD("sub2", Z80, MASTER_CLOCK) /* 4 MHz, no NMI, IM1 INT */
|
||||||
MDRV_CPU_PROGRAM_MAP(mazerbla_cpu3_map)
|
MDRV_CPU_PROGRAM_MAP(mazerbla_cpu3_map)
|
||||||
MDRV_CPU_IO_MAP(mazerbla_cpu3_io_map)
|
MDRV_CPU_IO_MAP(mazerbla_cpu3_io_map)
|
||||||
/* (vblank related ??) int generated by a custom video processor
|
/* (vblank related ??) int generated by a custom video processor
|
||||||
and cleared on ANY port access.
|
and cleared on ANY port access.
|
||||||
but handled differently for now
|
but handled differently for now
|
||||||
*/
|
*/
|
||||||
MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
|
MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
|
||||||
|
|
||||||
/* synchronization forced on the fly */
|
/* synchronization forced on the fly */
|
||||||
@ -1464,9 +1464,9 @@ static MACHINE_DRIVER_START( greatgun )
|
|||||||
MDRV_CPU_PROGRAM_MAP(mazerbla_cpu3_map)
|
MDRV_CPU_PROGRAM_MAP(mazerbla_cpu3_map)
|
||||||
MDRV_CPU_IO_MAP(greatgun_cpu3_io_map)
|
MDRV_CPU_IO_MAP(greatgun_cpu3_io_map)
|
||||||
/* (vblank related ??) int generated by a custom video processor
|
/* (vblank related ??) int generated by a custom video processor
|
||||||
and cleared on ANY port access.
|
and cleared on ANY port access.
|
||||||
but handled differently for now
|
but handled differently for now
|
||||||
*/
|
*/
|
||||||
MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
|
MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
|
||||||
|
|
||||||
MDRV_MACHINE_RESET(greatgun)
|
MDRV_MACHINE_RESET(greatgun)
|
||||||
|
@ -2214,7 +2214,7 @@ static INTERRUPT_GEN( namcos22s_interrupt )
|
|||||||
|
|
||||||
static READ32_HANDLER( namcos22_keycus_r )
|
static READ32_HANDLER( namcos22_keycus_r )
|
||||||
{
|
{
|
||||||
// printf("Hit keycus mask %x PC=%x\n", mem_mask, cpu_get_pc(space->cpu));
|
// printf("Hit keycus mask %x PC=%x\n", mem_mask, cpu_get_pc(space->cpu));
|
||||||
|
|
||||||
switch( namcos22_gametype )
|
switch( namcos22_gametype )
|
||||||
{
|
{
|
||||||
@ -2735,11 +2735,11 @@ static READ8_HANDLER( aquajet_mcu_adc_r )
|
|||||||
ddy <<= 2;
|
ddy <<= 2;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
0 & 1 = handle left/right
|
0 & 1 = handle left/right
|
||||||
2 & 3 = accelerator
|
2 & 3 = accelerator
|
||||||
4 & 5 = handle pole (Y axis)
|
4 & 5 = handle pole (Y axis)
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
switch (offset)
|
switch (offset)
|
||||||
{
|
{
|
||||||
|
@ -1264,7 +1264,7 @@ static READ8_HANDLER(s23_mcu_p6_r)
|
|||||||
|
|
||||||
static WRITE8_HANDLER(s23_mcu_p6_w)
|
static WRITE8_HANDLER(s23_mcu_p6_w)
|
||||||
{
|
{
|
||||||
// printf("%02x to port 6\n", data);
|
// printf("%02x to port 6\n", data);
|
||||||
}
|
}
|
||||||
|
|
||||||
static ADDRESS_MAP_START( s23h8iomap, ADDRESS_SPACE_IO, 8 )
|
static ADDRESS_MAP_START( s23h8iomap, ADDRESS_SPACE_IO, 8 )
|
||||||
@ -1339,8 +1339,8 @@ static ADDRESS_MAP_START( s23iobrdmap, ADDRESS_SPACE_PROGRAM, 8 )
|
|||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
/*
|
/*
|
||||||
port 5 bit 2 = LED to indicate transmitting packet to main
|
port 5 bit 2 = LED to indicate transmitting packet to main
|
||||||
port 4 bit 2 = SENSE line back to main (0 = asserted, 1 = dropped)
|
port 4 bit 2 = SENSE line back to main (0 = asserted, 1 = dropped)
|
||||||
*/
|
*/
|
||||||
static ADDRESS_MAP_START( s23iobrdiomap, ADDRESS_SPACE_IO, 8 )
|
static ADDRESS_MAP_START( s23iobrdiomap, ADDRESS_SPACE_IO, 8 )
|
||||||
AM_RANGE(H8_PORT_4, H8_PORT_4) AM_READWRITE( s23_iob_p4_r, s23_iob_p4_w )
|
AM_RANGE(H8_PORT_4, H8_PORT_4) AM_READWRITE( s23_iob_p4_r, s23_iob_p4_w )
|
||||||
|
@ -166,7 +166,7 @@ Notes:
|
|||||||
-------
|
-------
|
||||||
M Connector H Connector G Connector
|
M Connector H Connector G Connector
|
||||||
------------ ------------ ------------
|
------------ ------------ ------------
|
||||||
1 BUTTON 2 (grenade) 1 GND Solder Parts
|
1 BUTTON 2 (grenade) 1 GND Solder Parts
|
||||||
2 not used 2 GND GND A 1 GND
|
2 not used 2 GND GND A 1 GND
|
||||||
3 +12V (to motor in gun) 3 GND VIDEO GND B 2 RED
|
3 +12V (to motor in gun) 3 GND VIDEO GND B 2 RED
|
||||||
4 -12V (to motor in gun) 4 GND BLUE C 3 GREEN
|
4 -12V (to motor in gun) 4 GND BLUE C 3 GREEN
|
||||||
|
@ -483,9 +483,9 @@ static READ32_HANDLER( randomrabbits )
|
|||||||
static WRITE32_HANDLER ( rabbit_rombank_w )
|
static WRITE32_HANDLER ( rabbit_rombank_w )
|
||||||
{
|
{
|
||||||
UINT8 *dataroms = memory_region(space->machine, "gfx1");
|
UINT8 *dataroms = memory_region(space->machine, "gfx1");
|
||||||
// int bank;
|
// int bank;
|
||||||
// mame_printf_debug("rabbit rombank %08x\n",data&0x3ff);
|
// mame_printf_debug("rabbit rombank %08x\n",data&0x3ff);
|
||||||
// bank = data & 0x3ff;
|
// bank = data & 0x3ff;
|
||||||
|
|
||||||
// memory_set_bankptr(space->machine, 1,&dataroms[0x40000*(bank&0x3ff)]);
|
// memory_set_bankptr(space->machine, 1,&dataroms[0x40000*(bank&0x3ff)]);
|
||||||
memory_set_bankptr(space->machine, 1,&dataroms[0]);
|
memory_set_bankptr(space->machine, 1,&dataroms[0]);
|
||||||
|
@ -855,13 +855,13 @@ static WRITE8_HANDLER( mcu_control_w )
|
|||||||
static WRITE8_HANDLER( mcu_io_w )
|
static WRITE8_HANDLER( mcu_io_w )
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
1.00 0... = work RAM (accessed @ $4000+x) or I/O (accessed @ $8000+x)
|
1.00 0... = work RAM (accessed @ $4000+x) or I/O (accessed @ $8000+x)
|
||||||
1.00 1... = text RAM (accessed @ $8000+x)
|
1.00 1... = text RAM (accessed @ $8000+x)
|
||||||
1.01 1... = palette RAM
|
1.01 1... = palette RAM
|
||||||
1.10 1... = checksum #0
|
1.10 1... = checksum #0
|
||||||
1.11 0... = checksum #1
|
1.11 0... = checksum #1
|
||||||
1.11 1... = checksum #2
|
1.11 1... = checksum #2
|
||||||
*/
|
*/
|
||||||
switch ((mcu_control >> 3) & 7)
|
switch ((mcu_control >> 3) & 7)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
@ -2043,7 +2043,7 @@ ROM_END
|
|||||||
**************************************************************************************************************************
|
**************************************************************************************************************************
|
||||||
**************************************************************************************************************************
|
**************************************************************************************************************************
|
||||||
Action Fighter, Sega System 16A
|
Action Fighter, Sega System 16A
|
||||||
CPU: FD1089A 317-0018<EFBFBD>@(dedicated cabinet version uses 317-0014)
|
CPU: FD1089A 317-0018?@(dedicated cabinet version uses 317-0014)
|
||||||
*/
|
*/
|
||||||
ROM_START( afighter )
|
ROM_START( afighter )
|
||||||
ROM_REGION( 0x40000, "maincpu", 0 ) /* 68000 code */
|
ROM_REGION( 0x40000, "maincpu", 0 ) /* 68000 code */
|
||||||
|
@ -792,7 +792,7 @@ static READ32_HANDLER ( stv_io_r32 )
|
|||||||
// if(LOG_IOGA) logerror("(PC=%08X): I/O r %08X & %08X\n", cpu_get_pc(space->cpu), offset*4, mem_mask);
|
// if(LOG_IOGA) logerror("(PC=%08X): I/O r %08X & %08X\n", cpu_get_pc(space->cpu), offset*4, mem_mask);
|
||||||
// popmessage("SEL: %02x MUX: %02x OFF: %02x",port_sel,mux_data,offset*4);
|
// popmessage("SEL: %02x MUX: %02x OFF: %02x",port_sel,mux_data,offset*4);
|
||||||
|
|
||||||
// printf("(PC=%08X): I/O r %08X & %08X\n", cpu_get_pc(space->cpu), offset*4, mem_mask);
|
// printf("(PC=%08X): I/O r %08X & %08X\n", cpu_get_pc(space->cpu), offset*4, mem_mask);
|
||||||
|
|
||||||
switch(offset)
|
switch(offset)
|
||||||
{
|
{
|
||||||
@ -907,7 +907,7 @@ static WRITE32_HANDLER ( stv_io_w32 )
|
|||||||
{
|
{
|
||||||
// if(LOG_IOGA) logerror("(PC=%08X): I/O w %08X = %08X & %08X\n", cpu_get_pc(space->cpu), offset*4, data, mem_mask);
|
// if(LOG_IOGA) logerror("(PC=%08X): I/O w %08X = %08X & %08X\n", cpu_get_pc(space->cpu), offset*4, data, mem_mask);
|
||||||
|
|
||||||
// printf("(PC=%08X): I/O w %08X = %08X & %08X\n", cpu_get_pc(space->cpu), offset*4, data, mem_mask);
|
// printf("(PC=%08X): I/O w %08X = %08X & %08X\n", cpu_get_pc(space->cpu), offset*4, data, mem_mask);
|
||||||
|
|
||||||
switch(offset)
|
switch(offset)
|
||||||
{
|
{
|
||||||
|
@ -189,7 +189,7 @@ static WRITE8_HANDLER( suprgolf_vregs_w )
|
|||||||
suprgolf_bg_bank = (data & 0x1f);
|
suprgolf_bg_bank = (data & 0x1f);
|
||||||
|
|
||||||
//if(data & 0x60)
|
//if(data & 0x60)
|
||||||
// printf("Video regs with data %02x activated\n",data);
|
// printf("Video regs with data %02x activated\n",data);
|
||||||
}
|
}
|
||||||
|
|
||||||
static UINT8 pen;
|
static UINT8 pen;
|
||||||
@ -232,7 +232,7 @@ static ADDRESS_MAP_START( io_map, ADDRESS_SPACE_IO, 8 )
|
|||||||
AM_RANGE(0x00, 0x00) AM_READ_PORT("P1")
|
AM_RANGE(0x00, 0x00) AM_READ_PORT("P1")
|
||||||
AM_RANGE(0x01, 0x01) AM_READ_PORT("P2")
|
AM_RANGE(0x01, 0x01) AM_READ_PORT("P2")
|
||||||
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2") // ??
|
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2") // ??
|
||||||
// AM_RANGE(0x03, 0x03)
|
// AM_RANGE(0x03, 0x03)
|
||||||
AM_RANGE(0x04, 0x04) AM_READ_PORT("SYSTEM")
|
AM_RANGE(0x04, 0x04) AM_READ_PORT("SYSTEM")
|
||||||
AM_RANGE(0x05, 0x05) AM_READ(rom_bank_select_r) AM_WRITE(rom_bank_select_w)
|
AM_RANGE(0x05, 0x05) AM_READ(rom_bank_select_r) AM_WRITE(rom_bank_select_w)
|
||||||
AM_RANGE(0x06, 0x06) AM_READWRITE( suprgolf_vregs_r,suprgolf_vregs_w ) // game locks up or crashes? if this doesn't return right values?
|
AM_RANGE(0x06, 0x06) AM_READWRITE( suprgolf_vregs_r,suprgolf_vregs_w ) // game locks up or crashes? if this doesn't return right values?
|
||||||
|
@ -1,87 +1,87 @@
|
|||||||
/*
|
/*
|
||||||
System 16 / 18 bootlegs
|
System 16 / 18 bootlegs
|
||||||
|
|
||||||
Sega's System 16 and System 18 hardware was heavily bootlegged.
|
Sega's System 16 and System 18 hardware was heavily bootlegged.
|
||||||
|
|
||||||
Most of these bootlegs had significant modifications compared to the real hardware.
|
Most of these bootlegs had significant modifications compared to the real hardware.
|
||||||
They still roughly reflect which system they have been bootlegged from however.
|
They still roughly reflect which system they have been bootlegged from however.
|
||||||
|
|
||||||
|
|
||||||
Bootlegs
|
Bootlegs
|
||||||
|
|
||||||
Type 16B:
|
Type 16B:
|
||||||
--------
|
--------
|
||||||
|
|
||||||
Encrypted / Protected bootlegs
|
Encrypted / Protected bootlegs
|
||||||
- Bay Route (set 1)
|
- Bay Route (set 1)
|
||||||
- Golden Axe (set 1)
|
- Golden Axe (set 1)
|
||||||
|
|
||||||
These share a common encryption, Bay Route is also proteceted, the Golden Axe set has a strange
|
These share a common encryption, Bay Route is also proteceted, the Golden Axe set has a strange
|
||||||
unknown rom, maybe it's related to an MCU that isn't present on the GA board?
|
unknown rom, maybe it's related to an MCU that isn't present on the GA board?
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
Datsu bootlegs
|
Datsu bootlegs
|
||||||
- Bay Route (set 2)
|
- Bay Route (set 2)
|
||||||
- Flash Point (2 sets)
|
- Flash Point (2 sets)
|
||||||
- Dynamite Dux
|
- Dynamite Dux
|
||||||
- Tough Turf
|
- Tough Turf
|
||||||
|
|
||||||
The tilemap page select writes have been split across 4 8-bit registers on these
|
The tilemap page select writes have been split across 4 8-bit registers on these
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
Other bootegs
|
Other bootegs
|
||||||
- Tetris
|
- Tetris
|
||||||
- E-Swat
|
- E-Swat
|
||||||
|
|
||||||
These appear to be a variation no the encrypted / protected bootlegs, but without the encryption
|
These appear to be a variation no the encrypted / protected bootlegs, but without the encryption
|
||||||
or protection
|
or protection
|
||||||
|
|
||||||
- Golden Axe (set 2)
|
- Golden Axe (set 2)
|
||||||
|
|
||||||
Unique bootleg, tilemap paging is split across 8 registers, bits are inverted etc.
|
Unique bootleg, tilemap paging is split across 8 registers, bits are inverted etc.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
Type 16A:
|
Type 16A:
|
||||||
---------
|
---------
|
||||||
|
|
||||||
Shinobi
|
Shinobi
|
||||||
Passing Shot (2 sets)
|
Passing Shot (2 sets)
|
||||||
Wonderboy 3
|
Wonderboy 3
|
||||||
|
|
||||||
System 18 (more commplex tilemaps)
|
System 18 (more commplex tilemaps)
|
||||||
----------------------------------
|
----------------------------------
|
||||||
|
|
||||||
Alien Storm
|
Alien Storm
|
||||||
Shadow Dancer
|
Shadow Dancer
|
||||||
Moonwalker
|
Moonwalker
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
AMT Games
|
AMT Games
|
||||||
---------
|
---------
|
||||||
|
|
||||||
these aren't strictly bootlegs, but are clearly based on bootleg Tetris hardware with additional protection
|
these aren't strictly bootlegs, but are clearly based on bootleg Tetris hardware with additional protection
|
||||||
- Beauty Block
|
- Beauty Block
|
||||||
- IQ Pipe
|
- IQ Pipe
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ToDo
|
ToDo
|
||||||
----
|
----
|
||||||
|
|
||||||
Fully fix the tilemap banking and scrolling for all sets
|
Fully fix the tilemap banking and scrolling for all sets
|
||||||
Fix sprites (and check for bad roms)
|
Fix sprites (and check for bad roms)
|
||||||
Add support for custom sound HW used by the various bootlegs
|
Add support for custom sound HW used by the various bootlegs
|
||||||
Look at the system18 bootlegs
|
Look at the system18 bootlegs
|
||||||
|
|
||||||
Partially Done
|
Partially Done
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
Strip out old hacks & obsolete comments (many related to the *original* system16/18 sets which have their own
|
Strip out old hacks & obsolete comments (many related to the *original* system16/18 sets which have their own
|
||||||
driver now)
|
driver now)
|
||||||
|
|
||||||
|
|
||||||
*/
|
*/
|
||||||
@ -2195,10 +2195,10 @@ this is a more complete dump of the old encrypted bootleg set
|
|||||||
|
|
||||||
Golden Axe (different HW bottleg)
|
Golden Axe (different HW bottleg)
|
||||||
|
|
||||||
Anno 1989
|
Anno 1989
|
||||||
Produttore
|
Produttore
|
||||||
N.revisione
|
N.revisione
|
||||||
CPU main PCB:
|
CPU main PCB:
|
||||||
1x 68000 (main)(missing)
|
1x 68000 (main)(missing)
|
||||||
1x LH0080B-Z80B-CPU (sound)
|
1x LH0080B-Z80B-CPU (sound)
|
||||||
1x D7759C (sound)
|
1x D7759C (sound)
|
||||||
@ -2208,7 +2208,7 @@ CPU main PCB:
|
|||||||
1x oscillator 20.000 (close to main)
|
1x oscillator 20.000 (close to main)
|
||||||
1x oscillator 24.000MHz (close to sound)
|
1x oscillator 24.000MHz (close to sound)
|
||||||
1x blue resonator 655K (close to sound)
|
1x blue resonator 655K (close to sound)
|
||||||
ROMs main PCB:
|
ROMs main PCB:
|
||||||
2x NMC27C512 (1,3)
|
2x NMC27C512 (1,3)
|
||||||
2x NMC27C256 (2,12)
|
2x NMC27C256 (2,12)
|
||||||
8x TMS27PC512 (4,5,6,7,8,9,10,11)
|
8x TMS27PC512 (4,5,6,7,8,9,10,11)
|
||||||
@ -2236,7 +2236,7 @@ main PCB:
|
|||||||
|
|
||||||
roms PCB:
|
roms PCB:
|
||||||
1x PEEL18CV8P (not dumped)
|
1x PEEL18CV8P (not dumped)
|
||||||
Note main PCB:
|
Note main PCB:
|
||||||
1x JAMMA edge connector
|
1x JAMMA edge connector
|
||||||
2x 50 pins flat cable connector to roms PCB
|
2x 50 pins flat cable connector to roms PCB
|
||||||
1x trimmer (volume)
|
1x trimmer (volume)
|
||||||
@ -3148,15 +3148,15 @@ static ADDRESS_MAP_START( mwalkbl_map, ADDRESS_SPACE_PROGRAM, 16 )
|
|||||||
|
|
||||||
/* bootleg video regs */
|
/* bootleg video regs */
|
||||||
/*AM_RANGE(0xc00000, 0xc00001) AM_NOP
|
/*AM_RANGE(0xc00000, 0xc00001) AM_NOP
|
||||||
AM_RANGE(0xc00002, 0xc00003) AM_NOP
|
AM_RANGE(0xc00002, 0xc00003) AM_NOP
|
||||||
AM_RANGE(0xc00004, 0xc00005) AM_NOP // tile bank?
|
AM_RANGE(0xc00004, 0xc00005) AM_NOP // tile bank?
|
||||||
AM_RANGE(0xc00006, 0xc00007) AM_NOP
|
AM_RANGE(0xc00006, 0xc00007) AM_NOP
|
||||||
AM_RANGE(0xc44000, 0xc44001) AM_NOP
|
AM_RANGE(0xc44000, 0xc44001) AM_NOP
|
||||||
AM_RANGE(0xc46000, 0xc46001) AM_NOP
|
AM_RANGE(0xc46000, 0xc46001) AM_NOP
|
||||||
AM_RANGE(0xc46200, 0xc46201) AM_NOP
|
AM_RANGE(0xc46200, 0xc46201) AM_NOP
|
||||||
AM_RANGE(0xc46400, 0xc464ff) AM_NOP // scroll?
|
AM_RANGE(0xc46400, 0xc464ff) AM_NOP // scroll?
|
||||||
AM_RANGE(0xc46500, 0xc465ff) AM_NOP // scroll?
|
AM_RANGE(0xc46500, 0xc465ff) AM_NOP // scroll?
|
||||||
*/
|
*/
|
||||||
|
|
||||||
AM_RANGE(0xc40000, 0xc40001) AM_READ_PORT("COINAGE")
|
AM_RANGE(0xc40000, 0xc40001) AM_READ_PORT("COINAGE")
|
||||||
AM_RANGE(0xc40002, 0xc40003) AM_READ_PORT("DSW1")
|
AM_RANGE(0xc40002, 0xc40003) AM_READ_PORT("DSW1")
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
/*
|
/*
|
||||||
|
|
||||||
SYstem 18 bootlegs
|
SYstem 18 bootlegs
|
||||||
|
|
||||||
The system 18 bootlegs lack the VDP
|
The system 18 bootlegs lack the VDP
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -545,12 +545,12 @@ INPUT_PORTS_END
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
static INPUT_PORTS_START( thndrxja ) // for Japanese later revision (not dumped yet)
|
static INPUT_PORTS_START( thndrxja ) // for Japanese later revision (not dumped yet)
|
||||||
PORT_INCLUDE( thnderxj )
|
PORT_INCLUDE( thnderxj )
|
||||||
|
|
||||||
PORT_MODIFY("DSW3")
|
PORT_MODIFY("DSW3")
|
||||||
PORT_DIPNAME( 0x08, 0x08, "All Stage Clear Loop" ) PORT_DIPLOCATION("SW3:4")
|
PORT_DIPNAME( 0x08, 0x08, "All Stage Clear Loop" ) PORT_DIPLOCATION("SW3:4")
|
||||||
PORT_DIPSETTING( 0x08, "Game ends after 3 loops" ) // factory default
|
PORT_DIPSETTING( 0x08, "Game ends after 3 loops" ) // factory default
|
||||||
PORT_DIPSETTING( 0x00, "Endless" )
|
PORT_DIPSETTING( 0x00, "Endless" )
|
||||||
INPUT_PORTS_END
|
INPUT_PORTS_END
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -187,16 +187,16 @@ Notes:
|
|||||||
PIC16C621 - DIP18 socket and 4MHz OSC on a 90-degrees-mounted small PCB for
|
PIC16C621 - DIP18 socket and 4MHz OSC on a 90-degrees-mounted small PCB for
|
||||||
Microchip PIC16C621A protection key chip
|
Microchip PIC16C621A protection key chip
|
||||||
|
|
||||||
Usage:
|
? ? ? ? ? ? ? ? ?Usage:
|
||||||
+-----------------------+-----------------+----------------+
|
? ? ? ? ? ? ? ? ?+-----------------------+-----------------+----------------+
|
||||||
| | | Sega Security |
|
? ? ? ? ? ? ? ? ?| ? ? ? ? ? ? ? ? ? ? ? | ? ? ? ? ? ? ? ? | Sega Security ?|
|
||||||
| Game | Sticker | Part Number |
|
? ? ? ? ? ? ? ? ?| Game ? ? ? ? ? ? ? ? ?| Sticker ? ? ? ? | Part Number ? ?|
|
||||||
+-----------------------+-----------------+----------------+
|
? ? ? ? ? ? ? ? ?+-----------------------+-----------------+----------------+
|
||||||
| Mario Kart Arcade GP | 253-5509-5109 | 317-5109-COM |
|
? ? ? ? ? ? ? ? ?| Mario Kart Arcade GP ?| 253-5509-5109 ? | 317-5109-COM ? |
|
||||||
| Nintendo/Namco, 2005 | | |
|
? ? ? ? ? ? ? ? ?| Nintendo/Namco, 2005 ?| ? ? ? ? ? ? ? ? | ? ? ? ? ? ? ? ?|
|
||||||
| | | |
|
? ? ? ? ? ? ? ? ?| ? ? ? ? ? ? ? ? ? ? ? | ? ? ? ? ? ? ? ? | ? ? ? ? ? ? ? ?|
|
||||||
| Namco Code: MKA2Ver.B | | |
|
? ? ? ? ? ? ? ? ?| Namco Code: MKA2Ver.B | ? ? ? ? ? ? ? ? | ? ? ? ? ? ? ? ?|
|
||||||
+-----------------------+-----------------+----------------+
|
? ? ? ? ? ? ? ? ?+-----------------------+-----------------+----------------+
|
||||||
|
|
||||||
ROM Board (attached to CN3 of Media Board, ONLY for use with Namco ROM cart version of the Media Board)
|
ROM Board (attached to CN3 of Media Board, ONLY for use with Namco ROM cart version of the Media Board)
|
||||||
---------
|
---------
|
||||||
@ -288,7 +288,7 @@ Notes:
|
|||||||
1-T SRAM: 13.5 x12 = 162MHz
|
1-T SRAM: 13.5 x12 = 162MHz
|
||||||
16M ARAM: 13.5 x6 = 81MHz
|
16M ARAM: 13.5 x6 = 81MHz
|
||||||
P1 - Motherboard Power Connector (located under the PCB)
|
P1 - Motherboard Power Connector (located under the PCB)
|
||||||
P2 - Digital Video Output Connector (not used)
|
P2 - Digital Video Output Connector (not used)
|
||||||
P3 - Controller Pad Board Connector (tied to lower PCB to J8 with a small flat cable)
|
P3 - Controller Pad Board Connector (tied to lower PCB to J8 with a small flat cable)
|
||||||
P4 - Memory Card Slot Connector A \ (not used)
|
P4 - Memory Card Slot Connector A \ (not used)
|
||||||
P5 - Memory Card Slot Connector B /
|
P5 - Memory Card Slot Connector B /
|
||||||
|
@ -258,7 +258,7 @@ static UINT32 twinkle_unknown;
|
|||||||
|
|
||||||
static WRITE32_HANDLER( twinkle_unknown_w )
|
static WRITE32_HANDLER( twinkle_unknown_w )
|
||||||
{
|
{
|
||||||
/* printf( "set unknown data=%08x\n", data ); */
|
/* printf( "set unknown data=%08x\n", data ); */
|
||||||
|
|
||||||
twinkle_unknown = data;
|
twinkle_unknown = data;
|
||||||
}
|
}
|
||||||
@ -267,7 +267,7 @@ static READ32_HANDLER( twinkle_unknown_r )
|
|||||||
{
|
{
|
||||||
UINT32 data = twinkle_unknown;
|
UINT32 data = twinkle_unknown;
|
||||||
|
|
||||||
/* printf( "get unknown data=%08x\n", data ); */
|
/* printf( "get unknown data=%08x\n", data ); */
|
||||||
|
|
||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
@ -584,11 +584,11 @@ static WRITE32_HANDLER(twinkle_output_w)
|
|||||||
static WRITE32_HANDLER(serial_w)
|
static WRITE32_HANDLER(serial_w)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
int _do = ( data >> 4 ) & 1;
|
int _do = ( data >> 4 ) & 1;
|
||||||
int clock = ( data >> 5 ) & 1;
|
int clock = ( data >> 5 ) & 1;
|
||||||
int reset = ( data >> 6 ) & 1;
|
int reset = ( data >> 6 ) & 1;
|
||||||
|
|
||||||
printf( "serial_w do=%d clock=%d reset=%d\n", _do, clock, reset );
|
printf( "serial_w do=%d clock=%d reset=%d\n", _do, clock, reset );
|
||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -614,7 +614,7 @@ printf( "xx %08x %08x %08x\n", offset, mem_mask, data );
|
|||||||
static READ32_HANDLER(xx_r)
|
static READ32_HANDLER(xx_r)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
printf( "xx %08x %08x\n", offset, mem_mask );
|
printf( "xx %08x %08x\n", offset, mem_mask );
|
||||||
*/
|
*/
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -622,7 +622,7 @@ static READ32_HANDLER(xx_r)
|
|||||||
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 32 )
|
static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 32 )
|
||||||
AM_RANGE(0x00000000, 0x003fffff) AM_RAM AM_SHARE(1) AM_BASE(&g_p_n_psxram) AM_SIZE(&g_n_psxramsize) /* ram */
|
AM_RANGE(0x00000000, 0x003fffff) AM_RAM AM_SHARE(1) AM_BASE(&g_p_n_psxram) AM_SIZE(&g_n_psxramsize) /* ram */
|
||||||
AM_RANGE(0x1f000000, 0x1f0007ff) AM_READWRITE(xx_r, xx_w)
|
AM_RANGE(0x1f000000, 0x1f0007ff) AM_READWRITE(xx_r, xx_w)
|
||||||
// AM_RANGE(0x1f000400, 0x1f0007ff) AM_RAM AM_SHARE(3) /* shared ram */
|
// AM_RANGE(0x1f000400, 0x1f0007ff) AM_RAM AM_SHARE(3) /* shared ram */
|
||||||
AM_RANGE(0x1f200000, 0x1f20001f) AM_READWRITE(am53cf96_r, am53cf96_w)
|
AM_RANGE(0x1f200000, 0x1f20001f) AM_READWRITE(am53cf96_r, am53cf96_w)
|
||||||
AM_RANGE(0x1f20a01c, 0x1f20a01f) AM_WRITENOP /* scsi? */
|
AM_RANGE(0x1f20a01c, 0x1f20a01f) AM_WRITENOP /* scsi? */
|
||||||
AM_RANGE(0x1f210400, 0x1f2107ff) AM_READNOP
|
AM_RANGE(0x1f210400, 0x1f2107ff) AM_READNOP
|
||||||
@ -674,7 +674,7 @@ static READ32_HANDLER(yy_r)
|
|||||||
|
|
||||||
static READ32_HANDLER(zz_r)
|
static READ32_HANDLER(zz_r)
|
||||||
{
|
{
|
||||||
// printf( "zz %08x %08x\n", offset, mem_mask );
|
// printf( "zz %08x %08x\n", offset, mem_mask );
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -697,7 +697,7 @@ static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 32 )
|
|||||||
AM_RANGE(0x220000, 0x220003) AM_WRITENOP
|
AM_RANGE(0x220000, 0x220003) AM_WRITENOP
|
||||||
AM_RANGE(0x230000, 0x230003) AM_WRITENOP
|
AM_RANGE(0x230000, 0x230003) AM_WRITENOP
|
||||||
AM_RANGE(0x280400, 0x2807ff) AM_READWRITE( ww_r, ww_w )
|
AM_RANGE(0x280400, 0x2807ff) AM_READWRITE( ww_r, ww_w )
|
||||||
// AM_RANGE(0x280400, 0x2807ff) AM_RAM AM_SHARE(3) /* shared ram? */
|
// AM_RANGE(0x280400, 0x2807ff) AM_RAM AM_SHARE(3) /* shared ram? */
|
||||||
AM_RANGE(0x30000c, 0x30000f) AM_READ( zz_r )
|
AM_RANGE(0x30000c, 0x30000f) AM_READ( zz_r )
|
||||||
AM_RANGE(0x400000, 0x400fff) AM_WRITENOP /* ide? */
|
AM_RANGE(0x400000, 0x400fff) AM_WRITENOP /* ide? */
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
@ -944,8 +944,8 @@ ROM_START( bmiidx4 )
|
|||||||
|
|
||||||
DISK_REGION( "cdrom0" )
|
DISK_REGION( "cdrom0" )
|
||||||
DISK_IMAGE_READONLY( "a03jaa01", 0, BAD_DUMP MD5(dccbe0158236453c27a9768d185ee275) SHA1(ee0f5989ed2bec3d174150a072e188bc10c15dcb) )
|
DISK_IMAGE_READONLY( "a03jaa01", 0, BAD_DUMP MD5(dccbe0158236453c27a9768d185ee275) SHA1(ee0f5989ed2bec3d174150a072e188bc10c15dcb) )
|
||||||
// DISK_IMAGE_READONLY( "a03jaahd", 1, NO_DUMP )
|
// DISK_IMAGE_READONLY( "a03jaahd", 1, NO_DUMP )
|
||||||
// DISK_IMAGE_READONLY( "a03jaa02", 2, NO_DUMP )
|
// DISK_IMAGE_READONLY( "a03jaa02", 2, NO_DUMP )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START( bmiidx6 )
|
ROM_START( bmiidx6 )
|
||||||
@ -956,8 +956,8 @@ ROM_START( bmiidx6 )
|
|||||||
|
|
||||||
DISK_REGION( "cdrom0" )
|
DISK_REGION( "cdrom0" )
|
||||||
DISK_IMAGE_READONLY( "b4ujaa01", 0, BAD_DUMP MD5(c9397ff1399b268ceac98732e4d7b16d) SHA1(1e723c74fd93140881c00c5af402249e0a8b3f2f) )
|
DISK_IMAGE_READONLY( "b4ujaa01", 0, BAD_DUMP MD5(c9397ff1399b268ceac98732e4d7b16d) SHA1(1e723c74fd93140881c00c5af402249e0a8b3f2f) )
|
||||||
// DISK_IMAGE_READONLY( "b4ujaahd", 1, NO_DUMP )
|
// DISK_IMAGE_READONLY( "b4ujaahd", 1, NO_DUMP )
|
||||||
// DISK_IMAGE_READONLY( "b4ujaa02", 2, NO_DUMP )
|
// DISK_IMAGE_READONLY( "b4ujaa02", 2, NO_DUMP )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START( bmiidx7 )
|
ROM_START( bmiidx7 )
|
||||||
@ -968,8 +968,8 @@ ROM_START( bmiidx7 )
|
|||||||
|
|
||||||
DISK_REGION( "cdrom0" )
|
DISK_REGION( "cdrom0" )
|
||||||
DISK_IMAGE_READONLY( "b44jaa01", 0, BAD_DUMP MD5(3078c73d050bb6a513b329f3844e1208) SHA1(5910e557816ced2c5162c5458b5ccf6f8e6839f0) )
|
DISK_IMAGE_READONLY( "b44jaa01", 0, BAD_DUMP MD5(3078c73d050bb6a513b329f3844e1208) SHA1(5910e557816ced2c5162c5458b5ccf6f8e6839f0) )
|
||||||
// DISK_IMAGE_READONLY( "b44jaahd", 1, NO_DUMP )
|
// DISK_IMAGE_READONLY( "b44jaahd", 1, NO_DUMP )
|
||||||
// DISK_IMAGE_READONLY( "b44jaa02", 2, NO_DUMP )
|
// DISK_IMAGE_READONLY( "b44jaa02", 2, NO_DUMP )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START( bmiidx8 )
|
ROM_START( bmiidx8 )
|
||||||
@ -980,8 +980,8 @@ ROM_START( bmiidx8 )
|
|||||||
|
|
||||||
DISK_REGION( "cdrom0" )
|
DISK_REGION( "cdrom0" )
|
||||||
DISK_IMAGE_READONLY( "c44jaa01", 0, BAD_DUMP MD5(43ae8f40ba8974d7d135e83c8e09112a) SHA1(b116775e47c7d5e2578b92811dccdc84f1cafe43) )
|
DISK_IMAGE_READONLY( "c44jaa01", 0, BAD_DUMP MD5(43ae8f40ba8974d7d135e83c8e09112a) SHA1(b116775e47c7d5e2578b92811dccdc84f1cafe43) )
|
||||||
// DISK_IMAGE_READONLY( "c44jaahd", 1, NO_DUMP )
|
// DISK_IMAGE_READONLY( "c44jaahd", 1, NO_DUMP )
|
||||||
// DISK_IMAGE_READONLY( "c44jaa02", 2, NO_DUMP )
|
// DISK_IMAGE_READONLY( "c44jaa02", 2, NO_DUMP )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START( bmiidxc )
|
ROM_START( bmiidxc )
|
||||||
@ -992,8 +992,8 @@ ROM_START( bmiidxc )
|
|||||||
|
|
||||||
DISK_REGION( "cdrom0" )
|
DISK_REGION( "cdrom0" )
|
||||||
DISK_IMAGE_READONLY( "896jaabm", 0, MD5(f842277762e330d500fa3eb6755c1547) SHA1(965772160177df43ce7a94f0e12d8cf676e57228) )
|
DISK_IMAGE_READONLY( "896jaabm", 0, MD5(f842277762e330d500fa3eb6755c1547) SHA1(965772160177df43ce7a94f0e12d8cf676e57228) )
|
||||||
// DISK_IMAGE_READONLY( "abmjaahd", 1, NO_DUMP )
|
// DISK_IMAGE_READONLY( "abmjaahd", 1, NO_DUMP )
|
||||||
// DISK_IMAGE_READONLY( "abmjaa02", 2, NO_DUMP )
|
// DISK_IMAGE_READONLY( "abmjaa02", 2, NO_DUMP )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START( bmiidxc2 )
|
ROM_START( bmiidxc2 )
|
||||||
@ -1004,8 +1004,8 @@ ROM_START( bmiidxc2 )
|
|||||||
|
|
||||||
DISK_REGION( "cdrom0" )
|
DISK_REGION( "cdrom0" )
|
||||||
DISK_IMAGE_READONLY( "984a01bm", 0, MD5(61ada5db9fcbfa01971c5f06253ab5e1) SHA1(98d5e120d0cd08e8598bfde75b16ba62bf67a15b) )
|
DISK_IMAGE_READONLY( "984a01bm", 0, MD5(61ada5db9fcbfa01971c5f06253ab5e1) SHA1(98d5e120d0cd08e8598bfde75b16ba62bf67a15b) )
|
||||||
// DISK_IMAGE_READONLY( "abmjaahd", 1, NO_DUMP )
|
// DISK_IMAGE_READONLY( "abmjaahd", 1, NO_DUMP )
|
||||||
// DISK_IMAGE_READONLY( "abmjaa02", 2, NO_DUMP )
|
// DISK_IMAGE_READONLY( "abmjaa02", 2, NO_DUMP )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
ROM_START( bmiidxca )
|
ROM_START( bmiidxca )
|
||||||
@ -1016,8 +1016,8 @@ ROM_START( bmiidxca )
|
|||||||
|
|
||||||
DISK_REGION( "cdrom0" )
|
DISK_REGION( "cdrom0" )
|
||||||
DISK_IMAGE_READONLY( "896jabbm", 0, MD5(46f8bd83e8fbe527f6e4512804b2ce1e) SHA1(b7fcf3e6b9c1cebedacbc65c77aa3509c66984a9) )
|
DISK_IMAGE_READONLY( "896jabbm", 0, MD5(46f8bd83e8fbe527f6e4512804b2ce1e) SHA1(b7fcf3e6b9c1cebedacbc65c77aa3509c66984a9) )
|
||||||
// DISK_IMAGE_READONLY( "abmjaahd", 1, NO_DUMP )
|
// DISK_IMAGE_READONLY( "abmjaahd", 1, NO_DUMP )
|
||||||
// DISK_IMAGE_READONLY( "abmjaa02", 2, NO_DUMP )
|
// DISK_IMAGE_READONLY( "abmjaa02", 2, NO_DUMP )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
GAME( 1999, gq863, 0, twinkle, twinkle, twinkle, ROT0, "Konami", "Twinkle System", GAME_IS_BIOS_ROOT )
|
GAME( 1999, gq863, 0, twinkle, twinkle, twinkle, ROT0, "Konami", "Twinkle System", GAME_IS_BIOS_ROOT )
|
||||||
|
@ -295,7 +295,7 @@ static DEVICE_START( namco_50xx )
|
|||||||
|
|
||||||
static DEVICE_RESET( namco_50xx )
|
static DEVICE_RESET( namco_50xx )
|
||||||
{
|
{
|
||||||
// namco_50xx_state *state = get_safe_token(device);
|
// namco_50xx_state *state = get_safe_token(device);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -353,10 +353,10 @@ READ8_DEVICE_HANDLER( namco_51xx_read )
|
|||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
ADDRESS_MAP_START( namco_51xx_map_io, ADDRESS_SPACE_IO, 8 )
|
ADDRESS_MAP_START( namco_51xx_map_io, ADDRESS_SPACE_IO, 8 )
|
||||||
// AM_RANGE(MB88_PORTK, MB88_PORTK) AM_READ(namco_51xx_K_r)
|
// AM_RANGE(MB88_PORTK, MB88_PORTK) AM_READ(namco_51xx_K_r)
|
||||||
// AM_RANGE(MB88_PORTO, MB88_PORTO) AM_WRITE(namco_51xx_O_w)
|
// AM_RANGE(MB88_PORTO, MB88_PORTO) AM_WRITE(namco_51xx_O_w)
|
||||||
// AM_RANGE(MB88_PORTR0, MB88_PORTR0) AM_READ(namco_51xx_R0_r)
|
// AM_RANGE(MB88_PORTR0, MB88_PORTR0) AM_READ(namco_51xx_R0_r)
|
||||||
// AM_RANGE(MB88_PORTR2, MB88_PORTR2) AM_READ(namco_51xx_R2_r)
|
// AM_RANGE(MB88_PORTR2, MB88_PORTR2) AM_READ(namco_51xx_R2_r)
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
|
|
||||||
|
@ -185,7 +185,7 @@ static DEVICE_START( namco_53xx )
|
|||||||
|
|
||||||
static DEVICE_RESET( namco_53xx )
|
static DEVICE_RESET( namco_53xx )
|
||||||
{
|
{
|
||||||
// namco_53xx_state *state = get_safe_token(device);
|
// namco_53xx_state *state = get_safe_token(device);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -972,7 +972,7 @@ WRITE64_HANDLER( pvr_ctrl_w )
|
|||||||
mame_printf_verbose("PVRCTRL: [%08x=%x] write %llx to %x (reg %x), mask %llx\n", 0x5f7c00+reg*4, dat, data>>shift, offset, reg, mem_mask);
|
mame_printf_verbose("PVRCTRL: [%08x=%x] write %llx to %x (reg %x), mask %llx\n", 0x5f7c00+reg*4, dat, data>>shift, offset, reg, mem_mask);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// pvrctrl_regs[reg] |= dat;
|
// pvrctrl_regs[reg] |= dat;
|
||||||
pvrctrl_regs[reg] = dat;
|
pvrctrl_regs[reg] = dat;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -2345,7 +2345,7 @@ static void triangle(UINT32 w1, UINT32 w2, int shade, int texture, int zbuffer)
|
|||||||
tile = (w1 >> 16) & 0x7;
|
tile = (w1 >> 16) & 0x7;
|
||||||
|
|
||||||
r = 0xff; g = 0xff; b = 0xff; a = 0xff; z = 0; s = 0; t = 0; w = 0;
|
r = 0xff; g = 0xff; b = 0xff; a = 0xff; z = 0; s = 0; t = 0; w = 0;
|
||||||
//dr = 0; dg = 0; db = 0; da = 0;
|
//dr = 0; dg = 0; db = 0; da = 0;
|
||||||
|
|
||||||
if (shade)
|
if (shade)
|
||||||
{
|
{
|
||||||
@ -2378,7 +2378,7 @@ static void triangle(UINT32 w1, UINT32 w2, int shade, int texture, int zbuffer)
|
|||||||
dtde = ((rdp_cmd_data[texture_base+8 ] << 16) & 0xffff0000) | (rdp_cmd_data[texture_base+12] & 0x0000ffff);
|
dtde = ((rdp_cmd_data[texture_base+8 ] << 16) & 0xffff0000) | (rdp_cmd_data[texture_base+12] & 0x0000ffff);
|
||||||
dwde = (rdp_cmd_data[texture_base+9 ] & 0xffff0000) | ((rdp_cmd_data[texture_base+13] >> 16) & 0x0000ffff);
|
dwde = (rdp_cmd_data[texture_base+9 ] & 0xffff0000) | ((rdp_cmd_data[texture_base+13] >> 16) & 0x0000ffff);
|
||||||
//dsdy = (rdp_cmd_data[texture_base+10] & 0xffff0000) | ((rdp_cmd_data[texture_base+14] >> 16) & 0x0000ffff);
|
//dsdy = (rdp_cmd_data[texture_base+10] & 0xffff0000) | ((rdp_cmd_data[texture_base+14] >> 16) & 0x0000ffff);
|
||||||
//dtdy = ((rdp_cmd_data[texture_base+10] << 16) & 0xffff0000) | (rdp_cmd_data[texture_base+14] & 0x0000ffff);
|
//dtdy = ((rdp_cmd_data[texture_base+10] << 16) & 0xffff0000) | (rdp_cmd_data[texture_base+14] & 0x0000ffff);
|
||||||
//dwdy = (rdp_cmd_data[texture_base+11] & 0xffff0000) | ((rdp_cmd_data[texture_base+15] >> 16) & 0x0000ffff);
|
//dwdy = (rdp_cmd_data[texture_base+11] & 0xffff0000) | ((rdp_cmd_data[texture_base+15] >> 16) & 0x0000ffff);
|
||||||
}
|
}
|
||||||
if (zbuffer)
|
if (zbuffer)
|
||||||
|
@ -1315,8 +1315,8 @@ DrawSpritesHelper(
|
|||||||
{
|
{
|
||||||
struct SceneNode *node = NewSceneNode(machine, zcoord,eSCENENODE_SPRITE);
|
struct SceneNode *node = NewSceneNode(machine, zcoord,eSCENENODE_SPRITE);
|
||||||
|
|
||||||
// printf("[%02d]: tile %x pri %x color %x flipX %d flipY %d cols %d rows %d link %d X %d Y %d sX %d sY %d trans %d cz %d\n",
|
// printf("[%02d]: tile %x pri %x color %x flipX %d flipY %d cols %d rows %d link %d X %d Y %d sX %d sY %d trans %d cz %d\n",
|
||||||
// i, tile, cz&0x80, color&0x7f, flipx, flipy, numcols, numrows, linkType, xpos, ypos, sizex, sizey, translucency, cz);
|
// i, tile, cz&0x80, color&0x7f, flipx, flipy, numcols, numrows, linkType, xpos, ypos, sizex, sizey, translucency, cz);
|
||||||
|
|
||||||
if (color == 0) color = 0x67; // extreme hack for Tokyo Wars
|
if (color == 0) color = 0x67; // extreme hack for Tokyo Wars
|
||||||
|
|
||||||
|
@ -200,22 +200,22 @@ void ppu2c0x_init_palette(running_machine *machine, int first_entry )
|
|||||||
for (colorEmphasis = 0; colorEmphasis < 8; colorEmphasis ++)
|
for (colorEmphasis = 0; colorEmphasis < 8; colorEmphasis ++)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
double r_mod = 0.0;
|
double r_mod = 0.0;
|
||||||
double g_mod = 0.0;
|
double g_mod = 0.0;
|
||||||
double b_mod = 0.0;
|
double b_mod = 0.0;
|
||||||
|
|
||||||
switch (colorEmphasis)
|
switch (colorEmphasis)
|
||||||
{
|
{
|
||||||
case 0: r_mod = 1.0; g_mod = 1.0; b_mod = 1.0; break;
|
case 0: r_mod = 1.0; g_mod = 1.0; b_mod = 1.0; break;
|
||||||
case 1: r_mod = 1.24; g_mod = .915; b_mod = .743; break;
|
case 1: r_mod = 1.24; g_mod = .915; b_mod = .743; break;
|
||||||
case 2: r_mod = .794; g_mod = 1.09; b_mod = .882; break;
|
case 2: r_mod = .794; g_mod = 1.09; b_mod = .882; break;
|
||||||
case 3: r_mod = .905; g_mod = 1.03; b_mod = 1.28; break;
|
case 3: r_mod = .905; g_mod = 1.03; b_mod = 1.28; break;
|
||||||
case 4: r_mod = .741; g_mod = .987; b_mod = 1.0; break;
|
case 4: r_mod = .741; g_mod = .987; b_mod = 1.0; break;
|
||||||
case 5: r_mod = 1.02; g_mod = .908; b_mod = .979; break;
|
case 5: r_mod = 1.02; g_mod = .908; b_mod = .979; break;
|
||||||
case 6: r_mod = 1.02; g_mod = .98; b_mod = .653; break;
|
case 6: r_mod = 1.02; g_mod = .98; b_mod = .653; break;
|
||||||
case 7: r_mod = .75; g_mod = .75; b_mod = .75; break;
|
case 7: r_mod = .75; g_mod = .75; b_mod = .75; break;
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* loop through the 4 intensities */
|
/* loop through the 4 intensities */
|
||||||
for (colorIntensity = 0; colorIntensity < 4; colorIntensity++)
|
for (colorIntensity = 0; colorIntensity < 4; colorIntensity++)
|
||||||
|
@ -5303,9 +5303,9 @@ UINT8 stv_get_vblank(running_machine *machine)
|
|||||||
static int get_vblank_duration(running_machine *machine)
|
static int get_vblank_duration(running_machine *machine)
|
||||||
{
|
{
|
||||||
/* TODO: +64 is probably due of missing pixel clock/screen raw params hook-up.
|
/* TODO: +64 is probably due of missing pixel clock/screen raw params hook-up.
|
||||||
Problem is, I don't know if it's possible to handle that in MAME with
|
Problem is, I don't know if it's possible to handle that in MAME with
|
||||||
all this dynamic resolution babblecrap...
|
all this dynamic resolution babblecrap...
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if(STV_VDP2_HRES & 4)
|
if(STV_VDP2_HRES & 4)
|
||||||
{
|
{
|
||||||
|
@ -1,27 +1,27 @@
|
|||||||
/***************************************************************************
|
/***************************************************************************
|
||||||
|
|
||||||
System 16 / 18 bootleg video
|
System 16 / 18 bootleg video
|
||||||
|
|
||||||
Bugs to check against real HW
|
Bugs to check against real HW
|
||||||
|
|
||||||
System16A Tilemap bootlegs
|
System16A Tilemap bootlegs
|
||||||
|
|
||||||
- Shinobi (Datsu bootleg) has a black bar down the right hand side,
|
- Shinobi (Datsu bootleg) has a black bar down the right hand side,
|
||||||
which turns red on the high score table. This is in the Text layer.
|
which turns red on the high score table. This is in the Text layer.
|
||||||
According to other games this should be the correct alignment for
|
According to other games this should be the correct alignment for
|
||||||
this bootleg HW.
|
this bootleg HW.
|
||||||
|
|
||||||
- After inserting a coin in Passing Shot (2p version) the layers are
|
- After inserting a coin in Passing Shot (2p version) the layers are
|
||||||
misaligned by 1 pixel (happens on non-bootlegs too)
|
misaligned by 1 pixel (happens on non-bootlegs too)
|
||||||
|
|
||||||
- Causing a 'fault' in the Passing Shot 2p bootleg (not hitting the ball
|
- Causing a 'fault' in the Passing Shot 2p bootleg (not hitting the ball
|
||||||
on your serve) causes the tilemaps to be erased and not updated
|
on your serve) causes the tilemaps to be erased and not updated
|
||||||
properly (mirroring?, bootleg protection?, missed case in bootleg?)
|
properly (mirroring?, bootleg protection?, missed case in bootleg?)
|
||||||
|
|
||||||
System18 Tilemap bootlegs
|
System18 Tilemap bootlegs
|
||||||
|
|
||||||
- Alien Storm Credit text for Player 1 is not displayed after inserting
|
- Alien Storm Credit text for Player 1 is not displayed after inserting
|
||||||
a coin.
|
a coin.
|
||||||
|
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
#include "driver.h"
|
#include "driver.h"
|
||||||
|
@ -256,6 +256,6 @@ VIDEO_UPDATE( tryout )
|
|||||||
draw_sprites(screen->machine, bitmap,cliprect);
|
draw_sprites(screen->machine, bitmap,cliprect);
|
||||||
}
|
}
|
||||||
|
|
||||||
// popmessage("%02x %02x %02x %02x",tryout_gfx_control[0],tryout_gfx_control[1],tryout_gfx_control[2],scrollx);
|
// popmessage("%02x %02x %02x %02x",tryout_gfx_control[0],tryout_gfx_control[1],tryout_gfx_control[2],scrollx);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -252,10 +252,10 @@ PALETTE_INIT( tubep )
|
|||||||
|
|
||||||
/* calculate and store the scaler */
|
/* calculate and store the scaler */
|
||||||
/*
|
/*
|
||||||
output_scaler = compute_resistor_weights(0, 255, -1.0,
|
output_scaler = compute_resistor_weights(0, 255, -1.0,
|
||||||
3*6, active_resistors_r, weights_r, 470, 0,
|
3*6, active_resistors_r, weights_r, 470, 0,
|
||||||
3*6, active_resistors_g, weights_g, 470, 0,
|
3*6, active_resistors_g, weights_g, 470, 0,
|
||||||
2*6, active_resistors_b, weights_b, 470, 0);
|
2*6, active_resistors_b, weights_b, 470, 0);
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* compute_resistor_weights(0, 255, output_scaler,
|
/* compute_resistor_weights(0, 255, output_scaler,
|
||||||
|
@ -10,4 +10,4 @@
|
|||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
extern const char build_version[];
|
extern const char build_version[];
|
||||||
const char build_version[] = "0.131u2 ("__DATE__")";
|
const char build_version[] = "0.131u3 ("__DATE__")";
|
||||||
|
Loading…
Reference in New Issue
Block a user