diff options
author | Miodrag Milanovic <mmicko@gmail.com> | 2014-03-18 13:31:41 +0000 |
---|---|---|
committer | Miodrag Milanovic <mmicko@gmail.com> | 2014-03-18 13:31:41 +0000 |
commit | 59674b3fdf7b4c909a054c342fae590f7329445c (patch) | |
tree | 689decb8a5db028decb5589db738b022e570cd16 /src/mess/drivers | |
parent | e1af1a20967b33ee7b320ba451efb752a862c3c4 (diff) |
legacy wd17xx is now also a modern device (nw)
Diffstat (limited to 'src/mess/drivers')
-rw-r--r-- | src/mess/drivers/apf.c | 4 | ||||
-rw-r--r-- | src/mess/drivers/fm7.c | 24 | ||||
-rw-r--r-- | src/mess/drivers/fmtowns.c | 41 | ||||
-rw-r--r-- | src/mess/drivers/mbc200.c | 2 | ||||
-rw-r--r-- | src/mess/drivers/ms0515.c | 8 | ||||
-rw-r--r-- | src/mess/drivers/myb3k.c | 6 | ||||
-rw-r--r-- | src/mess/drivers/mz2000.c | 10 | ||||
-rw-r--r-- | src/mess/drivers/mz2500.c | 14 | ||||
-rw-r--r-- | src/mess/drivers/nascom1.c | 2 | ||||
-rw-r--r-- | src/mess/drivers/osbexec.c | 8 | ||||
-rw-r--r-- | src/mess/drivers/pk8020.c | 1 | ||||
-rw-r--r-- | src/mess/drivers/ql.c | 28 | ||||
-rw-r--r-- | src/mess/drivers/rainbow.c | 64 | ||||
-rw-r--r-- | src/mess/drivers/rm380z.c | 8 | ||||
-rw-r--r-- | src/mess/drivers/smc777.c | 20 | ||||
-rw-r--r-- | src/mess/drivers/trs80.c | 40 | ||||
-rw-r--r-- | src/mess/drivers/unixpc.c | 6 | ||||
-rw-r--r-- | src/mess/drivers/vector06.c | 8 | ||||
-rw-r--r-- | src/mess/drivers/x1.c | 20 | ||||
-rw-r--r-- | src/mess/drivers/z100.c | 18 | ||||
-rw-r--r-- | src/mess/drivers/z80ne.c | 3 |
21 files changed, 163 insertions, 172 deletions
diff --git a/src/mess/drivers/apf.c b/src/mess/drivers/apf.c index 27f36938fba..f8f7a521b5a 100644 --- a/src/mess/drivers/apf.c +++ b/src/mess/drivers/apf.c @@ -258,7 +258,7 @@ WRITE8_MEMBER( apf_state::apf_dischw_w) /* bit 3 is index of drive to select */ UINT8 drive = BIT(data, 3); - wd17xx_set_drive(m_fdc, drive); + m_fdc->set_drive(drive); floppy_image_legacy *floppy; floppy = flopimg_get_image(floppy_get_device(machine(), drive)); floppy_mon_w(floppy_get_device(machine(), drive), (floppy != NULL) ? 0 : 1); @@ -293,7 +293,7 @@ static ADDRESS_MAP_START( apfimag_map, AS_PROGRAM, 8, apf_state ) AM_RANGE( 0x6000, 0x63ff) AM_MIRROR(0x03fc) AM_DEVREADWRITE("pia1", pia6821_device, read, write) // These need to be confirmed, disk does not work AM_RANGE( 0x6400, 0x64ff) AM_READWRITE(serial_r, serial_w) - AM_RANGE( 0x6500, 0x6503) AM_DEVREADWRITE_LEGACY("fdc", wd17xx_r, wd17xx_w) + AM_RANGE( 0x6500, 0x6503) AM_DEVREADWRITE("fdc", fd1771_device, read, write) AM_RANGE( 0x6600, 0x6600) AM_WRITE(apf_dischw_w) AM_RANGE( 0xa000, 0xbfff) AM_RAM // standard AM_RANGE( 0xc000, 0xdfff) AM_RAM // expansion diff --git a/src/mess/drivers/fm7.c b/src/mess/drivers/fm7.c index ef6b3333304..da5cd0f0a62 100644 --- a/src/mess/drivers/fm7.c +++ b/src/mess/drivers/fm7.c @@ -432,19 +432,19 @@ WRITE_LINE_MEMBER(fm7_state::fm7_fdc_drq_w) READ8_MEMBER(fm7_state::fm7_fdc_r) { - device_t* dev = machine().device("fdc"); + mb8877_device *fdc = machine().device<mb8877_device>("fdc"); UINT8 ret = 0; switch(offset) { case 0: - return wd17xx_status_r(dev,space, offset); + return fdc->status_r(space, offset); case 1: - return wd17xx_track_r(dev,space, offset); + return fdc->track_r(space, offset); case 2: - return wd17xx_sector_r(dev,space, offset); + return fdc->sector_r(space, offset); case 3: - return wd17xx_data_r(dev,space, offset); + return fdc->data_r(space, offset); case 4: return m_fdc_side | 0xfe; case 5: @@ -466,24 +466,24 @@ READ8_MEMBER(fm7_state::fm7_fdc_r) WRITE8_MEMBER(fm7_state::fm7_fdc_w) { - device_t* dev = machine().device("fdc"); + mb8877_device *fdc = machine().device<mb8877_device>("fdc"); switch(offset) { case 0: - wd17xx_command_w(dev,space, offset,data); + fdc->command_w(space, offset,data); break; case 1: - wd17xx_track_w(dev,space, offset,data); + fdc->track_w(space, offset,data); break; case 2: - wd17xx_sector_w(dev,space, offset,data); + fdc->sector_w(space, offset,data); break; case 3: - wd17xx_data_w(dev,space, offset,data); + fdc->data_w(space, offset,data); break; case 4: m_fdc_side = data & 0x01; - wd17xx_set_side(dev,data & 0x01); + fdc->set_side(data & 0x01); logerror("FDC: wrote %02x to 0x%04x (side)\n",data,offset+0xfd18); break; case 5: @@ -494,7 +494,7 @@ WRITE8_MEMBER(fm7_state::fm7_fdc_w) } else { - wd17xx_set_drive(dev,data & 0x03); + fdc->set_drive(data & 0x03); floppy_mon_w(floppy_get_device(machine(), data & 0x03), !BIT(data, 7)); floppy_drive_set_ready_state(floppy_get_device(machine(), data & 0x03), data & 0x80,0); logerror("FDC: wrote %02x to 0x%04x (drive)\n",data,offset+0xfd18); diff --git a/src/mess/drivers/fmtowns.c b/src/mess/drivers/fmtowns.c index 629cbd57073..cd7070feb43 100644 --- a/src/mess/drivers/fmtowns.c +++ b/src/mess/drivers/fmtowns.c @@ -499,20 +499,19 @@ WRITE_LINE_MEMBER( towns_state::mb8877a_drq_w ) READ8_MEMBER(towns_state::towns_floppy_r) { - device_t* fdc = m_fdc; device_image_interface* image; UINT8 ret; switch(offset) { case 0x00: - return wd17xx_status_r(fdc,space, offset/2); + return m_fdc->status_r(space, offset/2); case 0x02: - return wd17xx_track_r(fdc,space, offset/2); + return m_fdc->track_r(space, offset/2); case 0x04: - return wd17xx_sector_r(fdc,space, offset/2); + return m_fdc->sector_r(space, offset/2); case 0x06: - return wd17xx_data_r(fdc,space, offset/2); + return m_fdc->data_r(space, offset/2); case 0x08: // selected drive status? //logerror("FDC: read from offset 0x08\n"); ret = 0x80; // always set @@ -548,8 +547,6 @@ READ8_MEMBER(towns_state::towns_floppy_r) WRITE8_MEMBER(towns_state::towns_floppy_w) { - device_t* fdc = m_fdc; - switch(offset) { case 0x00: @@ -558,16 +555,16 @@ WRITE8_MEMBER(towns_state::towns_floppy_w) return; if(data == 0xfe) return; - wd17xx_command_w(fdc,space, offset/2,data); + m_fdc->command_w(space, offset/2,data); break; case 0x02: - wd17xx_track_w(fdc,space, offset/2,data); + m_fdc->track_w(space, offset/2,data); break; case 0x04: - wd17xx_sector_w(fdc,space, offset/2,data); + m_fdc->sector_w(space, offset/2,data); break; case 0x06: - wd17xx_data_w(fdc,space, offset/2,data); + m_fdc->data_w(space, offset/2,data); break; case 0x08: // bit 5 - CLKSEL @@ -576,8 +573,8 @@ WRITE8_MEMBER(towns_state::towns_floppy_w) floppy_mon_w(floppy_get_device(space.machine(), m_towns_selected_drive-1), !BIT(data, 4)); floppy_drive_set_ready_state(floppy_get_device(space.machine(), m_towns_selected_drive-1), data & 0x10,0); } - wd17xx_set_side(fdc,(data & 0x04)>>2); - wd17xx_dden_w(fdc, BIT(~data, 1)); + m_fdc->set_side((data & 0x04)>>2); + m_fdc->dden_w(BIT(~data, 1)); m_towns_fdc_irq6mask = data & 0x01; logerror("FDC: write %02x to offset 0x08\n",data); @@ -590,19 +587,19 @@ WRITE8_MEMBER(towns_state::towns_floppy_w) break; case 0x01: m_towns_selected_drive = 1; - wd17xx_set_drive(fdc,0); + m_fdc->set_drive(0); break; case 0x02: m_towns_selected_drive = 2; - wd17xx_set_drive(fdc,1); + m_fdc->set_drive(1); break; case 0x04: m_towns_selected_drive = 3; - wd17xx_set_drive(fdc,2); + m_fdc->set_drive(2); break; case 0x08: m_towns_selected_drive = 4; - wd17xx_set_drive(fdc,3); + m_fdc->set_drive(3); break; } logerror("FDC: drive select %02x\n",data); @@ -613,15 +610,13 @@ WRITE8_MEMBER(towns_state::towns_floppy_w) } READ16_MEMBER(towns_state::towns_fdc_dma_r) -{ - device_t* fdc = m_fdc; - return wd17xx_data_r(fdc,generic_space(), 0); +{ + return m_fdc->data_r(generic_space(), 0); } WRITE16_MEMBER(towns_state::towns_fdc_dma_w) { - device_t* fdc = m_fdc; - wd17xx_data_w(fdc,generic_space(), 0,data); + m_fdc->data_w(generic_space(), 0,data); } /* @@ -2601,7 +2596,7 @@ void marty_state::driver_start() void towns_state::machine_reset() { address_space &program = m_maincpu->space(AS_PROGRAM); - m_fdc = machine().device("fdc"); + m_fdc = machine().device<mb8877_device>("fdc"); m_messram = m_ram; m_cdrom = machine().device<cdrom_image_device>("cdrom"); m_cdda = machine().device<cdda_device>("cdda"); diff --git a/src/mess/drivers/mbc200.c b/src/mess/drivers/mbc200.c index d1941b0e33f..b541abbd996 100644 --- a/src/mess/drivers/mbc200.c +++ b/src/mess/drivers/mbc200.c @@ -85,7 +85,7 @@ static ADDRESS_MAP_START( mbc200_io , AS_IO, 8, mbc200_state) ADDRESS_MAP_GLOBAL_MASK(0xff) AM_RANGE(0xe0, 0xe0) AM_DEVREADWRITE("i8251_1", i8251_device, data_r, data_w) AM_RANGE(0xe1, 0xe1) AM_DEVREADWRITE("i8251_1", i8251_device, status_r, control_w) - AM_RANGE(0xe4, 0xe7) AM_DEVREADWRITE_LEGACY("fdc", wd17xx_r, wd17xx_w) + AM_RANGE(0xe4, 0xe7) AM_DEVREADWRITE("fdc", mb8876_device, read, write) AM_RANGE(0xea, 0xea) AM_READ(ppi_hs_r) AM_RANGE(0xe8, 0xeb) AM_DEVREADWRITE("ppi8255_2", i8255_device, read, write) AM_RANGE(0xec, 0xec) AM_DEVREADWRITE("i8251_2", i8251_device, data_r, data_w) diff --git a/src/mess/drivers/ms0515.c b/src/mess/drivers/ms0515.c index ef9b8447275..7de11d248f9 100644 --- a/src/mess/drivers/ms0515.c +++ b/src/mess/drivers/ms0515.c @@ -70,10 +70,10 @@ static ADDRESS_MAP_START(ms0515_mem, AS_PROGRAM, 16, ms0515_state) AM_RANGE(0177600, 0177607) AM_DEVREADWRITE8("ppi8255_1", i8255_device, read, write, 0x00ff) - AM_RANGE(0177640, 0177641) AM_DEVREADWRITE8_LEGACY("vg93", wd17xx_status_r, wd17xx_command_w,0x00ff) - AM_RANGE(0177642, 0177643) AM_DEVREADWRITE8_LEGACY("vg93", wd17xx_track_r, wd17xx_track_w,0x00ff) - AM_RANGE(0177644, 0177645) AM_DEVREADWRITE8_LEGACY("vg93", wd17xx_sector_r, wd17xx_sector_w,0x00ff) - AM_RANGE(0177646, 0177647) AM_DEVREADWRITE8_LEGACY("vg93", wd17xx_data_r, wd17xx_data_w,0x00ff) + AM_RANGE(0177640, 0177641) AM_DEVREADWRITE8("vg93", fd1793_device, status_r, command_w,0x00ff) + AM_RANGE(0177642, 0177643) AM_DEVREADWRITE8("vg93", fd1793_device, track_r, track_w,0x00ff) + AM_RANGE(0177644, 0177645) AM_DEVREADWRITE8("vg93", fd1793_device, sector_r, sector_w,0x00ff) + AM_RANGE(0177646, 0177647) AM_DEVREADWRITE8("vg93", fd1793_device, data_r, data_w,0x00ff) //AM_RANGE(0177700, 0177701) // read data //AM_RANGE(0177720, 0177721) // write data // protocol S2 diff --git a/src/mess/drivers/myb3k.c b/src/mess/drivers/myb3k.c index 193e7832cb6..ba169605f98 100644 --- a/src/mess/drivers/myb3k.c +++ b/src/mess/drivers/myb3k.c @@ -126,10 +126,10 @@ WRITE8_MEMBER( myb3k_state::myb3k_video_mode_w ) WRITE8_MEMBER( myb3k_state::myb3k_fdc_output_w ) { /* TODO: complete guesswork! (it just does a 0x24 -> 0x20 in there) */ - wd17xx_set_drive(m_fdc, data & 3); + m_fdc->set_drive(data & 3); floppy_mon_w(floppy_get_device(machine(), data & 3), !(data & 4) ? 1: 0); floppy_drive_set_ready_state(floppy_get_device(machine(), data & 3), data & 0x4,0); - //wd17xx_set_side(m_fdc, (data & 0x10)>>4); + //m_fdc->set_side((data & 0x10)>>4); } static ADDRESS_MAP_START(myb3k_map, AS_PROGRAM, 8, myb3k_state) @@ -149,7 +149,7 @@ static ADDRESS_MAP_START(myb3k_io, AS_IO, 8, myb3k_state) AM_RANGE(0x06, 0x06) AM_READ_PORT("DSW2") AM_RANGE(0x1c, 0x1c) AM_WRITE(myb3k_6845_address_w) AM_RANGE(0x1d, 0x1d) AM_WRITE(myb3k_6845_data_w) - AM_RANGE(0x20, 0x23) AM_DEVREADWRITE_LEGACY("fdc",wd17xx_r,wd17xx_w) //FDC, almost likely wd17xx + AM_RANGE(0x20, 0x23) AM_DEVREADWRITE("fdc", mb8877_device, read, write) //FDC, almost likely wd17xx AM_RANGE(0x24, 0x24) AM_WRITE(myb3k_fdc_output_w) // AM_RANGE(0x520,0x524) mirror of above ADDRESS_MAP_END diff --git a/src/mess/drivers/mz2000.c b/src/mess/drivers/mz2000.c index 9bcc5bc9b8d..b9305d6013d 100644 --- a/src/mess/drivers/mz2000.c +++ b/src/mess/drivers/mz2000.c @@ -120,7 +120,7 @@ public: protected: required_device<cpu_device> m_maincpu; - required_device<device_t> m_mb8877a; + required_device<mb8877_device> m_mb8877a; required_device<pit8253_device> m_pit8253; required_device<beep_device> m_beeper; required_memory_region m_region_tvram; @@ -343,7 +343,7 @@ WRITE8_MEMBER(mz2000_state::mz2000_gvram_bank_w) READ8_MEMBER(mz2000_state::mz2000_wd17xx_r) { if(m_has_fdc) - return wd17xx_r(m_mb8877a, space, offset) ^ 0xff; + return m_mb8877a->read(space, offset) ^ 0xff; return 0xff; } @@ -351,7 +351,7 @@ READ8_MEMBER(mz2000_state::mz2000_wd17xx_r) WRITE8_MEMBER(mz2000_state::mz2000_wd17xx_w) { if(m_has_fdc) - wd17xx_w(m_mb8877a, space, offset, data ^ 0xff); + m_mb8877a->write(space, offset, data ^ 0xff); } WRITE8_MEMBER(mz2000_state::mz2000_fdc_w) @@ -359,12 +359,12 @@ WRITE8_MEMBER(mz2000_state::mz2000_fdc_w) switch(offset+0xdc) { case 0xdc: - wd17xx_set_drive(m_mb8877a,data & 3); + m_mb8877a->set_drive(data & 3); floppy_mon_w(floppy_get_device(machine(), data & 3), (data & 0x80) ? CLEAR_LINE : ASSERT_LINE); floppy_drive_set_ready_state(floppy_get_device(machine(), data & 3), 1,0); break; case 0xdd: - wd17xx_set_side(m_mb8877a,(data & 1)); + m_mb8877a->set_side((data & 1)); break; } } diff --git a/src/mess/drivers/mz2500.c b/src/mess/drivers/mz2500.c index bfbd7fb8ef6..14308101b55 100644 --- a/src/mess/drivers/mz2500.c +++ b/src/mess/drivers/mz2500.c @@ -1184,17 +1184,17 @@ WRITE8_MEMBER(mz2500_state::mz2500_irq_data_w) WRITE8_MEMBER(mz2500_state::mz2500_fdc_w) { - device_t* dev = machine().device("mb8877a"); + mb8877_device *fdc = machine().device<mb8877_device>("mb8877a"); switch(offset+0xdc) { case 0xdc: - wd17xx_set_drive(dev,data & 3); + fdc->set_drive(data & 3); floppy_mon_w(floppy_get_device(machine(), data & 3), (data & 0x80) ? CLEAR_LINE : ASSERT_LINE); floppy_drive_set_ready_state(floppy_get_device(machine(), data & 3), 1,0); break; case 0xdd: - wd17xx_set_side(dev,(data & 1)); + fdc->set_side((data & 1)); break; } } @@ -1282,14 +1282,14 @@ WRITE8_MEMBER(mz2500_state::palette4096_io_w) READ8_MEMBER(mz2500_state::mz2500_wd17xx_r) { - device_t *device = machine().device("mb8877a"); - return wd17xx_r(device, space, offset) ^ m_fdc_reverse; + mb8877_device *fdc = machine().device<mb8877_device>("mb8877a"); + return fdc->read(space, offset) ^ m_fdc_reverse; } WRITE8_MEMBER(mz2500_state::mz2500_wd17xx_w) { - device_t *device = machine().device("mb8877a"); - wd17xx_w(device, space, offset, data ^ m_fdc_reverse); + mb8877_device *fdc = machine().device<mb8877_device>("mb8877a"); + fdc->write(space, offset, data ^ m_fdc_reverse); } READ8_MEMBER(mz2500_state::mz2500_bplane_latch_r) diff --git a/src/mess/drivers/nascom1.c b/src/mess/drivers/nascom1.c index a9b74d45e75..14abe9a1e40 100644 --- a/src/mess/drivers/nascom1.c +++ b/src/mess/drivers/nascom1.c @@ -105,7 +105,7 @@ static ADDRESS_MAP_START( nascom2_io, AS_IO, 8, nascom1_state ) AM_RANGE(0x01, 0x01) AM_READWRITE(nascom1_port_01_r, nascom1_port_01_w) AM_RANGE(0x02, 0x02) AM_READ(nascom1_port_02_r) AM_RANGE(0x04, 0x07) AM_DEVREADWRITE("z80pio", z80pio_device, read, write ) - AM_RANGE(0xe0, 0xe3) AM_DEVREADWRITE_LEGACY("wd1793", wd17xx_r, wd17xx_w) + AM_RANGE(0xe0, 0xe3) AM_DEVREADWRITE("wd1793", fd1793_device, read, write) AM_RANGE(0xe4, 0xe4) AM_READWRITE(nascom2_fdc_select_r, nascom2_fdc_select_w) AM_RANGE(0xe5, 0xe5) AM_READ(nascom2_fdc_status_r) ADDRESS_MAP_END diff --git a/src/mess/drivers/osbexec.c b/src/mess/drivers/osbexec.c index 20f3c8e9e39..7d1b09bd542 100644 --- a/src/mess/drivers/osbexec.c +++ b/src/mess/drivers/osbexec.c @@ -213,7 +213,7 @@ static ADDRESS_MAP_START( osbexec_io, AS_IO, 8, osbexec_state ) ADDRESS_MAP_UNMAP_HIGH AM_RANGE( 0x00, 0x03 ) AM_MIRROR( 0xff00 ) AM_DEVREADWRITE( "pia_0", pia6821_device, read, write) /* 6821 PIA @ UD12 */ /* 0x04 - 0x07 - 8253 @UD1 */ - AM_RANGE( 0x08, 0x0B ) AM_MIRROR( 0xff00 ) AM_DEVREADWRITE_LEGACY("mb8877", wd17xx_r, wd17xx_w ) /* MB8877 @ UB17 input clock = 1MHz */ + AM_RANGE( 0x08, 0x0B ) AM_MIRROR( 0xff00 ) AM_DEVREADWRITE("mb8877", mb8877_device, read, write ) /* MB8877 @ UB17 input clock = 1MHz */ AM_RANGE( 0x0C, 0x0F ) AM_MIRROR( 0xff00 ) AM_DEVREADWRITE("sio", z80sio2_device, ba_cd_r, ba_cd_w ) /* SIO @ UD4 */ AM_RANGE( 0x10, 0x13 ) AM_MIRROR( 0xff00 ) AM_DEVREADWRITE( "pia_1", pia6821_device, read, write) /* 6821 PIA @ UD8 */ AM_RANGE( 0x14, 0x17 ) AM_MIRROR( 0xff00 ) AM_MASK( 0xff00 ) AM_READ(osbexec_kbd_r ) /* KBD */ @@ -384,14 +384,14 @@ WRITE8_MEMBER(osbexec_state::osbexec_pia0_b_w) switch ( data & 0x06 ) { case 0x02: - wd17xx_set_drive( m_mb8877, 1 ); + m_mb8877->set_drive( 1 ); break; case 0x04: - wd17xx_set_drive( m_mb8877, 0 ); + m_mb8877->set_drive( 0 ); break; } - wd17xx_dden_w( m_mb8877, ( data & 0x01 ) ? 1 : 0 ); + m_mb8877->dden_w(( data & 0x01 ) ? 1 : 0 ); } diff --git a/src/mess/drivers/pk8020.c b/src/mess/drivers/pk8020.c index e4f9c1b95cc..dabab42bfde 100644 --- a/src/mess/drivers/pk8020.c +++ b/src/mess/drivers/pk8020.c @@ -11,7 +11,6 @@ #include "emu.h" #include "cpu/i8085/i8085.h" #include "machine/i8255.h" -#include "machine/wd17xx.h" #include "imagedev/flopdrv.h" #include "formats/basicdsk.h" #include "includes/pk8020.h" diff --git a/src/mess/drivers/ql.c b/src/mess/drivers/ql.c index 691a8796d4b..435c09d2e92 100644 --- a/src/mess/drivers/ql.c +++ b/src/mess/drivers/ql.c @@ -272,10 +272,10 @@ READ8_MEMBER( ql_state::disk_io_r ) switch (offset) { - case 0x0000 : result=wd17xx_r(m_fdc, space, offset); break; - case 0x0001 : result=wd17xx_r(m_fdc, space, offset); break; - case 0x0002 : result=wd17xx_r(m_fdc, space, offset); break; - case 0x0003 : result=wd17xx_r(m_fdc, space, offset); break; + case 0x0000 : result=m_fdc->read(space, offset); break; + case 0x0001 : result=m_fdc->read(space, offset); break; + case 0x0002 : result=m_fdc->read(space, offset); break; + case 0x0003 : result=m_fdc->read(space, offset); break; default : logerror("%s DiskIO undefined read : from %08X\n",machine().describe_context(),m_disk_io_base+offset); break; } @@ -289,10 +289,10 @@ WRITE8_MEMBER( ql_state::disk_io_w ) switch (offset) { - case 0x0000 : wd17xx_w(m_fdc, space, offset, data); break; - case 0x0001 : wd17xx_w(m_fdc, space, offset, data); break; - case 0x0002 : wd17xx_w(m_fdc, space, offset, data); break; - case 0x0003 : wd17xx_w(m_fdc, space, offset, data); break; + case 0x0000 : m_fdc->write(space, offset, data); break; + case 0x0001 : m_fdc->write(space, offset, data); break; + case 0x0002 : m_fdc->write(space, offset, data); break; + case 0x0003 : m_fdc->write(space, offset, data); break; case 0x0004 : if(m_disk_type==DISK_TYPE_SANDY) sandy_set_control(data);break; case 0x0008 : if(m_disk_type==DISK_TYPE_SANDY) @@ -332,12 +332,12 @@ READ8_MEMBER( ql_state::cart_rom_r ) void ql_state::trump_card_set_control(UINT8 data) { if(data & TRUMP_DRIVE0_MASK) - wd17xx_set_drive(m_fdc,0); + m_fdc->set_drive(0); if(data & TRUMP_DRIVE1_MASK) - wd17xx_set_drive(m_fdc,1); + m_fdc->set_drive(1); - wd17xx_set_side(m_fdc,(data & TRUMP_SIDE_MASK) >> TRUMP_SIDE_SHIFT); + m_fdc->set_side((data & TRUMP_SIDE_MASK) >> TRUMP_SIDE_SHIFT); } void ql_state::sandy_set_control(UINT8 data) @@ -347,12 +347,12 @@ void ql_state::sandy_set_control(UINT8 data) m_disk_io_byte=data; if(data & SANDY_DRIVE0_MASK) - wd17xx_set_drive(m_fdc,0); + m_fdc->set_drive(0); if(data & SANDY_DRIVE1_MASK) - wd17xx_set_drive(m_fdc,1); + m_fdc->set_drive(1); - wd17xx_set_side(m_fdc,(data & SANDY_SIDE_MASK) >> SANDY_SIDE_SHIFT); + m_fdc->set_side((data & SANDY_SIDE_MASK) >> SANDY_SIDE_SHIFT); if ((data & SANDY_SIDE_MASK) & (LOG_DISK_READ | LOG_DISK_WRITE)) { logerror("Accessing side 1\n"); diff --git a/src/mess/drivers/rainbow.c b/src/mess/drivers/rainbow.c index 53be7ae0b95..d31cb9f2635 100644 --- a/src/mess/drivers/rainbow.c +++ b/src/mess/drivers/rainbow.c @@ -459,10 +459,10 @@ static ADDRESS_MAP_START( rainbowz80_io, AS_IO, 8, rainbow_state) AM_RANGE(0x20, 0x20) AM_READWRITE(z80_generalstat_r, z80_diskdiag_read_w) // read to port 0x20 used by MS-DOS 2.x diskette loader. AM_RANGE(0x21, 0x21) AM_READWRITE(z80_generalstat_r, z80_diskdiag_write_w) AM_RANGE(0x40, 0x40) AM_READWRITE(z80_diskstatus_r, z80_diskcontrol_w) - AM_RANGE(0x60, 0x60) AM_DEVREADWRITE_LEGACY("wd1793", wd17xx_status_r, wd17xx_command_w) - AM_RANGE(0x61, 0x61) AM_DEVREADWRITE_LEGACY("wd1793", wd17xx_track_r, wd17xx_track_w) - AM_RANGE(0x62, 0x62) AM_DEVREADWRITE_LEGACY("wd1793", wd17xx_sector_r, wd17xx_sector_w) - AM_RANGE(0x63, 0x63) AM_DEVREADWRITE_LEGACY("wd1793", wd17xx_data_r, wd17xx_data_w) + AM_RANGE(0x60, 0x60) AM_DEVREADWRITE("wd1793", fd1793_device ,status_r, command_w) + AM_RANGE(0x61, 0x61) AM_DEVREADWRITE("wd1793", fd1793_device, track_r, track_w) + AM_RANGE(0x62, 0x62) AM_DEVREADWRITE("wd1793", fd1793_device, sector_r, sector_w) + AM_RANGE(0x63, 0x63) AM_DEVREADWRITE("wd1793", fd1793_device, data_r, data_w) ADDRESS_MAP_END /* Input ports */ @@ -902,39 +902,39 @@ WRITE8_MEMBER(rainbow_state::z80_diskdiag_write_w) // ********************************************************************** READ8_MEMBER(rainbow_state::z80_diskstatus_r) { -static int last_track; -int track = wd17xx_track_r(m_fdc, space, 0); + static int last_track; + int track = m_fdc->track_r( space, 0); -if (track != last_track) - printf("\n%02d",track); -last_track = track; + if (track != last_track) + printf("\n%02d",track); + last_track = track; -// 40H diskette status Register **** READ ONLY *** ( 4-60 of TM100.pdf ) + // 40H diskette status Register **** READ ONLY *** ( 4-60 of TM100.pdf ) -// AND 00111011 - return what was WRITTEN to D5-D3, D1, D0 previously -// (except D7,D6,D2) -int data = m_z80_diskcontrol && 0x3b; + // AND 00111011 - return what was WRITTEN to D5-D3, D1, D0 previously + // (except D7,D6,D2) + int data = m_z80_diskcontrol && 0x3b; -// D7: DRQ: reflects status of DATA REQUEST signal from FDC. -// '1' indicates that FDC has read data OR requires new write data. -data |= wd17xx_drq_r(m_fdc) ? 0x80 : 0x00; + // D7: DRQ: reflects status of DATA REQUEST signal from FDC. + // '1' indicates that FDC has read data OR requires new write data. + data |= m_fdc->drq_r() ? 0x80 : 0x00; -// D6: IRQ: indicates INTERRUPT REQUEST signal from FDC. Indicates that a -// status bit has changed. Set to 1 at the completion of any -// command (.. see page 207 or 5-25). -data |= wd17xx_intrq_r(m_fdc) ? 0x40 : 0x00; + // D6: IRQ: indicates INTERRUPT REQUEST signal from FDC. Indicates that a + // status bit has changed. Set to 1 at the completion of any + // command (.. see page 207 or 5-25). + data |= m_fdc->intrq_r() ? 0x40 : 0x00; -// D5: SIDE 0H: status of side select signal at J2 + J3 of RX50 controller. -// For 1 sided drives, this bit will always read low (0). + // D5: SIDE 0H: status of side select signal at J2 + J3 of RX50 controller. + // For 1 sided drives, this bit will always read low (0). -// D4: MOTOR 1 ON L: 0 = indicates MOTOR 1 ON bit is set in drive control reg. -// D3: MOTOR 0 ON L: 0 = indicates MOTOR 0 ON bit is set in drive " + // D4: MOTOR 1 ON L: 0 = indicates MOTOR 1 ON bit is set in drive control reg. + // D3: MOTOR 0 ON L: 0 = indicates MOTOR 0 ON bit is set in drive " -// D2: TG43 L : 0 = INDICATES TRACK > 43 SIGNAL FROM FDC TO DISK DRIVE. -data |= ( track > 43) ? 0x00 : 0x04; + // D2: TG43 L : 0 = INDICATES TRACK > 43 SIGNAL FROM FDC TO DISK DRIVE. + data |= ( track > 43) ? 0x00 : 0x04; -// D1: DS1 H: reflect status of bits 0 and 1 form disk.control reg. -// D0: DS0 H: " + // D1: DS1 H: reflect status of bits 0 and 1 form disk.control reg. + // D0: DS0 H: " return data; } @@ -960,14 +960,14 @@ WRITE8_MEMBER(rainbow_state::z80_diskcontrol_w) if (flopimg_get_image( floppy_get_device( machine(), drive ) ) != NULL) { selected_drive = drive; - wd17xx_set_drive(m_fdc, selected_drive); + m_fdc->set_drive(selected_drive); } // WD emulation (wd17xx.c) will ignore 'side select' if set to WD1793. // Is it safe to * always assume * single sided 400 K disks? - wd17xx_set_side(m_fdc, (data & 20) ? 1 : 0); + m_fdc->set_side((data & 20) ? 1 : 0); - wd17xx_dden_w(m_fdc, 0); /* SEE 'WRITE_TRACK' : 1 = SD; 0 = DD; enable double density */ + m_fdc->dden_w(0); /* SEE 'WRITE_TRACK' : 1 = SD; 0 = DD; enable double density */ output_set_value("driveled0", (selected_drive == 0) ? 1 : 0 ); output_set_value("driveled1", (selected_drive == 1) ? 1 : 0 ); @@ -1065,7 +1065,7 @@ WRITE8_MEMBER( rainbow_state::diagnostic_w ) // reset device when going from high to low, // restore command when going from low to high : - wd17xx_mr_w(m_fdc, (data & 1) ? 1 : 0); + m_fdc->mr_w((data & 1) ? 1 : 0); m_diagnostic = data; } diff --git a/src/mess/drivers/rm380z.c b/src/mess/drivers/rm380z.c index 332965f6930..df67e513211 100644 --- a/src/mess/drivers/rm380z.c +++ b/src/mess/drivers/rm380z.c @@ -101,10 +101,10 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( rm380z_io , AS_IO, 8, rm380z_state) ADDRESS_MAP_GLOBAL_MASK(0xff) AM_RANGE(0x00, 0xbf) AM_READWRITE(rm380z_portlow_r, rm380z_portlow_w) - AM_RANGE(0xc0, 0xc0) AM_DEVREADWRITE_LEGACY("wd1771", wd17xx_status_r, wd17xx_command_w) - AM_RANGE(0xc1, 0xc1) AM_DEVREADWRITE_LEGACY("wd1771", wd17xx_track_r, wd17xx_track_w) - AM_RANGE(0xc2, 0xc2) AM_DEVREADWRITE_LEGACY("wd1771", wd17xx_sector_r, wd17xx_sector_w) - AM_RANGE(0xc3, 0xc3) AM_DEVREADWRITE_LEGACY("wd1771", wd17xx_data_r, wd17xx_data_w) + AM_RANGE(0xc0, 0xc0) AM_DEVREADWRITE("wd1771", fd1771_device, status_r, command_w) + AM_RANGE(0xc1, 0xc1) AM_DEVREADWRITE("wd1771", fd1771_device, track_r, track_w) + AM_RANGE(0xc2, 0xc2) AM_DEVREADWRITE("wd1771", fd1771_device, sector_r, sector_w) + AM_RANGE(0xc3, 0xc3) AM_DEVREADWRITE("wd1771", fd1771_device, data_r, data_w) AM_RANGE(0xc4, 0xc4) AM_WRITE(disk_0_control) AM_RANGE(0xc5, 0xff) AM_READWRITE(rm380z_porthi_r, rm380z_porthi_w) ADDRESS_MAP_END diff --git a/src/mess/drivers/smc777.c b/src/mess/drivers/smc777.c index 84d636b6573..c59a70b77fc 100644 --- a/src/mess/drivers/smc777.c +++ b/src/mess/drivers/smc777.c @@ -402,13 +402,13 @@ READ8_MEMBER(smc777_state::smc777_fdc1_r) switch(offset) { case 0x00: - return wd17xx_status_r(m_fdc,space, offset) ^ 0xff; + return m_fdc->status_r(space, offset) ^ 0xff; case 0x01: - return wd17xx_track_r(m_fdc,space, offset) ^ 0xff; + return m_fdc->track_r(space, offset) ^ 0xff; case 0x02: - return wd17xx_sector_r(m_fdc,space, offset) ^ 0xff; + return m_fdc->sector_r(space, offset) ^ 0xff; case 0x03: - return wd17xx_data_r(m_fdc,space, offset) ^ 0xff; + return m_fdc->data_r(space, offset) ^ 0xff; case 0x04: //irq / drq status //popmessage("%02x %02x\n",m_fdc_irq_flag,m_fdc_drq_flag); @@ -425,21 +425,21 @@ WRITE8_MEMBER(smc777_state::smc777_fdc1_w) switch(offset) { case 0x00: - wd17xx_command_w(m_fdc,space, offset,data ^ 0xff); + m_fdc->command_w(space, offset,data ^ 0xff); break; case 0x01: - wd17xx_track_w(m_fdc,space, offset,data ^ 0xff); + m_fdc->track_w(space, offset,data ^ 0xff); break; case 0x02: - wd17xx_sector_w(m_fdc,space, offset,data ^ 0xff); + m_fdc->sector_w(space, offset,data ^ 0xff); break; case 0x03: - wd17xx_data_w(m_fdc,space, offset,data ^ 0xff); + m_fdc->data_w(space, offset,data ^ 0xff); break; case 0x04: // ---- xxxx select floppy drive (yes, 15 of them, A to P) - wd17xx_set_drive(m_fdc,data & 0x01); - // wd17xx_set_side(m_fdc,(data & 0x10)>>4); + m_fdc->set_drive(data & 0x01); + // m_fdc->set_side((data & 0x10)>>4); if(data & 0xf0) printf("floppy access %02x\n",data); break; diff --git a/src/mess/drivers/trs80.c b/src/mess/drivers/trs80.c index ec7564a4fae..ee753556302 100644 --- a/src/mess/drivers/trs80.c +++ b/src/mess/drivers/trs80.c @@ -158,10 +158,10 @@ static ADDRESS_MAP_START( model1_map, AS_PROGRAM, 8, trs80_state ) AM_RANGE(0x37e4, 0x37e7) AM_WRITE(trs80_cassunit_w) AM_RANGE(0x37e8, 0x37eb) AM_READWRITE(trs80_printer_r, trs80_printer_w) AM_RANGE(0x37ec, 0x37ec) AM_READ(trs80_wd179x_r) - AM_RANGE(0x37ec, 0x37ec) AM_DEVWRITE_LEGACY("wd179x", wd17xx_command_w) - AM_RANGE(0x37ed, 0x37ed) AM_DEVREADWRITE_LEGACY("wd179x", wd17xx_track_r, wd17xx_track_w) - AM_RANGE(0x37ee, 0x37ee) AM_DEVREADWRITE_LEGACY("wd179x", wd17xx_sector_r, wd17xx_sector_w) - AM_RANGE(0x37ef, 0x37ef) AM_DEVREADWRITE_LEGACY("wd179x", wd17xx_data_r, wd17xx_data_w) + AM_RANGE(0x37ec, 0x37ec) AM_DEVWRITE("wd179x", fd1793_device, command_w) + AM_RANGE(0x37ed, 0x37ed) AM_DEVREADWRITE("wd179x", fd1793_device, track_r, track_w) + AM_RANGE(0x37ee, 0x37ee) AM_DEVREADWRITE("wd179x", fd1793_device, sector_r, sector_w) + AM_RANGE(0x37ef, 0x37ef) AM_DEVREADWRITE("wd179x", fd1793_device, data_r, data_w) AM_RANGE(0x3800, 0x38ff) AM_MIRROR(0x300) AM_READ(trs80_keyboard_r) AM_RANGE(0x3c00, 0x3fff) AM_READWRITE(trs80_videoram_r, trs80_videoram_w) AM_SHARE("p_videoram") AM_RANGE(0x4000, 0xffff) AM_RAM @@ -208,10 +208,10 @@ static ADDRESS_MAP_START( model3_io, AS_IO, 8, trs80_state ) AM_RANGE(0xeb, 0xeb) AM_READWRITE(trs80m4_eb_r, trs80m4_eb_w) AM_RANGE(0xec, 0xef) AM_READWRITE(trs80m4_ec_r, trs80m4_ec_w) AM_RANGE(0xf0, 0xf0) AM_READ(trs80_wd179x_r) - AM_RANGE(0xf0, 0xf0) AM_DEVWRITE_LEGACY("wd179x", wd17xx_command_w) - AM_RANGE(0xf1, 0xf1) AM_DEVREADWRITE_LEGACY("wd179x", wd17xx_track_r, wd17xx_track_w) - AM_RANGE(0xf2, 0xf2) AM_DEVREADWRITE_LEGACY("wd179x", wd17xx_sector_r, wd17xx_sector_w) - AM_RANGE(0xf3, 0xf3) AM_DEVREADWRITE_LEGACY("wd179x", wd17xx_data_r, wd17xx_data_w) + AM_RANGE(0xf0, 0xf0) AM_DEVWRITE("wd179x", fd1793_device, command_w) + AM_RANGE(0xf1, 0xf1) AM_DEVREADWRITE("wd179x", fd1793_device, track_r, track_w) + AM_RANGE(0xf2, 0xf2) AM_DEVREADWRITE("wd179x", fd1793_device, sector_r, sector_w) + AM_RANGE(0xf3, 0xf3) AM_DEVREADWRITE("wd179x", fd1793_device, data_r, data_w) AM_RANGE(0xf4, 0xf4) AM_WRITE(trs80m4_f4_w) AM_RANGE(0xf8, 0xfb) AM_READWRITE(trs80_printer_r, trs80_printer_w) AM_RANGE(0xfc, 0xff) AM_READWRITE(trs80m4_ff_r, trs80m4_ff_w) @@ -230,10 +230,10 @@ static ADDRESS_MAP_START( model4_io, AS_IO, 8, trs80_state ) AM_RANGE(0xeb, 0xeb) AM_READWRITE(trs80m4_eb_r, trs80m4_eb_w) AM_RANGE(0xec, 0xef) AM_READWRITE(trs80m4_ec_r, trs80m4_ec_w) AM_RANGE(0xf0, 0xf0) AM_READ(trs80_wd179x_r) - AM_RANGE(0xf0, 0xf0) AM_DEVWRITE_LEGACY("wd179x", wd17xx_command_w) - AM_RANGE(0xf1, 0xf1) AM_DEVREADWRITE_LEGACY("wd179x", wd17xx_track_r, wd17xx_track_w) - AM_RANGE(0xf2, 0xf2) AM_DEVREADWRITE_LEGACY("wd179x", wd17xx_sector_r, wd17xx_sector_w) - AM_RANGE(0xf3, 0xf3) AM_DEVREADWRITE_LEGACY("wd179x", wd17xx_data_r, wd17xx_data_w) + AM_RANGE(0xf0, 0xf0) AM_DEVWRITE("wd179x", fd1793_device, command_w) + AM_RANGE(0xf1, 0xf1) AM_DEVREADWRITE("wd179x", fd1793_device, track_r, track_w) + AM_RANGE(0xf2, 0xf2) AM_DEVREADWRITE("wd179x", fd1793_device, sector_r, sector_w) + AM_RANGE(0xf3, 0xf3) AM_DEVREADWRITE("wd179x", fd1793_device, data_r, data_w) AM_RANGE(0xf4, 0xf4) AM_WRITE(trs80m4_f4_w) AM_RANGE(0xf8, 0xfb) AM_READWRITE(trs80_printer_r, trs80_printer_w) AM_RANGE(0xfc, 0xff) AM_READWRITE(trs80m4_ff_r, trs80m4_ff_w) @@ -253,10 +253,10 @@ static ADDRESS_MAP_START( model4p_io, AS_IO, 8, trs80_state ) AM_RANGE(0xeb, 0xeb) AM_READWRITE(trs80m4_eb_r, trs80m4_eb_w) AM_RANGE(0xec, 0xef) AM_READWRITE(trs80m4_ec_r, trs80m4_ec_w) AM_RANGE(0xf0, 0xf0) AM_READ(trs80_wd179x_r) - AM_RANGE(0xf0, 0xf0) AM_DEVWRITE_LEGACY("wd179x", wd17xx_command_w) - AM_RANGE(0xf1, 0xf1) AM_DEVREADWRITE_LEGACY("wd179x", wd17xx_track_r, wd17xx_track_w) - AM_RANGE(0xf2, 0xf2) AM_DEVREADWRITE_LEGACY("wd179x", wd17xx_sector_r, wd17xx_sector_w) - AM_RANGE(0xf3, 0xf3) AM_DEVREADWRITE_LEGACY("wd179x", wd17xx_data_r, wd17xx_data_w) + AM_RANGE(0xf0, 0xf0) AM_DEVWRITE("wd179x", fd1793_device, command_w) + AM_RANGE(0xf1, 0xf1) AM_DEVREADWRITE("wd179x", fd1793_device, track_r, track_w) + AM_RANGE(0xf2, 0xf2) AM_DEVREADWRITE("wd179x", fd1793_device, sector_r, sector_w) + AM_RANGE(0xf3, 0xf3) AM_DEVREADWRITE("wd179x", fd1793_device, data_r, data_w) AM_RANGE(0xf4, 0xf4) AM_WRITE(trs80m4_f4_w) AM_RANGE(0xf8, 0xfb) AM_READWRITE(trs80_printer_r, trs80_printer_w) AM_RANGE(0xfc, 0xff) AM_READWRITE(trs80m4_ff_r, trs80m4_ff_w) @@ -277,10 +277,10 @@ static ADDRESS_MAP_START( meritum_io, AS_IO, 8, trs80_state ) // eg. port F0 should be 5, port F2 should have bit 3 set. //AM_RANGE(0x03, 0x03) unknown AM_RANGE(0xf0, 0xf0) AM_READ(trs80_wd179x_r) - AM_RANGE(0xf0, 0xf0) AM_DEVWRITE_LEGACY("wd179x", wd17xx_command_w) - AM_RANGE(0xf1, 0xf1) AM_DEVREADWRITE_LEGACY("wd179x", wd17xx_track_r, wd17xx_track_w) - AM_RANGE(0xf2, 0xf2) AM_DEVREADWRITE_LEGACY("wd179x", wd17xx_sector_r, wd17xx_sector_w) - AM_RANGE(0xf3, 0xf3) AM_DEVREADWRITE_LEGACY("wd179x", wd17xx_data_r, wd17xx_data_w) + AM_RANGE(0xf0, 0xf0) AM_DEVWRITE("wd179x", fd1793_device, command_w) + AM_RANGE(0xf1, 0xf1) AM_DEVREADWRITE("wd179x", fd1793_device, track_r, track_w) + AM_RANGE(0xf2, 0xf2) AM_DEVREADWRITE("wd179x", fd1793_device, sector_r, sector_w) + AM_RANGE(0xf3, 0xf3) AM_DEVREADWRITE("wd179x", fd1793_device, data_r, data_w) AM_RANGE(0xf4, 0xf4) AM_WRITE(trs80m4_f4_w) AM_RANGE(0xf8, 0xfb) AM_READWRITE(trs80_printer_r, trs80_printer_w) //AM_RANGE(0xfc, 0xfd) unknown diff --git a/src/mess/drivers/unixpc.c b/src/mess/drivers/unixpc.c index c0c460a06f0..50467ed9a0e 100644 --- a/src/mess/drivers/unixpc.c +++ b/src/mess/drivers/unixpc.c @@ -91,7 +91,7 @@ READ16_MEMBER( unixpc_state::line_printer_r ) data |= 1; // no dial tone detected data |= 1 << 1; // no parity error data |= 0 << 2; // hdc intrq - data |= wd17xx_intrq_r(m_wd2797) << 3; + data |= m_wd2797->intrq_r() << 3; logerror("line_printer_r: %04x\n", data); @@ -120,7 +120,7 @@ WRITE16_MEMBER( unixpc_state::disk_control_w ) floppy_mon_w(m_floppy, !BIT(data, 5)); // bit 6 = floppy selected / not selected - wd17xx_set_drive(m_wd2797, 0); + m_wd2797->set_drive(0); } WRITE_LINE_MEMBER( unixpc_state::wd2797_intrq_w ) @@ -161,7 +161,7 @@ static ADDRESS_MAP_START( unixpc_mem, AS_PROGRAM, 16, unixpc_state ) AM_RANGE(0x4a0000, 0x4a0001) AM_WRITE(misc_control_w) AM_RANGE(0x4e0000, 0x4e0001) AM_WRITE(disk_control_w) AM_RANGE(0x800000, 0xbfffff) AM_MIRROR(0x7fc000) AM_ROM AM_REGION("bootrom", 0) - AM_RANGE(0xe10000, 0xe10007) AM_DEVREADWRITE8_LEGACY("wd2797", wd17xx_r, wd17xx_w, 0x00ff) + AM_RANGE(0xe10000, 0xe10007) AM_DEVREADWRITE8("wd2797", wd2797_device, read, write, 0x00ff) AM_RANGE(0xe43000, 0xe43001) AM_WRITE(romlmap_w) ADDRESS_MAP_END diff --git a/src/mess/drivers/vector06.c b/src/mess/drivers/vector06.c index 4ada3fcd1b6..9b811e74bc3 100644 --- a/src/mess/drivers/vector06.c +++ b/src/mess/drivers/vector06.c @@ -23,10 +23,10 @@ static ADDRESS_MAP_START(vector06_io, AS_IO, 8, vector06_state) 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( 0x0C, 0x0C) AM_WRITE(vector06_color_set) - AM_RANGE( 0x18, 0x18) AM_DEVREADWRITE_LEGACY("wd1793", wd17xx_data_r,wd17xx_data_w) - AM_RANGE( 0x19, 0x19) AM_DEVREADWRITE_LEGACY("wd1793", wd17xx_sector_r,wd17xx_sector_w) - AM_RANGE( 0x1A, 0x1A) AM_DEVREADWRITE_LEGACY("wd1793", wd17xx_track_r,wd17xx_track_w) - AM_RANGE( 0x1B, 0x1B) AM_DEVREADWRITE_LEGACY("wd1793", wd17xx_status_r,wd17xx_command_w) + AM_RANGE( 0x18, 0x18) AM_DEVREADWRITE("wd1793", fd1793_device, data_r, data_w) + AM_RANGE( 0x19, 0x19) AM_DEVREADWRITE("wd1793", fd1793_device, sector_r, sector_w) + AM_RANGE( 0x1A, 0x1A) AM_DEVREADWRITE("wd1793", fd1793_device, track_r, track_w) + AM_RANGE( 0x1B, 0x1B) AM_DEVREADWRITE("wd1793", fd1793_device, status_r, command_w) AM_RANGE( 0x1C, 0x1C) AM_WRITE(vector06_disc_w) ADDRESS_MAP_END diff --git a/src/mess/drivers/x1.c b/src/mess/drivers/x1.c index 2c57abf38fa..4571a4f32f1 100644 --- a/src/mess/drivers/x1.c +++ b/src/mess/drivers/x1.c @@ -995,13 +995,13 @@ READ8_MEMBER( x1_state::x1_fdc_r ) switch(offset+0xff8) { case 0x0ff8: - return wd17xx_status_r(m_fdc,space, offset); + return m_fdc->status_r(space, offset); case 0x0ff9: - return wd17xx_track_r(m_fdc,space, offset); + return m_fdc->track_r(space, offset); case 0x0ffa: - return wd17xx_sector_r(m_fdc,space, offset); + return m_fdc->sector_r(space, offset); case 0x0ffb: - return wd17xx_data_r(m_fdc,space, offset); + return m_fdc->data_r(space, offset); case 0x0ffc: printf("FDC: read FM type\n"); return 0xff; @@ -1024,22 +1024,22 @@ WRITE8_MEMBER( x1_state::x1_fdc_w ) switch(offset+0xff8) { case 0x0ff8: - wd17xx_command_w(m_fdc,space, offset,data); + m_fdc->command_w(space, offset,data); break; case 0x0ff9: - wd17xx_track_w(m_fdc,space, offset,data); + m_fdc->track_w(space, offset,data); break; case 0x0ffa: - wd17xx_sector_w(m_fdc,space, offset,data); + m_fdc->sector_w(space, offset,data); break; case 0x0ffb: - wd17xx_data_w(m_fdc,space, offset,data); + m_fdc->data_w(space, offset,data); break; case 0x0ffc: - wd17xx_set_drive(m_fdc,data & 3); + m_fdc->set_drive(data & 3); floppy_mon_w(floppy_get_device(machine(), data & 3), !BIT(data, 7)); floppy_drive_set_ready_state(floppy_get_device(machine(), data & 3), data & 0x80,0); - wd17xx_set_side(m_fdc, BIT(data, 4)); + m_fdc->set_side(BIT(data, 4)); break; case 0x0ffd: case 0x0ffe: diff --git a/src/mess/drivers/z100.c b/src/mess/drivers/z100.c index 0ce1dc9dbfa..ed97b353bbd 100644 --- a/src/mess/drivers/z100.c +++ b/src/mess/drivers/z100.c @@ -358,10 +358,10 @@ READ8_MEMBER( z100_state::z207_fdc_r ) switch(offset) { - case 0: res = wd17xx_status_r(m_fdc,space, offset); break; - case 1: res = wd17xx_track_r(m_fdc,space, offset); break; - case 2: res = wd17xx_sector_r(m_fdc,space, offset); break; - case 3: res = wd17xx_data_r(m_fdc,space, offset); break; + case 0: res = m_fdc->status_r(space, offset); break; + case 1: res = m_fdc->track_r(space, offset); break; + case 2: res = m_fdc->sector_r(space, offset); break; + case 3: res = m_fdc->data_r(space, offset); break; } return res; @@ -371,12 +371,12 @@ WRITE8_MEMBER( z100_state::z207_fdc_w ) { switch(offset) { - case 0: wd17xx_command_w(m_fdc,space, offset,data); break; - case 1: wd17xx_track_w(m_fdc,space, offset,data); break; - case 2: wd17xx_sector_w(m_fdc,space, offset,data); break; - case 3: wd17xx_data_w(m_fdc,space, offset,data); break; + case 0: m_fdc->command_w(space, offset,data); break; + case 1: m_fdc->track_w(space, offset,data); break; + case 2: m_fdc->sector_w(space, offset,data); break; + case 3: m_fdc->data_w(space, offset,data); break; case 4: // disk control - wd17xx_set_drive(m_fdc,data & 3); + m_fdc->set_drive(data & 3); m_z207_cur_drive = data & 3; break; case 5: // aux control diff --git a/src/mess/drivers/z80ne.c b/src/mess/drivers/z80ne.c index 42ed4b570a2..bf603b4f6b7 100644 --- a/src/mess/drivers/z80ne.c +++ b/src/mess/drivers/z80ne.c @@ -98,9 +98,6 @@ #include "formats/z80ne_dsk.h" #include "machine/ram.h" -/* peripheral chips */ -#include "machine/wd17xx.h" - /* Layout */ #include "z80ne.lh" #include "z80net.lh" |