Willkommen im cgboard - classic games Forum! Deine gemütliche Retro Gaming Community. Besuche uns auch im Discord Chat.

Prince of Persia - Apple-II-Quellcode vom Dachboden
#1
0
Nach zehnjähriger Suche hat Jordan Mechners Vater den Original-Apple-II-Quellcode auf dem Dachboden gefunden.
Den Inhalt der drei Floppy Disks hat nun J. Mechner ins Netz gestellt, aus Angst der Code könnte für alle Zeiten verloren gehen.

Prince of Persia - Apple-II-Quellcode
Zitieren
#2
0
Nette Beschreibung:
"A running-jumping-swordfighting game I made on the Apple II from 1985-89"

Big GrinBig Grin
[Bild: cgb-signaturwdjiq.png]
Du hast eine (nicht mehr ganz so) geheime Botschaft entdeckt:
"Besucht Heinrich's Spiele-Ausstellung!" ;-)


Big Grin Big Grin
Zitieren
#3
0
Falls euch die Entwicklung von Prince of Persia (oder Karetaka) interessiert, hier ist eine 20 Minütige Präsentation von Mechner:

[Bild: agrogif0jy0l.gif][Bild: space6arbd.gif][Bild: colossuscrrdx.gif]
Zitieren
#4
0
Auffallend gut kommentierter Source und komplett in 6502 Assembler, sowas schau ich mir immer gerne an, auch wenn ich nicht vorhabe was für den 6502 zu programmieren.
Wir entwickeln Spiele, schaut mal vorbei: CatBit Software
Zitieren
#5
0
Dass die Disketten nach all der Zeit noch perfekt lesbar sind, gibt Hoffnung für andere Projekte, die sich mit dem Erstellen von 1:1-Diskettenkopien beschäftigen.

Ich kann mit Assembler-Code leider überhaupt nichts anfangen, auch trotz der zahlreichen Kommentare sagen mir die einzelnen Befehlszeilen überhaupt nicht, geschweige denn wie mehrere Zeilen zusammen spielen. Ist einer dieser Wunschträume die ich habe, dass ich eines Tages Assembler-Code verstehen würde. Aber das braucht eine Menge Einarbeitung.
Zitieren
#6
0
Disketten mit niedriger Datendichte (aka 5 1/4 SD, DD oder 3 1/2 DD) halten je nach qualität der Diskette durchaus 30-40 Jahre (wenn nicht noch länger) sind sogar relativ unempfindlich, während CD-Rs schon nach 5 Jahren den Geist aufgeben...

von 3 TB Platten oder ähnlichen Datendichte Monstern gar nicht anzufangen
Zitieren
#7
0
tomwatayan schrieb:Ist einer dieser Wunschträume die ich habe, dass ich eines Tages Assembler-Code verstehen würde. Aber das braucht eine Menge Einarbeitung.
Assembler hat einen viel schlimmeren Ruf als es tatsächlich ist. Im Grunde ist es sogar extrem simpel. Kann man schon ein Programmiersprache ist es kein Problem Assembler zu lernen.

Ich kann dir das Buch empfehlen, wenns x86 sein soll: http://www.amazon.de/exec/obidos/ASIN/34...pfsconline
Wir entwickeln Spiele, schaut mal vorbei: CatBit Software
Zitieren
#8
0
Assembler würd ich mir heute nicht mehr antun, war vor 20 Jahren vielleicht noch aus Performancegründen unerlässlich, aber der Nutzen ist in der heutigen Zeit doch arg begrenzt.

legen schrieb:Falls euch die Entwicklung von Prince of Persia (oder Karetaka) interessiert, hier ist eine 20 Minütige Präsentation von Mechner:
sehr interessant, wusste gar nicht dass The last Express auch von ihm ist.
Zitieren
#9
0
Rocco schrieb:Assembler würd ich mir heute nicht mehr antun, war vor 20 Jahren vielleicht noch aus Performancegründen unerlässlich, aber der Nutzen ist in der heutigen Zeit doch arg begrenzt.
Leider hast du wie so viele ganz falsche Vorstellungen von Assembler. Der Nutzen ist immernoch genauso gegeben. Und heutzutage ist es so leicht wie nie Assembler zu schreiben. Es gibt keine Speichersegmentierung mehr, keinen direkten Hardwarezugriff, etc.

Man schreibt ja auch kein komplettes Programm in Assembler, esseiden man möchte Demos oder für embedded systems entwickeln. Assembler wird in den meisten Fällen genutzt um prformancekritischen Code zu optimieren. Und wir reden hier von 20 Zeilen Assemblercode, die nacher bis zu 10 fach schneller sind als Hochsprache.

Andere Nutzen: Reverse Engeneering, Nutzung von CPU Features, welche der Compiler nicht kennt, Procedure Hooks, allgemein besseres Verständnis der CPU

Gerade der letzte Punkt ist interessant. Assembler zu können hilft besseren Hochsprachencode zu schreiben, ganz einfach weil man weiß wie die CPU arbeitet und so effektiveren Code schreiben kann.

