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); } } }
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; } } }