Inhalt

 


Menü Ausschalten

MEngelke.de / Amiga / DC Patch / Bug-Fixes

Erweiterungen

Suchen Drucken eMail 

Bug-Fixes

Y2k-Bug:

DosControl hatte bis einschließlich der Version 6.0la ab dem Jahr 2000 das Datum falsch angezeigt. d.h. statt "01.01.00" anzuzeigen zeigte DosControl "01.01.:0" an. Der Grund: In der Ascii-Tabelle steht nach der 9 das ":" Zeichen und wurde Irrtümlicher weise mit einer Zahl verwechselt. Ab der Version 6.0m wurde dies zwar korrigiert, aber es hatte sich ein neuer Fehler eingeschlichen: Sortiert man nach dem Datum, wurden alle Eintrage ab dem 1.1.2000 vor den Eintragen vom 1.1.1978 angezeigt. Intern waren diese Dateien zurück auf das Jahr 1900 gesetzt worden. Mit DCPatch wird das Jahr einfach weiter gezählt und erst bei der Anzeige konvertiert. d.h. rein rechnerisch kommt es ab dem Jahr 2234 zu Problemen, da das Byte für das Jahr übergelaufen ist. Da aber ein weiter Bug vorher auftritt, werde ich dies so belassen.

InterNET-Adressen:

DosControl gibt seit dem Jahr 1989/1990. Und zu dieser Zeit steckte das InterNET noch in den Kinderschuhen. eMail-Adressen waren damals noch relativ teuer und reiner Luxus. Dies war auch der Grund warum sich die Adressen ständig änderten. Alle Adressen wurden nun auf den aktuellen stand gebracht, die sich wohl auch nicht mehr ändern werden.

Mailbox-Nummer:

Die Stamm-Mailbox für DosControl ist die KDS (früher Tricom-Box). Lange Zeit waren alle Einwahlnummern stabil, bis jetzt das InterNET kam und alle Ansi-Mailboxen sterben ließ. Die KDS hatte sich aus Kostengründen von einigen Port-Nummern getrennt und darunter fiel auch die Haupteinwahlnummer. Wie lange die KDS noch existieren wird, steht in den Sternen. Es ist zu befürchten, dass es niemand bemerken wird, wenn die KDS offline geht... (Traurig aber wahr...)

FileInfo-Bug:

Stefan Redel hatte den Bug damals zuerst Entdeckt und Brosch schob die Schuld an die Versions.library, obwohl er in Wirklichkeit selber dafür verantwortlich war: Befindet sich in den letzten 8 Bytes einer Datei ein "$" Zeichen, so geriet DosControl in einer Endlosschleife, aus dem es kein Entkommen gab... Dann gibt es noch ein paar andere Probleme, aber die werde ich Erst mal so belassen. DCPatch überprüft nun, ob es zu einer Endlosschleifen kommen kann und bricht ab. Um dies zu überprüfen habe ich ein paar TestFiles zusammen gestellt.

DateiTypen:

Wenn man DosControl ohne Konfigdateien startet, wurden die Standard-Konfigs benutzt. Diese waren teilweise schon sehr alt, und wurden kaum/gar nicht benutzt. Und dort waren einige kleine Fehler versteckt wie z.B. das Erkennen von LZX-Archiven. Einige wurden erkannt andere nicht. usw. DCPatch hat die Dateitypen-Konfig komplett durch eine neue ersetzt.

DCShell-Bug:

Seit den ersten Version von DosControl war es möglich eine Shell bzw. ein CLI-Fenster öffnen zu lassen. Doch leider konnten auf einigen Systemen die "Shell-startup" nicht gefunden werden, da die Pfadangabe fehlte. DCPatch setzt voraus dass sich die "Shell-Startup" in "s:" befindet und sucht diese dort.

Fehler6000-Bug:

Ein sehr heimtückischer Bug der sich schon lange in DosControl befindet, hat noch keinen Namen. Irgendwann fängt DosControl an, interne Variablen zu löschen bzw. zu überschreiben. Eine zusätzliche Routine von Brosch versucht dies rechtzeitig zu erkennen, um DosControl beenden zu können. Doch leider landete man in einer Endlosschleife, wenn man vor dem Beenden gefragt werden wollte, ob man wirklich Beenden möchte... DCPatch versucht wieder zu erkennen ob man sich schon in einer Endlosschleife befindet und bricht ab bzw. lässt DosControl beenden.

