(nw) sorry, take 2

screen.h: added constructor for SVG screens and removed a couple of macros (nw)
mame\drivers: remove most MCFG and MACHINE_CONFIG macros from drivers starting with P, Q and R (nw)
This commit is contained in:
Ivan Vangelista 2019-02-25 21:11:25 +01:00
parent 1c65b65560
commit bb815543a6
139 changed files with 2571 additions and 2565 deletions

View File

@ -183,6 +183,12 @@ public:
set_type(type);
set_color(color);
}
screen_device(const machine_config &mconfig, const char *tag, device_t *owner, const char *region)
: screen_device(mconfig, tag, owner, u32(0))
{
set_type(SCREEN_TYPE_SVG);
set_svg_region(region);
}
~screen_device();
// configuration readers
@ -532,11 +538,6 @@ typedef device_type_iterator<screen_device> screen_device_iterator;
#define MCFG_SCREEN_TYPE(_type) \
downcast<screen_device &>(*device).set_type(SCREEN_TYPE_##_type);
#define MCFG_SCREEN_SVG_ADD(_tag, _region) \
MCFG_DEVICE_ADD(_tag, SCREEN, 0) \
MCFG_SCREEN_TYPE(SVG) \
downcast<screen_device &>(*device).set_svg_region(_region);
#define MCFG_SCREEN_RAW_PARAMS(_pixclock, _htotal, _hbend, _hbstart, _vtotal, _vbend, _vbstart) \
downcast<screen_device &>(*device).set_raw(_pixclock, _htotal, _hbend, _hbstart, _vtotal, _vbend, _vbstart);
@ -551,8 +552,6 @@ typedef device_type_iterator<screen_device> screen_device_iterator;
#define MCFG_SCREEN_VISIBLE_AREA(_minx, _maxx, _miny, _maxy) \
downcast<screen_device &>(*device).set_visarea(_minx, _maxx, _miny, _maxy);
#define MCFG_SCREEN_DEFAULT_POSITION(_xscale, _xoffs, _yscale, _yoffs) \
downcast<screen_device &>(*device).set_default_position(_xscale, _xoffs, _yscale, _yoffs);
#define MCFG_SCREEN_UPDATE_DRIVER(_class, _method) \
downcast<screen_device &>(*device).set_screen_update(&_class::_method, #_class "::" #_method);
#define MCFG_SCREEN_UPDATE_DEVICE(_device, _class, _method) \

View File

@ -294,8 +294,8 @@ static INPUT_PORTS_START( cfrogger )
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_melps4_state, reset_button, nullptr)
INPUT_PORTS_END
MACHINE_CONFIG_START(cfrogger_state::cfrogger)
void cfrogger_state::cfrogger(machine_config &config)
{
/* basic machine hardware */
M58846(config, m_maincpu, 600_kHz_XTAL);
m_maincpu->read_k().set(FUNC(cfrogger_state::input_r));
@ -306,17 +306,16 @@ MACHINE_CONFIG_START(cfrogger_state::cfrogger)
m_maincpu->write_t().set(FUNC(cfrogger_state::speaker_w));
/* video hardware */
MCFG_SCREEN_SVG_ADD("screen", "svg")
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_SIZE(500, 1080)
MCFG_SCREEN_VISIBLE_AREA(0, 500-1, 0, 1080-1)
screen_device &screen(SCREEN(config, "screen", "svg"));
screen.set_refresh_hz(50);
screen.set_size(500, 1080);
screen.set_visarea(0, 500-1, 0, 1080-1);
TIMER(config, "display_decay").configure_periodic(FUNC(hh_melps4_state::display_decay_tick), attotime::from_msec(1));
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
}
@ -409,8 +408,8 @@ static INPUT_PORTS_START( gjungler )
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_START ) PORT_CHANGED_MEMBER(DEVICE_SELF, hh_melps4_state, reset_button, nullptr)
INPUT_PORTS_END
MACHINE_CONFIG_START(gjungler_state::gjungler)
void gjungler_state::gjungler(machine_config &config)
{
/* basic machine hardware */
M58846(config, m_maincpu, 600_kHz_XTAL);
m_maincpu->read_k().set(FUNC(gjungler_state::input_r));
@ -422,17 +421,16 @@ MACHINE_CONFIG_START(gjungler_state::gjungler)
m_maincpu->write_t().set(FUNC(gjungler_state::speaker_w));
/* video hardware */
MCFG_SCREEN_SVG_ADD("screen", "svg")
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_SIZE(481, 1080)
MCFG_SCREEN_VISIBLE_AREA(0, 481-1, 0, 1080-1)
screen_device &screen(SCREEN(config, "screen", "svg"));
screen.set_refresh_hz(50);
screen.set_size(481, 1080);
screen.set_visarea(0, 481-1, 0, 1080-1);
TIMER(config, "display_decay").configure_periodic(FUNC(hh_melps4_state::display_decay_tick), attotime::from_msec(1));
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
}

View File

@ -90,25 +90,24 @@ uint32_t p112_state::screen_update_p112(screen_device &screen, bitmap_ind16 &bit
return 0;
}
MACHINE_CONFIG_START(p112_state::p112)
void p112_state::p112(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu",Z180, XTAL(16'000'000))
MCFG_DEVICE_PROGRAM_MAP(p112_mem)
MCFG_DEVICE_IO_MAP(p112_io)
Z180(config, m_maincpu, XTAL(16'000'000));
m_maincpu->set_addrmap(AS_PROGRAM, &p112_state::p112_mem);
m_maincpu->set_addrmap(AS_IO, &p112_state::p112_io);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(240, 320)
MCFG_SCREEN_VISIBLE_AREA(0, 240-1, 0, 320-1)
MCFG_SCREEN_UPDATE_DRIVER(p112_state, screen_update_p112)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(50);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
screen.set_size(240, 320);
screen.set_visarea(0, 240-1, 0, 320-1);
screen.set_screen_update(FUNC(p112_state::screen_update_p112));
screen.set_palette("palette");
PALETTE(config, "palette", palette_device::MONOCHROME);
MACHINE_CONFIG_END
}
/* ROM definition */
ROM_START( p112 )

View File

@ -221,20 +221,21 @@ READ8_MEMBER( p2000t_state::videoram_r )
}
/* Machine definition */
MACHINE_CONFIG_START(p2000t_state::p2000t)
void p2000t_state::p2000t(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, 2500000)
MCFG_DEVICE_PROGRAM_MAP(p2000t_mem)
MCFG_DEVICE_IO_MAP(p2000t_io)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", p2000t_state, p2000_interrupt)
Z80(config, m_maincpu, 2500000);
m_maincpu->set_addrmap(AS_PROGRAM, &p2000t_state::p2000t_mem);
m_maincpu->set_addrmap(AS_IO, &p2000t_state::p2000t_io);
m_maincpu->set_vblank_int("screen", FUNC(p2000t_state::p2000_interrupt));
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
MCFG_SCREEN_SIZE(40 * 12, 24 * 20)
MCFG_SCREEN_VISIBLE_AREA(0, 40 * 12 - 1, 0, 24 * 20 - 1)
MCFG_SCREEN_UPDATE_DEVICE("saa5050", saa5050_device, screen_update)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(50);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500));
screen.set_size(40 * 12, 24 * 20);
screen.set_visarea(0, 40 * 12 - 1, 0, 24 * 20 - 1);
screen.set_screen_update("saa5050", FUNC(saa5050_device::screen_update));
saa5050_device &saa5050(SAA5050(config, "saa5050", 6000000));
saa5050.d_cb().set(FUNC(p2000t_state::videoram_r));
@ -242,28 +243,28 @@ MACHINE_CONFIG_START(p2000t_state::p2000t)
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
}
/* Machine definition */
MACHINE_CONFIG_START(p2000m_state::p2000m)
void p2000m_state::p2000m(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, 2500000)
MCFG_DEVICE_PROGRAM_MAP(p2000m_mem)
MCFG_DEVICE_IO_MAP(p2000t_io)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", p2000m_state, p2000_interrupt)
Z80(config, m_maincpu, 2500000);
m_maincpu->set_addrmap(AS_PROGRAM, &p2000m_state::p2000m_mem);
m_maincpu->set_addrmap(AS_IO, &p2000m_state::p2000t_io);
m_maincpu->set_vblank_int("screen", FUNC(p2000m_state::p2000_interrupt));
config.m_minimum_quantum = attotime::from_hz(60);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(80 * 12, 24 * 20)
MCFG_SCREEN_VISIBLE_AREA(0, 80 * 12 - 1, 0, 24 * 20 - 1)
MCFG_SCREEN_UPDATE_DRIVER(p2000m_state, screen_update_p2000m)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(50);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
screen.set_size(80 * 12, 24 * 20);
screen.set_visarea(0, 80 * 12 - 1, 0, 24 * 20 - 1);
screen.set_screen_update(FUNC(p2000m_state::screen_update_p2000m));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_p2000m);
PALETTE(config, m_palette, FUNC(p2000m_state::p2000m_palette), 4);
@ -271,7 +272,7 @@ MACHINE_CONFIG_START(p2000m_state::p2000m)
/* sound hardware */
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.25);
MACHINE_CONFIG_END
}
ROM_START(p2000t)

View File

@ -416,7 +416,8 @@ GFXDECODE_END
****************************************************************************/
MACHINE_CONFIG_START(p8k_state::p8k)
void p8k_state::p8k(machine_config &config)
{
/* basic machine hardware */
z80_device& maincpu(Z80(config, "maincpu", 16_MHz_XTAL / 4));
maincpu.set_daisy_config(p8k_daisy_chain);
@ -481,17 +482,17 @@ MACHINE_CONFIG_START(p8k_state::p8k)
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("beeper", BEEP, 3250)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
MACHINE_CONFIG_END
BEEP(config, "beeper", 3250).add_route(ALL_OUTPUTS, "mono", 0.5);
}
MACHINE_CONFIG_START(p8k_state::p8k_16)
void p8k_state::p8k_16(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z8001, XTAL(4'000'000) )
MCFG_DEVICE_PROGRAM_MAP(p8k_16_memmap)
MCFG_DEVICE_DATA_MAP(p8k_16_datamap)
MCFG_DEVICE_IO_MAP(p8k_16_iomap)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("p8k_16_daisy", p8k_16_daisy_device, irq_callback)
Z8001(config, m_maincpu, XTAL(4'000'000));
m_maincpu->set_addrmap(AS_PROGRAM, &p8k_state::p8k_16_memmap);
m_maincpu->set_addrmap(AS_DATA, &p8k_state::p8k_16_datamap);
m_maincpu->set_addrmap(AS_IO, &p8k_state::p8k_16_iomap);
m_maincpu->set_irq_acknowledge_callback("p8k_16_daisy", FUNC(p8k_16_daisy_device::irq_callback));
P8K_16_DAISY(config, m_daisy, 0);
m_daisy->set_daisy_config(p8k_16_daisy_chain);
@ -531,9 +532,8 @@ MACHINE_CONFIG_START(p8k_state::p8k_16)
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("beeper", BEEP, 3250)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
MACHINE_CONFIG_END
BEEP(config, "beeper", 3250).add_route(ALL_OUTPUTS, "mono", 0.5);
}
/* ROM definition */
ROM_START( p8000 )

View File

@ -72,8 +72,8 @@ INPUT_PORTS_END
MACHINE_CONFIG_START(palestra_state::palestra)
MCFG_DEVICE_ADD("maincpu", NETLIST_CPU, NETLIST_CLOCK)
MCFG_NETLIST_SETUP(palestra)
NETLIST_CPU(config, m_maincpu, NETLIST_CLOCK);
m_maincpu->set_constructor(netlist_palestra);
MCFG_NETLIST_ANALOG_OUTPUT("maincpu", "vid0", "videomix", fixedfreq_device, update_composite_monochrome, "fixfreq")

View File

@ -288,19 +288,19 @@ void palmz22_state::init_palmz22()
{
}
MACHINE_CONFIG_START(palmz22_state::palmz22)
MCFG_DEVICE_ADD(m_maincpu, ARM920T, 266000000)
MCFG_DEVICE_PROGRAM_MAP(map)
void palmz22_state::palmz22(machine_config &config)
{
ARM920T(config, m_maincpu, 266000000);
m_maincpu->set_addrmap(AS_PROGRAM, &palmz22_state::map);
MCFG_PALETTE_ADD("palette", 32768)
PALETTE(config, "palette").set_entries(32768);
MCFG_SCREEN_ADD("screen", LCD)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(160, 160)
MCFG_SCREEN_VISIBLE_AREA(0, 160 - 1, 0, 160 - 1)
MCFG_SCREEN_UPDATE_DEVICE("s3c2410", s3c2410_device, screen_update)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
screen.set_size(160, 160);
screen.set_visarea(0, 160 - 1, 0, 160 - 1);
screen.set_screen_update("s3c2410", FUNC(s3c2410_device::screen_update));
S3C2410(config, m_s3c2410, 12000000);
m_s3c2410->set_palette_tag("palette");
@ -317,7 +317,7 @@ MACHINE_CONFIG_START(palmz22_state::palmz22)
NAND(config, m_nand, 0);
m_nand->set_nand_type(nand_device::chip::K9F5608U0D_J);
m_nand->rnb_wr_callback().set(m_s3c2410, FUNC(s3c2410_device::frnb_w));
MACHINE_CONFIG_END
}
static INPUT_PORTS_START( palmz22 )
PORT_START( "PENB" )

View File

@ -179,21 +179,21 @@ void pangofun_state::machine_start()
{
}
MACHINE_CONFIG_START(pangofun_state::pangofun)
void pangofun_state::pangofun(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", I486, 25000000 ) /* I486 ?? Mhz (25 according to POST) */
MCFG_DEVICE_PROGRAM_MAP(pcat_map)
MCFG_DEVICE_IO_MAP(pcat_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb)
I486(config, m_maincpu, 25000000); /* I486 ?? Mhz (25 according to POST) */
m_maincpu->set_addrmap(AS_PROGRAM, &pangofun_state::pcat_map);
m_maincpu->set_addrmap(AS_IO, &pangofun_state::pcat_io);
m_maincpu->set_irq_acknowledge_callback("pic8259_1", FUNC(pic8259_device::inta_cb));
/* video hardware */
pcvideo_vga(config);
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
subdevice<screen_device>("screen")->set_refresh_hz(60);
subdevice<screen_device>("screen")->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
pcat_common(config);
MACHINE_CONFIG_END
}
ROM_START(pangofun)

View File

@ -602,22 +602,22 @@ TIMER_DEVICE_CALLBACK_MEMBER(panicr_state::scanline)
m_maincpu->set_input_line_and_vector(0, HOLD_LINE, 0xc8/4);
}
MACHINE_CONFIG_START(panicr_state::panicr)
MCFG_DEVICE_ADD("maincpu", V20,MASTER_CLOCK/2) /* Sony 8623h9 CXQ70116D-8 (V20 compatible) */
MCFG_DEVICE_PROGRAM_MAP(panicr_map)
void panicr_state::panicr(machine_config &config)
{
V20(config, m_maincpu, MASTER_CLOCK/2); /* Sony 8623h9 CXQ70116D-8 (V20 compatible) */
m_maincpu->set_addrmap(AS_PROGRAM, &panicr_state::panicr_map);
TIMER(config, "scantimer").configure_scanline(FUNC(panicr_state::scanline), "screen", 0, 1);
MCFG_DEVICE_ADD("t5182", T5182, 0)
T5182(config, m_t5182, 0);
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(32*8, 32*8)
// MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(panicr_state, screen_update)
MCFG_SCREEN_PALETTE(m_palette)
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
m_screen->set_size(32*8, 32*8);
// m_screen->set_visarea(0*8, 32*8-1, 0*8, 32*8-1);
m_screen->set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
m_screen->set_screen_update(FUNC(panicr_state::screen_update));
m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_panicr);
PALETTE(config, m_palette, FUNC(panicr_state::panicr_palette), 256 * 4, 256);
@ -629,7 +629,7 @@ MACHINE_CONFIG_START(panicr_state::panicr)
ymsnd.irq_handler().set(m_t5182, FUNC(t5182_device::ym2151_irq_handler));
ymsnd.add_route(0, "mono", 1.0);
ymsnd.add_route(1, "mono", 1.0);
MACHINE_CONFIG_END
}
ROM_START( panicr )

View File

@ -731,23 +731,23 @@ INTERRUPT_GEN_MEMBER(paradise_state::irq)
m_maincpu->set_input_line(INPUT_LINE_IRQ0, HOLD_LINE);
}
MACHINE_CONFIG_START(paradise_state::paradise)
void paradise_state::paradise(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, XTAL(12'000'000)/2) /* Z8400B - 6mhz Verified */
MCFG_DEVICE_PROGRAM_MAP(paradise_map)
MCFG_DEVICE_IO_MAP(paradise_io_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(paradise_state, irq, 4*54) /* No nmi routine, timing is confirmed (i.e. three timing irqs for each vblank irq */
Z80(config, m_maincpu, XTAL(12'000'000)/2); /* Z8400B - 6mhz Verified */
m_maincpu->set_addrmap(AS_PROGRAM, &paradise_state::paradise_map);
m_maincpu->set_addrmap(AS_IO, &paradise_state::paradise_io_map);
m_maincpu->set_periodic_int(FUNC(paradise_state::irq), attotime::from_hz(4*54)); /* No nmi routine, timing is confirmed (i.e. three timing irqs for each vblank irq */
/* video hardware */
MCFG_SCREEN_ADD(m_screen, RASTER)
MCFG_SCREEN_REFRESH_RATE(54) /* 54 verified */
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */ /* we're using PORT_VBLANK */)
MCFG_SCREEN_SIZE(256, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0+16, 256-1-16)
MCFG_SCREEN_UPDATE_DRIVER(paradise_state, screen_update_paradise)
MCFG_SCREEN_PALETTE(m_palette)
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(54); /* 54 verified */
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */ /* we're using PORT_VBLANK */);
m_screen->set_size(256, 256);
m_screen->set_visarea(0, 256-1, 0+16, 256-1-16);
m_screen->set_screen_update(FUNC(paradise_state::screen_update_paradise));
m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_paradise);
PALETTE(config, m_palette).set_entries(0x800 + 16);
@ -756,34 +756,32 @@ MACHINE_CONFIG_START(paradise_state::paradise)
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki1", OKIM6295, XTAL(12'000'000)/12, okim6295_device::PIN7_HIGH) /* verified on pcb */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
OKIM6295(config, "oki1", XTAL(12'000'000)/12, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.50); /* verified on pcb */
MCFG_DEVICE_ADD("oki2", OKIM6295, XTAL(12'000'000)/12, okim6295_device::PIN7_HIGH) /* verified on pcb */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MACHINE_CONFIG_END
OKIM6295(config, m_oki2, XTAL(12'000'000)/12, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.50); /* verified on pcb */
}
MACHINE_CONFIG_START(paradise_state::tgtball)
void paradise_state::tgtball(machine_config &config)
{
paradise(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(tgtball_map)
MACHINE_CONFIG_END
m_maincpu->set_addrmap(AS_PROGRAM, &paradise_state::tgtball_map);
}
MACHINE_CONFIG_START(paradise_state::torus)
void paradise_state::torus(machine_config &config)
{
paradise(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(torus_map)
MCFG_DEVICE_IO_MAP(torus_io_map)
m_maincpu->set_addrmap(AS_PROGRAM, &paradise_state::torus_map);
m_maincpu->set_addrmap(AS_IO, &paradise_state::torus_io_map);
m_gfxdecode->set_info(gfx_torus);
m_screen->set_screen_update(FUNC(paradise_state::screen_update_torus));
config.device_remove("oki2");
MACHINE_CONFIG_END
}
void paradise_state::madball(machine_config &config)
{
@ -794,14 +792,14 @@ void paradise_state::madball(machine_config &config)
m_screen->set_screen_update(FUNC(paradise_state::screen_update_madball));
}
MACHINE_CONFIG_START(paradise_state::penky)
void paradise_state::penky(machine_config &config)
{
paradise(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(torus_map)
MCFG_DEVICE_IO_MAP(torus_io_map)
MACHINE_CONFIG_END
m_maincpu->set_addrmap(AS_PROGRAM, &paradise_state::torus_map);
m_maincpu->set_addrmap(AS_IO, &paradise_state::torus_io_map);
}
void paradise_state::penkyi(machine_config &config)

View File

@ -165,7 +165,8 @@ WRITE_LINE_MEMBER(paranoia_state::i8155_timer_out)
//logerror("Timer out %d\n", state);
}
MACHINE_CONFIG_START(paranoia_state::paranoia)
void paranoia_state::paranoia(machine_config &config)
{
/* basic machine hardware */
H6280(config, m_maincpu, PCE_MAIN_CLOCK/3);
m_maincpu->set_addrmap(AS_PROGRAM, &paranoia_state::pce_mem);
@ -177,13 +178,13 @@ MACHINE_CONFIG_START(paranoia_state::paranoia)
config.m_minimum_quantum = attotime::from_hz(60);
MCFG_DEVICE_ADD("sub", I8085A, 18000000/3)
MCFG_DEVICE_PROGRAM_MAP(paranoia_8085_map)
MCFG_DEVICE_IO_MAP(paranoia_8085_io_map)
i8085a_cpu_device &sub(I8085A(config, "sub", 18000000/3));
sub.set_addrmap(AS_PROGRAM, &paranoia_state::paranoia_8085_map);
sub.set_addrmap(AS_IO, &paranoia_state::paranoia_8085_io_map);
MCFG_DEVICE_ADD("sub2", Z80, 18000000/6)
MCFG_DEVICE_PROGRAM_MAP(paranoia_z80_map)
MCFG_DEVICE_IO_MAP(paranoia_z80_io_map)
z80_device &sub2(Z80(config, "sub2", 18000000/6));
sub2.set_addrmap(AS_PROGRAM, &paranoia_state::paranoia_z80_map);
sub2.set_addrmap(AS_IO, &paranoia_state::paranoia_z80_io_map);
i8155_device &i8155(I8155(config, "i8155", 1000000 /*?*/));
i8155.out_pa_callback().set(FUNC(paranoia_state::i8155_a_w));
@ -192,10 +193,10 @@ MACHINE_CONFIG_START(paranoia_state::paranoia)
i8155.out_to_callback().set(FUNC(paranoia_state::i8155_timer_out));
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(PCE_MAIN_CLOCK, huc6260_device::WPF, 64, 64 + 1024 + 64, huc6260_device::LPF, 18, 18 + 242)
MCFG_SCREEN_UPDATE_DRIVER( pce_common_state, screen_update )
MCFG_SCREEN_PALETTE("huc6260")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_raw(PCE_MAIN_CLOCK, huc6260_device::WPF, 64, 64 + 1024 + 64, huc6260_device::LPF, 18, 18 + 242);
screen.set_screen_update(FUNC(pce_common_state::screen_update));
screen.set_palette(m_huc6260);
HUC6260(config, m_huc6260, PCE_MAIN_CLOCK);
m_huc6260->next_pixel_data().set("huc6270", FUNC(huc6270_device::next_pixel));
@ -209,7 +210,7 @@ MACHINE_CONFIG_START(paranoia_state::paranoia)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
MACHINE_CONFIG_END
}
ROM_START(paranoia)
ROM_REGION( 0x40000, "maincpu", 0 )

View File

@ -398,41 +398,39 @@ void pasha2_state::machine_reset()
m_vbuffer = 0;
}
MACHINE_CONFIG_START(pasha2_state::pasha2)
void pasha2_state::pasha2(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", E116XT, 20000000*4) /* 4x internal multiplier */
MCFG_DEVICE_PROGRAM_MAP(pasha2_map)
MCFG_DEVICE_IO_MAP(pasha2_io)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", pasha2_state, irq0_line_hold)
E116XT(config, m_maincpu, 20000000*4); /* 4x internal multiplier */
m_maincpu->set_addrmap(AS_PROGRAM, &pasha2_state::pasha2_map);
m_maincpu->set_addrmap(AS_IO, &pasha2_state::pasha2_io);
m_maincpu->set_vblank_int("screen", FUNC(pasha2_state::irq0_line_hold));
MCFG_DEVICE_ADD("audiocpu", AT89C52, 12000000) /* clock from docs */
AT89C52(config, m_audiocpu, 12000000); /* clock from docs */
/* TODO : ports are unimplemented; P0,P1,P2,P3 and Serial Port Used */
EEPROM_93C46_16BIT(config, "eeprom");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(512, 512)
MCFG_SCREEN_VISIBLE_AREA(0, 383, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(pasha2_state, screen_update_pasha2)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(512, 512);
screen.set_visarea(0, 383, 0, 239);
screen.set_screen_update(FUNC(pasha2_state::screen_update_pasha2));
screen.set_palette(m_palette);
PALETTE(config, m_palette).set_entries(0x200);
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki1", OKIM6295, 1000000, okim6295_device::PIN7_HIGH)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
OKIM6295(config, m_oki[0], 1000000, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.0);
MCFG_DEVICE_ADD("oki2", OKIM6295, 1000000, okim6295_device::PIN7_HIGH)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
OKIM6295(config, m_oki[1], 1000000, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.0);
//and ATMEL DREAM SAM9773
MACHINE_CONFIG_END
}
ROM_START( pasha2 )
ROM_REGION16_BE( 0x80000, "maincpu", 0 ) /* Hyperstone CPU Code */

View File

@ -304,25 +304,25 @@ WRITE8_MEMBER(paso1600_state::pc_dma_write_byte)
space.write_byte(offset, data);
}
MACHINE_CONFIG_START(paso1600_state::paso1600)
void paso1600_state::paso1600(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", I8086, 16000000/2)
MCFG_DEVICE_PROGRAM_MAP(paso1600_map)
MCFG_DEVICE_IO_MAP(paso1600_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("pic8259", pic8259_device, inta_cb)
I8086(config, m_maincpu, 16000000/2);
m_maincpu->set_addrmap(AS_PROGRAM, &paso1600_state::paso1600_map);
m_maincpu->set_addrmap(AS_IO, &paso1600_state::paso1600_io);
m_maincpu->set_irq_acknowledge_callback("pic8259", FUNC(pic8259_device::inta_cb));
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
MCFG_SCREEN_UPDATE_DRIVER(paso1600_state, screen_update_paso1600)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(50);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
screen.set_size(640, 480);
screen.set_visarea(0, 640-1, 0, 480-1);
screen.set_screen_update(FUNC(paso1600_state::screen_update_paso1600));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_paso1600);
MCFG_PALETTE_ADD("palette", 8)
// MCFG_PALETTE_INIT(black_and_white)
PALETTE(config, m_palette).set_entries(8);
/* Devices */
h46505_device &crtc(H46505(config, "crtc", 16000000/4)); /* unknown clock, hand tuned to get ~60 fps */
@ -336,7 +336,7 @@ MACHINE_CONFIG_START(paso1600_state::paso1600)
AM9517A(config, m_dma, 16000000/4);
m_dma->in_memr_callback().set(FUNC(paso1600_state::pc_dma_read_byte));
m_dma->out_memw_callback().set(FUNC(paso1600_state::pc_dma_write_byte));
MACHINE_CONFIG_END
}
ROM_START( paso1600 )
ROM_REGION16_LE(0x2000,"ipl", 0)

View File

@ -286,7 +286,8 @@ We preset all banks here, so that bankswitching will incur no speed penalty.
m_pio_timer->adjust(attotime::from_hz(50), 0, attotime::from_hz(50));
}
MACHINE_CONFIG_START(pasopia_state::pasopia)
void pasopia_state::pasopia(machine_config &config)
{
/* basic machine hardware */
Z80(config, m_maincpu, 4000000);
@ -295,14 +296,14 @@ MACHINE_CONFIG_START(pasopia_state::pasopia)
m_maincpu->set_daisy_config(pasopia_daisy);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
MCFG_SCREEN_UPDATE_DEVICE("crtc", h46505_device, screen_update)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
screen.set_size(640, 480);
screen.set_visarea(0, 640-1, 0, 480-1);
screen.set_screen_update("crtc", FUNC(h46505_device::screen_update));
GFXDECODE(config, "gfxdecode", m_palette, gfx_pasopia);
MCFG_PALETTE_ADD("palette", 8)
PALETTE(config, m_palette).set_entries(8);
/* Devices */
H46505(config, m_crtc, XTAL(4'000'000)/4); /* unknown clock, hand tuned to get ~60 fps */
@ -334,7 +335,7 @@ MACHINE_CONFIG_START(pasopia_state::pasopia)
m_pio->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0);
m_pio->out_pa_callback().set(FUNC(pasopia_state::mux_w));
m_pio->in_pb_callback().set(FUNC(pasopia_state::keyb_r));
MACHINE_CONFIG_END
}
/* ROM definition */
ROM_START( pasopia )

View File

