Ich habe gerade Version 1.2.5 von ABASC veröffentlicht, einem in Python geschriebenen Cross-Compiler für Locomotive BASIC. Das Paket enthält einen eigenen Assembler (MAXAM-Syntax) und Tools zur Verwaltung von DSK- und CDT-Dateien.
Dieses Release enthält einige Fehlerbehebungen und Verbesserungen hier und da, was ABASC noch ein bisschen besser und zuverlässiger macht.
Wie immer findest du alle Details, Änderungen, die Dokumentation und den Quellcode auf der GitHub-Seite des Projekts:
Die größte Änderung ist die neue CPC±Bibliothek, die den Zugriff auf die ASIC-Funktionen aus dem normalen BASIC erleichtern soll, ohne dass man ständig PEEK/POKE verwenden muss. Ein vollständiges Beispiel findest du im Ordner examples/cpcplus.
Diese Version ist die erste, die Binärdateien für mehrere Systeme enthält (Windows, OS X Intel und Linux-Fedora).
Die direkte Nutzung des Compilers aus dem Python-Interpreter ist immer noch schneller und ermöglicht es fortgeschrittenen Benutzern, an der Sprache herumzubasteln (indem sie den von ihr erzeugten Assembly-Code ändern oder neue Befehle hinzufügen). Wie auch immer, ich hoffe, dass dies Programmierern hilft, die sich nicht mit der Python-Installation herumschlagen wollen.
Erstmal vielen Dank für deine tolle Arbeit hierbei! Allein die Dokumentation ist der Wahnsinn.
Da es bereits eine Frage zur Unterstützung von BASIC 2 in LocoPad gab, habe ich mir überlegt, ob ich dein Projekt nutzen und (Teile davon) direkt in LocoPad einbinden könnte? Es wäre echt genial, damit Binärdateien kompilieren zu können!
Absolut kein Druck (ja, ich weiß, dass es unter GPL-3 steht, aber ich wollte trotzdem lieber nachfragen).
Na klar kannst du das! Ich habe ABASC extra mit einer Copyleft-Lizenz versehen, damit die Community es nach Belieben nutzen kann. Ich habe keinen Zweifel daran, dass es für KI-Training verwendet wird – warum sollte ich also die Nutzung in einem Tool verhindern wollen, von dem wir alle profitieren?
LocoPad ist wirklich klasse, und ich freue mich auch schon darauf, die Syntax von Locomotive BASIC 2 dort nutzen zu können.
Ich schaue es mir heute später noch genauer an und nehme es für die nächste Version in Angriff (von der ich gehofft hatte, sie bis Ende der Woche fertig zu haben, aber das klingt jetzt eher zweifelhaft)
EDIT: Oh Mann, allein deine Dokumentation ist schon ein echter Schatz.