Posts by daybyter

    Wir hatten auch schon Kneipen, wo nur für uns Internet eingerichtet wurde. Aber da muss man dort schon bekannt sein. Wenn da einfach ne Handvoll fremder Leute durch die Tür kommt und anfängt Rechnerburgen aufzubauen, werden die meisten Wirte irritiert sein.


    Eine unserer schönsten Kneipen hier hat leider schon vor einer Weile geschlossen. Da gab es auch ein Nebenzimmer mit Strom und Netzwerkanschluss...

    Hallo!


    Öhm...ich hab mir nur die Raster-Routine selbst angeguckt. Aktuell sind bei mir folgende Optimierungen an:


    CCOPTS = -t c64 -O -Oi -Or -Os


    Werden die etwa nicht ausgeführt, wenn ich mir ein Assembler-Listing ausgeben lasse?


    Die beiden lda's müssen zwingend drin bleiben, damit die IRQ-Condition doch gelöscht wird. Vielleicht kann man das mit nem pragma erzwingen, oder so...mal sehen.


    Wenn gar nix anderes geht, lager ich das halt in ein separates File aus. Ich wollte aber halt versuchen, zumindest noch einen Teil wieder in C zu machen. Die rechte Version sieht aus meiner Sciht (mit meiner aktuell rostigen Assembler-Praxis) eigentlich so aus, dass ich das so verwenden würde.


    Ciao und Danke für Deinen Kommentar,
    Andreas

    Hallo!


    Dicken Dank für Deine Kommentare! Das mit dem void Parameter hab ich gleich mal geändert.



    Zu dem Assembler: eigentlich möchte ich auch zumindest Teile der Funktion in C schreiben, was bisher nicht geklappt hat, da ich das Verhalten des Compilers nicht komplett verstehe (siehe z.B. die char Konstante). Ausserdem hätte ich das eigentlich auch lieber in einem Source-File. Ich hatte schon versucht, das in ein einziges asm-Statement zu packen, aber Probleme mit den Kommentaren und Labels darin gehabt. Aber ich versuche weiter zu lernen und die Sources weiterzuentwickeln. Kommentare wie Deiner helfen mir dabei.


    Danke nochmal,
    Andreas

    Dicken Dank für diese Beschreibung. Gibt es irgendwo eine Liste, für welche Funktionen man die Roms braucht, so dass man z.B. solche Funktionen dann aufruft, _bevor_ man die Roms abschaltet? Also z.B. erst alle benötigten Dateien laden und erst später die Roms ausblenden?

    Die Zuweisung mit dem routinePointer scheint einwandfrei zu funktionieren. Jedenfalls wird die Routine wiederholt aufgerufen, wie ich nach einem einfachen Test gemerkt hab. Einfach mal die Randfarbe in dem Raster-IRQ erhöht und man sieht halt das typisch Streifenmuster.


    Die Zuweisung nach 0x314 musste ich aber wieder rausnehmen. Da bekomm ich nur nen Reset. Ich weiss jetzt nach 0xfffe zu und blende die Roms aus. Da scheint es besser zu laufen.


    Die icr-Maskierung war wohl auch falsch. Hier mal der aktuelle Stand:



    Und hier die aufgerufene Raster-Routine:



    Was mich noch ärgert sind paar unnötige Assembler-Statements in der Routine, die man auch in C schreiben könnte. Z.B. das Lösches des irr ginge ja prinzipiell auch perfekt in C (VIC.irr = (unsigned char)0xff; ).
    Klappt aber nicht, weil ich einfach keine 0xff Char Konstante hinbekomme. Er lädt immer eine Int in A und X und schreibt dann nur A raus (castet also auf 8 Bit). Das Laden von X will ich mir aber sparen, also weiter Assembler.


    So kann ich mal zumindest noch die Hauptroutine laufen lassen, auch wenn das Schiessen nicht mehr zu funktionieren scheint. Aber das muss eh noch auf die Frames synchronisiert werden, wenn ich mal nen Hintergrund hab.


    Ciao und Danke für die Antwort,
    Andreas

    Also zumindest wenn Du den Hires-Mode benutzt, wird dazu Speicher unter dem Rom benutzt. Im Moment probiere ich gerade die Roms komplett abgeschaltet zu lassen, weil ich aktuell wohl eh keine Routinen davon nutze (für Textausgabe o.ä.).


    Ich gehe mal nach diesem Beispiel vor


    http://codebase64.org/doku.php…troduction_to_raster_irqs


    , wo ja der IRQ-Pointer in 0xfffe umgesetzt wird, was ja bei eingeschaltetem Rom wohl nicht geht. Ich hab vorher auch versucht den Pointer in 0x314 zu nutzen hab aber nur nen Reboot hinbekommen.


    Aktuell läuft der RasterIRQ anscheinend, nur die Hauptroutine steht nun. Muss ich mal weitersuchen.


    Ciao,
    Andreas

    Ich hab also mal angefangen, die IRQs einzubauen, und versuche das nun C-like hinzubekommen. Mein erster Versuch ne Routine als IRQ zu installieren:



    Die Funktion wird mal quasi nur als Container gebraucht, um den Code in die C-_Sources einzubauen. Am Ende steht da ein RTI drin. Aber wie komm ich geschickt an die Adresse des Codes. Ich hatte schon ein Label drin, aber das ist ja nur lokal in der Raster-Routine bekannt und kann nicht von einer 2. Funktion zur Installation genutzt werden. Hat da jemand ne Idee?


    Der Code geht übrigens noch nicht. Muss mir nachher mal die Assembler-Sources ausschauen, ob der Compiler das so übersetzt, wie ich es mir vorstelle. Wollte jetzt nur mal wegen dem Adress-Kosntrukt fragen.


    Ciao,
    Andreas

    Ich hab gerade gestern Nacht angefangen, den ersten Code fürs Multiplexing meiner Schüsse zu entwerfen. Fang nachher an, es abzutippen. Vielleicht können wir irgendwie voneinander lernen...

    Gibt es eine ganz einfache Strategie für Gegner bei Schiess-Spielen?


    Ich grüble über 2 Strategien, die sich abwechseln könnten:


    - Möglichst grossen Abstand halten, aber in Bewegung bleiben, um das abgeschossen werden zu erschweren.


    - Angriff auf den Spieler, um ihn entweder zu rammen, oder zu behindern.


    Evtl. könnte man das Umschalten z.B. mit dem Einschalten eines Schutzschirms kombinieren, welches zeitlich begrenzt wird.


    Ciao,
    Andreas