Onlinespiel zum Bau eines TTL-Computers

  • YEAH ...ich hab beim 2. Versuch doch tatsächlich das erste Level gelöst!


    puh - gar nicht so einfach mit Relais....

    ich bin signifikant genug:razz:

  • Bis Computer bin ich auch gekommen.

    Irgendwie komme ich mit dem Edit ROM nicht klar. Und beim Check kommt eigentlich immer die gleiche Fehlermeldung.

    Kannste mir da ein Tipp geben?

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Bis Computer bin ich auch gekommen.

    Irgendwie komme ich mit dem Edit ROM nicht klar. Und beim Check kommt eigentlich immer die gleiche Fehlermeldung.

    Kannste mir da ein Tipp geben?

    An du meinst Levels -- Software -- Low Level -- Machine Code??



    Ganz ehrlich?

    Ich hab einfach nur herum probiert.

    Solange bis es geklappt hat.


    Aber das kannst du auch getrost überspringen.

    Interessant wird es eh erst danach.

    Mit dem Assembler.


    Die Bit Ebene des Microcode ist sogar mit zu hart.



    Danach wird es richtig gut!

    Der baut eine Stack Machine auf.

    Eine Art FORTH.

    Genial!


    Es gibt sogar einen Tokenizer und einen Syntax Ruler.

  • Oh Mann, ein Prozessor mit nur zwei Registern ist echt anstrengend :wand:

    Ja das ist echt herausfordernd ... :D

    Speziell da ein Register eigentlich nicht zählt, man braucht es ja immer sobald Adressen im Spiel sind.



    Hinzu kommt 'immediate' geht auch nur mit dem Adress Register.



    Aber die Stack Machine hebt dann alle Beschränkungen auf.

  • Ja das block ich auch nicht so ganz. Ist das Datenbit bei jeder Flanke gültig oder nur bei Steigender? Hat das Startbit auch ein Sync? :nixwiss:

    Das Genie beherrscht das Chaos

  • Ist das bei euch auch so?

    Nee, die LED funktionieren tadellos.

    Inzwischen geht auch der Code.

    Ist allerdings nicht meiner.

    Hab jetzt irgendwo gelesen, der Emulator kann nicht mit selbst modifizierenden Code umgehen.
    Deswegen ist mein Code wohl nicht gelaufen.


    Network Code - Achtung Spoiler:


  • Heutige Praxis ist es ja sowieso, dass Code nur noch aus Bibliotheken besteht, die komplett eingebunden werden, sowass jedes noch so kleine Programm plötzlich GB groß ist, wo vor einigen Jahrzehnten kB reichten bei selber Funktionalität bei abweichender Optik.


    Das Hardwarezeug habe ich durch, war ganz nice, das Programmierzeug macht mir keinen Spaß, Assembler dürfte ~15 Jahre her sein bei mir...

    ::solder::Ich "darf" beruflich basteln...

  • Heutige Praxis ist es ja sowieso, dass Code nur noch aus Bibliotheken besteht, die komplett eingebunden werden

    Bei PCs kann man das machen, aber nicht im Embedded Bereich.


    Im aktuellen Projekt hatte ich die Aufgabe einen Bootloader zu schreiben, um Updates machen zu können.

    Zur Verfügung stehen 12kB Flash, da verbieten sich Bibliotheken von vorn herein.

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Das stimmt natürlich, dass sowas im µC-Bereich nicht geht.

    Wobei es auch zugemüllte Embedded Systeme gibt, welche wiederum auch genug Leistung dafür haben, was natürlich eine Rechenleistungsverschwendung ist.


    Erzähl mal: RS232, USB, Internet, wo kommen die Updates her? Letzteres wäre in 12kB schon eine Leistung

    ::solder::Ich "darf" beruflich basteln...

  • Die Rechenleistung und auch die Anzahl der Schnittstellen ist nicht das Problem.


    Bei diesem Bootloader kommen die Updates über eine CAN-Schnittstelle.

    TCP/IP wirst du in 12kB nicht unterkriegen, UDP/IP vielleicht, das habe ich auch selber mal geschrieben.

    ;------------------------------------
    ;----- ENABLE NMI INTERRUPTS
    (aus: IBM BIOS Source Listing)

  • Es sind auch die optionalen Level nicht schlecht.

    Zum Beispiel der Barrel Shifter.


    Meine ersten Versuche sind gleich ausgeartet und unübersichtlich geworden.

    Aber dann habe ich die "Custom Components" entdeckt.


    Da sieht die Sache gleich besser aus: