Open alexriegler12 opened 9 months ago
Implemented it this morning. Going to get a qemu big endian machine spun up soon in order to fully test this, but everything seems to work so far -- give it a try?
Please only use the endian conversion if it is compiled for a big endian machine (for speed). Maybe add a preprocessor define to activate or deactivate the endian conversion
I don't know of any portable way to detect endianness at compile time-- I will consider using the nonstandard __BYTE_ORDER__ macro for this but will probably keep the existing code as a fallback. My first priority is correctness and my second is speed.
I have looked into the source code of another cpu emulator library (Musashi m68000). They leave it to the user to implement endian swapping in the callbacks. Maybe the endcvt function is not needed.
The callbacks of "Musashi" don't use a pointer to a 4 byte array, but a 32 bit unsigned integer for every type of bus access.
it seems that this emulator is only suitable for little endian systems. Can you make the emulator endian-independent?