(MESS) vsmile.xml: added new German dumps. [TeamEurope]

also, I've hacked up the rom region and cart loading for vsmile so that some dumps start to show stuff,
and TeamEurope can use MESS too for basic testing of the dumps... 
devs who know more about this cpu are welcome to work on it, because I can't do much more than this :-)
This commit is contained in:
Fabio Priuli 2013-05-26 12:14:45 +00:00
parent 8c3520d966
commit eab6a13f1c
2 changed files with 216 additions and 21 deletions

View File

@ -199,6 +199,84 @@ Language:
<!-- carts --> <!-- carts -->
<software name="aladdin">
<description>Aladdin - Aladdins Welt der Wunder (Ger)</description>
<year>200?</year>
<publisher>VTech</publisher>
<part name="cart" interface="vsmile_cart">
<dataarea name="flop" size="8388608">
<rom name="092204.bin" size="8388608" crc="dfa7b720" sha1="c4f7bcbe95c7eb5dfd0dd97f5d496db6ac158ea6" offset="0" />
</dataarea>
</part>
</software>
<software name="ariel">
<description>Arielle Die Meerjungfrau - Arielles aufregendes Abenteuer (Ger)</description>
<year>200?</year>
<publisher>VTech</publisher>
<part name="cart" interface="vsmile_cart">
<dataarea name="flop" size="8388608">
<rom name="092124.bin" size="8388608" crc="ce21b7ba" sha1="e992b113f014614db34b81bb22357847cef79a16" offset="0" />
</dataarea>
</part>
</software>
<software name="bobbuild">
<description>Bob der Baumeister - Bobs spannender Arbeitstag (Ger)</description>
<year>200?</year>
<publisher>VTech</publisher>
<part name="cart" interface="vsmile_cart">
<dataarea name="flop" size="8388608">
<rom name="092304.bin" size="8388608" crc="70c83b25" sha1="bebe311cfbeb25e01892b7636f4427ae0e0e4c9e" offset="0" />
</dataarea>
</part>
</software>
<software name="cinderla">
<description>Cinderella - Lernen im Maerchenland (Ger, Rev. 0)</description>
<year>200?</year>
<publisher>VTech</publisher>
<part name="cart" interface="vsmile_cart">
<dataarea name="flop" size="8388608">
<rom name="092244.bin" size="8388608" crc="b08a50f3" sha1="a8e6b8b427115d01d35c27b41385ac5d430484c3" offset="0" />
</dataarea>
</part>
</software>
<software name="cinderla1" cloneof="cinderla">
<description>Cinderella - Lernen im Maerchenland (Ger, Rev. 1)</description>
<year>200?</year>
<publisher>VTech</publisher>
<part name="cart" interface="vsmile_cart">
<dataarea name="flop" size="8388608">
<rom name="092244-1.bin" size="8388608" crc="83b7e95c" sha1="8c29c4cc585b1c80c7294193a0dff5da76538752" offset="0" />
</dataarea>
</part>
</software>
<software name="footschl">
<description>Fußball Schule (Ger)</description>
<year>200?</year>
<publisher>VTech</publisher>
<part name="cart" interface="vsmile_cart">
<dataarea name="flop" size="8388608">
<rom name="092824.bin" size="8388608" crc="620b9ebb" sha1="e22ff87a03c6cac3186613a9e804dd6d4e3a3dc4" offset="0" />
</dataarea>
</part>
</software>
<software name="fred">
<description>Freds Zahlen Rallye (Ger)</description>
<year>200?</year>
<publisher>VTech</publisher>
<part name="cart" interface="vsmile_cart">
<dataarea name="flop" size="8388608">
<rom name="092044.bin" size="8388608" crc="24988ef6" sha1="7f5d647dc8edf780ea86a43e08e8d2169b19a0ae" offset="0" />
</dataarea>
</part>
</software>
<software name="manny"> <software name="manny">
<description>Meister Manny's Werkzeugkiste (Ger)</description> <description>Meister Manny's Werkzeugkiste (Ger)</description>
<year>200?</year> <year>200?</year>
@ -210,6 +288,83 @@ Language:
</part> </part>
</software> </software>
<software name="monstaln">
<description>Monsters vs Aliens (Ger)</description>
<year>200?</year>
<publisher>VTech</publisher>
<part name="cart" interface="vsmile_cart">
<dataarea name="flop" size="8388608">
<rom name="090164.bin" size="8388608" crc="bf531c68" sha1="00c3a04282f3d1eb517fc6eb8c4af413bcb9587b" offset="0" />
</dataarea>
</part>
</software>
<software name="oben">
<description>Oben (Ger)</description>
<year>200?</year>
<publisher>VTech</publisher>
<part name="cart" interface="vsmile_cart">
<dataarea name="flop" size="8388608">
<rom name="090004.bin" size="8388608" crc="e1b9c194" sha1="a5547757e566a854c5dc1173565c7de47e4877f2" offset="0" />
</dataarea>
</part>
</software>
<software name="ratat">
<description>Ratatouille - Remys Neue Rezepte (Ger)</description>
<year>200?</year>
<publisher>VTech</publisher>
<part name="cart" interface="vsmile_cart">
<dataarea name="flop" size="8388608">
<rom name="092884.bin" size="8388608" crc="d8e36793" sha1="e8d7078726b077d1bf0a13b715de4a03fd93189c" offset="0" />
</dataarea>
</part>
</software>
<software name="shrek">
<description>Shrek - Die Geschichte des Drache (Ger)</description>
<year>200?</year>
<publisher>VTech</publisher>
<part name="cart" interface="vsmile_cart">
<dataarea name="flop" size="8388608">
<rom name="092604.bin" size="8388608" crc="dc1ceca3" sha1="88349b556de43d78198aeb6289fa836f597f8a77" offset="0" />
</dataarea>
</part>
</software>
<software name="spongeb">
<description>Spongebob Schwammkopf - Der Tag des Schwamms (Ger, Rev. 1)</description>
<year>200?</year>
<publisher>VTech</publisher>
<part name="cart" interface="vsmile_cart">
<dataarea name="flop" size="8388608">
<rom name="092444-1.bin" size="8388608" crc="49e1dc61" sha1="e55822fa9b2ae0cfba63b7a897aadbee23af5f4d" offset="0" />
</dataarea>
</part>
</software>
<software name="spongeb1" cloneof="spongeb">
<description>Spongebob Schwammkopf - Der Tag des Schwamms (Ger)</description>
<year>200?</year>
<publisher>VTech</publisher>
<part name="cart" interface="vsmile_cart">
<dataarea name="rom" size="8388608">
<rom name="092444.bin" size="8388608" crc="1bc67f49" sha1="817aa0f13d3934bf3993baaac0185ef49ac825ba" offset="0" />
</dataarea>
</part>
</software>
<software name="superman">
<description>Superman - Der Superheld (Ger)</description>
<year>200?</year>
<publisher>VTech</publisher>
<part name="cart" interface="vsmile_cart">
<dataarea name="flop" size="8388608">
<rom name="092644.bin" size="8388608" crc="4b28aca5" sha1="5ce55940a2357de0df0dcf5d77a69cd9e03a9146" offset="0" />
</dataarea>
</part>
</software>
<software name="thomas"> <software name="thomas">
<description>Thomas &amp; seine Freunde - Freunde halten zusammen (Ger)</description> <description>Thomas &amp; seine Freunde - Freunde halten zusammen (Ger)</description>
<year>200?</year> <year>200?</year>
@ -221,17 +376,52 @@ Language:
</part> </part>
</software> </software>
<software name="spongeb"> <software name="toystor2">
<description>Spongebob Schwammkopf - Der Tag es Schwamms (Germany) (Ger)</description> <description>Toy Story 2 - Woodys Spannende Rettung (Ger)</description>
<year>200?</year> <year>200?</year>
<publisher>VTech</publisher> <publisher>VTech</publisher>
<part name="cart" interface="vsmile_cart"> <part name="cart" interface="vsmile_cart">
<dataarea name="rom" size="8388608"> <dataarea name="flop" size="8388608">
<rom name="092444.bin" size="8388608" crc="1bc67f49" sha1="817aa0f13d3934bf3993baaac0185ef49ac825ba" offset="0" /> <rom name="092224.bin" size="8388608" crc="c6fbdb94" sha1="887f1d2acadc6902d386488577654a6786d802a9" offset="0" />
</dataarea> </dataarea>
</part> </part>
</software> </software>
<software name="walle">
<description>Wall-E (Ger)</description>
<year>200?</year>
<publisher>VTech</publisher>
<part name="cart" interface="vsmile_cart">
<dataarea name="flop" size="8388608">
<rom name="092844.bin" size="8388608" crc="f4be4391" sha1="5e43c9dd4759218578d1a8364540db8bc6bc6416" offset="0" />
</dataarea>
</part>
</software>
<software name="pooh">
<description>Winnie Puhh - Die Honigjagd (Ger)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="8388608">
<rom name="092064.bin" size="8388608" crc="38a17e7e" sha1="434849ba8867d0bfb16b0fb5abfec86286390c07" offset="0" />
</dataarea>
</part>
</software>
<software name="zayzoo">
<description>Zayzoo's Lernall (Germany)</description>
<year>19??</year>
<publisher>&lt;unknown&gt;</publisher>
<part name="flop1" interface="floppy_5_25">
<dataarea name="flop" size="8388608">
<rom name="092364.bin" size="8388608" crc="93e9dcf3" sha1="5889e46806d1fa70ac92ec6b2158a339126a26d2" offset="0" />
</dataarea>
</part>
</software>
<!-- V.Discs --> <!-- V.Discs -->

