Posts by 2ee

    Und wieder ist eine Menge Zeit ins Land gegangen, seit ich mich das letzt mal gemeldet habe. Dafür ist jetzt meine Werkstatt vergrößert und das Chaos vermindert, so dass ich jetzt hoffentlich wieder etwas effektiver arbeiten kann.


    Dietrich ist nun seit ein paar Wochen auch Besitzer eines Junior ][ und eines IO-Boards, so dass er seine CPM-65 Anpassungen leichter gestalten kann. Er hatte zunächst einige Probleme mit dem Einlesen seiner SD-Karte. Dabei ist ihm aufgefallen, dass am Schieberegister 74LS165 der serielle Eingang offen in der Luft hängt und wohl immer wieder mal ein L-Pegel dort eingeschoben wird. Nachdem er dann den Eingang (Pin 10) auf +5V gelegt hatte, lief seine Karte. Ich hatte den offenen Eingang bei meiner letzten Änderung (74HCT245 statt 4050 als Pegelwandler) ebenfalls bemerkt und das für die neue Platine schon geändert. Bei meinem Testboard war er allerdings noch offen.


    Ich war jetzt natürlich gespannt, ob sich durch diesen einfachen Patch meine kleine Schaar an nicht lesbaren SD-Karten auch zum Arbeiten bewegen lässt.


    Kurz: Leider nein. Dennoch solltet ihr mal Pin 10 (Seriell Input) und Pin 16 (+5V) des 74LS165 miteinander verbinden, um eventuelle Glitches zu vermeiden.


    Unter anderen wegen der oben erwähnten Umbaumaßnahmen ging bei mir jetzt nicht viel bei der weiterentwicklung von M/OS 65 und des Video-/Floppy Controller-Boards. Ich hoffe, ab dieser Woche wieder etwas Zeit zu finden, um wenigstens die Grundfunktionen von M/OS fertig zu kriegen. Das Video Board habe ich etwas beiseite geschoben, hier wird es wohl Mai, bis ich wieder dazu komme.


    Da NorbertJ mich schon danach gefragt hatte, gebe ich hier mal die letzte BOOT.SYS an euch raus.


    Bisher funktioniert:


    CLS

    PAUSE

    ECHO [text]

    und DIR mit den Optionen /A (zeige Attribute) /H (zeige versteckte Dateien) und /P (pause nach einer Bildschirmseite).


    Kopiert unter Windows/Linux/MacOS einfach die neue BOOT.SYS auf eure mit MKBOOT vorbereitete SD-Karte und schaut mal, ob bei euch auch alles so weit läuft. DIR sollte alle im Root Verzeichnis befindlichen Dateien auflisten können, unabhängig davon, ob die Karte unter FAT12, FAT16 oder FAT32 formatiert wurde. MKBOOT ist auch nochmal in der ZIP enthalten.


    Feed Back erwünscht.


    Sláinte

    Wegen Rüsselseuche war bei mir jetzt am Wochenende mal Programmierpause. Gestern konnte ich dann aber noch auch den FAT32 Root Directory Fall - und somit auch Unterverzeichnisse in FAT12/16 und 32 - abdecken. Ich hab dann gleich die Hauptschleife zum Durchsuchen der Verzeichnisse so umgebaut, dass sie durch Einklinken einer Call-Back Funktion universell einsetzbar wird. Sprich, auch für die Befehle CD, MKDIR, DEL, etc. ohne Änderung funktioniert.

    Den Kommandozeilen Parser hab ich auch gleich so weit vereinfacht, dass ohne viel Aufwand verschiedene Kommando Optionen und die Pfad/Dateinamen auseinandergepflückt werden. Somit konnte ich dann gleich mal weitere Optionen für DIR mit einbinden.



    Weitere Funktionen wie DIR *.TXT usw. kommen demnächst.


    Ansonsten kam heute meine Bestellung aus Dänemark an.



    100 PCI Slots für gerade mal 39€. Da der nächste Rechner (aamoo) ja ein paar Karten-Slot bekommen soll, war ich auf der Suche nach Card Edge Konnektoren und fand die alten ISA Slots alle extrem teuer. Auch für die 120 pol. PCI Slots muss man schon etwa 2-3€ pro Konnektor ausgeben. Umso erfreuter war ich natürlich, als ich das Angebot in DK gefunden habe. Wenn der Rechner sich dann also mal materialisiert haben sollte, kann ich eventuellen Nachbauern gerne die benötigten Slots für 39 cent/stk abgeben.


    Zusätzlich kamen jetzt auch mal zwei bestellte RasPi Pico bei mir an, mit denen ich dann für den aamoo wohl eine VGA Karte basteln werde. Das Raspberry Pi Pico VGA Projekt ist dazu der Ausgangspunkt.

    So, nun ist schon mal der einfache Fall abgedeckt. FAT12/16 Root Directories können nun vollständig über alle Verzeichnisblöcke hinweg gelesen und angezeigt werden. Ich hab dann auch gleich mal ein DIR /p implementiert, bei der das Verzeichnis dann (guess what?!) seitenweise ausgegeben wird.

    Hier kann dann das Listing auch mit ESC abgebrochen werden.



    ...


    Ja, das stimmt schon. Und es lag wahrscheinlich ja auch nur daran, dass die Zeit der 8 Bitter da schon vorbei war. Der C128 hatte das gleiche Problem wie der Apple IIgs. Die kamen einfach zu spät auf den Markt.

    Oh je, dann wäre Commodore wahrscheinlich schon in den 70er Jahren Pleite gegangen, so schlecht wie die Verkaufszahlen des C128 waren. :wegmuss: :D

    Endlich war mal wieder am Wochenende etwas Zeit, um ein wenig am Junior DOS weiter zu programmieren.


    Den erste Teil für den DIR Befehl konnte ich jetzt mal soweit fertig stellen. Hierbei wird zunächst nur das Root Directoy des ersten Verzeichnisblocks der SD Karte ausgegeben, der beim Booten bereits geladen wurde.



    Jetzt steht noch die kleine Fleißarbeit an, die nächsten Blöcke für die verschiedenen Verzeichnistypen (FAT12/FAT16 Root-Direcoty, FAT32 Root-Directory, Unterverzeichnisse alle FATs) zu laden. Da die alle etwas unterschiedlich gehandhabt werden, ist das leider mal wieder nicht ganz so einfach.


    Der LM1881 Sync Seperator ist jetzt übrigens auch eingetroffen, womit ich dann mal ausprobieren kann, ob ein Multi Sync VGA Monitor was mit den 15KHz Zeilenfrequenzen des V9938 anfangen kann, oder ob er sich da doch verschluckt.


    PS: Jetzt ist mir gerade aufgefallen, dass ich die aktuelle Laufwerks Nummer durch den DIR Befehl überschrieben habe (sieh oben: Aus C: wird A:). Fehler ist jetzt schon gefixt

    Oh je, da muss ich jetzt wohl das Büßer Hemd anziehen...

    mit meinem letzten Anhang der ASCII Keyboard Firmware hat sich tatsächlich ein Bild mit den alten, und somit falschen, Fuse Bits für den ATMega 32 eingeschlichen.


    audiokit_nl hatte deshalb auch erst mal eine nicht funktionierende Tastatur.


    Ausserdem war zweimal die US Belegung in der Zip statt einmal US und DE. Ich hatte aber ja versprochen, mich um dieses Problem auf besondere Weise zu kümmern. Sowohl bei der alten Rev. 1, als auch bei der neuen Rev. 2 Tastatur kann nun mit der neuen Firmware via Jumper P1 zwischen US und DE Belegung umgeschaltet werden. Auf der Rev. 2 kann auch P0 noch für weitere Layouts genutzt werden. In der Rev. 1 sind die Jumper leicht anders belegt, da zunächst ja für die Umschaltung zwischen ASCII Parallel und einer angedachten PS/2 Schnittstelle vorgesehen war.


    Die neue Firmware funktioniert mit beiden Platinen Revisionen, da hier dann auf den externen Quarz verzichtet wird.

    Nach dem Ändern des Tastatur Layouts, muss der Rechner entweder neu eingeschaltet werden, oder ein Neustart über die Reset Taste des Rechners gemacht werden. Ein Reset über Ctrl-Shift-Del an der Tastatur liest die Jumper Konfiguration NICHT neu ein!


    ######################################


    Alle die das ASCII Keyboard gerade nachbauen, sollten bitte die angehängte neue Firmware mit den entsprechenden Fuse Bits programmieren.


    ######################################


    Ein weiterer Fehler mit der Revision 2 Platine ist mir aufgefallen, als ich gerade eine solche aufgebaut habe, nachdem Edzard so lieb war, mir eine von seiner letzten Bestellung zukommen zu lassen. Auf der Rev. 2 nutze ich nicht mehr einen 16 pol IC Sockel für die Verbindung zum Rechner, sondern eine gewinkelte 2x8 Stiftleiste. Beim Verbinden mit dem Junior 2 tat sich dann garnichts. Das Problem liegt im IC Stecker des Flachbandverbinders verborgen. Pin 1 des Flachbandkabels liegt bei diesen Quetschverbindern nämlich nicht auf Pin 1 des Steckers, sondern auf Pin 16 !!!



    Wird also ein normaler 2x8 Quetschstecker auf der andere Seite angebracht, liegen hier die Pin Paare 1-2, 3-4, 5-6 und 7-8 vertauscht vor. Das lässt sich zwar durch auftrennen des Flachbandkabels und drehen der Leitungspaare beheben, ist aber ein ziemliches Gefummel.


     


    Auf der Rev. 1C IO-Platine werde ich deshalb wohl beide Steckertypen unterstützen.


    Bei der Grafikkarte bin ich jetzt durch einen billigen NTSC zu PAL Konverter doch noch zu einer Farbausgabe gekommen. Diese war bei mir allerdings extrem schlecht.



    Eine Untersuchung der Horizontal und Vertikal Sync Pulse hat für mich eine Überraschende Erkenntnis gebracht. Diese sind nämlich (so zu mindest meine Annahme) VGA kompatibel. Ich werde jetzt mal den Test machen, mit einem LM1881 Video Sync Separator das V-Sync Signal aus dem Composite Sync Signal zu extrahieren und dann zusammen mit den R,G und B Signalen auf einem VGA Monitor auszugeben.

    Der 74LVC245 ist jetzt auf dem Lochrasterfeld und alles funktioniert so wie es soll.



    Auf der neuen Platine setzte ich jetzt doch auch den 74LVC245 im DIP Gehäuse ein. Er hat doch noch super in die Lücke gepasst.



    Es gibt allerdings dennoch ein paar SD-Karten, die absolut nicht laufen. Ich vermute, das liegt daran, dass ich die SD-Karten im Modus 3 laufen lasse, was bedeutet, das der SPI Takt mit der fallenden Flanke die Daten schiebt und diese dann gelatched werden. Das sollte mit den meisten Karten auch funktionieren. Allerdings ist Modus 0 wohl der übliche Modus, bei dem mit steigender Flanke gelatched und dann erst geschoben wird. Auf der Seite elm-chan.org liest sich das dann so: "Thus the SPI mode 0 (CPHA=0, CPOL=0) is the proper setting to control MMC/SDC, but mode 3 (CPHA=1, CPOL=1) also works as well in most case".

    Bei mir gibt es von 11 getesteten Karten gerade drei, die nicht funktionieren. Dabei scheint sowohl der Hersteller als auch die Kartengröße egal zu sein. Zum Beispiel laufen bei mir alle SanDisk Karten, bis auf die 32GB Ultra. Bei den 64GB Karten möchte eine nagelneue Philips Ultra Pro nicht mit dem Junior zusammenarbeiten, und eine alte1GB noname Karte verweigert sich ebenso.


    Gute Karten...



    Schlechte Karten...



    Nachdem jetzt das booten soweit wieder funktioniert, kann ich mich wieder an @Dietrichs CPM-65 erfreuen, dass meines Erachtens nach jetzt schon wunderbar funktioniert. Ich möchte ihm da jetzt nichts vorweg nehmen. Aber er hat da ganze Arbeit mit der Portierung geleistet. Ich wünschte, bei mir würde es so schnell voran gehen.





    Ich hoffe Dietrich schreibt hier im Forum auch noch etwas über sein Betriebssystem.

    Hallo Dietrich,

    das kann ich glaube ich alles ausschließen. Den 74LVC245 hab ich gerade frei fliegend über das Breadboard auf den Sockel verbunden.



    D.h. die letzten cm Leitungsverbindungen zum Kartenadapter sind die gleichen wie beim 4050. Ich hab die jetzige Schaltung so sehr gestreßt wie nur möglich und hab keine Ausfälle mehr. War also ganz klar ein Problem mit dem 4050. Beim 74LVC245 hab ich durch das 20 polige DIP Gehäuse allerdings einen echte Platzmangel. Der 4050 hat mit dem 16 pol Gehäuse gerade in die Lücke vor dem SD-Sockel gepasst. Ich werde deshalb wohl einen 74LVX08 (AND Gatter im SOP Gehäuse) einsetzen. Der lässt sich noch gut von Hand löten und tut es als Pegel wandelnder Buffer ja genauso.

    Ich hab gerade den Test mit einem 74LVC245 gemacht. Da die LVC Bausteine bei 3,3V Versorgungsspannung an den Eingängen eben auch TTL Pegel verarbeiten können sind sie auch wunderbare Pegelwandler.

    Was soll ich sagen, keine Probleme mehr beim Booten. Egal wie oft ich eine Karte resette, Ein- und Ausschalte, Karte bei eingeschalteten Rechner tausche und dann einen Reset mache, die Karten werden sofort erkannt. Als ich den MOSI Aussgang mit dem Oszilloscope untersucht habe, gab es dann nach einigen Resets wieder vereinzelt Probleme. Offensichtlich hat hier die Messleitung eher Störpotenzial. Ohne läuft die Schaltung jetzt aber wie mit dem fertigen SD-Karten Modul von AZ-Delivery.

    Ich weiß schon, warum ich die 40xx CMOS Bausteine immer gemieden habe. Da gibt es zwar ein paar interessante Funktionsbausteine, aber das ganze ist doch wesentlich empfindlicher als die 74xx TTL/CMOS Familie. Ich vermute, dass sich beim 4050 der Ausgang nach ein paar Pegelwechseln kapazitiv aufgeladen hat und manche Karten dann keinen definierten Logik Pegel mehr lesen konnten. Da ich aber beim Anschluss des Oszis oder des Logic Analyzers das Phänomen durch die Messelektronik beseitigt hatte gab es auch nie die Chance den Fehler zu beobachten.


    Da die SPI Schnittstelle beim Junior ][ mit gerade mal PHI2 / 2 also 500KHz läuft (was aber wesentlich schneller als die Bit-Banging Lösungen in anderen Schaltungen ist), sollte die SPI Taktfrequenz eigentlich kein Problem darstellen. Na ja, wie auch immer. Ich werde als Übergang den 74LVC245 bei mir erst mal auf dem Lochrasterfeld der IO-Platine unterbringen. Eine neue Platine werde ich dann zeitgleich mit dem geänderten Floppy-/Grafik-Controller bestellen.

    Der Spannungsregler ist getauscht. Allerdings spackt der SD Leser immer noch. Ein, wie von Reinhard vorgeschlagener 10-45pF Kondensator von MOSI gegen Masse stört das MOSI Signal so stark, dass eine Datenübertragung nicht mehr möglich ist.

    Alternativ habe ich jetzt mal zuerst einen 100K Ohm und dann einen 6,6K Ohm Widerstand von MOSI gegen Masse geschaltet. auch dass hat nur einen minimal besseren Erfolg. Der Leser läuft zwar nach dem Einschalten, und es sind zwei, drei Resets möglich, dann fängt das Problem aber wieder an.

    Ich hab jetzt, um endlich mal wieder an was anderem Arbeiten zu können, einfach einen Clip mit ca. 10 cm angeschlossener Leitung an Pin 4 des 4050 gehängt.Der Rechner bootet jetzt normal, lässt sich beliebig oft resetten und raubt mir erst mal nicht den Nerv.

    Ich vermute, dass der CMOS Ausgang irgendein kapazitives Problem mit der/den eingelegten Karte(n) hat. Welche Maßnahme dagegen hilft, ist mir gerade noch ein Rätsel. Die "Antenne" (wie ich sie mittlerweile liebevoll nenne :saint:<3 ) kann natürlich nicht der Weisheit letzter Schluss sein.


    Ich bin - wie Reinhard ja auch - der Meinung, dass eine Level-Shift Lösung mit Open Collector nicht wirklich ideal ist, weil dadurch natürlich bei hohen Frequenzen die Signale verschliffen werden. Das war ja auch der Grund, warum ich zum 4050 gegriffen hatte. Eventuell ist aber ein 74LVC245 ebenfalls für das Level-Shifting geeignet und macht weniger Probleme als der 4050 CMOS Buffer. Ich werde da mal experimentieren.


    Dennoch, falls irgend jemand einen Hinweis hat, was das Problem sein könnte, soll er sich bitte melden. Bloss nochmal zur Erinnerung wie der Schaltungsteil gerade aussieht:



    Bis zur Klärung des Sachverhaltes bleiben mal die neuen IO Platinen noch bei mir im Schrank (sorry) und die Karte für mich erst mal nebensächlich.


    Ich werde als nächstes wohl die Grafikarte so abändern, dass ich über eine Steckmodul einen Farb Encoder aufflansche. Dann kann man mal mit den verschiedenen Varianten (CXA1145P, CXA1645P, etc) rumexperimentieren, ohne die Grafikkarte ständig ändern zu müssen. Für alle, die auch keinen FBAS und/oder S-Video Ausgang benötigen wäre eine solche Karte dann auch optional.

    Hallo Reinhard, ich prüfe das morgen mal. Hab heute echt die Nase voll. Dank dir einstweilen. Ich melde mich, sobald ich nochmal alles durchgegangen bin.

    Hallo Reinhard, danke für dein Feedback.

    Ich hab jetzt sowohl 10pF als auch 22pF zwischen MOSI unhd Masse gehängt. Offensichtlich bügelt der Kondensator dann das Signal vollständig weg. Auch die 64GB Karte bootet damit dann nicht mehr. Ohne läuft sie wieder.

    Ich hab jetzt nochmal die Spannung am 3,3V Regler gemessen. Dieser hat jetzt gerade tatsächlich 4,09V, also viel zu hoch. Gestern hab ich noch 3,302V gemessen. Ich werde den Regler morgen mal tauschen. Stellt sich die Frage, was den geschossen hat.

    Eventuell werde ich auch mal einen 7417 Buffer mit Open Collector anstatt des 4050 ausprobieren.


    PS: Wärend ich gerade den letzten Satz geschrieben habe, ist der Regler auf 4,9V durchgebrochen. :sense:

    Jetzt war dann doch mal wieder eine arbeitsreiche Woche, weshalb ich mich garnicht um den Junior kümmern konnte.

    Gestern hat mich dann aber das SD Karten Problem umgetrieben.


    Der Stand war ja, dass ein paar Karten nur direkt nach dem Einschalten funktionierten, nach einem Reset des Juniors aber nicht mehr gefunden wurden. Erst ein Ausschalten, 40 Sekunden warten und wieder Einschalten ließ diese Karten wieder zum Leben erwecken, eine 64GB Karte wurde problemlos immer erkannt.

    Bei einer weiteren 8GB Karte hatte ich folgendes Problem: Einschalten - die Karte wurde - meist - erkannt und der MBR Boot Manager gestartet. Nach Auswahl einer Partition wurde dann manchmal der Boot Block gelesen - manchmal aber auch nicht. Sprich das ganze war jetzt ein Glücksspiel.


    Aufgefallen ist mir jedenfalls, dass der Kartenslot manchmal ein Kontaktproblem hat. Die oben erwähnte 64GB Karte wurde nämlich manchmal nach dem Einstecken ebenfalls nicht erkannt. Aus- und wieder Einstecken, und das Problem war dann hier behoben. Das konnte ich auch bei den anderen Karten beobachten. Allerdings ließen sich ja dadurch nicht die Leseprobleme nach einem Reset erklären.


    Mein erstes Vorgehen war jetzt, die Initialisierungsphase zu verlängern. Die SD Karte wird direkt nach dem Einstecken im Native Mode betrieben, wofür die vier Datenleitungen DAT0..DAT3 der Karte benötigt würden. Ein Umschalten in den SPI Modus geschieht durch senden von mindestens 74 Takten bei nicht selektierter Karte, also /CS = High. Ich hatte da bisher 80 Takte gesendet. Jetzt bin ich auf das vierfache, also 320 Takte umgestiegen. Der Effekt war, dass die erwähnte 8GB Karte nun immer nach dem Einschalten erkannt wurde. Ebenfalls muss nun nach dem Aus- und wieder Einschalten nicht 40 Sekunden gewartet werden. Also ein erster Erfolg. Allerdings wollte die 8GB Karte trotzdem nach dem Lesen des MBR Boot Managers manchmal einfach von dort nicht weiter machen. Da ich mit der alten IO Platine mit genau dieser SD Karte ständig herum experimentiert hatte, wusste ich, dass es hier also eher ein Problem mit der neuen Schaltung geben musste.

    Da mich ja auch einige darauf hingewiesen haben, dass bei anderen Projekten mit SD Karte DAT1 und DAT2 nicht verbunden und offen in der Luft hängen, hab ich also mit dem Cutter Messer die entsprechende Verbindungsleiterbahn durchtrennt und...keine Änderung.


    Also mal den Logic Analyzer an die SPI Schnittstelle (Ausgänge des 4050 CMOS Hex Buffers für das Level Shifting) gehängt. Test aller Karten: OK !!!! 8|


    Test Clips wieder weg...Karten sporadisch wieder nicht erkannt.


    Ja hab ich denn versehendlich einen $c#€i$$ Quanten Computer gebaut, bei dem die Messung den Zustand verändert???


    Test Clips dran...Karten wieder alle erkannt. OK, vielleicht ist im Analyzer irgendein Widerstand gegen VCC oder so verbaut. Also Stecker aus dem Analyzer gezogen, Test Clips noch am 4050, Einschalten - geht. Reset - geht wieder. Nochmal Reset - geht. Wow, jetzt wird es echt gruselig :zombie:


    Test Clips einzeln weg. Bei bei Pin 4 (MOSI) fängt der Mist wieder an zu spinnen.


    Ich hab dann mal alle Clips bis auf den an MOSI getrennt: Tut. Clip von MOSI weg: Spinnt rum.


    Nächster Versuch. Clip mit Leitung an 10K Widerstand und den Widerstand an +3,3V. Vielleicht braucht MOSI ja einen Pull Up. Tut. Hurraaaa. Also 10K Widerstand zwischen Pin 1 (3,3V) und Pin 4 (MOSI) des 4050 gelötet. Einschalten: Nun wird garkeine Karte mehr erkannt, nicht mal die 64GB Karte die vorher, mit oder ohne Clips tadellos funktionierte. Widerstand wieder weggelötet. Mit 64GB Karte booten...geht. Andere Kartren rein. Mal geht es, mal wieder nicht. :wand:


    Langsam bin ich Blutdruckmäßig im oberstern Bereich. ::chainsaw::


    Nächster Versuch. Alle Clips weg, einschalten, rechner bootet von 16GB Karte. Reset, Karte nicht gefunden. Breadboard Kabel an Pin 4 halten, Reset...tut. Kabel weg, Reset...tut nicht. Nochmal Reset...tut nicht. Kabel dran, Reset...bootet :fight:


    WTF...was für ein mistiges Problem ist das denn? Kann mir das jemand erklären?


    Zu Erläuterung:


    - Defekter 4050 kann ausgeschlossen werden. Hab bereits 5 andere probiert.

    - Gebrochene VIA oder Leitung? Dann würde die 64GB Karte auch nicht funktionieren.

    - Offene Eingänge am 4050. Nein, alle nicht benötigten Buffer sind Eingangsseitig auf GND.

    - Zu niedrige Versorgungsspannung des 4050? Exakt 3,3V, sollte also OK sein.

    - Software Problem? Hat mit fertig aufgebauten SD-Kartenmodul fabelhaft funktioniert.


    Also ich bin mit meinem Latein am Ende. Muss ich jetzt an die MOSI Leitung eine Antenne basteln, damit die SD-Karte läuft?


    Klar ist, dass es sich um irgendeinen Efekt bzgl. CMOS handelt. Nur welchen, das erkenne ich gerade überhaupt nicht. Hat jemand einen Vorschlag?



    Logic Analyzer an den Eingängen des 4050 - "Antenne" an Ausgang Pin 4 (MOSI)



    Logic Analyzer an den Eingängen des 4050 -ohne "Antenne". SD Karte gibt kein Response


    Hängt der Analyzer an den Ausgängen des 4050 geben die Karten immer ein Response.



    Rechner Reset mit "Antenne"



    Rechner Reset ohne "Antenne"

    Bin jetzt gerade etwas frustriert.


    Ich hatte mir gestern noch ein DB9 auf Scart Kabel gebastelt und es gerade ausprobiert. Auch hier kein Farbbild. Also nochmals Oszi an die Ausgänge des CXA2075 und wie befürchtet, es kommen keine Signale aus den R-G-B Ausgängen. Ebenfalls tot ist der Chroma Ausgang. Luma zeigt ein seltsames Verhalten. Der RGB Encoder ist also doch futsch. Beim runter löten sind dann gleich noch zwei nicht unwichtige Lötpads mit abgegangen :wand::cry2: .

    War ja klar, dass sich der Einsatz der mistigen SMD Bauteile irgendwann rächen würde. :kopfab:


    Wenigstens funktioniert die Schwarz-/Weißausgabe noch. Ich kann also weiter mit der Programmierung der verschiedenen Modi herumexperimentieren.

    Ich bin gerade am Überlegen, eine neue Platine entweder nur mit Mono BAS Ausgang und RGB für SCART (bzw. auch Commodore 1083S o.ä. Monitore) zu machen, oder auf den CXA1645P umzuschwenken. Der ist im wesentlichen Identisch zum CXA2075, aber eben noch im DIP Gehäuse erhältlich (UTSource).

    Der CXA1045P wäre auch eine Alternative. Dieser war z.B. in der Amiga 600 und der NeoGeo verbaut. Allerdings ist hier mehr Aufwand für den FBAS Ausgang zu betreiben, da er keine interne Verbindung zum CVOut Mixer hat und deshalb extern noch Verzögerungsschleifen braucht. Der Baustein wäre aber etwas besser verfügbar.

    Eventuell könnte man auch die RGB Transistor Endstufen für SCART auf die Hauptplatine und den RGB Encoder für FBAS und S-Video über eine kleine optionale Platine realisieren. Dann wäre ein Experimentieren mit den verschiedenen Bausteinchen nicht gleich wieder so eine teure Angelegenheit und könnte (soweit keine SMD Bauteile) zum Testen auch via Lochrasterplatine aufgebaut werden.


    Wie auch immer, ich werde jetzt mal schauen, alle Funktionen auf der Platine, soweit möglich, mit Treibern zu unterstützen und dann gibt es eine neue Platine, die dann auch die bereits gepatchten Leitungen enthält.

    Tut mir leid für alle, die auf die Platine gewartet hatten. Ich hab natürlich immer noch vier Platinen für unerschrockene Early Adopters übrig, weiss aber nicht, ob der CXA2075 durch das erstmalige Auslöten von der im Keller gefundenen Decoder Platine schon beschädigt wurde, oder es doch noch einen tötlichen Fehler auf meiner Grafikkarte gibt.


    Jetzt gibt es erst mal eine Tafel Schokolade um wieder glücklich zu werden :) .


    PS: Sorry Norbert, PACMAN muss also leider noch warten ;)

    Uuuuhhh, 80 Zeichen !!!



    Ich hab jetzt mal das Taktsignal für die PAL Trägerfrequenz angeschaut. Das RC Glied am Ausgang des Clock Generator sollte eigentlich dafür sorgen, den Takt mehr nach einer Sinuskurve aussehen zu lassen - wie vom CX2075 wenn möglich verlangt. Dabei ist aber der Signalpegel zu klein geworden und der Farb Encoder hat gar keinen Takt mehr bekommen. RC überbrückt - und schon klappt es. Zu mindest am RGB und S-Video Ausgang kommt jeweils ein schlüssiges Signal. Zu mindes sieht für mich das S-Video Signal nach Luma/Chroma aus.



    Jetzt müssen nur noch die richtigen Kabel gefunden werden. :tüdeldü:

    Gestern Abend hab ich mal den Zeichensatz mit dem MicroElectronica GLCD Font Creator zusammengeklickt. Leider werden die exportierten Daten um 90° verdreht ausgegeben, so dass noch ein kleines Delphi Programm notwendig war, um den V9938 damit zu füttern.




    Letzlich habe ich jetzt eine Mischung aus Apple II und HP 28S Font erstellt - je nachdem, welches Zeichen mir besser gefallen hat. Die Control Zeichen ASCII 0-31 sind alle (erst mal) leer, also nicht anzeigbar. Im oberen Zeichensatz Bereich (ASCII 128-255) sind ab ASCII 160 alle Zeichen von ASCII 32 bis 126 als inverse Zeichen abgelegt. ASCII 255 ist der Cursor und ASCII 128-159 sind eine Annäherung an die MouseText Zeichen des Appe //gs. Mal schauen, wozu man die mal gebrauchen kann.


    Farbige Ausgabe war leider noch nicht möglich. Am Composite Ausgang hab ich nur ein verzerrtes Grisseln, welches sich aber mit Änderung des Bildschirminhalts ebenfalls ändert. Den RGB Ausgang hab ich noch nicht ausprobiert, da muss ich erst noch ein Kabel suchen. Ich hoffe mal, dass mein ausgelöteter CXA2075 Farb Encoder nichts abbekommen hat. Wäre eventuell doch besser gewesen, einen zu bestellen, oder doch lieber Transistor Endstufen zu nehmen und auf S-Video zu verzichen. Morgen gibt es dann weitere Programmier Experimente mit der VPU.

    Erste Versuche, was von der V9938 VPU auf ne angeschlossene Röhre zu bringen




    Der Zeichensatz ist noch "geliehen". Ich werde mich mal heute Nacht dran setzen, einen eigenen Zeichensatz zu basteln. Morgen gibt es dann mal einen Test am Farbmonitor.

    Hallo trazom . Hier wie angekündigt die gesammelten Dateien mit der neuesten Firmware im angehängten ZIP und auch auf www.old-computer-tech.net/Downloads unter Junior Computer ][. Falls du wegen des AnyKey Signals noch was ändern musst, der Source Code liegt im Firmware Ordner mit dabei. Bit 7 wird für den Junior ][ zusätzlich zum Strobe als Char_Available Signal genutzt, da ich hier keinen flankengetriggerten Eingang mehr frei hatte. Dieses Signalleitung kannst du dann ja für weitere vom MFA benötigte Signale nutzen.

    Für den Junior Computer hat jemand eine ASCII Tastatur mit Cherry MX Keys entworfen: https://www.apteryx.de/downloa…_ASCII_Keyboard_Rev_2.zip
    Ich überlege mir eine für den MFA zu bauen.

    Hallo trazom , ich hatte noch einen kleinen bug in der uC Firmware gefunden. Die neue Version habe ich leider noch nicht zum Download bereit gestellt. Ich werde das morgen wenn ich wieder zu Hause bin mal nachholen und dir auch hier nochmal die aktuelle Version anhängen.

    Heute Nacht hab ich mal wieder ein paar Fortschritte mit dem Floppy-/Graphik-Board gemacht. Da ich jetzt ja zu mindest mit den SDXC Karten normal booten kann, hab ich das oben beschriebene Problem mit dem neuen SD Karten Leser erst mal zurückgestellt. Stattdessen konnte ich dann mal anfangen, am neuen Board den Microcontroller fertig zu programmieren und die PS2 Tastatur zu testen



    Da der Junior ja mit 7 Bit ASCII arbeitet, hab ich die deutschen Umlaute ä, ö, ü und ß gleich vom Controller übersetzen lassen. Ich musste mich dann nur entscheiden, ob ich bei Großbuchstaben z.B. aus einem Ü ein UE oder Ue mache. Ich hab mich für letzteres entschieden, da es dann doch besser aussieht als z.B. aus Ueberlingen ein UEberlingen zu machen. Nachteil: Bei vollständiger Großschrift wird dann halt aus KÖNNEN KOeNNEN. Ein ß wird auch nur in Kleinbuchstaben übersetzt also : GRUEssE. Da muss man dann halt die beiden S selber schreiben.


    Weitere Sonderzeichen wie €, µ, ², ³, § und ° spuckt der Controller dann auch gleich als ausgeschriebene Worte aus. Also Euro statt € und Paragraph für §.


    Des weiteren konnte ich dann mal endlich die 21,4772 MHz China Quarze als gesund und munter testen. Somit sprach dann auch nichts mehr dagegen, den V9938 Video Controller und die DRAMs einzubauen. Auf dem SW Composite Ausgang kommt auch bereits ein Sync Signal. Der Farbausgang des CXA2075 bringt allerdings noch nichts. Ich werde mir da mal das PAL Taktsignal vornehmen. Ich denke, dass es wohl daran liegt.


    Der Joystick Port und die DIP Switches lassen sich auch lesen. Somit ist eigentlich alles, was am 8255 PIA hängt wohl soweit abgehakt.

    Floppy lesen geht ja auch bereits. Die Schreib Routine muss ich noch fertig machen. Ich werde aber wohl zuerst mal den Video Controller testen.


    Ansonsten sieht mein Schreibtisch gerade extrem chaotisch aus. Da muss man doch öfters zwei mal überlegen, auf welche Tastatur man gerade tippen muss. :fp:



    Viel Spass euch allen


    Jörg :kafeee:

    Damit meinte ich die Karte ist in einem unbekannten Zustand und Du hast keine Möglichkeit ausser Spannungsausfall diese in den Grundzustand zu forcieren. Wie gesagt, bei uns war das Problem auch selten, wenn es aber mal war, dann half auch nur "Stromausfall".

    Das Problem besteht aber ja auch, wenn die Karte bei laufenden Rechner eingesteckt wird und dann ein Reset erfolgt (bei einem per Hand ausgelösten Reset hatte die Karte dann auch mehr als genug Zeit bis sich die Spannung stabilisiert hat). Beim Power Up der Karte ist sie dann immer in einem definierten - nämlich dem nativen - Modus. Meine Init Routine sendet dann mit CS = High 10 FF Bytes (also 80 High Bits) womit dann in den SPI Modus geschaltet wird. Dann erfolgt der Reset der Karte durch CMD1, bzw. ACMD41. Also alles, wie in den SPECs gefordert. Wenn sich eine Karte schon im SPI Modus befindet - also man davon booten konnte - hat die Init Sequenz CS = H, 80x H ja auch keinen Einfluss auf den Modus der Karte mehr, sie bleibt im SPI Mode. Das folgende Reset Kommando sollte dann auch immer funktionieren. Ich hatte die Init Routine X-mal dahingehend geändert, so dass die Karte eben nicht irgendwann mal in einem Zustand hängen bleibt und einfriert. Warum die mit CMD1 zurückgesetzten Karten beim zweiten mal jetzt nicht mehr durchlaufen ist für mich also mehr als seltsam. Wie auch immer, ich werde wohl nochmal die Init Routine neu für den Adressbereich $2000 assemblieren und dann mit dem Logic Analyzer durch debuggen.

    Ist halt sehr ärgerlich, weil ich ja eigentlich am Floppy-/Grafik-Controller weiter machen wollte.

    Hallo Reinhard,

    danke für deine Antwort.


    Mit RESET meinte ich, einen Rechner Reset. Dieser führt dann natürlich die SD-Karten Initialisierung Routine mit entsprechenden Reset Command an die Karte aus. Das hatte mit dem zugekaufen SD-Karten-SPI Adapter von AZ-Delivery ja auch schon alles problemlos funktioniert. Ich wollte aber den SD-Karten Adapter loswerden, weshalb ich dann den Level Shifter mit 4050 samt 3,3V Regler eingesetzt habe. Das funktioniert ebenfalls. Aber eben nur direkt nach dem Einschalten. Mache ich dann einen Rechner Reset - sprich die Karte wird wie oben neu initialisiert - wird sie offensichtlich nicht mehr erkannt. Wird der Rechner dann für 30+ Sekunden aus- und danach wieder eingeschaltet, findet die Initialisierungsroutine die Karte wieder. Mit einer SD-XC Karte (SanDisk Ultra 64GB) habe ich das Problem nicht, sondern nur mit kleineren Karten (1,2,4 und 8GB) , die aber vorher mit dem Adapter von AZ-Delivery auch liefen. Irgendwie scheinen die kleinen Karten erst wieder zu laufen, wenn wohl der 10uF Stützkondensator leer ist und die ein vollständiger Power-Up Zyklus mit sofort folgender Initialisierung stattfindet.

    Auch wenn ich die Karte bei laufenden Rechner neu einstecke und den Rechner mit Reset neu starte wird sie nicht erkannt. Eine laufende Transaktion kann man hier also auch ausschließen. Wie gesagt, hatte alles vorher problemlos funktioniert.


    Für die nicht benötigten DAT1 und DAT2 Anschlüsse habe ich im Netz folgende Beschaltungen gefunden:

    1. Beide nicht angeschlossen - offen.

    2. Beide verbunden und mit 10K bis 100K an 3,3V.

    3. DAT1 über 100K an 3,3V und DAT2 mit 100K an 3,3V.


    scheint also eher unerheblich zu sein. Aber bitte korrigiert mich, falls ich da falsch liege.


    Ich hatte dann gestern noch folgendes Phänomen: Ich habe den Pullup R18 an MISO wieder angeschlossen. Dann funktionierten plötzlich eine alte Karte wieder wie bisher. Mehrmals Reset des Rechners und die Karte wurde weiterhin erkannt. Karte bei eingeschalteten Rechner raus und wieder rein, Rechner Reset: Karte erkannt. Rechner nochmal ausgeschaltet und gleich wieder ein: Karte wird NICHT mehr erkannt. Und seitdem auch eben nur wenn der Rechner zuvor min. 30 Sekunden aus war. Bin gerade völlig überfragt. Werde morgen eventuell mal den Logic Analyzer auspacken.

    Gerade ist mir mit der neuen IO Platine ein neues Phänomen mit dem SD-Card Reader aufgefallen.


    Ich hatte gerade die mir von Dietrich bereitgestellten Images für CPM-65 ausprobiert und nach dem ersten erfolgreichen Laden gedankenverloren RESET gedrückt. Wer den Thread hier aufmerksam gelesen hat, weiss, ich hatte dabei massive Probleme, denn eine SD-Karte ließ sich mit der neuen Platine immer erst wieder einlesen, wenn der Rechner mindestens 30 Sekunden ausgeschaltet war. Diesmal funktionierte es aber auf Anhieb. Und nochmal...und nochmal..und....


    Ein Test mit meinen anderen SD-Karten brachte dann wieder das gleiche - negative - Ergebnis: Booten nach RESET nicht möglich. Der Unterschied 64GB Karte und 8/4/1 GB Karten. Offensichtlich scheinen 64GB Karten (und größer??) gegen das Problem immun zu sein. Was jetzt genau allerdings das Problem ist, ist mir immer noch schleierhaft. Auf alle Fälle scheint es an der Initialisierung zu liegen. Warum die Karten mit kleinerer Kapazität allerdings das Initialisieren verweigern, wenn der Rechner nicht min. 30 Sekunden aus war ist wirklich spooky. Und was macht der SD-Karten Adapter von AZ-Delivery da Schaltungs technisch gesehen anders?


    Vielleicht fällt euch ja was dazu ein. Hier nochmal der neue SD-Card Reader Teil der IO-Platine.



    Die beiden Pullup-Widerstände R18 und R19 habe ich wieder gekappt. Mit eingebauten R19 wurde zwar der MBR eingelesen, der System Boot Sektor dann aber schon nicht mehr. Mit R18 ging dann garnichts mehr. Eigentlich sollten laut Spec. ja zu mindest DAT1 und DAT2 via Pullup an 3,3V liegen.


    Wie gesagt, alles sehr mysteriös. :nixwiss:


    Hilfe wie gesagt sehr gerne und dringend erwünscht.

    Ich hab vorhin den Apple //e, den ich am Samstag von Llama bekommen habe, noch vollständig zum Laufen gebracht. Am Freitag hatten Martin und ich im Shack bereits die Rifa Kondensatoren in den Netzteilen der beiden von ihm erstandenen Apple //e getauscht und den nicht funktionierenden Tasten mit Kontaktspray Anschubhilfe geleistet. Bei meinem war dann noch ein RAM defekt, das wir durch cybernesto s Diagnostikkarte lokalisieren konnten. Nach Tausch des RAM Bausteinchens scheint jetzt alles soweit in Ordnung zu sein und auch Apple II Diagnostics läuft fehlerfrei durch.


     


    Als erstes natürlich mal eine Runde Lode Runner, Karateka und Apple Bandits gezockt. :)


       


    Ich warte jetzt noch auf neue EEPROMs, dann kriegt der kleine noch die Extended //e ROMs. 65C02 ist bereits eingebaut.

    Musste gerade in Heise Online lesen, dass wieder einmal einer meiner Superhelden die Erde verlassen hat...



    Nicklaus Wirth.jpg


    Nicklaus Wirth * 15. Februar 1934 + 1. Januar 2024


    RIP ! :sad:


    Good-bye and thanx for all the fantastic programing languages...

    Hallo audiokit_nl , ich bin mir fast sicher, dass da irgendein Fuse Bit nicht richtig gesetzt ist. Ich schaue mir das morgen mal an, heute habe ich leider keiner Zeit mehr dafür. Eventuell ist auch der Hex File nicht der passende Code für den internen Takt. Wie gesagt morgen stelle ich dir mal was zusammen und hoffe, dass du damit dann Erfolg hast.