BASICODE in Java

Software-Entwicklung, Compiler, Interpreter, ...
haupz
Beiträge: 22
Registriert: 13.02.2015, 16:05

Re: BASICODE in Java

Beitrag von haupz »

Ja, "das" BASIC gibt es nicht. Und wenn man Kontrolle über Grammatik und Parser hat, kann man sich solche Extravaganzen auch mal erlauben. Wie auch mehrere NEXT-Statements zum selben FOR. ;)
haupz
Beiträge: 22
Registriert: 13.02.2015, 16:05

Re: BASICODE in Java

Beitrag von haupz »

So, wir sind live und öffentlich, mit allen Bugs.

Bitteschön: https://github.com/mhaupt/basicode

Und noch ein wenig Text: https://blog.haupz.de/basicode.html

Bug Reports, Vorschläge, Pull Requests etc. gern per GitHub. Oder hier. :D
kurt
Beiträge: 194
Registriert: 26.10.2019, 20:11

Re: BASICODE in Java

Beitrag von kurt »

So, wir sind live und öffentlich, mit allen Bugs.
Dem ist halt so. Außerdem, die Diskusion der noch vorhandenen Bugs im Projekt motiviert mehr wie der Kampf im stillen Kämmerlein.
haupz
Beiträge: 22
Registriert: 13.02.2015, 16:05

Re: BASICODE in Java

Beitrag von haupz »

... bisher hat sich noch niemand über irgendwas beschwert. Also doch keine Bugs. :D

Ich bin einfach mal so frei und füge auf GitHub (unter "Issues") einige Dinge hinzu, die bisher so aufgelaufen sind.
haupz
Beiträge: 22
Registriert: 13.02.2015, 16:05

Re: BASICODE in Java

Beitrag von haupz »

Paul hat geschrieben: 26.11.2023, 21:06 Wäre es möglich die wichtigen Parameter wie Farben, Zeilenbreite, Zeilenanzahl, Font usw. wählbar zu machen?
Eventuell unter einem Namen speicherbar?
So könnte ich Spectrum Font und Farben wählen oder Atari ST, PCW oder was mir gerade gefällt.
Das muss ja nicht mitgeliefert werden sondern der User selber raus suchen oder vorgefertigte ini Dateien veröffentlichen.
Ich möchte diesen Vorschlag nochmal aufgreifen - Paul, hast du eventuell Verweise auf Schriftarten für diese Maschinen?
Benutzeravatar
bbock
Beiträge: 247
Registriert: 08.02.2015, 15:31

Re: BASICODE in Java

Beitrag von bbock »

Damit das Programm auch von Laien leichter zu bedienen ist, wäre eine Menüzeile mit mind. einem File / Open sehr wünschenswert um die BasiCode-Datei in einer File Selection Box auszuwählen. Dann müsste man nicht mit der Kommandozeile herumhantieren, sondern könnte die JAR-Datei einfach per Doppelklick starten (ein installiertes Java 21 vorausgesetzt).

Derzeit muss man eine Shell bemühen (z.B. Windows cmd) und etwa

Code: Alles auswählen

<Pfad zu Java 21>\java -jar <Pfad zu basicode.jar>\basicode.jar <Pfad zur BasiCode-Datei>\<Dateiname>.bas
eintippen. Natürlich kann man den <Pfad zu Java 21> weglassen, wenn die Umgebungsvariablen korrekt gesetzt sind. Ebenso kann man <Pfad zur BasiCode-Datei> weglassen, wenn man sich bereits in dem Verzeichnis befindet, in dem sich die Datei basicode.jar befindet. Sollte dort auch <Dateiname>.bas zu finden sein, dann kann man <Pfad zur BasiCode-Datei> auch noch weglassen. Der kürzeste Aufruf sieht dann wohl so aus:

Code: Alles auswählen

java -jar basicode.jar <Dateiname>.bas
Ich habe mal eine erste Version von basicode.jar zum Ausprobieren angehängt:
basicode.jar
(138.08 KiB) 866-mal heruntergeladen
Paul
Beiträge: 147
Registriert: 17.09.2017, 22:27
Wohnort: Germanys west end

Re: BASICODE in Java

Beitrag von Paul »

haupz hat geschrieben: 22.12.2023, 13:33

Ich möchte diesen Vorschlag nochmal aufgreifen - Paul, hast du eventuell Verweise auf Schriftarten für diese Maschinen?
Ich dachte daran vorhandene Systemfonts zu nutzen. Dann. Kann ich meine eigene sinclair.ttf nutzen
haupz
Beiträge: 22
Registriert: 13.02.2015, 16:05

Re: BASICODE in Java

Beitrag von haupz »

bbock hat geschrieben: 22.12.2023, 13:59 Damit das Programm auch von Laien leichter zu bedienen ist, wäre eine Menüzeile mit mind. einem File / Open sehr wünschenswert um die BasiCode-Datei in einer File Selection Box auszuwählen.
Richtig; siehe hier.
bbock hat geschrieben: 22.12.2023, 13:59 Ich habe mal eine erste Version von basicode.jar zum Ausprobieren angehängt:
Danke; ein executable JAR hat das Projekt bereits vorher generiert, allerdings war es etwas versteckt. Nun ist das direkt im Basisverzeichnis, wird bei jedem Build auch dort angelegt, und wird auch gleich mit ausgeliefert, so dass man gleich nach dem Klonen loslegen kann.

Das macht mich allerdings nicht ganz glücklich, weil nun basicode.jar versioniert ist. Das ist etwas zu viel Ballast. Ich würde das noch auf einen dedizierten Download-Link umstellen.
haupz
Beiträge: 22
Registriert: 13.02.2015, 16:05

Re: BASICODE in Java

Beitrag von haupz »

Paul hat geschrieben: 22.12.2023, 14:12 Ich dachte daran vorhandene Systemfonts zu nutzen. Dann. Kann ich meine eigene sinclair.ttf nutzen
Woher hast du denn sinclair.ttf? Ich würde gern mal gucken, ob diese Schriften, ähnlich wie die CPC-Schrift, die im Moment verwendet wird, auch frei lizenziert sind. Dann kann ich eine Sammlung von vordefinierten Geräten gleich mitliefern.

Eigene Geräte zu definieren, wird damit natürlich auch möglich sein.
kurt
Beiträge: 194
Registriert: 26.10.2019, 20:11

Re: BASICODE in Java

Beitrag von kurt »

bbock hat geschrieben: 22.12.2023, 13:59 [...]
Ich habe mal eine erste Version von basicode.jar zum Ausprobieren angehängt:

basicode.jar
Da will man sich mal dran versuchen und dann das ! Geahnt hatte ich sowas schon...:

Code: Alles auswählen

kurt@refracta9:$ java -jar basicode.jar
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: de/haupz/basicode/Main has been compiled by a 
more recent version of the Java Runtime (class file version 65.0), this version of the Java Runtime only recognizes 
class file versions up to 52.0
	at java.lang.ClassLoader.defineClass1(Native Method)
	at java.lang.ClassLoader.defineClass(ClassLoader.java:756)
	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
	at java.net.URLClassLoader.defineClass(URLClassLoader.java:473)
	at java.net.URLClassLoader.access$100(URLClassLoader.java:74)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:369)
	at java.net.URLClassLoader$1.run(URLClassLoader.java:363)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:362)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
	at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:601)
kurt@refracta9:$ 
Nikolaus war ja schon. Das Ostern per Easteregg dieses mal so früh kommt überascht doch etwas... Ich bin ohnehin gerade am experimentieren, vielleicht läßt sich da was drehen, ausprobiert hätte ich's schon noch gern.
Antworten