Hello, Guest the thread was called9.9k times and contains 45 replays

last post from Wiesel at the

Chameleon - gesammelte Factpostings


  • Welche Firmware? Das Ding ist ein FPGA das einen C64 und eine 1541 emuliert. Die "Firmware" sind originale C= Roms nehme ich mal an.


    Pollux hat schon Recht, da ist reichlich Zeug zu programmieren, das nicht in den Standard-Roms drin ist. Wie weit das bei Release sein wird, ist natürlich völlig offen, weil das Release-Datum noch nicht steht. Das ist aber auch der Grund, warum ein Pilot-run mit einer kleinen Stückzahl gebaut wird, die dann an ausgewählte Tester und Entwickler abgegeben werden. Vielversprechende Entwickler und Angestellte von Individual Computers bekommen das Teil natürlich kostenlos, Tester zu einem reduzierten Preis. Wenn ich dann selbst das Gefühl habe, dass die Hardware/Firmware-Kombination in einem Zustand ist, der nur geringen Support-Aufwand bedeutet, wird die eigentliche Produktion gestartet.


    Die Ideenliste für Chameleon ist *extrem* lang. Viel zu lang um das Projekt jemals als "fertig" zu bezeichnen. Es wird immer ein Feature mehr geben, dass sich auch mehr als ein (potentieller) Kunde wünscht. Und demnach wird es auch immer ein Feature geben, das das Teil nicht haben wird.


    Jens

  • joyport und ps/2 anschluß für ne pc tastatur wären natürlich klasse


    Der dicke 9-polige mini-DIN ist nicht ganz umsonst da. Die Kabelpeitsche dafür gehört zum Lieferumfang:


    Joystick Port würde da beim besten Willen nicht dran passen. Für den Standalone-Mode kann man aber sicher noch ein paar Gemeinheiten mit dem dann frei werdenden 44-poligen Cartridge Port machen - da gibts dann reichlich Signale, die sogar 5V-tolerant sind.


    Jens

  • Kann man PC Tastatur und VGA Ausgang auch bei eingesteckter Chameleon am realen C64 nutzen oder profitiert davon nur der Standalone-Modus ?


    In erster Linie ist alles für den Betrieb am C64 gedacht. Der stand-alone Mode ist nur Bonus. Und Stereo hat die Hardware schon, nur um Deine andere Frage auch noch zu beantworten ;-)


    Jens

  • Nette Überraschung heute beim Besuch meines Partners in Taipei:

    ...kann das also auch gleich getestet werden, leider erst wenn ich wieder in Deutschland bin. Die haben mit dem Spezial-Werkzeug für den 9-poligen Mini-DIN echt Tempo angelegt!


    Jens

  • Nur um Euch zu beruhigen, die Asiaten sind gar nicht so blöde wie man ihnen manchmal nachsagen will - meine Specs hat dieser Partner eigentlich immer erfüllt. Anbei noch zwei schärfere Fotos, diesmal mit etwas Besserem als ner Handykamera fotofiert:


    Das ist übrigens mein Daumen, nicht mein Zeigefinger auf dem zweiten Bild. Der Stecker ist ziemlich dick geworden, weil eben vier Kabel da reingehen.


    'nacht,
    Jens

  • Wird das Kabel auch separat angeboten?, vielleicht als reserve/ersatz wenn mal einer seins verloren hat oder Kabelbruch?


    Klar, ich mache immer ein paar mehr als eigentlich für die Serie gebraucht werden. Beim Flickerfixer Indivision (für Amiga) habe ich auch ein spezielles Kabel machen lassen, von dem hin und wieder mal einzelne Exemplare verkauft werden. Den Preis lege ich dabei so hoch an, dass sich die Leute nicht ohne Grund einfach so Reserve hinlegen, die eigentlich woanders gebraucht würde. Trotzdem auch niedrig genug, dass man nicht davon erschlagen wird, wenn man's wirklich braucht.


    Jens

  • Also, habe versucht mir soviel wie möglich aus den Foren rauszusuchen, aber 2 Dinge interessieren mich noch besonders, auf die ich noch keine Antwort fand:
    Würde mir SEHR gerne ein Chamäleon holen, auch wenns über 200 € kostet, aber
    1. weiß man denn schon, um wie viel der warp- Modus den C64 beschleunigt? Wäre natürlicha am besten, wenns um die 20x wäre, denn dann könnten wohl die Scpu- Sachen nutzen bzw. patchten...


    Der Faktor 20 wird nie erreicht werden, wenn VGA benutzt wird - dafür ist die Speicherbandbreite nicht groß genug. Derzeit erreichen wir Faktor 1.8, aber da ist noch Platz nach oben. Ich persönlich schätze, dass bei Faktor 6 Schluß sein wird.


    2. Wird es einen zusätzlichen Grafikmodus geben, etwa mit 256 Farben, den man in neu programmierter Software nutzen könnte?


    Jein. Du kannst das automatische Kopieren vom VIC-Core in den Framebuffer abstellen und den Framebuffer selbst beschreiben. Zusätzlich kannst Du mit dem Object Processor die Darstellung stretchen und Effekte einfügen bzw. Hardware-Scrolling über den ganzen Framebuffer machen (sowas wie überdimensionale Sprites). Mit dem Object Processor kannst Du Dir auch unterschiedliche Farbtiefen "bauen".


    Eine vorab-Dokumentation zu den ganzen Hardwareregistern findest Du hier, ein paar öfter gestellte Fragen findest Du auf Peter's Webseite.


    Jens

  • Chameleon wird im Gehäuse geliefert. Das Spritzgussgehäuse von Chameleon zu verändern würde mehr Geld kosten, als das Projekt je einbringen würde. Das Gehäuse ist bis zum letzten Zehntel ausgereizt, mehr geht einfach nicht.


    Jens


    Edit: Link zum Post mit den Bildern von Mitte Oktober

  • Oh, das ist ja dann auch dem C64-Standalone abträglich.


    Naja, dann gibt's da noch den IR-Empfänger :-)

    Liegt der Ex-Port im Standalone brach? Wenn Du vorsehen würdest, dass die Control-Ports in dem Modus dort anliegen, ließe sich eine kleine Leiterplatte auf Bastlerniveau machen (sogar einseitig), die einen Expansionsport-Verbinder und die Sub-D-Anschlüsse enthält. Wird das Teil im Standalone mit 5V versorgt? Dann bekäme man die 5V dort auch irgendwie ran.


    Die Versorgung im Standalone-Mode kommt über einen USB-Stecker, der *nur* für die Spannungsversorgung da ist. Die Spannung geht noch über eine Schottky-Diode, damit der Benutzer nicht per Stöpsel-Fehler seine Hardware grillen kann.


    Es liegen demnach nicht ganz 5V an dem 44-poligen Anschluß an - es geht mehr in die Richtung 4,7 Volt. Für ein Autofeuer sollte das aber noch reichen. Ich möchte aber nicht zu viel in Sachen Bastelkram versprechen - der CPLD ist schon ziemlich spezialisiert auf das Interface zum C64-Expansionsport. Darauf ein GPIO-Interface zu machen ist mit ein bischen mehr Grips verbunden.


    Jens

  • Hmm, ich kenn mich technisch ja nicht so aus, aber wäre es evtl. eine Möglichkeit, um Platz auf der Platine zu sparen, die Kabelpeitsche um eine USB-Buxe zu erweitern und die Peitsche dann an den USB-Anschluss ran zu klemmen? Dann wäre der Mini-DIN-Anschluss doch überflüssig, nicht?


    Dafür bräuchte man aber mindestens zwei weitere Pins in der Mini-DIN-Buchse. Die ist momentan 9-polig, aber es gibt leider keine 11-poligen Buchsen.

    Davon unabhängige Frage: Wäre es möglich einen USB-Hub (evtl. mit eigener Stromversorgung) an dem USB-Port zu Betreiben? Und wenn mit eigener Stromversorgung, dann darüber vlt. auch die Stromversorgung im Standalone-Betrieb zu realisieren?
    Ich mein, grad USB bietet ja so viele Möglichkeiten, zumindest am PC.


    Der USB ist KEIN Host. Du kannst Chameleon an einen PC anschließen um Daten zu übertragen und spezielle Debug/Update-Software laufen lassen, aber Du kannst an dem Anschluß keinen USB-Stick oder andere USB-Geräte betreiben. Dafür wäre ein kompletter USB-Stack erforderlich, so lange willst Du bestimmt nicht warten.


    Ich hab mich bemüht, die ganzen Threads zum Thema Chameleon nachzuarbeiten. Dabei ist mir nirgends die Frage über den Weg gelaufen, ob - mal unabhängig vom Platzproblem betrachtet - ein durchgeschleifter Ex-Port Sinn machen würde.


    Chameleon greift sehr tief ins Timing des Computers ein. Es könnte sein, dass man einzelne Module kompatibel bekommt, aber das können wir keinesfalls garantieren. Grundsätzlich also inkompatibel mit Expansionsportweiche und aus Platzgründen keine Möglichkeit, einen durchgeschleiften Expansionsport anzubringen.


    SID-Erweiterungen baut man wenn, dann IN den C64 ein, aber wir haben auch nen SID auf dem FPGA - den kann man auch zweimal instantiieren, schließlich haben wir stereo-out. Ramlink? Ich bitte Dich, Du bekommst ne 16MB-REU! IDE64? Nein, das halte ich wirklich nicht für sinnvoll, wenn Du doch nen MMC-Kartenslot hast. MSSIAH wäre das einzig sinnvolle Teil, aber dafür gibts ja den Standalone-Mode, da kannst Du einen 1541-kompatiblen Massenspeicher nutzen, der auf MMC-Karte speichert.


    Jens

  • wird der Transfer vom PC in die Speichererweiterung (16MB REU) irgendwie möglich sein ?


    Nicht nur in die REU, sondern in den gesamten Speicher und zurück, alles via USB von einem Host-PC aus. Man kann also cross-assemblen, cross-debuggen, "remote" eine Diskette einlegen oder einen Screenshot als PNG abspeichern (oder sonstiges Grafikformat - was man halt aus den Framebuffer-Daten machen will).


    Jens

  • Ich hätte mal ne Frage zum PC Tastaturadapter: Wie kompatibel wird das Teil genau sein ? Kann ich ne PC Tastatur problemlos als Ersatz nutzen oder sind mit Einschränkungen zu rechnen ?


    Das Ziel ist natürlich "100%" - auf jeden Fall kompatibler als so mancher PC-Tastaturadapter. Der Trick dabei ist, dass man die Matrix in zwei Richtungen abfragen kann - das klappt aber bei den meisten Adaptern und dem DTV nicht. Bei uns schon. Die Latte kann man aber gleich noch ein Stück höher legen, nämlich die Unterscheidung zwischen links-Shift und shift lock :-) (das ist kein Versprechen, keine Ahnung ob wir das hinbekommen).


    Jens

  • Man braucht glaube ich keine dunklen Ecken, Kaffeesatz oder tote Katzen um zu erahnen, dass die Komplexität des Projektes schon wieder ihren Tribut gezollt hat. Die Produktion der ersten Muster ist schon wieder verschoben, weil wichtige Testergebnisse immer noch fehlen. Währenddessen geht aber die Core-Entwicklung weiter: Es gibt jetzt einen Cache-Controller, der total nach "Schulbuch" implementiert ist, und prima funktioniert.


    Im Idle-Zustand oder bei einfachen Programmen hat der Cache-Controller eine Hit-Rate von bis zu 99%. Bei komplexen Demos und einer VGA-Refresh-Rate von 70Hz kommen wir auf 85% Hit-Rate des Cache. Performance ist damit schonmal kein Problem mehr.


    Trotzdem werden wir die SCPU nie schlagen können - die Performance wird irgendwo bei 8-10MHz hängen bleiben, je nach Cache-Hit Rate. Dafür ist die CPU ein "echter" 6510, aber das wisst Ihr ja schon :-)


    Ich habe ein "Sondertreffen" mit einem der drei Entwickler vereinbart, das am kommenden Wochenende stattfindet. Danach gibt's hoffentlich mehr News.


    Jens

  • Sind diese 8 - 10 Mhz "immer" vorhanden oder "zuschaltbar" ? Manch Anwendung "schmieren" ja bei Zuschaltung von Mhz regelrecht ab.


    Ich weiß, der Thread ist lang, deswegen verweise ich mal nicht auf "lies' doch den Kram, der schon vor langer Zeit geschrieben wurde".


    Die Geschwindigkeit ist in 2 Schritten zuschaltbar:


    0: Normale Speed, exakt identisch mit dem C64. Damit funktionieren Demos, Spiele, einfach alles.
    1: Doppelte Speed, wird zugeschaltet wie beim C128 mit dem gleichen Effekt von "Video gibt nur Grütze aus". Damit funktionieren C64-Mode-getunete Dinger wie z.B. die Uridium- und Paradroid-Versionen, die mehr Rechenleistung außerhalb des Display-Windows rausholen.
    2: Volle Lotte, alles was drin ist bei normalem VIC-Display. Wer noch mehr Speed haben will, der muß den VIC abschalten, so wie man auch beim normalen C64 ein bischen mehr Performance 'rausholt.


    Jens

  • Dann könnt man das eventuell schön zum vollwertigen USB host wie bei der neuen 1541U ausbauen


    USB Host ist mit diesem Microcontroller nur eingeschränkt möglich, ein so genannter "reduced host". Der würde nur ganz wenige Geräte können (vielleicht ne Tastatur und ausgewählte USB-Sticks, aber nie irgendwas Anderes), würde nicht mit USB-Hubs funktionieren und der Code dafür würde den Platz im Controller sprengen (nicht vergessen, dass der Controller auch andere Aufgaben im System hat!).


    Einen USB-Host ohne einen vollwertigen USB-Stack mit einem guten Satz an Treibern ist meiner Meinung nach Betrug. Wenn man einen Host anbietet, glaubt die Mehrheit der Kundschaft, dass man da nen Hub und einen ganzen Blumenstrauß an Peripherie anschließen kann - und meckert natürlich zurecht, wenn man das dann doch nicht kann. Aus dem Grund wirst Du von mir ein Versprechen dieser Art nicht bekommen. Der USB auf Chameleon ist ein Device, nichts weiter. Mir ist klar, dass ich damit evtl. Kunden an die 1541U verliere. edit cp2: das-"Schlechtmachen"-anderer-Produkte-entfernt


    Jens

  • Wer Chameleon jetzt schon zuhause ausprobieren will, der kann das auf dem C-One machen. Peter hat gerade einen neuen Core online gestellt, der schon wesentlich mehr kann - in erster Linie SID und 1351 Maus-Emu. Ob die 1541-Floppy Emu drin ist müsste ich selbst mal ausprobieren, aber sie ist herzlich unsinnig, weil man mit diesem Core kein d64 "einlegen" könnte:


    http://syntiac.com/c_one.html


    Der SID hat übrigens auch noch keine Filter, die kommen erst mit einem der nächsten Updates. Nur um die Langeweile zu überbrücken :-)


    Jens

  • Bitte keine Diskussionen über Sinn und Unsinn der SCPU. Die Ursprungsfrage "funktionierts am durchgeführten Port" ist bereits beantwortet, aber nicht in der Klarheit wie meiner Meinung nach notwendig:


    Chameleon greift so tief ins System ein, dass es wirklich NUR direkt am Expansionsport betrieben werden kann. Selbst der Betrieb in einer Expansionsport-Erweiterung ist schon kritisch und nicht garantiert. Die Syncronisation mit dem C64-VIC ist nicht trivial, auch das Zyklenweise Einblenden von eigenem Speicher, speziell für den VIC, ist sehr kritisch. Das war ein Grund, aus dem Modul ein super-multi-Funktionsmodul zu machen, denn der Betrieb anderer Hardware zusätzlich ist nahezu unmöglich.


    Jens

  • Weder die USB- noch die mini-DIN9 Buchse werden schräg - dafür habe ich jetzt ne Lösung.


    Den VGA aber "extern" zu legen würde praktisch keinen Platzgewinn bringen, weil ich ohnehin schon eine Kurzversion des Steckers habe. Das Teil ist sehr stabil und würde tatsächlich irgendwelche Kräfte direkt auf den Modulport übertragen. Aber hey, was kann schlimmeres passieren, als bei einem anderen Modul oder Kabel auch, das am Computer steckt? Einmal Platz machen, gut ist. Wenn der Monitor vom Tisch fällt und den Computer bzw. das Modul mit sich reißt, ist das definitiv nicht "Normalbetrieb" und muß nicht vom Designer abgefangen werden.


    Jens

  • Nicht mutmaßen, sondern Papi fragen.


    Alle Speeder die "nur" mehr Ram in der Floppy brauchen, werden funktionieren. Das wird auch in der ersten Release-Version schon möglich sein, denn die drei Zeilen VHDL-Code extra sind echt kein Thema.


    Parallelkabel emulieren ist sehr wohl denkbar, jedoch wird das nur mit Einschränkungen am "echten Gerät" möglich sein. Im Standalone-Mode ist das einfacher. Bis wir das machen, vergeht aber ne Menge Zeit - bitte nicht drauf hoffen, dass das dieses Jahr noch kommt. Ich möchte das aber persönlich auch haben - mit "Parallelkabel und Speicher" geht nämlich Dolphin-DOS. Das hatte ich als Schüler und will's heute wieder haben :-)


    Jens