From fc68370aa5c04ac0d0f0e9982e0b79a2d734980d Mon Sep 17 00:00:00 2001 From: hap Date: Tue, 5 May 2015 15:54:07 +0200 Subject: added E0C6200 cpu skeleton. also commented out some cpu cores from mame.lua, not needed anymore for unidasm compile due to this check: if (CPUS["MYCPU"]~=null or _OPTIONS["with-tools"]) then --- scripts/src/cpu.lua | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'scripts/src/cpu.lua') diff --git a/scripts/src/cpu.lua b/scripts/src/cpu.lua index 515c55a222c..cb80c5403f4 100644 --- a/scripts/src/cpu.lua +++ b/scripts/src/cpu.lua @@ -359,6 +359,22 @@ if (CPUS["ESRIP"]~=null or _OPTIONS["with-tools"]) then table.insert(disasm_files , MAME_DIR .. "src/emu/cpu/esrip/esripdsm.c") end +-------------------------------------------------- +-- Seiko Epson E0C6200 series +---@src/emu/cpu/e0c6200/e0c6200.h,CPUS += E0C6200 +-------------------------------------------------- + +if (CPUS["E0C6200"]~=null) then + files { + MAME_DIR .. "src/emu/cpu/e0c6200/e0c6200.c", + MAME_DIR .. "src/emu/cpu/e0c6200/e0c6200.h", + } +end + +if (CPUS["E0C6200"]~=null or _OPTIONS["with-tools"]) then + table.insert(disasm_files , MAME_DIR .. "src/emu/cpu/e0c6200/e0c6200d.c") +end + -------------------------------------------------- -- RCA COSMAC ---@src/emu/cpu/cosmac/cosmac.h,CPUS += COSMAC -- cgit v1.2.3 From ca37d40f6951f01a32bf644925db650f1455ccac Mon Sep 17 00:00:00 2001 From: Miodrag Milanovic Date: Sat, 9 May 2015 16:05:30 +0200 Subject: Removed comments and added generic license for whole team on top (nw) --- scripts/genie.lua | 3 +++ scripts/src/3rdparty.lua | 3 +++ scripts/src/bus.lua | 6 +++--- scripts/src/cpu.lua | 6 +++--- scripts/src/emu.lua | 3 +++ scripts/src/lib.lua | 3 +++ scripts/src/machine.lua | 6 +++--- scripts/src/main.lua | 3 +++ scripts/src/netlist.lua | 3 +++ scripts/src/osd/modules.lua | 3 +++ scripts/src/osd/osdmini.lua | 3 +++ scripts/src/osd/osdmini_cfg.lua | 3 +++ scripts/src/osd/sdl.lua | 3 +++ scripts/src/osd/sdl_cfg.lua | 3 +++ scripts/src/osd/windows.lua | 3 +++ scripts/src/osd/windows_cfg.lua | 3 +++ scripts/src/sound.lua | 6 +++--- scripts/src/tools.lua | 3 +++ scripts/src/video.lua | 6 +++--- scripts/target/ldplayer/ldplayer.lua | 6 +++--- scripts/target/mame/arcade.lua | 3 +++ scripts/target/mame/dummy.lua | 3 +++ scripts/target/mame/mame.lua | 3 +++ scripts/target/mame/mess.lua | 3 +++ scripts/target/mame/tiny.lua | 3 +++ 25 files changed, 75 insertions(+), 18 deletions(-) (limited to 'scripts/src/cpu.lua') diff --git a/scripts/genie.lua b/scripts/genie.lua index fd9d14d0d4e..7936a1486f8 100644 --- a/scripts/genie.lua +++ b/scripts/genie.lua @@ -1,3 +1,6 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + premake.check_paths = true premake.make.override = { "TARGET" } MAME_DIR = (path.getabsolute("..") .. "/") diff --git a/scripts/src/3rdparty.lua b/scripts/src/3rdparty.lua index 39bc6b65e74..23773651346 100644 --- a/scripts/src/3rdparty.lua +++ b/scripts/src/3rdparty.lua @@ -1,3 +1,6 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + -------------------------------------------------- -- expat library objects -------------------------------------------------- diff --git a/scripts/src/bus.lua b/scripts/src/bus.lua index 5c9d178ebfe..fb325a6376b 100644 --- a/scripts/src/bus.lua +++ b/scripts/src/bus.lua @@ -1,12 +1,12 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + --------------------------------------------------------------------------- -- -- bus.lua -- -- Rules for building bus cores -- --- Copyright Nicola Salmoria and the MAME Team. --- Visit http://mamedev.org for licensing and usage restrictions. --- --------------------------------------------------------------------------- ------------------------------------------------- diff --git a/scripts/src/cpu.lua b/scripts/src/cpu.lua index cb80c5403f4..f28dcf53253 100644 --- a/scripts/src/cpu.lua +++ b/scripts/src/cpu.lua @@ -1,12 +1,12 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + --------------------------------------------------------------------------- -- -- cpu.lua -- -- Rules for building CPU cores -- --- Copyright Nicola Salmoria and the MAME Team. --- Visit http://mamedev.org for licensing and usage restrictions. --- --------------------------------------------------------------------------- -------------------------------------------------- diff --git a/scripts/src/emu.lua b/scripts/src/emu.lua index 60eaa29b5e9..ebe9e894f54 100644 --- a/scripts/src/emu.lua +++ b/scripts/src/emu.lua @@ -1,3 +1,6 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + project ("emu") uuid ("e6fa15e4-a354-4526-acef-13c8e80fcacf") kind "StaticLib" diff --git a/scripts/src/lib.lua b/scripts/src/lib.lua index 147099a07df..743dd2c1905 100644 --- a/scripts/src/lib.lua +++ b/scripts/src/lib.lua @@ -1,3 +1,6 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + project "utils" uuid "22489ad0-4cb2-4d91-ad81-24b0d80ca30a" kind "StaticLib" diff --git a/scripts/src/machine.lua b/scripts/src/machine.lua index e9691eb19b2..4324662ffd3 100644 --- a/scripts/src/machine.lua +++ b/scripts/src/machine.lua @@ -1,12 +1,12 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + --------------------------------------------------------------------------- -- -- machine.lua -- -- Rules for building machine cores -- --- Copyright Nicola Salmoria and the MAME Team. --- Visit http://mamedev.org for licensing and usage restrictions. --- ---------------------------------------------------------------------------- diff --git a/scripts/src/main.lua b/scripts/src/main.lua index 4c4b811edae..375c24ae0a2 100644 --- a/scripts/src/main.lua +++ b/scripts/src/main.lua @@ -1,3 +1,6 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + function mainProject(_target, _subtarget) if (_target == _subtarget) then project (_target) diff --git a/scripts/src/netlist.lua b/scripts/src/netlist.lua index 1670ebb9ba6..3c0ded1383e 100644 --- a/scripts/src/netlist.lua +++ b/scripts/src/netlist.lua @@ -1,3 +1,6 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + files { MAME_DIR .. "src/emu/netlist/nl_config.h", MAME_DIR .. "src/emu/netlist/nl_dice_compat.h", diff --git a/scripts/src/osd/modules.lua b/scripts/src/osd/modules.lua index 9bfdfb201c1..bf6897a2585 100644 --- a/scripts/src/osd/modules.lua +++ b/scripts/src/osd/modules.lua @@ -1,3 +1,6 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + function string.starts(String,Start) return string.sub(String,1,string.len(Start))==Start end diff --git a/scripts/src/osd/osdmini.lua b/scripts/src/osd/osdmini.lua index a4561121b6c..52b02c5f32c 100644 --- a/scripts/src/osd/osdmini.lua +++ b/scripts/src/osd/osdmini.lua @@ -1,3 +1,6 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + function maintargetosdoptions(_target) end diff --git a/scripts/src/osd/osdmini_cfg.lua b/scripts/src/osd/osdmini_cfg.lua index 7b63824a3f3..aa6f64113f2 100644 --- a/scripts/src/osd/osdmini_cfg.lua +++ b/scripts/src/osd/osdmini_cfg.lua @@ -1,3 +1,6 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + defines { "OSD_MINI", "USE_QTDEBUG", diff --git a/scripts/src/osd/sdl.lua b/scripts/src/osd/sdl.lua index 6360e79a89e..120a07cb0ec 100644 --- a/scripts/src/osd/sdl.lua +++ b/scripts/src/osd/sdl.lua @@ -1,3 +1,6 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + dofile("modules.lua") diff --git a/scripts/src/osd/sdl_cfg.lua b/scripts/src/osd/sdl_cfg.lua index 36418f008f3..a26d80f197b 100644 --- a/scripts/src/osd/sdl_cfg.lua +++ b/scripts/src/osd/sdl_cfg.lua @@ -1,3 +1,6 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + forcedincludes { MAME_DIR .. "src/osd/sdl/sdlprefix.h" } diff --git a/scripts/src/osd/windows.lua b/scripts/src/osd/windows.lua index d8636a2e3b1..fadfdd8da22 100644 --- a/scripts/src/osd/windows.lua +++ b/scripts/src/osd/windows.lua @@ -1,3 +1,6 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + dofile("modules.lua") diff --git a/scripts/src/osd/windows_cfg.lua b/scripts/src/osd/windows_cfg.lua index 94c1271ae1a..bff1d436d3e 100644 --- a/scripts/src/osd/windows_cfg.lua +++ b/scripts/src/osd/windows_cfg.lua @@ -1,3 +1,6 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + defines { "OSD_WINDOWS", "_WIN32_WINNT=0x0501", diff --git a/scripts/src/sound.lua b/scripts/src/sound.lua index 29af1f4db00..3ddb7e9bd13 100644 --- a/scripts/src/sound.lua +++ b/scripts/src/sound.lua @@ -1,12 +1,12 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + --------------------------------------------------------------------------- -- -- sound.lua -- -- Rules for building sound cores -- --- Copyright Nicola Salmoria and the MAME Team. --- Visit http://mamedev.org for licensing and usage restrictions. --- ---------------------------------------------------------------------------- diff --git a/scripts/src/tools.lua b/scripts/src/tools.lua index b3cba16b310..0c1cbc3075e 100644 --- a/scripts/src/tools.lua +++ b/scripts/src/tools.lua @@ -1,3 +1,6 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + -------------------------------------------------- -- romcmp -------------------------------------------------- diff --git a/scripts/src/video.lua b/scripts/src/video.lua index 08c5539a4a8..107def93f61 100644 --- a/scripts/src/video.lua +++ b/scripts/src/video.lua @@ -1,12 +1,12 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + --------------------------------------------------------------------------- -- -- video.lua -- -- Rules for building video cores -- --- Copyright Nicola Salmoria and the MAME Team. --- Visit http://mamedev.org for licensing and usage restrictions. --- --------------------------------------------------------------------------- -------------------------------------------------- diff --git a/scripts/target/ldplayer/ldplayer.lua b/scripts/target/ldplayer/ldplayer.lua index 6016debe8fd..3660b87cba9 100644 --- a/scripts/target/ldplayer/ldplayer.lua +++ b/scripts/target/ldplayer/ldplayer.lua @@ -1,12 +1,12 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + --------------------------------------------------------------------------- -- -- ldplayer.lua -- -- Small makefile to build a standalone laserdisc player -- --- Copyright Nicola Salmoria and the MAME Team. --- Visit http://mamedev.org for licensing and usage restrictions. --- --------------------------------------------------------------------------- -------------------------------------------------- diff --git a/scripts/target/mame/arcade.lua b/scripts/target/mame/arcade.lua index f96db8d4828..b5e5ec11e20 100644 --- a/scripts/target/mame/arcade.lua +++ b/scripts/target/mame/arcade.lua @@ -1,3 +1,6 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + --------------------------------------------------------------------------- -- -- mame.lua diff --git a/scripts/target/mame/dummy.lua b/scripts/target/mame/dummy.lua index adcd722484f..bd207bf41c8 100644 --- a/scripts/target/mame/dummy.lua +++ b/scripts/target/mame/dummy.lua @@ -1,3 +1,6 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + --------------------------------------------------------------------------- -- -- dummy.lua diff --git a/scripts/target/mame/mame.lua b/scripts/target/mame/mame.lua index 8d0cf1603b9..e090bac20cb 100644 --- a/scripts/target/mame/mame.lua +++ b/scripts/target/mame/mame.lua @@ -1,3 +1,6 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + --------------------------------------------------------------------------- -- -- mame.lua diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua index 4b8bc5e258e..3a995c66d3f 100644 --- a/scripts/target/mame/mess.lua +++ b/scripts/target/mame/mess.lua @@ -1,3 +1,6 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + --------------------------------------------------------------------------- -- -- mess.lua diff --git a/scripts/target/mame/tiny.lua b/scripts/target/mame/tiny.lua index e11d95c40d1..b408005854c 100644 --- a/scripts/target/mame/tiny.lua +++ b/scripts/target/mame/tiny.lua @@ -1,3 +1,6 @@ +-- license:BSD-3-Clause +-- copyright-holders:MAMEdev Team + --------------------------------------------------------------------------- -- -- tiny.lua -- cgit v1.2.3 From a9fa89ef41d47753023c2983ea130986f3c0f56c Mon Sep 17 00:00:00 2001 From: hap Date: Sat, 9 May 2015 19:47:27 +0200 Subject: moved E0C6S46 to its own file --- scripts/src/cpu.lua | 2 ++ src/emu/cpu/e0c6200/e0c6200.c | 26 +++++-------------------- src/emu/cpu/e0c6200/e0c6200.h | 16 +++------------ src/emu/cpu/e0c6200/e0c6s46.c | 45 +++++++++++++++++++++++++++++++++++++++++++ src/emu/cpu/e0c6200/e0c6s46.h | 29 ++++++++++++++++++++++++++++ 5 files changed, 84 insertions(+), 34 deletions(-) create mode 100644 src/emu/cpu/e0c6200/e0c6s46.c create mode 100644 src/emu/cpu/e0c6200/e0c6s46.h (limited to 'scripts/src/cpu.lua') diff --git a/scripts/src/cpu.lua b/scripts/src/cpu.lua index f28dcf53253..88c12563126 100644 --- a/scripts/src/cpu.lua +++ b/scripts/src/cpu.lua @@ -368,6 +368,8 @@ if (CPUS["E0C6200"]~=null) then files { MAME_DIR .. "src/emu/cpu/e0c6200/e0c6200.c", MAME_DIR .. "src/emu/cpu/e0c6200/e0c6200.h", + MAME_DIR .. "src/emu/cpu/e0c6200/e0c6s46.c", + MAME_DIR .. "src/emu/cpu/e0c6200/e0c6s46.h", } end diff --git a/src/emu/cpu/e0c6200/e0c6200.c b/src/emu/cpu/e0c6200/e0c6200.c index 589a66e2b4c..8969dd19cd6 100644 --- a/src/emu/cpu/e0c6200/e0c6200.c +++ b/src/emu/cpu/e0c6200/e0c6200.c @@ -8,6 +8,10 @@ - 1998 MF297-06a E0C6200/E0C6200A Core CPU Manual - 1998 MF1049-01a E0C6S46 Technical Manual + E0C6200 is a CPU core used as the basis of many chips, it is not standalone. + Seiko Epson often changed prefixes of their device names. Depending on when, + the E0C6200 is known as SMC6200, E0C6200, S1C6200. + TODO: - RLC is part of the r,q opcodes and requires that r == q, what happens otherwise? - documentation is conflicting on whether or not the zero flag is set on RLC/RRC @@ -20,26 +24,6 @@ #include "e0c6200op.inc" -const device_type EPSON_E0C6S46 = &device_creator; - - -// internal memory maps -static ADDRESS_MAP_START(program_1k, AS_PROGRAM, 16, e0c6200_cpu_device) - AM_RANGE(0x0000, 0x03ff) AM_ROM -ADDRESS_MAP_END - - -static ADDRESS_MAP_START(data_64x4, AS_DATA, 8, e0c6200_cpu_device) - AM_RANGE(0x00, 0x3f) AM_RAM -ADDRESS_MAP_END - - -// device definitions -e0c6s46_device::e0c6s46_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) - : e0c6200_cpu_device(mconfig, EPSON_E0C6S46, "E0C6S46", tag, owner, clock, 10, ADDRESS_MAP_NAME(program_1k), 6, ADDRESS_MAP_NAME(data_64x4), "e0c6s46", __FILE__) -{ } - - // disasm void e0c6200_cpu_device::state_string_export(const device_state_entry &entry, std::string &str) { @@ -117,7 +101,7 @@ void e0c6200_cpu_device::device_start() void e0c6200_cpu_device::device_reset() { - m_op = 0xff; // nop + m_op = 0xfff; // nop m_pc = 0x100; m_f &= 3; // decimal flag is 0 on 6200A, undefined on 6200 } diff --git a/src/emu/cpu/e0c6200/e0c6200.h b/src/emu/cpu/e0c6200/e0c6200.h index 3e0ae72f32f..3f11bcfe7a7 100644 --- a/src/emu/cpu/e0c6200/e0c6200.h +++ b/src/emu/cpu/e0c6200/e0c6200.h @@ -6,8 +6,8 @@ */ -#ifndef _E06200_H_ -#define _E06200_H_ +#ifndef _E0C6200_H_ +#define _E0C6200_H_ #include "emu.h" @@ -110,15 +110,5 @@ protected: }; -class e0c6s46_device : public e0c6200_cpu_device -{ -public: - e0c6s46_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); -}; - - - -extern const device_type EPSON_E0C6S46; - -#endif /* _E06200_H_ */ +#endif /* _E0C6200_H_ */ diff --git a/src/emu/cpu/e0c6200/e0c6s46.c b/src/emu/cpu/e0c6200/e0c6s46.c new file mode 100644 index 00000000000..46da882a471 --- /dev/null +++ b/src/emu/cpu/e0c6200/e0c6s46.c @@ -0,0 +1,45 @@ +// license:BSD-3-Clause +// copyright-holders:hap +/* + + Seiko Epson E0C6S46 MCU + +*/ + +#include "e0c6s46.h" + + +const device_type EPSON_E0C6S46 = &device_creator; + + +// internal memory maps +static ADDRESS_MAP_START(program_1k, AS_PROGRAM, 16, e0c6s46_device) + AM_RANGE(0x0000, 0x03ff) AM_ROM +ADDRESS_MAP_END + + +static ADDRESS_MAP_START(data_64x4, AS_DATA, 8, e0c6s46_device) + AM_RANGE(0x00, 0x3f) AM_RAM +ADDRESS_MAP_END + + +// device definitions +e0c6s46_device::e0c6s46_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : e0c6200_cpu_device(mconfig, EPSON_E0C6S46, "E0C6S46", tag, owner, clock, 10, ADDRESS_MAP_NAME(program_1k), 6, ADDRESS_MAP_NAME(data_64x4), "e0c6s46", __FILE__) +{ } + + + + +//------------------------------------------------- +// execute +//------------------------------------------------- + +void e0c6s46_device::execute_one() +{ + // E0C6S46 has no support for SLP opcode + if (m_op == 0xff9) + return; + + e0c6200_cpu_device::execute_one(); +} diff --git a/src/emu/cpu/e0c6200/e0c6s46.h b/src/emu/cpu/e0c6200/e0c6s46.h new file mode 100644 index 00000000000..dec7a07ba12 --- /dev/null +++ b/src/emu/cpu/e0c6200/e0c6s46.h @@ -0,0 +1,29 @@ +// license:BSD-3-Clause +// copyright-holders:hap +/* + + Seiko Epson E0C6S46 MCU + +*/ + +#ifndef _E0C6S46_H_ +#define _E0C6S46_H_ + +#include "e0c6200.h" + + +class e0c6s46_device : public e0c6200_cpu_device +{ +public: + e0c6s46_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + +protected: + // device_execute_interface overrides + virtual void execute_one(); +}; + + + +extern const device_type EPSON_E0C6S46; + +#endif /* _E0C6S46_H_ */ -- cgit v1.2.3