summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/vector06.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/vector06.cpp')
-rw-r--r--src/mame/drivers/vector06.cpp33
1 files changed, 18 insertions, 15 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))