summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author R. Belmont <rb6502@users.noreply.github.com>2013-01-11 00:49:20 +0000
committer R. Belmont <rb6502@users.noreply.github.com>2013-01-11 00:49:20 +0000
commit111157ca09a9ff60fe4a9ba49173c315e94314fa (patch)
tree4f7dd41757ba49193f2373332ff22c38f1b9862a
parent4e8c6371e200ef8558767d45f4f5754ecfffbfb9 (diff)
(MESS) concept: hooked up ACIAs (nw)
-rw-r--r--src/mess/drivers/concept.c5
-rw-r--r--src/mess/includes/concept.h8
-rw-r--r--src/mess/machine/concept.c17
3 files changed, 23 insertions, 7 deletions
diff --git a/src/mess/drivers/concept.c b/src/mess/drivers/concept.c
index f6560c5580a..b97f843eb19 100644
--- a/src/mess/drivers/concept.c
+++ b/src/mess/drivers/concept.c
@@ -135,7 +135,6 @@ static MACHINE_CONFIG_START( concept, concept_state )
MCFG_PALETTE_LENGTH(2)
MCFG_PALETTE_INIT(black_and_white)
-
/* no sound? */
MCFG_HARDDISK_ADD( "harddisk1" )
@@ -146,6 +145,10 @@ static MACHINE_CONFIG_START( concept, concept_state )
/* via */
MCFG_VIA6522_ADD("via6522_0", 1022750, concept_via6522_intf)
+ /* ACIAs */
+ MCFG_ACIA6551_ADD(ACIA_0_TAG)
+ MCFG_ACIA6551_ADD(ACIA_1_TAG)
+
MCFG_FD1793_ADD("wd179x", concept_wd17xx_interface )
MCFG_LEGACY_FLOPPY_4_DRIVES_ADD(concept_floppy_interface)
diff --git a/src/mess/includes/concept.h b/src/mess/includes/concept.h
index e2c5bc28c3a..507259035ac 100644
--- a/src/mess/includes/concept.h
+++ b/src/mess/includes/concept.h
@@ -13,6 +13,10 @@
#include "machine/6522via.h"
#include "machine/wd17xx.h"
+#include "machine/6551acia.h"
+
+#define ACIA_0_TAG "acia0"
+#define ACIA_1_TAG "acia1"
/* keyboard interface */
enum
@@ -35,8 +39,12 @@ class concept_state : public driver_device
public:
concept_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
+ m_acia0(*this, ACIA_0_TAG),
+ m_acia1(*this, ACIA_1_TAG),
m_videoram(*this,"videoram") { }
+ required_device<acia6551_device> m_acia0;
+ required_device<acia6551_device> m_acia1;
required_shared_ptr<UINT16> m_videoram;
UINT8 m_pending_interrupts;
char m_clock_enable;
diff --git a/src/mess/machine/concept.c b/src/mess/machine/concept.c
index 379b18cf746..318da2c697c 100644
--- a/src/mess/machine/concept.c
+++ b/src/mess/machine/concept.c
@@ -6,9 +6,7 @@
#include "emu.h"
#include "includes/concept.h"
-#include "machine/6522via.h"
#include "machine/mm58274c.h" /* mm58274 seems to be compatible with mm58174 */
-//#include "machine/6551acia.h"
#include "machine/wd17xx.h"
#include "cpu/m68000/m68000.h"
#include "includes/corvushd.h"
@@ -337,13 +335,15 @@ READ16_MEMBER(concept_state::concept_io_r)
break;
}
break;
+
case 1:
/* NSR0 data comm port 0 */
+ return m_acia0->read(space, (offset & 3));
+ break;
+
case 2:
/* NSR1 data comm port 1 */
- LOG(("concept_io_r: Data comm port read at address 0x03%4.4x\n", offset << 1));
- if ((offset & 0xf) == 1)
- return 0x10;
+ return m_acia1->read(space, (offset & 3));
break;
case 3:
@@ -453,11 +453,16 @@ WRITE16_MEMBER(concept_state::concept_io_w)
{
case 0:
/* NKBP keyboard */
+ break;
+
case 1:
/* NSR0 data comm port 0 */
+ m_acia0->write(space, (offset & 3), data);
+ break;
+
case 2:
/* NSR1 data comm port 1 */
- /*acia_6551_w((offset >> 4) & 7, offset & 0x3, data);*/
+ m_acia1->write(space, (offset & 3), data);
break;
case 3: