In case there are problems on other platforms (a few seems probable), here's the idea
1. Get rid of all manual alignment adjustments
2. use FCEU_malloc or malloc, as you see fit
3. use FCEU_free (or FCEU_gfree) if you use FCEU_malloc or FCEU_gmalloc. There's no real reason to need FCEU_gfree; this rule might be eliminated in the future (at which time FCEU_gfree will be removed)
4. If you need more alignment, increase it in FCEU_malloc. It's unlikely more alignment will ever be needed.
On windows, since the FCEU_*malloc functions now use aligned_alloc, we will catch instances where free() is used to free them (which happens frequently). allocates and frees should be matched. fix the free call if you ever observe this happening.
also
5. In general, remove crufty error handling for allocation failures. This just gunks up the code. If allocation fails, the application terminates.
returning 0 from iNES_Init is not ideal, error is "unsupported mapper" but at least it's an error
also adding CHRmask1/2/4/8 fallback, not sure if needed but looks suspicious for <8k
- new inex 2.0 mapper 406 added without flash support though
- dpcm data log now does proper memory area logging (not worth actually, always be like C000 lol)
* correcting x64 configurations to actually use x64
defining NOMINMAX to fix std::max error
* more preprocessor definitions for x64
* 64-bit libraries from the last published version of DXSDK with dinput
* should define WIN64 as well? unfortunately seem to require retention of WIN32
* added an x64 build of luaperks.lib, this compiles links and runs now
* relocate win32 luaperks.lib to src/drivers/win/lua/win32 and leave a note explaining it
* luaperks.lib x64 needed to be /MT
two more missing x64 libs
debug x64 configuration was set to compile C++ as C?
* importing the rest of the usable WIN32 preprocessor defines, debugger now functions!
* revert unnecessary VS solution version change
* 64-bit lua working (fixed the 64-bit build of luaperks.lib)
* VSUIENTRY hashes are unsigned, not signed
* more hashes that are actually unsigned
* fix a few pointer to int casts in lua console
* fix a few more pointer truncations in windows dialog stuff
a few printf arguments need a cast to int
* explicit size_t cast to quiet spurious warnings on an inline function
cheats.cpp int converions warnings fix
change default tool index for vc project. if you have problem with it, feel free to revert. but i can't compile with just "8.1" in there sadly...
stack pointer initial value changed, fixed pirate san guo zhi bootup (can't say if it correct for the core actually), but nothing else changed, except maybe tas features or something...