PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Atari ST Scrolling


Lenon
2012-01-07, 20:25:13
Hi Leute,

ich schaute mir gerade technische Details alter 16 Bit computer an, da fiel mir auf, daß der Atari ST kein Scrolling in Hardware beherschte ...

Jetzt mal eine Frage an die Experten ...

Der Acorn Archimedes beherschte auch kein echtes Hardwarescrolling.

Hier war es möglich die Anfangsadresse des Bildschirmspeichers im Ram in
gewisser Schrittweite zu verschieben. Zusätzlich wurde der vertikale Bildrücklauf abgefragt - dadurch entstand ein relativ leistungsfähiger Scrollingmechanismus ...

Ich habe auf dem Atari ST Emulator nun mal einige Shooter ausprobiert und einige Spiele (Wings of Death, Lethal Xcess u.a) sahen technisch wirklich beeindruckend aus.

Welche Techniken gab es denn dem Shifter vernünftiges Scrolling beizubringen ? Der Shifter scheint mir nämlich ein sehr unflexibler Grafikcontroller gewesen zu sein. Gibts keine Hardware für 2D Manipulationen im Atari ST ???

AintCoolName
2012-01-07, 22:45:02
Es gab damals eine menge Tricks man konnte den shifter durch irgendwelche Operationen dazu bringen um ein Pixel zu scrollen. Das hat aber ein paar Jahre gedauert bis man das gefunden hat.

http://mitglied.multimania.de/thalionsource2/Artikel/DemoHistory.htm

Wishnu
2012-01-08, 11:11:05
Gibts keine Hardware für 2D Manipulationen im Atari ST ???

Anfangs nicht. Erst später baute Atari in einigen Modellen einen Blitter-Chip ein (ab Mega ST bzw. STE, sowie neueren 1040STFM-Modellen). Inwiefern der dann bei Spielen zum Einsatz kam, habe ich jedoch keine Ahnung.