View File

@ -70,6 +70,7 @@ Detailed list of bugs:
#include "cpu/unsp/unsp.h" #include "cpu/unsp/unsp.h"
#include "imagedev/cartslot.h" #include "imagedev/cartslot.h"
#include "machine/i2cmem.h" #include "machine/i2cmem.h"
#include "formats/imageutl.h"
#define PAGE_ENABLE_MASK 0x0008 #define PAGE_ENABLE_MASK 0x0008
@ -87,12 +88,13 @@ class vii_state : public driver_device
public: public:
vii_state(const machine_config &mconfig, device_type type, const char *tag) vii_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag), : driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"), m_maincpu(*this, "maincpu"),
m_p_ram(*this, "p_ram"), m_p_ram(*this, "p_ram"),
m_p_rowscroll(*this, "p_rowscroll"), m_p_rowscroll(*this, "p_rowscroll"),
m_p_palette(*this, "p_palette"), m_p_palette(*this, "p_palette"),
m_p_spriteram(*this, "p_spriteram"), m_p_spriteram(*this, "p_spriteram"),
m_p_cart(*this, "p_cart"), m_p_cart(*this, "p_cart"),
m_region_cpu(*this, "maincpu"),
m_region_cart(*this, "cart"), m_region_cart(*this, "cart"),
m_io_p1(*this, "P1") m_io_p1(*this, "P1")
{ } { }
@ -150,6 +152,7 @@ public:
DECLARE_DEVICE_IMAGE_LOAD_MEMBER(vsmile_cart); DECLARE_DEVICE_IMAGE_LOAD_MEMBER(vsmile_cart);
protected: protected:
required_memory_region m_region_cpu;
optional_memory_region m_region_cart; optional_memory_region m_region_cart;
required_ioport m_io_p1; required_ioport m_io_p1;
@ -596,7 +599,7 @@ void vii_state::vii_do_gpio(UINT32 offset)
what ^= (dir & ~attr); what ^= (dir & ~attr);
what &= ~special; what &= ~special;
if(m_spg243_mode == SPG243_VII) if (m_spg243_mode == SPG243_VII)
{ {
if(index == 1) if(index == 1)
{ {
@ -604,7 +607,7 @@ void vii_state::vii_do_gpio(UINT32 offset)
vii_switch_bank(bank); vii_switch_bank(bank);
} }
} }
else if(m_spg243_mode == SPG243_BATMAN) else if (m_spg243_mode == SPG243_BATMAN)
{ {
if(index == 0) if(index == 0)
{ {
@ -939,6 +942,7 @@ static INPUT_PORTS_START( walle )
PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_NAME("B Button") PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_NAME("B Button")
INPUT_PORTS_END INPUT_PORTS_END
DEVICE_IMAGE_LOAD_MEMBER( vii_state, vii_cart ) DEVICE_IMAGE_LOAD_MEMBER( vii_state, vii_cart )
{ {
UINT8 *cart = m_region_cart->base(); UINT8 *cart = m_region_cart->base();
@ -974,26 +978,28 @@ DEVICE_IMAGE_LOAD_MEMBER( vii_state, vii_cart )
DEVICE_IMAGE_LOAD_MEMBER( vii_state, vsmile_cart ) DEVICE_IMAGE_LOAD_MEMBER( vii_state, vsmile_cart )
{ {
UINT8 *cart = m_region_cart->base(); UINT8 *CART = m_region_cart->base();
UINT16 *ROM = (UINT16 *) m_region_cpu->base();
if (image.software_entry() == NULL) if (image.software_entry() == NULL)
{ {
int size = image.length(); int size = image.length();
image.fread(CART, size);
if( image.fread( cart, size ) != size )
{
image.seterror( IMAGE_ERROR_UNSPECIFIED, "Unable to fully read from file" );
return IMAGE_INIT_FAIL;
}
} }
else else
{ {
int filesize = image.get_software_region_length("rom"); int size = image.get_software_region_length("rom");
memcpy(cart, image.get_software_region("rom"), filesize); memcpy(CART, image.get_software_region("rom"), size);
} }
memcpy(m_p_cart, cart + 0x4000*2, (0x400000 - 0x4000) * 2);
// for whatever reason if we copy more than this, the CPU
// is not happy and VSmile won't show anything... bankswitch?
for (int i = 0; i < 0x400000; i += 2)
ROM[i / 2] = pick_integer_le(CART, i, 2);
return IMAGE_INIT_PASS; return IMAGE_INIT_PASS;
} }
TIMER_CALLBACK_MEMBER(vii_state::tmb1_tick) TIMER_CALLBACK_MEMBER(vii_state::tmb1_tick)
{ {
m_io_regs[0x22] |= 1; m_io_regs[0x22] |= 1;
@ -1015,7 +1021,7 @@ void vii_state::machine_start()
m_controller_input[6] = 0xff; m_controller_input[6] = 0xff;
m_controller_input[7] = 0; m_controller_input[7] = 0;
if ( m_region_cart ) if ( m_region_cart && m_spg243_mode == SPG243_VII)
{ {
UINT8 *rom = m_region_cart->base(); UINT8 *rom = m_region_cart->base();
memcpy(m_p_cart, rom + 0x4000*2, (0x400000 - 0x4000) * 2); memcpy(m_p_cart, rom + 0x4000*2, (0x400000 - 0x4000) * 2);
@ -1182,7 +1188,7 @@ DRIVER_INIT_MEMBER(vii_state,batman)
DRIVER_INIT_MEMBER(vii_state,vsmile) DRIVER_INIT_MEMBER(vii_state,vsmile)
{ {
m_spg243_mode = SPG243_VSMILE; m_spg243_mode = SPG243_BATMAN;//SPG243_VSMILE;
m_centered_coordinates = 1; m_centered_coordinates = 1;
} }
@ -1207,10 +1213,9 @@ ROM_END
ROM_START( vsmile ) ROM_START( vsmile )
ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASEFF ) /* dummy region for u'nSP */ ROM_REGION( 0x800000, "maincpu", ROMREGION_ERASEFF ) /* dummy region for u'nSP */
ROM_LOAD16_WORD_SWAP( "bios german.bin", 0x000000, 0x200000, CRC(205c5296) SHA1(7fbcf761b5885c8b1524607aabaf364b4559c8cc) )
ROM_REGION( 0x2000000, "cart", ROMREGION_ERASE00 ) ROM_REGION( 0x2000000, "cart", ROMREGION_ERASE00 )
ROM_LOAD16_WORD_SWAP( "bios german.bin", 0x000000, 0x200000, CRC(205c5296) SHA1(7fbcf761b5885c8b1524607aabaf364b4559c8cc) )
ROM_CART_LOAD("cart", 0x0000, 0x2000000, ROM_MIRROR)
ROM_END ROM_END
ROM_START( walle ) ROM_START( walle )