Hello, Guest the thread was viewed22k times and contains 268 replies

last post from ogd at the

Möchte man direkt auf einem (modernen) Retro Computer programmieren? [aus: heute so gepixelt]

  • Auf einem PC programmieren etc. würde das (für mich persönlich - jeder wie er will) nur die Nachteile von heute (Haptik, Gefühl) mit den Nachteilen von damals (Restriktionen etc.) verbinden, und dies wäre für mich = kein Spaß = kein Hobby.


    Mit den heutigen Erweiterungen, Softwarelösungen und angesammeltem Wissen macht es mehr Spaß denn je.


    Leider kann man auf diesem Wege mangelndes Talent nicht durch Konvertierungen auf dem PC ersetzen, daher ACHTUNG:


    Leider ist alles von mir zu 100% von mir. Nicht immer schön, aber selten.


    Aber: Jeder wie er will.

    Genau das trifft es ganz gut: Jeder will er will.


    Zur Haptik, gerade da liebe ich meine frei einstellbare RGB-Chiclet-Tastatur meines Lenovos. Bei Tastaturen bin ich echt sehr anspruchsvoll, habe da ziemlich viel durch, hatte auch mal so eine IBM Model M usw. am Ende gewinnen für mich aber immer die schön flache Tasten mit gutem Druckpunkt und ein Muss ist die Bleuchtung, da liebe ich ganz leichte Brauntöne. Auf einer C64 Tastatur möchte ich nie groß was schreiben, damals war das ok, heute bitte nicht mehr.


    Gerade die Restiktionen am C64 finde ich sehr interessant, aus heutiger Sicht. Mich interessiert was ich hätte damals machen können. Irgendeine neue Retro-Maschine mit Restriktionen interessiert mich gar nicht, dafür gibt es Raspberry PIs oder Mikrocontroller wie Sand am mehr. Ich könnte auch heute schwer vergleichen, ob das nun eine Leisung ist was Entwickler X auf neuer Retro-Maschine Y da gemacht hat. Da geht wirklch jeglicher Sinn für mich verloren, sich mit solch einem Gerät zu beschäftigen.


    Für mich macht daher gerade die Haptik von heute mit den Restriktionen von damals den Spaß aus.

  • Bei mir gilt das gesagt für die CBMs (ab PET 2001) und andere Retro-Computer und weniger für den C64. Aber es war ja nicht speziell nach C64 gefragt.


    Ich bin damals schon (ab 1985) sehr früh mit der Softwareentwicklung auf professionellere Computer gewechselt und habe dort mit Crossassemblern und -compilern Programme für Embedded Systeme geschrieben. Zunächst CP/M, später dann DOS-PCs. Das war auch beruflich bedingt.


    Für mich ist die Crossplattform-Entwicklung selbst schon Retro. Also keine Notwendigkeit stundenlang zu warten, bis der MAE-Assembler auf dem CBM meinen Assemblercode übersetzt hat, wenn der DOS-PC das in wenigen Minuten erledigt hat. Das war damals schon kaum zumutbar. Dazu würde mir heute auch die Zeit fehlen. Damals war ich Schüler bzw. Student mit gefühlt unendlich viel Zeit. Heute könnte viel weniger spannenden Projekten nachgehen und es gibt so viele davon. ;)

  • Für mich ist die Crossplattform-Entwicklung selbst schon Retro. Also keine Notwendigkeit stundenlang zu warten,

    Habe ich zwar selbst nie live gesehen, aber habe darüber gelesen, dass man eben - sobald man die Mittel hatte - auch schon in den 80er auf bessere System umgestiegen ist, um das Entwickeln eben zu erleichtern. Auf dem PC programmieren und dann zu den Endgeräten dumpen macht da aber dann durchaus Sinn, und das kann man daher auch zum Retro-Programming mit dazu zählen.

  • Für mich ist die Crossplattform-Entwicklung selbst schon Retro. Also keine Notwendigkeit stundenlang zu warten,

    Habe ich zwar selbst nie live gesehen, aber habe darüber gelesen, dass man eben - sobald man die Mittel hatte - auch schon in den 80er auf bessere System umgestiegen ist, um das Entwickeln eben zu erleichtern.

    War auch privat nicht so einfach. CP/M- und DOS-Rechner waren teuer und der erste 6502-Crossassembler für CP/M, mit dem ich gearbeitet habe, kostete 999 DM.

  • Das wird mit Sicherheit der Hauptgrund gewesen sein, warum das nicht jeder machen konnte. Einige Spiele wären wohl gar nicht möglich gewesen wenn man direkt auf der Maschine den ganzen Speicher nutzen wollte, wenn ich mich da richtig erinnere? Da hätte man wahrscheinlich aber auch einen zweiten C64 verwenden können. Das schönere Entwickeln hätte aber sicher auch da der PC ermöglicht.

  • Ja, das haben die Profis so gemacht, die sich das leisten konnten. Es gab das "PDS"-System, bei dem man vom PC aus fuer den C64 und andere 8bitter entwickeln konnte: https://retro-hardware.com/201…tem-pds-by-andy-glaister/


    Auch Spiele wie Doom wurden auf einem staerkeren Computer entwickelt. Von daher eigentlich nichts verwerfliches. Aber gerade bei solch einem Rechner wie dem MEGA65 und Co, moechte man eigentlich auch diesen nicht nur als "Abspielgeraet" haben, sondern ich finde es stellt dann auch durchaus einen Reiz dar, diesen direkt fuer die Entwicklung zu nutzen. Allerdings muss hier eben der Spagat zwischen alt und neu gemacht werden, denn so viel Spass es auch machen kann, direkt auf dieser "alten" Kiste zu entwickeln, so nervig kann es auch sein, auf moderne Features keinen Zugriff zu haben. Ich denke hier kommt es auch drauf an worauf der Schwerpunkt liegt. Wer "nur" programmieren moechte, weil er Spass am Programmieren hat, der wird das evtl nochmal anders bewerten als jemand, der konkrete Ziele damit verfolgt und fertige Produktionen abliefern moechte.

  • Einige Spiele wären wohl gar nicht möglich gewesen wenn man direkt auf der Maschine den ganzen Speicher nutzen wollte, wenn ich mich da richtig erinnere?

    Das mit dem Speicher ist in der Tat ein Problem, allein schon weil der Source-Code ja viel mehr Speicher benoetigt als das kompilierte Programm. Ein Assembler-Befehl in Textform hat ja schonmal mindestens 3 Byte + 1 Leerzeichen + den Wert, der bis zu 5 Zeichen lang sein kann (z.B. $D020), also 9 Byte, dann noch Zeilenumbruch, Einrueckungen, Labels, usw, das benoetigt dann alles ein Vielfaches dessen, was das fertige Programm benoetigt.


    Oder man programmiert direkt im Monitor, das machen ja auch manche...

  • Ich könnte auch heute schwer vergleichen, ob das nun eine Leisung ist was Entwickler X auf neuer Retro-Maschine Y da gemacht hat.

    Das kann wohl niemand – aber das muss auch niemand. Es ist ja bei den Meisten so, dass sie sich für EINE Plattform entscheiden, auf der (oder für die) sie was machen wollen. Wer sich aktiv mit dem Mega65 auseinandersetzt, wird in den seltensten Fällen einen Spectrum Next daneben stehen haben, dem er genau so viel Zeit widmet. Und letztlich sind irgendwelche Restriktionen der Maschine nur denen bekannt und für die interessant, die auf diese gesetzt haben. Jemanden, der kein Interesse an alten Computern hat, wird auch die tollste C64-Demo nicht vom Hocker reißen, weil er einfach nicht sieht, was daran besonders sein soll. Er wird immer denken: "bei YouTube habe ich schon buntere bewegte Bilder gesehen – sogar in 4K". Diese ganzen Sachen, die wir machen, sind also ohnehin für Insider, für unsere kleine Bubble.


    Weswegen aber viele Leute gerne für eine leistungsbegrenzte Plattform entwickeln (statt einfach für Windows/x86), sind die Beschränkungen. Neben der Vergleichbarkeit ist auch die kürzere Entwicklungszeit (geringere Manpower) aufgrund beschränkter Ressourcen sicherlich ein Grund. Auch ist die Fallhöhe geringer bei Gewerken (Code, Grafik, Level-Design, Sound), die man weniger gut beherrscht. Man hat also seine eigene kleine Welt, die man zunehmend gut beherrscht – und dafür ist es eigentlich egal, ob das eine alte Plattform oder eine neu erdachte ist. Wichtig ist vor allem, dass es eine Community/Bubble gibt oder sich schnell entwickelt, denn wer will schon Software schreiben für einen Rechner, den sonst niemand kennt/hat.

  • Ich bin sicherlich die Ausnahme, eigentlich ist es ja meistens komfortabler auf dem PC zu entwickeln.


    Aber bei mir gibt es die Ausnahmen amC64. Debuggen mache ich lieber auf echter Hardware mit nem Ultimate 1541 II+ und einem Action Replay crt Image.


    Ich kenne das Action Replay gut von damals und komme damit besser klar als mit Vice. Außerdem für die Unterstützung von nativen (S)NES Pads war es besser, da es kein Emulator gibt, der echte (S)NES Pads hundert prozentig emuliert.

    Aber ja so was wie C64 Studio ist schon tausend mal besser als irgendwelche C64-Assembler von früher. Früher hat das Assemblieren von ca. 32 KB über 2 Minuten gedauert, und am PC kann der Source größer werden und dann dauert es nur 2 Sekunden. Jetzt mit C64 Studio, kann endlich der Quelltext so groß werden, wie er will, so dass man auch vernüftige Kommentare einfügen kann :) Keine Beschränkungen mehr der Labellänge mangels Speicher.


    Beim Amga sehe ich allerdrings kaum Unterschiede zwischen PC-Entwicklung oder auf dem Amiga entwickeln. Auf dem Amiga dauert bei meinem speziellen Projekt das Assemblienen auch nur 2-3 Sekunden und kann es direkt am Amiga starten. Da sehe ich ehrlich gesagt keine Notwendigkeit ein PC zu nehmen. Beim PC hat man natürliich mehr Überblick wegen den besseren Auflöungen und der Emulator hat auch Savestates, was sehr praktisch sein kann zum Debuggen.


    Verwerflich finde ich es auch nicht auf dem PC zu entwickeln, man sollte immer das nehmen, womit man am besten klar kommt.

  • Bei einem C64 könen aber selbst in unsere Bubble mehr Leute vergleichen, als wenn jemand was auf einem Mega65 oder einem Spectrum Next was macht, ansonsten stimme ich dir zu.

    Neben der Vergleichbarkeit ist auch die kürzere Entwicklungszeit (geringere Manpower) aufgrund beschränkter Ressourcen sicherlich ein Grund.

    Gerade die geringen Ressourcen treiben aber die Entwicklungszeit in die Höhe, dasselbe Spiel oder eine ähnliche Demo habe ich mit PyGame in einen Bruchteil der Zeit fertig als wenn ich mich mit Registern des C64 rumschlagen muss und noch auf Zyklen achten muss etc. oder nur das sehr beschränke Assembler verwenden darf.

    Wenn man sich auf dem PC Restriktionen sucht, wie geringe Auflösung, nur 2D oder rudimentäres 3D, dann geht das Entwicklern sicherlich um einiges schneller als für einen C64. Auf dem PC kann man sich mehr aufs Wesentliche konzentrieren, bei C64 hat man immer noch viel um was man sich kümmern muss wie: z.B: kann ich einen A* Algo überhaupt nehmen weil der da viel Speicher braucht etc.


    Das macht aber eben auch den C64 aus: Es ist unglaublich kompliziert damit die einfachsten Sachen zu machen, aus heutiger Sicht. Und gerade das reizt mich ja auch etwas: Ob ich den Nerv habe für ganz einfache Sachen unglaublich viel zu recherchieren und zu probieren und das mit den sehr umständlichen 6502 Assemblerbefehlen.

  • Neben der Vergleichbarkeit ist auch die kürzere Entwicklungszeit (geringere Manpower) aufgrund beschränkter Ressourcen sicherlich ein Grund.

    Gerade die geringen Ressourcen treiben aber die Entwicklungszeit in die Höhe, dasselbe Spiel oder eine ähnliche Demo habe ich mit PyGame in einen Bruchteil der Zeit fertig als wenn ich mich mit Registern des C64 rumschlagen muss und noch auf Zyklen achten muss etc. oder nur das sehr beschränke Assembler verwenden darf.

    Wenn man sich auf dem PC Restriktionen sucht, wie geringe Auflösung, nur 2D oder rudimentäres 3D, dann geht das Entwicklern sicherlich um einiges schneller als für einen C64. Auf dem PC kann man sich mehr aufs Wesentliche konzentrieren, bei C64 hat man immer noch viel um was man sich kümmern muss wie: z.B: kann ich einen A* Algo überhaupt nehmen weil der da viel Speicher braucht etc.

    Das ist voellig richtig, allerdings kann ich Dir aus Erfahrung sagen, dass die Resonanz fuer ein C64-Spiel innerhalb der C64-Bubble um Laengen groesser und intensiver ist, als wenn Du ein Retro-aussehendes Spiel fuer eine moderne Plattform programmierst. Klar gibt es auch hier Ausnahmen, aber Du brauchst entweder Glueck oder gutes Marketing, um Spieler fuer Dein in Python geschriebenes Retro-Spiel zu finden. Wenn Du was gutes fuer den C64 programmierst, verbreiten sich die News darueber quasi von allein.

  • Ist zwar nicht ganz so Retro weil doch noch nicht ganz so alt, aber wenn ich wie jetzt hauptsächlich in Pascal und C++ programmiere, dann immer auf den Geräten für die das vorgesehen ist. Aktuell halt auf einem 386DX33 mit DOS 5.0 und Turbo Pascal 7 / Turbo C++ 3.1. Dabei versuche ich dann auch so weit als möglich authentisch zu bleiben und keine modernen Hilfsmittel zu nutzen - sprich, die Originaldokumentation und einige Bücher als PDF müssen ausreichen. Was ich dabei festgestellt habe - und auch mit einer der Gründe warum ich das so handhabe - ist, dass man mehr nachdenkt bevor man etwas macht. Man liest sich ein, denkt darüber nach, programmiert und testet. Es ist halt ein schöner Kontrast zum aktuellen Zeitgeist, wo man sich seine Snippets von Stackoverflow zusammenkopiert, zwei Zeilen im Programm ändert, neu kompiliert und probiert - weils halt schnell gehen muss und man nicht die Zeit hat sich irgendwo tief reinzukniene. Dafür versteht man dann oft nur die Hälfte von dem was vorgeht.

  • Bei mir ist es so ein "Zwischending", ähnlich wie bei Omega


    Ich entwickle fast ausschließlich mit Emulatoren auf dem Laptop, aber nur "innerhalb des emulierten Systems". Also z.B. für den MEGA65 mit dem Xemu-Emulator oder für den C64/C128 mit VICE. Auf orginaler Hardware mit einem Röhrenmonitor zu entwickeln, dass tue ich meinen Augen nicht mehr an. Und wenn ich vor einem TFT sitze, dann kann ich auch den Emulator nehmen.


    Allerdings haben für mich so Tools wie C64 Studio & Co keinen "Retrocharme". Die verwende ich deshalb auch nicht. Wenn, dann "so wie damals" AUF den Systemen, aber eben in meinem Fall auf den emulierten Systemen.


    Wie gesagt, ist so ein Zwischending, das - für mich - gefühlsmäßig am ehesten Retroatmosphäre beim Entwicklen weckt. :)

  • Weswegen aber viele Leute gerne für eine leistungsbegrenzte Plattform entwickeln (statt einfach für Windows/x86), sind die Beschränkungen. Neben der Vergleichbarkeit ist auch die kürzere Entwicklungszeit (geringere Manpower) aufgrund beschränkter Ressourcen sicherlich ein Grund. Auch ist die Fallhöhe geringer bei Gewerken (Code, Grafik, Level-Design, Sound), die man weniger gut beherrscht. Man hat also seine eigene kleine Welt, die man zunehmend gut beherrscht – und dafür ist es eigentlich egal, ob das eine alte Plattform oder eine neu erdachte ist. Wichtig ist vor allem, dass es eine Community/Bubble gibt oder sich schnell entwickelt, denn wer will schon Software schreiben für einen Rechner, den sonst niemand kennt/hat.

    Ja, dem würde ich so zustimmen.


    Wobei man sich seine überschaubare Welt auch zum Beispiel unter Windows erschaffen kann. Ich entwickle unter Windows Online-Dienste für unser Fernschreiber-Netzwerk. Der Funktionsumfang der Dienste ist durch die Einschränkungen der Fernschreiber begrenzt und bleibt überschaubar.

    Aber die Dienst laufen unter Windows und ich kann moderne Entwicklungswerkzeuge verwenden und da ich die gut behersche, kommte ich schon schnell zum Ziel.

  • Ist zwar nicht ganz so Retro weil doch noch nicht ganz so alt, aber wenn ich wie jetzt hauptsächlich in Pascal und C++ programmiere, dann immer auf den Geräten für die das vorgesehen ist. Aktuell halt auf einem 386DX33 mit DOS 5.0 und Turbo Pascal 7 / Turbo C++ 3.1.

    Warum ist ein 386DX33 und DOS-Programmierung nicht (ganz so) Retro?

  • Wenn man sich auf dem PC Restriktionen sucht, wie geringe Auflösung, nur 2D oder rudimentäres 3D, dann geht das Entwicklern sicherlich um einiges schneller als für einen C64.

    Nur bist du dann in einer 1-Leute-Bubble, die deine Restriktionen kennt. Da sehe ich nun gar keinen Vorteil – auch weil du selbst jederzeit deine Restriktionen ändern kannst, wenn sie dich mal nerven. Ich denke, der Erfolg von PICO-8 ist eben der, dass sich eine größere Gruppe auf diese Beschränkungen eingelassen hat und diese nun versucht auszureizen. Und so ähnlich ist das auch bei den Retro-Projekten mit realer Hardware.


    Natürlich spielt die Größe, aber auch Agilität, der Bubble eine gewisse Rolle. Deshalb habe ich bei meinem Fantasy-Computer "groß" gedacht, auf Skalierbarkeit geachtet. Nicht immer teure Chargen mit 500 Geräten, sondern eher wie beim TheC64 (Mini/Maxi): günstiger Preis und damit sofort große Stückzahlen. Da geht aber ohne Finanzierung (wohl Kickstarter) und ein gewisses Risiko nichts.

  • Es gab das "PDS"-System, bei dem man vom PC aus fuer den C64 und andere 8bitter entwickeln konnte [...]


    Auch Spiele wie Doom wurden auf einem staerkeren Computer entwickelt. Von daher eigentlich nichts verwerfliches.

    Verwerflich ist daran natürlich nichts. Es ist einfach ein anderes Arbeiten. Und wenn es darauf ankommt, möglichst schnell zu einem Ergebnis zu kommen (weil man damit Geld verdienen muss), ist es wahrscheinlich das einzig richtige. Wenn aber der Weg das Ziel ist und man einfach Spaß am Entwickeln und auch der Maschine hat (das Ganze also Hobby ist) kann es eben auch schön sein, am Zielgerät zu arbeiten.


    Bei Spielkonsolen gab und gibt es sicherlich nie einen anderen Weg, als das Entwickeln an einem anderen Rechner zu tun und den Code dann zur Konsole rüberzuschicken. Ich bin durchaus Stolz und glücklich, unsere SEGA-Entwicklungsmaschine zuhause zu haben. Zumindest den Teil, der am PC hing, nicht den PC mit seinen Tools selbst (da ich die Hauptentwickler noch ganz gut kenne, könnte ich da vielleicht mal nachhaken).

  • Nur bist du dann in einer 1-Leute-Bubble

    Neben der Vergleichbarkeit ist auch die kürzere Entwicklungszeit (geringere Manpower) aufgrund beschränkter Ressourcen sicherlich ein Grund.

    Das bezog sich auch nur auf deine Aussage hier, wo ich auf keine Fall beschränkte Ressource == kürzere Entwicklungseit setzen würde.


    Natürlich bin ich bei selbstgesetzen Ressoruce in meiner eigenen Bubble, genau wie mit meinem selbstgebauten Retrocomputer etc. und selbstverständlich ist eine Pico-8 Bubble da größer. Die reizt mich aber null, weil eben zu klein, aber der Hauptgrund ist, dass ich zu der Kiste wie zu einem Mega65 0,0000000 Bezug habe. Ist genauso wie Spectrum Next oder Apollos 680080 CPU, obwohl ich den Amiga geliebt habe, aber kenne eben nur die OCS Welt.

  • Mit 1:1-Pixeln ziehe ich Dir recht fix Kreuze und Diagonalen.
    Mit 1.5:1-Pixeln eher nicht so schnell.

    Nichtquadratische Pixel sind auch total toll für visuell korrekte Bitmaprotationen. ;)