diff --git a/hash/h21.xml b/hash/h21.xml new file mode 100644 index 0000000000..41cb66d746 --- /dev/null +++ b/hash/h21.xml @@ -0,0 +1,58 @@ + + + + + + + + + Come frutas + 198? + TRQ + + + + + + + + + + + + diff --git a/hash/vc4000.xml b/hash/vc4000.xml index 062180967a..dabf4522b8 100644 --- a/hash/vc4000.xml +++ b/hash/vc4000.xml @@ -508,18 +508,4 @@ - - - Come Frutas - 19?? - Interton - - - - - - - - - diff --git a/src/devices/bus/vc4000/slot.cpp b/src/devices/bus/vc4000/slot.cpp index 501ee09180..8bf34687c9 100644 --- a/src/devices/bus/vc4000/slot.cpp +++ b/src/devices/bus/vc4000/slot.cpp @@ -16,6 +16,7 @@ //************************************************************************** const device_type VC4000_CART_SLOT = &device_creator; +const device_type H21_CART_SLOT = &device_creator; //************************************************************************** // VC4000 Cartridges Interface @@ -110,6 +111,18 @@ void vc4000_cart_slot_device::device_config_complete() update_names(); } +//------------------------------------------------- +// trq h-21 slot +//------------------------------------------------- + +h21_cart_slot_device::h21_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : + vc4000_cart_slot_device(mconfig, tag, owner, clock) +{ +} + +h21_cart_slot_device::~h21_cart_slot_device() +{ +} //------------------------------------------------- // VC4000 PCB diff --git a/src/devices/bus/vc4000/slot.h b/src/devices/bus/vc4000/slot.h index 62cf4655f8..975586024f 100644 --- a/src/devices/bus/vc4000/slot.h +++ b/src/devices/bus/vc4000/slot.h @@ -99,10 +99,19 @@ protected: device_vc4000_cart_interface* m_cart; }; +class h21_cart_slot_device : public vc4000_cart_slot_device +{ +public: + // construction/destruction + h21_cart_slot_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + virtual ~h21_cart_slot_device(); + virtual const char *image_interface() const { return "h21_cart"; } +}; // device type definition extern const device_type VC4000_CART_SLOT; +extern const device_type H21_CART_SLOT; /*************************************************************************** @@ -114,4 +123,9 @@ extern const device_type VC4000_CART_SLOT; #define MCFG_VC4000_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \ MCFG_DEVICE_ADD(_tag, VC4000_CART_SLOT, 0) \ MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) + +#define MCFG_H21_CARTRIDGE_ADD(_tag,_slot_intf,_def_slot) \ + MCFG_DEVICE_ADD(_tag, H21_CART_SLOT, 0) \ + MCFG_DEVICE_SLOT_INTERFACE(_slot_intf, _def_slot, false) + #endif diff --git a/src/mame/drivers/vc4000.cpp b/src/mame/drivers/vc4000.cpp index d04f1a99f5..37217c2d82 100644 --- a/src/mame/drivers/vc4000.cpp +++ b/src/mame/drivers/vc4000.cpp @@ -557,30 +557,33 @@ static MACHINE_CONFIG_START( vc4000, vc4000_state ) MCFG_SOFTWARE_LIST_ADD("cart_list", "vc4000") MACHINE_CONFIG_END - static MACHINE_CONFIG_DERIVED( cx3000tc, vc4000 ) MCFG_DEVICE_REMOVE("cart_list") MCFG_SOFTWARE_LIST_ADD("cart_list", "cx3000tc") MACHINE_CONFIG_END - static MACHINE_CONFIG_DERIVED( mpu1000, vc4000 ) MCFG_DEVICE_REMOVE("cart_list") MCFG_SOFTWARE_LIST_ADD("cart_list", "mpu1000") MACHINE_CONFIG_END - static MACHINE_CONFIG_DERIVED( database, vc4000 ) MCFG_DEVICE_REMOVE("cart_list") MCFG_SOFTWARE_LIST_ADD("cart_list", "database") MACHINE_CONFIG_END - static MACHINE_CONFIG_DERIVED( rwtrntcs, vc4000 ) MCFG_DEVICE_REMOVE("cart_list") MCFG_SOFTWARE_LIST_ADD("cart_list", "rwtrntcs") MACHINE_CONFIG_END +static MACHINE_CONFIG_DERIVED( h21, vc4000 ) + MCFG_DEVICE_REMOVE("cartslot") + MCFG_H21_CARTRIDGE_ADD("cartslot", vc4000_cart, NULL) + + MCFG_DEVICE_REMOVE("cart_list") + MCFG_SOFTWARE_LIST_ADD("cart_list", "h21") +MACHINE_CONFIG_END static MACHINE_CONFIG_DERIVED( elektor, vc4000 ) MCFG_CPU_MODIFY("maincpu") @@ -590,6 +593,7 @@ static MACHINE_CONFIG_DERIVED( elektor, vc4000 ) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) MACHINE_CONFIG_END + ROM_START( vc4000 ) ROM_REGION( 0x2000,"maincpu", ROMREGION_ERASEFF ) ROM_END @@ -682,6 +686,10 @@ ROM_START( mpt05 ) ROM_REGION( 0x2000,"maincpu", ROMREGION_ERASEFF ) ROM_END +ROM_START( h21 ) + ROM_REGION( 0x2000,"maincpu", ROMREGION_ERASEFF ) +ROM_END + ROM_START( elektor ) ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF ) ROM_LOAD( "elektor.rom", 0x0000, 0x0800, CRC(e6ef1ee1) SHA1(6823b5a22582344016415f2a37f9f3a2dc75d2a7)) @@ -713,4 +721,5 @@ CONS(1979, telngtcs, rwtrntcs, 0, rwtrntcs, vc4000, driver_device, CONS(1979, krvnjvtv, 0, vc4000, vc4000, vc4000, driver_device, 0, "SOE", "OC Jeu Video TV Karvan", MACHINE_IMPERFECT_GRAPHICS ) /* France */ CONS(1979, oc2000, krvnjvtv, 0, vc4000, vc4000, driver_device, 0, "SOE", "OC-2000", MACHINE_IMPERFECT_GRAPHICS ) /* France */ CONS(1980, mpt05, 0, vc4000, vc4000, vc4000, driver_device, 0, "ITMC", "MPT-05", MACHINE_IMPERFECT_GRAPHICS ) /* France */ +CONS(1982, h21, 0, 0, h21, vc4000, driver_device, 0, "TRQ", "Video Computer H-21", MACHINE_IMPERFECT_GRAPHICS) // Spain CONS(1979, elektor, 0, 0, elektor, elektor, driver_device, 0, "Elektor", "Elektor TV Games Computer", MACHINE_IMPERFECT_GRAPHICS ) diff --git a/src/mame/mess.lst b/src/mame/mess.lst index 71d3563fce..b09b4b3592 100644 --- a/src/mame/mess.lst +++ b/src/mame/mess.lst @@ -259,6 +259,7 @@ telngtcs krvnjvtv oc2000 mpt05 +h21 // TRQ Video Computer H-21 // Game Park