mirror of
https://github.com/holub/mame
synced 2025-10-06 09:00:04 +03:00
-gba: By default, GPIO ports should pass ROM through on read. Fixes Doom 2 and Duke Nukem Advance. [Ryan Holtz]
This commit is contained in:
parent
40b9220aec
commit
6571e6731e
@ -158,7 +158,7 @@ void gba_rom_device::device_reset()
|
|||||||
m_gpio_regs[1] = 0;
|
m_gpio_regs[1] = 0;
|
||||||
m_gpio_regs[2] = 0;
|
m_gpio_regs[2] = 0;
|
||||||
m_gpio_regs[3] = 0;
|
m_gpio_regs[3] = 0;
|
||||||
m_gpio_write_only = 0;
|
m_gpio_write_only = 1;
|
||||||
m_gpio_dirs = 0;
|
m_gpio_dirs = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -273,7 +273,6 @@ void gba_rom_3dmatrix_device::device_reset()
|
|||||||
|
|
||||||
READ32_MEMBER(gba_rom_device::read_gpio)
|
READ32_MEMBER(gba_rom_device::read_gpio)
|
||||||
{
|
{
|
||||||
logerror("read GPIO offs %X\n", offset);
|
|
||||||
if (!m_gpio_write_only)
|
if (!m_gpio_write_only)
|
||||||
{
|
{
|
||||||
switch (offset)
|
switch (offset)
|
||||||
@ -301,7 +300,6 @@ READ32_MEMBER(gba_rom_device::read_gpio)
|
|||||||
|
|
||||||
WRITE32_MEMBER(gba_rom_device::write_gpio)
|
WRITE32_MEMBER(gba_rom_device::write_gpio)
|
||||||
{
|
{
|
||||||
logerror("write GPIO offs %X data %X\n", offset, data);
|
|
||||||
switch (offset)
|
switch (offset)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
|
@ -1181,6 +1181,10 @@ READ32_MEMBER(gba_state::gba_10000000_r)
|
|||||||
{
|
{
|
||||||
uint32_t data;
|
uint32_t data;
|
||||||
uint32_t pc = m_maincpu->state_int(ARM7_PC);
|
uint32_t pc = m_maincpu->state_int(ARM7_PC);
|
||||||
|
if (pc >= 0x10000000)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
uint32_t cpsr = m_maincpu->state_int(ARM7_CPSR);
|
uint32_t cpsr = m_maincpu->state_int(ARM7_CPSR);
|
||||||
if (T_IS_SET( cpsr))
|
if (T_IS_SET( cpsr))
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user