Magic Disk 64

home to index to text: MD9503-UTILITIES-IRQ-LOAD-SYSTEM.txt
            IRQ-LOADER-SYSTEM           
    - Daten Laden ohne Zeitverlust -    

Das IRQ-Loader- System soll vor allem den Spieleprogrammierern unter Ihnen eine Hilfe sein. Wie allgemeinhin bekannt, so sperren die Laderoutinen des Betriebssystems während des Ladens desöfteren den IRQ-Interrupt, um so ein exakteres Ladetiming zu erzielen. Der Nachteil dieser Sache: Musiken, oder Raster-IRQ- Effekte, die während des Ladens laufen, werden gebremst und kommen mit ihrem Timing durcheinander, was sich in einem verlangsamten Abspielen der Musik, oder Rastergeflacker manifestiert. Das IRQ-Loader- System soll hier nun Abhilfe schaffen. Es stellt Ihnen eine Laderoutine zur Verfügung, die während des Ladens den IRQ nicht abschaltet, und es somit erlaubt, Musiken und/ oder Raster-IRQ- Effekte ungestört weiterlaufen zu lassen.
1) PROGRAMM-BEDIENUNG Laden Sie das Programm zunächst mittels LOAD" IRQ-LOAD- SYSTEM!",8 und starten Sie es durch " RUN" . Nach kurzer Entpackzeit erscheint nun das Programmintro, aus dem Sie durch Drücken der < SPACE>- Taste in das eigentliche Programm gelangen. Dieses dient lediglich der Relokation der Laderoutine an eine, von Ihnen gewünschte, Adresse. Sie können hierzu lediglich das Highbyte der gewünschten Adresse mit Hilfe des keinen Quadratcursors verändern. Ist die Eingabe korrekt, so schließen Sie mit < RETURN> ab. Mit < DEL> können Sie zuvor noch Korrekturen vornehmen. Hiernach verlangt das Programm eine Zieldiskette von Ihnen, auf die es die IRQ-Loader- Routine ab der gewünschten Adresse ablegen soll. Diese Diskette sollte noch mindestens 5 freie Blöcke enthalten, da der Loader exakt 1 KB ($0400 Bytes) lang ist. Drücken Sie nun die < SPACE>- Taste, so wird der Loader unter dem Namen " IRQ-LOADER" gespeichert und anschließend ein Reset ausgelöst.
2) DER LOADER Die vom IRQ-Loader- System erzeugte Laderoutine können Sie nun mit LOAD" IRQ-LOADER",8,1 an die angegebene Ladeadresse laden. Der Loader muß nun zunächst mit einem " SYS Adresse" initialisiert werden, wobei " Adresse" für die angegebene Ladeadresse steht. Nach 1-2 Sekunden kehrt das Programm zurück, womit der Loader nun betriebsbereit ist. Beachten Sie bitte, daß während der einmaligen Initialiserung der IRQ abgeschaltet wird. Initialisieren Sie den Loader also immer VOR der Initialisierung des IRQs!
Von nun an können Sie jederzeit die Laderoutine selbst aufrufen, um Programmdaten nachzuladen, ohne daß der IRQ davon gestört wird.
Beachten Sie bitte, daß der Loader ausschließlich Files mit zwei Zeichen im Filenamen nachladen kann. Die nachzula- denen Files dürfen also keine längeren Filenamen aufweisen.
Desweiteren wurde während der Initialisierung ein spezielles Programm in den Floppyspeicher geschrieben, das ausschließlich dem Laden von Files mit Hilfe des IRQ-Loaders dient. Bei normalen LOAD-Befehlen wird der C64 abstürzen.
Leider kann diese Routine auch softwaremässig nicht mehr deaktiviert werden.
Dies können Sie nur durch einen Floppyreset ( im einfachsten Fall ein kurzes ausund wiedereinschalten der Floppy) erzielen!
Die Laderoutine selbst kann nun sehr einfach angewandt werden. Nachdem die Initialisierung durchgeführt wurde, laden Sie ein File mit den folgenden drei Assembler-Befehlen nach:

LDX #$XX                                
LDY #$YY                                
JSR Adresse+3                           

Die Werte "$ XX" und "$ YY" stehen dabei für die ASCII-Codes der beiden Buchstaben des Filenamens, die der IRQ-LOADER laden soll. Für den Namen " FM" z. B. müssen Sie also die Hexwerte $46 und $4 D in Xund Y-Register laden. Der anschliessende JSR-Befehl an die Startadresse des Loaders plus 3( z. B.$1003, wenn der Loader bei $1000 liegt), lädt dieses File nun an die, in seinen ersten beiden Bytes abgelegte Startadresse.
Beachten Sie bitte, daß die Laderoutine selbst KEINE IRQ-Routine ist. Sie läuft in der Hauptschleife des Computers und blockiert während des Ablaufs Ihr Programm. Der Unterschied besteht nur darin, daß ein von Ihnen zuvor Initialisierter IRQ ungestört während des Ladens weiterläuft und es somit zu keinen Störeffekten kommt.
( ub)

Valid HTML 4.0 Transitional Valid CSS!