Hallo Besucher, der Thread wurde 288k mal aufgerufen und enthält 1358 Antworten

letzter Beitrag von Jood am

New, 1541 Ultimate-II+: Bugs, Features und Einstellungen

  • Ich habe dass auch wissen wollen, und habe damals diese seiten dazu gefunden:


    http://dustlayer.com/c64-archi…-complicated-relationship
    http://myoldcomputer.nl/techni…sheets/processors/6510-2/
    http://codebase64.org/lib/exe/…fely_freezing_the_c64.pdf


    Wie ich dass begreife ist PHI2 ein takt-signal (clock).


    Dass alles hat sein anfang mit ein krystal. Dass kristall liefert 2 verschiedene clock signale gleichzeitig (wahrscheinlich mit hilfe andere componenten)


    - die erste auf 3.58Mhz fur NTSC oder 4.43MHz fur PAL, und wird am COLOR pin (17 bei 6567/6569) ubergeben and der VIC-II
    - die zweite ist der 8.18Mhz fur NTSC oder 7.88Mhz fur PAL und der wird geleifert am VIC-II pin 22 (IN).


    Der VIC-II teilt der clock-signal auf pin 22 in 8 gleichen teile (zeitweise wird dass also 1 Mhz ungefahr), und schickt diese uber pin 17 (PHI0) zum 6510 processor auf pin 1 (PHI0 IN), under der processor schickt diesem clock-signal auf pin 38 (PHI2 OUT) zu alle anderen peripherals die damit synchonisieren.


    Der VIC-II und Processor teilen sich die zeit von 1 clock-signal, wen dass signal hoch ist (also 1 oder 5V) macht der processor seine arbeit (lesen+schreiben auf dem adres- und datenbusse), und wenn sie niedrig ist (also 0 oder 0V) dann steht die zugang frei fur den VIC-II chip um seine arbeit zu machen.


    Es kann aber sein dass der VIC chip mehr zeit braucht um seine arbeit zu machen, dan macht er pin 12 (BA der normalerweise hocht ist / 5V) niedrig (also auf 0V) und dass wird durch dem processor am pin 2 (RDY) gesehen. Dies hat zu folge dass der processor seine schreib aktionen ausfuhrt und dann stoppt mit seiner arbeit. Dass stoppen kann bis zu 3 cyclen dauern, wonach auch pin 16 auf dem VIC (AEC) auf 0 gesetzt worden kann damit pin 5 auf dem processor (auch AEC genannt) dafur sorgt dass der prozessor sich abschirmt von der datenbus, und dan ist der weg frei um controlle zum busse zu ubernehmen durch andere chips (dma/externer processor).


    So lange der AEC und BA niedrig sind, ist der 6510 prozessor angehaltet vom VIC.


    Leitung AEC (und damit dass anhalten des internen prozessors) ist aber nicht zu sehen am cartridge port, also der Ultimate weiss nicht genau ob und wann der processor angehaltet ist. Und ums schieriger zu machen, wenn der screen-blanking activ ist, findet keine DMA statt, und der Ultimate signaliert durch dass setzen von DMA dass er arbeit hat und der VIC den prozessor stoppen muss, aber dass darf nicht wenn der CPU im schreib modus ist/geht, und nur wenn der PHI2 hoch ist (also im prozessor aktiv) darf DMA activiert werden. Es muss also sicher gestellt werden dass der CPU im lesemodus ist/geht. Wenn der CPU uber DMA im schreibmodus angehaltet wird, gehen daten ins blaue hinein. Er kann aber der clock, BA, und datenbus sehen am cartridge-port, also wird auf grund maximal 3 cyclen nach dem der BA leitung auf 0 gesetzt ist geschatzt wann es scheinbar ok ist um seine arbeit zu machen. Fur der C64 breadbin ist dass 250ns bevor der falling edge (PHI2 ist hoch und geht auf 0), aber fur C64C ist dass anders weil der ein 850x prozessor hat und der sich anders benimmt. Der REU macht sein DMA 80ns nach der falling edge. Die PHI2 wert ist eine calculierte/gemessene schatzung ! Wenn aber die schatzung falsch ist, kan es spater zum absturzt kommen. All diese dinge zusammen machen dass freezen durch DMA compliciert, und unfreezen bringt dann manchmal ein absturz. Dass (un)freezen ist abhangig von viele sachen.



    Falling edge - Ein leitung geht von 5V hoch auf 0V niedrig, dass dauert etwas zeit. Rising edge ist dass umgekehrte (von 0V niedrig auf 5V hoch).
    Edge recovery - Etwas hat nicht ganz geklappt und ein neuer versuch wird gemacht nachdem alles wie zovor gesetzt ist.
    CPU Addr valid after PHI2 - Die adresbus und datenbus laufen nicht ganz synchron, wenn daten geschrieben werden auf den datenbus und der adresbus hat noch nicht den richtigen wert erhalten werden daten an der falsche adresse ubergeben, wass wieder zum absturtz fuhren konnte.


    Dass ist wass ich denke zu wissen, aber ich kan mich auch irgendwo irren, und ich hoffe es ist klar genug. Steht ja jeder frei mich zu korrigieren, gerne ;)

  • Dass ist wass ich denke zu wissen, aber ich kan mich auch irgendwo irren, und ich hoffe es ist klar genug. Steht ja jeder frei mich zu korrigieren, gerne

    Vielen Dank für Deine Mühe. Ist zwar etwas schwer zu lesen, aber trotzdem zu verstehen. Ich verstehe die Zusammenhänge jetzt jedenfalls viel besser.

    Wer die Menschen kennt mag die Tiere.

    Und auf das ganze Schlamassel gehört ein Grabstein mit der Aufschrift: Menschheit, du hattest von Anfang an nicht das Zeug dazu. Charles Bukowski


    Erst wenn man gegen den Strom schwimmt merkt man, was für Dreck einem entgegen kommt. ||

  • Ich sehe gerade ein neuen Commit von Gideon: "Done some work on UCI, IEC and now possible to upload PRG for DMA on TCP port 64."


    Hat Gideon dazu irgendwo Details mitgeteilt?

  • Das ist nicht so gut. TCP Port 64 lässt daraf schließen, dass die neue Funktionalität per Ethernet verfügbar ist... Fragt sich nur, welches Protokoll / welcher Client.

  • Habe jetzt doch noch gefunden, wie das mit dem neuen TCP-Port geht (ungetestet):


    Folgender Python-Code sollte eine Datei über Netzwerk in den C64 laden (entnommen aus Gideons python/sock.py):


    Code
    1. with open(sys.argv[2], "rb") as f:
    2. bytes = f.read(65536) # max 64K Meg
    3. if bytes != "":
    4. s = mysocket()
    5. s.connect(sys.argv[3], 64)
    6. s.mysend(bytes)
    7. s.sock.shutdown(0)
    8. s.sock.close()

    Man kann also auf dem PC eine Entwicklungsumgebung aufsetzen, und automatisiert die erstellete Datei direkt in das RAM des C64 laden.


    Grund genug, sich auf die nächste Firmware zu freuen. :-)

  • ...Man kann also auf dem PC eine Entwicklungsumgebung aufsetzen, und automatisiert die erstellete Datei direkt in das RAM des C64 laden....

    Das wäre aber ganz schön geil, wenn man im Netz was neues sieht oder etwas ausprobieren möchte und es per anklicken quasi direkt auf dem C64 starten kann ohne SD Karten gefummel, ziehen, stecken, kopieren usw.


    Wow!


    Hab das mal mit einer toshiba flash air WLAN SD-Karte versucht, die bei mir noch rumliegt.
    Aber die bieten von Haus aus nur Programme an, welche zum Beispiel per Browser am Client Daten von der Karte runterladen kann, aber nicht umgekehrt.
    Und ein entsprechendes .lua script, auf welchem das anscheinend alles aufbaut habe ich nicht gefunden. Ist aber schon paar Jahre her.

  • Mal was anderes zwischendurch.


    Kann das sein, dass man das Browsermenü der U2+ auch mit einem an Controllport 2 angeschlossenen Joystick bedienen kann. Ist das so gewollt?


    Gruß

    Wer die Menschen kennt mag die Tiere.

    Und auf das ganze Schlamassel gehört ein Grabstein mit der Aufschrift: Menschheit, du hattest von Anfang an nicht das Zeug dazu. Charles Bukowski


    Erst wenn man gegen den Strom schwimmt merkt man, was für Dreck einem entgegen kommt. ||

  • Gottseidank, hab schon einen Schreck bekommen. Das wusste ich bis jetzt nicht.
    Danke für die schnelle Antwort.

    Wer die Menschen kennt mag die Tiere.

    Und auf das ganze Schlamassel gehört ein Grabstein mit der Aufschrift: Menschheit, du hattest von Anfang an nicht das Zeug dazu. Charles Bukowski


    Erst wenn man gegen den Strom schwimmt merkt man, was für Dreck einem entgegen kommt. ||

  • Warum genau bekommt man dabei einen Schreck? Ist doch nett dass man das auch mit Joystick bedienen kann.

    Ja, ist es natürlich ohne Frage :thumbsup: .


    Meine Aussage beruht auf der Vermutung das evtl. der CIA-Chip meines 128er defekt sein und das evtl. deshalb nicht normal sein könnte. Wenn da jetzt jemand schmunzeln muss ist das voll ok! :rolleyes:
    Ich habe leider keine Ahnung, wie ich die CIA auf Fehlfunktion prüfen kann.


    Ich habe da so ein merkwürdiges Verhalten des Rechners (auch der U2+ Menüs), wenn ich am Controllport2 z. Bsp. eine 1351 Maus anschließe und eine Weile mit MSSIA rumspiele. Das ist hier beschrieben.


    Aber gehört nicht hierher, nur zum besseren Verständnis.

    Wer die Menschen kennt mag die Tiere.

    Und auf das ganze Schlamassel gehört ein Grabstein mit der Aufschrift: Menschheit, du hattest von Anfang an nicht das Zeug dazu. Charles Bukowski


    Erst wenn man gegen den Strom schwimmt merkt man, was für Dreck einem entgegen kommt. ||