Die Suche ergab 154 Treffer

von kurt
02.03.2024, 02:59
Forum: Hardware
Thema: Velleman-Joyce mit externer Backplane
Antworten: 11
Zugriffe: 4946

Re: Velleman-Joyce mit externer Backplane

Errata: PCW_RS232-Card-Interface-PCB_20230502.6
Am Wochenende hatte ich als Vorspann zum kommenden ZX-Team Treffen nochmals mein Wifi-Modem an die Joyce gestöpselt, um etwas damit zu 'spielen'. Und siehe da, nach wenigen Versuchen ging nichts mehr... Das hatte ich schon im September 2023 beim Jahres-Treffen. Sollte etwa wieder bei den MAX3232 im Modem und auf der RS232-Karte etwas im argen liegen ? Die Fingerprobe bei der RS232-Karte offenbarte einiges an Übertemeratur, zum Glück ohne Brandblase. Von den in 2021 gekauten 20 Stk. MAX3232 (eBay, aus China) hatte ich nach auftreten ähnlicher Probleme alle noch vorhandenen Chips einmal auf Funktion und Einhaltung der Pegel durchgetestet: 10 Stück mußten in die Runde-Ablage umsiedeln, da nicht zu gebrauchen. Der Rest, immerhin noch 10 Stk. durften bleiben. Mit dem jetzigen Desaster hatte ich die Faxen dicke und habe auch den Rest entsorgt - traurig genug. Es lassen sich ähnliche Vorkommnisse im Web finden, einfach mal nach "Overheating MAX3232" suchen. Eine Gegenmaßnahme sind Serienwiderstände in der RX/TX-Leitung (auf dem Board R2 u. R3 sowie Diode D1). Das scheint aber nicht immer zu helfen. Meine Lösung ist, auf den MAX232 zu wechseln, die sind mit derzeit €0,70 deutlich billiger wie der "Goldstandard" MAX3232 mit €14,-- (bei REICHELT als DIP-Version). Damit das klappt, ist R3 und D1 zu entfernen und durch eine Drahtbrücke zu ersetzen, alternativ und am schnellsten geht auch einfach mittels Drahtbrücke auf der Lötseite jeweils beide Teile zu überbrücken. Die 4 C's der Ladungspumpe müssen dann 1uF Kerkos sein, wie ja auch im Schaltplan angegeben ist. Bei 100nF kann der MAX232 bei längeren Zeichenketten die Signalpegel auf der RS232-Leitung nicht halten und die Daten werden verstümmelt.

Das Rausbrücken behebt auch gleichzeitig ein durch die Aktivitätsanzeige verursachtes TTL-Signalpegelproblem der RX-Leitung zum Z80-SIO. Manche Chips liefern hier wie's scheint mitunter zu wenig Pegel und ankommende Daten (vom Modem) werden nicht erkannt, also kein Empfang - obwohl etwas ankommt !?. Mit aufgestecktem Loop-Back Stecker geht's aber trotzdem. Was schon etwas irritiert. Mit der genannten Korrektur läuft's jetzt aber wie geschmiert - ohne Brandblase am Finger :D
von kurt
26.12.2023, 20:44
Forum: Programmierung
Thema: BASICODE in Java
Antworten: 57
Zugriffe: 10592

Re: BASICODE in Java

Man müsste wohl eine BDOS Funktion zur Ermittlung der Uhrzeit verwenden statt eines einfachen Peek
Ich denke, Paul liegt da ganz richtig. Der Aufwand ist nicht einmal hoch. Die Zeit und Datumsangaben lasen sich ohne konvertierung einfach so wie sie zurückgeliefert werden als 32-bit Zufallszahl verwenden. der BDOS-Aufruf ist simpel:

Code: Alles auswählen

/**                                                                           <
 * @fn     unsigned char *getclock(unsigned char *clk)                        <
 * @brief  Get CP/M clock.                                                    <
 *                                                                            <
 * This function fills the clk array with the current CP/M clock values.      <
 *                                                                            <
 * @param  clk - pointer to clock array                                       <
 * @return pointer to clk                                                     <
 */                                                                           <
getclock(clk)                                                                 <
unsigned char *clk;                                                           <
{                                                                             <
        // CP/M fills day, hour & minute; the A register holds the second.    <
                                                                              <
        clk[4] = bdos_a(105, clk);                                            <
                                                                              <
        return clk;                                                           <
}                                                                             <
 
Ich habe nur diese kurze C-Funktion zur Hand, aber den Einzeiler sollte man leicht konvertieren können.
von kurt
23.12.2023, 00:28
Forum: Programmierung
Thema: BASICODE in Java
Antworten: 57
Zugriffe: 10592

