deprecat.h (somebody should explain to me why #00287 is now fixed with this but then sound got a lot worse ...)

This commit is contained in:
Angelo Salese 2011-12-05 01:38:58 +00:00
parent a10e09d634
commit 4b42839acd
4 changed files with 41 additions and 23 deletions

View File

@ -13,7 +13,6 @@ TODO:
#include "emu.h"
#include "cpu/z80/z80.h"
#include "deprecat.h"
#include "sound/sn76496.h"
#include "includes/ikki.h"
@ -26,11 +25,11 @@ TODO:
static READ8_HANDLER( ikki_e000_r )
{
ikki_state *state = space->machine().driver_data<ikki_state>();
/* bit1: interrupt type?, bit0: CPU2 busack? */
if (cpu_getiloops(&space->device()) == 0)
return 0;
return 2;
return (state->m_irq_source << 1);
}
static WRITE8_HANDLER( ikki_coin_counters )
@ -174,9 +173,9 @@ INPUT_PORTS_END
static const gfx_layout charlayout =
{
8,8, /* 8*8 characters */
2048, /* 2048 characters */
RGN_FRAC(1,3), /* 2048 characters */
3, /* 3 bits per pixel */
{0,16384*8,16384*8*2},
{RGN_FRAC(0,3),RGN_FRAC(1,3),RGN_FRAC(2,3)},
{7,6,5,4,3,2,1,0},
{8*0, 8*1, 8*2, 8*3, 8*4, 8*5, 8*6, 8*7},
8*8
@ -185,9 +184,9 @@ static const gfx_layout charlayout =
static const gfx_layout spritelayout =
{
16,32, /* 16*32 characters */
256, /* 256 characters */
RGN_FRAC(1,3), /* 256 characters */
3, /* 3 bits per pixel */
{16384*8*2,16384*8,0},
{RGN_FRAC(0,3),RGN_FRAC(1,3),RGN_FRAC(2,3)},
{7,6,5,4,3,2,1,0,
8*16+7,8*16+6,8*16+5,8*16+4,8*16+3,8*16+2,8*16+1,8*16+0},
{8*0, 8*1, 8*2, 8*3, 8*4, 8*5, 8*6, 8*7,
@ -215,6 +214,7 @@ static MACHINE_START( ikki )
state->save_item(NAME(state->m_flipscreen));
state->save_item(NAME(state->m_punch_through_pen));
state->save_item(NAME(state->m_irq_source));
}
static MACHINE_RESET( ikki )
@ -224,18 +224,31 @@ static MACHINE_RESET( ikki )
state->m_flipscreen = 0;
}
static TIMER_DEVICE_CALLBACK( ikki_irq )
{
ikki_state *state = timer.machine().driver_data<ikki_state>();
int scanline = param;
if(scanline == 240 || scanline == 0)
{
device_set_input_line(state->m_maincpu,0,HOLD_LINE);
state->m_irq_source = (scanline != 240);
}
}
static MACHINE_CONFIG_START( ikki, ikki_state )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", Z80,8000000/2) /* 4.000MHz */
MCFG_CPU_PROGRAM_MAP(ikki_cpu1)
MCFG_CPU_VBLANK_INT_HACK(irq0_line_hold,2)
MCFG_TIMER_ADD_SCANLINE("scantimer", ikki_irq, "screen", 0, 1)
MCFG_CPU_ADD("sub", Z80,8000000/2) /* 4.000MHz */
MCFG_CPU_PROGRAM_MAP(ikki_cpu2)
MCFG_CPU_VBLANK_INT_HACK(irq0_line_hold,2)
MCFG_CPU_PERIODIC_INT(irq0_line_hold,2*60)
MCFG_QUANTUM_TIME(attotime::from_hz(600))
MCFG_QUANTUM_PERFECT_CPU("maincpu")
MCFG_MACHINE_START(ikki)
MCFG_MACHINE_RESET(ikki)
@ -245,7 +258,7 @@ static MACHINE_CONFIG_START( ikki, ikki_state )
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16)
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_SIZE(32*8, 32*8+3*8)
MCFG_SCREEN_VISIBLE_AREA(1*8, 31*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE(ikki)
@ -284,14 +297,14 @@ ROM_START( ikki )
ROM_LOAD( "tvg17_5", 0x0000, 0x2000, CRC(22bdb40e) SHA1(265801ad660a5a3fc5bb187fa92dbe6098b390f5) )
ROM_REGION( 0xc000, "gfx1", 0 ) /* sprite */
ROM_LOAD( "tvg17_6", 0x0000, 0x4000, CRC(dc8aa269) SHA1(fd8b5c2bead52e1e136d4df4c26f136d8992d9be) )
ROM_LOAD( "tvg17_8", 0x0000, 0x4000, CRC(45c9087a) SHA1(9db82fc194096588fde5048e922a654e2ad12c23) )
ROM_LOAD( "tvg17_7", 0x4000, 0x4000, CRC(0e9efeba) SHA1(d922c4276a988b78b9a2a3ca632136e64a80d995) )
ROM_LOAD( "tvg17_8", 0x8000, 0x4000, CRC(45c9087a) SHA1(9db82fc194096588fde5048e922a654e2ad12c23) )
ROM_LOAD( "tvg17_6", 0x8000, 0x4000, CRC(dc8aa269) SHA1(fd8b5c2bead52e1e136d4df4c26f136d8992d9be) )
ROM_REGION( 0xc000, "gfx2", 0 ) /* bg */
ROM_LOAD( "tvg17_9", 0x8000, 0x4000, CRC(c594f3c5) SHA1(6fe19d9ccbe6934a210eb2cab441cd0ba83cbcf4) )
ROM_LOAD( "tvg17_10", 0x4000, 0x4000, CRC(2e510b4e) SHA1(c0ff4515e66ab4959b597a4d930cbbcc31c53cda) )
ROM_LOAD( "tvg17_11", 0x0000, 0x4000, CRC(35012775) SHA1(c90386660755c85fb9f020f8161805dd02a16271) )
ROM_LOAD( "tvg17_10", 0x4000, 0x4000, CRC(2e510b4e) SHA1(c0ff4515e66ab4959b597a4d930cbbcc31c53cda) )
ROM_LOAD( "tvg17_9", 0x8000, 0x4000, CRC(c594f3c5) SHA1(6fe19d9ccbe6934a210eb2cab441cd0ba83cbcf4) )
ROM_REGION( 0x0700, "proms", 0 ) /* color PROMs */
ROM_LOAD( "prom17_3", 0x0000, 0x0100, CRC(dbcd3bec) SHA1(1baeec277b16c82b67e10da9d4c84cf383ef4a82) ) /* R */
@ -317,14 +330,14 @@ ROM_START( farmer )
ROM_LOAD( "tvg-5.30", 0x0000, 0x2000, CRC(22bdb40e) SHA1(265801ad660a5a3fc5bb187fa92dbe6098b390f5) )
ROM_REGION( 0xc000, "gfx1", 0 ) /* sprite */
ROM_LOAD( "tvg-6.104", 0x0000, 0x4000, CRC(dc8aa269) SHA1(fd8b5c2bead52e1e136d4df4c26f136d8992d9be) )
ROM_LOAD( "tvg-8.102", 0x0000, 0x4000, CRC(45c9087a) SHA1(9db82fc194096588fde5048e922a654e2ad12c23) )
ROM_LOAD( "tvg-7.103", 0x4000, 0x4000, CRC(0e9efeba) SHA1(d922c4276a988b78b9a2a3ca632136e64a80d995) )
ROM_LOAD( "tvg-8.102", 0x8000, 0x4000, CRC(45c9087a) SHA1(9db82fc194096588fde5048e922a654e2ad12c23) )
ROM_LOAD( "tvg-6.104", 0x8000, 0x4000, CRC(dc8aa269) SHA1(fd8b5c2bead52e1e136d4df4c26f136d8992d9be) )
ROM_REGION( 0xc000, "gfx2", 0 ) /* bg */
ROM_LOAD( "tvg17_9", 0x8000, 0x4000, CRC(c594f3c5) SHA1(6fe19d9ccbe6934a210eb2cab441cd0ba83cbcf4) )
ROM_LOAD( "tvg17_10", 0x4000, 0x4000, CRC(2e510b4e) SHA1(c0ff4515e66ab4959b597a4d930cbbcc31c53cda) )
ROM_LOAD( "tvg17_11", 0x0000, 0x4000, CRC(35012775) SHA1(c90386660755c85fb9f020f8161805dd02a16271) )
ROM_LOAD( "tvg17_10", 0x4000, 0x4000, CRC(2e510b4e) SHA1(c0ff4515e66ab4959b597a4d930cbbcc31c53cda) )
ROM_LOAD( "tvg17_9", 0x8000, 0x4000, CRC(c594f3c5) SHA1(6fe19d9ccbe6934a210eb2cab441cd0ba83cbcf4) )
ROM_REGION( 0x0700, "proms", 0 ) /* color PROMs */
ROM_LOAD( "prom17_3", 0x0000, 0x0100, CRC(dbcd3bec) SHA1(1baeec277b16c82b67e10da9d4c84cf383ef4a82) ) /* R */

View File

@ -1107,7 +1107,7 @@ static TIMER_DEVICE_CALLBACK( mitchell_irq )
mitchell_state *state = timer.machine().driver_data<mitchell_state>();
int scanline = param;
if(scanline == 248 || scanline == 112)
if(scanline == 248 || scanline == 0)
{
device_set_input_line(state->m_maincpu,0,HOLD_LINE);

View File

@ -8,7 +8,9 @@ class ikki_state : public driver_device
{
public:
ikki_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag) { }
: driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu")
{ }
/* memory pointers */
UINT8 * m_videoram;
@ -21,6 +23,9 @@ public:
bitmap_t *m_sprite_bitmap;
UINT8 m_flipscreen;
int m_punch_through_pen;
UINT8 m_irq_source;
required_device<cpu_device> m_maincpu;
};

View File

@ -39,7 +39,7 @@ public:
int m_keymatrix;
/* devices */
optional_device<cpu_device> m_maincpu;
required_device<cpu_device> m_maincpu;
optional_device<cpu_device> m_audiocpu;
optional_device<okim6295_device> m_oki;
UINT8 *m_nvram;