예제 #1
0
 private static void Read100(ISequentialReader reader, ref V100HeaderPart part)
 {
     part.SN76489Clock         = reader.ReadUInt32();
     part.YM2413Clock          = reader.ReadUInt32();
     part.GD3Offset            = reader.ReadUInt32();
     part.TotalNumberOfSamples = reader.ReadUInt32();
     part.LoopOffset           = reader.ReadUInt32();
     part.LoopNumberOfSamples  = reader.ReadUInt32();
 }
예제 #2
0
        private static DataBlockCommand ReadDataBlockBody(byte c, ISequentialReader r)
        {
            var compatibility = r.ReadByte();

            if (compatibility != EndOfSoundDataCode)
            {
                throw new VgmException($"Data block command code 0x{c:X2} must be folowed by 0x{EndOfSoundDataCode:X2}");
            }

            var type = r.ReadByte();
            var size = r.ReadUInt32();

            r.Skip(size);

            return(new DataBlockCommand(c, type, size));
        }
예제 #3
0
 private static void ReadCommon(ISequentialReader reader, ref CommonHeaderPart part)
 {
     part.VgmIdentification = reader.ReadUInt32();
     part.EofOffset         = reader.ReadUInt32();
     part.Version           = (FormatVersion)reader.ReadUInt32();
 }
예제 #4
0
 private static void Read150(ISequentialReader reader, ref V150HeaderPart part)
 {
     part.VGMDataOffset = reader.ReadUInt32();
 }
예제 #5
0
 private static void Read110Part2(ISequentialReader reader, ref V110HeaderPart part)
 {
     part.YM2612Clock = reader.ReadUInt32();
     part.YM2151Clock = reader.ReadUInt32();
 }
예제 #6
0
 private static void Read101(ISequentialReader reader, ref V101HeaderPart part)
 {
     part.Rate = reader.ReadUInt32();
 }