diff options
Diffstat (limited to 'src/mame/drivers/vector06.cpp')
-rw-r--r-- | src/mame/drivers/vector06.cpp | 33 |
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)) |