Allgemeine Tipps & Tricks

Aktuelle F-Tastenbelegung speichern
Nicht immer erfüllt die Belegung der Funktionstasten die eigenen Wünsche. Wie man mit dem Befehl KEY die Funktionstasten den eigenen Bedürfnissen anpassen kann sollte jeder wissen (wenn nicht sieh bitte im Handbuch nach), aber das Speichern der Eigenkomposition ist weitgehend unbekannt und nicht im Handbuch beschrieben. Mit BSAVE "(Dateiname)",P4096 TO P4352 kann genau dies gemacht werden. In den Rechner zurückholen geschieht mit dem Befehl BLOAD.
Vereinfachtes Laden aus dem Directory
Hast du das schon einmal ausprobiert? Mit der F3-Taste das Directory einer Diskette auslesen, an den Anfang des zu ladenden Programmes springen, DLOAD eingeben, dreimal TAB-drücken, Doppelpunkt setzen und Eingabetaste drücken. Sinnvoll ist es diese Funktion auf eine F-Taste zu legen:
KEY 2,"DLOAD"+CHR$(9)+CHR$(9)+CHR$(9)+" :"+CHR$(13)
Positionier nun mal den Cursor an die selbe Stelle wie eben, und drücken jetzt die Taste F2. Willst du dass das Programm gleich gestartet wird musst du anstatt DLOAD RUN verwenden.
64'er Modus forever...
Benutzt du deinen C128 überwiegend im C64-Modus, so kann es ziemlich nervig sein wenn nach jedem Reset der Rechner im C128 Modus startet (vorausgesetzt man vergisst die Commodoretaste zu drücken). Die folgende BASIC-Zeile verhindert den Start in den C128-Modus nach einem Reset, erst nach einem Aus- und wieder Einschalten ist der Effekt weg.
BANK1: POKE65528,77: POKE 65529,255: BANK15: SYS65357

Programmierhilfen, Tipps und Programme

Raffiniertes BASIC-Tuning
Dieses Programm fügt dem BASIC V7.0 vom C128 vier sehr interessante und nützliche Befehle hinzu:
FIND - APPEND - OLD - LISTSCROLL
Mit FIND läst sich eine bestimmte Zeichenfolge (super zum Aufspüren von Variablen) in einem BASIC-Listing finden. Die Syntax für diesen Befehl lautet .F (der '.' vor dem 'F' ist wichtig). Möchte man z.B. die Zeichenfolge 'A3' in einem Listing aufspüren gibt man folgendes ein: .F A3 Alle Zeilen die an beliebiger Stelle die Zeichenfolge 'A3'haben, werden aufgelistet. .F GOSUB bringt alle Zeilen mit dem Befehl GOSUB auf den Bildschirm.
Mit APPEND Funktion, auch bekannt als 'Merge' kann man zwei BASIC Programme miteinander verbinden. Das eine Pogramm muss sich auf dem Rechner befinden, das andere auf Diskette. Achtung, die erste Zeile des anzuhängenden PRG's muss höher sein als das PRG das sich auf dem Rechner befindet. Die Syntax lautet: .A "{Dateiname}", Gerätenummer. Beispiel: .A "TEST2",8 Dem im Speicher befindlichen Programm Test1 wird das Programm Test2 angehängt. Es funktioniert nur wenn du die Vorschrift der Höheren Zeilennummer beachtest.
Mit OLD kann man ein, mit NEW gelöschtes Programm wieder Herstellen. Dies funktioniert sogar bei einem Reset, allerdings muss zuvor die BASIC-Erweiterung mit SYS 5000 erneut gestartet werden.
Die beste Erweiterung ist wohl LISTSCROLL , dafür gibt es zwar keinen speziellen BASIC-Befehl, aber die Funktion gestattet, ein BASIC-Listing mit den Cursortasten auf dem Bildschirm Zeilenweise nach oben oder unten zu scrollen. Vorrausetzung: der Befehl LIST muss aktiv sein und es muss sich mindestens eine BASIC-Zeile auf dem Bildschirm befinden.

