Seite 2 von 6

Re: BASICODE in Java

Verfasst: 29.11.2023, 09:43
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. ;)

Re: BASICODE in Java

Verfasst: 20.12.2023, 10:40
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

Re: BASICODE in Java

Verfasst: 20.12.2023, 23:34
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.

Re: BASICODE in Java

Verfasst: 22.12.2023, 12:26
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.

Re: BASICODE in Java

Verfasst: 22.12.2023, 13:33
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?

Re: BASICODE in Java

Verfasst: 22.12.2023, 13:59
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) 165-mal heruntergeladen

Re: BASICODE in Java

Verfasst: 22.12.2023, 14:12
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

Re: BASICODE in Java

Verfasst: 22.12.2023, 16:33
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.

Re: BASICODE in Java

Verfasst: 22.12.2023, 16:35
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.

Re: BASICODE in Java

Verfasst: 22.12.2023, 17:37
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.