cdp1869: Added device address maps. (nw)

This commit is contained in:
Curt Coder 2013-06-08 20:48:09 +00:00
parent 6f14ff7ff7
commit ce92fc7858
5 changed files with 35 additions and 28 deletions

View File

@ -53,12 +53,31 @@ enum
//**************************************************************************
// GLOBAL VARIABLES
// DEVICE DEFINITIONS
//**************************************************************************
// device type definition
const device_type CDP1869 = &device_creator<cdp1869_device>;
// I/O map
DEVICE_ADDRESS_MAP_START( io_map, 8, cdp1869_device )
AM_RANGE(0x03, 0x03) AM_WRITE(out3_w)
AM_RANGE(0x04, 0x04) AM_WRITE(out4_w)
AM_RANGE(0x05, 0x05) AM_WRITE(out5_w)
AM_RANGE(0x06, 0x06) AM_WRITE(out6_w)
AM_RANGE(0x07, 0x07) AM_WRITE(out7_w)
ADDRESS_MAP_END
// character RAM map
DEVICE_ADDRESS_MAP_START( char_map, 8, cdp1869_device )
AM_RANGE(0x000, 0x3ff) AM_READWRITE(char_ram_r, char_ram_w)
ADDRESS_MAP_END
// page RAM map
DEVICE_ADDRESS_MAP_START( page_map, 8, cdp1869_device )
AM_RANGE(0x000, 0x7ff) AM_READWRITE(page_ram_r, page_ram_w)
ADDRESS_MAP_END
// default address map
static ADDRESS_MAP_START( cdp1869, AS_0, 8, cdp1869_device )
AM_RANGE(0x000, 0x7ff) AM_RAM

View File

@ -214,6 +214,10 @@ public:
// construction/destruction
cdp1869_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
virtual DECLARE_ADDRESS_MAP(io_map, 8);
virtual DECLARE_ADDRESS_MAP(char_map, 8);
virtual DECLARE_ADDRESS_MAP(page_map, 8);
DECLARE_WRITE8_MEMBER( out3_w );
DECLARE_WRITE8_MEMBER( out4_w );
DECLARE_WRITE8_MEMBER( out5_w );

View File

