diff options
author | 2019-07-25 17:05:31 +0100 | |
---|---|---|
committer | 2019-07-26 12:46:24 +0100 | |
commit | 7e988f9563d837a523c238917760e5d801046fe6 (patch) | |
tree | 60337e7aa0765b78e1457fbdc64ed94919484692 /src/devices/bus/tanbus/ravdu.h | |
parent | e724f4d7e60c266138b1ab4ffd6cd2bb81858682 (diff) |
microtan.cpp: The Microtan driver overhaul!
- Renamed driver microtan->mt65
- Added alternative monitor ROMs: TANBUG V3.1, TANBUG V.3B, TUGBUG V1.1, TANBUG V1.
- Replaced XBug with original 0.75MHz version, fixes cassette loading.
- New machine Micron, consisting of MT65 and Tanex boards only.
- Implemented the Microtan motherboard backplane and moved Tanex to slot device.
- Additional boards implemented: Bulldog Sound Generator Board, Mousepacket Designs Colour VDU Card, Tangerine Tandos Board (not working), Tangerine High Resolution Graphics Card (monochrome), Tangerine High Resolution Graphics Card (colour), Tangerine Tanram Board, TUG 64K RAM Card, TUG Programmable Graphic Module Card, Microtanic Video 80/82 (not working), Ralph Allen 32K EPROM-RAM Card (incomplete), Ralph Allen Disc Controller Card (not working), Ralph Allen Colour VDU card
- Added Microtan 6809 System, not yet working.
- Added Space Invasion (ETI), the DIY project from Electronics Today based on the Microtan.
Diffstat (limited to 'src/devices/bus/tanbus/ravdu.h')
-rw-r--r-- | src/devices/bus/tanbus/ravdu.h | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/src/devices/bus/tanbus/ravdu.h b/src/devices/bus/tanbus/ravdu.h new file mode 100644 index 00000000000..4817abb78f4 --- /dev/null +++ b/src/devices/bus/tanbus/ravdu.h @@ -0,0 +1,63 @@ +// license:BSD-3-Clause +// copyright-holders:Nigel Barnes +/********************************************************************** + + Ralph Allen Colour VDU Card + +**********************************************************************/ + + +#ifndef MAME_BUS_TANBUS_RAVDU_H +#define MAME_BUS_TANBUS_RAVDU_H + +#pragma once + +#include "bus/tanbus/tanbus.h" +#include "video/saa5050.h" +#include "video/mc6845.h" +#include "screen.h" + +//************************************************************************** +// TYPE DEFINITIONS +//************************************************************************** + +class tanbus_ravdu_device : + public device_t, + public device_tanbus_interface +{ +public: + static constexpr feature_type imperfect_features() { return feature::GRAPHICS; } + + // construction/destruction + tanbus_ravdu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); + +protected: + // device-level overrides + virtual void device_start() override; + virtual void device_reset() override; + + // optional information overrides + virtual void device_add_mconfig(machine_config &config) override; + + virtual uint8_t read(offs_t offset, int inhrom, int inhram, int be) override; + virtual void write(offs_t offset, uint8_t data, int inhrom, int inhram, int be) override; + virtual void set_inhibit_lines(offs_t offset, int &inhram, int &inhrom) override; + +private: + DECLARE_READ8_MEMBER(videoram_r); + MC6845_UPDATE_ROW(crtc_update_row); + DECLARE_WRITE_LINE_MEMBER(vsync_changed); + + required_device<screen_device> m_screen; + required_device<mc6845_device> m_crtc; + required_device<saa5055_device> m_trom; + + std::unique_ptr<uint8_t[]> m_videoram; +}; + + +// device type definition +DECLARE_DEVICE_TYPE(TANBUS_RAVDU, tanbus_ravdu_device) + + +#endif // MAME_BUS_TANBUS_RAVDU_H |