1.1 --- a/src/sh4/sh4mem.c Tue Jan 10 13:59:19 2006 +0000
1.2 +++ b/src/sh4/sh4mem.c Sat Jan 21 11:38:10 2006 +0000
1.5 - * $Id: sh4mem.c,v 1.4 2006-01-10 13:59:19 nkeynes Exp $
1.6 + * $Id: sh4mem.c,v 1.5 2006-01-21 11:38:10 nkeynes Exp $
1.7 * sh4mem.c is responsible for the SH4's access to memory (including memory
1.8 * mapped I/O), using the page maps created in mem.c
1.11 int32_t sh4_read_phys_word( uint32_t addr )
1.14 - if( addr > 0xE0000000 ) /* P4 Area, handled specially */
1.15 + if( addr >= 0xE0000000 ) /* P4 Area, handled specially */
1.16 return SIGNEXT16(sh4_read_p4( addr ));
1.18 if( (addr&0x1F800000) == 0x04000000 ) {
1.21 CHECK_READ_WATCH(addr,4);
1.23 - if( addr > 0xE0000000 ) /* P4 Area, handled specially */
1.24 + if( addr >= 0xE0000000 ) /* P4 Area, handled specially */
1.25 return sh4_read_p4( addr );
1.27 if( (addr&0x1F800000) == 0x04000000 ) {
1.30 CHECK_READ_WATCH(addr,2);
1.32 - if( addr > 0xE0000000 ) /* P4 Area, handled specially */
1.33 + if( addr >= 0xE0000000 ) /* P4 Area, handled specially */
1.34 return SIGNEXT16(sh4_read_p4( addr ));
1.36 if( (addr&0x1F800000) == 0x04000000 ) {
1.39 CHECK_READ_WATCH(addr,1);
1.41 - if( addr > 0xE0000000 ) /* P4 Area, handled specially */
1.42 + if( addr >= 0xE0000000 ) /* P4 Area, handled specially */
1.43 return SIGNEXT8(sh4_read_p4( addr ));
1.44 if( (addr&0x1F800000) == 0x04000000 ) {
1.45 addr = TRANSLATE_VIDEO_64BIT_ADDRESS(addr);
1.48 CHECK_WRITE_WATCH(addr,4,val);
1.50 - if( addr > 0xE0000000 ) {
1.51 + if( addr >= 0xE0000000 ) {
1.52 sh4_write_p4( addr, val );
1.57 CHECK_WRITE_WATCH(addr,2,val);
1.59 - if( addr > 0xE0000000 ) {
1.60 + if( addr >= 0xE0000000 ) {
1.61 sh4_write_p4( addr, (int16_t)val );
1.66 CHECK_WRITE_WATCH(addr,1,val);
1.68 - if( addr > 0xE0000000 ) {
1.69 + if( addr >= 0xE0000000 ) {
1.70 sh4_write_p4( addr, (int8_t)val );