From 2b7778f0898f038d3db422ef67dfb82ca187ba93 Mon Sep 17 00:00:00 2001 From: Aaron Giles Date: Sat, 5 Jan 2008 03:15:18 +0000 Subject: [PATCH] (From Oliver Stoneberg) This fixes the reaming memory leaks in model3.c. memory_leak0111u6ora is now completely fixed. --- src/mame/drivers/model3.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/mame/drivers/model3.c b/src/mame/drivers/model3.c index e28e7988a22..8688eaf421a 100644 --- a/src/mame/drivers/model3.c +++ b/src/mame/drivers/model3.c @@ -983,6 +983,22 @@ static const struct LSI53C810interface scsi_intf = &scsi_fetch, }; +static void model3_exit(running_machine *machine) +{ + lsi53c810_exit(&scsi_intf); +} + +static MACHINE_START(model3_10) +{ + lsi53c810_init(&scsi_intf); + add_exit_callback(machine, model3_exit); +} +static MACHINE_START(model3_15) +{ + lsi53c810_init(&scsi_intf); + add_exit_callback(machine, model3_exit); +} + static void model3_init(running_machine *machine, int step) { model3_step = step; @@ -1006,7 +1022,6 @@ static void model3_init(running_machine *machine, int step) } else { mpc105_init(); } - lsi53c810_init(&scsi_intf); real3d_device_id = 0x16c311db; /* PCI Vendor ID (11db = SEGA), Device ID (16c3 = 315-5827) */ } else { @@ -4074,6 +4089,7 @@ static MACHINE_DRIVER_START( model3_10 ) MDRV_INTERLEAVE(10) + MDRV_MACHINE_START(model3_10) MDRV_MACHINE_RESET(model3_10) MDRV_NVRAM_HANDLER(model3) @@ -4108,6 +4124,7 @@ static MACHINE_DRIVER_START( model3_15 ) MDRV_CPU_ADD(M68000, 12000000) MDRV_CPU_PROGRAM_MAP(model3_snd, 0) + MDRV_MACHINE_START(model3_15) MDRV_MACHINE_RESET(model3_15) MDRV_NVRAM_HANDLER(model3)