summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author mamehaze <140764005+mamehaze@users.noreply.github.com>2026-05-15 16:35:59 +0100
committer GitHub <noreply@github.com>2026-05-15 17:35:59 +0200
commit34cdf8cca4610be7ff25ecdd1a4c64ef12499671 (patch)
treee1e37f966077b73782e3ce7e0561cab9844c5694
parent4aa620d02fbdb47d6005d2e12aefcecae04383e8 (diff)
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]
-rw-r--r--hash/yeno_laptop_cart.xml30
-rw-r--r--src/mame/mame.lst5
-rw-r--r--src/mame/skeleton/yeno_ks56c1660.cpp111
3 files changed, 146 insertions, 0 deletions
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 @@
+<?xml version="1.0"?>
+<!DOCTYPE softwarelist SYSTEM "softwarelist.dtd">
+<!--
+license:CC0-1.0
+-->
+<softwarelist name="yeno_laptop_cart" description="Yeno educational laptop cartridges">
+
+ <software name="wissenst" supported="no">
+ <description>Wissens Tester (Germany)</description>
+ <year>199?</year>
+ <publisher>Yeno</publisher>
+ <part name="cart" interface="yeno_laptop_cart">
+ <dataarea name="rom" size="0x40000">
+ <rom name="27c020.ic1" size="0x40000" crc="20c43741" sha1="cc1dfa301180f89755672d2b74b6013627b85928"/>
+ </dataarea>
+ </part>
+ </software>
+
+ <software name="swissen" supported="no">
+ <description>Super Wissen (Germany)</description>
+ <year>199?</year>
+ <publisher>Yeno</publisher>
+ <part name="cart" interface="yeno_laptop_cart">
+ <dataarea name="rom" size="0x40000">
+ <rom name="Superwissen.ic1" size="0x40000" crc="714b4cbe" sha1="d1f5ce30bb8be73ed4edd9ce613c96a9cf7c39ab"/>
+ </dataarea>
+ </part>
+ </software>
+
+</softwarelist>
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<generic_slot_device> m_cart;
+ required_device<screen_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 )