mirror of
https://github.com/holub/mame
synced 2025-05-22 21:58:57 +03:00
Converted stv, superchs, underfire to use eeprom device.
Removed use of in-game auto_malloc in stvvdp2.
This commit is contained in:
parent
3bfb249228
commit
afac4a56ba
@ -154,7 +154,7 @@ ToDo / Notes:
|
||||
|
||||
#include "driver.h"
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "machine/eeprom.h"
|
||||
#include "machine/eepromdev.h"
|
||||
#include "cpu/sh2/sh2.h"
|
||||
#include "machine/stvcd.h"
|
||||
#include "machine/scudsp.h"
|
||||
@ -474,7 +474,7 @@ static UINT8 stv_SMPC_r8 (const address_space *space, int offset)
|
||||
return_data = input_port_read(space->machine, "DSW1");
|
||||
|
||||
if (offset == 0x77)//PDR2 read
|
||||
return_data= (0xfe | eeprom_read_bit());
|
||||
return_data= (0xfe | eepromdev_read_bit(devtag_get_device(space->machine, "eeprom")));
|
||||
|
||||
// if (offset == 0x33) //country code
|
||||
// return_data = input_port_read(machine, "FAKE");
|
||||
@ -498,9 +498,10 @@ static void stv_SMPC_w8 (const address_space *space, int offset, UINT8 data)
|
||||
|
||||
if(offset == 0x75)
|
||||
{
|
||||
eeprom_set_clock_line((data & 0x08) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom_write_bit(data & 0x10);
|
||||
eeprom_set_cs_line((data & 0x04) ? CLEAR_LINE : ASSERT_LINE);
|
||||
const device_config *device = devtag_get_device(space->machine, "eeprom");
|
||||
eepromdev_set_clock_line(device, (data & 0x08) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eepromdev_write_bit(device, data & 0x10);
|
||||
eepromdev_set_cs_line(device, (data & 0x04) ? CLEAR_LINE : ASSERT_LINE);
|
||||
|
||||
|
||||
// if (data & 0x01)
|
||||
@ -2742,7 +2743,8 @@ static MACHINE_DRIVER_START( stv )
|
||||
|
||||
MDRV_MACHINE_START(stv)
|
||||
MDRV_MACHINE_RESET(stv)
|
||||
MDRV_NVRAM_HANDLER(stv) /* Actually 93c45 */
|
||||
|
||||
MDRV_EEPROM_93C46_NODEFAULT_ADD("eeprom") /* Actually 93c45 */
|
||||
|
||||
MDRV_TIMER_ADD("scan_timer", hblank_in_irq)
|
||||
MDRV_TIMER_ADD("t1_timer", timer1_irq)
|
||||
@ -3405,6 +3407,9 @@ ROM_START( shienryu )
|
||||
ROM_LOAD16_WORD_SWAP( "mpr19631.7", 0x0200000, 0x0200000, CRC(3a4b1abc) SHA1(3b14b7fdebd4817da32ea374c15a38c695ffeff1) ) // good
|
||||
ROM_LOAD16_WORD_SWAP( "mpr19632.2", 0x0400000, 0x0400000, CRC(985fae46) SHA1(f953bde91805b97b60d2ab9270f9d2933e064d95) ) // good
|
||||
ROM_LOAD16_WORD_SWAP( "mpr19633.3", 0x0800000, 0x0400000, CRC(e2f0b037) SHA1(97861d09e10ce5d2b10bf5559574b3f489e28077) ) // good
|
||||
|
||||
ROM_REGION16_BE( 0x80, "eeprom", 0 )
|
||||
ROM_LOAD( "eeprom-shienryu.bin", 0x0000, 0x0080, CRC(98db6925) SHA1(e78545e8f62d19f8e00197c62ff0e56f6c85e355) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( smleague ) /* only runs with the USA bios */
|
||||
|
@ -6,7 +6,6 @@ to be honest i think some of these cause more problems than they're worth ...
|
||||
*/
|
||||
|
||||
#include "driver.h"
|
||||
#include "machine/eeprom.h"
|
||||
#include "cpu/sh2/sh2.h"
|
||||
#include "machine/stvprot.h"
|
||||
#include "includes/stv.h"
|
||||
@ -57,45 +56,6 @@ static const UINT8 stv_default_eeprom[128] = {
|
||||
};
|
||||
#endif
|
||||
|
||||
static const UINT8 shienryu_default_eeprom[128] = {
|
||||
0x53,0x45,0x47,0x41,0x3b,0xe2,0x5e,0x09,
|
||||
0x5e,0x09,0x00,0x00,0x00,0x00,0x00,0x02,
|
||||
0x01,0x00,0x01,0x01,0x00,0x00,0x00,0x00,
|
||||
0x00,0x08,0x18,0xfd,0x18,0x01,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0x5e,0x09,0x00,0x00,
|
||||
0x00,0x00,0x00,0x02,0x01,0x00,0x01,0x01,
|
||||
0x00,0x00,0x00,0x00,0x00,0x08,0x18,0xfd,
|
||||
0x18,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0x00,0x00,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
|
||||
};
|
||||
|
||||
static const UINT8 *stv_default_eeprom;
|
||||
static int stv_default_eeprom_length;
|
||||
|
||||
NVRAM_HANDLER( stv )
|
||||
{
|
||||
if (read_or_write)
|
||||
eeprom_save(file);
|
||||
else
|
||||
{
|
||||
eeprom_init(machine, &eeprom_interface_93C46);
|
||||
|
||||
if (file) eeprom_load(file);
|
||||
else
|
||||
{
|
||||
if (stv_default_eeprom) /* Set the EEPROM to Factory Defaults */
|
||||
eeprom_set_data(stv_default_eeprom,stv_default_eeprom_length);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
06013AE8: MOV.L @($D4,PC),R5
|
||||
@ -128,9 +88,6 @@ void install_stvbios_speedups(running_machine *machine)
|
||||
|
||||
DRIVER_INIT(shienryu)
|
||||
{
|
||||
stv_default_eeprom = shienryu_default_eeprom;
|
||||
stv_default_eeprom_length = sizeof(shienryu_default_eeprom);
|
||||
|
||||
// master
|
||||
sh2drc_add_pcflush(cputag_get_cpu(machine, "maincpu"), 0x60041c6);
|
||||
// slave
|
||||
|
@ -37,7 +37,7 @@
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "video/taitoic.h"
|
||||
#include "audio/taitosnd.h"
|
||||
#include "machine/eeprom.h"
|
||||
#include "machine/eepromdev.h"
|
||||
#include "sound/es5506.h"
|
||||
#include "includes/taito_f3.h"
|
||||
#include "audio/taito_en.h"
|
||||
@ -151,9 +151,10 @@ static WRITE32_HANDLER( superchs_input_w )
|
||||
|
||||
if (ACCESSING_BITS_0_7)
|
||||
{
|
||||
eeprom_set_clock_line((data & 0x20) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom_write_bit(data & 0x40);
|
||||
eeprom_set_cs_line((data & 0x10) ? CLEAR_LINE : ASSERT_LINE);
|
||||
const device_config *device = devtag_get_device(space->machine, "eeprom");
|
||||
eepromdev_set_clock_line(device, (data & 0x20) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eepromdev_write_bit(device, data & 0x40);
|
||||
eepromdev_set_cs_line(device, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -263,7 +264,7 @@ static INPUT_PORTS_START( superchs )
|
||||
PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL) /* reserved for EEROM */
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eepromdev_read_bit) /* reserved for EEROM */
|
||||
PORT_BIT( 0x00000100, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1) /* seat center (cockpit only) */
|
||||
PORT_BIT( 0x00000200, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
@ -359,32 +360,6 @@ static const eeprom_interface superchs_eeprom_interface =
|
||||
"0100110000", /* lock command */
|
||||
};
|
||||
|
||||
static const UINT8 default_eeprom[128]={
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x53,0x00,0x2e,0x00,0x43,0x00,0x00,
|
||||
0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0xff,0xff,0xff,0xff,0x00,0x01,
|
||||
0x00,0x01,0x00,0x01,0x00,0x00,0x00,0x01,0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x80,0xff,0xff,0xff,0xff,
|
||||
0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff
|
||||
};
|
||||
|
||||
static NVRAM_HANDLER( superchs )
|
||||
{
|
||||
if (read_or_write)
|
||||
eeprom_save(file);
|
||||
else
|
||||
{
|
||||
eeprom_init(machine, &superchs_eeprom_interface);
|
||||
|
||||
if (file)
|
||||
eeprom_load(file);
|
||||
else
|
||||
eeprom_set_data(default_eeprom,128); /* Default the wheel setup values */
|
||||
}
|
||||
}
|
||||
|
||||
static MACHINE_DRIVER_START( superchs )
|
||||
|
||||
/* basic machine hardware */
|
||||
@ -398,7 +373,7 @@ static MACHINE_DRIVER_START( superchs )
|
||||
|
||||
MDRV_QUANTUM_TIME(HZ(480)) /* CPU slices - Need to interleave Cpu's 1 & 3 */
|
||||
|
||||
MDRV_NVRAM_HANDLER(superchs)
|
||||
MDRV_EEPROM_NODEFAULT_ADD("eeprom", superchs_eeprom_interface)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("screen", RASTER)
|
||||
@ -453,6 +428,9 @@ ROM_START( superchs )
|
||||
ROM_LOAD16_BYTE( "d46-12.4", 0x000000, 0x200000, CRC(a24a53a8) SHA1(5d5fb87a94ceabda89360064d7d9b6d23c4c606b) )
|
||||
ROM_RELOAD ( 0x400000, 0x200000 )
|
||||
ROM_LOAD16_BYTE( "d46-11.5", 0x800000, 0x200000, CRC(d4ea0f56) SHA1(dc8d2ed3c11d0b6f9ebdfde805188884320235e6) )
|
||||
|
||||
ROM_REGION16_BE( 0x80, "eeprom", 0 )
|
||||
ROM_LOAD( "eeprom-superchs.bin", 0x0000, 0x0080, CRC(230f0753) SHA1(4c692b35083da71ed866b233c7c9b152a914c95c) )
|
||||
ROM_END
|
||||
|
||||
static READ32_HANDLER( main_cycle_r )
|
||||
|
@ -190,7 +190,7 @@ Board contains only 29 ROMs and not much else.
|
||||
#include "cpu/m68000/m68000.h"
|
||||
#include "video/taitoic.h"
|
||||
#include "audio/taitosnd.h"
|
||||
#include "machine/eeprom.h"
|
||||
#include "machine/eepromdev.h"
|
||||
#include "sound/es5506.h"
|
||||
#include "includes/taito_f3.h"
|
||||
#include "audio/taito_en.h"
|
||||
@ -246,18 +246,6 @@ static TIMER_CALLBACK( interrupt5 )
|
||||
EPROM
|
||||
**********************************************************/
|
||||
|
||||
static const UINT8 default_eeprom[128]=
|
||||
{
|
||||
0x02,0x01,0x11,0x12,0x01,0x01,0x01,0x00,0x80,0x80,0x30,0x01,0x00,0x00,0x62,0x45,
|
||||
0xe0,0xa0,0xff,0x28,0xff,0xff,0xfa,0xd7,0x33,0x28,0x00,0x00,0x33,0x28,0x00,0x00,
|
||||
0x00,0x00,0x00,0x00,0x00,0x00,0xe0,0xa0,0xff,0x28,0xff,0xff,0xff,0xff,0xfa,0xd7,
|
||||
0x33,0x28,0x00,0x00,0x33,0x28,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
|
||||
0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff
|
||||
};
|
||||
|
||||
static const eeprom_interface undrfire_eeprom_interface =
|
||||
{
|
||||
6, /* address bits */
|
||||
@ -269,19 +257,6 @@ static const eeprom_interface undrfire_eeprom_interface =
|
||||
"0100110000", /* lock command */
|
||||
};
|
||||
|
||||
static NVRAM_HANDLER( undrfire )
|
||||
{
|
||||
if (read_or_write)
|
||||
eeprom_save(file);
|
||||
else {
|
||||
eeprom_init(machine, &undrfire_eeprom_interface);
|
||||
if (file)
|
||||
eeprom_load(file);
|
||||
else
|
||||
eeprom_set_data(default_eeprom,128); /* Default the gun setup values */
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**********************************************************
|
||||
GAME INPUTS
|
||||
@ -323,9 +298,10 @@ static WRITE32_HANDLER( undrfire_input_w )
|
||||
|
||||
if (ACCESSING_BITS_0_7)
|
||||
{
|
||||
eeprom_set_clock_line((data & 0x20) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eeprom_write_bit(data & 0x40);
|
||||
eeprom_set_cs_line((data & 0x10) ? CLEAR_LINE : ASSERT_LINE);
|
||||
const device_config *device = devtag_get_device(space->machine, "eeprom");
|
||||
eepromdev_set_clock_line(device, (data & 0x20) ? ASSERT_LINE : CLEAR_LINE);
|
||||
eepromdev_write_bit(device, data & 0x40);
|
||||
eepromdev_set_cs_line(device, (data & 0x10) ? CLEAR_LINE : ASSERT_LINE);
|
||||
return;
|
||||
}
|
||||
|
||||
@ -553,7 +529,7 @@ static INPUT_PORTS_START( undrfire )
|
||||
PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL) /* reserved for EEROM */
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eepromdev_read_bit) /* reserved for EEROM */
|
||||
PORT_BIT( 0x00000100, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000200, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
@ -621,7 +597,7 @@ static INPUT_PORTS_START( cbombers )
|
||||
PORT_BIT( 0x00000010, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000020, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000040, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM(eeprom_bit_r, NULL) /* reserved for EEROM */
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_READ_LINE_DEVICE("eeprom", eepromdev_read_bit) /* reserved for EEROM */
|
||||
PORT_BIT( 0x00000100, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000200, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000400, IP_ACTIVE_LOW, IPT_UNKNOWN )
|
||||
@ -730,7 +706,7 @@ static MACHINE_DRIVER_START( undrfire )
|
||||
MDRV_CPU_PROGRAM_MAP(undrfire_map)
|
||||
MDRV_CPU_VBLANK_INT("screen", undrfire_interrupt)
|
||||
|
||||
MDRV_NVRAM_HANDLER(undrfire)
|
||||
MDRV_EEPROM_NODEFAULT_ADD("eeprom", undrfire_eeprom_interface)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("screen", RASTER)
|
||||
@ -764,7 +740,7 @@ static MACHINE_DRIVER_START( cbombers )
|
||||
|
||||
MDRV_QUANTUM_TIME(HZ(480)) /* CPU slices - Need to interleave Cpu's 1 & 3 */
|
||||
|
||||
MDRV_NVRAM_HANDLER(undrfire)
|
||||
MDRV_EEPROM_NODEFAULT_ADD("eeprom", undrfire_eeprom_interface)
|
||||
|
||||
/* video hardware */
|
||||
MDRV_SCREEN_ADD("screen", RASTER)
|
||||
@ -824,6 +800,9 @@ ROM_START( undrfire )
|
||||
ROM_REGION16_BE( 0x1000000, "ensoniq.0", ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_BYTE( "d67-01", 0x000000, 0x200000, CRC(a2f18122) SHA1(640014c6e6d66c59fe0accf370ad3bab9f40429a) ) /* Ensoniq samples */
|
||||
ROM_LOAD16_BYTE( "d67-02", 0xc00000, 0x200000, CRC(fceb715e) SHA1(9326513acb0696669d4f2345649ab37c8c6ed171) )
|
||||
|
||||
ROM_REGION16_BE( 0x80, "eeprom", 0 )
|
||||
ROM_LOAD( "eeprom-undrfire.bin", 0x0000, 0x0080, CRC(9f7368f4) SHA1(4bb28e6eb3a72a06341199f0d744ed0ce13bce2c) )
|
||||
ROM_END
|
||||
|
||||
|
||||
@ -861,6 +840,9 @@ ROM_START( undrfireu )
|
||||
ROM_REGION16_BE( 0x1000000, "ensoniq.0", ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_BYTE( "d67-01", 0x000000, 0x200000, CRC(a2f18122) SHA1(640014c6e6d66c59fe0accf370ad3bab9f40429a) ) /* Ensoniq samples */
|
||||
ROM_LOAD16_BYTE( "d67-02", 0xc00000, 0x200000, CRC(fceb715e) SHA1(9326513acb0696669d4f2345649ab37c8c6ed171) )
|
||||
|
||||
ROM_REGION16_BE( 0x80, "eeprom", 0 )
|
||||
ROM_LOAD( "eeprom-undrfire.bin", 0x0000, 0x0080, CRC(9f7368f4) SHA1(4bb28e6eb3a72a06341199f0d744ed0ce13bce2c) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( undrfirej )
|
||||
@ -897,6 +879,9 @@ ROM_START( undrfirej )
|
||||
ROM_REGION16_BE( 0x1000000, "ensoniq.0", ROMREGION_ERASE00 )
|
||||
ROM_LOAD16_BYTE( "d67-01", 0x000000, 0x200000, CRC(a2f18122) SHA1(640014c6e6d66c59fe0accf370ad3bab9f40429a) ) /* Ensoniq samples */
|
||||
ROM_LOAD16_BYTE( "d67-02", 0xc00000, 0x200000, CRC(fceb715e) SHA1(9326513acb0696669d4f2345649ab37c8c6ed171) )
|
||||
|
||||
ROM_REGION16_BE( 0x80, "eeprom", 0 )
|
||||
ROM_LOAD( "eeprom-undrfire.bin", 0x0000, 0x0080, CRC(9f7368f4) SHA1(4bb28e6eb3a72a06341199f0d744ed0ce13bce2c) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( cbombers )
|
||||
@ -948,6 +933,9 @@ ROM_START( cbombers )
|
||||
ROM_LOAD16_BYTE( "d83_02.ic39", 0x000000, 0x200000, CRC(2abca020) SHA1(3491a95651ca89b7fe6d040b8576fa7646bfe84b) )
|
||||
ROM_RELOAD ( 0x400000, 0x200000 )
|
||||
ROM_LOAD16_BYTE( "d83_03.ic18", 0x800000, 0x200000, CRC(1b2d9ec3) SHA1(ead6b5542ad3987ef0f9ea01ce7f960abc9119b3) )
|
||||
|
||||
ROM_REGION16_BE( 0x80, "eeprom", 0 )
|
||||
ROM_LOAD( "eeprom-cbombers.bin", 0x0000, 0x0080, CRC(9f7368f4) SHA1(4bb28e6eb3a72a06341199f0d744ed0ce13bce2c) )
|
||||
ROM_END
|
||||
|
||||
|
||||
|
@ -13,7 +13,6 @@ DRIVER_INIT ( stv );
|
||||
|
||||
/*----------- defined in drivers/stvinit.c -----------*/
|
||||
|
||||
NVRAM_HANDLER( stv );
|
||||
void install_stvbios_speedups(running_machine *machine);
|
||||
DRIVER_INIT(mausuke);
|
||||
DRIVER_INIT(puyosun);
|
||||
|
@ -4854,7 +4854,7 @@ static void stv_vdp2_draw_rotation_screen(running_machine *machine, bitmap_t *bi
|
||||
else
|
||||
{
|
||||
if ( stv_vdp2_roz_bitmap[iRP-1] == NULL )
|
||||
stv_vdp2_roz_bitmap[iRP-1] = auto_bitmap_alloc(machine, 4096, 4096, video_screen_get_format(machine->primary_screen));
|
||||
stv_vdp2_roz_bitmap[iRP-1] = bitmap_alloc(4096, 4096, video_screen_get_format(machine->primary_screen));
|
||||
|
||||
roz_clip_rect.min_x = roz_clip_rect.min_y = 0;
|
||||
if ( (iRP == 1 && STV_VDP2_RAOVR == 3) ||
|
||||
@ -5396,8 +5396,19 @@ static STATE_POSTLOAD( stv_vdp2_state_save_postload )
|
||||
refresh_palette_data(machine);
|
||||
}
|
||||
|
||||
static void stv_vdp2_exit (running_machine *machine)
|
||||
{
|
||||
if (stv_vdp2_roz_bitmap[0] != NULL)
|
||||
bitmap_free(stv_vdp2_roz_bitmap[0]);
|
||||
if (stv_vdp2_roz_bitmap[1] != NULL)
|
||||
bitmap_free(stv_vdp2_roz_bitmap[1]);
|
||||
stv_vdp2_roz_bitmap[0] = stv_vdp2_roz_bitmap[1] = NULL;
|
||||
}
|
||||
|
||||
static int stv_vdp2_start (running_machine *machine)
|
||||
{
|
||||
add_exit_callback(machine, stv_vdp2_exit);
|
||||
|
||||
stv_vdp2_regs = auto_alloc_array_clear(machine, UINT32, 0x040000/4 );
|
||||
stv_vdp2_vram = auto_alloc_array_clear(machine, UINT32, 0x100000/4 ); // actually we only need half of it since we don't emulate extra 4mbit ram cart.
|
||||
stv_vdp2_cram = auto_alloc_array_clear(machine, UINT32, 0x080000/4 );
|
||||
|
Loading…
Reference in New Issue
Block a user