(MESS) fm7: Less tag lookup. (nw)
This commit is contained in:
parent
c43e09d4ae
commit
b051f24fd5
@ -46,7 +46,6 @@
|
||||
|
||||
#include "imagedev/cassette.h"
|
||||
#include "formats/fm7_cas.h"
|
||||
#include "machine/wd17xx.h"
|
||||
#include "imagedev/flopdrv.h"
|
||||
#include "bus/centronics/dsjoy.h"
|
||||
|
||||
@ -432,19 +431,18 @@ WRITE_LINE_MEMBER(fm7_state::fm7_fdc_drq_w)
|
||||
|
||||
READ8_MEMBER(fm7_state::fm7_fdc_r)
|
||||
{
|
||||
mb8877_device *fdc = machine().device<mb8877_device>("fdc");
|
||||
UINT8 ret = 0;
|
||||
|
||||
switch(offset)
|
||||
{
|
||||
case 0:
|
||||
return fdc->status_r(space, offset);
|
||||
return m_fdc->status_r(space, offset);
|
||||
case 1:
|
||||
return fdc->track_r(space, offset);
|
||||
return m_fdc->track_r(space, offset);
|
||||
case 2:
|
||||
return fdc->sector_r(space, offset);
|
||||
return m_fdc->sector_r(space, offset);
|
||||
case 3:
|
||||
return fdc->data_r(space, offset);
|
||||
return m_fdc->data_r(space, offset);
|
||||
case 4:
|
||||
return m_fdc_side | 0xfe;
|
||||
case 5:
|
||||
@ -466,24 +464,23 @@ READ8_MEMBER(fm7_state::fm7_fdc_r)
|
||||
|
||||
WRITE8_MEMBER(fm7_state::fm7_fdc_w)
|
||||
{
|
||||
mb8877_device *fdc = machine().device<mb8877_device>("fdc");
|
||||
switch(offset)
|
||||
{
|
||||
case 0:
|
||||
fdc->command_w(space, offset,data);
|
||||
m_fdc->command_w(space, offset,data);
|
||||
break;
|
||||
case 1:
|
||||
fdc->track_w(space, offset,data);
|
||||
m_fdc->track_w(space, offset,data);
|
||||
break;
|
||||
case 2:
|
||||
fdc->sector_w(space, offset,data);
|
||||
m_fdc->sector_w(space, offset,data);
|
||||
break;
|
||||
case 3:
|
||||
fdc->data_w(space, offset,data);
|
||||
m_fdc->data_w(space, offset,data);
|
||||
break;
|
||||
case 4:
|
||||
m_fdc_side = data & 0x01;
|
||||
fdc->set_side(data & 0x01);
|
||||
m_fdc->set_side(data & 0x01);
|
||||
logerror("FDC: wrote %02x to 0x%04x (side)\n",data,offset+0xfd18);
|
||||
break;
|
||||
case 5:
|
||||
@ -494,7 +491,7 @@ WRITE8_MEMBER(fm7_state::fm7_fdc_w)
|
||||
}
|
||||
else
|
||||
{
|
||||
fdc->set_drive(data & 0x03);
|
||||
m_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);
|
||||
|
@ -3,6 +3,7 @@
|
||||
#include "imagedev/cassette.h"
|
||||
#include "sound/beep.h"
|
||||
#include "sound/2203intf.h"
|
||||
#include "machine/wd17xx.h"
|
||||
|
||||
/*
|
||||
*
|
||||
@ -131,6 +132,7 @@ public:
|
||||
m_psg(*this, "psg"),
|
||||
m_centronics(*this, "centronics"),
|
||||
m_cent_data_out(*this, "cent_data_out"),
|
||||
m_fdc(*this, "fdc"),
|
||||
m_kanji(*this, "kanji1"),
|
||||
m_key1(*this, "key1"),
|
||||
m_key2(*this, "key2"),
|
||||
@ -298,6 +300,7 @@ public:
|
||||
optional_device<ay8910_device> m_psg;
|
||||
required_device<centronics_device> m_centronics;
|
||||
required_device<output_latch_device> m_cent_data_out;
|
||||
required_device<mb8877_device> m_fdc;
|
||||
|
||||
void fm7_alu_mask_write(UINT32 offset, int bank, UINT8 dat);
|
||||
void fm7_alu_function_compare(UINT32 offset);
|
||||
|
Loading…
Reference in New Issue
Block a user