Beiträge von Neptun

    Hi,

    meinst du so:

    Hallo Leute,

    in letzter Zeit ist mir schon öfters aufgefallen, dass im Vice-Emulator

    flackernde Pixel im Rahmen erscheinen. Das betrifft die aktuelle

    Version mit englischen Texten, die SuperCpu und die letzte Version

    mit deutschen Texten. Fehler bekannt?

    Hier mal ein Beispiel, bei dem das passiert:

    Code
    10 n=53280:poken+1,0
    20 poken,.:goto20


    Gruss,

    Neptun

    Wie hast Du denn die Regentropfen gemacht?

    Der Regen wird durch umschalten zwischen mehreren Bitmaps

    erzeugt (Speicherzelle $dd00).

    Etwas?

    Zeit ist relativ. :D Die meisten Emulatoren haben ja so was wie einen Warp-Modus.

    Damit kann man die Berechnung beschleunigen. Es wird aber noch eine schnellere

    Version des Programms geben.


    Gruss,

    Neptun

    Hallo Leute,

    wollte euch mal ein kleines Basic-Programm von mir vorstellen. Die

    Berechnung, am Anfang, braucht etwas Zeit und ist erst fertig, wenn

    man einen Ballon sieht. :)


    Gruss,

    Neptun

    Hallo Leute,

    habe das Programm noch mal etwas erweitert. Der "Agent" läuft jetzt in beide Richtungen und

    die Animation ist flüssiger. Fehlt nur noch der Sound.

    Gruss,

    Neptun

    Hallo,

    habe das Galaxie-Programm mal ein wenig überarbeitet.

    Hier das Ergebnis:


    Gruss,

    Neptun

    Hier mal ein Beispiel für die Umschaltung zwischen zwei Zeichensätzen:

    Gruss,

    Neptun

    Probier' mal dies:

    Gruss,

    Neptun

    Hallo Leute,

    wollte euch mal ein kleines Basicprogramm von mir vorstellen.

    Mit dem Print-Befehl kann man Speicherzellen belegen. Das

    geht schneller, als mit Poke. Ich habe mich gefragt, ob man

    auf diesem Wege auch eine schnelle Spritebewegung hinbekommt.

    Und hier das Ergebnis:

    Es funktioniert, bedarf aber einiger Vorbereitung. Zum Beenden

    eine Taste drücken und kurz warten.


    Gruß,

    Neptun

    Vor dem Setzen des Dezimalflags sollte man das Interruptflag mit

    SEI setzen, und es nach dem CLD wieder freigeben, sonst wird im

    Timerinterrupt auch im Dezimalmodus gerechnet, z.B. beim Weitersetzen

    der Zeit. Sollen Interrupts zugelassen bleiben, die Zeiger für den

    Interrupt auf eine eigene Routine verbiegen und am Anfang ein CLD

    ausführen. Beim Verlassen des Interrupts wird durch RTI der ursprüngliche

    Zustand des Dezimalflags wieder hergestellt.

    Gruß,

    Neptun

    Hallo Kinzi,

    probier doch mal wait53265,128 am Anfang, dann ist die nächste 0

    in 53266 oben am Bildschirm.

    Hier mal meine Variante:

    Code
    1 a=53265:b=128:poke53281,.
    2 readc:ifc>=.thena$=a$+chr$(64+c)+chr$(157):goto2
    3 poke648,208:printchr$(19)spc(32):poke56334,.
    4 fori=.to5e2:waita,b:b=b:b=b:b=b:printa$;:next
    5 poke56334,1:poke648,4:printchr$(5)chr$(147):list
    9 data 2,8,7,13,3,14,6,4,11,-1

    Gruss,

    Neptun

    Hallo Leute,

    vor einiger Zeit habe ich mal die Laufzeiten von Schleifen

    gemessen. Dabei fiel auf, dass bei gleicher Anzahl von Durchläufen,

    zwei ineinander verschachtelte Schleifen schneller abgearbeitet

    werden, als eine Schleife. Ich hätte erwartet, dass zwei Schleifen

    langsamer sind, weil die innere Schleife immer wieder neu gesetzt

    wird. Hat jemand eine Erklärung dafür?

    Hier der Code dazu:

    ----------------------------------------------------------------------

    Und wo wir gerade dabei sind. Warum funktioniert das:

    Code
    10 print spc(15)+"hallo"

    und das nicht:

    Code
    10 print "hallo"+spc(15)

    und das auch nicht:

    Code
    10 print (spc(15)+"hallo")


    Gruß,

    Neptun

    Hallo Bitte melde dich an, um diesen Link zu sehen.,

    probier' mal das:

    Gruß,

    Neptun

    Hier mal ein kleines Demo zu der Blockgrafik:

    Bitte melde dich an, um diesen Anhang zu sehen.

    Gruß,

    Neptun

    Die Laufzeit (fürs Kreuzzeichnen) reduziert sich von 5,27 s auf 4,63 s, das sind 12 % Ersparnis. Immerhin. Es ist gerade so viel, dass man "merkt", dass es schneller ist, wenn auch nicht bahnbrechend.

    Es geht noch schneller:

    Ich hab ja ´ne Schwäche für 80x50, wenn "eigene" Zeichen im Dot-Matrix-Look genutzt werden

    Für die Grafik, auf die dein Link verweist, kann man aber nicht den Zeichensatz aus dem ROM verwenden.

    Dafür muß man einen eigenen Zeichensatz definieren:

    Bitte melde dich an, um diesen Anhang zu sehen.

    Gruß,

    Neptun

    Schöne Idee!

    So neu ist die Idee nicht. Im Band 13 der Commodore-Sachbuchreihe von 1984

    findet sich ein Beispiel dazu.

    Hier mal eine Version von mir, ohne If-Abfragen:


    Gruß,

    Neptun

    Du läßt den Raster-IR und den Timer-IR gleichzeitig zu, deshalb

    mußt du eine Fallunterscheidung einbauen. Wenn der aufrufende IR ein

    Timer-IR war, dann die Routine mit Jmp $ea31 verlassen, wenn es ein

    Raster-IR war, mit Jmp $febc verlassen. Du kannst auch ganz auf

    den Raster-IR verzichten und deine Sounddaten im Timer-IR setzen.

    Der zeitliche Abstand zwischen zwei Timer-IRs, läßt sich auf Taktzyklen

    genau einstellen.

    Gruß,

    Neptun