summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/nascom1.cpp
diff options
context:
space:
mode:
author Olivier Galibert <galibert@pobox.com>2018-02-01 10:04:01 +0100
committer Olivier Galibert <galibert@pobox.com>2018-02-12 10:04:52 +0100
commitc5219643162cb7d2a8688425a09008d28c8e2437 (patch)
treef2775ca3b1770ab0d3fb568f0bdd6d9212c68bf6 /src/mame/drivers/nascom1.cpp
parent09b6ce46873b38de9030a3c0378ff327f17af881 (diff)
API change: Memory maps are now methods of the owner class [O. Galibert]
Also, a lot more freedom happened, that's going to be more visible soon.
Diffstat (limited to 'src/mame/drivers/nascom1.cpp')
-rw-r--r--src/mame/drivers/nascom1.cpp36
1 files changed, 22 insertions, 14 deletions
diff --git a/src/mame/drivers/nascom1.cpp b/src/mame/drivers/nascom1.cpp
index 4d8229ba101..c8d1ab715c0 100644
--- a/src/mame/drivers/nascom1.cpp
+++ b/src/mame/drivers/nascom1.cpp
@@ -85,7 +85,7 @@ public:
DECLARE_DEVICE_IMAGE_UNLOAD_MEMBER( nascom1_cassette );
DECLARE_SNAPSHOT_LOAD_MEMBER( nascom1 );
- void nascom1(machine_config &config);
+ void nascom(machine_config &config);
protected:
virtual void machine_reset() override;
@@ -101,6 +101,10 @@ public:
{ }
uint32_t screen_update_nascom(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+
+ void nascom1(machine_config &config);
+ void nascom1_io(address_map &map);
+ void nascom1_mem(address_map &map);
private:
};
@@ -127,6 +131,9 @@ public:
void nascom2(machine_config &config);
void nascom2c(machine_config &config);
+ void nascom2_io(address_map &map);
+ void nascom2_mem(address_map &map);
+ void nascom2c_mem(address_map &map);
protected:
virtual void machine_reset() override;
@@ -466,13 +473,13 @@ void nascom_state::screen_update(bitmap_ind16 &bitmap, const rectangle &cliprect
// ADDRESS MAPS
//**************************************************************************
-static ADDRESS_MAP_START( nascom1_mem, AS_PROGRAM, 8, nascom1_state )
+ADDRESS_MAP_START(nascom1_state::nascom1_mem)
AM_RANGE(0x0000, 0x07ff) AM_ROM // MONITOR
AM_RANGE(0x0800, 0x0bff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x0c00, 0x0fff) AM_RAM // WRAM
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nascom1_io, AS_IO, 8, nascom1_state )
+ADDRESS_MAP_START(nascom1_state::nascom1_io)
ADDRESS_MAP_GLOBAL_MASK(0x0f)
AM_RANGE(0x00, 0x00) AM_READWRITE(nascom1_port_00_r, nascom1_port_00_w)
AM_RANGE(0x01, 0x01) AM_READWRITE(nascom1_port_01_r, nascom1_port_01_w)
@@ -480,14 +487,14 @@ static ADDRESS_MAP_START( nascom1_io, AS_IO, 8, nascom1_state )
AM_RANGE(0x04, 0x07) AM_DEVREADWRITE("z80pio", z80pio_device, read, write )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nascom2_mem, AS_PROGRAM, 8, nascom2_state )
+ADDRESS_MAP_START(nascom2_state::nascom2_mem)
AM_RANGE(0x0000, 0x07ff) AM_ROM // MONITOR
AM_RANGE(0x0800, 0x0bff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0x0c00, 0x0fff) AM_RAM // WRAM
AM_RANGE(0xe000, 0xffff) AM_ROM AM_REGION("basic", 0)
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nascom2_io, AS_IO, 8, nascom2_state )
+ADDRESS_MAP_START(nascom2_state::nascom2_io)
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READWRITE(nascom1_port_00_r, nascom1_port_00_w)
AM_RANGE(0x01, 0x01) AM_READWRITE(nascom1_port_01_r, nascom1_port_01_w)
@@ -495,7 +502,7 @@ static ADDRESS_MAP_START( nascom2_io, AS_IO, 8, nascom2_state )
AM_RANGE(0x04, 0x07) AM_DEVREADWRITE("z80pio", z80pio_device, read, write )
ADDRESS_MAP_END
-static ADDRESS_MAP_START( nascom2c_mem, AS_PROGRAM, 8, nascom2_state )
+ADDRESS_MAP_START(nascom2_state::nascom2c_mem)
AM_RANGE(0xf000, 0xf7ff) AM_ROM AM_REGION("maincpu", 0)
AM_RANGE(0xf800, 0xfbff) AM_RAM AM_SHARE("videoram")
AM_RANGE(0xfc00, 0xffff) AM_RAM // WRAM
@@ -646,12 +653,7 @@ INPUT_PORTS_END
// MACHINE DRIVERS
//**************************************************************************
-MACHINE_CONFIG_START(nascom_state::nascom1)
- // main cpu
- MCFG_CPU_ADD("maincpu", Z80, XTAL(16'000'000) / 8)
- MCFG_CPU_PROGRAM_MAP(nascom1_mem)
- MCFG_CPU_IO_MAP(nascom1_io)
-
+MACHINE_CONFIG_START(nascom_state::nascom)
// video hardware
MCFG_SCREEN_ADD("screen", RASTER)
MCFG_SCREEN_REFRESH_RATE(50)
@@ -686,8 +688,14 @@ MACHINE_CONFIG_START(nascom_state::nascom1)
MCFG_SNAPSHOT_ADD("snapshot", nascom_state, nascom1, "nas", 0.5)
MACHINE_CONFIG_END
-MACHINE_CONFIG_DERIVED(nascom2_state::nascom2, nascom1)
- MCFG_CPU_REPLACE("maincpu", Z80, XTAL(16'000'000) / 4)
+MACHINE_CONFIG_DERIVED(nascom1_state::nascom1, nascom)
+ MCFG_CPU_ADD("maincpu", Z80, XTAL(16'000'000) / 8)
+ MCFG_CPU_PROGRAM_MAP(nascom1_mem)
+ MCFG_CPU_IO_MAP(nascom1_io)
+MACHINE_CONFIG_END
+
+MACHINE_CONFIG_DERIVED(nascom2_state::nascom2, nascom)
+ MCFG_CPU_ADD("maincpu", Z80, XTAL(16'000'000) / 4)
MCFG_CPU_PROGRAM_MAP(nascom2_mem)
MCFG_CPU_IO_MAP(nascom2_io)