@ -968,46 +968,50 @@ void pasopia7_state::p7_base(machine_config &config)
FLOPPY_CONNECTOR(config, "fdc:1", pasopia7_floppies, "525hd", floppy_image_device::default_floppy_formats);
}
MACHINE_CONFIG_START(pasopia7_state::p7_raster)
void pasopia7_state::p7_raster(machine_config &config)
{
p7_base(config);
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 32-1)
MCFG_SCREEN_PALETTE(m_palette)
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
m_screen->set_size(640, 480);
m_screen->set_visarea(0, 640-1, 0, 32-1);
m_screen->set_palette(m_palette);
m_screen->set_screen_update(FUNC(pasopia7_state::screen_update_pasopia7));
MCFG_VIDEO_START_OVERRIDE(pasopia7_state,pasopia7)
MCFG_SCREEN_UPDATE_DRIVER(pasopia7_state, screen_update_pasopia7)
PALETTE(config, m_palette, palette_device::BRG_3BIT);
GFXDECODE(config, "gfxdecode", m_palette, gfx_pasopia7);
H46505(config, m_crtc, VDP_CLOCK); /* unknown clock, hand tuned to get ~60 fps */
m_crtc->set_screen("screen");
m_crtc->set_screen(m_screen);
m_crtc->set_show_border_area(false);
m_crtc->set_char_width(8);
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(pasopia7_state::p7_lcd)
void pasopia7_state::p7_lcd(machine_config &config)
{
p7_base(config);
MCFG_SCREEN_ADD("screen", LCD)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 200-1)
SCREEN(config, m_screen, SCREEN_TYPE_LCD);
m_screen->set_refresh_hz(60);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
m_screen->set_size(640, 480);
m_screen->set_visarea(0, 640-1, 0, 200-1);
m_screen->set_screen_update(FUNC(pasopia7_state::screen_update_pasopia7));
m_screen->set_palette(m_palette);
MCFG_VIDEO_START_OVERRIDE(pasopia7_state,pasopia7)
MCFG_SCREEN_UPDATE_DRIVER(pasopia7_state, screen_update_pasopia7)
MCFG_SCREEN_PALETTE(m_palette)
PALETTE(config, m_palette, FUNC(pasopia7_state::p7_lcd_palette), 8);
GFXDECODE(config, "gfxdecode", m_palette, gfx_pasopia7);
H46505(config, m_crtc, LCD_CLOCK); /* unknown clock, hand tuned to get ~60 fps */
m_crtc->set_screen("screen");
m_crtc->set_screen(m_screen);
m_crtc->set_show_border_area(false);
m_crtc->set_char_width(8);
MACHINE_CONFIG_END
}
/* ROM definition */
ROM_START( pasopia7 )

View File

@ -241,26 +241,26 @@ static GFXDECODE_START( gfx_pass )
GFXDECODE_END
/* todo : is this correct? */
MACHINE_CONFIG_START(pass_state::pass)
void pass_state::pass(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 14318180/2 )
MCFG_DEVICE_PROGRAM_MAP(pass_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", pass_state, irq1_line_hold) /* all the same */
M68000(config, m_maincpu, 14318180/2);
m_maincpu->set_addrmap(AS_PROGRAM, &pass_state::pass_map);
m_maincpu->set_vblank_int("screen", FUNC(pass_state::irq1_line_hold)); /* all the same */
MCFG_DEVICE_ADD("audiocpu", Z80, 14318180/4 )
MCFG_DEVICE_PROGRAM_MAP(pass_sound_map)
MCFG_DEVICE_IO_MAP(pass_sound_io_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(pass_state, irq0_line_hold, 60) /* probably not accurate, unknown timing and generation (ym2203 sound chip?). */
z80_device &audiocpu(Z80(config, "audiocpu", 14318180/4));
audiocpu.set_addrmap(AS_PROGRAM, &pass_state::pass_sound_map);
audiocpu.set_addrmap(AS_IO, &pass_state::pass_sound_io_map);
audiocpu.set_periodic_int(FUNC(pass_state::irq0_line_hold), attotime::from_hz(60)); /* probably not accurate, unknown timing and generation (ym2203 sound chip?). */
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, 48*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(pass_state, screen_update_pass)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(64*8, 32*8);
screen.set_visarea(8*8, 48*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(pass_state::screen_update_pass));
screen.set_palette("palette");
PALETTE(config, "palette").set_format(palette_device::xRGB_555, 0x200);
GFXDECODE(config, m_gfxdecode, "palette", gfx_pass);
@ -271,12 +271,10 @@ MACHINE_CONFIG_START(pass_state::pass)
GENERIC_LATCH_8(config, "soundlatch");
MCFG_DEVICE_ADD("ymsnd", YM2203, 14318180/4)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
YM2203(config, "ymsnd", 14318180/4).add_route(ALL_OUTPUTS, "mono", 0.60);
MCFG_DEVICE_ADD("oki", OKIM6295, 792000, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
MACHINE_CONFIG_END
OKIM6295(config, "oki", 792000, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.60); // clock frequency & pin 7 not verified
}
ROM_START( pass )

View File

@ -397,26 +397,26 @@ static INPUT_PORTS_START( galds )
INPUT_PORTS_END
MACHINE_CONFIG_START(pastelg_state::pastelg)
void pastelg_state::pastelg(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, 19968000/4) /* unknown divider, galds definitely relies on this for correct voice pitch */
MCFG_DEVICE_PROGRAM_MAP(pastelg_map)
MCFG_DEVICE_IO_MAP(pastelg_io_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", pastelg_state, irq0_line_assert) // nmiclock not written, chip is 1411M1 instead of 1413M3
Z80(config, m_maincpu, 19968000/4); /* unknown divider, galds definitely relies on this for correct voice pitch */
m_maincpu->set_addrmap(AS_PROGRAM, &pastelg_state::pastelg_map);
m_maincpu->set_addrmap(AS_IO, &pastelg_state::pastelg_io_map);
m_maincpu->set_vblank_int("screen", FUNC(pastelg_state::irq0_line_assert)); // nmiclock not written, chip is 1411M1 instead of 1413M3
NB1413M3(config, m_nb1413m3, 0, NB1413M3_PASTELG);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(256, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 16, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(pastelg_state, screen_update_pastelg)
MCFG_SCREEN_PALETTE("palette")
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
m_screen->set_size(256, 256);
m_screen->set_visarea(0, 256-1, 16, 240-1);
m_screen->set_screen_update(FUNC(pastelg_state::screen_update_pastelg));
m_screen->set_palette("palette");
PALETTE(config, "palette", FUNC(pastelg_state::pastelg_palette), 32);
@ -432,7 +432,7 @@ MACHINE_CONFIG_START(pastelg_state::pastelg)
voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
MACHINE_CONFIG_END
}
/*
@ -457,25 +457,25 @@ Note
*/
MACHINE_CONFIG_START(pastelg_state::threeds)
void pastelg_state::threeds(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, 19968000/4) /* unknown divider, galds definitely relies on this for correct voice pitch */
MCFG_DEVICE_PROGRAM_MAP(pastelg_map)
MCFG_DEVICE_IO_MAP(threeds_io_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", pastelg_state, irq0_line_assert)
Z80(config, m_maincpu, 19968000/4); /* unknown divider, galds definitely relies on this for correct voice pitch */
m_maincpu->set_addrmap(AS_PROGRAM, &pastelg_state::pastelg_map);
m_maincpu->set_addrmap(AS_IO, &pastelg_state::threeds_io_map);
m_maincpu->set_vblank_int("screen", FUNC(pastelg_state::irq0_line_assert));
NB1413M3(config, m_nb1413m3, 0);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(256, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 16, 240-1)
MCFG_SCREEN_UPDATE_DRIVER(pastelg_state, screen_update_pastelg)
MCFG_SCREEN_PALETTE("palette")
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
m_screen->set_size(256, 256);
m_screen->set_visarea(0, 256-1, 16, 240-1);
m_screen->set_screen_update(FUNC(pastelg_state::screen_update_pastelg));
m_screen->set_palette("palette");
PALETTE(config, "palette", FUNC(pastelg_state::pastelg_palette), 32);
@ -491,7 +491,7 @@ MACHINE_CONFIG_START(pastelg_state::threeds)
voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
MACHINE_CONFIG_END
}
ROM_START( pastelg )

View File

@ -285,37 +285,36 @@ TIMER_DEVICE_CALLBACK_MEMBER(patapata_state::scanline)
if (param==128) m_maincpu->set_input_line(1, HOLD_LINE);
}
MACHINE_CONFIG_START(patapata_state::patapata)
void patapata_state::patapata(machine_config &config)
{
M68000(config, m_maincpu, 16_MHz_XTAL); // 16 MHz XTAL, 16 MHz CPU
m_maincpu->set_addrmap(AS_PROGRAM, &patapata_state::main_map);
m_maincpu->set_vblank_int("screen", FUNC(patapata_state::irq4_line_hold)); // 1 + 4 valid? (4 main VBL)
MCFG_DEVICE_ADD("maincpu", M68000, 16_MHz_XTAL) // 16 MHz XTAL, 16 MHz CPU
MCFG_DEVICE_PROGRAM_MAP(main_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", patapata_state, irq4_line_hold) // 1 + 4 valid? (4 main VBL)
TIMER(config, "scantimer").configure_scanline(FUNC(patapata_state::scanline), "screen", 0, 1);
GFXDECODE(config, m_gfxdecode, "palette", gfx_patapata);
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 64*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 60*8-1, 0*8, 44*8-1)
MCFG_SCREEN_UPDATE_DRIVER(patapata_state, screen_update)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(64*8, 64*8);
screen.set_visarea(0*8, 60*8-1, 0*8, 44*8-1);
screen.set_screen_update(FUNC(patapata_state::screen_update));
screen.set_palette("palette");
PALETTE(config, "palette").set_format(palette_device::RRRRGGGGBBBBRGBx, 0x600/2);
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki1", OKIM6295, 16_MHz_XTAL / 4, okim6295_device::PIN7_LOW) // not verified
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
OKIM6295(config, "oki1", 16_MHz_XTAL / 4, okim6295_device::PIN7_LOW).add_route(ALL_OUTPUTS, "mono", 0.40); // not verified
MCFG_DEVICE_ADD("oki2", OKIM6295, 16_MHz_XTAL / 4, okim6295_device::PIN7_LOW) // not verified
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40)
OKIM6295(config, "oki2", 16_MHz_XTAL / 4, okim6295_device::PIN7_LOW).add_route(ALL_OUTPUTS, "mono", 0.40); // not verified
nmk112_device &nmk112(NMK112(config, "nmk112", 0)); // or 212? difficult to read (maybe 212 is 2* 112?)
nmk112.set_rom0_tag("oki1");
nmk112.set_rom1_tag("oki2");
MACHINE_CONFIG_END
}
ROM_START( patapata )
ROM_REGION( 0x80000, "maincpu", 0 ) /* 68000 code */

View File

@ -448,8 +448,8 @@ static const z80_daisy_config daisy_chain[] =
{ nullptr }
};
MACHINE_CONFIG_START(pbaction_state::pbaction)
void pbaction_state::pbaction(machine_config &config)
{
/* basic machine hardware */
Z80(config, m_maincpu, 4_MHz_XTAL);
m_maincpu->set_addrmap(AS_PROGRAM, &pbaction_state::pbaction_map);
@ -463,14 +463,14 @@ MACHINE_CONFIG_START(pbaction_state::pbaction)
m_ctc->intr_callback().set_inputline(m_audiocpu, 0);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(pbaction_state, screen_update_pbaction)
MCFG_SCREEN_PALETTE(m_palette)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, pbaction_state, vblank_irq))
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(32*8, 32*8);
screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(pbaction_state::screen_update_pbaction));
screen.set_palette(m_palette);
screen.screen_vblank().set(FUNC(pbaction_state::vblank_irq));
GFXDECODE(config, m_gfxdecode, m_palette, gfx_pbaction);
PALETTE(config, m_palette).set_format(palette_device::xBGR_444, 256);
@ -483,7 +483,7 @@ MACHINE_CONFIG_START(pbaction_state::pbaction)
AY8910(config, "ay1", 12_MHz_XTAL/8).add_route(ALL_OUTPUTS, "mono", 0.25);
AY8910(config, "ay2", 12_MHz_XTAL/8).add_route(ALL_OUTPUTS, "mono", 0.25);
AY8910(config, "ay3", 12_MHz_XTAL/8).add_route(ALL_OUTPUTS, "mono", 0.25);
MACHINE_CONFIG_END
}
void pbaction_state::pbactionx(machine_config &config)
{

View File

@ -208,11 +208,11 @@ MACHINE_CONFIG_START(pc_state::pccga)
mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(pccga));
// FIXME: determine ISA bus clock
MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "cga", false)
MCFG_DEVICE_ADD("isa2", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "fdc_xt", false)
MCFG_DEVICE_ADD("isa3", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "lpt", false)
MCFG_DEVICE_ADD("isa4", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "com", false)
MCFG_DEVICE_ADD("isa5", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false)
ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, "cga", false);
ISA8_SLOT(config, "isa2", 0, "mb:isa", pc_isa8_cards, "fdc_xt", false);
ISA8_SLOT(config, "isa3", 0, "mb:isa", pc_isa8_cards, "lpt", false);
ISA8_SLOT(config, "isa4", 0, "mb:isa", pc_isa8_cards, "com", false);
ISA8_SLOT(config, "isa5", 0, "mb:isa", pc_isa8_cards, nullptr, false);
/* keyboard */
PC_KBDC_SLOT(config, "kbd", pc_xt_keyboards, STR_KBD_IBM_PC_XT_83).set_pc_kbdc_slot(subdevice("mb:pc_kbdc"));
@ -254,13 +254,12 @@ Expansion: 8087 FPU
******************************************************************************/
MACHINE_CONFIG_START(pc_state::ataripc1)
void pc_state::ataripc1(machine_config &config)
{
pccga(config);
MCFG_DEVICE_MODIFY("isa1")
MCFG_SLOT_DEFAULT_OPTION("ega")
MCFG_DEVICE_MODIFY("isa2")
MCFG_SLOT_OPTION_MACHINE_CONFIG("fdc_xt", cfg_single_360K)
MACHINE_CONFIG_END
subdevice<isa8_slot_device>("isa1")->set_default_option("ega");
subdevice<isa8_slot_device>("isa2")->set_option_machine_config("fdc_xt", cfg_single_360K);
}
ROM_START ( ataripc1 )
ROM_REGION(0x10000,"bios", 0)
@ -356,13 +355,14 @@ ToDo: The ROM for the CGA is available (see ROM section)
******************************************************************************/
MACHINE_CONFIG_START(pc_state::mpc1600)
void pc_state::mpc1600(machine_config &config)
{
pccga(config);
MCFG_DEVICE_ADD("isa6", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false)
MCFG_DEVICE_ADD("isa7", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false)
MCFG_DEVICE_ADD("isa8", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false)
ISA8_SLOT(config, "isa6", 0, "mb:isa", pc_isa8_cards, nullptr, false);
ISA8_SLOT(config, "isa7", 0, "mb:isa", pc_isa8_cards, nullptr, false);
ISA8_SLOT(config, "isa8", 0, "mb:isa", pc_isa8_cards, nullptr, false);
subdevice<ram_device>(RAM_TAG)->set_default_size("128K").set_extra_options("256K, 512K, 640K");
MACHINE_CONFIG_END
}
ROM_START( mpc1600 )
ROM_REGION(0x10000,"bios", 0)
@ -408,12 +408,12 @@ CPU:
******************************************************************************/
MACHINE_CONFIG_START(pc_state::comport)
void pc_state::comport(machine_config &config)
{
pccga(config);
MCFG_DEVICE_MODIFY("isa1")
MCFG_SLOT_DEFAULT_OPTION("ega")
subdevice<isa8_slot_device>("isa1")->set_default_option("ega");
subdevice<ram_device>(RAM_TAG)->set_default_size("128K").set_extra_options("256K, 512K, 640K");
MACHINE_CONFIG_END
}
ROM_START( comport )
ROM_REGION(0x10000, "bios", 0)
@ -446,11 +446,11 @@ Expansion: Expansion box, with 5 ISA slots and space for a 5.25" drive and a har
******************************************************************************/
MACHINE_CONFIG_START(pc_state::dgone)
void pc_state::dgone(machine_config &config)
{
pccga(config);
MCFG_DEVICE_MODIFY("isa2")
MCFG_SLOT_OPTION_MACHINE_CONFIG("fdc_xt", cfg_dual_720K)
MACHINE_CONFIG_END
subdevice<isa8_slot_device>("isa2")->set_option_machine_config("fdc_xt", cfg_dual_720K);
}
ROM_START( dgone )
ROM_REGION(0x10000,"bios", 0)
@ -558,9 +558,8 @@ MACHINE_CONFIG_START(pc_state::epc)
pccga(config);
config.device_remove("maincpu");
MCFG_CPU_PC(pc8, epc, I8088, 4772720)
MCFG_DEVICE_MODIFY("isa1")
MCFG_SLOT_DEFAULT_OPTION("ega")
MCFG_DEVICE_ADD("i8251", I8251, 0) // clock?
subdevice<isa8_slot_device>("isa1")->set_default_option("ega");
I8251(config, "i8251", 0); // clock?
MACHINE_CONFIG_END
ROM_START( epc )
@ -623,10 +622,10 @@ MACHINE_CONFIG_START(pc_state::ibm5550)
mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(pccga));
// FIXME: determine ISA bus clock
MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "cga", false)
MCFG_DEVICE_ADD("isa2", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "fdc_xt", false)
MCFG_DEVICE_ADD("isa3", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "lpt", false)
MCFG_DEVICE_ADD("isa4", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "com", false)
ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, "cga", false);
ISA8_SLOT(config, "isa2", 0, "mb:isa", pc_isa8_cards, "fdc_xt", false);
ISA8_SLOT(config, "isa3", 0, "mb:isa", pc_isa8_cards, "lpt", false);
ISA8_SLOT(config, "isa4", 0, "mb:isa", pc_isa8_cards, "com", false);
/* keyboard */
PC_KBDC_SLOT(config, "kbd", pc_xt_keyboards, STR_KBD_IBM_PC_XT_83).set_pc_kbdc_slot(subdevice("mb:pc_kbdc"));
@ -681,20 +680,16 @@ Misc: A Kaypro 16/2 is a configuration without harddisk but with two floppy disk
******************************************************************************/
MACHINE_CONFIG_START(pc_state::kaypro16)
void pc_state::kaypro16(machine_config &config)
{
pccga(config);
MCFG_DEVICE_MODIFY("isa1")
MCFG_SLOT_FIXED(true)
MCFG_DEVICE_MODIFY("isa2")
MCFG_SLOT_FIXED(true)
MCFG_DEVICE_MODIFY("isa3")
MCFG_SLOT_FIXED(true)
MCFG_DEVICE_MODIFY("isa4")
MCFG_SLOT_FIXED(true)
MCFG_DEVICE_MODIFY("isa5")
MCFG_SLOT_DEFAULT_OPTION(nullptr)
subdevice<isa8_slot_device>("isa1")->set_fixed(true);
subdevice<isa8_slot_device>("isa2")->set_fixed(true);
subdevice<isa8_slot_device>("isa3")->set_fixed(true);
subdevice<isa8_slot_device>("isa4")->set_fixed(true);
subdevice<isa8_slot_device>("isa5")->set_default_option(nullptr);
subdevice<ram_device>(RAM_TAG)->set_default_size("256K").set_extra_options("512K, 640K");
MACHINE_CONFIG_END
}
ROM_START( kaypro16 )
ROM_REGION(0x10000, "bios", 0)
@ -706,11 +701,11 @@ ROM_END
******************************************************************************/
// MK-88
MACHINE_CONFIG_START(pc_state::mk88)
void pc_state::mk88(machine_config &config)
{
poisk2(config);
MCFG_DEVICE_MODIFY("isa1")
MCFG_SLOT_DEFAULT_OPTION("cga_ec1841")
MACHINE_CONFIG_END
subdevice<isa8_slot_device>("isa1")->set_default_option("cga_ec1841");
}
// MK-88
ROM_START( mk88 )
@ -751,14 +746,15 @@ Options: 8087 FPU, K101 memory upgrade in 64K steps, 1.2MB floppy and controller
******************************************************************************/
MACHINE_CONFIG_START(pc_state::ncrpc4i)
void pc_state::ncrpc4i(machine_config & config)
{
pccga(config);
//MCFG_DEVICE_MODIFY("mb:isa")
MCFG_DEVICE_ADD("isa6", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false) // FIXME: determine ISA bus clock
MCFG_DEVICE_ADD("isa7", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false)
ISA8_SLOT(config, "isa6", 0, "mb:isa", pc_isa8_cards, nullptr, false); // FIXME: determine ISA bus clock
ISA8_SLOT(config, "isa7", 0, "mb:isa", pc_isa8_cards, nullptr, false);
subdevice<ram_device>(RAM_TAG)->set_default_size("640K").set_extra_options("64K, 128K, 256K, 512K");
MACHINE_CONFIG_END
}
ROM_START( ncrpc4i )
ROM_REGION(0x10000,"bios", 0)
@ -789,14 +785,14 @@ static DEVICE_INPUT_DEFAULTS_START( m15 )
DEVICE_INPUT_DEFAULTS("DSW0", 0x01, 0x00)
DEVICE_INPUT_DEFAULTS_END
MACHINE_CONFIG_START(pc_state::m15)
void pc_state::m15(machine_config &config)
{
pccga(config);
subdevice<ibm5160_mb_device>("mb")->set_input_default(DEVICE_INPUT_DEFAULTS_NAME(m15));
MCFG_DEVICE_MODIFY("isa2")
MCFG_SLOT_OPTION_MACHINE_CONFIG("fdc_xt", cfg_dual_720K)
subdevice<isa8_slot_device>("isa2")->set_option_machine_config("fdc_xt", cfg_dual_720K);
subdevice<ram_device>(RAM_TAG)->set_default_size("448K").set_extra_options("16K, 160K, 304K");
MACHINE_CONFIG_END
}
ROM_START( olivm15 )
ROM_REGION(0x10000,"bios", 0)
@ -825,12 +821,9 @@ MACHINE_CONFIG_START(pc_state::olytext30)
pccga(config);
config.device_remove("maincpu");
MCFG_CPU_PC(pc8, pc8, V20, XTAL(14'318'181)/3) /* 4,77 MHz */
MCFG_DEVICE_MODIFY("isa2")
MCFG_SLOT_OPTION_MACHINE_CONFIG("fdc_xt", cfg_single_720K)
MCFG_DEVICE_MODIFY("isa3")
MCFG_SLOT_DEFAULT_OPTION("")
MCFG_DEVICE_MODIFY("isa5")
MCFG_SLOT_DEFAULT_OPTION("hdc")
subdevice<isa8_slot_device>("isa2")->set_option_machine_config("fdc_xt", cfg_single_720K);
subdevice<isa8_slot_device>("isa3")->set_default_option("");
subdevice<isa8_slot_device>("isa5")->set_default_option("hdc");
subdevice<ram_device>(RAM_TAG)->set_default_size("768K");
MACHINE_CONFIG_END
@ -852,10 +845,10 @@ MACHINE_CONFIG_START(pc_state::poisk2)
mb.set_cputag(m_maincpu);
mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(pccga));
MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "cga_poisk2", false) // FIXME: determine ISA bus clock
MCFG_DEVICE_ADD("isa2", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "fdc_xt", false)
MCFG_DEVICE_ADD("isa3", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "lpt", false)
MCFG_DEVICE_ADD("isa4", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "com", false)
ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, "cga_poisk2", false); // FIXME: determine ISA bus clock
ISA8_SLOT(config, "isa2", 0, "mb:isa", pc_isa8_cards, "fdc_xt", false);
ISA8_SLOT(config, "isa3", 0, "mb:isa", pc_isa8_cards, "lpt", false);
ISA8_SLOT(config, "isa4", 0, "mb:isa", pc_isa8_cards, "com", false);
/* keyboard */
PC_KBDC_SLOT(config, "kbd", pc_xt_keyboards, STR_KBD_IBM_PC_XT_83).set_pc_kbdc_slot(subdevice("mb:pc_kbdc"));
@ -944,12 +937,10 @@ MACHINE_CONFIG_START(pc_state::iskr3104)
mb.set_cputag(m_maincpu);
mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(iskr3104));
MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "ega", false) // FIXME: determine ISA bus clock
MCFG_SLOT_OPTION_DEFAULT_BIOS("ega", "iskr3104")
MCFG_DEVICE_ADD("isa2", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "fdc_xt", false)
MCFG_DEVICE_ADD("isa3", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "lpt", false)
MCFG_DEVICE_ADD("isa4", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "com", false)
ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, "ega", false).set_option_default_bios("ega", "iskr3104"); // FIXME: determine ISA bus clock
ISA8_SLOT(config, "isa2", 0, "mb:isa", pc_isa8_cards, "fdc_xt", false);
ISA8_SLOT(config, "isa3", 0, "mb:isa", pc_isa8_cards, "lpt", false);
ISA8_SLOT(config, "isa4", 0, "mb:isa", pc_isa8_cards, "com", false);
/* keyboard */
PC_KBDC_SLOT(config, "kbd", pc_xt_keyboards, STR_KBD_IBM_PC_XT_83).set_pc_kbdc_slot(subdevice("mb:pc_kbdc"));
@ -1022,12 +1013,12 @@ MACHINE_CONFIG_START(pc_state::siemens)
mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(siemens));
// FIXME: determine ISA bus clock
MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "hercules", false)
MCFG_DEVICE_ADD("isa2", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "fdc_xt", false)
MCFG_DEVICE_ADD("isa3", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "lpt", false)
MCFG_DEVICE_ADD("isa4", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "com", false)
MCFG_DEVICE_ADD("isa5", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "hdc", false)
MCFG_DEVICE_ADD("isa6", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false)
ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, "hercules", false);
ISA8_SLOT(config, "isa2", 0, "mb:isa", pc_isa8_cards, "fdc_xt", false);
ISA8_SLOT(config, "isa3", 0, "mb:isa", pc_isa8_cards, "lpt", false);
ISA8_SLOT(config, "isa4", 0, "mb:isa", pc_isa8_cards, "com", false);
ISA8_SLOT(config, "isa5", 0, "mb:isa", pc_isa8_cards, "hdc", false);
ISA8_SLOT(config, "isa6", 0, "mb:isa", pc_isa8_cards, nullptr, false);
/* keyboard */
PC_KBDC_SLOT(config, "kbd", pc_xt_keyboards, STR_KBD_IBM_PC_XT_83).set_pc_kbdc_slot(subdevice("mb:pc_kbdc"));
@ -1066,14 +1057,14 @@ MACHINE_CONFIG_START(pc_state::laser_turbo_xt)
mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(pccga));
// FIXME: determine ISA bus clock
MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "cga", false)
MCFG_DEVICE_ADD("isa2", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "com", false) // Multi I/O card (includes FDC)
MCFG_DEVICE_ADD("isa3", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "fdc_xt", false)
MCFG_DEVICE_ADD("isa4", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false)
MCFG_DEVICE_ADD("isa5", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false)
MCFG_DEVICE_ADD("isa6", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false)
MCFG_DEVICE_ADD("isa7", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false)
MCFG_DEVICE_ADD("isa8", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false)
ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, "cga", false);
ISA8_SLOT(config, "isa2", 0, "mb:isa", pc_isa8_cards, "com", false); // Multi I/O card (includes FDC)
ISA8_SLOT(config, "isa3", 0, "mb:isa", pc_isa8_cards, "fdc_xt", false);
ISA8_SLOT(config, "isa4", 0, "mb:isa", pc_isa8_cards, nullptr, false);
ISA8_SLOT(config, "isa5", 0, "mb:isa", pc_isa8_cards, nullptr, false);
ISA8_SLOT(config, "isa6", 0, "mb:isa", pc_isa8_cards, nullptr, false);
ISA8_SLOT(config, "isa7", 0, "mb:isa", pc_isa8_cards, nullptr, false);
ISA8_SLOT(config, "isa8", 0, "mb:isa", pc_isa8_cards, nullptr, false);
/* keyboard */
PC_KBDC_SLOT(config, "kbd", pc_xt_keyboards, STR_KBD_IBM_PC_XT_83).set_pc_kbdc_slot(subdevice("mb:pc_kbdc"));
@ -1145,11 +1136,10 @@ MACHINE_CONFIG_START(pc_state::zenith)
mb.set_cputag(m_maincpu);
mb.set_input_default(DEVICE_INPUT_DEFAULTS_NAME(pccga));
MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "cga", false) // FIXME: determine ISA bus clock
MCFG_DEVICE_ADD("isa2", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "fdc_xt", false)
MCFG_SLOT_OPTION_MACHINE_CONFIG("fdc_xt", cfg_dual_720K)
MCFG_DEVICE_ADD("isa3", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "lpt", false)
MCFG_DEVICE_ADD("isa4", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "com", false)
ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, "cga", false); // FIXME: determine ISA bus clock
ISA8_SLOT(config, "isa2", 0, "mb:isa", pc_isa8_cards, "fdc_xt", false).set_option_machine_config("fdc_xt", cfg_dual_720K);
ISA8_SLOT(config, "isa3", 0, "mb:isa", pc_isa8_cards, "lpt", false);
ISA8_SLOT(config, "isa4", 0, "mb:isa", pc_isa8_cards, "com", false);
/* keyboard */
PC_KBDC_SLOT(config, "kbd", pc_xt_keyboards, STR_KBD_IBM_PC_XT_83).set_pc_kbdc_slot(subdevice("mb:pc_kbdc"));

View File

@ -634,7 +634,8 @@ static void pc100_floppies(device_slot_interface &device)
#define MASTER_CLOCK 6988800
MACHINE_CONFIG_START(pc100_state::pc100)
void pc100_state::pc100(machine_config &config)
{
/* basic machine hardware */
I8086(config, m_maincpu, MASTER_CLOCK);
m_maincpu->set_addrmap(AS_PROGRAM, &pc100_state::pc100_map);
@ -681,11 +682,11 @@ MACHINE_CONFIG_START(pc100_state::pc100)
FLOPPY_CONNECTOR(config, "upd765:1", pc100_floppies, "525dd", floppy_image_device::default_floppy_formats);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
/* TODO: Unknown Pixel Clock and CRTC is dynamic */
MCFG_SCREEN_RAW_PARAMS(MASTER_CLOCK*4, 1024, 0, 768, 264*2, 0, 512)
MCFG_SCREEN_UPDATE_DRIVER(pc100_state, screen_update_pc100)
MCFG_SCREEN_PALETTE("palette")
screen.set_raw(MASTER_CLOCK*4, 1024, 0, 768, 264*2, 0, 512);
screen.set_screen_update(FUNC(pc100_state::screen_update_pc100));
screen.set_palette(m_palette);
GFXDECODE(config, "gfxdecode", m_palette, gfx_pc100);
PALETTE(config, m_palette).set_format(palette_device::xBGR_333, 16);
@ -693,7 +694,7 @@ MACHINE_CONFIG_START(pc100_state::pc100)
SPEAKER(config, "mono").front_center();
BEEP(config, m_beeper, 2400).add_route(ALL_OUTPUTS, "mono", 0.50);
MACHINE_CONFIG_END
}
/* ROM definition */
ROM_START( pc100 )

