(MESS) c8280: Refactored to use the new 6532. (nw)

This commit is contained in:
Curt Coder 2015-05-22 22:07:25 +03:00
parent 274254c4bd
commit 326d57e8eb
2 changed files with 20 additions and 20 deletions

View File

@ -73,10 +73,10 @@ const rom_entry *c8280_device::device_rom_region() const
//-------------------------------------------------
static ADDRESS_MAP_START( c8280_main_mem, AS_PROGRAM, 8, c8280_device )
AM_RANGE(0x0000, 0x007f) AM_MIRROR(0x100) AM_RAM // 6532 #1
AM_RANGE(0x0080, 0x00ff) AM_MIRROR(0x100) AM_RAM // 6532 #2
AM_RANGE(0x0200, 0x021f) AM_MIRROR(0xd60) AM_DEVREADWRITE(M6532_0_TAG, riot6532_device, read, write)
AM_RANGE(0x0280, 0x029f) AM_MIRROR(0xd60) AM_DEVREADWRITE(M6532_1_TAG, riot6532_device, read, write)
AM_RANGE(0x0000, 0x007f) AM_MIRROR(0x100) AM_DEVICE(M6532_0_TAG, mos6532_t, ram_map)
AM_RANGE(0x0080, 0x00ff) AM_MIRROR(0x100) AM_DEVICE(M6532_1_TAG, mos6532_t, ram_map)
AM_RANGE(0x0200, 0x021f) AM_MIRROR(0xd60) AM_DEVICE(M6532_0_TAG, mos6532_t, io_map)
AM_RANGE(0x0280, 0x029f) AM_MIRROR(0xd60) AM_DEVICE(M6532_1_TAG, mos6532_t, io_map)
AM_RANGE(0x1000, 0x13ff) AM_MIRROR(0xc00) AM_RAM AM_SHARE("share1")
AM_RANGE(0x2000, 0x23ff) AM_MIRROR(0xc00) AM_RAM AM_SHARE("share2")
AM_RANGE(0x3000, 0x33ff) AM_MIRROR(0xc00) AM_RAM AM_SHARE("share3")
@ -292,16 +292,16 @@ static MACHINE_CONFIG_FRAGMENT( c8280 )
MCFG_CPU_ADD(M6502_DOS_TAG, M6502, XTAL_12MHz/8)
MCFG_CPU_PROGRAM_MAP(c8280_main_mem)
MCFG_DEVICE_ADD(M6532_0_TAG, RIOT6532, XTAL_12MHz/8)
MCFG_RIOT6532_IN_PA_CB(READ8(c8280_device, dio_r))
MCFG_RIOT6532_OUT_PB_CB(WRITE8(c8280_device, dio_w))
MCFG_DEVICE_ADD(M6532_0_TAG, MOS6532n, XTAL_12MHz/8)
MCFG_MOS6530n_IN_PA_CB(READ8(c8280_device, dio_r))
MCFG_MOS6530n_OUT_PB_CB(WRITE8(c8280_device, dio_w))
MCFG_DEVICE_ADD(M6532_1_TAG, RIOT6532, XTAL_12MHz/8)
MCFG_RIOT6532_IN_PA_CB(READ8(c8280_device, riot1_pa_r))
MCFG_RIOT6532_OUT_PA_CB(WRITE8(c8280_device, riot1_pa_w))
MCFG_RIOT6532_IN_PB_CB(READ8(c8280_device, riot1_pb_r))
MCFG_RIOT6532_OUT_PB_CB(WRITE8(c8280_device, riot1_pb_w))
MCFG_RIOT6532_IRQ_CB(INPUTLINE(M6502_DOS_TAG, INPUT_LINE_IRQ0))
MCFG_DEVICE_ADD(M6532_1_TAG, MOS6532n, XTAL_12MHz/8)
MCFG_MOS6530n_IN_PA_CB(READ8(c8280_device, riot1_pa_r))
MCFG_MOS6530n_OUT_PA_CB(WRITE8(c8280_device, riot1_pa_w))
MCFG_MOS6530n_IN_PB_CB(READ8(c8280_device, riot1_pb_r))
MCFG_MOS6530n_OUT_PB_CB(WRITE8(c8280_device, riot1_pb_w))
MCFG_MOS6530n_IRQ_CB(INPUTLINE(M6502_DOS_TAG, INPUT_LINE_IRQ0))
MCFG_CPU_ADD(M6502_FDC_TAG, M6502, XTAL_12MHz/8)
MCFG_CPU_PROGRAM_MAP(c8280_fdc_mem)
@ -431,9 +431,10 @@ void c8280_device::device_reset()
m_riot0->reset();
m_riot1->reset();
m_fdc->reset();
m_riot1->pa7_w(1);
m_fk5 = 0;
m_floppy = NULL;
m_fdc->set_floppy(m_floppy);
@ -449,8 +450,7 @@ void c8280_device::ieee488_atn(int state)
{
update_ieee_signals();
// set RIOT PA7
m_riot1->porta_in_set(!state << 7, 0x80);
m_riot1->pa7_w(state);
}

View File

@ -15,7 +15,7 @@
#include "ieee488.h"
#include "cpu/m6502/m6502.h"
#include "formats/c8280_dsk.h"
#include "machine/6532riot.h"
#include "machine/mos6530n.h"
#include "machine/wd_fdc.h"
@ -27,7 +27,7 @@
// ======================> c8280_device
class c8280_device : public device_t,
public device_ieee488_interface
public device_ieee488_interface
{
public:
// construction/destruction
@ -64,8 +64,8 @@ private:
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_fdccpu;
required_device<riot6532_device> m_riot0;
required_device<riot6532_device> m_riot1;
required_device<mos6532_t> m_riot0;
required_device<mos6532_t> m_riot1;
required_device<fd1797_t> m_fdc;
required_device<floppy_connector> m_floppy0;
required_device<floppy_connector> m_floppy1;