summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/daruma.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/daruma.cpp')
-rw-r--r--src/mame/drivers/daruma.cpp149
1 files changed, 0 insertions, 149 deletions
diff --git a/src/mame/drivers/daruma.cpp b/src/mame/drivers/daruma.cpp
deleted file mode 100644
index 7b053ca0a35..00000000000
--- a/src/mame/drivers/daruma.cpp
+++ /dev/null
@@ -1,149 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders: Felipe Sanches
-/***************************************************************************
-
- Sigtron Daruma DS348 dot-matrix printer
- https://www.hardstand.com.br/daruma/ds348
-
- Driver by Felipe Correa da Silva Sanches <juca@members.fsf.org>
-
- Model: Print Plus - DS348
- Manufacturer: Sigtron Daruma
- Firmware version 1.1
- Release Date: May 8th/1998
- PCB: SIGTRON DS348 REV.B
-
-***************************************************************************/
-
-#include "emu.h"
-#include "cpu/mcs51/mcs51.h"
-#include "sound/spkrdev.h"
-#include "speaker.h"
-//TODO: #include "ds348.lh"
-
-class daruma_state : public driver_device
-{
-public:
- daruma_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag),
- m_maincpu(*this, "maincpu"),
- m_speaker(*this, "speaker") { }
-
- void daruma(machine_config &config);
-
-private:
- DECLARE_READ8_MEMBER(dev0_r);
- DECLARE_WRITE8_MEMBER(dev1_w);
- DECLARE_WRITE8_MEMBER(dev2_w);
- DECLARE_READ8_MEMBER(dev4_r);
- required_device<cpu_device> m_maincpu;
- required_device<speaker_sound_device> m_speaker;
- void mem_io(address_map &map);
- void mem_prg(address_map &map);
-};
-
-READ8_MEMBER(daruma_state::dev0_r)
-{
- return 0xFF;
-}
-
-READ8_MEMBER(daruma_state::dev4_r)
-{
- return ioport("switches")->read();
-}
-
-WRITE8_MEMBER(daruma_state::dev1_w)
-{
- //while attempting to identify which bit is used for
- //controlling the buzzer, here's what I heard from each of
- //the signals on this address:
-
- //0x80 serial comm.? (noise)
- //0x20 LED? (3 clicks)
- //0x10 LED? (1 click)
- //0x08 serial comm.? click & noise
- //0x04 LED? (2 clicks)
- //0x02 motor control or printer heads? (I hear a series of rhythmic pulses)
- //0x01 LED? (2 clicks)
- m_speaker->level_w(data & 0x02);
-}
-
-WRITE8_MEMBER(daruma_state::dev2_w)
-{
- //while attempting to identify which bit is used for
- //controlling the buzzer, here's what I heard from each of
- //the signals on this address:
-
- //0x80: LED? (3 clicks)
- //0x40: unused?
- //0x20: unused?
- //0x10: low freq brief beep followed by a click
- //0x08: low freq brief noise followed by a click
- //0x04: low freq brief beep followed by a click
- //0x02: low freq brief beep followed by a click
- //0x01: low freq brief noise
- //m_speaker->level_w(data & 0x01);
-}
-
-void daruma_state::mem_prg(address_map &map)
-{
- map(0x0000, 0xffff).rom();
-}
-
-void daruma_state::mem_io(address_map &map)
-{
- map(0x0000, 0x0000).r(FUNC(daruma_state::dev0_r));
- map(0x1000, 0x1000).w(FUNC(daruma_state::dev1_w));
-// map(0x2000, 0x2000).w(FUNC(daruma_state:dev2_w));
-// map(0x3000, 0x3000).w(FUNC(daruma_state:dev3_w));
- map(0x4000, 0x4000).r(FUNC(daruma_state::dev4_r));
- map(0x8000, 0xffff).ram(); /* 32K CMOS SRAM (HYUNDAY hy62256a) */
-}
-
-//TODO: These buttons and switches are all guesses. We'll need to further investigate this.
-static INPUT_PORTS_START( daruma )
- PORT_START("buttons")
- PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Paper A") PORT_CODE(KEYCODE_A)
- PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Paper B") PORT_CODE(KEYCODE_B)
-
- PORT_START("switches")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN)
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN)
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_UNKNOWN)
- PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_UNKNOWN)
- PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN)
- PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN)
- PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN)
- PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYBOARD) PORT_NAME("Limit Switch") PORT_CODE(KEYCODE_S)
-
-INPUT_PORTS_END
-
-void daruma_state::daruma(machine_config &config)
-{
- /* basic machine hardware */
- I80C32(config, m_maincpu, 11059200); //verified on pcb
- m_maincpu->set_addrmap(AS_PROGRAM, &daruma_state::mem_prg);
- m_maincpu->set_addrmap(AS_IO, &daruma_state::mem_io);
- // TODO: ports
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
- SPEAKER_SOUND(config, m_speaker).add_route(0, "mono", 1.00);
-
-/* TODO:
- config.set_default_layout(layout_daruma);
-
- Motors: MTA011
- http://pdf.datasheetcatalog.com/datasheet/Shindengen/mXstzvq.pdf
-
- The motor controller supposedly is used to cut the paper strip out after finishing printing something.
-*/
-}
-
-ROM_START( ds348 )
- ROM_REGION( 0x10000, "maincpu", 0 )
- ROM_LOAD( "daruma_ds348_v1_1.rom", 0x0000, 0x10000, CRC(10bf9036) SHA1(d654a13bc582f5384e759ec6fe5309a642bd8e18) )
-ROM_END
-
-// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS
-COMP( 1998, ds348, 0, 0, daruma, daruma, daruma_state, empty_init, "Sigtron Daruma", "Print Plus DS348 - Dot matrix printer", MACHINE_NOT_WORKING | MACHINE_NO_SOUND)