PRename-Bug:

Noch vor einigen Jahren war auf den Amiga die maximale Dateilänge etwa 30 Zeichen. Doch nun steht die Grenze bei etwa 105 Zeichen. Da DosControl aus der Zeit kommt, wo dies noch nicht so war, wurde zur Sicherheit die Dateilänge auf 30 Zeichen gekürzt, damit keine Fehler im Dateisystem Entstehen können. Doch in den letzten Jahren gibt es Filesysteme die mehr zulassen und damit wurde das Sicherheitssystem hinfällig. DCPatch hebt die Sperre einfach auf, und überlässt es dem Dateisystem, was nun passieren soll.

Busy-Pointer-Bug:

Unter Kickstart 2.0 und ECS gab es keine HighRes-Pointer. Da DosControl für Kickstart 2.0 geschrieben wurde, wurde eine alte Systemfunktion von Intuition verwendet. Und während DosControl gearbeitet hatte, konnte man beobachten, wie ständig der Mauszeiger kurz aufblinkte, obwohl sich sein Image nicht geändert hatte. DCPatch hat eine zusätzliche Routine Installiert, so daß entsprechend dem Kickstart die richtige Routine benutzt und nur dann aufgerufen wird, wenn sich der Mauszeiger wirklich geändert hat.

LZX_Scan-Bug:

Eins der besonderen Eigenschaften von DosControl ist, die Archiv-Scan Funktion. Man kann in LHA/LZX-Archive hineingehen, wie in normale Verzeichnisse. Doch leider wurde bei LZX-Archiven das Datum falsch und die Protection-Bit gar nicht decodiert. Zum andern trat hier noch mal der Y2k-Bug auf, der allerdings schon von DCPatch behoben wurde. DCPatch hat die Entsprechenden Routinen ersetzt bzw. neu hinzugefügt, so das der Bug nicht mehr auftritt. Dies können Sie selbst mit ein TestArchiv überprüfen. Anmerkung: Das Datum in LZX-Archiven kann normalerweise nicht über das Jahr 2033 hinausgehen. Dies ist kein Bug von DosControl, sondern liegt an der 6 Bit Kodierung von LZX (1970-2033). Da man auf dem Amiga kein Datum vor 1978 einstellen kann, konnte ich die ersten 8 Jahre hinten dran hängen, so das DosControl LZX-Archive bis 2041 Richtig anzeigen kann. Für LHA-Archive dagegen, wurde nur eine 5 Bit Kodierung verwendet und daher wird das Datum ab 2011 falsch angezeigt. Auch dies können Sie selbst mit dem TestArchiv ansehen.

Disk/FileSize-Bug:

Noch vor einigen Jahren waren Festplatten über der 2 Gigabytegrenze undenkbar. Doch mittlerweile hat sich das geändert! Probleme machen nur alte Programme, die Diskgroßen bzw. Verzeichnisgrößen auf 32Bit-Basis berechnen! Diese Routinen wurden auf 64Bit erweitert, so das DosControl die Festplatten/Verzeichnis-Kapazität bis 18Exa (18446744073709551615 Byte) korrekt anzeigt.

Copyabbruch-Bug:

Während man mit DosControl große Dateien kopierte, musste man solange warten, bis die Datei fertig kopiert war, um abbrechen zu können. Jetzt wird die abfrage alle 64KB durchgeführt. (Vorrausgesetzt der Schalter in "CFG-Funktionen/Copy/Kl. Buffer" wurde gesetzt)

Übergroße Dateien-Bug:

Während DosControl entwickelt wurde, waren große Dateien nicht die Regel, sondern äußert ungewöhnlich. Es waren nur 8 Zeichen für die Dateilänge vorgesehen. Reichten die nicht aus, wurden die fehlenden Zeichen von Filename abgeschnitten. Jetzt werden für die Dateigröße 11 Zeichen reserviert.

Path Liste-Bug:

Aus irgendein, mir unbekannten Grund, war der Programmierer von DosControl der Meinung, einen Buffer mit fester grösse für die Taskliste zu reservieren. (208 Bytes -> 52 Tasks) Das dies früher oder Später zu Problemen führt, kann man sich ja denken... Ich habe diesen Festen Buffer erst mal auf 1024 Bytes erhöht.


 << | Home | Blog >><< Beispiele | Amiga | Erweiterungen >>