mirror of
https://github.com/holub/mame
synced 2025-04-23 08:49:55 +03:00
cdp1869: Added device address maps. (nw)
This commit is contained in:
parent
6f14ff7ff7
commit
ce92fc7858
@ -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
|
||||
|
@ -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 );
|
||||
|
@ -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 )
|
||||
|
@ -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)
|
||||
|
@ -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"
|
||||
|
Loading…
Reference in New Issue
Block a user