diff --git a/src/emu/sound/cdp1869.c b/src/emu/sound/cdp1869.c index 4043bd51c73..ce30e49dc5a 100644 --- a/src/emu/sound/cdp1869.c +++ b/src/emu/sound/cdp1869.c @@ -53,12 +53,31 @@ enum //************************************************************************** -// GLOBAL VARIABLES +// DEVICE DEFINITIONS //************************************************************************** // device type definition const device_type CDP1869 = &device_creator; +// 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 diff --git a/src/emu/sound/cdp1869.h b/src/emu/sound/cdp1869.h index 9ec5fb446a2..6eb0cd45e74 100644 --- a/src/emu/sound/cdp1869.h +++ b/src/emu/sound/cdp1869.h @@ -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 ); diff --git a/src/mame/drivers/cidelsa.c b/src/mame/drivers/cidelsa.c index f33cd457514..bcd2b4bc9a4 100644 --- a/src/mame/drivers/cidelsa.c +++ b/src/mame/drivers/cidelsa.c @@ -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 ) diff --git a/src/mess/drivers/tmc600.c b/src/mess/drivers/tmc600.c index fbc2c3d468c..9ddd0d080d6 100644 --- a/src/mess/drivers/tmc600.c +++ b/src/mess/drivers/tmc600.c @@ -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) diff --git a/src/mess/includes/tmc600.h b/src/mess/includes/tmc600.h index cd60603eb03..fab766dd441 100644 --- a/src/mess/includes/tmc600.h +++ b/src/mess/includes/tmc600.h @@ -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"