Posts by Womak

    Nach einem Jahr Pause gibt es dieses Jahr endlich wieder ein City Crash in Leipzig.

    Das urbane Festival für Kunst und Kultur im Werk2.

    In den letzten Jahren hab ich hauptsächlich meine Polaroid Fotos ausgestellt, dieses mal

    aber zum Ausstellungs-Thema "Glück" mein kleines Basic-Spiel "Klickklack".

    Präsentiert wird es auf nem Original Cevi II!

    Die Besucher nutze ich gleich als Betatester für mein Spielchen! ;)

    Und ich muss sagen, die Leute (meist jüngerem Datums) sind fasziniert und super Unterhalten,

    bis jetzt nur positives feedback.

    Einige ältere erinnern sich plötzlich wieder an ihren C64 oder Amiga der irgendwo noch im Keller schlummert.

    Morgen gehts weiter!!! :D
    https://www.city-crash.de/


    Auch bei den Kleinen kommts gut an:
    20190823_200310.jpg

    Heut wieder ein bisschen mit nem CPC rumgespielt.

    Software ausm www auf ein Tape spielen macht ganz schön arbeit!

    Habs dann mit meinem kleinen Netbook über den Kopfhörerausgang, dem Line-Eingang vom ollen Pioneer Verstärker

    und dem Pioneer Kassettendeck, der CDT2wav 1.4 (32bit) Software, geschafft die Files auf eine Kassette zu kopieren.

    Einstellung: 44khz und am Kassettendeck auf 2dB einpegeln.

    Funktioniert sehr gut!

    So, CPC ist wieder zusammengebaut.

    Hab mir gleich noch ein RGB Kabel gebastelt, dieser zusätzliche klobige Grünmonitor aufm Tisch nerft! 8o

    Auf meinem Klasse 1 Sony SD Röhren-Studiomonitor sieht das Bild in RGB richtig gut aus.
    Der Ton über die kleine Klinke hört sich auch gut an.


    Heute endlich meinen CPC 464 getestet und zerlegt.

    Funktioniert einwandfrei, nur die Spacetaste klemmt laut Verkäufer etwas, naja kein Wunder!
    Und überall Schmutz und Staub, vorallem die Tastatur, Katastrophe!!!
    Die Tastatur liegt jetzt in der Spülmaschine, hab kein Bock den ganzen Dreck aus den Tasten zu puhlen!

    Update:
    ich hab meinen Code jetzt auf konstante 3,5 - 3,8s für Werte von 2...99 bekommen. Das genügt mir!!! :D
    Ich hab mir keine "bekannten Sortiermethoden" vorher angesehen, sollte ich also zufällig eine bekannte
    selbst "nacherfunden" haben, so war das keine Absicht! 8)
    Bei dieser "Challenge" musste ich feststellen, daß mir das Final CartridgeIII fast 1s die ganze Zeit gekostet hat, siehe Pic :böse



    Ich hab vieles probiert, aber die konstant schnellste Variante war diese hier mit 3 Arrays:
    zuf3dim3sek.prg



    Code
    1. 0 t=ti:a=98:b=97:c=99:dimk(b),l(b),o(50):i=rnd(-ti):j=53265:pokej,peek(j)and239
    2. 1 z=a*rnd(.):k(z)=2:ford=3toc:z=a*rnd(.):ifk(z)=.thenk(z)=d:next:goto4
    3. 2 ifl(z)=.thenl(z)=d:next:goto4
    4. 3 z=a*rnd(.):goto2
    5. 4 forg=.tob:ifl(g)<>.theno(f)=l(g):f=f+1
    6. 5 next:forh=.tob:ifk(h)=.thenk(h)=o(e):e=e+1:next:goto7
    7. 6 next
    8. 7 pokej,peek(j)or16:print(ti-t)/60:forx=0to200:nextx:run
    9. 8 forx=0to97 :printx,k(x),l(x):nextx

    Hmm, Ja! Ich werde in "meiner" Routine (min.) 2x eine RND Funktion verwenden, ist das dann realer Zufall oder vorgetäuschter?

    Kleines Update.
    Ich hab "meine" Routine etwas umgebaut und komme jetzt gerade auf ziemlich Konstante 4,2 - 3,9 sek für 98 Zahlen!
    AUF REAL HARDWARE GEMESSEN!
    Ich hab aber noch eine Verbesserungsidee die einiges an Geschwindigkeit bringen könnte!
    Mal sehen, konstant eine 3,x wäre mein Ziel!!! :thumbup:

    Mit dieser Erkenntnis konnte ich die Routine nochmals beschleunigen und komme damit auf 2.7 Sekunden.

    WOW!
    Ersetze mal noch "0" mit "." und schalte den Bildschirm während der berechnung ab!!!
    Vielleicht bringt das noch was?


    EDIT: Punkt statt Null bringt nochmal 0,1 Sekunden!!!

    Das für die Vermessung verwendete Prog ist hier:
    zufall 3.prg

    Run-Stoppen kann man das prog übrigens in der kurzen Zeit in der der Bildschirm an ist und den TI$ zeigt!
    Den ganzen "Code-Müll" der noch drum rum liegt einfach missachten!!! ;-)


    zufall 3.prg

    (das angehängte Programm nicht ansehen, wenn Du selber knobeln willst)


    Die Routine benötigt etwa 4-5 Sekunden.

    Wow, sehr gut und konstant schnell! :thumbup:


    Meine Routine geht einen etwas anderen Weg und ist leider sehr unkonstant im Tempo, dafür aber sehr "klein".


    Das "on-(x>0)goto30" find ich Klasse! Ist wohl auch schneller als eine if -Abfage?

    Ich muss mal diesen Uralten Thread wieder rausholen, da ich gerade an einer ähnlichen Routine arbeite.
    MEINE braucht aber nur zwischen ca. 12 und 7 Sekunden um ein Deck durchzumischen!!!
    Eigentlich bin ich hier gelandet, weil ich es noch verschnellern wollte ;-)
    Meine Vorgehensweise:
    - Ich Dimensioniere/erzeuge ein Array bei dem (ja automatisch) an allen Orten der Wert "0" steht.
    - Ich erzeuge mittels einer For Next den WERT, also bei mir gerade die Zahlen von 2-99, ich spare mir somit das Vergleichen schon vorhandener WERTE.
    - dann durch Zufallszahl den ORT im Array!
    - dann prüfe ich ob an diesem ORT ein "." also eine "0" steht, wenn ja wird der WERT geschrieben und es geht mit dem nexten WERT weiter,
    wenn nein wird ein neuer ORT generiert und auf "0" geprüft...


    Hier der "Grundcode":


    Code
    1. A=98:B=1:C=2:D=99:DIMK(99)
    2. FORN=CTOD
    3. M=A*RND(B)+C:IFK(M)=.THENK(M)=N:NEXT:END
    4. GOTO3


    Ich habe inzwischen noch "übliche Beschleunigungen" mit eingebaut, wie Bildschirmabschalten und so, und eine Zeitmessung mit TI$"000000" in Sekunden.
    siehe Foto:


    Das für die Vermessung verwendete Prog ist hier:
    zufall 3.prg