View File

@ -1152,14 +1152,15 @@ void pc1640_state::machine_start()
//**************************************************************************
//-------------------------------------------------
// MACHINE_CONFIG( pc1512 )
// machine_config( pc1512 )
//-------------------------------------------------
MACHINE_CONFIG_START(pc1512_state::pc1512)
MCFG_DEVICE_ADD(I8086_TAG, I8086, 24_MHz_XTAL / 3)
MCFG_DEVICE_PROGRAM_MAP(pc1512_mem)
MCFG_DEVICE_IO_MAP(pc1512_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE(I8259A2_TAG, pic8259_device, inta_cb)
void pc1512_state::pc1512(machine_config &config)
{
I8086(config, m_maincpu, 24_MHz_XTAL / 3);
m_maincpu->set_addrmap(AS_PROGRAM, &pc1512_state::pc1512_mem);
m_maincpu->set_addrmap(AS_IO, &pc1512_state::pc1512_io);
m_maincpu->set_irq_acknowledge_callback(I8259A2_TAG, FUNC(pic8259_device::inta_cb));
// video
pc1512_video(config);
@ -1252,9 +1253,9 @@ MACHINE_CONFIG_START(pc1512_state::pc1512)
isa.drq1_callback().set(I8237A5_TAG, FUNC(am9517a_device::dreq1_w));
isa.drq2_callback().set(I8237A5_TAG, FUNC(am9517a_device::dreq2_w));
isa.drq3_callback().set(I8237A5_TAG, FUNC(am9517a_device::dreq3_w));
MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, ISA_BUS_TAG, pc_isa8_cards, nullptr, false) // FIXME: determine ISA clock
MCFG_DEVICE_ADD("isa2", ISA8_SLOT, 0, ISA_BUS_TAG, pc_isa8_cards, nullptr, false)
MCFG_DEVICE_ADD("isa3", ISA8_SLOT, 0, ISA_BUS_TAG, pc_isa8_cards, nullptr, false)
ISA8_SLOT(config, "isa1", 0, ISA_BUS_TAG, pc_isa8_cards, nullptr, false); // FIXME: determine ISA clock
ISA8_SLOT(config, "isa2", 0, ISA_BUS_TAG, pc_isa8_cards, nullptr, false);
ISA8_SLOT(config, "isa3", 0, ISA_BUS_TAG, pc_isa8_cards, nullptr, false);
// internal ram
RAM(config, RAM_TAG).set_default_size("512K").set_extra_options("544K,576K,608K,640K");
@ -1262,41 +1263,42 @@ MACHINE_CONFIG_START(pc1512_state::pc1512)
// software list
SOFTWARE_LIST(config, "flop_list").set_original("pc1512_flop");
SOFTWARE_LIST(config, "hdd_list").set_original("pc1512_hdd");
MACHINE_CONFIG_END
}
//-------------------------------------------------
// MACHINE_CONFIG( pc1512dd )
// machine_config( pc1512dd )
//-------------------------------------------------
MACHINE_CONFIG_START(pc1512_state::pc1512dd)
void pc1512_state::pc1512dd(machine_config &config)
{
pc1512(config);
MCFG_DEVICE_MODIFY(PC_FDC_XT_TAG ":1")
MCFG_SLOT_DEFAULT_OPTION("525dd")
MACHINE_CONFIG_END
subdevice<floppy_connector>(PC_FDC_XT_TAG ":1")->set_default_option("525dd");
}
//-------------------------------------------------
// MACHINE_CONFIG( pc1512hd )
// machine_config( pc1512hd )
//-------------------------------------------------
MACHINE_CONFIG_START(pc1512_state::pc1512hd)
void pc1512_state::pc1512hd(machine_config &config)
{
pc1512(config);
MCFG_DEVICE_MODIFY("isa1")
//MCFG_SLOT_DEFAULT_OPTION("wdxt_gen")
MCFG_SLOT_DEFAULT_OPTION("hdc")
MACHINE_CONFIG_END
//subdevice<isa8_slot_device>("isa1")->set_default_option("wdxt_gen");
subdevice<isa8_slot_device>("isa1")->set_default_option("hdc");
}
//-------------------------------------------------
// MACHINE_CONFIG( pc1640 )
// machine_config( pc1640 )
//-------------------------------------------------
MACHINE_CONFIG_START(pc1640_state::pc1640)
MCFG_DEVICE_ADD(I8086_TAG, I8086, 24_MHz_XTAL / 3)
MCFG_DEVICE_PROGRAM_MAP(pc1640_mem)
MCFG_DEVICE_IO_MAP(pc1640_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE(I8259A2_TAG, pic8259_device, inta_cb)
void pc1640_state::pc1640(machine_config &config)
{
I8086(config, m_maincpu, 24_MHz_XTAL / 3);
m_maincpu->set_addrmap(AS_PROGRAM, &pc1640_state::pc1640_mem);
m_maincpu->set_addrmap(AS_IO, &pc1640_state::pc1640_io);
m_maincpu->set_irq_acknowledge_callback(I8259A2_TAG, FUNC(pic8259_device::inta_cb));
// sound
SPEAKER(config, "mono").front_center();
@ -1386,11 +1388,11 @@ MACHINE_CONFIG_START(pc1640_state::pc1640)
isa.drq1_callback().set(I8237A5_TAG, FUNC(am9517a_device::dreq1_w));
isa.drq2_callback().set(I8237A5_TAG, FUNC(am9517a_device::dreq2_w));
isa.drq3_callback().set(I8237A5_TAG, FUNC(am9517a_device::dreq3_w));
MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, ISA_BUS_TAG, pc_isa8_cards, nullptr, false) // FIXME: determine ISA bus clock
MCFG_DEVICE_ADD("isa2", ISA8_SLOT, 0, ISA_BUS_TAG, pc_isa8_cards, nullptr, false)
MCFG_DEVICE_ADD("isa3", ISA8_SLOT, 0, ISA_BUS_TAG, pc_isa8_cards, nullptr, false)
MCFG_DEVICE_ADD("isa4", ISA8_SLOT, 0, ISA_BUS_TAG, pc_isa8_cards, nullptr, false)
MCFG_DEVICE_ADD("isa5", ISA8_SLOT, 0, ISA_BUS_TAG, pc1640_isa8_cards, "iga", false)
ISA8_SLOT(config, "isa1", 0, ISA_BUS_TAG, pc_isa8_cards, nullptr, false); // FIXME: determine ISA bus clock
ISA8_SLOT(config, "isa2", 0, ISA_BUS_TAG, pc_isa8_cards, nullptr, false);
ISA8_SLOT(config, "isa3", 0, ISA_BUS_TAG, pc_isa8_cards, nullptr, false);
ISA8_SLOT(config, "isa4", 0, ISA_BUS_TAG, pc_isa8_cards, nullptr, false);
ISA8_SLOT(config, "isa5", 0, ISA_BUS_TAG, pc1640_isa8_cards, "iga", false);
// internal ram
RAM(config, RAM_TAG).set_default_size("640K");
@ -1398,30 +1400,30 @@ MACHINE_CONFIG_START(pc1640_state::pc1640)
// software list
SOFTWARE_LIST(config, "flop_list").set_original("pc1640_flop");
SOFTWARE_LIST(config, "hdd_list").set_original("pc1640_hdd");
MACHINE_CONFIG_END
}
//-------------------------------------------------
// MACHINE_CONFIG( pc1640dd )
// machine_config( pc1640dd )
//-------------------------------------------------
MACHINE_CONFIG_START(pc1640_state::pc1640dd)
void pc1640_state::pc1640dd(machine_config &config)
{
pc1640(config);
MCFG_DEVICE_MODIFY(PC_FDC_XT_TAG ":1")
MCFG_SLOT_DEFAULT_OPTION("525dd")
MACHINE_CONFIG_END
subdevice<floppy_connector>(PC_FDC_XT_TAG ":1")->set_default_option("525dd");
}
//-------------------------------------------------
// MACHINE_CONFIG( pc1640hd )
// machine_config( pc1640hd )
//-------------------------------------------------
MACHINE_CONFIG_START(pc1640_state::pc1640hd)
void pc1640_state::pc1640hd(machine_config &config)
{
pc1640(config);
MCFG_DEVICE_MODIFY("isa1")
//MCFG_SLOT_DEFAULT_OPTION("wdxt_gen")
MCFG_SLOT_DEFAULT_OPTION("hdc")
MACHINE_CONFIG_END
//subdevice<isa8_slot_device>("isa1")->set_default_option("wdxt_gen");
subdevice<isa8_slot_device>("isa1")->set_default_option("hdc");
}

View File

@ -957,7 +957,7 @@ void gl3000s_state::gl3000s(machine_config &config)
SOFTWARE_LIST(config, "gl2000_cart").set_compatible("gl2000");
SOFTWARE_LIST(config, "misterx_cart").set_compatible("misterx");
MACHINE_CONFIG_END
}
void gl4004_state::gl4000(machine_config &config)
{

View File

@ -217,19 +217,20 @@ void pc4_state::machine_start()
m_blink = 0;
}
MACHINE_CONFIG_START(pc4_state::pc4)
void pc4_state::pc4(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, XTAL(4'000'000))
MCFG_DEVICE_PROGRAM_MAP(pc4_mem)
MCFG_DEVICE_IO_MAP(pc4_io)
Z80(config, m_maincpu, XTAL(4'000'000));
m_maincpu->set_addrmap(AS_PROGRAM, &pc4_state::pc4_mem);
m_maincpu->set_addrmap(AS_IO, &pc4_state::pc4_io);
/* video hardware */
MCFG_SCREEN_ADD("screen", LCD)
MCFG_SCREEN_REFRESH_RATE(72)
MCFG_SCREEN_UPDATE_DRIVER(pc4_state, screen_update)
MCFG_SCREEN_SIZE(240, 36)
MCFG_SCREEN_VISIBLE_AREA(0, 240-1, 0, 36-1)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD));
screen.set_refresh_hz(72);
screen.set_screen_update(FUNC(pc4_state::screen_update));
screen.set_size(240, 36);
screen.set_visarea(0, 240-1, 0, 36-1);
screen.set_palette("palette");
PALETTE(config, "palette", FUNC(pc4_state::pc4_palette), 2);
GFXDECODE(config, "gfxdecode", "palette", gfx_pc4);
@ -239,7 +240,7 @@ MACHINE_CONFIG_START(pc4_state::pc4)
BEEP(config, m_beep, 3250).add_route(ALL_OUTPUTS, "mono", 1.00);
RP5C01(config, "rtc", XTAL(32'768));
MACHINE_CONFIG_END
}
ROM_START( pc4 )
ROM_REGION( 0x20000, "maincpu", 0 )

View File

@ -1470,25 +1470,26 @@ GFXDECODE_END
#define PC6001_MAIN_CLOCK 7987200
MACHINE_CONFIG_START(pc6001_state::pc6001)
void pc6001_state::pc6001(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu",Z80, PC6001_MAIN_CLOCK / 2) // PD 780C-1, ~4 Mhz
MCFG_DEVICE_PROGRAM_MAP(pc6001_map)
MCFG_DEVICE_IO_MAP(pc6001_io)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", pc6001_state, vrtc_irq)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(pc6001_state, irq_callback)
Z80(config, m_maincpu, PC6001_MAIN_CLOCK / 2); // PD 780C-1, ~4 Mhz
m_maincpu->set_addrmap(AS_PROGRAM, &pc6001_state::pc6001_map);
m_maincpu->set_addrmap(AS_IO, &pc6001_state::pc6001_io);
m_maincpu->set_vblank_int("screen", FUNC(pc6001_state::vrtc_irq));
m_maincpu->set_irq_acknowledge_callback(FUNC(pc6001_state::irq_callback));
// MCFG_DEVICE_ADD("subcpu", I8049, 7987200)
// I8049(config, "subcpu", 7987200);
GFXDECODE(config, "gfxdecode", m_palette, gfx_pc6001m2);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_UPDATE_DRIVER(pc6001_state, screen_update_pc6001)
MCFG_SCREEN_SIZE(320, 25+192+26)
MCFG_SCREEN_VISIBLE_AREA(0, 319, 0, 239)
MCFG_SCREEN_PALETTE(m_palette)
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
m_screen->set_screen_update(FUNC(pc6001_state::screen_update_pc6001));
m_screen->set_size(320, 25+192+26);
m_screen->set_visarea(0, 319, 0, 239);
m_screen->set_palette(m_palette);
PALETTE(config, m_palette, FUNC(pc6001_state::pc6001_palette), 16+4);
@ -1520,59 +1521,57 @@ MACHINE_CONFIG_START(pc6001_state::pc6001)
/* TODO: accurate timing on this */
TIMER(config, "keyboard_timer").configure_periodic(FUNC(pc6001_state::keyboard_callback), attotime::from_hz(250));
TIMER(config, "cassette_timer").configure_periodic(FUNC(pc6001_state::cassette_callback), attotime::from_hz(1200/12));
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(pc6001mk2_state::pc6001mk2)
void pc6001mk2_state::pc6001mk2(machine_config &config)
{
pc6001(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(pc6001mk2_map)
MCFG_DEVICE_IO_MAP(pc6001mk2_io)
m_maincpu->set_addrmap(AS_PROGRAM, &pc6001mk2_state::pc6001mk2_map);
m_maincpu->set_addrmap(AS_IO, &pc6001mk2_state::pc6001mk2_io);
// MCFG_MACHINE_RESET_OVERRIDE(pc6001mk2_state,pc6001mk2)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(pc6001mk2_state, screen_update_pc6001mk2)
m_screen->set_screen_update(FUNC(pc6001mk2_state::screen_update_pc6001mk2));
m_palette->set_entries(16+16);
m_palette->set_init(FUNC(pc6001mk2_state::pc6001mk2_palette));
subdevice<gfxdecode_device>("gfxdecode")->set_info(gfx_pc6001m2);
MCFG_DEVICE_ADD("upd7752", UPD7752, PC6001_MAIN_CLOCK/4)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
UPD7752(config, "upd7752", PC6001_MAIN_CLOCK/4).add_route(ALL_OUTPUTS, "mono", 1.00);
}
MACHINE_CONFIG_END
MACHINE_CONFIG_START(pc6601_state::pc6601)
void pc6601_state::pc6601(machine_config &config)
{
pc6001mk2(config);
/* basic machine hardware */
MCFG_DEVICE_REPLACE("maincpu", Z80, PC6001_MAIN_CLOCK / 2)
MCFG_DEVICE_PROGRAM_MAP(pc6001mk2_map)
MCFG_DEVICE_IO_MAP(pc6601_io)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", pc6001_state, vrtc_irq)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(pc6001_state, irq_callback)
MACHINE_CONFIG_END
Z80(config.replace(), m_maincpu, PC6001_MAIN_CLOCK / 2);
m_maincpu->set_addrmap(AS_PROGRAM, &pc6601_state::pc6001mk2_map);
m_maincpu->set_addrmap(AS_IO, &pc6601_state::pc6601_io);
m_maincpu->set_vblank_int("screen", FUNC(pc6001_state::vrtc_irq));
m_maincpu->set_irq_acknowledge_callback(FUNC(pc6001_state::irq_callback));
}
MACHINE_CONFIG_START(pc6001sr_state::pc6001sr)
void pc6001sr_state::pc6001sr(machine_config &config)
{
pc6001mk2(config);
/* basic machine hardware */
//*Yes*, PC-6001 SR Z80 CPU is actually slower than older models (better waitstates tho?)
MCFG_DEVICE_REPLACE("maincpu", Z80, XTAL(3'579'545))
MCFG_DEVICE_PROGRAM_MAP(pc6001sr_map)
MCFG_DEVICE_IO_MAP(pc6001sr_io)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", pc6001sr_state, sr_vrtc_irq)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(pc6001_state, irq_callback)
Z80(config.replace(), m_maincpu, XTAL(3'579'545));
m_maincpu->set_addrmap(AS_PROGRAM, &pc6001sr_state::pc6001sr_map);
m_maincpu->set_addrmap(AS_IO, &pc6001sr_state::pc6001sr_io);
m_maincpu->set_vblank_int("screen", FUNC(pc6001sr_state::sr_vrtc_irq));
m_maincpu->set_irq_acknowledge_callback(FUNC(pc6001_state::irq_callback));
// MCFG_MACHINE_RESET_OVERRIDE(pc6001sr_state,pc6001sr)
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(pc6001sr_state, screen_update_pc6001sr)
MACHINE_CONFIG_END
m_screen->set_screen_update(FUNC(pc6001sr_state::screen_update_pc6001sr));
}
/* ROM definition */
ROM_START( pc6001 )

View File

@ -479,23 +479,23 @@ void pc8001_state::machine_start()
/* Machine Drivers */
MACHINE_CONFIG_START(pc8001_state::pc8001)
void pc8001_state::pc8001(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD(Z80_TAG, Z80, XTAL(4'000'000))
MCFG_DEVICE_PROGRAM_MAP(pc8001_mem)
MCFG_DEVICE_IO_MAP(pc8001_io)
Z80(config, m_maincpu, XTAL(4'000'000));
m_maincpu->set_addrmap(AS_PROGRAM, &pc8001_state::pc8001_mem);
m_maincpu->set_addrmap(AS_IO, &pc8001_state::pc8001_io);
/* video hardware */
MCFG_SCREEN_ADD(SCREEN_TAG, RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_UPDATE_DEVICE(UPD3301_TAG, upd3301_device, screen_update)
MCFG_SCREEN_SIZE(640, 220)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 200-1)
screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_screen_update(UPD3301_TAG, FUNC(upd3301_device::screen_update));
screen.set_size(640, 220);
screen.set_visarea(0, 640-1, 0, 200-1);
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("beeper", BEEP, 2000)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
BEEP(config, m_beep, 2000).add_route(ALL_OUTPUTS, "mono", 0.25);
/* devices */
I8251(config, I8251_TAG, 0);
@ -526,25 +526,25 @@ MACHINE_CONFIG_START(pc8001_state::pc8001)
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED);
RAM(config, RAM_TAG).set_default_size("16K").set_extra_options("32K,64K");
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(pc8001mk2_state::pc8001mk2)
void pc8001mk2_state::pc8001mk2(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD(Z80_TAG, Z80, XTAL(4'000'000))
MCFG_DEVICE_PROGRAM_MAP(pc8001mk2_mem)
MCFG_DEVICE_IO_MAP(pc8001mk2_io)
Z80(config, m_maincpu, XTAL(4'000'000));
m_maincpu->set_addrmap(AS_PROGRAM, &pc8001mk2_state::pc8001mk2_mem);
m_maincpu->set_addrmap(AS_IO, &pc8001mk2_state::pc8001mk2_io);
/* video hardware */
MCFG_SCREEN_ADD(SCREEN_TAG, RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_UPDATE_DEVICE(UPD3301_TAG, upd3301_device, screen_update)
MCFG_SCREEN_SIZE(640, 220)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 200-1)
screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_screen_update(UPD3301_TAG, FUNC(upd3301_device::screen_update));
screen.set_size(640, 220);
screen.set_visarea(0, 640-1, 0, 200-1);
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("beeper", BEEP, 2000)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
BEEP(config, m_beep, 2000).add_route(ALL_OUTPUTS, "mono", 0.25);
/* devices */
I8251(config, I8251_TAG, 0);
@ -573,7 +573,7 @@ MACHINE_CONFIG_START(pc8001mk2_state::pc8001mk2)
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_MUTED);
RAM(config, RAM_TAG).set_default_size("64K");
MACHINE_CONFIG_END
}
/* ROMs */

View File

@ -570,11 +570,12 @@ WRITE8_MEMBER( pc8401a_state::ppi_pc_w )
/* Machine Drivers */
MACHINE_CONFIG_START(pc8401a_state::pc8401a)
void pc8401a_state::pc8401a(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD(Z80_TAG, Z80, 4000000) // NEC uPD70008C
MCFG_DEVICE_PROGRAM_MAP(pc8401a_mem)
MCFG_DEVICE_IO_MAP(pc8401a_io)
Z80(config, m_maincpu, 4000000); // NEC uPD70008C
m_maincpu->set_addrmap(AS_PROGRAM, &pc8401a_state::pc8401a_mem);
m_maincpu->set_addrmap(AS_IO, &pc8401a_state::pc8401a_io);
/* fake keyboard */
TIMER(config, "keyboard").configure_periodic(FUNC(pc8401a_state::pc8401a_keyboard_tick), attotime::from_hz(64));
@ -606,13 +607,14 @@ MACHINE_CONFIG_START(pc8401a_state::pc8401a)
/* internal ram */
RAM(config, RAM_TAG).set_default_size("64K").set_extra_options("96K");
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(pc8500_state::pc8500)
void pc8500_state::pc8500(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD(Z80_TAG, Z80, 4000000) // NEC uPD70008C
MCFG_DEVICE_PROGRAM_MAP(pc8401a_mem)
MCFG_DEVICE_IO_MAP(pc8500_io)
Z80(config, m_maincpu, 4000000); // NEC uPD70008C
m_maincpu->set_addrmap(AS_PROGRAM, &pc8500_state::pc8401a_mem);
m_maincpu->set_addrmap(AS_IO, &pc8500_state::pc8500_io);
/* fake keyboard */
TIMER(config, "keyboard").configure_periodic(FUNC(pc8401a_state::pc8401a_keyboard_tick), attotime::from_hz(64));
@ -644,7 +646,7 @@ MACHINE_CONFIG_START(pc8500_state::pc8500)
/* internal ram */
RAM(config, RAM_TAG).set_default_size("64K").set_extra_options("96K");
MACHINE_CONFIG_END
}
/* ROMs */

View File

@ -2340,18 +2340,19 @@ WRITE_LINE_MEMBER( pc8801_state::rxrdy_w )
// ...
}
MACHINE_CONFIG_START(pc8801_state::pc8801)
void pc8801_state::pc8801(machine_config &config)
{
/* main CPU */
MCFG_DEVICE_ADD("maincpu", Z80, MASTER_CLOCK) /* 4 MHz */
MCFG_DEVICE_PROGRAM_MAP(pc8801_mem)
MCFG_DEVICE_IO_MAP(pc8801_io)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", pc8801_state, pc8801_vrtc_irq)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(pc8801_state,pc8801_irq_callback)
Z80(config, m_maincpu, MASTER_CLOCK); /* 4 MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &pc8801_state::pc8801_mem);
m_maincpu->set_addrmap(AS_IO, &pc8801_state::pc8801_io);
m_maincpu->set_vblank_int("screen", FUNC(pc8801_state::pc8801_vrtc_irq));
m_maincpu->set_irq_acknowledge_callback(FUNC(pc8801_state::pc8801_irq_callback));
/* sub CPU(5 inch floppy drive) */
MCFG_DEVICE_ADD(m_fdccpu, Z80, MASTER_CLOCK) /* 4 MHz */
MCFG_DEVICE_PROGRAM_MAP(pc8801fdc_mem)
MCFG_DEVICE_IO_MAP(pc8801fdc_io)
Z80(config, m_fdccpu, MASTER_CLOCK); /* 4 MHz */
m_fdccpu->set_addrmap(AS_PROGRAM, &pc8801_state::pc8801fdc_mem);
m_fdccpu->set_addrmap(AS_IO, &pc8801_state::pc8801fdc_io);
//config.m_minimum_quantum = attotime::from_hz(300000);
config.m_perfect_cpu_quantum = subtag("maincpu");
@ -2390,10 +2391,10 @@ MACHINE_CONFIG_START(pc8801_state::pc8801)
SOFTWARE_LIST(config, "disk_list").set_original("pc8801_flop");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(PIXEL_CLOCK_24KHz,848,0,640,448,0,400)
MCFG_SCREEN_UPDATE_DRIVER(pc8801_state, screen_update)
MCFG_SCREEN_PALETTE(m_palette)
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_raw(PIXEL_CLOCK_24KHz,848,0,640,448,0,400);
m_screen->set_screen_update(FUNC(pc8801_state::screen_update));
m_screen->set_palette(m_palette);
GFXDECODE(config, "gfxdecode", m_palette, gfx_pc8801);
PALETTE(config, m_palette, FUNC(pc8801_state::pc8801_palette), 0x10);
@ -2414,26 +2415,28 @@ MACHINE_CONFIG_START(pc8801_state::pc8801)
m_opna->port_b_read_callback().set(FUNC(pc8801_state::opn_portb_r));
m_opna->add_route(ALL_OUTPUTS, "mono", 1.00);
MCFG_DEVICE_ADD("beeper", BEEP, 2400)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.10)
BEEP(config, m_beeper, 2400).add_route(ALL_OUTPUTS, "mono", 0.10);
TIMER(config, "rtc_timer").configure_periodic(FUNC(pc8801_state::pc8801_rtc_irq), attotime::from_hz(600));
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(pc8801_state::pc8801fh)
void pc8801_state::pc8801fh(machine_config &config)
{
pc8801(config);
MCFG_MACHINE_RESET_OVERRIDE(pc8801_state, pc8801_clock_speed )
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(pc8801_state::pc8801ma)
void pc8801_state::pc8801ma(machine_config &config)
{
pc8801(config);
MCFG_MACHINE_RESET_OVERRIDE(pc8801_state, pc8801_dic )
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(pc8801_state::pc8801mc)
void pc8801_state::pc8801mc(machine_config &config)
{
pc8801(config);
MCFG_MACHINE_RESET_OVERRIDE(pc8801_state, pc8801_cdrom )
MACHINE_CONFIG_END
}
/* TODO: clean this up */

View File

@ -1585,30 +1585,30 @@ WRITE8_MEMBER(pc88va_state::dma_memw_cb)
}
MACHINE_CONFIG_START(pc88va_state::pc88va)
MCFG_DEVICE_ADD("maincpu", V30, 8000000) /* 8 MHz */
MCFG_DEVICE_PROGRAM_MAP(pc88va_map)
MCFG_DEVICE_IO_MAP(pc88va_io_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", pc88va_state, pc88va_vrtc_irq)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("pic8259_master", pic8259_device, inta_cb)
void pc88va_state::pc88va(machine_config &config)
{
V30(config, m_maincpu, 8000000); /* 8 MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &pc88va_state::pc88va_map);
m_maincpu->set_addrmap(AS_IO, &pc88va_state::pc88va_io_map);
m_maincpu->set_vblank_int("screen", FUNC(pc88va_state::pc88va_vrtc_irq));
m_maincpu->set_irq_acknowledge_callback("pic8259_master", FUNC(pic8259_device::inta_cb));
#if TEST_SUBFDC
MCFG_DEVICE_ADD("fdccpu", Z80, 8000000) /* 8 MHz */
MCFG_DEVICE_PROGRAM_MAP(pc88va_z80_map)
MCFG_DEVICE_IO_MAP(pc88va_z80_io_map)
z80_device &fdccpu(Z80(config, "fdccpu", 8000000)); /* 8 MHz */
fdccpu.set_addrmap(AS_PROGRAM, &pc88va_state::pc88va_z80_map);
fdccpu.set_addrmap(AS_IO, &pc88va_state::pc88va_z80_io_map);
config.m_perfect_cpu_quantum = subtag("maincpu");
#endif
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 200-1)
MCFG_SCREEN_UPDATE_DRIVER(pc88va_state, screen_update_pc88va)
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
m_screen->set_size(640, 480);
m_screen->set_visarea(0, 640-1, 0, 200-1);
m_screen->set_screen_update(FUNC(pc88va_state::screen_update_pc88va));
MCFG_PALETTE_ADD("palette", 32)
// MCFG_PALETTE_INIT_OWNER(pc88va_state, pc8801 )
PALETTE(config, m_palette).set_entries(32);
// m_palette->set_init(FUNC(pc88va_state::pc8801));
GFXDECODE(config, m_gfxdecode, m_palette, gfx_pc88va);
i8255_device &d8255_2(I8255(config, "d8255_2"));
@ -1664,12 +1664,12 @@ MACHINE_CONFIG_START(pc88va_state::pc88va)
ADDRESS_MAP_BANK(config, "sysbank").set_map(&pc88va_state::sysbank_map).set_options(ENDIANNESS_LITTLE, 16, 18+4, 0x40000);
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("ym", YM2203, 3993600) //unknown clock / divider
MCFG_SOUND_ROUTE(0, "mono", 0.25)
MCFG_SOUND_ROUTE(1, "mono", 0.25)
MCFG_SOUND_ROUTE(2, "mono", 0.50)
MCFG_SOUND_ROUTE(3, "mono", 0.50)
MACHINE_CONFIG_END
ym2203_device &ym(YM2203(config, "ym", 3993600)); //unknown clock / divider
ym.add_route(0, "mono", 0.25);
ym.add_route(1, "mono", 0.25);
ym.add_route(2, "mono", 0.50);
ym.add_route(3, "mono", 0.50);
}
ROM_START( pc88va2 )

View File

@ -231,12 +231,13 @@ void pcat_nit_state::machine_start()
membank("rombank")->set_entry(0);
}
MACHINE_CONFIG_START(pcat_nit_state::pcat_nit)
void pcat_nit_state::pcat_nit(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", I386, 14318180*2) /* I386 ?? Mhz */
MCFG_DEVICE_PROGRAM_MAP(pcat_map)
MCFG_DEVICE_IO_MAP(pcat_nit_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb)
I386(config, m_maincpu, 14318180*2); /* I386 ?? Mhz */
m_maincpu->set_addrmap(AS_PROGRAM, &pcat_nit_state::pcat_map);
m_maincpu->set_addrmap(AS_IO, &pcat_nit_state::pcat_nit_io);
m_maincpu->set_irq_acknowledge_callback("pic8259_1", FUNC(pic8259_device::inta_cb));
/* video hardware */
pcvideo_vga(config);
@ -250,14 +251,15 @@ MACHINE_CONFIG_START(pcat_nit_state::pcat_nit)
MICROTOUCH(config, m_microtouch, 9600).stx().set(uart, FUNC(ins8250_uart_device::rx_w)); // rate?
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(pcat_nit_state::bonanza)
void pcat_nit_state::bonanza(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", I386, 14318180*2) /* I386 ?? Mhz */
MCFG_DEVICE_PROGRAM_MAP(bonanza_map)
MCFG_DEVICE_IO_MAP(bonanza_io_map)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb)
I386(config, m_maincpu, 14318180*2); /* I386 ?? Mhz */
m_maincpu->set_addrmap(AS_PROGRAM, &pcat_nit_state::bonanza_map);
m_maincpu->set_addrmap(AS_IO, &pcat_nit_state::bonanza_io_map);
m_maincpu->set_irq_acknowledge_callback("pic8259_1", FUNC(pic8259_device::inta_cb));
/* video hardware */
pcvideo_cirrus_gd5428(config);
@ -270,7 +272,7 @@ MACHINE_CONFIG_START(pcat_nit_state::bonanza)
MICROTOUCH(config, m_microtouch, 9600).stx().set(uart, FUNC(ins8250_uart_device::rx_w)); // rate?
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
MACHINE_CONFIG_END
}
/***************************************
*

View File

@ -944,21 +944,22 @@ void pce220_state::pce220_palette(palette_device &palette) const
}
MACHINE_CONFIG_START(pce220_state::pce220)
void pce220_state::pce220(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu",Z80, 3072000 ) // CMOS-SC7852
MCFG_DEVICE_PROGRAM_MAP(pce220_mem)
MCFG_DEVICE_IO_MAP(pce220_io)
Z80(config, m_maincpu, 3072000); // CMOS-SC7852
m_maincpu->set_addrmap(AS_PROGRAM, &pce220_state::pce220_mem);
m_maincpu->set_addrmap(AS_IO, &pce220_state::pce220_io);
/* video hardware */
// 4 lines x 24 characters, resp. 144 x 32 pixel
MCFG_SCREEN_ADD("screen", LCD)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_UPDATE_DRIVER(pce220_state, screen_update)
MCFG_SCREEN_SIZE(24*6, 4*8)
MCFG_SCREEN_VISIBLE_AREA(0, 24*6-1, 0, 4*8-1)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD));
screen.set_refresh_hz(50);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
screen.set_screen_update(FUNC(pce220_state::screen_update));
screen.set_size(24*6, 4*8);
screen.set_visarea(0, 24*6-1, 0, 4*8-1);
screen.set_palette("palette");
PALETTE(config, "palette", FUNC(pce220_state::pce220_palette), 2);
@ -974,23 +975,24 @@ MACHINE_CONFIG_START(pce220_state::pce220)
RAM(config, RAM_TAG).set_default_size("64K"); // 32K internal + 32K external card
PCE220SERIAL(config, m_serial, 0);
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(pcg850v_state::pcg815)
void pcg850v_state::pcg815(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu",Z80, XTAL(4'000'000) ) // 3.54MHz
MCFG_DEVICE_PROGRAM_MAP(pce220_mem)
MCFG_DEVICE_IO_MAP(pcg850v_io)
Z80(config, m_maincpu, XTAL(4'000'000)); // 3.54MHz
m_maincpu->set_addrmap(AS_PROGRAM, &pcg850v_state::pce220_mem);
m_maincpu->set_addrmap(AS_IO, &pcg850v_state::pcg850v_io);
/* video hardware */
// 4 lines x 24 characters, resp. 144 x 32 pixel
MCFG_SCREEN_ADD("screen", LCD)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_UPDATE_DRIVER(pcg850v_state, screen_update)
MCFG_SCREEN_SIZE(144, 32)
MCFG_SCREEN_VISIBLE_AREA(0, 144-1, 0, 32-1)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD));
screen.set_refresh_hz(50);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
screen.set_screen_update(FUNC(pcg850v_state::screen_update));
screen.set_size(144, 32);
screen.set_visarea(0, 144-1, 0, 32-1);
screen.set_palette("palette");
PALETTE(config, "palette", FUNC(pcg850v_state::pce220_palette), 2);
@ -1006,23 +1008,24 @@ MACHINE_CONFIG_START(pcg850v_state::pcg815)
RAM(config, RAM_TAG).set_default_size("64K"); // 32K internal + 32K external card
PCE220SERIAL(config, m_serial, 0);
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(pcg850v_state::pcg850v)
void pcg850v_state::pcg850v(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu",Z80, XTAL(8'000'000) ) // CMOS-SC7852
MCFG_DEVICE_PROGRAM_MAP(pce220_mem)
MCFG_DEVICE_IO_MAP(pcg850v_io)
Z80(config, m_maincpu, XTAL(8'000'000)); // CMOS-SC7852
m_maincpu->set_addrmap(AS_PROGRAM, &pcg850v_state::pce220_mem);
m_maincpu->set_addrmap(AS_IO, &pcg850v_state::pcg850v_io);
/* video hardware */
// 6 lines x 24 characters, resp. 144 x 48 pixel
MCFG_SCREEN_ADD("screen", LCD)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_UPDATE_DRIVER(pcg850v_state, screen_update)
MCFG_SCREEN_SIZE(144, 48)
MCFG_SCREEN_VISIBLE_AREA(0, 144-1, 0, 48-1)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD));
screen.set_refresh_hz(50);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
screen.set_screen_update(FUNC(pcg850v_state::screen_update));
screen.set_size(144, 48);
screen.set_visarea(0, 144-1, 0, 48-1);
screen.set_palette("palette");
PALETTE(config, "palette", FUNC(pcg850v_state::pce220_palette), 2);
@ -1038,7 +1041,7 @@ MACHINE_CONFIG_START(pcg850v_state::pcg850v)
RAM(config, RAM_TAG).set_default_size("64K"); // 32K internal + 32K external card
PCE220SERIAL(config, m_serial, 0);
MACHINE_CONFIG_END
}
/* ROM definition */
ROM_START( pce220 )

View File

@ -417,14 +417,15 @@ uint32_t pcfx_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap,
}
MACHINE_CONFIG_START(pcfx_state::pcfx)
MCFG_DEVICE_ADD( "maincpu", V810, XTAL(21'477'272) )
MCFG_DEVICE_PROGRAM_MAP( pcfx_mem)
MCFG_DEVICE_IO_MAP( pcfx_io)
void pcfx_state::pcfx(machine_config &config)
{
V810(config, m_maincpu, XTAL(21'477'272));
m_maincpu->set_addrmap(AS_PROGRAM, &pcfx_state::pcfx_mem);
m_maincpu->set_addrmap(AS_IO, &pcfx_state::pcfx_io);
MCFG_SCREEN_ADD( "screen", RASTER )
MCFG_SCREEN_UPDATE_DRIVER(pcfx_state, screen_update)
MCFG_SCREEN_RAW_PARAMS(XTAL(21'477'272), huc6261_device::WPF, 64, 64 + 1024 + 64, huc6261_device::LPF, 18, 18 + 242)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_screen_update(FUNC(pcfx_state::screen_update));
screen.set_raw(XTAL(21'477'272), huc6261_device::WPF, 64, 64 + 1024 + 64, huc6261_device::LPF, 18, 18 + 242);
huc6270_device &huc6270_a(HUC6270(config, "huc6270_a", 0));
huc6270_a.set_vram_size(0x20000);
@ -457,7 +458,7 @@ MACHINE_CONFIG_START(pcfx_state::pcfx)
huc6230.cdda_cb().set("huc6272", FUNC(huc6272_device::cdda_update));
huc6230.add_route(0, "lspeaker", 1.0);
huc6230.add_route(1, "rspeaker", 1.0);
MACHINE_CONFIG_END
}
ROM_START( pcfx )

View File

@ -270,7 +270,7 @@ void pcktgal_state::bootleg(machine_config &config)
pcktgal(config);
m_gfxdecode->set_info(gfx_bootleg);
subdevice<screen_device>("screen")->set_screen_update(FUNC(pcktgal_state::screen_update_pcktgalb));
MACHINE_CONFIG_END
}
void pcktgal_state::pcktgal2(machine_config &config)
{

View File

@ -256,7 +256,8 @@ static GFXDECODE_START( gfx_pcm )
GFXDECODE_ENTRY( "chargen", 0x0000, pcm_charlayout, 0, 1 )
GFXDECODE_END
MACHINE_CONFIG_START(pcm_state::pcm)
void pcm_state::pcm(machine_config &config)
{
/* basic machine hardware */
Z80(config, m_maincpu, XTAL(10'000'000) /4);
m_maincpu->set_addrmap(AS_PROGRAM, &pcm_state::pcm_mem);
@ -264,13 +265,13 @@ MACHINE_CONFIG_START(pcm_state::pcm)
m_maincpu->set_daisy_config(pcm_daisy_chain);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_UPDATE_DRIVER(pcm_state, screen_update)
MCFG_SCREEN_SIZE(64*8, 16*8)
MCFG_SCREEN_VISIBLE_AREA(0, 64*8-1, 0, 16*8-1)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(50);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
screen.set_screen_update(FUNC(pcm_state::screen_update));
screen.set_size(64*8, 16*8);
screen.set_visarea(0, 64*8-1, 0, 16*8-1);
screen.set_palette("palette");
GFXDECODE(config, "gfxdecode", "palette", gfx_pcm);
PALETTE(config, "palette", palette_device::MONOCHROME);
@ -304,7 +305,7 @@ MACHINE_CONFIG_START(pcm_state::pcm)
m_ctc_s->zc_callback<0>().append("sio", FUNC(z80sio_device::txca_w));
m_ctc_s->zc_callback<1>().set("sio", FUNC(z80sio_device::rxtxcb_w));
m_ctc_s->zc_callback<2>().set(FUNC(pcm_state::pcm_82_w)); // speaker
MACHINE_CONFIG_END
}
/* ROM definition */
ROM_START( pcm )

View File

@ -1010,11 +1010,12 @@ static void pcw16_com(device_slot_interface &device)
device.option_add("msystems_mouse", MSYSTEMS_HLE_SERIAL_MOUSE);
}
MACHINE_CONFIG_START(pcw16_state::pcw16)
void pcw16_state::pcw16(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, 16000000)
MCFG_DEVICE_PROGRAM_MAP(pcw16_map)
MCFG_DEVICE_IO_MAP(pcw16_io)
Z80(config, m_maincpu, 16000000);
m_maincpu->set_addrmap(AS_PROGRAM, &pcw16_state::pcw16_map);
m_maincpu->set_addrmap(AS_IO, &pcw16_state::pcw16_io);
config.m_minimum_quantum = attotime::from_hz(60);
ns16550_device &uart1(NS16550(config, "ns16550_1", XTAL(1'843'200))); /* TODO: Verify uart model */
@ -1043,13 +1044,13 @@ MACHINE_CONFIG_START(pcw16_state::pcw16)
serport2.cts_handler().set(m_uart2, FUNC(ins8250_uart_device::cts_w));
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(PCW16_SCREEN_WIDTH, PCW16_SCREEN_HEIGHT)
MCFG_SCREEN_VISIBLE_AREA(0, PCW16_SCREEN_WIDTH-1, 0, PCW16_SCREEN_HEIGHT-1)
MCFG_SCREEN_UPDATE_DRIVER(pcw16_state, screen_update_pcw16)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(50);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
screen.set_size(PCW16_SCREEN_WIDTH, PCW16_SCREEN_HEIGHT);
screen.set_visarea(0, PCW16_SCREEN_WIDTH-1, 0, PCW16_SCREEN_HEIGHT-1);
screen.set_screen_update(FUNC(pcw16_state::screen_update_pcw16));
screen.set_palette("palette");
PALETTE(config, "palette", FUNC(pcw16_state::pcw16_colours), PCW16_NUM_COLOURS);
@ -1081,7 +1082,7 @@ MACHINE_CONFIG_START(pcw16_state::pcw16)
TIMER(config, "video_timer").configure_periodic(FUNC(pcw16_state::pcw16_timer_callback), attotime::from_usec(5830));
/* rtc timer */
TIMER(config, "rtc_timer").configure_periodic(FUNC(pcw16_state::rtc_timer_callback), attotime::from_hz(256));
MACHINE_CONFIG_END
}
/***************************************************************************

View File

@ -494,33 +494,34 @@ static void filetto_isa8_cards(device_slot_interface &device)
}
MACHINE_CONFIG_START(pcxt_state::filetto)
MCFG_DEVICE_ADD("maincpu", I8088, XTAL(14'318'181)/3)
MCFG_DEVICE_PROGRAM_MAP(filetto_map)
MCFG_DEVICE_IO_MAP(filetto_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb)
void pcxt_state::filetto(machine_config &config)
{
I8088(config, m_maincpu, XTAL(14'318'181)/3);
m_maincpu->set_addrmap(AS_PROGRAM, &pcxt_state::filetto_map);
m_maincpu->set_addrmap(AS_IO, &pcxt_state::filetto_io);
m_maincpu->set_irq_acknowledge_callback("mb:pic8259", FUNC(pic8259_device::inta_cb));
PCNOPPI_MOTHERBOARD(config, "mb", 0).set_cputag(m_maincpu);
MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, "mb:isa", filetto_isa8_cards, "filetto", true) // FIXME: determine ISA bus clock
ISA8_SLOT(config, "isa1", 0, "mb:isa", filetto_isa8_cards, "filetto", true); // FIXME: determine ISA bus clock
MCFG_DEVICE_ADD("voice", HC55516, 8000000/4)//8923S-UM5100 is a HC55536 with ROM hook-up
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mb:mono", 0.60)
HC55516(config, "voice", 8000000/4).add_route(ALL_OUTPUTS, "mb:mono", 0.60); //8923S-UM5100 is a HC55536 with ROM hook-up
RAM(config, RAM_TAG).set_default_size("640K");
ADDRESS_MAP_BANK(config, "bank").set_map(&pcxt_state::bank_map).set_options(ENDIANNESS_LITTLE, 8, 18, 0x10000);
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(pcxt_state::tetriskr)
MCFG_DEVICE_ADD("maincpu", I8088, XTAL(14'318'181)/3)
MCFG_DEVICE_PROGRAM_MAP(tetriskr_map)
MCFG_DEVICE_IO_MAP(tetriskr_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb)
void pcxt_state::tetriskr(machine_config &config)
{
I8088(config, m_maincpu, XTAL(14'318'181)/3);
m_maincpu->set_addrmap(AS_PROGRAM, &pcxt_state::tetriskr_map);
m_maincpu->set_addrmap(AS_IO, &pcxt_state::tetriskr_io);
m_maincpu->set_irq_acknowledge_callback("mb:pic8259", FUNC(pic8259_device::inta_cb));
PCNOPPI_MOTHERBOARD(config, "mb", 0).set_cputag(m_maincpu);
MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, "mb:isa", filetto_isa8_cards, "tetriskr", true) // FIXME: determine ISA bus clock
ISA8_SLOT(config, "isa1", 0, "mb:isa", filetto_isa8_cards, "tetriskr", true); // FIXME: determine ISA bus clock
RAM(config, RAM_TAG).set_default_size("640K");
MACHINE_CONFIG_END
}
ROM_START( filetto )
ROM_REGION( 0x10000, "bios", 0 )

View File

@ -367,18 +367,20 @@ void pdp11_state::pdp11(machine_config &config)
RX01(config, "rx01", 0);
}
MACHINE_CONFIG_START(pdp11_state::pdp11ub2)
void pdp11_state::pdp11ub2(machine_config &config)
{
pdp11(config);
MCFG_MACHINE_RESET_OVERRIDE(pdp11_state,pdp11ub2)
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(pdp11_state::pdp11qb)
void pdp11_state::pdp11qb(machine_config &config)
{
pdp11(config);
MCFG_MACHINE_RESET_OVERRIDE(pdp11_state,pdp11qb)
m_maincpu->set_initial_mode(0 << 13);
m_maincpu->set_addrmap(AS_PROGRAM, &pdp11_state::pdp11qb_mem);
MACHINE_CONFIG_END
}
/* ROM definition */
ROM_START( pdp11ub )

View File

@ -490,19 +490,19 @@ void pegasus_state::init_pegasus()
MACHINE_CONFIG_START(pegasus_state::pegasus)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", MC6809, XTAL(4'000'000)) // actually a 6809C - 4MHZ clock coming in, 1MHZ internally
MCFG_DEVICE_PROGRAM_MAP(pegasus_mem)
MC6809(config, m_maincpu, XTAL(4'000'000)); // actually a 6809C - 4MHZ clock coming in, 1MHZ internally
m_maincpu->set_addrmap(AS_PROGRAM, &pegasus_state::pegasus_mem);
TIMER(config, "pegasus_firq").configure_periodic(FUNC(pegasus_state::pegasus_firq), attotime::from_hz(400));
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_UPDATE_DRIVER(pegasus_state, screen_update)
MCFG_SCREEN_SIZE(32*8, 16*16)
MCFG_SCREEN_VISIBLE_AREA(0, 32*8-1, 0, 16*16-1)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(50);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
screen.set_screen_update(FUNC(pegasus_state::screen_update));
screen.set_size(32*8, 16*16);
screen.set_visarea(0, 32*8-1, 0, 16*16-1);
screen.set_palette("palette");
GFXDECODE(config, "gfxdecode", "palette", gfx_pegasus);
PALETTE(config, "palette", palette_device::MONOCHROME);
@ -548,11 +548,11 @@ MACHINE_CONFIG_START(pegasus_state::pegasus)
SOFTWARE_LIST(config, "cart_list").set_original("pegasus_cart");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(pegasus_state::pegasusm)
void pegasus_state::pegasusm(machine_config &config)
{
pegasus(config);
MCFG_DEVICE_MODIFY( "maincpu" )
MCFG_DEVICE_PROGRAM_MAP(pegasusm_mem)
MACHINE_CONFIG_END
m_maincpu->set_addrmap(AS_PROGRAM, &pegasus_state::pegasusm_mem);
}
/* ROM definition */

View File

@ -276,19 +276,18 @@ GFXDECODE_END
MACHINE_CONFIG_START(pentagon_state::pentagon)
void pentagon_state::pentagon(machine_config &config)
{
spectrum_128(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_CLOCK(XTAL(14'000'000) / 4)
MCFG_DEVICE_PROGRAM_MAP(pentagon_mem)
MCFG_DEVICE_IO_MAP(pentagon_io)
MCFG_DEVICE_OPCODES_MAP(pentagon_switch)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", pentagon_state, pentagon_interrupt)
m_maincpu->set_clock(XTAL(14'000'000) / 4);
m_maincpu->set_addrmap(AS_PROGRAM, &pentagon_state::pentagon_mem);
m_maincpu->set_addrmap(AS_IO, &pentagon_state::pentagon_io);
m_maincpu->set_addrmap(AS_OPCODES, &pentagon_state::pentagon_switch);
m_maincpu->set_vblank_int("screen", FUNC(pentagon_state::pentagon_interrupt));
MCFG_MACHINE_RESET_OVERRIDE(pentagon_state, pentagon )
MCFG_SCREEN_MODIFY("screen")
//MCFG_SCREEN_RAW_PARAMS(XTAL(14'000'000) / 2, 448, 0, 352, 320, 0, 304)
MCFG_SCREEN_RAW_PARAMS(XTAL(14'000'000) / 2, 448, 0, 352, 320, 0, 287)
//m_screen->set_raw(XTAL(14'000'000) / 2, 448, 0, 352, 320, 0, 304);
m_screen->set_raw(XTAL(14'000'000) / 2, 448, 0, 352, 320, 0, 287);
MCFG_VIDEO_START_OVERRIDE(pentagon_state, pentagon )
BETA_DISK(config, m_beta, 0);
@ -306,7 +305,7 @@ MACHINE_CONFIG_START(pentagon_state::pentagon)
config.device_remove("exp");
SOFTWARE_LIST(config, "cass_list_pen").set_original("pentagon_cass");
MACHINE_CONFIG_END
}
void pentagon_state::pent1024(machine_config &config)
{

View File

@ -29,8 +29,9 @@ private:
static INPUT_PORTS_START( perq )
INPUT_PORTS_END
MACHINE_CONFIG_START(perq_state::perq)
MACHINE_CONFIG_END
void perq_state::perq(machine_config &config)
{
}
ROM_START( perq )
ROM_REGION( 0x10000, "maincpu", 0 )

View File

@ -601,12 +601,13 @@ void peyper_state::machine_reset()
}
MACHINE_CONFIG_START(peyper_state::peyper)
void peyper_state::peyper(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, 2'500'000)
MCFG_DEVICE_PROGRAM_MAP(peyper_map)
MCFG_DEVICE_IO_MAP(peyper_io)
MCFG_DEVICE_PERIODIC_INT_DRIVER(peyper_state, irq0_line_hold, 1250)
Z80(config, m_maincpu, 2'500'000);
m_maincpu->set_addrmap(AS_PROGRAM, &peyper_state::peyper_map);
m_maincpu->set_addrmap(AS_IO, &peyper_state::peyper_io);
m_maincpu->set_periodic_int(FUNC(peyper_state::irq0_line_hold), attotime::from_hz(1250));
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
/* video hardware */
@ -631,7 +632,7 @@ MACHINE_CONFIG_START(peyper_state::peyper)
kbdc.in_rl_callback().set(FUNC(peyper_state::sw_r)); // kbd RL lines
kbdc.in_shift_callback().set_constant(1); // Shift key
kbdc.in_ctrl_callback().set_constant(1);
MACHINE_CONFIG_END
}
// Not allowed to set up an array all at once, so we have this mess
void peyper_state::init_peyper()

View File

@ -422,11 +422,12 @@ void pg685_state::pg685_module(machine_config &config)
MM58167(config, "rtc", XTAL(32'768));
}
MACHINE_CONFIG_START(pg685_state::pg675)
void pg685_state::pg675(machine_config &config)
{
// main cpu
MCFG_DEVICE_ADD("maincpu", I8088, XTAL(15'000'000) / 3)
MCFG_DEVICE_PROGRAM_MAP(pg675_mem)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("mainpic", pic8259_device, inta_cb)
I8088(config, m_maincpu, XTAL(15'000'000) / 3);
m_maincpu->set_addrmap(AS_PROGRAM, &pg685_state::pg675_mem);
m_maincpu->set_irq_acknowledge_callback("mainpic", FUNC(pic8259_device::inta_cb));
pic8259_device &mainpic(PIC8259(config, "mainpic", 0));
mainpic.out_int_callback().set_inputline(m_maincpu, 0);
@ -437,9 +438,9 @@ MACHINE_CONFIG_START(pg685_state::pg675)
// ram
// video hardware
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(12288000, 882, 0, 720, 370, 0, 350 ) // not real values
MCFG_SCREEN_UPDATE_DEVICE( "crtc", mc6845_device, screen_update )
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_raw(12288000, 882, 0, 720, 370, 0, 350 ); // not real values
screen.set_screen_update("crtc", FUNC(mc6845_device::screen_update));
mc6845_device &crtc(MC6845(config, "crtc", 12288000));
crtc.set_screen("screen");
@ -452,7 +453,7 @@ MACHINE_CONFIG_START(pg685_state::pg675)
// devices
pg685_module(config);
MCFG_DEVICE_ADD("mainuart", I8251, XTAL(12'288'000) / 6) // divider guessed
I8251(config, "mainuart", XTAL(12'288'000) / 6); // divider guessed
// rs232 port
@ -467,14 +468,14 @@ MACHINE_CONFIG_START(pg685_state::pg675)
// m_fdc->drq_wr_callback(FUNC(zorba_state::fdc_drq_w));
FLOPPY_CONNECTOR(config, "fdc:0", pg675_floppies, "525dd", floppy_image_device::default_floppy_formats).enable_sound(true);
FLOPPY_CONNECTOR(config, "fdc:1", pg675_floppies, "525dd", floppy_image_device::default_floppy_formats).enable_sound(true);
}
MACHINE_CONFIG_END
MACHINE_CONFIG_START(pg685_state::pg685)
void pg685_state::pg685(machine_config &config)
{
// main cpu
MCFG_DEVICE_ADD("maincpu", V20, XTAL(15'000'000) / 3)
MCFG_DEVICE_PROGRAM_MAP(pg685_mem)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("mainpic", pic8259_device, inta_cb)
V20(config, m_maincpu, XTAL(15'000'000) / 3);
m_maincpu->set_addrmap(AS_PROGRAM, &pg685_state::pg685_mem);
m_maincpu->set_irq_acknowledge_callback("mainpic", FUNC(pic8259_device::inta_cb));
pic8259_device &mainpic(PIC8259(config, "mainpic", 0));
mainpic.out_int_callback().set_inputline(m_maincpu, 0);
@ -485,9 +486,9 @@ MACHINE_CONFIG_START(pg685_state::pg685)
// ram
// video hardware
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(12288000, 882, 0, 720, 370, 0, 350 ) // not real values
MCFG_SCREEN_UPDATE_DEVICE( "crtc", mc6845_device, screen_update )
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_raw(12288000, 882, 0, 720, 370, 0, 350 ); // not real values
screen.set_screen_update("crtc", FUNC(mc6845_device::screen_update));
mc6845_device &crtc(MC6845(config, "crtc", 12288000));
crtc.set_screen("screen");
@ -501,7 +502,7 @@ MACHINE_CONFIG_START(pg685_state::pg685)
pg685_backplane(config);
pg685_module(config);
MCFG_DEVICE_ADD("mainuart", I8251, XTAL(12'288'000) / 6) // divider guessed
I8251(config, "mainuart", XTAL(12'288'000) / 6); // divider guessed
// rs232 port
@ -519,13 +520,14 @@ MACHINE_CONFIG_START(pg685_state::pg685)
// harddisk
wd2010_device& hdc(WD2010(config, "hdc", XTAL(10'000'000) / 2)); // divider guessed
hdc.out_intrq_callback().set("mainpic", FUNC(pic8259_device::ir3_w));
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(pg685_state::pg685oua12)
void pg685_state::pg685oua12(machine_config &config)
{
// main cpu
MCFG_DEVICE_ADD("maincpu", I80286, XTAL(20'000'000) / 2)
MCFG_DEVICE_PROGRAM_MAP(pg685oua12_mem)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("mainpic", pic8259_device, inta_cb)
I80286(config, m_maincpu, XTAL(20'000'000) / 2);
m_maincpu->set_addrmap(AS_PROGRAM, &pg685_state::pg685oua12_mem);
m_maincpu->set_irq_acknowledge_callback("mainpic", FUNC(pic8259_device::inta_cb));
pic8259_device &mainpic(PIC8259(config, "mainpic", 0));
mainpic.out_int_callback().set_inputline(m_maincpu, 0);
@ -536,9 +538,9 @@ MACHINE_CONFIG_START(pg685_state::pg685oua12)
// ram
// video hardware
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(12288000, 882, 0, 720, 370, 0, 350 ) // not real values
MCFG_SCREEN_UPDATE_DEVICE( "crtc", mc6845_device, screen_update )
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_raw(12288000, 882, 0, 720, 370, 0, 350 ); // not real values
screen.set_screen_update("crtc", FUNC(mc6845_device::screen_update));
mc6845_device &crtc(MC6845(config, "crtc", 12288000));
crtc.set_screen("screen");
@ -552,7 +554,7 @@ MACHINE_CONFIG_START(pg685_state::pg685oua12)
pg685_backplane(config);
pg685_module(config);
MCFG_DEVICE_ADD("mainuart", I8251, 12288000 / 6) // wrong
I8251(config, "mainuart", 12288000 / 6); // wrong
// rs232 port
@ -569,8 +571,7 @@ MACHINE_CONFIG_START(pg685_state::pg685oua12)
// harddisk
wd2010_device& hdc(WD2010(config, "hdc", XTAL(10'000'000) / 2)); // divider guessed
hdc.out_intrq_callback().set("mainpic", FUNC(pic8259_device::ir3_w));
MACHINE_CONFIG_END
}
//**************************************************************************

View File

@ -490,7 +490,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(pgm_state::pgm_interrupt)
{
int scanline = param;
// already being generated by MCFG_DEVICE_VBLANK_INT_DRIVER("screen", pgm_state, irq6_line_hold)
// already being generated by m_maincpu->set_vblank_int("screen", FUNC(pgm_state::irq6_line_hold));
// if(scanline == 224)
// m_maincpu->set_input_line(6, HOLD_LINE);

View File

@ -104,25 +104,25 @@ void pgm3_state::machine_reset()
{
}
MACHINE_CONFIG_START(pgm3_state::pgm3)
void pgm3_state::pgm3(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", ARM9, 800000000) // wrong, see notes at top of driver
MCFG_DEVICE_PROGRAM_MAP(pgm3_map)
MCFG_DEVICE_DISABLE()
ARM9(config, m_maincpu, 800000000); // wrong, see notes at top of driver
m_maincpu->set_addrmap(AS_PROGRAM, &pgm3_state::pgm3_map);
m_maincpu->set_disable();
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(1280, 720)
MCFG_SCREEN_VISIBLE_AREA(0, 1280-1, 0, 720-1)
MCFG_SCREEN_UPDATE_DRIVER(pgm3_state, screen_update_pgm3)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, pgm3_state, screen_vblank_pgm3))
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(1280, 720);
screen.set_visarea(0, 1280-1, 0, 720-1);
screen.set_screen_update(FUNC(pgm3_state::screen_update_pgm3));
screen.screen_vblank().set(FUNC(pgm3_state::screen_vblank_pgm3));
screen.set_palette("palette");
MCFG_PALETTE_ADD("palette", 0x1000)
MACHINE_CONFIG_END
PALETTE(config, "palette").set_entries(0x1000);
}
ROM_START( kov3hd )
ROM_REGION( 0x04000, "maincpu", ROMREGION_ERASE00 )

View File

@ -214,23 +214,23 @@ uint32_t photon_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap
return video_update(screen, bitmap, cliprect, memregion("maincpu")->base());
}
MACHINE_CONFIG_START(photon_state::photon)
void photon_state::photon(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu",I8080, 1780000)
MCFG_DEVICE_PROGRAM_MAP(pk8000_mem)
MCFG_DEVICE_IO_MAP(pk8000_io)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", photon_state, interrupt)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(photon_state, irq_callback)
I8080(config, m_maincpu, 1780000);
m_maincpu->set_addrmap(AS_PROGRAM, &photon_state::pk8000_mem);
m_maincpu->set_addrmap(AS_IO, &photon_state::pk8000_io);
m_maincpu->set_vblank_int("screen", FUNC(photon_state::interrupt));
m_maincpu->set_irq_acknowledge_callback(FUNC(photon_state::irq_callback));
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(256+32, 192+32)
MCFG_SCREEN_VISIBLE_AREA(0, 256+32-1, 0, 192+32-1)
MCFG_SCREEN_UPDATE_DRIVER(photon_state, screen_update)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(50);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
screen.set_size(256+32, 192+32);
screen.set_visarea(0, 256+32-1, 0, 192+32-1);
screen.set_screen_update(FUNC(photon_state::screen_update));
screen.set_palette("palette");
PALETTE(config, "palette", FUNC(photon_state::pk8000_palette), 16);
@ -247,7 +247,7 @@ MACHINE_CONFIG_START(photon_state::photon)
/* audio hardware */
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.50);
MACHINE_CONFIG_END
}
/*
Dump was made using custom adaptor, hence it is marked as bad dump.

View File

@ -358,29 +358,30 @@ void photon2_state::machine_start()
save_item(NAME(m_nmi_enable));
}
MACHINE_CONFIG_START(photon2_state::photon2)
void photon2_state::photon2(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, 3500000) /* 3.5 MHz */
MCFG_DEVICE_PROGRAM_MAP(spectrum_mem)
MCFG_DEVICE_IO_MAP(spectrum_io)
Z80(config, m_maincpu, 3500000); /* 3.5 MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &photon2_state::spectrum_mem);
m_maincpu->set_addrmap(AS_IO, &photon2_state::spectrum_io);
TIMER(config, "scantimer").configure_scanline(FUNC(photon2_state::spec_interrupt_hack), "screen", 0, 1);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(50.08)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(SPEC_SCREEN_WIDTH, SPEC_SCREEN_HEIGHT)
MCFG_SCREEN_VISIBLE_AREA(0, SPEC_SCREEN_WIDTH-1, 0, SPEC_SCREEN_HEIGHT-1)
MCFG_SCREEN_UPDATE_DRIVER(photon2_state, screen_update_spectrum)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, photon2_state, screen_vblank_spectrum))
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(50.08);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
screen.set_size(SPEC_SCREEN_WIDTH, SPEC_SCREEN_HEIGHT);
screen.set_visarea(0, SPEC_SCREEN_WIDTH-1, 0, SPEC_SCREEN_HEIGHT-1);
screen.set_screen_update(FUNC(photon2_state::screen_update_spectrum));
screen.screen_vblank().set(FUNC(photon2_state::screen_vblank_spectrum));
screen.set_palette("palette");
PALETTE(config, "palette", FUNC(photon2_state::photon2_palette), 16);
/* sound hardware */
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.50);
MACHINE_CONFIG_END
}
/*************************************
*

View File

@ -605,10 +605,10 @@ void pinball2k_state::ramdac_map(address_map &map)
MACHINE_CONFIG_START(pinball2k_state::mediagx)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", MEDIAGX, 166000000)
MCFG_DEVICE_PROGRAM_MAP(mediagx_map)
MCFG_DEVICE_IO_MAP(mediagx_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb)
MEDIAGX(config, m_maincpu, 166000000);
m_maincpu->set_addrmap(AS_PROGRAM, &pinball2k_state::mediagx_map);
m_maincpu->set_addrmap(AS_IO, &pinball2k_state::mediagx_io);
m_maincpu->set_irq_acknowledge_callback("pic8259_1", FUNC(pic8259_device::inta_cb));
pcat_common(config);
@ -622,14 +622,14 @@ MACHINE_CONFIG_START(pinball2k_state::mediagx)
m_ramdac->set_addrmap(0, &pinball2k_state::ramdac_map);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 639, 0, 239)
MCFG_SCREEN_UPDATE_DRIVER(pinball2k_state, screen_update_mediagx)
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
m_screen->set_size(640, 480);
m_screen->set_visarea(0, 639, 0, 239);
m_screen->set_screen_update(FUNC(pinball2k_state::screen_update_mediagx));
GFXDECODE(config, m_gfxdecode, m_palette, gfx_cga);
MCFG_PALETTE_ADD("palette", 256)
PALETTE(config, m_palette).set_entries(256);
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();

View File

@ -448,22 +448,22 @@ static GFXDECODE_START( gfx_pingpong )
GFXDECODE_END
MACHINE_CONFIG_START(pingpong_state::pingpong)
void pingpong_state::pingpong(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu",Z80,18432000/6) /* 3.072 MHz (probably) */
MCFG_DEVICE_PROGRAM_MAP(pingpong_map)
Z80(config, m_maincpu,18432000/6); /* 3.072 MHz (probably) */
m_maincpu->set_addrmap(AS_PROGRAM, &pingpong_state::pingpong_map);
TIMER(config, "scantimer").configure_scanline(FUNC(pingpong_state::pingpong_interrupt), "screen", 0, 1);
WATCHDOG_TIMER(config, "watchdog");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(456, 262)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(pingpong_state, screen_update_pingpong)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(456, 262);
screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(pingpong_state::screen_update_pingpong));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_pingpong);
PALETTE(config, m_palette, FUNC(pingpong_state::pingpong_palette), 64*4+64*4, 32);
@ -471,19 +471,18 @@ MACHINE_CONFIG_START(pingpong_state::pingpong)
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("snsnd", SN76496, 18432000/8)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
SN76496(config, "snsnd", 18432000/8).add_route(ALL_OUTPUTS, "mono", 1.0);
}
/* too fast! */
MACHINE_CONFIG_START(pingpong_state::merlinmm)
void pingpong_state::merlinmm(machine_config &config)
{
pingpong(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(merlinmm_map)
m_maincpu->set_addrmap(AS_PROGRAM, &pingpong_state::merlinmm_map);
subdevice<timer_device>("scantimer")->set_callback(FUNC(pingpong_state::merlinmm_interrupt));
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
MACHINE_CONFIG_END
}
/***************************************************************************

View File

@ -1106,32 +1106,31 @@ static GFXDECODE_START( gfx_pinkiri8 )
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 0x100 )
GFXDECODE_END
MACHINE_CONFIG_START(pinkiri8_state::pinkiri8)
MCFG_DEVICE_ADD("maincpu",Z180,XTAL(32'000'000)/2)
MCFG_DEVICE_PROGRAM_MAP(pinkiri8_map)
MCFG_DEVICE_IO_MAP(pinkiri8_io)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", pinkiri8_state, nmi_line_assert)
void pinkiri8_state::pinkiri8(machine_config &config)
{
Z180(config, m_maincpu, XTAL(32'000'000)/2);
m_maincpu->set_addrmap(AS_PROGRAM, &pinkiri8_state::pinkiri8_map);
m_maincpu->set_addrmap(AS_IO, &pinkiri8_state::pinkiri8_io);
m_maincpu->set_vblank_int("screen", FUNC(pinkiri8_state::nmi_line_assert));
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 64*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 62*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(pinkiri8_state, screen_update_pinkiri8)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(64*8, 64*8);
screen.set_visarea(0*8, 62*8-1, 0*8, 32*8-1);
screen.set_screen_update(FUNC(pinkiri8_state::screen_update_pinkiri8));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_pinkiri8);
MCFG_PALETTE_ADD("palette", 0x2000)
PALETTE(config, m_palette).set_entries(0x2000);
MCFG_DEVICE_ADD("janshivdp", JANSHIVDP, 0)
JANSHIVDP(config, m_vdp, 0);
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, 1056000, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
MACHINE_CONFIG_END
OKIM6295(config, "oki", 1056000, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.5); // clock frequency & pin 7 not verified
}
/***************************************************************************

View File

@ -252,30 +252,30 @@ GFXDECODE_END
/* Machine Driver + Related bits */
MACHINE_CONFIG_START(pirates_state::pirates)
MCFG_DEVICE_ADD("maincpu", M68000, 16000000) /* 16mhz */
MCFG_DEVICE_PROGRAM_MAP(pirates_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", pirates_state, irq1_line_hold)
void pirates_state::pirates(machine_config &config)
{
M68000(config, m_maincpu, 16000000); /* 16mhz */
m_maincpu->set_addrmap(AS_PROGRAM, &pirates_state::pirates_map);
m_maincpu->set_vblank_int("screen", FUNC(pirates_state::irq1_line_hold));
EEPROM_93C46_16BIT(config, "eeprom");
GFXDECODE(config, m_gfxdecode, m_palette, gfx_pirates);
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(36*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 36*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(pirates_state, screen_update)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(36*8, 32*8);
screen.set_visarea(0*8, 36*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(pirates_state::screen_update));
screen.set_palette(m_palette);
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 0x2000);
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, 1333333, okim6295_device::PIN7_LOW)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
OKIM6295(config, m_oki, 1333333, okim6295_device::PIN7_LOW).add_route(ALL_OUTPUTS, "mono", 1.0);
}

View File

@ -616,7 +616,7 @@ void piratesh_state::piratesh(machine_config &config)
/* video hardware */
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_video_attributes(VIDEO_UPDATE_AFTER_VBLANK);
// MCFG_SCREEN_REFRESH_RATE(60)
// screen.set_refresh_hz(60);
screen.set_raw(6000000, 288+16+32+48, 0, 287, 224+16+8+16, 0, 223); // TODO
screen.set_vblank_time(ATTOSECONDS_IN_USEC(600));
screen.set_size(64*8, 32*8);

View File

@ -209,22 +209,23 @@ uint32_t pitagjr_state::screen_update(screen_device &screen, bitmap_ind16 &bitma
return 0;
}
MACHINE_CONFIG_START(pitagjr_state::pitajr)
void pitagjr_state::pitajr(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", HD63705, XTAL(2'000'000)) // probably a m6805-based MCU with internal boot ROM
MCFG_DEVICE_PROGRAM_MAP(pitajr_mem)
HD63705(config, m_maincpu, XTAL(2'000'000)); // probably a m6805-based MCU with internal boot ROM
m_maincpu->set_addrmap(AS_PROGRAM, &pitagjr_state::pitajr_mem);
/* video hardware */
MCFG_SCREEN_ADD("screen", LCD)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_UPDATE_DRIVER(pitagjr_state, screen_update)
MCFG_SCREEN_SIZE( 200, 100 ) // FIXME
MCFG_SCREEN_VISIBLE_AREA( 0, 200-1, 0, 100-1 )
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD));
screen.set_refresh_hz(50);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
screen.set_screen_update(FUNC(pitagjr_state::screen_update));
screen.set_size(200, 100); // FIXME
screen.set_visarea(0, 200-1, 0, 100-1);
screen.set_palette("palette");
PALETTE(config, "palette", FUNC(pitagjr_state::pitagjr_palette), 2);
MACHINE_CONFIG_END
}
/* ROM definition */

View File

@ -360,22 +360,23 @@ uint32_t pk8000_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap
return video_update(screen, bitmap, cliprect, m_ram->pointer());
}
MACHINE_CONFIG_START(pk8000_state::pk8000)
void pk8000_state::pk8000(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu",I8080, 1780000)
MCFG_DEVICE_PROGRAM_MAP(pk8000_mem)
MCFG_DEVICE_IO_MAP(pk8000_io)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", pk8000_state, interrupt)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(pk8000_state, irq_callback)
I8080(config, m_maincpu, 1780000);
m_maincpu->set_addrmap(AS_PROGRAM, &pk8000_state::pk8000_mem);
m_maincpu->set_addrmap(AS_IO, &pk8000_state::pk8000_io);
m_maincpu->set_vblank_int("screen", FUNC(pk8000_state::interrupt));
m_maincpu->set_irq_acknowledge_callback(FUNC(pk8000_state::irq_callback));
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(256+32, 192+32)
MCFG_SCREEN_VISIBLE_AREA(0, 256+32-1, 0, 192+32-1)
MCFG_SCREEN_UPDATE_DRIVER(pk8000_state, screen_update)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(50);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
screen.set_size(256+32, 192+32);
screen.set_visarea(0, 256+32-1, 0, 192+32-1);
screen.set_screen_update(FUNC(pk8000_state::screen_update));
screen.set_palette("palette");
PALETTE(config, "palette", FUNC(pk8000_state::pk8000_palette), 16);
@ -400,7 +401,7 @@ MACHINE_CONFIG_START(pk8000_state::pk8000)
/* internal ram */
RAM(config, RAM_TAG).set_default_size("64K");
MACHINE_CONFIG_END
}
/* ROM definition */
ROM_START( vesta )

View File

@ -189,22 +189,23 @@ static void pk8020_floppies(device_slot_interface &device)
* 7 floppy
*/
/* Machine driver */
MACHINE_CONFIG_START(pk8020_state::pk8020)
void pk8020_state::pk8020(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", I8080, 20_MHz_XTAL / 8)
MCFG_DEVICE_PROGRAM_MAP(pk8020_mem)
MCFG_DEVICE_IO_MAP(pk8020_io)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", pk8020_state, pk8020_interrupt)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("pic8259", pic8259_device, inta_cb)
I8080(config, m_maincpu, 20_MHz_XTAL / 8);
m_maincpu->set_addrmap(AS_PROGRAM, &pk8020_state::pk8020_mem);
m_maincpu->set_addrmap(AS_IO, &pk8020_state::pk8020_io);
m_maincpu->set_vblank_int("screen", FUNC(pk8020_state::pk8020_interrupt));
m_maincpu->set_irq_acknowledge_callback("pic8259", FUNC(pic8259_device::inta_cb));
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(512, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(pk8020_state, screen_update_pk8020)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(50);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
screen.set_size(512, 256);
screen.set_visarea(0, 512-1, 0, 256-1);
screen.set_screen_update(FUNC(pk8020_state::screen_update_pk8020));
screen.set_palette(m_palette);
GFXDECODE(config, "gfxdecode", m_palette, gfx_pk8020);
PALETTE(config, m_palette, FUNC(pk8020_state::pk8020_palette), 16);
@ -262,7 +263,7 @@ MACHINE_CONFIG_START(pk8020_state::pk8020)
/* internal ram */
RAM(config, RAM_TAG).set_default_size("258K").set_default_value(0x00); // 64 + 4*48 + 2 = 258
MACHINE_CONFIG_END
}
/* ROM definition */

View File

@ -338,24 +338,24 @@ void pktgaldx_state::machine_start()
{
}
MACHINE_CONFIG_START(pktgaldx_state::pktgaldx)
void pktgaldx_state::pktgaldx(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 28_MHz_XTAL / 2) // The clock input is 14.000MHz on pin 6
MCFG_DEVICE_PROGRAM_MAP(pktgaldx_map)
MCFG_DEVICE_OPCODES_MAP(decrypted_opcodes_map)
M68000(config, m_maincpu, 28_MHz_XTAL / 2); // The clock input is 14.000MHz on pin 6
m_maincpu->set_addrmap(AS_PROGRAM, &pktgaldx_state::pktgaldx_map);
m_maincpu->set_addrmap(AS_OPCODES, &pktgaldx_state::decrypted_opcodes_map);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(58)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(pktgaldx_state, screen_update_pktgaldx)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, pktgaldx_state, vblank_w))
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(58);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
screen.set_size(40*8, 32*8);
screen.set_visarea(0*8, 40*8-1, 1*8, 31*8-1);
screen.set_screen_update(FUNC(pktgaldx_state::screen_update_pktgaldx));
screen.screen_vblank().set(FUNC(pktgaldx_state::vblank_w));
screen.set_palette(m_palette);
PALETTE(config, "palette").set_format(palette_device::xBGR_888, 4096);
PALETTE(config, m_palette).set_format(palette_device::xBGR_888, 4096);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_pktgaldx);
@ -389,31 +389,31 @@ MACHINE_CONFIG_START(pktgaldx_state::pktgaldx)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
MCFG_DEVICE_ADD("oki1", OKIM6295, 32.22_MHz_XTAL / 32, okim6295_device::PIN7_HIGH)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.75)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.75)
okim6295_device &oki1(OKIM6295(config, "oki1", 32.22_MHz_XTAL / 32, okim6295_device::PIN7_HIGH));
oki1.add_route(ALL_OUTPUTS, "lspeaker", 0.75);
oki1.add_route(ALL_OUTPUTS, "rspeaker", 0.75);
MCFG_DEVICE_ADD("oki2", OKIM6295, 32.22_MHz_XTAL / 16, okim6295_device::PIN7_HIGH)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.60)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.60)
MACHINE_CONFIG_END
OKIM6295(config, m_oki2, 32.22_MHz_XTAL / 16, okim6295_device::PIN7_HIGH);
m_oki2->add_route(ALL_OUTPUTS, "lspeaker", 0.60);
m_oki2->add_route(ALL_OUTPUTS, "rspeaker", 0.60);
}
MACHINE_CONFIG_START(pktgaldx_state::pktgaldb)
void pktgaldx_state::pktgaldb(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 16000000)
MCFG_DEVICE_PROGRAM_MAP(pktgaldb_map)
M68000(config, m_maincpu, 16000000);
m_maincpu->set_addrmap(AS_PROGRAM, &pktgaldx_state::pktgaldb_map);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(58)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(40*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 1*8, 31*8-1)
MCFG_SCREEN_UPDATE_DRIVER(pktgaldx_state, screen_update_pktgaldb)
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, pktgaldx_state, vblank_w))
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(58);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
screen.set_size(40*8, 32*8);
screen.set_visarea(0*8, 40*8-1, 1*8, 31*8-1);
screen.set_screen_update(FUNC(pktgaldx_state::screen_update_pktgaldb));
screen.screen_vblank().set(FUNC(pktgaldx_state::vblank_w));
screen.set_palette(m_palette);
PALETTE(config, m_palette).set_format(palette_device::xBGR_888, 4096);
@ -423,14 +423,14 @@ MACHINE_CONFIG_START(pktgaldx_state::pktgaldb)
SPEAKER(config, "lspeaker").front_left();
SPEAKER(config, "rspeaker").front_right();
MCFG_DEVICE_ADD("oki1", OKIM6295, 32220000/32, okim6295_device::PIN7_HIGH)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.75)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.75)
okim6295_device &oki1(OKIM6295(config, "oki1", 32220000/32, okim6295_device::PIN7_HIGH));
oki1.add_route(ALL_OUTPUTS, "lspeaker", 0.75);
oki1.add_route(ALL_OUTPUTS, "rspeaker", 0.75);
MCFG_DEVICE_ADD("oki2", OKIM6295, 32220000/16, okim6295_device::PIN7_HIGH)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.60)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.60)
MACHINE_CONFIG_END
OKIM6295(config, m_oki2, 32220000/16, okim6295_device::PIN7_HIGH);
m_oki2->add_route(ALL_OUTPUTS, "lspeaker", 0.60);
m_oki2->add_route(ALL_OUTPUTS, "rspeaker", 0.60);
}
ROM_START( pktgaldx )

View File

@ -1041,12 +1041,12 @@ MACHINE_RESET_MEMBER(playmark_state,playmark)
m_dispenser_latch = 0;
}
MACHINE_CONFIG_START(playmark_state::bigtwin)
void playmark_state::bigtwin(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 12000000) /* 12 MHz */
MCFG_DEVICE_PROGRAM_MAP(bigtwin_main_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", playmark_state, irq2_line_hold)
M68000(config, m_maincpu, 12000000); /* 12 MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &playmark_state::bigtwin_main_map);
m_maincpu->set_vblank_int("screen", FUNC(playmark_state::irq2_line_hold));
PIC16C57(config, m_audiocpu, 12000000);
m_audiocpu->write_a().set(FUNC(playmark_state::playmark_oki_banking_w));
@ -1059,13 +1059,13 @@ MACHINE_CONFIG_START(playmark_state::bigtwin)
MCFG_MACHINE_RESET_OVERRIDE(playmark_state,playmark)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(58)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 64*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(playmark_state, screen_update_bigtwin)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(58);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(64*8, 64*8);
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
screen.set_screen_update(FUNC(playmark_state::screen_update_bigtwin));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_bigtwin);
PALETTE(config, m_palette).set_format(palette_device::RRRRGGGGBBBBRGBx, 1024);
@ -1075,17 +1075,17 @@ MACHINE_CONFIG_START(playmark_state::bigtwin)
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, 1000000, okim6295_device::PIN7_HIGH)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MCFG_DEVICE_ADDRESS_MAP(0, oki_map)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(playmark_state::bigtwinb)
OKIM6295(config, m_oki, 1000000, okim6295_device::PIN7_HIGH);
m_oki->add_route(ALL_OUTPUTS, "mono", 1.0);
m_oki->set_addrmap(0, &playmark_state::oki_map);
}
void playmark_state::bigtwinb(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(24'000'000)/2)
MCFG_DEVICE_PROGRAM_MAP(bigtwinb_main_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", playmark_state, irq2_line_hold)
M68000(config, m_maincpu, XTAL(24'000'000)/2);
m_maincpu->set_addrmap(AS_PROGRAM, &playmark_state::bigtwinb_main_map);
m_maincpu->set_vblank_int("screen", FUNC(playmark_state::irq2_line_hold));
PIC16C57(config, m_audiocpu, XTAL(24'000'000)/2);
m_audiocpu->write_a().set(FUNC(playmark_state::playmark_oki_banking_w));
@ -1098,13 +1098,13 @@ MACHINE_CONFIG_START(playmark_state::bigtwinb)
MCFG_MACHINE_RESET_OVERRIDE(playmark_state,playmark)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(58)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 64*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(playmark_state, screen_update_bigtwinb)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(58);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(64*8, 64*8);
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
screen.set_screen_update(FUNC(playmark_state::screen_update_bigtwinb));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_bigtwinb);
PALETTE(config, m_palette).set_format(palette_device::RRRRGGGGBBBBRGBx, 1024);
@ -1114,17 +1114,17 @@ MACHINE_CONFIG_START(playmark_state::bigtwinb)
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, 1000000, okim6295_device::PIN7_HIGH)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MCFG_DEVICE_ADDRESS_MAP(0, oki_map)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(playmark_state::wbeachvl)
OKIM6295(config, m_oki, 1000000, okim6295_device::PIN7_HIGH);
m_oki->add_route(ALL_OUTPUTS, "mono", 1.0);
m_oki->set_addrmap(0, &playmark_state::oki_map);
}
void playmark_state::wbeachvl(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 12000000) /* 12 MHz */
MCFG_DEVICE_PROGRAM_MAP(wbeachvl_main_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", playmark_state, irq2_line_hold)
M68000(config, m_maincpu, 12000000); /* 12 MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &playmark_state::wbeachvl_main_map);
m_maincpu->set_vblank_int("screen", FUNC(playmark_state::irq2_line_hold));
PIC16C57(config, m_audiocpu, XTAL(24'000'000)/2); /* 12MHz with internal 4x divisor */
m_audiocpu->write_a().set(FUNC(playmark_state::playmark_oki_banking_w)); // wrong?
@ -1140,13 +1140,13 @@ MACHINE_CONFIG_START(playmark_state::wbeachvl)
MCFG_MACHINE_RESET_OVERRIDE(playmark_state,playmark)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(58)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 64*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(playmark_state, screen_update_wbeachvl)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(58);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(64*8, 64*8);
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
screen.set_screen_update(FUNC(playmark_state::screen_update_wbeachvl));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_wbeachvl);
PALETTE(config, m_palette).set_format(palette_device::RGBx_555, 2048);
@ -1156,17 +1156,17 @@ MACHINE_CONFIG_START(playmark_state::wbeachvl)
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, 1000000, okim6295_device::PIN7_HIGH)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MCFG_DEVICE_ADDRESS_MAP(0, oki_map)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(playmark_state::excelsr)
OKIM6295(config, m_oki, 1000000, okim6295_device::PIN7_HIGH);
m_oki->add_route(ALL_OUTPUTS, "mono", 1.0);
m_oki->set_addrmap(0, &playmark_state::oki_map);
}
void playmark_state::excelsr(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(24'000'000)/2) /* 12 MHz */
MCFG_DEVICE_PROGRAM_MAP(excelsr_main_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", playmark_state, irq2_line_hold)
M68000(config, m_maincpu, XTAL(24'000'000)/2); /* 12 MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &playmark_state::excelsr_main_map);
m_maincpu->set_vblank_int("screen", FUNC(playmark_state::irq2_line_hold));
PIC16C57(config, m_audiocpu, XTAL(24'000'000)/2); /* 12MHz with internal 4x divisor */
m_audiocpu->write_a().set(FUNC(playmark_state::playmark_oki_banking_w));
@ -1179,13 +1179,13 @@ MACHINE_CONFIG_START(playmark_state::excelsr)
MCFG_MACHINE_RESET_OVERRIDE(playmark_state,playmark)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(58)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 64*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(playmark_state, screen_update_excelsr)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(58);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(64*8, 64*8);
screen.set_visarea(0*8, 40*8-1, 2*8, 32*8-1);
screen.set_screen_update(FUNC(playmark_state::screen_update_excelsr));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_excelsr);
PALETTE(config, m_palette).set_format(palette_device::RRRRGGGGBBBBRGBx, 1024);
@ -1195,17 +1195,17 @@ MACHINE_CONFIG_START(playmark_state::excelsr)
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(1'000'000), okim6295_device::PIN7_HIGH) /* 1MHz resonator */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MCFG_DEVICE_ADDRESS_MAP(0, oki_map)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(playmark_state::hrdtimes)
OKIM6295(config, m_oki, XTAL(1'000'000), okim6295_device::PIN7_HIGH); /* 1MHz resonator */
m_oki->add_route(ALL_OUTPUTS, "mono", 1.0);
m_oki->set_addrmap(0, &playmark_state::oki_map);
}
void playmark_state::hrdtimes(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(24'000'000)/2) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(hrdtimes_main_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", playmark_state, irq6_line_hold)
M68000(config, m_maincpu, XTAL(24'000'000)/2); /* verified on pcb */
m_maincpu->set_addrmap(AS_PROGRAM, &playmark_state::hrdtimes_main_map);
m_maincpu->set_vblank_int("screen", FUNC(playmark_state::irq6_line_hold));
PIC16C57(config, m_audiocpu, XTAL(24'000'000)/2); /* verified on pcb */
// m_audiocpu->write_a().set(FUNC(playmark_state::playmark_oki_banking_w)); // Banking data output but not wired. Port C is wired to the OKI banking instead
@ -1219,13 +1219,13 @@ MACHINE_CONFIG_START(playmark_state::hrdtimes)
MCFG_MACHINE_RESET_OVERRIDE(playmark_state,playmark)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(58)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 64*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(playmark_state, screen_update_hrdtimes)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(58);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(64*8, 64*8);
screen.set_visarea(0*8, 40*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(playmark_state::screen_update_hrdtimes));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_hrdtimes);
PALETTE(config, m_palette).set_format(palette_device::RRRRGGGGBBBBRGBx, 1024);
@ -1235,17 +1235,17 @@ MACHINE_CONFIG_START(playmark_state::hrdtimes)
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(1'000'000), okim6295_device::PIN7_HIGH) /* verified on pcb */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MCFG_DEVICE_ADDRESS_MAP(0, oki_map)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(playmark_state::hotmind)
OKIM6295(config, m_oki, XTAL(1'000'000), okim6295_device::PIN7_HIGH); /* verified on pcb */
m_oki->add_route(ALL_OUTPUTS, "mono", 1.0);
m_oki->set_addrmap(0, &playmark_state::oki_map);
}
void playmark_state::hotmind(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(24'000'000)/2) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(hotmind_main_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", playmark_state, irq6_line_hold) // irq 2 and 6 point to the same location on hotmind
M68000(config, m_maincpu, XTAL(24'000'000)/2); /* verified on pcb */
m_maincpu->set_addrmap(AS_PROGRAM, &playmark_state::hotmind_main_map);
m_maincpu->set_vblank_int("screen", FUNC(playmark_state::irq6_line_hold)); // irq 2 and 6 point to the same location on hotmind
PIC16C57(config, m_audiocpu, XTAL(24'000'000)/2); /* verified on pcb */
// m_audiocpu->write_a().set(FUNC(playmark_state::playmark_oki_banking_w)); // Banking data output but not wired. Port C is wired to the OKI banking instead
@ -1260,13 +1260,13 @@ MACHINE_CONFIG_START(playmark_state::hotmind)
MCFG_MACHINE_RESET_OVERRIDE(playmark_state,playmark)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(58)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 64*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(playmark_state, screen_update_hrdtimes)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(58);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(64*8, 64*8);
screen.set_visarea(0*8, 40*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(playmark_state::screen_update_hrdtimes));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_hotmind);
PALETTE(config, m_palette).set_format(palette_device::RRRRGGGGBBBBRGBx, 1024);
@ -1279,17 +1279,17 @@ MACHINE_CONFIG_START(playmark_state::hotmind)
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(1'000'000), okim6295_device::PIN7_HIGH) /* verified on pcb */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MCFG_DEVICE_ADDRESS_MAP(0, oki_map)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(playmark_state::luckboomh)
OKIM6295(config, m_oki, XTAL(1'000'000), okim6295_device::PIN7_HIGH); /* verified on pcb */
m_oki->add_route(ALL_OUTPUTS, "mono", 1.0);
m_oki->set_addrmap(0, &playmark_state::oki_map);
}
void playmark_state::luckboomh(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(24'000'000)/2) /* verified on pcb */
MCFG_DEVICE_PROGRAM_MAP(luckboomh_main_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", playmark_state, irq6_line_hold)
M68000(config, m_maincpu, XTAL(24'000'000)/2); /* verified on pcb */
m_maincpu->set_addrmap(AS_PROGRAM, &playmark_state::luckboomh_main_map);
m_maincpu->set_vblank_int("screen", FUNC(playmark_state::irq6_line_hold));
PIC16C57(config, m_audiocpu, XTAL(24'000'000)/2); /* verified on pcb */
// m_audiocpu->write_a().set(FUNC(playmark_state::playmark_oki_banking_w)); // Banking data output but not wired. Port C is wired to the OKI banking instead
@ -1304,13 +1304,13 @@ MACHINE_CONFIG_START(playmark_state::luckboomh)
MCFG_MACHINE_RESET_OVERRIDE(playmark_state,playmark)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(58)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 64*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(playmark_state, screen_update_hrdtimes)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(58);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(64*8, 64*8);
screen.set_visarea(0*8, 40*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(playmark_state::screen_update_hrdtimes));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_luckboomh);
PALETTE(config, m_palette).set_format(palette_device::RRRRGGGGBBBBRGBx, 1024);
@ -1323,10 +1323,10 @@ MACHINE_CONFIG_START(playmark_state::luckboomh)
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(1'000'000), okim6295_device::PIN7_HIGH) /* verified on pcb */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MCFG_DEVICE_ADDRESS_MAP(0, oki_map)
MACHINE_CONFIG_END
OKIM6295(config, m_oki, XTAL(1'000'000), okim6295_device::PIN7_HIGH); /* verified on pcb */
m_oki->add_route(ALL_OUTPUTS, "mono", 1.0);
m_oki->set_addrmap(0, &playmark_state::oki_map);
}
/***************************************************************************

View File

@ -837,7 +837,7 @@ void plus4_state::machine_reset()
//**************************************************************************
//-------------------------------------------------
// MACHINE_CONFIG( plus4 )
// machine_config( plus4 )
//-------------------------------------------------
void plus4_state::plus4(machine_config &config)
@ -939,7 +939,7 @@ void plus4_state::plus4(machine_config &config)
//-------------------------------------------------
// MACHINE_CONFIG( plus4p )
// machine_config( plus4p )
//-------------------------------------------------
void c16_state::plus4p(machine_config &config)
@ -958,7 +958,7 @@ void c16_state::plus4p(machine_config &config)
}
//-------------------------------------------------
// MACHINE_CONFIG( plus4n )
// machine_config( plus4n )
//-------------------------------------------------
void c16_state::plus4n(machine_config &config)
@ -978,7 +978,7 @@ void c16_state::plus4n(machine_config &config)
//-------------------------------------------------
// MACHINE_CONFIG( c16n )
// machine_config( c16n )
//-------------------------------------------------
void c16_state::c16n(machine_config &config)
@ -999,7 +999,7 @@ void c16_state::c16n(machine_config &config)
//-------------------------------------------------
// MACHINE_CONFIG( c16p )
// machine_config( c16p )
//-------------------------------------------------
void c16_state::c16p(machine_config &config)
@ -1027,7 +1027,7 @@ void c16_state::c232(machine_config &config)
//-------------------------------------------------
// MACHINE_CONFIG( v364 )
// machine_config( v364 )
//-------------------------------------------------
void c16_state::v364(machine_config &config)

View File

@ -168,16 +168,17 @@ void pmi80_state::machine_start()
}
MACHINE_CONFIG_START(pmi80_state::pmi80)
void pmi80_state::pmi80(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu",I8080, XTAL(1'000'000))
MCFG_DEVICE_PROGRAM_MAP(pmi80_mem)
MCFG_DEVICE_IO_MAP(pmi80_io)
I8080(config, m_maincpu, XTAL(1'000'000));
m_maincpu->set_addrmap(AS_PROGRAM, &pmi80_state::pmi80_mem);
m_maincpu->set_addrmap(AS_IO, &pmi80_state::pmi80_io);
/* video hardware */
config.set_default_layout(layout_pmi80);
MACHINE_CONFIG_END
}
/* ROM definition */
ROM_START( pmi80 )

View File

@ -101,23 +101,22 @@ void pockchalv1_state::machine_reset()
MACHINE_CONFIG_START(pockchalv1_state::pockchalv1)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", TMP90845,8000000) /* ? MHz */
MCFG_DEVICE_PROGRAM_MAP(pockchalv1_map)
// MCFG_DEVICE_VBLANK_INT_DRIVER("screen", pockchalv1_state, irq0_line_hold)
TMP90845(config, m_maincpu, 8000000); /* ? MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &pockchalv1_state::pockchalv1_map);
// m_maincpu->->set_vblank_int("screen", FUNC(pockchalv1_state::irq0_line_hold));
// wrong, it's a b&w / greyscale thing
PALETTE(config, "palette").set_format(palette_device::xRGB_444, 0x100).set_endianness(ENDIANNESS_BIG);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(256, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 16, 256-16-1)
MCFG_SCREEN_UPDATE_DRIVER(pockchalv1_state, screen_update_pockchalv1)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(256, 256);
screen.set_visarea(0, 256-1, 16, 256-16-1);
screen.set_screen_update(FUNC(pockchalv1_state::screen_update_pockchalv1));
screen.set_palette("palette");
MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "pockchalw_cart")
MCFG_GENERIC_EXTENSIONS("bin")
@ -125,7 +124,6 @@ MACHINE_CONFIG_START(pockchalv1_state::pockchalv1)
MCFG_GENERIC_MANDATORY
SOFTWARE_LIST(config, "pc1_list").set_compatible("pockchalw");
MACHINE_CONFIG_END

View File

@ -981,16 +981,16 @@ DEVICE_IMAGE_LOAD_MEMBER( pockstat_state, pockstat_flash )
MACHINE_CONFIG_START(pockstat_state::pockstat)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", ARM7, DEFAULT_CLOCK)
MCFG_DEVICE_PROGRAM_MAP(pockstat_mem)
ARM7(config, m_maincpu, DEFAULT_CLOCK);
m_maincpu->set_addrmap(AS_PROGRAM, &pockstat_state::pockstat_mem);
/* video hardware */
MCFG_SCREEN_ADD("screen", LCD)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(32, 32)
MCFG_SCREEN_VISIBLE_AREA(0, 32-1, 0, 32-1)
MCFG_SCREEN_UPDATE_DRIVER(pockstat_state, screen_update_pockstat)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD));
screen.set_refresh_hz(50);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
screen.set_size(32, 32);
screen.set_visarea(0, 32-1, 0, 32-1);
screen.set_screen_update(FUNC(pockstat_state::screen_update_pockstat));
PALETTE(config, "palette", palette_device::MONOCHROME);

View File

@ -1011,23 +1011,24 @@ void portfolio_state::machine_reset()
//**************************************************************************
//-------------------------------------------------
// MACHINE_CONFIG( portfolio )
// machine_config( portfolio )
//-------------------------------------------------
MACHINE_CONFIG_START(portfolio_state::portfolio)
void portfolio_state::portfolio(machine_config &config)
{
// basic machine hardware
MCFG_DEVICE_ADD(M80C88A_TAG, I8088, XTAL(4'915'200))
MCFG_DEVICE_PROGRAM_MAP(portfolio_mem)
MCFG_DEVICE_IO_MAP(portfolio_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(portfolio_state,portfolio_int_ack)
I8088(config, m_maincpu, XTAL(4'915'200));
m_maincpu->set_addrmap(AS_PROGRAM, &portfolio_state::portfolio_mem);
m_maincpu->set_addrmap(AS_IO, &portfolio_state::portfolio_io);
m_maincpu->set_irq_acknowledge_callback(FUNC(portfolio_state::portfolio_int_ack));
// video hardware
MCFG_SCREEN_ADD(SCREEN_TAG, LCD)
MCFG_SCREEN_REFRESH_RATE(72)
MCFG_SCREEN_UPDATE_DEVICE(HD61830_TAG, hd61830_device, screen_update)
MCFG_SCREEN_SIZE(240, 64)
MCFG_SCREEN_VISIBLE_AREA(0, 240-1, 0, 64-1)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_LCD));
screen.set_refresh_hz(72);
screen.set_screen_update(HD61830_TAG, FUNC(hd61830_device::screen_update));
screen.set_size(240, 64);
screen.set_visarea(0, 240-1, 0, 64-1);
screen.set_palette("palette");
PALETTE(config, "palette", FUNC(portfolio_state::portfolio_palette), 2);
@ -1040,8 +1041,7 @@ MACHINE_CONFIG_START(portfolio_state::portfolio)
// sound hardware
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD(PCD3311T_TAG, PCD3311, XTAL(3'578'640))
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
PCD3311(config, m_dtmf, XTAL(3'578'640)).add_route(ALL_OUTPUTS, "mono", 0.25);
// devices
PORTFOLIO_MEMORY_CARD_SLOT(config, m_ccm, portfolio_memory_cards, nullptr);
@ -1064,7 +1064,7 @@ MACHINE_CONFIG_START(portfolio_state::portfolio)
RAM(config, RAM_TAG).set_default_size("128K");
NVRAM(config, "nvram", nvram_device::DEFAULT_RANDOM);
MACHINE_CONFIG_END
}

View File

@ -634,7 +634,8 @@ static INPUT_PORTS_START( poisk1 )
PORT_INCLUDE( poisk1_keyboard_v91 )
INPUT_PORTS_END
MACHINE_CONFIG_START(p1_state::poisk1)
void p1_state::poisk1(machine_config &config)
{
/* basic machine hardware */
I8088(config, m_maincpu, 5000000);
m_maincpu->set_addrmap(AS_PROGRAM, &p1_state::poisk1_map);
@ -673,10 +674,10 @@ MACHINE_CONFIG_START(p1_state::poisk1)
m_isabus->irq5_callback().set(m_pic8259, FUNC(pic8259_device::ir5_w));
m_isabus->irq7_callback().set(m_pic8259, FUNC(pic8259_device::ir7_w));
MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, "isa", p1_isa8_cards, "fdc", false) // FIXME: determine ISA bus clock
MCFG_DEVICE_ADD("isa2", ISA8_SLOT, 0, "isa", p1_isa8_cards, nullptr, false)
MCFG_DEVICE_ADD("isa3", ISA8_SLOT, 0, "isa", p1_isa8_cards, nullptr, false)
MCFG_DEVICE_ADD("isa4", ISA8_SLOT, 0, "isa", p1_isa8_cards, nullptr, false)
ISA8_SLOT(config, "isa1", 0, m_isabus, p1_isa8_cards, "fdc", false); // FIXME: determine ISA bus clock
ISA8_SLOT(config, "isa2", 0, m_isabus, p1_isa8_cards, nullptr, false);
ISA8_SLOT(config, "isa3", 0, m_isabus, p1_isa8_cards, nullptr, false);
ISA8_SLOT(config, "isa4", 0, m_isabus, p1_isa8_cards, nullptr, false);
CASSETTE(config, m_cassette);
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_ENABLED | CASSETTE_SPEAKER_ENABLED);
@ -685,19 +686,18 @@ MACHINE_CONFIG_START(p1_state::poisk1)
// SOFTWARE_LIST(config, "cass_list").set_original("poisk1_cass");
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD( "speaker", SPEAKER_SOUND )
MCFG_SOUND_ROUTE( ALL_OUTPUTS, "mono", 1.00 )
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 1.00);
MCFG_SCREEN_ADD( "screen", RASTER )
MCFG_SCREEN_RAW_PARAMS( XTAL(15'000'000), 912,0,640, 262,0,200 )
MCFG_SCREEN_UPDATE_DRIVER( p1_state, screen_update )
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_raw(XTAL(15'000'000), 912,0,640, 262,0,200);
m_screen->set_screen_update(FUNC(p1_state::screen_update));
/* XXX verify palette */
PALETTE(config, m_palette, FUNC(p1_state::p1_palette), CGA_PALETTE_SETS * 16);
/* internal ram */
RAM(config, RAM_TAG).set_default_size("512K");
MACHINE_CONFIG_END
}
ROM_START( poisk1 )
ROM_REGION16_LE(0x10000,"bios", 0)

View File

@ -226,8 +226,8 @@ WRITE_LINE_MEMBER(pokechmp_state::sound_irq)
m_audiocpu->set_input_line(0, HOLD_LINE);
}
MACHINE_CONFIG_START(pokechmp_state::pokechmp)
void pokechmp_state::pokechmp(machine_config &config)
{
/* basic machine hardware */
M6502(config, m_maincpu, 4_MHz_XTAL/4);
m_maincpu->set_addrmap(AS_PROGRAM, &pokechmp_state::pokechmp_map);
@ -254,17 +254,15 @@ MACHINE_CONFIG_START(pokechmp_state::pokechmp)
GENERIC_LATCH_8(config, m_soundlatch);
MCFG_DEVICE_ADD("ym1", YM2203, XTAL(4'000'000)/4)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.60)
YM2203(config, "ym1", XTAL(4'000'000)/4).add_route(ALL_OUTPUTS, "mono", 0.60);
MCFG_DEVICE_ADD("ym2", YM3812, XTAL(24'000'000)/16)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
YM3812(config, "ym2", XTAL(24'000'000)/16).add_route(ALL_OUTPUTS, "mono", 1.0);
MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(24'000'000)/16, okim6295_device::PIN7_LOW)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) /* sound fx */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
MCFG_DEVICE_ADDRESS_MAP(0, pokechmp_oki_map)
MACHINE_CONFIG_END
okim6295_device &oki(OKIM6295(config, "oki", XTAL(24'000'000)/16, okim6295_device::PIN7_LOW));
oki.add_route(ALL_OUTPUTS, "mono", 0.50); /* sound fx */
oki.add_route(ALL_OUTPUTS, "mono", 0.50);
oki.set_addrmap(0, &pokechmp_state::pokechmp_oki_map);
}
void pokechmp_state::init_pokechmp()
{

View File

@ -371,20 +371,21 @@ void poker72_state::machine_reset()
membank("bank1")->set_entry(0);
}
MACHINE_CONFIG_START(poker72_state::poker72)
void poker72_state::poker72(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80,8000000) /* ? MHz */
MCFG_DEVICE_PROGRAM_MAP(poker72_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", poker72_state, irq0_line_hold)
Z80(config, m_maincpu, 8000000); /* ? MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &poker72_state::poker72_map);
m_maincpu->set_vblank_int("screen", FUNC(poker72_state::irq0_line_hold));
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0, 64*8-1, 0, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(poker72_state, screen_update_poker72)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(64*8, 32*8);
screen.set_visarea(0, 64*8-1, 0, 32*8-1);
screen.set_screen_update(FUNC(poker72_state::screen_update_poker72));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_poker72);
PALETTE(config, m_palette, FUNC(poker72_state::poker72_palette), 0xe00);
@ -395,7 +396,7 @@ MACHINE_CONFIG_START(poker72_state::poker72)
ay.port_a_read_callback().set_ioport("SW2");
ay.port_b_read_callback().set_ioport("SW3");
ay.add_route(ALL_OUTPUTS, "mono", 0.50);
MACHINE_CONFIG_END
}

View File

@ -248,22 +248,23 @@ static void poly_floppies(device_slot_interface &device)
}
MACHINE_CONFIG_START(poly_state::poly)
void poly_state::poly(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", MC6809, 12.0576_MHz_XTAL / 3)
MCFG_DEVICE_PROGRAM_MAP(poly_mem)
MC6809(config, m_maincpu, 12.0576_MHz_XTAL / 3);
m_maincpu->set_addrmap(AS_PROGRAM, &poly_state::poly_mem);
ADDRESS_MAP_BANK(config, "bankdev").set_map(&poly_state::poly_bank).set_options(ENDIANNESS_LITTLE, 8, 17, 0x10000);
INPUT_MERGER_ANY_HIGH(config, "irqs").output_handler().set_inputline(m_maincpu, M6809_IRQ_LINE);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
MCFG_SCREEN_SIZE(40 * 12, 24 * 20)
MCFG_SCREEN_VISIBLE_AREA(0, 40 * 12 - 1, 0, 24 * 20 - 1)
MCFG_SCREEN_UPDATE_DRIVER(poly_state, screen_update)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(50);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500));
screen.set_size(40 * 12, 24 * 20);
screen.set_visarea(0, 40 * 12 - 1, 0, 24 * 20 - 1);
screen.set_screen_update(FUNC(poly_state::screen_update));
SAA5050(config, m_trom[0], 12.0576_MHz_XTAL / 2);
m_trom[0]->d_cb().set(FUNC(poly_state::videoram_1_r));
@ -275,8 +276,7 @@ MACHINE_CONFIG_START(poly_state::poly)
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
SPEAKER_SOUND(config, m_speaker).add_route(ALL_OUTPUTS, "mono", 0.50);
/* internal ram */
RAM(config, m_ram).set_default_size("128K").set_extra_options("64K");
@ -342,7 +342,7 @@ MACHINE_CONFIG_START(poly_state::poly)
/* software lists */
SOFTWARE_LIST(config, "flop_list").set_original("poly_flop").set_filter("POLY1");
MACHINE_CONFIG_END
}
void poly_state::poly2(machine_config &config)

View File

@ -197,20 +197,20 @@ GFXDECODE_END
MACHINE_CONFIG_START(poly88_state::poly88)
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", I8080A, XTAL(16'588'800) / 9) // uses 8224 clock generator
MCFG_DEVICE_PROGRAM_MAP(poly88_mem)
MCFG_DEVICE_IO_MAP(poly88_io)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", poly88_state, poly88_interrupt)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(poly88_state,poly88_irq_callback)
I8080A(config, m_maincpu, XTAL(16'588'800) / 9); // uses 8224 clock generator
m_maincpu->set_addrmap(AS_PROGRAM, &poly88_state::poly88_mem);
m_maincpu->set_addrmap(AS_IO, &poly88_state::poly88_io);
m_maincpu->set_vblank_int("screen", FUNC(poly88_state::poly88_interrupt));
m_maincpu->set_irq_acknowledge_callback(FUNC(poly88_state::poly88_irq_callback));
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(64*10, 16*15)
MCFG_SCREEN_VISIBLE_AREA(0, 64*10-1, 0, 16*15-1)
MCFG_SCREEN_UPDATE_DRIVER(poly88_state, screen_update_poly88)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
screen.set_size(64*10, 16*15);
screen.set_visarea(0, 64*10-1, 0, 16*15-1);
screen.set_screen_update(FUNC(poly88_state::screen_update_poly88));
screen.set_palette("palette");
GFXDECODE(config, "gfxdecode", "palette", gfx_poly88);
PALETTE(config, "palette", palette_device::MONOCHROME);
@ -234,12 +234,12 @@ MACHINE_CONFIG_START(poly88_state::poly88)
MCFG_SNAPSHOT_ADD("snapshot", poly88_state, poly88, "img", attotime::from_seconds(2))
MACHINE_CONFIG_END
MACHINE_CONFIG_START(poly88_state::poly8813)
void poly88_state::poly8813(machine_config &config)
{
poly88(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(poly8813_mem)
MCFG_DEVICE_IO_MAP(poly8813_io)
MACHINE_CONFIG_END
m_maincpu->set_addrmap(AS_PROGRAM, &poly88_state::poly8813_mem);
m_maincpu->set_addrmap(AS_IO, &poly88_state::poly8813_io);
}
/* ROM definition */
ROM_START( poly88 )

View File

@ -276,7 +276,8 @@ GFXDECODE_END
/* the machine driver */
MACHINE_CONFIG_START(polyplay_state::polyplay_zre)
void polyplay_state::polyplay_zre(machine_config &config)
{
/* basic machine hardware */
Z80(config, m_maincpu, POLYPLAY_MAIN_CLOCK / 4); /* UB880D */
m_maincpu->set_daisy_config(daisy_chain_zre);
@ -299,12 +300,12 @@ MACHINE_CONFIG_START(polyplay_state::polyplay_zre)
m_z80pio->out_pb_callback().set(FUNC(polyplay_state::pio_portb_w));
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(polyplay_state, screen_update_polyplay)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(50);
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8, 64*8-1, 0*8, 32*8-1);
screen.set_screen_update(FUNC(polyplay_state::screen_update_polyplay));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_polyplay);
PALETTE(config, m_palette, FUNC(polyplay_state::polyplay_palette), 10);
@ -313,7 +314,7 @@ MACHINE_CONFIG_START(polyplay_state::polyplay_zre)
SPEAKER(config, "mono").front_center();
SPEAKER_SOUND(config, m_speaker1).add_route(ALL_OUTPUTS, "mono", 0.5);
SPEAKER_SOUND(config, m_speaker2).add_route(ALL_OUTPUTS, "mono", 0.5);
MACHINE_CONFIG_END
}
void polyplay_state::polyplay_zrepp(machine_config &config)
{

View File

@ -216,22 +216,22 @@ void poolshrk_state::poolshrk_palette(palette_device &palette) const
}
MACHINE_CONFIG_START(poolshrk_state::poolshrk)
void poolshrk_state::poolshrk(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M6800, 11055000 / 8) /* ? */
MCFG_DEVICE_PROGRAM_MAP(poolshrk_cpu_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", poolshrk_state, irq0_line_assert)
M6800(config, m_maincpu, 11055000 / 8); /* ? */
m_maincpu->set_addrmap(AS_PROGRAM, &poolshrk_state::poolshrk_cpu_map);
m_maincpu->set_vblank_int("screen", FUNC(poolshrk_state::irq0_line_assert));
WATCHDOG_TIMER(config, m_watchdog);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_SIZE(256, 256)
MCFG_SCREEN_VISIBLE_AREA(1, 255, 24, 255)
MCFG_SCREEN_UPDATE_DRIVER(poolshrk_state, screen_update)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_size(256, 256);
screen.set_visarea(1, 255, 24, 255);
screen.set_screen_update(FUNC(poolshrk_state::screen_update));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_poolshrk);
PALETTE(config, m_palette, FUNC(poolshrk_state::poolshrk_palette), 4);
@ -239,9 +239,8 @@ MACHINE_CONFIG_START(poolshrk_state::poolshrk)
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("discrete", DISCRETE, poolshrk_discrete)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
DISCRETE(config, m_discrete, poolshrk_discrete).add_route(ALL_OUTPUTS, "mono", 1.0);
}
ROM_START( poolshrk )

View File

@ -193,11 +193,11 @@ void pooyan_state::machine_start()
}
MACHINE_CONFIG_START(pooyan_state::pooyan)
void pooyan_state::pooyan(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, MASTER_CLOCK/3/2)
MCFG_DEVICE_PROGRAM_MAP(main_map)
Z80(config, m_maincpu, MASTER_CLOCK/3/2);
m_maincpu->set_addrmap(AS_PROGRAM, &pooyan_state::main_map);
ls259_device &mainlatch(LS259(config, "mainlatch")); // B2
mainlatch.q_out_cb<0>().set(FUNC(pooyan_state::irq_enable_w));
@ -211,20 +211,20 @@ MACHINE_CONFIG_START(pooyan_state::pooyan)
WATCHDOG_TIMER(config, "watchdog");
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(pooyan_state, screen_update)
MCFG_SCREEN_PALETTE("palette")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, pooyan_state, vblank_irq))
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_size(32*8, 32*8);
screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(pooyan_state::screen_update));
screen.set_palette(m_palette);
screen.screen_vblank().set(FUNC(pooyan_state::vblank_irq));
GFXDECODE(config, m_gfxdecode, m_palette, gfx_pooyan);
PALETTE(config, m_palette, FUNC(pooyan_state::pooyan_palette), 16*16+16*16, 32);
/* sound hardware */
TIMEPLT_AUDIO(config, "timeplt_audio");
MACHINE_CONFIG_END
}
/*************************************

View File

@ -642,22 +642,22 @@ TIMER_DEVICE_CALLBACK_MEMBER(popobear_state::irq)
m_maincpu->set_input_line(2, ASSERT_LINE);
}
MACHINE_CONFIG_START(popobear_state::popobear)
MCFG_DEVICE_ADD("maincpu", M68000, XTAL(42'000'000)/4) // XTAL CORRECT, DIVISOR GUESSED
MCFG_DEVICE_PROGRAM_MAP(popobear_mem)
void popobear_state::popobear(machine_config &config)
{
M68000(config, m_maincpu, XTAL(42'000'000)/4); // XTAL CORRECT, DIVISOR GUESSED
m_maincpu->set_addrmap(AS_PROGRAM, &popobear_state::popobear_mem);
// levels 2,3,5 look interesting
//MCFG_DEVICE_VBLANK_INT_DRIVER("screen", popobear_state, irq5_line_assert)
//MCFG_DEVICE_PERIODIC_INT_DRIVER(popobear_state, irq2_line_assert, 120)
//->set_vblank_int("screen", popobear_state, irq5_line_assert)
//->set_periodic_int(FUNC(popobear_state, irq2_line_assert, 120)
TIMER(config, "scantimer").configure_scanline(FUNC(popobear_state::irq), "screen", 0, 1);
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_UPDATE_DRIVER(popobear_state, screen_update)
MCFG_SCREEN_PALETTE(m_palette)
MCFG_SCREEN_SIZE(128*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0, 479, 0, 239)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
screen.set_screen_update(FUNC(popobear_state::screen_update));
screen.set_palette(m_palette);
screen.set_size(128*8, 32*8);
screen.set_visarea(0, 479, 0, 239);
PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 256*2);
@ -665,12 +665,10 @@ MACHINE_CONFIG_START(popobear_state::popobear)
GFXDECODE(config, m_gfxdecode, m_palette, gfx_popobear);
MCFG_DEVICE_ADD("ymsnd", YM2413, XTAL(42'000'000)/16) // XTAL CORRECT, DIVISOR GUESSED
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
YM2413(config, "ymsnd", XTAL(42'000'000)/16).add_route(ALL_OUTPUTS, "mono", 1.0); // XTAL CORRECT, DIVISOR GUESSED
MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(42'000'000)/32, okim6295_device::PIN7_LOW) // XTAL CORRECT, DIVISOR GUESSED
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MACHINE_CONFIG_END
OKIM6295(config, "oki", XTAL(42'000'000)/32, okim6295_device::PIN7_LOW).add_route(ALL_OUTPUTS, "mono", 1.0); // XTAL CORRECT, DIVISOR GUESSED
}
ROM_START( popobear )

View File

@ -534,20 +534,21 @@ void popper_state::machine_reset()
// MACHINE DEFINTIONS
//**************************************************************************
MACHINE_CONFIG_START(popper_state::popper)
MCFG_DEVICE_ADD("maincpu", Z80, XTAL(18'432'000)/3/2)
MCFG_DEVICE_PROGRAM_MAP(main_map)
void popper_state::popper(machine_config &config)
{
Z80(config, m_maincpu, XTAL(18'432'000)/3/2);
m_maincpu->set_addrmap(AS_PROGRAM, &popper_state::main_map);
MCFG_DEVICE_ADD("subcpu", Z80, XTAL(18'432'000)/3/2)
MCFG_DEVICE_PROGRAM_MAP(sub_map)
Z80(config, m_subcpu, XTAL(18'432'000)/3/2);
m_subcpu->set_addrmap(AS_PROGRAM, &popper_state::sub_map);
config.m_perfect_cpu_quantum = subtag("maincpu");
// video hardware
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL(18'432'000)/3, 384, 48, 328, 264, 16, 240)
MCFG_SCREEN_UPDATE_DRIVER(popper_state, screen_update)
MCFG_SCREEN_PALETTE("palette")
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_raw(XTAL(18'432'000)/3, 384, 48, 328, 264, 16, 240);
m_screen->set_screen_update(FUNC(popper_state::screen_update));
m_screen->set_palette("palette");
GFXDECODE(config, m_gfxdecode, "palette", gfx_popper);
@ -559,7 +560,7 @@ MACHINE_CONFIG_START(popper_state::popper)
AY8910(config, m_ay[0], XTAL(18'432'000)/3/2/2).add_route(ALL_OUTPUTS, "mono", 0.25);
AY8910(config, m_ay[1], XTAL(18'432'000)/3/2/2).add_route(ALL_OUTPUTS, "mono", 0.25);
MACHINE_CONFIG_END
}
//**************************************************************************

View File

@ -254,23 +254,24 @@ static GFXDECODE_START( gfx_portrait )
GFXDECODE_END
MACHINE_CONFIG_START(portrait_state::portrait)
MCFG_DEVICE_ADD("maincpu", Z80, 4000000) /* 4 MHz ? */
MCFG_DEVICE_PROGRAM_MAP(portrait_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", portrait_state, irq0_line_hold)
void portrait_state::portrait(machine_config &config)
{
Z80(config, m_maincpu, 4000000); /* 4 MHz ? */
m_maincpu->set_addrmap(AS_PROGRAM, &portrait_state::portrait_map);
m_maincpu->set_vblank_int("screen", FUNC(portrait_state::irq0_line_hold));
MCFG_DEVICE_ADD("audiocpu", I8039, 3120000) /* ? */
MCFG_DEVICE_PROGRAM_MAP(portrait_sound_map)
i8039_device &audiocpu(I8039(config, "audiocpu", 3120000)); /* ? */
audiocpu.set_addrmap(AS_PROGRAM, &portrait_state::portrait_sound_map);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 64*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 54*8-1, 0*8, 40*8-1)
MCFG_SCREEN_UPDATE_DRIVER(portrait_state, screen_update)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(50);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(64*8, 64*8);
screen.set_visarea(0*8, 54*8-1, 0*8, 40*8-1);
screen.set_screen_update(FUNC(portrait_state::screen_update));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_portrait);
PALETTE(config, m_palette, FUNC(portrait_state::portrait_palette), 0x800, 0x40);
@ -281,7 +282,7 @@ MACHINE_CONFIG_START(portrait_state::portrait)
GENERIC_LATCH_8(config, "soundlatch");
TMS5200(config, m_tms, 640000).add_route(ALL_OUTPUTS, "mono", 1.0);
MACHINE_CONFIG_END
}
ROM_START( portrait )

View File

