Hallo Besucher, der Thread wurde 12k mal aufgerufen und enthält 63 Antworten

letzter Beitrag von ogd am

OT aus LocoBasic vs. Basic 3.5/7.0: Vergleiche Schneider CPC vs. C64, Demo´s, Rasterinterrups usw.

  • *nochwasindensuppentopfreinschmeisst*


    AFAIR Sagte mal einer der Ultimate Play the Game Entwickler in einem Retro Gamer Interview, dass die isometrischen 3D Spiele auf dem C64 kaum vorhanden waren, weil das Neuzeichnen der Linien im Pseudo-3D Raum für die Vorder/Hintergrund-Objekte langsam war im Vergleich zum Z80 im CPC und Spectrum. Das kann natürlich auch sein, dass die Jungs einfach den Z80 besser beherrschten als den 6502, aber es ist schon auffällig, dass die ISO-Spiele auf dem C64 nie so inflationär waren im Vergleich zum CPC/Speccy.


    Auch eine Schöne Lektüre zur Entwicklung des CPC, hier ein Artikel hier und auch einige interessante Kommentare dazu:
    You’re NOT fired: The story of Amstrad’s amazing CPC 464


    Der CPC war ähnlich wie der Speccy (wie auch der C64) als erschwinglicher, aus mehr oder weniger Standard-Komponenten zusammengebauter, Homecomputer für die Familien konzipiert und da mussten Komprimisse eingegangen werden (leider nur in den Heimmärkten, ausserhalb davon waren auch z.B. der C64 mindestens anfangs z.B. in Deutschland und der Schweiz nur zu wahnsinnigen Preisen verfügbar, die in jedes normale Familienbudget einfach nicht drinlagen).


    Der CPC Monitor war aber auch ein gutes Argument, die TV Röhre nicht in Beschlag zu nehmen und auch die Qualität für BASIC lernen, Textverarbeitung, CP\M & Co, zusammen mit dem 80 Zeichen Modus.
    Da war Rasterinterupt oder nicht halt sowas von schnuppegal.

  • Also ein "Rasterzeileninterrupt" der weder in einer beliebigen Rasterzeile. sprich Bildschirmzeile auftreten kann, noch von sich aus das Hauptprogramm unterbricht/"interruptet"?

    Für Dein mangelndes Leseverständnis bin ich nicht verantwortlich.

    Entscheidend ist nur der Spielspaß.

    Wenn man keine sachlichen Argumente hat, zieht man sich halt auf die Gefühlsebene zurück. Und natürlich machen auch nur Spiele am C64 so richtig "Spaß".

    Erklär du es mir, gerne mit technischen Details und/oder Codeschnipseln.

    Sorry, aber Deine rhetorischen Tricksereien ziehen bei mir nicht. Du hast die Behauptung aufgestellt, daß der CPC keinen Rasterinterrupt kennt. Also liegt es an Dir, diese Behauptung entsprechend mit Beweisen zu untermauern. Sollte dabei herauskommen, daß Du keine Ahnung hast, wovon Du sprichst: Pech gehabt. Solange Du für Deine These nicht solides, verwertbares Datenmaterial vorlegst, ist jede weitere Diskussion mit Dir überflüssig.

  • AFAIR Sagte mal einer der Ultimate Play the Game Entwickler in einem Retro Gamer Interview, dass die isometrischen 3D Spiele auf dem C64 kaum vorhanden waren, weil das Neuzeichnen der Linien im Pseudo-3D Raum für die Vorder/Hintergrund-Objekte langsam war im Vergleich zum Z80 im CPC und Spectrum. Das kann natürlich auch sein, dass die Jungs einfach den Z80 besser beherrschten als den 6502

    Die erst jüngst erschienene C64-Umsetzung von Ultimates Pentagram (inklusive Sources) macht schon eine gute Figur:

    Zitat

    It runs almost as fast as the original Spectrum version and if you run it on a C128 in C64 mode it runs at the same speed as the Spectrum version.
    Mariusz has done an amazing job of optimising the code for the 6502. This shows what’s possible when code is optimised to run on the 6502 rather than the 6502 almost trying to emulate the Z80.
    None of the C64 video hardware (hardware sprites) was used in this conversion, it’s just plain CPU grunt and memory. To use hardware sprites you would have to re-write most of the games rendering engine.
    Rather than use a normal bitmap screen I used 3 banks of chars with raster splits to emulate a 256x192 bitmap display. This had the advantage of saving a couple of k for the display (6k rather than 8k) and also the screen memory runs continually as a 8bit block so its quicker to calculate the screen addresses when bliting sprites etc.

    Bin schon gespannt, wie Gunfright umgesetzt wird.

  • Wenn man keine sachlichen Argumente hat, zieht man sich halt auf die Gefühlsebene zurück.


    Nein, du hast Recht. Wen interessiert schon der Spaß an einem Spiel, solange der Programmierer den Algorithmus mit weniger Aufwand umsetzen konnte. Deshalb sollte ein Köder auch dem Angler schmecken und nicht dem Fisch.


    Du hast die Behauptung aufgestellt, daß der CPC keinen Rasterinterrupt kennt. Also liegt es an Dir, diese Behauptung entsprechend mit Beweisen zu untermauern


    Jetzt soll ich also meine Unschuld beweisen. Schöne, verkehrte Welt :)

  • ogd, warum fällt es Dir schwer, den Rasterinterrupt vom CPC als Rasterinterrupt zu erkennen? Warum weichst Du dann immer auf den Raster_ZEILEN_interrupt vom C64 aus?


    Der Rasterinterrupt beim CPC wird bei einem Rasterereignis ausgelöst (klar, sonst wär's ja kein Rasterinterrupt). Ist aber ein anderes Ereignis als beim Raster_ZEILEN_interrupt vom C64 (klar, sonst hätte der CPC ein Raster_ZEILEN_interrupt und keinen Rasterinterrupt).


    Du sollst ja nicht Deine Unschuld beweisen (was ab der Pubertät immer schwieriger wird, aber das ist ein anderes Thema). Ich für meinen Teil will gerne verstehen - in Deinem Fall, warum etwas, das gemeinhin als Rasterinterrupt gilt für Dich keiner ist. Also nochmal: warum ist ein Interrupt, der bei Rasterereignis ausgelöst wird, für Dich kein Rasterinterrupt. Und bitte nicht mit Rasterzeileninterrupt kommen, das ist was anderes.


  • Der Rasterinterrupt beim CPC wird bei einem Rasterereignis ausgelöst (klar, sonst wär's ja kein Rasterinterrupt).

    Wo steht das? Ich tu mich immer sehr schwer mit diesem Thema. :schande:

  • oobdoo: Hab beim googeln das hier gefunden:



    In the CPC the Gate Array generates maskable interrupts, to do this it uses the HSYNC and VSYNC signalsfrom the CRTC, a 6-bit internal counter and monitors the interrupt acknowledge from the Z80.
    The 6-bit counter is incremented after each HSYNC from the CRTC. (When standard CRTC displaysettings are used, this is equivalent to counting scan-lines).(to be confirmed: does gate array count positive or negative edge transitions of HSYNC signal?)
    When the counter equals "52", it is cleared to "0" and the Gate-Array will issue a interrupt request to the Z80, the interrupt request remains active until the Z80 acknowledges it.These two operations will continue even if the interrupt has not been acknowledged. (When standard CRTC display settingsare used, this has the potential to generate a interrupt every 52 scan-lines giving 6 possible interrupts per video frame)...


    Es gibt einen Interrupt, der durch Rasterereignisse ausgelöst ist. Nur funktioniert er deutlich anders als ein Rasterzeileninterrupt - ist ja auch keiner.

  • The C64 has a programmable raster interrupt. You can define the line at which the interrupt will be triggered and you can do this multiple times during a frame. The CPC has 6 "raster" interrupts at fixed positions through the 50Hz frame.

    Gut, es ist kein Raster(zeilen)interrupt, wie man ihn vom C64 kennt, aber schon so etwas in der Richtung. Lass uns nicht päpstlicher sein, als der Papst.


    Was du übrigens bei dem Vergleich Spektrum - C64 vergessen hast, ist, dass der CPC 4Mhz und der Spektrum 3,54Mhz hat. Insoweit sind die Aussagen aus dem "Geschwindigkeitsvergleich" nicht ganz vergleichbar. D.h. allein bei 3D hätte der CPC einen Geschwindigkeitsvorteil von ungefähr 13% ggü. einem Spektrum und somit einen wesentlich größeren Vorteil ggü. dem C64.
    Ansonsten hat M. J. ja aus seiner eigenen Erfahrung und den daraus ermittelten Laufzeiten schon einiges dazu geschrieben.

  • Mir geht das Rasta ehrlich gesagt langsam am Füdli vorbei, so wie sich der Thread hier entwickelt hat.


    Zum Thema isometrische Spiele und einige Probleme und Interessantes auch bei der Portierung von Specciy-->CPC hat es auch im Lemonenforum einen interessanten Thread:
    Why couldn't the C64 handle isometric games?

  • Was du übrigens bei dem Vergleich Spektrum - C64 vergessen hast, ist, dass der CPC 4Mhz und der Spektrum 3,54Mhz hat. Insoweit sind die Aussagen aus dem "Geschwindigkeitsvergleich" nicht ganz vergleichbar. D.h. allein bei 3D hätte der CPC einen Geschwindigkeitsvorteil von ungefähr 13% ggü. einem Spektrum und somit einen wesentlich größeren Vorteil ggü. dem C64.

    Die Taktfrequenz kann man nicht 1:1 in höhere Geschwindigkeit übertragen. Bspw. der 65816 mit 20 MHz in der SCPU hat auch nicht die 20fache Geschwindigkeit des 6510. Bei weitem nicht.

  • Was du übrigens bei dem Vergleich Spektrum - C64 vergessen hast, ist, dass der CPC 4Mhz und der Spektrum 3,54Mhz hat. Insoweit sind die Aussagen aus dem "Geschwindigkeitsvergleich" nicht ganz vergleichbar. D.h. allein bei 3D hätte der CPC einen Geschwindigkeitsvorteil von ungefähr 13% ggü. einem Spektrum und somit einen wesentlich größeren Vorteil ggü. dem C64.
    Ansonsten hat M. J. ja aus seiner eigenen Erfahrung und den daraus ermittelten Laufzeiten schon einiges dazu geschrieben.

    Hat der Spectrum getaktete 3,54Mhz oder bleiben nur 3,54Mhz von getakteten 4Mhz über?


    Ich frage das aus einem bestimmten Grund.



    Das stammt aus dem CPC Systembuch vom Sybex-Verlag. http://k1.spdns.de/Vintage/Sch…PC%20Systembuch/z52.htm#A

  • Damit "ist der CPC für Demos gleichwertig bis überlegen" als das flexibelere C64-Konzept. :p


    Wieso steht eigentlich "raster" im CPC-Wiki in Anführungsstriche?


    Die Taktfrequenz kann man nicht 1:1 in höhere Geschwindigkeit übertragen. Bspw. der 65816 mit 20 MHz in der SCPU hat auch nicht die 20fache Geschwindigkeit des 6510. Bei weitem nicht.


    Jetzt komm doch nicht mit technischen Details.

  • Nein, du hast Recht. Wen interessiert schon der Spaß an einem Spiel, solange der Programmierer den Algorithmus mit weniger Aufwand umsetzen konnte. Deshalb sollte ein Köder auch dem Angler schmecken und nicht dem Fisch.

    Bla.

    Jetzt soll ich also meine Unschuld beweisen. Schöne, verkehrte Welt

    Bla.


    Du hast also weiterhin nur alberne Rhetorikspielchen, aber nichts Konstruktives zu bieten. Schade.


    Für alle anderen, die keine Angst vor dem CPC haben, habe ich mal auf einer Diskette ein kleines Programm angehängt, das ich kurz zusammengestrickt habe. (Im Emulator starten mit run "raster".) Hierbei wird ein Rasterinterrupt dazu verwendet, im oberen Teil des Bildschirms eine Graphik in Modus 0 (160x200x16) und im unteren Bereich eine Scrollgraphik im Modus 2 (640x200x2) anzuzeigen. Zusätzlich werden Text- und Hintergrundfarbe für den Scrolltext umgesetzt. Alles total simpel, aber es soll nur zeigen, daß Rasterinterrupts auf dem CPC machbar und auch üblich sind.

  • Hatten wir nicht früher schon festgestellt dass eine gute Demo nicht allein Sache der Hardware ist? Nehmt die 8088 RPM Demo die vor einiger Zeit erschienen ist. Göttlich und auf einem verhassten x86 Vorläufer entstanden, dem C64 in Hardware weit unterlegen.


    Diese Demo finde ich besser als den 107. Raster Effekt mit Scroller auf dem C64. Obwohl ich aus ideologischen Gründen kein IBM Freund (und kein Windows Freund) bin.


    Eine schlechte Demo auf einem starken System unterliegt einer guten Demo auf einem schwachen System. Das ist alles zu relativ und sagt eigentlich nur etwas über die Geilheit des Coder Gottes aus, der den G Punkt der Hardware findet.


    Der CPC ist als Demo Maschine dem C64 mindestens gleichwertig. Das ist keine falsche Aussage und macht den C64 nicht schlechter. Es hängt von der Demo ab. Man kann am CPC Demos machen die in der C64 Liga spielen und in einem direkten Contest gewinnen könnten. Und im nächsten Jahr drauf siegt die C64 Demo weil sie einfach besser wirkt.


    Wo ist denn das Problem.

  • bytebreaker: stimme Dir zu 90% zu. Allerdings ist's imho ein Fehler (das sind die anderen 10% ;) ), Demos verschiedener Systeme gegeneinander antreten zu lassen. Denn jedes System hat andere Grenzen - es gibt auf Youtube zx81-Demos, wo ich den Hut ziehe. Die bringen da Dinge, die traut man der lütten Kiste nicht zu. Dennoch haben sie optisch und visuell so gut wie keine Chance ein 08/15-C64- oder gar Amiga-Demo auszustechen.