/// <summary> /// Load BAM data from disk image /// </summary> /// <param name="disk">Disk image to read</param> public override void Load(BaseDisk disk) { LoadHeader(disk, 39, 0); SectorsMap.Clear(); loadPartialBAM(disk, BAMtrack, 0); loadPartialBAM(disk, BAMtrack, 3); }
/// <summary> /// Load BAM data from disk image /// </summary> /// <param name="disk">Disk image to read</param> public override void Load(BaseDisk disk) { LoadHeader(disk, 18, 0); const int tracks = 35; byte[] data = disk.GetSector(18, 0); DoubleSide = (data[3] == 0x80); byte[] table = new byte[tracks * 4]; Array.Copy(data, 4, table, 0, tracks * 4); SectorsMap.Clear(); loadMap(table, 4); for (int j = 0; j < tracks; j++) { table[j * 4] = data[0xDD + j]; } data = disk.GetSector(53, 0); for (int j = 0; j < tracks; j++) { Array.Copy(data, j * 3, table, j * 4, 3); } loadMap(table, 4); }
/// <summary> /// Loads BAM data from disk image /// </summary> /// <param name="disk">Disk image to read</param> public override void Load(BaseDisk disk) { LoadHeader(disk, 18, 0); byte[] data = disk.GetSector(18, 0); byte[] table = new byte[totalTracks * 4]; Array.Copy(data, 4, table, 0, totalTracks * 4); SectorsMap.Clear(); loadMap(table, 4); }
public SectMap Map(SectMap map) { SectMap mapped = new SectMap(); foreach (var item in map) { var newSect = Int32.Parse(item.Key); var newPosi = item.Value; mapped.Add(SectorsMap.ContainsKey(newSect) ? SectorsMap[newSect].ToString() : newSect.ToString(), PositionsMap.ContainsKey(newPosi) ? PositionsMap[newPosi] : newPosi); } return(mapped); }
/// <summary> /// Load BAM data from disk image /// </summary> /// <param name="disk">Disk image to read</param> public override void Load(BaseDisk disk) { LoadHeader(disk, 40, 0); const int tracks = 40; byte[] table = new byte[tracks * 6]; byte[] data = disk.GetSector(40, 1); Array.Copy(data, 0x10, table, 0, tracks * 6); SectorsMap.Clear(); loadMap(table, 6); data = disk.GetSector(40, 2); Array.Copy(data, 0x10, table, 0, tracks * 6); loadMap(table, 6); }