@ -78,8 +78,8 @@ static INPUT_PORTS_START( potgold )
INPUT_PORTS_END
MACHINE_CONFIG_START(potgold_state::potgold)
void potgold_state::potgold(machine_config &config)
{
/* basic machine hardware */
TMS34010(config, m_maincpu, XTAL(40'000'000));
m_maincpu->set_addrmap(AS_PROGRAM, &potgold_state::potgold_map);
@ -88,13 +88,13 @@ MACHINE_CONFIG_START(potgold_state::potgold)
m_maincpu->set_pixels_per_clock(1);
m_maincpu->set_scanline_rgb32_callback(FUNC(potgold_state::scanline_update));
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(VIDEO_CLOCK/2, 444, 0, 320, 233, 0, 200)
MCFG_SCREEN_UPDATE_DEVICE("maincpu", tms34010_device, tms340x0_rgb32)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_raw(VIDEO_CLOCK/2, 444, 0, 320, 233, 0, 200);
screen.set_screen_update("maincpu", FUNC(tms34010_device::tms340x0_rgb32));
/* sound hardware */
/* YM2413 */
MACHINE_CONFIG_END
}
ROM_START( potgoldu )
ROM_REGION16_LE( 0x400000, "user1", 0 ) /* 34010 code */

View File

@ -626,24 +626,24 @@ MACHINE_RESET_MEMBER(powerbal_state,powerbal)
configure_oki_banks();
}
MACHINE_CONFIG_START(powerbal_state::powerbal)
void powerbal_state::powerbal(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 12000000) /* 12 MHz */
MCFG_DEVICE_PROGRAM_MAP(powerbal_main_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", powerbal_state, irq2_line_hold)
M68000(config, m_maincpu, 12000000); /* 12 MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &powerbal_state::powerbal_main_map);
m_maincpu->set_vblank_int("screen", FUNC(powerbal_state::irq2_line_hold));
MCFG_MACHINE_START_OVERRIDE(powerbal_state,powerbal)
MCFG_MACHINE_RESET_OVERRIDE(powerbal_state,powerbal)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(61)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(128*8, 64*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(powerbal_state, screen_update_powerbal)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(61);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(128*8, 64*8);
screen.set_visarea(0*8, 40*8-1, 0*8, 30*8-1);
screen.set_screen_update(FUNC(powerbal_state::screen_update_powerbal));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_powerbal);
PALETTE(config, m_palette).set_format(palette_device::RRRRGGGGBBBBRGBx, 512);
@ -653,17 +653,17 @@ MACHINE_CONFIG_START(powerbal_state::powerbal)
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, 1000000, okim6295_device::PIN7_HIGH)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MCFG_DEVICE_ADDRESS_MAP(0, oki_map)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(powerbal_state::magicstk)
OKIM6295(config, m_oki, 1000000, okim6295_device::PIN7_HIGH);
m_oki->add_route(ALL_OUTPUTS, "mono", 1.0);
m_oki->set_addrmap(0, &powerbal_state::oki_map);
}
void powerbal_state::magicstk(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M68000, 12000000) /* 12 MHz */
MCFG_DEVICE_PROGRAM_MAP(magicstk_main_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", powerbal_state, irq2_line_hold)
M68000(config, m_maincpu, 12000000); /* 12 MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &powerbal_state::magicstk_main_map);
m_maincpu->set_vblank_int("screen", FUNC(powerbal_state::irq2_line_hold));
EEPROM_93C46_16BIT(config, "eeprom").default_value(0);
@ -671,13 +671,13 @@ MACHINE_CONFIG_START(powerbal_state::magicstk)
MCFG_MACHINE_RESET_OVERRIDE(powerbal_state,powerbal)
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(61)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(128*8, 64*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 40*8-1, 0*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(powerbal_state, screen_update_powerbal)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(61);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
screen.set_size(128*8, 64*8);
screen.set_visarea(0*8, 40*8-1, 0*8, 30*8-1);
screen.set_screen_update(FUNC(powerbal_state::screen_update_powerbal));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_powerbal);
PALETTE(config, m_palette).set_format(palette_device::RRRRGGGGBBBBRGBx, 512);
@ -687,25 +687,23 @@ MACHINE_CONFIG_START(powerbal_state::magicstk)
/* sound hardware */
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("oki", OKIM6295, 1000000, okim6295_device::PIN7_HIGH)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
MCFG_DEVICE_ADDRESS_MAP(0, oki_map)
MACHINE_CONFIG_END
MACHINE_CONFIG_START(powerbal_state::atombjt)
OKIM6295(config, m_oki, 1000000, okim6295_device::PIN7_HIGH);
m_oki->add_route(ALL_OUTPUTS, "mono", 1.0);
m_oki->set_addrmap(0, &powerbal_state::oki_map);
}
void powerbal_state::atombjt(machine_config &config)
{
powerbal(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(atombjt_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", powerbal_state, irq6_line_hold)
m_maincpu->set_addrmap(AS_PROGRAM, &powerbal_state::atombjt_map);
m_maincpu->set_vblank_int("screen", FUNC(powerbal_state::irq6_line_hold));
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_SIZE(512, 256) \
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 2*8, 30*8-1) \
subdevice<screen_device>("screen")->set_size(512, 256);
subdevice<screen_device>("screen")->set_visarea(0*8, 48*8-1, 2*8, 30*8-1);
MCFG_VIDEO_START_OVERRIDE(powerbal_state,atombjt)
MACHINE_CONFIG_END
}
/*
Power Balls

View File

@ -27,10 +27,11 @@ private:
static INPUT_PORTS_START( powerstack )
INPUT_PORTS_END
MACHINE_CONFIG_START(powerstack_state::powerstack)
// MCFG_DEVICE_ADD("maincpu", PPC604, 300'000'000) // PPC604E @ 300MHz
// MCFG_DEVICE_PROGRAM_MAP(mem_map)
MACHINE_CONFIG_END
void powerstack_state::powerstack(machine_config &config)
{
// ppc604_device &maincpu(PPC604(config, "maincpu", 300'000'000)); // PPC604E @ 300MHz
// maincpu.set_addrmap(AS_PROGRAM, &powerstack_state::mem_map);
}
ROM_START( powerstk )
ROM_REGION( 0x80000, "roms", 0 )

View File

@ -199,20 +199,21 @@ static INPUT_PORTS_START( pp01 )
INPUT_PORTS_END
/* Machine driver */
MACHINE_CONFIG_START(pp01_state::pp01)
void pp01_state::pp01(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", I8080, 2000000)
MCFG_DEVICE_PROGRAM_MAP(pp01_mem)
MCFG_DEVICE_IO_MAP(pp01_io)
I8080(config, m_maincpu, 2000000);
m_maincpu->set_addrmap(AS_PROGRAM, &pp01_state::pp01_mem);
m_maincpu->set_addrmap(AS_IO, &pp01_state::pp01_io);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(256, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(pp01_state, screen_update_pp01)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(50);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
screen.set_size(256, 256);
screen.set_visarea(0, 256-1, 0, 256-1);
screen.set_screen_update(FUNC(pp01_state::screen_update_pp01));
screen.set_palette("palette");
PALETTE(config, "palette", FUNC(pp01_state::pp01_palette), 8);
@ -222,7 +223,7 @@ MACHINE_CONFIG_START(pp01_state::pp01)
//WAVE(config, "wave", "cassette").add_route(ALL_OUTPUTS, "mono", 0.25);
/* Devices */
MCFG_DEVICE_ADD("uart", I8251, 0)
I8251(config, "uart", 0);
// when rts and dtr are both high, the uart is being used for cassette operations
PIT8253(config, m_pit, 0);
@ -243,7 +244,7 @@ MACHINE_CONFIG_START(pp01_state::pp01)
/* internal ram */
RAM(config, RAM_TAG).set_default_size("64K").set_default_value(0x00);
MACHINE_CONFIG_END
}
/* ROM definition */

View File

@ -373,26 +373,27 @@ uint32_t ppmast93_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
return 0;
}
MACHINE_CONFIG_START(ppmast93_state::ppmast93)
void ppmast93_state::ppmast93(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80,5000000) /* 5 MHz */
MCFG_DEVICE_PROGRAM_MAP(ppmast93_cpu1_map)
MCFG_DEVICE_IO_MAP(ppmast93_cpu1_io)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", ppmast93_state, irq0_line_hold)
Z80(config, m_maincpu, 5000000); /* 5 MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &ppmast93_state::ppmast93_cpu1_map);
m_maincpu->set_addrmap(AS_IO, &ppmast93_state::ppmast93_cpu1_io);
m_maincpu->set_vblank_int("screen", FUNC(ppmast93_state::irq0_line_hold));
MCFG_DEVICE_ADD("sub", Z80,5000000) /* 5 MHz */
MCFG_DEVICE_PROGRAM_MAP(ppmast93_cpu2_map)
MCFG_DEVICE_IO_MAP(ppmast93_cpu2_io)
MCFG_DEVICE_PERIODIC_INT_DRIVER(ppmast93_state, irq0_line_hold, 8000)
z80_device &sub(Z80(config, "sub", 5000000)); /* 5 MHz */
sub.set_addrmap(AS_PROGRAM, &ppmast93_state::ppmast93_cpu2_map);
sub.set_addrmap(AS_IO, &ppmast93_state::ppmast93_cpu2_io);
sub.set_periodic_int(FUNC(ppmast93_state::irq0_line_hold), attotime::from_hz(8000));
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(55)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(256, 256)
MCFG_SCREEN_VISIBLE_AREA(0, 256-1, 0, 256-1)
MCFG_SCREEN_UPDATE_DRIVER(ppmast93_state, screen_update)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(55);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(256, 256);
screen.set_visarea(0, 256-1, 0, 256-1);
screen.set_screen_update(FUNC(ppmast93_state::screen_update));
screen.set_palette("palette");
GFXDECODE(config, m_gfxdecode, "palette", gfx_ppmast93);
@ -403,14 +404,13 @@ MACHINE_CONFIG_START(ppmast93_state::ppmast93)
GENERIC_LATCH_8(config, "soundlatch");
MCFG_DEVICE_ADD("ymsnd", YM2413, 5000000/2)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 1.0)
YM2413(config, "ymsnd", 5000000/2).add_route(ALL_OUTPUTS, "speaker", 1.0);
DAC_8BIT_R2R(config, "dac", 0).add_route(ALL_OUTPUTS, "speaker", 0.3); // unknown DAC
voltage_regulator_device &vref(VOLTAGE_REGULATOR(config, "vref"));
vref.add_route(0, "dac", 1.0, DAC_VREF_POS_INPUT);
vref.add_route(0, "dac", -1.0, DAC_VREF_NEG_INPUT);
MACHINE_CONFIG_END
}
ROM_START( ppmast93 )
ROM_REGION( 0x20000, "maincpu", 0 )

View File

@ -743,23 +743,24 @@ TIMER_DEVICE_CALLBACK_MEMBER(prestige_state::irq_timer)
m_maincpu->set_input_line(0, ASSERT_LINE);
}
MACHINE_CONFIG_START(prestige_state::prestige_base)
void prestige_state::prestige_base(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu",Z80, XTAL(8'000'000)) // Z84C008
MCFG_DEVICE_PROGRAM_MAP(prestige_mem)
MCFG_DEVICE_IO_MAP(prestige_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DRIVER(prestige_state,prestige_int_ack)
Z80(config, m_maincpu, XTAL(8'000'000)); // Z84C008
m_maincpu->set_addrmap(AS_PROGRAM, &prestige_state::prestige_mem);
m_maincpu->set_addrmap(AS_IO, &prestige_state::prestige_io);
m_maincpu->set_irq_acknowledge_callback(FUNC(prestige_state::prestige_int_ack));
TIMER(config, "irq_timer").configure_periodic(FUNC(prestige_state::irq_timer), attotime::from_hz(200));
/* video hardware */
MCFG_SCREEN_ADD("screen", LCD)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_UPDATE_DRIVER(prestige_state, screen_update_1bpp)
MCFG_SCREEN_SIZE( 240, 100 )
MCFG_SCREEN_VISIBLE_AREA( 0, 240-1, 0, 100-1 )
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD));
screen.set_refresh_hz(50);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
screen.set_screen_update(FUNC(prestige_state::screen_update_1bpp));
screen.set_size(240, 100);
screen.set_visarea(0, 240-1, 0, 100-1);
screen.set_palette("palette");
PALETTE(config, "palette", FUNC(prestige_state::prestige_palette), 2);
@ -768,32 +769,32 @@ MACHINE_CONFIG_START(prestige_state::prestige_base)
/* internal ram */
RAM(config, RAM_TAG).set_default_size("32K").set_extra_options("64K");
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(prestige_state::glcolor)
void prestige_state::glcolor(machine_config &config)
{
prestige_base(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(glcolor_io)
m_maincpu->set_addrmap(AS_IO, &prestige_state::glcolor_io);
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_UPDATE_DRIVER(prestige_state, screen_update_2bpp)
MCFG_SCREEN_SIZE( 160, 80 )
MCFG_SCREEN_VISIBLE_AREA( 0, 160-1, 0, 80-1 )
screen_device &screen(*subdevice<screen_device>("screen"));
screen.set_screen_update(FUNC(prestige_state::screen_update_2bpp));
screen.set_size(160, 80);
screen.set_visarea(0, 160-1, 0, 80-1);
subdevice<palette_device>("palette")->set_entries(4).set_init(FUNC(prestige_state::glcolor_palette));
SOFTWARE_LIST(config, "cart_list").set_original("glcolor");
SOFTWARE_LIST(config, "snotec_cart").set_compatible("snotec");
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(prestige_state::glmcolor)
void prestige_state::glmcolor(machine_config &config)
{
glcolor(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(prestige_io)
MACHINE_CONFIG_END
m_maincpu->set_addrmap(AS_IO, &prestige_state::prestige_io);
}
void prestige_state::snotec(machine_config &config)
{

View File

@ -248,19 +248,19 @@ static const struct CassetteOptions primo_cassette_options = {
MACHINE_CONFIG_START(primo_state::primoa32)
/* basic machine hardware */
MCFG_DEVICE_ADD( "maincpu", Z80, 2500000 )
MCFG_DEVICE_PROGRAM_MAP( primo32_mem)
MCFG_DEVICE_IO_MAP( primoa_port)
Z80(config, m_maincpu, 2500000);
m_maincpu->set_addrmap(AS_PROGRAM, &primo_state::primo32_mem);
m_maincpu->set_addrmap(AS_IO, &primo_state::primoa_port);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE( 50 )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE( 256, 192 )
MCFG_SCREEN_VISIBLE_AREA( 0, 256-1, 0, 192-1 )
MCFG_SCREEN_UPDATE_DRIVER(primo_state, screen_update_primo)
MCFG_SCREEN_PALETTE("palette")
MCFG_SCREEN_VBLANK_CALLBACK(WRITELINE(*this, primo_state, vblank_irq))
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(50);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
m_screen->set_size(256, 192);
m_screen->set_visarea(0, 256-1, 0, 192-1);
m_screen->set_screen_update(FUNC(primo_state::screen_update_primo));
m_screen->set_palette("palette");
m_screen->screen_vblank().set(FUNC(primo_state::vblank_irq));
PALETTE(config, "palette", palette_device::MONOCHROME);
@ -286,49 +286,49 @@ MACHINE_CONFIG_START(primo_state::primoa32)
GENERIC_CARTSLOT(config, m_cart2, generic_plain_slot, nullptr, "bin,rom");
MACHINE_CONFIG_END
MACHINE_CONFIG_START(primo_state::primoa48)
void primo_state::primoa48(machine_config &config)
{
primoa32(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(primo48_mem)
MACHINE_CONFIG_END
m_maincpu->set_addrmap(AS_PROGRAM, &primo_state::primo48_mem);
}
MACHINE_CONFIG_START(primo_state::primoa64)
void primo_state::primoa64(machine_config &config)
{
primoa32(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(primo64_mem)
MACHINE_CONFIG_END
m_maincpu->set_addrmap(AS_PROGRAM, &primo_state::primo64_mem);
}
MACHINE_CONFIG_START(primo_state::primob32)
void primo_state::primob32(machine_config &config)
{
primoa32(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(primob_port)
m_maincpu->set_addrmap(AS_IO, &primo_state::primob_port);
MCFG_MACHINE_RESET_OVERRIDE(primo_state, primob)
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(primo_state::primob48)
void primo_state::primob48(machine_config &config)
{
primoa48(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(primob_port)
m_maincpu->set_addrmap(AS_IO, &primo_state::primob_port);
MCFG_MACHINE_RESET_OVERRIDE(primo_state, primob)
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(primo_state::primob64)
void primo_state::primob64(machine_config &config)
{
primoa64(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(primob_port)
m_maincpu->set_addrmap(AS_IO, &primo_state::primob_port);
MCFG_MACHINE_RESET_OVERRIDE(primo_state, primob)
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(primo_state::primoc64)
void primo_state::primoc64(machine_config &config)
{
primoa64(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(primob_port)
m_maincpu->set_addrmap(AS_IO, &primo_state::primob_port);
MCFG_MACHINE_RESET_OVERRIDE(primo_state, primob)
MACHINE_CONFIG_END
}
ROM_START( primoa32 )
ROM_REGION( 0x14000, "maincpu", ROMREGION_ERASEFF )

View File

@ -238,19 +238,20 @@ void prof180x_state::machine_reset()
}
}
MACHINE_CONFIG_START(prof180x_state::prof180x)
void prof180x_state::prof180x(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD(HD64180_TAG, Z80, XTAL(9'216'000))
MCFG_DEVICE_PROGRAM_MAP(prof180x_mem)
MCFG_DEVICE_IO_MAP(prof180x_io)
z80_device &maincpu(Z80(config, HD64180_TAG, XTAL(9'216'000)));
maincpu.set_addrmap(AS_PROGRAM, &prof180x_state::prof180x_mem);
maincpu.set_addrmap(AS_IO, &prof180x_state::prof180x_io);
/* video hardware */
MCFG_SCREEN_ADD(SCREEN_TAG, RASTER)
MCFG_SCREEN_UPDATE_DRIVER(prof180x_state, screen_update)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER));
screen.set_screen_update(FUNC(prof180x_state::screen_update));
screen.set_refresh_hz(50);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
screen.set_size(640, 480);
screen.set_visarea(0, 640-1, 0, 480-1);
/* devices */
UPD765A(config, FDC9268_TAG, 8'000'000, false, true);
@ -271,7 +272,7 @@ MACHINE_CONFIG_START(prof180x_state::prof180x)
/* software lists */
SOFTWARE_LIST(config, "flop_list").set_original("prof180");
MACHINE_CONFIG_END
}
/* ROM definition */

View File

@ -447,7 +447,7 @@ void prof80_state::machine_start()
//**************************************************************************
//-------------------------------------------------
// MACHINE_CONFIG( prof80 )
// machine_config( prof80 )
//-------------------------------------------------
void prof80_state::prof80(machine_config &config)

View File

@ -418,13 +418,14 @@ void progolf_state::progolf_palette(palette_device &palette) const
}
}
MACHINE_CONFIG_START(progolf_state::progolf)
void progolf_state::progolf(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", DECO_222, 3000000/2) /* guess, 3 Mhz makes the game to behave worse? */
MCFG_DEVICE_PROGRAM_MAP(main_cpu)
DECO_222(config, m_maincpu, 3000000/2); /* guess, 3 Mhz makes the game to behave worse? */
m_maincpu->set_addrmap(AS_PROGRAM, &progolf_state::main_cpu);
MCFG_DEVICE_ADD("audiocpu", M6502, 500000)
MCFG_DEVICE_PROGRAM_MAP(sound_cpu)
M6502(config, m_audiocpu, 500000);
m_audiocpu->set_addrmap(AS_PROGRAM, &progolf_state::sound_cpu);
config.m_perfect_cpu_quantum = subtag("maincpu");
@ -433,13 +434,13 @@ MACHINE_CONFIG_START(progolf_state::progolf)
soundlatch.set_separate_acknowledge(true);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(57)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(3072))
MCFG_SCREEN_SIZE(256, 256)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(progolf_state, screen_update)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(57);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(3072));
screen.set_size(256, 256);
screen.set_visarea(0*8, 32*8-1, 0*8, 32*8-1);
screen.set_screen_update(FUNC(progolf_state::screen_update));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_progolf);
PALETTE(config, m_palette, FUNC(progolf_state::progolf_palette), 32 * 3);
@ -455,14 +456,15 @@ MACHINE_CONFIG_START(progolf_state::progolf)
AY8910(config, "ay1", 12000000/8).add_route(ALL_OUTPUTS, "mono", 0.23);
AY8910(config, "ay2", 12000000/8).add_route(ALL_OUTPUTS, "mono", 0.23);
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(progolf_state::progolfa)
void progolf_state::progolfa(machine_config &config)
{
progolf(config);
config.device_remove("maincpu"); /* different encrypted cpu to progolf */
MCFG_DEVICE_ADD("maincpu", DECO_CPU6, 3000000/2) /* guess, 3 Mhz makes the game to behave worse? */
MCFG_DEVICE_PROGRAM_MAP(main_cpu)
MACHINE_CONFIG_END
/* different encrypted cpu to progolf */
DECO_CPU6(config.replace(), m_maincpu, 3000000/2); /* guess, 3 Mhz makes the game to behave worse? */
m_maincpu->set_addrmap(AS_PROGRAM, &progolf_state::main_cpu);
}
ROM_START( progolf )

View File

@ -321,14 +321,15 @@ static void proteus_floppies(device_slot_interface &device)
}
MACHINE_CONFIG_START(proteus_state::proteus)
void proteus_state::proteus(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", MC6809, 4_MHz_XTAL)
MCFG_DEVICE_PROGRAM_MAP(proteus_6809_mem)
MC6809(config, m_maincpu, 4_MHz_XTAL);
m_maincpu->set_addrmap(AS_PROGRAM, &proteus_state::proteus_6809_mem);
MCFG_DEVICE_ADD("z80", Z80, 4_MHz_XTAL)
MCFG_DEVICE_PROGRAM_MAP(proteus_z80_mem)
MCFG_DEVICE_IO_MAP(proteus_z80_io)
Z80(config, m_z80, 4_MHz_XTAL);
m_z80->set_addrmap(AS_PROGRAM, &proteus_state::proteus_z80_mem);
m_z80->set_addrmap(AS_IO, &proteus_state::proteus_z80_io);
INPUT_MERGER_ANY_HIGH(config, m_irqs);
m_irqs->output_handler().set_inputline(m_maincpu, M6809_IRQ_LINE);
@ -413,7 +414,7 @@ MACHINE_CONFIG_START(proteus_state::proteus)
/* software lists */
SOFTWARE_LIST(config, "flop_list").set_original("poly_flop").set_filter("PROTEUS");
MACHINE_CONFIG_END
}
ROM_START(proteus)

View File

@ -380,19 +380,20 @@ void proteus3_state::machine_reset()
Machine Drivers
******************************************************************************/
MACHINE_CONFIG_START(proteus3_state::proteus3)
void proteus3_state::proteus3(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", M6800, XTAL(3'579'545)) /* Divided by 4 internally */
MCFG_DEVICE_PROGRAM_MAP(proteus3_mem)
M6800(config, m_maincpu, XTAL(3'579'545)); /* Divided by 4 internally */
m_maincpu->set_addrmap(AS_PROGRAM, &proteus3_state::proteus3_mem);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(200))
MCFG_SCREEN_SIZE(64*8, 16*12)
MCFG_SCREEN_VISIBLE_AREA(0, 64*8-1, 0, 16*12-1)
MCFG_SCREEN_UPDATE_DRIVER(proteus3_state, screen_update_proteus3)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(50);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(200));
screen.set_size(64*8, 16*12);
screen.set_visarea(0, 64*8-1, 0, 16*12-1);
screen.set_screen_update(FUNC(proteus3_state::screen_update_proteus3));
screen.set_palette("palette");
GFXDECODE(config, "gfxdecode", "palette", gfx_proteus3);
PALETTE(config, "palette", palette_device::MONOCHROME);
@ -442,7 +443,7 @@ MACHINE_CONFIG_START(proteus3_state::proteus3)
m_brg->out_f<13>().set(FUNC(proteus3_state::write_f13_clock));
m_brg->out_f<14>().set(FUNC(proteus3_state::write_f14_clock));
m_brg->out_f<15>().set(FUNC(proteus3_state::write_f15_clock));
MACHINE_CONFIG_END
}

View File

@ -99,11 +99,11 @@ void pse_state::video_start()
{
}
MACHINE_CONFIG_START(pse_state::pse)
void pse_state::pse(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", NETLIST_CPU, NETLIST_CLOCK)
MCFG_NETLIST_SETUP(pse)
NETLIST_CPU(config, m_maincpu, NETLIST_CLOCK);
m_maincpu->set_constructor(netlist_pse);
/* video hardware */
SCREEN(config, "screen", SCREEN_TYPE_RASTER);
@ -113,7 +113,7 @@ MACHINE_CONFIG_START(pse_state::pse)
m_video->set_vert_params(V_TOTAL-22,V_TOTAL-19,V_TOTAL-12,V_TOTAL);
m_video->set_fieldcount(1);
m_video->set_threshold(0.30);
MACHINE_CONFIG_END
}
/***************************************************************************

View File

@ -569,18 +569,19 @@ static GFXDECODE_START( gfx_psion )
GFXDECODE_END
/* basic configuration for 2 lines display */
MACHINE_CONFIG_START(psion_state::psion_2lines)
void psion_state::psion_2lines(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", HD63701, 980000) // should be HD6303 at 0.98MHz
HD63701(config, m_maincpu, 980000); // should be HD6303 at 0.98MHz
/* video hardware */
MCFG_SCREEN_ADD("screen", LCD)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_UPDATE_DEVICE("hd44780", hd44780_device, screen_update)
MCFG_SCREEN_SIZE(6*16, 9*2)
MCFG_SCREEN_VISIBLE_AREA(0, 6*16-1, 0, 9*2-1)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD));
screen.set_refresh_hz(50);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
screen.set_screen_update("hd44780", FUNC(hd44780_device::screen_update));
screen.set_size(6*16, 9*2);
screen.set_visarea(0, 6*16-1, 0, 9*2-1);
screen.set_palette("palette");
PALETTE(config, "palette", FUNC(psion_state::psion_palette), 2);
GFXDECODE(config, "gfxdecode", "palette", gfx_psion);
@ -603,76 +604,75 @@ MACHINE_CONFIG_START(psion_state::psion_2lines)
/* Software lists */
SOFTWARE_LIST(config, "pack_list").set_original("psion2");
MACHINE_CONFIG_END
}
/* basic configuration for 4 lines display */
MACHINE_CONFIG_START(psion_state::psion_4lines)
void psion_state::psion_4lines(machine_config &config)
{
psion_2lines(config);
/* video hardware */
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_SIZE(6*20, 9*4)
MCFG_SCREEN_VISIBLE_AREA(0, 6*20-1, 0, 9*4-1)
subdevice<screen_device>("screen")->set_size(6*20, 9*4);
subdevice<screen_device>("screen")->set_visarea(0, 6*20-1, 0, 9*4-1);
m_lcdc->set_lcd_size(4, 20);
m_lcdc->set_pixel_update_cb(FUNC(psion_state::lz_pixel_update), this);
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(psion1_state::psion1)
void psion1_state::psion1(machine_config &config)
{
psion_2lines(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(psion1_mem)
m_maincpu->set_addrmap(AS_PROGRAM, &psion1_state::psion1_mem);
subdevice<timer_device>("nmi_timer")->set_start_delay(attotime::from_seconds(1));
MCFG_SCREEN_MODIFY("screen")
MCFG_SCREEN_SIZE(6*16, 1*8)
MCFG_SCREEN_VISIBLE_AREA(0, 6*16-1, 0, 8*1-1)
subdevice<screen_device>("screen")->set_size(6*16, 1*8);
subdevice<screen_device>("screen")->set_visarea(0, 6*16-1, 0, 8*1-1);
m_lcdc->set_lcd_size(1, 16);
m_lcdc->set_pixel_update_cb(FUNC(psion1_state::psion1_pixel_update), this);
/* Software lists */
SOFTWARE_LIST(config.replace(), "pack_list").set_original("psion1");
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(psion_state::psioncm)
void psion_state::psioncm(machine_config &config)
{
psion_2lines(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(psioncm_mem)
MACHINE_CONFIG_END
m_maincpu->set_addrmap(AS_PROGRAM, &psion_state::psioncm_mem);
}
MACHINE_CONFIG_START(psion_state::psionla)
void psion_state::psionla(machine_config &config)
{
psion_2lines(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(psionla_mem)
MACHINE_CONFIG_END
m_maincpu->set_addrmap(AS_PROGRAM, &psion_state::psionla_mem);
}
MACHINE_CONFIG_START(psion_state::psionlam)
void psion_state::psionlam(machine_config &config)
{
psion_2lines(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(psionlam_mem)
MACHINE_CONFIG_END
m_maincpu->set_addrmap(AS_PROGRAM, &psion_state::psionlam_mem);
}
MACHINE_CONFIG_START(psion_state::psionp350)
void psion_state::psionp350(machine_config &config)
{
psion_2lines(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(psionp350_mem)
m_maincpu->set_addrmap(AS_PROGRAM, &psion_state::psionp350_mem);
NVRAM(config, "nvram3", nvram_device::DEFAULT_ALL_0); // paged RAM
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(psion_state::psionlz)
void psion_state::psionlz(machine_config &config)
{
psion_4lines(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(psionlz_mem)
m_maincpu->set_addrmap(AS_PROGRAM, &psion_state::psionlz_mem);
NVRAM(config, "nvram3", nvram_device::DEFAULT_ALL_0); // paged RAM
MACHINE_CONFIG_END
}
/* ROM definition */

View File

@ -517,14 +517,15 @@ void pturn_state::machine_reset()
m_nmi_sub = false;
}
MACHINE_CONFIG_START(pturn_state::pturn)
MCFG_DEVICE_ADD("maincpu", Z80, 12000000/3)
MCFG_DEVICE_PROGRAM_MAP(main_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", pturn_state, main_intgen)
void pturn_state::pturn(machine_config &config)
{
Z80(config, m_maincpu, 12000000/3);
m_maincpu->set_addrmap(AS_PROGRAM, &pturn_state::main_map);
m_maincpu->set_vblank_int("screen", FUNC(pturn_state::main_intgen));
MCFG_DEVICE_ADD("audiocpu", Z80, 12000000/3)
MCFG_DEVICE_PROGRAM_MAP(sub_map)
MCFG_DEVICE_PERIODIC_INT_DRIVER(pturn_state, sub_intgen, 3*60)
Z80(config, m_audiocpu, 12000000/3);
m_audiocpu->set_addrmap(AS_PROGRAM, &pturn_state::sub_map);
m_audiocpu->set_periodic_int(FUNC(pturn_state::sub_intgen), attotime::from_hz(3*60));
ls259_device &mainlatch(LS259(config, "mainlatch"));
mainlatch.q_out_cb<0>().set(FUNC(pturn_state::flip_w));
@ -535,13 +536,13 @@ MACHINE_CONFIG_START(pturn_state::pturn)
mainlatch.q_out_cb<5>().set(FUNC(pturn_state::fgbank_w));
mainlatch.q_out_cb<6>().set_nop(); // toggles frequently during gameplay
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(pturn_state, screen_update)
MCFG_SCREEN_PALETTE(m_palette)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(32*8, 32*8);
screen.set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(pturn_state::screen_update));
screen.set_palette(m_palette);
PALETTE(config, m_palette, palette_device::RGB_444_PROMS, "proms", 0x100);
@ -555,7 +556,7 @@ MACHINE_CONFIG_START(pturn_state::pturn)
AY8910(config, "ay1", 2000000).add_route(ALL_OUTPUTS, "mono", 0.25);
AY8910(config, "ay2", 2000000).add_route(ALL_OUTPUTS, "mono", 0.25);
MACHINE_CONFIG_END
}
ROM_START( pturn )

View File

@ -278,36 +278,34 @@ void md_boot_state::puckpkmna_map(address_map &map)
map(0x70001c, 0x70001d).r(FUNC(md_boot_state::puckpkmna_70001c_r));
}
MACHINE_CONFIG_START(md_boot_state::puckpkmn)
void md_boot_state::puckpkmn(machine_config &config)
{
md_ntsc(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(puckpkmn_map)
m_maincpu->set_addrmap(AS_PROGRAM, &md_boot_state::puckpkmn_map);
MCFG_MACHINE_START_OVERRIDE(md_boot_state, md_bootleg)
config.device_remove("genesis_snd_z80");
MCFG_DEVICE_ADD("oki", OKIM6295, XTAL(4'000'000) / 4, okim6295_device::PIN7_HIGH)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.25)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker",0.25)
MACHINE_CONFIG_END
okim6295_device &oki(OKIM6295(config, "oki", XTAL(4'000'000) / 4, okim6295_device::PIN7_HIGH));
oki.add_route(ALL_OUTPUTS, "lspeaker", 0.25);
oki.add_route(ALL_OUTPUTS, "rspeaker", 0.25);
}
MACHINE_CONFIG_START(md_boot_state::puckpkmna)
void md_boot_state::puckpkmna(machine_config &config)
{
puckpkmn(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(puckpkmna_map)
m_maincpu->set_addrmap(AS_PROGRAM, &md_boot_state::puckpkmna_map);
}
MACHINE_CONFIG_END
MACHINE_CONFIG_START(md_boot_state::jzth)
void md_boot_state::jzth(machine_config &config)
{
puckpkmn(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(jzth_map)
MACHINE_CONFIG_END
m_maincpu->set_addrmap(AS_PROGRAM, &md_boot_state::jzth_map);
}
/* Genie's Hardware (contains no real sega parts) */

View File

@ -622,15 +622,15 @@ MACHINE_RESET_MEMBER(punchout_state, spnchout)
}
MACHINE_CONFIG_START(punchout_state::punchout)
void punchout_state::punchout(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, XTAL(8'000'000)/2)
MCFG_DEVICE_PROGRAM_MAP(punchout_map)
MCFG_DEVICE_IO_MAP(punchout_io_map)
Z80(config, m_maincpu, XTAL(8'000'000)/2);
m_maincpu->set_addrmap(AS_PROGRAM, &punchout_state::punchout_map);
m_maincpu->set_addrmap(AS_IO, &punchout_state::punchout_io_map);
MCFG_DEVICE_ADD("audiocpu", N2A03, NTSC_APU_CLOCK)
MCFG_DEVICE_PROGRAM_MAP(punchout_sound_map)
N2A03(config, m_audiocpu, NTSC_APU_CLOCK);
m_audiocpu->set_addrmap(AS_PROGRAM, &punchout_state::punchout_sound_map);
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
@ -659,13 +659,13 @@ MACHINE_CONFIG_START(punchout_state::punchout)
top.screen_vblank().set(FUNC(punchout_state::vblank_irq));
top.screen_vblank().append_inputline(m_audiocpu, INPUT_LINE_NMI);
MCFG_SCREEN_ADD("bottom", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(32*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(punchout_state, screen_update_punchout_bottom)
MCFG_SCREEN_PALETTE("palette")
screen_device &bottom(SCREEN(config, "bottom", SCREEN_TYPE_RASTER));
bottom.set_refresh_hz(60);
bottom.set_vblank_time(ATTOSECONDS_IN_USEC(0));
bottom.set_size(32*8, 32*8);
bottom.set_visarea(0*8, 32*8-1, 2*8, 30*8-1);
bottom.set_screen_update(FUNC(punchout_state::screen_update_punchout_bottom));
bottom.set_palette(m_palette);
/* sound hardware */
// FIXME: this makes no sense - "lspeaker" on left and "mono" on right, with nothing routed to "mono"
@ -675,43 +675,41 @@ MACHINE_CONFIG_START(punchout_state::punchout)
GENERIC_LATCH_8(config, "soundlatch");
GENERIC_LATCH_8(config, "soundlatch2");
MCFG_DEVICE_ADD("vlm", VLM5030, N2A03_NTSC_XTAL/6)
MCFG_DEVICE_ADDRESS_MAP(0, punchout_vlm_map)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.50)
MACHINE_CONFIG_END
VLM5030(config, m_vlm, N2A03_NTSC_XTAL/6);
m_vlm->set_addrmap(0, &punchout_state::punchout_vlm_map);
m_vlm->add_route(ALL_OUTPUTS, "lspeaker", 0.50);
}
MACHINE_CONFIG_START(punchout_state::spnchout)
void punchout_state::spnchout(machine_config &config)
{
punchout(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(spnchout_io_map)
m_maincpu->set_addrmap(AS_IO, &punchout_state::spnchout_io_map);
RP5C01(config, m_rtc, 0); // OSCIN -> Vcc
m_rtc->remove_battery();
RP5H01(config, m_rp5h01, 0);
MCFG_MACHINE_RESET_OVERRIDE(punchout_state, spnchout)
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(punchout_state::armwrest)
void punchout_state::armwrest(machine_config &config)
{
punchout(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(armwrest_map)
m_maincpu->set_addrmap(AS_PROGRAM, &punchout_state::armwrest_map);
/* video hardware */
m_gfxdecode->set_info(gfx_armwrest);
MCFG_VIDEO_START_OVERRIDE(punchout_state, armwrest)
MCFG_SCREEN_MODIFY("top")
MCFG_SCREEN_UPDATE_DRIVER(punchout_state, screen_update_armwrest_top)
MCFG_SCREEN_MODIFY("bottom")
MCFG_SCREEN_UPDATE_DRIVER(punchout_state, screen_update_armwrest_bottom)
MACHINE_CONFIG_END
subdevice<screen_device>("top")->set_screen_update(FUNC(punchout_state::screen_update_armwrest_top));
subdevice<screen_device>("bottom")->set_screen_update(FUNC(punchout_state::screen_update_armwrest_bottom));
}

View File

@ -177,12 +177,12 @@ private:
required_device<gfxdecode_device> m_gfxdecode;
required_device<screen_device> m_screen;
required_device<palette_device> m_palette;
void pv1000(address_map &map);
void pv1000_mem(address_map &map);
void pv1000_io(address_map &map);
};
void pv1000_state::pv1000(address_map &map)
void pv1000_state::pv1000_mem(address_map &map)
{
//AM_RANGE(0x0000, 0x7fff) // mapped by the cartslot
map(0xb800, 0xbbff).ram().share("videoram");
@ -441,11 +441,9 @@ GFXDECODE_END
MACHINE_CONFIG_START(pv1000_state::pv1000)
MCFG_DEVICE_ADD( "maincpu", Z80, 17897725/5 )
MCFG_DEVICE_PROGRAM_MAP( pv1000 )
MCFG_DEVICE_IO_MAP( pv1000_io )
Z80(config, m_maincpu, 17897725/5);
m_maincpu->set_addrmap(AS_PROGRAM, &pv1000_state::pv1000_mem);
m_maincpu->set_addrmap(AS_IO, &pv1000_state::pv1000_io);
/* D65010G031 - Video & sound chip */
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);

View File

@ -387,11 +387,10 @@ DEVICE_IMAGE_LOAD_MEMBER( pv2000_state, pv2000_cart )
/* Machine Drivers */
MACHINE_CONFIG_START(pv2000_state::pv2000)
// basic machine hardware
MCFG_DEVICE_ADD("maincpu", Z80, XTAL(7'159'090)/2) // 3.579545 MHz
MCFG_DEVICE_PROGRAM_MAP(pv2000_map)
MCFG_DEVICE_IO_MAP(pv2000_io_map)
Z80(config, m_maincpu, XTAL(7'159'090)/2); // 3.579545 MHz
m_maincpu->set_addrmap(AS_PROGRAM, &pv2000_state::pv2000_map);
m_maincpu->set_addrmap(AS_IO, &pv2000_state::pv2000_io_map);
// video hardware
tms9928a_device &vdp(TMS9928A(config, "tms9928a", XTAL(10'738'635)));
@ -403,8 +402,7 @@ MACHINE_CONFIG_START(pv2000_state::pv2000)
// sound hardware
SPEAKER(config, "mono").front_center();
MCFG_DEVICE_ADD("sn76489a", SN76489A, XTAL(7'159'090)/2) /* 3.579545 MHz */
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
SN76489A(config, "sn76489a", XTAL(7'159'090)/2).add_route(ALL_OUTPUTS, "mono", 1.00); /* 3.579545 MHz */
WAVE(config, "wave", m_cass).add_route(ALL_OUTPUTS, "mono", 0.25);

View File

@ -149,23 +149,23 @@ uint32_t pv9234_state::screen_update_pv9234(screen_device &screen, bitmap_ind16
return 0;
}
MACHINE_CONFIG_START(pv9234_state::pv9234)
void pv9234_state::pv9234(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", ARM7, 4915000) //probably a more powerful clone.
MCFG_DEVICE_PROGRAM_MAP(pv9234_map)
ARM7(config, m_maincpu, 4915000); //probably a more powerful clone.
m_maincpu->set_addrmap(AS_PROGRAM, &pv9234_state::pv9234_map);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(50)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
MCFG_SCREEN_SIZE(640, 480)
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1)
MCFG_SCREEN_UPDATE_DRIVER(pv9234_state, screen_update_pv9234)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(50);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
screen.set_size(640, 480);
screen.set_visarea(0, 640-1, 0, 480-1);
screen.set_screen_update(FUNC(pv9234_state::screen_update_pv9234));
screen.set_palette("palette");
PALETTE(config, "palette", palette_device::MONOCHROME);
MACHINE_CONFIG_END
}
/* ROM definition */
ROM_START( pv9234 )

View File

@ -404,15 +404,16 @@ static void pwrview_floppies(device_slot_interface &device)
device.option_add("525dd", FLOPPY_525_DD);
}
MACHINE_CONFIG_START(pwrview_state::pwrview)
MCFG_DEVICE_ADD("maincpu", I80186, XTAL(16'000'000))
MCFG_DEVICE_PROGRAM_MAP(pwrview_map)
MCFG_DEVICE_OPCODES_MAP(pwrview_fetch_map)
MCFG_DEVICE_IO_MAP(pwrview_io)
void pwrview_state::pwrview(machine_config &config)
{
I80186(config, m_maincpu, XTAL(16'000'000));
m_maincpu->set_addrmap(AS_PROGRAM, &pwrview_state::pwrview_map);
m_maincpu->set_addrmap(AS_OPCODES, &pwrview_state::pwrview_fetch_map);
m_maincpu->set_addrmap(AS_IO, &pwrview_state::pwrview_io);
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_RAW_PARAMS(XTAL(64'000'000)/8, 480, 0, 384, 1040, 0, 960) // clock unknown
MCFG_SCREEN_UPDATE_DEVICE("crtc", hd6845_device, screen_update)
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_raw(XTAL(64'000'000)/8, 480, 0, 384, 1040, 0, 960); // clock unknown
screen.set_screen_update("crtc", FUNC(hd6845_device::screen_update));
PIT8253(config, m_pit, 0);
m_pit->set_clk<0>(XTAL(16'000'000)/16); // clocks unknown, fix above when found
@ -435,7 +436,7 @@ MACHINE_CONFIG_START(pwrview_state::pwrview)
crtc.set_update_row_callback(FUNC(pwrview_state::update_row), this);
ADDRESS_MAP_BANK(config, "bios_bank").set_map(&pwrview_state::bios_bank).set_options(ENDIANNESS_LITTLE, 16, 17, 0x8000);
MACHINE_CONFIG_END
}
ROM_START(pwrview)
ROM_REGION(0x8000, "bios", 0)

View File

@ -1485,19 +1485,20 @@ void px4p_state::px4p_palette(palette_device &palette) const
// MACHINE DRIVERS
//**************************************************************************
MACHINE_CONFIG_START(px4_state::px4)
void px4_state::px4(machine_config &config)
{
// basic machine hardware
MCFG_DEVICE_ADD("maincpu", Z80, XTAL(7'372'800) / 2) // uPD70008
MCFG_DEVICE_PROGRAM_MAP(px4_mem)
MCFG_DEVICE_IO_MAP(px4_io)
Z80(config, m_z80, XTAL(7'372'800) / 2); // uPD70008
m_z80->set_addrmap(AS_PROGRAM, &px4_state::px4_mem);
m_z80->set_addrmap(AS_IO, &px4_state::px4_io);
// video hardware
MCFG_SCREEN_ADD("screen", LCD)
MCFG_SCREEN_REFRESH_RATE(72)
MCFG_SCREEN_SIZE(240, 64)
MCFG_SCREEN_VISIBLE_AREA(0, 239, 0, 63)
MCFG_SCREEN_UPDATE_DRIVER(px4_state, screen_update_px4)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD));
screen.set_refresh_hz(72);
screen.set_size(240, 64);
screen.set_visarea(0, 239, 0, 63);
screen.set_screen_update(FUNC(px4_state::screen_update_px4));
screen.set_palette("palette");
config.set_default_layout(layout_px4);
@ -1541,25 +1542,25 @@ MACHINE_CONFIG_START(px4_state::px4)
m_rs232->cts_handler().set(FUNC(px4_state::rs232_cts_w));
// rom capsules
MCFG_GENERIC_CARTSLOT_ADD("capsule1", generic_plain_slot, "px4_cart")
MCFG_GENERIC_CARTSLOT_ADD("capsule2", generic_plain_slot, "px4_cart")
GENERIC_CARTSLOT(config, m_caps1, generic_plain_slot, "px4_cart");
GENERIC_CARTSLOT(config, m_caps2, generic_plain_slot, "px4_cart");
// software list
SOFTWARE_LIST(config, "cart_list").set_original("px4_cart");
SOFTWARE_LIST(config, "epson_cpm_list").set_original("epson_cpm");
MACHINE_CONFIG_END
}
MACHINE_CONFIG_START(px4p_state::px4p)
void px4p_state::px4p(machine_config &config)
{
px4(config);
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(px4p_io)
m_z80->set_addrmap(AS_IO, &px4p_state::px4p_io);
NVRAM(config, "rdnvram", nvram_device::DEFAULT_ALL_0);
subdevice<palette_device>("palette")->set_init(FUNC(px4p_state::px4p_palette));
MCFG_GENERIC_CARTSLOT_ADD("ramdisk_socket", generic_plain_slot, "px4_cart")
MACHINE_CONFIG_END
GENERIC_CARTSLOT(config, m_rdsocket, generic_plain_slot, "px4_cart");
}
//**************************************************************************

View File

@ -737,31 +737,32 @@ void px8_state::machine_reset()
MACHINE DRIVERS
***************************************************************************/
MACHINE_CONFIG_START(px8_state::px8)
void px8_state::px8(machine_config &config)
{
/* main cpu (uPD70008) */
MCFG_DEVICE_ADD(UPD70008_TAG, Z80, XTAL_CR1 / 4) /* 2.45 MHz */
MCFG_DEVICE_PROGRAM_MAP(px8_mem)
MCFG_DEVICE_IO_MAP(px8_io)
Z80(config, m_maincpu, XTAL_CR1 / 4); /* 2.45 MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &px8_state::px8_mem);
m_maincpu->set_addrmap(AS_IO, &px8_state::px8_io);
/* slave cpu (HD6303) */
MCFG_DEVICE_ADD(HD6303_TAG, M6803, XTAL_CR1 / 4) /* 614 kHz */
MCFG_DEVICE_PROGRAM_MAP(px8_slave_mem)
MCFG_DEVICE_DISABLE()
m6803_cpu_device &slave(M6803(config, HD6303_TAG, XTAL_CR1 / 4)); /* 614 kHz */
slave.set_addrmap(AS_PROGRAM, &px8_state::px8_slave_mem);
slave.set_disable();
/* sub CPU (uPD7508) */
// MCFG_DEVICE_ADD(UPD7508_TAG, UPD7508, 200000) /* 200 kHz */
// MCFG_DEVICE_IO_MAP(px8_sub_io)
// MCFG_DEVICE_DISABLE()
// upd7508_device &sub(UPD7508(config, UPD7508_TAG, 200000)); /* 200 kHz */
// sub.set_addrmap(AS_IO, &px8_state::px8_sub_io);
// sub.set_disable();
/* video hardware */
config.set_default_layout(layout_px8);
MCFG_SCREEN_ADD(SCREEN_TAG, LCD)
MCFG_SCREEN_REFRESH_RATE(72)
MCFG_SCREEN_UPDATE_DRIVER(px8_state, screen_update)
MCFG_SCREEN_SIZE(480, 64)
MCFG_SCREEN_VISIBLE_AREA(0, 479, 0, 63)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_LCD));
screen.set_refresh_hz(72);
screen.set_screen_update(FUNC(px8_state::screen_update));
screen.set_size(480, 64);
screen.set_visarea(0, 479, 0, 63);
screen.set_palette("palette");
GFXDECODE(config, "gfxdecode", "palette", gfx_px8);
PALETTE(config, "palette", FUNC(px8_state::px8_palette), 2);
@ -771,14 +772,12 @@ MACHINE_CONFIG_START(px8_state::px8)
WAVE(config, "wave", m_cassette).add_route(0, "mono", 0.25);
/* cartridge */
MCFG_GENERIC_CARTSLOT_ADD("capsule1", generic_plain_slot, "px8_cart")
MCFG_GENERIC_EXTENSIONS("bin,rom")
GENERIC_CARTSLOT(config, "capsule1", generic_plain_slot, "px8_cart", "bin,rom");
MCFG_GENERIC_CARTSLOT_ADD("capsule2", generic_plain_slot, "px8_cart")
MCFG_GENERIC_EXTENSIONS("bin,rom")
GENERIC_CARTSLOT(config, "capsule2", generic_plain_slot, "px8_cart", "bin,rom");
/* devices */
MCFG_DEVICE_ADD(I8251_TAG, I8251, 0)
I8251(config, I8251_TAG, 0);
CASSETTE(config, m_cassette);
m_cassette->set_default_state(CASSETTE_STOPPED | CASSETTE_MOTOR_DISABLED | CASSETTE_SPEAKER_ENABLED);
@ -789,7 +788,7 @@ MACHINE_CONFIG_START(px8_state::px8)
// software
SOFTWARE_LIST(config, "cart_list").set_original("px8_cart");
SOFTWARE_LIST(config, "epson_cpm_list").set_original("epson_cpm");
MACHINE_CONFIG_END
}
/***************************************************************************
ROMS

View File

@ -334,21 +334,21 @@ void pzletime_state::machine_reset()
m_ticket = 0;
}
MACHINE_CONFIG_START(pzletime_state::pzletime)
void pzletime_state::pzletime(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu",M68000,10000000)
MCFG_DEVICE_PROGRAM_MAP(pzletime_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", pzletime_state, irq4_line_hold)
M68000(config, m_maincpu, 10000000);
m_maincpu->set_addrmap(AS_PROGRAM, &pzletime_state::pzletime_map);
m_maincpu->set_vblank_int("screen", FUNC(pzletime_state::irq4_line_hold));
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 48*8-1, 0*8, 28*8-1)
MCFG_SCREEN_UPDATE_DRIVER(pzletime_state, screen_update_pzletime)
MCFG_SCREEN_PALETTE(m_palette)
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
m_screen->set_size(64*8, 32*8);
m_screen->set_visarea(0*8, 48*8-1, 0*8, 28*8-1);
m_screen->set_screen_update(FUNC(pzletime_state::screen_update_pzletime));
m_screen->set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_pzletime);
PALETTE(config, m_palette, FUNC(pzletime_state::pzletime_palette));
@ -360,7 +360,7 @@ MACHINE_CONFIG_START(pzletime_state::pzletime)
SPEAKER(config, "mono").front_center();
OKIM6295(config, m_oki, 937500, okim6295_device::PIN7_HIGH); //freq & pin7 taken from stlforce
m_oki->add_route(ALL_OUTPUTS, "mono", 1.0);
MACHINE_CONFIG_END
}
/***************************************************************************

View File

@ -895,13 +895,14 @@ void ql_state::machine_reset()
//**************************************************************************
//-------------------------------------------------
// MACHINE_CONFIG( ql )
// machine_config( ql )
//-------------------------------------------------
MACHINE_CONFIG_START(ql_state::ql)
void ql_state::ql(machine_config &config)
{
// basic machine hardware
MCFG_DEVICE_ADD(m_maincpu, M68008, X1/2)
MCFG_DEVICE_PROGRAM_MAP(ql_mem)
M68008(config, m_maincpu, X1/2);
m_maincpu->set_addrmap(AS_PROGRAM, &ql_state::ql_mem);
I8749(config, m_ipc, X4);
m_ipc->set_addrmap(AS_IO, &ql_state::ipc_io);
@ -912,12 +913,12 @@ MACHINE_CONFIG_START(ql_state::ql)
m_ipc->bus_in_cb().set(FUNC(ql_state::ipc_bus_r));
// video hardware
MCFG_SCREEN_ADD(SCREEN_TAG, RASTER)
MCFG_SCREEN_REFRESH_RATE(50.08)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) // not accurate
MCFG_SCREEN_UPDATE_DEVICE(ZX8301_TAG, zx8301_device, screen_update)
MCFG_SCREEN_SIZE(960, 312)
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1)
screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_RASTER));
screen.set_refresh_hz(50.08);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); // not accurate
screen.set_screen_update(ZX8301_TAG, FUNC(zx8301_device::screen_update));
screen.set_size(960, 312);
screen.set_visarea(0, 512-1, 0, 256-1);
// sound hardware
SPEAKER(config, "mono").front_center();
@ -971,25 +972,26 @@ MACHINE_CONFIG_START(ql_state::ql)
// internal ram
RAM(config, m_ram).set_default_size("128K");
MACHINE_CONFIG_END
}
//-------------------------------------------------
// MACHINE_CONFIG( ql_ntsc )
// machine_config( ql_ntsc )
//-------------------------------------------------
MACHINE_CONFIG_START(ql_state::ql_ntsc)
void ql_state::ql_ntsc(machine_config &config)
{
ql(config);
// video hardware
MCFG_SCREEN_MODIFY(SCREEN_TAG)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_SIZE(960, 262)
MCFG_SCREEN_VISIBLE_AREA(0, 512-1, 0, 256-1)
MACHINE_CONFIG_END
screen_device &screen(*subdevice<screen_device>(SCREEN_TAG));
screen.set_refresh_hz(60);
screen.set_size(960, 262);
screen.set_visarea(0, 512-1, 0, 256-1);
}
//-------------------------------------------------
// MACHINE_CONFIG( opd )
// machine_config( opd )
//-------------------------------------------------
void ql_state::opd(machine_config &config)
@ -1002,7 +1004,7 @@ void ql_state::opd(machine_config &config)
/*
//-------------------------------------------------
// MACHINE_CONFIG( megaopd )
// machine_config( megaopd )
//-------------------------------------------------
void ql_state::megaopd(machine_config &config)

View File

@ -124,27 +124,27 @@ void quakeat_state::machine_start()
}
/*************************************************************/
MACHINE_CONFIG_START(quakeat_state::quake)
void quakeat_state::quake(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", PENTIUM2, 233000000) /* Pentium II, 233MHz */
MCFG_DEVICE_PROGRAM_MAP(quake_map)
MCFG_DEVICE_IO_MAP(quake_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb)
PENTIUM2(config, m_maincpu, 233000000); /* Pentium II, 233MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &quakeat_state::quake_map);
m_maincpu->set_addrmap(AS_IO, &quakeat_state::quake_io);
m_maincpu->set_irq_acknowledge_callback("pic8259_1", FUNC(pic8259_device::inta_cb));
pcat_common(config);
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(0*8, 64*8-1, 0*8, 32*8-1)
MCFG_SCREEN_UPDATE_DRIVER(quakeat_state, screen_update_quake)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(64*8, 32*8);
screen.set_visarea(0*8, 64*8-1, 0*8, 32*8-1);
screen.set_screen_update(FUNC(quakeat_state::screen_update_quake));
screen.set_palette("palette");
MCFG_PALETTE_ADD("palette", 0x100)
MACHINE_CONFIG_END
PALETTE(config, "palette").set_entries(0x100);
}
ROM_START(quake)

View File

@ -283,10 +283,10 @@ void queen_state::machine_reset()
MACHINE_CONFIG_START(queen_state::queen)
MCFG_DEVICE_ADD("maincpu", PENTIUM3, 533000000/16) // Celeron or Pentium 3, 533 Mhz
MCFG_DEVICE_PROGRAM_MAP(queen_map)
MCFG_DEVICE_IO_MAP(queen_io)
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb)
PENTIUM3(config, m_maincpu, 533000000/16); // Celeron or Pentium 3, 533 Mhz
m_maincpu->set_addrmap(AS_PROGRAM, &queen_state::queen_map);
m_maincpu->set_addrmap(AS_IO, &queen_state::queen_io);
m_maincpu->set_irq_acknowledge_callback("pic8259_1", FUNC(pic8259_device::inta_cb));
pcat_common(config);

View File

@ -440,25 +440,25 @@ void quizdna_state::machine_start()
}
MACHINE_CONFIG_START(quizdna_state::quizdna)
void quizdna_state::quizdna(machine_config &config)
{
/* basic machine hardware */
MCFG_DEVICE_ADD("maincpu", Z80, MCLK/2) /* 8.000 MHz */
MCFG_DEVICE_PROGRAM_MAP(quizdna_map)
MCFG_DEVICE_IO_MAP(quizdna_io_map)
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", quizdna_state, irq0_line_hold)
Z80(config, m_maincpu, MCLK/2); /* 8.000 MHz */
m_maincpu->set_addrmap(AS_PROGRAM, &quizdna_state::quizdna_map);
m_maincpu->set_addrmap(AS_IO, &quizdna_state::quizdna_io_map);
m_maincpu->set_vblank_int("screen", FUNC(quizdna_state::irq0_line_hold));
/* video hardware */
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(60)
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, 56*8-1, 2*8, 30*8-1)
MCFG_SCREEN_UPDATE_DRIVER(quizdna_state, screen_update)
MCFG_SCREEN_PALETTE("palette")
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500) /* not accurate */);
screen.set_size(64*8, 32*8);
screen.set_visarea(8*8, 56*8-1, 2*8, 30*8-1);
screen.set_screen_update(FUNC(quizdna_state::screen_update));
screen.set_palette(m_palette);
GFXDECODE(config, m_gfxdecode, m_palette, gfx_quizdna);
MCFG_PALETTE_ADD("palette", 2048)
PALETTE(config, m_palette).set_entries(2048);
/* sound hardware */
@ -472,30 +472,27 @@ MACHINE_CONFIG_START(quizdna_state::quizdna)
ymsnd.add_route(2, "mono", 0.10);
ymsnd.add_route(3, "mono", 0.40);
MCFG_DEVICE_ADD("oki", OKIM6295, (MCLK/1024)*132, okim6295_device::PIN7_HIGH) // clock frequency & pin 7 not verified
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.30)
MACHINE_CONFIG_END
OKIM6295(config, "oki", (MCLK/1024)*132, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.30); // clock frequency & pin 7 not verified
}
MACHINE_CONFIG_START(quizdna_state::gakupara)
void quizdna_state::gakupara(machine_config &config)
{
quizdna(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_IO_MAP(gakupara_io_map)
m_maincpu->set_addrmap(AS_IO, &quizdna_state::gakupara_io_map);
}
MACHINE_CONFIG_END
MACHINE_CONFIG_START(quizdna_state::gekiretu)
void quizdna_state::gekiretu(machine_config &config)
{
quizdna(config);
/* basic machine hardware */
MCFG_DEVICE_MODIFY("maincpu")
MCFG_DEVICE_PROGRAM_MAP(gekiretu_map)
MCFG_DEVICE_IO_MAP(gekiretu_io_map)
MACHINE_CONFIG_END
m_maincpu->set_addrmap(AS_PROGRAM, &quizdna_state::gekiretu_map);
m_maincpu->set_addrmap(AS_IO, &quizdna_state::gekiretu_io_map);
}
/****************************************************************************/

Some files were not shown because too many files have changed in this diff Show More