Hallo Besucher, der Thread wurde 16k mal aufgerufen und enthält 147 Antworten

letzter Beitrag von JeeK am

Der perfekte Heimcomputer - oder: Welcher Heimcomputer hat das sauberste Hardwarearchitektur-Design

  • Freddy das hast Du vollkommen richtig verstanden, redest aber auch fast nur vom Aussehen ;)


    Dekay nee man kann sich natuerlich auch an schoen aussehenden Rechnern was abgucken ;) aber waere schoen wenn der eigentliche Sinn des Threads vielleicht trotzdem nicht zu kurz kaeme... :whistling:

  • Geht es denn um Grafikeigenschaften? Klingt fast so. Und das einblenden des ROMs im C64 war ja nicht 'leider doof gemacht' sondern genial weil nur so ein echtes Betriebssystem und trotzdem genug RAM zur Verfuegung standen.

    Und gerade was GFX angeht sind Heimcomputer doch was ganz anderes als Konsolen? Das NES hat zB eher wenig RAM.

    Also 'sauberes Architekturdesign' koennen vermutlich nur SEHR wenige hier halbwegs gescheit beantworten.

    Selbst bei Systemen auf denen man sich top auskennt aus Programmierersicht kann ich zwar die Aufteilung von Registern bemaengeln, mir aber ja nicht anmassen das damit als schlechtes Design abzutun. Evtl (und durchaus wahrscheinlich) hat jeder negative Teil an anderer Stelle etwas tolles gerade noch so ermoeglicht.

    Aus Softwaresicht finde ich den Atari Lynx recht spannend. 64KM ram, (fast) frei verlegbarer Bildschirmspeicher und echte 4bit/pixel mit 16 aus 4096er Palette.

    Gar keine Hardwaresprites zB.

    Designtechnisch ist auch der ZX Spectrum cool - weil man mit 'so wenig' so 'viel' erreicht. Der C64 duerfte schon einer der komplexeren Geraete sein, denke ich.

  • Es geht generell um Architekturentscheidungen. Ich glaube schon, dass der ein oder andere hier bewerten kann, ob etwas gut ist oder nicht, aber vor allem kann man die Dinge hier nennen und eroertern bzw diskutieren.


    Beim ZX Spectrum finde ich z.B. uncool dass der Grafikbildschirm in 3 ungleich grosse Teile aufgeteilt ist, die an verschiedenen Speicheradressen liegen. Wenn ich das richtig im Kopf habe.


    Es gibt noch eine Design-Entscheidung, die betrifft soweit ich weiss aber auch den C64: Im Bitmap-Modus sind die Pixel nicht linear angeordnet, sondern man befuellt immer nacheinander ein 8x8-Kaestchen. Das ist nicht unbedingt intuitiv, aber vielleicht finden das manche sogar cool. Waere interessant, hierzu ein paar Meinungen zu hoeren.

  • Also ich selbst bin mit dem Commodore 64 aufgewachsen. Seit meiner Kindheit verbringe ich in und auf dem C64 meine Freizeit.

    Daher ist der C64 für mich der Heimcomputer mit dem besten Design (ich meine dabei natürlich die Technik :D)


    Wie bei einem guten Freund (oder vielleicht der eigenen Frau 8)) hat auch der C64 seine Macken. Aber man gewöhnt sich mit der Zeit aneinander und lernt damit zu leben. Ich kenne nichts anderes (von der Technik her) und es reicht für mich so wie es ist. Heute fühle ich mich "zu alt" um noch etwas neues zu sehen oder zu lernen. Daher bleibe ich ihm treu, dem C64, dem für mich besten Computer vom technischen Design her.


    Durchdacht finde ich die Zeropage, den VIC und den SID. Mit seinen 3 Stimmen kann man richtig tolle Musik machen.

    Auch das BASIC V2 ist top.


    Obwohl... beim BASIC hätte ich mir Befehle für Sprites und Musik gewünscht...


    Was mich stört, ist das der RAM von A000 - C000 unterbrochen wird und man dann wieder oben ab C000 - D000 weiter Assembler programmieren kann. Auch das Umschalten der Bänke von ROM auf RAM finde ich nicht so toll.

    Da hätte man ruhig einen großen Block RAM (für BASIC und Maschinencode) und dann oben am Ende die ROMS hinlegen können.

    Natürlich ist das zum Teil auch der 8bit Technik geschuldet, aber so etwas hätte ich mir besser vorstellen können.


    Auch in Sachen Sprites finde ich doof, dass man nur bis zur Stelle 256 in X Richtung kommt und dann über ein zusätzliches Bit weiter nach rechts.

    Ich habe das mit den 8 bit schon verstanden, habe das auch mal studiert und so. Worauf ich hier hinaus will ist, dass man das hätte irgendwie automatisieren können, damit ich als Entwickler da nicht mehr so viel rechnen muss...

    Irgendwie hat man da in seinen Programmen immer ähnliche Routinen drin, die so etwas überprüfen. Sowas hätte ich gerne im ROM als feste Routine gesehen.


    I <3 C64

  • ES GEHT NICHT UMS AUSSEHEN SONDERN UM DIE TECHNIK

    Mit dem Thread-Titel hast du dir aber gut ins Knie geschossen, wenn man sich die Beiträge so anguckt. ;) Vor allem auch deshalb, weil dein erster "Heimcomputer"-Vorschlag ein Videospiel-System ist. ;)


    Meiner Meinung nach zeigt das Master System, dass "technische", "saubere" Paletten nicht unbedingt die erste Wahl sind wenn es dann drum geht, schoen aussehende Spiele damit zu machen.

    Grundsätzlich wahrscheinlich richtig, zumindest solange man in RGB einfach Extremwerte und gleichmäßige Abstände nimmt, wie z.B. auch beim CPC. Das müsste man schon deutlich intelligenter angehen, wenn es überhaupt klappen soll.



    Ich mag Atari ST und die 68K-Macs weil deren Hardware simpel gestrickt ist und Software quasi "King" ist.

  • ES GEHT NICHT UMS AUSSEHEN SONDERN UM DIE TECHNIK

    Mit dem Thread-Titel hast du dir aber gut ins Knie geschossen, wenn man sich die Beiträge zu anguckt. ;) Vor allem auch deshalb, weil dein erster "Heimcomputer"-Vorschlag ein Videospiel-System ist. ;)

    Ersteres: Ja, habe ich gemerkt, aber ich kann ja nix dafuer wenn die Leute nur die Ueberschriften lesen. Mein Eingangsposting spricht nirgendwo vom Aussehen.
    Zweiteres: Den Zusammenhang verstehe ich weniger, zumal mein Beitrag zum NES erst spaeter kam, aber Heimcomputer und Spielkonsolen sind nicht so weit voneinander entfernt, zumindest nicht so weit, dass man sich da nicht genauso was abgucken koennte.

  • Erinnert mich an den Zeitungsartikel, in dem eine unbedarfte Journalistin eine Meldung auseinandernahm, in der es drum ging, dass ein Chip nochmal geaendert werden muss, weil dem Entwickler das "Design" nicht gefiel. Dass die Journalistin offenbar nicht wusste, dass "Design" nicht gleich "Aussehen" ist, war dort schon peinlich genug, kann man ihr aber vielleicht noch verzeihen, da sie halt vermutlich keine Ahnung von Technik hat. Dass man das hier im Forum erklaeren muss, ueberrascht mich hingegen schon etwas :whistling:

  • Sprites waren doch eh mehr ein Workaround, weil der Grafikmodus bei ollen Computern lahm, technisch eingeschränkt und ohne Möglichkeit einer Doppelpufferung implementiert war. Ein idealer Homecomputer hätte also keine Sprites, sondern einen umschaltbaren Bildschirmspeicher mit HW-Untersützung zum Kopieren. Der Amiga mit seinem Blitter usw. war da schon wesentlich näher am Optimum als ein C64. Ein Zeichen- bzw. Tile-Modus hat natürlich aber auch schon was (für Zeichensatzanimationen und so) und der fehlte halt beim Amiga. Sobald die Rechenleistung usw. hoch genug ist, ist das zwar auch egal, aber mein idealer Heimcomputer hätte auch noch einen flexiblen Tile-Modus, der aber nach Möglichkeit so implementiert wäre, daß er einfach automatisch in den (offscreen-)Bildschirmspeicher schreibt, man aber trotzdem noch manuell drüberschreiben kann. Quasi ein Interrupt davor, um Tiles zu animieren und einer danach, um noch manuell in den Bildschirmspeicher zu schreiben. Dann beim nächsten Vsync umschalten zwischen Offscreen und Onscreen. Oder so.

  • syshack

    Hat den Titel des Themas von „Der perfekte Heimcomputer - oder: Welcher Heimcomputer hat das sauberste Design“ zu „Der perfekte Heimcomputer - oder: Welcher Heimcomputer hat das sauberste Hardwarearchitektur-Design“ geändert.
  • So gesehen koennte man halt jeden moderneren Rechner (also ab dem 486er oder so) als "optimal" ansehen, da hier die pure Rechenleistung dafuer sorgt, dass man alles irgendwie auf den Bildschirm bringen kann, was man moechte. Ist halt die Frage ob das dann noch "Charme" hat, aber ja es ist vermutlich richtig, dass diese ganzen Tile/Char/Sprite-Geschichten hauptsaechlich daher ruehren, dass damals die Rechenleistung einfach zu begrenzt war, um jedesmal ein komplett neues Bild zu zeichnen.


    Hier muss man dann beim Entwerfen eines "perfekten Heimcomputers" vielleicht abwaegen, ob es eher "retro" sein soll, oder eher modern und bequem. Wobei eben diese speziellen, altmodischen Loesungen oftmals auch fuer Dinge sorgen, die man sonst vielleicht nie getan haette. Man denke nur an Rasterbars oder eben wie Du sagst Tile-Animationen (Boulder Dash Titelbild kommt mir da in den Sinn), gut moeglich dass solche Sachen anders ausgesehen haetten, wenn man nicht auf diese beschraenkten Mittel haette zurueckgreifen muessen.

  • Auf Wunsch des Threaderstellers den Titel angepasst.

    Bitte in diesem Thread nur auf Basis des Hardware-Architektur Designs diskutieren.

    Ich kann gerne das Thematische zum "Look & Feel" Design auslagern, falls erwünscht.

  • Es ist zwar eine Konsole (wobei das Famicom in Japan ja "so halb" auch ein Heimcomputer sein sollte), aber das NES finde ich ganz gut, dort gibt es 64 Sprites mit 8x8 Pixeln (d.h. die meisten Figuren werden zusammengesetzt) und soweit ich weiss kann jedes Sprite 3 beliebige Farben bekommen. Ausserdem sind sie wirklich Hires (nicht so wie beim C64 wo 2 Pixel zusammengefasst werden).

    Hat der C64er keine Hires Sprites?


    https://www.c64-wiki.de/wiki/Hires


    Zitat aus der wiki:

    "Den Hires-Modus gibt es auch für Zeichen und Sprites."

  • aber das NES finde ich ganz gut, dort gibt es 64 Sprites mit 8x8 Pixeln

    Wobei das nicht ganz stimmt - es ist eher ein Hardware-Sprite-Multiplexer, der mit 64 Sprites insgesamt umgehen kann, wovon pro Scanline maximal 8 gezeichnet werden.

  • Wobei das nicht ganz stimmt - es ist eher ein Hardware-Sprite-Multiplexer, der mit 64 Sprites insgesamt umgehen kann, wovon pro Scanline maximal 8 gezeichnet werden.

    Bei NES flackern die Sprites.. wie auch auf einem MSX2, sobald 8 Sprites in einer Linie sind..


    Beim C64er habe ich so etwas noch nicht gesehen :thumbup:


    Edit:

    Rasterzeilen-Interrupt ?



  • aber mein idealer Heimcomputer hätte auch noch einen flexiblen Tile-Modus, der aber nach Möglichkeit so implementiert wäre, daß er einfach automatisch in den (offscreen-)Bildschirmspeicher schreibt, man aber trotzdem noch manuell drüberschreiben kann

    Warum ins RAM gerendert statt als zusätzlicher Layer vor/hinter der Bitmap plus einer als transparent definierten Farbe?

  • Doch hat er, aber dann sind die Sprites halt einfarbig. Beim NES sind die Sprites soweit ich weiss IMMER dreifarbig und trotzdem Hires. Beim C64 sind mehrfarbige Sprites Lowres.

  • aber mein idealer Heimcomputer hätte auch noch einen flexiblen Tile-Modus, der aber nach Möglichkeit so implementiert wäre, daß er einfach automatisch in den (offscreen-)Bildschirmspeicher schreibt, man aber trotzdem noch manuell drüberschreiben kann

    Warum ins RAM gerendert statt als zusätzlicher Layer vor/hinter der Bitmap plus einer als transparent definierten Farbe?

    Das meinte ich auch

  • Beispiel: Die Sprites des C64 haben ein "krummes" Format von 24x21, und im Multicolor-Modus muessen immer 2 Pixel nebeneinander die gleiche Farbe haben, und im Multicolor-Char-Modus kann man nur als individuelle Farbe nur eine aus 8 Farben nutzen statt aus 16, usw.

    Gerade DAS ist doch schön designed beim C64:


    24 Pixel Breite = 3 Bytes; 3 Bytes x 21 Pixel Höhe = 63 Bytes = 1/4 Page, vier Sprites passen in eine RAM-Page -> einfaches Adressieren der Sprites im RAM möglich, ...

    Es sind 504 Pixel, fast 100 % (!) mehr Fläche als bei 16x16-Sprites (256 Pixel).


    Die MultiColor-Einschränkungen resultieren daraus, die bestehende Hardware im VIC auf eine andere Art nutzen zu können, ohne mehr Speicher usw. zu verbrauchen. Auch das finde ich sehr elegant gelöst.

    Anderes Beispiel, beim C64 gibt es die Situation, dass das Char-ROM "hart" reingemappt wird und der Grafikchip dann je nach Konfiguration dort keine Sprite-Daten lesen kann usw, bzw. dass das Char-ROM nicht geaendert werden kann sondern man es nur an eine andere Stelle kopieren und dort aendern kann usw. Auch da waere es "sauberer" bzw "schoener", wenn das direkt aenderbar waere. Und so weiter.

    Auch das ist Ansichtssache: Es war halt nur noch ein Eingang am PLA frei, und da kam halt VA14 dran. Das war ein Kompromiss, ja.


    Das ganze Speichermodell des C64 ist sehr flexibel mit sehr wenig Aufwand. Überhaupt haben die Konstrukteure da sehr viel Herz reingelegt (9 V AC am Userport - kann man fast beliebige Spannungen daraus "bauen" ohne großen Aufwand) und an Bastler gedacht.


    Klar, mit unendlich Ressourcen kann man alles immer schöner, schneller, besser machen. Ich hab mir vorgestern den Film "8-Bit-Welt - der Commodore Krieg - CBM in den 1970 und 1980" angesehen und musste lachen, weil Jack über Chuck sagte, dass er ein sehr guter Techniker war, aber nie fertig wurde, er wollte immer noch was Besseres und noch was Besseres ... dieses Beispiel findet man in vielen anderen Bereichen auch: Wenn etwas "nach Lehrbuch" entworfen wird, kommt ganz oft nichts dabei heraus. Das ist dann wie bei Architekten, die der Kunst wegen bauen und nicht wegen des Nutzens - die Häuser kann man dann auch nicht brauchen.


    Hoffentlich nicht zu sehr OT. :/

    "Wenn du überredet, ermahnt, unter Druck gesetzt, belogen, durch Anreize gelockt, gezwungen, gemobbt, bloßgestellt, beschuldigt, bedroht, bestraft und kriminalisiert werden musst. Wenn all dies als notwendig erachtet wird, um deine Zustimmung zu erlangen, dann kannst du absolut sicher sein, dass das, was angepriesen wird, nicht zu deinem Besten ist." - Quelle unbekannt.


    "Steve Jobs hat User hervorgebracht, Jack Tramiel Experten." - Quelle unbekannt.

    "Mein Herr, ich teile Ihre Meinung nicht, aber ich würde mein Leben dafür einsetzen, dass Sie sie äußern dürfen." - Voltaire.

    "Diskutiere nie mit einem Idioten - er zieht dich auf sein Niveau hinunter und schlägt dich dort mit seiner Erfahrung!" - Volksweisheit.


  • kinzi Doch das ist nicht OT und Deine Sichtweise ist auch vollkommen korrekt - ich finde viele dieser Dinge kann man von mehreren Seiten betrachten. Dass ein Sprite in 64 Byte passt und dass ein Multicolor-Sprite nicht mehr Speicher benoetigt als ein Hires-Sprite finde ich auch "cool" und in dieser Hinsicht auch perfekt geloest. Fuer den Anwender oder Programmierer ergeben sich dadurch aber natuerlich wieder gewisse Huerden, auf die er vielleicht lieber verzichten wuerde. Aus dieser Sicht heraus waere es wieder schoener, man haette es anders geloest.


    Daher sagte ich ja auch zu Beginn, dass es in diesem Thread keinen "Sieger" geben kann und dass viele Aspekte auch durchaus kontrovers und subjektiv diskutiert werden koennten :)

  • Vielleicht sollte man in dem thread zwischen 8 und 16 bit Computern unterscheiden. Sind ja quasi 2 Epochen.


    Der perfekte homecomputer wäre ein c64 der im hires Modus ohne Einschränkungen alle Farben gleichzeitig darstellen könnte. Selbiges für die sprites.

    Vielleicht dann mit eigenem videoram