Hello, Guest the thread was viewed23k 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]

  • as brachte mich letztlich auf die Idee, in meinem Fantasy-Computer einen speziellen Char-Mode vorzusehen, der höher auflöst als der Gaming/Bitmap-Mode. Warum sollte man die Lesbarkeit beim Coden so sehr einschränken.

    Gibt es denn Leute die auf einem Retro Computer direkt coden wollen? Ich mein für ein Retrogerät was entwickeln: Ja, sehr gern. Aber auf so einem Gerät? Nicht umsonst haben ja die Entwickler - die es konnten - schon so früh wie möglich auf dem PC für C64 und Amiga programmiert und nicht auf den Geräten selbst, weil es eben viel bequemer war. Und heute liegen ja nochmal Welten dazwischen mit Intellisense etc., da will man doch nicht mehr Bezeichner jedes Mal per Hand neu eingeben, sondern nur die ersten Buchstaben und dann vervollständigen, das spart extrem viel Zeit und Nerven. Und dann das Debuggen, was ja sehr viel Zeit in Anspruch nimmt, das ist ja sooo toll heute in den IDEs.

  • Gibt es denn Leute die auf einem Retro Computer direkt coden wollen?

    Nun ja, auf dem PICO-8 bleibt dir mW keine Wahl. Der wird mittels LUA in der integrierten IDE programmiert und dann muss man auch (so weit ich weiß) den eingebauten Font verwenden – der halt nicht sehr augenfeundlich ist.


    Abgesehen davon wäre für mich ein großer Teil des Spaßes, mir einen Retro-Computer (wie den Commander X16) anzuschaffen, direkt darauf etwas zu tun, z.B. darauf zu programmieren. Wenn man das nicht tun wollte, stellt sich die Frage danach, ob man nicht mit einem reinen Emulator besser bedient wäre. Warum sollte man sich eine teure Retro-Computer-Hardware anschaffen, um dann 95% der Zeit doch nur vor dem PC zu hocken. Das kann ich billiger haben. ;)


    Und heute liegen ja nochmal Welten dazwischen mit Intellisense etc.

    Niemand sagt, man müsse auf einem Retro-Computer zwingend auf eine moderne IDE verzichten. Die aktuellen Geräte tun das zwar größtenteils und arbeiten wie 1983 – mein Fantasy-Computer würde das aber anders machen – gerade damit das Coden AUF der Maschine mehr Spaß macht.


    Am Besten, man stellt sich grob einen Raspi in einem schicken HC-Gehäuse vor, der direkt in eine modifizierte TIC-80-IDE bootet. Das wäre dann gleichzeitig die "Abspiel"-Plattform, wie auch die Entwicklungsplattform. Und nur so macht das für mich Sinn. (Natürlich gäbe es auch eine externe Emu-Lösung für den PC/Mac, für Leute, die diesen Weg bevorzugen).

  • Gibt es denn Leute die auf einem Retro Computer direkt coden wollen?

    Ja, mich. Der PC ist da nur Hilfsmittel. Ich verwende den PC als "Hardcopy" für meine Programme. Da kann ich durch das Listing scrollen und mir so meine Gedanken machen was ich verbessern kann.

    Aber das mach ich dann direkt auf dem Computer und nicht auf dem PC. EMUs sind gut und nützlich aber nur auf dem EMU macht das überhaupt keinen Spaß.

  • Finde ich gut, hätte ich aber ehrlich gesagt nicht den Nerv für. Ich liebe viel zu sehr das bequeme Arbeiten am PC.

    Ist definitiv bequemer. Ich überlege immer noch am M65 einen Basic Editor zu schreiben.Mit Mausbedienung und Hilfsmittel wie Copy & Paste.

    Den könnte man dann auch nutzen um C64 oder C16 Programme zu schreiben.

  • Ich liebe viel zu sehr das bequeme Arbeiten am PC.

    Darfst du ja. Die Frage ist aber, warum man sich bei so einer Einstellung einen recht teuren Retro-Computer anschaffen sollte. Und nur Leute, die sowas haben wollen, wären ja die Zielgruppe meines (oder auch eines anderen) Fantasy-Computers. Für alle anderen, die ohnehin nicht weg von ihrem PC wollen, gibt es ja tausende Lösungen – die können z.B. mit Pygame in ein virtuelles Fenster malen. Jeder wie er mag.

  • Nun ja, auf dem PICO-8 bleibt dir mW keine Wahl. Der wird mittels LUA in der integrierten IDE programmiert und dann muss man auch (so weit ich weiß) den eingebauten Font verwenden – der halt nicht sehr augenfeundlich ist.

    Man kann bei PICO-8 durchaus mit einer externen IDE arbeiten, wenn man möchte (dann sind alle anderen Daten auch als Text in der Datei kodiert), man muss nur etwas aufpassen, nicht versehentlich in PICO-8 etwas zu überschreiben.

  • Die Diskussion gab es ja schon im eigentlichen "Retro-Fantasy-Computer"-Thread. Ich denke unterm Strich kommt es einfach auch konkret darauf an, wie gut sich auf dem "Fantasy-Computer" entwickeln laesst. Auch dort liesse sich ja eine gute oder zumindest ordentliche IDE bauen. Vor allem wenn der Fantasy-Computer z.B. noch einen Hires-Modus hat, z.B. 640x480 oder aehnlich. Zumindest kann es fuer manche schon auch direkt ein primaerer Wunsch sein, auf dem Retro-Computer entwickeln zu WOLLEN. Denn fuer jeden ist die "Retro-Experience" nunmal etwas anders, bzw. die Schwerpunkte sind anders verteilt.

  • Ich fände es mal interessant einen selbstgebauten Retro-Computer zu "bootstrappen".

    Also einen Bootloader als Diodenmatrix oder so codieren :-)

    Damit dann einen Hexmonitor eintippen.

    Damit dann einen Assembler bauen.

    Damit dann ein Betriebsystem bauen.

    Dann einen Compiler dafür bauen....


    Ganz die andere Richtung fände ich aber auch interessant: Einen Crosscompiler bauen der einfach mal 8+ Kerne und 16+ Gigabyte RAM belegt um das zu erzeugende C64 Programm bis ins letzte zu optimieren....


    Mir wird aber für beides die Zeit fehlen so lange ich noch nicht in Rente bin ;(

  • Ich denke, es hängt davon ab, weshalb man für ein Retro-Gerät coded. Wenn ich das (mehr oder weniger) professionell mache, würde ich das mit einer modernen IDE auf einem aktuellen Gerät machen. Wenn ich aber wegen des Retro-Feelings code, dann ziehe ich es vor, das auf der alten Hardware zu machen. Da möchte ich das auch nicht mit einem Emulator machen, einfach wegen des Feelings.

  • Darfst du ja. Die Frage ist aber, warum man sich bei so einer Einstellung einen recht teuren Retro-Computer anschaffen sollte. Und nur Leute, die sowas haben wollen, wären je die Zielgruppe meines (oder auch eines anderen) Fantasy-Computers. Für alle anderen, die ohnehin nicht weg von ihrem PC wollen, gibt es ja tausende Lösungen – die können z.B. mit Pygame in ein virtuelles Fenster malen. Jeder wie er mag.

    In meinem Falle habe ich mir den C64 als Hardware wieder angeschafft um ihn mal wieder live vor mir zu sehen und anfassen zu können, das weckt schon viele nostalgische Gefühle in mir.


    Ich habe mich - genau wie die gesamte Hard- und Software - über die Jahrzehnte allerdings weiterentwickelt und das ist der Grund warum ich es nicht mehr toll finde auf dem Commodore 64 selbst irgendwas zu machen. So ziemlich alles am und auf dem PC ist um Welten besser geworden und das genieße ich sehr. So macht es mir hundertmal mehr Freude am PC, mit einer IDE meiner Wahl, was für den C64 auszuprobieren. Der reale C64 soll dann für Realtests herhalten, ansonsten steht er halt einfach nur rum. Spiele und sowas von früher wecken zwar viele Erinnerungen. Ich finde sie aber furchtbar zu spielen, da ich von den Sachen heute einfach verwöhnt bin. Klar, hatten die damals noch keine Ahnung wie man Spiele macht. Man musste erst die Erfahrungen über die Jahre sammeln, um zu wissen wie es dann besser geht, genau wie in der Anwendung- oder Software-Entwicklung auch. Das waren eben die ersten Schritte und die sind meist nie so dolle. Sowas wie ein Mega65 würde mich nie interessieren, oder irgendein anderer neuer Retrocomputer, den ich nicht aus meiner Jugend kannte. Ich habe allerdings großen Respekt vor der Ingenieursleistung, wenn sowas wie der Mega65 hochgezogen wird. So eine Entwicklung ist schon spannend, die Nutzung eines solchen Gerätes aber null. Ich liebe den C64 wirklich sehr, aber für irgendwelche Alltagsaufgaben, wie Software-Entwicklung, möchte ich ihn nicht mehr nutzen.


    TL;DR

    Hardware aus Nostalgie; Emu um Spaß am Entwickeln zu haben

  • Die Beweggründe zur Anschaffung eines Vintage- oder (modernen) Retro-Computers sind vielfältig. Ursprünglich ging es im Ursprungsthread um das komfortable Arbeiten (speziell das Lesen des Codes) auf der Maschine selbst (auch wenn es hier im Speziellen um eine softwarebasierte/simulierte Konsole ging), allgemeiner betrifft das aber alle Retro-Computer, vor allem die aus echter (teils teurer) Hardware.


    Beim C64 (und anderen alten Rechner) sind meine Beweggründe zum Anschaffen der Hardware das Sammeln an sich (ich bin nunmal Sammler). Ich käme z.B. nicht auf die Idee, meine Spiele-Grafiken auf dem C64 zu pixeln – das geht in Photoshop deutlich komfortabler. Irgendwas ohne Ebenen-Verwaltung würde ich gar nicht mehr anfassen wollen. Ich nutze den C64 beim Entwickeln vorwiegend zum Testen (entweder meiner Grafiken oder der PRGs, die ich vom Programmierer bekomme) – um zu sehen, wie alles auf dem echten System/CRT (hier: Commodore 1084s) aussieht – denn das ist für mich nach wie vor die Referenz.


    Wenn ich aber von meinem Sammel-Beuteschema abweichen und mir einen neu entwickelten Retro-Computer anschaffen würde, dann um damit direkt etwas zu tun. Dann würde ich gerne AUF und MIT der Maschine arbeiten wollen. Ansonsten würde sich für mich in der Anschaffung kein Sinn ergeben, denn historisch relevant wäre das Gerät ja nicht. Aber meine Ansprüche ans komfortable Arbeiten sind über die Jahrzehnte gestiegen, von daher hätte ich persönlich keine Lust, mit einem 1980er Bildschirm/Zeilen-Editor BASIC zu proggen oder mit einem Joystick in Koalapaint Grafiken zu pixeln.


    Die Retro-Computer, wie Commander X16, Spectrum Next, Mega65 usw. bestehen ja immer aus einer Mischung aus alt und neu – die sind ja nicht wirklich Kinder der 80er, sondern haben Anklänge daran aber eben auch moderne Features, wie (für 8-Bitter) ungewöhnlich hohe Auflösungen und Performance. Andere Sachen bleiben aber unangetastet, wie z.B. der rudimentäre BASIC-Editor (dem selbst C&P und Mausbedienung fehlt, obwohl eine Maus meist obligatorisch ist) und überhaupt fehlende IDE mit Editoren für Sprites, Chars, Tiles, Levels, Sound usw.


    Für viele Kunden mag genau diese Mischung richtig sein und es gibt ja auch genügend Fans dieser Projekte – allerdings bei den Geräten, die schon eine Zeit lang auf dem Markt sind, auch recht wenig (hochwertige) Software/Games (die ja von irgendwem kommen müssen). mE ist dieses Problem teils hausgemacht.


    Deshalb hatte ich irgendwann die Idee formuliert für einen Retro-Rechner, der auch eine Mischung aus alt und neu darstellt – aber mit anderer Gewichtung als die bisherigen. Inspiration war PICO-8, aber eben OpenSource und mit echter, Wohn- und Kinderzimmer-tauglicher Hardware. Was ich bei PICO-8 oder dem (hier besser geeigneten) Schwester-Projekt TIC-80 gut finde, ist die Mischung aus rudimentären Multimedia-Eigenschaften (geringe Auflösung, kleine Farbpalette, einfacher Sound) aber mächtiger/moderner IDE und Programmiersprache. Sowas, aber als echten Computer (auch um eine reale Performance-Bremse zu haben, denn die fehlt den Fantasy-Software-Konsolen), hätte ich wirklich gerne im Haus.


    Das wäre dann ein System, an dem ich gerne mal sitzen würde – zum Zocken vorhandenen Titel (sobald es welche gäbe) aber eben auch zum Entwickeln direkt AUF der Maschine – eben weil es komfortabler wäre als früher (Volltext-Editor mit Scrolling, Auto-Vervollständigen, C&P, moderne Strukturierung, Onlinezugriff usw.) und es auch schneller zu vorzeigbaren Ergebnisse käme – und ohne die Hürde, von Basic letztlich doch auf Assembler wechseln zu müssen, wenn man mehr als 2 Figuren über den Bildschirm bewegen oder scrollen will.


    Kurz: So wie es sich aktuell darstellt, arbeite ich eher FÜR die als AUF der Maschine. Ich kann mir aber gut vorstellen, das auch mal anders zu machen – dann müssen aber die Rahmenbedingungen stimmen. Und ich kann mir zudem vorstellen, dass ich mit meinen Wünschen nicht alleine bin. Ich sehe da nach wie vor eine Zielgruppe im 6-stelligen Bereich. Ich glaube sogar, dass viele der Käufer der aktuellen Retro-Systeme mit meinem Konzept langfristig glücklicher werden würden – aber es ist nun mal nach wie vor ein reiner Fantasie-Computer, von daher bleibe ich an meinem MacBook sitzen und nutze die modernen Errungenschaften unserer Zeit – um möglichst tolle Sachen für C64 und Co. zu gestalten/erdenken.

  • Ich arbeite und mache alles nur auf "echter" Hardware.


    Warum?


    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.

  • Und ich kann mir zudem vorstellen, dass ich mit meinen Wünschen nicht alleine bin.

    Ich sehe das größtenteils wie Du.
    Nur bei der Auflösung werden wir uns wohl nie einig werden. Ich halte eine etwas höhere Auflösung, die dafür aber quadratische Pixel hat, für einfacher zu befüllen als eine mit "Multicolor-Pixeln". Geht man von einer 8x8 Matrix aus und der Verwendung auf 16:9 Full-HD Displays, bleiben da nicht allzu viele Varianten übrig.
    Aber das Thema hatten wir ja anderweitig schon diskutiert. :)


    Zur Frage: "Arbeiten auf oder für den Retrocomputer?" würde ich mit zweimal JA antworten.

  • Ich halte eine etwas höhere Auflösung, die dafür aber quadratische Pixel hat, für einfacher zu befüllen als eine mit "Multicolor-Pixeln".

    Das sind halt alles Kompromisse – wo man sich dann einfach irgendwann mutig entscheiden muss – zumindest für den Fall, dass man es wirklich angeht. Natürlich sind quadratische Pixel praktischer – allerdings sind die von mir favorisierten "Multicolor-Pixel" nicht so breit, wie die vom C64, sondern nur ca. 1,5 x so breit, wie hoch (aus meiner Erinnerung). Zudem soll es ja aus praktischen Erwägungen eine "Hires"-Auflösung für Text geben – man könnte also (ins Unreine gesprochen und ohne, dass ich über die Folgen nachgedacht habe) ;) als weiteren Kompromiss ein Verfahren andenken, das es erlaubt (ähnlich dem C64 MC-Char-Mode) beides zu mischen.


    Für das "einfache (und schnelle) Befüllen" ist es wichtiger, möglichst wenige Pixel zu haben – als deren Form.

  • Ich arbeite und mache alles nur auf "echter" Hardware.

    [...]

    Leider kann man auf diesem Wege mangelndes Talent nicht durch Konvertierungen auf dem PC ersetzen

    Auch mithilfe des PCs kann man mit Konvertierungen nicht viel anfangen. Der Code wird weitgehend handgeschrieben, die Grafiken handgepixelt, der Sound "getrackert" – auch mit dem PC muss man alles selber* machen. Was sicherlich (neben den leistungsfähigeren Tools) vereinfacht wird (über die direkte Online-Anbindung), ist das gemeinsame Arbeiten an Projekten (das würde ich gerne auf einen Retro-Computer transportieren) und auch die Recherche.


    *) "selber" meint hier manchmal ein Team von Spezialisten – aber eben manuell bzw. zu Fuß.

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

    Da hatte ich auf dem C64 aber auch noch keine großen Probleme – und da sind die MC-Pixel (außer bei NTSC) WIRKLICH breit. Bei 8-Bit-Grafik sind wirklich quadratische Pixel ja eher die Ausnahme, damit lernt man schnell zu leben. Aber wie du selber sagst, haben wir da unterschiedliche Gewichtungen, was den Sweetspot des Kompromisses angeht – wobei ich glaube (damit kann ich aber auch schief liegen), dass ich mehr Erfahrung beim "manuellen Befüllen von Bildschirmen mit Pixeln" habe und daher vielleicht den Schmerz/Aufwand besser bewerten/nachfühlen kann. Aber es lohnt nicht, weiter über ungelegte Eier zu diskutieren. Solange sich niemand an eine Realisierung macht, ist quasi jede Auflösung gleich schlecht oder gut.