Beiträge von dirkt

    Ich hatte mal eine Zeitlang einen X-Server für meinen Monitor und einen für meinen Fernseher (zum Filme gucken), weil der Hardware-Video-Scaler sonst nicht lief, aber außer Leuten wie mir machen das normalerweise nicht viele :)

    Beim Raspberry PI funktioniert es mit "Buster". Mit "Bookworm" oder "Bullseye" leider nicht.

    Wenn ich raten darf: Ab Bookworm benutzt der RaspPi Wayland, und nicht der den alten X-Server, deshalb funktioniert wohl was auch immer simh da machen will nicht mehr.


    Ubuntu benutzt schon länger Wayland.


    Im Prinzip müsste man beides auch umkonfigurieren können, so dass wieder der alte X-Server statt Wayland benutzt wird. Ist aber wohl ein bisschen Aufwand.

    Das mit dem Server und dem Client hab ich bewusst versucht zu umschiffen. Fand ich schon immer verwirrend.

    Ist eigentlich gar nicht verwirrend: Der Server ist das Programm, dass den Framebuffer kontrolliert. Clienten sind die Programme, die sich mit dem Server verbinden, und dann per Protokoll etwas in den Framebuffer hineinmalen lassen. "DISPLAY" ist das, was dem Client sagt, wo der Server sitzt, mit dem er sich verbinden möchte. Also:


    • Lokale Maschine: Server und Clienten laufen beide auf der gleichen Hardware, DISPLAY ist ":0" (lies: lokale Hardware, Nummer 0).
    • Mit X-Terminal-Hardware: Der Server läuft auf dem X-Terminal, die Clienten laufen auf der Unix-Kiste, DISPLAY ist "<IP-addresse des X-Terminals>:0". Der Anmeldebildschirm wird durch den Display Manager hingezaubert.
    • Mit ssh von A nach B: Der sshd auf B tut so, als ob er ein lokalen Server hätte, aber schickt alles an den echten X-Server, der auf A läuft. Auf B ist "DISPLAY" so etwas wie ":10" (oder ":11", ":12", usw., wenn es mehrere Verbindungen gibt). Auf A ist das DISPLAY der lokale X-Server.
      Variante: Läuft auch auf B ein X-Server, und möchte derjenige, der an A sitzt, die Programme auf B auch auf dem Bildschirm von B anzeigen, dann setzt man von Hand in der ssh-Sitzung auf B das DISPLAY auf ":0" (und macht evtl. noch "xauth" Kram etc., falls nötig).

    Ich hoffe, das klärt die Verwirrung etwas. (Und ja, OT).

    Der Server macht übrigens nur noch FTP und nicht mehr HTTP wie früher, ist das Absicht? Filtert natürlich die Leute, die darauf zugreifen können/wollen...

    Früher konnten die Browser einfach noch FTP...

    Können die meisten heute auch noch, ist aber per default ausgeschaltet, und man muss wissen (oder googlen), wie man es wieder einschaltet.

    Zumindest ich nicht... Und auf ftp://ftp.informatik.uni-stuttgart.de gab's im wesentlichen Service-Manuals usw.

    Ich weiß, ist ja unser FTP-Server ;) Ok, dann setze ich die Manuals mal auf die Zu-Scannen-Liste

    Ich weiß, dass es euer Server ist, ich wollte nur mit dem Zaunpfahl winken...


    Der Server macht übrigens nur noch FTP und nicht mehr HTTP wie früher, ist das Absicht? Filtert natürlich die Leute, die darauf zugreifen können/wollen...

    Und um weiterzuspekulieren: Wenn die Programme so eine Art Makro-Programm sind, braucht man auch einen Programmzähler. Wenn man das Wort in 5-Bit-Häppchen unterteilen muss, geht das am einfachsten, wenn man den am Anfang des Wortes zur Hand hat, und dann eine geeignete Shift/Verzögerung einbaut.


    Deshalb vermute ich, dass die fünf "NOP" Nullen am Anfang des Programmes den Programmzähler enthalten, denn also fauler Programmierer hätte ich ihn dorthin getan.

    Zerobrain hat veröffentlicht:


    https://www.youtube.com/watch?v=O4A-vXZTAyc

    Nachdem ich das Video gesehen habe, habe ich auch verstanden, was du da tust (denn dazu hatte ich noch keine Dokumentation gefunden):


    Offenbar kann man 10 "Programme" eingeben mit P + Nummer eingeben, und sie dann ausführen, wobei Zahlen bei der Programmierung nur Platzhalter sind, die dann bei der Ausführung durch neu eingebenene Zahlen (mit A) ersetzt werden.


    Das ist also so eine Art "Makro"-Programmierung, und verschieden von der eigentlichen Maschinensprache. Vermutung: Ein Programm wird jeweils in einem Wort gespeichert, ein Programm kann also nicht länger als 11 Schritte sein.


    Die platzsparendste Art, das im "Betriebssystem" zu implementieren, wäre, die gleiche Auswertungsroutine, die Tasten im normalen Betrieb auswertet, mit dem Programm zu füttern. Das geht am einfachsten, wenn man die Tastencodes selbst speichert. Ich würde also vermuten, dass deine 5-Bit-Befehle mit den Tastencodes korrelieren, und es ein paar Zusatz-Codes gibt, wie "Num".


    Leider haben die Combitron-Varianten verschiedene Tastaturen, mit kann also die Tastencodes der Tastaturmatrix aus den vorliegenden Anleitungen nicht übernehmen. Es sollte aber nicht schwer sein, die Tastaturleitungen K1..K6 mal schnell für alle Tasten durchzumessen, und so die Codes der Tasten zu ermitteln.


    Bei der Combitron ist K1 immer 0 für das Dezimalrad und 1 für die eigentlichen Tasten, daher muss man nur K2..K6 als 5 Bits speichern, wenn das bei der Combitronic genauso ist.


    Wenn man das alles nachvollziehen will, muss man sich das "Betriebssystem" auf dem Metallband genauer anschauen. Es wäre also nicht falsch, davon mal einen Dump zu machen, ist ja nur ein Bit. Das eine Bit kann man ggf. auch von der Lichtschranke über einen Pegelwandler an den Soundeingang des PCs hängen, beim Bootvorgang der Combitronic eine WAV-Datei aufnehmen und dann mit einem kleinen Programm auslesen, wenn du nicht sowieso einen Logikanalysator oder so etwas hast. (Wäre auch dann sinnvoll, wenn das Metallband irgendwann kaputtgeht, und man ein neues machen muss...)


    Nur so als Anregungen.

    Falls das Durchlesen der Debian-Doku nichts gebracht hat: Notfalls (oder wenn es für diese Tastatur nix fertiges gibt) kann man das auch händisch machen, die Debian-Pakete sind ja nur eine Shim über den Linux-Konfigurationsfiles.


    Tastencodes mit `evtest` bzw. `xev` herausfinden, die derzeit gewählten Konfigurationsfiles kopieren, anpassen, und aktivieren.


    Auf meinem Debian (bzw. jetzt Devuan) läuft die Tastaturkonfiguration (US plus Umlaute mit Modifier da, wo man sie vermutet) auch schon seit Jahrzehnten mit `~/.Xmodmap`, das tut immer noch, sowohl auf meinen alten wie neuen Linux-Kisten.

    Normalerweise macht man das so genau nicht, sondern man nimmt für ein Projekt genau die Worte, die du brauchst. Um Platz zu sparen, denn das ganze Ding scheint ja auf Minimalität ausgelegt zu sein.


    Wenn du kein Projekt vor hast, sondern einfach Fingerübungen machen willst, geh halt über den Standard, such dir ein paar raus, die dir praktisch erscheinen, lies die Definition, und setze sie um.


    Es gibt keine generelle Liste von "diese Worte braucht man unbedingt", das ist alles Geschmackssache, und sehr projektabhängig.

    gerade habe ich damit begonnen, mich mit FORTH auf dem ESP32 zu beschaeftigen. Dazu nutze ich die FORTH Version

    von hier ("bloody edge code" ... also direkt aus dem aktuellen Repo):
    https://github.com/flagxor/ueforth

    .

    Sind weitere Quellen bekannt, die einen mit guten Informationen bezueglich dieses FORT fuettern?

    Have das Repo gerade mal geclont, mangels ESP32 auf meiner Linux-Kiste, make posix tut.


    Es scheint eine Variante von EForth zu sein, welches Schleifen etwas anders handhabt: Siehe hier und hier. Und in der Tat,


    WORDS funktioniert:

    Damit sollte man erstmal sehen, was schon da ist. Aus dem Source kann man sich auch die Definition der Worte holen, z.B. web-interface steht in web_interface.fs (im Unterverzeichnis der jeweiligen Architektur).


    Das sollte für das Programmieren erstmal reichen, oder was willst du noch wissen?


    Die Erweiterungen aus dem anderen Repo habe ich mir nicht angeschaut.

    In dem SPD findet sich laut der Intel Spezifikation, Anzahl der Bänke, die Kapazität und weiteres relevantes


    Wobei ich dir zustimme, das man daran nicht erkennt, ob teilbeschädigte Ware eingesetzt wurde,

    Welcher Teil von "Anzahl der Bänke, die Kapazität und weiteres relevantes" soll denn eine neue Erkenntnis bringen?


    Da steht halt das Timing der "großen" Chips drin, und die Kapazität ist halbiert (oder geviertelt, oder was auch immer so da gemacht haben). Das kann man alles schon vorher erraten, dazu muss man den EEPROM nicht auslesen...

    Interessanter f<r die Analyse wäre der Dateninhalt des kleinen EEprom

    genannt SPD, ( keine politische Parteiwerbung angst),

    so wie bekannt ist, kann das Bios über den SMBus deren Dateninhalt abfragen, und je nach Dateninhalt richtet sich der Chipsatz danach

    Da steht nix darüber drin, ob das RAM-Modul "halbierte" RAMs benutzt, oder nicht. Da steht was drin über Timings, Typ, usw.


    Unter Linux geht das übrigens einfach mit decode-dimms, bei meiner etwas älteren Linux Kiste sah das so aus:


    Siehe auch hier: https://www.vogons.org/viewtopic.php?t=83387

    Soweit gut, aber... Der Aspekt mit dem erheblich erhöhten Stromverbrauch, und dem höheren Produktionsaufwand, der müsste wirklich mal abgewogen werden mit dem eingesparten Energieaufwand durch die Nutzung der Ausschussbauteile zur Vermeidung von noch mehr produzierten fehlerfreien Bauteilen... das müsste mal jemand berechnen, der in Mathe besser als Fünf war... das wäre dann die "bereinigte Okobilanz" sozusagen

    Der erhöhte Stromverbrauch von RAM is minimal gegenüber dem Strom den, sagen wir, eine Festplatte mit Motor und allem zieht.


    Und die Nutzung von "Ausschussbauteilen" ist wirklich ökonomisch entscheidend. Ich hatte diese Wikipedia-Seite ja schon mal verlinkt, liess sie dir mal komplett durch. Auf einem Wafer sind IMMER Defekte. Und wieviele Chips ich aus so einem Wafer herausbekomme und verkaufen kann, entscheidet darüber, ob sich die Produktion lohnt, oder nicht. Und dabei spielt eine entscheidende Rolle, wie groß die Chipfläche ist, und ob ein einziger Defekt auf dem Chip den ganzen Chip kaputtmacht, oder ob ich den evtl. auch mit einem Defekt noch verwenden kann.


    Sagen wir (Zahlen völlig aus der Luft gegriffen, wie gesagt, die echten Zahlen sind streng gehütetes Firmengeheimnis) es passen für eine gegebene Technologie 100 32MB-Chips auf einen Wafer, davon sind 10 in Ordnung, 80 haben einen Defekt, aber man kann sie noch als 16MB Chips verwenden, und 10 sind nicht verwendbar.


    Damit kann man leben und Gewinn machen. Wenn ich die 80 Chips aber nicht verkaufen könnte, weil pingelige Leute rummotzen, hätte ich nur eine Ausbeute von 10 von 100. Das rechnet sich nicht. Stattdessen würde man einfach 200 16MB-Chips auf den Wafer tun, dann wären davon 2*10 + 80 = 100 verwendbar, und niemand würde 32MB-Chips herstellen. Es gibt aber durchaus einen Markt dafür, deshalb wäre es schade, wenn man keine kaufen könnte.


    Und bei den funktionierenden 16MB-Chips kaufst du exakt das gleiche Silikon, das auch in den "umgewidmeten" 32MB-Chips drin ist. Es ist also ein bisschen albern, zu sagen "ich will das nur, wenn auch 16MB draufsteht".


    Das einzige echte Argument ist dieses hier:

    Zitat

    I have no idea how thorough the re-qualification of the 4Mx4 chips was performed by the module manufacturer, but I assume they don't use chip manufacturer grade testing.

    Wenn das halt wirklich durch den Modulhersteller erfolgt, und nicht durch den Chiphersteller (der der Einfachheit halber die "halben" Chips in das "große" Packaging steckt, aber sie dann entsprechend kennzeichnet und so gekennzeichnet an den Modulhersteller weitergibt, was man im Bulk durchaus machen kann), sondern der Chiphersteller liefert die Chips aus und der Modulhersteller muss feststellen, dass sie halb defekt sind, dann ist das eine große Schlamperei seitens des Chipherstellers. Aber das ist reine Spekulation von Seiten des Blogschreibers, deshalb will ich das so erstmal nicht glauben.

    Ich scheine irgendwie noch im Hinterkopf zu haben, dass mich die englische Version mehr beeindruckt hat, da war irgendwas, was auf englisch sehr viel einfacher ging als in unsrer eigenen komplizierten Sprache

    Eliza kann die Frage (oder evtl. sogar einen Teil der Frage, meine Erinnerung lässt langsam nach) in die Antwort einbauen, dazu gab es in der Antwort entsprechende Wildcards. Das geht im Englischen natürlich einfacher, weil man nix deklinieren muss, und weniger konjugieren, und man muss auch keine Verben für Nebensätze herumschieben. War es das?


    (Ich habe damals übrigens nie eine deutsche Version für Eliza gesehen...)

    Also Hermes und DHL funktionieren hier auf dem Dorf gut in Zustellung. Der Rest weniger. Nur einen Menschen mit Ahnung zu Gesicht zu bekommen bei Abgabe zb um Sonderwunsch zu klären ist unmöglich. Früher gab's mal Postämter für sowas....

    Hier auf dem Dorf gibt es den Postshop im "Lädchen für alles Mögliche", und die Menschen dort sind nett und freundlich, und können dir genau erzählen, was geht und was nicht geht, und was früher besser war, und was DHL jetzt manchmal für einen Mist macht, und warum sie dann auch nix machen können.

    Bei der Chipherstellung ist es halt so, dass Verunreinigungen punktuelle Defekte verursachen. Das heisst dann nicht, dass der Rest des Chips schlecht ist, oder kurz davor ist, auch kaputt zu gehen, sondern eben nur, dass er an dieser einen Stelle nicht funktioniert.


    Gerade bei Chips wie einem RAM, wo man dann einfach die Hälfte des Chips benutzen kann, der funktioniert, ist das überhaupt gar kein Problem.


    Also ganz klar ökologisch (und ökonomisch, steigert den Yield), und kein irgendwelcher Betrug.

    Und auch wenn ich immer noch nicht genau weiß, wo die Zahlen herkommen: Wenn man sie nicht als BCD, sondern als Dezimalzahlen ansieht, und ins Binäre konvertiert, bekommt man

    Code
    371999298977792 = 1010100100101010011010110000100101000000000000000
    368700762882048 = 1010011110101010011010110000000000000000000000000

    Da gibt es in der Mitte nun durchaus Ähnlichkeiten, deshalb tippe ich darauf, dass es nicht BCD, sondern Dezimal ist.

    Sind die Maschinencodes so geschickt gewählt, dass die Binärcodes 1010, 1011, 1100, 1101, 1110 und 1111 nicht vorkommen können?

    Ich würde das so gerne verstehen...

    Zumindest dabei kann ich dir helfen: Dieses PDF vom FTP Server der Uni-Stuttgart hat die Maschinencodes, nämlich

    Also kommen 1010, 1011, 1100, 1101, 1110 und 1111 alle vor.


    (Dieses Dokument liest sich übrigens besser als die Bachelorarbeit).


    Ansonsten verstehe ich nicht, wie du die "Programme" eingibst, und wie daraufhin diese Zahlen entstehen. Drückst die die Tasten, und die Kiste druckt dann die Zahl aus? Oder was genau hast du da gemacht?

    Ich nutze das Usenet auch nur via Google Groups, aber eigentlich eher nur weil mir ein gescheiter kostenloser Server und aktueller Newsgroup-Client fehlt.

    Definiere "gescheit". Ich hatte mal Solani probiert, 3 Standorte in Deutschland, und kostenlos, und wie früher "rtin" auf meiner Linux-Kiste als Client.


    Allerdings muss man das regelmäßig benutzen, sonst räumen sie die Karteileichen auf.

    Normalerweise sollten 5.25 problemlos mit 3.5 an einer Strippe funktionieren. Ich mache das schon seit gefühlt immer so.


    Und nein, es gab nie ein anderes Protokoll, und es wurde auch nichts weggelassen.


    Ich gehe auch davon aus, dass die Floppylaufwerke für einen PC hast, und nicht irgendwas anderes.


    Das Kabel vertauscht ein paar Adern, dadurch kommen die entsprechenden Motor Enable und Drive Select-Signale an die andere Stelle. [Hier](https://superuser.com/a/850086/327880) ist das ganz gut erklärt.


    Zum Debuggen würde ich


    • Nach Jumpern schauen, oder Stellen für Jumper (sieht man auf dem Bild leider nicht)
    • Mal alle Kombination durchprobieren (Laufwerke alleine vor und nach der Drehung, Laufwerk mit dem 5.25 vor und nach der Drehung); vielleicht gewinnt man daraus ja eine Erkenntnis.

    Einmal Googlen findet das hier.


    Es ist also ein "Übungssystem Mikroprozessortechnik 3515" der Firma hps, basierend auf dem Intel 8085 Prozessor, für die Ausbildung, und man kann Übungsplatten daran anschliessen.


    Einige der Signale des 8085 liegen offenbar auf den LEDs. Die Tastenbeschriftung lässt vermuten, dass man die üblichen Funktionen (Speicher auslesen/ändern, Register auslesen/ändern, Programm ausführen (GO), Einzelschritt (SS), usw.) eines Monitors hat. Die -2,-1,0,1,2 deuten darauf hin, dass man gleich fünf Speicherinhalte angezeigt bekommt.


    Die Steckplätze lassen vermuten, dass man auch einen EEPROM programmieren kann (von einem anderen EEPROM oder RAM).


    Ich würde einfach mal mit den Tasten spielen, und schauen, was passiert... Im Zweifelsfall sollte man zumindest den Monitor-ROM auslesen können.

    Doku ist z.B. hier. Im "Software and Hardware Details" Handbuch gibt es


    • Adressmapping zwischen Z80 und 6502.
    • Detaillierte Erklärungen zum Aufrufen einer 6502 Routine aus Z80 Assembler.

    Es gibt viele Möglichkeiten, das 6502-Assemblerprogramm in den Speicher zu bekommen. Für ein kurzes Program ist vielleicht ein mit den numerischen Werten des Programms initialiserter Array am einfachsten. Das verhindert dann auch, dass sich die Bereiche überlappen. Größere Programme kann man von Diskette laden, oder sich ein kleines Programm schreiben, dass die Bytes als Pascal-Programmtext zum Initialisieren der Arrays ausgibt.


    Wenn das Assemblerprogramm viel Arbeitsspeicher braucht, kann man eine COM-Datei erstellen, und den genutzten Speicherbereich dafür in den Compileroptionen einstellen (das Adressmapping beachten).


    Ich hätte kein fertiges Beispiel parat.

    Na ja, DAMALS [TM] hat man es natürlich nicht so gemacht: Wenn die Diskette kaputt war, hat man sie komplett auf eine andere Diskette kopiert, und dann mit einem Sektor-Editor oder anderem Tool die kaputten Sektoren repariert und überschrieben. Zumindest soweit, dass man dann die Dateien, die man retten wollte, auf eine dritte Diskette kopieren konnte.


    Das ganze Konzept von einem Floppy-Image, also Imagedisk, setzt schon voraus, das man zwei Stufen hat, nämlich eine alte, an die man nicht mehr direkt heran möchte, weshalb man dann von den Artefakten dieser Stufe "Images" erstellt, auf die man von einer höheren Stufe (Emulator, was auch immer) zugreift.


    "Ich möchte Imagedisk-Images aber in der betroffenen Umgebung verarbeiten" zäumt das Pferd also von hinten auf, und bringt nicht besonders viel.


    Man kann sich das Leben leicht oder schwer machen, aber das ist natürlich dein Spaßvergnügen.

    Wenn du mit IMDU /B das raw/binary Image extrahiert hast, sollte man das unter MS-DOS mit SHSUFDRV oder TurboImage genau wie eine Floppy ansprechen können. Allerdings nur, wenn die FAT oder Verzeichnisse nicht zu kaputt sind, dann muss man da mehr Handarbeit investieren.


    Wenn die ein Retro-Linux-System hast, geht das alles auch mit Bordmitteln.


    Nur aus Neugier: Welchen Webbrowser benutzt du auf deinem MS-DOS System, um diese Programm herunterzuladen?