diff --git a/hash/alphasmart_kapps.xml b/hash/alphasmart_kapps.xml
new file mode 100644
index 00000000000..4d2ebf53765
--- /dev/null
+++ b/hash/alphasmart_kapps.xml
@@ -0,0 +1,482 @@
+
+
+
+
+
+
+ Accelerated Reader (1.3, English (UK))
+ 2012
+ Renaissance Learning, Inc.
+
+
+
+
+
+
+
+
+
+
+
+ Accelerated Reader (1.2, English (UK))
+ 2010
+ Renaissance Learning, Inc.
+
+
+
+
+
+
+
+
+
+
+
+ AlphaQuiz (3.1, English (UK))
+ 2006
+ Renaissance Learning, Inc.
+
+
+
+
+
+
+
+
+
+
+
+ AlphaWord Plus (3.4, English (UK))
+ 2012
+ Renaissance Learning, Inc.
+
+
+
+
+
+
+
+
+
+
+
+ Beamer (1.01, English (UK))
+ 2012
+ Renaissance Learning, Inc.
+
+
+
+
+
+
+
+
+
+
+
+ Calculator (3.02, English (UK))
+ 2012
+ Renaissance Learning, Inc.
+
+
+
+
+
+
+
+
+
+
+
+ Control Panel (1.07, English (UK))
+ 2012
+ Renaissance Learning, Inc.
+
+
+
+
+
+
+
+
+
+
+
+ Control Panel (1.04, English (UK))
+ 2009
+ Renaissance Learning, Inc.
+
+
+
+
+
+
+
+
+
+
+
+ KeyWords (3.6, English (UK))
+ 2012
+ Renaissance Learning, Inc.
+
+
+
+
+
+
+
+
+
+
+
+ KeyWords Wireless (4.2, English (UK))
+ 2012
+ Renaissance Learning, Inc.
+
+
+
+
+
+
+
+
+
+
+
+ MathFacts in a Flash RP (1.3, English (UK))
+ 2012
+ Renaissance Learning, Inc.
+
+
+
+
+
+
+
+
+
+
+
+ MathFacts in a Flash RP (1.1, English (UK))
+ 2010
+ Renaissance Learning, Inc.
+
+
+
+
+
+
+
+
+
+
+
+ MathFacts in a Flash (offline) (1.2, English (UK))
+ 2012
+ Renaissance Learning, Inc.
+
+
+
+
+
+
+
+
+
+
+
+ MathFacts in a Flash (offline) (1.0, English (UK))
+ 2010
+ Renaissance Learning, Inc.
+
+
+
+
+
+
+
+
+
+
+
+ Neo Font - Large (4 lines) (1.0, English (UK))
+ 2012
+ Renaissance Learning, Inc.
+
+
+
+
+
+
+
+
+
+
+
+ Neo Font - Medium (5 lines) (1.0, English (UK))
+ 2012
+ Renaissance Learning, Inc.
+
+
+
+
+
+
+
+
+
+
+
+ Neo Font - Small (6 lines) (1.0, English (UK))
+ 2012
+ Renaissance Learning, Inc.
+
+
+
+
+
+
+
+
+
+
+
+ Neo Font - Very Large (3 lines) (1.0, English (UK))
+ 2012
+ Renaissance Learning, Inc.
+
+
+
+
+
+
+
+
+
+
+
+ Neo Font - Extra Large (2 lines) (1.0, English (UK))
+ 2012
+ Renaissance Learning, Inc.
+
+
+
+
+
+
+
+
+
+
+
+ Responder (1.2, English (UK))
+ 2012
+ Renaissance Learning, Inc.
+
+
+
+
+
+
+
+
+
+
+
+ SpellCheck Large USA (1.03, English (UK))
+ 2012
+ Renaissance Learning, Inc.
+
+
+
+
+
+
+
+
+
+
+
+ SpellCheck Large USA (1.02, English (UK))
+ 2010
+ Renaissance Learning, Inc.
+
+
+
+
+
+
+
+
+
+
+
+ SpellCheck Small USA (1.03, English (UK))
+ 2012
+ Renaissance Learning, Inc.
+
+
+
+
+
+
+
+
+
+
+
+ SpellCheck Small USA (1.02, English (UK))
+ 2010
+ Renaissance Learning, Inc.
+
+
+
+
+
+
+
+
+
+
+
+ SpellCheck Spanish (1.0, Dutch)
+ 2006
+ Renaissance Learning, Inc.
+
+
+
+
+
+
+
+
+
+
+
+ Text2Speech Updater (1.4, English (UK))
+ 2012
+ Renaissance Learning, Inc.
+
+
+
+
+
+
+
+
+
+
+
+ Text2Speech Updater (1.3, English (UK))
+ 2010
+ Renaissance Learning, Inc.
+
+
+
+
+
+
+
+
+
+
+
+ Thesaurus Large USA (1.1, English (UK))
+ 2012
+ Renaissance Learning, Inc.
+
+
+
+
+
+
+
+
+
+
+
+ Thesaurus Large USA (1.0, English (UK))
+ 2005
+ AlphaSmart, LLC
+
+
+
+
+
+
+
+
+
+
+
+ Thesaurus Small USA (1.1, English (UK))
+ 2012
+ Renaissance Learning, Inc.
+
+
+
+
+
+
+
+
+
+
+
+ Thesaurus Small USA (1.0, English (UK))
+ 2005
+ AlphaSmart, LLC
+
+
+
+
+
+
+
+
+
+
+
+ Wireless File Transfer (1.1, English (UK))
+ 2012
+ Renaissance Learning, Inc.
+
+
+
+
+
+
+
+
+
+
+
+ Wireless Updater (2.0, English (UK))
+ 2012
+ Renaissance Learning, Inc.
+
+
+
+
+
+
+
+
+
+
+
+ Wireless Updater (1.3, English (UK))
+ 2008
+ Renaissance Learning, Inc.
+
+
+
+
+
+
+
+
+
+
+
diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua
index d4693d037c6..1d967c2320b 100644
--- a/scripts/target/mame/mess.lua
+++ b/scripts/target/mame/mess.lua
@@ -4366,6 +4366,7 @@ files {
MAME_DIR .. "src/mame/drivers/alesis_qs.cpp",
MAME_DIR .. "src/mame/drivers/alfaskop41xx.cpp",
MAME_DIR .. "src/mame/drivers/alphasma.cpp",
+ MAME_DIR .. "src/mame/drivers/alphasma3k.cpp",
MAME_DIR .. "src/mame/drivers/am1000.cpp",
MAME_DIR .. "src/mame/drivers/ampex.cpp",
MAME_DIR .. "src/mame/drivers/ampex210.cpp",
diff --git a/src/mame/drivers/alphasma3k.cpp b/src/mame/drivers/alphasma3k.cpp
new file mode 100644
index 00000000000..ae26c4efe73
--- /dev/null
+++ b/src/mame/drivers/alphasma3k.cpp
@@ -0,0 +1,94 @@
+// license:BSD-3-Clause
+// copyright-holders:
+/************************************************************************************
+
+ AlphaSmart 3000
+
+AlphaSmart 3000 PCB:
+ ___________ _____________
+ / :: |_______________________________________________________________/ \
+ _______/ :: :: _________ _________ ________ \_____________
+ ||RS232| :: 28F008B3 |________| |________| PCB REV 2.8 |_______| BATT | USB |
+ ||_____| :: 74HC574 CR2032 XTAL |_____|
+ |__ HY62U8200 HC30M A120I0E |
+ __| SP3223ECA |
+ _|_ DragonBall EZ PDIUSBD11D |
+|___|<-Power MC68EZ328PU16V :) _______|
+ | Rise and Shout |
+ | XTAL the AlphaSmart's |
+ |__ __ _____ SW HC132A Out!!! |
+ | |__| / | HC132A HC74A on/off ____________________|
+ |________/ |_______________________________________________________________/
+
+
+ TODO:
+ - Everything
+
+*************************************************************************************/
+
+#include "emu.h"
+#include "cpu/m68000/m68000.h"
+#include "machine/mc68328.h"
+#include "machine/ram.h"
+#include "video/hd44780.h"
+#include "emupal.h"
+#include "screen.h"
+#include "softlist_dev.h"
+
+namespace
+{
+
+class alphasmart3k_state : public driver_device
+{
+public:
+ alphasmart3k_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag)
+ , m_maincpu(*this, "maincpu")
+ , m_lcdc0(*this, "ks0066_0")
+ , m_lcdc1(*this, "ks0066_1")
+ , m_ram(*this, RAM_TAG)
+ {
+ }
+
+ void alphasmart3k(machine_config &config);
+
+protected:
+ required_device m_maincpu;
+ required_device m_lcdc0;
+ required_device m_lcdc1;
+ required_device m_ram;
+
+ std::unique_ptr m_tmp_bitmap;
+};
+
+static INPUT_PORTS_START( alphasmart3k )
+INPUT_PORTS_END
+
+void alphasmart3k_state::alphasmart3k(machine_config &config)
+{
+ // Basic machine hardware
+ MC68328(config, m_maincpu, 16'000'000); // MC68EZ328PU16V, clock unverified
+
+ // Values from AlphaSmart 2000, not confirmed for AlphaSmart 3000
+ // AlphaSmart 3000 uses a Data Image CM4040 LCD display
+ KS0066_F05(config, m_lcdc0, 0);
+ m_lcdc0->set_lcd_size(2, 40);
+ KS0066_F05(config, m_lcdc1, 0);
+ m_lcdc1->set_lcd_size(2, 40);
+
+ RAM(config, RAM_TAG).set_default_size("256K");
+
+ SOFTWARE_LIST(config, "kapps_list").set_original("alphasmart_kapps");
+}
+
+// ROM definitions
+
+ROM_START( asma3k )
+ ROM_REGION( 0x100000, "maincpu", 0 )
+ ROM_LOAD( "28f008b3.u1", 0x000000, 0x100000, CRC(73a24834) SHA1(a47e6a6d286feaba4e671a6373632222113f9276) )
+ROM_END
+
+} // anonymous namespace
+
+// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
+COMP( 2000, asma3k, 0, 0, alphasmart3k, alphasmart3k, alphasmart3k_state, empty_init, "AlphaSmart, Inc.", "AlphaSmart 3000", MACHINE_IS_SKELETON )
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index 119fcf27def..6faee0f3721 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -1177,8 +1177,9 @@ ajuno2 //
mks50 //
@source:alphasma.cpp
-asma2k //
-asmapro //
+asma2k // (c) 1997 Intelligent Peripheral Devices
+asma3k // (c) 2000 AlphaSmart, Inc.
+asmapro // (c) 1995 Intelligent Peripheral Devices
@source:alphatan.cpp
alphatan // 1981 AlphaTantel
diff --git a/src/mame/mess.flt b/src/mame/mess.flt
index 553e4000cc0..022d3008603 100644
--- a/src/mame/mess.flt
+++ b/src/mame/mess.flt
@@ -43,6 +43,7 @@ alesis_qs.cpp
alfaskop41xx.cpp
alphajuno.cpp
alphasma.cpp
+alphasma3k.cpp
alphatan.cpp
alphatpc16.cpp
alphatpx.cpp