From 25dd325c93ab4e5117ed2a7585e7b5406399041d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felipe=20Corr=C3=AAa=20da=20Silva=20Sanches?= Date: Sat, 15 Aug 2015 19:57:07 +0200 Subject: [PATCH] initial skeleton driver for Canon S-80 typowriter --- scripts/target/mame/mess.lua | 7 +++-- src/mame/mess.lst | 1 + src/mess/drivers/canon_s80.c | 54 ++++++++++++++++++++++++++++++++++++ 3 files changed, 59 insertions(+), 3 deletions(-) create mode 100644 src/mess/drivers/canon_s80.c diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua index 421c3f9549f..29f03266dd2 100644 --- a/scripts/target/mame/mess.lua +++ b/scripts/target/mame/mess.lua @@ -1232,9 +1232,10 @@ files { } createMESSProjects(_target, _subtarget, "canon") -files { - MAME_DIR .. "src/mess/drivers/cat.c", - MAME_DIR .. "src/mess/drivers/x07.c", +files { + MAME_DIR .. "src/mess/drivers/cat.c", + MAME_DIR .. "src/mess/drivers/x07.c", + MAME_DIR .. "src/mess/drivers/canon_s80.c", } createMESSProjects(_target, _subtarget, "cantab") diff --git a/src/mame/mess.lst b/src/mame/mess.lst index 27fbc4cd35d..995cc94812c 100644 --- a/src/mame/mess.lst +++ b/src/mame/mess.lst @@ -1341,6 +1341,7 @@ canonv20e canonv20f canonv20g canonv20s +canons80 mx10 mx101 mx15 diff --git a/src/mess/drivers/canon_s80.c b/src/mess/drivers/canon_s80.c new file mode 100644 index 00000000000..857e2bfa053 --- /dev/null +++ b/src/mess/drivers/canon_s80.c @@ -0,0 +1,54 @@ +// license:GPL2+ +// copyright-holders:FelipeSanches +/* + * canon_s80.c + * + * CANON S-80 electronic typewriter + * + * skeleton driver by: + * Felipe Correa da Silva Sanches + * + * known issues: + * - memory-map is uncertain + * - maincpu clock is guessed + * - still need to hookup the Hitachi HD44780 LCD Controller + * - still lacks description of the keyboard inputs + * - as well as a "paper" device to plot the output of the dot matrix print head + */ + +#include "emu.h" +#include "cpu/m6800/m6800.h" +//#include "video/hd44780.h" + +class canons80_state : public driver_device +{ +public: + canons80_state(const machine_config &mconfig, device_type type, const char *tag) + : driver_device(mconfig, type, tag) + { } + + DECLARE_DRIVER_INIT(canons80); +}; + + +static ADDRESS_MAP_START(canons80_map, AS_PROGRAM, 8, canons80_state ) + AM_RANGE(0x0000, 0x7fff) AM_RAM + AM_RANGE(0x8000, 0xffff) AM_ROM +ADDRESS_MAP_END + +static MACHINE_CONFIG_START( canons80, canons80_state ) + /* basic machine hardware */ + MCFG_CPU_ADD("maincpu", HD6301, 5000000) /* hd63a01xop 5 MHz guessed: TODO: check on PCB */ + MCFG_CPU_PROGRAM_MAP(canons80_map) +MACHINE_CONFIG_END + +DRIVER_INIT_MEMBER(canons80_state, canons80) +{} + +ROM_START( canons80 ) + ROM_REGION( 0x10000, "maincpu", 0 ) /* 6800 code */ + ROM_LOAD( "canon_8735kx_nh4-0029_064.ic6", 0x8000, 0x8000, CRC(b6cd2ff7) SHA1(e47a136300c826e480fac1be7fc090523078a2a6) ) +ROM_END + +/* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */ +COMP( 1988, canons80, 0, 0, canons80, 0, canons80_state, canons80, "Canon", "Canon S-80 electronic typewriter", MACHINE_NOT_WORKING | MACHINE_NO_SOUND)