Beiträge von tofro

    Achso. Da dein code ab main() die Initialisierung überschrieben hat, wird er natürlich direkt ausgeführt. Steht delay() davor, läuft die CPU beim Start direkt da rein, macht eine kurze Pause und dann ein ret. Und das führt mangels irgendeiner Adresse auf dem Stack ins Nirwana.


    Ich hätte eigentlich erwartet, dass ein gescheiter Linker wenigstens eine Warnung ausgibt, wenn sich Code-Segmente überlappen. Mein z88dk macht das auch, obwohl es sdcc "unter der Haube" hat.

    So, Problem gelöst, klassisch selbst veralbert --code-loc 0x0 ist natürlich falsch der Code aus der crt0.s muss ja auch irgendwo hin also einfach ein paar Bytes weiter nach hinten mit dem Programmcode --code-loc 0x0100 funktioniert, allerdings brauche ich nur ein paar Bytes vorne 256 sind etwas viel. :)


    Hier das Ergebnis, eine Blinkende LED 200ms (4MHz Quarz) Periodendauer am OUT10 vom epac-80: epac80sdcc.zip


    Das wars, jetzt brauche ich nur noch ein Problem das ich mit dem EPAC-80 lösen will. :shock:

    Ist ja schön, dass es jetzt geht - aber warum tat's dann ohne delay()? So ganz erklärt sich mir das jetzt nicht.

    Ich kann nicht sehen, wo du den Stack haben willst - Das Problem scheint mir nicht das Datensegment zu sein, sondern der Stack - Wenn ich's recht weiss, müsste dein crt0 den Stackpointer auf das Ende des RAMs setzen. Seh' ich aber bei dir nirgends. Und da delay() als einziger Funktionsaufruf den Stack nutzen will, fällt es halt auf die Nase.

    Wieviele sind es denn ? Und kamen ?


    Eigentlich sind die dich interessant als "Platinenobjekt", da man eine Adre in beide Richtungen von einem IC aus wegführen kann. Find das ja eigentlich ganz schick und die Fläche die der Chip braucht ist auch kleiner als normaler flach aufliegender Chip.

    Das Problem bei den Dingern ist, dass sie sich aufgrund der Spannungen in den Beinchen bei Temperaturschwankungen aus dem Sockel herausarbeiten und dann Wackel- oder sonstige schlechte Kontakte fabrizieren. Aber richtig, erfunden wurden sie wegen der höheren Packungsdichte.

    Das ist kein SIP, sondern ZIP (ZIG ZAG INLINE PACKAGE, daher das "Z"). War nur ganz kurz am Markt, wil es die Nachteile von DIP mit den Nachteilen von SIP verbunden hat, also eine sehr blöde Idee war und eigentlich sofort von SMD überrollt wurde. Die Pinouts sind typischerweise vollkommen anders als SIPP (Single Inline).

    Nicht Robotron, sonder Optima Erfurt.

    Na, wenn schon, dann ganz richtig:


    VEB Robotron-Optima Büromaschinenwerk Erfurt (OBE)


    (Das ist das, was von der ursprünglichen Olympia nach dem Krieg übriggeblieben ist.)


    Hat die Maschine aber trotzdem nicht hergestellt.



    Wieht denn die Hermes aus, oder hast du wenigstens eine Modellbezeichnung von der?

    Die Hermes Baby wurde von 1933 bis in die späten 80er produziert (in DE z.B. in Bad Säckingen) und war das "Stiefkind" der Schweizer Kamerafabrik Paillard, gleichzeitig aber die Reiseschreibmaschine der zweiten Hälfte des 20. Jahrhunderts. Olivetti hat 1982 das brasilianische Werk von Paillard/Hermes gekauft und kam dadurch an die Maschine. Im Link gibt's massenhaft Bilder.

    Echt? Die beiden (Tropical/Traveller) sehen sich zum Verwechseln ähnlich, auch der Deckel ist gleich.

    Es ist wirklich nur so, dass sich die beiden zum Verwechseln ähnlich sehen, aber komplett unterschiedliche Maschinen sind. Dabei ist die (später gekommene) Tropical, obwohl sie eigentlich rein optisch eine schamlose Kopie ist, aufgrund der Hermes-Basis tatsächlich auch noch die bessere Maschine. Olivetti hat die von der Schweizer Maschine übernommene Mechanik nur "modern" eingepackt und sie, billig in Brasilien produziert, gegen die Traveller aufgestellt.

    Es ist, wie immer, ein bißchen komplizierter. Die Olivetti Tropical ist tatsächlich eine Hermes Baby (innendrin, das Ding, von denen Hemmingway einige durchgebracht hat) und hat nur die Optik von der Olympia Traveller.

    Die originale Traveller wurde tatsächlich in Wilhelmshaven gebaut, und ging erst Anfang der 70er nach Jugoslawien. Die Tropical wurde lange noch in Brasilien gebaut. Sömmerda hatte seine Finger (ausnahmsweise) nicht im Spiel.

    Die Millisekunden, die in den unteren 16 Bits des Ergebnisses (also in HL) zurückkommen, kann man einfach mit


    Code
    VAR millis: INTEGER;
    ....
    millis := BdosHL (248);

    bekommen. Das reicht immerhin, um eine starke Minute zu messen. Wenn man nur LEDs blinken lassen will, reicht das wohl dicke.

    AT und XT haben identische Pinbelegung, aber unterschiedliche Signale.

    AT Tastaturen laufen nicht an XT-Rechner und anders herum auch nicht.

    Nö. Die Signale sind gleich. Das Protokoll ist anders. Manche Tasten funktionieren sogar.

    "funktionieren" ist ein bißchen übertrieben. Der XT schickt grundsätzlich nur ein Byte/Tastendruck, und dasselbe Byte mit gesetztem Bit 7 beim Loslassen. Der AT schickt ebenfalls (für die meisten Tasten) ein Byte/Tastendruck, aber (mindestens) zwei beim Loslassen. Das muss zwangsläufig zu intensiver Verwirrung auf beiden Seiten führen.

    Das sieht für mich so aus, als ob das Programm zwar richtig läuft, auf deinem X-Server aber nicht die richtigen Fonts findet (die es zwangsweise ja mitbringen muss, um Mathe schreiben zu können):


    Code
    cd 
    scp -r server:<Mathematica-Pfad>/SystemFiles/Fonts . 
    cd Fonts
    mkfontdir BDF Type1
    cd 
    xset fp+ ~/Fonts/BDF
    xset fp+ ~/Fonts/Type1
    xset fp rehash

    Dann nochmal probieren.


    Möglicherweise kannst du die Maschine, auf der Mathematica läuft, ja auch als Fontserver konfigurieren.


    Bei einem so komplexen Programm wie Mathematica, das auf die speziellen mitgelieferten Fonts angewiesen ist, bist du möglicherweise mit VNC besser bedient (wenn es denn eins gibt) als mit X11.

    Ich würde es erst mal mit was Anspruchsloserem probieren. Gehen denn so Sachen wie "modernes xterm (oder xclock,...) auf der alten Maschine"?


    An sich sollte der Client eine Fehlermeldung ausspucken, wenn er ein gefordertes Visual mit der geforderten Farbtiefe auf dem Server nicht aufmachen kann. Aber vielleicht meinen moderne Clients, dass 32-bit-Visuals selbstverständlich sind.


    Endianess: Wenn die nicht passen würde, würde wahrscheinlich eher gar kein Fenster aufgehen.

    Mal wieder was neues im ORM: Olympia CD201, funktionsfähig. Tastatur prellt leider. Weiss jemand, wie man das reparieren kann?

    Knackfrosch austauschen. Dürfte mangels Ersatzteilen aber nicht ganz einfach sein. Siehe mein letzes Posting zu Olympia-Tischrechnern. Die waren schon in den 80ern reihenweise kaputt. Die kann man einzeln rausnehmen, und möglicherweise hilft Reinigen eine Weile.

    Das Verfahren kann man durchaus mehrfach "stapeln", d.h. wenn beim ersten mal zu wenig draufbleibt, einfach nochmal streuen und tränken. Nicht husten! :)

    Kennt jemand eine Methode um Kunststoff aufzubringen, es fehlen höchstens 2-3 mm.

    Eine gute und stabile Methode, um urgendwie Material aufzubringen, ist


    - Backpulver dahinstreuen, wo man Material aufbauen will und entsprechend formen

    - mit dünnflüssigem Sekundenkleber vorsichtig tränken


    Das ergibt eine bomben-harte Verbindung, die auch durchaus was aushält.

    Cygwin installiert, "gcc", "make", "git", "ncurses-devel", "curl-devel" packages installieren, dann compiliert es und startet. Macht aber ein POSIX binary, kein windows native wenn ich das richtig verstanden habe.


    Muss aber schauen wann ich zum Testen komme

    Jep. Braucht eine Laufzeitungebung. Da beißt die Maus keinen Faden ab. Und ist auch nicht grade als performant bekannt. Aber besser als nix.

    ah crap, das Windows serial device.


    Probier mal den letzten Stand aus dem "master" branch, ich habe die Punkte oben aus dem Screenshot mal provisorisch behoben.


    Was nutzt Ihr denn zum Bauen? Ist das Cygwin?

    Cygwin würde EWOULDBLOCK kennen und man würde höchstwahrscheinlich in der Lage sein, die Quellen unverändert durchzukneten, weil Cygwin versucht, eine möglichst Unix-ähnliche Umgebung herzustellen.


    MingW tut das leider nicht. Dafür brauchts aber auch keine Laufzeitumgebung.