Autor Thema: Wie Directory eines DSK auslesen  (Gelesen 396 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline TFM

  • Administrator
  • CPC 6128+
  • *****
  • Beiträge: 3056
  • Liked: 738
  • Karma: +36/-0
  • Geschlecht: Männlich
  • FutureSoft und CPC - Ein starkes Team!
    • FutureOS
Re: Wie Directory eines DSK auslesen
« Antwort #15 am: 16. Juni 2020, 09:41:06 »
Die Sektornummer einfach hochzählen, wenn es nicht weiter geht, dann mit dem ersten Sektor auf der nächsten Spur weitermachen.
TFM of FutureSoft
http://www.FutureOS.de --> Das Betriebssystem FutureOS (Update: 7.8.2019)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> RSX ROM für LambdaSpeak (Update: 28.08.2019)

Offline Devilmarkus

  • Administrator
  • CPC 464+
  • *****
  • Beiträge: 1049
  • Liked: 338
  • Karma: +35/-0
Re: Wie Directory eines DSK auslesen
« Antwort #16 am: 16. Juni 2020, 17:06:44 »
Im JavaCPC mache ich das so:
(Java Code)

  public static int ChecksumAMSDOS(byte[] pHeader) {
    int Checksum = 0;
    for (int i = 0; i < 67; i++) {
      int CheckSumByte = pHeader[i] & 0xFF;
      Checksum += CheckSumByte;
    }
    return Checksum;
  }
 
  public static boolean CheckAMSDOS(byte[] pHeader) {
    int CalculatedChecksum;
    try {
      CalculatedChecksum = ChecksumAMSDOS(pHeader);
    } catch (Exception e) {
      return false;
    }
    int ChecksumFromHeader = pHeader[67] & 0xFF | (pHeader[68] & 0xFF) << 8;
    if (ChecksumFromHeader == CalculatedChecksum && ChecksumFromHeader != 0) {
      System.out.println("Has AMSDOS header");
      return true;
    }
    System.out.println("Without header");
    return false;
  }
http://cpcwiki.de
Dein Deutsches CPCWiki!