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