Newsgroups: zer.z-netz.rechner.c64+c128.allgemein
Subject: Zeitverhalten
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Distribution: world
-- Tarinoi tämän perään. --
Tach alle!

Hoffentlich kommt diese Nachricht durch.  Ich sollte wirklich einen
zuverlässigen Z-Netz Knotenrechner finden, wo ich Nachrichten posten
darf.  Oder Ihr sollt eine de.comp.sys.cbm Gruppe gründen.  Der Server
bei Uni Stuttgart ist ein guter Kandidate.

Aber hier ist Euch was zum Lesen.  Die Timing-Diagramme habe ich aus
den Diagrammen von Cebix modifiziert.  Leider verfüge ich über keinen
Oszi, und daher habe ich die Sync-Signale in den Diagrammen von
6567R56A und 6567R8 nicht vermessen.  Aber sie haben schon Sinn, finde
ich.  Die Breite der Sync Pulsen kann ich später mit Hilfe eines
externen Taktes aus einem Amiga vermessen.

Es gibt noch zumindest zwei Videochips, die ich gerne vermessen
möchte.  Und zwar sind sie 6569R3 und 6569R5.  Ich habe ein paar R3
Chips zu Hause, also das ist kein Problem.  Aber wer hat einen 6569R5
und einen Monitor, der genug vom rechten Rahmenbereich anzeigt?  Ich
möchte wissen, wo genau die Sprite-Störungen bei horizontal
expandierten Sprites auftreten.

Übrigens, habt ihr jemals einen 6569R4 gesehen?  In meiner VIC-Liste
habe ich jetzt u.a. die folgenden Einträge:

MOS 6569R3   2485 S  plastic HONG KONG HH202102 NCAR 3
MOS 6569R3   0686    plastic HONG KONG HH495850 HO-30
MOS 6569R5   4986 15 plastic HONG KONG HH452122 HC-30
CSG 8565R2   4387 22 plastic HONG KONG HH415201 HC-30
CSG 8565R2   3788 22 plastic HONG KONG HH345206 HC-30
CSG 8565R2   3091 22 plastic HONG KONG HH292254 HC-30

Wie Ihr sehen könnt, die 6569R3s wurden im gleichen Jahr produziert,
wo der R5 erschienen ist.  Hat Commodore einfach mit seiner Tradition
weitergemacht, daß die 6569-Chips nur ungerade Versionnummer tragen
sollen?  (Es gibt mit Sicherheit keinen 6569R2.)

Hier sind die Vermessungsprogramme, mit denen ich die Rahmen bei acht
Sprites ausgeblendet habe.  Auf einem Bad Line geht es natürlich
nicht, aber die Routine berücksichtigt das Zeitverhalten von Bad
Lines.  Zur Synchronisation wird die Doppelinterruptmethode
eingesetzt.

