(MESS) concept: hooked up ACIAs (nw)

This commit is contained in:
R. Belmont 2013-01-11 00:49:20 +00:00
parent 4e8c6371e2
commit 111157ca09
3 changed files with 23 additions and 7 deletions

View File

@ -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)

View File

@ -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;

View File

@ -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: