Hi there,

I have no experience in assembly...asm... or whatever.
But could you tell me what the following lines do :

Code:
		for (i = 0; i < filesize; i += 32, j++) {	
			fread(&RomMemory[i], 32, 1, romfp);

			_asm {
				mov edx, dword ptr RomMemory
				add edx, i

				movq mm0, qword ptr [edx]
				movq mm2, qword ptr [edx+8]
				movq mm4, qword ptr [edx+16]
				movq mm6, qword ptr [edx+24]

				movq mm1, mm0
				psrlw mm0, 8
				psllw mm1, 8
				por mm0, mm1

				movq mm3, mm2
				psrlw mm2, 8
				psllw mm3, 8
				por mm2, mm3

				movq mm5, mm4
				psrlw mm4, 8
				psllw mm5, 8
				por mm4, mm5

				movq mm7, mm6
				psrlw mm6, 8
				psllw mm7, 8
				por mm6, mm7

				movq qword ptr [edx], mm0
				movq qword ptr [edx+8], mm2
				movq qword ptr [edx+16], mm4
				movq qword ptr [edx+24], mm6
			}
Im guessing they're swapping each two characters in a file or something, but im not quite sure.
Any ideas ?

- Jamie