@ -206,15 +206,15 @@ static COP400_INTERFACE( draco_cop_intf )
static ADDRESS_MAP_START( destryer_map, AS_PROGRAM, 8, cidelsa_state )
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x20ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xf400, 0xf7ff) AM_DEVREADWRITE(CDP1869_TAG, cdp1869_device, char_ram_r, char_ram_w)
AM_RANGE(0xf800, 0xffff) AM_DEVREADWRITE(CDP1869_TAG, cdp1869_device, page_ram_r, page_ram_w)
AM_RANGE(0xf400, 0xf7ff) AM_DEVICE(CDP1869_TAG, cdp1869_device, char_map)
AM_RANGE(0xf800, 0xffff) AM_DEVICE(CDP1869_TAG, cdp1869_device, page_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START( destryera_map, AS_PROGRAM, 8, cidelsa_state )
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x3000, 0x30ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xf400, 0xf7ff) AM_DEVREADWRITE(CDP1869_TAG, cdp1869_device, char_ram_r, char_ram_w)
AM_RANGE(0xf800, 0xffff) AM_DEVREADWRITE(CDP1869_TAG, cdp1869_device, page_ram_r, page_ram_w)
AM_RANGE(0xf400, 0xf7ff) AM_DEVICE(CDP1869_TAG, cdp1869_device, char_map)
AM_RANGE(0xf800, 0xffff) AM_DEVICE(CDP1869_TAG, cdp1869_device, page_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START( destryer_io_map, AS_IO, 8, cidelsa_state )
@ -228,8 +228,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( altair_map, AS_PROGRAM, 8, cidelsa_state )
AM_RANGE(0x0000, 0x2fff) AM_ROM
AM_RANGE(0x3000, 0x30ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xf400, 0xf7ff) AM_DEVREADWRITE(CDP1869_TAG, cdp1869_device, char_ram_r, char_ram_w)
AM_RANGE(0xf800, 0xffff) AM_DEVREADWRITE(CDP1869_TAG, cdp1869_device, page_ram_r, page_ram_w)
AM_RANGE(0xf400, 0xf7ff) AM_DEVICE(CDP1869_TAG, cdp1869_device, char_map)
AM_RANGE(0xf800, 0xffff) AM_DEVICE(CDP1869_TAG, cdp1869_device, page_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START( altair_io_map, AS_IO, 8, cidelsa_state )
@ -244,8 +244,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( draco_map, AS_PROGRAM, 8, draco_state )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x8000, 0x83ff) AM_RAM AM_SHARE("nvram")
AM_RANGE(0xf400, 0xf7ff) AM_DEVREADWRITE(CDP1869_TAG, cdp1869_device, char_ram_r, char_ram_w)
AM_RANGE(0xf800, 0xffff) AM_DEVREADWRITE(CDP1869_TAG, cdp1869_device, page_ram_r, page_ram_w)
AM_RANGE(0xf400, 0xf7ff) AM_DEVICE(CDP1869_TAG, cdp1869_device, char_map)
AM_RANGE(0xf800, 0xffff) AM_DEVICE(CDP1869_TAG, cdp1869_device, page_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START( draco_io_map, AS_IO, 8, draco_state )

View File

@ -93,8 +93,8 @@ WRITE8_MEMBER( tmc600_state::keyboard_latch_w )
static ADDRESS_MAP_START( tmc600_map, AS_PROGRAM, 8, tmc600_state )
AM_RANGE(0x0000, 0x4fff) AM_ROM
AM_RANGE(0x6000, 0xbfff) AM_RAM
AM_RANGE(0xf400, 0xf7ff) AM_DEVREADWRITE(CDP1869_TAG, cdp1869_device, char_ram_r, char_ram_w)
AM_RANGE(0xf800, 0xffff) AM_DEVREADWRITE(CDP1869_TAG, cdp1869_device, page_ram_r, page_ram_w)
AM_RANGE(0xf400, 0xf7ff) AM_DEVICE(CDP1869_TAG, cdp1869_device, char_map)
AM_RANGE(0xf800, 0xffff) AM_DEVICE(CDP1869_TAG, cdp1869_device, page_map)
ADDRESS_MAP_END
static ADDRESS_MAP_START( tmc600_io_map, AS_IO, 8, tmc600_state )
@ -201,7 +201,7 @@ READ_LINE_MEMBER( tmc600_state::clear_r )
READ_LINE_MEMBER( tmc600_state::ef2_r )
{
return (m_cassette)->input() < 0;
return m_cassette->input() < 0;
}
READ_LINE_MEMBER( tmc600_state::ef3_r )
@ -275,19 +275,6 @@ static const cassette_interface tmc600_cassette_interface =
NULL
};
static const floppy_interface tmc600_floppy_interface =
{
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL,
FLOPPY_STANDARD_5_25_DSDD,
LEGACY_FLOPPY_OPTIONS_NAME(default),
NULL,
NULL
};
static MACHINE_CONFIG_START( tmc600, tmc600_state )
// basic system hardware
MCFG_CPU_ADD(CDP1802_TAG, CDP1802, 3579545) // ???
@ -301,7 +288,6 @@ static MACHINE_CONFIG_START( tmc600, tmc600_state )
/* devices */
MCFG_CENTRONICS_PRINTER_ADD(CENTRONICS_TAG, standard_centronics)
MCFG_CASSETTE_ADD("cassette", tmc600_cassette_interface)
MCFG_LEGACY_FLOPPY_2_DRIVES_ADD(tmc600_floppy_interface)
/* internal ram */
MCFG_RAM_ADD(RAM_TAG)

View File

@ -6,8 +6,6 @@
#include "emu.h"
#include "cpu/cosmac/cosmac.h"
#include "formats/basicdsk.h"
#include "imagedev/flopdrv.h"
#include "imagedev/cassette.h"
#include "imagedev/snapquik.h"
#include "machine/ctronics.h"