versch. ML-Load bei MyDOS ?!?


versch. ML-Load bei MyDOS ?!?

von CharlieChaplin » So 28. Aug 2005, 23:11
Hmmm,
habe unter MyDOS (4.53, 4.54, vermutlich aber auch 4.50 und 4.51) schon öfter das Phänomen festgestellt, dass sich so manches ML-File zwar mittels Option "L" (Binary Load) laden läßt, nicht jedoch als sog. Autorun-File (sei es nun Autorun.Sys oder *.Arx).

Drei Beispiele: 1) Das Spiel Sysiphos (Vollversion) schaltet normalerweise das Basic nicht automatisch ab, also habe ich dort mittels "append" ein kleines und ca. 55 Byte kurzes Utility (Basoff.COM) an- bzw. davor gefügt. Mittels Option "L" läßt sich das Programm problemlos laden, Basic wird abgeschaltet und das Spiel startet. Als *.AR0 wird das Basic abgeschaltet und man landet kurz darauf im DUP.SYS... seltsam...

2) Neo-Tracker 1.x von EPI. Das Init- und Haupt-Programm läuft mit 128k RAM, Basic off und Option "L" einwandfrei, beim Versuch es als Autorun-File (*.AR0) laufen zu lassen, stürzt das Programm während dem LAdevorgang ab...

3) Multi-autorun, mit Rd-Treiber (*AR0), RD-Copy (:Ramdisk) und last not least TB-XL (*.AR1,das dann automat. ein TB-File lädt): Lade ich die ersten Teile, außer TB-XL via Autorun, so läuft alles einwandfrei - die RD wird formatiert, ein ultralanges file oder alle files, die in der Subdir :Ramdisk stehen, werden komplett in die RD kopiert und ggf. ins Dup.SYS zurückgekehrt. Wenn ich aber auch noch TB-XL als Autorun-File hinzufüge, so kopiert die RD-Copy nur einen Teil des Programms oder der PRogramme. Bei mehreren Files wird nur das erste in die RD kopiert, sodann startet TB-XL (und danach das Autorun.BAS); bei einem ultralangen File (größer 36kbytes) wird auch bei abgeschaltetem Basic nur ca. 31-36kbytes an Daten in die RD kopiert, der kopiervorgang bricht dann ab und TB-XL startet...

Ergo, kann es sein, das MyDOS zwei versch. Formen/Arten für das Laden von ML-Files kennt und vielleicht eine Form bei der manuellen Option "L" (Binary Load) und die andere beim Autorun benutzt ?!? -Andreas Magenheimer

von cas » Mo 29. Aug 2005, 00:17
Ich kenne mich mit MyDOS nicht so aus, habe aber festgestellt, das es folgende Unterschiede bei verschiedenen DOS Versionen gibt, in Bezug auf die Startaddresse der COM-Datei.

Einigen COM-Dateien fehlt eine explizite Startaddresse in Speicherstelle RUNAD (736-737/$2E0-2E1). Einige DOS Varianten springen direkt in die niedrigste Ladeaddresse der COM-Datei, also wenn die Datei von $2000-$4500 lädt, wird bei nichtvorhandener Startaddresse nach $2000 gesprungen.

Andere DOS Versionen führen bei nichtvorhandener Start- oder Init-Addresse im letzten Ladeblock ein RTS aus, welches zu einem Rücksprung ins DOS führt.

Vielleicht ist dies auch bei MyDOS der Fall. Gerade bei AUTORUN.SYS Programmen kann es ja gewollt sein, das nur initialisiert wird (Ramdisk Treiber, USB Treiber) und danach das DOS mit dem Laden weiterer Treiber oder dem DOS-Menü weitermacht.

Prüfe doch mal, ob die Dateien alle eine Startadresse in $2E0 haben.

Ciao

Carsten

von Mathy » Mo 29. Aug 2005, 15:51
Hallo Andreas

Hast Du MyDOS version 4.55 beta 3 schon probiert? Ich glaube mich erinnern zu könne dass der Lee mir zu diesem Thema mal was gesagt hat.

