Posts by Nichtsnutz

    Hallo Diddl,


    auf "zimmers" gibt es scans eines 264 system manuals.Dort ist auch der expansion port beschrieben.Detailierte Timings fehlen aber eine Signalbeschreibung ist vorhanden.Ich hatte den Link in dem Thread C16 FPGA angegeben.


    An den expansion port kann man das "8 bit baby" dran machen.Man muss bischen dremeln.


    Etwas wie die "Intern" Buecher ist das "Programmers ref guide" hier : http://www.bombjack.org/commodore/books.htm. (Musst Du sehr weit nach unten scrollen.)


    Ich habe auch das ROM Listing Buch von M&T.


    Details ueber das Timing habe ich irgendwann vor mit meinem LogicPort aufzunehmen fuer das C16 FPGA Projekt.Das dauert aber noch ein bischen.Habe das 264 Zeug zur Zeit eingemottet!


    Gruesse

    Hallo boing4K,


    Quote

    Wenn jemand Details zum TED hat, wäre dies hilfreich! Für jede Info ist das F16 Project dankbar


    Ich denke mal dass Dir diese scans bekannt sind.Das ist das einzige "offizielle" was ich zum TED gefunden habe.Leider fehlen die Seiten mit den Informationen zum Videotiming!


    http://zimmers.net/anonftp/pub…ramming/manual/index.html


    Man kann allerdings sehr viele Informationen ueber das video timing daraus entnehmen.Bei der TED Registerbeschreibung am Ende steht z.B dass der horizontale Zaehler von 0 bis 455 zaehlt,also 456 Takte.Vertikal werden 312 Zeilen gezaehlt.64us PAL Zeilenlaenge / 456 Takte = 140.35ns => 7.125MHz.Da diese Frequenz aus den 17.73 nicht so leicht hervorgeht,denke ich mal dass da 7.09MHz benutzt werden.(4.433 * 4/5 = 3.54 * 2 = 7.09).Das ergibt zwar eine etwas laengere Zeile (64.2us), wird wohl noch toleriert werden !? Zusammen mit den Informationen auf den Seiten 11/12 koennte man schon erste "Bildversuche" machen...


    Gruesse.

    Hallo boing4k,


    von der Idee her waere ich auch dabei! Ich hatte auch erste Experimente an meinem C16 vorgenommen indem ich mit einem kleinen LogicPort Buszyklen der CPU gemessen hatte.Ich hatte hier,einige Beitraege weiter unter,einen Thread dazu angefangen.Ich habe nicht aufgegeben aber mir wurde klar,dass mein VHDL Wissensstand noch nicht so weit ist sowas zu stemmen.Das technische TED Manual habe ich von zimmers heruntergeladen.Es fehlen dort ausgerechnet die Seiten,welche das video timing beschreiben.Du musst auch bedenken,dass der TED die CPU mit verschiedenen Frequenzen taktet.Einmal 1/10 und einmal 1/20 des Haupttaktes.Es gibt sehr viele Detais wenn man den TED Taktzyklus genau nachbilden will.
    Ich mache weiter,habe mich aber erstmal auf kleinere Teilprojekte beschraenkt um VHDL zu lernen.Leider habe ich z.Z alles abgebaut und frickle bischen mit meiner 2600 Konsole rum.
    Wenn das allerdings hier ernst wird,koennte ich das alles wieder aufbauen und z.B Timing Diagramme vom LogicPort liefern ? Ich habe noch nicht verstanden,wie die Arbitierung zwischen CPU und TED funktioniert.Wann schaltet der TED den ADDR_BUS auf HIGH_Z und erlaubt der CPU zugriff ? Muss irgendwie ueber PHI, BA, AEC ... gehen.
    Ist viel Forschung.Ich werde aber den Fortschritt hier beobachten und hoffentlich auch Zeit und Lust haben etwas reales dazu beizutragen. :dafuer:


    Gruesse

    Hallo ikari_01,


    erst einmal auch ein WooW :@1@: von mir zu Deiner Leistung! Ich staune da immer wieder was da draussen entwickelt wird.
    Ich habe da noch eine eher technische Frage:
    Wie schafft man es so ein SNES cart mit z.B den DSP-1 nachzubauen ? Ich habe bischen gesucht und habe das Datenblatt zum DSP-1 gefunden (U12675EJ7V0DS00.PDF).Mit guten VHDL/Verilog Kenntnissen kann man dies IC wohl nachbilden.Aber es hat ein internes ROM für Daten und Befehle an das man von aussen wohl nicht herankommt.Kann man es über ein Programmiergerät auslesen?
    Wünsche Dir weiterhin viel Erfolg bei dem Projekt.
    Grüsse

    Hallo Peter,


    ich sehe im Schaltplan keinen Pullup am DO Ausgang der SD Karte.Ich zitiere aus dem oben genannten
    Forumbeitrag:


    Zitat von "travelrec" : "Der Ausgang der SD-Karte floatet so lange, bis der SPI-Modus angewählt
    ist. Eine Reaktion der Karte auf das erfolgreiche Auswählen des
    SPI-Modus kann man nur dann abfragen, wenn man in der Init solange
    weiterclockt, bis die Karte mit einem Wert ungleich $FF antwortet. Ohne
    PullUp ist dieser anfängliche Status undefiniert und die Init kann in
    eine Sackgasse laufen."


    Oder wird der pullup im ATMEGA IO Pin intern geschaltet?


    Es ist nur eine Vermutung von mir,ich habe keine der Schaltungen aufgebaut.Aber das mit dem Pullup an DO kann man ja schnell ausprobieren.


    Grüsse,
    vassilis

    Hallo Diddl,


    ich würde das Ausblenden des Registers auch in zwei Phasen machen.Der erste Zugriff auf die Register Adresse geht durch und beschreibt das Register.Gleichzeitzg wird ein Bit (D-FF) gesetzt,welches signalisiert dass ein Buszugriff auf das Register stattgefunden hat.Alle weitere Zugriffe auf das Register gehen ab dann ins Leere !
    Wie du das Register jetzt deaktivierst,wird, glaube ich,nicht funktionieren! Du beschreibst es und deaktivierst es im gleichen Zyklus,was sehr timing kritisch ist.Kaum fangen die Daten auf dem Datenbus an sich zu stabilisieren,wird das Latch gesperrt! Kann manchmal daneben gehen !?


    Gruss

    Hallo,


    muss auch meinen offtopic "Senf" dazugeben. :blah!
    Ich glaube,da geht noch einiges mehr ! Ich sehe das Teil bei über 200 am Ende.Nagelneu ist doch
    wirklich selten.Ich biete allerdings *nicht* mit: Kein Geld dafür übrig und zum verfrickeln :bgdev ist er
    doch zu schade,oder ?


    Gruesse.

    Quote


    Ja, denn der Flash legt keinen gesteigerten Wert darauf, seine Adressleitungen direkt mit dem 6502 verbunden zu haben - der spricht quasi mit jedem. Nein, im Ernst: das Flash braucht definierte Adressen an seinen Eingängen bzw. Sequenzen von Zugriffen auf bestimmte Adressen. Woher diese Adressen, also die Zustände an den Adressleitungen kommen, sieht das Flash ja nicht.


    Ok,das habe ich verstanden.


    Quote


    Daher ist es kein Problem, ein sogenanntes "Banking" oder "Paging" zu verwenden, bei dem der untere Teil der Adresse direkt vom 6502 erzeugt wird, und die höheren Adressleitungen vom CPLD, der für den 6502 wie eine Speicherzelle an einer bestimmten Adresse aussieht - damit wird die entsprechende Seite im Flash ausgewählt.


    Aha,ich glaube,jetzt komme ich dahinter! Man wird einen Teil des Flashroms,ich denke mal die 8KB (A0-A12) an eine bestimmte Stelle im Adressraum des VC-20 einblenden und danach mit LDA und STA Zugriffen programmieren.Wenn man damit fertig ist,dann wird man die naechste 8K-Page einblenden u.s.w. Das Paging und die Generierung der Steuersignale uebernimmt das CPLD.


    Quote


    Der 6502 muss auch nicht an Adresse X laufen, um Adresse X bearbeiten zu können. An Speicherzelle A kann z.B. der Befehl stehen: schreibe Wert nach Speicherzelle B!


    Etwas klarer geworden?


    Ich denke schon, Danke for(;;) :)


    Gruesse

    Hallo Leute,


    sehr schoene Arbeit, verfolge ich gespannt,auch wenn ich keinen VC20 habe !


    Ich habe aber eine Frage zu dem Flashrom,da ich mich auch mit so einem zur Zeit beschaeftige.Ist dessen Programmierung in dieser Beschaltung ueber den VC-20 ueberhaupt moeglich ?


    Wenn die expansion-port A0-A12 die Prozessor pins sind,dann kann es doch nicht gehen,da man ja zur Programmierung eine Adresse anlegen muss,die in der Regel eine andere sein wird als die auf der sich gerade der 6502 befindet ! Oder habe ich bei mir einen Denkfehler ? :nixwiss:


    Gruesse

    Hallo,


    ja kannst du so machen. Aber du musst auch Widerstände nach +5V benutzen um den Strom der in die Eingänge des EPROMs fliesset zu begrenzen.Ich mache mal eine Zeichnung.Zwei Varianten mit anderen Schaltern halt.Die 3k3 Widerstände begrenzen den Strom auf ca 1,5mA das müsste ok sein.Sonst ins ERPOM Datenblatt schauen.


    Gruss

    Files

    • IMG.pdf

      (135.04 kB, downloaded 55 times, last: )

    Hallo,


    CPLD und FPGA sind zwei veschiedene Begriffe für die gleiche Sache.Es handelt sich um Bausteine


    welche innerhalb gewisser Grenzen boolsche Funktionen implementieren können.Die Begriffe sind


    mehr historisch gewachsen.Die CPLDs "Complex Programmable Logic Devices" haben eine PAL/GAL


    ähnliche Architektur.Mehrere solcher PAL/GALs können dann über eine zentrale Verbindungsmatrix


    miteinander verbunden werden.CPLDs haben eine kleine "Logikdichte" so ca 1000 - 10000 Gatter und


    32 - 512 Flip-Flops.


    FPGAs "Field Programmable Gate Arrays" haben eine "feinkörnige" Architektur.Die bestehen aus sehr vielen


    Elementen die rechteckig angeordnet sind und miteinander verbunden werden können.Jedes dieser Elemente


    besteht aus einer kleinen Tabelle,welche jede beliebige Funktion mit 4 Variablen implementieren kann und


    einem nachgeschaltetem Flip Flop.FPGAs haben eine sehr hohe Logikdichte,sie fängt so bei 50000 Gatter an


    und geht bis in die millionen.


    Xilinx und Altera sind die zwei grossen Hersteller in diesem Gebiet.Auf deren Seite hann man sich die


    Datenblätter zu CPLds und FPGAs herunterladen.Oder das Web durchsuchen.Es gibt so vieles darüber


    mitlerweile,da die Preise erschwinglich sind.


    So weit mein bischen Verständniss. :roll:


    Man muss sich einfach so ein Board kaufen und anfangen zu machen.Dann bekommt man ein besseres


    Verständniss für diese Materie.Ist ein bischen Mühselig muss ich sagen...


    Grüsse

    Hallo Jackdaniels,


    ich melde mich mal auch zu Wort !



    ahhh ok.... ich glaube es kommt langsam :D


    also die An-1 (adressleitungen) dienen jeweils als schalter... je nachdem wieviele bänke ich switchen will, muß ich adressleitungen nutzen.


    beim 512er wären es a12 - a15 = a12 + a13 + a14 + a15 = 4 adresseleitungen also 2^4 = 16 bänke a 4kb
    hoffe das stimmt so....


    Ja, das stimmt so.


    wenn ich also 512er in 2kb aufteilen will (geht das überhaupt? oder wo ist die grenze?):
    a11 - a15 = 2^5 = 32x2kb ja?
    a10 - a15 = 2^6 = 64x 1kb stücke?


    Ja, genau so geht das.
    Am Ende hast Du halt 65536 Bänke zu je *einem* Byte !


    Grüsse

    Hallo GeTE,


    erstmal ein Lob für die sehr schönen Ausführungen über die aktuellen Tapes.Ich persönlich nutze die TDK IEC-I von
    Saturn für meine winzigen Basic/Asm "stockelein" auf dem C-16.


    Aber nun zum Thema: Ich hatte mir vor einiger Zeit ein Buch 6502 Maschinensprache gekauft und da drin wird
    ein "SuperTape" Verfahren beschrieben,welches mit 2400/4800 Baud arbeitet.Das Buch ist von Christian Persson dem
    Chefredakteur der C't.Das "Supertape" wurde von der C't auch für diverse andere Homecomputer portiert.
    Es wird in den folgenden C't Ausgaben beschrieben:
    1984/04 Seite 21-22 Allgemeine Beschreibung.
    1984/05 Seite 87-90 Portierung für den VC-20 und C64
    1986/02 Seite 84-87 Portierung für den C16/116 und Plus/4.
    In anderen Ausgaben wurde es auf nahezu allen damals gängigen computern portiert,auch mit 3600/7200 Baud.


    Leider habe ich mir die ganzen Artikel noch nicht so richtig durchgelesen :roll: und den langen C16 code noch nicht in den
    "monitor" :bgdev eingetippt.Ich kann also keine qualifizierte Aussage dazu machen,ist halt das was ich dazu beitragen kann.


    Gruss

    Hallo,


    ich weiss nicht mehr woher ich auf darisus aufmerksam wurde,aber die haben ihr Sortimemt stetig
    erweitert und haben auch vielle Speziellere Teile,z.B Altera CPLDs wie EPM3064A für das 8-bitbaby.
    Aber ich will hier nicht zu viel Werbung für die machen.


    Bei RS kaufe ich ganz,ganz selten ein,die haben aber Spezialteile die man sonst kaum findet.


    Jeder Laden hat halt seine vor und Nachteile.


    So,aber nun Schluss von mir mit Offtopic!


    Grüsse

    Hallo,


    nur mal kurz bemerkt:


    den LM1881N (DIP-8) bekommt man günstig bei darisus.de (2,38 EUR)
    bei rs-components.de für 3,16 EUR.


    7,xx EUR finde ich schon richtig teuer!


    Grüsse