Re: BASICODE in Java

Zusammenfassend würde ich ehrlich gesagt zu 1 oder 2 tendieren.
Es gibt doch für die ewig gestrigen wie mich (die unverdrossen ein 32-bit System benutzen) bei diesem Problem eine Lösung :D

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 :lol:

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

Bild


Und es geht doch ! :mrgreen:
von kurt
22.12.2023, 18:41
Forum: Programmierung
Thema: BASICODE in Java
Antworten: 57
Zugriffe: 10592

Re: BASICODE in Java

Es sieht so aus, als wäre bei dir ein JDK 8 installiert
Auf meinem Arbeits-Rechner ja, da läuft Debian 9.

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:$ 
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.
von kurt
22.12.2023, 17:37
Forum: Programmierung
Thema: BASICODE in Java
Antworten: 57
Zugriffe: 10592

Re: BASICODE in Java

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.
von kurt
20.12.2023, 23:34
Forum: Programmierung
Thema: BASICODE in Java
Antworten: 57
Zugriffe: 10592

Re: BASICODE in Java

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.
von kurt
12.11.2023, 03:17
Forum: Hardware
Thema: PCW meets Vellemann
Antworten: 39
Zugriffe: 33490

Re: PCW meets Vellemann

Eine Zeit lang war ja rein garnichts zu finden... Hier noch ein Laden mit dem Gehäuse:

https://www.elektronicacatalogus.nl/BRA ... mm-(G758V)

Preis: €13,40 inkl. Steuern: ???? Versand: €9,95

