"Programmieren" lernen

  • Zur Zeit versuche ich ASM-Routinen für I2C Anwendungen (LM75, RTC I2C, etc) zu erstellen.

    Konnte im Netz keine Sourcen finden.

    Er hier (Heiko)

    https://www.heiko-pruessing.de/

    experimentiert mit I2C-Bus am C64. Allerdings programmiert er die Sachen mit dem CC65 C-Compiler. Aber da kommt ja auch Assembler als Zwischencode heraus. Die kannst ihn ja mal über die Webseite anschreiben. Vielleicht kann er die weiterhelfen.

  • Theoretisch wäre esschön wenn alle „Assembler Interessierten „ das GMC-4 hättenund man zusammen einen Kurs machen könnte.

    ( Was mangels Beschaffungja nicht geht.)


    Nichtsgegen ThoralfAsmussen– sein Kurs -Vielen vielen Dank dafür ,aber so hätten alle dieselbe Basis und könnten alle das gleiche machen.


    Da fühl ich mich gleich mal "angesprochen". Erstmal aber Danke ! zurück. Nur leider, wird das so wahrscheinlich nie funktionieren - das ist einfach recht unrealistisch, daß alle die gleiche Maschine haben. (Das klappt(e) bestenfalls in so einem voll ausgestatteten Lernkabinett mit MFA Rechnern o.ä., mit organisiertem Ausbildungsbetrieb, und wahrscheinlich blieb da oft der Spaß an der Sache auf Strecke.)

    Und, meines Erachtens ist das auch überhaupt nicht wünschenswert. Es hat nämlich durchaus etwas für sich, wenn man auf einer Maschine seiner Wahl und/oder einem Gerät lernt, was einem "liegt". Es gibt zwar keine wirklichen Unterschiede im prinzipiellen Herangehen, aber wie die Maschinen bestimmte Dinge lösen unterscheidet sich in den Details doch teils erheblich. Und es wäre sehr schade, wenn diese Vielfalt, die ja da ist, keine Berücksichtigung findet.


    Ich zum Beispiel würde eigentlich jemandem, der heute ernsthaft und/oder beruflich Assembler anfangen will, dringend die ARM Plattform empfehlen. Da bekommt man alles was nötig ist auch mit, es gibt jede Menge aktuelle Literatur dazu und einen superschicken "gestylten" Befehlssatz, der ganz vieles "besser" macht, als andere. Tools sind auch da. Preiswerte Rechner ebenfalls. Zudem ist es "nützlich" im Sinne von sofort im Realeinsatz benutzbar.


    Für die 80er Jahre Mikro's dagegen sind halt die großen beiden CPUs die 6502 und die Z80. Dabei ist die 6502 die "überschaubarere", die Z80 aber wahrscheinlich die "bessere" in den Punkten Komfort und Flexibilität.


    Es spricht aber eben auch überhaupt nichts gegen die großen 68000er oder 8086 und Co.


    Es geht letztlich um das Verständnis, was da passiert und dafür ist die Plattform nicht entscheidend. Im Gegenteil: Wenn man so ein paar basale Sachen kennengelernt hat, findet man die quasi überall wieder.

  • MFA Rechner...da hatte ich doch gerade bei eBay Kleinanzeigen (hoffentlich geht die App irgendwann mal kaputt oder jemand löscht sie mir.... Schlimm mit der Sucht)


    Gerade bei #eBayKleinanzeigen gefunden. Wie findest du das?


    https://www.ebay-kleinanzeigen…s&utm_content=app_android

    Eine Kiwi am Tag deckt den menschlichen Tagesbedarf an Kiwis

  • Kein Preis und keine Bilder. :nixwiss:

    Eben, noch scheint der gute Mann ja keine Vorstellung zu haben, wenn er erst mal eine 40.000€ Auktion sieht bei eBay für irgend nenn alten Apfel Computer.. Kommt er vielleicht auf dumme Gedanken

    Eine Kiwi am Tag deckt den menschlichen Tagesbedarf an Kiwis

  • Na mit diesem Buch hat sich ja mal jemand richtig Mühe gemacht. Sehr schön bebildert. Ich werde es ergänzend zu meiner mittlerweile ausgearteten Assembler-Buchsammlung lesen.


    Wie ist eigentlich der Stand der Dinge mit dem Lernen bei euch ? Ich beschäftige mich momentan wieder etwas intensiver damit. Allerdings muß ich mittlerweile Detlef und co Recht geben !! Ich arbeite mittlerweile am PC und teste am Emulator. Die ganze Zeit wollte ich wegen dem Retrofeeling unbedingt am Endgerät programmieren, aber nach den ganzen Abstürzen und Rückschlägen sitze ich jetzt doch am Hauptrechner. Copy und Paste ist schon eine tolle Sache, und auch dass höchstens mal der Emulator crashen kann. Außerdem ist der 27 Zöller TFT wesentlich augenschonender. Wenn man sich seine Umwelt beim lernen möglichst angenehm gestaltet, fällt einem das Lernen doch wesentlich leichter. Wenn ichs dann "richtig" kann, kann ich immer noch am Retrorechner programmieren. Aber der Fokus ist jetzt erstmal das Lernen.


    Ich arbeite mit C64 und Atari 800XL. Beide Rechner haben ihre Vor- und Nachteile beim programmieren. Momentan beschäftige ich mich mit Bildschirmdarstellung, also Background und Sprites bzw. Player und Missiles. Außerdem mit Charset Änderung, sei es manuell oder im Editor. Und natürlich auch mit Eingaberoutinen über Joystick und Tastatur. Das ist schon mehr als genug für am Anfang und ich werde noch einige Zeit damit zu tun haben.


    Das Lesen von Büchern ist gut und schön, aber Praxis bringt mir am meisten. Learning bei doing. Teilweise tippe ich Programme aus Büchern ab und studiere anschließend die Programme und mache mir als remarks hinter den Befehlszeilen Notizen, was wie und warum der Befehl das jetzt macht.


    Ich denke mal, bis etwas zeigbares, "ins Forum uploadbares" rauskommt wird wohl noch eine ganze Zeit vergehen.Aber was solls, in der Ruhe liegt ja bekanntermaßen die Kraft... :-)


    Edit: Vielleicht klappt es ja für Weihnachten 2019 mit einem Demo-Programm.... :-)



    Gruss Jan

    Es gibt 10 Arten von Menschen. Die einen verstehen das Binärsystem, die anderen nicht.

  • Macht doch einen Wetbbewerb, wie es etwa im f64 gern gemacht wird. Dann sind die Leute motiviert, was fertig zu bekommen und einzureichen? Damit die Sache nicht ausartet, halt kleine Limits setzen. Z.B. das beste Spiel in 1kb, oder so?

  • Ja, mehr als 1kb braucht kein Mensch.. :-)


    Schon wahnsinn, mit welchen Tricks damals gearbeitet werden musste !


    Bzgl. Speicherplatz etc. vergesse ich auch nie, wie ich 1991 in meinem ersten ST-Computer-Magazin etwas von 900MB Festplatte laß. Das hatte so etwas von den bekannten 1.21 GIGAWATT.... :-D Ich kann mich auch noch an den Preis von UVP 9999 DM erinnern...



    Gruss Jan

    Es gibt 10 Arten von Menschen. Die einen verstehen das Binärsystem, die anderen nicht.

  • Ja leider,das Buch auf Deutsch wäre interessant.


    Da ich mich eh beim Lernen sehr schwer tue, hab ich mir den GMC-4 besorgt.


    Werde jetzt erst einmal das kleine Büchlein durcharbeiten, das Doppelt so Dicke

    ist ja bei der neueren Auflage dabei gewesen, gibt es aber leider nicht im Netz.


    Grüße Jürgen

  • Der GMC-4 ist auch mein "Einstieg"... Da ich mich vor dem Programmieren aber noch drücke hat er erst mal große Tasten bekommen für meine dicken Hände


    Eine Kiwi am Tag deckt den menschlichen Tagesbedarf an Kiwis

  • Der Koffer erinnert mich irgendwie an Knight Rider. Kannst du mit dem auch rote Amischlitten der 80er steuern und Raketen aus dem Kühlergrill schiessen ? :-)


    Ich würde sagen, der Bildschirm ist die eine Siebensegmentanzeige da oben. Links das ist die Ablage für ne Dose Bier und Kippen. :-)


    Ne, mal im Ernst. Wie funktioniert das Teil ? Hast du irgendwelche techn. Informationen oder sogar ein Video davon ?



    Gruss Jan

    Es gibt 10 Arten von Menschen. Die einen verstehen das Binärsystem, die anderen nicht.

  • Ich mache morgen ein Video, mir fehlen noch einheitliche Schrauben ;-)


    Die Tasten sind von einer Registrierkasse, die Dinger kosten unter 30€ und haben etwa 40 brauchbare Tasten, da ich es aber nicht auf die Reihe bekommen habe die original Platine der Tasten zu verwenden habe ich mir in China was anfertigen lassen(ganze 4$für eine neue Platine!)

    Eine Kiwi am Tag deckt den menschlichen Tagesbedarf an Kiwis

  • So, da ich meinen alten Eintrag nicht editieren kann..

    hier ein neuer:

    Nachdem ich sehr schnell festgestellt habe dass die Tasten des GMC - 4 zwar ausreichend zur Bedienung sind aber für meine Pfoten zu klein habe ich ewig und drei Tage nach einer passenden Tastatur gesucht die man adaptieren könnte (da ich ein Elektro-Noob bin war die Suche nicht einfach). Entweder waren einzelne Tasten unerschwinglich teuer für so ein Projekt oder aber genauso Mini wie die Originalen.


    Zum Glück bin ich dann auf eine Registrierkasse gestoßen und diese hat mir die Augen geöffnet

    den Rahmen kann man sich vergleichsweise schnell zurecht sägen und mit den passenden Tasten bestücken. Bei der Original Platine habe ich nicht durchgeblickt und diese letztendlich weg geworfen(im übertragenen Sinne... sie liegt noch hier)


    Da ich mir nicht sicher war ob mein gebastelt funktioniert habe ich die neue Tastatur per wirewrapping verbunden (ich mag es nicht zu löten ;-) )


    Das das ganze funktioniert ist zwar ein Wunder, aber er läuft! ;-)


    YouTube Video

    Eine Kiwi am Tag deckt den menschlichen Tagesbedarf an Kiwis

  • Wenn das neue Batteriefach da ist, dann kommt da ein richtiger Halter rein ;-) (eigentlich wollte ich da eine Relais Platine rein packen und mit den LED's des GMC-4 ansteuern, aber die Pins der Relais Platine müssen auf GND gezogen werden :-(

    Eine Kiwi am Tag deckt den menschlichen Tagesbedarf an Kiwis

  • Find ich super ! Gefällt mir sehr gut ! Der Laptop für Retro-Freunde.. :-)


    Gute Arbeit !



    Gruss Jan

    Es gibt 10 Arten von Menschen. Die einen verstehen das Binärsystem, die anderen nicht.

  • Gestern Nacht um 3 sind mir ein paar Dinge klarer geworden, deshalb hier eine 6502 Assembler App

    https://play.google.com/store/…edlee90.learn6502assembly


    In dieser App gibt es ein E-Book aus dem der Code direkt rüber kopiert werden kann:


    In der Assembler Umgebung hat man verschiedene Darstellungsoptionen:



    Debugging:



    Und eine"Spielkonsole":



    Also genau dass richtige falls man mit Computergrundlagen unruhig im Bett liegt ;-)

    Eine Kiwi am Tag deckt den menschlichen Tagesbedarf an Kiwis

  • Was ist das für ein Handbuch Links neben dem Koffer?


    Grüße Jürgen

    das ist das Franzis Buch programmieren für Kid's

    Aber ich finde es persönlich etwas lückenhaft, z.b. wird nicht erklärt, warum jede Programmzeile eine andere Nummer hat. also wenn du ein paar der program Programme vergleichst wirst du schnell feststellen dass die Nummerierung jedes Mal eine andere ist... Dass hat mich anfangs total aus dem Konzept gebracht ::vodoo::

    Eine Kiwi am Tag deckt den menschlichen Tagesbedarf an Kiwis

  • Bei meinem sind es insgesamt nur knapp 50 Seiten... Komisch....

    Aber wo wir gerade schon dabei sind wie steht das denn bei dir mit dem jump Befehl?

    Oft stehen in einem Programm 2 Jump Befehle direkt hintereinander.

    Wenn der Befehl davor dass Flag nicht auf 1 setzt, dann führt er den 2. Jump Befehl aus, also müsste doch ein nicht erfolgter jump Befehl das Flag selbst auf 1 ändern... oder? Hier ein Beispiel:

    Warum wird Adresse 0B ausgeführt wenn 08 nicht zum tragen kommt?



    (Programm Erklärung: man drückt eine beliebige Taste und wenn der Wert im Register Y in diesem Moment gleich F ist, dann wird der error Sound abgespielt)

    Eine Kiwi am Tag deckt den menschlichen Tagesbedarf an Kiwis

  • Wenn der Befehl davor dass Flag nicht auf 1 setzt, dann führt er den 2. Jump Befehl aus, also müsste doch ein nicht erfolgter jump Befehl das Flag selbst auf 1 ändern... oder?

    Ich habe gerade mal in meinen Simulator geschaut.

    Korrekt. Der Jump-Befehl setzt F=1.

    Oh, stimmt, da hätte ich nachgucken können:grübel:, aber vielleicht bleibt ja jemand auch mal an der Stelle hängen... :sunny:

    Eine Kiwi am Tag deckt den menschlichen Tagesbedarf an Kiwis

  • Aber mal etwas grundlegendes, wie spricht man Hexadezimalzahlen eigentlich aus?

    Man kommt ja in Versuchung eine 16 wie eine 16 auszusprechen... Ist eine Ramadreasse dann einfach unaussprechlich und man malt sie auf Papier und zeigt sich gegenseitig oder F F F F 't man vor sich hin?

    $0000-$0FFF ... $7FFF

    Eine Kiwi am Tag deckt den menschlichen Tagesbedarf an Kiwis