summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/segae.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/segae.c')
-rw-r--r--src/mame/drivers/segae.c67
1 files changed, 26 insertions, 41 deletions
diff --git a/src/mame/drivers/segae.c b/src/mame/drivers/segae.c
index 38f0f39f35d..051e9c246c6 100644
--- a/src/mame/drivers/segae.c
+++ b/src/mame/drivers/segae.c
@@ -2156,73 +2156,58 @@ static WRITE8_HANDLER( sms_sn76496_2_w )
SN76496_1_w(machine, 0, data & 0xff);
}
-static void init_ports_systeme(void)
+static void init_ports_systeme(running_machine *machine)
{
/* INIT THE PORTS *********************************************************************************************/
- memory_install_read8_handler (0, ADDRESS_SPACE_IO, 0x7e, 0x7e, 0, 0, sms_vcounter_r);
- memory_install_write8_handler(0, ADDRESS_SPACE_IO, 0x7e, 0x7e, 0, 0, sms_sn76496_w);
+ memory_install_write8_handler (machine, 0, ADDRESS_SPACE_IO, 0x7b, 0x7b, 0, 0, sms_sn76496_2_w);
+ memory_install_readwrite8_handler(machine, 0, ADDRESS_SPACE_IO, 0x7e, 0x7e, 0, 0, sms_vcounter_r, sms_sn76496_w);
+ memory_install_write8_handler (machine, 0, ADDRESS_SPACE_IO, 0x7f, 0x7f, 0, 0, sms_sn76496_w);
+ memory_install_readwrite8_handler(machine, 0, ADDRESS_SPACE_IO, 0xba, 0xba, 0, 0, sms_vdp_data_r, sms_vdp_data_w);
+ memory_install_readwrite8_handler(machine, 0, ADDRESS_SPACE_IO, 0xbb, 0xbb, 0, 0, sms_vdp_ctrl_r, sms_vdp_ctrl_w);
- memory_install_write8_handler(0, ADDRESS_SPACE_IO, 0x7b, 0x7b, 0, 0, sms_sn76496_2_w);
+ memory_install_readwrite8_handler(machine, 0, ADDRESS_SPACE_IO, 0xbe, 0xbe, 0, 0, sms_vdp_2_data_r, sms_vdp_2_data_w);
+ memory_install_readwrite8_handler(machine, 0, ADDRESS_SPACE_IO, 0xbf, 0xbf, 0, 0, sms_vdp_2_ctrl_r, sms_vdp_2_ctrl_w);
- memory_install_write8_handler(0, ADDRESS_SPACE_IO, 0x7f, 0x7f, 0, 0, sms_sn76496_w);
-
- memory_install_read8_handler (0, ADDRESS_SPACE_IO, 0xba, 0xba, 0, 0, sms_vdp_data_r);
- memory_install_write8_handler(0, ADDRESS_SPACE_IO, 0xba, 0xba, 0, 0, sms_vdp_data_w);
- memory_install_read8_handler (0, ADDRESS_SPACE_IO, 0xbb, 0xbb, 0, 0, sms_vdp_ctrl_r);
- memory_install_write8_handler(0, ADDRESS_SPACE_IO, 0xbb, 0xbb, 0, 0, sms_vdp_ctrl_w);
-
-
- memory_install_read8_handler (0, ADDRESS_SPACE_IO, 0xbe, 0xbe, 0, 0, sms_vdp_2_data_r);
- memory_install_write8_handler(0, ADDRESS_SPACE_IO, 0xbe, 0xbe, 0, 0, sms_vdp_2_data_w);
- memory_install_read8_handler (0, ADDRESS_SPACE_IO, 0xbf, 0xbf, 0, 0, sms_vdp_2_ctrl_r);
- memory_install_write8_handler(0, ADDRESS_SPACE_IO, 0xbf, 0xbf, 0, 0, sms_vdp_2_ctrl_w);
-
-
- memory_install_read8_handler (0, ADDRESS_SPACE_IO, 0xe0, 0xe0, 0, 0, input_port_2_r);
- memory_install_read8_handler (0, ADDRESS_SPACE_IO, 0xe1, 0xe1, 0, 0, input_port_3_r);
- memory_install_read8_handler (0, ADDRESS_SPACE_IO, 0xe2, 0xe2, 0, 0, input_port_4_r);
- memory_install_read8_handler (0, ADDRESS_SPACE_IO, 0xf2, 0xf2, 0, 0, input_port_0_r);
- memory_install_read8_handler (0, ADDRESS_SPACE_IO, 0xf3, 0xf3, 0, 0, input_port_1_r);
-
-
- memory_install_write8_handler(0, ADDRESS_SPACE_IO, 0xf7, 0xf7, 0, 0, systeme_bank_w );
+ memory_install_read8_handler (machine, 0, ADDRESS_SPACE_IO, 0xe0, 0xe0, 0, 0, input_port_2_r);
+ memory_install_read8_handler (machine, 0, ADDRESS_SPACE_IO, 0xe1, 0xe1, 0, 0, input_port_3_r);
+ memory_install_read8_handler (machine, 0, ADDRESS_SPACE_IO, 0xe2, 0xe2, 0, 0, input_port_4_r);
+ memory_install_read8_handler (machine, 0, ADDRESS_SPACE_IO, 0xf2, 0xf2, 0, 0, input_port_0_r);
+ memory_install_read8_handler (machine, 0, ADDRESS_SPACE_IO, 0xf3, 0xf3, 0, 0, input_port_1_r);
+ memory_install_write8_handler (machine, 0, ADDRESS_SPACE_IO, 0xf7, 0xf7, 0, 0, systeme_bank_w );
}
-static void init_systeme_map(void)
+static void init_systeme_map(running_machine *machine)
{
/* INIT THE MEMMAP / BANKING *********************************************************************************/
/* catch any addresses that don't get mapped */
-// memory_install_read8_handler (0, ADDRESS_SPACE_PROGRAM, 0x0000, 0xffff, 0, 0, z80_unmapped_r);
-// memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x0000, 0xffff, 0, 0, z80_unmapped_w);
+// memory_install_readwrite8_handler(machine, 0, ADDRESS_SPACE_PROGRAM, 0x0000, 0xffff, 0, 0, z80_unmapped_r, z80_unmapped_w);
/* fixed rom bank area */
// sms_rom = auto_malloc(0xc000);
-// memory_install_read8_handler (0, ADDRESS_SPACE_PROGRAM, 0x0000, 0xbfff, 0, 0, SMH_BANK1);
-// memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x0000, 0x7fff, 0, 0, SMH_UNMAP);
+// memory_install_readwrite8_handler(machine, 0, ADDRESS_SPACE_PROGRAM, 0x0000, 0xbfff, 0, 0, SMH_BANK1, SMH_UNMAP);
// memory_set_bankptr( 1, sms_rom );
memory_configure_bank(1, 0, 16, memory_region(REGION_CPU1) + 0x10000, 0x4000);
/* alternate way of accessing video ram */
- memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0x8000, 0xbfff, 0, 0, segasyse_videoram_w);
+ memory_install_write8_handler(machine, 0, ADDRESS_SPACE_PROGRAM, 0x8000, 0xbfff, 0, 0, segasyse_videoram_w);
// memcpy(sms_rom, memory_region(REGION_USER1), 0x8000);
/* main ram area */
sms_mainram = auto_malloc(0x4000);
- memory_install_read8_handler (0, ADDRESS_SPACE_PROGRAM, 0xc000, 0xffff, 0, 0, SMH_BANK2);
- memory_install_write8_handler(0, ADDRESS_SPACE_PROGRAM, 0xc000, 0xffff, 0, 0, SMH_BANK2);
+ memory_install_readwrite8_handler(machine, 0, ADDRESS_SPACE_PROGRAM, 0xc000, 0xffff, 0, 0, SMH_BANK2, SMH_BANK2);
memory_set_bankptr( 2, sms_mainram );
memset(sms_mainram,0x00,0x4000);
- init_ports_systeme();
+ init_ports_systeme(machine);
}
void init_for_megadrive(void)
@@ -2239,7 +2224,7 @@ void init_for_megadrive(void)
DRIVER_INIT( megatech_bios )
{
-// init_systeme_map();
+// init_systeme_map(machine);
vdp1 = start_vdp(machine, SMS2_VDP);
vdp1->set_irq = sms_vdp_cpu2_irq_callback;
@@ -2254,7 +2239,7 @@ DRIVER_INIT( megatech_bios )
static DRIVER_INIT( segasyse )
{
- init_systeme_map();
+ init_systeme_map(machine);
vdp1 = start_vdp(machine, SMS2_VDP);
// vdp1->set_irq = sms_vdp_cpu0_irq_callback;
@@ -2343,8 +2328,8 @@ static DRIVER_INIT( ridleofp )
{
DRIVER_INIT_CALL(segasyse);
- memory_install_read8_handler(0, ADDRESS_SPACE_IO, 0xf8, 0xf8, 0, 0, segae_ridleofp_port_f8_r);
- memory_install_write8_handler(0, ADDRESS_SPACE_IO, 0xfa, 0xfa, 0, 0, segae_ridleofp_port_fa_w);
+ memory_install_read8_handler(machine, 0, ADDRESS_SPACE_IO, 0xf8, 0xf8, 0, 0, segae_ridleofp_port_f8_r);
+ memory_install_write8_handler(machine, 0, ADDRESS_SPACE_IO, 0xfa, 0xfa, 0, 0, segae_ridleofp_port_fa_w);
}
@@ -2352,8 +2337,8 @@ static DRIVER_INIT( hangonjr )
{
DRIVER_INIT_CALL(segasyse);
- memory_install_read8_handler(0, ADDRESS_SPACE_IO, 0xf8, 0xf8, 0, 0, segae_hangonjr_port_f8_r);
- memory_install_write8_handler(0, ADDRESS_SPACE_IO, 0xfa, 0xfa, 0, 0, segae_hangonjr_port_fa_w);
+ memory_install_read8_handler(machine, 0, ADDRESS_SPACE_IO, 0xf8, 0xf8, 0, 0, segae_hangonjr_port_f8_r);
+ memory_install_write8_handler(machine, 0, ADDRESS_SPACE_IO, 0xfa, 0xfa, 0, 0, segae_hangonjr_port_fa_w);
}
static DRIVER_INIT( opaopa )