SID on Parallel Port - Clone

  • Ich habe mal den Parallel Port SID 6581 Synthesizer Chip von loper-os in Eagle nach gezeichnet. Dabei habe ich versucht die erwähnten Design-Fehler zu korrigieren. Unter anderem habe ich mich noch an den Schaltplänen von Fagear's SSI-2001 Clone und den C64 orientiert. Anders als das Original, dürfte mein Clone aber nur mit dem SwinSID und evtl. dem ARMSID funktionieren, da ich das ganze nur mit 5V über USB versorge. VDD (Pin28) wird beim SwinSID nicht genutzt, beim ARMSID bin ich etwas ratlos ob der auch mit 5V auf VDD klar kommt. Ein anderer Clone, den ich eben noch gefunden habe, ist der ParallelSID.



    Ich habe versucht AGND und DGND zutrennen, bin mir aber nicht sicher ob ich das richtig gemacht habe, da DGND über AGND mit GND am power supply verbunden ist. Vielleicht sollte ich auch AGND und GND über ein wire trennen, im moment ist es eine plane (im Bild nur über ein Polygon angedeutet).

    Pin 28 (VDD) habe ich connected, da ich nicht weiß ob der ARMSID damit ggf. doch funktioniert.

    Pin 26 (Audio in) habe ich, wie bei loper-os, über einen Kondensator an GND angeschlossen. An anderer Stelle habe ich aber auch gelessen, dass man diesen nicht verbindet.

    Ich würde mich über Verbesserungsvorschläge freuen.


    So nun die Frage wo für das ganze und gibt es dafür Anwendungen? Angeblich kann der VICE Emulator, bzw. eine spezielle Versionen, den SIDLPT nutzen. Ein ähnliches Projekt, die SIDCard, würde vom Vorgänger des ACID 64 Player unter MS-DOS unterstützt. Ich muss mal bei der waybackmachine schauen ob es die DOS Version von 1995 noch gibt.


    Ich habe das ganze gemacht weil es so beruhigend ist wie Puzzeln.


    Edit 1: EDA-File release for revision 0. Schematics released under GNU GPL.

  • Kanpai

    Hat den Titel des Themas von „SIDLPT Clone“ zu „SID on Parallel Port - Clone“ geändert.
  • Sieht gut aus und hey - einlagiges Layout (mit grade mal 6 Jumperwires) ist 'ne ordentliche Leistung :)

    SYS1: Asus VL/I-486SV2GX4, DX2 @ 66MHz, 1MB L2 Cache, 16MB RAM, 4GB CF, Cirrus Logic 5428 VLB, ARGUS Prototype Rev. 02 #0, umschaltbarer Covox/DSS-DAC, 2x LPT, DOS 6.22 + Win 3.11

    SYS2: Asus PVI-486SP3, AMD 5x86 @ 160MHz, 512KB L2 Cache, 32MB RAM, 4GB CF, MK-968VL-002, ARGUS Prototype Rev. 01 #2 + SB16, R2R Covox, DOS 6.22 + Win 3.11

    SYS3: Soyo 4SA2, PODP5V @ 100MHz, 1024KB L2 Cache, 32MB RAM, 4GB CF, ARK1000VL 2MB, DOS 6.22 + Win 3.11

  • Das einzige Programm was mit ParaSID läuft ist Vice.

    ArmSID erkennt über die Voltage glaube ich welcher Typ verbaut ist.

    12V 6581 und 9V 8580 und stellt sich darauf ein.


    Wenn man den richtigen SID Takt möchte müsste man auch am ParSID noch was ändern.

    Der nimmt ja 1Mhz

    Der C64 hat aber 0.985248 Mhz am SID :-)


    Es gibt noch eine ISA Karte mit 6502 und C64 ROM drauf.

    Damit kann man SIDs abspielen ohne 6502 emulation am PC.

  • Bei dem Spiel kann man die Komplexität unnötig in die Höhe treiben ... siehe z.B. der SIDBlaster für ZX-Clones

    Damit gehen dann zwar auch PSIDs, allerdings nunja ... ist das Teil komplexer als ein C64 ;)


    Die 0.015MHz Überschuss werden jetzt auch keinen groß merklichen Unterschied machen.

    SYS1: Asus VL/I-486SV2GX4, DX2 @ 66MHz, 1MB L2 Cache, 16MB RAM, 4GB CF, Cirrus Logic 5428 VLB, ARGUS Prototype Rev. 02 #0, umschaltbarer Covox/DSS-DAC, 2x LPT, DOS 6.22 + Win 3.11

    SYS2: Asus PVI-486SP3, AMD 5x86 @ 160MHz, 512KB L2 Cache, 32MB RAM, 4GB CF, MK-968VL-002, ARGUS Prototype Rev. 01 #2 + SB16, R2R Covox, DOS 6.22 + Win 3.11

    SYS3: Soyo 4SA2, PODP5V @ 100MHz, 1024KB L2 Cache, 32MB RAM, 4GB CF, ARK1000VL 2MB, DOS 6.22 + Win 3.11

  • Ich bin gerade dabei das Design noch etwas zu verfeiner. U.a. habe ich bzgl. AGND und DGND gelesen, dass man diese über einen star ground zusammen führen sollte damit diese sich nicht gegenseitig stören.

    Hier habe ich aber mal eine grundsätzliche Frage bzgl. LPT extension boards mit externer Stromversorgung: Der parallel port (pin 18 bis 25), sowie meine externe Stromquelle verfügen über einen GND Leiter. Bisher habe ich diese immer mit einander verbunden, da es sich ja im Grunde um den selben GND handelt. Allerdings erzeuge ich damit doch eine GND loop die ggf. Störungen erzeugt. Wäre es nicht sinnvoller in diesen Fällen (SIDLPT, DSS, PC SPK Amp, etc) die GND Leitungen auf den PCB nicht zu verbinden damit diese erst in der PSU oder im Hausnetz zusammengeführt werden? Oder sehe ich das falsch, bzw. mache mir da gerade zuviele Gedanken?

  • matze79: deine Version sieht klasse aus! Vielleicht sollte ich auch mal mit SMD anfangen.

    Meine Grundannahme, bzgl einer Erdschleife durch verbinden der LPT GND und NT GND war übrigens Falsch - das 5V DC Netzteil ist ja gar nich an der Hauserdung angeschlossen sondern erzeugt seine eigene GND Masse und somit ergibt sich auch keine Erdschleife die stören könnte. Allerdings ist mir aufgefallen, dass ich beim PC-SPK-Amp eine Schleife gebaut habe m( - dazu im anderen thread irgendwann mehr.

  • Ich habe die SidLPT mit dem SwinSid nun endlich zusammengelötet:



    Angeschlossen am LPT höre ich beim einschalten des Rechners auch ein kurzes ping über die Lautsprecher - soweit so gut.

    Ab Version 1.20 sollte Vice dieses auch nativ unterstützen, alllerdings finde ich die Einstellungen nicht in den Versionen 1.2x bis 3.5 - unter Hilfe steht aber das die Versionen damit kompiliert wurden. Alternativ habe ich mit "-sidengine parsid" den Emulator gestartet - scheint aber auch nicht zu funktionieren. Bei DOSvice bekomme ich zudem noch einen Fehler das der Sound nicht initialisiert werden kann wegen einen Fehler mit allegro (muss ich das noch extra installieren, bzw. die library in den vice Ordner kopieren?).


    Hinzukommt noch, dass ich DOSvice auf einen Pentium nicht zumlaufen bekommen habe, aber auf einen 486er (naja der hat deutlich zuwenig Leistung, aber ich konnte ein Image laden und starten).


    Frustiert gebe ich erstmal auf - über Ideen und Tips würde ich mich aber freuen.

  • Ich habe die akutelle Version von MinGW mit msys installiert und versuche mich mit einen build einer WinVice Version die dann hoffentlich einen parsid-support hat. Bisher habe ich nur das XT-IDE-Bios mit MinGW gebaut, daher bin ich mir nicht ganz sicher was ich hier eigentlich mache.


    Edit: make ist bei sounddx.c ausgestiegen... fängt ja gut an.

    Edit2: habe wohl die directx lib für mingw nicht richtig installiert.

    Edit3: hab die headerfiles der dx7 sdk zu mingw hinzugefügt. Jetzt hängt er aber bei realdevice.c:28: ../config.h:560:15 mit error: two or more data types in declaration specifiers #define pid_t int - hier bin ich raus...

  • Ich werde mir die community Version mal installieren, habe davon aber noch weniger Ahnung als von mingw. Edit: oder auch nicht ||


    Ansonsten habe ich pid_t int in der config.h mal auskommentiert und der build läuft weiter bis zum nächsten Fehler, irgendwas mit ld.exe und cannot find -lth32.

  • Ich werde mir die community Version mal installieren, habe davon aber noch weniger Ahnung als von mingw.


    Ansonsten habe ich pid_t int in der config.h mal auskommentiert und der build läuft weiter bis zum nächsten Fehler, irgendwas mit ld.exe und cannot find -lth32.

    Das bedeutete aber zumindest, dass er den Code kompiliert hat, es hakt nur noch am Linker. Schaue mal ob die libth32.a irgendwo im MinGW pfad zu finden ist.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!