diff options
author | 2016-04-08 19:54:32 +0200 | |
---|---|---|
committer | 2016-04-08 19:55:09 +0200 | |
commit | 4f1ffa851ea372a18a67bb937ce8f0bc1e72c7ad (patch) | |
tree | 6f3495b7c4f811d82b9545366485dbeea76f25ef /src/devices/bus/vtech/memexp | |
parent | 978ab32a11e663b2571c9f72ec43114e2eabf2c5 (diff) |
vtech1: Add support for the "Dick Smith VZ-200/300 RTTY Cartridge"
Appears to work fine, except we don't have a generic RTTY interface yet.
Diffstat (limited to 'src/devices/bus/vtech/memexp')
-rw-r--r-- | src/devices/bus/vtech/memexp/carts.cpp | 1 | ||||
-rw-r--r-- | src/devices/bus/vtech/memexp/carts.h | 1 | ||||
-rw-r--r-- | src/devices/bus/vtech/memexp/rs232.cpp | 4 | ||||
-rw-r--r-- | src/devices/bus/vtech/memexp/rs232.h | 2 | ||||
-rw-r--r-- | src/devices/bus/vtech/memexp/rtty.cpp | 88 | ||||
-rw-r--r-- | src/devices/bus/vtech/memexp/rtty.h | 45 |
6 files changed, 138 insertions, 3 deletions
diff --git a/src/devices/bus/vtech/memexp/carts.cpp b/src/devices/bus/vtech/memexp/carts.cpp index dc40d0e8a57..f46a15e4841 100644 --- a/src/devices/bus/vtech/memexp/carts.cpp +++ b/src/devices/bus/vtech/memexp/carts.cpp @@ -15,5 +15,6 @@ SLOT_INTERFACE_START( memexp_slot_carts ) SLOT_INTERFACE("laser310_16k", LASER310_16K) SLOT_INTERFACE("laser_64k", LASER_64K) SLOT_INTERFACE("rs232", RS232_INTERFACE) + SLOT_INTERFACE("rtty", RTTY_INTERFACE) SLOT_INTERFACE("wordpro", WORDPRO) SLOT_INTERFACE_END diff --git a/src/devices/bus/vtech/memexp/carts.h b/src/devices/bus/vtech/memexp/carts.h index a1e86987a31..92dd90390ae 100644 --- a/src/devices/bus/vtech/memexp/carts.h +++ b/src/devices/bus/vtech/memexp/carts.h @@ -16,6 +16,7 @@ #include "floppy.h" #include "memory.h" #include "rs232.h" +#include "rtty.h" #include "wordpro.h" SLOT_INTERFACE_EXTERN( memexp_slot_carts ); diff --git a/src/devices/bus/vtech/memexp/rs232.cpp b/src/devices/bus/vtech/memexp/rs232.cpp index 42e281151b1..ead9ac0a904 100644 --- a/src/devices/bus/vtech/memexp/rs232.cpp +++ b/src/devices/bus/vtech/memexp/rs232.cpp @@ -2,7 +2,7 @@ // copyright-holders:Dirk Best /*************************************************************************** - Dick Smith VZ-200/300 RS-232 Cartridge + Dick Smith VZ-200/300 RS-232 Cartridge (K-6317) ***************************************************************************/ @@ -50,7 +50,7 @@ machine_config_constructor rs232_interface_device::device_mconfig_additions() co //************************************************************************** //------------------------------------------------- -// wordpro_device - constructor +// rs232_interface_device - constructor //------------------------------------------------- rs232_interface_device::rs232_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : diff --git a/src/devices/bus/vtech/memexp/rs232.h b/src/devices/bus/vtech/memexp/rs232.h index 20508d86469..23c91004533 100644 --- a/src/devices/bus/vtech/memexp/rs232.h +++ b/src/devices/bus/vtech/memexp/rs232.h @@ -2,7 +2,7 @@ // copyright-holders:Dirk Best /*************************************************************************** - Dick Smith VZ-200/300 RS-232 Cartridge + Dick Smith VZ-200/300 RS-232 Cartridge (K-6317) ***************************************************************************/ diff --git a/src/devices/bus/vtech/memexp/rtty.cpp b/src/devices/bus/vtech/memexp/rtty.cpp new file mode 100644 index 00000000000..bf9930c3dcf --- /dev/null +++ b/src/devices/bus/vtech/memexp/rtty.cpp @@ -0,0 +1,88 @@ +// license:GPL-2.0+ +// copyright-holders:Dirk Best +/*************************************************************************** + + Dick Smith VZ-200/300 RTTY Cartridge (K-6318) + +***************************************************************************/ + +#include "rtty.h" + + +//************************************************************************** +// DEVICE DEFINITIONS +//************************************************************************** + +const device_type RTTY_INTERFACE = &device_creator<rtty_interface_device>; + +//------------------------------------------------- +// rom_region - device-specific ROM region +//------------------------------------------------- + +ROM_START( rtty ) + ROM_REGION(0x1000, "software", 0) + ROM_LOAD("vzrtty.ic3", 0x0000, 0x1000, CRC(ccf4289b) SHA1(de737ef0e0b582b3102da473836af1fa159a2e78)) +ROM_END + +const rom_entry *rtty_interface_device::device_rom_region() const +{ + return ROM_NAME( rtty ); +} + + +//************************************************************************** +// LIVE DEVICE +//************************************************************************** + +//------------------------------------------------- +// rtty_interface_device - constructor +//------------------------------------------------- + +rtty_interface_device::rtty_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : + device_t(mconfig, RTTY_INTERFACE, "DSE VZ-200/300 RTTY Interface", tag, owner, clock, "vz_rtty", __FILE__), + device_memexp_interface(mconfig, *this) +{ +} + +//------------------------------------------------- +// device_start - device-specific startup +//------------------------------------------------- + +void rtty_interface_device::device_start() +{ +} + +//------------------------------------------------- +// device_reset - device-specific reset +//------------------------------------------------- + +void rtty_interface_device::device_reset() +{ + // program + m_slot->m_program->install_rom(0x4000, 0x4fff, 0, 0x1000, memregion("software")->base()); + + // data + m_slot->m_program->install_read_handler(0x5000, 0x57ff, read8_delegate(FUNC(rtty_interface_device::receive_data_r), this)); + m_slot->m_program->install_write_handler(0x5800, 0x5fff, write8_delegate(FUNC(rtty_interface_device::transmit_data_w), this)); + m_slot->m_program->install_write_handler(0x6000, 0x67ff, write8_delegate(FUNC(rtty_interface_device::relay_w), this)); +} + + +//************************************************************************** +// IMPLEMENTATION +//************************************************************************** + +READ8_MEMBER( rtty_interface_device::receive_data_r ) +{ + return 0xff; +} + +WRITE8_MEMBER( rtty_interface_device::transmit_data_w ) +{ + logerror("transmit_w: %d\n", BIT(data, 7)); +} + +WRITE8_MEMBER( rtty_interface_device::relay_w ) +{ + logerror("relay_w: %d\n", BIT(data, 7)); +} diff --git a/src/devices/bus/vtech/memexp/rtty.h b/src/devices/bus/vtech/memexp/rtty.h new file mode 100644 index 00000000000..1bc25eca77a --- /dev/null +++ b/src/devices/bus/vtech/memexp/rtty.h @@ -0,0 +1,45 @@ +// license:GPL-2.0+ +// copyright-holders:Dirk Best +/*************************************************************************** + + Dick Smith VZ-200/300 RTTY Cartridge (K-6318) + +***************************************************************************/ + +#pragma once + +#ifndef __VTECH_MEMEXP_RTTY_H__ +#define __VTECH_MEMEXP_RTTY_H__ + +#include "emu.h" +#include "memexp.h" + + +//************************************************************************** +// TYPE DEFINITIONS +//************************************************************************** + +// ======================> rtty_interface_device + +class rtty_interface_device : public device_t, public device_memexp_interface +{ +public: + // construction/destruction + rtty_interface_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + DECLARE_READ8_MEMBER( receive_data_r ); + DECLARE_WRITE8_MEMBER( transmit_data_w ); + DECLARE_WRITE8_MEMBER( relay_w ); + +protected: + virtual const rom_entry *device_rom_region() const override; + virtual void device_start() override; + virtual void device_reset() override; + +private: +}; + +// device type definition +extern const device_type RTTY_INTERFACE; + +#endif // __VTECH_MEMEXP_RTTY_H__ |