Es sieht so aus, als wäre bei dir ein JDK 8 installiert ("this version of the Java Runtime only recognizes class file versions up to 52.0"); bitte installiere doch mal JDK 21. Und wenn du schon JDK 21 installiert hast, musst du mal bei den Pfaden gucken, ob die auch auf die richtige Java-Version zeigen.kurt hat geschrieben: ↑22.12.2023, 17:37 Da will man sich mal dran versuchen und dann das ! Geahnt hatte ich sowas schon...:
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.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 ...
BASICODE in Java
Re: BASICODE in Java
Re: BASICODE in Java
Auf meinem Arbeits-Rechner ja, da läuft Debian 9.Es sieht so aus, als wäre bei dir ein JDK 8 installiert
Zweiter Versuch. Diesmal mit der aktuellen Debian 12.2:
Code: Alles auswählen
kurt@refracta9:$ java -jar basicode.jar hello-graphics.bas
Fehler: Beim Laden der Klasse de.haupz.basicode.Main ist ein LinkageError aufgetreten
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 61.0
kurt@refracta9:$
kurt@refracta9:$ java -version
openjdk version "17.0.9" 2023-10-17
OpenJDK Runtime Environment (build 17.0.9+9-Debian-1deb12u1)
OpenJDK Server VM (build 17.0.9+9-Debian-1deb12u1, mixed mode, sharing)
kurt@refracta9:$
Re: BASICODE in Java
Damit schösse ich mir selbst ins Knie ...kurt hat geschrieben: ↑22.12.2023, 18:41 Noch aktueller kann ich nicht (ich breche nur ungern aus dem zur Distribution angebotenen Paketen aus, ich habe da so meine leidigen Erfahrungen mit). Deshalb, Frage: ist es möglich die Anforderungen an die Java Runtime-Version etwas abzusenken ? Am besten auf das von Debian 9, aber damit bin ich vermutlich etwas zu dreist Auf das Niveau von Debian 12 wäre schon super.
Ich sehe da drei Möglichkeiten:
Zum Einen kannst du wirklich einfach ein JDK 21 runterladen und installieren - das ist unter Linux einfach ein Verzeichnis, ohne dass irgendwelche zusätzlichen Bibliotheken installiert werden müssen. (Meiner Erinnerung nach.)
Zum Anderen ist es mit einem Werkzeug wie SDKMAN recht ungefährlich, mehrere JDKs nebeneinander installiert zu haben. Da könntest du dann zwischen unterschiedlichen JDKs elegant hin- und herschalten.
Zum Dritten kannst du auch Maven installieren (da du Debian nutzt: apt install maven) und mal gucken, ob das Projekt mit JDK 17 baubar ist. Ich bin mir gerade nicht sicher, ob ich nicht hie und da ein paar Neuerungen aus JDK 21 benutzt habe.
Zusammenfassend würde ich ehrlich gesagt zu 1 oder 2 tendieren.
Re: BASICODE in Java
Nun gibt es eine saubere Release-Seite, die auch auf der Projekt-Startseite aus rechts am Rand gut zu finden ist.haupz hat geschrieben: ↑22.12.2023, 16:33 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
Es gibt doch für die ewig gestrigen wie mich (die unverdrossen ein 32-bit System benutzen) bei diesem Problem eine LösungZusammenfassend würde ich ehrlich gesagt zu 1 oder 2 tendieren.
Dank Dr. Google konnte ich eine 32-bit Java-21 Version für Debian auftreiben:
URL: https://bell-sw.com/pages/downloads/#jdk-21-lts
Dort findet sich auch eine 32-bit Version für Windows
Mit ein wenig gefrickel für ein shell-Script ist dann der Drops gelutscht:
Code: Alles auswählen
#!/bin/bash
#
# Name: bjava
# Bezug: Aufruf der Bellsoft-Java Version 21
/usr/lib/jvm/bellsoft-java21-i586/bin/java $1 $2 $3 $4 $5
Und es geht doch !
- Dateianhänge
-
- Screenshot-745.png (6.81 KiB) 9226 mal betrachtet
Re: BASICODE in Java
https://fontstruct.com/fontstructions/download/1398629
ZX 80 Font (http://creativecommons.org/licenses/by/3.0/)
https://www.dafont.com/zx81.font
ZX81 und Spectrum
http://www.mattheweagles.co.uk/computing_contents.htm
ZX81 free
Dort sind auch jeweils die Lizenzen dabei.
Woher meine alte sinclair.ttf kommt weiß ich nicht mehr.
Heute habe ich auch endlich ein aktuelles Java installiert und ein paar Basicodes ausprobiert.
Liebe Grüße
Paul
ZX 80 Font (http://creativecommons.org/licenses/by/3.0/)
https://www.dafont.com/zx81.font
ZX81 und Spectrum
http://www.mattheweagles.co.uk/computing_contents.htm
ZX81 free
Dort sind auch jeweils die Lizenzen dabei.
Woher meine alte sinclair.ttf kommt weiß ich nicht mehr.
Heute habe ich auch endlich ein aktuelles Java installiert und ein paar Basicodes ausprobiert.
Liebe Grüße
Paul
Re: BASICODE in Java
Ich fände es eine praktische Sache wenn es eine Übersicht der möglichen (sowie nicht implementierten) Befehle gäbe.
Dabei würde ich erwarten das es eine Endlosschleife ist.
Ich habe ja keine Ahnung was im Basicode dahinter steckt .
Nach Zeile 20 erwarte ich irgendwann wieder bei Zeile 1000 anzukommen bzw. ein Gosub 20
Ich habe Thomas Vortrag gehört, aber sicher nicht alles behalten.
Code: Alles auswählen
1000 GOTO 20
1010 DIM X(4),Y(4)
Ich habe ja keine Ahnung was im Basicode dahinter steckt .
Nach Zeile 20 erwarte ich irgendwann wieder bei Zeile 1000 anzukommen bzw. ein Gosub 20
Ich habe Thomas Vortrag gehört, aber sicher nicht alles behalten.
Re: BASICODE in Java
Nachdem ich gelesen habe was in Zeile 20 passiert und das nach 1010 gesprungen wird wundert mich das scroll.bas funktioniert.
Es fehlt die vorgeschrieben Zeile 1000 nebst GOTO 20.
Dann wird Zeile 20 ja anscheinend überschrieben. Ob das darf bin ich mir nicht sicher.
Am Ende fehlt dann das mandatorische GOTO 950
So sollte es aussehen:
Code: Alles auswählen
10 FOR I=1 TO 30
20 PRINT I
30 NEXT I
40 PRINT "Done."
Dann wird Zeile 20 ja anscheinend überschrieben. Ob das darf bin ich mir nicht sicher.
Am Ende fehlt dann das mandatorische GOTO 950
So sollte es aussehen:
Code: Alles auswählen
1000 GOTO 20: REM Scrollp.bas
1010 FOR I=1 TO 30
1020 PRINT I
1030 NEXT I
1040 PRINT "Done."
1050 GOTO 950
- ein Thüringer
- Beiträge: 44
- Registriert: 29.08.2021, 11:04
Re: BASICODE in Java
Hallo Paul,
steht alles im Manual (lag der Klubzeitung #102 bei) und dieses auf https://www.8bit-wiki.de/fileadmin/8bit ... -V-1-6.pdf wie auch unter https://joyce.de/basicode/download/Man_BC3C.pdf .
Die zulässigen Befehle stehen im Textkasten auf Seite 7 (Obacht: LOG ist der natürliche und nicht der dekadische Logarithmus – LN ist ein verbotener Variablenname) und eine Auswahl zu vermeidender Befehle im Textkasten auf Seite 9.
Mit GOTO 20 hat es seine Richtigkeit, von dort (der Initialisierung) kehrt es mit GOTO 1010 zurück; GOTO 1000 ganz am Anfang und GOTO 950 (anstatt END oder STOP) sind weitere Ausnahmen – sonst gibt es nur GOSUBs.
steht alles im Manual (lag der Klubzeitung #102 bei) und dieses auf https://www.8bit-wiki.de/fileadmin/8bit ... -V-1-6.pdf wie auch unter https://joyce.de/basicode/download/Man_BC3C.pdf .
Die zulässigen Befehle stehen im Textkasten auf Seite 7 (Obacht: LOG ist der natürliche und nicht der dekadische Logarithmus – LN ist ein verbotener Variablenname) und eine Auswahl zu vermeidender Befehle im Textkasten auf Seite 9.
Mit GOTO 20 hat es seine Richtigkeit, von dort (der Initialisierung) kehrt es mit GOTO 1010 zurück; GOTO 1000 ganz am Anfang und GOTO 950 (anstatt END oder STOP) sind weitere Ausnahmen – sonst gibt es nur GOSUBs.
Zuletzt geändert von ein Thüringer am 26.12.2023, 22:16, insgesamt 3-mal geändert.