Ich habe mal wieder einen unbekannten Compiler aus meinem Fundus ausgegraben. Wie das Programm funktioniert, müsst ihr selber herausfinden. Ich denke,
man benötigt zwingend eine Anleitung, sonst kommt man nicht weit.![]()
Es gibt 191 Antworten in diesem Thema, welches 30.885 mal aufgerufen wurde. Der letzte Beitrag (
Ich habe mal wieder einen unbekannten Compiler aus meinem Fundus ausgegraben. Wie das Programm funktioniert, müsst ihr selber herausfinden. Ich denke,
man benötigt zwingend eine Anleitung, sonst kommt man nicht weit.![]()
Ich habe mal wieder einen unbekannten Compiler aus meinem Fundus ausgegraben. Wie das Programm funktioniert, müsst ihr selber herausfinden. Ich denke,
man benötigt zwingend eine Anleitung, sonst kommt man nicht weit.
Ja, Öhm...bisschen schräg, das Teil. Ich habe das Gefühl, dass das einer dieser recht eingeschränkten Compiler ist. Ich habe mal ein etwas umfassenderes BASIC-Programm reingekippt, das hatte am Ende laut Statistik des Compilers 5 Byte und der Compiler hat sich verabschiedet. Dann habe ich ein Beispielprogramm vom Mikro-Compiler genommen. Das sah besser aus und lief durch. Die erzeugte SEQ-Datei ist wohl eine PRG-Datei mit falschem Typ, also habe ich zu PRG gewandelt und dann lädt das nach 3072. Läuft so aber nicht, weil es lauter Sprünge in den Bereich bei $C000 macht und da liegt ja nix. Also habe ich den Compiler geladen und beendet (in der Hoffnung, dass der seine Runtime nachlädt und dort ablegt) und dann konnte ich es laden und es starten...es hat sich dann aber sofort mit einem Illegal Quantity Error verabschiedet. Ich probiere nochmal was einfacheres...
Siehste...man lernt nie aus. Funktioniert aber trotzdem nicht viel. Ich habe ein Programm mit PRINT "HALLO" compiliert. Das besteht am Ende aus einem LDA #0, 3 Aufrufen in die Runtime und einem RTS. Und dem String "HALLO" im Speicher. Ich kann das starten...es gibt dann "256" aus. Auch schön. Es sieht aber so aus, als ob der Compiler mit sich selber compiliert worden ist. Immerhin das muss funktioniert haben.
Ich sage ja, dafür benötigt man das Manual, um zu erfahren, was der Compiler für Basic-Befehle (nicht)mag.
SYS zum Beispiel nicht.![]()
POKE auch nicht. Oder PRINT...hast du die Anleitung?
Leider nicht.
Noch ein Compiler: ChatGPT! Ich habe mal dieses Programm:
Mit diesem Prompt "compilieren" lassen:
ZitatCompiliere dieses C64-BASIC-Programm nach 6502-Assembler
Er hatte anfangs ein paar Probleme damit, weil er
Ich brauchte also 10 Iterationen a la "Nein, das geht so nicht, weil..." aber dann kam das hier raus ((nicht ganz korrekte...) Kommentare auch von ChatGPT):
*=$C000
LDX #0 ; Initialisiere den Zähler i auf 0
loop:
STX $D020 ; Schreibe den Wert von i in Speicheradresse 53280 (Hintergrundfarbe)
STX $D021 ; Schreibe den Wert von i in Speicheradresse 53281 (Textfarbe)
INX ; Erhöhe den Zähler i um 1
CPX #0 ; Überprüfe, ob i den Wert 0 erreicht hat (nach Überlauf von 255)
BNE loop ; Falls nicht, gehe zum Anfang der Schleife zurück
LDA #89 ; Lade den ASCII-Code für das Zeichen 'Y' in den Akkumulator
JSR $FFD2 ; Rufe die KERNAL-Funktion PRINTCHR$ auf, um das Zeichen auszugeben
LDA #69 ; Lade den ASCII-Code für das Zeichen 'E' in den Akkumulator
JSR $FFD2 ; Rufe die KERNAL-Funktion PRINTCHR$ auf, um das Zeichen auszugeben
LDA #65 ; Lade den ASCII-Code für das Zeichen 'A' in den Akkumulator
JSR $FFD2 ; Rufe die KERNAL-Funktion PRINTCHR$ auf, um das Zeichen auszugeben
LDA #72 ; Lade den ASCII-Code für das Zeichen 'H' in den Akkumulator
JSR $FFD2 ; Rufe die KERNAL-Funktion PRINTCHR$ auf, um das Zeichen auszugeben
LDA #33 ; Lade den ASCII-Code für das Zeichen '!' in den Akkumulator
JSR $FFD2 ; Rufe die KERNAL-Funktion PRINTCHR$ auf, um das Zeichen auszugeben
LDA #32 ; Lade den ASCII-Code für das Leerzeichen in den Akkumulator
JSR $FFD2 ; Rufe die KERNAL-Funktion PRINTCHR$ auf, um das Zeichen auszugeben
JMP loop ; Gehe zum Anfang der Schleife zurück
Alles anzeigen
Also nicht ganz schmerzfrei und nicht alles sofort korrekt, aber hey...immer noch besser als der BASS-Compiler.
Leider nicht.
Ich habe eine Art "Review" dazu gefunden: Bitte melde dich an, um diesen Link zu sehen.
ZitatJOU COMPILER , $30 diskette? for 64.
Compiler from JOU Laboratories, 2116 E. Araphao, Suite 371, Richardson TX 75081.
This single pass compiler was originally written in BASIC and compiled itself; it has many limitatons. For example, a subroutine must occur before the GOSUB, or within the first 19K of the program. Also you cannot GOTO or GOSUB to a line immediately following a REM or DATA statement. But if you can live within such restriction, this is an inexpensive compiler you might like. -John R. Olsen Jr. (in Northwest Users Guide )
Ich habe eine Art "Review" dazu gefunden: Bitte melde dich an, um diesen Link zu sehen.
Was auf gleicher Seite steht, ich bislang aber nicht wusste: Instaspeed und DTL ist nur ein alternativer Name.
Ich habe mal wieder einen unbekannten Compiler aus meinem Fundus ausgegraben. Wie das Programm funktioniert, müsst ihr selber herausfinden. Ich denke,
man benötigt zwingend eine Anleitung, sonst kommt man nicht weit.
Nur als Info: Ich habe hier eine kurze Notiz zu dem Compiler gefunden und gepostet:
Bitte melde dich an, um diesen Link zu sehen.
Zwar nicht ganz unbekannt, aber trotzdem nicht ganz bekannt. Ich lese gerade die Input64 06/1988 S. 15, da ist der Speedcompiler V3 beworben. Wohl eine Verbesserung von V2.2, die in der Zeitschrift ja veröffentlicht wurde. Hat die Version zufällig jemand?
Was auf gleicher Seite steht, ich bislang aber nicht wusste: Instaspeed und DTL ist nur ein alternativer Name.
DTL ist ja scheinbar nicht für den C64, sondern PET, wie ich das da lese. Wodurch ich nun aber auf diesen Thread gestoßen bin, wo findet man den? Das Handbuch habe ich gefunden, den Compiler aber nirgendwo. Nur dass er Teil der "Cimarron Insta series of applications" sein soll. Aber auch diese finde ich nicht.
Ich lade dir mal alle DTL-Basic Compiler hoch, die ich habe. Da wo Original im Dateinamen steht, muss das Dongle eingebunden werden.![]()
Viel Spass damit.![]()
Ich habe eine Art "Review" dazu gefunden: Bitte melde dich an, um diesen Link zu sehen.
Was auf gleicher Seite steht, ich bislang aber nicht wusste: Instaspeed und DTL ist nur ein alternativer Name.
aka. SpeedWriter.
ch lade dir mal alle DTL-Basic Compiler hoch, die ich habe. Da wo Original im Dateinamen steht, muss das Dongle eingebunden werden.
Danke, werde ich mir mal anschauen. Wobei Instaspeed scheinbar eine Weiterentwicklung und deshalb schon interessanter wäre.
Instaspeed ist der DTL-Compiler. Der wurde unter diversen Labels veröffentlicht. Unter anderem als SpeedWriter.
Instaspeed ist der DTL-Compiler. Der wurde unter diversen Labels veröffentlicht. Unter anderem als SpeedWriter.
Ich finde es jetzt nicht mehr, aber ich meine irgendwo gelesen zu haben, dass Instaspeed eine Weiterentwicklung des DTL wäre. DTL ist zwar wohl die Grundlage, aber Instaspeed wohl die neuere Variante. Ich muss sagen, unter SpeedWriter hätte ich mir eher ein Textverarbeitungsprogramm gedacht.
Ich muss sagen, unter SpeedWriter hätte ich mir eher ein Textverarbeitungsprogramm gedacht.
Nicht nur du. Auf was für Namen die Firmen manchmal kommen. Vielleicht compiliert das Programm ja besondes schnell auf Diskette.![]()
Ach ja, natürlich gab es Versionsnummern. Beim C64 war die letzte Version, DTL-Basic Jetpack-64.4
Behoben wurden bei allen Versionen nur diverse, mehr oder weniger schwere Bugs. Der Runtime Code nanntet sich übrigens immer RTL-64.
Ich lade dir mal alle DTL-Basic Compiler hoch, die ich habe. Da wo Original im Dateinamen steht, muss das Dongle eingebunden werden.
Wie bindet man den ein?