r8609 Saturday 24th July, 2010 at 18:42:00 UTC by Wilbert Pol
arm.c: Fixed word reading from non-aligned address in big endian mode.
[src/emu/cpu/arm]arm.c

src/emu/cpu/arm/arm.c
r8608r8609
619619         }
620620         else
621621         {
622            SetRegister(cpustate, rd,READ32(rnv));
622            UINT32 data = READ32(rnv);
623
624            if ( cpustate->endian == ENDIANNESS_BIG )
625            {
626               if ( rnv & 0x02 )
627                  data = ( data >> 16 ) | ( data << 16 );
628               if ( rnv & 0x01 )
629                  data = ( data >> 24 ) | ( data << 8 );
630            }
631            SetRegister(cpustate, rd, data);
623632         }
624633      }
625634   }

Previous 509070 RevisionsNext 50


© 1998-2010 The MESS Team