Ejemplo n.º 1
0
        private static int getListSize(int listAddr)
        {
            IMemoryReader memoryReader = MemoryReader.getMemoryReader(listAddr, 4);

            for (int i = 1; true; i++)
            {
                int instruction = memoryReader.readNext();
                int cmd         = VideoEngine.command(instruction);
                if (cmd == GeCommands.RET)
                {
                    return(i);
                }
            }
        }
Ejemplo n.º 2
0
        private static void sceGeListUpdateStallAddr(int addr)
        {
            // Simplification: we can update the stall address only if the VideoEngine
            // is processing one and only one GE list.
            VideoEngine videoEngine = VideoEngine.Instance;

            if (videoEngine.numberDrawLists() == 0)
            {
                PspGeList geList = videoEngine.CurrentList;
                if (geList != null && geList.StallAddr != 0)
                {
                    addr            &= Memory.addressMask;
                    geList.StallAddr = addr;
                }
            }
        }