HDV - History ------------- 1.00 (22.09.91) - Erste Version. 1.10 (15.09.97) - Komplett neu geschrieben. 1.11 (12.09.98) - HDV stuerzt nicht mehr auf Rechnern, die schneller als PII-200 sind, ab. 1.20 (17.05.99) - Das Programm kann jetzt nicht nur ueber C/H/S auf die Platte zugreifen, sondern jetzt auch ueber die INT 13 Extensions, sofern sie im Bios implementiert sind. Hiermit ist es moeglich, auch grosse Platten ueber 8 GB vollstaendig zu testen/beschreiben. 1.21 (23.10.99) - Waehrend des Testens/Beschreibens wird jetzt die aktuelle Geschwindigkeit in MB/s angezeigt. 1.22 (16.11.99) - Das Programm erkennt nicht nur das Vorhandensein der INT 13 Extensions, sondern auch die Revision und gibt sie nun auch bekannt. 1.23 (30.09.00) - Fehler in INT 13 Extensions behoben. Der Fehler hatte zur Folge, dass auf einigen Rechnern mit den INT 13 Extensions die Platte nicht ueberschrieben werden konnte. Der Fehler trat erstmalig auf einem Acer TravelMate 506 auf. - Das Fuellbyte ist jetzt nicht mehr unveraenderbar $6C, sondern jetzt variabel. 1.24 (25.06.01) - Es gibt sehr alte Biose, in denen die INT 13 Extensions nur unvollstaendig implementiert sind. Diese Biose melden zwar ein Vorhandensein der INT 13 Extensions, koennen dann aber ueber die Extensions weder lesen noch schreiben. Dieses hatte die Fehlermeldung 'fehlerhaftes Kommando' beim Zugriff zur Folge. HDV erkennt jetzt solche Biose und akzeptiert diese unvollstaendigen INT 13 Extensions nicht mehr. HDV macht in diesem Fall nur C/H/S-Zugriff. - Wenn im Bios gar keine Festplatte eingetragen war, wurde dieses von HDV oft nicht korrekt erkannt. HDV fand dann eine unsinnige Anzahl an Festplatten, z.B. 128. HDV ohne Festplatte macht zwar keinen Sinn, der Fehler ist jetzt dennoch behoben. 1.30 (20.12.01) - Zwei neue Funktionen eingebaut: 1. Sektoren kopieren. Hiermit kann eine Festplatte ganz oder teilweise auf eine andere Festplatte kopiert werden. 2. Sektoren vergleichen. Hiermit kann der Inhalt einer Festplatte mit einer anderen Festplatte verglichen werden. Sinnvoll z.B. nach Sektoren kopieren, um die Zuverlaessigkeit der Festplatten, der Kabel, des gewaehlten PIO/DMA- Modus des Bios zu ueberpruefen. - HDV unterstuetzt Platten bis 512 GB in allen Funktionen. Erfolgreich getestet sind 120 GB Festplatten, sowie ein 240 GB grosses IDE-Raid. - Bei Aufruf mit /? oder /help wird eine Kurzanleitung ausgeben. 1.31 (03.11.02) - Die Funktion "Testen" ist jetzt erheblich schneller. Es wird jetzt nicht mehr der INT 13 Aufruf HD-Read, sondern HD-Verify benutzt. Dieser Aufruf liest die Sektoren, ohne den Inhalt in den Speicher zu transferieren. Die urspruengliche Funktion steht jetzt alternativ als Funktion "Lesen" zur Verfuegung. - maximale Plattengroesse ist jetzt 1 TB. Getestet sind weiterhin maximal 240 GB (siehe 1.30). - Der versehentliche Start in einer DOS-Box wird jetzt verhindert. - HDV ist Freeware. 1.32 (31.12.02) - Der Start von HDV wird jetzt nur noch in einer DOS-Box von Windows NT4, 2000 und XP verhindert, da von dort der Zugriff auf die INT 13 Routinen des Bios nicht moeglich ist. Der Start in einer DOS-Box von Windows 9.x und ME ist jetzt wieder moeglich. In dieser DOS-Box kann HDV auch auf USB-Festplatten zugreifen, sofern der installierte Treiber fehlerfreien INT 13 Support bietet. - Wenn der Rechner nicht von einer DOS-Bootdiskette gestartet wurde, wird bei Programmstart eine Warnmeldung ausgegeben, die bestaetigt werden muss. 1.33 (17.08.07) - Routinen in tp.inc und std.inc eingebunden und doppelte Routinen im Hauptprogramm entfernt. - Tritt ein fehlerhafter Zugriff auf, kann mit der Zugriff wiederholt werden. - Das Warten auf einen Tastendruck nach den Meldungen 'INT 13 verzoegert!' und eines fehlerhaften Zugriffs ist jetzt optional. Fuer beide Meldungen ist dieses getrennt voneinander waehlbar. Die Defaults sind: INT 13 verzoegert : kein warten fehlerhafter Zugriff : warten, mit 'W' manuelle Wiederholung moeglich Auch das nachtraegliche Abschalten des Wartens auf Tastendruck durch Druck auf bei Auftreten einer Meldung, ist jetzt fuer beide Meldungen unabhaengig voneinander moeglich. Zusaetzlich ist dieses auch fuer einen aufgetretenen Vergleichsfehler moeglich. - 'skip_wait' dient jetzt nicht mehr der globalen Verhinderung des Wartens nach einem Fehler, sondern nur noch als Trigger fuer die Variablen 'wait_after_int13_verzoegert', 'wait_after_fehlerhafter_zugriff' und 'wait_after_vergleichs_fehler'. - Erfolgreich getestet sind jetzt 400 GB Festplatten (siehe 1.31). - Sektoren ueberschreiben: Warntext vor dem Ueberschreiben gibt jetzt vorsichtshalber auch die Nummer der Festplatte aus. - Das Hauptmenue (esten, esen, Ueberchreiben..) hat jetzt keinen Default mehr. Es muss jetzt zwingend eine Auswahl getroffen werden. - Hilfetext aktualisiert. 1.34 (30.04.09) - Der Zugriff auf Festplatten mit mehr als 1.1 TB fuehrt jetzt nicht mehr zu einem Fehler (neg. Kapazitaeten). HDV kann dann aber nur auf die unteren 1.1 TB zugreifen. - Bei Programmstart werden alle gefundenen Festplatten mit ihren Kapazitaeten aufgelistet. - Kapazitaetsangaben der Platten erfolgen jetzt in GB im 10er-System (1 GB = 1000000000 Bytes). Dieses Format entspricht der Zaehlweise der Festplattenhersteller. - Zugriff auf Festplatten im alten C/H/S-Modus ist nicht mehr moeglich. Das Bios muss zwingend die INT 13 Extensions zur Verfuegung stellen. Dieses sollte heute kein Problem mehr darstellen, da bereits alle Biose ab der Pentium-II Generation ueber diese Extensions verfuegten. Auch die Pentium-I Generation verfuegte in der Mehrheit darueber. - Hilfetext aktualisiert. 1.35 (03.07.09) - Bugfix: Die mit Version 1.34 eingefuehrte Erkennung auf Festplatten mit mehr als 1.1 TB war fehlerhaft. Es konnten erst Platten mit mehr als 2.2 TB als zu gross erkannt werden, was zur Folge hatte, dass Kapazitaeten zwischen 1.1 TB und 2.2 TB zum urspruenglichen Fehler (neg. Kapazitaeten) fuehrte. - Abbruch-Text bez. nicht unterstuetzte Windows-Versionen geaendert. - Hilfetext aktualisiert. 1.40 (07.11.09) - Maximale Festplattengroesse von 1.1 TB ist jetzt Geschichte. HDV unter- stuetzt jetzt maximal 4722366483 TB. Hierzu nutzt HDV den Co-Prozessor und rechnet jetzt alle sektorbezogenen Variablen im 64 Bit-Variablentyp comp. Der Co-Prozessor ist jetzt fuer HDV zwingend erfoderlich, auch wenn die Festplatte kleiner als 1.1 TB ist. HDV rechnet jetzt ausschliesslich im Variablentyp comp. Die alten Routinen sind aus Gruenden der Uebersicht- lichkeit der Sourcen entfernt. - Die Funktion Ueberschreiben kann jetzt optional auch die Sektornummer im Ascii-Klartext in die jeweiligen Sektoren schreiben. - Die Funktion Lesen kann jetzt die mit der Funktion Ueberschreiben in die Sektoren geschriebene Sektornummer pruefen. Damit koennen Adressierungs- fehler des Bioses bzw. der Schnittstelle aufgedeckt werden. Wenn auf den Check der Sektornummer verzichtet wird, kann die Funktion auch zum Leercheck der Festplatte genutzt werden. - Waehrend des Zugriffes auf die Festplatte wird jetzt auch eine Restzeit- anzeige angezeigt. - Hilfetext aktualisiert. Der Text ist jetzt erheblich ausfuehrlicher und ab jetzt auch identisch mit der Doku auf der Homepage. 1.41 (13.01.10) - Bugfix: Das Vorhandensein einer Festplatte, fuer die das Bios keine INT 13 Extensions zur Verfuegung stellt, fuehrte bei der Ausgabe der Festplatten- Liste in jedem Fall zum Abbruch. Dies erfolgte faelschlicherweise auch dann, wenn weitere Festplatten mit INT 13 Extensions -Support des Bios vorhanden waren. Ein Zugriff von HDV auf diese Festplatten war also nicht moeglich. Ein Abbruch erfolgt jetzt nur noch dann, wenn das Bios fuer gar keine Festplatte die INT 13 Extensions zur Verfuegung stellt. Fuer einzelne Festplatten ohne INT 13 Extensions -Support des Bios wird jetzt nur noch eine Fehlermeldung ausgegeben, gefolgt von einem kurzen Hilfe-Text. - Alle Berechnungen bez. Geschwindigkeit und Restzeit wurden aus dem Timer- Interrupt 1C herausgenommen und in das Hauptprogramm verlegt. Im Interrupt verbleibt lediglich das Inkrementieren der Timeout-Timer Variablen fuer die Erkennung von 'INT 13 verzoegert!' und der 5 Sekunden-Verzoegerung der Ausgabe von Geschwindigkeit und Restzeit waehrend des Zugriffes. - Tritt bei einem Zugriff auf die Festplatte ein unbekannter Fehler auf, wird jetzt auch der vom Interrupt 13 rueckgemeldete Fehlercode ausgegeben. - Hilfetext aktualisiert. Neue Erkenntnisse bez. DOS, 137GB-Limit und smartdrv.exe hinzugefuegt. 1.42 (22.02.10) - Wurde HDV in einer Dos-Box von Windows 9.x bzw. ME betrieben gab es bisher zwei Probleme: 1. War die Dos-Box nicht im Vordergrund, also nicht aktiv, war die Messung der Geschwindigkeit und die Berechnung der Restzeit fehlerhaft. Die angezeigte Geschwindigkeit war viel zu hoch und folglich die Restzeit viel zu kurz. Dieses Problem ist jetzt dadurch behoben, indem HDV jetzt nicht mehr den Interrupt 1C als Zeitgeber nutzt, sondern die Systemuhr. Der Inter- rupt 1C wird normalerweise, unabhaengig von der Geschwindigkeit des Rechners, pro Sekunde ca. 18.2 mal durchlaufen. In einer nicht aktiven Dos-Box ist dieses jedoch leider nicht Fall. Die Systemuhr laeuft dagegen immer ausreichend korrekt. 2. Die Textausgabe von HDV, speziell die stetig hochlaufenden Sektoren wurden von Windows nur unregelmaessig im Fenster aktualisiert. Dadurch schien HDV im Zugriff zu 'hakeln', was jedoch tatsaechlich nicht der Fall war. Windows hatte den sich stetig aendernden Text-Bildschirminhalt nicht erkennen koennen, weil die Textausgeben von HDV lediglich in der untersten Zeile erfolgten, ohne die Zeile dabei vollzuschreiben oder einen Zeilenumbruch auszuloesen. Das Problem ist jetzt dadurch behoben, indem HDV jetzt unabhaengig von der aktuellen Lese/Schreibrate und unabhaengig der Geschwindigkeit des Rechners ca. 20 mal pro Sekunde das letzte Zeichen in der untersten Zeile mit einem Leerzeichen ueberschreibt. Windows erkennt dieses und aktualisiert den Fensterinhalt jetzt stetig. - Undokumentierter Parameter /d:x (Verzoegerung in mikrosek. pro Zugriff) entfernt. Die Routinen dafuer haetten wegen o.g. Umstellung auf Systemuhr geaendert werden muessen. Dieser Parameter wurde nur fuer die Tests der Funktionen Kopieren und Vergleichen, die mit der 1.30 eingefuehrt wurden, benoetigt. Da dieser Parameter seitdem nicht mehr gebraucht wurde, wurde er jetzt bei dieser Gelegenheit entfernt.. - Bei normalem Zugriff mit 512 Byte-Sektoren werden jetzt pro Zugriff 64 statt 63 Sektoren gelesen/geschrieben. Dieses verhindert moegliche Per- formance-Probleme beim Schreiben, wenn die (an der Schnittstelle 512 Byte- Sektor faehige) Festplatte intern mit 1K-Sektoren oder groesser arbeitet. - Neue experimentelle Unterstuetzung von Festplatten, die intern mit Sektor- groessen von 1K oder groesser arbeiten, jedoch an der Schnittstelle keine 512 Byte Sektoren emulieren. Hierzu verfuegt HDV jetzt ueber die Parameter /1k, /2k und /4k fuer die jeweilige Sektorgroesse. - Hilfetext aktualisiert. Experimentelle Unterstuetzung von Festplatten mit grossen Sektoren hinzugefuegt. 1.43 (12.04.10) - HDV greift aus Geschwindigkeitsgruenden mit 64 Sektoren pro Zugriff auf die Festplatte zu. Auch etwaige Fehlermeldungen beziehen sich auf die 64 Sektoren eines Zugriffs im ganzen. Die Funktion Testen prueft jetzt darueber hinaus im Fehlerfall jeden Sektor des vorausgegangenen 64 Sektor-Zugriffs einzeln ab. Ein hierbei erkannter defekter Sektor kann optional mit einem frei waehlbaren Fuellbyte ueberschrieben werden. Die Festplatte ersetzt daraufhin den defekten Sektor mit einem intakten Reserve-Sektor (sofern sie noch ueber freie Reserve-Sektoren verfuegt). - Alle drei Abfragen auf Fuellbyte zu einer Abfrage zusammengefasst. - Alle zehn Abfragen auf Ja/Nein zu einer Abfrage zusammengefasst. - History korrigiert. 1.42 Undokumentierter Parameter /d:x - Hilfetext aktualisiert. Funktion Testen (siehe oben).