コード例 #1
0
        private void CDTOCCallback(int disk, IntPtr dest)
        {
            var toc = new LibNymaCore.TOC {
                Tracks = new LibNymaCore.TOC.Track[101]
            };

            SetupTOC(toc, _disks[disk].TOC);
            Marshal.StructureToPtr(toc, dest, false);
        }
コード例 #2
0
 private static void SetupTOC(LibNymaCore.TOC t, DiscTOC tin)
 {
     // everything that's not commented, we're sure about
     t.FirstTrack = tin.FirstRecordedTrackNumber;
     t.LastTrack  = tin.LastRecordedTrackNumber;
     t.DiskType   = (int)tin.Session1Format;
     for (int i = 0; i < 101; i++)
     {
         t.Tracks[i].Adr     = tin.TOCItems[i].Exists ? 1 : 0;             // ????
         t.Tracks[i].Lba     = tin.TOCItems[i].LBA;
         t.Tracks[i].Control = (int)tin.TOCItems[i].Control;
         t.Tracks[i].Valid   = tin.TOCItems[i].Exists ? 1 : 0;
     }
 }
コード例 #3
0
ファイル: NymaCore.Cd.cs プロジェクト: sasuke-arcade/BizHawk
 private void CDTOCCallback(int disk, [In, Out] LibNymaCore.TOC t)
 {
     SetupTOC(t, _disks[disk].TOC);
 }