Пример #1
0
        // Mark collected trace data for a RomByte (which should be an opcode) AND any of the operands that follow us.
        private void SetOpcodeAndOperandsFromTraceData(
            int snesAddress, int dataBank, int directPage,
            bool xflagSet, bool mflagSet,
            int opcodeLen = -1)
        {
            // extremely performance-intensive function. be really careful when adding stuff
            var currentIndex = 0;

            while (true)
            {
                if (!SetOneRomByteFromTraceData(snesAddress, dataBank, directPage, xflagSet, mflagSet, opcodeLen, currentIndex))
                {
                    break;
                }

                snesAddress = RomUtil.CalculateSnesOffsetWithWrap(snesAddress, 1);
                currentIndex++;
            }
        }
 private static int GetNextSNESAddress(int modDataSnesAddress)
 {
     return(RomUtil.CalculateSnesOffsetWithWrap(modDataSnesAddress, 1));
 }