Shadder werden auch in Assembler programmiert. Mittlerweile gibts dafür auch Hochsprachen aber viele setzen da immernoch auf Assembler.

Auf ARM Plattformen kommt man kaum um Assembler rumm, wenn man Performanceprobleme hat. Die ARM Compiler optimieren nicht so gut wie die x86 Compiler. Wie wird ne DSP Einheit programmiert (Digital Signal Processor)? Richtig in Assembler und ohne die kannst du HD Videos auf Tabletts vergessen.

Und wie gesagt, das Assembler kompliziert ist, ist ein Mythos. Es sieht einfach nur kryptisch aus für jemanden, der das Prinzip dahinter nicht kennt. Ich hatte die gleichen Vorurteile und hatte auch den Traum es irgendwann mal zu können. Irgendwann hab ih mich dann mal dranngesetzt und hab mich dann tierisch geärgert das ich das nicht schon viel früher gemacht hatte, weils niht im Ansatz so schwierig ist wie of propagiert wird.
Wir entwickeln Spiele, schaut mal vorbei: CatBit Software
Zitieren
#10
0
Rocco schrieb:[...]
sehr interessant, wusste gar nicht dass The last Express auch von ihm ist.
Das steht sogar auf der Verpackung drauf Pleased.
(als Kaufanreiz WinkBig Grin)

[Bild: 1244491188-00.jpg]

(links unten, leicht verdeckt durch das Wasserzeichen Wink)
[Bild: cgb-signaturwdjiq.png]
Du hast eine (nicht mehr ganz so) geheime Botschaft entdeckt:
"Besucht Heinrich's Spiele-Ausstellung!" ;-)


Big Grin Big Grin
Zitieren
#11
0
Thorium schrieb:Andere Nutzen: Reverse Engeneering, Nutzung von CPU Features, welche der Compiler nicht kennt, Procedure Hooks, allgemein besseres Verständnis der CPU
Genau diese anderen Nutzen sind das, warum ich Assembler können möchte. Zum Erkennen von CD-Checks / Handbuch-Checks in Spielen, um entweder diesen Check zu umgehen oder, was mich viel mehr reizt, die benötigten Handbuchdaten direkt aus dem Spiel zu extrahieren.
Zusätzlich, um bei Spielen, für die es keinen Leveleditor gibt, direkt über den Spielcode herauszufinden, wie das Datenformat gelesen werden muss.
Und vielleicht, um bei der Sache mit dem Spiele-Kompatibilitäts-Tool, an dem du arbeiten wolltest, besser mithelfen zu können.
Ob ich irgendetwas dann tatsächlich umsetzen kann, ist eine andere Sache, aber momentan bleibt mir die Möglichkeit noch komplett verwehrt, weil die Assembler-Zeilen für mich gar keinen Sinn ergeben. Nicht in der lesbaren Quelltextform und noch viel weniger im kompilierten Zustand.

Ich glaube, den Buchtipp schaue ich mir mal näher an. Ich habe aus der Reihe den Titel "C Programmieren von Anfang an" und der hat mir damals auch dabei geholfen, relativ schnell das Prinzip von Pointern einigermaßen zu verstehen. Da ich damals in Eile war, hatte ich es mir allerdings nicht komplett durchgelesen und mir dann einige Zeit später den Unterschied zwischen by-reference (&) und by-value doch mühsam durchs Code-Debuggen erarbeiten müssen.
Zitieren
#12
0
tomwatayan schrieb:Und vielleicht, um bei der Sache mit dem Spiele-Kompatibilitäts-Tool, an dem du arbeiten wolltest, besser mithelfen zu können.
Ich arbeite noch drann. Nur der New Challange Thread hat mich ettliche Stunden meines Lebens gekostet. ^^
Habs aber jetzt nach dem 6. gescheiteten Versuch aufgegeben Fallout 2 in Ironmanmanier zu beenden.

Die erste lauffähige Version mit dem ersten Plugin ist so gut wie fertig, fehlen nurnoch Kleinigkeiten und wird hier im Board bald veröffentlicht.
Wir entwickeln Spiele, schaut mal vorbei: CatBit Software
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  [Problem] Prince of Persia (Mega Drive) Zeitproblem Commodus 6 2.814 21.05.2015, 06:19
Letzter Beitrag: Heinrich Reich
  [Frage] Vom PC auf den Amiga? victorymon 16 3.077 27.02.2012, 21:21
Letzter Beitrag: victorymon
  [Info] Doom und Doom 2 (Nicht US) vom Index gestrichen Gabumon 19 2.248 26.09.2011, 12:00
Letzter Beitrag: Gabumon
  [Problem] Hilfe beim brennen vom Image bej88 4 1.382 12.08.2009, 22:02
Letzter Beitrag: bej88
  [Problem] Machiavelli The Prince Installation geht nicht Insanus 13 1.798 09.07.2009, 20:36
Letzter Beitrag: Heinrich Reich

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste