Spiele für C-64 schreiben

Von: , Frage gestellt am Sa, 15. Jan 2005

Hallo Leute,

ich hab mal ne Frage: wie wurden früher eigentlich die klassischen Spiele für den C-64 programmiert, doch wohl nicht unter BASIC. Aber daß sich die Leute mit Maschinencode zufrieden gaben, kann ich mir auch nicht vorstellen (wenn doch, müsste es zumindest Hilfen gegeben haben, in welcher Form?). Also, wie wurde früher mit'm bzw.für den C-64 entwickelt.

Grüssle,
Markus

8 Antworten zu dieser Frage

  1. Antwort von nach 23 Minuten 0 hilfreich
    Re: Spiele für C-64 schreiben

    Hallo.

    Damals gab es schon genug Programmiersprachen mit unterschiedlichen Prioritäten, z.B. Fortran, Pascal, Basic, Assembler... Natürlich mit IDE's und Compilern, die aus heutiger Sicht aus der Steinzeit stammen, aber ihren Zweck erfüllt haben. Hier ein Code Beispiel:" . C055 AD 02 C0 LDA $C002" (Assembler) oder " FF 3E 6B 13 43 f5 10" (Maschinensprache). Codes in Maschinensprache liefen eben überall (nicht jeder hatte den xyz-Compiler für C64 daheim rumliegen), deswegen war im C64er Magazin auch fast nur Listings wie gezeigt vorhanden.

    Herrliche Zeiten :)

    HTH
    mfg M.L.

    • Antwort von nach 40 Minuten 0 hilfreich
      Re^2: Spiele für C-64 schreiben

      Hallo Markus Damals gab es schon genug Programmiersprachen mit
      unterschiedlichen Prioritäten, z.B. Fortran, Pascal, Basic,
      Assembler...
      O.k. also wurde Gianna Sisters in Pascal geschrieben?
      Welche Compiler gabs denn da? (ich google gleich, aber nur für den fall, daß man da nix findet).

      danke & Grüssle,
      Markus

      • Antwort von nach einem Tag 0 hilfreich
        Re^3: Spiele für C-64 schreiben

        Hochsprachen waren dort leider nicht ganz so verbreitet, wie es heute der Fall ist. Es gab tatsächlich einige Compiler für Hochsprachen, wie z.B. Oxford Pascal, Forth usw. aber die 'richtigen' Sachen wurden tatsächlich in Maschinensprache verfasst. Es gab da auch schon einige Makro Assembler, die das Leben etwas vereinfacht haben.

        Aber wenn du heute etwas entwickeln willst, kannst du auch mal einen Blick auf
        http://www.cc65.org/

        werfen.

        /dirk [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

        • Antwort von nach einem Tag 0 hilfreich
          danke!

          [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

    • Antwort von nach 8 Tagen 0 hilfreich
      Re^2: Spiele für C-64 schreiben

      wenn Du Lust hast drucke ich Dir mal das Office Paket
      als HEX-Listing mit Prüfsummen aus... viel Spass beim
      Eintippen ;-)

      Alex

  2. Antwort von nach 8 Tagen 0 hilfreich
    Re: Spiele für C-64 schreiben

    Hallo,

    die klassischen C64 Spiele - wie Uridium,FortApocalypse,BoulderDash,
    Olympic-Games etcpp wurden ausnahmslos in Assembler geschrieben!
    Für den Einsatz von Hochsprachen sind die Spiele zu rechenintensiv.
    Rasterstrahl-Timing (zB für Ruckelfreies Scrollen)
    geht in einer Hochsprache überhaupt nicht etc.pp auch ist die Abfrage
    der Kollisionsregister bei vielen Spielfiguren viel zu
    rechenintensiv.
    ----
    Dann kamen 16 Bit-Rechner wie Amiga und AtariST ! Und selbst hier
    wurden Ballerspiele noch in Assembler entwickelt..

    (--:

    O.

    Stern nehm ich gern *g* [Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

  3. Antwort von nach 8 Tagen 1 hilfreich
    Re: Spiele für C-64 schreiben

    Hi,

    auf C64 wurde ausnahmslos in Assembler entwickelt.

    In Assembler zu schreiben heisst nicht nur mit LDA und CMP und
    soonem Zeug zu hantieren. Selbstverständlich gabs schon Makro
    assembler, in denen man oft benutzte Routinen wie in Hochsprachen
    üblich mit Funktionsaufrufen benutzen kann. Das heisst z.B. sowas
    wie MOVESPRITETO X,Y ist dann natürlich einfacher zu schreiben
    und auch übersichtlicher. Man konnte natürlich auch auf komplette
    LIBS von solchen Routinen zurückgreifen und somit nahezu in einer
    Hochsprache programmieren.

    Es gab natürlich ein grosses Problem. der geringe Speicher.
    Das heisst wenn Programme ziemlich gross waren mit Daten etc.
    war kein Platz mehr für den Assembler im Speicher, somit brauchte
    man eine entsprechende Speichererweiterung. Da allerdings die MMU
    des C64 nur 64K addressieren kann, musste das RAM recht kompliziert
    mit Pageflipping verwaltet werden, was ein vernünftiges Entwickeln
    erschwert hat. Andererseits hiess ein Absturz des Programms meistens
    Rebooten, Assembler neu laden usw. alles sehr zeitaufwendig.

    Deshalb benutzten die meisten Firmen externe Entwicklungsumgebungen.
    Das heisst der Assembler lief komplett auf einem zweiten C64 oder
    C128, dort wurde das Programm geschrieben und assembliert, dann
    über ein Userportkabel zum C64 geschickt. Am C64 lief nur ein kleines
    Programm in der Zeropage, was die Daten empfangen hat und dann das
    Programm gestartet hat. Dieses wurde dann einfach im Falle eines
    Absturzes wieder geladen, was sehr schnell ging.

    Als die ersten PCs verfügbar waren gab es dort auch sogenannte
    Cross-Assembler. Das heisst der Assembler lief am PC und erzeugte
    C64 Code, der dann ebenfalls über Kabel direkt zum C64 geschickt
    wurde.

    Nach dem gleichen Prinzip werden übrigens auch Konsolenspiele
    programmiert wie für den Gameboy, Playstation usw. Wobei Gameboy
    in Assembler und Playstation, Nintendo Cube usw. in C programmiert
    werden.

    hoffe gehelft zu haben

    Alex

    • Antwort von nach 8 Tagen 0 hilfreich
      Danke!

      jetzt kann ich endlich beruhigt googlen!
      Gruß,
      Markus

Keine passende Antwort gefunden? Jetzt eigene Frage stellen!