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)