Magic Disk 64

home to index to html: MD9301-UTILITIES-IRQ-TOOL.html
Das  IRQ-Tool  ist eine kleine Hilfe für
Basic-Programmierer, die es  ermöglicht,
den Bildschirm in einen Hires-Grafik und
einen  normalen Textbildschirm zu split-
ten.                                    
Die Bedienung ist  dabei  sehr  einfach.
Sie  laden  das  IRQ-Tool  lediglich mit
LOAD"IRQ-TOOL",8,1 und  starten  es  mit
dem  Befehl 'SYS 49152,<Zeile>,<Multi>'.
Hierbei steht <Zeile> für die Rasterzei-
le,  ab  der  der  Bildschirm gesplittet
werden soll und <Multi>  für  den  Wert,
der in Speicherstelle 53270 (das Steuer-
register für hochauflösende Grafik) ste-
hen  soll.  Benutzen Sie z.B. den Befehl
'SYS 49152,150,8', so stellt  der  Bild-
schirm bis in Rasterzeile 150 hochauflö-
sende Grafik und ab dort  normalen  Text
dar.                                    
Beim  Aufruf werden die beiden Parameter
in den Speicherstellen  $CFFE  ("Multi")
und  $CFFF  ("Zeile")  (dez.  53246  und
53247) abgelegt und von dort 25  Mal  in
der Sekunde ausgelesen und aktualisiert.
Durch  ein  paar  intelligente  POKEs in
diese Zwischenspeicher  können  Sie  nun
erstaunliche  Effekte erzielen. Mit fol-
gendem Basicprogramm kann  zum  Beispiel
eine  Grafik  fließend  über  einen Text
geschoben werden:                       
10 SYS 49152,48,8                       
20 FOR I=48 TO 248                      
30 POKE 53247,I                         
40 FOR J=1 TO 20: NEXT J                
50 NEXT I                               
In Zeile 10 wird das IRQ-Tool aktiviert.
Die  Schleife  in  den  Zeilen 20 bis 50
schreibt nun in  regelmäßigen  Abständen
einen Zeilenwert in den Zeilenzwischens-
peicher. Damit das nicht zu schnell  ge-
schieht, wurde eine Verzögerungsschleife
in Zeile 40 eingebaut. Wenn Sie das Pro-
gramm nun starten (natürlich nachdem das
IRQ-Tool vorher geladen  wurde  und  die
Basiczeiger  mit 'NEW' neu initialisiert
wurden), so rollt  die  Grafikseite  wie
ein Rollo über den momentanen Text.     
Eine  andere Anwendung bietet sich durch
die Ausnutzung der Fähigkeiten von Spei-
cherstelle  53270 ("Multi"). Hier können
nämlich einige Dinge eingestellt werden,
die den Anzeigemodus der  Grafik  beein-
flussen.  Hier  eine  Belegung  der Bits
dieses Registers:                       
Bit Bedeutung                           
-----------------------------           
 0  Verschieben des                     
 1  Bildschirms in                      
 2  X-Richtung                          
 3  0=38-Zeichen-Modus / 1=40 Zeichen-  
    Modus                               
 4  0=HiRes-Modus / 1=Multicolor-Modus  
 5  unbenutzt                           
 6  unbenutzt                           
 7  unbenutzt                           
So  können Sie z.B. den Grafikbildschirm
zyklisch  hin-  und  herwackeln  lassen,
oder  aber  einen einzeiligen Scrolltext
von Basic aus programmieren. Hierzu müs-
sen  Sie  lediglich den 38 Zeichen-Modus
einschalten und dann immer die  entspre-
chenden Werte in den Bits 0-2 eintragen.
Diese  werden  als  3-Bit-Zahl gewertet,
die die Verschiebung des Bildschirms  um
0-7  Pixel  nach  links angibt. Als Bei-
spiel hier ein Programm, daß den Grafik-
bildschirm wackeln lässt:               
 10 SYS49152,150,16                     
 20 FOR I=0 TO 7                        
 30 POKE 53246,i+16                     
 40 FOR J=1 TO 20:NEXT                  
 50 NEXT i                              
 60 FOR I=7 TO 0 STEP -1                
 70 POKE 53246,i+16                     
 80 FOR J=1 TO 20:NEXT                  
 90 NEXT i                              
100 GOTO 20                             
In  Zeile  10  wird  wieder das IRQ-Tool
initialisiert. In der  Schleife  in  den
Zeilen  20-50  wird  nun in regelmäßigen
Abständen der Inhalt der  Variablen  'I'
plus  dem  Wert  16  (für  Hires an, 38-
Zeichen-Modus),  in  die  Speicherstelle
53246 geschrieben, die als Zwischenspei-
cher für den Parameter "Multi" dient. In
den Zeilen 60-90  wird  das  ganze  dann
rückwärts  wiederholt('I' wird von 7 auf
0 heruntergezählt). In Zeile 100 springt
das Programm wieder zum  Anfang  und  so
fort.  In den Zeilen 40 und 80 sind wie-
der   Verzögerungsschleifen   eingebaut,
damit  die  Werte  nicht  zu schnell ge-
schrieben werden.                       
Am Besten,  Sie  probieren  einfach  ein
wenig mit dem IRQ-Tool herum. Sie werden
erstaunt  sein,  was  für  Möglichkeiten
dieses  winzige  Assembler-Programm  dem
Basic-Programmierer bietet.             
                                    (ub)



Valid HTML 4.0 Transitional Valid CSS!