000
05.04.2024, 22:30 Uhr
HeikoS
|
Hier das Thema, welches im Thread https://www.robotrontechnik.de/html/forum/thwb/showtopic.php?threadid=21866 ab <008-014> begonnen wurde, aber dort nicht hingehört.
Zitat: | jute-tom schrieb Es gibt allerdings andere Z8-Prozessoren, wo es die Register von 0x80-0xEF auch gibt, wobei der Bereich von 0xE0-0xEF nur durch Arbeitsregister zugreifbar sind.
Ein pop #80 wurde übrigends beim 2k Ju+Te für das Auslesen des Videorams zur Erzeugung des Videosignals genutzt. |
Zitat: | HeikoS schrieb Das ist ja interessant. Der BCS3 nutzt ja NOP's, um die Adressen der CPU hochzuzählen und den BWS auszulesen. Der Zeichengenerator sieht die BWS-Daten und die CPU NOP's bis zum Zeilenende.
Wie ist das beim JuTe 2K gelöst? Wie spielt pop #80 dabei eine Rolle? Habe ich mir noch garnicht genau angesehen. Und wie ist es beim JuTe 6K gelöst? Hat schon mal jemand den ROM des Videoteils disassembliert?
Viele Grüße, Heiko
|
Zitat: | HeikoS schrieb Danke für die Infos ! Den JuTe 2/4K hat Volker auch sehr gut disassembliert und kommentiert. Den Video-ROM vom 6K sehe ich das erste mal hier disassembliert. Super !
Das schaue ich mir genau an ... ich habe ja immer noch die Hoffnung einen Weg zu finden, die Bild-Störungen durch den Zugriff der Host-CPU geschickter zu unterdrücken, als in der Austastlücke zu arbeiten. Da gibt es ja unterschiedliche Wege.
Die mit Abstand beste Lösung ist aus meiner Sicht beim Original-ZX-Spectrum zu finden, der den CPU-Takt für einen winzigen Moment anhält, bis die BWS-Logik die Daten in die Schieberegister geladen hat. Das geht durch geschicktes Ausnutzen des Z80-Timings. Die Adress-Information wird früh genug ausgegeben um zu detektieren, dass auf den BWS-Speicher zugeriffen werden soll. Dann kommt die Takt-Anhalte-Logik zum einsatz. Genial - das ist sehr gut im Buch von Chris Smith beschrieben: http://www.zxdesign.info/book/. Das Buch habe ich schon rauf und runter gelesen. Es ist hier ganz sicher bekannt - zumindest in der Spectrum-Fraktion.
Einige mir bekannte Spectrum-Clones verwenden WAIT. Wie ist es eigentlich im KC 85/4 gelöst ? Der /3 hatte ja auch dieses leidige Problem.
Für den JuTe 6K eine Lösung zu finden, wäre eine schöne Knobel-Aufgabe. Hat jemand Ideen dazu? Ich muss erstmal den kleinen aber feinen Video-ROM-Code komplett verstehen.
Viele Grüße, Heiko |
Zitat: | Bert schrieb
Zitat: | HeikoS schrieb Wie ist es eigentlich im KC 85/4 gelöst ? Der /3 hatte ja auch dieses leidige Problem. |
Ja, auf dem /3 hat die CPU Vorrang, was zu den sichtbaren Störungen führt. Beim KC85/4 gibt es drei Zeitslots pro 8 Pixel: 1x wird die Farbe gelesen (duf), 1x wird die Pixelinformation gelesen (dup) und 1x darf die CPU auf den IRM zugreifen (duz). Damit kommen sich die Zugriffe nicht mehr in die Quere.
Grüße, Bert |
Zitat: | HeikoS schrieb Danke Bert ! ... Habe den Schaltplan vom KC85/4 von robbi angeschaut.
Die Signale duf, dup, duz werden aus dem ersten Zähler (D401) abgeleitet und teilen die Zeit für 8 Pixel in die 3 Bereiche. Die CPU greift aber asynchron (t) zu diesem Raster auf den BWS zu. Wie wird denn der CPU gesagt dass sie warten muss, wenn die BWS-Steuerung die Pixel/Farben benötigt zum Zeitpunkt (t) ?
Grüße, Heiko |
Zitat: | Bert schrieb
Zitat: | HeikoS schrieb Die CPU greift aber asynchron (t) zu diesem Raster auf den BWS zu. Wie wird denn der CPU gesagt dass sie warten muss, wenn die BWS-Steuerung die Pixel/Farben benötigt zum Zeitpunkt (t) ?
|
Jain.
Im CAOS-Handbuch findet sich dieser Satz:
Zitat: | Die Zugriffszeit auf den gesamten IRM-Speicherbereich von 8000H bis BFFFH kann sich auf 2,4?s erhöhen, da der Speicherzugriff mit dem Grafiksystem synchronisiert werden muss. Dies verzögert die Programmabarbeitung in diesem Bereich.
|
Das hatte ich mir mit dem Oszi vor Jahren mal angeschaut. Da gibt es ein Signal, was die CPU kurz warten lässt, falls sie gerade nicht dran ist. Allerdings passierte das bei meinen Untersuchungen genau einmal und danach waren alle weiteren CPU-Zugriffe auf den IRM 'automatisch' synchron.
Die Details müsste ich auch erst wieder aus dem Schaltplan raussuchen.
Viele Grüße, Bert |
Dieser Beitrag wurde am 06.04.2024 um 09:14 Uhr von HeikoS editiert. |