🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

4 total messages Started by Thorsten Zoerner Wed, 26 Jun 1991 12:06
Pexec
#326
Author: Thorsten Zoerner
Date: Wed, 26 Jun 1991 12:06
28 lines
1618 bytes
Servus.

Ich hab da ein eher geringes Problem mit der GEMDOS-Pexec- 
Funktion unter TOS 1.4; aber vielleicht hat ja schon mal jemand
in einer aehnlichen Richtung geforscht, und kann mir einige Muehen
ersparen.
Und zwar: Ich lasse den User ein File benennen, das dann als
Overlay (3-Modus) eingeladen wird. Wird jetzt aber aus Versehen
z.B. ein ASM statt PRG angegeben, so folgt natuerlich ein TOS-
Error 66.
Jedoch: Der allocierte Speicher wird vom TOS _nicht_ wieder freige-
geben, und die Startadresse des verwendeten Speicherbereichs ist meines
Erachtens auch nicht ermittelbar (D0=-66, A0 scheinbar = USP, alle
and. Register natuerlich unveraendert).

Was tun ?

Ich greife bis jetzt zur Notloesung, vorher ein Malloc und Mfree
zu machen, um so die hoechstwahrscheinliche Startadresse fuer
das Overlay zu bekommen. Das klappt aber natuerlich auch nicht
immer, und scheint mir auch nicht besonders legal.

Hat jemand eine bessere Idee ?

Tom
----
Th. Zoerner, Neuweiherstr.36,  D-W-8523 BD
tnzoerne@faui09.informatik.uni-erlangen.de
Re: Pexec
#333
Author: Robert Risack
Date: Fri, 28 Jun 1991 16:26
29 lines
2012 bytes
tnzoerne@faui09.informatik.uni-erlangen.de (Thorsten Zoerner) writes:

>Servus.

>Ich hab da ein eher geringes Problem mit der GEMDOS-Pexec- 
>Funktion unter TOS 1.4; aber vielleicht hat ja schon mal jemand
>in einer aehnlichen Richtung geforscht, und kann mir einige Muehen
>ersparen.
>Und zwar: Ich lasse den User ein File benennen, das dann als
>Overlay (3-Modus) eingeladen wird. Wird jetzt aber aus Versehen
>z.B. ein ASM statt PRG angegeben, so folgt natuerlich ein TOS-
>Error 66.
>Jedoch: Der allocierte Speicher wird vom TOS _nicht_ wieder freige-
>geben, und die Startadresse des verwendeten Speicherbereichs ist meines
>Erachtens auch nicht ermittelbar (D0=-66, A0 scheinbar = USP, alle
>and. Register natuerlich unveraendert).

>Was tun ?

Eine Moeglichkeit waere, den Dateianfang selber auf Korrektheit zu
Pruefen. Das erste Wort muss ein Sprungbefehl auf den eigtentlichen
Programmanfang sein. ($60xx wobei das xx fuer $28 o.ae. steht).
---
|----------------------------------------------------------------------|
| Freedom without peace cannot be freedom !                  /   |   \ |
|-----------------------------------------------------------|    |    ||
| Robert Risack, Kosbacher Weg 40c, W-8520 Erlangen,GERMANY |   /|\   ||
| rtrisack@faui09.informatik.uni-erlangen.de                 \ / | \ / |
|----------------------------------------------------------------------|
Re: Pexec
#340
Author: Claus Brod
Date: Mon, 01 Jul 1991 14:49
14 lines
1236 bytes
rtrisack@faui09.informatik.uni-erlangen.de (Robert Risack) writes:

>Eine Moeglichkeit waere, den Dateianfang selber auf Korrektheit zu
>Pruefen. Das erste Wort muss ein Sprungbefehl auf den eigtentlichen
>Programmanfang sein. ($60xx wobei das xx fuer $28 o.ae. steht).

Es muss $601A sein.

----------------------------------------------------------------------
Claus Brod, Am Felsenkeller 2,			Things. Take. Time.
D-8772 Marktheidenfeld, Germany		 	(Piet Hein)
csbrod@medusa.informatik.uni-erlangen.de
Claus_Brod@wue.maus.de
----------------------------------------------------------------------
Re: Pexec
#342
Author: Thorsten Zoerner
Date: Mon, 01 Jul 1991 15:47
28 lines
1977 bytes
csbrod@immd4.informatik.uni-erlangen.de (Claus Brod) writes:
>rtrisack@faui09.informatik.uni-erlangen.de (Robert Risack) writes:
>>Eine Moeglichkeit waere, den Dateianfang selber auf Korrektheit zu
>>Pruefen. Das erste Wort muss ein Sprungbefehl auf den eigtentlichen
>>Programmanfang sein. ($60xx wobei das xx fuer $28 o.ae. steht).
>Es muss $601A sein.
(         ^^^^  ungemein konstruktiv!)

Nun gut. Das hilft vielleicht, um eine XY-Datei von einem Programm
zu unterscheiden. Was mache ich jetzt aber, wenn jemand ein File
angibt, das im Prinzip zwar ein korrekt ausfuehrbares Programm
ist, aber nur einen kleinen Fehler, z.B in der Relocation-Tabelle
hat, und TOS deshalb die Ausfuehrung (bzw. das Laden) verweigert ?

Dann muesste ich ja die komplette Arbeit von TOS vorher selber
machen, naemlich Header, Segmentlaengen und Rel-Tab ueberpruefen.
Genau _diesen_ Aufwand wollte ich mir ersparen !

Ich bin mittlerweile zu der Auffassung gekommen, dass dieses Feature
in die Liste der TOS-Bugs aufzunehmen ist. Als Loesung fuer mein
Programm werde ich wohl die malloc/mfree-Loesung belassen und im
Falle eines Versagens eine smarte Alert-Box mit entsprechendem
Hinweis anzeigen.

Tom
----
Th. Zoerner, Neuweiherstr.36,  D-W-8523 BD
tnzoerne@faui09.informatik.uni-erlangen.de
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads