Small Fill and Slide fix.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1084 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
omegadox 2008-11-06 03:39:48 +00:00
parent 135b6e1eb8
commit 9c4b7a4548
1 changed files with 4 additions and 2 deletions

View File

@ -486,17 +486,19 @@ bool DoARZeroCode_FillAndSlide()
curr_addr += addr_incr; curr_addr += addr_incr;
} break; } break;
case 0x1: // Halfword case 0x1: // Halfword
curr_addr >>= 1;
for(int i=0; i < write_num; i++) { for(int i=0; i < write_num; i++) {
u8 repeat = val >> 16; u8 repeat = val >> 16;
for(int j=0; j < repeat; j++) { for(int j=0; j < repeat; j++) {
Memory::Write_U8(val & 0xFFFF, new_addr + j * 2); Memory::Write_U16(val & 0xFFFF, new_addr + j * 2);
} }
val += val_incr; val += val_incr;
curr_addr += addr_incr; curr_addr += addr_incr;
} break; } break;
case 0x2: // Word case 0x2: // Word
curr_addr >>= 2;
for(int i=0; i < write_num; i++) { for(int i=0; i < write_num; i++) {
Memory::Write_U16(val, new_addr); Memory::Write_U32(val, new_addr);
val += val_incr; val += val_incr;
curr_addr += addr_incr; curr_addr += addr_incr;
} break; } break;