begin 644 raster.63
M`0@*",L'GC(P-C$```!,$PA,=`BM%`.N%0/)DM`$X`CP$7B-M@B.MPBIDJ((
MC10#CA4#J1N-$="I-(T2T*(.&&D#J*D`A?NE^YT`T&D8A?N8G0'0RLH0[ZE_
MC0W<C0W=H@&.&M"M#=RM#=U.&="@_XP5T%A@>*D;C1'0J8&-#=RI`(T:T*VV
M"(T4`ZVW"(T5`UA@J;B-%`.I"(T5`^KJZNKJZNX2T*D!C1G06*`)B-#]ZNKJ
MZNI,M0BIDHT4`ZD(C14#KA+0ZB0D[!+0\`#*RHX2T*(!CAG0H@+*T/WJJ:FI
M%(7[HLB@`HC0_<X6T(X6T.K&^S`C&*T1T.T2T"D'T.7&^^KJZNK.%M".%M"@
.`HC0_>KJZL;[$,U,@>H6
`
end

begin 644 raster.64
M`0@*",L'GC(P-C$```!,$PA,=`BM%`.N%0/)DM`$X`CP$7B-M@B.MPBIDJ((
MC10#CA4#J1N-$="I-(T2T*(.&&D#J*D`A?NE^YT`T&D8A?N8G0'0RLH0[ZE_
MC0W<C0W=H@&.&M"M#=RM#=U.&="@_XP5T%A@>*D;C1'0J8&-#=RI`(T:T*VV
M"(T4`ZVW"(T5`UA@J;B-%`.I"(T5`^KJZNKJZNX2T*D!C1G06*`)B-#]ZNKJ
MZNI,M0BIDHT4`ZD(C14#KA+0ZNKJ[!+0\`#*RHX2T*(!CAG0H@+*T/WJJ:FI
M%(7[HLB@`HC0_<X6T(X6T.K&^S`D&*T1T.T2T"D'T.7&^^KJZNK.%M".%M"@
/`HC0_>KJ)"3&^Q#,3('J
`
end

begin 644 raster.65
M`0@*",L'GC(P-C$```!,$PA,=`BM%`.N%0/)DM`$X`CP$7B-M@B.MPBIDJ((
MC10#CA4#J1N-$="I-(T2T*(.&&D#J*D`A?NE^YT`T&D8A?N8G0'0RLH0[ZE_
MC0W<C0W=H@&.&M"M#=RM#=U.&="@_XP5T%A@>*D;C1'0J8&-#=RI`(T:T*VV
M"(T4`ZVW"(T5`UA@J;B-%`.I"(T5`^KJZNKJZNX2T*D!C1G06*`)B-#]ZNKJ
MZNI,M0BIDHT4`ZD(C14#KA+0ZNHD).P2T/``RLJ.$M"B`8X9T*("RM#]ZJFI
MJ12%^Z+(H`*(T/W.%M".%M`D),;[,"48K1'0[1+0*0?0Y,;[ZNKJZLX6T(X6
2T*`"B-#]ZNKJZNK&^Q#*3('J
`
end


Genug geschrieben, hier ist der Text:

VIC-II 6567R56A, 6567R8, 6569R1, 6569R3 und VIC-IIe 8566 Zeitverhalten
======================================================================

      __                                      |
  IRQ   ______________________________________|__________________________
      ________________________                |    ______________________
   BA                         ________________|____
       _ _ _ _ _ _ _ _ _ _ _ _ _ _ _          |     _ _ _ _ _ _ _ _ _ _ _
  AEC _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __________|_____ _ _ _ _ _ _ _ _ _ _
       _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _| _ _ _ _ _ _ _ _ _ _ _ _ _
 Phi0 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |_ _ _ _ _ _ _ _ _ _ _ _ _
                                              |
Zugr. -x3x-x4x-x5x-x6x-x7x-xrxrXrXrXrcgcgcgcgc|gcgcgx-x-x0x-x1x-x2x-x3x-x
                                              |
S/LUM ----_________-----------|===========0102|3637383940=========-----__
                                              |
Korr. -_________-----------|===========0102030|7383940=========-----_____
                                              |
X-Koo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\|\\\\\\\\\\\\\\\\\\\\\\\\\\
      1111111111111111111111111110000000000000|11111111111111111111111111
      89999AAAABBBBCCCCDDDDEEEEFF0000111122223|3444455556666777788889999A
      C048C048C048C048C048C048C04048C048C048C0|C048C048C048C048C048C048C0
                                              |
Zykl. 6                   1 1 1 1 1 1 1 1 1 1 |5 5 5 5 5 5 5 6 6 6 6
      3 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 |3 4 5 6 7 8 9 0 1 2 3 1 2
                                              | (33 Zyklen gelöscht)

Diagramm: Das 6569- und 8566-Zeitverhalten (PAL-B).  Die Spritekoordinaten
$1F7-$1FF fehlen.


      __                                      |
  IRQ   ______________________________________|____________________________
      ________________________                |    ________________________
   BA                         ________________|____
       _ _ _ _ _ _ _ _ _ _ _ _ _ _ _          |     _ _ _ _ _ _ _ _ _ _ _ _
  AEC _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __________|_____ _ _ _ _ _ _ _ _ _ _ _
       _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _| _ _ _ _ _ _ _ _ _ _ _ _ _ _
 Phi0 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |_ _ _ _ _ _ _ _ _ _ _ _ _ _
                                              |
Zugr. -x3x-x4x-x5x-x6x-x7x-xrxrXrXrXrcgcgcgcgc|gcgcgx-x-x-x0x-x1x-x2x-x3x-x
                                              |
S/LUM ----_________-----------|===========0102|3637383940===========-----__
                                              |
Korr. -_________-----------|===========0102030|7383940===========-----_____
                                              |
X-Koo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\|\\\\\\\\\\\\\\\\\\\\\\\\\\\\
      1111111111111111111111111110000000000000|1111111111111111111111111111
      999AAAABBBBCCCCDDDDEEEEFFFF0000111122223|3444455556666777788888899999
      48C048C048C048C048C048C048C048C048C048C0|C048C048C048C048C048CCC048C0
                                              |
Zykl. 6                   1 1 1 1 1 1 1 1 1 1 |5 5 5 5 5 5 5 6 6 6 6 6
      4 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 |3 4 5 6 7 8 9 0 1 2 3 4 1 2
                                              | (33 Zyklen gelöscht)

Diagramm: Das 6567R56A-Zeitverhalten, extrapoliert.  Alle Spritekoordinaten
sind da.


      __                                      |
  IRQ   ______________________________________|______________________________
      ________________________                |    __________________________
   BA                         ________________|____
       _ _ _ _ _ _ _ _ _ _ _ _ _ _ _          |     _ _ _ _ _ _ _ _ _ _ _ _ _
  AEC _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ __________|_____ _ _ _ _ _ _ _ _ _ _ _ _
       _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _| _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
 Phi0 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |_ _ _ _ _ _ _ _ _ _ _ _ _ _ _
                                              |
Zugr. -x3x-x4x-x5x-x6x-x7x-xrxrXrXrXrcgcgcgcgc|gcgcgx-x-x-x-x0x-x1x-x2x-x3x-x
                                              |
S/LUM ----_________-----------|===========0102|3637383940=============-----__
                                              |
Korr. -_________-----------|===========0102030|7383940=============-----_____
                                              |
X-Koo \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\|\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
      1111111111111111111111111110000000000000|111111111111111111111111111111
      999AAAABBBBCCCCDDDDEEEEFFFF0000111122223|344445555666677778888889999999
      48C048C048C048C048C048C048C048C048C048C0|C048C048C048C048C04CCCC048C048
                                              |
Zykl. 6                   1 1 1 1 1 1 1 1 1 1 |5 5 5 5 5 5 5 6 6 6 6 6 6
      5 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 |3 4 5 6 7 8 9 0 1 2 3 4 5 1 2
                                              | (33 Zyklen gelöscht)

Diagramm: Das 6567R8-Zeitverhalten (NTSC-M), extrapoliert.  Bei der
Spritekoordinate $188 gibt es einen extra Zyklus, und Sprites können
da nicht positioniert werden.



Die angegebenen X-Koordinaten sind die der Sprites und der Lightpen-
X-Koordinaten. Die Zeile "S/LUM" gibt das Signal wieder, das man
an S/LUM messen kann, die Zeile "Korr." ist das selbe Signal, wie
es gerade vom VIC aufbereitet wird. Zur Sprite-Positionierung und
zur Angabe von Koordinaten von auf dem Bildschirm sichtbaren Dingen
ist immer die "Korr."-Zeile als Referenz zu verwenden.

Bei Sprite-Positionierung werden nur die untersten acht Bits der
vertikalen Koordinate beachtet.  Der 6569 hat $138 Rasterzeilen.  Wenn
der Y-Koordinate zwischen 0 und $37 liegt, wird der Sprite-DMA zweimal
bro Bilddurchlauf gemacht.  Auf dem 6567 hingegen treten solche
Effekte nicht auf, weil er nur $106 bzw. $107 Rasterzeilen darstellt,
und Sprites sind immer höher als 6 oder 7 Rasterzeilen.  Änderungen in
der vertikalen Sprite-Koordinaten werden ja nicht sichtbar, während
das Sprite gezeichnet wird.  Daher kann man die Sprites auf dem 6567
nicht ohne Rastereffekte bei 0-5 (bzw. 6) positionieren.

Spezielle Koordinaten:
Die Angaben sind in horizontalen Sprite-Koordinaten.

Weißer Strich                 : $1E0-$1E1 (6569, 8566)
                                $1E8-$1E9 (6567R56A)
                                $1E9-$1EA (6567R8)
Beginn des linken Rahmens     : $1EA (6567R56A)
                                $1EB (6567R8)
                                $1E2 (6569, 8566)
Beginn des 40-Spalten-Fensters: $018
Beginn des rechten Rahmens    : $158
Ende des rechten Rahmens      : $185 (6567R56A)
(erstes Pixel rechts davon)     $18D (6567R8)
                                $17D (6569, 8566)
Fehlende X-Koordinaten        : $1F8-$1FF (6569)
                                keine (6567)
Taktzyklen/Zeile*Rasterzeilen : 64*262 (6567R56A)
                                65*263 (6567R8)
                                63*312 (6569, 8566)

Erste sichtbare Rasterzeile   : $029 (6567)
                                $010 (6569, 8566)
Letzte sichtbare Rasterzeile  : $00C (6567)
                              : $12B (6569, 8566)

Auflösung                     : 411*234 (6567R56A)
                                418*235 (6567R8)
                                403*284 (6569, 8566)

Sprite-Störungen

Nummer                 0    1    2    5    6    7
-------------------------------------------------
Gestört ab           $153 $163                     nicht expandiert, 6567R56A
                     $153 $163 $173                nicht expandiert, 6567R8
                     $14B $15B                     nicht expandiert, 6569, 8566
                     $13B $14B                     expandiert, 6567R56A
                     $13D $14B $15B                expandiert, 6567R8
                     $137 $143                     expandiert, 6569R1
                     *)   *)                       expandiert, 6569R3
                     $133 $143                     expandiert, 8566
Ganz weg ab          $16B $17B                     6567
                     $163 $173                     6569, 8566

Wieder da ab         $177           $1C7 $1D7 $1E7 6567R56A
                     $177 $180      $1BF $1CF $1DF 6567R8
                     $16F           $1BF $1CF $1DF 6569, 8566

*) Diese Angaben müssen noch vermessen werden.


6567R8: Alle Sprites werden ab $188 ausgeblendet.

Die Rasterzeile vor den Sprites 1-7 ist gestört ab der X-Koordinate:
   $16B 6567R56A
   $16C 6567R8
   $164 6569, 8566


Art der Sprite-Störung:

Die Störung ist ein 8 Pixel breiter Balken, deren Farbe von den Spritepixeln
stammen, die in der Anfangsstelle der Spritestörung sind.  Nach dem Balken
wird nichts angezeigt.  Die Sprite-Störung funktioniert ganz logisch auch,
wenn die Sprites expandiert oder mehrfarbig sind.

Nach der Störung, wenn die Sprites wieder sichtbar werden, werden die
Sprites eine Rasterzeile nach oben verschoben, bzw. eine Zeile höher als
vor der Störung dargestellt.  Dieser Effekt ist beim Sprite 0 und bei
6567R8 auch bei dem Sprite 1 sichtbar.

Beispiel vom 6569R1, Sprite 0: Wenn das Sprite nicht expandiert ist,
ist die Störung sichtbar von $14B, wo das rechteste Pixel des Sprites
acht Pixel breit ist, bis $162, wo nur das linkeste Pixel des Sprites
angezeigt wird (und acht Pixel breit ist).  Ist das Sprite expandiert,
ist die Störung von $137 bis $162 sichtbar.


	Marko
