mirror of
https://github.com/holub/mame
synced 2025-04-26 10:13:37 +03:00
amiga: added a pair of functions to the driver class. (nw)
This commit is contained in:
parent
f6153bc499
commit
fad0b00cba
@ -13,6 +13,7 @@ Ernesto Corvi & Mariusz Wojcieszek
|
||||
#include "bus/centronics/ctronics.h"
|
||||
#include "machine/6526cia.h"
|
||||
#include "machine/amigafdc.h"
|
||||
#include "machine/msm6242.h"
|
||||
#include "cpu/m68000/m68000.h"
|
||||
|
||||
|
||||
@ -391,6 +392,7 @@ public:
|
||||
m_cia_1(*this, "cia_1"),
|
||||
m_centronics(*this, "centronics"),
|
||||
m_sound(*this, "amiga"),
|
||||
m_rtc(*this, "rtc"),
|
||||
m_fdc(*this, "fdc"),
|
||||
m_chip_ram(*this, "chip_ram", 0),
|
||||
m_custom_regs(*this, "custom_regs", 0),
|
||||
@ -412,6 +414,7 @@ public:
|
||||
required_device<legacy_mos6526_device> m_cia_1;
|
||||
optional_device<centronics_device> m_centronics;
|
||||
required_device<amiga_sound_device> m_sound;
|
||||
optional_device<msm6242_device> m_rtc;
|
||||
optional_device<amiga_fdc> m_fdc;
|
||||
required_shared_ptr<UINT16> m_chip_ram;
|
||||
UINT16 (*m_chip_ram_r)(amiga_state *state, offs_t offset);
|
||||
@ -494,6 +497,9 @@ public:
|
||||
TIMER_CALLBACK_MEMBER(finish_serial_write);
|
||||
DECLARE_WRITE_LINE_MEMBER(amiga_cia_0_irq);
|
||||
DECLARE_WRITE_LINE_MEMBER(amiga_cia_1_irq);
|
||||
|
||||
DECLARE_READ16_MEMBER( amiga_clock_r );
|
||||
DECLARE_WRITE16_MEMBER( amiga_clock_w );
|
||||
|
||||
DECLARE_READ8_MEMBER(amiga_cia_1_porta_r);
|
||||
DECLARE_WRITE_LINE_MEMBER( write_centronics_ack );
|
||||
|
@ -51,7 +51,6 @@ very fussy with the state machine.
|
||||
#include "machine/amigakbd.h"
|
||||
#include "machine/amigacd.h"
|
||||
#include "machine/amigacrt.h"
|
||||
#include "machine/msm6242.h"
|
||||
#include "machine/nvram.h"
|
||||
#include "sound/cdda.h"
|
||||
#include "machine/i2cmem.h"
|
||||
@ -106,17 +105,15 @@ static DECLARE_WRITE8_DEVICE_HANDLER( amiga_cia_0_portA_w );
|
||||
Battery Backed-Up Clock (MSM6264)
|
||||
***************************************************************************/
|
||||
|
||||
static READ16_HANDLER( amiga_clock_r )
|
||||
READ16_MEMBER( amiga_state::amiga_clock_r )
|
||||
{
|
||||
msm6242_device *rtc = space.machine().device<msm6242_device>("rtc");
|
||||
return rtc->read(space,offset / 2);
|
||||
return m_rtc->read(space, offset / 2);
|
||||
}
|
||||
|
||||
|
||||
static WRITE16_HANDLER( amiga_clock_w )
|
||||
WRITE16_MEMBER( amiga_state::amiga_clock_w )
|
||||
{
|
||||
msm6242_device *rtc = space.machine().device<msm6242_device>("rtc");
|
||||
rtc->write(space,offset / 2, data);
|
||||
m_rtc->write(space, offset / 2, data);
|
||||
}
|
||||
|
||||
|
||||
@ -242,7 +239,7 @@ ADDRESS_MAP_END
|
||||
static ADDRESS_MAP_START(cdtv_mem, AS_PROGRAM, 16, amiga_state )
|
||||
AM_RANGE(0x000000, 0x0fffff) AM_RAMBANK("bank1") AM_SHARE("chip_ram")
|
||||
AM_RANGE(0xbfd000, 0xbfefff) AM_READWRITE(amiga_cia_r, amiga_cia_w)
|
||||
AM_RANGE(0xdc0000, 0xdc003f) AM_READWRITE_LEGACY(amiga_clock_r, amiga_clock_w)
|
||||
AM_RANGE(0xdc0000, 0xdc003f) AM_READWRITE(amiga_clock_r, amiga_clock_w)
|
||||
AM_RANGE(0xdc8000, 0xdc87ff) AM_RAM AM_SHARE("nvram")
|
||||
AM_RANGE(0xdf0000, 0xdfffff) AM_READWRITE(amiga_custom_r, amiga_custom_w) AM_SHARE("custom_regs") /* Custom Chips */
|
||||
AM_RANGE(0xe80000, 0xe8ffff) AM_READWRITE(amiga_autoconfig_r, amiga_autoconfig_w)
|
||||
@ -1115,7 +1112,7 @@ static void amiga_reset(running_machine &machine)
|
||||
if (machine.root_device().ioport("hardware")->read() & 0x08)
|
||||
{
|
||||
/* Install RTC */
|
||||
state->m_maincpu_program_space->install_legacy_readwrite_handler(0xdc0000, 0xdc003f, FUNC(amiga_clock_r), FUNC(amiga_clock_w));
|
||||
state->m_maincpu_program_space->install_readwrite_handler(0xdc0000, 0xdc003f, read16_delegate(FUNC(amiga_state::amiga_clock_r), state), write16_delegate(FUNC(amiga_state::amiga_clock_w), state));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user