Reply 20 of 26, by awgamer
Thar she blows, 64 bit decoder.
For some reason this doesn't work:
// cache_addq(0xc48300000000e851|((Bit64u)(&mem_readb_checked_dcx86) - (Bit64u)cache.pos-4)<<16);
Should by my understanding and gets past gcc without complaint but dosbox crashes out. Saving ((Bit64u)(&mem_readb_checked_dcx86) - (Bit64u)cache.pos-4) to a temp var then passing the temp var doesn't work either. Everything else is happy being passed to the 64 bit cache_adds, but not this guy. Other than that, everything works, I imagine speeds things up for some cases but seems some swapping to 64 bit slows things down. I blew through this writing it up without checking so to find out have to go through change by change to verify who gives a speed improvement.