Btw Goldrunner (http://www.youtube.com/watch?v=iRitM0N0rJs&feature=related) hat mich seinerzeit wirklich beindruckt. Soweit ich das in Erinnerung habe, lief das auch auf den ganz alten Kisten butterweich (auch wenn es im Video nicht so rüberkommt).

steve.it
2012-01-08, 11:58:32
Anfangs nicht. Erst später baute Atari in einigen Modellen einen Blitter-Chip ein (ab Mega ST bzw. STE, sowie neueren 1040STFM-Modellen). Inwiefern der dann bei Spielen zum Einsatz kam, habe ich jedoch keine Ahnung.


Hat der Blitter in einigen Fällen zu Inkompatibilität geführt?
Ich kann mich ganz düster erinnern, dass ein damaliger Freund einen Atari 1040 hatte, mit Blitter und er sich über diesen wegen einigen angeblichen Inkompatibilitäten geärgert hatte.

Avalox
2012-01-08, 12:16:19
Hi Leute,

ich schaute mir gerade technische Details alter 16 Bit computer an, da fiel mir auf, daß der Atari ST kein Scrolling in Hardware beherschte ...


Ja, das steht überall. Aber was ist Scrolling in Hardware überhaupt?

Bei Hardware Scrolling lohnt immer ein Blick dahinter, was der Hersteller darunter wirklich verstanden hat.
Der Bildschirmspeicher des Atari ST konnte beliebig im Speicher des Atari ST stecken, mit einer Einschränkung nämlich, dass die Startadresse des Bildschimspeichers irgend einer Schrittweite folgen musste (ich glaube 256Byte), welche dann in Verbindung mit der Anzahl der Bytes pro Bildschirmzeile (ich glaube 160 Byte) als kleinstes gemeinsames Vielfaches nur sehr grobe Scrollschritte, oder in Echtzeit ein unrealistisch schnelles scrollen bedingte. Das wurde allerdings dann irgendwann weggetrickst, getrennt von den Getrickse hatte Atari dann (viel zu spät) aber auch ein feineres Scrolling mit den STE nachgeliefert.

Jeder Hersteller und fast jedes Modell verstehen etwas anderes unter dem Hardware scrollen.

Nehmen wir nur mal den C-64. Dieser hatte Hardware Scrolling. Da der C-64 entgegen dem Atari ST oder Amiga echte Textmodus Ausgabe unterstützt, konnte der C-64 ein(!) Zeichen breit/hoch nach oben/unten links/rechts fein scrollen. Das verstand Commodore unter Hardware Scrolling. Sprich obwohl es ein Textmodus war die Zeichen zum Rand hin unvollständig zeichnen und so praktisch Pixelweise ein Zeichenbreite/höhe scrollen. Wie die neuen Abschnitte dann in den Bildspeicher gelangen, war übrigens reine Software ohne jegliche Hardware Beschleunigung. Es ist also mitnichten so, dass beim C-64 der Bildschirm wie ein Fenster über eine virtuelle größere Welt gerollt werden konnte. Die Atari 8Bit waren dort etwas weiter.

Solche Art von Hardware Scrolling war natürlich bei den 16Bit Atari ST/Amiga Computer völlig obsolet, da diese gar keinen Textmodus mehr kannten. Beim Atari ST haben es die Designer für nicht notwenig gehalten, beim Amiga hat man sich dagegen sehr viele Gedanken gemacht und im Detail sehr interessante Lösungen gefunden.

Hardware Scrolling ist etwas, was völlig uneinheitlich ist und zwischen den Systemen kaum verglichen werden kann. Da zählt eigentlich nur das Ergebnis, denn dieses ist als einziges wirklich vergleichbar.

Lenon
2012-01-08, 16:52:01
Ja, das steht überall. Aber was ist Scrolling in Hardware überhaupt?

Bei Hardware Scrolling lohnt immer ein Blick dahinter, was der Hersteller darunter wirklich verstanden hat.
Der Bildschirmspeicher des Atari ST konnte beliebig im Speicher des Atari ST stecken, mit einer Einschränkung nämlich, dass die Startadresse des Bildschimspeichers irgend einer Schrittweite folgen musste (ich glaube 256Byte), welche dann in Verbindung mit der Anzahl der Bytes pro Bildschirmzeile (ich glaube 160 Byte) als kleinstes gemeinsames Vielfaches nur sehr grobe Scrollschritte, oder in Echtzeit ein unrealistisch schnelles scrollen bedingte. Das wurde allerdings dann irgendwann weggetrickst, getrennt von den Getrickse hatte Atari dann (viel zu spät) aber auch ein feineres Scrolling mit den STE nachgeliefert.

Jeder Hersteller und fast jedes Modell verstehen etwas anderes unter dem Hardware scrollen.

Nehmen wir nur mal den C-64. Dieser hatte Hardware Scrolling. Da der C-64 entgegen dem Atari ST oder Amiga echte Textmodus Ausgabe unterstützt, konnte der C-64 ein(!) Zeichen breit/hoch nach oben/unten links/rechts fein scrollen. Das verstand Commodore unter Hardware Scrolling. Sprich obwohl es ein Textmodus war die Zeichen zum Rand hin unvollständig zeichnen und so praktisch Pixelweise ein Zeichenbreite/höhe scrollen. Wie die neuen Abschnitte dann in den Bildspeicher gelangen, war übrigens reine Software ohne jegliche Hardware Beschleunigung. Es ist also mitnichten so, dass beim C-64 der Bildschirm wie ein Fenster über eine virtuelle größere Welt gerollt werden konnte. Die Atari 8Bit waren dort etwas weiter.

Solche Art von Hardware Scrolling war natürlich bei den 16Bit Atari ST/Amiga Computer völlig obsolet, da diese gar keinen Textmodus mehr kannten. Beim Atari ST haben es die Designer für nicht notwenig gehalten, beim Amiga hat man sich dagegen sehr viele Gedanken gemacht und im Detail sehr interessante Lösungen gefunden.

Hardware Scrolling ist etwas, was völlig uneinheitlich ist und zwischen den Systemen kaum verglichen werden kann. Da zählt eigentlich nur das Ergebnis, denn dieses ist als einziges wirklich vergleichbar.

Danke für die Ausführungen ...

Ich würde Hardwarescrolling im Nachinein als unterstützt bezeichnen, wenn der Hersteller das dokumentiert hat :-D. Das was ich bisher vom Shifter gelesen habe klingt nach dem unflexibelsten Grafikchip der "ab 16 Bit Ära".
Kein (dokumentiertes) Scrolling, keine Sprites, kein Overscan usw.

(Soft)Scrolling bei Overscan wurde wohl erst sehr spät und dann anfangs unter sehr hoher cpu Last realisiert.

Avalox
2012-01-08, 17:21:35
(Soft)Scrolling bei Overscan wurde wohl erst sehr spät und dann anfangs unter sehr hoher cpu Last realisiert.

Der 68000er kopierte munter drauf los, als anfängliche Lösung.

Das was ich bisher vom Shifter gelesen habe klingt nach dem unflexibelsten Grafikchip der "ab 16 Bit Ära".

Das würde ich nicht sagen. Andere wichtige Heimcomputer der 16 Bit Ära (wie der Mac oder der QL) waren mindestens dort ebenso trostlos, bzw. sogar noch unflexibler.

Der Amiga ist dort die Ausnahme, was sich aus seiner Entstehungsgeschichte als Videospielkonsole erklärt.

Technisch interessant waren die 16Bit Apple IIGS, oder auch die spätere MSX 16Bit Evolution oder der Sharp X68000. Aber diese Geräte sind ja völlig unbedeutend.


Der Archimedes war ja 1987 dann die 32Bit Maschine, mit allen Weiterentwicklungen. Aber natürlich dort auch nicht das Gerät mit großer Customelektronik, aber eben ungleich flinker CPU.



Die Liste könnte dir gefallen, ist sehr interessant. Zeigt ein wenig die unterschiedlichen Hersteller Designphilosophien.
http://en.wikipedia.org/wiki/List_of_home_computers_by_video_hardware

Und sehe dir mal den Sharp X68000 näher an. Recht unbekanntes Gerät.

Lenon
2012-01-08, 20:30:28
Der 68000er kopierte munter drauf los, als anfängliche Lösung.



Das würde ich nicht sagen. Andere wichtige Heimcomputer der 16 Bit Ära (wie der Mac oder der QL) waren mindestens dort ebenso trostlos, bzw. sogar noch unflexibler.

Der Amiga ist dort die Ausnahme, was sich aus seiner Entstehungsgeschichte als Videospielkonsole erklärt.

Technisch interessant waren die 16Bit Apple IIGS, oder auch die spätere MSX 16Bit Evolution oder der Sharp X68000. Aber diese Geräte sind ja völlig unbedeutend.


Der Archimedes war ja 1987 dann die 32Bit Maschine, mit allen Weiterentwicklungen. Aber natürlich dort auch nicht das Gerät mit großer Customelektronik, aber eben ungleich flinker CPU.



Die Liste könnte dir gefallen, ist sehr interessant. Zeigt ein wenig die unterschiedlichen Hersteller Designphilosophien.
http://en.wikipedia.org/wiki/List_of_home_computers_by_video_hardware

Und sehe dir mal den Sharp X68000 näher an. Recht unbekanntes Gerät.

Hey nen toller Link ... ein dickes danke dafür :biggrin:

Den X68000 habe ich in der Tat schon live erleben dürfen - das war durchaus bemerkenswert, was dort so technisch möglich war.

Aber um noch einmal auf den Archimedes zurück zu kommen - der Grafikcontroller arbeitete nicht, wie der ST und der Amiga mit planaren Grafiksystem. Dadurch waren auf dieser Platform 2D Manipulationen recht schwierig umzusetzen aber wegen der sehr schnellen CPU und dem unglaublich schnellen Speicherbus eben doch möglich.

Es ist wirklich unglaublich welche Tricks sich einige Atari ST Coder ausgedacht haben, um dem Computer solche Dinge zu entlocken. Ich war damals ziemlich entsetzt (so 1990 muß das gewesen sein) wie langsam der 68000er des Amiga so war (im Vergleich zu Vatern´s Acorn A3000). Deshalb war ich einigermaßen überrascht als ich die technischen Meisterleistungen auf dem ST gesehen hatte (68000 und Shifter).

Btw. mal ne Frage zum AMIGA (500) - stimmt es eigentlich, daß der Speicher mit der halben CPU Frequenz arbeitet ?

Ich habe folgendes dazu gelesen ...

"OCS/ECS hat 16 Bit breites Chipmem. Auf den Speicher werden mit 3,5MHz Zugriffe gemacht, also 3,5 millionen mal 16 Bits (=2 Bytes) übertragen. Das sind 7MByte pro Sekunde. Die CPU kann aber nur jeden zweiten Zyklus davon nutzen."

Das Speicherbussystem war wirklich so langsam ??? Gut für damalige Verhältnisse ok - aber dennoch hätte ich wenigstens die 7,xx MHz am Speicher erwartet.

Avalox
2012-01-09, 18:09:02
Btw. mal ne Frage zum AMIGA (500) - stimmt es eigentlich, daß der Speicher mit der halben CPU Frequenz arbeitet ?


Nein. Der Speicher arbeitet mit voller Taktfrequenz. Allerdings kann der 68000er im Amiga nur jeden zweiten Takt auf einen Gutteil des Speichers zugreifen.

Der DMA Controller des Amiga benötigt Bandbreite zum Zugriff seiner DMA Transfers und das ist genau die Hälfte der Bandbreite zum Speicher. Der CPU bleibt die restliche Hälfte im Chip-RAM, jeder zweite Speichertakt.
Neben dem vom DMA Controller erreichbaren Chip-RAM, gab es beim Amiga theoretisch auch das Fast-RAM welches nicht durch den DMA Controller erreicht werden konnte, dafür dann in der Bandbreite allerdings komplett der CPU zur Verfügung stand.

Der AMIGA 500 hatte in der Ausstattung nur Chip-RAM und damit, wie du richtig sagst für die CPU nur die halbe Speicherbandbreite im gesamten Speicher.

Der_Donnervogel
2012-01-10, 01:33:25
Hat der Blitter in einigen Fällen zu Inkompatibilität geführt?
Ich kann mich ganz düster erinnern, dass ein damaliger Freund einen Atari 1040 hatte, mit Blitter und er sich über diesen wegen einigen angeblichen Inkompatibilitäten geärgert hatte.Vielleicht bei manchen alten Sachen. Ein Freund hatte zu der Zeit auch einen 1040er mit Blitter. Ich könnte mich nicht an Probleme erinneren, und wenn dann AFAIR eher mit TOS 1.02 welches der ST ja hatte.
Neben dem vom DMA Controller erreichbaren Chip-RAM, gab es beim Amiga theoretisch auch das Fast-RAM welches nicht durch den DMA Controller erreicht werden konnte, dafür dann in der Bandbreite allerdings komplett der CPU zur Verfügung stand.

Der AMIGA 500 hatte in der Ausstattung nur Chip-RAM und damit, wie du richtig sagst für die CPU nur die halbe Speicherbandbreite im gesamten Speicher.Fast-Ram gabs nicht nur theoretisch. Ich denke mal über die Zeit hat sich wohl fast jeder A500 Besitzer eine Speichererweiterung gekauft. Viele der späteren Spiele liefen ja nur mit Speichererweiterung, oder konnten zumindest Nutzen daraus ziehen.

Avalox
2012-01-10, 11:28:24
Fast-Ram gabs nicht nur theoretisch. Ich denke mal über die Zeit hat sich wohl fast jeder A500 Besitzer eine Speichererweiterung gekauft. Viele der späteren Spiele liefen ja nur mit Speichererweiterung, oder konnten zumindest Nutzen daraus ziehen.

Ja. Diese gebräuchlichen 512KB Erweiterungen waren allerdings auch Chip-RAM.
Was ja auch Sinn hatte, denn aus dem Fast-RAM konnten ja keine Grafik oder Sound abgespielt werden. Die dicken dann mit Fast-RAM bestückten Erweiterungen kamen ja erst später. Der AMIGA mit 68000er CPU wurde ja auch nicht etwas halb so langsam, nur weil die Speicherbandbreite durch den DMA Controller halbiert war. Die CPU hat eh generell mehrere Takte benötigt um den Speicher zu lesen und Cache gab es ja noch nicht.

No.3
2012-01-10, 12:43:40
Ja. Diese gebräuchlichen 512KB Erweiterungen waren allerdings auch Chip-RAM.

bis Kickstart 1.2 waren die internen 512 KB weder Chip noch Fast-RAM sondern sogenantnes "Ranger RAM". Diese 512 KB waren für die Custom Chips nicht adressierbar, für die CPU hatte es die gleichen Nachteile wie Chip-RAM weil dieser Speicher auf den gleichen Leitungen lag. Man sagte daher auch Slow-RAM.

Die RAM-Erweiterungen für den externen Anschluss auf der linken Seite sind dann richtiges Fast-RAM.
Später gab es dann auch interne echte Fast-RAM Erweiterungen, bei diesen musste man dann aber noch einen Adaptersockel auf die Hauptplatine einbauen.

Irgendwann in der Kickstart 1.3 Ära wurde dann der 1 MB Chip-RAM Agnus Chip eingeführt. Aber auch hier waren die 512 KB Erweiterungen nur Ranger-RAM. Um auf 1 MB Chip-RAM zu kommen musste man je nach A500 Platinenrevision ein oder mehrere Lötaugen oder sogar Leiterbahnen durchtrennen und andere Lötaugen verbinden! (IIRC zwei Lötaugen durchtrennen und einmal Verbinden war es bei meinem)


Die CPU hat eh generell mehrere Takte benötigt um den Speicher zu lesen und Cache gab es ja noch nicht.

richtig, Geschwindigkeitswunder waren in der Regel nicht zu erwarten.
Bemerkbar war es aber bei hohen Auflösungen und vielen Farben, da dort dann die Grafik viel Speicherbandbreite auffrass.

Rooter
2012-01-11, 00:09:48
bis Kickstart 1.2 waren die internen 512 KB weder Chip noch Fast-RAM sondern sogenantnes "Ranger RAM". Diese 512 KB waren für die Custom Chips nicht adressierbarSicher? Wie konnte die Kiste dann überhaupt funktionieren? :confused:

Ich habe es so verstanden dass der Chip-RAM von CPU und Custom-Chips angesprochen werden konnte, der Fast-RAM aber nur von der CPU.

MfG
Rooter

No.3
2012-01-11, 00:50:05
Sicher? Wie konnte die Kiste dann überhaupt funktionieren? :confused:

Ich habe es so verstanden dass der Chip-RAM von CPU und Custom-Chips angesprochen werden konnte, der Fast-RAM aber nur von der CPU.

okay, etwas unglücklich formuliert: gemeint waren die 512 KB der internen Speichererweiterung

DR.ZEISSLER
2012-05-01, 22:01:06
interessantes thema bezüglich des "ruckelfreien" scrollens.
ich habe die c64/a50/1040st immer bewundert weil dort scrolltexte und animationen WIRKLICH ruckelfrei waren. Am PC gab es das quasi wenn überhaupt nur in der Demoscene und selbst da nicht immer perfekt. Zugegeben Raptor war ein toller PC-Shooter, aber das Scrolling war ein Graus.

Goldrunner wurde schon genannt, das hatte BUTTERWEICHES Scrolling in mehreren Geschwindigkeiten, das war ein Traum, auch am Atari-ST. Es war kein STE erforderlich.

Klaz hat auch eine HDD Variante => http://www.klapauzius.net/Old_Games.html (Sowas würde ich mir am Amiga wünschen, einfach auf Platte kopieren, starten und im Spiel mit Alt-D zum Desktop zurück, Cheats, Anleitungen alles dabei. KLaz is King!)

Da ich leider meinen Amiga 500 eingemottet habe und mein 2000er defekt ist, ist der Mega-ST4 mit SCSI-HDD sowieso mein Lieblingsgerät, zumal dort auch ein MT32 bei vielen Games tolle Musik ausspuckt.

Nun nochmal zurück zum Scrolling am ST. Das Spiel Nebulus hat nach dem ersten Tower einen Bonuslevel mit 4 Wege-Scrolling in verschiedenen Geschwindigkeiten gleichzeitig, das war auch butterweich, ob das vom Blitter profitiert hat weis ich nicht.

Doc

ShadowXX
2012-05-02, 16:57:41
Nun nochmal zurück zum Scrolling am ST. Das Spiel Nebulus hat nach dem ersten Tower einen Bonuslevel mit 4 Wege-Scrolling in verschiedenen Geschwindigkeiten gleichzeitig, das war auch butterweich, ob das vom Blitter profitiert hat weis ich nicht.

nein, das läuft auch auf einem ST ohne Blitter "butterweich".

Goldrunner hat sein tolles Scrolling damal übrigens mittels eines "Tricks" realisiert: der Teil der gescrollt wird hat nur 4 Farben, dadurch mussten nur relativ wenig Daten durch die Gegend geschaufelt werden (Goldrunner stammt ja aus der Anfangszeit des ST, bei der man noch nicht so viele Kniffe kannte).

DR.ZEISSLER
2012-05-02, 18:15:57
Teste mal den Bonuslevel "catch some fish" nach dem ersten Turm von Nebulus.

ShadowXX
2012-05-04, 01:03:21
Teste mal den Bonuslevel "catch some fish" nach dem ersten Turm von Nebulus.
Wie ich schon oben sagte: der ist auf jedem ST, auch ohne Blitter, mit Butterweichem Scrolling.

Das ganze beruht auch mehr auch einer optischen Täuschung die sehr gut gemacht ist als auf echten Paralax Scrolling. Aber technisch trotzdem sehr gut gemacht (wobei ich den Tower sogar beeindruckernder finde).

Echtes mehrfach ebenen Scrolling auf dem ST gabs z.B. bei Starray (oder so ähnlich)....aber das Spiel selbst war mau.

DR.ZEISSLER
2012-05-04, 07:00:25
http://www.mobygames.com/game/atari-st/revenge-of-defender

Ich werde das mal testen.

THX

Avalox
2012-05-04, 09:38:25
War denn Return to Genesis nicht sogar früher da?
Irgendwie waren dort Steve Bak immer Pete Lyon immer mit dabei.

=Floi=
2012-05-06, 22:53:29
wie funktioniert denn das scrolling am pc? wie wird da der hintergrund stückweise bewegt und animiert?
gibt es dazu beispiele oder gute links?

Avalox
2012-05-08, 18:15:06
wie funktioniert denn das scrolling am pc? wie wird da der hintergrund stückweise bewegt und animiert?
gibt es dazu beispiele oder gute links?

Aktuell, oder damals zur vergleichbaren Zeit?

Zu damals, als die ersten unbeschleunigten VGA Adapter führten ja den ModeX ein.

http://en.wikipedia.org/wiki/Mode_X

Zur selben Zeit kamen ja beschleunigte SVGA Grafikkarten auf den Markt. Viele der durchaus für Spiele sehr interessanten Funktionen wurden nicht in Spielen unterstützt, weil sie einfach nicht standardisiert waren.