GBSB - Gute Bücher, schlechte Bücher

  • GBSB - Gute Bücher, schlechte Bücher

    Ich lese gerade "Programmieren in Maschinensprache mit dem Commodore-64, Eine Einführung mit vielen Beispielen", C. Lorenz, 1984 und frage mich, ob es überhaupt eine Seite in dem Buch gibt, die keinen Fehler enthält!? :| Da ich noch nicht viel Erfahrung mit 6510-Assembler habe, wollte ich es doch zumindest mal überfliegen bevor ich es weglege. Außerdem auch als Übung, die Fehler zu erkennen und dann zu korrigieren. Aber es ist echt hart. Obwohl es didaktisch nicht gelungen ist und er dauernd Speicherstellen verdreht, kann ich mich gerade irgendwie doch nicht losreißen. Es sei denn, jemand hat spontan einen Tipp bei welchem Buch ich weiterlesen könnte?

    Mein Ziel ist, genügend zu lernen, um zu verstehen, wie ich SID-Tunes und Effekte in fremden bestehenden Quelltext einarbeiten kann. Am lebenden Objekt probiere ich da gerade was aus (einen SID-Wizard-Tune in einem Spiel anzuwerfen, je nach Situation auch die Subtunes wechseln und bei bestimmten Events (Sprung, Schuss, etc.) FX-Instrumente zu triggern) und dachte, es schadet sicherlich nicht, parallel ein gutes Buch dazu aufgeschlagen zu haben. Zumal ich beim Aufruf des Effekts X, Y und A befülle und dann beim Werkeln am Code ja darauf achten muss, ob ich da gerade was zerhaue :whistling: , wenn ich die Werte einfach überschreibe um dann die Soundroutine anzuspringen.
  • Haha, ich kann mich nicht losreißen. Erinnert mich irgendwie an "How NOT to program in C++", was echt Spaß macht, wenn man sich lauter kaputte Programme anschaut und herausfinden soll, warum die nicht funktionieren, oder was die tatsächlich ausgeben werden, wenn man die so bauen würde.

    Bin im Maschinensprache-Buch gerade auf Seite 40 bei einer Routine, die angeblich 4K Bytes von $4000 nach $5000 verschieben soll (so als Beispiel für indiziert-indirekte Adressierung) und ich bezweifle doch stark, dass die Routine das auch wirklich macht. Eigentlich eine gute Übung, vielleicht übersehe ich ja was!

    Edith sagt: Lieber J3b, das Beispiel auf dieser Seite funktioniert sehr gut. X soll die ganze Zeit auf $00 bleiben, es wird nur gebraucht, um die indirekte Adressierung nutzen zu können. Und da das high byte jeweils direkt hinter dem low byte im Speicher liegt, funktioniert die Schleife ohne X anzufassen, indem man das low byte durchlaufen lässt und bei jedem Überlauf das high byte inkrementiert. :rolleyes:

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von j3b_ ()

  • j3b_ schrieb:

    Außerdem auch als Übung, die Fehler zu erkennen und dann zu korrigieren. Aber es ist echt hart.

    Erstelle doch bei der Gelegenheit eine Errata. Data Becker Bücher verfolgten übrigens dasselbe "didaktische" Konzept :)

    j3b_ schrieb:

    Es sei denn, jemand hat spontan einen Tipp bei welchem Buch ich weiterlesen könnte?

    Wenn dich Fehler stören, solltest du Übersetzungrn vermeiden. Viele empfehlen "Programming the 6502" von Zaks, "6502 Assembly Language Programming" von Leventhal oder "Machine Language for the Commodore 64 and other Commodore Computers" von Butterfield. Mein Tipp wäre "6502 Software Design" von Scanlon. (Entsprechende PDFs findet man auf DLH's Commodore Archive.)
  • ogd schrieb:


    [...] Mein Tipp wäre "6502 Software Design" von Scanlon. (Entsprechende PDFs findet man auf DLH's Commodore Archive.)
    Wow 8o , super Tipps, dankeschön! Die Seite kannte ich noch gar nicht, die ist ja der Wahnsinn. Bei manchen Buchcovern, die ich schon vergessen hatte, kamen mir gleich wohlige alte Erinnerungen hoch. Das ist genau das, was ich mir erhofft hatte, danke!
  • ogd schrieb:

    Erstelle doch bei der Gelegenheit eine Errata. Data Becker Bücher verfolgten übrigens dasselbe "didaktische" Konzept
    Full ack, das "große Grafikbuch" ist auch son Klopper, dort ausgerechnet bei VIC-Registern schlimme Fehler unterzubringen hat womöglich so manchem damals das Programmieren-Lernen eher erschwert als erleichtert. Heute kann man schnell mal im Internet gucken, was man in anderen Quellen findet. Damals konnte man nur so lange rumprobieren, bis man durch learning-by-doing rausfand, wie das entsprechende falsch erklärte Register nun wirklich funktioniert. Habe so etwas mal ohne Internet in irgendeinem Lagerkeller mit Evil.Joe nach-erlebt :)
    an allem schuld (sagt Sauhund, und der ist bekanntlich nicht ohne)
  • ogd schrieb:

    (Entsprechende PDFs findet man auf DLH's Commodore Archive.)
    Klasse Link.Da dürfte einiges bei sein was in der F64 Wolke nicht vorhanden ist.
    Mitwäre das nicht passiert! :prof:
    :syshack: Meine 3D-Drucker Teile auf thingiverse.com/oobdoo/designs :strom:
    Sammlung | 91 Bücher bzw. 25.261 Buchseiten mit Z80/8080 Power
  • Squidward schrieb:

    Schlechte Bücher können zurück an den Autor geschickt werden. Dieses zumindest:"C64 Programmieren in Maschinensprache" :redcard:
    Das scheint sich auch nicht gut verkauft zu haben. Das Buch sehe ich zum ersten mal. Dabei habe ich eine gute Sammlung an 6510/C64 Büchern.
    Mitwäre das nicht passiert! :prof:
    :syshack: Meine 3D-Drucker Teile auf thingiverse.com/oobdoo/designs :strom:
    Sammlung | 91 Bücher bzw. 25.261 Buchseiten mit Z80/8080 Power