Posts by detlef

    Ja, sorry, dass ich nicht darüber informiert bin, welche Schaltpläne in anderen Threads gepostet wurden und seit Jahren hier im Forum unterwegs sind.


    Aber da der Schaltplan ja nun endlich vorliegt, habe ich noch eine Frage dazu:


    Ich hatte das so verstanden, dass man mit der Schaltung zwei Signale vergleichen kann und dachte, dass da zwei unabhängige Zähler drauf sind und habe die ganze Zeit nach dem zweiten Eingang gesucht. Nimmt man dann zum Vergleichen zwei Boards?

    Bei mir sah das so aus:

    Danke! Bei mir wird das dann vielleicht das Kicad-Wiedereinstiegs-Übungsprojekt. :D


    Und genau so muss das meiner Meinung nach aussehen. Wie Kinzi schon sagte, mal eben schnell aus der Bastelkiste aufzubauen ohne 5 Wochen auf Spezialbauteile aus China warten zu müssen (oder sie bei Conrad bestellen zu müssen).


    Ich lese gerade, es gibt Gerberdaten.

    Wenn das ein Closed-Projekt ist, dann gibt's ja vermutlich auch keinen Schaltplan. Da bin ich dann erst mal raus.

    es ist ja nur der 4040 mit leds. ich habe den immer wieder bei den treffen gezeichnet.
    in der hoffnung einer baut es mal auf. ich habe es aber auch hier mal irgendwo damals veröffentlicht


    Warum wird dann so ein Geheimnis draus gemacht? Wie soll man später damit arbeiten, wenn man den Schaltplan nicht kennt und nicht versteht, wie das Ding arbeitet?

    Danke für die Analyse. So ähnlich dachte ich mir das schon, nachdem ich ja festgestellt hatte, das FORA=X TOY geht, aber FORA=XTOY nicht, weil er dann wohl XTOY für eine Variable hält.

    Interessant. Darüber habe ich mir beim Commodore-Basic nie gedanken gemacht. Da wird in FORA=XTOY das TO als Befehl erkannt.

    Das bedeutet aber auch, dass Variablennamen keine Befehle enthalten dürfen. A = XTO geht nicht.

    Ich habe jahrelang Basic auf dem CBM 3032 programmiert, aber das ist mir nie aufgefallen. Das lag aber vermutlich daran, dass ich nur 2-Zeichen-Variablen verwendet habe. Da kann das nicht passieren.

    Und ich musste den Scriptkiddies diese ganzen Unarten dann an der FH wieder "austreiben", wobei die Klammern ja noch das kleinste Problem sind, das Größere sind die Goto, gefolgt von der Unsitte -auf so kleinen Systemen- logische Variablen in Chars oder gar noch größere Typen zu packen.

    Wer mit Basic anfängt, hat leider erstmal ein GOTO-Problem. Deswegen empfehle ich ja, nicht mit Basic einzusteigen.

    Und bool gibt's halt auch nicht in Basic. Dementsprechend muss man sich mit 0 und -1 behelfen.


    Ist alles kontraproduktiv, wenn man auf eine richtige Programmiersprache umsteigen möchte. Da gebe ich dir völlig recht.

    Aber wie viele Leute gibt's denn noch, die auf einem C64 mit Programmieren anfangen?

    Um mal wieder zum BASIC zurückzukommen: Ich habe heute mal mit meinem MSX 1 herumgespielt. Die MSXe haben ja auch Microsoft-BASIC dabei, allerdings erweitert in einem 16 KB ROM. Dort kann man, im Gegensatz zum BASIC des C64, Variablen über DEFINT als Integer definieren und dort verhalten die sich dann auch so.

    Ja, das ist das erweiterte Microsoft-Basic. Das entspricht vermutlich eher dem GW-Basic unter DOS.


    Aber mehr ROM = höherer Preis. Commodore hat da sehr spitz kalkuliert.

    Dazu kommt noch, dass der Z80-Code kompakter ist. Auf dem 6502 hätte man vermutlich noch mehr ROM-Speicher gebraucht.

    Stimmt da hast du recht ich habe übertrieben mit Traum ... aber BasicV2 war manchmal noch ätzender... und ich stand völlig auf Kriegsfuß mit Javascript und es ist nur etwas besser geworden, aber zumindest haben die letzten Versionen von Javascript jetzt wohl ECMAScript genannt, welches die modernen Browser unterstützen die Lage etwas verbessert. Es gehen jetzt auch echte Klassen private und public setter etc...

    In React wurden die Klassen gerade quasi abgeschafft. Man programmiert fast nur noch funktionielle Komponenten.

    Punkt vor Strich sollte man noch im Kopf haben, aber wer weiß auswendig, was stärker bindet: Gleichheit (Vergleichs-Operation) oder logisches AND ?

    Von jemandem der programmiert würde ich tatsächlich erwarten, dass er die Prioritäten der Operatoren seiner Programmiersprache kennt. Notfalls pappt man sich die auf einem Zettel an den Bildschirm (so habe ich das anfangs gemacht).

    Das ist sonst wie Assemblerprogrammieren ohne Binärzahlen zu kennen. :D


    Kann ja jeder soviele Klammern setzen wie er will. Ich setze genau die, die notwendig sind.

    Also javaScript als Traum zu bezeichnen halte ich jetzt für etwas übertrieben. Das Web wäre ein besseres ohne.

    Da den Emulator damit von außen zu beeinflussen ist aber eine nette Sache, da kann man einige trickreiche Sachen mit anstellen.

    Du weisst aber schon, dass moderne, dynamische Webseiten aktuell ohne node.js, React und Angular undenkbar wären? Ich glaube, niemand will zu den alten HTML-Seiten und den ständigen Reloads zurück - also ich jedenfalls nicht.


    Ich bevorzuge übrigens Truescript gegenüber Javascript.

    Es gab ja einige alternative Interpreter für PET/CBM und C64. Es blieb dann nur nie genug Platz für die eigenen Programme.

    Man muss bedenken, dass Basic im Vergleich zu Javascript und anderen Programmiersprachen eine sehr minimalistische Sprache ist.

    Alleine die langen Variablennamen, die du in deinem Beispiel verwendest, fressen schon einen Großteil des Speichers auf.

    Und dann braucht man noch einen großen Stack, der in Software nachgebildet werden muss.

    Ich bin ja auch ein Anhänger der lesbaren Programmierung. Aber ich schreibe ja auch nicht A = (B * C) + D.

    Wozu Klammern setzen, wenn die Regeln eindeutig festgelegt sind. Wenn andere Basic-Programmierer die nicht kennen oder gar Probleme mit Boolescher Algebra haben, dann hilft vielleicht mal ein Buch. ;)

    Achso, das war mir nicht klar, dass hier ein Verkaufsprodukt designt wird. Ich habe das ja nicht von Anfang an mitbekommen.


    Wenn das ein Closed-Projekt ist, dann gibt's ja vermutlich auch keinen Schaltplan. Da bin ich dann erst mal raus.

    Nur so als Hinweis: Beim PET 2001 kann man auch Schlüsselworte mit Leerzeichen versehen. Sie wurden auch da konsequent ignoriert. Außer zwischen Anführungszeichen waren Spaces für den Interpreter nicht "existent".

    Was zu einem der bekannten PET-Bugs führte und deswegen im Basic 2 des CBM 3032 gefixt wurde. Da war's dann vorbei mit den Leerzeichen in BASIC-Kommandos.


    Code
    1. 10 IF F OR I = 5 GOTO 200

    führt beim Basic 1 zu einem Syntax Fehler.

    Durch das Patchen kann ich sowohl Fehler korrigieren, als auch Speicherbereiche freigeben.


    ROM/RAM macht das im großen Stile,
    indem man damit die oberen 16kB für Grafik, Spites oder Zeichen nutzen kann.

    Du hattest ja geschrieben, dass man das bestehende Basic innerhalb des 8K-ROMs erweitern kann. Also scheitert ja die Nutzung zusätzlicher RAM-Bereiche für zusätzlichen Code aus. Das war ja genau meine Frage.


    Also könnte man deine Erweiterungen in ein modifiziertes ROM brennen und das würde dann funktionieren?