Diskussion:Sprite-Multiplexer

Aus C64-Wiki
Zur Navigation springenZur Suche springen

Beispielprogramm etwas ungünstig...[Quelltext bearbeiten]

Ich hab' mir das Beispielsprogramm gerade mal etwas genauer angeschaut. Es funktioniert zwar, ist aber von der Technik her eher grottig... Was mich stört ist, dass es zwei Techniken mischt und man damit das schlechteste aus zwei Welten bekommt: Es benutzt den IRQ um auf Zeile 0 zu warten. Danach wartet der Interrupt im Busy-Wait der Reihe nach auf die Zeilen 78, 100, 122, 144 und 255. Bei den ersten vieren wird jeweils das Sprite verändert. Beim letzten wird endlich der IRQ wieder frei gegeben. Man hat dadurch die Nachteile des Busy-Wait, nämlich das der Prozessor blockiert ist, und kann noch nicht mal den IRQ nutzen, da der gekapert ist. Ich hoffe, es ist OK, wenn ich das durch bessere Beispiele ersetze?--Berni (Diskussion) 11:09, 31. Dez. 2021 (CET)

Geschichte[Quelltext bearbeiten]

Ich hab' den Abschnitt über Geschichte nur sehr rudimentär ausgefüllt, weil ich hier nicht fit bin. Ich wüsste noch nicht mal so recht, wo ich suchen sollte. Würde mich freuen, wenn jemand, der davon Ahnung hat, das noch ausbaut.--Berni (Diskussion) 15:09, 31. Dez. 2021 (CET)

Es ist bisher ein sehr schöner Artikel geworden. --Jodigi (Diskussion) 06:35, 1. Jan. 2022 (CET)

Danke! :-) --Berni (Diskussion) 08:46, 1. Jan. 2022 (CET)

Ah, ist dieses Thema der Grund, weshalb der Artikel zu Tegra entstanden ist? Ich kann ggf. mehr zur Implementierung schreiben. Man muss in den Interrupts ja im Wesentlichen zwei Dinge machen: die vertikalen Sprite-Positionen und die Sprite-Pointer ändern (um etwas anderes anzuzeigen). Ersteres ist weniger zeitkritisch, während das Ändern der Sprite-Pointer genau getimed werden muss. In Tegra habe ich dies gelöst, indem ich zwei alternierende Interrupt-Routinen implementiert habe, d.h. das Ändern der Positionen und der Sprite-Pointer geschieht in zwei getrennten Routinen, die sich gegenseitig abwechseln. --Michael.Gentner (Diskussion) 17:44, 10. Mär. 2022 (CET)

Nein, das war nicht der Grund. Ich war die letzten Wochen damit beschäftigt, meine alten Disketten zu sichten und zu sortieren. Dabei waren auch einzelne Programme die ich in Tegra geschrieben hatte. Da ich mit Tegra nicht mehr vertraut war, hatte ich zuerst im Wiki nachgeschaut, da war aber nichts. Nach einiger Suche bin ich dann im 64'er fündig geworden und dachte mir, dass es sinnvoll wäre, das ins Wiki einzutragen. :-)
Wenn du magst, kannst du gerne den Artikel ergänzen. Ich habe die letzten Wochen auch genutzt, mir einiges im Bereich der Rastertricks beizubringen. Als ich den Artikel hier geschrieben habe, war ein Sprite-Multiplexer noch eine ziemliche Herausforderung für mich. Inzwischen nicht mehr; aber es gibt halt so viele Baustellen, an denen man arbeiten könnte... :-) --Berni (Diskussion) 18:00, 10. Mär. 2022 (CET)


Der Artikel zu Tegra ist unabhängig von der Überarbeitung bei dem Artikel Sprite-Multiplexer entstanden - auch wenn das so aussieht!
Wenn es da noch Ergänzungen bei Tegra oder hier gibt, immer zu... --Jodigi (Diskussion) 00:04, 11. Mär. 2022 (CET)

Ok, ich habe einen Abschnitt mit einem Beispiel hinzugefügt, das auch die Spritedatenzeiger verändert und nahtloses vertikales Aneinanderreihen erlaubt, so wie in Tegra. Hatte ich seinerzeit mit Hypra-Ass erstellt, ich hoffe die leicht andere Assembler-Syntax ist okay. --Michael.Gentner (Diskussion) 11:06, 11. Mär. 2022 (CET)