mirror of
https://github.com/holub/mame
synced 2025-10-07 17:27:06 +03:00
Implemented sound
This commit is contained in:
parent
b098f73f55
commit
952d2e0aa4
@ -2,12 +2,12 @@
|
|||||||
|
|
||||||
Uncle Poo (c) 1983 Diatec
|
Uncle Poo (c) 1983 Diatec
|
||||||
|
|
||||||
actually a bootleg / hack of something else?
|
actually an hack of Joinem? Or there's something even more similar?
|
||||||
|
|
||||||
driver by David Haywood and Angelo Salese
|
driver by David Haywood and Angelo Salese
|
||||||
|
|
||||||
TODO:
|
TODO:
|
||||||
-sound
|
-merge with jack.c driver, this is a modification of that HW (with colscroll)
|
||||||
-accurate game speed (controlled by an irq)
|
-accurate game speed (controlled by an irq)
|
||||||
-title screen colors are wrong? But I can't see how I could fix it without breaking anything
|
-title screen colors are wrong? But I can't see how I could fix it without breaking anything
|
||||||
else
|
else
|
||||||
@ -96,16 +96,15 @@ static WRITE8_HANDLER( unk_w )
|
|||||||
/* soundlatch write */
|
/* soundlatch write */
|
||||||
static WRITE8_HANDLER( test_w )
|
static WRITE8_HANDLER( test_w )
|
||||||
{
|
{
|
||||||
popmessage("%02x",data);
|
soundlatch_w(space, 0, (data & 0xff));
|
||||||
//soundlatch_w(space, 0, (data & 0xff));
|
|
||||||
cputag_set_input_line(space->machine, "subcpu", 0, HOLD_LINE);
|
cputag_set_input_line(space->machine, "subcpu", 0, HOLD_LINE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static WRITE8_HANDLER( test2_w )
|
static WRITE8_HANDLER( test2_w )
|
||||||
{
|
{
|
||||||
popmessage("%02x",data);
|
//x[1] = data;
|
||||||
//soundlatch2_w(space, 0, (data & 0xff));
|
//soundlatch2_w(space, 0, (data & 0xff));
|
||||||
cputag_set_input_line(space->machine, "subcpu", 0, HOLD_LINE);
|
//cputag_set_input_line(space->machine, "subcpu", 0, HOLD_LINE);
|
||||||
}
|
}
|
||||||
|
|
||||||
static ADDRESS_MAP_START( unclepoo_main_map, ADDRESS_SPACE_PROGRAM, 8 )
|
static ADDRESS_MAP_START( unclepoo_main_map, ADDRESS_SPACE_PROGRAM, 8 )
|
||||||
@ -148,8 +147,7 @@ static ADDRESS_MAP_START( unclepoo_sub_map, ADDRESS_SPACE_PROGRAM, 8 )
|
|||||||
|
|
||||||
AM_RANGE(0x4000, 0x43ff) AM_RAM
|
AM_RANGE(0x4000, 0x43ff) AM_RAM
|
||||||
|
|
||||||
// AM_RANGE(0x6000, 0x6000) AM_WRITE(soundlatch_clear_w)
|
AM_RANGE(0x6000, 0x6000) AM_WRITENOP /* R/C filter ??? */
|
||||||
|
|
||||||
ADDRESS_MAP_END
|
ADDRESS_MAP_END
|
||||||
|
|
||||||
|
|
||||||
@ -308,25 +306,30 @@ static READ8_HANDLER( test2_r )
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static READ8_HANDLER( timer_r )
|
||||||
|
{
|
||||||
|
return cpu_get_total_cycles(space->cpu) / 128;
|
||||||
|
}
|
||||||
|
|
||||||
static const ay8910_interface ay8910_config =
|
static const ay8910_interface ay8910_config =
|
||||||
{
|
{
|
||||||
AY8910_LEGACY_OUTPUT,
|
AY8910_LEGACY_OUTPUT,
|
||||||
AY8910_DEFAULT_LOADS,
|
AY8910_DEFAULT_LOADS,
|
||||||
DEVCB_MEMORY_HANDLER("subcpu", PROGRAM, unk_inp_r),
|
DEVCB_MEMORY_HANDLER("subcpu", PROGRAM, soundlatch_r),
|
||||||
DEVCB_MEMORY_HANDLER("subcpu", PROGRAM, unk_inp_r),
|
DEVCB_MEMORY_HANDLER("subcpu", PROGRAM, timer_r),
|
||||||
DEVCB_NULL,
|
DEVCB_NULL,
|
||||||
DEVCB_NULL
|
DEVCB_NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
static MACHINE_DRIVER_START( unclepoo )
|
static MACHINE_DRIVER_START( unclepoo )
|
||||||
/* basic machine hardware */
|
/* basic machine hardware */
|
||||||
MDRV_CPU_ADD("maincpu", Z80,8000000) /* ? MHz */
|
MDRV_CPU_ADD("maincpu", Z80,18000000/6) /* ? MHz */
|
||||||
MDRV_CPU_PROGRAM_MAP(unclepoo_main_map)
|
MDRV_CPU_PROGRAM_MAP(unclepoo_main_map)
|
||||||
MDRV_CPU_IO_MAP(unclepoo_main_portmap)
|
MDRV_CPU_IO_MAP(unclepoo_main_portmap)
|
||||||
MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse)
|
MDRV_CPU_VBLANK_INT("screen", nmi_line_pulse)
|
||||||
MDRV_CPU_PERIODIC_INT(irq0_line_hold,120) // controls game speed
|
MDRV_CPU_PERIODIC_INT(irq0_line_hold,256) // ??? controls game speed
|
||||||
|
|
||||||
MDRV_CPU_ADD("subcpu", Z80,8000000) /* ? MHz */
|
MDRV_CPU_ADD("subcpu", Z80,18000000/12) /* ? MHz */
|
||||||
MDRV_CPU_PROGRAM_MAP(unclepoo_sub_map)
|
MDRV_CPU_PROGRAM_MAP(unclepoo_sub_map)
|
||||||
MDRV_CPU_IO_MAP(unclepoo_sub_portmap)
|
MDRV_CPU_IO_MAP(unclepoo_sub_portmap)
|
||||||
// MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
|
// MDRV_CPU_VBLANK_INT("screen", irq0_line_hold)
|
||||||
@ -347,7 +350,7 @@ static MACHINE_DRIVER_START( unclepoo )
|
|||||||
MDRV_VIDEO_UPDATE(unclepoo)
|
MDRV_VIDEO_UPDATE(unclepoo)
|
||||||
|
|
||||||
MDRV_SPEAKER_STANDARD_MONO("mono")
|
MDRV_SPEAKER_STANDARD_MONO("mono")
|
||||||
MDRV_SOUND_ADD("ay", AY8910, 8000000/8) /* ? Mhz */
|
MDRV_SOUND_ADD("ay", AY8910, 18000000/12) /* ? Mhz */
|
||||||
MDRV_SOUND_CONFIG(ay8910_config)
|
MDRV_SOUND_CONFIG(ay8910_config)
|
||||||
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
|
MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
|
||||||
MACHINE_DRIVER_END
|
MACHINE_DRIVER_END
|
||||||
@ -374,4 +377,4 @@ ROM_START( unclepoo )
|
|||||||
ROM_LOAD( "diatec_l.bin", 0x100, 0x100, CRC(b04d466a) SHA1(1438abeae76ef807ba34bd6d3e4c44f707dbde6e) )
|
ROM_LOAD( "diatec_l.bin", 0x100, 0x100, CRC(b04d466a) SHA1(1438abeae76ef807ba34bd6d3e4c44f707dbde6e) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
GAME( 1983, unclepoo, 0, unclepoo, unclepoo, 0, ROT90, "Diatec", "Uncle Poo", GAME_NO_SOUND )
|
GAME( 1983, unclepoo, 0, unclepoo, unclepoo, 0, ROT90, "Diatec", "Uncle Poo", 0 )
|
||||||
|
Loading…
Reference in New Issue
Block a user