mirror of
https://github.com/holub/mame
synced 2025-05-04 21:43:05 +03:00
apple2: Added the //e version of the AE Vulcan IDE card [SPK, R. Belmont]
This commit is contained in:
parent
c429c54566
commit
88f398686c
@ -62,8 +62,9 @@
|
|||||||
// GLOBAL VARIABLES
|
// GLOBAL VARIABLES
|
||||||
//**************************************************************************
|
//**************************************************************************
|
||||||
|
|
||||||
DEFINE_DEVICE_TYPE(A2BUS_VULCAN, a2bus_vulcan_device, "a2vulcan", "Applied Engineering Vulcan IDE controller")
|
DEFINE_DEVICE_TYPE(A2BUS_VULCAN, a2bus_vulcan_device, "a2vulcan", "Applied Engineering Vulcan IDE controller (IIgs version)")
|
||||||
DEFINE_DEVICE_TYPE(A2BUS_VULCANGOLD, a2bus_vulcangold_device, "a2vulgld", "Applied Engineering Vulcan Gold IDE controller")
|
DEFINE_DEVICE_TYPE(A2BUS_VULCANIIE, a2bus_vulcaniie_device, "a2vuliie", "Applied Engineering Vulcan IDE controller (//e version)")
|
||||||
|
DEFINE_DEVICE_TYPE(A2BUS_VULCANGOLD, a2bus_vulcangold_device, "a2vulgld", "Applied Engineering Vulcan Gold IDE controller (IIgs version)")
|
||||||
|
|
||||||
#define VULCAN_ROM_REGION "vulcan_rom"
|
#define VULCAN_ROM_REGION "vulcan_rom"
|
||||||
#define VULCAN_ATA_TAG "vulcan_ata"
|
#define VULCAN_ATA_TAG "vulcan_ata"
|
||||||
@ -73,6 +74,11 @@ ROM_START( vulcan )
|
|||||||
ROM_LOAD( "ae vulcan rom v1.4.bin", 0x000000, 0x004000, CRC(798d5825) SHA1(1d668e856e33c6eeb10fe26975341afa8acb81f5) )
|
ROM_LOAD( "ae vulcan rom v1.4.bin", 0x000000, 0x004000, CRC(798d5825) SHA1(1d668e856e33c6eeb10fe26975341afa8acb81f5) )
|
||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
|
ROM_START( vulcaniie )
|
||||||
|
ROM_REGION(0x4000, VULCAN_ROM_REGION, 0)
|
||||||
|
ROM_LOAD( "ae vulcan vul 1.42e20 - 27128.bin", 0x000000, 0x004000, CRC(eee02aea) SHA1(d88ed27cd776f967b0e3440e05712b3830995f24) )
|
||||||
|
ROM_END
|
||||||
|
|
||||||
ROM_START( vulcangold )
|
ROM_START( vulcangold )
|
||||||
ROM_REGION(0x4000, VULCAN_ROM_REGION, 0)
|
ROM_REGION(0x4000, VULCAN_ROM_REGION, 0)
|
||||||
ROM_LOAD( "ae vulcan gold rom v2.0.bin", 0x000000, 0x004000, CRC(19bc3958) SHA1(96a22c2540fa603648a4e638e176eee76523b4e1) )
|
ROM_LOAD( "ae vulcan gold rom v2.0.bin", 0x000000, 0x004000, CRC(19bc3958) SHA1(96a22c2540fa603648a4e638e176eee76523b4e1) )
|
||||||
@ -100,6 +106,11 @@ const tiny_rom_entry *a2bus_vulcan_device::device_rom_region() const
|
|||||||
return ROM_NAME( vulcan );
|
return ROM_NAME( vulcan );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const tiny_rom_entry *a2bus_vulcaniie_device::device_rom_region() const
|
||||||
|
{
|
||||||
|
return ROM_NAME( vulcaniie );
|
||||||
|
}
|
||||||
|
|
||||||
const tiny_rom_entry *a2bus_vulcangold_device::device_rom_region() const
|
const tiny_rom_entry *a2bus_vulcangold_device::device_rom_region() const
|
||||||
{
|
{
|
||||||
return ROM_NAME( vulcangold );
|
return ROM_NAME( vulcangold );
|
||||||
@ -121,6 +132,11 @@ a2bus_vulcan_device::a2bus_vulcan_device(const machine_config &mconfig, const ch
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
a2bus_vulcaniie_device::a2bus_vulcaniie_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||||
|
a2bus_vulcanbase_device(mconfig, A2BUS_VULCANIIE, tag, owner, clock)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
a2bus_vulcangold_device::a2bus_vulcangold_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
a2bus_vulcangold_device::a2bus_vulcangold_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||||
a2bus_vulcanbase_device(mconfig, A2BUS_VULCANGOLD, tag, owner, clock)
|
a2bus_vulcanbase_device(mconfig, A2BUS_VULCANGOLD, tag, owner, clock)
|
||||||
{
|
{
|
||||||
@ -150,6 +166,16 @@ void a2bus_vulcan_device::device_start()
|
|||||||
m_rom[0x59f] = 0xea;
|
m_rom[0x59f] = 0xea;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void a2bus_vulcaniie_device::device_start()
|
||||||
|
{
|
||||||
|
// call base class
|
||||||
|
a2bus_vulcanbase_device::device_start();
|
||||||
|
|
||||||
|
// disable 40 meg partition size limit / protection in v1.4 ROMs
|
||||||
|
m_rom[0x540] = 0xea;
|
||||||
|
m_rom[0x541] = 0xea;
|
||||||
|
}
|
||||||
|
|
||||||
void a2bus_vulcanbase_device::device_reset()
|
void a2bus_vulcanbase_device::device_reset()
|
||||||
{
|
{
|
||||||
m_rombank = m_rambank = 0;
|
m_rombank = m_rambank = 0;
|
||||||
|
@ -62,6 +62,16 @@ protected:
|
|||||||
protected:
|
protected:
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class a2bus_vulcaniie_device : public a2bus_vulcanbase_device
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
a2bus_vulcaniie_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||||
|
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void device_start() override;
|
||||||
|
};
|
||||||
|
|
||||||
class a2bus_vulcangold_device : public a2bus_vulcanbase_device
|
class a2bus_vulcangold_device : public a2bus_vulcanbase_device
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
@ -71,6 +81,7 @@ public:
|
|||||||
|
|
||||||
// device type definition
|
// device type definition
|
||||||
DECLARE_DEVICE_TYPE(A2BUS_VULCAN, a2bus_vulcan_device)
|
DECLARE_DEVICE_TYPE(A2BUS_VULCAN, a2bus_vulcan_device)
|
||||||
|
DECLARE_DEVICE_TYPE(A2BUS_VULCANIIE, a2bus_vulcaniie_device)
|
||||||
DECLARE_DEVICE_TYPE(A2BUS_VULCANGOLD, a2bus_vulcangold_device)
|
DECLARE_DEVICE_TYPE(A2BUS_VULCANGOLD, a2bus_vulcangold_device)
|
||||||
|
|
||||||
#endif // MAME_BUS_A2BUS_VULCAN_H
|
#endif // MAME_BUS_A2BUS_VULCAN_H
|
||||||
|
@ -3981,8 +3981,7 @@ static void apple2_cards(device_slot_interface &device)
|
|||||||
device.option_add("ssprite", A2BUS_SSPRITE); /* Synetix SuperSprite Board */
|
device.option_add("ssprite", A2BUS_SSPRITE); /* Synetix SuperSprite Board */
|
||||||
device.option_add("ssbapple", A2BUS_SSBAPPLE); /* SSB Apple speech board */
|
device.option_add("ssbapple", A2BUS_SSBAPPLE); /* SSB Apple speech board */
|
||||||
device.option_add("twarp", A2BUS_TRANSWARP); /* AE TransWarp accelerator */
|
device.option_add("twarp", A2BUS_TRANSWARP); /* AE TransWarp accelerator */
|
||||||
device.option_add("vulcan", A2BUS_VULCAN); /* Applied Engineering Vulcan IDE drive */
|
device.option_add("vulcan", A2BUS_VULCANIIE); /* Applied Engineering Vulcan IDE drive */
|
||||||
device.option_add("vulcangold", A2BUS_VULCANGOLD); /* Applied Engineering Vulcan Gold IDE drive */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void apple2eaux_cards(device_slot_interface &device)
|
static void apple2eaux_cards(device_slot_interface &device)
|
||||||
|
Loading…
Reference in New Issue
Block a user