Ich habe vor einiger Zeit eine ähnliche Frage zur DOS-Entwicklung gestellt und eine hervorragende Antwort erhalten: Was war die typische Toolchain für die DOS-Spieleentwicklung?
Jetzt frage ich mich, wie die Spieleentwicklung auf dem Apple II in den späten 70ern / frühen 80ern war. Ich interessiere mich hauptsächlich für die frühen: II und II +, aber ich hätte auch gerne Antworten zu IIe usw.
Also hier sind meine Fragen:
Welche Sprachen wurden verwendet?
Ich nehme an, 6502 Assembler, aber BASIC wurde gebündelt und wahrscheinlich auch viel verwendet. Kannst du dir beliebte Spiele vorstellen, die in BASIC geschrieben wurden? Wie wäre es mit C?
Wie war die Entwicklung des 6502-Assemblers?
Mir ist aufgefallen, dass Sie Op-Codes direkt eingeben können, wenn Sie den Systemmonitor starten, und Sie können Assembler sogar direkt mit dem Mini-Assembler ausführen. Aber ich kann mir nicht vorstellen, dass Spiele so geschrieben wurden, gab es Editoren / IDEs? Wie wurden Programme auf Datenträgern / Bändern gespeichert?
Wie war die BASIC-Entwicklung?
Der Apple II BASIC-Interpreter ist nicht halb so schlecht, ich denke, Sie können dort vollständige Programme schreiben. Es erlaubt Ihnen auch, Programme zu SPEICHERN / ZU LADEN, ich nehme an, auf Platte / Band. Aber gab es keinen visuellen Editor?
Gab es APIs oder Middleware?
Oder musste man die ganze Zeit direkt mit der Hardware sprechen, wenn man etwas zeichnen oder einen Sound abspielen wollte? Gab es überhaupt Bibliotheken?
Was ist noch anders als heute?
Ich würde mich über weitere Unterschiede freuen, beispielsweise welche Bild- / Audioformate verwendet wurden. Angesichts der Tatsache, dass es kein wirkliches Dateikonzept gab, wenn ich es richtig verstehe, frage ich mich, wie das funktioniert hat. Mussten Sie Ihre Grafiken und Sounds in Assembler eingeben? Wie hat das in BASIC funktioniert?
Antworten:
Ich habe viel auf dem Apple programmiert (nicht professionell, aber ich habe es gelernt) und Applesoft BASIC und Assembler, wo es für Bastler war. Andere Sprachen waren verfügbar - Logo war weit verbreitet, über Pascal wurde überall geschrieben, aber ich kenne niemanden, der es verwendete. Bis Orca C für das Apple IIGS gab es keinen Forth Interpreter mit turtle-artigen (oder so genannten Logo-artigen) Grafiken.
Ich werde einige Ihrer Fragen und dann grundlegende Ideen ansprechen:
Es wurde viel Shareware in BASIC geschrieben, nicht nur in Applesoft BASIC, sondern auch in Integer BASIC (das, wie der Name schon sagt, keine Gleitkommazahlen hatte). Die Eamon-Serie fällt mir ein, aber ich kann nicht wirklich an viele andere denken. Außerdem wurde ein Großteil der von den Beagle Bros. geschriebenen Software in BASIC erstellt (hauptsächlich Dienstprogramme, keine Spiele).
Ich glaube jedoch, dass die meisten kommerziellen Programme in Assembler geschrieben wurden.
Ich habe Merlin Assembler verwendet, um es als IDE zu bezeichnen. Vielleicht wird es gedehnt, aber es hat einwandfrei funktioniert. Wie Sie sagten, können Sie sich zum Systemmonitor begeben, Opcodes eingeben und von dort aus starten. Merlin hatte eine Möglichkeit, vom Systemmonitor dorthin zurückzukehren (woran ich mich jetzt nicht erinnere).
Es gab ein Tool von Drittanbietern, das die Applesoft-Umgebung ein wenig verbessert hat und es Ihnen ermöglicht, mit den Pfeilen über den Bildschirm zu scrollen und Änderungen wie in einem visuellen Editor vorzunehmen (Sie mussten immer noch die Eingabetaste am Ende einer Zeile oder drücken) die Änderungen würden nicht bleiben). Ich kann mich nicht erinnern, was das war, ich habe es ziemlich oft benutzt.
Auf dem Apple II + / IIe / IIc haben Sie so ziemlich nur mit der Hardware gesprochen. Es gab ein paar Programme im ROM, die Sie verwenden konnten, aber diese waren sehr begrenzt, und in der Regel wurden verschiedene Speicherorte per PEEK und POKE aufgerufen, um die Register zu ändern, um zu tun, was Sie wollten, zum Beispiel um den Grafikmodus zu ändern, 49152 zu drücken, um den Lautsprecher auszulösen, usw .
Auf dem Apple IIGS wurde das ROM mit einer Reihe von Bibliotheken ausgeliefert, die denen des Macintosh ähneln, um ausgefallene GUIs zu erstellen und was nicht. Die ROMs wurden im Laufe der Zeit aktualisiert. Wenn Sie einen Systemdatenträger mit neueren Bibliotheken geladen haben, wurden sie von einem Datenträger anstatt von einem ROM gelesen, was dazu führte, dass die Startzeit WIRKLICH LANGSAM wurde. Es gab ROM 01, 02 und 03 und 02 -> 03 war ein kostenloses Upgrade, und es gab ein Release vor 01, bei dem auch ein kostenloses Upgrade auf 01 durchgeführt wurde.
Es gab Dateien, ich bin mir nicht sicher, was Sie damit meinen, und ProDOS unterstützte Verzeichnisse nicht weniger (das frühere DOS hatte jedoch noch kein Konzept für eine Datei, die Sie erkennen würden). Ich habe Bitmaps und .pcx verwendet. Ich erinnere mich an keine Audiodateien der II + / IIe / IIc-Serie, aber das lag daran, dass es schwierig war, Geräusche schicker zu machen als Videospielblips und -bloops. Es gab einige Hacks, die ausgefallene Sounds machten (insbesondere hatte ich eine Diskette, auf der Gun N 'Roses gespielt wurde), aber sie wurden fast immer grammatikalisch geschrieben.
Im Vergleich zu modernen Umgebungen war es geradezu primitiv. Aber denken Sie daran, es gab keine Unterstützung für die gleichzeitige Ausführung mehrerer Programme, so dass Ihr Compiler auch Ihr Editor sein musste - Sie konnten die Vorteile von vi vs. emacs nicht wirklich diskutieren, also was auch immer Ihr Compiler Ihnen gab, du hast gelernt zu benutzen. Ich denke, es war viel einfacher als die Verwendung von Bibliotheken, die auf Bibliotheken gestapelt sind, und es gibt viele Tricks, wenn Sie an der Hardware arbeiten und wissen, was es ist. Eine übliche Implementierung von "pause for a moment" war beispielsweise "for (int i = 0; i <1000; i ++)" (dies ist in BASIC anders), was derzeit nie verwendet wird, da die Hardware so schnell ist, dass Sie Ich brauche eine riesige Anzahl, und selbst wenn es nicht so wäre, würde es auf verschiedenen Arten von Maschinen laufen, so dass es für verschiedene Leute eine unterschiedliche Pause wäre (das II +, IIe,
Dies ist alles aus dem Gedächtnis, ich habe während des Schreibens keine Referenzen angeschaut, also entschuldige ich mich, wenn mein Gedächtnis fehlerhaft ist und ich dir falsche Sachen erzählt habe. Aber ich hoffe, das gibt Ihnen einen kleinen Vorgeschmack und beantwortet einige Ihrer Fragen.
quelle
Welche Sprachen wurden verwendet?
6502 für die meisten, selten C (Aztek), viel BASIC, etwas Pascal (Apple Pascal).
Wie war die Entwicklung des 6502-Assemblers?
Es gab einige hübsche Assembler und Tools für 6502: Orca / M, Merlin, und in den späteren Tagen war es möglich, auf einem PC eine serielle Verbindung zu Apple zu entwickeln, um Remote-Debugging durchzuführen. Vergessen wir nicht die Beagle Bros. Utilities. Bearbeiten + kompilieren + ausführen, die Welt ändert sich nie ;-)
Wie war die BASIC-Entwicklung?
Kein visueller Editor, nur eine Konsole, mit der Sie am Anfang mit dem BASIC-Puffer interagieren können. Allerdings hatte Beagle Bros. ein paar magische Hilfsmittel, die den größten Teil des Schmerzes verschwinden ließen. Und später gab es Muscheln, die zumindest als zeilenbasierter Editor für Ihr Schreiben fungierten. Es gab ein Tool (Expediter 2), mit dem Sie Ihr BASIC auf eine Assembly-Binärdatei reduzieren konnten, die viel schneller lief (One-Way-Trip).
Gab es APIs oder Middleware?
Es gab einige, aber größtenteils sehr enge Bereiche, die nicht mit dem vergleichbar sind, was Sie heute als SDK bezeichnen würden. Seien wir ehrlich, in 48K können Sie sich keine Allzweck-API leisten. In den letzten Tagen gab es zwei oder drei spezielle SDKs, die für klickende Abenteuerspiele, kachelbasierte Spiele,
Was ist noch anders als heute?
Alles und nichts. Praktiken bleiben gleich, Werkzeuge wurden besser.
quelle
Native Basic Interpreter: Wenn Sie ein Programm schreiben, sollten Sie jede Zeile nummerieren, Ihren Code eingeben und die Eingabetaste drücken. Ein Basisprogramm sieht so aus: 10: HOME 20: PRINT "HELLO WORLD"
In diesem Beispiel HOME löschen Sie den Bildschirm, wenn Sie eine Zwischenzeile eingeben müssen, z.
15: DRUCKEN "GRÜSSE"
Als Ausgabe sollte es den Bildschirm löschen, zeigen GREETINGS HELLO WORLD
befehlsLISTE zeige deinen Code (ohne Pause!) In einigen Modi (nur Großbuchstaben) keine Feststelltaste, keine Sonderzeichen. In BASIC wurde kein Profi-Spiel geschrieben. Aufgrund der Leistung konnte man tatsächlich sehen, wie Ihr Programm die Linien zeichnete.
Nur Soundeffekte, es war schwer Musik abzuspielen. Wir haben nur einen Lautsprecher mit EINEM Bit (kein Scherz).
zur Montage gehen CALL -151
Sie sollten von Hand auf dem Monitor keine IDE Code eingeben müssen, geben Sie die Adresse und Ihren Code (HEXA)
quelle