mirror of
https://github.com/holub/mame
synced 2025-06-01 02:21:48 +03:00
divideo.h : Remove MCFG_VIDEO_SET_SCREEN usage (#4667)
* divideo.h : Remove MCFG_VIDEO_SET_SCREEN usage attckufo.cpp, bw2.cpp, cdi.cpp, gambl186.cpp, gamtor.cpp, ibmpcjr.cpp, intv.cpp, photoply.cpp, pntnpuzl.cpp, tandy1t.cpp : Remove MCFGs * ibmpcjr.cpp : Partially revert this
This commit is contained in:
parent
bb815543a6
commit
7f5b2f31ff
@ -18,15 +18,6 @@
|
||||
#define MAME_EMU_DIVIDEO_H
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// INTERFACE CONFIGURATION MACROS
|
||||
//**************************************************************************
|
||||
|
||||
#define MCFG_VIDEO_SET_SCREEN(_tag) \
|
||||
dynamic_cast<device_video_interface &>(*device).set_screen(_tag);
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// TYPE DEFINITIONS
|
||||
//**************************************************************************
|
||||
|
@ -119,9 +119,10 @@ READ8_MEMBER(attckufo_state::vic_colorram_r)
|
||||
// MACHINE DEFINTIONS
|
||||
//**************************************************************************
|
||||
|
||||
MACHINE_CONFIG_START(attckufo_state::attckufo)
|
||||
MCFG_DEVICE_ADD("maincpu", M6502, XTAL(14'318'181) / 14)
|
||||
MCFG_DEVICE_PROGRAM_MAP(cpu_map)
|
||||
void attckufo_state::attckufo(machine_config &config)
|
||||
{
|
||||
M6502(config, m_maincpu, XTAL(14'318'181) / 14);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &attckufo_state::cpu_map);
|
||||
|
||||
pia6821_device &pia(PIA6821(config, "pia", 0));
|
||||
pia.readpa_handler().set_ioport("DSW");
|
||||
@ -129,19 +130,19 @@ MACHINE_CONFIG_START(attckufo_state::attckufo)
|
||||
|
||||
SPEAKER(config, "mono").front_center();
|
||||
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(MOS6560_VRETRACERATE)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
|
||||
MCFG_SCREEN_SIZE((MOS6560_XSIZE + 7) & ~7, MOS6560_YSIZE)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 23*8 - 1, 0, 22*8 - 1)
|
||||
MCFG_SCREEN_UPDATE_DEVICE("mos6560", mos6560_device, screen_update)
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_refresh_hz(MOS6560_VRETRACERATE);
|
||||
screen.set_vblank_time(ATTOSECONDS_IN_USEC(2500));
|
||||
screen.set_size((MOS6560_XSIZE + 7) & ~7, MOS6560_YSIZE);
|
||||
screen.set_visarea(0, 23*8 - 1, 0, 22*8 - 1);
|
||||
screen.set_screen_update("mos6560", FUNC(mos6560_device::screen_update));
|
||||
|
||||
MCFG_DEVICE_ADD("mos6560", MOS656X_ATTACK_UFO, XTAL(14'318'181) / 14)
|
||||
MCFG_VIDEO_SET_SCREEN("screen")
|
||||
MCFG_DEVICE_ADDRESS_MAP(0, vic_videoram_map)
|
||||
MCFG_DEVICE_ADDRESS_MAP(1, vic_colorram_map)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
|
||||
MACHINE_CONFIG_END
|
||||
mos6560_device &mos6560(MOS656X_ATTACK_UFO(config, "mos6560", XTAL(14'318'181) / 14));
|
||||
mos6560.set_screen("screen");
|
||||
mos6560.set_addrmap(0, &attckufo_state::vic_videoram_map);
|
||||
mos6560.set_addrmap(1, &attckufo_state::vic_colorram_map);
|
||||
mos6560.add_route(ALL_OUTPUTS, "mono", 0.25);
|
||||
}
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
|
@ -542,19 +542,21 @@ void bw2_state::machine_start()
|
||||
// MACHINE_CONFIG( bw2 )
|
||||
//-------------------------------------------------
|
||||
|
||||
MACHINE_CONFIG_START(bw2_state::bw2)
|
||||
void bw2_state::bw2(machine_config &config)
|
||||
{
|
||||
// basic machine hardware
|
||||
MCFG_DEVICE_ADD(Z80_TAG, Z80, 16_MHz_XTAL / 4)
|
||||
MCFG_DEVICE_PROGRAM_MAP(bw2_mem)
|
||||
MCFG_DEVICE_IO_MAP(bw2_io)
|
||||
Z80(config, m_maincpu, 16_MHz_XTAL / 4);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &bw2_state::bw2_mem);
|
||||
m_maincpu->set_addrmap(AS_IO, &bw2_state::bw2_io);
|
||||
|
||||
// video hardware
|
||||
MCFG_SCREEN_ADD(SCREEN_TAG, LCD)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
MCFG_SCREEN_UPDATE_DEVICE( MSM6255_TAG, msm6255_device, screen_update )
|
||||
MCFG_SCREEN_SIZE(640, 200)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 200-1)
|
||||
MCFG_SCREEN_PALETTE("palette")
|
||||
screen_device &screen(SCREEN(config, SCREEN_TAG, SCREEN_TYPE_LCD));
|
||||
screen.set_refresh_hz(60);
|
||||
screen.set_screen_update(MSM6255_TAG, FUNC(msm6255_device::screen_update));
|
||||
screen.set_size(640, 200);
|
||||
screen.set_visarea(0, 640-1, 0, 200-1);
|
||||
screen.set_palette("palette");
|
||||
|
||||
PALETTE(config, "palette", FUNC(bw2_state::bw2_palette), 2);
|
||||
|
||||
// devices
|
||||
@ -573,9 +575,9 @@ MACHINE_CONFIG_START(bw2_state::bw2)
|
||||
ppi.in_pc_callback().set(FUNC(bw2_state::ppi_pc_r));
|
||||
ppi.out_pc_callback().set(FUNC(bw2_state::ppi_pc_w));
|
||||
|
||||
MCFG_DEVICE_ADD(MSM6255_TAG, MSM6255, 16_MHz_XTAL)
|
||||
MCFG_DEVICE_ADDRESS_MAP(0, lcdc_map)
|
||||
MCFG_VIDEO_SET_SCREEN(SCREEN_TAG)
|
||||
MSM6255(config, m_lcdc, 16_MHz_XTAL);
|
||||
m_lcdc->set_addrmap(0, &bw2_state::lcdc_map);
|
||||
m_lcdc->set_screen(SCREEN_TAG);
|
||||
|
||||
CENTRONICS(config, m_centronics, centronics_devices, "printer");
|
||||
m_centronics->busy_handler().set(FUNC(bw2_state::write_centronics_busy));
|
||||
@ -605,7 +607,7 @@ MACHINE_CONFIG_START(bw2_state::bw2)
|
||||
|
||||
// internal ram
|
||||
RAM(config, RAM_TAG).set_default_size("64K").set_extra_options("96K,128K,160K,192K,224K");
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -748,86 +748,88 @@ WRITE8_MEMBER( cdi_state::slave_io_w )
|
||||
*************************/
|
||||
|
||||
// CD-i Mono-I system base
|
||||
MACHINE_CONFIG_START(cdi_state::cdimono1_base)
|
||||
MCFG_DEVICE_ADD("maincpu", SCC68070, CLOCK_A/2)
|
||||
MCFG_DEVICE_PROGRAM_MAP(cdimono1_mem)
|
||||
void cdi_state::cdimono1_base(machine_config &config)
|
||||
{
|
||||
SCC68070(config, m_maincpu, CLOCK_A/2);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &cdi_state::cdimono1_mem);
|
||||
|
||||
MCFG_DEVICE_ADD("mcd212", MCD212, 0)
|
||||
MCFG_VIDEO_SET_SCREEN("screen")
|
||||
MCD212(config, m_mcd212, 0);
|
||||
m_mcd212->set_screen("screen");
|
||||
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
MCFG_SCREEN_SIZE(384, 302)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 384-1, 22, 302-1) // TODO: dynamic resolution
|
||||
MCFG_SCREEN_UPDATE_DRIVER(cdi_state, screen_update_cdimono1)
|
||||
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(384, 302);
|
||||
screen.set_visarea(0, 384-1, 22, 302-1); // TODO: dynamic resolution
|
||||
screen.set_screen_update(FUNC(cdi_state::screen_update_cdimono1));
|
||||
|
||||
MCFG_SCREEN_ADD("lcd", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
MCFG_SCREEN_SIZE(192, 22)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 192-1, 0, 22-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(cdi_state, screen_update_cdimono1_lcd)
|
||||
SCREEN(config, m_lcd, SCREEN_TYPE_RASTER);
|
||||
m_lcd->set_refresh_hz(60);
|
||||
m_lcd->set_vblank_time(ATTOSECONDS_IN_USEC(0));
|
||||
m_lcd->set_size(192, 22);
|
||||
m_lcd->set_visarea(0, 192-1, 0, 22-1);
|
||||
m_lcd->set_screen_update(FUNC(cdi_state::screen_update_cdimono1_lcd));
|
||||
|
||||
MCFG_PALETTE_ADD("palette", 0x100)
|
||||
PALETTE(config, "palette").set_entries(0x100);
|
||||
|
||||
config.set_default_layout(layout_cdi);
|
||||
|
||||
MCFG_DEVICE_ADD("scc68070", CDI_68070, 0, "maincpu")
|
||||
CDI_68070(config, m_scc, 0, "maincpu");
|
||||
|
||||
MCFG_DEVICE_ADD("cdic", CDI_CDIC, 0)
|
||||
MCFG_DEVICE_ADD("slave_hle", CDI_SLAVE, 0)
|
||||
CDI_CDIC(config, m_cdic, 0);
|
||||
CDI_SLAVE(config, m_slave_hle, 0);
|
||||
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
MCFG_DEVICE_ADD( "dac1", DMADAC )
|
||||
MCFG_SOUND_ROUTE( ALL_OUTPUTS, "lspeaker", 1.0 )
|
||||
DMADAC(config, m_dmadac[0]);
|
||||
m_dmadac[0]->add_route(ALL_OUTPUTS, "lspeaker", 1.0);
|
||||
|
||||
MCFG_DEVICE_ADD( "dac2", DMADAC )
|
||||
MCFG_SOUND_ROUTE( ALL_OUTPUTS, "rspeaker", 1.0 )
|
||||
DMADAC(config, m_dmadac[1]);
|
||||
m_dmadac[1]->add_route(ALL_OUTPUTS, "rspeaker", 1.0);
|
||||
|
||||
MCFG_DEVICE_ADD( "cdda", CDDA )
|
||||
MCFG_SOUND_ROUTE( ALL_OUTPUTS, "lspeaker", 1.0 )
|
||||
MCFG_SOUND_ROUTE( ALL_OUTPUTS, "rspeaker", 1.0 )
|
||||
CDDA(config, m_cdda);
|
||||
m_cdda->add_route(ALL_OUTPUTS, "lspeaker", 1.0);
|
||||
m_cdda->add_route(ALL_OUTPUTS, "rspeaker", 1.0);
|
||||
|
||||
MCFG_DEVICE_ADD("mk48t08", MK48T08, 0)
|
||||
MACHINE_CONFIG_END
|
||||
MK48T08(config, "mk48t08", 0);
|
||||
}
|
||||
|
||||
// CD-i model 220 (Mono-II, NTSC)
|
||||
MACHINE_CONFIG_START(cdi_state::cdimono2)
|
||||
MCFG_DEVICE_ADD("maincpu", SCC68070, CLOCK_A/2)
|
||||
MCFG_DEVICE_PROGRAM_MAP(cdimono2_mem)
|
||||
void cdi_state::cdimono2(machine_config &config)
|
||||
{
|
||||
SCC68070(config, m_maincpu, CLOCK_A/2);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &cdi_state::cdimono2_mem);
|
||||
|
||||
MCFG_DEVICE_ADD("mcd212", MCD212, 0)
|
||||
MCFG_VIDEO_SET_SCREEN("screen")
|
||||
MCD212(config, m_mcd212, 0);
|
||||
m_mcd212->set_screen("screen");
|
||||
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
MCFG_SCREEN_SIZE(384, 302)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 384-1, 22, 302-1) // TODO: dynamic resolution
|
||||
MCFG_SCREEN_UPDATE_DRIVER(cdi_state, screen_update_cdimono1)
|
||||
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(384, 302);
|
||||
screen.set_visarea(0, 384-1, 22, 302-1); // TODO: dynamic resolution
|
||||
screen.set_screen_update(FUNC(cdi_state::screen_update_cdimono1));
|
||||
|
||||
MCFG_SCREEN_ADD("lcd", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
MCFG_SCREEN_SIZE(192, 22)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 192-1, 0, 22-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(cdi_state, screen_update_cdimono1_lcd)
|
||||
SCREEN(config, m_lcd, SCREEN_TYPE_RASTER);
|
||||
m_lcd->set_refresh_hz(60);
|
||||
m_lcd->set_vblank_time(ATTOSECONDS_IN_USEC(0));
|
||||
m_lcd->set_size(192, 22);
|
||||
m_lcd->set_visarea(0, 192-1, 0, 22-1);
|
||||
m_lcd->set_screen_update(FUNC(cdi_state::screen_update_cdimono1_lcd));
|
||||
|
||||
MCFG_PALETTE_ADD("palette", 0x100)
|
||||
PALETTE(config, "palette").set_entries(0x100);
|
||||
|
||||
config.set_default_layout(layout_cdi);
|
||||
|
||||
MCFG_MACHINE_RESET_OVERRIDE( cdi_state, cdimono2 )
|
||||
|
||||
MCFG_DEVICE_ADD("scc68070", CDI_68070, 0, "maincpu")
|
||||
MCFG_DEVICE_ADD("servo", M68HC05EG, 2000000) /* Unknown clock speed, docs say 2MHz internal clock */
|
||||
MCFG_DEVICE_PROGRAM_MAP(cdimono2_servo_mem)
|
||||
MCFG_DEVICE_ADD("slave", M68HC05EG, 2000000) /* Unknown clock speed, docs say 2MHz internal clock */
|
||||
MCFG_DEVICE_PROGRAM_MAP(cdimono2_slave_mem)
|
||||
CDI_68070(config, m_scc, 0, "maincpu");
|
||||
M68HC05EG(config, m_servo, 2000000); /* Unknown clock speed, docs say 2MHz internal clock */
|
||||
m_servo->set_addrmap(AS_PROGRAM, &cdi_state::cdimono2_servo_mem);
|
||||
M68HC05EG(config, m_slave, 2000000); /* Unknown clock speed, docs say 2MHz internal clock */
|
||||
m_slave->set_addrmap(AS_PROGRAM, &cdi_state::cdimono2_slave_mem);
|
||||
|
||||
CDROM(config, "cdrom").set_interface("cdi_cdrom");
|
||||
SOFTWARE_LIST(config, "cd_list").set_original("cdi").set_filter("!DVC");
|
||||
@ -836,51 +838,52 @@ MACHINE_CONFIG_START(cdi_state::cdimono2)
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
MCFG_DEVICE_ADD( "dac1", DMADAC )
|
||||
MCFG_SOUND_ROUTE( ALL_OUTPUTS, "lspeaker", 1.0 )
|
||||
DMADAC(config, m_dmadac[0]);
|
||||
m_dmadac[0]->add_route(ALL_OUTPUTS, "lspeaker", 1.0);
|
||||
|
||||
MCFG_DEVICE_ADD( "dac2", DMADAC )
|
||||
MCFG_SOUND_ROUTE( ALL_OUTPUTS, "rspeaker", 1.0 )
|
||||
DMADAC(config, m_dmadac[1]);
|
||||
m_dmadac[1]->add_route(ALL_OUTPUTS, "rspeaker", 1.0);
|
||||
|
||||
MCFG_DEVICE_ADD( "cdda", CDDA )
|
||||
MCFG_SOUND_ROUTE( ALL_OUTPUTS, "lspeaker", 1.0 )
|
||||
MCFG_SOUND_ROUTE( ALL_OUTPUTS, "rspeaker", 1.0 )
|
||||
CDDA(config, m_cdda);
|
||||
m_cdda->add_route(ALL_OUTPUTS, "lspeaker", 1.0);
|
||||
m_cdda->add_route(ALL_OUTPUTS, "rspeaker", 1.0);
|
||||
|
||||
MCFG_DEVICE_ADD("mk48t08", MK48T08, 0)
|
||||
MACHINE_CONFIG_END
|
||||
MK48T08(config, "mk48t08", 0);
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(cdi_state::cdi910)
|
||||
MCFG_DEVICE_ADD("maincpu", SCC68070, CLOCK_A/2)
|
||||
MCFG_DEVICE_PROGRAM_MAP(cdi910_mem)
|
||||
void cdi_state::cdi910(machine_config &config)
|
||||
{
|
||||
SCC68070(config, m_maincpu, CLOCK_A/2);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &cdi_state::cdi910_mem);
|
||||
|
||||
MCFG_DEVICE_ADD("mcd212", MCD212, 0)
|
||||
MCFG_VIDEO_SET_SCREEN("screen")
|
||||
MCD212(config, m_mcd212, 0);
|
||||
m_mcd212->set_screen("screen");
|
||||
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
MCFG_SCREEN_SIZE(384, 302)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 384-1, 22, 302-1) // TODO: dynamic resolution
|
||||
MCFG_SCREEN_UPDATE_DRIVER(cdi_state, screen_update_cdimono1)
|
||||
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(384, 302);
|
||||
screen.set_visarea(0, 384-1, 22, 302-1); // TODO: dynamic resolution
|
||||
screen.set_screen_update(FUNC(cdi_state::screen_update_cdimono1));
|
||||
|
||||
MCFG_SCREEN_ADD("lcd", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(60)
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
MCFG_SCREEN_SIZE(192, 22)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 192-1, 0, 22-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(cdi_state, screen_update_cdimono1_lcd)
|
||||
SCREEN(config, m_lcd, SCREEN_TYPE_RASTER);
|
||||
m_lcd->set_refresh_hz(60);
|
||||
m_lcd->set_vblank_time(ATTOSECONDS_IN_USEC(0));
|
||||
m_lcd->set_size(192, 22);
|
||||
m_lcd->set_visarea(0, 192-1, 0, 22-1);
|
||||
m_lcd->set_screen_update(FUNC(cdi_state::screen_update_cdimono1_lcd));
|
||||
|
||||
MCFG_PALETTE_ADD("palette", 0x100)
|
||||
PALETTE(config, "palette").set_entries(0x100);
|
||||
|
||||
config.set_default_layout(layout_cdi);
|
||||
|
||||
MCFG_MACHINE_RESET_OVERRIDE( cdi_state, cdimono2 )
|
||||
|
||||
MCFG_DEVICE_ADD("scc68070", CDI_68070, 0, "maincpu")
|
||||
MCFG_DEVICE_ADD("servo", M68HC05EG, 2000000) /* Unknown clock speed, docs say 2MHz internal clock */
|
||||
MCFG_DEVICE_PROGRAM_MAP(cdimono2_servo_mem)
|
||||
MCFG_DEVICE_ADD("slave", M68HC05EG, 2000000) /* Unknown clock speed, docs say 2MHz internal clock */
|
||||
MCFG_DEVICE_PROGRAM_MAP(cdimono2_slave_mem)
|
||||
CDI_68070(config, m_scc, 0, "maincpu");
|
||||
M68HC05EG(config, m_servo, 2000000); /* Unknown clock speed, docs say 2MHz internal clock */
|
||||
m_servo->set_addrmap(AS_PROGRAM, &cdi_state::cdimono2_servo_mem);
|
||||
M68HC05EG(config, m_slave, 2000000); /* Unknown clock speed, docs say 2MHz internal clock */
|
||||
m_slave->set_addrmap(AS_PROGRAM, &cdi_state::cdimono2_slave_mem);
|
||||
|
||||
CDROM(config, "cdrom").set_interface("cdi_cdrom");
|
||||
SOFTWARE_LIST(config, "cd_list").set_original("cdi").set_filter("!DVC");
|
||||
@ -889,34 +892,35 @@ MACHINE_CONFIG_START(cdi_state::cdi910)
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
|
||||
MCFG_DEVICE_ADD( "dac1", DMADAC )
|
||||
MCFG_SOUND_ROUTE( ALL_OUTPUTS, "lspeaker", 1.0 )
|
||||
DMADAC(config, m_dmadac[0]);
|
||||
m_dmadac[0]->add_route(ALL_OUTPUTS, "lspeaker", 1.0);
|
||||
|
||||
MCFG_DEVICE_ADD( "dac2", DMADAC )
|
||||
MCFG_SOUND_ROUTE( ALL_OUTPUTS, "rspeaker", 1.0 )
|
||||
DMADAC(config, m_dmadac[1]);
|
||||
m_dmadac[1]->add_route(ALL_OUTPUTS, "rspeaker", 1.0);
|
||||
|
||||
MCFG_DEVICE_ADD( "cdda", CDDA )
|
||||
MCFG_SOUND_ROUTE( ALL_OUTPUTS, "lspeaker", 1.0 )
|
||||
MCFG_SOUND_ROUTE( ALL_OUTPUTS, "rspeaker", 1.0 )
|
||||
CDDA(config, m_cdda);
|
||||
m_cdda->add_route(ALL_OUTPUTS, "lspeaker", 1.0);
|
||||
m_cdda->add_route(ALL_OUTPUTS, "rspeaker", 1.0);
|
||||
|
||||
MCFG_DEVICE_ADD("mk48t08", MK48T08, 0)
|
||||
MACHINE_CONFIG_END
|
||||
MK48T08(config, "mk48t08", 0);
|
||||
}
|
||||
|
||||
// CD-i Mono-I, with CD-ROM image device (MESS) and Software List (MESS)
|
||||
MACHINE_CONFIG_START(cdi_state::cdimono1)
|
||||
void cdi_state::cdimono1(machine_config &config)
|
||||
{
|
||||
cdimono1_base(config);
|
||||
MCFG_MACHINE_RESET_OVERRIDE(cdi_state, cdimono1)
|
||||
|
||||
CDROM(config, "cdrom").set_interface("cdi_cdrom");
|
||||
SOFTWARE_LIST(config, "cd_list").set_original("cdi").set_filter("!DVC");
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(cdi_state::quizard)
|
||||
void cdi_state::quizard(machine_config &config)
|
||||
{
|
||||
cdimono1_base(config);
|
||||
MCFG_DEVICE_MODIFY("maincpu")
|
||||
MCFG_DEVICE_PROGRAM_MAP(cdimono1_mem)
|
||||
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", cdi_state, mcu_frame)
|
||||
MACHINE_CONFIG_END
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &cdi_state::cdimono1_mem);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(cdi_state::mcu_frame));
|
||||
}
|
||||
|
||||
|
||||
READ8_MEMBER( cdi_state::quizard_mcu_p1_r )
|
||||
|
@ -472,26 +472,25 @@ INPUT_PORTS_END
|
||||
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(gambl186_state::gambl186)
|
||||
MCFG_DEVICE_ADD("maincpu", I80186, XTAL(40'000'000))
|
||||
MCFG_DEVICE_PROGRAM_MAP(gambl186_map)
|
||||
MCFG_DEVICE_IO_MAP(gambl186_io)
|
||||
void gambl186_state::gambl186(machine_config &config)
|
||||
{
|
||||
I80186(config, m_maincpu, XTAL(40'000'000));
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &gambl186_state::gambl186_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &gambl186_state::gambl186_io);
|
||||
|
||||
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
|
||||
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480)
|
||||
MCFG_SCREEN_UPDATE_DEVICE("vga", cirrus_gd5428_device, screen_update)
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_raw(XTAL(25'174'800),900,0,640,526,0,480);
|
||||
screen.set_screen_update("vga", FUNC(cirrus_gd5428_device::screen_update));
|
||||
|
||||
MCFG_DEVICE_ADD("vga", CIRRUS_GD5428, 0)
|
||||
MCFG_VIDEO_SET_SCREEN("screen")
|
||||
CIRRUS_GD5428(config, "vga", 0).set_screen("screen");
|
||||
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "mono").front_center();
|
||||
MCFG_DEVICE_ADD("7759", UPD7759)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.75)
|
||||
|
||||
MACHINE_CONFIG_END
|
||||
UPD7759(config, m_upd7759);
|
||||
m_upd7759->add_route(ALL_OUTPUTS, "mono", 0.75);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -85,23 +85,23 @@ INPUT_PORTS_END
|
||||
|
||||
|
||||
|
||||
MACHINE_CONFIG_START(gaminator_state::gaminator)
|
||||
MCFG_DEVICE_ADD("maincpu", MCF5206E, 40000000) /* definitely Coldfire, model / clock uncertain */
|
||||
MCFG_DEVICE_PROGRAM_MAP(gaminator_map)
|
||||
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", gaminator_state, irq6_line_hold) // irq6 seems to be needed to get past the ROM checking
|
||||
void gaminator_state::gaminator(machine_config &config)
|
||||
{
|
||||
MCF5206E(config, m_maincpu, 40000000); /* definitely Coldfire, model / clock uncertain */
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &gaminator_state::gaminator_map);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(gaminator_state::irq6_line_hold)); // irq6 seems to be needed to get past the ROM checking
|
||||
MCF5206E_PERIPHERAL(config, "maincpu_onboard", 0);
|
||||
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480)
|
||||
MCFG_SCREEN_UPDATE_DEVICE("vga", gamtor_vga_device, screen_update)
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_raw(XTAL(25'174'800),900,0,640,526,0,480);
|
||||
screen.set_screen_update("vga", FUNC(gamtor_vga_device::screen_update));
|
||||
|
||||
MCFG_DEVICE_ADD("vga", GAMTOR_VGA, 0)
|
||||
MCFG_VIDEO_SET_SCREEN("screen")
|
||||
GAMTOR_VGA(config, "vga", 0).set_screen("screen");
|
||||
|
||||
SPEAKER(config, "lspeaker").front_left();
|
||||
SPEAKER(config, "rspeaker").front_right();
|
||||
/* unknown sound */
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -638,17 +638,14 @@ MACHINE_CONFIG_START(pcjr_state::ibmpcjr)
|
||||
serport.cts_handler().set("ins8250", FUNC(ins8250_uart_device::cts_w));
|
||||
|
||||
/* video hardware */
|
||||
MCFG_DEVICE_ADD("pcvideo_pcjr", PCVIDEO_PCJR, 0)
|
||||
MCFG_VIDEO_SET_SCREEN("pcvideo_pcjr:screen")
|
||||
PCVIDEO_PCJR(config, "pcvideo_pcjr", 0).set_screen("pcvideo_pcjr:screen");
|
||||
|
||||
GFXDECODE(config, "gfxdecode", "pcvideo_pcjr:palette", gfx_pcjr);
|
||||
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "mono").front_center();
|
||||
MCFG_DEVICE_ADD("speaker", SPEAKER_SOUND)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
|
||||
MCFG_DEVICE_ADD("sn76496", SN76496, XTAL(14'318'181)/4)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)
|
||||
SPEAKER_SOUND(config, "speaker").add_route(ALL_OUTPUTS, "mono", 0.80);
|
||||
SN76496(config, "sn76496", XTAL(14'318'181)/4).add_route(ALL_OUTPUTS, "mono", 0.80);
|
||||
|
||||
/* printer */
|
||||
pc_lpt_device &lpt0(PC_LPT(config, "lpt_0"));
|
||||
|
@ -457,24 +457,25 @@ INTERRUPT_GEN_MEMBER(intv_state::intv_interrupt2)
|
||||
timer_set(m_keyboard->cycles_to_attotime(100), TIMER_INTV_INTERRUPT2_COMPLETE);
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(intv_state::intv)
|
||||
void intv_state::intv(machine_config &config)
|
||||
{
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", CP1610, XTAL(3'579'545)/4) /* Colorburst/4 */
|
||||
MCFG_DEVICE_PROGRAM_MAP(intv_mem)
|
||||
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", intv_state, intv_interrupt)
|
||||
CP1610(config, m_maincpu, XTAL(3'579'545)/4); /* Colorburst/4 */
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &intv_state::intv_mem);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(intv_state::intv_interrupt));
|
||||
config.m_minimum_quantum = attotime::from_hz(60);
|
||||
|
||||
/* video hardware */
|
||||
MCFG_DEVICE_ADD("stic", STIC, XTAL(3'579'545))
|
||||
MCFG_VIDEO_SET_SCREEN("screen")
|
||||
STIC(config, m_stic, XTAL(3'579'545));
|
||||
m_stic->set_screen("screen");
|
||||
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_REFRESH_RATE(59.92)
|
||||
//MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2400)) /* not accurate */
|
||||
MCFG_SCREEN_UPDATE_DRIVER(intv_state, screen_update_intv)
|
||||
MCFG_SCREEN_SIZE(stic_device::SCREEN_WIDTH*INTV_X_SCALE, stic_device::SCREEN_HEIGHT*INTV_Y_SCALE)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, stic_device::SCREEN_WIDTH*INTV_X_SCALE-1, 0, stic_device::SCREEN_HEIGHT*INTV_Y_SCALE-1)
|
||||
MCFG_SCREEN_PALETTE(m_palette)
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_refresh_hz(59.92);
|
||||
//screen.set_vblank_time(ATTOSECONDS_IN_USEC(2400)); /* not accurate */
|
||||
screen.set_screen_update(FUNC(intv_state::screen_update_intv));
|
||||
screen.set_size(stic_device::SCREEN_WIDTH*INTV_X_SCALE, stic_device::SCREEN_HEIGHT*INTV_Y_SCALE);
|
||||
screen.set_visarea(0, stic_device::SCREEN_WIDTH*INTV_X_SCALE-1, 0, stic_device::SCREEN_HEIGHT*INTV_Y_SCALE-1);
|
||||
screen.set_palette(m_palette);
|
||||
|
||||
PALETTE(config, m_palette, FUNC(intv_state::intv_palette), 0x400, 32);
|
||||
|
||||
@ -494,30 +495,30 @@ MACHINE_CONFIG_START(intv_state::intv)
|
||||
/* software lists */
|
||||
SOFTWARE_LIST(config, "cart_list").set_original("intv");
|
||||
SOFTWARE_LIST(config, "ecs_list").set_compatible("intvecs");
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(intv_state::intv2)
|
||||
void intv_state::intv2(machine_config &config)
|
||||
{
|
||||
intv(config);
|
||||
MCFG_DEVICE_MODIFY( "maincpu" )
|
||||
MCFG_DEVICE_PROGRAM_MAP(intv2_mem)
|
||||
MACHINE_CONFIG_END
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &intv_state::intv2_mem);
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(intv_state::intvoice)
|
||||
void intv_state::intvoice(machine_config &config)
|
||||
{
|
||||
intv(config);
|
||||
MCFG_DEVICE_MODIFY( "maincpu" )
|
||||
MCFG_DEVICE_PROGRAM_MAP(intvoice_mem)
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &intv_state::intvoice_mem);
|
||||
|
||||
config.device_remove("cartslot");
|
||||
MCFG_DEVICE_ADD("voice", INTV_ROM_VOICE, 0)
|
||||
MACHINE_CONFIG_END
|
||||
INTV_ROM_VOICE(config, "voice", 0);
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(intv_state::intvecs)
|
||||
void intv_state::intvecs(machine_config &config)
|
||||
{
|
||||
intv(config);
|
||||
MCFG_DEVICE_MODIFY("maincpu")
|
||||
MCFG_DEVICE_PROGRAM_MAP(intvecs_mem)
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &intv_state::intvecs_mem);
|
||||
|
||||
config.device_remove("cartslot");
|
||||
MCFG_DEVICE_ADD("ecs", INTV_ROM_ECS, 0)
|
||||
INTV_ROM_ECS(config, "ecs", 0);
|
||||
|
||||
sp0256_device &speech(SP0256(config, "speech", 3120000));
|
||||
/* The Intellivoice uses a speaker with its own volume control so the relative volumes to use are subjective */
|
||||
@ -530,16 +531,16 @@ MACHINE_CONFIG_START(intv_state::intvecs)
|
||||
config.device_remove("ecs_list");
|
||||
SOFTWARE_LIST(config.replace(), "cart_list").set_original("intvecs");
|
||||
SOFTWARE_LIST(config, "intv_list").set_compatible("intv");
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(intv_state::intvkbd)
|
||||
void intv_state::intvkbd(machine_config &config)
|
||||
{
|
||||
intv(config);
|
||||
MCFG_DEVICE_MODIFY( "maincpu" )
|
||||
MCFG_DEVICE_PROGRAM_MAP(intvkbd_mem)
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &intv_state::intvkbd_mem);
|
||||
|
||||
MCFG_DEVICE_ADD("keyboard", M6502, XTAL(7'159'090)/8)
|
||||
MCFG_DEVICE_PROGRAM_MAP(intvkbd2_mem)
|
||||
MCFG_DEVICE_VBLANK_INT_DRIVER("screen", intv_state, intv_interrupt2)
|
||||
M6502(config, m_keyboard, XTAL(7'159'090)/8);
|
||||
m_keyboard->set_addrmap(AS_PROGRAM, &intv_state::intvkbd2_mem);
|
||||
m_keyboard->set_vblank_int("screen", FUNC(intv_state::intv_interrupt2));
|
||||
|
||||
config.m_minimum_quantum = attotime::from_hz(6000);
|
||||
|
||||
@ -555,13 +556,12 @@ MACHINE_CONFIG_START(intv_state::intvkbd)
|
||||
stic_device::OVERSCAN_TOP_HEIGHT*stic_device::Y_SCALE*INTVKBD_Y_SCALE,
|
||||
stic_device::OVERSCAN_BOTTOM_HEIGHT*stic_device::Y_SCALE*INTVKBD_Y_SCALE);
|
||||
|
||||
MCFG_SCREEN_MODIFY("screen")
|
||||
MCFG_SCREEN_UPDATE_DRIVER(intv_state, screen_update_intvkbd)
|
||||
subdevice<screen_device>("screen")->set_screen_update(FUNC(intv_state::screen_update_intvkbd));
|
||||
|
||||
/* I/O cartslots for BASIC */
|
||||
GENERIC_CARTSLOT(config, m_iocart1, generic_plain_slot, "intbasic_cart");
|
||||
GENERIC_CARTSLOT(config, m_iocart2, generic_plain_slot, "intbasic_cart");
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
ROM_START(intv) // the intv1 exec rom should be two roms: RO-3-9502-011.U5 and RO-3-9504-021.U6
|
||||
ROM_REGION(0x10000<<1,"maincpu", ROMREGION_ERASEFF)
|
||||
|
@ -302,10 +302,10 @@ GFXDECODE_END
|
||||
|
||||
MACHINE_CONFIG_START(photoply_state::photoply)
|
||||
/* basic machine hardware */
|
||||
MCFG_DEVICE_ADD("maincpu", I486DX4, 75000000) /* I486DX4, 75 or 100 Mhz */
|
||||
MCFG_DEVICE_PROGRAM_MAP(photoply_map)
|
||||
MCFG_DEVICE_IO_MAP(photoply_io)
|
||||
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb)
|
||||
I486DX4(config, m_maincpu, 75000000); /* I486DX4, 75 or 100 Mhz */
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &photoply_state::photoply_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &photoply_state::photoply_io);
|
||||
m_maincpu->set_irq_acknowledge_callback("pic8259_1", FUNC(pic8259_device::inta_cb));
|
||||
|
||||
pcat_common(config);
|
||||
|
||||
@ -320,12 +320,11 @@ MACHINE_CONFIG_START(photoply_state::photoply)
|
||||
MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0)
|
||||
MCFG_PCI_BUS_LEGACY_DEVICE(5, DEVICE_SELF, photoply_state, sis_pcm_r, sis_pcm_w)
|
||||
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480)
|
||||
MCFG_SCREEN_UPDATE_DEVICE("vga", cirrus_gd5446_device, screen_update)
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_raw(XTAL(25'174'800),900,0,640,526,0,480);
|
||||
screen.set_screen_update("vga", FUNC(cirrus_gd5446_device::screen_update));
|
||||
|
||||
MCFG_DEVICE_ADD("vga", CIRRUS_GD5446, 0)
|
||||
MCFG_VIDEO_SET_SCREEN("screen")
|
||||
CIRRUS_GD5446(config, "vga", 0).set_screen("screen");
|
||||
|
||||
EEPROM_93C46_16BIT(config, "eeprom")
|
||||
.write_time(attotime::from_usec(1))
|
||||
|
@ -353,9 +353,10 @@ static INPUT_PORTS_START( pntnpuzl )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_OTHER ) PORT_CODE(KEYCODE_D)
|
||||
INPUT_PORTS_END
|
||||
|
||||
MACHINE_CONFIG_START(pntnpuzl_state::pntnpuzl)
|
||||
MCFG_DEVICE_ADD("maincpu", M68000, 12_MHz_XTAL)
|
||||
MCFG_DEVICE_PROGRAM_MAP(pntnpuzl_map)
|
||||
void pntnpuzl_state::pntnpuzl(machine_config &config)
|
||||
{
|
||||
M68000(config, m_maincpu, 12_MHz_XTAL);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &pntnpuzl_state::pntnpuzl_map);
|
||||
|
||||
EEPROM_93C46_16BIT(config, "eeprom");
|
||||
|
||||
@ -373,13 +374,12 @@ MACHINE_CONFIG_START(pntnpuzl_state::pntnpuzl)
|
||||
mcu.ach7_cb().set_constant(0x180); // ?
|
||||
|
||||
/* video hardware */
|
||||
MCFG_SCREEN_ADD("screen", RASTER)
|
||||
MCFG_SCREEN_RAW_PARAMS(XTAL(25'174'800),900,0,640,526,0,480)
|
||||
MCFG_SCREEN_UPDATE_DEVICE("vga", vga_device, screen_update)
|
||||
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
|
||||
screen.set_raw(XTAL(25'174'800),900,0,640,526,0,480);
|
||||
screen.set_screen_update("vga", FUNC(vga_device::screen_update));
|
||||
|
||||
MCFG_DEVICE_ADD("vga", VGA, 0)
|
||||
MCFG_VIDEO_SET_SCREEN("screen")
|
||||
MACHINE_CONFIG_END
|
||||
VGA(config, "vga", 0).set_screen("screen");
|
||||
}
|
||||
|
||||
ROM_START( pntnpuzl )
|
||||
ROM_REGION( 0x80000, "maincpu", 0 ) /* 68000 Code */
|
||||
|
@ -658,26 +658,26 @@ static GFXDECODE_START( gfx_t1000 )
|
||||
GFXDECODE_ENTRY( "gfx1", 0x0000, t1000_charlayout, 3, 1 )
|
||||
GFXDECODE_END
|
||||
|
||||
MACHINE_CONFIG_START(tandy1000_state::tandy1000_common)
|
||||
MCFG_DEVICE_ADD("mb", T1000_MOTHERBOARD, 0)
|
||||
downcast<t1000_mb_device &>(*device).set_cputag("maincpu");
|
||||
void tandy1000_state::tandy1000_common(machine_config &config)
|
||||
{
|
||||
T1000_MOTHERBOARD(config, m_mb, 0);
|
||||
m_mb->set_cputag("maincpu");
|
||||
|
||||
/* video hardware */
|
||||
MCFG_DEVICE_ADD("pcvideo_t1000", PCVIDEO_T1000, 0)
|
||||
MCFG_VIDEO_SET_SCREEN("pcvideo_t1000:screen")
|
||||
PCVIDEO_T1000(config, m_video, 0);
|
||||
m_video->set_screen("pcvideo_t1000:screen");
|
||||
GFXDECODE(config, "gfxdecode", "pcvideo_t1000:palette", gfx_t1000);
|
||||
|
||||
/* sound hardware */
|
||||
MCFG_DEVICE_ADD("sn76496", NCR8496, XTAL(14'318'181)/4)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mb:mono", 0.80)
|
||||
NCR8496(config, "sn76496", XTAL(14'318'181)/4).add_route(ALL_OUTPUTS, "mb:mono", 0.80);
|
||||
|
||||
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
|
||||
|
||||
MCFG_DEVICE_ADD("isa_fdc", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "fdc_xt", true) // FIXME: determine ISA bus clock
|
||||
MCFG_SLOT_OPTION_MACHINE_CONFIG("fdc_xt", cfg_fdc_35)
|
||||
isa8_slot_device &isa_fdc(ISA8_SLOT(config, "isa_fdc", 0, "mb:isa", pc_isa8_cards, "fdc_xt", true)); // FIXME: determine ISA bus clock
|
||||
isa_fdc.set_option_machine_config("fdc_xt", cfg_fdc_35);
|
||||
|
||||
MCFG_DEVICE_ADD("isa_lpt", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "lpt", true)
|
||||
MCFG_DEVICE_ADD("isa_com", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, "com", true)
|
||||
ISA8_SLOT(config, "isa_lpt", 0, "mb:isa", pc_isa8_cards, "lpt", true);
|
||||
ISA8_SLOT(config, "isa_com", 0, "mb:isa", pc_isa8_cards, "com", true);
|
||||
|
||||
PC_JOY(config, "pc_joy");
|
||||
|
||||
@ -686,7 +686,7 @@ MACHINE_CONFIG_START(tandy1000_state::tandy1000_common)
|
||||
|
||||
SOFTWARE_LIST(config, "disk_list").set_original("t1000");
|
||||
SOFTWARE_LIST(config, "pc_list").set_compatible("ibm5150");
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
void tandy1000_state::tandy1000_90key(machine_config &config)
|
||||
{
|
||||
@ -700,40 +700,42 @@ void tandy1000_state::tandy1000_101key(machine_config &config)
|
||||
m_keyboard->keypress().set("mb:pic8259", FUNC(pic8259_device::ir1_w));
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(tandy1000_state::t1000hx)
|
||||
MCFG_DEVICE_ADD("maincpu", I8088, 8000000)
|
||||
MCFG_DEVICE_PROGRAM_MAP(tandy1000_map)
|
||||
MCFG_DEVICE_IO_MAP(tandy1000_io)
|
||||
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb)
|
||||
void tandy1000_state::t1000hx(machine_config &config)
|
||||
{
|
||||
I8088(config, m_maincpu, 8000000);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &tandy1000_state::tandy1000_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &tandy1000_state::tandy1000_io);
|
||||
m_maincpu->set_irq_acknowledge_callback("mb:pic8259", FUNC(pic8259_device::inta_cb));
|
||||
|
||||
tandy1000_common(config);
|
||||
|
||||
tandy1000_90key(config);
|
||||
|
||||
// plus cards are isa with a nonstandard conntector
|
||||
MCFG_DEVICE_ADD("plus1", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false) // FIXME: determine ISA bus clock
|
||||
ISA8_SLOT(config, "plus1", 0, "mb:isa", pc_isa8_cards, nullptr, false); // FIXME: determine ISA bus clock
|
||||
|
||||
m_ram->set_extra_options("256K, 384K");
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(tandy1000_state::t1000sx)
|
||||
void tandy1000_state::t1000sx(machine_config &config)
|
||||
{
|
||||
t1000hx(config);
|
||||
MCFG_DEVICE_MODIFY("isa_fdc")
|
||||
MCFG_SLOT_OPTION_MACHINE_CONFIG("fdc_xt", cfg_fdc_525)
|
||||
subdevice<isa8_slot_device>("isa_fdc")->set_option_machine_config("fdc_xt", cfg_fdc_525);
|
||||
|
||||
MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false) // FIXME: determine ISA bus clock
|
||||
MCFG_DEVICE_ADD("isa2", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false)
|
||||
MCFG_DEVICE_ADD("isa3", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false)
|
||||
MCFG_DEVICE_ADD("isa4", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false)
|
||||
ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, nullptr, false); // FIXME: determine ISA bus clock
|
||||
ISA8_SLOT(config, "isa2", 0, "mb:isa", pc_isa8_cards, nullptr, false);
|
||||
ISA8_SLOT(config, "isa3", 0, "mb:isa", pc_isa8_cards, nullptr, false);
|
||||
ISA8_SLOT(config, "isa4", 0, "mb:isa", pc_isa8_cards, nullptr, false);
|
||||
|
||||
m_ram->set_extra_options("384K");
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(tandy1000_state::t1000rl)
|
||||
MCFG_DEVICE_ADD("maincpu", I8086, XTAL(28'636'363) / 3)
|
||||
MCFG_DEVICE_PROGRAM_MAP(tandy1000_bank_map)
|
||||
MCFG_DEVICE_IO_MAP(tandy1000_bank_io)
|
||||
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb)
|
||||
void tandy1000_state::t1000rl(machine_config &config)
|
||||
{
|
||||
I8086(config, m_maincpu, XTAL(28'636'363) / 3);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &tandy1000_state::tandy1000_bank_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &tandy1000_state::tandy1000_bank_io);
|
||||
m_maincpu->set_irq_acknowledge_callback("mb:pic8259", FUNC(pic8259_device::inta_cb));
|
||||
|
||||
tandy1000_common(config);
|
||||
|
||||
@ -744,44 +746,45 @@ MACHINE_CONFIG_START(tandy1000_state::t1000rl)
|
||||
MCFG_MACHINE_RESET_OVERRIDE(tandy1000_state,tandy1000rl)
|
||||
|
||||
m_ram->set_extra_options("384K");
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(tandy1000_state::t1000sl2)
|
||||
void tandy1000_state::t1000sl2(machine_config &config)
|
||||
{
|
||||
t1000rl(config);
|
||||
MCFG_DEVICE_MODIFY( "maincpu" )
|
||||
MCFG_DEVICE_CLOCK( XTAL(24'000'000) / 3 )
|
||||
m_maincpu->set_clock(XTAL(24'000'000) / 3);
|
||||
|
||||
MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false) // FIXME: determine ISA bus clock
|
||||
MCFG_DEVICE_ADD("isa2", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false)
|
||||
MCFG_DEVICE_ADD("isa3", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false)
|
||||
MCFG_DEVICE_ADD("isa4", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false)
|
||||
MACHINE_CONFIG_END
|
||||
ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, nullptr, false); // FIXME: determine ISA bus clock
|
||||
ISA8_SLOT(config, "isa2", 0, "mb:isa", pc_isa8_cards, nullptr, false);
|
||||
ISA8_SLOT(config, "isa3", 0, "mb:isa", pc_isa8_cards, nullptr, false);
|
||||
ISA8_SLOT(config, "isa4", 0, "mb:isa", pc_isa8_cards, nullptr, false);
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(tandy1000_state::t1000tl)
|
||||
MCFG_DEVICE_ADD("maincpu", I80286, XTAL(28'636'363) / 2)
|
||||
MCFG_DEVICE_PROGRAM_MAP(tandy1000_286_map)
|
||||
MCFG_DEVICE_IO_MAP(tandy1000_16_io)
|
||||
MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE("mb:pic8259", pic8259_device, inta_cb)
|
||||
void tandy1000_state::t1000tl(machine_config &config)
|
||||
{
|
||||
I80286(config, m_maincpu, XTAL(28'636'363) / 2);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &tandy1000_state::tandy1000_286_map);
|
||||
m_maincpu->set_addrmap(AS_IO, &tandy1000_state::tandy1000_16_io);
|
||||
m_maincpu->set_irq_acknowledge_callback("mb:pic8259", FUNC(pic8259_device::inta_cb));
|
||||
|
||||
tandy1000_common(config);
|
||||
|
||||
tandy1000_101key(config);
|
||||
|
||||
MCFG_DEVICE_ADD("isa1", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false) // FIXME: determine ISA bus clock
|
||||
MCFG_DEVICE_ADD("isa2", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, false)
|
||||
MCFG_DEVICE_ADD("isa3", ISA8_SLOT, 0, "mb:isa", pc_isa8_cards, nullptr, 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)
|
||||
MACHINE_CONFIG_END
|
||||
ISA8_SLOT(config, "isa1", 0, "mb:isa", pc_isa8_cards, nullptr, false); // FIXME: determine ISA bus clock
|
||||
ISA8_SLOT(config, "isa2", 0, "mb:isa", pc_isa8_cards, nullptr, false);
|
||||
ISA8_SLOT(config, "isa3", 0, "mb:isa", pc_isa8_cards, nullptr, 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);
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START(tandy1000_state::t1000tx)
|
||||
void tandy1000_state::t1000tx(machine_config &config)
|
||||
{
|
||||
t1000tl(config);
|
||||
MCFG_DEVICE_MODIFY( "maincpu" )
|
||||
MCFG_DEVICE_IO_MAP(tandy1000tx_io)
|
||||
m_maincpu->set_addrmap(AS_IO, &tandy1000_state::tandy1000tx_io);
|
||||
|
||||
config.device_remove("pc_keyboard");
|
||||
tandy1000_90key(config);
|
||||
MACHINE_CONFIG_END
|
||||
}
|
||||
|
||||
#ifdef UNUSED_DEFINITION
|
||||
ROM_START( t1000 )
|
||||
|
Loading…
Reference in New Issue
Block a user