예제 #1
0
        public PSP(CoreComm comm, string isopath)
        {
            ServiceProvider = new BasicServiceProvider(this);
            if (attachedcore != null)
            {
                attachedcore.Dispose();
                attachedcore = null;
            }
            CoreComm = comm;

            logcallback = new PPSSPPDll.LogCB(LogCallbackFunc);

            bool good = PPSSPPDll.init(isopath, logcallback);

            LogFlush();
            if (!good)
            {
                throw new Exception("PPSSPP Init failed!");
            }
            vidhandle = GCHandle.Alloc(screenbuffer, GCHandleType.Pinned);
            PPSSPPDll.setvidbuff(vidhandle.AddrOfPinnedObject());

            CoreComm.VsyncDen         = 1;
            CoreComm.VsyncNum         = 60;
            CoreComm.RomStatusDetails = "It puts the scythe in the chicken or it gets the abyss again!";

            attachedcore = this;
        }
예제 #2
0
        public PSP(CoreComm comm, string isopath)
        {
            ServiceProvider = new BasicServiceProvider(this);
            if (attachedcore != null)
            {
                attachedcore.Dispose();
                attachedcore = null;
            }
            CoreComm = comm;

            glcontext = CoreComm.RequestGLContext(3, 0, true);
            CoreComm.ActivateGLContext(glcontext);

            logcallback = new PPSSPPDll.LogCB(LogCallbackFunc);

            bool good = PPSSPPDll.BizInit(isopath, logcallback);

            LogFlush();
            if (!good)
            {
                throw new Exception("PPSSPP Init failed!");
            }

            CoreComm.VsyncDen         = 1;
            CoreComm.VsyncNum         = 60;
            CoreComm.RomStatusDetails = "It puts the scythe in the chicken or it gets the abyss again!";

            attachedcore = this;
        }