diff options
author | Ivan Vangelista <mesgnet@yahoo.it> | 2020-11-10 19:39:41 +0100 |
---|---|---|
committer | Ivan Vangelista <mesgnet@yahoo.it> | 2020-11-10 19:39:41 +0100 |
commit | 055249b50c0e69da4624b84338663868226b3d09 (patch) | |
tree | 5354cb6bd5a705fabb6b411cc7fde78af9753610 | |
parent | 4a2e49d2c7ec9685f003ae12fd9b86c8b10addeb (diff) |
New machines marked as NOT_WORKING
----------------------------------
IQ-7000 [Sean Riddle, Recreativas.org]
New NOT_WORKING software list additions
---------------------------------------
3 Dimensional Spreadsheet (IQ-8B01) [Recreativas.org]
8-Language Translator (IQ-703A) [Sean Riddle, Recreativas.org]
Time Expense Manager (IQ-701A) [Recreativas.org]
-rw-r--r-- | hash/wizard_cart.xml | 51 | ||||
-rw-r--r-- | scripts/target/mame/mess.lua | 1 | ||||
-rw-r--r-- | src/mame/drivers/wizard.cpp | 134 | ||||
-rw-r--r-- | src/mame/mame.lst | 3 | ||||
-rw-r--r-- | src/mame/mess.flt | 1 |
5 files changed, 190 insertions, 0 deletions
diff --git a/hash/wizard_cart.xml b/hash/wizard_cart.xml new file mode 100644 index 00000000000..1187f9b3a79 --- /dev/null +++ b/hash/wizard_cart.xml @@ -0,0 +1,51 @@ +<?xml version="1.0"?> +<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd"> +<!-- +license:CC0 +--> + +<softwarelist name="wizard_cart" description="Sharp Wizard series cartridges"> + + <software name="3dssheet" supported="no"> + <description>3 Dimensional Spreadsheet (IQ-8B01)</description> + <year>1990</year> + <publisher>PCSG</publisher> + <part name="cart" interface="wizard_cart"> + <dataarea name="rom" size="0x20000"> + <rom name="3dssheet.bin" size="0x20000" crc="c0440ad2" sha1="f7bb4eb99755ff0cc2496724e55d7be70552069a" /> + </dataarea> + <dataarea name="sram" size="0x10000"> + <rom name="3dssheet_sram.bin" size="0x10000" crc="25920e43" sha1="8581044402aca56da9147f13abd8a58af861c473" /> + </dataarea> + </part> + </software> + + <software name="8ltransl" supported="no"> + <description>8-Language Translator (IQ-703A)</description> + <year>1988</year> + <publisher>Sharp Corporation</publisher> + <part name="cart" interface="wizard_cart"> + <dataarea name="rom" size="0x40000"> + <rom name="8ltransl.bin" size="0x40000" crc="eb755572" sha1="bf2a43c30cdee042824f1ffb5063e23c183c5c29" /> + </dataarea> + <dataarea name="sram" size="0x10000"> + <rom name="8ltransl_sram.bin" size="0x10000" status="nodump"/> + </dataarea> + </part> + </software> + + <software name="timeexpm" supported="no"> + <description>Time Expense Manager (IQ-701A)</description> + <year>1988</year> + <publisher>Traveling Software, Inc.</publisher> + <part name="cart" interface="wizard_cart"> + <dataarea name="rom" size="0x10000"> + <rom name="timeexpm.bin" size="0x10000" crc="16d8d9e3" sha1="37eb163e86a0b57fc87c68d09e77020b26b217e5" /> + </dataarea> + <dataarea name="sram" size="0x8000"> + <rom name="timeexpm_sram.bin" size="0x8000" crc="f82cdc90" sha1="b0a2626c4d18a1b255548e0b1a61265b0aaa9656" status="baddump"/> + </dataarea> + </part> + </software> + +</softwarelist> diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua index ba5dd78e47b..93fcb0a4e7a 100644 --- a/scripts/target/mame/mess.lua +++ b/scripts/target/mame/mess.lua @@ -3590,6 +3590,7 @@ files { MAME_DIR .. "src/mame/video/mz80.cpp", MAME_DIR .. "src/mame/machine/mz80.cpp", MAME_DIR .. "src/mame/drivers/mz2000.cpp", + MAME_DIR .. "src/mame/drivers/wizard.cpp", MAME_DIR .. "src/mame/drivers/x1.cpp", MAME_DIR .. "src/mame/includes/x1.h", MAME_DIR .. "src/mame/machine/x1.cpp", diff --git a/src/mame/drivers/wizard.cpp b/src/mame/drivers/wizard.cpp new file mode 100644 index 00000000000..6612ad24c44 --- /dev/null +++ b/src/mame/drivers/wizard.cpp @@ -0,0 +1,134 @@ +// license:BSD-3-Clause +// copyright-holders: + +/* +Sharp Wizard series of electronic organizers + +Currently only the IQ-7000 is dumped (sold in the US as OZ-7000) + +Other known undumped models are: +IQ-7100M +OZ-7200 WIZARD +IQ-7300M +IQ-7520M +IQ-7700M +IQ-7720M +IQ-8100M +IQ-8200 +IQ-8300M +IQ-8500M +IQ-8900G +IQ-8920G +OZ-9520 WIZARD +IQ-9000G +IQ-9200G + +Sharp followed up with the Zaurus series (see drivers/zaurus.cpp) +*/ + +#include "emu.h" + +#include "bus/generic/slot.h" +#include "bus/generic/carts.h" +#include "cpu/arm7/arm7.h" // wrong, needs CPU core +#include "cpu/arm7/arm7core.h" + +#include "screen.h" +#include "softlist.h" +#include "speaker.h" +#include "screen.h" + + +namespace { + +class wizard_state : public driver_device +{ +public: + wizard_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag) + , m_maincpu(*this, "maincpu") + , m_cart(*this, "cartslot") + , m_cart_region(nullptr) + { } + + void iq7000(machine_config &config); + +protected: + virtual void machine_start() override; + virtual void machine_reset() override; + +private: + void main_map(address_map &map); + + uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); + + DECLARE_DEVICE_IMAGE_LOAD_MEMBER(cart_load); + + required_device<cpu_device> m_maincpu; + required_device<generic_slot_device> m_cart; + memory_region *m_cart_region; +}; + + +void wizard_state::machine_start() +{ + // if there's a cart, override the standard mapping + if (m_cart && m_cart->exists()) + { + m_cart_region = memregion(std::string(m_cart->tag()) + GENERIC_ROM_REGION_TAG); + } +} + +void wizard_state::machine_reset() +{ +} + +DEVICE_IMAGE_LOAD_MEMBER(wizard_state::cart_load) +{ + uint32_t size = m_cart->common_get_size("rom"); + + m_cart->rom_alloc(size, GENERIC_ROM8_WIDTH, ENDIANNESS_LITTLE); + m_cart->common_load_rom(m_cart->get_rom_base(), size, "rom"); + + return image_init_result::PASS; +} + +static INPUT_PORTS_START( iq7000 ) +INPUT_PORTS_END + +uint32_t wizard_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) +{ + return 0; +} + +void wizard_state::main_map(address_map &map) +{ +} + +void wizard_state::iq7000(machine_config &config) +{ + ARM9(config, m_maincpu, 240000000); // actually Sharp SC62015B02, currently unemulated + m_maincpu->set_addrmap(AS_PROGRAM, &wizard_state::main_map); + + screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_LCD)); // all wrong, TBD + screen.set_refresh_hz(50); + screen.set_screen_update(FUNC(wizard_state::screen_update)); + screen.set_size(96, 64); + screen.set_visarea_full(); + + GENERIC_CARTSLOT(config, m_cart, generic_plain_slot, "wizard_cart"); + m_cart->set_width(GENERIC_ROM16_WIDTH); + m_cart->set_device_load(FUNC(wizard_state::cart_load)); + + SOFTWARE_LIST(config, "cart_list").set_original("wizard_cart"); +} + +ROM_START( iq7000 ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD( "iq7000.bin", 0x00000, 0x10000, CRC(04ba80ca) SHA1(fe25e7c892b1e57641ff75bcd703882e28627fda) ) +ROM_END + +} // Anonymous namespace + + +CONS( 2015, iq7000, 0, 0, iq7000, iq7000, wizard_state, empty_init, "Sharp", "IQ-7000", MACHINE_IS_SKELETON ) diff --git a/src/mame/mame.lst b/src/mame/mame.lst index d5b000e3701..ae3fdf6b3a7 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -42158,6 +42158,9 @@ wiz // (c) 1985 Seibu Kaihatsu wizt // (c) 1985 Taito Corporation wizta // (c) 1985 Taito Corporation +@source:wizard.cpp +iq7000 // + @source:wmg.cpp wmg // Williams 6in1 Multigame, Clay Cowgill diff --git a/src/mame/mess.flt b/src/mame/mess.flt index 17981558ed3..a8f97e43210 100644 --- a/src/mame/mess.flt +++ b/src/mame/mess.flt @@ -1110,6 +1110,7 @@ vtech2.cpp vtech_eu3a12.cpp wangpc.cpp wicat.cpp +wizard.cpp wrinkles.cpp wswan.cpp wxstar4000.cpp |