From 34cdf8cca4610be7ff25ecdd1a4c64ef12499671 Mon Sep 17 00:00:00 2001 From: mamehaze <140764005+mamehaze@users.noreply.github.com> Date: Fri, 15 May 2026 16:35:59 +0100 Subject: new NOT WORKING systems (3 Yeno educational laptops, probably missing internal ROM) (#15339) New systems marked not working ------------------------------ Mister X2 (Germany) [Team Europe] New clones marked not working ----------------------------- Intellectus 2 (France) [Team Europe] Computer Kid Personal (Italy) [Team Europe] New software list items marked not working ------------------------------------------ yeno_laptop_cart.xml: Wissens Tester (Germany) [Team Europe] Super Wissen (Germany) [Team Europe] --- hash/yeno_laptop_cart.xml | 30 ++++++++++ src/mame/mame.lst | 5 ++ src/mame/skeleton/yeno_ks56c1660.cpp | 111 +++++++++++++++++++++++++++++++++++ 3 files changed, 146 insertions(+) create mode 100644 hash/yeno_laptop_cart.xml create mode 100644 src/mame/skeleton/yeno_ks56c1660.cpp diff --git a/hash/yeno_laptop_cart.xml b/hash/yeno_laptop_cart.xml new file mode 100644 index 00000000000..d68f0c3d9a9 --- /dev/null +++ b/hash/yeno_laptop_cart.xml @@ -0,0 +1,30 @@ + + + + + + + Wissens Tester (Germany) + 199? + Yeno + + + + + + + + + Super Wissen (Germany) + 199? + Yeno + + + + + + + + diff --git a/src/mame/mame.lst b/src/mame/mame.lst index cb2e0657c89..7475021cbcb 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -44813,6 +44813,11 @@ hongmxy @source:skeleton/xor100.cpp xor100 +@source:skeleton/yeno_ks56c1660.cpp +ckidpers +intelct2 +misterx2 + @source:skeleton/zeebo_qualcomm_adreno130.cpp zeebo diff --git a/src/mame/skeleton/yeno_ks56c1660.cpp b/src/mame/skeleton/yeno_ks56c1660.cpp new file mode 100644 index 00000000000..0b8250da1ce --- /dev/null +++ b/src/mame/skeleton/yeno_ks56c1660.cpp @@ -0,0 +1,111 @@ +// license:BSD-3-Clause +// copyright-holders:David Haywood + +// Yeno educational laptops +// +// The CPU is marked KS56C1660-12 +// ROM is a glob near the CPU but appears to contain only data(?) +// +// The only reference to KS56C1660 appears to be a Samsung manual +// https://bitsavers.trailing-edge.com/components/samsung/_Databooks/1990_Samsung_Semiconductor_Product_Guide.pdf +// which suggests this is a 4-bit MCU with 16256 bytes of internal ROM + +#include "emu.h" + +#include "bus/generic/carts.h" +#include "bus/generic/slot.h" + +#include "screen.h" +#include "softlist_dev.h" + +namespace { + +class yeno_ks56c1660_state : public driver_device +{ +public: + yeno_ks56c1660_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag) + , m_cart(*this, "cartslot") + , m_screen(*this, "screen") + { + } + + void yeno(machine_config &config); + +protected: + +private: + DECLARE_DEVICE_IMAGE_LOAD_MEMBER(cart_load); + + uint32_t screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); + + required_device m_cart; + required_device m_screen; +}; + +uint32_t yeno_ks56c1660_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) +{ + return 0; +} + +static INPUT_PORTS_START(yeno) +INPUT_PORTS_END + +DEVICE_IMAGE_LOAD_MEMBER(yeno_ks56c1660_state::cart_load) +{ + uint32_t const 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 std::make_pair(std::error_condition(), std::string()); +} + +void yeno_ks56c1660_state::yeno(machine_config &config) +{ + + // YENO 9205 KS56C1660-12 + + // monochrome LCD display, resolution unknown + SCREEN(config, m_screen, SCREEN_TYPE_LCD); + m_screen->set_refresh_hz(50); + m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500)); /* not accurate */ + m_screen->set_screen_update(FUNC(yeno_ks56c1660_state::screen_update)); + m_screen->set_size(120, 18); + m_screen->set_visarea_full(); + + GENERIC_CARTSLOT(config, m_cart, generic_linear_slot, "yeno_laptop_cart"); + m_cart->set_device_load(FUNC(yeno_ks56c1660_state::cart_load)); + + SOFTWARE_LIST(config, "cart_list").set_original("yeno_laptop_cart"); +} + +ROM_START(misterx2) + ROM_REGION(0x200000, "maincpu", 0) + ROM_LOAD("ks56c1660", 0x0000, 0x4000, NO_DUMP ) + + ROM_REGION(0x40000, "data", 0) + ROM_LOAD("misterx2ger.bin", 0x00000, 0x40000, CRC(b6b23552) SHA1(1c1b345de3b12a468c47ea8aa2281156eb21f12b) ) +ROM_END + +ROM_START(intelct2) + ROM_REGION(0x200000, "maincpu", 0) + ROM_LOAD("ks56c1660", 0x0000, 0x4000, NO_DUMP ) + + ROM_REGION(0x40000, "data", 0) + ROM_LOAD("intellectus2.bin", 0x00000, 0x40000, CRC(baf94d1a) SHA1(3f71697f21a507856410c831c8348bdc6f45ac90) ) +ROM_END + +ROM_START(ckidpers) + ROM_REGION(0x200000, "maincpu", 0) + ROM_LOAD("ks56c1660", 0x0000, 0x4000, NO_DUMP ) + + ROM_REGION(0x40000, "data", 0) + ROM_LOAD("computerkidpersonal.bin", 0x00000, 0x40000, CRC(7a2a0ee7) SHA1(61fdd82a0cbd6bace0742cb9d9c25d372827b452) ) +ROM_END + +} // anonymous namespace + +CONS( 199?, misterx2, 0, 0, yeno, yeno, yeno_ks56c1660_state, empty_init, "Yeno", "Mister X2 (Germany)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 199?, intelct2, misterx2, 0, yeno, yeno, yeno_ks56c1660_state, empty_init, "Yeno", "Intellectus 2 (France)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) +CONS( 199?, ckidpers, misterx2, 0, yeno, yeno, yeno_ks56c1660_state, empty_init, "Yeno / Clementoni", "Computer Kid Personal (Italy)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING ) -- cgit v1.2.3