diff options
Diffstat (limited to 'src/mess/drivers/hec2hrp.c')
-rw-r--r-- | src/mess/drivers/hec2hrp.c | 120 |
1 files changed, 58 insertions, 62 deletions
diff --git a/src/mess/drivers/hec2hrp.c b/src/mess/drivers/hec2hrp.c index 17c75794e7e..d9b4ae80880 100644 --- a/src/mess/drivers/hec2hrp.c +++ b/src/mess/drivers/hec2hrp.c @@ -292,102 +292,98 @@ static INPUT_PORTS_START( hec2hrp ) INPUT_PORTS_END /*****************************************************************************/ -static MACHINE_START( hec2hrp ) +MACHINE_START_MEMBER(hec2hrp_state,hec2hrp) /*****************************************************************************/ { - hector_init(machine); + hector_init(machine()); } -static MACHINE_RESET(hec2hrp) +MACHINE_RESET_MEMBER(hec2hrp_state,hec2hrp) { // Machines init - hector_reset(machine, 1, 0); + hector_reset(machine(), 1, 0); } /*****************************************************************************/ -static MACHINE_START( hec2hrx ) +MACHINE_START_MEMBER(hec2hrp_state,hec2hrx) /*****************************************************************************/ { - hec2hrp_state *state = machine.driver_data<hec2hrp_state>(); - UINT8 *RAM = machine.root_device().memregion("maincpu" )->base(); // pointer to mess ram + UINT8 *RAM = machine().root_device().memregion("maincpu" )->base(); // pointer to mess ram //Patch rom possible ! //RAMD2[0xff6b] = 0x0ff; // force verbose mode hector ! // Memory install for bank switching - state->membank("bank1")->configure_entry(HECTOR_BANK_PROG , &RAM[0xc000] ); // Mess ram - state->membank("bank1")->configure_entry(HECTOR_BANK_VIDEO, state->m_hector_videoram_hrx); // Video ram + membank("bank1")->configure_entry(HECTOR_BANK_PROG , &RAM[0xc000] ); // Mess ram + membank("bank1")->configure_entry(HECTOR_BANK_VIDEO, m_hector_videoram_hrx); // Video ram // Set bank HECTOR_BANK_PROG as basic bank - state->membank("bank1")->set_entry(HECTOR_BANK_PROG); + membank("bank1")->set_entry(HECTOR_BANK_PROG); /******************************************************SPECIFIQUE MX ***************************/ - state->membank("bank2")->configure_entry(HECTORMX_BANK_PAGE0 , &RAM[0x0000] ); // Mess ram - state->membank("bank2")->configure_entry(HECTORMX_BANK_PAGE1 , machine.root_device().memregion("page1")->base() ); // Rom page 1 - state->membank("bank2")->configure_entry(HECTORMX_BANK_PAGE2 , machine.root_device().memregion("page2")->base() ); // Rom page 2 - state->membank("bank2")->set_entry(HECTORMX_BANK_PAGE0); + membank("bank2")->configure_entry(HECTORMX_BANK_PAGE0 , &RAM[0x0000] ); // Mess ram + membank("bank2")->configure_entry(HECTORMX_BANK_PAGE1 , machine().root_device().memregion("page1")->base() ); // Rom page 1 + membank("bank2")->configure_entry(HECTORMX_BANK_PAGE2 , machine().root_device().memregion("page2")->base() ); // Rom page 2 + membank("bank2")->set_entry(HECTORMX_BANK_PAGE0); /******************************************************SPECIFIQUE MX ***************************/ /*************************************************SPECIFIQUE DISK II ***************************/ - state->membank("bank3")->configure_entry(DISCII_BANK_ROM , machine.root_device().memregion("rom_disc2")->base() ); // ROM - state->membank("bank3")->configure_entry(DISCII_BANK_RAM , state->memregion("disc2mem" )->base() ); // RAM - state->membank("bank3")->set_entry(DISCII_BANK_ROM); + membank("bank3")->configure_entry(DISCII_BANK_ROM , machine().root_device().memregion("rom_disc2")->base() ); // ROM + membank("bank3")->configure_entry(DISCII_BANK_RAM , memregion("disc2mem" )->base() ); // RAM + membank("bank3")->set_entry(DISCII_BANK_ROM); /*************************************************SPECIFIQUE DISK II ***************************/ // As video HR ram is in bank, use extern memory - state->m_hector_videoram.set_target(state->m_hector_videoram_hrx,state->m_hector_videoram.bytes()); + m_hector_videoram.set_target(m_hector_videoram_hrx,m_hector_videoram.bytes()); - hector_init(machine); - hector_disc2_init(machine); // Init of the Disc II ! + hector_init(machine()); + hector_disc2_init(machine()); // Init of the Disc II ! } /*****************************************************************************/ -static MACHINE_START( hec2mdhrx ) +MACHINE_START_MEMBER(hec2hrp_state,hec2mdhrx) /*****************************************************************************/ //minidisc { - hec2hrp_state *state = machine.driver_data<hec2hrp_state>(); - UINT8 *RAM = machine.root_device().memregion("maincpu" )->base(); // pointer to mess ram + UINT8 *RAM = machine().root_device().memregion("maincpu" )->base(); // pointer to mess ram // Memory install for bank switching - state->membank("bank1")->configure_entry(HECTOR_BANK_PROG , &RAM[0xc000] ); // Mess ram - state->membank("bank1")->configure_entry(HECTOR_BANK_VIDEO, state->m_hector_videoram_hrx); // Video ram + membank("bank1")->configure_entry(HECTOR_BANK_PROG , &RAM[0xc000] ); // Mess ram + membank("bank1")->configure_entry(HECTOR_BANK_VIDEO, m_hector_videoram_hrx); // Video ram // Set bank HECTOR_BANK_PROG as basic bank - state->membank("bank1")->set_entry(HECTOR_BANK_PROG); + membank("bank1")->set_entry(HECTOR_BANK_PROG); //Here the bank 5 is not used for the language switch but for the floppy ROM..... /******************************************************SPECIFIQUE Mini disque ***************************/ - state->membank("bank2")->configure_entry(HECTOR_BANK_BASE , &RAM[0x0000] ); // Rom base page - state->membank("bank2")->configure_entry(HECTOR_BANK_DISC , state->memregion("page2")->base() ); // Rom page mini disc - state->membank("bank2")->set_entry(HECTOR_BANK_BASE); + membank("bank2")->configure_entry(HECTOR_BANK_BASE , &RAM[0x0000] ); // Rom base page + membank("bank2")->configure_entry(HECTOR_BANK_DISC , memregion("page2")->base() ); // Rom page mini disc + membank("bank2")->set_entry(HECTOR_BANK_BASE); /******************************************************SPECIFIQUE Mini disque ***************************/ // As video HR ram is in bank, use extern memory - state->m_hector_videoram.set_target(state->m_hector_videoram_hrx,state->m_hector_videoram.bytes()); + m_hector_videoram.set_target(m_hector_videoram_hrx,m_hector_videoram.bytes()); - hector_init(machine); - hector_minidisc_init(machine); + hector_init(machine()); + hector_minidisc_init(machine()); } -static MACHINE_RESET(hec2hrx) +MACHINE_RESET_MEMBER(hec2hrp_state,hec2hrx) { - hec2hrp_state *state = machine.driver_data<hec2hrp_state>(); //Hector Memory - state->membank("bank1")->set_entry(HECTOR_BANK_PROG); - state->membank("bank2")->set_entry(HECTORMX_BANK_PAGE0); + membank("bank1")->set_entry(HECTOR_BANK_PROG); + membank("bank2")->set_entry(HECTORMX_BANK_PAGE0); //DISK II Memory - state->membank("bank3")->set_entry(DISCII_BANK_ROM); + membank("bank3")->set_entry(DISCII_BANK_ROM); // Machines init - hector_reset(machine, 1, 1); - hector_disc2_reset(machine); + hector_reset(machine(), 1, 1); + hector_disc2_reset(machine()); } //minidisc -static MACHINE_RESET(hec2mdhrx) +MACHINE_RESET_MEMBER(hec2hrp_state,hec2mdhrx) { - hec2hrp_state *state = machine.driver_data<hec2hrp_state>(); //Hector Memory - state->membank("bank1")->set_entry(HECTOR_BANK_PROG); - state->membank("bank2")->set_entry(HECTORMX_BANK_PAGE0); + membank("bank1")->set_entry(HECTOR_BANK_PROG); + membank("bank2")->set_entry(HECTORMX_BANK_PAGE0); // Machines init - hector_reset(machine, 1, 0); + hector_reset(machine(), 1, 0); } /* Cassette definition */ @@ -445,8 +441,8 @@ static MACHINE_CONFIG_START( hec2hr, hec2hrp_state ) MCFG_CPU_PROGRAM_MAP(hec2hrp_mem) MCFG_CPU_IO_MAP(hec2hrp_io) MCFG_CPU_PERIODIC_INT(irq0_line_hold,50) /* put on the Z80 irq in Hz*/ - MCFG_MACHINE_RESET(hec2hrp) - MCFG_MACHINE_START(hec2hrp) + MCFG_MACHINE_RESET_OVERRIDE(hec2hrp_state,hec2hrp) + MCFG_MACHINE_START_OVERRIDE(hec2hrp_state,hec2hrp) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -457,7 +453,7 @@ static MACHINE_CONFIG_START( hec2hr, hec2hrp_state ) MCFG_SCREEN_UPDATE_STATIC(hec2hrp) MCFG_PALETTE_LENGTH(16) - MCFG_VIDEO_START(hec2hrp) + MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") @@ -488,8 +484,8 @@ static MACHINE_CONFIG_START( hec2hrp, hec2hrp_state ) MCFG_CPU_PROGRAM_MAP(hec2hrp_mem) MCFG_CPU_IO_MAP(hec2hrp_io) MCFG_CPU_PERIODIC_INT(irq0_line_hold,50) /* put on the Z80 irq in Hz*/ - MCFG_MACHINE_RESET(hec2hrp) - MCFG_MACHINE_START(hec2hrp) + MCFG_MACHINE_RESET_OVERRIDE(hec2hrp_state,hec2hrp) + MCFG_MACHINE_START_OVERRIDE(hec2hrp_state,hec2hrp) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -500,7 +496,7 @@ static MACHINE_CONFIG_START( hec2hrp, hec2hrp_state ) MCFG_SCREEN_UPDATE_STATIC(hec2hrp) MCFG_PALETTE_LENGTH(16) - MCFG_VIDEO_START(hec2hrp) + MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") @@ -538,8 +534,8 @@ static MACHINE_CONFIG_START( hec2mx40, hec2hrp_state ) MCFG_CPU_IO_MAP(hecdisc2_io) MCFG_UPD765A_ADD("upd765", hector_disc2_upd765_interface) MCFG_LEGACY_FLOPPY_2_DRIVES_ADD(hector_disc2_floppy_interface) - MCFG_MACHINE_RESET(hec2hrx) - MCFG_MACHINE_START(hec2hrx) + MCFG_MACHINE_RESET_OVERRIDE(hec2hrp_state,hec2hrx) + MCFG_MACHINE_START_OVERRIDE(hec2hrp_state,hec2hrx) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -550,7 +546,7 @@ static MACHINE_CONFIG_START( hec2mx40, hec2hrp_state ) MCFG_SCREEN_UPDATE_STATIC(hec2hrp) MCFG_PALETTE_LENGTH(16) - MCFG_VIDEO_START(hec2hrp) + MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") @@ -580,8 +576,8 @@ static MACHINE_CONFIG_START( hec2hrx, hec2hrp_state ) MCFG_CPU_PROGRAM_MAP(hec2hrx_mem) MCFG_CPU_IO_MAP(hec2hrx_io) MCFG_CPU_PERIODIC_INT(irq0_line_hold,50) // put on the Z80 irq in Hz - MCFG_MACHINE_RESET(hec2hrx) - MCFG_MACHINE_START(hec2hrx) + MCFG_MACHINE_RESET_OVERRIDE(hec2hrp_state,hec2hrx) + MCFG_MACHINE_START_OVERRIDE(hec2hrp_state,hec2hrx) /* Disc II unit */ MCFG_CPU_ADD("disc2cpu",Z80, XTAL_4MHz) @@ -599,7 +595,7 @@ static MACHINE_CONFIG_START( hec2hrx, hec2hrp_state ) MCFG_SCREEN_UPDATE_STATIC(hec2hrp) MCFG_PALETTE_LENGTH(16) - MCFG_VIDEO_START(hec2hrp) + MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") @@ -630,8 +626,8 @@ static MACHINE_CONFIG_START( hec2mdhrx, hec2hrp_state ) MCFG_CPU_PROGRAM_MAP(hec2hrx_mem) MCFG_CPU_IO_MAP(hec2mdhrx_io) MCFG_CPU_PERIODIC_INT(irq0_line_hold,50) // put on the Z80 irq in Hz - MCFG_MACHINE_RESET(hec2mdhrx) - MCFG_MACHINE_START(hec2mdhrx) + MCFG_MACHINE_RESET_OVERRIDE(hec2hrp_state,hec2mdhrx) + MCFG_MACHINE_START_OVERRIDE(hec2hrp_state,hec2mdhrx) /* Mini Disc */ MCFG_FD1793_ADD("wd179x", hector_wd17xx_interface ) @@ -647,7 +643,7 @@ static MACHINE_CONFIG_START( hec2mdhrx, hec2hrp_state ) MCFG_PALETTE_LENGTH(16) MCFG_PALETTE_INIT(black_and_white) - MCFG_VIDEO_START(hec2hrp) + MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") @@ -678,8 +674,8 @@ static MACHINE_CONFIG_START( hec2mx80, hec2hrp_state ) MCFG_CPU_PROGRAM_MAP(hec2hrx_mem) MCFG_CPU_IO_MAP(hec2mx80_io) MCFG_CPU_PERIODIC_INT(irq0_line_hold,50) // put on the Z80 irq in Hz - MCFG_MACHINE_RESET(hec2hrx) - MCFG_MACHINE_START(hec2hrx) + MCFG_MACHINE_RESET_OVERRIDE(hec2hrp_state,hec2hrx) + MCFG_MACHINE_START_OVERRIDE(hec2hrp_state,hec2hrx) /* Disc II unit */ MCFG_CPU_ADD("disc2cpu",Z80, XTAL_4MHz) @@ -697,7 +693,7 @@ static MACHINE_CONFIG_START( hec2mx80, hec2hrp_state ) MCFG_SCREEN_UPDATE_STATIC(hec2hrp) MCFG_PALETTE_LENGTH(16) - MCFG_VIDEO_START(hec2hrp) + MCFG_VIDEO_START_OVERRIDE(hec2hrp_state,hec2hrp) /* sound hardware */ MCFG_SPEAKER_STANDARD_MONO("mono") |