| 856 | } |
| 857 | |
| 858 | void KMemory::writed(U32 address, U32 value) { |
| 859 | if ((address & 0xFFF) < 0xFFD) { |
| 860 | int index = address >> 12; |
| 861 | #if !defined(UNALIGNED_MEMORY) |
| 862 | MMU& mmu = data->mmu[index]; |
| 863 | if (mmu.canWriteRam) |
| 864 | *(U32*)(&(ramPageGet((RamPage)mmu.ramIndex)[address & 0xFFF])) = value; |
| 865 | else |
| 866 | #endif |
| 867 | data->mmu[index].getPage()->writed(&data->mmu[index], address, value); |
| 868 | } else { |
| 869 | writeb(address, value); |
| 870 | writeb(address + 1, value >> 8); |
| 871 | writeb(address + 2, value >> 16); |
| 872 | writeb(address + 3, value >> 24); |
| 873 | } |
| 874 | } |
| 875 | |
| 876 | void KMemory::writew(U32 address, U16 value) { |
| 877 | if ((address & 0xFFF) < 0xFFF) { |