Posts by cbmhardware

    Bin auf deine Version gespannt, sicher schon weniger Hassle alles intern direkt zu haben.

    Ich auch. :) War heute gut ausgeschlafen um 5 Uhr etwas im Entwurf. Hatte in den letzten zwei Wochen wohl einen kleinen Corona-Einschlag.


    Das könnte noch Fehler enthalten, muss meine Erinnerung noch mit Datenblättern abgleichen. Den Schreibzugriff habe ich da wahlweise auf $9000 oder $a000 gelegt. Ist weniger Schaltungsaufwand als es mit SEL8 zu dekodieren. Für den IDT7132 besteht die Möglichkeit über Banking ($8401) die gesamten 1KByte (in 2x512 Byte) zu verwenden. Der IDT ist doppelt drauf, damit man DIP-48 und PLCC52 verwenden kann. Was man günstiger auftreiben kann.


    Auf der Oberseite liegen dann die notwendigen Bauteile und ...

    auf der Unterseite Char-ROM und ein Sockelverbinder.


    Die Leiterplatte kann dann oben natürlich gekürzt werden. Sieht man so nicht, das sind aber eine Menge Leitungen.


    Tja, ein Fehler und man fängt nochmal an. Bei der Backplane musste ich die Pads nochmals ändern. In KiCad sah alles passend aus, Pfostenstecker und gewinkelte Pfostenleisten passten bisher. Die gerade Version mit den eckigen Pins gehen nicht rein, da braucht man mehr als 0,7mm. Ich habe die Pads dann auch entsprechend größer angelegt, da es auch mechanischer Beanspruchung beim Einstecken und Ziehen standhalten soll.

    Sieht gut aus. Als Laufwerk verwende ich immer den Pet2SD-Cardreader. Davor hatte ich immer eine CBM2031 verwendet, die mittlerweile auch kein Lebenszeichen mehr von sich gibt. Hier ist eine Variante des Pet2SD zum Selbstbau: https://github.com/sjgray/cbmSD-mini .


    Ich hätte auch gern die fertige "neue" Version. Schreibe viel lieber an Software als Hardware zu entwerfen.

    sodele ... extra für kinzi

    Den Klotz habe ich von REICHELT und wollte den mal eventuell tauschen.
    Denn das PL Netzteil hat bei 20W nicht so überzeugt.

    Mir kommen die Werte für die Primärseite so hoch vor. Wenn es bei 240V~ "nur" 0,3A sind, ist das immerhin eine Stromaufnahme von über 70 Watt. Und das schwächelt schon bei 20 Watt sekundär ? - Was macht das Ding mit dem ganzen Strom ? :)

    Eine kurze Wasserstandsmeldung. Ich bin vorerst noch mit meiner RAM-Erweiterung beschäftigt, hatte mir zwischendurch aber nochmals Gedanken zum der Char-ROM-Erweiterung gemacht. Ich werde vielleicht doch noch ein anderes Konzept versuchen. Am Wochenende habe ich Leiterplatten für einen Expander in Auftrag gegeben. Da wäre es dann auch möglich, den IDT 7130 direkt am Bus des 6502 zu betreiben. Als I/O hätte ich z.B. $8400-$8800 und da ist auch noch eine Lücke von $8e00-$8eff.

    Wenn man den dritten Slot auf dem Expander verwendet, könnte man den Char-ROM-Verbinder auf die Unterseite der Platine legen. Dann ist man schon sehr nah am Sockel des Char-ROM. Mit der Gesamtbreite des Slots hat man eine komfortable Platinengröße um alles unterzubringen und man spart die serielle Verbindung zum Userport ein. CB2-Sound würde ich dann mit diesem Joystick-Adapter-Konzept für den Userport (später) bauen: http://blog.tynemouthsoftware.…al-userport-joystick.html


    Da passen dann etwaige drei Erweiterungen drauf. Ein ungenutzter Pin kann zur Speisung verwendet werden. Entweder direkt (Jumper-Brücke ohne Regler) oder per Regler. Kann man auch gar nicht verwenden, wie man möchte. Ich wollte das nicht allzu sehr verbasteln und keine unnötige Inkompatibilitäten bauen.



    Zuerst muss ich aber die Software für die andere (FLASH/RAM/SID-)Erweiterung fertigstellen.

    Pollin ist ein Witz, kauft da keine Bauteile.

    Früher waren die Sortimente immer eine Überraschung, heute sind die oft eine böse Überraschung. :) Hatte damals einen Bestand an Lastwiderständen und anderen Kleinkram gekauft, da war das noch ok. Heute gehen die Sortimente oft schon in Müllentsorgung über.


    Ich kaufe auch bei den üblichen Verdächtigen: Reichelt, Kessler und Ebay-Händler.

    Eben Level 1 im Vice (der nicht empfohlen wird) mit Tastatur durchgespielt und dann abgebrochen. Das sieht alles wirklich sehr gut aus und lässt sich auch gut steuern. Soweit eine sehr gute Konvertierung.

    Es hat einen ATMEL 29C040 schon mal mit $00-$ff testweise beschrieben. Mit einem Winbond 29c020 klappte es noch nicht, da ist der Bootblock gelocked. Zudem habe ich noch ein paar andere SF-Exoten da, die mit Lesezugriffen entriegelt werden. Die ganzen Erkenntnisse könnte man später dann auch noch in die Flash-Software für den ROM/RAM-Adapter einfließen lassen.



    Erlösend, es schreibt ins Flash. :)



    In den neu angefertigten Platinen ist die WE-Aufbereitung und etwas Konfigurationsmöglichkeit mit drin. Das hat wohl gefehlt.

    Ich bin bei Prototype Runde 2 und guter Dinge, dass es auch dabei bleibt. Gestern kamen die Leiterplatten, heute eine RAM-Erweiterung aufgebaut und morgen testen.



    Edit: Ist allerdings für den PET2001N und nicht für den C64.

    Ich habe den Minus-Pol mit Schrumpfschlauch isoliert und einen kleinen Halter verwendet. Der passt da ganz entspannt rein. Da könnte vielleicht auch eine große Li-Ion rein passen, die möchte ich da aber lieber nicht drin haben.



    Ich war auch auf der Suche nach einem schönen Analog-Messgerät fürs Hobby und bekam den für 25€. Damals waren die wohl recht teuer, was man auch an der Verarbeitung erkennt. Hier findet man noch ein paar Infos: https://www.alte-messgeraete.d…r-680-r-mit-zubeh%C3%B6r/

    Für einen Informatiker mit Compiler ist das natürlich schwierig. :) Letztendlich ist das Resultat immer ein Binärwert im Assembler. Daher verstehen es 99 ASM-Coder und 1 Informatiker (gut 2) eben nicht.

    Da muss man bisserl vorsichtig sein. Ich seh vorher keine Aktion, die das Carry-Flag irgendwie auf einen definierten Wert setzt. Daher besser vorher explizit ein CLC.

    Wenn adctab eigentlich ohnehin zur Assemblierungszeit feststeht, dann kann man doch gleich

    lda #<(adctab+3)

    sta tmp

    machen und muss das nicht zur Laufzeit berechnen. Dabei sollte man nur sicherstellen (durch bedingte Assemblierung), dass <adctab kleiner $FD ist, sonst hat man einen 8-Bit überlauf der tab_l-Adresse.

    Ja, richtig, lda #<(adctab+3) ist da eine bessere Lösung. Der Überlauf lässt sich auch leicht mit der Positionierung im Speicher verhindern, dann kann man die Behandlung für den Überlauf einsparen.


    Ich brauche nur 0-255, daher habe ich das Hi-Byte raus gelassen. Damit könnte man auch gleich bis 65535 addieren.

    Eigentlich wird BCD nach binär umgewandelt und nicht in eine Hexadezimaldarstellung. Die Binärzahl könnte man dann dezimal oder hexadezimal ausgeben, aber grundsätzlich liegt sich mal als binärer wert vor.

    Ich gehe immer von der Darstellung im Programm aus, damit ich mich später daran erinnere, wozu ich es verwenden wollte. Ich drösel das nicht jedes mal bis ins Atom auf. Ist nur ein Schnipsel Source-Code und kein Eintrag fürs Lehrbuch.

    Die Nerdy-Version: möglichst alles vorher initialisieren und dann kurz und knackig.

    Man könnte auch die noch drei "and #$0f" einsparen, wenn man nach einer Eingabe direkt die oberen Bits löscht. Dann kann man "result" natürlich auch vorher initialisieren. Ich wollte es vorerst möglichst komplett und nachvollziehbar haben.

    Ich finde die anderen TPs auf dem Schaltdiagramm und vermute mal daher, das es sich hierbei um TP 6 handelt der aber nicht gekennzeichnet ist?

    Ja, das kommt hin. Der Draht der Diode reicht doch zum Messen. Ich würde auch gleich prüfen, ob die Diode noch sperrt.



    Ich bin da genauso extremistisch wie die Recapper - nur entgegengesetzt. Und ich schalte auch erstmal ein, bevor ich anfange Bauteile zu tauschen. Nach einer gründlichen Sichtprüfung. Da wird viel unnötige Panik verbreitet. Für eine Fehleranalyse muss man halt mal einschalten. Der Lötkolben ist bei mir das allerletzte Mittel. Erst wird gemessen.


    Ich hatte vor um die 20 Jahre einen CBM 2001N so eingeschaltet. Da hatte der große Elko am Trafo mal ein Bäuerchen gemacht: komplettes RAM hinüber und teilweise sind die 100nF Stützkondensatoren wie Knallfrösche vom Board geplatzt. Wie im Schaltplan steht: "raw power", damit sollte man vorsichtiger sein.

    Wieder ein bisschen 6502-Assembler. Macht aus drei passenden Chars (000-255) eine hexadezimale Darstellung in result.

    Kann es am Monitorstecker überhaupt einen Kurzschluss geben, ich habe geschaut und man kann ihn nur in einer Richtung einstecken?

    An welcher Stelle könnte ich die Spannungen auf dem Board am besten messen?

    So eine kalte Röhre kann beim Einschalten schon ordentlich Strom ziehen. Die Schaltungsunterlagen gibt es hier: http://www.zimmers.net/anonftp…ters/pet/2001N/index.html


    Da wäre wohl gesamt zu prüfen, ob da noch mehr Schäden vorhanden sind. RAM ist bei Überstrom immer sehr gefährdet. Ideal wäre der Test mit dem 6502 ROM/RAM-Adapter im CPU-Sockel. Und wenn es am Anschluss des Monitors ein sichtbares Problem gab, wäre da auch zu prüfen, ob der defekt ist oder der Überstrom durch Jahrzehnte Standzeit entstand. Da könnten z.B. die Kondensatoren schwach sein oder vielleicht ist sogar einer geplatzt.

    Verdammt :) Hatte erst adc #$01 drin und habe es danach mit inc kürzen wollen. Da hat der Dezimal-Modus mir einen Strich durch gemacht. Hatte ich zuvor noch nie verwendet.

    Liege ich richtig mit meiner Annahme, dass da ein unsigned-8-Bit-Integer (in A) zu zwei BCD-Bytes gewandelt werden soll?


    "hex" ist eine Darstellungsform, der Inhalt eines Registers kann als hex dargestellt werden, aber er ist nicht "hex".

    Ja, richtig.

    So klappt es dann aber.

    Manchmal denkt man zu umständlich. Wenn man den Offset schon hat, muss man keine Schleifen mehr durchlaufen. Auf Zyklen optimiert:

    Richtig erkannt. Echt erstaunlich, welch eigentlich offensichtlichen Dinge einem immer wieder passieren können.
    Noch was:
    Das Maskieren fürs High Byte (and #0b11110000) kann man auch noch weglassen. Die 4 LSRs verwerfen ohnehin das "Low Nibble". ;)

    Ja, genau, danke. Ich schreibe mir im Moment zwischendurch immer mal wieder ein paar Routinen für ein 6502 SDK, speziell für die CBMs, sollte weitestgehend aber auch für alle anderen funktionieren. Dabei bin ich mir auch noch nicht sicher, ob das die beste Umwandlung ist:



    Btw ... die Code-Anzeige:</> des Forum filtert immer die Leerzeichen raus