Posts by markusk2020

    Hallo!


    Also ich hab das mal auf diese Art probiert, konnte die entpackten .pdf Files jedoch nicht öffnen (irgendein Datei-Lesefehler oder so, hab ich mir jetzt nicht gemerkt)


    Auf GitHub selbst konnte ich die Dateien in dem Viewer dort jedoch problemlos anzeigen, hat noch irgendwer Probleme mit dem Öffnen der Dateien?


    Lg, Markus

    Also ich habe gerade versucht, die .pdf - Dateien auf GitHub zu öffnen, hat ohne Probleme funktioniert, wenn ich auf eine Datei klicke, dann wird sie angezeigt.


    lg, Markus

    Vielen Dank für die großartige Arbeit. :thumbsup:

    Gerne, hat viel Spaß gemacht :)


    Ich hab übrigens gerade einen Fehler korrigiert, auf Seite 2 steht unter der Beschreibung von SHIFT + Q, dass man den Editor jederzeit wieder mit SYS 12288 starten kann, ganz zuletzt habe ich die Adresse jedoch auf 12000 geändert, d.h. der richtige Befehl lautet SYS 12000.


    Das korrigierte .pdf liegt bereits auf GitHub.


    lg, Markus

    Hallo!


    So, liebe Leute, das Kapitel, in dem der Sprite-Editor entwickelt wird, ist nun fertig und steht auf GitHub im File namens spriteeditor.pdf zur Verfügung.

    Über 100 Seiten sind es geworden, aber ich denke, es hat sich gelohnt! :)


    Im GitHub-Repo findet ihr auch zwei .d64 Images, auf dem ersten namens TMP ist der Turbo Macro Pro und das Binary des Sprite-Editors enthalten, das man mit


    LOAD"SPRITEEDITOR",8,1


    laden und mit SYS 12000 starten kann.


    Auf dem zweiten Image namens SPRITEEDITOR sind alle Asssembler- und Basic-Programme enthalten, die im Laufe des Kapitels verwendet werden.

    Nun bin ich schon gespannt auf euer Feedback. Bei dem Umfang rechne ich mit den ersten Rückmeldungen sowieso erst mit Anfang 2025 :D


    Viel Spaß beim Lesen und Ausprobieren! :)


    lg, Markus

    Diese von-bis Adressen beziehen sich auf das eigene Programm, das hab ich in andererer Angelegenheit vor einiger Zeit mit SMON mal überprüft.


    Meine Vermutung geht dahin, dass dieses Memory Bottom irgendwas mit der Speicherbelegung des Turbo Macro Pro zu tun hat. Gestern hab ich die finale Fassung des Sprite-Editors fertiggestellt und da gab es auf einmal Probleme mit der Anzeige der Hilfetexte.


    Als ich den Programmstart von 12288 beispielsweise auf 12000 verschoben habe, hat es dann funktioniert.


    Im Laufe des Kapitels hab ich den Editor quasi nochmal neu entwickelt, jedoch mit viel mehr Kommentaren im Code und ein paar sonstigen kleineren Änderungen.

    Das du bei der Hitze noch weitermachen kannst, Hut ab.

    Oder ist es weil du vor Wärme nicht schlafen kannst? :D


    Also nur kein Stress und Danke für das bisher geleistete.

    Guten Morgen!


    Du hast natürlich recht, die Hitze macht einem ganz schön zu schaffen, aber wenigstens kann ich jederzeit zur Abkühlung in den Pool :)

    Aber das Schreiben macht trotzdem Spaß, ich mache alle paar Tage ein wenig weiter wenn's gerade passt, irgendwann kommt man auch mit kleinen Schritten ans Ziel :)


    lg, Markus

    Hallo zusammen!


    Also ich hätte mir nicht gedacht, was da nun im letzten Kapitel bei der schrittweisen Erklärung des Sprite-Editors an Arbeit auf mich zukommt! Aber der Anfang ist zumindest mal gemacht, ich hab bis jetzt die 16 Bit Versionen der Befehle ASL und ADC sowie ein Unterprogramm zur Umrechnung einer Position (Zeile / Spalte) in eine Adresse im Bildschirmspeicher erklärt.


    Aber da liegt noch ein weiter Weg vor mir. Trotzdem würde es mich interessieren, was ihr von den aktuellen Beschreibungen haltet. Auf Github liegt ein File namens spriteeditor.pdf, welches den aktuellen Stand des Kapitels beinhaltet. Wie gesagt, es ist noch nicht viel, aber zumindest ein Anfang :)


    Auf dem Image ASSEMBLERKURS ist der fertige Sprite-Editor schon mal zum Ausprobieren enthalten. Geladen wird er mit LOAD"SPRITEEDITOR",8,1 und gestartet mit SYS 12288.

    Er ist zwar schon recht brauchbar, aber mit Absicht noch nicht perfekt gestaltet, weil ich Raum für Verbesserungen lassen und den Leser dazu motivieren wollte, diese auch selbständig umzusetzen.


    lg, Markus

    markusk2020


    So einen Fund wünscht sich doch jeder hier. :ilikeit:

    Ja, das glaub ich auch, ich konnte es zunächst auch nicht glauben, als ich die Verkaufsanzeige gesehen hab. Und beim Preis von 200 Euro hab ich auch nicht lang überlegt, das konnte ich mir einfach nicht entgehen lassen. Die originalen Disketten waren ja auch dabei und so konnte ich auch CP/M erstmals booten und in Aktion sehen.


    Fix aufstellen will ich das Gerät nicht, denn ich möchte ihn gern in dem Zustand erhalten, in dem er sich befindet. Er schläft in seiner Originalverpackung und nur alle paar Monate packe ich ihn aus Spaß an der Freude aus, um ihn einfach nur zu starten und die einzelnen Modi durchzuschalten. Ist halt irgendwie so wie bei einem seltenen wertvollen Oldtimer.


    Außerdem habe ich ja noch einen (ebenfalls sehr gut erhaltenen) C128 falls ich mal konkret was machen oder programmieren will.

    Zur Zeit arbeite ich ja an einem C64 Assembler-Kurs für Einsteiger und je mehr unterschiedliche Geräte man zum Testen der Programme zur Verfügung hat, desto besser.

    Hallo!


    Also ich habe seit 2015 einen ganz besonderen Commodore C128 DCR, besonders deswegen weil ich ihn originalverpackt bekommen habe und quasi der Erste war, der ihn überhaupt eingeschalten hat. Er gehörte zur Verlassenschaft eines alten Computergeschäftes, die seit Jahren in einem Lager herumstand. Das Auspacken war ein Erlebnis für sich, klarerweise nicht die leisteste Spur von Gilb oder irgendwelchen Gebrauchsspuren, die Handbücher wie frisch aus der Druckerei und sogar noch Commodore Prospekte.


    Aber seht selbst, hier die Fotostrecke:









    Hallo!


    Wollte mich mal zum aktuellen Stand der Dinge melden. Ich hab nun den Sprite-Editor, den ich als Abschluss-Programm für den Anfängerkurs angedacht hatte, fertiggestellt :)



    Da ist so ziemlich alles drin, was bisher im Kurs gebracht wurde und noch vieles mehr:

    • 16bit Addition, 16bit Subtraktion, 16bit ASL
    • Die Befehle ROL und ROR - ich habe nie verstanden wofür die gut sind, nun weiß ich es
    • Verwendung von KERNAL-Routinen (unter anderem File IO)
    • Aufgliederung eines größeren Programms in Unterprogramme
    • Dokumentation des Assembler-Codes
    • Hin- und Herkopieren von Speicherbereichen
    • Indirekte Y-nachindizierte Zeropage-Adressierung

    Ist glaub ich ein guter Abschluss für den Kurs und ich habe an der einen und anderen Stelle absichtlich Raum für Verbesserungen gelassen, damit sich der Leser damit auseinandersetzen und eigene Ideen umsetzen kann.


    Stand aktuell umfasst das Programm 1551 Bytes und es funktioniert soweit echt gut. Ich kann z.B. im BASIC-Editor programmieren, den Sprite-Editor jederzeit mit SYS aufrufen, ein Sprite erstellen / ändern, dieses dann in ein File speichern und dadurch in ein Programm (egal ob BASIC oder Assembler) einbinden.


    Der Editor ist aktuell auf einfarbige Sprites ausgerichtet, aber mit dem Wissen, das in dem Kurs vermittelt wird, lässt sich der Editor auf alle Fälle eigenständig auf mehrfarbige Sprites erweitern würde ich jetzt mal behaupten.

    Nun muss ich mich nur noch daran machen, das entsprechende Kapitel mit sämltichen Erklärungen usw. zu schreiben und das wird glaub ich aufwändiger als die Programmierung selbst.


    Die anderen Programm-Vorschläge habe ich jedoch nicht vergessen und ich denke, die werde ich dann im Fortgeschrittenen-Kurs bringen.


    lg, Markus

    Hallo!


    Vielen Dank, funktioniert nun! :)


    Nun versteh ich auch den Fehler, im Assembler-Programm schreibe ich ja Zeichen in die Datei. Mit GET werden diese Zeichen nun wieder eingelesen und in Zahlenwerte umgewandelt.

    Was mich trotzdem interessieren würde, was war der Grund warum es mit INPUT# nicht funktioniert hat?


    lg, Markus

    Hallo!


    Hab aktuell folgendes Problem:


    Im Assembler-Programm hab ich ein Feld aus Bytes welches ich über die bekannten KERNAL-Funktionen (SETFLS, SETNAM, OPEN, CHKOUT, PRINT-Schleife, CLRCH, CLOSE) in eine Datei schreibe. Das funktioniert wunderbar und ich kann die Datei im Assembler-Programm auch wieder ohne Probleme einlesen, die Bytes stehen nach dem Einlesen wieder korrekt im Speicher.


    Aber wenn ich die Datei in einem BASIC-Programm laden will, also z.B. mit folgendem Code:


    10 DIM V(63)

    20 OPEN 1,8,0,"MYFILE"

    30 FOR I=0 TO 62

    40 INPUT#1,V(I)

    50 NEXT I

    60 CLOSE 1


    Dann erhalte ich einen FILE DATA ERROR, wo liegt hier das Problem bzw. wie kann ich es lösen?


    lg, Markus