merkwürdiges paddle-Verhalten am SID

  • merkwürdiges paddle-Verhalten am SID

    Hallo,

    ich habe heute mal ein wenig mit meinen selbst gebastelten Paddle herum experimentiert und mußte immer wieder feststellen, dass beim auslesen der Paddle-Werte vom SID ($d419) immer wieder mal größere Abweichungen der Werte auftreten, obwohl am Paddle nichts verändert wurde. Um dem Ganzen näher zu kommen habe ich mal eine Versuchsschaltung mit einen 1k Ohm Widerstand zwischen potx und 5v am Joystickport verdrahtet und mein OSZI an potx drangehangen und hier sehe ich immer wieder Störimpulse (normalerweise würde man ja ca. 256us einen Entladepuls mit einer niedrigen Spannung und anscliessend 256us Lang das Aufladen des Kondensators erwarten):



    Bei höheren Widerständen sehe ich den Störimpuls auch wärend des Auflandens (da Anstieg sehr nicht so schnell geht). Diese Störimpulse treten ca. 30 mal pro Sekunde auf. Ich dachte zunächst dass der SID meines C64 defekt wäre, aber als ich dies am zweiten C64 erneut getestet habe und hier die gleichen Störimpulse zu sehen waren, glaube ich nicht mehr so richtig an einen Defekt. Kennt jemand dieses Phänomen und kann die Störimpulse erklären? Ich frage mich wie die Störimpulse bei einer Maus zu tragen kommen (ich habe leider keine).

    Grüße

    -zschunke

    PS: bei beiden meiner C64 handelt es sich um C64C mit 8580R5
  • zschunky schrieb:

    Bei höheren Widerständen sehe ich den Störimpuls auch wärend des Auflandens (da Anstieg sehr nicht so schnell geht). Diese Störimpulse treten ca. 30 mal pro Sekunde auf. Ich dachte zunächst dass der SID meines C64 defekt wäre, aber als ich dies am zweiten C64 erneut getestet habe und hier die gleichen Störimpulse zu sehen waren, glaube ich nicht mehr so richtig an einen Defekt. Kennt jemand dieses Phänomen und kann die Störimpulse erklären?
    Klingt nach Nebenwirkungen der Kernal-Tastaturabfrage, schonmal versucht die Interrupts zu sperren?

    Der Analogmux, mit dem ausgewählt wird ob die Paddles an Joy-Port 1 oder 2 gelesen werden hängt an PA6 und PA7 von CIA1 und das ist auch der Port, der von der Kernal-Tastaturabfrage als Ausgangsport verwendet wird.

    Quellcode

    1. 10 x=rnd(-1963):fori=1to81:y=rnd(1):next
    2. 20 forj=1to5:printchr$(rnd(1)*16+70);:next
    3. 30 printint(rnd(1)*328)-217

    sd2iec Homepage
  • Die eingehenden Werte von analogen Steuerungen sind "roh" sehr unruhig und für die direkte Weiterverwendung eigentlich zu störanfällig.

    Du solltest sie daher softwaremäßig glätten, alternativ kannst du sie aber unbehandelt auch als indirekte Steuerimpulse verwenden.

    Was mir bei der Entwicklung unseres neuen Spiels vor wenigen Wochen auffiel, ist, dass der neue SID 8580 die Paddles deutlich mehr zittern lässt, als der alte 6581. Tja...

    Ja, die Kernal ROM Routine "SCNKEY" über $FF9F spielt am Portregister rum, aber SCNKEY wird üblicherweise am Ende des IRQs aufgerufen. Selbst wenn du dann ein IRQ Interval wartest und immer vor dem neuen Aufruf von SCNKEY die Paddleeingänge aufrufst, haben diese sich immer noch nicht beruhigt.

    Wie gesagt entweder softwaremäßig glätten/filtern/blablabla oder indirekt steuern - das Poti gibt dann nur noch die Richtung vor.

    Kannst aber beruhigt schlafen - dein SID ist nicht kaputt! ;)

    Viel Erfolg!
    Die beste Investition ist die
    in den eigenen Magen

    J. Heyltjes

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von DATA-LAND ()