Nimm mir nicht gleich den ganzen Mut, bevor ich überhaupt erst richtig angefangen habe zu lesen
mfG Hucky
Du bist in Begriff, Forum64 zu verlassen, um auf die folgende Adresse weitergeleitet zu werden:
Bitte beachte, dass wir für den Inhalt der Zielseite nicht verantwortlich sind und unsere Datenschutzbestimmungen dort keine Anwendung finden.
letzter Beitrag von DMHas am
Nimm mir nicht gleich den ganzen Mut, bevor ich überhaupt erst richtig angefangen habe zu lesen
mfG Hucky
Ich auch!
ok,
unten ist das listing und prg-file.
zu erklärung.
$1000-101e: simple irq-init routine
$101f-1037: teil 1 des double-irq um ein stabilen raster zu bekommen.
$1038-104c:teil 2 des double-irq. aber hier flacker der raster nicht mehr.
so...ab $1055 beginnt die eigentliche routine.
und was macht die?
wir gehen davon aus, dass eine "normal" rasterzeile 63 zyklen, und eine badline (in der die neuen zeichen für die nächste zeile geholt werden) 20 zyklen hat.
d.h. wenn ich die hintergrundfarbe eine zeile vor der badline mittem im bildschrim wechsle (z.b. auf hellgrau schalte) und genau 83 zyklen später wieder auf blau zurück schalte bekomme ich einen Raster, der genau 2 zeilen hoch ist und horizontal betrachtet genau untereinander die farbe wechselt (sieht dann aus, als hätte der raster einen knick).
genau das macht die routine ab $1055.
erst wird die hintergrundfarbe auf hellgrau geschaltet.
dann kommen einige "verzögerungsbefehle".... 35 x NOP = 70 Zyklen, 1 x LDA 07F8 = 4 Zyklen, 1 x BIT 00 = 3 Zyklen und dann nicht die 6 Zyklen für das zurückschalten der Hintergrundfarbe vergessen (nur einmal).... sind insgesammt: 70+4+3+6=83 Zyklen....
soweit ist ja alles noch einfach.
Doch nun schauen wir und diesen LDA 07F8 mal genauer an, und warum der so "unmotiviert" zwischen all den NOPs steht
die Adresse (07F8 ) ansich ist egal, könnte auch jede andere sein.
wichtig ist die "zeitliche" position und die Art des Befehls.
Leute die sich genauer mit Assembler befassen wissen, dass so ein LDA genausoviel Zyklen braucht wie ein STA. Nämlich genau 4 Zyklen.
Ändert man nun den LDA in ein STA dürfte sich eigentlich am Timing nichts ändern, und der Raster genauso aussehen wie vorher.
TUT ER ABER NICHT!!!!
Wir sehen, dass nun 1 Zyklus früher wieder auf Blau zurückgeschaltet wird.
Das liegt daran, dass der STA eben genau an der Schwelle liegt, an der die CPU für das einlesen der neuen Zeichen (Badline) für 43 Zyklen angehalten wird.
Nur ein SCHREIBBEFEHL kann eben noch 1 Zyklus ausführen....(ein Ladezyklus dagegen nicht).
Daher könnte man meinen, man hat in einer Badline 21 Zyklen zur Verfügung, oder der STA braucht plötzlich nur noch 3 zyklen...
So, ich hoffe ich habe nun nicht allzuviele hier verwirrt
ps: Das selbe Phänomen gibt es mit den DEC,INC, ASL....usw Befehlen, die eigentlich 6 Zyklen brauchen, an dieser Schwelle (die es auch beim Beginn der Spriteverzögerung der CPU gibt) plötzlich nur noch 4 Zyklen brauchen....
Hier, was ich irgendwann mal im CF zu IRQ's geschrieben habe. Ich hab jetzt nur so CF-Typische Kürzel rausgenommen und sonst nichts überarbeitet/kontrolliert. Vielleicht sind ja Bugs drin, aber zumindest damals war ich mir recht sicher, was ich da schreibe
Ich habe mir mal das Diagramm aus dem VIC-Artikel
vom Andreas Grützmann angesehen.
Also 40 Zyklen braucht der VIC in einer Bad Line.
Dann sind da noch die 3 Takte für die Busübernahme.
D.h. also, die Zyklen können von 40 bis 43 schwanken,
je nachdem, was für ein Befehl an dieser Schwelle ausgeführt wird.
Bei einem Lesebefehl ist's klar, da wird der Prozessor
direkt unterbrochen und die Zyklen liegen bei 43, der
Prozessor hat dann noch 20 - richtig?
Und bei einem Schreibbefehl? Der wird ja angeblich noch ausgeführt.
Aber wie, wenn der doch bis zu 6 Zyklen braucht???
Es dreht sich weniger um die Art des Befehls als darum, was denn der Befehl so auf dem Bus veranstaltet. Ein Befehl wie "Sta 1024" braucht 4 Takte. Die ersten 3 sind Lesetakte für die 3 Bytes des Befehls an sich, nur der 4. Takt ist ein Schreibtakt, der noch ausgeführt wird. Befehle wie "Inc 1024" haben aus technischen Gründen 2 Schreibtakte, ein JSR sowieso, und ein BRK müsste 3 haben. Die Vorgänge zu den einzelnen Takten sind im AAY64 gut aufgeschlüsselt, musst Du mal reingucken, hab die nicht alle im Kopf.
Ach so.
Deshalb reichen die 3 Takte zur Busübernahme,
weil der Schreibprozess an sich max 3 Takte braucht.
Jetzt ist's mir klar.
D.h. dann also, dass man dann wirklich schauen muss,
dass an der besagten Schwelle immer ein definierter Befehl
steht, damit man das richtig austimen kann.
ehm,, wo gibts jetzt nochmal das pdf zu dem kurs ?!?!??!
ZitatOriginally posted by Krill
cbmhardware schrieb:
Also... das würd ich so ganz und gar nicht sagen. Schau mal nach #c-64 im IRCnet oder im EFnet
Oh, hallo Krill! Dich habe ich hier ja noch gar net gesehen. Schön dich zu lesen.
Gibt's eigentlich Pläne die 1x Years Plush noch irgendwann zu releasen? Zur X vielleicht, das wäre doch ein guter Zeitpunkt. Habe auch schon immerhin 1,5 Parts fertig.
PS an cbmhardware: weiss zwar net worum es ging, aber ich hänge hin und wieder im channel #comballradio (irc.comballradio.de) herum. Wäre ja schlimm wenn man nicht mal mehr genug Zeit zum idlen hätte...
ZitatOriginal von trifox
ehm,, wo gibts jetzt nochmal das pdf zu dem kurs ?!?!??!
Ja, ich frage da auch mal bescheiden nach.
In der Download-Ecke wurde ich mal nicht fündig.
-- Thomas
Hi Krill
sry aber 2 Deiner Links funktionieren nicht :
Bei dem ersten ist die Site under Construction, und bei dem zweiten (der auf deutsch) funzt gar nix mehr.
Könntest Du das checken wenn Du Zeit hast das würde mich sehr interessieren !
Danke vorab ...
Spindizzy
P.S.:...das PDF such ich auch !!!
Spindizzy
P.P.S.:
Den IRQ_Kurs hab ich !!! :rotwerd:
Spindizzy
P.P.P.S
oben rechts, über deinen Postings, ist ein wunderschöner Button der den sinnvollen Titel "Ändern" trägt. :<<<<<>>>>:
Ja,ja,ja... alter Thread und so...
Hat jemand noch diese PDFs? Oder sogar einen Scan? Finde das nirgends auf der Filebase oder F64 Platte.
Bevor wieder jemand mit dem Vorschlag kommt: Ich kenne natürlich diese Webseite, aber dort sind keine Scans drauf.
Ja,ja,ja... alter Thread und so...
Hat jemand noch diese PDFs? Oder sogar einen Scan? Finde das nirgends auf der Filebase oder F64 Platte.
Bevor wieder jemand mit dem Vorschlag kommt: Ich kenne natürlich diese Webseite, aber dort sind keine Scans drauf.
Äh, bevor Du Dir 'nen Wolf suchst: die MD64 war ein Diskmagazin, da gibt's nix zu "scannen" - außer die Coverhüllen
Danke, mir ist schon klar, dass es kein vollwertiges Printmagazin war.
Aber ich dachte, es hätte noch ein paar Seiten Papier begleitend gehabt.
Zumindest ist das so bei den anderen 1995er Ausgaben so auf der F64 Platte...
Danke, mir ist schon klar, dass es kein vollwertiges Printmagazin war.
Aber ich dachte, es hätte noch ein paar Seiten Papier begleitend gehabt.
Zumindest ist das so bei den anderen 1995er Ausgaben so auf der F64 Platte...
Weiß nicht mehr genau, wie es in der "Spätphase" war - da haben die glaube ich einfach nur noch alten Content unter dem Namen "Magic Disk Classic" wiederaufgelegt. Davor lag die Disk 'ne zeitlang einfach der Playtime bei.
Zur Zeit vom Interruptkurs (Start 6/90) war es ein reines Diskmagazin.
Die Cover der "regulären Ausgaben" bis 1993 findet man komplett auf Kultboy. Auf der "Rückseite" war häufig nur noch eine Seite Werbung, die dort bei den Scans fehlt.
Hier die Infos dazu ausm C64 Wiki:
ZitatDie "Magic Disk 64" war ein reines deutschsprachiges Diskettenmagazin für den Commodore 64, dass im CP Verlag (Computer Publications GmbH) von 12/1987 (27.11.1987) bis 11/1993 eigenständig erschien. Die 5,25"-Programmdiskette lag in einem entsprechenden "Magic Disk 64"-Umschlag mit Pappe und wurde am Kiosk bundesweit verkauft.
Mit der Ausgabe 12/1993 wurde die "Magic Disk 64" mit dem Diskettenmagazin "Game On" zusammengelegt und mit der Computerspielezeitschrift "Play Time" gebundelt als "C64 Three in One Kombi" verkauft, d.h. es gab 2 Disketten und eine Spielemagazin für verschiedenen Systeme zu einem Preis. Das reine Diskettenmagazin "Magic Disk 64" wurde mit Ausgabe 07/1995 eingestellt.
Danach startete der Verlag den Versuch unter dem Namen "Magic Disk Classic 64" eine C64-Zeitschrift mit Heftdiskette herauszugeben. Es sind hier die monatlichen Ausgaben 08/1995 bis 01/1996 erschienen.
Quelle: https://www.c64-wiki.de/index.php/Magic_Disk_64
EDIT: im Wiki sieht man auch, dass der IRQ-Kurs 1993-1995 nochmal lief. Das allerdings auch zur reinen Diskmag-Zeit als Beigabe zur Playtime.
Hat jemand noch diese PDFs? Oder sogar einen Scan? ...
Ich hatte schon einmal angefangen damit. Ich glaube ich werde es mal weiter machen und dann veröffentlichen.
(besteht da noch Copyright drauf )