Hallo Besucher, der Thread wurde 7,3k mal aufgerufen und enthält 45 Antworten

letzter Beitrag von Drachen am

Neuling braucht Hilfe bei ersten Gehversuchen

  • Hallo zusammen!


    Seit ca. 3 Jahre steht auf meiner to do Liste: "fliegende Ballons auf dem C64 in Assembler programmieren".


    Mich begeistert das Thema PC/Technik schon seit klein auf. Mit 9/10 Jahren habe ich meinen ersten PC bekommen. Einen 286er. Damals Wollte ich natürlich einen C64 wegen den Spielen.
    Aber es kam anders und das Thema faszinierte mich trotzdem. Direkt nach der Schule habe ich angefangen in der IT zu arbeiten und so dreht sich mein ganzes Leben um IT. Privat und beruflich.


    Nun würde ich gerne den Punkt von meiner to do Liste umsetzen. Im Grunde sollen nur ein paar Ballons (wie die auf Seite 70 in der C64 Bedienungsanleitung) von unten nach oben den Monitor entlang fliegen.
    Sich dabei mal etwas links, mal etwas rechts bewegen und nicht alle in der gleichen Farbe sein. Dabei soll ein Flugzeugsprite von rechts nach links fliegen. Später wären noch einpaar Töne super.
    Das ganze würde ich am liebsten direkt auf dem C64 schreiben.


    Meine Vorkenntnisse: Basic, C, C++, Java, Pearl, Turbo Pascal <-- früher konnte ich in diesen Sprachen kleine Programme schreiben. Mittlerweile kann ich nur noch den Quellcode lesen und verstehen. Was selbst zu programmieren würde dauern.


    Ich habe mittlerweile in den Assemblerkurs den INPUT64 reingeschnuppert. Ebenso in "Assembler ist keine Alchemie" als PDF Dateien aus der 64er Zeitschrift.


    Drei Fragen stellen sich erstmal:

    • Ich benötige ja einen Assembler. Aber welchen? Ist der gut? Turbo-Assembler V7.4: http://csdb.dk/release/?id=85926
    • Wie bekomme ich den Assembler auf den C64. Floppy ist ja vorhanden, aber wie bekomme ich eine d64 Datei am einfachsten da drauf? Oder kann man sowas auf ebay kaufen?
    • Meine PDFs von "Assembler ist keine Alchemie" haben "nur" 66 Seiten. Das Buch (http://www.skriptorium-vd.de/buecher/01/01-assembler.htm) hat 200 Seiten. Wurde da viel am Inhalt erweitert? Oder der Text nur einfach anders formatiert?


    Danke euch schon mal für eure Hilfe!

  • Mit dem SD2IEC Floppy"emulator" könntest du zumindest schonmal solch prg files und files in d64 images (also das Assembler prg, etc.) aus dem Internet unkompliziert von SD Karte direkt und normal am C64 laden. Ohne sie extra auf Disk transferieren zu müssen.
    FloppyDisk-Schnelllader, wie Spiele sie haben, laufen damit natürlich nicht aber die braucht man bei sowas auch nicht.


    [Anstonsten, wenn noch ein alter PC mit Parallelport (und DOS) 'rumsteht: Starcommander testen.
    Mit einem EasyFlash 3 soll es mittels eines Programms zudem auch möglich sein Images auf Floppy zurückzuschreiben, hab' ich aber noch nicht ausprobiert.]

  • Das ganze würde ich am liebsten direkt auf dem C64 schreiben.

    Das ist zwar löblich, aber...
    Heutzutage ist es nicht nur bequemer, auf dem PC zu programmieren, sondern auch sinnvoller. Du hast Tools wie Sprite-Editor usw sofort zur Hand und kompilierst / siehst Ergebnis innerhalb von Sekunden. Nimm zb. das C64 Studio (hier aus dem Forum) - das hat alles nötige dabei und muss nur wissen, wo sich dein Emulator (am besten WinVice) befindet.


    Am günstigsten kriegst du deine Programme dann entweder mit sd2iec auf deinen C64, oder (falls du noch einen PC mit Parallelport rumstehen hast) per xa1541- bzw. xm1541-Kabel direkt auf eine alte Floppy-Disk.

  • Hallo!


    Danke schon mal für eure Tipps!


    Wäre das eine Möglichkeit: http://www.trikaliotis.net/xu1541
    Wenn ich die Seite richtig verstanden habe kann ich dann mein 1541 per USB am PC anschließen.


    Das mit dem Emulator habe ich mir auch schon mal überlegt. Bestimmt viel viel praktischer, aber eben nicht so wie damals. Eigentlich sollte ich das komplette Retrogefühl haben. Aber mal schauen, das C64 Studio werde ich mir auf jeden Fall anschauen.


    Als Assembler würde ich jetzt Turbo Macro Pro verwenden. http://turbo.style64.org/ Das sollte doch passen, oder?

  • Hi,


    das von dir geplante Programm ist ganz einfach, und du wirst es bestimmt schnell hinbekommen.
    Ja du braucht einen Assembler, das Buch Assembler ist keine Alchemie empfiehlt "SMON" aber du kannst auch jeden Anderen "Monitor" benutzen.
    zB ist in den Modulen wie Final Cardridge und Co ein Monitor drin wenn du so was hast, kannst los gehen.
    du kannst dir aber auch für den Anfang vll. den SMON auf Diskette von jemand schicken lassen, oder es wohnt jemand in deiner Nähe.


    dann kannst du anfangen zu tackern und braucht nichst weiter, bist du feststellt das es anstrengend ist und du noch andere Programme haben möchten wie Sprite editoren und so sachen.
    dan kommt die frage alle rfragen auf dich zu. Billiger Paralellport Kabel für die floppy zum PC, günstiges SD Karten laufwerk "SD2IEC", teure abe rkonfortable lösungen wie 1541 Ultimate oder Charmäleon.
    alles um forum zu finden
    http://www.forum64.de/wbb3/boa…/board6-daten-bertragung/


    wie schon gesagt auf den PC im eine Editor Assemlber zu schrieben mach die Sache viel einfacher wegen der großzügigen Editierfunktionen.
    ich nutze Relaunch64_3 und den acme assembler zum teste winVICE.


    wen dein Arbeitsumgebung steht melde dich im assembler Forum, da helfe ich dir gern :)

  • Das klingt zumindest für mich aber ziemlich öde... Da bleibt doch das typische 64er Feeling ganz auf der Strecke...
    Effizienz hin oder her, aber es geht doch nichts über einen richtigen C64.. Ich bin aber eh kein Freund von Emus, fühlt sich für mich einfach nicht an..


    Werner

  • Das ist zwar löblich, aber...
    Heutzutage ist es nicht nur bequemer, auf dem PC zu programmieren, sondern auch sinnvoller.


    Ja und wie macht ihr das mit der Tastaturbelegung? Die ist beim 64er mit seiner 'etwas' anderen Tastatur ja mehr als ungewöhnlich.

  • Ich programmiere alles am PC und zum Testen schick ich es über das Netzwerk an den C64 das geht schneller als der VICE zum starten braucht. Mein echter C64 stet hier direkt neben mir :)
    Aber das sind sachen die dir nicht möglich sind, und deswegen keine alternative für dich.


    Ich versteh was du meinst, wenn man aber Bewegungen baut oder was mit exaktem Timing, ruft du 20 mal den Emulator auf weil du nur einen einzigen wert geändert hast. Wenn du, ich sag mal Ziel Orientiert, Arbeitest dann ist der Crossdevelopment weg der bessere.
    Du könnten jetzt schon das Programm fertig haben wen du das auf dem PC machen würdest ;)


    Aber ich weiß ja um was es dir geht, hab dir ja gesagt wie dein weg dahin ist.
    Eine Möglichkeit ist noch (oft die Billigste) die .prg dateien mit "prg2wav" und einen Ton umzuwandeln, dann auf Kasette überspielen und dann mit der Datasette zu laden.
    http://wav-prg.sourceforge.net/wavprg.html
    SMON:
    http://www.skriptorium-vd.de/buecher/01/01-assembler.htm


    D64 deiten musst du mit "dirmaster" öffnen und die .prg entpacken
    http://csdb.dk/release/?id=132307

  • Wer 'Assembler ist keine Alchemie' als Buch zuhause hat, der sollte auch die Korrekturen zum Buch dabei haben. Hab das mal als PDF gemacht, zum Ausdrucken auf eine A4-Seite die dann immer beim Buch griffbereit dabei ist.


    Addendum.pdf

  • Wer 'Assembler ist keine Alchemie' als Buch zuhause hat, der sollte auch die Korrekturen zum Buch dabei haben. Hab das mal als PDF gemacht, zum Ausdrucken auf eine A4-Seite die dann immer beim Buch griffbereit dabei ist.


    Addendum.pdf


    ich hab das alles per Hand im Buch nachgetragen, sind aber auch viel Tippfehler die man auch bei aufmerksamen lesen als solche erkennt.


  • Das klingt zumindest für mich aber ziemlich öde... Da bleibt doch das typische 64er Feeling ganz auf der Strecke...
    Effizienz hin oder her, aber es geht doch nichts über einen richtigen C64.. Ich bin aber eh kein Freund von Emus, fühlt sich für mich einfach nicht an..


    Ich lasse auch gerne Programme und Spiele auf einem richtigen C64 laufen, aber gerade für die Programmierung finde ich es ziemlich öde, den direkt zu verwenden :) . Habe ich vor 30 Jahren so gemacht, mit Disketten, die Assembler Programme immer schön regelmäßig auf Diskette sichern bevor man sie startet, falls das Programm mal abstürzen sollte und den Speicher mit Müll vollschreibt, sodaß dann auch kein Reset es mehr retten kann. Macht einfach keinen Spaß, wenn man moderne Entwicklungsumgebungen gewohnt ist. Für mich ist die Herausforderung, etwas für den C64 zu programmieren. Wie ich dahin komme, kann aber gerne beliebig effizient für mich sein.


    So kann man beispielsweise am PC problemlos mit Python eine WAV-Datei einlesen, zu einem Assembler-Programm linken und hat damit einen Sampler für den C64, wie ich es hier programmiert habe. Auf dem C64 bräuchte man für sowas sogar noch zusätzliche Hardware, um das Audiosignal aufzunehmen. Das ist übrigens mit Kick Assembler programmiert, einem Cross-Assembler der selbst in Java programmiert ist und einige nette Features hat, z.B. eigene Java-Plugins verwenden zu können, womit man die Python-Lösung für das Sampler-Programm auch direkt per Plugin umsetzen könnte, sodaß beim assemblieren dann eine WAV-Datei gelesen und in das C64-Format umgewandelt und zugelinkt wird.


    Zum Einstieg kann Assembler gut sein, damit man hardwarenäher programmieren kann und um das System besser kennenzulernen, aber danach würde ich CC65 empfehlen, ein C Cross-Compiler für den C64. Man kann zeitkritische Dinge dort auch direkt in Assembler programmieren, das meiste geht aber problemlos in C. Damit entwickle ich aktuell die Software für mein MIDI Interface, mit dem man übrigens auch Dateien vom PC zum C64 übertragen kann. Wenn man aber kein MIDI braucht, würde ich auch ein SD2IEC für sowas empfehlen.

  • sehe ich auch so, ich habe vor kurzem angefangen mit dem "Assembler ist keine Alchemie", im Urlaub auf dem Strand, dort hatte ich keinen C64 mit, deshalb habe ich einen Emulator auf das Handy geladen und die SMON diskette runtergeladen, und so die Beispiele abgetippt, das geht auch gut wenn man im Bett liegt, weil man ja mehr lesen muss als tippen.


    Allerdings möchte ich in Zukunft auch über den PC programmieren, weil ich möglichst schnell an mein Ziel kommen möchte, nicht möglichst retro.
    Lieber länger das eigene Werk auf dem C64 betrachten, als den SMON. :thumbup:

  • so, ich habe gerade den USB2IEC Adapter bestellt. Sobald mein Setup bereit ist und ich mich etwas mit dem SMON oder dem Turbo Macro Pro befasst habe gebe ich mal Feedback. Sollte es auf dem C64 wirklich so schlimm sein werde ich doch nen Emulator nehmen und dann erst das fertige Programm am C64 laufen lassen.

  • so schlimm ist es vll. nicht den es haben Leute mindesten 15 Jahre lang geschafft.
    Wenn du aber einmal cross development betrieben hast (sagt man das so ???) dann willst du nicht zurück ^^


    Ähnlich wie Servo-Lenkung in Auto. Einmal eine gehabt, dann willst du nicht mehr ohne. Auch war es mal ohne ging :)

  • kauf Dir ein ActionReplay Modul,
    stecke es in Deinen C64, starte den Monitor und probiere damit Dinge aus.
    Das ist allemal effizienter als saemtliche Buecher.

    genau !
    oder mal ein einfaches Intro mit dem ActionReplay freezen und im Monitor lesen was da passiert - so hab ich in den 90ern ASM gelernt.
    Oder z.B. mal ein kommentiertes ROM-Listung lesen/versuchen zu verstehen - fang am besten mal bei der RESET-Routine ab $FCE2 an.


    Allerdings die ASM-Basic's sollte man dann schon drin haben (Adressierungsarten, Stack, was passiert bei einem IRQ/NMI, Vektoren .....)

  • Ist zwar ein alter Thread, aber durch das Hervorholen habe ich ihn jetzt erst gelesen. Er ist wahrscheinlich exemplarisch.


    Was mich beim Lesen wieder gewundert hat: obwohl der Fragesteller explizit geschrieben hatte, daß er gerne auf dem originalen C64 programmieren möchte, hat er doch zahlreiche Antworten bekommen, in dem dies sogleich in Frage gestellt wurde, und ihm gesagt wurde, er soll doch für Bequemlichkeit, Speed und Effizienz aktuelle Tools auf einem ordentlichen PC benutzen.


    Da wurde also wieder von der eigenen Meinung darauf geschlossen, was heutzutage auch für andere gut zu sein hat. IMO typisch für das 21. Jahrhundert, gerade online. Was am Ende doch sogar dazu führte, daß der Fragesteller das Programmieren auf dem C64 für potentiell "schlimm" hielt, wenn man keinen PC verwendete.


    Und da fällt mir persönlich halt immer auf, daß ich die Retroszene im Jahr 2014/2016 nicht mehr verstehe. In den 90ern wäre man von bestimmten Kreisen in der C64-Community doch noch lautstark ausgebuht worden, wenn man für Bequemlichkeit auf einen "ordentlichen" PC gesetzt und den "Sinn" der Programmierung auf dem Originalgerät in Frage gestellt hätte.


    Gut, man kann jetzt natürlich argumentieren, daß das halt "damals" war, aber warum sollte die Überzeugung plötzlich falsch sein? Das Umgehen von Microsoft und Intel und Konsorten und Mega/Gigabyte-Denken war ja immer auch mit Teil der Überzeugung und Leute sagten doch auch, sie arbeiten mit dem C64, weil es eben besonders ist - nicht im standardisierten 64-Bit-Tool unter HD-Windows.


    Mein ja nur.


    Chris