You are not logged in.

Posts: 14,334

Date of registration: Apr 4th 2004

Location: Meerbusch (bei Düsseldorf)

  • Send private message

151

Sunday, January 20th 2019, 11:32pm


Ich meine die kompletten Anschaffungskosten inclusive Gehäuse o.ä. so daß man das Ding auch mal umplazieren kann.


Hallo Kai,

also, ich habe bei Amazon 34,99 € für den Pi und 5,78 € für das graue Standard-Gehäuse bezahlt.

Ansonsten braucht man

  • ein Netzteil mit Micro-USB-Stecker. Bis vor ein paar Tagen hätte ich noch getönt "Da reicht jedes Handy-Netzteil", aber leider hat mich der Pi beim Einschalten eines besseren belehrt. Mit dem eigentlich schon recht guten USB-Netzteil Marke "goobay" plus einem damals zusammen mit dem alten Pi gekauften langen USB-auf-Micro-USB-Kabel, was an meinem 1B immer tadellos funktioniert hat, bekam ich die Meldung "Under voltage detected", und der Pi bootete nicht.

    Im Netz findet man etliche Fundstellen, die als Lösung bei diesem Effekt den Kauf des offiziellen Raspberry-Pi-Netzteils (Kostenpunkt bei Amazon derzeit: 12,90 €) empfehlen, welches angeblich 5,1 statt 5,0 Volt liefert. Die Wahrheit war aber: Es lag gar nicht am Netzteil, sondern am Kabel. Nachdem langem Herumprobieren habe ich es gegen das kurze Ladekabel meines Tablets ausgetauscht, und auf einmal bootete er.

    Die Kombination einfaches Handy-Netzteil + kurzes Kabel habe ich noch nicht getestet. Funktioniert womöglich auch.

  • eine Micro-SD-Karte. Mindestens 16 GB und Class 4 machen m.E. Sinn, kost' ja nichts mehr.

  • Monitor (zur Not tut's auch der Fernseher) + HDMI-Kabel, USB-Tastatur, USB-Maus.

Posts: 5,493

Date of registration: Dec 20th 2015

Location: bei Hamburg

Occupation: Rentner

  • Send private message

152

Sunday, January 20th 2019, 11:59pm

Bei Pollin wird als Versorgungsbedarf 5,1 V 2,5 A angegeben.

Hast du dir mal die dort (und anderswo) angebotenen ODROID Einplatinen-PCs angesehen ?
Es gibt (mindestens) vier Varianten: ODROID-C2, -XU4, -HC1 & HC2.
teils mit Quadcore, teils mit Octacore CPU. Die Performance soll ein mehrfaches vom Raspberry Pi 3 betragen.
Die Preise liege allerdings auch höher. Es geht bei 55 € los und je nach Ausstattung bis 80 € oder noch höher.

MfG Kai

Posts: 14,334

Date of registration: Apr 4th 2004

Location: Meerbusch (bei Düsseldorf)

  • Send private message

153

Monday, January 21st 2019, 12:09am

Hast du dir mal die dort (und anderswo) angebotenen ODROID Einplatinen-PCs angesehen ?


Ja, und auch das Cubieboard 4. Was aber letztendlich den Ausschlag für den Raspberry Pi gegeben hat, war neben dem deutlich günstigeren Preis auch die ungleich größere Nutzergemeinde.

Posts: 5,493

Date of registration: Dec 20th 2015

Location: bei Hamburg

Occupation: Rentner

  • Send private message

154

Monday, January 21st 2019, 2:20am

Hallo timo,

ich bin erschüttert:
Mein DeskTop PC unter Windows 7 Home Premium (2012 gekauft) mit QuadCore i5-3570 (3.40 GHz) kommt bei deinem simplebench nur auf 298708631 bei ca. 28% CPU-Auslastung.
Immerhin ergibt das ca. 1 Giga-Ops (298,7 Mio / 28%), aber eben nicht direkt.
Allerdings idlen die Kerne meist bei ca. 1600 MHz vor sich hin. Wenn das Programm läuft, springen sie auf das Doppelte oder 3.4 GHz. Das kann ich in TMonitor nicht genau erkennen, da auch ständig der Kern gewechselt wird.
Mangels gcc habe ich einmal mit lcc32 und danach mit lcc64 kompiliert. Bei lcc32 waren die Ergebnisse noch etwas niedriger.
Manche ich was falsch ?

Ist dein Batch-File einer für Windows ?
Der Parallelstart von mehreren simplebench Instanzen funktioniert bei mir so nicht. Der Ampersand & hat offenbar keine Funktion.

MfG Kai

Posts: 5,493

Date of registration: Dec 20th 2015

Location: bei Hamburg

Occupation: Rentner

  • Send private message

155

Monday, January 21st 2019, 2:58pm

Hallo timo,

ich habe erhebliche Zweifel, daß dein kleines Programm zur vergleichenden Integer-Rechenleistungsmessung gut geegnet ist.
1. Der Overhead ist gegenüber den 4 Integer-Rechen-Operationen zu groß.
2. Es ist vermutlich nicht gewährleistet, daß auf allen Systemen intern die Funktion rand() gleich implementiert ist.

Ich habe das Programm heute mal mehrfach modifiziert und die Resultate notiert:
1. Die 4 Integer-Operationen im switch/case Konstrukt rauskommentiert: 323292370 , 325201677. CPU-Last : 25 %
2. rand() rausgenommen und in iOperation durch lCtr ersetzt, in lValue durch 97: 361672969 , 368135889. CPU-Last : 25 %
3. Die 4 Integer-Operationenn auch noch rausgenommen: 412930731 CPU-Last: 25 %
4, Compiler ohne Optimierugen: 415242457 !? > (3) Zufall ? ja. bei 2tem Versuch 408747182. CPU-Last: 25 %

Danach nochmal den Originalcode : 314392679 , 306533248. CPU-Last : 25 %.

MfG Kai

Posts: 14,334

Date of registration: Apr 4th 2004

Location: Meerbusch (bei Düsseldorf)

  • Send private message

156

Monday, January 21st 2019, 11:22pm


Manche ich was falsch ?


Hallo Kai,

ich glaube nicht. Ich habe LCC (und das Derivat "Pelles C") vor ewigen Zeiten ein paar mal verwendet, und mir ist erinnerlich, daß er im Vergleich zu anderen C-Compilern recht langsamen Code erzeugt hat. Möglicherweise liegt es einfach daran. Oder Windows verteilt die Ressourcen anders.

Quoted


Ist dein Batch-File einer für Windows ?


Habe ich ernsthaft Batch-File geschrieben? Ich meinte Shell-Script, das ist natürlich für Unix-ähnliche Systeme. Unter Windows könnte man eventuell mit dem Start-Befehl eine parallele Ausführung erreichen. Kann's leider im Moment nicht ausprobieren.

https://ss64.com/nt/start.html

Quoted


Der Parallelstart von mehreren simplebench Instanzen funktioniert bei mir so nicht. Der Ampersand & hat offenbar keine Funktion.


Korrekt, unter Windows wird das so nicht funktionieren.

Zu dem zweiten Beitrag: Ich schrieb ja, daß es um nicht mehr als einen ganz groben Vergleich geht. Wobei das Argument, daß die unter den verschiedenen Systemen unterschiedliche Erzeugung der Zufallszahlen zu großen Einfluss auf das Ergebnis hat, nicht von der Hand zu weisen ist.

Gruß,
Timo

Posts: 5,493

Date of registration: Dec 20th 2015

Location: bei Hamburg

Occupation: Rentner

  • Send private message

157

Monday, January 21st 2019, 11:43pm

Was mich noch interessiert:
Hattest du bei den Ergebnissen mit etwa 900 Mio Score 100 % CPU-Last oder auch nur 25 % ?

Mir war früher mal aufgefallen, daß der LCC unter mehreren C-Compilern so ziemlich die kleinsten Programme aus gleichem Source-Code erzeugte (wenn ich mich recht entsinne). Das hat ihn mir sympathisch gemacht.
Auf einem alten XP-Rechner hab ich gerade vor kurzem erst den MS Visual /Express) C(++) Compiler von 2005 (oder 2008 ) installiert, weil libfaad2 sich mit dem LCC nicht kompilieren läßt, mit Dev-C++ auch nicht, vermutlich nur mit dem jeweiligen (zeitgenössischen) MSVC.

MfG Kai

Posts: 14,334

Date of registration: Apr 4th 2004

Location: Meerbusch (bei Düsseldorf)

  • Send private message

158

Tuesday, January 22nd 2019, 9:30pm

Hattest du bei den Ergebnissen mit etwa 900 Mio Score 100 % CPU-Last oder auch nur 25 % ?


Keine Ahnung, müsste ich noch mal prüfen.

Quoted

Mir war früher mal aufgefallen, daß der LCC unter mehreren C-Compilern so ziemlich die kleinsten Programme aus gleichem Source-Code erzeugte (wenn ich mich recht entsinne). Das hat ihn mir sympathisch gemacht.


Ich hab' den LCC-WIN32 mal vor 20 oder noch mehr Jahren für ein privates Projekt benutzt. In der Entwicklungsumgebung war ein RAD-Editor für graphische Benutzeroberflächen integriert, der direkt auf die Windows-API aufgesetzt hat. War für die damalige Zeit eine ganz nette Sache. An die kleinen Ausgabedateien kann ich mich auch noch erinnern, aber auch daran, daß der damalige GCC für Windows und der Borland C++ Builder deutlich schnelleren Code erzeugt haben.

Quoted

mit Dev-C++ auch nicht


Ich staune immer, wie viele Leute noch Dev-C++ nutzen. Das war auch irgendwas, was ich um die Jahrtausendwende mal benutzt habe. :) Sind Entwicklungsumgebungen wie Codeblocks und Codelite nicht inzwischen viel leistungsfähiger?

Posts: 5,493

Date of registration: Dec 20th 2015

Location: bei Hamburg

Occupation: Rentner

  • Send private message

159

Tuesday, January 22nd 2019, 11:32pm

Entwicklungsumgebungen wie Codeblocks und Codelite
Ich lese zwar vergleichsweise viel, aber die beiden Begriffe sind mir nicht geläufig.
Da kann ich nur spekulieren, daß es sich um "wiederverwendbare" Code-Blöcke handeln könnte.
Ich bin noch mit Algol, Fortran, Assembler, Pascal, Delphi aufgewachsen und kann das prozedurale Denken nicht ablegen, obwohl ich gelegentlich was ereignisgesteuertes unter Windows produziere. Aber selbst beim dollsten Objekt-orientierten Programm kommt hinten in einer Zwischenstufe Assembler-Code raus...

Vom Dev-C++ soll es einen Nachfolger geben, der laut Kommentaren auf der Verteilerseite aber anscheinend (noch?) voller Bugs ist.
Was soll man von einer Sprache halten (C & C++) deren Varianten (samt Präprozessor) so vielfältig/unterschiedlich sind, daß dafür geschriebener Source-Code von keinem anderen C(++)-Compiler gefressen wird ?
Ich hab den Maintainer/Autor von LCC angeschrieben wieso sein Präprozessor die Makros von libfaad2 falsch umsetzt, ich hab den Autor von libfaad2 angeschrieben, welchen Compiler er empfiehlt.
Keiner hat geantwortet. Mir blieb nicht anderes übrig, als ungefähr 800 MB MSVC++ zu installieren, um so etwa 230 kB libfaad compilieren zu können.

MfG Kai

Posts: 468

Date of registration: Jan 3rd 2019

  • Send private message

160

Wednesday, January 23rd 2019, 12:12am

Weil ich gerade von euren Tests laß: Vier Rechenarten waren früher ein teurer Luxus. Hier ist ein Video von einer IBM 1401 vom Computer History Museum, die Gott sei Dank, die zusätzliche "Multiplikation und Teilung von Ganzzahlen"-Option erhalten hat... https://www.youtube.com/watch?v=uFQ3sajIdaM Der Fortran-Compiler ist auf einem Band... :D

This post has been edited 2 times, last edit by "t20" (Jan 23rd 2019, 9:49pm)


Posts: 5,493

Date of registration: Dec 20th 2015

Location: bei Hamburg

Occupation: Rentner

  • Send private message

161

Wednesday, January 23rd 2019, 9:23pm

An dem Institut, an dem ich Anfang der 70er Jahre meine Diplom-Arbeit gemacht habe, wurden die Mini-Computer, so wurde erzählt, mit einem Lochstreifen gebootet und bekamen dann allmählich komplexeren Code verpaßt, bis sie betriebsbereit waren.
Bei Beginn meines Berufslebens Mitte der 70er Jahre, hatte man in der Firma seinen Wunsch-Code mit Blockbuchstaben in DIN-A4 Formblätter einzutragen. Die wurden dann bei professionellen Lochkarten-Stanzerinnen abgegeben mit der Bitte, doch zügig davon Lochkarten zu produzieren. Die bekam man irgendwann angeblich fertig zurück und durfte sie dann zum Eingangstresen des Computer-Centers bringen mit dem höflichen Wunsch verknüpft. ob man das demnächst mal laufen lassen könne. Da waren natürlich gelegentlich noch falsche Löcher in den Karten, die man, wenn man den Kartenstapel am nächsten Tag (oder später) in einem Rückgabefach fand, erstmal korrigieren mußte. Ein erfolgreicher Lauf wurde schließlich gekrönt mit der Zugabe eines Stapels von DIN-A3-Papier mit Randlochung aus dem Drucker. Manchmal war der Stapel recht dick und enthielt viele Zahlen, mit den man nix anfangen konnte, weil das Programm zwar lief, aber noch nicht ganz so, wie beabsichtigt. So hatte man immer reichlich Schmierpapier, auf dem man auch größere Zeichnungen anfertigen konnte.

MfG kai

Posts: 5,493

Date of registration: Dec 20th 2015

Location: bei Hamburg

Occupation: Rentner

  • Send private message

162

Wednesday, January 23rd 2019, 10:01pm

Zurück in die Gegenwart mit einer Frage an timo:

Hast du mal probiert, ob die Webseite von Audials in erträglicher Weise auf dem Rasberry läuft ?
Falls ja, könnte man damit ein brauchbares Internetradio komponieren.
Irgendwo hab ich gelesen, daß die on-board Audio-Ausgänge der Rasberries nichts taugen und durch was ordentliches ersetzt werden müssen.
Hast du damit Erfahrungen / dazu Erkenntnisse ?

MfG Kai

Posts: 5,549

Date of registration: Mar 16th 2006

  • Send private message

163

Thursday, January 24th 2019, 8:33am

Hallo Kai!

Zitat: "Ein erfolgreicher Lauf wurde schließlich gekrönt mit der Zugabe eines Stapels von DIN-A3-Papier mit Randlochung
aus dem Drucker. Manchmal war der Stapel recht dick und enthielt viele Zahlen, mit den man nix anfangen konnte..."

DAS ist ein dicker Stapel Nadeldruckerpapier:



Das Bild entstand etwa 1978. Ergebnisse von Kurzschlußberechnungs-Varianten für die Einbindung eines Kraftwerkes
in das lokale Verbundnetz (380/220/110/60kV). Viele kg Papier, für einige wenige Zahlen...

Gruß
Wolfgang

Posts: 5,493

Date of registration: Dec 20th 2015

Location: bei Hamburg

Occupation: Rentner

  • Send private message

164

Thursday, January 24th 2019, 10:09am

Sehr schön Wolfgang !

Ganz soviel Papier hat sich bei mir nicht gestapelt (vielleicht hab ich es schneller wieder vollgekritzelt und entsorgt).
Das sieht aus, als hättest du da eine sehr wichtige Position gehabt.
Allerdings hab ich in Erinnerung, daß die Operateure der Rechner sich auch für sehr wichtig hielten und das die "Kundschaft" merken ließen. Die Rechner-Räume waren "Sicherheitsbereich", den normale Sterbliche nicht ohne Einladung betreten durften.
Die übrigen Computer-Spezis unterschieden sich von den normalen Benutzern dadurch, daß sie den ganzen Tag lang versuchten, mit Test-Programmen rauszukriegen, wie der Rchner auf "tentativen" Code reagierte, während es für die anderen nur Mittel zum Zweck war.

MfG Kai

Posts: 5,549

Date of registration: Mar 16th 2006

  • Send private message

165

Thursday, January 24th 2019, 3:11pm

Hallo Kai!

Na ja, was heißt schon "wichtige Position"?
Ich war zu diesem Zeitpunkt in der Planungsabteilung des EVU tätig.
Dort wurden Berechnungen zu künftigem Bedarf an Leitungen, Um-
spannwerken und Kraftwerken gemacht.
Je nach Engmaschigkeit des Netzes und lokaler Kraftwerksdichte,
war die Beherrschbarkeit von Kurzschlüssen der verbauten Leitungsschalter,
Transformatoren und Sammelschienen so genau als möglich zu be-
rechnen. Dazu gehörten auch diverse Ausfallszenarien (Leitungen
und Kraftwerksblöcken), da ja der Lastfluß dann über die verbleibenden
Wege ging. Dadurch mögliche Überlastungen mußten unbedingt ver-
mieden werden (Dominoeffekt = Schwarzfall!).

Und ja, in den Rechnerraum kam auch ich nur mit Voranmeldung. Und
natürlich nur mit "Wachhund"!



Das änderte sich erst, als ein Kollege und ich zusammen mit der EDV
eine grafische Datenverarbeitung (Tektronix 4081, siehe auf der 1.
Seite dieses Treads) aufgebaut haben. Da waren wir jederzeit "geduldet"...

Gruß
Wolfgang

Posts: 14,334

Date of registration: Apr 4th 2004

Location: Meerbusch (bei Düsseldorf)

  • Send private message

166

Saturday, January 26th 2019, 3:53pm

(Bin leider aus Zeitgründen mit dem Lesen und Beantworten etwas hinterher...)

Entwicklungsumgebungen wie Codeblocks und Codelite
Ich lese zwar vergleichsweise viel, aber die beiden Begriffe sind mir nicht geläufig.
Da kann ich nur spekulieren, daß es sich um "wiederverwendbare" Code-Blöcke handeln könnte.


Nein, es sind beides einfach C-/C++-Entwicklungsumgebungen, wie Dev-C++ auch. Nur aktiver entwickelt und (wahrscheinlich - ich habe Dev-C++ seit Ewigkeiten nicht mehr verfolgt) inzwischen deutlich leistungsfähiger. Deswegen staune ich ja, daß Dev-C++ auch im Jahr 2019 noch eine kleine Nutzergemeinschaft hat.

http://codeblocks.org/

https://codelite.org/

Privat nutze ich seit Ewigkeiten für C++-Projekte fast ausschließlich Codeblocks. Beruflich spielt C++ für mich ja leider kaum noch eine Rolle.

Quoted

Ich bin noch mit Algol, Fortran, Assembler, Pascal, Delphi aufgewachsen und kann das prozedurale Denken nicht ablegen,


Assembler (6502 und 8086, im ganz geringen Umfang auch Z80 und 68000), Pascal und Delphi habe ich auch in meiner Historie, letzte beide auch beruflich (ist allerdings fast zwanzig Jahre her).

Gerade Delphi hat doch auch schon im gewissen Umfang objektorientiertes Denken vorausgesetzt...?

Wenn Du mal Sehnsucht nach Delphi hast, schau' Dir mal (sofern nicht schon bekannt) http://www.lazarus-ide.org/ an. Ist für Desktop-Applikationen eine tolle Sache, mit der man wirklich schnell gute Ergebnisse erzielt. Ich muss nur gestehen, daß ich inzwischen etwas mit den Eigenarten von Pascal hadere. Variablen nicht mehr inline deklarieren zu können, ist z.B, doch heutzutage sehr ungewohnt für mich.

Hast du mal probiert, ob die Webseite von Audials in erträglicher Weise auf dem Rasberry läuft ?


Kannte ich bis gerade nicht mal. Du meinst https://audials.com/de? Was genau muss ich da tun? Wenn ich auf "Kostenlos ausprobieren" klicke, bekomme ich gleich eine Windows-Exe-Datei zum Download.

Die Seite an sich wird in Chromium angezeigt, und auch dieses Hintergrund-Video läuft flüssig.


Posts: 5,493

Date of registration: Dec 20th 2015

Location: bei Hamburg

Occupation: Rentner

  • Send private message

167

Saturday, January 26th 2019, 5:55pm

Deswegen staune ich ja, daß Dev-C++ auch im Jahr 2019 noch eine kleine Nutzergemeinschaft hat.
Ich hänge auch lange an bewährten Dingen, bis die Vorzüge von Neuem nicht mehr zu leugnen sind (wie zB digitale Aufzeichnung statt Magnettontechnik :D ).
6502 hab ich sehr viel programmiert , später auch in Kombination mit Z80, denn man konnte im Apple II und seinen Clones eine Z80-Karte betreiben und im Betrieb zwischen den CPUs wechseln. Später, als ich aus beruflichem Zwang zum IBM-PC schwenken mußte, kamen gelegentlich 8085, 8086 (und Nachfolger) in Assembler dazu. Wer mit dem 6502 begann, dem war die 68000 natürlich sympathischer als der Adress-Murks von 8086 und Co. Deshalb wurde auch sowas benutzt. Es kam sogar eine 68008-Karte für Apple II auf.
Delphi enthält viel Objekt-Konstrukte. Man kann sich aufs Benutzen beschränken. Objekt-Orientierung gab es schon unter dem Vorläufer Turbo-Pascal 5 oder 6.
Lazarus kenne ich, hab ich auf dem Linux Laptop installiert, allerdings mehr als GUI frür Free Pascal, das ich noch sehr viel für "DOS"-Applikationen unter Windows benutze, sogar mit Grafik. Diese Programme kann ich größtenteils damit auch unter Linux kompilieren, leider funktioniert die Grafik dort nicht, nur reine CMD- bzw. Terminal-Applikationen
Pascal wurde eigentlich mal zur "Disziplinerung" der Studenten erfunden. Deshalb gehören Variablen-Deklaration in var-Blöcke. Die dürfen aber nicht nur am Anfang des Programms (hinter Typen und Konstanten) angesiedelt werden, sondern auch im Code zwischen Funktionen und Prozeduren (=void functions). Das ist zwar nicht inline, aber zumindest in der Nähe .
Mir war die Übersichtlichkeit von Pascal-Code immer sympathischer als das chaotische Durcheinander von C. Die Lesbarkeit erschien mir viel höher.
Das merke ich gerade jetzt wieder, wo ich versuche, den Source-Code von libfaad2 (C/C++ mit extensivem Präprozessor Gebrauch) zu verstehen.
Man braucht bei Audials nichts runterladen. Man geht am besten (zumindest auf einem LapTop mit 12" Bildschirm) mit dem Browser in Vollbilddarstellung auf die Seite und kann die dann als Internet-Radio benutzen mit Suchfunktion, Anzeige was gerade auf andern Kanälen läuft...
(Ich weiß nicht, wozu man das Exe bräuchte ) Bei mir (linux) und einem früheren Kollegen (Windows), dem ich davon erzählte, erzeugt die Audials-Seite eine sehr hohe CPU-Last (kann gut 100 %) sein, während das auf einem Android-Tablet garnicht auffällt. Meine Hypothese ist, das die Seite ständig trickreich für alle auf dem Bildschirm sichtbaren Programm-Icons abfragt, was gerade auf den Kanälen zu hören ist. Man kann damit eine Liste von Favoriten zusammenstellen und hat ständig im Blick, was anderswo läuft und kann hin-und-her hoppen, um nicht "das Geilste" zu verpassen...
Mir fällt kein anderes Internet-Radio-Programm ein, das gleichartiges bietet.
Wenn das auf dem Rasberry unter Linux flüssig liefe, würde ich erwägen, so ein Ding anzuschaffen.

MfG Kai

Posts: 512

Date of registration: May 25th 2007

Location: Landau/Pf.

Occupation: Physiker

  • Send private message

168

Saturday, January 26th 2019, 7:38pm

Hallo Kai,

Das merke ich gerade jetzt wieder, wo ich versuche, den Source-Code von libfaad2 (C/C++ mit extensivem Präprozessor Gebrauch) zu verstehen.

der Präprozessor ist ein Werk des Teufels und kommt direkt aus dessen Behausung! Leider kommt man ohne ihn nicht weit, aber durch das stumpfe Ersetzen von Text ohne semantisches Verständnis kann man die herrlichsten, schwer zu durchschauenden Probleme erzeugen...

Ansonsten habe ich mit C und C++ meinen Frieden geschlossen, finde mich einigermaßen darin zurecht, und habe dennoch sehr großen Respekt davon was es heißt, besonders C++ wirklich zu beherrschen. Im Betrieb sind ein paar meiner Kollegen wirklich gut darin; einer davon fährt aber inzwischen auf Rust ab - mal sehen, ob das die Zukunft ist...

Wer mit dem 6502 begann, dem war die 68000 natürlich sympathischer als der Adress-Murks von 8086 und Co.

Hm, ist Dir auch der 6800 dabei mal begegnet? Oder ist das eine ganz andere Baustelle?

Hintergrund: Zum Beispiel in der Studer A807 ist der zentrale Mikrocontroller ein 6803, dessen Firmware natürlich nicht als Quelltext vorliegt - und vermutlich auch ursprünglich direkt in Assembler entstanden ist. Besteht da eine reelle Chance, ein Firmware-Image zu disassemblieren und zu verstehen, was da vor sich geht? Nach undokumentierten Befehlen suchen, oder gar Funktionen hinzuzufügen? Bei C64-Software (der 6510 ist ja fast ein 6502) war sowas ja einst üblich...

Viele Grüße
Andreas

Posts: 5,493

Date of registration: Dec 20th 2015

Location: bei Hamburg

Occupation: Rentner

  • Send private message

169

Saturday, January 26th 2019, 8:40pm

der Präprozessor ist ein Werk des Teufels und kommt direkt aus dessen Behausung!

Es ist noch schlimmer: Es gibt nicht einen Präprozessor sondern diverse. Die von LCC und Dev-C++ machen etwas anderes aus den Makros, die der Autor von libfaad2 für Microsoft's Visual Express C(++) Compiler formuliert hat.
Die 6800-FAmilie kam mir auch unter die Augen. Ich glaube, es liegen in den Bastelregalen noch zwei 6809-Euro-Boards rum, mit denen ich mal was machen wollte.
68xx war die/eine Motorola 8-Bit CPU-Familie, vom Befehlssatz und Adressierungsarten, soweit ich mich erinnere, dem 6502 von Synertek und Rockwell ähnlich/verwandt.
Für den 6502 hab ich vor etlichen Jahrzenten selbst einen symbolischen Disassembler geschrieben, vermutlich in Turbo-Pascal. Damit hab ich allerlei "re-engineered" und dann aufgepimpt wieder implementiert. Das dürfte für 6800 nicht schwieriger sein. Die Peripherie-Bausteine der Familien waren austauschbar. Von den 6502 gab es später sogar 16 Bit Varianten namens 65(S)C816 mit 16 Bit Datenbus und 65(S)C802 mit 8 Bit Datenbus von zwei Firmen. Datenblätter und zwei Bücher über Assembler-Programmierung hab ich immer noch. Im Keller liegt wohl auch noch eine Apple II Karte mit 65C802 CPU. Man hört gelegentlich, daß der 6502 Kern immer noch in Controllern verwendet wird. Ist wohl als effizienter Design-Makro in Bibliotheken enthalten. Nach heutigen Begriffen würde man das Teil wegen seines überschaubaren Befehlssatzes wohl sogar RISC-Prozessor nennen. Es soll an einer deutschen Uni mal zu Ausbildungszwecken eine FPGA-Version geschaffen worden sein, die mit ?100 MHz? statt der 1 MHz im Apple II lief. Soweit ich mich entsinne, war ein 1 oder 2 MHz 6502 nicht langsamer als ein 8 MHz Z80, weil seine Befehle in weniger Taktzyklen abgearbeitet wurden.
Da hab ich Anfang/Mitte der 80er Jahre nachts teils noch im Maschinen-Code an einzelnen Bits gefeilt, bzw. trickreichen Code geschaffen, der in Assembler nicht oder umständlicher zu formulieren war. Morgens war man übermüdet, hatte aber das Gefühl, was Originelles geschafft zu haben. Es war möglich Code zu schreiben, der egal, welche Verzweigungen genommen wurden, konstante "Umlauf"zeit hatte mit Quarzuhr-Präzision. Damit habe ich Wetterkarten vom Kurzwellen-Seefunk dekodiert und auf Bildschirm und Drucker gebracht.

MfG Kai

Posts: 14,334

Date of registration: Apr 4th 2004

Location: Meerbusch (bei Düsseldorf)

  • Send private message

170

Saturday, January 26th 2019, 9:02pm


Delphi enthält viel Objekt-Konstrukte. Man kann sich aufs Benutzen beschränken. Objekt-Orientierung gab es schon unter dem Vorläufer Turbo-Pascal 5 oder 6.


Version 5.5 war's. Aber da war es ja noch wirklich noch optional, während man, wenn man für die VCL bei Delphi ja nicht ganz um den objektorientierten Ansatz herumkam. :)

Quoted

Pascal wurde eigentlich mal zur "Disziplinerung" der Studenten erfunden.


So ist es, und für eine Lehrsprache macht es ja auch Sinn. In der Praxis finde ich es aber inzwischen zu umständlich.

Quoted

Mir war die Übersichtlichkeit von Pascal-Code immer sympathischer als das chaotische Durcheinander von C. Die Lesbarkeit erschien mir viel höher.


Ich bin der unpopulären Meinung, daß man auch in C und C++ lesbaren Quelltext schreiben kann. Das Problem ist eher, daß man es nicht muss. Manche, vor allem junge und noch nicht besonders praxiserfahrene Entwickler mit einem gewissen Nerd-Geltungsbewusstsein (leider aber auch viele mit jahrzehntelanger Erfahrung) sehen das oft als Einladung, möglichst viel Funktionalität in möglichst wenig Zeilen zu quetschen und freuen sich dann, wenn Nicht-Programmierer sie aufgrund der Unleserlichkeit ihres Codes für kleine Genies halten (war bei mir früher auch im gewissen Maße so, aber ich bin ja lernfähig :) ). Die Ernüchterung folgt dann meist, wenn sie merken, daß so komprimierter, kyptischer Quelltext weder zu kleineren oder schnelleren Programmen führt, noch die Entwicklungszeit verkürzt (eher im Gegenteil), und vor allem meist auch kein bisschen wartbar oder wiederverwendbar ist.

Perl ist in der Hinsicht noch viel schlimmer. Da gibt es ja sogar sehr populäre Wettbewerbe um den unlesbarsten Quelltext.

Dazu muss ich sagen, daß ich auch kein expliziter Fan von C und C++ bin. Es gibt leider nur keine wirklich tauglichen Alternativen, wenn man Desktop-Applikationen plattformübergreifend in nativen Code compilieren will. Die Entwicklung der drei Kronprinzen D ("D Programming Language"), Go und Rust verfolge ich sehr interessiert. Letzte beiden fast nur auf theoretischer Ebene. D probiere ich seit Vorstellung von Version 1.0 vor elf Jahren auch immer mal wieder in einem privaten Projekt aus, aber meist endet es dann damit, daß ich irgendwann frustriert den Code nach C++ migriere. Die Sprache und die Laufzeitbibliothek (inzwischen gibt's zum Glück nur noch eine, früher haben zwei inkompatible miteinander konkurriert) an sich find' ich schon klasse, an den Compilern gibt's nichts zu meckern. Aber die Auswahl an vernünftigen Entwicklungsumgebungen und Bibliotheken ist immer noch sehr überschaubar. Vieles sind Ein-Mann-Projekte, die irgendwann einfach einschlafen. Meine letzten Versuche habe ich mit Visual Studio Code mit einem D-Plugin unternommen. Kam mir etwas wackelig vor und ist sehr gewöhnungsbedürftig in der Bedienung.

Bei Go und Rust, die ja noch jünger sind, scheint das Problem ähnlich oder noch größer zu sein. Zumal ist da Entwicklung von Desktop-Applikationen scheins eh nicht so richtig im Fokus (bei D leider auch immer weniger).

Quoted

Man braucht bei Audials nichts runterladen. Man geht am besten (zumindest auf einem LapTop mit 12" Bildschirm) mit dem Browser in Vollbilddarstellung auf die Seite und kann die dann als Internet-Radio benutzen mit Suchfunktion, Anzeige was gerade auf andern Kanälen läuft...


Ah, der Trick ist wahrscheinlich, daß man oben "Audials Live Web" anklickt. So komme ich jedenfalls zur Internet-Radio-Wiedergabe.

Bin jetzt nicht mehr am RPI, ich probier's morgen noch mal.

Meinen alten Raspberry Pi 1 habe ich übrigens lange als Internet-Radio benutzt, allerdings über mplayer an der Konsole.

Posts: 14,334

Date of registration: Apr 4th 2004

Location: Meerbusch (bei Düsseldorf)

  • Send private message

171

Saturday, January 26th 2019, 9:09pm

einer davon fährt aber inzwischen auf Rust ab - mal sehen, ob das die Zukunft ist...


Aus Interesse: Was entwickelt der Kollege mit Rust, und mit welchen Werkzeugen arbeitet er? Emacs oder Vi und debuggen per GDB an der Konsole?

Ich find' die Sprache theoretisch auch interessant (s.o.), aber irgendwie fehlt mir da noch die passende Infrastruktur für meine Anwendungen.

Posts: 5,493

Date of registration: Dec 20th 2015

Location: bei Hamburg

Occupation: Rentner

  • Send private message

172

Saturday, January 26th 2019, 10:42pm

der Trick ist wahrscheinlich, daß man oben "Audials Live Web" anklickt
ich kann mich nicht erinnern, das je gemacht zu haben. Einfach auf die Seite, einen interessanten Kanal ausfindig machen, vermutlich einen Doppelclick drauf und schon versucht audials den im Fenster rechts oben bis mittig per Cover oder sonst was anzuzeigen und zu Gehör zu bringen. Gleichzeitig wird immer die Info ge-updated, was gerade auf den anderen Kanälen läuft, deren Icons oder Beschreibungszeile auf dem Bildschirm zu sehen ist.

MfG Kai

Posts: 512

Date of registration: May 25th 2007

Location: Landau/Pf.

Occupation: Physiker

  • Send private message

173

Saturday, January 26th 2019, 11:24pm

Hallo Timo,

Aus Interesse: Was entwickelt der Kollege mit Rust, und mit welchen Werkzeugen arbeitet er? Emacs oder Vi und debuggen per GDB an der Konsole?

ich frage ihn bei nächster Gelegenheit. Ich bin zwar ein Fan von vim, make und bash, er aber weniger - würde mich also wundern.

Ich bin der unpopulären Meinung, daß man auch in C und C++ lesbaren Quelltext schreiben kann.

Die Meinung teile ich. Ich finde, man kann sogar in C++ Code von ähnlicher Abstraktion und Lesbarkeit schreiben wie z.B. in Python. (Von meiner Jugendsünde, Duck-Typing durch exzessiven Template-Gebrauch nachzuahmen, schweigen wir hier lieber :whistling: ). Es gibt aber auch genügend Code, der schwer verständlich und gleichzeitig unsicher ist, und ganz viel C++ was verwendet wird wie "C mit Klassen". Da, wo ich herkomme, gilt immernoch: "The really determined physicist will write a FORTRAN program in any language."

Hallo Kai,

Für den 6502 hab ich vor etlichen Jahrzenten selbst einen symbolischen Disassembler geschrieben, vermutlich in Turbo-Pascal. Damit hab ich allerlei "re-engineered" und dann aufgepimpt wieder implementiert. Das dürfte für 6800 nicht schwieriger sein.

Die Hoffnung, dass das prinzipiell möglich sein sollte, hatte ich auch. Möglicherweise muss man heute nichtmal mehr den Disassembler selber schreiben; einen Assembler gibt es z.B. mit crasm, und zumindest für den 6502 habe ich mit dxa auch einen Disassembler gefunden. Fehlt nur etwas Zeit, um sich mal eben eine Sommerferienlänge damit zu beschäftigen ;)

Früher, zu "nativen" C64-Zeiten, war ich noch zu klein, um zu begreifen, worum es in Assembler eigentlich geht. Es gerade dafür gereicht, mir das eingebaute Commodore Basic 2.0 zu erschließen. Und was Hänschen nicht lernt...

Viele Grüße
Andreas

Posts: 5,493

Date of registration: Dec 20th 2015

Location: bei Hamburg

Occupation: Rentner

  • Send private message

174

Sunday, January 27th 2019, 12:28am

Ich habe auch mindestens zwei Cross-Assembler für allerlei Mikroprozessoren rumliegen. Es könnte auch sein, daß es einen Tabellen-gesteuerten Disassembler gegeben hat, der hier auch irgendwo rumliegt. Im Moment habe ich allerdings keine konkreten Erinnerungen daran. Denn ich hab für den 6502 natürlich den eigenen benutzt,

Kennst du IDA Pro (Free) ?
https://www.chip.de/downloads/IDA-Pro-Fr…n_29744270.html
https://www.hex-rays.com/products/ida/index.shtml

Ein Wahnsinns-Teil. Damit kann "man" Windows und den Rest der Welt disassemblieren.
Vielleicht gibt es den auch für Mikroprozessoren, denn das wäre für den ein Kinderspiel.
Der wird mit modernen CPUs fertig.

MfG Kai

Posts: 5,493

Date of registration: Dec 20th 2015

Location: bei Hamburg

Occupation: Rentner

  • Send private message

175

Sunday, January 27th 2019, 9:52am

Hallo Andreas,

ich habe zu deinem Anliegen mal meine Bücherregale inspiziert und eine Handbreit relevante Literatur gefunden:
MOTOROLA: Microprocessor, Microcontroller and Peripheral Data, Vol. I, 1988, ca. 940 Seiten
MOTOROLA: Microprocessor, Microcontroller and Peripheral Data, Vol. II, 1988, mindestens noch 1 mm dicker, zusammen >1800 Seiten
MOTOROLA: 8-bit MCU Applications Manual, 1990, ca. 630 Seiten
mit vielen Application Notes zu den Prozessoren der 68xx-Familie, Schaltungsbeispielen und Code-Beispiele (zB Monitor-Programme):
Ein Assemler-Handbuch ist allerdings nicht dabei.
Außerdem sehe ich in der Nähe noch ein Handbuch zum 68HC11 und ein Büchlein zu einem 68HC11 EMUF, den es wohl mal von der Zeitschrift MC gab. Demnach liegt so ein Teil hier auch noch irgendwo rum. Nach einem Universal-Microprozessor Disassembler hab ich noch nicht weiter gesucht.
Wenn man so ein Projekt anfängt, dann muß man erstmal die Hardware analysieren und recherchieren, was da auf welchen I/O-Adressen angeschlossen ist und welche Funktionen damit verbunden sind, sonst nützt einem das Diassemblat mit seine abstrakten (noch sinnlosen) Symbolen wenig.
Hast du das EPROM überhaupt schon ausgelesen ?
Im Moment hab ich noch andere Projekte in Bearbeitung, aber vielleicht wird ja mal was fertig und es tut sich Luft auf für diese Sache.

Ansonsten hab ich jetzt schon mehr Unvollendete, als Beethoven nach seinem Tod hinterlassen hat.

MfG Kai
Nachtrag: Hab gerade mal im Internet geguckt und 2 längere PDFs zur Assembler-Programmierung, gefunden sowie eine Befehlsliste. Außerdem Assemler, sogar mit GUI. Es gibt demnach noch viel Zeugs zum 680x und sollte kein größeres Problem sein, etwas zustande zu kriegen.

This post has been edited 1 times, last edit by "kaimex" (Jan 27th 2019, 10:13am)


Posts: 14,334

Date of registration: Apr 4th 2004

Location: Meerbusch (bei Düsseldorf)

  • Send private message

176

Sunday, January 27th 2019, 10:21am


ich kann mich nicht erinnern, das je gemacht zu haben. Einfach auf die Seite, einen interessanten Kanal ausfindig machen, vermutlich einen Doppelclick drauf und schon versucht audials den im Fenster rechts oben bis mittig per Cover oder sonst was anzuzeigen und zu Gehör zu bringen.


Also, ich tat so: "Audials Live Web", dann in der Senderauswahl "Oldies, 80s, 90s", und dann "80s80s Depeche Mode" (ist ja witzig, ein eigener Sender nur für Depeche Mode). Geht, spielt flüssig und ohne Aussetzer.


Posts: 5,493

Date of registration: Dec 20th 2015

Location: bei Hamburg

Occupation: Rentner

  • Send private message

177

Sunday, January 27th 2019, 10:49am

Ist das vom Raspi ?

So sieht es auf meiner Linux-Internet-Kiste aus:


Vor 50 Jahren kam die LedZeppelin Debüt-LP raus.
Auf LedZepRadio kann man 24h-7d LedZep hören...

MfG Kai

Posts: 14,334

Date of registration: Apr 4th 2004

Location: Meerbusch (bei Düsseldorf)

  • Send private message

178

Sunday, January 27th 2019, 10:52am

Ist das vom Raspi ?


Ja.

Posts: 5,493

Date of registration: Dec 20th 2015

Location: bei Hamburg

Occupation: Rentner

  • Send private message

179

Sunday, January 27th 2019, 10:59am

Das wird interessant...

Laufen da vielleicht sogar YouTube Videos flüssig ?

Zum Beispiel (damit du mal ordentliche Musik guckst) dieser:
https://youtu.be/pzTpyMKCDUQ

MfG Kai

Posts: 14,334

Date of registration: Apr 4th 2004

Location: Meerbusch (bei Düsseldorf)

  • Send private message

180

Sunday, January 27th 2019, 11:39am


Laufen da vielleicht sogar YouTube Videos flüssig ?

Zum Beispiel (damit du mal ordentliche Musik guckst) dieser:
https://youtu.be/pzTpyMKCDUQ


Nein, da stimmt was nicht. Statt der versprochenen "ordentlichen Musik" höre ich da langweiliges Blues-Geschrammel. ;)

Scherz beiseite: Das Video läuft flüssig, auch im Vollbildmodus.

2 users apart from you are browsing this thread:

2 guests