PofoWiki

Die ultimative Informationsquelle zum ATARI Portfolio

Benutzer-Werkzeuge

Webseiten-Werkzeuge


hardware:doku:techrefguide:anhangd

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
hardware:doku:techrefguide:anhangd [26/07/2007 19:07] – typo uxthardware:doku:techrefguide:anhangd [Unbekanntes Datum] (aktuell) – Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1
Zeile 1: Zeile 1:
 ===== ANHANG D: SOFTWARE ENTWICKLUNGSVERFAHREN ===== ===== ANHANG D: SOFTWARE ENTWICKLUNGSVERFAHREN =====
 +
  
  
 === STAPEL ODER SPEICHERGRÖßE VERRINGERN === === STAPEL ODER SPEICHERGRÖßE VERRINGERN ===
-Für manche komplierte (.EXE) Programme ist es erforderlich den vom Kompiler zugewiesenen Stapel und die Speichergröße zu verringern wenn die Programme für den Portfolio entwickelt werden. Dies ist vor allem dann wahr wenn die internen Anwendungen bei laufendem Programm aufrufbar sein sollen.\\+Für manche kompilierte (.EXE) Programme ist es erforderlich den vom Compiler zugewiesenen Stapel und die Speichergröße zu verringern wenn die Programme für den Portfolio entwickelt werden. Dies ist vor allem dann wahr wenn die internen Anwendungen bei laufendem Programm aufrufbar sein sollen.\\ 
 + 
 +Microsofts Assembler beinhaltet eine Utility (EXEMOD) die es erlaubt den maximal benötigten Speicher im Header der .EXE-Datei zu verändern. Es ist auch möglich diese Werte bei den meisten Linkern einzustellen. Ein Programm auf diese Weise zu konfigurieren schafft genügend Speicher um die internen Anwendungen auszuführen.\\
  
-Microsofts Assembler beinhaltet eine Utility (EXEMOD) die es erlaubt den maximalen benötigten Speicher im Header der .EXE-Datei zu verändern. Es ist auch möglich diese Werte bei den meisten Linkern einzustellen. Ein Programm auf diese Weise zu konfigurieren schafft genügend Speicher um die internen Anwendungen auszuführen.\\ 
  
  
 === SPEICHERZUWEISUNG === === SPEICHERZUWEISUNG ===
-Programme auf dem Portfolio sollten so gestaltet werden, dass sie nur den Speicher beanspruchen den sie auch wirklich brauchen. Überschüssigen Speicher freizugeben erlaubt es die internen Anwendungen zu über dem laufenden Programm zu starten.\\+Programme auf dem Portfolio sollten so gestaltet werden, dass sie nur den Speicher beanspruchen den sie auch wirklich brauchen. Überschüssigen Speicher freizugeben erlaubt es die internen Anwendungen über dem laufenden Programm zu starten.\\
  
 Zum Beispiel, im Normalfall weist DOS einem .COM-Programm immer den gesamten freien Speicher zu wenn es aufgerufen wird. Ein "anständiges" Portfolioprogramm sollte die DOS-Funktion "Resize Memory Block" (Int 21H Fn 4AH) verwenden um den Speicher auf die benötigte Menge zu begrenzen. Dies wird in den meisten Fällen dafür sorgen, daß genügend freier Speicher vorhanden ist um auch die internen Anwendungen zu starten. Zum Beispiel, im Normalfall weist DOS einem .COM-Programm immer den gesamten freien Speicher zu wenn es aufgerufen wird. Ein "anständiges" Portfolioprogramm sollte die DOS-Funktion "Resize Memory Block" (Int 21H Fn 4AH) verwenden um den Speicher auf die benötigte Menge zu begrenzen. Dies wird in den meisten Fällen dafür sorgen, daß genügend freier Speicher vorhanden ist um auch die internen Anwendungen zu starten.
 +
 +
 +
  
  
 === MS-DOS KOMPATIBILITÄT === === MS-DOS KOMPATIBILITÄT ===
-Denken sie daran, dass, wie in Abschnitt 3.4 erwähnt, der Portfolio zu DOS 2.11 ist, mit ein paar Verbesserungen um es kompatibler zu DOS 3.XX zu machen. Bedenken sie, dass die Run-Time-Libraries mancher Kompiler Pakete Betriebssystemdienste benötigen, die nur neuere MS-DOS Versionen bieten.\\+Denken sie daran, dass, wie in Abschnitt [[hardware:doku:techrefguide:abschnitt3#unterschiede_zwischen_portfolio_dos_und_ms-dos|3.4]] erwähnt, Portfolios DOS zu DOS 2.11 kompatibel ist, mit ein paar Verbesserungen um es kompatibler zu DOS 3.XX zu machen. Bedenken sie, dass die Run-Time-Bibliotheken mancher Compiler-Pakete Betriebssystemdienste benötigen, die nur von neueren MS-DOS Versionen geboten werden.\\
  
  
Zeile 33: Zeile 38:
 === AUOMATISCHES ABSCHALTEN VERHINDERN === === AUOMATISCHES ABSCHALTEN VERHINDERN ===
  Um zu verhindern, daß der Portfolio sich nach ein paar Minuten ohne Tastendruck automatisch abschaltet muss verhindert werden, dass der Int 16H Fn 0 ausgeführt wird, es sei denn es steht ein Tastendruck bereit. Dies könnte man global erledigen indem man ein Terminate And Stay Resident Programm schreibt, das den Vector von Int 16H abgreift und die Aufrufe der Funktion 0 durch wiederholte Aufrufe der Funktion 1 ersetzt bis ein Tastendruck erfolgt. Da dies aber den Stromverbrauch erheblich steigert, sollte man trotzdem einen langen, unfehlbaren Timer einfügen.\\  Um zu verhindern, daß der Portfolio sich nach ein paar Minuten ohne Tastendruck automatisch abschaltet muss verhindert werden, dass der Int 16H Fn 0 ausgeführt wird, es sei denn es steht ein Tastendruck bereit. Dies könnte man global erledigen indem man ein Terminate And Stay Resident Programm schreibt, das den Vector von Int 16H abgreift und die Aufrufe der Funktion 0 durch wiederholte Aufrufe der Funktion 1 ersetzt bis ein Tastendruck erfolgt. Da dies aber den Stromverbrauch erheblich steigert, sollte man trotzdem einen langen, unfehlbaren Timer einfügen.\\
 +
  
  
 === SPERREN DER INTERNEN ANWENDUNGEN === === SPERREN DER INTERNEN ANWENDUNGEN ===
-Das Starten der interne Anwendungen lässt sich verhindern, indem man das Flag (app_inapp) setzt, das anzeigt, dass bereits eine Anwendung läuft. Dies verhindert, dass die Hot-Keys eine weitere Anwendung starten können.\\+Das Starten der internen Anwendungen lässt sich verhindern, indem man das Flag (app_inapp) setzt, das anzeigt, dass bereits eine Anwendung läuft. Dies verhindert, dass die Hot-Keys eine weitere Anwendung starten können.\\
  
    app_psp       db     100H-2 dup(?     ;PSP der Anwendung    app_psp       db     100H-2 dup(?     ;PSP der Anwendung
hardware/doku/techrefguide/anhangd.1185471260.txt.gz · Zuletzt geändert: 16/02/2024 17:02 (Externe Bearbeitung)