From b03c3cfbd1890ff52fcfa61fcbc7c98809527b96 Mon Sep 17 00:00:00 2001 From: Sandro Ronco Date: Fri, 28 Feb 2014 21:36:13 +0000 Subject: [PATCH] (MESS) Moved some carts from genius.xml to gl2000.xml/gl6000sl.xml. (nw) --- .gitattributes | 2 + hash/genius.xml | 89 ------------------------------------- hash/gl2000.xml | 86 +++++++++++++++++++++++++++++++++++ hash/gl6000sl.xml | 17 +++++++ hash/misterx.xml | 9 ++-- src/mess/drivers/pc2000.c | 51 ++++++--------------- src/mess/drivers/prestige.c | 22 ++++++--- 7 files changed, 139 insertions(+), 137 deletions(-) create mode 100644 hash/gl2000.xml create mode 100644 hash/gl6000sl.xml diff --git a/.gitattributes b/.gitattributes index 2365850871a..133b422866e 100644 --- a/.gitattributes +++ b/.gitattributes @@ -116,6 +116,8 @@ hash/gamepock.xml svneol=native#text/xml hash/gba.xml svneol=native#text/xml hash/gbcolor.xml svneol=native#text/xml hash/genius.xml svneol=native#text/xml +hash/gl2000.xml svneol=native#text/xml +hash/gl6000sl.xml svneol=native#text/xml hash/gmaster.xml svneol=native#text/xml hash/gp32.xml svneol=native#text/xml hash/gx4000.xml svneol=native#text/xml diff --git a/hash/genius.xml b/hash/genius.xml index 166bccfb69d..3063044d877 100644 --- a/hash/genius.xml +++ b/hash/genius.xml @@ -95,95 +95,6 @@ On one was the highest adressline set to HIGH, on the other one this adressline - - - Super Naturwissenschaften - 200? - Video Technology - - - - - - - - - - - - Englisch für Anfänger (Genius Leader) - 200? - Video Technology - - - - - - - - - - - - Schreibmaschinenkurs (Genius Leader) - 200? - Video Technology - - - - - - - - - - - - Englisch für Fortgeschrittene - 200? - Video Technology - - - - - - - - - - - - Französisch für Anfänger - 200? - Video Technology - - - - - - - - - - - - Tabellenkalkulation - 200? - Video Technology - - - - - - - - - Französisch Total diff --git a/hash/gl2000.xml b/hash/gl2000.xml new file mode 100644 index 00000000000..670f3920c97 --- /dev/null +++ b/hash/gl2000.xml @@ -0,0 +1,86 @@ + + + + + + + Englisch für Anfänger + 199? + Video Technology + + + + + + + + + + + Englisch für Fortgeschrittene + 199? + Video Technology + + + + + + + + + + + Französisch für Anfänger + 199? + Video Technology + + + + + + + + + + + Schreibmaschinenkurs + 199? + Video Technology + + + + + + + + + + + Super Naturwissenschaften + 199? + Video Technology + + + + + + + + + + + Berühmte Orte und Leute + 199? + Video Technology + + + + + + + diff --git a/hash/gl6000sl.xml b/hash/gl6000sl.xml new file mode 100644 index 00000000000..bd31bd7e0dc --- /dev/null +++ b/hash/gl6000sl.xml @@ -0,0 +1,17 @@ + + + + + + + Tabellenkalkulation + 199? + Video Technology + + + + + + + + diff --git a/hash/misterx.xml b/hash/misterx.xml index 6b46632b79f..e5cc2fc7e20 100644 --- a/hash/misterx.xml +++ b/hash/misterx.xml @@ -5,10 +5,10 @@ Fantasie-Trivia 1989 Video Technology / Yeno - - + - + + @@ -17,8 +17,7 @@ Allgemeinwissen II 1989 Video Technology / Yeno - - + diff --git a/src/mess/drivers/pc2000.c b/src/mess/drivers/pc2000.c index 7522f33b338..c1abc1aaee9 100644 --- a/src/mess/drivers/pc2000.c +++ b/src/mess/drivers/pc2000.c @@ -50,7 +50,6 @@ public: virtual void machine_start(); virtual void machine_reset(); - DECLARE_DEVICE_IMAGE_LOAD_MEMBER( cart_load ); DECLARE_READ8_MEMBER( key_matrix_r ); DECLARE_WRITE8_MEMBER( key_matrix_w ); DECLARE_WRITE8_MEMBER( rombank0_w ); @@ -734,34 +733,6 @@ static INPUT_PORTS_START( gl3000s ) PORT_BIT(0xe1, IP_ACTIVE_LOW, IPT_UNUSED) INPUT_PORTS_END -DEVICE_IMAGE_LOAD_MEMBER(pc2000_state, cart_load) -{ - UINT8 *cart = memregion("cart")->base(); - - if (image.software_entry() == NULL) - { - UINT32 size = MIN(image.length(), memregion("cart")->bytes()); - - if (image.fread(cart, size) != size) - return IMAGE_INIT_FAIL; - } - else - { - UINT32 size = MIN(image.get_software_region_length("rom"), memregion("cart")->bytes()); - const char *pcb_type = image.get_feature("pcb_type"); - - if (pcb_type && !strcmp(pcb_type, "allgeme2")) - memcpy(cart, image.get_software_region("rom"), size >> 1); - else if (pcb_type && !strcmp(pcb_type, "ftrivia")) - memcpy(cart, image.get_software_region("rom") + (1<<16), size >> 1); - else - memcpy(cart, image.get_software_region("rom"), size); - } - - return IMAGE_INIT_PASS; -} - - void pc2000_state::machine_start() { UINT8 *bios = memregion("bios")->base(); @@ -824,8 +795,6 @@ static GFXDECODE_START( pc2000 ) GFXDECODE_ENTRY( "hd44780:cgrom", 0x0000, hd44780_charlayout, 0, 1 ) GFXDECODE_END -static GFXDECODE_START( gl3000s ) -GFXDECODE_END static MACHINE_CONFIG_START( pc2000, pc2000_state ) /* basic machine hardware */ @@ -857,13 +826,13 @@ static MACHINE_CONFIG_START( pc2000, pc2000_state ) MCFG_CARTSLOT_ADD("cart") MCFG_CARTSLOT_EXTENSION_LIST("bin") - MCFG_CARTSLOT_INTERFACE("pc1000_cart") - MCFG_CARTSLOT_LOAD(pc2000_state, cart_load) + MCFG_CARTSLOT_INTERFACE("genius_cart") MCFG_CARTSLOT_NOT_MANDATORY MACHINE_CONFIG_END static MACHINE_CONFIG_DERIVED( gl2000, pc2000 ) - MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("cart_list", "misterx") + MCFG_SOFTWARE_LIST_ADD("cart_list", "gl2000") + MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("misterx_cart", "misterx") MACHINE_CONFIG_END static HD44780_PIXEL_UPDATE(gl4000_pixel_update) @@ -898,7 +867,10 @@ static MACHINE_CONFIG_DERIVED_CLASS( gl3000s, pc2000, gl3000s_state ) MCFG_DEFAULT_LAYOUT(layout_gl3000s) - MCFG_GFXDECODE_MODIFY("gfxdecode", gl3000s) + MCFG_DEVICE_REMOVE("gfxdecode") + + MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("gl2000_cart", "gl2000") + MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("misterx_cart", "misterx") MACHINE_CONFIG_END static MACHINE_CONFIG_DERIVED_CLASS( gl4000, pc2000, gl4004_state ) @@ -909,6 +881,9 @@ static MACHINE_CONFIG_DERIVED_CLASS( gl4000, pc2000, gl4004_state ) MCFG_DEVICE_MODIFY("hd44780") MCFG_HD44780_LCD_SIZE(4, 20) MCFG_HD44780_PIXEL_UPDATE_CB(gl4000_pixel_update) + + MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("gl2000_cart", "gl2000") + MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("misterx_cart", "misterx") MACHINE_CONFIG_END static MACHINE_CONFIG_DERIVED_CLASS( misterx, pc2000, pc1000_state ) @@ -928,8 +903,7 @@ static MACHINE_CONFIG_DERIVED_CLASS( misterx, pc2000, pc1000_state ) MCFG_HD44780_PIXEL_UPDATE_CB(pc1000_pixel_update) MCFG_CARTSLOT_MODIFY("cart") - MCFG_CARTSLOT_INTERFACE("pc1000_cart") - MCFG_CARTSLOT_LOAD(pc1000_state, cart_load) + MCFG_CARTSLOT_INTERFACE("genius_cart") /* Software lists */ MCFG_SOFTWARE_LIST_ADD("cart_list", "misterx") @@ -1013,6 +987,7 @@ ROM_START( misterx ) ROM_LOAD( "27-00882-001.bin", 0x000000, 0x020000, CRC(30e0dc94) SHA1(2f4675746a41399b3d9e3e8001a9b4a0dcc5b620)) ROM_REGION( 0x40000, "cart", ROMREGION_ERASEFF ) + ROM_CART_LOAD( "cart", 0, 0x40000, 0 ) ROM_END @@ -1028,4 +1003,4 @@ COMP( 1994, gl4000, 0, 0, gl4000, pc2000, driver_device, 0, "V COMP( 1996, gl4004, 0, 0, gl4000, pc2000, driver_device, 0, "Video Technology", "Genius Leader 4004 Quadro L (Germany)", GAME_NOT_WORKING) COMP( 1997, gl5000, 0, 0, pc2000, pc2000, driver_device, 0, "Video Technology", "Genius Leader 5000 (Germany)", GAME_IS_SKELETON) COMP( 1997, gl5005x, 0, 0, pc2000, pc2000, driver_device, 0, "Video Technology", "Genius Leader 5005X (Germany)", GAME_IS_SKELETON) -COMP( 1993, gln, 0, 0, pc2000, pc2000, driver_device, 0, "Video Technology", "Genius Leader Notebook", GAME_NOT_WORKING) +COMP( 1993, gln, 0, 0, pc2000, pc2000, driver_device, 0, "Video Technology", "Genius Leader Notebook", GAME_IS_SKELETON) diff --git a/src/mess/drivers/prestige.c b/src/mess/drivers/prestige.c index ce94cb2da05..7406d9a749e 100644 --- a/src/mess/drivers/prestige.c +++ b/src/mess/drivers/prestige.c @@ -501,7 +501,7 @@ static MACHINE_CONFIG_START( prestige, prestige_state ) /* cartridge */ MCFG_CARTSLOT_ADD("cart") MCFG_CARTSLOT_EXTENSION_LIST("bin") - MCFG_CARTSLOT_INTERFACE("prestige_cart") + MCFG_CARTSLOT_INTERFACE("genius_cart") /* internal ram */ MCFG_RAM_ADD(RAM_TAG) @@ -509,6 +509,18 @@ static MACHINE_CONFIG_START( prestige, prestige_state ) MCFG_RAM_EXTRA_OPTIONS("64K") MACHINE_CONFIG_END +static MACHINE_CONFIG_DERIVED( gl6000sl, prestige ) + MCFG_SOFTWARE_LIST_ADD("cart_list", "gl6000sl") + MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("misterx_cart", "misterx") + MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("gl2000_cart", "gl2000") +MACHINE_CONFIG_END + +static MACHINE_CONFIG_DERIVED( gl7007sl, prestige ) + MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("gl6000sl_cart", "gl6000sl") + MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("gl2000_cart", "gl2000") + MCFG_SOFTWARE_LIST_COMPATIBLE_ADD("misterx_cart", "misterx") +MACHINE_CONFIG_END + /* ROM definition */ ROM_START( gl6000sl ) ROM_REGION(0x100000, "maincpu", 0) @@ -530,8 +542,8 @@ ROM_START( prestige ) ROM_REGION( 0x100000, "maincpu", 0 ) ROM_LOAD( "27-6020-02.u2", 0x00000, 0x100000, CRC(6bb6db14) SHA1(5d51fc3fd799e7f01ee99c453f9005fb07747b1e) ) - ROM_REGION( 0x8000, "cart", ROMREGION_ERASE ) - ROM_CART_LOAD( "cart", 0, 0x8000, 0 ) + ROM_REGION( 0x40000, "cart", ROMREGION_ERASEFF ) + ROM_CART_LOAD( "cart", 0, 0x40000, 0 ) ROM_END ROM_START( glcolor ) @@ -546,6 +558,6 @@ ROM_END /* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */ COMP( 1994, glcolor, 0, 0, prestige, prestige, driver_device, 0, "VTech", "Genius Leader Color (Germany)", GAME_NOT_WORKING | GAME_NO_SOUND) -COMP( 1997, gl6000sl, 0, 0, prestige, prestige, driver_device, 0, "VTech", "Genius Leader 6000SL (Germany)", GAME_NOT_WORKING | GAME_NO_SOUND) -COMP( 1998, gl7007sl, 0, 0, prestige, prestige, driver_device, 0, "VTech", "Genius Leader 7007SL (Germany)", GAME_NOT_WORKING | GAME_NO_SOUND) +COMP( 1997, gl6000sl, 0, 0, gl6000sl, prestige, driver_device, 0, "VTech", "Genius Leader 6000SL (Germany)", GAME_NOT_WORKING | GAME_NO_SOUND) +COMP( 1998, gl7007sl, 0, 0, gl7007sl, prestige, driver_device, 0, "VTech", "Genius Leader 7007SL (Germany)", GAME_NOT_WORKING | GAME_NO_SOUND) COMP( 1998, prestige, 0, 0, prestige, prestige, driver_device, 0, "VTech", "PreComputer Prestige Elite", GAME_NOT_WORKING | GAME_NO_SOUND)