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