Hallo,
gibt es einen vernünftigen C-Compiler für den 6809? Nach Möglichkeit
ANSI-C99-kompatibel, sehr schön wäre ein GCC. Da ich bequem bin, wäre
ein IDE lustig, aber da kann ich mir auch selbst eine der vielen
verfügbaren anpassen. Vom GCC kenne ich zwar einen Port (
http://www.ohloh.net/p/gcc6809 ), allerdings sind Assembler und
insbesondere Linker sehr "rudimentär" und man kann ihnen nur schwer die
Struktur des Zielsystems beibringen.
Ich möchte Software für dieses:
https://lh5.googleusercontent.com/-Fhtost-4djQ/TorgExtb1aI/AAAAAAAAAio/NdTeUwdu0Ak/s800/IMG_5467.JPG
Eigenbausystem (von meinem Vater in den 80ern gebaut) entwickeln, die
Unterlagen sind vorhanden. Es basiert auf dem Elektorsystem EC-65K, ist
aber eben auf 6809 und das Betriebssystem FLEX6809 modifiziert.
Gruß,
Christian
Hmm. Ich hatte mal mit Introl-C zu tun, das war ein Compiler, der auf
einem 6809 lief, aber natürlich kein Ansi-C kannte, weil er irgendwann
in den 80ern auf den Markt kam. Das verwendete Betriebssystem war eben
genau das TSC Flex, mit dem Deine Kiste da arbeitet.
Eine Flex-Emulationsumgebung und etliche Software dafür gibts bei der
FUG
http://flexusergroup.com/fug14.htm, dort sollte sich auch der Compiler
sowie dessen Dokumentation auftreiben lassen.
Vielleicht sollte ich es einmal präzisiren, ich suche nach einem
Crosscompiler. Ein "McCosh" Compiler ist sogar dabei... nur fehlt mir
das Handbuch, hat da ev. jemand was?
Bei der FUG funktioniert leider kein einziger Download in der DSKs
Library mehr, ich hab schon versucht den Admin anzumailen, aber die
Adresse existiert nicht mehr ..
Christian Erker schrieb:> Bei der FUG funktioniert leider kein einziger Download in der DSKs> Library mehr, ich hab schon versucht den Admin anzumailen, aber die> Adresse existiert nicht mehr ..
Ja, wahrscheinlich sind viele 68xx-Kenner schon tot, nicht nur die
Webseiten...
Gruss Reinhard
Die FUG existiert schon noch, die haben eine aktive Mailingliste, und
auf der wurden auch alternative/neue Server erwähnt.
Um an die heranzukommen, muss man sich allerdings in der Mailingliste
eintragen, und Mike Evenson nach den Zugangsdaten fragen.
Crosscompiler für 6809 gibt es natürlich auch, nur müsstest Du denen
auch die zum Betriebssystem gehörenden Definitionen beigeben, und der
Linker müsste wissen, wie ein zum Betriebssystem passendes Binary zu
erzeugen ist.
Oder willst Du das auf dem Rechner installierte Flex ersetzen?
Hmm .. ich glaub ich werd mich dann mal an der Mailingliste versuchen,
es gibt zwar noch 1-2 bootbare FLEX-Disketten, aber auf manchen sind
alte Versionen, die Tools sind ebenfalls in verschiedenen inkompatiblen
Versionen auf viele unbeschriftete Disks verteilt die häufig Lesefehler
haben .. es wäre von Vorteil wenn ich ein Image der Originaldistribition
bekommen kann .. und eine Möglichkeit das irgendwie auf die Kiste zu
bekommen, notfalls eben ein Programm schreiben mit dem ich via RS232
sektorweise schreiben kann und auf dem PC das Gegenstück dazu.
Da wir das System mit einer Festplatte ausstatten möchten, muss die
(ohnehin unfertige, kann z.B. noch keine Double-Density Disks, was
Controller+Laufwerke sehr wohl können sollten) Anpassung an das System
sowieso neu gemacht werden. Das Adaptationguide/Programmers Manual/Users
Manual sowie recht vollständige Dokumentation zur Hardware und
Monitorprogramm sind vorhanden.
Auch hab ich da noch einige Ideen für Hardwareergänzungen, die natürlich
auch Softwareunterstützung bedürfen .. und es steckt einiges an
interessanter Hardware drin, die nie mehr Software als "lebt es?"-Tests
bekommen hat, wie die Farbgrafik, der Sprachcodec.
Das ganze Fotoalbum:
https://picasaweb.google.com/106424078464300028239/6809?authkey=Gv1sRgCNmM6cvfx67EhAE
Und, statt zu crossposten einfach mal ein Verweis auf eine Beschreibung
dazu:
http://www.forum64.de/wbb3/board314-au-erhalb-des-c64/board21-sonstige-computer/board248-sonstige-homecomputer/45063-6809-eigenbausystem-basierend-auf-elektor-projekt-ec65/
Ja, da gibts noch viel Arbeit ;)
Gruß,
Christian
Christian Erker schrieb:> Da wir das System mit einer Festplatte ausstatten möchten,
Wie wäre es stattdessen mit einer SD-Karte? Von der Datenmenge her
dürfte die problemlos ausreichen, und das Grundproblem, nämlich daß Flex
kein hierarchisches Dateisystem hat, wird Dich auch so treffen. Ja, Flex
kennt keine Verzeichnisse!
Mein Flex-System (gebaut so gegen '86) arbeitete mit einer ROM-Disk,
also einer Handvoll EPROMs, in denen das OS sowie die für mich
wichtigsten Programme abgelegt waren. Das hat die Bootzeit auf ... naja,
vermutlich ein paar Millisekunden reduziert.
Der angeschlossene Monitor brauchte jedenfalls länger, seine Röhre auf
Betriebstemperatur zu bringen.
Hallo,
naja ich habe "Festplatte" geschrieben aber wollte ohnehin eine CF-Karte
nehmen, weil die sich mit dem IDE-Interface sehr einfach an den Bus
anbinden lässt, besonders wenn man nur die unteren 8bit verwendet, was
sich ohnehin anbietet, da FLEX eine feste Sektorgröße von 256 Byte hat
und IDE eine von 512 Byte.
Gruß,
Christian
Ich bin noch nicht tot, und hatte vor Jaaaahren mit 6809 zu tun.
Zunächst benutzte ich einen 2500AD Assembler & Compiler, der war aber
sowas von Schrott: falscher Code generiert, ....
später habe ich dann einen Hi-Tech-C Compiler benutzt. Allererste Sahne.
Ich glaube aber, dass Hi-Tech diesen Compiler nicht mehr verkauft.
Vielleicht wird man auf einem Flohmarkt fündig...
Habe früher (1982-1985) selbst mit dem "McCosh-Compiler" programmiert
und kann mal schauen, ob ich noch ein Handbuch dazu habe, wenn an dem
Thema noch Interesse besteht.
Allerdings war das unter UniFLEX, einem "Flex"-Nachfolge-OS (Unix-like).
Ob es da Unterschiede beim McCosh-Compiler gibt, weiß ich nicht.
Wenn man noch das "alte C" (vor C89) kennt, d.h konkret kein "const",
"void" usw. und natürlich keine Funktions-Prototypen, also den folgenden
Deklarations-Stil benutzt
int main(argc, arv)
int argc; char *argv[];
{
printf("hello, world");
return 0;
}
"fühlt" sich das eigentlich schon ziemlich nach C an. Aber VORSICHT: der
Compiler prüft NICHT die Verträglichkeit von Aufruf und Deklaration, bei
ersterem werden einfach die Argumente auf den Stack gepackt "wie
angegeben" und die Funktion holt sie sich dann runter wie deklariert.
Irgend eine "Inkompatibilität" zwischen Aufruf und Deklaration =>
"undefined behavior" also irgendwas zwischen falsche Werte und Crash
sofort oder beliebig später ... (so wie man das heute noch bei falsch
versorgten variadischen Funktionsargumenten kennt).
Tja, und einen "lint" gab/gibt's leider nicht :-) ...
Auch der Präprozessor kann ein bisschen weniger als gewohnt, d.h.
#include ... geht (natürlich)
#define ... geht
#ifdef ... / #ifndef ...
aber
#if ... geht nicht (wenn ich mich recht erinnere).
Und dann gibt's noch ein paar Link-Tricks, damit die FP-Library nicht
dazu gebunden wird, wenn nicht erforderlich. Muss man aber nur
beherzigen, wenn man mit printf/scanf Gleitpunktformate (%f usw.)
verarbeiten will.
Vielleicht hilfts ja, ansonsten evtl. PM.
Hallo Christian,
Ich habe vor einen Jahr wieder eine 6809-Kiste (eigentlich 6309) gebaut,
und eine Entwicklerumgebung auf ein MacBook. Ich verwende unter anderen
die CMOC C-like cross compiler. Kein kompletter ANSI-C aber für
entwicklung meiner Systemsoftware ausreichend. Daneben verwende ich
William Astle's LW-tool (LWasm).
Ein Paar meiner Erfahrungen habe ich beschrieben auf die Facebook Seite
Motorola6809andMac.
Ich wünsche dir viel Erfolg, und viel Spass mit deinem 6809 System.