C64 II mit StereoInSid kompatibel zur Ultimate 2?

Es gibt 16 Antworten in diesem Thema, welches 2.848 mal aufgerufen wurde. Der letzte Beitrag (13. Januar 2016 um 18:25) ist von Mac Bacon.

  • Hi,

    ich habe mir noch einen zweiten C64 (C64 II) zugelegt. Im
    Moment liegt dieser noch zerlegt auf meiner Werkbank.
    Ich möchte in diesen C64 einen StereoInSid einbauen und
    eine Ultimate 2 betreiben. Nun zu meiner Frage:

    Ist der StereoInSid kompatibel bzw. funktioniert dieser
    mit der Ultimate 2?

    Im übrigen fliegt der HF Modulator raus und wird durch den
    Modulatorersatz (Revision 2,S-Video) von Auspuff ersetzt.
    Wie ihr seht habe ich noch einiges vor. Eine Verschiebeplatine
    für den StereoInSid hab ich bestellt.
    Bin für jede Antwort dankbar.

    Grüße

    Ingo
    C64Brotkasten1000

  • OK, bevor sich jemand um Kopf und Kragen halbweisheitet:

    Mit der 1541Ultimate1 geht der STEREOinSID einwanst-frei.
    Der STEREOinSID reserviert nämlich nur einen zweiten Adressbereich außer dem üblichen SID $D400.
    Am Expansionport ist das $DE00 (Pin7, oft benutzt für Cartridges) oder $DF00 (Pin10, selten benutzt).

    Grundsätzlich ist also alles am Expansionport mit dem STEREOinSID kompatibel, was nicht auf $DE00 bzw.$DF00 lauscht.
    Und selbst dann kann man noch die andere freie Adresse nutzen. Es nutzen aber nur wenige Stereo-Musiken diese 2. Adresse, also kein Problem.

    Abseits vom Expansionport ist alle Software mit dem STEREOinSID kompatibel, die:
    1. keine SID-Typ Autodetection verwendet (der findet nur den 1. SID bzw. bei DUAL-Mono beide SIDs... also Zufall)
    2. bei Mischbestückung im Dual-Mono Betrieb (beide SIDs liegen auf $D400 und spielen parallel ab) eine spezielle SID-Typ Fähigkeit nutzt.

    Der STEREOinSID ist also in eigentlich allen Fällen kompatibel.

    Avatar: Bitte melde dich an, um diesen Link zu sehen. Foto von Bitte melde dich an, um diesen Link zu sehen. Lizenziert unter CC BY 3.0 über Wikimedia Commons. Bitte melde dich an, um diesen Link zu sehen.

  • Der STEREOinSID reserviert nämlich nur einen zweiten Adressbereich außer dem üblichen SID $D400.
    Am Expansionport ist das $DE00 (Pin7, oft benutzt für Cartridges) oder $DF00 (Pin10, selten benutzt).

    kleine OffTopic-Frage dazu: :schande:
    Ich dachte/hoffte, $D500-$D7FF wäre die erste Wahl was einen 2.(3. ... 4.) SID angeht ?
    Ließe sich der StereoInSID auch so konfigurieren, daß gar kein I/O-Bereich $DE00-$DFFF verwendet wird ?

    Viele Grüße,
    GI-Joe
    Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen.

  • Natürlich.

    Der 2. SID belegt immer nur eine Adresse und zwar die gejumperte, das sind:

    $D400 (Double-Mono, für die allermeisten Demos, Spiele und Anwendungen)
    $D500/$D700 für einige aus Polen kommenden Stereo-Musiken
    $DE00 wird oft für Module benutzt. Bsp: IDE64.
    $DF00 ist meistens frei, wird oft von sehr alten Stereo-Playern verwendet

    und die optimale (in meinen Augen) Lösung:
    $D420, liegt im Speicherbereich direkt hinter dem 1. SID ($D400-$D41F)
    Wird als inoffizieller Standard (gibt eben keinen) für die meisten neuen Stereo-Musiken verwendet.

    Avatar: Bitte melde dich an, um diesen Link zu sehen. Foto von Bitte melde dich an, um diesen Link zu sehen. Lizenziert unter CC BY 3.0 über Wikimedia Commons. Bitte melde dich an, um diesen Link zu sehen.

  • und die optimale (in meinen Augen) Lösung:
    $D420, liegt im Speicherbereich direkt hinter dem 1. SID ($D400-$D41F)
    Wird als inoffizieller Standard (gibt eben keinen) für die meisten neuen Stereo-Musiken verwendet.

    könnte man denn nicht ein Double-Mapping machen, also $D500 und $D420 gleichzeitig als Schalterstellung Nr. 1 und $D400 (Dual-Mono als 2. Schalterstellung) ? Sollte durch ein-zwei TTL´s lösbar sein.
    Wenn ich Das jetzt richtig verstanden hab, wäre man durch diese Maßnahme äußerst kompatibel ...

    sorry for OffTopic - again :/

    Viele Grüße,
    GI-Joe
    Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen.

  • Wie soll das denn gehen?
    Dann spielt der 2. SID alles, was er auf diesen beiden Adressen bekommt?
    Ich glaube wir sollten uns mal zusammen hocken bei einer Hopfenkaltschale.
    Vielleicht kommt da noch was gutes bei rum :)

    Avatar: Bitte melde dich an, um diesen Link zu sehen. Foto von Bitte melde dich an, um diesen Link zu sehen. Lizenziert unter CC BY 3.0 über Wikimedia Commons. Bitte melde dich an, um diesen Link zu sehen.

  • Wie soll das denn gehen?
    Dann spielt der 2. SID alles, was er auf diesen beiden Adressen bekommt?

    genau, jedoch ist es fast immer ausgeschlossen, daß ein SID-Tune auf beide Adressbereiche gleichzeitig zugreift ;)
    also der eine Tune spielt auf $D420 und der Tune aus dem Polen-Intro spielt auf $D500 .... und jedesmal ist prima STEREO-Sound zu hören :)

    EDIT:
    Das Gleiche mache ich mit meinem 1541-Trackdisplay, hier werden auch mehrere Adressen "angezapft" - es wird aber jeweils immer nur Eine vom entspr. Loader verwendet.

    Ich glaube wir sollten uns mal zusammen hocken bei einer Hopfenkaltschale.
    Vielleicht kommt da noch was gutes bei rum

    Der BCCBitte melde dich an, um diesen Link zu sehen. - Termin ist bei mir schon gesetzt - Urlaub ist eingereicht :)
    Vermutlich Auf jeden Fall nehme ich Dir einen STEREOinSID-Bausatz und einen 8580 ab (hoffe, Du hast noch welche über).
    Hopfenkaltschale hört sich gut an - lass mal in Ruhe schnacken im Februar :bia

    Viele Grüße,
    GI-Joe
    Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen.

    2 Mal editiert, zuletzt von GI-Joe (12. Januar 2016 um 21:53)

  • genau, jedoch ist es fast immer ausgeschlossen, daß ein SID-Tune auf beide Adressbereiche gleichzeitig zugreift
    also der eine Tune spielt auf $D420 und der Tune aus dem Polen-Intro spielt auf $D500 .... und jedesmal ist prima STEREO-Sound zu hören

    Ich mache es mit meinem DualSID auch so -- zwei Einstellungen, einmal beide SIDs auf $d400, einmal zweiter SID gleichzeitig auf $d420 und $d500 -- bisher ist mir kein Stereo-SID untergekommen, das an beide Adressen schreiben würde. So hat man eine Einstellung, die den Großteil aller Stereo-SIDs abdeckt. Beim DualSID ist das gleichzeitig der fix für dessen $d500 bug (der erste SID hört sonst immer mit auf $d500).

  • $d500 bug (der erste SID hört sonst immer mit auf $d500).

    Da würde ich mir gern deinen DualSID mal ansehen. Diese Probleme hat der STEREOinSID nicht. Vielleicht können wir da alle drei (GI-Joe, Henning, ich) mal eine Session abhalten. Wie machst du das beim $D400 Betrieb mit der Maus (doppelte Register auslesen)?

    Avatar: Bitte melde dich an, um diesen Link zu sehen. Foto von Bitte melde dich an, um diesen Link zu sehen. Lizenziert unter CC BY 3.0 über Wikimedia Commons. Bitte melde dich an, um diesen Link zu sehen.

  • Es liegt ja nicht speziell an meiner DualSID Platine (zur Klarstellung: ich habe eine DualSID Platine von Tomi Mallinen). Die hat generell den genannten $d500-Bug, das liegt am fehlerhaften Design der Adressdekodierung. Tomi ignoriert Bugreports hierzu leider konsequent und hat es auch in der Revision 3 nicht korrigiert. Er meint der erste SID würde bei ihm nie auf $d500 hören, es gibt aber in seiner Schaltung nichts, was das verhindern würde.

    Verwendung von Maus oder Paddles ist mit dem Dualsid nur möglich, wenn der zweite SID nicht auf $d400 hört -- man muss dazu also immer den zweiten SID woanders hin legen.

  • Verwendung von Maus oder Paddles ist mit dem Dualsid nur möglich, wenn der zweite SID nicht auf $d400 hört -- man muss dazu also immer den zweiten SID woanders hin legen.

    Das ist nicht ganz richtig. Das mag so sein. Durch den SKERN'schen Trick funktioniert das beim STEREOinSID eben doch ganz gut.
    Siehe Bitte melde dich an, um diesen Link zu sehen. Seite 23-25

    Avatar: Bitte melde dich an, um diesen Link zu sehen. Foto von Bitte melde dich an, um diesen Link zu sehen. Lizenziert unter CC BY 3.0 über Wikimedia Commons. Bitte melde dich an, um diesen Link zu sehen.

  • Das du das PDF immer noch hast /o\

    Für das PDF bin ich dir ewig dankbar mein Bester :thumbup:
    Und in Kombination mit dem C64-Wiki hier Bitte melde dich an, um diesen Link zu sehen. ist alles beschrieben :hammer:

    Avatar: Bitte melde dich an, um diesen Link zu sehen. Foto von Bitte melde dich an, um diesen Link zu sehen. Lizenziert unter CC BY 3.0 über Wikimedia Commons. Bitte melde dich an, um diesen Link zu sehen.

  • Durch den SKERN'schen Trick funktioniert das beim STEREOinSID eben doch ganz gut.

    Der Trick besteht also darin, RW des zweiten SIDs fest auf low zu legen, um diesen write-only zu machen, wodurch dann aber auch bei paralleler Adressierung beider SIDs jeder Lesezugriff auf ein SID-Register vom zweiten SID "nur" als Schreibzugriff interpretiert wird und es dadurch zu den "Pseudo-Stereo"-Nebeneffekten kommt (allerdings doch nur, wenn die play-Routine unsinnigerweise aus write-only-Registern liest, oder? Oder hat das Schreiben in read-only Register schon Nebeneffekte?)

    Wäre es nicht sauberer, für SID2 eine Oder-Verknüpfung von RW und CS als CS zu verwenden? So würde sich SID2 doch bei Lesezugriffen garnicht angesprochen fühlen (CS bleibt high), und man hätte dann Maus/Paddle Unterstützung ohne Pseudo-Stereo-Nebeneffekte auch bei parallelem Betrieb. Jedenfalls theoretisch ;)

  • Wäre es nicht sauberer, für SID2 eine Oder-Verknüpfung von RW und CS als CS zu verwenden? So würde sich SID2 doch bei Lesezugriffen garnicht angesprochen fühlen (CS bleibt high), und man hätte dann Maus/Paddle Unterstützung ohne Pseudo-Stereo-Nebeneffekte auch bei parallelem Betrieb. Jedenfalls theoretisch

    Ganz genau DAS ist der richtige Weg !
    Man kann das auch noch weiter treiben, und zwar mit zusätzlicher Adress-Ausdekodierung bis tief hinein in einzelne SID-Register (Stichwort "Maus" beim 2. SID auf $D400). Sollte mit n bißchen Hirnschmalz und ein paar TTLs (oder EINEM GAL) problemlos möglich sein.
    Nachteil: eine neue Schaltung/Platine muß entwickelt werden (da sehe ich aber weniger ein Problem)
    Vorteil: Man "erntet" dadurch am Ende etwas Hochkompatibles was immer gut klingt (ohne lästiges Umschalten) - egal ob Mono oder Stereo.

    Viele Grüße,
    GI-Joe
    Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen.

    2 Mal editiert, zuletzt von GI-Joe (13. Januar 2016 um 17:23)

  • hab mir mal den Schaltplan angeschaut:
    Teste doch mal 2 Schottky-Dioden statt der Jumper an JP7, dann sollte sich der 2. SID schonmal auf $D020 UND auf $D500 gleichzeitig befinden (RW-Jumper 1-2 sollte auch gesetzt sein)
    Bitte melde dich an, um diesen Anhang zu sehen.
    Is jetzt erstmal nur ein Provisorium was zum Entdecken der Möglichkeiten sein soll ;)
    Das sollte man - wenns dann so erwünscht ist, lieber mit TTL machen, das nimmt u.a. die Dioden-Kapazitäten vom PLA(MMU)-Ausgang
    EDIT: (sind selbst bei 1MHz zwar nur ein paar pF, aber sauberer ist es mit Logic-IC´s)

    Der ungenutzte zweite Decoder des LS139 bietet sich hier förmlich an ;)

    EDIT2: fast vergessen: dann sollte man natürlich auch noch 2 PullUp´s mit einbauen :whistling:
    also dann noch 1x 10k von JP7/Pin 4 auf +5V und 1x 10k von JP7/Pin 7 auf +5V

    Viele Grüße,
    GI-Joe
    Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen. * Bitte melde dich an, um diesen Link zu sehen.

    4 Mal editiert, zuletzt von GI-Joe (13. Januar 2016 um 18:47)

  • bei paralleler Adressierung beider SIDs jeder Lesezugriff auf ein SID-Register vom zweiten SID "nur" als Schreibzugriff interpretiert wird [...] allerdings doch nur, wenn die play-Routine unsinnigerweise aus write-only-Registern liest, oder?

    Der "unsinnige" Lesezugriff könnte ungewollt passieren, z.B. wenn ein indizierter Schreibzugriff erfolgt. Angenommen, eine Player-Routine kann per X-Register eine beliebige der drei Stimmen ansprechen (also mit X=0, X=7 und X=14) und führt dann STA $d400, X aus: Aufgrund des möglichen Überlaufs findet im vierten Befehlszyklus ein Lesezugriff statt (dessen Ergebnis von der CPU ignoriert wird), das Schreiben erfolgt erst in Zyklus 5. Der zweite SID bekommt nun aber zwei Schreibzugriffe direkt hintereinander ab.

    ...nur mal so als mögliche Erklärung.

    Yes, I'm the guy responsible for the Bitte melde dich an, um diesen Link zu sehen. cross assembler. And some Bitte melde dich an, um diesen Link zu sehen..