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 Betriebssy- stems während des Ladens desöfteren den IRQ-Interrupt, um so ein exakteres Lade- timing 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 ver- langsamten Abspielen der Musik, oder Rastergeflacker manifestiert. Das IRQ- Loader-System soll hier nun Abhilfe schaffen. Es stellt Ihnen eine Laderou- tine zur Verfügung, die während des La- dens 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. Die- ses dient lediglich der Relokation der Laderoutine an eine, von Ihnen gewünsch- te, Adresse. Sie können hierzu lediglich das Highbyte der gewünschten Adresse mit Hilfe des keinen Quadratcursors verän- dern. Ist die Eingabe korrekt, so schließen Sie mit <RETURN> ab. Mit <DEL> können Sie zuvor noch Korrekturen vor- nehmen. Hiernach verlangt das Programm eine Zieldiskette von Ihnen, auf die es die IRQ-Loader-Routine ab der gewünsch- ten Adresse ablegen soll. Diese Diskette sollte noch mindestens 5 freie Blöcke enthalten, da der Loader exakt 1KB ($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 Lade- routine können Sie nun mit LOAD"IRQ- LOADER",8,1 an die angegebene Ladeadres- se laden. Der Loader muß nun zunächst mit einem "SYS Adresse" initialisiert werden, wobei "Adresse" für die angege- bene Ladeadresse steht. Nach 1-2 Sekun- den 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 La- deroutine selbst aufrufen, um Programm- daten nachzuladen, ohne daß der IRQ da- von gestört wird. Beachten Sie bitte, daß der Loader aus- schließ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 Initiali- sierung ein spezielles Programm in den Floppyspeicher geschrieben, das aus- schließlich dem Laden von Files mit Hil- fe des IRQ-Loaders dient. Bei normalen LOAD-Befehlen wird der C64 abstürzen. Leider kann diese Routine auch softwa- remässig nicht mehr deaktiviert werden. Dies können Sie nur durch einen Floppy- reset (im einfachsten Fall ein kurzes aus- und wiedereinschalten der Floppy) erzielen! Die Laderoutine selbst kann nun sehr einfach angewandt werden. Nachdem die Initialisierung durchgeführt wurde, la- den 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 Buchsta- ben des Filenamens, die der IRQ-LOADER laden soll. Für den Namen "FM" z.B. müs- sen Sie also die Hexwerte $46 und $4D in X- und Y-Register laden. Der anschlies- sende 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 Pro- gramm. Der Unterschied besteht nur da- rin, daß ein von Ihnen zuvor Initiali- sierter IRQ ungestört während des Ladens weiterläuft und es somit zu keinen Stör- effekten kommt. (ub)