You are not logged in.

Dear visitor, welcome to Forum64. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

Nightshade

Intermediate

  • "Nightshade" started this thread

Posts: 439

Date of registration: Feb 16th 2007

Location: Bayern

  • Send private message

member since 72 month member since 72 month member since 72 month member since 72 month

1

Tuesday, November 6th 2007, 8:26pm

Kleine 6510 Timing Frage

Ich beziehe mich im Folgenden auf dieses Datasheet.

Ich bin ja noch nicht ganz ausgereift, was das Lesen von Datasheets angeht.
Aber nach meinen Fragen über den Explansionsport habe ich sie mir genauer durchgelesen und irgendwie passt alles für mich nicht recht zusammen.

In diesem Dokument über den VIC II steht:
  • ø2 ist der vom MPU ausgehende Takt für die Benutzung der Busse.
  • ø2 Low bedeutet, der VIC belegt die Busse.
  • ø2 High bedeutet, der MPU belegt die Busse.
So weit, so schön.

Jetzt habe ich mir die Timing-Diagramme im Datasheet angeschaut.
Ich nehme an, das obengenannte ø2 ist hier ø2(Out).
Siehe Seite 4, linke Spalte, zweites Diagramm von Oben.
In der Seite wird der Lesezugriff beschrieben.

Und was sehe ich? Der MPU führt sehr wohl Zugriffe auf die Busse während dem Low vom ø2 aus, die eigentlich dem VIC vorbehalten sein sollten.

Beispiel:
"Address from MPU": TADS (Address Setup Time from MPU) Seite 6, zweite Tabelle von Links.
Dort steht: Typ 100, Max 300

Wenn ich das jetzt richtig verstanden habe bedeutet das, dass vom Beginn der Low-Phase vom ø2 maximal 300 ns vergehen (typisch sind 100) bis der MPU den Addressbus für den nächsten Lesezugriff setzt.
Das wäre ungesund, wenn die minimale Länge der Low-Phase 420ns ist. (Seite 6, PWø2)

Das heißt, dass so wie ich das sehe der MPU in die Buszeit des VIC reinpfuscht. Zumindest wenn man nach der Aussage aus dem Text über den VIC geht.

Kann mich jemand aufklären, wo ich da etwas falsch lese?

2

Tuesday, November 6th 2007, 10:18pm

Hi !

Da ist aber auch noch die AEC Leitung:

AEC This pin is wired to the processor signal with the same name (see
there). It reflects the state of the data and address line drivers
of the VIC. If AEC is high, they are in tri-state. AEC is normally
low during the first clock phase (ø2 low) and high during the
second phase so that the VIC can access the bus during the first
phase and the 6510 during the second phase. If the VIC also needs
the bus in the second phase, AEC remains low.

Nightshade

Intermediate

  • "Nightshade" started this thread

Posts: 439

Date of registration: Feb 16th 2007

Location: Bayern

  • Send private message

member since 72 month member since 72 month member since 72 month member since 72 month

3

Wednesday, November 7th 2007, 10:13am

Hmm, danke, jetzt lese ich das auch.

Schon eigenartig.
Ich bin irgendwie nicht davon ausgegangen, dass auch bei "regulären" Zyklen der VIC dafür verantwortlich ist, den MPU zu "blockieren".
Aber dann macht das wirklich Sinn. Der MPU kann weiterarbeiten unabhängig ob AEC gesetzt ist. D.h. er kann schon mal seinen nächsten Speicherzugriff "vorbereiten", ohne dass sich das nach außen auswirkt.

Etwas eigenartig bleibt das aber für mich.
Unter anderem deshalb, weil der RDY-Eingang am 6510 im Datenblatt überhaupt nicht beschrieben wird! Er wird vollkommen ignoriert. Hätte gerne noch schwarz auf weiß nachgelesen, was für eine Rolle er ganz genau in dem Zusammenspiel spielt.

Jedenfalls danke für deine Antwort!

strik

Unregistered

4

Wednesday, November 7th 2007, 6:02pm

Quoted

Original von Nightshade
Etwas eigenartig bleibt das aber für mich.
Unter anderem deshalb, weil der RDY-Eingang am 6510 im Datenblatt überhaupt nicht beschrieben wird! Er wird vollkommen ignoriert. Hätte gerne noch schwarz auf weiß nachgelesen, was für eine Rolle er ganz genau in dem Zusammenspiel spielt.

Jedenfalls danke für deine Antwort!

Meiner Meinung nach (schon immer) beschreibt das Datenblatt des 6510 auch zu großen Teilen nicht den 6510, sondern den 6502. Damit würde man manche Diskrepanz besser verstehen, z.B. auch, wieso RDY nicht beschrieben wird.

Bezüglich des Timings war ich immer der Meinung, dass das Timing des 6510 gegenüber dem 6502 etwas "frisiert" wäre, um dem VIC den halben Takt zu lassen. Ich habe das aber nie überprüft.

Es gab früher immer viele Anleitungen, wie man PHI2 verzögert, wenn man am Expansionsport des C64 einen 6522 (oder 6821) anschließen will. Siehe z.B. auch den Hinweis von André Fachat auf http://www.6502.org/users/andre/icap/c64ser.html, "Here's how it works in the C64", zweiter Absatz.

Ich war mir aber nie ganz sicher, ob das Timing wirklich anders war, oder ob es sich nur indirekt durch die "AEC-Schweinereien" so ergibt.

Gruß,
Spiro