summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2017-09-26 14:14:37 -0400
committer AJR <ajrhacker@users.noreply.github.com>2017-09-26 14:14:37 -0400
commit409427c7cca5add9bbfc60d07e5b1505af40a49d (patch)
tree15964a278326c6f5efc73052c3208b7d606f3209
parentf9705aa35d8055e78ceba54ba3d7c6fd412235b0 (diff)
vector06: I/O handler cleanup (nw)
-rw-r--r--src/mame/drivers/vector06.cpp33
-rw-r--r--src/mame/includes/vector06.h16
-rw-r--r--src/mame/machine/vector06.cpp30
3 files changed, 18 insertions, 61 deletions
diff --git a/src/mame/drivers/vector06.cpp b/src/mame/drivers/vector06.cpp
index 7c4dab9ff6a..13eddbd87dc 100644
--- a/src/mame/drivers/vector06.cpp
+++ b/src/mame/drivers/vector06.cpp
@@ -25,32 +25,36 @@ TODO:
#include "emu.h"
#include "includes/vector06.h"
+
#include "formats/vector06_dsk.h"
+#include "machine/i8255.h"
+#include "machine/pit8253.h"
+#include "sound/wave.h"
#include "screen.h"
#include "softlist.h"
#include "speaker.h"
/* Address maps */
static ADDRESS_MAP_START(vector06_mem, AS_PROGRAM, 8, vector06_state)
- AM_RANGE( 0x0000, 0x7fff ) AM_READ_BANK("bank2")
- AM_RANGE( 0xa000, 0xdfff ) AM_READWRITE_BANK("bank3")
- AM_RANGE( 0x0000, 0xffff ) AM_READWRITE_BANK("bank1")
+ AM_RANGE(0x0000, 0x7fff) AM_READ_BANK("bank2")
+ AM_RANGE(0xa000, 0xdfff) AM_READWRITE_BANK("bank3")
+ AM_RANGE(0x0000, 0xffff) AM_READWRITE_BANK("bank1")
ADDRESS_MAP_END
static ADDRESS_MAP_START(vector06_io, AS_IO, 8, vector06_state)
ADDRESS_MAP_GLOBAL_MASK(0xff)
ADDRESS_MAP_UNMAP_HIGH
- AM_RANGE( 0x00, 0x03) AM_READWRITE(vector06_8255_1_r, vector06_8255_1_w )
- AM_RANGE( 0x04, 0x07) AM_READWRITE(vector06_8255_2_r, vector06_8255_2_w )
- AM_RANGE( 0x08, 0x0B) AM_READWRITE(pit8253_r, pit8253_w)
- AM_RANGE( 0x0C, 0x0C) AM_WRITE(vector06_color_set)
- AM_RANGE( 0x10, 0x10) AM_WRITE(vector06_ramdisk_w)
- AM_RANGE( 0x14, 0x15) AM_DEVREADWRITE("aysnd", ay8910_device, data_r, data_address_w)
- AM_RANGE( 0x18, 0x18) AM_DEVREADWRITE("wd1793", kr1818vg93_device, data_r, data_w)
- AM_RANGE( 0x19, 0x19) AM_DEVREADWRITE("wd1793", kr1818vg93_device, sector_r, sector_w)
- AM_RANGE( 0x1a, 0x1a) AM_DEVREADWRITE("wd1793", kr1818vg93_device, track_r, track_w)
- AM_RANGE( 0x1b, 0x1b) AM_DEVREADWRITE("wd1793", kr1818vg93_device, status_r, cmd_w)
- AM_RANGE( 0x1C, 0x1C) AM_WRITE(vector06_disc_w)
+ AM_RANGE(0x00, 0x03) AM_DEVREADWRITE_MOD("ppi8255", i8255_device, read, write, xor<3>)
+ AM_RANGE(0x04, 0x07) AM_DEVREADWRITE_MOD("ppi8255_2", i8255_device, read, write, xor<3>)
+ AM_RANGE(0x08, 0x0b) AM_DEVREADWRITE_MOD("pit8253", pit8253_device, read, write, xor<3>)
+ AM_RANGE(0x0c, 0x0c) AM_WRITE(vector06_color_set)
+ AM_RANGE(0x10, 0x10) AM_WRITE(vector06_ramdisk_w)
+ AM_RANGE(0x14, 0x15) AM_DEVREADWRITE("aysnd", ay8910_device, data_r, data_address_w)
+ AM_RANGE(0x18, 0x18) AM_DEVREADWRITE("wd1793", kr1818vg93_device, data_r, data_w)
+ AM_RANGE(0x19, 0x19) AM_DEVREADWRITE("wd1793", kr1818vg93_device, sector_r, sector_w)
+ AM_RANGE(0x1a, 0x1a) AM_DEVREADWRITE("wd1793", kr1818vg93_device, track_r, track_w)
+ AM_RANGE(0x1b, 0x1b) AM_DEVREADWRITE("wd1793", kr1818vg93_device, status_r, cmd_w)
+ AM_RANGE(0x1c, 0x1c) AM_WRITE(vector06_disc_w)
ADDRESS_MAP_END
/* Input ports */
@@ -156,7 +160,6 @@ SLOT_INTERFACE_END
static MACHINE_CONFIG_START( vector06 )
/* basic machine hardware */
MCFG_CPU_ADD("maincpu", I8080, 3000000) // actual speed is wrong due to unemulated latency
-// MCFG_CPU_ADD("maincpu", Z80, 3000000)
MCFG_CPU_PROGRAM_MAP(vector06_mem)
MCFG_CPU_IO_MAP(vector06_io)
MCFG_I8085A_STATUS(WRITE8(vector06_state, vector06_status_callback))
diff --git a/src/mame/includes/vector06.h b/src/mame/includes/vector06.h
index 19e17d6524c..ffd003f2261 100644
--- a/src/mame/includes/vector06.h
+++ b/src/mame/includes/vector06.h
@@ -13,19 +13,15 @@
#include "bus/generic/slot.h"
#include "cpu/i8085/i8085.h"
-#include "cpu/z80/z80.h"
#include "imagedev/cassette.h"
#include "imagedev/flopdrv.h"
-#include "machine/i8255.h"
-#include "machine/pit8253.h"
#include "machine/ram.h"
#include "machine/wd_fdc.h"
#include "sound/ay8910.h"
#include "sound/spkrdev.h"
-#include "sound/wave.h"
class vector06_state : public driver_device
@@ -40,9 +36,6 @@ public:
m_fdc(*this, "wd1793"),
m_floppy0(*this, "wd1793:0"),
m_floppy1(*this, "wd1793:1"),
- m_ppi(*this, "ppi8255"),
- m_ppi2(*this, "ppi8255_2"),
- m_pit8253(*this, "pit8253"),
m_ay(*this, "aysnd"),
m_ram(*this, RAM_TAG),
m_palette(*this, "palette"),
@@ -65,15 +58,9 @@ public:
DECLARE_WRITE8_MEMBER(vector06_romdisk_portb_w);
DECLARE_WRITE8_MEMBER(vector06_romdisk_porta_w);
DECLARE_WRITE8_MEMBER(vector06_romdisk_portc_w);
- DECLARE_READ8_MEMBER(vector06_8255_1_r);
- DECLARE_WRITE8_MEMBER(vector06_8255_1_w);
- DECLARE_READ8_MEMBER(vector06_8255_2_r);
- DECLARE_WRITE8_MEMBER(vector06_8255_2_w);
DECLARE_WRITE8_MEMBER(vector06_disc_w);
DECLARE_WRITE8_MEMBER(vector06_status_callback);
DECLARE_WRITE8_MEMBER(vector06_ramdisk_w);
- DECLARE_WRITE8_MEMBER(pit8253_w);
- DECLARE_READ8_MEMBER(pit8253_r);
DECLARE_WRITE_LINE_MEMBER(speaker_w);
void vector06_set_video_mode(int width);
virtual void machine_start() override;
@@ -93,9 +80,6 @@ private:
required_device<kr1818vg93_device> m_fdc;
required_device<floppy_connector> m_floppy0;
required_device<floppy_connector> m_floppy1;
- required_device<i8255_device> m_ppi;
- required_device<i8255_device> m_ppi2;
- required_device<pit8253_device> m_pit8253;
required_device<ay8910_device> m_ay;
required_device<ram_device> m_ram;
required_device<palette_device> m_palette;
diff --git a/src/mame/machine/vector06.cpp b/src/mame/machine/vector06.cpp
index 3b0d3b6be42..edb92de7b08 100644
--- a/src/mame/machine/vector06.cpp
+++ b/src/mame/machine/vector06.cpp
@@ -94,26 +94,6 @@ WRITE8_MEMBER( vector06_state::vector06_romdisk_portc_w )
m_romdisk_msb = data;
}
-READ8_MEMBER( vector06_state::vector06_8255_1_r )
-{
- return m_ppi->read(space, offset^3);
-}
-
-WRITE8_MEMBER( vector06_state::vector06_8255_1_w )
-{
- m_ppi->write(space, offset^3, data);
-}
-
-READ8_MEMBER( vector06_state::vector06_8255_2_r )
-{
- return m_ppi2->read(space, offset^3);
-}
-
-WRITE8_MEMBER( vector06_state::vector06_8255_2_w )
-{
- m_ppi2->write(space, offset^3, data);
-}
-
INTERRUPT_GEN_MEMBER(vector06_state::vector06_interrupt)
{
device.execute().set_input_line(0, HOLD_LINE);
@@ -206,16 +186,6 @@ WRITE_LINE_MEMBER(vector06_state::speaker_w)
m_speaker->level_w(state);
}
-WRITE8_MEMBER(vector06_state::pit8253_w)
-{
- m_pit8253->write(space, offset ^ 3, data);
-}
-
-READ8_MEMBER(vector06_state::pit8253_r)
-{
- return m_pit8253->read(space, offset ^ 3);
-}
-
void vector06_state::machine_start()
{
m_reset_check_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(vector06_state::reset_check_callback), this));