diff --git a/Assets/dll/ares64.wbx.gz b/Assets/dll/ares64.wbx.gz index 30e9e36f93..b0504fe69f 100644 Binary files a/Assets/dll/ares64.wbx.gz and b/Assets/dll/ares64.wbx.gz differ diff --git a/waterbox/ares64/ares/ares/n64/pi/dma.cpp b/waterbox/ares64/ares/ares/n64/pi/dma.cpp index 007af9342b..b5dc412581 100644 --- a/waterbox/ares64/ares/ares/n64/pi/dma.cpp +++ b/waterbox/ares64/ares/ares/n64/pi/dma.cpp @@ -27,8 +27,12 @@ auto PI::dmaWrite() -> void { if (length.bit(0)) length += 1; i32 rom_len = (cur_len + 1) & ~1; - for (u32 i = 0; i < rom_len; i++) - mem[i] = bus.read(io.pbusAddress++); + for (u32 i = 0; i < rom_len; i += 2) { + u16 data = bus.read(io.pbusAddress); + mem[i + 0] = data >> 8; + mem[i + 1] = data & 0xFF; + io.pbusAddress += 2; + } if (first_block) { if (cur_len == block_len-1) cur_len++;