Alles teurer wie Akku-Plus, aber die sind nun mal abverkauft :-(
von kurt
12.11.2023, 03:08
Forum: Hardware
Thema: PCW meets Vellemann
Antworten: 39
Zugriffe: 33490

Re: PCW meets Vellemann

Ich habe hier:
https://www.electronicaembajadores.com/ ... -mm-g758v/
beim Stöbern im Web einen Laden aufgetan, der laut Web-Seite noch 5 Stk. G758V Gehäuse auf Lager hat. Preis €22,11 inkl. Steuern exkl. Versand.
von kurt
11.11.2023, 19:59
Forum: Hardware
Thema: Velleman-Joyce mit externer Backplane
Antworten: 11
Zugriffe: 4946

Re: Velleman-Joyce mit externer Backplane

Heute habe ich es endlich geschafft, einmal auszutesten wie schnell die JOYCE beim Schreib/Lese-Zugriff auf Floppy, RAM-Disk und CF-Karte ist. Benutzt habe ich das Programm Transfer.com, welches aus dem Forum VzEkC stammt.

Code: Alles auswählen

Transfer-Test JOYCE auf CF-Karte:
======================================================
Schreiben über 11 Blöcke: 11355 Byte/Sek.
Lesen     über 11 Blöcke: 16000 Byte/sek.

Transfer-Test JOYCE auf RAM-Disk:
======================================================
Schreiben über 11 Blöcke: 22000 Byte/Sek.
Lesen     über 11 Blöcke: 29333 Byte/sek.

Transfer-Test JOYCE auf Floppy-B:
======================================================
Schreiben über 11 Blöcke: 1903 Byte/Sek.
Lesen     über 11 Blöcke: 2286 Byte/sek.

Ergebnis Schreiben:
===================
CF-Karte zu Floppy:    5,96689-fach schneller
RAM-Disk zu CF-Karte:  1,93747-fach schneller
RAM-Disk zu Floppy:   11,56069-fach schneller

Ergebnis Lesen:
===================
CF-Karte zu Floppy:    6,99912-fach schneller
RAM-Disk zu CF-Karte:  1,83331-fach schneller
RAM-Disk zu Floppy:   12,83158-fach schneller
Die Anzahl geschriebener/gelesener 32kB-Blöcke ist an der RAM-Disk orientiert. Mehr wie 11 Blöcke gehen da nicht. Mit diesem Wert wurden auch die Floppy bzw. CF-Karte getestet. Bei der Abfrage ob es ok ist, eine 960000 Byte große Datei zu verwenden muß mit N geantwortet werden. Danach kann man seine Wunschzahl an Blöcken (die 11) eingeben, sowie im Anschluß, welches Medium getest werden soll. Die Endung '.txt' beim Anhang ist zu entfernen.

Wie man sieht, der Einsatz einer CF-Karte bringt einen ordentlichen Tempo-Schub gegenüber der Floppy als Speichermedium. Bei aktivem Z3PLUS bricht Transfer wegen zu kleiner TPA ab. Es wäre interesant gewesen zu erfahren, ob bei aktivem Z-System ev. noch etws mehr Tempo möglich ist, da Z3PLUS mehr auf den Z80 im Code ausgerichtet sein soll. Ist aber im Grunde unwichtig, da es nur um die Auswirkung auf das Betriebsverhalten bei Nutzung einer CF-Karte gegenüber den anderen Medien geht. Das Ergebnis ist erfreulich und macht sich auch deutlich bemerkbar beim Arbeiten mit der Joyce.

TRANSFER.COM.txt
(9.75 KiB) 150-mal heruntergeladen
von kurt
01.11.2023, 17:41
Forum: Hardware
Thema: Velleman-Joyce mit externer Backplane
Antworten: 11
Zugriffe: 4946

Re: Velleman-Joyce mit externer Backplane

Hier noch ein Sound-Player fuer die Joyce Sound-Karte: VGMPLAY.COM. VGM
bedeutet Video-Game-Music und ist bezieht sich wie der Name schon sagt auf die
Sound-Tracks der Video-Spiele. Es gibt im Web diverse Seiten, die ein
umfangreiches Angebeot an Tracks anbieten. Dem PLayer sind einige Beispiel-
tTracks zum Probehoeren beigefuegt. Bei meinen Experimenten mit dem Player
auf der joyce wie auch auf meinem Multicomp ist mir allerdings eine Sache
aufgefalen, die mich dann doch ueberascht hat: die meisten Tracks gehen
von 2 (zwei) PSG's aus, um Stereo zu spielen ! Die andere Ueberaschung
war, es gibt Tracks fuer alle moeglichen PSG-Chips, nicht nur fuer die
beiden mir bekanntesten SN76489 und YM-3-8910. Gluecklicherweise ist zu
jedem Track auch der PSG angegeben, auf dem er gespielt werden kann.

Nun zum vorliegenden Player: er kann sowohl fuer den SN76489 Chip als auch
fuer den AY-3-8910 die Tracks abspielen. Er geht jedoch von einer 2-Chip
Situation aus. Aus dem Grunde habe ich als Notloesung die Port-Adressen
fuer beide Kanaele im Header gleich eingetragen. Ob das jetzt die Ideal-
loesung ist, glaube ich nicht. Nur wie mischt man einen VGM Stereo-Track
auf Mono zusammen - wenn es denn ueberhaupt geht ? Ein anderer Punkt ist
die Track-Groesse. Der Player kann nur soche abspielen, die in die TPA
passen. Die meisten der angebotenen sind zudem auch noch komprimiert,
Endung *.vgz. Wie ich jedoch herausgefunden habe, ist das aber nur die
Kurzform von *.vgm.gz und das wiederum kann mit jedem Entpacker in ein
*.vgm aufgeloest werden. Die dann vorliegende File-Groesse ist dann
meist jenseits dessen, was in die TPA der Joyce noch reinpasst. Ideal waere
den Player so umzuschreiben, das er beispielsweise die Daten von der RAM-
Disk liest und abspielt. Dieser Punkt ist aber noch offen, wer hat Lust ?

Werden Tracks abgespielt, die der Player nicht kennt, herrscht meist tiefe
Stille im Kopfhoerer, in Ausnahmefaellen ist auch nur Murks zu hoeren. Auch
hier muesste noch etwas nachgearbeitet werden. Damit ueberhaupt angezeigt
wird, was abgeht, habe ich bereits einige Kurztextausgaben eingefuegt, die
anzeigen was gerade vom Player gemacht wird. Waerend der Player spielt, kann
durch druecken einer beliebigen Taste gestoppt werden. Einige der Tracks im Archiv
lassen sich auf der Joyce Sound-Karte nicht hoerbar abspielen, da fuer den 76489
PSG gedacht...

Als Assembler habe ich unter Linux den ZMAC benutzt. M80 u. L80 oder ein andere Assembler
unter CPM sollte auch gehen, solange er IF...ENDIF Konstrukte versteht.

Den Code fuer den VGM-Player habe ich hier gefunden:

https://groups.google.com/g/rc2014-z80/ ... vC_KRtAwAJ

VGM-Rips gibt es hier:

https://vgmrips.net/packs/

Zur VGM-Spec findet sich hier weiteres Infomaterial:

https://vgmrips.net/wiki/VGM_Specification#Header

Als letztes noch den Player-Code:

JOYCE_VGM-Player.zip
(31.61 KiB) 117-mal heruntergeladen