Hello, Guest the thread was called12k times and contains 122 replays

last post from skoe at the

Zwischenbericht zum Experiment "open1541"

  • Stimmt ein ASIC: Atmel AT47BV161T


    Das ist nur der Speicher in dem die Spiele abgelegt werden und ein ganz normales Flashrom. Der interessante Teil passiert unter dem nicht beschrifteten schwarzen Klecks auf der Platine.


    Quote

    Kann man das Teil nicht umprogrammieren?


    Den AT47 ja, aber damit kann man nur andere Software aufspielen. Der Rest ist ungefähr so aufwendig als ob man auf dem C64 eine 1541 emulieren möchte weil es quasi auf das gleiche Problem hinausläuft.

  • Stimmt ein ASIC: Atmel AT47BV161T


    Kann man das Teil nicht umprogrammieren?


    Das ist nicht der ASIC, das ist das FLASH.
    Der ASIC ist das 100 polige Teil unter dem Epoxy-Klecks und das hat kein Programm in dem Sinne das man ändern könnte.


    Ausserdem, selbst wenn das ginge, es gibt keine DTV's mehr im Handel.



    Unseen


    Warum kommst Du jetzt erst mit sowas? Hätte man doch auf dem SD2IEC schon vorsehen können. :)
    Einen PCF8583T und einen 0,1F Gold-Cap habe ich jetzt hier. ;)


    Die Unterstützung für mehrere Partionen macht zumindest meiner Meinung nach mit SD keinen Sinn.


    Genauso wie ich IDE Festplatten für eher nutzlos halte in unserem Kontext.
    Für 9,95 Euro bekommt man bei Reichelt eine 2 GB SanDisk SD, für 9,90 eine 4 GB Platinum, das zur Grösse.
    Da greift nichtmal mehr das Argument so richtig, dass man ja Festplatten nutzen kann, die noch rumliegen.
    Nicht, wenn man Zuverlässigkeit, Baugrösse und Hardware-Aufwand zum Anschliessen mit betrachtet.

  • Warum kommst Du jetzt erst mit sowas? Hätte man doch auf dem SD2IEC schon vorsehen können. :)


    Weil mir die erst vor kurzem zufälligerweise bei CSD aufgefallen sind.


    Quote

    Einen PCF8583T und einen 0,1F Gold-Cap habe ich jetzt hier. ;)


    Hält nur ca. 50 Stunden wenn der anfangs auf 5V aufgeladen war und ausserdem kostet es im Augenblick exakt 2500 Byte Flash.


    Quote

    Genauso wie ich IDE Festplatten für eher nutzlos halte in unserem Kontext.


    Ich könnte es ja wieder rauswerfen, aber dann mag Jim wahrscheinlich nicht mehr mitspielen und es ist schon irgendwie praktisch wenn mehr als eine Person Features bastelt, insbesondere da ich im Augenblick irgendwie zu nichts komme.


    Aber der "teurere" Teil des Multi-Partitions-Supports ist zB auch für zwei SD-Karten[1] oder Dataflash-Unterstützung notwendig und über mehrere IEC-Devices in einem Controller möchte ich lieber gar nicht nachdenken, das wird teilweise noch furchtbarer.


    [1] Hat das ausser mir eigentlich jemals jemand aufgebaut? Ich persönlich fand es bisher recht praktisch weil ich so eine Karte mit diverser (Test-)Software vorhalten kann und eine komplett leere um Filesystem-Probleme besser eingrenzen zu können.

  • Quote

    Ausserdem ist es angedacht irgendwann mal zu ermögliche, Diskimages nicht nur auf die aktuelle Partitionsnummer zu mounten sondern auch auf eine beliebige (freie) andere, damit mehrere Images gleichzeitig "offen" sein können.


    Das finde ich gut. Sowas hab ich mal vermisst, als ich eine Kopieraktion (einzelne Dateien aus FAT aus oder in ein Image) ohne PC machen wollte.


    Und auch die 1541-Emu könnte man mit sowas wie dem sd2iec unter einen Hut bringen, indem sie sich virtuell den Bus teilen und entweder abwechselnd die gleiche oder gleichzeitig zwei verschiedene Geräteadressen verwenden. Oder so.


    Quote

    Hatte nicht vor langer Zeit mal jemand nach einer Möglichkeit gefragt um eine Art Festspeicher auf dem Teil zu haben? Ich suche gerade nach einer Anwendung/Ausrede um ein wenig mit Dataflashes (bis zu 4MByte im SO8-Gehäuse, via SPI ansprechbar - in grösseren Gehäusen AFAIK bis 16MByte) herumzuspielen. ;-)


    Mhh, nimm doch eine SD-Karte zum Speichern von Daten 8-P Aber mal im ernst, diesmal kann ich keine Ausrede bieten.


  • Weil mir die erst vor kurzem zufälligerweise bei CSD aufgefallen sind.


    Einen Moment drüber nachgedacht - wofür wäre ein zusätzlicher Speicher überhaupt gut?
    Im Zusammenhang mit einem Autoload-Programm im C64 könnte das vielleicht nützlich sein,
    das Programm muss man aber auch an den Start bringen.
    Und im DTV hat man für sowas ohnehin das FLASH.


    Quote


    Hält nur ca. 50 Stunden wenn der anfangs auf 5V aufgeladen war und ausserdem kostet es im Augenblick
    exakt 2500 Byte Flash.


    Ja, ich war geizig. :)
    Aber 5µA bei 5V wären ja 1 MegOhm.
    Bei 0,1 Farad und 3,3V auf 1,0V komme ich mit der kleinen Tabelle die ich gerade aus dem Netz gefischt habe aber schon auf nicht ganz 140 Stunden.


    Quote


    Ich könnte es ja wieder rauswerfen


    Wegen meiner Meinung bestimmt nicht. :)


    Quote


    , aber dann mag Jim wahrscheinlich nicht mehr mitspielen und es ist schon irgendwie praktisch wenn mehr als eine Person Features bastelt, insbesondere da ich im Augenblick irgendwie zu nichts komme.


    Das Beste Argument überhaupt!


    Quote


    [1] Hat das ausser mir eigentlich jemals jemand aufgebaut? Ich persönlich fand es bisher recht praktisch weil ich so eine Karte mit diverser (Test-)Software vorhalten kann und eine komplett leere um Filesystem-Probleme besser eingrenzen zu können.


    Ich stecke seit Monaten so mit Arbeit voll, so richtig was ausprobiert habe ich schon lange nicht mehr.
    Muss auch noch was für morgen vorbereiten...

  • Einen Moment drüber nachgedacht - wofür wäre ein zusätzlicher Speicher überhaupt gut?


    Keine Ahnung.


    Quote

    Aber 5µA bei 5V wären ja 1 MegOhm.
    Bei 0,1 Farad und 3,3V auf 1,0V komme ich mit der kleinen Tabelle die ich gerade aus dem Netz gefischt habe aber schon auf nicht ganz 140 Stunden.


    Evtl. war mein Aufbau auch nicht 100%ig da die I2C-Pins floateten statt an einem abgeschalteten Microcontroller angeschlossen zu sein - und die einmal alle 10s durchgeführte Spannungsmessung (AVR-ADC, nur während der Messung mittels Reed-Relais angekoppelt) durfte auch ein wenig Kapazität gekostet haben.

  • Hab mir gestern und heute mal den AVR32 genauer angesehen.


    Was ich ganz toll finde, ist die spezielle Eclipse-Version und die für diverse Systeme vorgefertigte Toolchain. So macht das Spaß.


    Dann habe ich mir Register und Befehlssatz angesehen und mich gleich zuhause gefühlt: Sieht ja genau aus wie auf einem ARM! Inklusive SP, LR und PC, die in den Registern 13 bis 15 liegen, so kann man den PC einfach aus einer Sprungtabelle laden oder berechnen. Und das Ausführen von zwei Operationen mit einer Instruktion. Als ich dann im Architecture Manual den shadowed Interrupt Registerset gesehen habe, war ich schon fast überzeugt, dass dieser Controller für das Projekt doch gut geeignet ist. Dann lässt man eben den IRQ mit 1 MHz laufen und schaut anhand eines der shadowed Register nach, ob es was zu tun gibt...


    Aber als ich dann das Dokument zum UC3B gesehen habe, gab's wieder einen Dämpfer: Nix shadowed Register in dieser CPU-Implementierung. Alles muss auf den Stack :-(


    Also mach ich erstmal mit dem LPC weiter. Viele seiner Eigenschaften passen mir einfach gut in den Kram. Obwohl mir die USB-Idee und die Entwicklungsumgebung vom AVR32 gefallen hat. Und für USB mit LPC müsste man 208 Beinchen löten :-(


  • Ich könnte es ja wieder rauswerfen, aber dann mag Jim wahrscheinlich nicht mehr mitspielen und es ist schon irgendwie praktisch wenn mehr als eine Person Features bastelt, insbesondere da ich im Augenblick irgendwie zu nichts komme.

    If you want to #ifdef the multi-partition code out in the SD versions, I don't think I'd mind. There's very little code in there that would still be in there if only 1 partition were supported. I would agree it only makes sense for IDE drives (and, I wouldn't necessarily argue your point about IDE drives being useless in this context. My original idea in 2005 was to build a CF adapter, since I had CF cards lying around. However, since I didn't want to solder up a CF connector right at the start of the project, and I knew the CF cards would run just like IDE drives, I decided to do initial development with IDE drives, and you never find a IDE HD with a "superfloppy" partitionless bootsector. Later, some folks sounded interested in having a VERY LARGE HD, so I kept the IDE connector. Now, if it were just for that, I'd probably wean those folks off and reduce the size of the PCB, but now folks are asking about IDE CDROMs and DVDROMs, so I'll probably keep it for future implementation.)



    I think Ingo pushes back a lot. Given the culture differences, I have to remind myself all the time that he is just being honest when he states he's going to "just rewrite the patch" I just sent. That talk would get you hit over on this side of the pond :-)


    I want to think that he accepts most of what I send because I'm sending stuff in. And, I think there's fewer than 5 items in the common code that only make sense for IDE.


    Jim


    Jim

  • Wie angekündigt, habe ich jetzt die bisher entstandenen Quelltexte veröffentlicht. Unter http://open1541.berlios.de findet man u.A. ein git repository, was man sich entweder runterladen oder über das Web-Interface ansehen kann.


    Hallo Unseen, ich hab jetzt auch git kapiert ;-) Danke für das bunte Bildchen zur Motivation.


    Außerdem gibt es da eine Mailingliste. Mit momentan einem Mitglied.... Wer also über dieses Projekt auf dem Laufenden bleiben möchte oder gar mit dem Gedanken spielt, jetzt oder später mit zu machen, ist herzlich eingeladen, sich bei der Mailingliste zu registrieren.


    So jetzt mach ich mit der 6502-Prozessor-Emulation weiter. Die ist gestern übrigens nochmal ca. 20% schneller geworden.

  • Hallo wiedermal,


    Anbei der erste, halbfertige Entwurf für den ersten Prototypen. Schaut doch mal rein, vielleicht fällt Euch ja ein Fehler auf. Ist im eagle-Format, kicad hab ich aufgegeben.


    Danke an Unseen für den Tip mit dem HCT statt HC. Hab ich eingebaut. Ist sogar noch ein Gatter frei.


    Woran muss ich eigentlich denken, wenn ich eine Stiftleiste für die Verbindung mit dem User-Port vorsehen möchte? Kann ich die direkt verbinden, oder sollten ein paar Angstwiderstände dazwischen? Reichen dem C64 die 3,3-Volt-GPIOs? Momentan habe ich nur die 8 Datenleitungen und GND eingezeichnet. Da fehlen ja noch zwei Steuerleitungen, muss ich bei denen was besonderes beachten?


    Den optionalen UART-USB-Konverter habe ich eingebaut, weil mich das Gewusel hinter meinem RS-232-losem Notebook nervt. Ist nicht ganz billig (ca. 4 Euro), brauchen evtl. auch nur Enwickler. Kann man vielleicht aber später auch was mit anfangen, z.B. d64 direkt vom PC mounten. Es sollten Bitraten weit jenseits von 115200 möglich sein.


    Die Mailing-List bei Berlios läuft übrigens seit dem Wochenende nicht richtig :-/


    Also, für Tips bin ich dankbar!


    Gruß,
    Thomas

  • Welche EAGLE Version benutzt Du dafür?
    Ich kann das mit der 4.13 nicht öffnen, es gibt den Hinweis, dass das nur mit 4.60++ gehen würde.
    Nur, eine 4.60 gibt es garnicht und die 4.16 ist nur minimal verbessert.


    Und was ich von EAGLE 5 halten sollten bin ich mir noch nicht sicher, beim Testen hatte ich jedenfalls nicht den Eindruck, die Änderung der Versions-Nummer wäre gerechtfertigt.

  • Weil ich vorher nie Eagle benutzt habe (um genau zu sein: auch kein anderes Layout-Programm), hab ich einfach die aktuelle runtergeladen. 5.1.irgendwas.


    Gerade knoble ich, mit welchem Quarz und welchen Einstellungen ich genaue, schnelle UART-Bitraten als auch den 1 MHz-Takt für den 6502 bekommen, mhhhh...

  • Wer also über dieses Projekt auf dem Laufenden bleiben möchte


    Also entweder bin ich zu blöd oder da ist was faul. Beim klick auf

    Code
    1. (go to Subscribe/Unsubscribe/Preferences)

    bekomme ich Seiten Ladefehler:


  • Also entweder bin ich zu blöd oder da ist was faul.
    ...
    lists.berlios.de verwendet ein ungültiges Sicherheitszertifikat.


    Eher letzteres, bei denen stimmt was mit dem ssl-Zertifikat nicht. Je nach Browser und dessen Sicherheitseinstellungen kannst Du das Zertifikat trotzdem akzeptieren und dann sollte es gehen (Sicherheit ad absurdum...). Hab's gerade mal mit dem Opera hier und mit dem IE unter XP auf einem anderen Rechner ausprobiert.


    edit: Falsche Zitat-Stelle korrigiert

  • Mhh, keine Antworten und keine Kommentare? Schade, insbesondere das Userport-Thema hätte mich interessiert, wg. Parallel-Speedern.


    Mir ist inzwischen aufgefallen, dass vermutlich ein Kondensator vor den Eingang des TDA7052 muss, um den Gleichspannungsanteil rauszufiltern. Da geht's ja um µA, reichen 100 nF?


    Die Leiterplatte ist übrigens so groß, damit das Display darüber stehen kann (ähm, so sandwichartig). Der Platz ermöglicht es auch, in der Version ziemlich viele bedrahtete Bauelemente und wenig SMD zu verwenden. Das dürfte auch den Plan erleichtern, eine einseitige Leiterplatte zu benutzen.

  • Woran muss ich eigentlich denken, wenn ich eine Stiftleiste für die Verbindung mit dem User-Port vorsehen möchte? Kann ich die direkt verbinden, oder sollten ein paar Angstwiderstände dazwischen? Reichen dem C64 die 3,3-Volt-GPIOs?

    Beim Userport weiß ich gerade nicht genau, aber sind das nicht wieder die üblichen Open Collector-Ausgänge inkl. Pullup? Also besser nix mit direkt was anderes als Masse dran?

  • Beim Userport weiß ich gerade nicht genau, aber sind das nicht wieder die üblichen Open Collector-Ausgänge inkl. Pullup? Also besser nix mit direkt was anderes als Masse dran?


    "Port A and Port B have passive pull-up devices as well as active pull-ups, providing both CMOS and TTL compatibility." - aus dem MOS-Datenblatt zum 6526. Leider ist in dem Datenblatt kein Schema der Ausgangsstufe angegeben.


    Beim 6522 sind solche Schemata vorhanden, Port A und CA2 sind dort nur Open Drain-Ausgänge mit internem Pullup, Port B und CB1/CB2 können in beiden Richtungen aktiv getrieben werden und haben zusätzlich noch einen Pullup.

  • Danke für Eure Hinweise. Klar, das 6522 Datenblatt hatte ich mir noch gar nicht angesehen. Sowas gab's ja sogar schon in meinem Geburtsjahr :-)


    Wenn ich mir das alles richtig zusammengereimt habe, wird also 6522 CB1 immer nur als Eingang und CA2 nur als Ausgang verwendet. Die Datenleitungen sind ja bidirektional. Wenn der 6526 aktiv auf High ziehen kann (vermutlich ist damit ein Transistor gemeint), könnte man ja den 6522 und den 6526 gegeneinander arbeiten lassen. Überleben die das oder verstehe ich was falsch?


    Von den Pegeln müsste es klappen. Also sehe ich die Stiftleiste wie gedacht dafür vor.


    Das habe ich übrigens bis jetzt zusammengetragen:

  • Die beiden Ports des 6526 sind Open-Collector, andernfalls könnte man ja beim C64 die einzelnen I/O-Leitungen vom CIA A prima so definieren, dass die beim Tastendruck auf's Keyboard munter den Löffel abgeben (beide Ports auf Ausgabe, den einen Port auf Lo u. den anderen auf Hi). Die 8 Userport-Leitungen (CIA B, Port B) sind ja nichts anderes als so'n Port vom Tastatur-CIA, aber wem sag ich das. :)

    @ skoe


    Was ich in Deinem Schaltplan vermisse, sind Abblock-Kondensatoren in den Betriebsspannungs-Zuleitungen (so 10 - 100 nf, also sagen wir 100) in IC- und SD-Kartenslot- Nähe, sprich: zwischen GND u. VCC/VDD.
    Aber damit sage ich Dir wahrscheinlich auch nichts neues. :)


    Außerdem sollte man so für ungefähr 5 - 10 IC's ein 2,2 uf - Tantalelko einplanen. Am besten Du setzt auch noch einen mit 47 uf am SD-Kartenslot.


    Und falls Du Dir nicht sicher bist mit den diversen Leitungen, dann setz doch einfach einen 'Angst'-Widerstand ein, der schadet ja (in den meisten Fällen jedenfalls) nicht. Außer natürlich, er wäre zu groß dimensioniert, oder aber es hängen zuviele stromhungrige Eingänge dran.

  • Quote

    andernfalls könnte man ja beim C64 die einzelnen I/O-Leitungen vom CIA A prima so definieren, dass die beim Tastendruck auf's Keyboard munter den Löffel abgeben


    THE KEY OF DEATH .... Stimmt schon, das wäre blöd.

    Quote

    Was ich in Deinem Schaltplan vermisse, sind Abblock-Kondensatoren


    Ja, ist im Hinterkopf. Die ganze Spannungsversorgung ist ja noch nicht drin. Dafür plane ich einen LM1117 für die 3,3 V und einen MOSFET IRLR120L als Verpolungsschutz für die 5V. Es soll auch an ca. 5V zuverlässig funktionieren, aber auf einen Verpolungsschutz will ich nicht verzichten. Die Lösung hab ich dann auf mikrocontroller.net gefunden. Die sollen übrigens SMD sein, sind nicht zu schwer zu löten und man kann die platzsparend unter die Kondensatoren legen.


    Quote

    Außerdem sollte man so für ungefähr 5 - 10 IC's ein 2,2 uf - Tantalelko einplanen. Am besten Du setzt auch noch einen mit 47 uf am SD-Kartenslot.


    Okay, mach ich. Hat da ein Tantal nennenswerte Vorteile gegenüber eines normalen Elkos?


    Hat sich jemand schonmal die IEC-Beschaltung angesehen? Irgendwelche logischen oder elektrischen Fehler?


    Aber ich lass die Hardware erstmal liegen und mach an der Software weiter, da ist noch viel zu tun...


    Danke für die Hinweise!