Hallo Besucher, der Thread wurde 8k mal aufgerufen und enthält 35 Antworten

letzter Beitrag von spindizzy am

Raster Colorcycler

  • also erstmal zu dem clrScreen...


    diese JSR $E544 ist zum löschen der Zeichen auf dem Bildschirm...und VIEL zu langsam um das innerhalb der irq routine zu machen.
    Die kannst du vielleicht EINMAL VOR dem initiallisieren deiner irq routine aufrufen,
    damit der bildschirm schön leer ist, ansonsten taugt die wären dem irq zu nix.
    Und wenn du sprites bewegen willst sowieso nicht...


    dann zu den sprites...


    DIE DARFST DU NICHT ÜBER DIE RASTERROUTINE bewegen, oder auch nur da
    platzieren, denn sprites verbrauchen auch taktzyklen in jeder rasterzeile.
    und dann ist das ganze timing von wegen 63/20 zyklen durcheinander....


    ansonsten... klar kann du vor dem jsr ea81 noch andere routinen hängen,
    wenn sie bis der rasterstrahl wieder in zeile $82 ist fertig sind.
    z.b. eine musicroutine...oder sonstiges...

  • Zitat

    DIE DARFST DU NICHT ÜBER DIE RASTERROUTINE bewegen, oder auch nur da platzieren, denn sprites verbrauchen auch taktzyklen in jeder rasterzeile. und dann ist das ganze timing von wegen 63/20 zyklen durcheinander....


    hehe, was hat mich das früher nerven gekostet das mein schöner rasterbalken total kaputt ging wenn ich meinen spritescroller da drüber gelegt hab.... und das wo das bei andren leuten ja anscheinend doch funktionierte (warum das so war hat einem ja niemand gesagt =P).


    also ja, für den anfang würde ich auch empfehlen das sein zu lassen ... ersmal mit was simpleren anfangen :) mit sprites über rasterroutinen kann man sich dann später noch genug rumärgern =)

  • >Roland, Sauhund
    ;) gut dass ihr mirs sagt, das wäre das nächste gewesen ;) dann lass ich mal die Finger weg !


    hmmm die Sache mit dem Timing :


    wieviel darf ich überhaupt noch verbrauchen ab

    Code
    1. lda #$00
    2. sta $d020


    Bis zu dem Punkt bei dem ich Anfange zu animieren is alles im Lot 60/20!
    Dürfen ab lda#$00 noch 63 Zyklen verbraut werden ???



    ;)
    Spindizzy

  • vorweg, vielleicht wäre es sinnvoll, wenn du einfach mal ein "snapshot image" von der laufenden routine im VICE machst und postest (ist ja nicht sehr gross).


    zum timing....


    was du NACH der rasterroutine machst ist im normalfall VÖLLIG EGAL.
    DAS bringt dir das timing was davor war nicht mehr durcheinander...


    hier muss was anderes faul sind (drum eben das snapshot image).

  • ich hab da so ein ca. 20 jahre alte routine von mir (für dich hier ein bissle abgeändert).
    damit kannst du auch noch ein weiteres register (z.b. eine multicolorfarbe) in
    jeder zeile verändern...oder border und hintergrund verschieden...)
    die routine ist recht simple aufgebaut und sollte leicht zu verstehen sein.
    zuerst die initialisierung des irq, damit er immer in zeile $82 ausgelöst wird
    dann die eigentliche irq routine...mit den üblichen wartezyklen
    und verschieden lange abschnitte (20/63) für badlines und normale rasterlines....


  • Hmmm.... wie wäre es mit dieser Variante?
    Damit kann man zum Beginn einer Charzeile anfangen und auch zum End einer anderen Charzeile wieder aufhören.
    Und wenn man will geht dann auch noch ein lda #00; sta d020; sta d021 danach...