diff options
author | Robbbert <Robbbert@users.noreply.github.com> | 2019-11-09 23:51:15 +1100 |
---|---|---|
committer | Robbbert <Robbbert@users.noreply.github.com> | 2019-11-09 23:51:15 +1100 |
commit | 82e6de6f02b29bd7cd93c39dad5f3289f4999288 (patch) | |
tree | 7625956535c5bf57f539cf01bc1f27fe777e0f10 | |
parent | f0f86c7f88165ce8308ae6a706cccc3a5c329f01 (diff) |
Visicom: fixed problem with cartridges, all swlist games now work.
-rw-r--r-- | hash/visicom.xml | 10 | ||||
-rw-r--r-- | src/mame/drivers/studio2.cpp | 24 |
2 files changed, 22 insertions, 12 deletions
diff --git a/hash/visicom.xml b/hash/visicom.xml index c97328d3b82..47b794d2c6a 100644 --- a/hash/visicom.xml +++ b/hash/visicom.xml @@ -15,7 +15,7 @@ CAS-190 Inspiration (Bagua and Biorhythm) no 霊感 --> <softwarelist name="visicom" description="Toshiba Visicom cartridges"> - <software name="aridrill" supported="no"> + <software name="aridrill"> <description>Arithmetic Drill</description><!-- Dumper called it Maths Drill --> <year>1978</year> <publisher>Toshiba</publisher> @@ -27,7 +27,7 @@ CAS-190 Inspiration (Bagua and Biorhythm) no 霊感 </dataarea> </part> </software> - <software name="sportfan" supported="no"> + <software name="sportfan"> <description>Sports Fan</description> <year>1978</year> <publisher>Toshiba</publisher> @@ -39,7 +39,7 @@ CAS-190 Inspiration (Bagua and Biorhythm) no 霊感 </dataarea> </part> </software> - <software name="gambler1" supported="no"> + <software name="gambler1"> <description>Gambler I</description> <year>1978</year> <publisher>Toshiba</publisher> @@ -51,7 +51,7 @@ CAS-190 Inspiration (Bagua and Biorhythm) no 霊感 </dataarea> </part> </software> - <software name="gambler2" supported="no"> + <software name="gambler2"> <description>Gambler II</description> <year>1978</year> <publisher>Toshiba</publisher> @@ -63,7 +63,7 @@ CAS-190 Inspiration (Bagua and Biorhythm) no 霊感 </dataarea> </part> </software> - <software name="spacecom" supported="no"> + <software name="spacecom"> <description>Space Command</description> <year>1978</year> <publisher>Toshiba</publisher> diff --git a/src/mame/drivers/studio2.cpp b/src/mame/drivers/studio2.cpp index 32513c4caba..5ccfa1113eb 100644 --- a/src/mame/drivers/studio2.cpp +++ b/src/mame/drivers/studio2.cpp @@ -185,7 +185,9 @@ Notes: Usage - All variants: Boot up, then press F3, then press a letter (Q,W,E,A) to choose an inbuilt game. - If using a cart, boot up, press F3, then follow the instructions that came with the cart (usually press Q). - - Currently, Visicom cannot run any carts, and has no support for st2 files. + - Visicom has no support for st2 files. + - Visicom always reserves buttons 1,2,3,4,7(Q,W,E,A,Z) for the internal games, which are always available. + The cartridges use 5(S) to start, except gambler1 which uses 9(C). */ @@ -269,9 +271,9 @@ class visicom_state : public studio2_state { public: visicom_state(const machine_config &mconfig, device_type type, const char *tag) - : studio2_state(mconfig, type, tag), - m_color0_ram(*this, "color0_ram"), - m_color1_ram(*this, "color1_ram") + : studio2_state(mconfig, type, tag) + , m_color0_ram(*this, "color0_ram") + , m_color1_ram(*this, "color1_ram") { } void visicom(machine_config &config); @@ -282,6 +284,8 @@ private: required_shared_ptr<uint8_t> m_color0_ram; required_shared_ptr<uint8_t> m_color1_ram; + virtual void machine_start() override; + DECLARE_WRITE8_MEMBER( dma_w ); void visicom_io_map(address_map &map); void visicom_map(address_map &map); @@ -291,9 +295,9 @@ class mpt02_state : public studio2_state { public: mpt02_state(const machine_config &mconfig, device_type type, const char *tag) - : studio2_state(mconfig, type, tag), - m_cti(*this, CDP1864_TAG), - m_color_ram(*this, "color_ram") + : studio2_state(mconfig, type, tag) + , m_cti(*this, CDP1864_TAG) + , m_color_ram(*this, "color_ram") { } void mpt02(machine_config &config); @@ -527,6 +531,12 @@ READ8_MEMBER( studio2_state::cart_c00 ) { return m_cart->read_rom(offset + 0x800 READ8_MEMBER( studio2_state::cart_e00 ) { return m_cart->read_rom(offset + 0xa00); } READ8_MEMBER( mpt02_state::cart_c00 ) { return m_cart->read_rom(offset + 0x800); } +void visicom_state::machine_start() +{ + // register for state saving + save_item(NAME(m_keylatch)); +} + void studio2_state::machine_start() { if (m_cart->exists()) |