Starten des Tools:
Lade das Programm mit BLOAD ".F.A.O+SCL $1388" dannach SYS 5000 eingeben.

hier kann das arschgeile Tool  .F.A.O+SCL gesaugt werden oder auf der Tool-Seite

Programme von Diskette listen
Die Maschinenspracheroutine 'FILE-LIST' läd ein Programm von Diskette und gibt die Basiczeilen aus, genau wie mit dem Befehl LIST, jedoch ohne das im Speicher befindliche Programm zu überschreiben. Das Listen lässt sich wie gewohnt mit der Taste NO SCROLL anhalten und mit der Taste STOP abbrechen. Achtung, das Tool funktioniert nur mit der Floppy 1571, dafür aber im 80 oder 40 Zeichen-Modus.
Starten des Tools:
BLOAD "FILE LIST 2816"
SYS2816: BLOAD"{Test1}" - listet das gesamte Programm Test1
SYS2816,,,,,500 - 600 : BLOAD"{Test2}" - listet das Programm Test2 von Zeile 500 bis 600

hier kann das arschgeile Tool  FILE LIST 2816 gesaugt werden oder auf der Tool-Seite


Programmier Tipps

Cursor bei Get-Abfrage
Wenn im BASIC-Programm folgende Zeile als erstes steht:
0 BANK15: SYSDEC("C01E"),85
erscheint an der Position ein blinkender Strich-Cursor, bei der die verlangte Eingabe (Tastendruck, Wort, Textzeile...) erfolgen soll.
Spritesteuerung vereinfacht
Folgende BASIC-Zeilen, die man in eigene Programme einbauen kann, reduziert die Joystick-Abfrage bei der Steuerung von Sprites auf ein Minimum:
10 SPRITE1,1
20 J=(JOY(2)-1)*45: IF J= -45 THEN MOVSPR1,0#0: GOTO 20: ELSE MOVSPR1,J#7: GOTO 20
So funktioniert das ganze: Zeile 10 schaltet das Sprite ein. In Zeile 20 definiert die Variable J die Joystick-Richtung -1 x 45(360 Grad/8 Richtungen = 45 Grad). Ist J =-45 (Null-Stellung), stoppt das Sprite, andernfalls bewegt es sich in Richtung J (in diesem Fall durch den Befehl MOVSPR) und springt zum Zeilenanfang zurück. Die Sprite-Geschwindigkeit regelt der letzte Parameter der MOVSPR-Anweisung.
Sprite-Stopper-Poke
Die Anweisung MOVESPR in BASIC V7.0 läuft Interruptgesteuert ab. Das Sprite bewegt sich unaufhörlich über den Bildschirm. Abbrechen lässt sich der Zauber mit der Tastenkombination RUN/STOP + RESTORE oder einen weiteren MOVSPR-Befehl der die Geschwindigkeit auf null setzt. Einfacher geht's mit einem Poke-Befehl:
POKE 2564,192
Neubelegung der HELP-Taste
Falls du die Belegung der HELP-TASTE für andere Zwecke verändern möchtest, schaue dir mal folgendes BASIC-Listing an:
10 J=1: INPUT"NEUE BELEGUNG";N$: POKE4105,LEN(N$)
20 FOR I=4096 TO 4104: A=A+PEEK(I): NEXT I
30 FOR I=4106+A TO 4106+ALEN(N$): N=ASC(MID$(N$,J,1))
40 IF N=64 THEN POKE I,13: J=J+1: NEXT I
50 POKE I,N: J=J+1: NEXT I: END
Willst du das Drücken der Returntaste simulieren, verwende die Taste '@'(CHR$-CODE64). Eine neue Belegung der SHIFT RUN/STOP Kombination erreicht man durch Ändern des Wertes 4105 in 4104 (Zeile 10) sowie der Zahl 4104 in 4103 (Zeile 20)
Resetfeste BASIC Programme
Mit einigen Bytes in Maschinensprache ist es möglich, ein BASIC-Programm im C128-Modus resetfest zu machen:
10 FOR I=4864 TO 4886: READ D$: D=DEC(D$)
20 POKE I,D: NEXT
30 DATA A9,00,8D,00,FF,20,84,FF
40 DATA 20,7A,41,20,12,41,A9,C1
50 DATA 8D,04,0A,58,4C,A6,5A
60 BANK1: POKE DEC("FFF8"),0: POKE DEC("FFF9"),19
Allerdings kommst du ohne weiteres in den C64 Modus wenn du gleichzeitig die Commodore-Taste gedrückt hältst. Mit folgendem Trick kann man auch das Programm im C64-Modus abspeichern, Scheisse - war wohl nichts!
1 SYS 57812 "BASIC",8
2 POKE 174,0: POKE 175,160
3 POKE 193,1: POKE 194,28
4 SYS 62957
Aber mit diesem Zusatz kann auch das vermieden werden, und dein Programm ist sicher:
10 FOR I=32768 TO 32777: READ D$: D=DEC(D$)
20 POKE I,D: NEXT
30 DATA 09,08,09,08,C3,C2,CD,38,30,02
Danach kann man durch Drücken der Commodore-Taste und Auslösen des Reset nicht in den C64-Modus wechseln.
Hardcopy des Hires-Bildschirmes
Dieses kurze BASIC-Programm bringt auf herkömmlichen, grafikfähigen Druckern den 40-Zeichen-Hires-Bildschirm zu Papier, allerdings zur Seite gekippt. Trotzdem ist die Qualität einwandfrei.
100 OPEN1,4
110 FOR T=312 TO 0 STEP -8
120 DRAW 1,T,0 TO T,199
130 SSHAPE A$,T,0,T+7,199
140 A$=LEFT$(A$,200)
150 PRINT#1,CHR$(8)+a$
160 NEXT
170 PRINT#1,CHR$(15)
180 CLOSE1: GRAPHIC 0: END
Vor dem Laden bzw. Starten des Programms sollten man die Anweisung 'GRAPHIC1,1: GRAPHIC0' eingeben. Hole nun die Hires-Grafik mit BLOAD in den Computer und Starte das Listing mit RUN
Drucker mit Software Interface (Parallelport)
Besitzt du einen Drucker mit Parallelem Eingang (PC-Standart), dann ist dies das Richtige Programm für dich. Normaler weise benötigt man ein relativ teueres (heute bekommt man es gar nicht mehr, höchstens auf dem Flohmarkt oder bei http://www.ebay.de). Mit dem Software Interface 5120 ist dies auch ohne ein solches Interface möglich, allerdings braucht man ein Parallkabel für den USER Port, ebenfalls mal bei ebay nachschauen, ich habe ein - ätsch. Das 5120 lenkt alle Druckerausgaben, die z.B. im Programm- oder Direktmodus mit OPEN4,4 und PRINT# eingeleitet werden auf den USER-PORT um. Lade das Programm am besten vor dem Hauptprogramm das die seriellen Druckroutinen enthält, mit BLOAD"INTERFACE 5120", mit SYS 5120 wird das Tool initialisiert. Die Einschaltmeldung erscheint auf dem Bildschirm. Zwei Übertragungskanäle stehen jetzt zu Verfügung: OPEN1,4 - wandelt die Daten so um das sie von einem EPSON-Drucker verstanden werden (Sonderzeichen incl.)

hier kann das arschgeile Tool  INTERFACE 5120 gesaugt werden oder auf der Tool-Seite


Peripherie und Hardware Tipps

Tipps & Tricks zur Peripherie und Hardware gibt es auf der C64 Tipps Seite !

"Die Option Drucken funktioniert erst ab Netscape V4.0 bzw. I-Explorer 5.0 !"

I Tipps & Tricks Startseite I C128 I C16 I C64 I VC20 I Startseite I