mirror of
https://github.com/holub/mame
synced 2025-04-22 08:22:15 +03:00
Switch to modern TMS9995 implementation. [Michael Zapf]
This commit is contained in:
parent
6787c71769
commit
2013a62515
@ -28,7 +28,7 @@
|
||||
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/tms9900/tms9900l.h"
|
||||
#include "cpu/tms9900/tms9995.h"
|
||||
#include "sound/sn76496.h"
|
||||
#include "machine/i8255.h"
|
||||
#include "machine/tms9902.h"
|
||||
@ -136,7 +136,7 @@ WRITE8_MEMBER(jpmmps_state::jpmmps_psg_buf_w)
|
||||
WRITE8_MEMBER(jpmmps_state::jpmmps_ic22_portc_w)
|
||||
{
|
||||
//Handle PSG
|
||||
|
||||
|
||||
if (m_psg_latch != (data & 0x04))
|
||||
{
|
||||
if (!m_psg_latch)//falling edge
|
||||
@ -217,12 +217,21 @@ MACHINE_START_MEMBER(jpmmps_state,jpmmps)
|
||||
|
||||
}
|
||||
|
||||
static TMS9995_CONFIG( cpuconf95 )
|
||||
{
|
||||
DEVCB_NULL, // external op
|
||||
DEVCB_NULL, // Instruction acquisition
|
||||
DEVCB_NULL, // clock out
|
||||
DEVCB_NULL, // HOLDA
|
||||
DEVCB_NULL, // DBIN
|
||||
INTERNAL_RAM, // use internal RAM
|
||||
NO_OVERFLOW_INT // The generally available versions of TMS9995 have a deactivated overflow interrupt
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_START( jpmmps, jpmmps_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", TMS9995L, MAIN_CLOCK)
|
||||
MCFG_CPU_PROGRAM_MAP(jpmmps_map)
|
||||
MCFG_CPU_IO_MAP(jpmmps_io_map)
|
||||
MCFG_TMS99xx_ADD("maincpu", TMS9995, MAIN_CLOCK, jpmmps_map, jpmmps_io_map, cpuconf95)
|
||||
|
||||
MCFG_I8255_ADD( "ppi8255_ic26", ppi8255_intf_ic26 )
|
||||
MCFG_I8255_ADD( "ppi8255_ic21", ppi8255_intf_ic21 )
|
||||
|
@ -22,7 +22,7 @@ System80 is based on the SRU platform, but with more outputs and finally a separ
|
||||
|
||||
|
||||
#include "emu.h"
|
||||
#include "cpu/tms9900/tms9900l.h"
|
||||
#include "cpu/tms9900/tms9995.h"
|
||||
#include "sound/ay8910.h"
|
||||
#include "machine/tms9902.h"
|
||||
|
||||
@ -88,13 +88,20 @@ static const tms9902_interface tms9902_config =
|
||||
DEVCB_NULL /* called for setting interface parameters and line states */
|
||||
};
|
||||
|
||||
static TMS9995_CONFIG( cpuconf95 )
|
||||
{
|
||||
DEVCB_NULL, // external op
|
||||
DEVCB_NULL, // Instruction acquisition
|
||||
DEVCB_NULL, // clock out
|
||||
DEVCB_NULL, // HOLDA
|
||||
DEVCB_NULL, // DBIN
|
||||
INTERNAL_RAM, // use internal RAM
|
||||
NO_OVERFLOW_INT // The generally available versions of TMS9995 have a deactivated overflow interrupt
|
||||
};
|
||||
|
||||
static MACHINE_CONFIG_START( jpms80, jpms80_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", TMS9995L, MAIN_CLOCK)
|
||||
MCFG_CPU_PROGRAM_MAP(jpms80_map)
|
||||
MCFG_CPU_IO_MAP(jpms80_io_map)
|
||||
|
||||
MCFG_TMS99xx_ADD("maincpu", TMS9995, MAIN_CLOCK, jpms80_map, jpms80_io_map, cpuconf95)
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
MCFG_TMS9902_ADD("tms9902duart", tms9902_config, DUART_CLOCK)
|
||||
|
@ -16,7 +16,7 @@ ToDo:
|
||||
*********************************************************************************/
|
||||
|
||||
#include "machine/genpin.h"
|
||||
#include "cpu/tms9900/tms9900l.h"
|
||||
#include "cpu/tms9900/tms9995.h"
|
||||
#include "sound/ay8910.h"
|
||||
#include "nsm.lh"
|
||||
|
||||
@ -48,10 +48,8 @@ private:
|
||||
static ADDRESS_MAP_START( nsm_map, AS_PROGRAM, 8, nsm_state )
|
||||
AM_RANGE(0x0000, 0x7fff) AM_ROM
|
||||
AM_RANGE(0xe000, 0xefff) AM_RAM
|
||||
AM_RANGE(0xf000, 0xf0fb) AM_READ_LEGACY(tms9995_internal1_r)
|
||||
AM_RANGE(0xffec, 0xffed) AM_DEVWRITE("ay1", ay8910_device, address_data_w)
|
||||
AM_RANGE(0xffee, 0xffef) AM_DEVWRITE("ay2", ay8910_device, address_data_w)
|
||||
AM_RANGE(0xfffc, 0xffff) AM_READ_LEGACY(tms9995_internal2_r)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( nsm_io_map, AS_IO, 8, nsm_state )
|
||||
@ -110,6 +108,16 @@ WRITE8_MEMBER( nsm_state::cru_w )
|
||||
}
|
||||
}
|
||||
|
||||
static TMS9995_CONFIG( cpuconf95 )
|
||||
{
|
||||
DEVCB_NULL, // external op
|
||||
DEVCB_NULL, // Instruction acquisition
|
||||
DEVCB_NULL, // clock out
|
||||
DEVCB_NULL, // HOLDA
|
||||
DEVCB_NULL, // DBIN
|
||||
INTERNAL_RAM, // use internal RAM
|
||||
NO_OVERFLOW_INT // The generally available versions of TMS9995 have a deactivated overflow interrupt
|
||||
};
|
||||
|
||||
void nsm_state::machine_reset()
|
||||
{
|
||||
@ -117,9 +125,7 @@ void nsm_state::machine_reset()
|
||||
|
||||
static MACHINE_CONFIG_START( nsm, nsm_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", TMS9995L, 11052000)
|
||||
MCFG_CPU_PROGRAM_MAP(nsm_map)
|
||||
MCFG_CPU_IO_MAP(nsm_io_map)
|
||||
MCFG_TMS99xx_ADD("maincpu", TMS9995, 11052000, nsm_map, nsm_io_map, cpuconf95)
|
||||
|
||||
/* Video */
|
||||
MCFG_DEFAULT_LAYOUT(layout_nsm)
|
||||
|
Loading…
Reference in New Issue
Block a user