Kleines Fehlerallerlei - 4PCX093, DIASHOW und UNIPIC mit DEP 3.x

von Ralf Kästner

So langsam verfolgt mich der PCX-Konverter, nun der heutige Fehler geht eindeutig auf meine Kappe, da ich ihn bei der Überarbeitung des Originalprogrammes selbst ,,eingebaut`` hatte. Wie im Artikel zum Update von ,,UNIPIC 2.0`` bereits zu lesen ist, gab es dort noch einen Fehler beim Import von PCX-Dateien, welche horizontal größer als 512 Pixel sind. Genau der gleiche Effekt tritt in 4PCX092 auf, deshalb heute gleich die nächste Version 4PCX093, wo dies beseitigt und noch eine andere Optimierung eingearbeitet wurde. Wenn das untere Ende des KC-Screens erreicht ist, wird das Einlesen der PCX-Datei beendet, auch wenn das importierte Bild noch weitergeht.

Weiterhin gibt es ja seit einiger Zeit das neue DEP 3.x für den Betrieb unter ML-DOS. Beides wurde von Mario Leubner in den vergangenen Ausgaben der ,,News`` vorgestellt. Einen wichtigen Unterschied zu den bisherigen DEP-Versionen hat er allerdings nur am Rande in der Ausgabe 2/96 auf Seite 43 bzw. im zugehörigen HLP-File erwähnt (dazu habe ich so meine eigene Erfahrung, die darin besteht, daß es nur selten gelesen wird), welcher zu Problemen beim Einladen von älteren Shows oder anderen Dateien mit dieser neue Systemumgebung führen kann.

Bis zur Version 2.2 von DEP übernahm das Programm die Dateinamen, so wie sie kamen. Es wurden also beispielsweise sowohl Kleinbuchstaben als auch Leerzeichen innerhalb des Namens oder der Erweiterung in das Directory auf die Diskette geschrieben. Dies ist aber nicht CP/M- konform und führte mitunter auch zu Problemen, wenn man mit CP/M-Programmen auf solche Dateien zugreifen wollte. Beispiel:

 

%VIEW DUELL  1.PIP

Hier wird die Kommandozeile so zerlegt, daß nur nach DUELL gesucht wird, da das erste Leerzeichen im Dateinamen als Abschluß des ersten und einzigen Parameters interpretiert wird. Die Datei DUELL  1.PIP kann also mit VIEW nie zur Anzeige gebracht werden!

Ab DEP 3.x passiert jetzt Folgendes: das Programm überprüft die Dateibezeichnung vom CAOS-Programm auf nicht zugelassene Zeichen, wandelt Klein- in Großbuchstaben ohne Rückmeldung um und am Wichtigsten - es entfernt automatisch alle Leerzeichen innerhalb des Namens oder der Erweiterung und schiebt die folgenden Zeichen nach links zusammen, aus DUELL  1.PIP wird z.B. DUELL1.PIP.

Worin liegt nun das Problem? Solange man mit DEP 3.x speichert und lädt, gibt es keine Probleme, da bei beiden Vorgängen immer die Leerzeichen entfernt werden und so die entstehende Datei geschrieben oder geladen werden kann, das CAOS-Programm merkt gar nichts von der Namensänderung, da sie im Hintergrund immer stattfindet.

Problematisch wird es, wenn mit DEP 3.x gearbeitet wird und auf Dateien zugegriffen werden soll, welche mit DEP-Versionen bis 2.2 abgespeichert wurden und die Dateinamen im Diskettendirectory Leerzeichen enthalten, es passiert nämlich Folgendes:

Das CAOS-Programm übergibt: DUELL  1.PIP
DEP 3.x macht daraus: DUELL1.PIP
BIOS/BDOS suchen nach: DUELL1.PIP
Im DISK-Directory steht: DUELL  1.PIP

Diese Datei wird also von DEP 3.x nicht gefunden, da auf der Diskette noch die alte Bezeichnung im Directory gespeichert wurde, welche nach der Namensumwandlung durch DEP 3.x nicht mehr gefunden werden kann!

Wie behilft man sich dann? Man muß derartige Dateien einmalig umbenennen, so daß der Name bzw. Erweiterung keine Leerzeichen mehr enthalten - genauso, wie es DEP 3.x machen würde. POWER bzw. DIENST sind hier gut geeignet, da die Dateien über Nummern ausgewählt werden.

Leider sind von diesem Effekt auch Dateien von mir betroffen. Wenn man versucht, einige der älteren Shows zu laden, fehlen bei ,,UNIPIC 1.0`` Bilder, bei ,,UNIPIC 2.0`` hagelt es Fehlermeldungen, die man schlecht nachvollziehen kann. Ich habe mir deshalb die Mühe gemacht und alle bisher in den ,,News`` veröffentlichten Shows mit diesen Problemen überarbeitet. Im Archiv SHOW-ALT.PMA ist alles zusammengefaßt, es enthält wiederum 6 PMA-Archive mit den betroffenen Shows, am sinnvollsten ist es, die PMA's auf den News- Disketten durch die neuen Archive zu ersetzen, dann gibt es nie wieder Probleme!