summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/apricotp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/apricotp.cpp')
-rw-r--r--src/mame/drivers/apricotp.cpp59
1 files changed, 29 insertions, 30 deletions
diff --git a/src/mame/drivers/apricotp.cpp b/src/mame/drivers/apricotp.cpp
index 2def89372c1..1b8575942ed 100644
--- a/src/mame/drivers/apricotp.cpp
+++ b/src/mame/drivers/apricotp.cpp
@@ -446,7 +446,7 @@ void fp_state::fp_io(address_map &map)
map(0x020, 0x020).w("cent_data_out", FUNC(output_latch_device::bus_w));
map(0x022, 0x022).w(FUNC(fp_state::pint_clr_w));
map(0x024, 0x024).r(FUNC(fp_state::prtr_snd_r));
- map(0x026, 0x026).w(SN76489AN_TAG, FUNC(sn76489a_device::write));
+ map(0x026, 0x026).w(SN76489AN_TAG, FUNC(sn76489a_device::command_w));
map(0x028, 0x028).w(FUNC(fp_state::contrast_w));
map(0x02a, 0x02a).w(FUNC(fp_state::palette_w));
map(0x02e, 0x02f).w(FUNC(fp_state::video_w));
@@ -563,41 +563,40 @@ FLOPPY_FORMATS_END
//-------------------------------------------------
-// machine_config( fp )
+// MACHINE_CONFIG( fp )
//-------------------------------------------------
-void fp_state::fp(machine_config &config)
-{
+MACHINE_CONFIG_START(fp_state::fp)
/* basic machine hardware */
- I8086(config, m_maincpu, 15_MHz_XTAL / 3);
- m_maincpu->set_addrmap(AS_PROGRAM, &fp_state::fp_mem);
- m_maincpu->set_addrmap(AS_IO, &fp_state::fp_io);
- m_maincpu->set_irq_acknowledge_callback(I8259A_TAG, FUNC(pic8259_device::inta_cb));
+ MCFG_DEVICE_ADD(I8086_TAG, I8086, 15_MHz_XTAL / 3)
+ MCFG_DEVICE_PROGRAM_MAP(fp_mem)
+ MCFG_DEVICE_IO_MAP(fp_io)
+ MCFG_DEVICE_IRQ_ACKNOWLEDGE_DEVICE(I8259A_TAG, pic8259_device, inta_cb)
- HD6301(config, m_soundcpu, 2000000);
- m_soundcpu->set_addrmap(AS_PROGRAM, &fp_state::sound_mem);
- m_soundcpu->set_disable();
+ MCFG_DEVICE_ADD(HD63B01V1_TAG, HD6301, 2000000)
+ MCFG_DEVICE_PROGRAM_MAP(sound_mem)
+ MCFG_DEVICE_DISABLE()
/* video hardware */
config.set_default_layout(layout_apricotp);
- screen_device &screen_lcd(SCREEN(config, SCREEN_LCD_TAG, SCREEN_TYPE_RASTER));
- screen_lcd.set_refresh_hz(50);
- screen_lcd.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
- screen_lcd.set_screen_update(FUNC(fp_state::screen_update));
- screen_lcd.set_size(640, 200);
- screen_lcd.set_visarea_full();
- screen_lcd.set_palette("palette");
+ MCFG_SCREEN_ADD(SCREEN_LCD_TAG, LCD)
+ MCFG_SCREEN_REFRESH_RATE(50)
+ MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
+ MCFG_SCREEN_UPDATE_DRIVER(fp_state, screen_update)
+ MCFG_SCREEN_SIZE(640, 200)
+ MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 200-1)
+ MCFG_SCREEN_PALETTE("palette")
- screen_device &screen_crt(SCREEN(config, SCREEN_CRT_TAG, SCREEN_TYPE_RASTER));
- screen_crt.set_refresh_hz(50);
- screen_crt.set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */
- screen_crt.set_screen_update(MC6845_TAG, FUNC(mc6845_device::screen_update));
- screen_crt.set_size(640, 256);
- screen_crt.set_visarea_full();
+ MCFG_SCREEN_ADD(SCREEN_CRT_TAG, RASTER)
+ MCFG_SCREEN_REFRESH_RATE(50)
+ MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
+ MCFG_SCREEN_UPDATE_DEVICE(MC6845_TAG, mc6845_device, screen_update)
+ MCFG_SCREEN_SIZE(640, 256)
+ MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 256-1)
- PALETTE(config, "palette").set_entries(16);
- GFXDECODE(config, "gfxdecode", "palette", gfx_act_f1);
+ MCFG_PALETTE_ADD("palette", 16)
+ MCFG_DEVICE_ADD("gfxdecode", GFXDECODE, "palette", gfx_act_f1)
MC6845(config, m_crtc, 4000000);
m_crtc->set_screen(SCREEN_CRT_TAG);
@@ -607,7 +606,8 @@ void fp_state::fp(machine_config &config)
// sound hardware
SPEAKER(config, "mono").front_center();
- SN76489A(config, SN76489AN_TAG, 2000000).add_route(ALL_OUTPUTS, "mono", 1.00);
+ MCFG_DEVICE_ADD(SN76489AN_TAG, SN76489A, 2000000)
+ MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
/* Devices */
APRICOT_KEYBOARD(config, APRICOT_KEYBOARD_TAG, 0);
@@ -642,12 +642,11 @@ void fp_state::fp(machine_config &config)
m_centronics->fault_handler().set(FUNC(fp_state::write_centronics_fault));
m_centronics->perror_handler().set(FUNC(fp_state::write_centronics_perror));
- output_latch_device &cent_data_out(OUTPUT_LATCH(config, "cent_data_out"));
- m_centronics->set_output_latch(cent_data_out);
+ MCFG_CENTRONICS_OUTPUT_LATCH_ADD("cent_data_out", CENTRONICS_TAG)
/* internal ram */
RAM(config, RAM_TAG).set_default_size("256K").set_extra_options("512K,1M");
-}
+MACHINE_CONFIG_END