Beispiel #1
0
        public Yabause(CoreComm CoreComm, DiscSystem.Disc CD, object syncSettings)
        {
            ServiceProvider = new BasicServiceProvider(this);
            byte[] bios = CoreComm.CoreFileProvider.GetFirmware("SAT", "J", true, "Saturn BIOS is required.");
            CoreComm.RomStatusDetails = string.Format("Disk partial hash:{0}", new DiscSystem.DiscHasher(CD).OldHash());
            this.CoreComm             = CoreComm;
            this.CD          = CD;
            DiscSectorReader = new DiscSystem.DiscSectorReader(CD);

            SyncSettings = (SaturnSyncSettings)syncSettings ?? new SaturnSyncSettings();

            if (this.SyncSettings.UseGL && glContext == null)
            {
                glContext = CoreComm.RequestGLContext(2, 0, false);
            }

            ResetCounters();

            ActivateGL();
            Init(bios);

            InputCallbackH = new LibYabause.InputCallback(() => InputCallbacks.Call());
            LibYabause.libyabause_setinputcallback(InputCallbackH);
            ConnectTracer();
            DriveLightEnabled = true;

            DeactivateGL();
        }
Beispiel #2
0
        public Yabause(CoreComm CoreComm, DiscSystem.Disc CD, object SyncSettings)
        {
            byte[] bios = CoreComm.CoreFileProvider.GetFirmware("SAT", "J", true, "Saturn BIOS is required.");
            CoreComm.RomStatusDetails = string.Format("Disk partial hash:{0}", CD.GetHash());
            this.CoreComm             = CoreComm;
            this.CD = CD;

            this.SyncSettings = (SaturnSyncSettings)SyncSettings ?? new SaturnSyncSettings();

            if (this.SyncSettings.UseGL && glContext == null)
            {
                glContext = CoreComm.RequestGLContext();
            }


            ResetCounters();

            ActivateGL();
            Init(bios);

            InputCallbackH = new LibYabause.InputCallback(() => CoreComm.InputCallback.Call());
            LibYabause.libyabause_setinputcallback(InputCallbackH);
            CoreComm.UsesDriveLed = true;

            DeactivateGL();
        }