Hallo, Besucher der Thread wurde 18k mal aufgerufen und enthält 73 Antworten

letzter Beitrag von Boulderdash64 am

  • Ich hab jetzt das SysTest64 nicht hier liegen - das liegt bei meiner Freundin...

    Ich seh da 2 primäre Aufgaben:


    1.: Effektiv fängt es aber schon mal damit an, ob am ProMicro überhaupt noch I/O Ports vorhanden sind, an die man Mess-Strippen hinbauen kann.


    2.: Wie schnell / ob man ne .hex Datei wieder in lesbaren Code umwandeln kann: Da bin ich leider kein Fachmann für!

    Weil effektiv wollen wir ja in den bestehenden Code eine zusätzliche Funktion einfügen...

    Und ich kann mir nicht vorstellen, dass Matthias uns den lesbaren Sourcecode einfach so überlässt...

    Und wenn man beides nicht (hin)bekommt, müsste man den Code komplett neu schreiben.

  • Das ist auch das, was Helmut Proxa ganz oft bei den verfügbaren Sachen moniert: meistens wird halt eben nicht in Echtzeit getestet...

    D.h.: Wird ein RAM mit weniger Geschwindigkeit getestet KANN der funktionieren MUSS aber nicht...

    Also meine Wirre idee ist, Messen ohne die Messwerte zu Verfälschen.
    Wir können ja den C64 Extern Resetten, und wir wissen genau wie sich der Rechner verhalten sollte, wir sehen jede adresse auf die zugegriffen wird, wir sehen jedes byte auf dem Bus.


    Mit 16 Adress, 8 Daten und 4 Steuersignalen sollen wir recht weit in die "Black Box" schauen können.


    Einschalten:
    Die 5V müssen Vorhanden sein,

    Der Farbtakt muss vorhanden sein

    Der CPU Takt muss vorhanden sein

    Die Reset leitung muss auf kurz auf LOW gehen und dann auf High, nun rennt die CPU los.


    CPU geht aus dem Reset und liest die Adresse $FFFC/$FFFD aus dem ROM, das können wir mitlauschen, wenn die CPU Lebt und die PLA das Kernel Sichtbar schaltet, sollten wir immer dann zwei Byte auf dem Bus sehen die auf die Reset Routine im Kernel zeigen.
    CPU Geprüft
    PLA Geprüft
    Kernel ROM zumindest da,


    Nun wird die Hardware VIC etc. Initialisiert und auch ein RAM Check gemacht.
    Auch dort können wir mitlauschen.
    Wenn dann z.b. Speicheradresse 0x1234 ein 0xFF geschrieben wird, und ein 0X0F gelesen wird, wissen wir nur duch mitlauschen das an der Adresse ein RAM Fehler aufgetreten ist.
    Der C64 Bildschirm kann ruhig Schwarz bleiben, wir wissen dann RAM Check Fail, Adresse und betroffene Bits.
    So kann man den Kompletten einschaltvorgang mittracen bis zum Basic Prompt.

    Wird der VIC über 2 CIA Pins in den Richtigen 16K Speicherblock gemappt.

    Wurde die Hardware Initialisiert, oder hat z.b. eine defekte PLA das verhindert.


    Auch wäre eine Textdarstellung des Bildschrimspeichers möglich, wenn der Modulator gegrillt ist, aber wir wissen, der Rechner läuft und sehen die Tasteneingaben.


    Die Jetzige Check64 Plattform ist ungeeignet, wir brauchen viel mehr CPU Bumms, ein Raspberry Pico kann bis über 400Mhz getaktet werden, alle IO Pins können mit einem Register zugriff gelesen oder geschriebern werden. 254KB RAM, 2 MB Flash, da kann man reichlich Code und Daten unterbringen.
    Einen Videoausgang in Analog FBAS, VGA, oder HDMI ist machbar, oder halt ein kleines OLED Display wie jetzt.


    Mir fehlt leider die Zeit so ein Projekt in der Freizeit nebenher zu Stemmen, ich muss auf unabsehbare zeit mich um einen Familienangehörigen kümmern.


    Ich würde mal 4 Mannwochen für die Hardware und Software entwicklung schätzen also eigendlch noch absehbar...


    Mal 2-3 Leiterplatten Designen, Herstellen, Bestücken sollte noch machbar sein, dann müsste ein Coder übernehmen...

  • Das hört sich doch alles gut an . Ich bin ganz begeistert . Ich würde ja auch gern unterstützen, kann aber auch nicht wirklich was beitragen .

    Später vielleicht Platine zusammen löten, Fehler darauf finden , Softwaretesten etc.. das geht sehr gut .

    Aber programmieren , Hardware entwickeln kann ich nicht … Leider …


    Ich bin sehr gespannt wie das hier weiter geht ..

    Eine ADMIN schläft nicht er ROOT

  • Also ich könnte eine SPS programmieren, aber ich glaube, DAS hilft hier gar nicht weiter ;(

    Tja, was weiter "oben" angedeutet wurde, bestätigt sich hier leider wieder - auch wenn ich früher Matthias da immer "in Schutz" genommen habe, aber wenn er sich was in den Kopf gesetzt hat, wie etwas gemacht wird, dann konnte man mit 100 besseren Lösungen kommen, die hat er alle ignoriert und SEINE "schlechtere" genommen, weil er sie entweder für besser hielt, oder keine Lust hatte, sich mit anderen Ideen auseinander zu setzen... Habe mich vor kurzem mit Frenetic aus dem F64 mal zum Thema SID und seinem SIDkick und Matthias' FreeStereoSID (?) unterhalten und Carsten meinte auch, dass Matthias da ein paar grundlegende Fehler in seinem Projekt hat, die nur NOCH keine Probleme bereitet haben, weil offenbar keiner das in einer bestimmten Konfiguration genutzt hat, aber WENN, dann würde es einfach nicht funktionieren und das er sich das Projekt auch genau angeschaut hat, aber sagen muss, dass es ziemlich hingepfuscht ist - Hauptsache schnell - aber leider sehr oberflächlich... Und wenn ich Eure Analysen lese, dann bestätigt sich das an einigen Stellen. Außen HUI, innen pfui?!? Vielleicht nicht ganz und viele Ansätze sind sicher gut und vorher noch nicht von anderen genutzt und umgesetzt worden, aber dann eben nicht mit Sorgfalt und im Detail durchdacht bearbeitet, sondern schnell, damit es irgendwie läuft, bis irgend jemand einen Fehler entdeckt und dann daran gebastelt, dass es irgendwie wieder weiter läuft...

    Das finde ich schade und ist irgendwie auch verschenktes Potential.
    Wie gesagt, ich würde gerne mithelfen, da mich das Thema sehr interessiert, aber ich habe keine Idee, womit ich helfen und Euch unterstützen könnte? Ich kann leider nur Siemens, Omron und ein bißchen Mitsubishi sowie ein paar Industrieroboter programmieren... und uralten 8-Bit Omron Assembler ;)

    :thumbup: Atari 800XL / Atari 1040 STF(M) / VIC20 / C64 / C128(D) / C16 / C+4 / Amiga 500(+) / Amiga 2000 / Amiga 1200 / Amiga 4000 / CD32 / PSone / PS2 / PS3 / PS4 / PS5 / N64 / GameCube / Wii / WiiU / Switch - hab ich! :thumbup:

  • Hätte eine Frage zum Zwischensockel (bzw. der moderneren Lösung ohne Zwischensockel), um die neueste Firmware (genauere Voltanzeige) auch hardwaremäßig zu unterstützen.

    Wird da ein 1kOhm oder ein 10kOhm an beiden Pins des Pro Micro (RAW und GND) zum Pin A0 eingelötet ?

    Kann da auf dem Foto nicht zwischen rot und orange unterscheiden.

  • Aber ich muss an dem Projekt auch ein bisschen was monieren...

    Und 90% davon ist einfach: Fehlende Doku!

    - die Dokumentation ist verdammt spartanisch... Es fängt schon damit an, dass man ausprobieren muss, wie rum man die LEDs rein steckt...

    Ein kleines + irgendwo auf der Platine hätte gereicht...

    Stimmt, normalerweise. Ich hatte aber schon LEDs, bei denen war nicht eindeutig wo Plus und Minus ist. Die Schräge und der lange Draht half leider in dem Fall nicht. Ich musste also 24 LEDs wieder auslöten.


    Um das anderen zu ersparen, und weil es ausnahmsweise 24 LEDs sind, habe ich mir etwas ausgedacht das dieses Problem zu 100% vermeiden hilft. Bei anderen Platinen mit nur 1 LED würde ich das natürlich nicht machen.


    - Was macht man z.B., wenn man nen R/W Fehler bekommt? Geil wäre halt, wenn man nen Anhaltspunkte hätte, was man alles abklappern muss...

    Das muss ich leider zugeben. Ursprünglich hieß der Punkt RAM. Es sind halt viele Erfahrungspunkte eingeflossen, die ich aus meinen zahlreichen neuen C64 Platinen gesammelt hatte, die mich dann zu dem einen oder anderen bewogen haben, es entweder einfacher oder spezialisierter zu machen (anzuzeigen). In diesem Fall musste ich zurück auf R/_W, weil davon zu viel abhing, und zu viele unterschiedliche Ursachen auftauchen können.


    Das BlinkenDiag Addon ist ebenso nicht gut beschrieben... Aber das ist es beim ursprünglichen Projekt auch sonst schon so! Wenn man keine Doku hat, wie man die LEDs zu deuten hat: was bringt einem dann die Lightshow?

    Das war eigentlich nur als Bonus gedacht. Deshalb habe ich mich darum nicht weiter gekümmert.


    Ach ja: und noch ein fataler Fehler: die Platine nicht anzuschrägen...

    Schaut euch Mal die ganzen alten und neuen Module an... Die haben alle angeschrägte Platinen...

    Und warum? Genau: um den Port zu schonen...

    Warum denkt Matthias an so was nicht?

    Ich denke an sehr viel :) Am Ende ist es immer eine Abwägung. Bei dem Hersteller bei dem ich hauptsächlich bestellte, wird das nur mit Eing/Gold angeboten. Deshalb kann ich das nicht machen, habe aber deshalb die Pinleiste ziemlich schnell bei allen Platinen zu Anfang unten mehr Freiraum gegeben, damit man selbst eine kleine Fase feilen kann.


    Ich glaube einfach, dass ein paar Leute da, die Ahnung haben, neben sich keine anderen Leute haben wollen, die auch reparieren / sich ran trauen... Sonst verlieren die ja evtl. noch ihre gottgleiche Stellung...

    :)


    Generell zu sagen: wenn kein Bild kommt ist es 100% der VIC, ist einfach hirnrissig...

    :)



    Der PLA Test ist Fake, der wird meistens auch bestanden wenn ich das Modul nur über USB Versorge.

    Hier wird der NMI untersucht. Das ist wie bei allen diesen Tests nur ein "Vortest" kein Kompletttest. Der Eine oder Andere mag sich fragen was das soll, aber das sind nun mal einfach die Erfahrungen die ich mit meinen neuen C64 Platinen gesammelt habe. Da habe ich die seltsamsten Sachen erlebt, die nur sehr wenige erfahren durften, weil ich einer der wenigen bin der nicht mit den alten Platinen arbeitet, sondern mit gänzlich neuen. Da erfährt man durch Zufall Sachen, die anderen gänzlich fehlen. Das fließt alles ein. Und da ich weiß das dieser Test wichtig ist, mache ich auch den Test, der den PLA betrifft. Der eigentliche Test des PLA wird ja erst beim Haupttest gemacht.


    Beim Automatischen Wechsel zwischen den Tests wird scheinbar nur eine wartezeit abgewartet, an der Reset Leitung gezupft und das nächste Modul über die oberen Adressleitungen ausgewählt.

    Nein, das war mir zu unsicher. Hätte auch nicht ausgereicht, da ein Rückkanal unbedingt notwendig ist. Sonst würden einige Tests nicht funktionieren.


    Zitat

    Eine reine CPU Darstellung würde zeigen bei welcher Adresse er im ROM oder RAM hängen bleibt, bzw. im Basic werden nur wenige Kernel Routinen angesprungen, und Tastertur CIA und Bildschirmspeicher Curserposition.

    Ja, nur würde das den Pro Micro sprengen...



    RW Fehler war bei mir meinstens defekte RAMs.

    Richtig, wie oben erwähnt, hieß deshalb der Punkt auch zunächst RAM.



    Zitat

    Die Lösung mit den aufsteck Leiterplatten für die LEDs gefällt mir gar nicht.

    Mir auch nicht wirklich, nur es ist halt eine gute Sache, wenn man die Basis-Platine in ein normales kleines Modul stecken kann, ohne die LED Arme. Der Vorteil ist... man kann es sich aussuchen, und diese nur bei wirklichem Bedarf stecken und nutzen.


    Scheinbar hatt sich Herr M. in zu viele Projekte gestürtzt, und den Entwicklungsfaden verloren :huh:

    Herr M hat mittlerweile über 200 Platinen erstellt :) Das ist es was ich mag. Ich arbeite auch ganz anders. Wer soviel Platinen erstellt/realisiert, und alle Revisionen mehrfach löten/aufbauen muss, und so viele Ideen im Kopf herumsausen, der muss zwangsläufig etwas anders arbeiten. Ich arbeite in Etappen, mache aber meistens schon etwas "fertig", weil ansonsten 100 Platinen in der Schublade versauern würden, und nichts fertig werden würde :) Bzw. ich dazu ansonsten 10 Jahre benötigen würde, anstatt 2 Jahre. Trotzdem gebe ich mein bestes und teste akribisch (mich ärgern schon Kleinigkeiten), was jedoch nicht immer zu jeder Zeit möglich ist. Und für die Menge, und für diese Vielfalt, mache ich einen grandiosen Job, wenn ich mich mal selbst loben darf ;)


    Ich bin leider grade mit Shadow-aSc und Helmut Proxa schon dabei ne komplett andere Schiene zu fahren... Und die wird (zumindest) mich leider schon genug Zeit kosten...

    Wird auch in Richtung Reparatur von 8bit Hardware gehen...
    Tastköpfe usw. sind da z.B. auch geplant (nein... die Idee wird nicht geklaut... stand schon 2018 aufm Plan)...

    Was ist daraus geworden?



    Zitat von Boulderdash64

    ja, was weiter "oben" angedeutet wurde, bestätigt sich hier leider wieder - auch wenn ich früher Matthias da immer "in Schutz" genommen habe, aber wenn er sich was in den Kopf gesetzt hat, wie etwas gemacht wird, dann konnte man mit 100 besseren Lösungen kommen, die hat er alle ignoriert und SEINE "schlechtere" genommen, weil er sie entweder für besser hielt, oder keine Lust hatte, sich mit anderen Ideen auseinander zu setzen...


    Mich muss niemand in Schutz nehmen :)


    Ich habe so viele gute Ratschläge von anderen in alle möglichen Platinen übernommen, das ich diese garnicht mehr zählen kann, und ich mich darüber zunächst wundere warum diese Aussagen überhaupt kommen. Wahrscheinlich deshalb, weil ich mal bei dem einen oder anderen "Ratschlag" Gegenargumente hatte, oder einen anderen Plan verfolgte, und das in dem Augenblick für mich einfach nicht relevant war. Deshalb musste ich leider auch feststellen das sich mancher Ratschlag nicht als Ratschlag, sondern als "Forderung" entpuppte, und das darin gipfelte das einige deswegen wütend auf mich sind, und dann die Kommunikation verweigern, oder noch schlimmeres.


    Jeder hat halt seine Vorstellungen, und auch ich muß nicht selten bei Projekten von anderen den Kopf schütteln, und sagen "eigentlich müsste er das wissen". Aber so ist das eben, jeder kann nur das leisten wozu er in der Lage ist. Fehler macht der Beste. Sich darüber lustig zu machen, oder das jemanden negativ anzulasten... ist nicht zuträglich.


    Habe mich vor kurzem mit Frenetic aus dem F64 mal zum Thema SID und seinem SIDkick und Matthias' FreeStereoSID (?) unterhalten und Carsten meinte auch, ... dass es ziemlich hingepfuscht ist - Hauptsache schnell - aber leider sehr oberflächlich... Und wenn ich Eure Analysen lese, dann bestätigt sich das an einigen Stellen. Außen HUI, innen pfui?!?


    Es fing schon so an, dass ich von 5 Leuten ohne unterlass bedrängt wurde irgendwas zur Hardware zu sagen, und auch der Schaltplan wurde gefordert (da wusste ich noch nicht das Carsten auch einen SID auf Teensy Basis plant, und ein besonderes Interesse daran hatte). Man kann mal nett anfragen, und ab und zu habe ich das auch schon getan und einen Schaltplan rausgegeben, was eigentlich noch nicht geplant war, aber damit muss es dann auch gut sein. Jedenfalls ging es mir bei diesem Projekt um die "Software" Entwickler, und nicht um die "Hardware" Entwickler. Was anderes hat mich da einfach nicht interessiert. Ich wollte den Softwareentwicklern helfen.


    Schlussendlich hat man mich versucht dann schlecht zu reden, also habe ich irgendwann nachgegeben und den Schaltplan veröffentlicht. So etwas nennt man aber Nötigung. Dann ging die Meckerei los. Vor allem wegen dem Reset, der nicht verbunden war. Was jedoch kein Fehler, sondern Absicht war, geplant war, eine Abwägung war, für mich ein Kompromiss war. Denn ich wollte was kleines, was in meine Platinen passt. Jedenfalls funktioniert der Reset gut, so das ich das vertreten kann. Das andere hatte ich zuvor schon vor 3 Jahren getestet (glaube das war 2018/2019), was einwandfrei funktionierte.


    Wer Details wissen möchte, kann mich gerne kontaktieren, ich hege keinen Groll gegen irgendjemanden, auch wenn meine Zellen manchmal sich über etwas ärgern, ich dafür aber nichts kann :)

  • Hallo Matthias ,


    Da hast du Dir ja viel Zeit genommen, alles durch zu lesen und zu beantworten .

    Danke für Deine vielen Antworten und Erläuterungen :thumbup:


    Gruß Martin

    Eine ADMIN schläft nicht er ROOT

  • unten mehr Freiraum gegeben, damit man selbst eine kleine Fase feilen kann.

    das stört mich z.B. gar nicht - ich nehm dafür ein 80er Schmirgelpapier, das ich flach auf den Tisch lege und dann im ca. 60° Winkel die Platine von oben nach unten drüber ziehe - so bekommt man eine schön gleichmässige Fase auf beiden Seiten hin

  • ja - die Idee kam mir aber auch erst dann, als ich vom Modular (man verzeihe mir, dass ich mir die neuen Namen einfach nicht merken kann..) mal meine "Grafik-Karte" komplett zerstört hab, weil ich die Fase eigentlich aufm Schleifteller machen wollte und sie aber nicht fest genug gehalten hab

    ...schwupps - hats mir das Ding aus den Händen gerissen und ordentlich ins Gehäuse gepfeffert ...vielleicht mag DeSegi davon ja nochmal ein Bild posten? ...die Bilder vom Loop sind ja leider alle verschütt ;(

  • uAX64 Mini :)


    Ach ja, davon hast Du mal erzählt. Da ist die Schmirgelpapier/Tisch Variante natürlich gefahrloser ;)


    Ich muss gestehen... ich habe nie eine Fase selbst gemacht, bei keiner Platine. Bei mir sind alle normalen Platinen ohne Fase... ich hatte bisher immer Glück :)

  • Das war ja mal ein Rundumschlag - aber muss auch mal sein. Aber wäre schon schön, wenn wir HIER nicht wieder die gleichen Fehler machen, die wir früher woanders schon gemacht haben...

    Ich DENKE mal - wenn HIER jemand Vorschläge macht, die seiner Meinung nach einen "Fehler" korrigieren könnten, eine "Verbesserung" bringen sollen, etwas optimieren sollen, schöner machen, was auch immer - dann sind es Ideen, Wünsche und Vorschläge - dann jemand von anderen Mitgliedern etwas FORDERT, sollten wir glaube ich ausschließen, weil das meiner Meinung nach in so einem Kreis keine Berechtigung hat. Es wäre umgekehrt natürlich aber auch schön, wenn der "Macher" einer Sache sich diesen Gedanken annimmt. Natürlich ist es SEIN Werk und er entscheidet, wie damit verfahren wird. Aber wen er etwas FÜR die Gemeinschaft machen will, finde ich es schon wichtig, sich die Gedanken der Gemeinschaft anzuhören und vielleicht gemeinsam eine Lösung zu finden.


    Ich hoffe, ich konnte meinen Gedanken allgemeinverständlich formulieren?

    In dem Sinne - schönen Abend erst mal.

    :thumbup: Atari 800XL / Atari 1040 STF(M) / VIC20 / C64 / C128(D) / C16 / C+4 / Amiga 500(+) / Amiga 2000 / Amiga 1200 / Amiga 4000 / CD32 / PSone / PS2 / PS3 / PS4 / PS5 / N64 / GameCube / Wii / WiiU / Switch - hab ich! :thumbup:

  • Das war ja mal ein Rundumschlag

    Ich sehe das nur als umfassende Erläuterung der Herangehensweise. Wie erwähnt ist es wichtig die Hintergründe zu erläutern, damit andere weniger falsche Schlüsse ziehen. Wie erwähnt kann ich den Ärger nachvollziehen, nur es ist wenig hilfreich das zu personalisieren, und zu repetieren. Kritik ist nie ein Problem, wenn diese konstruktiv und mit Freiheit versehen wird. Anregungen sind immer willkommen, und ich sage dann was ich darüber denke, möchte aber selbst dann abwägen dürfen. Dazu gehört auch das man mal locker lässt, wenn jemand es trotzdem anders macht, aus welchen Umständen auch immer, und sei es noch so falsch.


    Ich weiß wie schwer das manchmal fällt, denn ich kann mich noch daran erinnern als ich eine Platine von jemand anderen bekommen habe (vor ca. 1 1/2 Jahren), und mit dem Jumper-Aufdrucken sowie dieser Klitze-kleinen Schrift (0.8mm) nichts anfangen konnte. Ich habe dann die Probleme angemerkt, und das diese doch leicht zu beheben sind, sowie das ich selbst deshalb mind. 0.9mm verwende, und die Jumper-Aufdrucke soweit wie möglich trenne. Ich habe letztens durch Zufall die neuste Revision dieser Platine ungefragt von jemand anderen kommen... mit den gleichen Problemen drauf :) Diese "Ignoranz" schmerzt, aber jedem steht es frei das zu tun, da sollte man nicht ärgerlich, nicht beleidigt oder sonst etwas sein, sondern einfach sagen, ok, ist halt so.


    aber wen er etwas FÜR die Gemeinschaft machen will

    Ich selbst mache die meisten Platinen für mich. Abgesehen von den Wünschen die mich ereilen, mal eben diese oder jene Platine zu realisieren :) Dann versuche ich es genauso zu machen wie gewünscht, was mir leichter fällt, wenn ich die Platine selbst nicht plane einzusetzen ;)


    Zitat von Boulderdash64

    finde ich es schon wichtig, sich die Gedanken der Gemeinschaft anzuhören und vielleicht gemeinsam eine Lösung zu finden.

    Es kommt immer darauf an. Möchte man nur etwas vorstellen, ist das schwierig. Ist etwas in einem offnen Prozess, so wie es beim uEliteBoard64 war, ist es einfacher :) (da sind sehr viele Wünsche eingeflossen: SerialBus2SD + SDCard, zwei unterschiedliche Hard-Resets, Restore Kernel-Switch, mehr Developer Pins, SRAM, Color-Ram Option, ...). Das war da kein Problem, weil es ein Multifunktionsboard sein sollte. Bei anderen Platinen ist das schon schwieriger.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!