Mein Soundtrack zum gratis C64 Spiel "BEER RESCUE" 🍻🍺
Please login to see this media element.
Das Lied erinnert mich an Flimbo Quest, vom Sound her und Rhythmus. Ansonsten wie immer Top. ![]()
Mein Soundtrack zum gratis C64 Spiel "BEER RESCUE" 🍻🍺
Please login to see this media element.
Das Lied erinnert mich an Flimbo Quest, vom Sound her und Rhythmus. Ansonsten wie immer Top. ![]()
Ich liebe Nebulus. Der 3D Turmeffekt sieht einfach toll aus und ist meisterhaft programmiert. Es ist ein schön schwerer Puzzle-Platformer mit abwechslungsreichem und zum Teil genialen Leveldesign.
Da sagst du was Wahres. ![]()
Aber:
Würdest du das HEUTE, im Jahr 2025, noch auf einem C64 machen?
Ich will das jetzt wirklich nicht herunterspielen oder so. Aber machst du das wirklich? Oder irgendwer? Und verwendest es dann?
Anstatt den tausend Milliarden mal leistungsfähigeren PC zu benutzen, der da auch zufällig in der Ecke rumsteht?
Wenn ich heute lernen will wie man den C64ér damals programmiert habe, würde ich solche einfache Programme schreiben.
Kann man mit dem C64 noch was anderes machen als Spiele?
Programmieren, z.B ein Diskeditor in Basic. Ich habe auch schon mal ein Vokabelprogramm geschieben. Oder wie wäre es mit ein Basicprogramm für die Bundesliga. Auch wurde der C64´er schon für Animationarbeiten verwendet für einen Zeichentrickfilm. Der C64´er wurde für die Steuerung eines Schrittmotor benutzt. Dieser konnte dann den Hintergrund perfekt drehen für die Filmaufnahme im Trickfilm. Man kann sehr viel mit dem C64´er anfangen, außer nur mit ihm zum spielen. ![]()
Zur Zeit liegt mein Augenmerk auf den Mega65. ![]()
Sams Journey als letztes mal komplett durchgespielt
Hatte ich immer nur angespielt. Leider habe ich nicht mehr die Muße Spiele komplett durch zu spielen. ![]()
Vielen Dank, Spino.
Ich drücke Dir die Daumen, dass sich privat bei Dir alles regeln lässt und alles wieder in Ordnung kommt.
Dem schließe ich mich auch an. Viel Glück
Spino, wo steckst Du?
Jetzt wo du fragst, da komme ich auch schon ins Grübeln. Das letzte mal war es im Mai, das ist Verdammt lang her.
Also schließe ich mich an.
Spino, wo steckst Du?
Please login to see this link.
Hi mist64,
ich will hier jetzt nicht meinen Mister WICHTIG raus hängen lassen, aber in der Notentabelle - von 64'er Extra fehlt an der Stelle 36 die Note C-3 als Text sowie an der Stelle 72 für C-6. ![]()
Diese Tabelle werde auch mal für meine Musikroutine für den Mega65 mal verwenden, vielleicht verschwindet dann man falscher Ton D-6. Und wie immer eine Klasse Arbeit von euch allen die da fleißig mit helfen bei diesen Projekt.![]()
Mein bestes DOS-Game war und ist die X-Wing Reihe.
Und die hat eine grafisches Verbesserung erhalten .
Hier könnt ihr kurz mal reinschauen. Ich habe mir alles installiert und bin begeistert von diesen Spiel, erneut. ![]()
Please login to see this media element.
Drachen: Das ist ja schräg. Hat es denn wirklich compiliert? Oder evtl. eine Meldung gebracht wie "is up to date"? Wenn C64Studio bei keinen der Abhängigkeiten eine Änderung feststellt, baut es nicht neu.
Dazu gibt es aber immer auch eine entsprechende Meldung im "Output"-Fenster.
Nein, im Output-Fenster, stand immer das die die Datei erfolgreich erzeugt wurde. Ich hätte mich ja gleich deswegen gemeldet, ader zu diesen Zeitpunktpunkt wurde ja das Forum überarbeitet. ![]()
Wenn das nochmal passieren solte gebe ich Bescheid.
Hallo Endurion,
möchte dir nur was mitteilen.
Gestern habe ich wieder sehr viel mit dem S-Basic unternommen, dabei ist etwas mehrwürdiges passiert.
Das C64-Studio hat zum compillieren meines geänderten Basiccode immer eine ältere Version genommen.
Bin deswegen ganz verrückt geworden. Habe so ziemlich alles versucht was ich machen konnte. Namen geändert, zur sicherheit alle allten Backupdaten von mir wo anders hin kopiert. Aber das Studio blieb Stur und nahm immer eine Version die eigentlich nicht das sein konnte.
Das ging mir das so auf die Nerven, das ich eine ganz neue Solution erzeugt habe. Danach ging es wieder wie gehabt.
Speichert das C64-Studio eventuell irgendwo Daten ab, auf die er dann immer wieder zugreifen kann. Ist denn schon irgend jemanden auch schon passiert?
Habe heute zur Sicherheit die Aktuelle Version 8.2.281 genommen.
Ich werde es erst mal mit nur eine Bank probieren.
In meinen Fall jetzt Bank 0. Die Musikroutine werde ich nach C000 mit Bload an die Adresse laden.
Ja und deine Routine werde ich sicherheitshalber in $1600 unterbringen.
Denn ich weis aus guter Erfahrung, das ich außerhalb von $1600 die Vektoren $0314 und $0315 nicht einfach so verbiegen kann.
Das ist ja das ganze Dilemma warum mein Frustpegel so gestiegen ist. ![]()
Hi! Das Einrichten von IRQ Wedges ist keine Zauberei, sofern man weiß was man tut. Nachdem du gesagt hast, dass du dich in Assembler etwas auskennst, hab ich dir schnell etwas aus meinen Assembler-Programmen herauskopiert, das immer funktioniert. Und überall im RAM, natürlich nicht nur beschränkt auf $1600-$1EFF. Die meisten Anfänger-Fehler ergeben sich wenn die Wedge nicht "sauber" ein- oder ausgeschalten wird, daher folgendes Bsp:
Code Display More; =========================================================== ; Minimal-IRQ-Wedge für MEGA65 ; - Wedge irgendwo: Damit du siehst, es geht auch nach $1EFF ; dort mach ich nix außer 3× NOP, dann JMP zum alten IRQ ; Anstelle der NOP füge alles ein, was im IRQ zu tun ist ; - Mach ein JSR auf 'install' oder 'uninstall' um die Wedge ; ein- oder auszuschalten ; =========================================================== ; ... Hier steht jetzt beispielsweise dein ganzes Programm ; ... und danach liegen die kleinen Routinen für den IRQ: install: sei ; WICHTIG: Interrupts sperren lda $0314 ; alten IRQ-Vektor sichern (low) sta backup lda $0315 ; (high) sta backup+1 lda #<wedge ; neuen IRQ-Vektor setzen sta $0314 lda #>wedge sta $0315 cli ; WICHTIG: Interrupts wieder frei rts uninstall: sei ; WICHTIG: Interrupts sperren lda backup ; alten IRQ-Vektor zurückschreiben sta $0314 lda backup+1 sta $0315 cli rts wedge: nop ; tut nichts .. Schreib hier nop ; tut nichts .. rein, was im IRQ nop ; tut nichts .. getan werden soll jmp (backup) ; jump zum IRQ-Handler ; Backup für den alten IRQ-Vektor backup: .word $0000 ; wird von 'install' gefüllt (low/high)
Hi,
OK,
wenn ich jetzt meine Musikroutine in Bank 4 haben möchte wie stelle ich das dann an?
Denn ich muß ja wohl erst auf Bank 4 umschalten bvor ich mit einen JSR meine Routine anspringe.
Aber das werde ich mal in laufe der Woche mal testen, belasse deine Routine und meine Routine in der selben Bank.
In diesen Fall jetzt bei mir Bank 0.
Danke für diesen Code, bin gespannt ob das endlich mir hilft.
Ich muß da aber nocht den Raster bearbeiten, damit die Routine immer zur selben Zeit angesprungen wird. Wir wereden sehen.
Danke ![]()
Hallo Leute,
ich möchte euch heute meine noch nicht fertiggestellte Arbeit zeigen. Ob ich sie irgendwann abschließe, liegt zwar an mir – aber eben auch am Mega65.
Wie man schon an der Überschrift erkennen kann, handelt es sich um eine SID-Routine für sechs Stimmen. Das Problem an der Routine ist, dass ich es einfach nicht hinbekomme, sie in eine funktionierende IRQ-Routine zu überführen.
An diesem Problem sitze ich schon sehr lange. Egal was ich versucht habe – allein oder mit KI – am Ende funktioniert es einfach nicht. Der einzige Bereich, in dem die IRQ-Routine zuverlässig läuft, liegt zwischen $1600 und $1EFF. Das ist der Bereich, in dem das ROM ständig sichtbar ist. Verlässt man diesen Bereich, beginnen die Probleme. Man muss dafür sorgen, dass das ROM eingeblendet wird. Im Handbuch ist genau beschrieben, wie man das macht – und trotzdem scheitere ich kläglich daran.
Egal was ich unternommen habe: Der IRQ ließ sich einfach nicht umbiegen. Für ein paar Millisekunden wurde der IRQ vermutlich mit der neuen Adresse beschrieben, aber das System hat ihn sofort wieder auf den Standard zurückgesetzt. Ich habe es mit den Vektoren $0314 und $0315 sowie mit $FFFE und $FFFF versucht – nichts hat funktioniert. Das ist verdammt frustrierend.
Ich habe jede Möglichkeit ausprobiert, die ich im Netz finden konnte. Sogar die Routine aus dem Giana Sisters-Demo habe ich verwendet. Aber der liebe Mega65 hat alles abgeschmettert. Man glaubt es kaum, dass einen so eine simple IRQ-Routine in den Wahnsinn treiben kann.
Deshalb mache ich hier Schluss mit der Musikroutine. Ich stelle sie hier zur Verfügung – vielleicht findet ja jemand von euch eine Möglichkeit, eine einfache IRQ-Routine einzubinden. Und wenn ihr Erfolg habt, teilt es bitte mit allen – mich würde brennend interessieren, woran ich immer gescheitert bin.
Nun zur Musikroutine selbst:
Zunächst möchte ich sagen, dass diese Routine mit verschiedenen KIs geschrieben wurde – hauptsächlich mit ChatGPT.
Aber auch das lief nicht reibungslos. Als Grundlage habe ich einen Assemblercode von der Codebase-Seite verwendet, der von RANT Please login to see this link. stammt. Mehr steht im Kommentar-Kopf leider nicht.
Ganz am Anfang wollte ich die Routine in Assembler schreiben lassen – aber die KI hat sich ständig im Kreis gedreht, sobald ein Fehler auftrat. Irgendwann kam ich zu dem Schluss, es mal mit C zu versuchen. Da bin ich allerdings komplett auf die KI angewiesen, denn von C habe ich null Ahnung. In Assembler kenne ich mich wenigstens ein bisschen aus.
Nach kurzer Suche habe ich den Compiler „llvm-mos“ gewählt. Der läuft auch sehr gut, obwohl ich eine Weile gebraucht habe, um ihn zum Laufen zu bringen. Hätte ich halt vorher die README-Datei genau gelesen – da steht nämlich alles drin. Aber egal, ich habe es ja hinbekommen.
Auch in C hat die KI nicht immer alles richtig gemacht – auch hier drehte sie sich manchmal im Kreis. Aber mit viel Geduld habe ich schließlich eine lauffähige Musikroutine erhalten – nur eben nicht im IRQ. Momentan läuft sie in einer Schleife. Das ist für andere Anwendungen, bei denen man Musik braucht, leider völlig ungeeignet.
Das Problem mit dem IRQ hat mir den Spaß an der Mega65-Entwicklung momentan komplett verdorben.
Geplant war eigentlich, wenn die Musikroutine funktioniert hätte, noch einen Tracker zu entwickeln – in der Art von GoatTracker. Und später vielleicht sogar eine Art Musikshop. Aber wenn man schon an einem simplen IRQ beim Mega65 scheitert, mache ich mir für die anderen Projekte keine großen Hoffnungen.
Vielleicht liefern die Architekten des Mega65 ja irgendwann ein paar Beispiele, wie man eine eigene IRQ-Routine installiert. Ganz am Anfang wollte ich meine Musikroutine in Bank 4 platzieren – hat nie geklappt. Am Ende wollte ich sie in Bank 0 unterbringen – hat auch nicht funktioniert. Daher mein Frust.
Hier beende ich meinen Bericht. Ich wollte mir das einfach mal von der Seele schreiben. Ich hoffe, der eine oder andere kann damit etwas anfangen. Es gibt hier und da noch Dinge, die geändert werden müssten – aber im Großen und Ganzen läuft die Routine.
In der ZIP-Datei sind folgenden Daten enthalten:
SID_Soundbank_Spickzettel.pdf (hier werden alle Parameter der Soundbank erklärt)
musik.c (SID-Routine in C geschrieben)
song-01.h ( nicht fertig eingetipptes Lied - Gravity Falls es sind nur 2 Stimmen)
Musik_Disk.D81 ( entält das fertige Musikprogramm)
Ach noch was, was ich bis jetzt auch nicht korrieren konnnte, waren die Frequenz in der 6 Oktave.
Vielleicht weis da auch jemand einen Rat. Kann es zwar nicht verstehen, weil ich die Frequenzen auf dem Handbuch vom C64´er genommen habe.
Dann bis bald
Ohne Solution kann man das (derzeit) nicht übersteuern.
Selbst mit Solution ist es mir nicht gelungen. Was muss man da einstellen? Ich habe den Programmtyp auf PRG gestellt, trotzdem kommt noch BIN raus.
HI,
ich schreibe immer ganz am Anfang eines Assemblerprogramm immer das dazu im Code
Display MoreMoin !
Ich hab den Heli mal mit Softscrolling kombiniert.
Der Heli kann sich jetzt im Schwebemodus langsam nach links und rechts bewegen.
Das hilft beim zielen mit den Bomben.
Er fliegt in 3 Geschwindikeiten in 2 Richtungen.
Ähnlichkeiten mit Coplifter sind rein Zufällig
Viel Spass und schönes Wochenende
Please login to see this attachment.
Wow, das ist echt Klasse. Da hast du ja fast die hälfte von einer Engine, womit man z.B. ein Klon von Fort Apocalypse programmieren könnte.
Beim Testen hat bei mir mit dem Emu die X-Taste nichts bewirkt.
Ich beschäftige mich zur Zeit mit dem SID des Mega65. 6 Stimmen bekomme ich ohne Probleme hin in Assembler, was ich zur Zeit nicht hinbekomme ist der IRQ.
Ich weis warum es nicht geht, aber ich dafür noch keine Lösung gefunden es um zu setzten.
Ich bin gespannt wie es bei dir weiter geht. Darauf freue ich mich. ![]()
Wow, der Mega65 hat aber jetzt schon sehr viele Cores.
Und keins davon habe ich bis jetzt mal getestet.
Das liegt daran, das ich nur noch sehr wenig spiele.
Meine Hauptintresse gehört erst einmal der Programmierung am Mega65.
Es gibt Nachschub an der ROCK-FRONT 🎸 Please login to see this media element.
Mal wieder ein super SID-Sound. Aber beim Bild wäre vielleicht das Titelbild von dem Film Christine (John Carpenters)
schöner gewesen, denn da kam das Lied vor.
OK, thank you very much for your detailed answer. I'll have to study this carefully and also provide it. But once I've understood it, hopefully it won't be so bad.![]()