mirror of
https://github.com/holub/mame
synced 2025-04-26 10:13:37 +03:00
(MESS) rmnimbus: reduced tagmap lookups. nw.
This commit is contained in:
parent
91b0b7d6c1
commit
cf2556e193
@ -12,6 +12,7 @@
|
||||
#include "machine/6522via.h"
|
||||
#include "machine/ram.h"
|
||||
#include "sound/ay8910.h"
|
||||
#include "sound/msm5205.h"
|
||||
|
||||
#define MAINCPU_TAG "maincpu"
|
||||
#define IOCPU_TAG "iocpu"
|
||||
@ -394,14 +395,20 @@ class rmnimbus_state : public driver_device
|
||||
public:
|
||||
rmnimbus_state(const machine_config &mconfig, device_type type, const char *tag)
|
||||
: driver_device(mconfig, type, tag),
|
||||
m_scsibus(*this, SCSIBUS_TAG ":host"),
|
||||
m_maincpu(*this, "maincpu"),
|
||||
m_ram(*this, RAM_TAG),
|
||||
m_ay8910(*this, AY8910_TAG)
|
||||
m_msm(*this, MSM5205_TAG),
|
||||
m_ay8910(*this, AY8910_TAG),
|
||||
m_scsibus(*this, SCSIBUS_TAG ":host"),
|
||||
m_ram(*this, RAM_TAG)
|
||||
{
|
||||
}
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<msm5205_device> m_msm;
|
||||
required_device<ay8910_device> m_ay8910;
|
||||
required_device<scsicb_device> m_scsibus;
|
||||
required_device<ram_device> m_ram;
|
||||
|
||||
UINT32 m_debug_machine;
|
||||
i186_state m_i186;
|
||||
keyboard_t m_keyboard;
|
||||
@ -473,9 +480,6 @@ public:
|
||||
DECLARE_WRITE_LINE_MEMBER(nimbus_scsi_req_w);
|
||||
void nimbus_scsi_linechange( UINT8 mask, UINT8 state );
|
||||
IRQ_CALLBACK_MEMBER(int_callback);
|
||||
required_device<cpu_device> m_maincpu;
|
||||
required_device<ram_device> m_ram;
|
||||
required_device<ay8910_device> m_ay8910;
|
||||
UINT8 get_pixel(UINT16 x, UINT16 y);
|
||||
UINT16 read_pixel_line(UINT16 x, UINT16 y, UINT8 width);
|
||||
UINT16 read_pixel_data(UINT16 x, UINT16 y);
|
||||
|
@ -68,7 +68,6 @@ chdman createhd -o ST125N.chd -chs 407,4,26 -ss 512
|
||||
#include "machine/ctronics.h"
|
||||
#include "machine/6522via.h"
|
||||
#include "machine/scsibus.h"
|
||||
#include "sound/msm5205.h"
|
||||
|
||||
#include "includes/rmnimbus.h"
|
||||
|
||||
@ -2671,7 +2670,6 @@ READ8_MEMBER(rmnimbus_state::nimbus_iou_r)
|
||||
WRITE8_MEMBER(rmnimbus_state::nimbus_iou_w)
|
||||
{
|
||||
int pc=space.device().safe_pc();
|
||||
msm5205_device *msm5205 = machine().device<msm5205_device>(MSM5205_TAG);
|
||||
|
||||
if(LOG_IOU)
|
||||
logerror("Nimbus IOUW %08X write of %02X to %04X\n",pc,data,(offset*2)+0x92);
|
||||
@ -2679,7 +2677,7 @@ WRITE8_MEMBER(rmnimbus_state::nimbus_iou_w)
|
||||
if(offset==0)
|
||||
{
|
||||
m_iou_reg092=data;
|
||||
msm5205->reset_w((data & MSM5205_INT_ENABLE) ? 0 : 1);
|
||||
m_msm->reset_w((data & MSM5205_INT_ENABLE) ? 0 : 1);
|
||||
}
|
||||
}
|
||||
|
||||
@ -2704,14 +2702,11 @@ void rmnimbus_state::iou_reset()
|
||||
|
||||
void rmnimbus_state::rmni_sound_reset()
|
||||
{
|
||||
//device_t *ay8910 = machine().device(AY8910_TAG);
|
||||
msm5205_device *msm5205 = machine().device<msm5205_device>(MSM5205_TAG);
|
||||
|
||||
//ay8910->reset();
|
||||
msm5205->reset_w(1);
|
||||
//m_ay8910->reset();
|
||||
m_msm->reset_w(1);
|
||||
|
||||
m_last_playmode = MSM5205_S48_4B;
|
||||
msm5205->playmode_w(m_last_playmode);
|
||||
m_msm->playmode_w(m_last_playmode);
|
||||
|
||||
m_ay8910_a=0;
|
||||
}
|
||||
@ -2743,9 +2738,7 @@ WRITE8_MEMBER(rmnimbus_state::nimbus_sound_ay8910_w)
|
||||
|
||||
WRITE8_MEMBER(rmnimbus_state::nimbus_sound_ay8910_porta_w)
|
||||
{
|
||||
msm5205_device *msm5205 = machine().device<msm5205_device>(MSM5205_TAG);
|
||||
|
||||
msm5205->data_w(data);
|
||||
m_msm->data_w(data);
|
||||
|
||||
// Mouse code needs a copy of this.
|
||||
m_ay8910_a=data;
|
||||
@ -2753,12 +2746,10 @@ WRITE8_MEMBER(rmnimbus_state::nimbus_sound_ay8910_porta_w)
|
||||
|
||||
WRITE8_MEMBER(rmnimbus_state::nimbus_sound_ay8910_portb_w)
|
||||
{
|
||||
msm5205_device *msm5205 = machine().device<msm5205_device>(MSM5205_TAG);
|
||||
|
||||
if ((data & 0x07) != m_last_playmode)
|
||||
{
|
||||
m_last_playmode = (data & 0x07);
|
||||
msm5205->playmode_w(m_last_playmode);
|
||||
m_msm->playmode_w(m_last_playmode);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user