Hallo allerseits,
ich melde mich mal nach ein paar Monaten wieder hier zurück,da ich ein bischen am C16 Raster gemessen habe.Ich habe mit einem LM1881 und einem CPLD Board eine dekodierung des C16 CSYNC Signals gemacht,um einzelne Zeilen triggern zu können.Will man den TED nachahmen,muss man natürlich das Timing richtig machen.Ich hänge mal vier Bilder an,welche den CSYNC und die drei Arten von Zeilen zeigen die der TED produziert.
1) CPU_SLOW : Eine Zeile besteht aus 65 CPU Takten und zwar 16x schnell und 49x langsam.
2) CPU_FAST : Eine Zeile besteht aus 109 CPU Takten und zwar 104x schnell und 5x langsam.
3) CPU_IDLE: Die CPU kommt garnicht dran, der TED klaut sich die gesammte Zeile.(nennt man das "Bad Line" !?)
Es gibt zu allem Überfluss,um es noch komplizierter zu machen,noch zwei register bits welche noch eine Rolle spielen:
a) $FF06 bit 4 screen blanking : Der Bildschirm füllt sich mit border Farbe aus $FF19 und es werden immer CPU_FAST Zugriffe gemacht.
b) $FF13 bit 1 force single clock: Der TED gibt *immer* single clock aus,auch während der hsync Phase einer Zeile.(das muss ich nochmal messen!)
Ich hoffe ich habe alle Fälle zusammen!
Was genau der TED da macht an Zugriffen muss ich noch herausfinden,da mein LA so wenig Speicher hat,dass ich keine vollständige Zeile mit all den Adressen und Daten des TED aufnehmen kann.Muss also den CPLD trigger code erweitern,dass ich auch innerhalb einer Zeile bezogen auf den Zeilenanfang triggern kann...
Grüsse.
PS: Konkreten code der jetzt was macht habe ich nicht,aber ich plane erstmal ein Xilinx Spartan3 Board mit einem 200K chip zu verwenden.Vielleicht habe ich ja in 3 bis 4 Monaten einen $FF19 border...