Tschüß

Mathy

von CharlieChaplin » Di 30. Aug 2005, 00:19
Hmm,
ich glaube ich habe nur MyDOS 4.54 oder so (der Lee hat leider selber nie die Versionsnummern von MyDOS geändert, so dass ich nicht mehr weiss, welches das letzte Update war, dass er mir geschickt hat)...

Naja, jedenfalls hat das erwähnte Basic-off Utility nur eine Init-Adresse (Memory 0400-042C, Init 0400). das ebenfalls erwähnte Programm Sysiphos ist mit dem Powerpacker (von T.Karwoth) gepackt und besitzt dutzende Init-Adressen und am ende eine (!) RUN Adresse. Warum das MyDOS bereits nach dem ersten Init (also dem Basic-off Utility) ins DUP springt ist mir schleierhaft - wo dies mit der Option "L" doch nicht geschieht...

Auch scheint es Probleme bei dem neuen Multi-Autorun (ab Version 4.53) in Verbindung mit dem RD-Treiber und RD-Copy (die Subdir :Ramdisk) zu geben. Normalerweise sieht die Reihenfolge beim Multi-Autorun so aus: *.AR0, *.AR1, *.AR2, ... *.AR9; benutzt man aber einen RD-Treiber als *.AR0, so erledigt dieser noch dutzende Dinge (RD neu formatieren oder nicht, DUP kopieren oder nicht, Mem.SAV anlegen oder nicht, etc.) - und vor allem schaut der RD-Treiber nach einer eventuell vorhandenen Subdir :Ramdisk um somit die RD-Copy zu starten (d.h. alle Programme die in dieser Subdir :Ramdisk drinstehen in die RD zu kopieren). Vielleicht gibt es bei dieser Vielzahl von zu erledigenden Jobs irgendwo ein paar Hänger oder MyDOS wird "vergesslich", wer weiss... Andreas Magenheimer.

von CharlieChaplin » Di 30. Aug 2005, 00:29
Nun,
das Problem mit DOS 2.0, DOS 2.5, Turbo-DOS, MyDOS und anderen - bei fehlender RUN-Adresse - war und ist mir bekannt. Habe deshalb schon an dutzende (oder hunderte?) Programme manuell eine RUN-Adresse angefügt...

Das erwähnte Problem bei MyDOS (und dem Spiel Sysiphos) sieht aber so aus, dass das Spiel dutzende Init-Adressen und am Ende genau eine RUN-Adresse hat. Seltsamerweise springt MyDOS gleich nach der ersten Init-Adresse ins DUP, sofern das Spiel als Autorun vorliegt; wird das Spiel hingegen mit Option "L" manuell geladen, lädt MyDOS es bis zum Ende durch und startet es auch (bei fehlender RUN-Adresse würde es auch mit der Option "L" nicht starten)...

Andreas Magenheimer

von Mathy » Di 30. Aug 2005, 01:21
Hallo Andreas

CharlieChaplin hat geschrieben:Hmm,
ich glaube ich habe nur MyDOS 4.54 oder so (der Lee hat leider selber nie die Versionsnummern von MyDOS geändert, so dass ich nicht mehr weiss, welches das letzte Update war, dass er mir geschickt hat)...


ja, ich hab' auch schon beim Lee gemeckert. Aber bei 4.55 beta 3 steht auch 4.55 beta 3 drüber.

Tschüß

Mathy

von CharlieChaplin » Di 30. Aug 2005, 06:42
Ok,
dann schicke mir doch bitte eine Kopie von MyDOS 4.55 (Beta 3) zu. Mailadresse: amp at abbuc . de Im Voraus vielen Dank !! Gruss, Andreas Magenheimer

von Mathy » Di 30. Aug 2005, 16:27
Hallo Andreas

Du hast Post.

Tschüß

Mathy

PS der Charlie ist hier gemeint. Nicht einen der anderen Andreasse.

von CharlieChaplin » Do 1. Sep 2005, 13:42
Danke Mathy !!!
-andreas magenheimer (charlie chaplin)